Beruflich Dokumente
Kultur Dokumente
Configuration Basics
Uddalok Basu
2006 IBM Corporation
Level of Configuration
2Page 1
Keywords:
Joins, Links, MVFs, Picklists, Drilldowns, Properties, User Properties, MVGs, Primaries,
3Page 1 2006 IBM Corporation
Applet Level
Applet Properties Applet Web Templates Controls Drilldown Objects List Column Properties Applet User Properties. Applet Toggle.
4Page 1
Applet Properties
How to make an applet read-only.
The following properties of the applet should be marked TRUE:
5Page 1
Applet Properties
How to increase or decrease the number of rows to be
shown for a list applet.
By the HTML No.Of Rows of the applet. If HTML No.Of Rows is left blank then Number of rows to be
shown in the list applet are set from the NumberOfListRows in SWE section of the cfg file. If both are left blank then default value of 10 is taken.
6Page 1
Applet Properties
Class of the applet
The C++ class used to manage the applet. Form applets use the CSSFrame class,and list applets use the CSSFrameList class.There are also some specialized classes for applets that use special business components and have special features.
Note:
Controls on applets belonging to a specialized class should not be deleted because this may break methods used on applets.
7Page 1
Applet Properties
Class of the applet
Special classes do not support certain functionalities which are otherwise supported by other ordinary classes. For example, popup for Text Areas and Continuous Scrolling might not function properly if the applet is based on a special class. Note:
Changing the class is a resolution which is not permissible since it might impair the functionality which necessitated the use of the specialized class. Hence a workaround has to be devised.
8Page 1
9Page 1
10Page 1
Applet Controls
For a list applet,the List control is mandatory for displaying columns of data from the underlying BC.
Text Controls
*Found in form applets *Usually a select icon is attached with it. *Display Format property can be used to specify format of data for numeric,date,currency and similar non-text data types. E.g.,For DTYPE_DATETIME data,this can be given as Date,Date Time, DateTimeNoSec, TimeNoSec.
11Page 1 2006 IBM Corporation
Applet Controls
Button controls
*Initiate an action when clicked. *Found in list and form applets. *Method Invoked property defines the method invoked when button control is cliicked. E.g., NewRecord, EditRecord, ExecuteQuery etc. Note: Customized methods written in server or browser scripts can also be invoked in a similar method on a buttonclick event.
12Page 1
Applet Controls
Special type of controls
How to display the Show More button in a list applet. The ToggleListRowCount control is configured: Control = ToggleListRowCount. HTML BitMap = BTTNS_MORE HTML Display Mode =EncodeData HTML Type =Link Method Invoked = ToggleListRowCount Sort = TRUE
13Page 1
Applet Controls
Special type of controls
How to display the Next and Previous buttons in a form applet. For Previous control, HTML Bitmap = RECNAV_PREVSET_ON HTML Disabled BitMap = RECNAV_PREVSET_OFF HTML Type =RecNavPrv Method Invoked = GotoPreviousSet
For Next control, HTML Bitmap = RECNAV_NEXTSET_ON HTML Disabled BitMap = RECNAV_NEXTSET_OFF HTML Type =RecNavNxt Method Invoked = GotoNextSet
14Page 1
Applet Drilldown
Static Drilldown. -A specific view is referenced for each hyperlink list column.
If the source and destination view are on the same Business Component then to maintain the correct reference of the record the Source field and Destination field for the Drilldown Object should be given as Id.
15Page 1
Applet Drilldown
Dynamic Drilldown. Enables navigation to multiple views from the same hyperlink field,depending on the value of the field. Drilldown objects for each candidate view are defined and that with the lowest sequence number contains child Dynamic Drilldown Destination objects.These define the conditions under which each of the drilldown objects should be activated.
16Page 1 2006 IBM Corporation
17Page 1
18Page 1
19Page 1
Miscellaneous
Problem: A message that should appear while performing a New Record or a Copy Record operation on a list applet appears every time while scrolling on records. Reason: The script written in the Browser Script of the applet was erroneous. The equality operator was given as =.So each time the condition was evaluated. Solution:The correct equality operator = = was specified.
20Page 1
21Page 1
BC Properties
Class of the BC The C ++ class that implements the functionality of the business component. CSSBusComp is the class normally used. Force Active If set to TRUE,all fields of the BC are automatically retrieved from the database server. This substantially degrades the performance of the business component and is not recommended.
22Page 1
BC Properties
Owner Delete A TRUE or FALSE value that establishes the deletion rights of the user to the business component. TRUE = Only the owner (under personal or team visibility) can delete the record. FALSE = Anyone can delete the record. Note:When a view is designated for Admin mode, the Owner Delete protection is disabled, and anyone having access to the view can delete any record.
23Page 1
BC Properties
Popup Visibility Auto All If TRUE then if user has access to any All views,then pop-up visibility is All; otherwise pop-up visibility is determined by Popup Visibility Type property.
Popup Visibility Type Values are All, Personal, Sales Rep, Manager, Organization, Sub-Organization, Group, and Catalog.
24Page 1
BC Properties
Sort Specification A sort expression is used to order the records returned in a view. But this may be ignored in some cases.
Use of a specialized business component class, other than CSSBusComp may disable a sort specification. Siebel applications ignore the sort specification in the BCs having All and Manager view modes. Sort specifications on calculated fields do not work.
But this behavior can be overwritten by the BC User Property All Mode Sort. Use the Business Component User Property "All Mode Sort" and give the Value as "Normal". This will allow to use the customized sort specification.
25Page 1
BC Properties
All Mode Sort user property will allow the developer to manipulate sort behavior.
Providing a value 'TRUE' will allow Siebel applications to override the sort specification for All views with the standard user key. Providing a value 'FALSE' will remove all sort specifications.
26Page 1
BC Field Properties
Calculated
Can have a True or False value. If value is set to True The fields value is calculated by the business
component rather than retrieved from the database server. Calculated Value The expression used to calculate the fields value if Calculated is TRUE.
27Page 1
BC Field Properties
Dest Field If the Multi Valued property is TRUE, the field in the destination business component defined in the Multi Value Link field. If Multi Valued is FALSE, this property is ignored. Validation The expression used to ensure data correctness when data is entered. Also, the validation is evaluated only for the field for which it is added.
28Page 1
BC Field Properties
Immediate Post Changes
Can have a True or False value. If value is set to True Field data is posted to the server immediately after the focus moves off of the field.
Case Study: The requirement is to fire the validation of the field immediately after the user moves the focus off the field e.g. the Start Date field. Solution: In Siebel6 the validation property gets fired in the PresetFieldValue event of a field but in Siebel7 it gets fired in the PrewriteRecord event. So to make the validation immediately after changing the value of the Start Date field you have to set its Immediate Post Changes property value to True.
29Page 1
BC Field Properties
Force Active
Default value of this property is False. When the value is set to True, the field is queried each time the business component is instantiated, even when the field is not exposed on the user interface. Force Active should only be set to TRUE when there is a need to put script on a field in the active business component and the field is not exposed on the active applet. Setting this property to TRUE may reduce performance.
30Page 1
BC Field Properties
Link Specification
Can have a True or False value. If value is set to True then the fields value can be passed as a default value to a field in the child business component.
Case Study: The requirement is to predefault the Account field in the AMGN SFA Account Professional Affiliation BC with the value of the Name field of the Account BC. Solution: Set the Link Specification property of the Name field in the Account to True.
31Page 1
BC Field Properties
Predefault Value The value used for an empty field when a new record is created The pre-default value for the field is used even when the field is not exposed in the user interface. Postdefault Value The value used for an empty field when the record is initially written to the database. Note:
One can only pre-default system columns in the table level and the values for others should be pre-defaulted in the BC level. These properties are not validated for a calculated field. If both predefault and postdefault values are given for a field then the predefault is stamped.
32Page 1
Join
The join specification object definition is a child of the join object definition. It identifies the foreign key field in the business component and the primary key column in the joined table (that the foreign key points to). Source Field property identifies the foreign key field in the business component. Destination Column property identifies the primary key column in the joined table. NOTE: In rare circumstances, there can be multiple join specifications in a single join. For example, the Sub Campaign business component has a join to the S_LANG table with two join specifications. In such cases the source fields in the join specifications should be based upon the same table. 2006 IBM Corporation 33Page 1
Join
The join constraint is a constant-valued search specification applied to a column during a join.
34Page 1
MVF Properties
Some special properties and restrictions of MVFs are
discussed below.
1)In Siebel 7 we can not make a MVF as required through configuration. This has to be done through scripting. Case Study: The requirement is to set the MVF Role in the XX BC as required. Solution 1: XX BC. Solution 2: Write the following piece of code in the BusComp_PreWriteRecord" of the Through Configuration.
35Page 1
36Page 1
Example: To make MVF field Street Address Required Create a new field with any name: CPC Street Address Calculated value True Value [Street Address] Required True
37Page 1
MVF Properties
2) In general as MVF's can not be predefaulted using the 'Predefault' property on the field object, the workaround is normally a scripting solution. Case Study: The requirement is to predefault the Role MVF in the child BC with the value of the Prof Role field in the parent BC. Solution:
Dim sRole As String Dim oParentBO As BusObject Dim oParentBC As BusComp Dim RoleMVG As BusComp
38Page 1
MVF Properties
Set oParentBO = me.BusObject Set oParentBC = oParentBO.GetBusComp("Contact") sRole = oParentBC.GetFieldValue("Prof Role") Set RoleMVG = me.GetMVGBusComp("Role") With RoleMVG .NewRecord NewBefore .SetFieldValue "Role",sRole .WriteRecord End With Set RoleMVG = Nothing Set oParentBC = Nothing Set oParentBO = Nothing
39Page 1
MVF Properties
3) Multi value fields should be updated only by selecting the records from the MVG Applet and for this PopUp Update property of the MVL is usually set as TRUE. But if these fields are made as editable in the Applet level,error is thrown while updating these. The standard is to make these fields as read only in the Applet level. E.g.,The City,State,Zip,Country,Phone,Fax fields should be populated from the MVG applet of Address.
40Page 1
MVF Properties
4)A multi value field cannot be used as a source field in a join specification of a join. Practical Example: Problem faced : Deletion on Accounts list applet throwing following errorJoin in business component definition 'AMGN Action Team - CE' has source fields that come from tables 'Employee' and 'S_EVT_ACT' (SBL-DAT-00452) Solution:For the Business Component 'AMGN Action Team - CE', the join specification 'Owner' of the join 'S_CONTACT' used the source field 'Owned By Id which was a MVF populated through a MVL Employee.This join specification was inactivated.
41Page 1 2006 IBM Corporation
MVL Properties
No Associate A TRUE or FALSE value. TRUE = Specifies that no associations can be created through the link. New detail records may be added. This property is ignored if the current view is in Admin Mode. Popup Update Only A TRUE or FALSE value. TRUE = Requires that the multivalue group window be popped up for any of the MVG values to be updated.
42Page 1
43Page 1
BC User Properties
1. All Mode Sort. 2. DB2 Optimization Level. 3. Deep Delete. 4. Manager List Mode. 5. Named Method n. 6. On Field Update invoke. 7. On Field Update set. 8. BC Read Only Field. 9. Field Read Only Field. 10. Parent Read Only Field. 11. Sort Field Map n. 12. State Model. 13. Picklist Pre Default Field n
44Page 1 2006 IBM Corporation
TRUE
FALSE
45Page 1
Currently the DB2 connector uses an optimization level of 0 for optimizing client SQL statements.In some cases,certain SQL statements may perform suboptimally using optimization level 0.This user property allows an implementor to change the optimization level of all the SQL statements produced by the given business components. As this setting affects the whole BC,changing it may adversely affect the performance of other SQL statements produced by the same BC.
46Page 1
3.Deep Delete
Normally the Delete option only deletes one level. Deep Delete allows child business components and their respective child business components to be deleted automatically when selecting the Delete option. How to configure? 1 Create a user property for each child BC to be included in the Deep Delete. The child business component user properties are: Name: Deep Delete 1 Value: [Child BusComp Name] Name: Deep Delete 2 Value: [Child BusComp Name]
47Page 1
3.Deep Delete
2 Add a multivalue link in the parent BC for each child BC. 3 Set the No Delete attribute in the MVL to TRUE. TRUE: allows deep delete for child business component FALSE: does not allow deep delete for child business component 4 Create a multivalue field in the parent business component from each child BC, using the multivalue link. This field is usually not displayed on the screen but needs to be present on the business component.
48Page 1
49Page 1
5. Named Method n
This user property allows to invoke a method from a BC or a business service,or set a field value. For setting a field value,the syntax is: [Name], SET, [Field], [Expression] When [Name] is called,the value of [Field] is set using [Expression].
50Page 1
5. Named Method n
For invoking a business component method,the syntax is: [Name], [Action], [BusComp], [Method] When [Name] is called, [Method] is invoked on the [BusComp] business component on the defined [Action].
51Page 1
[MethodName] is invoked on the [BusCompName] business component when [FieldToCheck] is updated.If [FieldToCheck] is not defined,the method is invoked when the user saves the record.
A fourth parameter can be used to define a condition.Then the method is invoked if the condition evaluates to TRUE.
52Page 1
53Page 1
[FieldToSet] is set to [Value] when [FieldToCheck] is updated.If the Value parameter is not defined, [FieldToSet] is set to the value of [FieldToCheck] . An expression can also be used for the Value parameter.
54Page 1
55Page 1
56Page 1
If an account record has been included because that account is a competitor, you do not want users to be specifying that accounts competitors.
Cont..
57Page 1
59Page 1
63Page 1
64Page 1
Value : "field", "'buscomp1.field1','buscomp2.field2',' . . .'" where field is a field on the current business component buscompn.fieldn is a field name on a parent business component
65Page 1
66Page 1
Miscellaneous
Remember! If there is an option between creating a Business Object and a Business Component,then we should always create the Business Object as BO is easily configurable than BC with less overheads regarding maintenance.
NOTE:-These user properties do not function when used in an applet in a view where the view's Admin Mode property is set to TRUE.
67Page 1
View Level
68Page 1
View Properties
Admin Mode Flag If set to TRUE,designates the view as a Admin mode view. Admin mode disables all visibility rules. i.e.,user can see every record. The No Insert,No Merge,No Update restrictions of the Bc are ignored but not of the applet. If this flag is set to True,and if pop-up visibility is also set for the BC,then pop up visibility will still take effect. For an Admin mode view,the Bc visibility type is ignored unless set to Organization. BC user properties are overridden but properties like Read-only still hold good.
69Page 1 2006 IBM Corporation
View Properties
Explicit Login If set to TRUE,it requires that the user has explicitly logged on through the logon web page to see this view. Screen menu If set to TRUE,the view should be included in the screen menu of the application. Secure If set to True,the Siebel web engine will verify that the current request used the HTTPS protocol.This prevents the client from obtaining access to a secure view by typing HTTP instead of HTTPS.
70Page 1
View Properties
Visibility Applet Indicates which of the applets in the view is the one where visibility is controlled.Usually this is the list applet in a list-form view or the master applet in a master-detail view. Visibility Applet Type The visibility mode that will be applied to the applet. Valid values are: All,Catalog,Group,Manager,Organization,Personal,Sales Rep etc.
71Page 1
72Page 1
73Page 1
74Page 1
75Page 1
View
The possible reasons why a view is not visible: The view is not given proper responsibility. The view is inactive. The view is not added as a screen view in the screen or the screen view is inactive. Proper visibility applet and visibility applet type not given for view. The view web template does not support view tabs. The application does not have proper license to use the particular view. The view is not compiled to the correct srf. If the view and its parent screen are in different projects then it is better to compile both.
76Page 1 2006 IBM Corporation
View
Remember! All the views under a screen must be in the same Business object. Or else,the consistency of record is not maintained when we navigate from one view to another. Exception: In case of Admin screens,the views may belong to different BOs.
77Page 1
Screen Level
78Page 1
Screen Properties
Screen-Logical grouping of views.
If the Visibility Applet property of the view is set to null,then the view appears as a view tab. If the Visibility Applet property of the view is not null,then the view appears in the Show: combo box.
79Page 1 2006 IBM Corporation
Screen Properties
Default View-View that the user will see when he clicks on a page tab for a screen. A screen added as a Page Tab in the application is visible as a Screen Tab.
A screen added as a Screen Menu Item in the application is visible in the site map.
80Page 1
Sequence-Specifies the order in which the views will appear. Category-Logical representation of what category the view belongs to. Category Menu Text-The display value that appears within the combo box. Category ViewBar Text-Display text of the view tab under which it appears.
81Page 1 2006 IBM Corporation
Note: The same view may be added in multiple screens.This may lead to ambiguity in certain cases and the correct screen may not be displayed for a view. So it is advisable to inactivate the screen view under the screen which is not needed.
82Page 1
Q&A
83Page 1
Thank You
84Page 1