Siebel User Properties
Prepared By              Reviewed By        Version          Date
      Nagalakshmi B                                  Initial Draft   16/09/2009
Declaration:
I hereby declare that this document is based on my personal experiences and
experiences of my team members. To the best of my knowledge, this document does
not contain any material that infringes the copyrights of any other individual or
organization including the customers of Infosys
TABLE OF CONTENT
1.          SIEBEL USER PROPERTIES               3
2.          PURPOSE OF DOCUMENT 3
1.          COMMONLY USED USER PROPERTIES 4
         i. CanInvokeMethod 4
     II.    POPUP 4
     III. MODE 5
     IV. FORCEACTIVE      5
     V.     ON FIELD UPDATE SET N       5
     VI. ON FIELD UPDATE INVOKE     N   6
     VII. FIELD READ ONLY FIELD 6
     VIII. BC READ ONLY FIELD 7
     IX. DEEP COPY N      7
     X.     DEEP DELETE N 8
     XI. SERVICE NAME 8
     XII. NAMED METHOD 9
     XIII. STATE MODEL 9
     XIV. REQUIRED        10
2.          Appendix     11
      1. Siebel User Properties
                                        Page 1
User properties are object definitions that are added as children to an applet,
business component, control, field, or list column to configure specialized behavior
beyond what is configured in the parent object definition’s properties. Some of the
user properties which belong to Siebel objects are mentioned below.
   1. Applet
   2. Control
   3. List column
   4. Business Component
   5. Field
   6. Business Service
Generally some user properties can have multiple instances on a single business
component. That time we can represent the properties using Name n concept, such
as On Field Update Invoke 1, On Field Update Invoke 2, and so on.
    2. Purpose of Document
This document is mainly to describe the importance of user properties and how one
can overcome scripting by using the user properties.
Scripting is an overhead to Siebel and is the last option to choose for any
requirement. The user property comes under configuration part and it has its own
syntax to be followed which results in less defects and errors .User properties gets
upgraded with the application up gradation automatically. It’s easier than scripting in
certain scenarios. Performance wise user properties are always advisable to
implement.
This document have some user properties along with the descriptions, usage with
examples by which developer can understand the usage and implementation in an
easier manner.
    1. Commonly used User properties
    Applet User Properties:
    i.       CanInvokeMethod
Control User Properties:
Applies to                   Applet
Syntax                       CanInvokeMethod:”Value”
                             Where value supports conditional expressions which
                             evaluates to True or false.
                                    Page 2
Description /usage       Buttons and menu items can be enabled and disabled by
                         means of the CanInvokeMethod. Scripting can be
                         avoided by using this user property.
Example                  1. CanInvokeMethod:DeleteRecord      True
                         2. CanInvokeMethod:Conditional     [Quote
                         Status]<>”Submitted”
                         3. CanInvokeMethod:Conjunctional [Root Quote Item
                         Id] = [Id] AND [Harmonised Flag]='Y'
   ii.    Popup
   Applies to                 Control
   Syntax                     Popup “value”
                              Where value is Applet Name to be popped up .
   Description /usage         which is used to display an applet on click of a button .
   Example                    Popup Template Form Applet
                              The specified applet gets popped up on click of button test.
   iii.   Mode
   Applies to                 Control
   Syntax                     Mode “Value”
                              Where value is type of mode
   Description /usage         Specifies the mode of open
   Example                    1.Mode Base
                              The applet gets openin base /readable mode
                              2.Mode QueryAssitant
                              The applet gets open in Query mode
   iv.     ForceActive
   Applies to                 Control
   Syntax                     ForceActive “value”
   Description /usage         In general the fields are active only when they
                              are exposed on UI otherwise it needs to be activated when
                              required . Other way is to check force active field property
                              on BC to true .But its not good practice as its leads to low
                              performance .We can go with this user property for certain
                              fields which has to be active even though not exposed on UI.
   Example                    ForceActive Y
Business Component User Properties:
                               Page 3
v.     On Field Update Set n
Applies to                    Business component
Syntax                       On Field Update Set n : value
                             [FieldToSet] is set to [Value] when [FieldToCheck] is
                             updated
                             Conditional expression can be used to check value
Description /usage            Field value can be updated on update of other field .
                              Scripting can be avoided by using this user property.
