Search This Blog

SBL-DAT-00502: Sorting on calculated field '%1' is not allowed.

Applies to:

Siebel Tools - Version: 8.0.0.3 [20416] - Release: V8
Information in this document applies to any platform.

Symptoms


The customer reported the following error with Find after applying ACR (Approved Customer Request) 367 to enable the Find functionality with Siebel 8.0.0.2


"SBL-DAT-00502 Sorting on calculated field <> is not allowed"


This error only happened with a custom configuration for the Find object that had a Find Field based on a calculated field.

If this Find Field which was based on a calculated business component field was inactive or just not the first find field in the search applet, the error did not occur.


Solution

This behavior is incorrect and a product defect was raised for this incorrect behavior.

Change request 12-1PWMP2J was raised as a product defect with this test case.
"SBL-DAT-00502 if first Find fld based on BC calc fld -
Sorting on calculated field <> is not allowed."

1. The Siebel application must be 8.0.0.2 or higher and the configuration steps documented in the MR Guide for ACR 367 must be completed. (The FindAttach.sif config changes and additional steps.)

2. Then verify that the standard / vanilla 8.0.0.2 HOR or SIA find functionality is working correctly.

3. Then add the following configuration changes for 8.0.0.2 SIA to reproduce this incorrect behavior.

- Create a new calculated field in the account bc called "Account Created"
the calculated expression a copy of the created field ([Created]).
- Modify the vanilla Find object Account.
Add a child find field based on this calculated field.
Do not specify a sequence number so it will be the first Find Field exposed in the Search Find Applet.
- Compile and test this modified find object and see that the Find searches fail with SBL-DAT-00502.

Note that the workaround is specify a find field sequence so this Find Field is not the first find field.

Lisa Carey
Oracle Siebel Support

References

BUG:12-1PWMP2J - SBL-DAT-5002 HAPPENS IF FIRST FIND FIELD BASED ON BC CALCULATED FIELD.

Applies to:

Siebel Tools - Version: 8.0.0.5 SIA [20420] - Release: V8
Information in this document applies to any platform.

Symptoms

- Map a Calculated Field in the Result List Applet in the Search Center.
- Calculated fields are not sortable but in the result applet the Sort icons are enabled and when a users click a Sort icon the following error occurs
- - -
Sorting on calculated field 'Calculated Account Type SCM' is not allowed.(SBL-DAT-00502)
- - -

This error is displayed in an "Error Message" applet in the Search Applet.

Cause


Identified as Product defect. Error SBL-DAT-00502 shown when Sort icons is clicked in Search Center Result List Applet

This behavior was reproduced in standard Siebel application 8.0.0.6 SIA (sample database)

Steps:

# Using Tools:

The 'Account' Find object has "Account Number" as Find Field (The field 'Account Number' is a calculated field in BC 'Account'). This Find Field has the 'Display In Results' property set to FALSE.

> Set it to TRUE and recompile the Find object.

# Using Siebel Financial Services application:

1. Open the Search Center.
2. Select "Accounts" in the "Look In" dropdown list.
3. Click the "Search" button.
4. In the results applet click one of the Sort icons above the "Account #" list column:

> The following error will occur:
- - -
Sorting on calculated field 'Account Number' is not allowed.(SBL-DAT-00502)
- - -

This error is displayed in an "Error Message" applet in the Search Applet (this error applet replaces the find entry and result applets).

Note that "Account Number" is not the first Find Field exposed in the result applet (It is the second).

Even if it is moved to different location on the result applet (by changing the 'Sequence' property) but the behavior is always the same.

Solution

Currently there is no workaround to configure Find / Search functionality to fix this error.

If this has a critical business impact and something that you cannot wait till the defect is fixed in next Fix pack, then contact Technical Support to request a Quick Fix.

In this case, customer decided that this problem (CR 12-1UJQTXN) can wait to be fixed in next Fix pack.

References

BUG:12-1UJQTXN - ERROR SBL-DAT-00502 SHOWN WHEN SORT ICONS IS CLICKED IN SEARCH CENTER RESULT LIST APPLET

Applies to:

Siebel Reports - Version: 7.0.4 [14068] - Release: V7
Information in this document applies to any platform.
Area(s):Reports and Charts
Release(s):V7 (Enterprise), V7 (Professional), V7 (MidMarket)
Database(s):All Supported Databases
App Server OS(s):All Supported Platforms
Latest release tested against:V8 (Enterprise)
Keywords:SBL-RPT-00131, SBL-DAT-00502, SBL-DAT-00398, MgmtConsole, Status, Actuate

This document was previously published as Siebel Troubleshooting Steps 34.

Purpose

