SBL-DAT-00493: Text constant (%1) needs to be enclosed in single quotes.

Applies to:


Siebel Tools
IBM AIX on POWER Systems (64-bit)

Product Release: V8 (Enterprise)

Version: 8.0 [20405] FRA

Database: IBM DB2 8.1 FixPack 8

Application Server OS: IBM AIX 5L 5.2

Database Server OS: IBM AIX 5L 5.2



This document was previously published as Siebel SR 38-3365819321.


Symptoms


SBL-DAT-00493

Hi Support

We are currently trying to migrate our Siebel V7.5 Repository to
V8.0.

We had a customized BC with 2 Calculated Field.
Field A
- Calculated
Value=Number
- Type:DTYPE_TEXT
Field B
- Calculated Value=IIf([Field
A]>0,'OK','KO')
- Type:DTYPE_TEXT

In V7.5, there was no problem with this
configuration.

After V8.0 migration, we have a runtime error:
ObjMgrQueryLog Warning 2
0000000246640f64:0 2007-06-04 17:28:07 (query.cpp (984)) SBL-DAT-00493: La constante de texte (0)
doit �tre inscrite entre guillemets simples.
Veuillez continuer ou demander � l'administrateur
syst�me de v�rifier la configuration de l'application si le probl�me persiste.
ObjMgrLog
Warning 2 0000000246640f64:0 2007-06-04 17:28:07 (query.cpp (2600)) SBL-DAT-00501: Sp�cification
de recherche 'IIf([Test Calculated Value1]>0,'Y','N')' non valide.
Veuillez continuer ou
demander � l'administrateur syst�me de v�rifier la configuration de l'application si le probl�me
persiste.

I reproduced the problem in Vanilla V8.0 ( see the attached file Account.sif;
fields "Test Calculated*")

So it seems the field A has a Text type in V8.0 whereas it had
an Number type in V7.5.

I didn't find any documentation in bookshelf V7.5 that recommend
setting a specific type for calculated fields (The type was dynamically deduced).

In V8.0,
since Revision A (April 2007), in the bookshelf "Siebel Developer's Reference > Operators,
Expressions, and Conditions >Calculated Field Rules",
there has been this sentence:
"For
a calculated field whose calculated value is not of type DTYPE_TEXT, the field type must be
specified explicitly."

Is it a standard behaviour in V8.0?
If yes, is there any
documentation about how we can migrate all our existing calculated Fields?( we didn't find
anything in the Database Upgrade Guide)

Thanks in advance.




Solution


Message 1


For the benefit of other readers:



V8 has changed the way the calculated fields interact with other parts of the application.



Bookshelf states:

"Siebel Developer's Reference > Operators, Expressions, and Conditions >Calculated Field Rules",

"For a calculated field whose calculated value is not of type DTYPE_TEXT, the field type must be specified explicitly."



This caused the customer an issue as when upgrading the calculated fields gave a search error.



There were two ways in which this issue could be resolved.



1) After upgrading, navigate through the application and look for the error in the logs. This will then give the BC upon which the error occurs.



2) CR#12-1JPYP1L and CR#12-1JVI3Q3 have been raised for this issue; one to see if this can be added to the upgrade process and the other to see if the functionality of v7.x can be regressed for v8.

CR#12-1JVI3Q3 has been fixed in 8.0.0.3 Fix Pack.


Thank you,

Oracle | Siebel Technical Support










Applies to:


Product Release: V7 (Enterprise)

Version: 7.5.3.1 [16161]

Database: Oracle 9.2.0.2

Application Server OS: Microsoft Windows 2000 Advanced Server SP 3

Database Server OS: Sun Solaris 2.7



This document was previously published as Siebel SR 38-1102332291.

Symptoms


SBL-DAT-00493

Dear Support Team,

We have migrated from 7.5.2 to 7.5.3.1, in the forecast area before
migration, subordinates were able to submit their forecasts, but after migration they can't
submit their forecasts. When they try to submit their forecasts, the application crashes.
Attached you can find siebel log file in which SIEBEL_LOG_EVENTS was set to 4. I logged in as a
subordinate and then navigate to forecasts screen and then tried to change status field from
"Active" to "Submitted". In the log file this change starts from line 22025.
This thursday we
will go for production test, for that reason could you please advice us ASAP.


