Wednesday, June 24, 2009

Siebel Interview Questions in Configuration

Configuration:
==========
1. What is the diffrence between Join and Link?

A join is for bringing in data from a table related to the base table of the business component to support extended fields. Joins relate multiple entities (tables) at the data-model layer to form a composite business component. Because joined tables are part of the single BC, the relationship must be 1:1 or M:1. Links are relationships between multiple business components within the business layer to form business objects (that are the basis for views in the UI layer). Also, unlike joins these relationships can be master-detail/parent-child (1:M) or many-to-many (M:M) associations.

2. When is MVL required?

A multi-value link is required to create a multi-value group for associating multiple fields (and possibly multiple BC instances) from a parent to a child BC. Multi-value links are based on existing links between business components.

3. How can we have Many-to-Many relationship using Links?

An intersection table with foreign keys for both business components must exist and be specified in the link properties.

4. What is the significance of Cascade Delete property?

The cascade delete property of a link determines whether child records of a 1:M link relationship are deleted when the parent record is deleted. The possible values are Delete (children are deleted when their parent is deleted), Clear (children are not deleted, but their foreign key column to the parent is cleared), and None (children are neither deleted nor cleared on their parent's delete). How this property is set is determined by the requirements of your business logic.

5. Search Specification property is on BusComp or Applet and how it behaves when put on both?

When an applet is viewed in the application the search specification from the business component and the applet are ANDed together to produce the final resultset that the user seems. For this reason you must avoid putting mutually-exclusive search specifications in the applet and business component, as the user will see no data if such specifications are made.

6. Sort Specification property is on BusComp or Applet ?

It is on the business component.

7. Can we make any setting at View Object so that the Sort Specification of BusCOmp can be ignored?

You can set the Visibility Applet Type to "Organization" to produce an "All View" of records across the organization that ignores the business component sort specification.

8. User Propeties (All Mode Sort, Field Read Only Field, BC Read Only Field)

These user properties have the following definitions (from the Siebel Developer's Reference v. 7.8 rev. A):
* All Mode Sort - This user property determines whether the Siebel application is allowed to override the business component-defined sort behevior on views with certain visibility types (like the "Organization" type in question #7).
* Field Read Only Field - This property specifies that one field is read-only based on the value of another (boolean) field.
* BC Read Only Field - This property specifies a (boolean) field of the BC that when true sets the entire BC record to read-only.

9. What is diffrence between Drill Down and Dynamic Drill Down?

A (regular/static) drill-down always takes the user to the same view regardless of the data in the field drilled on, whereas a dynamic drill-down goes to a different view depending on the data in the drilled on field.

10. What is the significance of Force Active property of BusComp Field?

The Force Active property causes the BC field to be queried and available even if the current applet is not displaying that field. This is most often done to ensure the field is available for scripting.

11. What is the maximum length allowed in Search Specification property?

It appears to be 1,000 characters in Siebel 7.7.

12. Diffrence between Static abd Dynamic picklists.

Static picklists use a set of static (unchanging at runtime) list elements that are defined at design-time in the S_LST_OF_VAL table; dynamic picklists use a dynamic (changeable at runtime by the current or other users) list from another business component to populate a joined field. Static picklists typically just use a drop-down or combo-box (in the case of unbounded static picklists), whereas dynamic picklists use a pick applet to select the values.

13. Diffrence between Bounded and Un-bounded picklists.

Bounded picklists force users to select or enter a value from the picklist list of values, while unbounded picklists allow the user to enter any value (with the option to select one of the pre-defined ones).

14. What are Hierarchial Picklists and how they can be configured ?

A hierarchical picklist is part of a group of picklists that display different values based on their parent picklists (e.g., Division -> Departmentn -> Employee). Here is the procedure for setting up a hierarchical picklist from the Siebel 7.5.3 Tools referece:
* Configure a parent and a child picklist.
** Set the Business Component property of the parent picklist to Picklist Hierarchical.
** Set the Business Component property of the child picklist to Sub-Area Picklist Hierarchical.
* Go to the business component that contains the fields that you want to associate the hierarchical picklists with.
** Set the Picklist property of the parent field to the parent picklist.
** Set the Immediate Post Changes property of the parent field to TRUE.
** Set the PickList property of the child field to the child picklist.
** For the child field, create the following Pick Map objects:
Field | PickList Field | Constrain
-----------------------------------------------------------
[name of parent field] | Parent | TRUE
[name of child field name] | Value |
* Compile changes to a repository file.
* Add LOV values using the Parent LIC column to designate the parent value.
* Test.

15. If I am unable to see LOV in picklist even after adding it properly then what all should I check ?

One place to check would be the "List of Values" Data Administration screen in the Siebel Client; ensure that the "Active" flag is checked, there is a Display Value entered, and the Translate field is either not checked or there is an entry for the locale that you are viewing the page with.

16. Diffrence between Inner and Outer join and which is better performance-wise?

An inner join selects only records that have matching values for the join criteria in both tables, whereas an outer join selects all values regardless of whether a match can be found in the joined table. Inner joins have better performance characteristics and should be preferred if the business rules allow.

17. How to synchronize logical and physical schema?

One way to synchronize these schemas is with Siebel Tools. The process to do this is the following (taken from the Siebe. 7.5.3 Tools Reference):
* In the Object Explorer, select the table from which you want to apply changes to the database.
* Click Apply in the Object List Editor.
* A dialog box appears, alerting you that you are about to connect to a local database and asking if you want to continue. Click OK.
* The Apply Schema dialog box appears. Fill in the fields as shown in the following table, and then click Apply (NOTE: When applying changes to an Oracle database, the privileged user id and password must be the tableowner name):
Field | Description
-------------------------------------------------------------------------------------------------------
Tables | Select one of the following options from the drop-down menu:
| * All. Update the database to reflect all changes made to the dictionary.
| This option forces each database object to be compared with the data dictionary,
| and updated if required.
| * Current Query. Update the database to reflect modifications made to the tables
| in the current query only.
| * Current Row. Update the database to reflect modifications made to the table in
| the current row only.
-------------------------------------------------------------------------------------------------------
Table space | Leave blank.
-------------------------------------------------------------------------------------------------------
16K table space | Leave blank.
-------------------------------------------------------------------------------------------------------
32K table space | Leave blank.
-------------------------------------------------------------------------------------------------------
Index space | Leave blank.
-------------------------------------------------------------------------------------------------------
Table groupings file | Optional. This file is provided by the DBA and is specific to your database.
-------------------------------------------------------------------------------------------------------
Privileged user id | Enter your database user ID, for example SADMIN. The table owner is read from tools.cfg.
-------------------------------------------------------------------------------------------------------
Privileged user | Enter your database user password, for example SADMIN. Note: When the database initialization
password | for a mobile client is performed, the table owner changes from SIEBEL to the mobile user's
| password. In this case, use the mobile user's password in the password field.
-------------------------------------------------------------------------------------------------------
ODBC data source | Verify that the ODBC connection specified in the ODBC Data Source text box is correct
| for your environment. You cannot apply schema changes to any database other than the
| one you are currently connected to (for example, by specifying the ODBC name of a different database).
* To activate extensions to EIM tables, select the appropriate tables, and then click Activate. Your extension tables and columns are now available to use in your configuration.
* To make your new database extensions available to other developers
** Have the developers check out the relevant projects from the server. This gives them the schema change logically, that is, in Siebel Tools object definitions.
** Have them apply these changes to their local databases to obtain the changes physically.

The other method is by using the Database Server Configuration Utility (instructions are for Windows):
* If you are not using Siebel Anywhere, stop all processes running on all Siebel Application Servers, including all Siebel Remote Processes, once all mobile user transactions have been merged and routed. If you are using Siebel Anywhere, stop all Siebel Application Server processes except the Transaction Preprocessor and Transaction Routers.
* Launch the Database Server Configuration Utility by choosing Start > Programs > Siebel Enterprise Server version_number > Configure DB Server. The Gateway Server Address screen appears.
* Specify your Gateway Server Address and Enterprise Server Name and click Next. The Installation and Configuration Parameters: Siebel Server Directory dialog box appears.
* In the Siebel Server Directory dialog box, either accept the default value or choose the Browse button to select a directory, and then click Next. The Siebel Database Server Directory dialog box appears.
* Either accept the default value or choose the Browse button to select a directory, and then click Next. The RDBMS Platform dialog box appears.
* Choose your db platform and click Next. (NOTE: The default is DB2 UDB.) The Siebel Database Operation dialog box appears.
* Choose Run Database Utilities and click Next. The Database Utility Selection dialog box appears.
* Choose Synchronize Schema Definition and click Next.
* The next dialog boxes are described as follows:
** Database Encoding: enter whether or not the database is Unicode or Non-Unicode.
** ODBC Datasource Name dialog box
** Database User Name dialog box: enter user name and password
** Database Table Owner dialog box: enter table owner and password
** Index Table Space Name dialog box:
*** Index 4K tablespace (DB2)
*** 16K/32K tableSpace (DB2)
*** Index tablespace (Oracle)
* Click Next on these dialog boxes. The Repository Name dialog box appears.
* Enter the repository name you wish to synchronize. (NOTE: The default is Siebel Repository.)
* Click Next. The Configuration Parameter Review dialog box appears. It lists all the parameters you have chosen. (NOTE: Passwords are in asterisks.)
* Click Finish. The runnow dialog box asks you to verify your choices.
* You can either run the ddlsync process now or later. If you choose OK, the Upgrade Wizard is launched. If you choose Cancel, you can run the process later by typing siebupg.exe/m master_ddlsync.ucf from the siebsrvr/bin directory. If you choose OK, the following Siebel Upgrade Wizard dialog box appears.
* If you choose OK in the Siebel Upgrade Wizard dialog box, the ddlsync process starts. Its displays your progress by placing a check after each step is completed. If there are any errors during the process, the Upgrade Wizard stops. You can go to the siebsrvr/log and look at the log files there. Fix the problem and then relaunch the Upgrade Wizard through siebupg.exe/m master_ddlsync.ucf. (NOTE: You must verify that there is no driver_ddlsync directory under siebsrvr/upgrade before you launch the Database Server Configuration Utility. This directory keeps a record of where you are in the ddlsync process for restarting. If you have already run ddlsync, you need to delete this directory before running ddlsync again, or you will receive an error message.)

No comments:

Post a Comment