December 04, 2013

Siebel EAI Interview Questions

Question: How to generate XML in Siebel?

Answer: Use EAI Siebel Adapter Business Service Query method and then EAI XML Converter Service Method HierToDoc to generate XML Doc.


Question What is the difference between External & Internal Integration Object? 

Answer: Internal Integration Object refers to Siebel Business Object for querying and saving data.
External Integration Object refers to XML schema, one can not use query or insert operation on external integration object.
To create external integration object, either XSD or DTD document is required.

Question: How to change the XML tag in an Siebel Message?

Answer :  Find the Integration object from the xml and then go to the desired integration component and update the XML Tag of desired integration component field.

Question: How to change the source field of XML tag in Siebel XML?

Answer : Find the Integration Component Field and update the External Field name to the new field name.

Question: What is the significance of Name of Integration Component Field?

Answer: Name of Integration Component Field is used to create the Siebel Message property set, It is essential to know the ICF name if script is used to get value from XML.

Question: What is the use of XML Container Element?

Answer: XML container element if specified on IC then Siebel adapter will always create an XML tag before the start of child IC records, and it will always be present in XML even if no records are returned by query method.

Question: What is XSD? How to create XSD in Siebel?

Answer: XSD is an XML Schema Definition document. It is a type of XML document which defines the structure of an XML document. It contains the structure of the XML and the data type and length of XML.
Siebel tools can generated by Generate XML Schema wizard by clicking Generate Schema Button.

Question: What DTD? How to generate DTD of an Siebel Integration Object?

 Answer: DTD is Document Type Definition, it is another form of document which describes the structure and data types of an XML document. It can also be generated through Generate Schema Button on the Siebel Integration Object.

Question: What is a WSDL?

Answer: WSDL stands for Web Services Descriptive Language. It is an XML file which describes everything about a web server. 
Typically it contains:
  • Web service end point (URL)
  • Methods web service Support
  • Input and output arguments.
WSDL is technology/platform independent syntax thus it is widely accepted way of describing web services definition.


Question: How to import WSDL in Siebel?

Answer: Importing WSDL in Siebel is two step process.
First, WSDL is imported into Siebel Tools using WSDL Import Wizard. It creates Integration objects and proxy business service from WSDL definition, and generates XML for run time data creation.

Secondly, XML generated  is then imported in to web client. Process is outlined in bookshelf here.

Question: How to convert incoming Data to uppercase before importing in Siebel?

Answer: Siebel does not support changing the case of through EAI, however it is possible to call a custom business service through data maps which can convert the case.
InvokeServiceMethod ("CustomDataMapper", "UpperCase", "InputStr='"+[Integration Field Name]+"'", "OutputStr")
   

See more EAI Siebel Adapter Interview Questions.
See more Siebel Workflow Interview Questions.

December 03, 2013

Siebel Configuration Interview Questions - Picklists

This post focusses on the interview questions that are related to picklists fields in Siebel. I have tried to list all the possible questions and will keep updating it in future.

Question: What is the difference between dynamic picklist and static picklist?

Answer:Static picklist always show a static list of values which are store in List of Values buscomp. Values in static picklists can only be modified by Siebel Administrator from Administration Data> List of Values view. Example: Salutation pick list on contact form applet.

Static Pick list in siebel
Static Pick list in Siebel
Dynamic Picklist in Siebel
Dynamic Pick list in Siebel



Dynamic picklist source its data from user buscomp such as contact, account and product.
Examples:
1. Product pick applet on Order line item
2. Account pick applet on contact form applet


*** Static picklist are generally dropdown and dynamic picklists are configured through pick applet.




Question: How to create a new static picklist in Siebel?

Answer:
1. Create new LOV_TYPE by creating record in Administration Data> List of Values view. Keep:
Type :  LOV_TYPE
Language Independent Code : CUSTOM_PICKLIST
Display Value : CUSTOM_PICKLIST
Language : English-American
Active : Y
2. Create List of values by using newly created LOV_TYPE in step 1. Set the following values:
Type :  CUSTOM_PICKLIST
Language Independent Code : Value1
Display Value : Display Value1
Language : English-American
Active : Y
3. Create new picklist in tools and set:
BusComp :  PickList Generic
Static : Y
TypeField : Type
Type Value : CUSTOM_PICKLIST
4. Associate picklist to the field, by selecting this new picklist on the field. And set the PickMap as:
Field: "New Field Name"
Picklist Field : Value
5. Place the field on to the applet and set runtime=true