Example                       1. "Status", "Quote", [Hospitality Flag] = 'Y'
vi.    On Field Update Invoke n
Applies to                  Business component
Syntax                      On Field Update Invoke “value”
                              Where value consists of three parameters "[FieldToCheck]",
                              "[BusCompName]", "[MethodName]"
                              You can optionally use a fourth parameter that defines a
                              condition which always invoke the metjod if the condition
                              gets satisfies.
Description /usage            This user property allows to call a business component
                              method on update of specified field.
                              The additional instances of this user property can be used
                              when there is need to call more than one method on same
                              BC.
Example                       1. On Field Update Invoke "Account", "Service Request ",
                              "RefreshRecord"
                              2.On Field Update Invoke "Status", "Quote",
                              "QuoteApproval", "[ Status Code]=""Approved"""
                              Here fourth parameter is the condition evaluation.
vii.   Field Read Only Field
Applies to                   Business Component
Syntax                       Field Read Only Field: “Field Name”
Description /usage            Field can be made readable and editable when ever
                              required.
Example                       Field Read Only Field: Account Name    Status Code Read
                              only
                              Where ”Status Code Read only” is a calculated field which is
                              having the following condition “IIf([ ([Status]='Partially
                              Submitted', "Y", "N")
                              In this way one can use this user property in many manners.
                               Page 4
viii.  BC Read Only Field
Applies to                      Business Component
Syntax                          BC Read Only Field : Value
                                Where value is True or false or field name which evaluates
                                to True or false.
Description /usage              Particular record can be made read only on some
                                condition/check
Example                         BC Read Only Field     Service Request status Read only
                                Where “Service Request status Read only ” is a calculated
                                field having the value as [Service Request status ] =”Closed”
ix.    Deep Copy n
Applies to                      Business Component
Syntax                          Deep Copy “Value”
                                Where value is child business component name
Description /usage              Allows child business components and respective child
                                business components to be copied automatically when
                                selecting the copy option. Normally, copy option only copies
                                one level. This feature allows multiple levels to be copied
                                like a cascade copy.
Example                         One BC having 2 child BCs :
                                Deep Copy Child BC1
                                Deep Copy Child BC2
                                One BC having 3 child BCs :
                                Deep Copy Child BC1
                                Deep Copy Child BC2
                                Deep Copy ChildBC3
Note: There is no need of taking care for grandchild business component as the
child will take care of there respective children in getting copied. For deep copy
one has to create multivalue links and multivalue fields in the parent BC
x.     Deep Delete n
Applies to                      Business component
Syntax                          Deep Delete “Value”
                                Where value is child business component
Description /usage
                                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. This feature allows multiple
                                levels to be deleted like a cascade delete.
                                Page 5
Example                      One BC having 2 child BCs :
                             Deep Delete Child BC1
                             Deep Delete Child BC2
                             One BC having 3 child BCs :
                             Deep Delete Child BC1
                             Deep Delete Child BC2
                             Deep Delete ChildBC3
xi.    Service Name
Applies to                   Business Component
Syntax                       Service Name “Value”
                             Where value is the Business service name
Description /usage           For each of the virtual business components (VBC) driven by
                             XML Gateway business service, this user property needs to
                             be configured to initialize the business service.
Example                      Service name Account VBC Data
                             Where Account VBC data is the Business service
xii.   Named Method
Applies to                   Business Component
Syntax                       Named method “value”
                             Where value is the method name to be called or the
                             workflow name to be invoked
Description /usage           The named method can be used to invoke the business
                             component methods on certain check and even to invoke
                             the workflow .
Example
Note: We can have more than one instance of this user property on a BC .Even
named method can be used as applet and control user property for invoking
workflows on click of button.
xiii.  State Model
Applies to                   Business Component
Syntax                       State Model “Value”
Description /usage           This is used to enable a business component for state
                             models functionality in Siebel Tools. It takes of value true or
                             false.
Example                      1.State Model True
                                      To enable a BC for state model
                             2.State Model False
                              Page 6
                                     To disable BC from State model.
   Field User Properties:
   xiv.   Required
   Applies to               Field
   Syntax                   Required “Value”
                            Where value is field name or may be expression which
                            evaluates to true or false
   Description /usage       Although the field can be made required by making required
                            field property to True , the field user property “Required”
                            allows the user to make a field required depending up on
                            some condition or check .
   Example                  Required
                            Status check
                            Where “status check” is a calculated field having the
                            expression which evaluates to True or false.
                            “IIf([ ([Status]='Submitted', "Y", "N")
   2. Appendix
Documents referred:
   1. Siebel bookshelf
   2. Support web
                            Page 7