How To Troubleshoot the "Report generation has failed on the Report Server" Error .

Last Review Date

05-Jun-2007

Instructions for the Reader

A Troubleshooting Guide is provided to assist in debugging a specific issue. When possible, diagnostic tools are included in the document to assist in troubleshooting.

Troubleshooting Details

This document details the steps to diagnose the "Report generation has failed on the Report Server" error for Siebel Reports Server version 7.5.x.
 

Symptom or Error Message

 
When running reports from the Siebel Web Client, the following message displays:
 
 

Cause

 
This message presented to the Siebel Web Client user indicates that a report has failed on the Reports Server, but is not the real cause for the failure. The error message indicating the actual cause of this error is located in the failed job on the Reports Server. Use this error message in the failed Reports Server job to complete further investigation to resolve the issue.
 

Diagnostic Steps and Solutions

 
To view the error message generated on the Reports Server, complete the following steps:
 
  1. Log on to the Actuate Management Console as the Administrator user. Select the volume name when logging in.
 
  1. Navigate to the Jobs > Completed option.
 
  1. Locate the job that corresponds to your report submission. This is usually the most current job and is indicated by a red cross check mark.
 
  1. Click on the failed job and then navigate to the Status tab.
 
  1. View the error messages in the Results and Status panels.
 
The following error messages are the most typical errors encountered. If the error message you see is not listed here, do a search on SupportWeb using the error message text to find related information. Click on the appropriate jumplink below to quickly access the desired error message.
 
  1. External library not found.
  2. A fatal error has occurred while initializing the environment for data access from Siebel.
  3. Login failed attempting to connect to <Actuate Server Connect String>
  4. Starting...Headline:
  5. Use of a null instance handle
  6. Sorting on calculated field 'Field Name' is not allowed.(SBL-DAT-00502)
  7. Field <Field Name> does not exist in definition for business component <Business Component Name>.(SBL-DAT-00398)
  8. Alternate Reports generation failure
 

I. External library not found.

 
Full Error Message
 
Starting...
External library not found.
Status No: 1 :
Basic Error: 1000
Module: ssReport%BuildReport
Line: 117
User error.
Job failed.
 
Solution
 
This error message usually indicates the Siebel Reports Server Access Component was not installed properly or cannot access any of the libraries installed under the Reports Server installation directory. Check the following:
 
  1. Ensure that the Siebel Reports Server Access component been properly installed on the same machine running the Actuate eReporting Server.
 
  1. Make sure the Siebel Reports Server Access component is at the same version level as the other Siebel components, such as, the Siebel Server.
 
  1. Verify that there are many DLL files in the Actuate6\Server directory (for Windows) or SO files in the AcServer\lib directory (for UNIX). If these files do not exist then the Siebel Report Server access is not installed correctly. In this case, install the Siebel Report Server Access by following the instructions described in the Siebel Reports Administration Guide version 7.5.x.
 
  1. Verify that the rptsrvr.cfg file exists under the Actuate eReporting Server installation folder (usually Actuate6\Server on Windows or AcServer/ on UNIX). The Siebel Reports Server Access installation should automatically deploy and configure this file. Issues will occur if this file is incorrect or missing. The rptsrvr.cfg file must contain the following information:
 
[Siebel]
Siebel_Root = <Siebel Reports Server Access Component>
OS       = <Operating System>
 
On Windows platforms the Siebel_Root parameter must point to the location where the Siebel Reports Server Access component has been installed. For instance if the Reports Server Access has been installed in D:\sea753, then the parameter should be set to:
 
Siebel_Root = D:\sea753
 
On UNIX platforms, this parameter should point to the Lib folder under the Actuate eReporting Server installation. For instance if the Actuate eReporting Server was installed in the /actuate6/AcServer directory, then the parameter should be to:
 
Siebel_Root = /acuate6/AcServer/lib
 
The OS parameter must be set to NT for Windows and unix for UNIX operating systems with the exception of the HP-UX operating system. If you are using the HP-UX operating system, the OS parameter must be set to hpux.  The following is an example of the rptsrvr.cfg file for a Solaris server:
 
[Siebel]
Siebel_Root = /actuate6/AcServer/lib
OS       = unix
 
  1. Another reason this error could occur is when the operating system is UNIX but the appropriate file permissions on the AcServer\lib directory are not in place. Ensure that the user running the Actuate e.Reporting Server has permissions set to 644. This is the recommended permissions, but if 644 does not work then set it to 755 and verify whether you are able to resolve the error.
 
  1. If you are using a Windows operating system and the DLL files exist as specified in Step 4 and the rptsrvr.cfg file is available as discussed in Step 5, check that the MSVCP60.dll file resides in the c:\winnt\system32\ folder. If the file is not there copy it from another machine or download it from the internet at:
 
 