Solution


Message 1


For the benefit of other users:



Customer found that they were unable to submit forecasts and it crashed the Client application.



Turning on Client-side logging had the error ""ObjMgrLog    Error 4 2003-10-21 16:14:02 (SBL-DAT-00493) Text constant (Y) needs to be enclosed in single quotes. Please continue or ask your systems administrator to check your application configuration if the problem persists." followed by a call stack.



This behavior was not reproducible with the Standard SRF and only with the custom SRF. The log indicated that the error occurred after an insertion into S_ACCNT_ATT table. Customer had a custom Business Component called "Forecast Attachment" and it was based on S_ACCNT_ATT table. In forecast submission Customer was generating forecast data (based on opportunities and products) into an excel file.



One of the custom user properties on Forecast 2000 -- Forecast Business Component, had a text constant (Y) without quotation marks. Customer fixed this User Property and they were able to successfully submit forecasts.








Applies to:


Product Release: V7 (Enterprise)

Version: 7.5.3.11 [16199] SVE Fin Svcs

Database: Microsoft SQL Server 2000 SP4

Application Server OS: Microsoft Windows 2000 Advanced Server SP 3

Database Server OS: Microsoft Windows 2000 Advanced Server SP 4



This document was previously published as Siebel SR 38-3064193301.

Symptoms


SBL-EXL-00145, SBL-DBC-00105, SBL-DAT-00398, SBL-DAT-00403, SBL-DAT-00493, SBL-DAT-00501

Hi

We have an X_ column that is defined to contain a MLOV field. That field is used as a
MVF and when a search spec is created on that field an sql error occurs.

Looking at the
sql it seems like the LANG_ID parameter is missing as input (there are three bind variables but
four parameters are needed for the query, the first beeing LANG_ID)

It is Bind variable 2
(Låna) below that is the MLOV field.

If we query on another field using the sam MVL it
works fine, also the sql works fine if all parameters are supplied

Any
suggestions?

Regards
Jonas

SELECT
      T1.CONFLICT_ID,
      CONVERT
(VARCHAR (10),T1.LAST_UPD, 101) + ' ' + CONVERT (VARCHAR (10),T1.LAST_UPD,
8),
      CONVERT (VARCHAR (10),T1.CREATED, 101) + ' ' + CONVERT
(VARCHAR (10),T1.CREATED,
8),
      T1.LAST_UPD_BY,
      T1.CREATED_BY,
      T1.MODIFICATION_NUM,
      T1.ROW_ID,
      T1.ACCNT_ID,
      T1.COMMENTS,
      T1.COMMIT_FLG,
      T1.CONTACT_ID,
      T1.COST_AMT,
      T1.REVN_AMT_CURCY_CD,
      CONVERT
(VARCHAR (10),T1.EFFECTIVE_DT, 101) + ' ' + CONVERT (VARCHAR (10),T1.EFFECTIVE_DT,
8),
      T1.PROD_DESC_TEXT,
      T1.DOWNSIDE_AMT,
      T1.MARGIN_AMT,
      T4.NAME,
      T1.X_EXTERNAL_USER,
      T1.X_ASSET_NUM,
      T10.ATTRIB_03,
      CONVERT
(VARCHAR (10),T1.EXPECT_DLVRY_DT, 101) + ' ' + CONVERT (VARCHAR (10),T1.EXPECT_DLVRY_DT,
8),
      T1.X_QUOTE_NUM,
      T11.LOGIN,
      T3.REF_NUMBER_2,
      T3.DETAIL_TYPE_CD,
      CONVERT
(VARCHAR (10),T1.X_ACCEPT_DT, 101) + ' ' + CONVERT (VARCHAR (10),T1.X_ACCEPT_DT,
8),
      T4.NAME,
      T1.OPTY_ID,
      T6.ROW_ID,
      T5.NAME,
      T3.PART_NUM,
      T1.NET_PRICE,
      T4.SUM_REVN_ITEM_ID,
      T3.NAME,
      T1.PROD_ID,
      T7.NAME,
      T1.PROD_LN_ID,
      T1.QTY,
      T1.REVN_AMT,
      T1.CLASS_CD,
      T1.REVN_ITEM_NUM,
      T1.TYPE_CD,
      T9.LOGIN,
      T8.NAME,

