Questions Siebel developers are googling

Every now and then I inspect my google analytics to see what other siebel developers are searching when google shows up this blog in the search list. Some of them are quite intriguing. Feel free to answer them in the comments below.



Question : when to use subprocess in workflow in siebel?

Answer : Sub-processes are are standalone workflows which are developed to perform task on one instance of the business object. They are usually used when primary workflow is working on one business object and there is a need to work on data in another business object.

For example there is a workflow configured on button click of Quote record, you would use Quote BO to handle the request. However if there is a need to get Asset information, you would create another workflow based on Asset BO and send Asset Id as Object Id to handle the request.

Question :how to cheat siebel sadmin password through bs run

Answer : That's an interesting question. I think someone is trying obfuscate the user id of the current user and act like SADMIN. Well in that case user can create asynchronous server request to execute business service which will login via standard SADMIN profile in most of the implementations. Hope this helps πŸ˜ƒ

Question : how to proceed the code after raiseerrortext in siebel escript?

Answer : RaiseErrorText method on application object is an special function, it serves two purpose,
  1. It stops the current thread of execution, if loop is getting executed control will come out of the loop
  2. Throws an exception to the parent calling thread.
  3. Shows the error on screen if user has initiated the transaction.
One can try placing try catch around Raise Error Text to trap the execution, but I wonder when someone would want to do that.

Question : how to hide applet in pr file siebel?

Answer : Applets can be hidden using CSS, JS in PR file by finding the div tag of the applet. However best place to do that would be in the View SWT files.

Question : what are escripts limitation in siebel

Answer : Looks like someone form salesforce have joined back Siebel Projects πŸ˜ƒ well there is no governor limits in Siebel which needs to be taken into account while designing any solution.One can execute the script as long as you want, just keep in mind you can only work on 10K records for one query, and one can query again to work on next 10K records. So overall I don't think there is any major limitations.


Run Time Events not working on Applets

Runtime Events - Pre Write Record and Write Record Event defined at the applet level is not working. Validations created on business compoenent works fine, however if same validation is applied on applet wrote record or pre write record, validation does not work especially when run query and go button is used.

Explanation from Oracle:


Run Time events Pre Write Record or Write Record event must work for all the scenarios. But After Defining Runtime Event at Applet Object Pre Write Reord, and if user try to click on any other option for ex: Run Query from menu item, RTE is not getting triggering successfully.

Reason being the runtime events, has been implemented on the UI layer. Please note that Write Record event is BC event which needs to be used for Buscomp object only. So tracking the write record event at Applet level is not recommended approach because might be missing all the scenarios which are apiplicable. This is also applicable for 8.1.1.11 version. So its recommended to review all run time events where PreWrite Record and Write Record events at Applet Object are used, you need to change the same to Business Component Object to work this effectively.

Such a lame excuse. 😐

Workspace Icon Missing From Siebel Web Tools For Users Other Than SADMIN

When you have just enabled workspace and created new developer logins to get your hands dirty, this the first thing you can face 😊

Unless you have following responsibilities assigned to the user, you wont be able to see the workspace icon and use the workspace for development.

Siebel Responsibilities
Siebel Responsibilities

SBL-DAT-00144: Could not find 'Integration Object' named 'MBL Order IO'. SBL-EAI-11500: Empty Output Property Set.

SBL-DAT-00144: Could not find 'Integration Object' named 'MBL Order IO'. SBL-EAI-11500: Empty Output Property Set.


In IP2013 there is lot of cowboy code implemented in EAI and this is one of those examples. You will get this error if your web service is returning only one string and you have turned the EnableServiceArgTracing to True. Due to this property Siebel will try to log the input and output arguments of EAI Siebel Adapter. In this case as the service is only returning a string, siebel runs into error as it is trying to find Integration Object.

(objdef.cpp (14624)) SBL-DAT-00144: Could not find 'Integration Object' named 'MBL Order IO'. This object is inactive or nonexistent.
(xmlcnvsv.cpp (595)) SBL-EAI-11500: Empty output property set. Check to verify the input XML is valid.


To resolve the error simply remove the setting or turn it to false:

EnableServiceArgTracing : False

Its a shame that you wont be able to take advantage of argument tracing of the entire transaction in such scenarios.

SBL-DAT-00500 On view load

SBL-DAT-00500 error is displayed when Quote Item List View is opened. 


View has Quote Header Form Applet and Quote Line Item List Applet. Usually this will work most of the times, however when number of records is more than 10K 'Hirarchy Parent Field' property causes this error.


Solution 1: Clong Quote Item List Applet and disable hierarchy functionality by adding a user property :
Name: Disable Buscomp Hierarchy
Value : TRUE

Solution 2: Disable hierarchy functionality on quote item business component, by disabling
User property : 'Hierarchy Parent Field' from Business Component.
This would remove hierarchy from entire application.

This error is duly recorded in case of execution thread is a business service or workflow. However it confuses a bit when it happen just after view is accessed. 

https://support.oracle.com/knowledge/Siebel/524329_1.html




Hope this helps. 

SBL-DAT-00222: An error has occurred creating business component 'FINS Activity Contact Securities'

Opposite to my liking my new role is to oversee two complex Siebel projects, and do fire fighting and keep SLA under agreed limits. That means checking support web more than my email.

I have decided share some support tickets which can help others and some of them are quite amusing from software engineering point of view. Do let me know what you feel in comments below.


SBL-DAT-00222: An error has occurred creating business component 'FINS Activity Contact Securities' used by business object 'Channel Partner'. Please ask your systems administrator to check your application configuration.

 

 

Solution 1: Inactivate Business Component User Property "IS Autofill: Intersection Table BC"
Solution 2: Create a new Link which we called "Channel Partner/FINS Activity Contact Securities" and create an new Business Object Component under BO "Channel Partner" for BC "FINS Activity Contact Securities" which uses the new Link.

Oracle Support :

Turns out the user property IS Autofill: Intersaction Table BC doesnt do anything and is available only for Siebel Product engineering.πŸ˜€πŸ˜€πŸ˜€πŸ˜€πŸ˜€Someone left internal only user property in production code.

They also recommended using second solution,that means there is very low coverage of Siebel unit testing in the product engineering.



When will I go back to salesforce projects 😐😞😞😞Missing Salesforce so much.

Workspace Icon Missing From Siebel Web Tools For Users Other Than SADMIN

When you have just enabled workspace and created new developer logins to get your hands dirty, this the first thing you can face 😊 Unless...