II. A fatal error has occurred while initializing the environment for data access from Siebel.

 
Full Error Message
 
Starting...
This message is available only in English: A fatal error has occurred while initializing the environment for data access from Siebel. Please contact your administrator.
User error.
Status No: 1 :
Basic Error: 1000
Module: ssReport%BuildReport
Line: 117
User error.
Job failed."
 
Solution
 
This error usually happens under the same circumstances as the previous error "External library not found". Refer to the previous error message for details on how to troubleshoot this error.
 

III. Login failed attempting to connect to ...<Actuate Server Connect String>

 
Full Error Message
 
Job Execution Failed
Starting...
Login failed attempting to connect to ...<Actuate Server Connect String>
Job aborted.
 
Solution
 
  1. If using Siebel eBusiness Applications version 7.5.x and other reports are failing intermittently on the Reports Server with this message, refer to Document 477129.1 on SupportWeb to set the Disable Caching of Rox parameter on the Actuate eReporting Server version 6.
 
  1. If using Siebel eBusiness Applications version 7.0.x and another report is failing, or even if the failure occurs only after a certain number of reports are executed, a temporary suggestion is to set the AC_FACTORY_SERVER_RECYCLE_COUNT to a lower value other than the value of 100 suggested in the Siebel Bookshelf version 7.0.x. In some cases, it may be necessary to set this variable to 1 in order to achieve the same result as the Disable Caching of Rox parameter used for Actuate version 6.
 
The instructions on how to set AC_FACTORY_SERVER_RECYCLE_COUNT can be found in the following documentation:
 
    1. Siebel Reports Administration Guide version 7.0.x > Installing the Siebel Reports Server for Microsoft Windows > Siebel Reports Server Installation > Installing Siebel Report Server Access > Post-Installation Tasks > Creating Registry Variables
 
    1. Installing the Siebel Reports Server for UNIX > Siebel Reports Server Installation > Installing Siebel Report Server Access > Post-Installation Tasks > Setting Environment Variables for Reports Server
 
NOTE: The AC_RECYCLE_OPERATION_SERVERS variable must be set to true for the AC_FACTORY_SERVER_RECYCLE_COUNT to be in effect. Setting AC_FACTORY_SERVER_RECYCLE_COUNT to as low as 1 may cause adverse effect on the Actuate e.Reporting Server, thus we request to log a case with Siebel Technical Support in this situation and seek assistance.
 
  1. Check that the Actuate Server Connect String parameter has been correctly specified for the object manager used to submit the report. Instructions on how to set this parameter are available in the Siebel Reports Administration Guide version 7.5.3 > Installing the Siebel Reports Server for Microsoft Windows (or UNIX) > Postinstallation Tasks for the Siebel Reports Server > Enabling the Siebel Reports Server with the Web Client.
 

IV. Starting...Headline:

 
Full Error Message
 
Starting...
...
Headline:
 
Solution
 
The Status tab of the failed job in the Actuate Management Console displays only the above message and no actual errors and the Properties tab of the failed job indicates that the ssBookMark parameter was extremely large. Since the ssBookMark parameter contains definitions for all the business components the application has in memory at the time the report is submitted it is possible that the ssBookMark generated when the report is run is large enough to cause the report to fail.
 
Change Request 12-GDVJCZ has been raised to address this product defect in Siebel eBusiness Applications version 7.5.3 and has been fixed in Siebel version 7.7.
 
The following suggestions can be used in this situation:
 
  1. Split the views up onto different screens which may reduce the number of business components whose information is included in the ssBookMark parameter.
 
  1. If possible simplify the business component definitions (or make copies of them) so they have less fields.
 

V. Use of a null instance handle

 
Full Error Message
 
Request execution started.
Starting...
Generating rotp:/foldername/reportname
Generating...
...
Use of a null instance handle
 
Solution
 
This error usually occurs due to issues with the report design such as placing controls in the report incorrectly or having custom code in the report. Check the following points to further investigate and resolve this behavior:
 
  1. Check if the error only occurs when running the report against a specific set of records or even a particular record. If yes, check whether the records contain any invalid data.
 
  1. Check whether there is any control in the report design that was not pulled from ssCustom.rol, like afc.rol or ssSiebel.rol, for instance. NOTE: Using controls other than the ones from ssCustom.rol is not a supported approach and may cause this error message. If this is the case, make the appropriate changes to the report design to use only the proper controls from ssCustom.rol.
 
To do this you can change the Super Class property of the control to the corresponding object from ssCustom.rol. For instance, if you have included a control in the report whose Super Class is AcTextControl, change the Super Class to ssTxt (or any other derived from it like ssTxtB, ssTxtBI, etc) since this is the corresponding object from ssCustom.rol.
 