...


Solution


Message 1


...



   WHERE

      ((T1.SUMMARY_FLG = 'N') AND

      (T1.TMPL_ID IS NULL)) AND

      (T1.PROD_ID IN (

            SELECT SQ1_T2.PROD_ID

               FROM dbo.S_PROD_LN SQ1_T1 INNER JOIN dbo.S_PROD_LN_PROD SQ1_T2 ON SQ1_T2.PROD_LN_ID = SQ1_T1.ROW_ID INNER JOIN dbo.S_PROD_LN SQ1_T3 ON SQ1_T1.PAR_PROD_LN_ID = SQ1_T3.ROW_ID INNER JOIN dbo.S_LST_OF_VAL SQ1_T4 ON SQ1_T3.X_AREA_CATEGORY = SQ1_T4.NAME AND SQ1_T4.TYPE = 'LF_RM_AREA_CATEGORY' AND SQ1_T4.LANG_ID = ?

               WHERE

                  (SQ1_T1.X_QUOTE_FLG = ? OR SQ1_T1.X_QUOTE_FLG IS NULL) AND

                  (SQ1_T1.X_TYPE IS NULL OR SQ1_T1.X_TYPE = 'ProductGroup') AND

                  (SQ1_T4.VAL = ?))) AND

      (T1.OPTY_ID = ?)

   ORDER BY

      T1.OPTY_ID DESC, T1.CREATED DESC



(note 4 question marks for bind variables above, but just 3 bind variables below:)



Bind variable 1: N

Bind variable 2: Låna

Bind variable 3: 1-48EJ2

Message 2


For the benefit of other readers:



When querying on an MLOV enabled field in the customer's database with for example



EXISTS([LF Area Category] = Skydda)



this produces an SQL statement that has one bind variable missing,



resulting in the error message



"Not enough values for host variables"



This is reproducible in

7.5.3.11 [16199] SVE SIA (Fin Svcs)



Change Request

12-U4DBNJ

"Less bind variables available than requested by the SQL spool. This is related to MLOV config."

had been logged for this behavior

and this is fixed in

7.5.3.12 Fix Pack [16272]

(Fix request 12-UXRMM1)



After installing the 7.5.3.12 [16272] Maintenance Release,

the query completed successfully.



Regards,









Applies to:


Product Release: V7 (Enterprise)

Version: 7.5.2.7 [15058] Com/Med

Database: Oracle 9i

Application Server OS: Microsoft Windows 2000 Advanced Server SP 2

Database Server OS: Sun Solaris 8



This document was previously published as Siebel SR 38-822831751.

Symptoms


SBL-DAT-00493


If we define a Detail BC as a Business Component which use MVL to call other calculated
fielda from a Main BC. (e.g. Account BC and Contact BC use MVL to call Field "A" which is a
calculated field from CUT Address BC)

The scenario is shown as follows

Detail BCs
cannot call any calculated field (e.g. Field "A") from a Main BC which contain a calcuated
formula as IIf([English Flag] = 'Y',1,0)

This leads to the error message, "Text constant
(Y) needs to be enclosed in single quotes", when the Siebel application is turned
on.

However, if Detail BCs are not use MVL to call Field "A", using the same formula in
Field "A" will not cause an error message


Solution


Message 1


For the benefit of other users,



The correct syntax is to place a "" (double quotes) around 'Y' (Y in single quotes) in the calculated formula, that is, IIF([English Flag] = "'Y'","1", "2").



As there are no documentation or information on the usage of the syntax of calculated value when used as a MVF, change request 12-DTTBTX has been logged to address this issue.


תגובות

פוסטים פופולריים מהבלוג הזה

FINS Data Transfer Utilities

SBL-BPR-00191: The rowId of the active row of the primary buscomp '%1', '%2', does not match the Primary Id

Profile Attributes and Open UI