Question: What is the difference between bounded picklist and unbounded picklist?

Answer:Bounded picklist allows user to select value only from the list. User can not type in new value into the field.
On the other side Unbounded picklist field can accept values which are not available in dropdown.User is allowed to type in new value and can save the record.

**Both Static and Dynamic pick list can be bounded or unbounded.

 

 

Question : What is the difference between Picklist and MVG?

Picklist allow user to select on value from list of valid values.
Example : Account Field on Opportunity BusComp.

MVG stands for multi value group is used to associate multiple values to a record. MVG show relationship of one entity to other multiple entities.
For Example: Contacts on opportunity, each opportunity record can be related to multiple contacts records, however it can only be related to one account.


 

 

Question: What is the difference between Constraint pick map and Copy pick map in Siebel?

Answer: Copy pick map copies the selected value to the field. This type of picklist shows all the values from the pick list buscomp.

Constraint pick map is used when there is requirement is to limit the values which are shown on UI. Field value of constraint pick map is used to filter values shown in picklist.
For Example:  Contact Field on Sales Order only shows the contacts of the selected account, this is because account id in mapped as constraint pickmap in account.



Question: How Multilingual LOV works in Siebel ?

Answer: When Multilingual LOV is configured, Siebel save LIC (Language independent code) on the database and shows Display value on the UI depending upon the language of the object manager.
For Example: Event Status will show "Zugewiesen" if user is using German application and for same record English application will show value as "Assigned" and the database column will have "Assigned" value.

Multilingual LOV





Popular Interview Questions:
More to come...

please feel free to use comments to share any question that you had difficulty in answering?

November 14, 2013

Siebel EAI Interview Questions - EAI Siebel Adapter

Question: Explain the methods of EAI Siebel Adapter


Answer: EAI Siebel Adapter is pre-build business service which interacts with Siebel Object manager to perform CRUD operations on Siebel Database. Following methods are available on the service:

Query

  1. Query method is used to query data from Siebel, output of this method is Integration Object instance.
  2. Query can be executed using :
    1. Row id of the primary BusComp
    2. Search spec consisting of parent and child buscomp fields.
    3. Integration object instance - which is also known as Query By Example
  3. Only required input argument of this method is Output Integration Object Name which is the name of integration object which is queried by the service.

November 07, 2013

Whats wrong with EAI Java Business Service?

What is wrong with EAI Java Business Service?? This was my reaction after struggling with EAI Java Business Service and trying to execute small Java code from Siebel. Actually there is nothing wrong with the service, it is our lack of knowledge and less experience with Java development which makes it difficult to configure.

I am going to list down steps required to get the Sample bookshelf code working with Siebel web client.



1. Siebel is not compatible with Java 1.7.
If you compile from Java 1.7 or above you will get the following error while calling service from Siebel

Class name incorrect or does not extend SiebelBusinessService : AddBusinessService -- JVM Exception:java.lang.UnsupportedClassVersionError: AddBusinessService : Unsupported major.minor version 51.0(SBL-EAI-05010)
For workaround Siebel Tools comes with a older version of jdk which can help you to compile and get rid of the above error.

November 01, 2013

JSON and Siebel


JSON(JavaScript Object Notation) is a new lightweight integration message format which is replacing XML in thin client integrations. There are no meta tags and data description in JSON as in XML, it is just a string representation of JavaScript Object, it is designed to help javascript code to convert data to string and string to data without considerable overhead.


JSON vs XML


Many companies have started replacing XML with JSON in APIs. All the APIs of Google (Maps,Mail,Calendar, plus etc are now serving JSON), Twitter API,  Facebook apps and interfaces are built using JSON.
Read more on JSON on : http://www.json.org/

Siebel lacks in support of JSON on server side. Oracle support recommends use of workarounds such as using custom scripting to parse JSON response received by Siebel.

So how to interpret json in Siebel? Answer lies in the escript engine of Siebel. Siebel eScript as we know is actually ECMA script which was basis of Javascript. That is why the syntax of Javascript and eScript closely matches each other.
ECMA adopted JSON before it became standard in javascript. Thus our well known Siebel eScript also have some support.