VI. Sorting on calculated field 'Field Name' is not allowed.(SBL-DAT-00502)

 
Full Error Message
 
Starting...
Generating rotp:/E11932/QUOTEMCLEODUSA_ENU_ENU.roi ...
Generating...
Sorting on calculated field 'Field Name' is not allowed.(SBL-DAT-00502)
User error.
Job aborted.
 
Solution
 
This error usually occurs if a field used in the report is a calculated field in the underlying business component and the report tries to sort the records based on that field. Note that it is currently not possible to sort on calculated fields in the Siebel eBusiness Application. The sort clause for a report can be specified in the Sort Specification property of the report object definition in Siebel Tools.
 
Some suggestions in order to resolve this behavior include:
 
  1. If possible, use a different field in the Sort Specification property in the report object that is not a calculated field in the business component and regenerate the ROL for the report from Siebel Tools.
 
  1. Eliminate the sort clause from the Sort Specification property of the report object and perform the sorting in memory in the report design. The steps to do this are:
 
    1. Eliminate the sort clause from the Sort Specification property of the report and regenerate the ROL from Siebel Tools.
 
    1. Add a ssMemoryDataSorter object to the report design.
 
    1. Override the Compare function to perform the sorting according to the calculated field. An example of the Compare method is given below:
 
Function Compare( row1 As AcDataRow, row2 As AcDataRow ) As Integer
'Compare = Super::Compare( row1, row2
 
Dim aRow as ssOpportunityDataRow
Dim bRow as ssOpportunityDataRow
Set aRow = row1
Set bRow = row2
 
' Order By calculated field
Compare = CompareKeys(aRow.ssField1, bRow.ssField2)
End Function
 
In order to sort the records in descending order, you may just invert the position of the aRow and bRow variables in the CompareKeys method call as below:
 
Compare = CompareKeys(bRow.ssField1, aRow.ssField2).
 
For additional information and examples using the ssMemoryDataSorter object, refer to the Siebel Reports Administration Guide version 7.7 > Sorting Records in Memory.
 
You may add the ssGrp object to the report design and set its Key property to the calculated field to control the group breaks in the report.
 
NOTE: This approach is not recommended if applied to the master datastream of a master-detail report. For detailed information about this topic, refer to Document 476622.1 on SupportWeb.
 
This approach may also not be suitable if the number of records retrieved by the report is extremely high. Since all records are retrieved into memory to perform the sorting, this may lead to excessive resource consumption or performance degradation.
 

VII. Field <Field Name> does not exist in definition for business component <Business Component Name>.(SBL-DAT-00398)

 
Full Error Message
 
Starting...
Generating rotp:/SADMIN/AGREPORTOFIBM.roi ...
Generating...
Field <Field Name> does not exist in definition for business component <Business Component Name>.(SBL-DAT-00398)
Please ask your systems administrator to check your application configuration.
User error
 
Solution
 
This error message occurs because the report uses a field that does not exist in the underlying business components. This is usually the case if the field was renamed, deleted, or inactivated in the business component. Check the following in order to identify the cause for this behavior:
 
  1. Check that all fields in the report object definition in Siebel Tools are valid.
 
  1. Check that the Sort Specification and Search Specification are correct and do not reference any invalid fields.
 
  1. Check that there is not any custom code in the report that is dynamically assigning search criteria to the ssSearchSpec global variable.
 
  1. Check that the report executable on the Reports Server is the correct version.
 
  1. Check that the SRF file being used by the Siebel Server is the correct version and contains the definition for the field mentioned in the error message.
 
If changes are required to the report object, regenerate its corresponding ROL in Siebel Tools and compile a new report executable.
 

VIII. Alternate Reports generation failure

 
When a user runs reports, every alternate report generation fails and the error message seen in the Actuate management Console is one of the following for the failed jobs:
 
Full Error Message
 
  1. The following error message occurs in environment where Actuate e.Reporting Server is installed on a Sun Solaris operating system:
 
Results:
Job aborted.
 
Status:
Starting...
Generating rotp:/SADMIN/ACLIST_CUT__.roi ...
Generating...
Last message sent 3 times
Finishing...
Headline:
 
OR
 
  1. Generic error message for alternate reports failure:
 
Job Execution Failed
Starting...
Login failed attempting to connect to ...<Actuate Server Connect String>
Job aborted.
 
Solution
 
For resolution to error message occurring in the Sun Solaris environment, review Document 477281.1 on SupportWeb.
 
For resolution to the generic error message for alternate reports failure, review Document 477129.1.



No comments:

Post a Comment