Business Components

A business component is a logical representation of one or more tables. Business components provide the foundation for controlling how data is selected, inserted, and updated in underlying tables. The information stored in a business component is usually specific to a particular functional area, such as a product, a contact, or an account. This information may or may not depend on other business components. Business components can be included in one or more business object definitions. They can have default sort or search specifications that allow you to expose records in the user interface in a predetermined sort order and according to a set of selection criteria. Multiple users can instantiate copies of the same business component. Data changes made by any one user are reflected in all instances of the business component. The main data for a business component comes from a base table and one or more joined extension tables. For example, the Account business component is based on the S_PARTY table, but most of the data retrieved by the business component is stored in the joined extension table, S_ORG_EXT.

Business Components Include Data From Base Tables
Each standard business component has a base table assigned to it. For non-party business components the base table provides the most important columns for use as fields in the business component. The base table is assigned to the business component with the Table property in the Business Component’s object definition. Fields in the business component map to columns in the base table.

Configuring Data-Driven Read-Only Behavior
Business components and fields can be configured as dynamically accessible, with their readonly status turned on and off depending on the value in a particular field in the current record. This is accomplished using one of the following business component user properties, depending on the requirement:

BC Read Only Field
This user property specifies a Boolean field that, when TRUE, causes all fields in the current record to become read-only. This also prevents the user from updating or deleting the record, but does not prevent the addition of new records to the business component. The Name and Value properties in the user property record are specified as follows: ■ Name. Contains the literal text BC Read Only Field. ■ Value. Contains the name of a field in the same business component as the parent object definition of the user property. This field must be a TRUE or FALSE field.

An example of the use of BC Read Only Field is the situation in which you need to prevent users from updating inactive accounts. The Inactive Account field in an account record is a TRUE or FALSE field that, when TRUE, indicates that the account is inactive. To configure dynamic read-only behavior for the Account business component based on this field, add a business component user property child object definition to the Account business component, with the following property settings: ■ Name. BC Read Only Field. ■ Value. Inactive Account.

Field Read Only Field
This user property is similar to BC Read Only Field, in that it tests the field specified in the Value property and enforces a read-only restriction when the test field has a value of TRUE in the current record. However, unlike BC Read Only Field, the Field Read Only Field user property restricts one field in the same business component, rather than the entire business component record. The Name and Value properties in the user property record are specified as follows: ■ Name. Contains an expression in the following format: Field Read Only Field: fieldname For example: Field Read Only Field: Account Status Note that there is only a single space between the colon and the field name. ■ Value. Contains the name of the test field. This is a TRUE or FALSE field in the same business component as the parent object definition of the user property. One Field Read Only Field user property must be created for each field you want to make conditionally read-only. An example of the use of Field Read Only Field is the situation in which you want to make the Competitor field in an account record read-only when the Type field has a value of Competitor. In other words, if an account record has been included because that account is a competitor, you do not want users to be specifying that account’s competitors. The following procedure describes how to accomplish this.

To restrict the Competitor field in an account based on the account’s type 1 Navigate to the Business Component object type in the Object Explorer, and then to the
Account object definition in the Object List Editor. 2 Create a calculated Boolean field in this business component that will have a value of TRUE when the Type field has a value of Competitor. For purposes of the example, the name of this test field can be Competitor Calc, although the name is unimportant as long as it is referenced correctly in the user property. 3 In the calculation property of the Competitor Calc field, enter the following value: IIf([Type] = "Competitor", "Y", "N") 4 Expand the Business Component object type in the Object Explorer, and select the Business Component User Prop object type. Click the Object List Editor to make it active, and then add a record. 5 Set the following values in the new Business Component User Prop object definition:

like BC Read Only Field. if the child record is displayed in the multivalue field in the parent business component. rather than a single target field. In the other user properties. Contains the literal text Parent Read Only Field. Parent Read Only Field is used primarily to restrict the detail records in a multivalue group. Parent Read Only Field ■ Value. However. The Name and Value properties in the user property record are specified as follows: ■ Name. that is.fieldname where fieldname is the name of the test field. The behavior of Parent Read Only Field: buscompname is similar to that of . Parent Read Only Field: buscompname This user property allows a child business component to have TRUE/FALSE tests on multiple parent business components. To accomplish this. and then add a user property to the Business Address business component with the following values: ■ Name. Account. it is not necessary to have the Link Specification property of the field set to TRUE. the TRUE or FALSE field to be evaluated.■ Name. the test field must have its Link Specification property set to TRUE. The business component containing the test field must be a parent of the restricted business component by way of a link or series of link relationships. An example of the use of this user property is the situation where you want to disable the update of the Account Address multivalue group when the account record has a Type of Competitor. you add the same calculated field as in the Field Read Only Field example. this user property is used to place a restriction on a child business component of the business component containing the test field. places a read-only restriction on an entire business component. or on another field in the same business component. but in that case you need to make sure that the restricted business component is not also used in the context of some other business object than the intended one. ■ Value. Field Read Only Field: Competitor ■ Value. and buscompname is the name of the business component in which the test field is located. Contains an expression in the following format: buscompname.Competitor Calc This causes the Account Address multivalue group to be read-only when the account record is for a competitor. Competitor Calc Parent Read Only Field This property. NOTE: When using the Parent Read Only Field user property. Otherwise the dynamic read-only functionality does not work. It could also be used to restrict the detail records in a master-detail view.Inactive Account The business component to be conditionally restricted is the one to which you add the user property as a child object definition. For example: Account. the read-only restriction is placed on the business component containing the test field. This restriction occurs when a TRUE or FALSE test field has a TRUE value. However. unlike BC Read Only Field and Field Read Only Field.

When the calculated value of the specified field evaluates to TRUE or Y. Implicit joins usually use the table name as the Join Alias. . Implicit joins exist for the following: ■ All 1:1 (_X) extension tables and all relevant intersection tables. Unlike joins that you define in Siebel Tools. (However. S_POSTN. the source field—Oppty Id—for the join is populated. About Implicit Joins Implicit joins exist as part of the Siebel object architecture. 3 Add the two fields to the Opportunity Product applet. For example. These implicit joins are used to map data to party business components.Parent Read Only Field. This relationship allows the business component to use columns from the other table. They are not explicitly defined using Siebel Tools. if you were to add a field to the Account business component and then selected the Join property. specifies the parent business component. About Joins A Join object definition creates a relationship between a business component and a table other than its base table. 2 Define two new fields based on the join to show Opportunity Sales Stage and Name. The following procedure uses the Opportunity Product business component as an example. You can use a predefault value for a joined field to show the field value immediately as the new record is being inserted. rather than its value. NOTE: Set the Outer Join Flag to TRUE if you want to retrieve all the records in the business component even when the joined fields are empty.JoinedField'. b Note that the joined fields are not populated until you requery the applet. ■ Extension tables of S_PARTY. S_CONTACT. you would see several implicit joins that do not appear in the Join list displayed in the Tools Object List Editor. 4 Compile and test using the standard Opportunities—Products view. To use a predefault value for a joined field 1 Define a join to S_OPTY in the Opportunity Product business component. a Add a new Product for an Opportunity. even though the two tables do not necessarily have a one-to-one relationship. the child business component becomes read-only. you cannot use a predefault value in the regular way as a default field value if nothing is specified when a record is inserted. but its name. Using a Predefault Value for a Joined Field Because a joined field cannot be updated. including joins with an alias of S_ORG_EXT and S_USERs.) 5 Set the Predefault properties of the new fields to Parent: 'ParentBusinessComponent. users can update the columns from implicit joins. The join uses a foreign key in the business component to obtain rows on a one-to-one basis from the joined table. and S_USER. such as S_ORG_EXT.

The foreign key reference is removed if the master record is deleted. sometimes these foreign keys will be converted to say “No Match Row Id. as it may have other parents. but the detail records remain in place. the value in the foreign key column is cleared. the user is left with row IDs which point to nonexistent records. In the case of multivalue groups. and you do not need to requery the applet to see them. 7 Compile and then add a new product for an Opportunity. use CLEAR instead. Take special precautions when determining this property.Name' and predefault Opportunity Sales Stage with Parent: 'Opportunity. When you delete a record which is pointed to by foreign keys of other tables.” Using the Check No Match Property with a Primary Join . the references to it may or may not be deleted. This is the default setting. The detail records are deleted along with the master. in which one record of the master business component displays with many detail business component records that correspond to the master. 6 Set the Link Specification property of the joined fields (Name and Sales Stage) in the parent business component to TRUE. ■ None. The Link object type makes master-detail views possible. Do not use DELETE if the child business component in this link is also a detail business component in another link. The Cascade Delete property can be set to the following values: ■ Delete. The joined fields are populated immediately. In this case. This is most appropriate for values stored on _XM tables where the only related record is the parent record. If set incorrectly. Siebel applications will automatically delete the intersection record but will leave the child record intact. No records are deleted and the foreign key column is not cleared. it may cause data integrity issues or orphaned records. About Links A link defines a one-to-many (or master-detail) relationship between two business components.Sales Stage'. If those references are not deleted. This is most appropriate for child values that might be shared with other parent records. However. Cascade Delete is not available for many-to-many links. predefault Opportunity Name with Parent: 'Opportunity. About the Cascade Delete Property The Cascade Delete property determines whether a child record is deleted when the parent record is deleted. With a many-to-many link.For example. ■ Clear.

A Check No Match setting of TRUE can have serious negative performance consequences. the TRUE setting is the appropriate one. If the secondary query finds a matching detail record. In such cases. or to a special value of NoMatchRowId. account addresses might actually be inserted by means of the Business Address multivalue group on the Contact business component instead of the Address multivalue group on the Account business component. the Siebel application will perform a secondary query whenever the outer join on the primary fails. the application leaves the existing value intact. If a multivalue group is sparsely populated (that is. much in the same way that using a primary join improves performance. if records can be added to the detail business component through EIM. Check No Match should be set to FALSE for most multivalue links because of the performance consequences. This setting has the following results: ■ When the application encounters a master record where the primary foreign key is NULL or invalid. thereby improving performance. it updates the foreign key with that record’s row ID. or Auto Primary is set to NONE. ■ When the application encounters a master record where the primary foreign key has the value “NoMatchRowId. depending on your requirements. If no matching child record is found.” this indicates to the system that there are no detail records in the multivalue group and the secondary query is not performed. If it finds there are no detail records. or is set to NULL or NoMatchRowId. Also. If CheckNoMatch is .When a multivalue link has been configured with a primary join—which is the typical situation—there are circumstances in which the foreign key used by this join to identify the primary record is unable to find the primary. it will be almost as slow as not having a primary join at all. it performs a secondary query to determine if there are detail records in the multivalue group. For example. and has performance consequences. most master records do not have any detail records in the multivalue group) and has Check No Match set to TRUE. this can happen when the primary record has been deleted from the multivalue group or the multivalue group is newly created and has no records. the multivalue link can be configured to update the primary foreign key to a value of NULL. For example. The Use Primary Join property should be set to TRUE if CheckNoMatch is TRUE. The purpose of the special NoMatchRowId value is to prevent secondary queries on foreign key values that are known to have failed. provided the MVL has an Auto Primary property setting of DEFAULT. This behavior is configured through the Check No Match property of the Multi Value Link object type. it sets the primary ID field to the special value NoMatchRowId. It should only be set to TRUE if the multivalue group could possibly have records added to it without going through the MVG itself. If you set Check No Match to TRUE. The NoMatchRowId generating and testing behavior is activated by setting Check No Match to FALSE for the MVL.

Configuring the Primary ID Field The Link and Multi Value Link object definitions have a set of properties that you can use to specify to the system how to obtain the record ID of the first record to display of the detail table each time the master record changes. The primary record. is that it converts a one-tomany relationship into a one-to-one relationship. The Account Address Mvg Applet displays the corresponding multivalue group. The basic concept behind a primary ID is that it is faster for a Siebel application to retrieve one primary record from the MVG business component through a join than retrieve all of them through a subquery—especially because users can see values from only one child record until they open up the MVG applet. Each time there is a different account record displayed. Use Primary Join. but may be referenced by a list column for this purpose. the list column that displays the check mark (indicating the primary or nonprimary status of each record) obtains its data from a system field called SSA Primary Field. For example. This field does not appear in the Object Explorer or Object List Editor.set to TRUE and Use Primary Join is FALSE. The properties of Link or Multi Value Link object types used to implement a primary ID field are as follows: ■ Primary ID Field. The benefit of using a primary ID. This property specifies the name of the field in the master business . This substantially improves performance. from the system’s standpoint. 2 Create a field based on that Primary Id column. in the Account business component the primary ID field for the Address multivalue group is called Primary Address Id. especially in list applets. the multivalue fields for the Address load the primary Business Address record’s values only. complete the following procedure. NOTE: In a multivalue group applet. Together they implement the primary ID field. set the Primary Id Field attribute to the new Primary Id field. then the Siebel application will always do the secondary query to find the child records. has its row ID stored in the Primary Address Id field in the account record. It is not necessary to query the Business Address business component for multiple rows. This can be a significant performance enhancement. and Auto Primary. This allows the row retrieval process to be simplified from a query with subqueries to a simple join query. To configure a primary field for a 1:M or M:M relationship 1 Create a Primary Id column. 4 Set the Use Primary Join attribute to TRUE. indicated with a check mark in the list column labeled Primary. To create a primary field for a one-to-many or many-to-many relationship. These properties are Primary Id Field. especially when the user is scrolling through the records of a list applet that displays the master. 3 In a Multi Value Link object.

a Set the Business Component property of the parent picklist to Picklist Hierarchical.” This is because the Primary ID field is automatically updated through the system field ‘SSA Primary Field’. ■ Auto Primary. the primary selection is defaulted. NOTE: If the destination business component of the Multi Value Link object is read-only. ■ NONE. such as for testing. if so. The first record automatically becomes the primary. These multivalue links exist under both the Order and Account business components. use a read-only control or list column. In this case. If FALSE. SELECTED. if this business component is read-only. NOTE: Do not display primary ID fields in the user interface. When the Auto Primary property of a Multi Value Link object has a value of SELECTED. the field is read-only as well and cannot be updated. 2 Go to the business component that contains the fields that you want to associate the hierarchical picklists with. the primary detail record is obtained for each master record through a join on the primary ID field. which belongs to the destination business component.component that holds the row ID values pointing to primary records in the detail business component. This property setting determines how row ID values are populated in the primary ID field. b Set the Business Component property of the child picklist to PickList Hierarchical Sub-Area. The Use Primary Join property is a TRUE or FALSE property that turns the Primary Join feature on or off. it will check to see whether one of the addresses has already been selected as primary for the Ship To address and. . an example of the desired behavior is as follows: if a primary is not set for the Bill To address. ■ SELECTED. The user can manually select the primary. “This operation is not available for a read-only field ‘SSA Primary Field’. Additionally. Configuring a Hierarchical Picklist To configure a hierarchical picklist 1 Configure a parent and a child picklist. If you wish to expose primary ID fields on the UI. it will SELECT (that is. you may receive the following error message. The highlighted record becomes the primary when the user views the multivalue group applet and then exits. or NONE as follows: ■ DEFAULT. SELECTED only pertains when there are several multivalue links pointing to the same detail business component. set) that address as the primary for Bill To address as well. The possible values for Auto Primary are DEFAULT. Exposing primary ID fields using an editable control or list column on an applet causes the update of the primary from the MVG applet not to be triggered. the detail table is queried again with each master record change. based on a system-supplied list column labeled Primary in the multivalue group applet. ■ Use Primary Join. This is the case for the Bill To Business Address and Ship To Business Address multivalue links in a standard Siebel Sales application. if at all. setting read-only properties at the applet level still does not force the SSA Primary Field to be readonly. Auto Primary determines how. The user must specify the primary manually. If TRUE. then when the Siebel application does a separate query to bring back all addresses associated with the account (or order).

Party Data Model The S_PARTY table is the base table for all of the partiesPerson (Contact). Division. households and other legal entities. 3 Compile changes to a repository file. Household. and Access Group. This covers relationships between your company and people (contacts. and Household. Certain parts of the data model use the Party model to abstract the difference between people. However. users) and other businesses (accounts. Siebel data access technology makes use of the Party model. Partner Organization. Along with the party type. User List. Position. divisions. Employee. use S_PARTY_REL. A party always represents a single person or a group that can be translated into a set of people such as a company or a household. Partner User. use S_PARTY_PER to implement relationships between members: ■ Access groups and members . partner employees. Account. employees. Position. create the following Pick Map objects. Which one you use depends on whether or not you need to enforce access control. Field picklist field constrain Field PickList Field Constrain [name of parent field] Parent TRUE [name of child field name] Value Leave blank. such as when implementing a recursive M:M relationship between a party business component and itself. Records in S_PARTY_PER propagate data access rights from the parent to the child parties. extension tables provide the primary differentiation between the different parties. Use S_PARTY_PER when implementing M:M relationships between two party business components where you need to define access control.a Set the Picklist property of the parent field to the parent picklist. Because these extension tables are implicitly joined to S_PARTY. partners). Related tables are implicitly joined as extension tables. such as Account and Contact. the value of the PARTY_TYPE_CD column denotes the party type. Two preconfigured intersection tables (S_PARTY_PER and S_PARTY_REL) implement M:M relationships between party business components. Organization. For each party record stored in the S_PARTY table. Therefore. companies. they are available through S_PARTY. 4 Add LOV values using the Parent LIC column to designate the parent value. c Set the PickList property of the child field to the child picklist. User. d For the child field. For example. Organization. when implementing M:M relationships where you do not need to enforce access control. The party model organizes entities such as Person. organizations. b Set the Immediate Post Changes property of the parent field to TRUE. The base table for all such access is S_PARTY. it is important to minimize the number of rows in S_PARTY_PER to maintain good response times in visibility-constrained queries.

and so on. S_CONTACT is an extension table of S_PARTY. The employee or partner user is automatically associated with one division and one organization at a time—the division and organization associated with the active position. associations of parties of type Person with other types of parties are stored using the S_PARTY_PER table. accounts are associated with contacts. ■ Every position is associated with a division. organizations. Person (Contact) Data Model . ■ A division. Because S_CONTACT is of type Extension (Siebel). ■ Divisions. create a Join object (explicit join) to bring in data from the new extension table to the business component you are using. The relationship between these two accounts can be stored in the S_PARTY_REL table. such associations are stored using the S_PARTY_REL table. users. For example. ■ Every division is associated with one organization: either itself or the closest ancestor division that is also an organization. you need to create an extension table from S_PARTY. it can be stored in the S_PARTY_REL table. You must create an extension table and use S_PARTY as the base table. The position is then also automatically associated with one organization: the organization with which the division is associated. How Parties Relate to Each Other Parties have some required relationships. For example. For example. and accounts are instances of the Organization party type. ■ Persons (contacts). To display data from the new extension table. internal or partner. For example. ■ For purposes of storing ad hoc. Assuming that your application provides the capability to define this relationship. is also an organization if its internal organization flag is TRUE (INT_ORG_FLG = “Y”) and it has an associated S_BU record. ■ Ad hoc and informational relationships between parties are stored in the table S_PARTY_REL. as described below. ■ For purposes of granting visibility to data. ■ Typically. informational relationships between parties. assuming that your application has been configured to define these relationships.■ Accounts and contacts ■ Employees and positions ■ User lists and users If you need to extend tables in the party model. a company and its accounting firm may both be stored as accounts. A user associated with a position can see data for accounts or opportunities assigned to the position (when this is the active position). a company and its accounting firm may both be stored as accounts. you cannot use it as a base table for an extension table. employees. you associate each employee and partner user with one or more positions. users are associated with positions. partner users are instances of the Person party type. The employee or partner user has only one active position at one time. Relationships stored in S_PARTY_REL also affect data routing for mobile users.

Division Data Model the base table and extension table (S_ORG_EXT) that define a Division.the base table and extension table (S_CONTACT) that define a Person. An Employee is a User with the following added qualities: ■ S_EMP_PER provides employee data for this user. ■ The S_PER_RESP intersection table (not shown) specifies a responsibility for this user. or Contact . ■ It is possible to promote a contact to a user. then the employee is a partner user. adding a User ID value for a person in the All Persons view in the Administration . For example. Organizations. the flag INT_ORG_FLG = Y specifies that a division is an internal organization. sometimes known as a business unit. ■ If the organization to which the position belongs is not a partner organization.A Person is the simplest representation of an individual in the database. but has a record in the .User screen causes the person to appear as a user in the Users view. ■ A position defined using the S_POSTN table is typically (but not necessarily) associated with an employee. Employee Data Model the base table and extension tables (S_CONTACT. (For an account. and S_EMP_PER) that define an Employee. ■ If the organization is a partner organization.) Organization Data Model the base table and extension tables (S_ORG_EXT and S_BU) that define an Organization An Organization. User Data Model the base table and extension tables (S_CONTACT and S_USER) that define a User. In S_ORG_EXT. this flag is set to N. Divisions. and Partner Organizations share many of the same data model elements. S_USER. Internal Employees and Partner Users are each represented as Employee records. is also a Division.) (Accounts. then the employee is an internal employee. A User is a Person with the following added qualities: ■ The S_USER table contains a login for this user.

and S_ORG_PRTNR) that define a Partner Organization A Partner Organization is the same as an Organization but the flag PRTNR_FLG in S_ORG_EXT qualifies it as a Partner Organization. Partner Organization Data Model the base table and extension tables (S_ORG_EXT. The result is not typed correctly but is always of type String. NOTE: If there is no parent business component. The parent business component field must be exported by using Link Specification = TRUE. pure numeric row ID in the Service Request business component. S_BU. field. The multivalue group is associated with the business component of the field being evaluated. Min ([mvfield]) Returns the minimum value from a field in child records. the error “No active link” is returned. Functions Used in Calculation Expressions Count (“mvlink”) Returns the number of rows in the multi-value group defined by the MVL mvlink. Opportunity). or list column to configure specialized behavior beyond what is configured in the parent . You must define the child record being examined as a multivalue field that is part of a multivalue group. Max ([mvfield]) Returns the Maximum value from a field in child records. control. For example: Max ([Number of Employees]) gives the maximum number of employees of all the locations. ParentFieldValue (field_name) Returns the value of the field_name field in the parent business component. ParentBCName () Parent (master) business component name for active link (for example. The multivalue group is associated with the business component of the field being evaluated. business component. RowIdToRowIdNum ([Id]) Converts an alphanumeric row ID to a unique. About User Properties User properties are object definitions that are added as children to an applet.S_BU table. the result does not change if the parent row is updated. Sum ([mvfield]) Sums the values from a field in child records into a field in a parent record. The child record being summed from must be defined as a multivalue field that is part of a multi-value group that is associated with the business component of the field being summed to. You must define the child record being examined as a multivalue field that is part of a multivalue group. For example: Min ([Number of Employees]) gives the minimum number of employees of all the locations. Also. or if the parent business component has not yet been instantiated (such as in a script).

0. Name CanInvokeMethod: MethodName Value Value or expression that returns TRUE or FALSE . you set it as an application user property in Siebel Tools.object definition’s properties.My Company (eSales) PDQDisabledView2 = Order History Summary View (eSales) PDQDisabledView3 = Order Confirmation View (eSales) PDQDisabledView4 = Order Approval View (eSales) PDQDisabledView5 = Saved Quotes View (eSales) PDQDisabledView6 = Saved Quotes View . Some of the predefined property values include: PDQDisabledView0 = Order History View (eSales) PDQDisabledView1 = Order History View .cfg file. such as buttons. declaratively at the applet level. It is easier to use than PreCanInvokeMethod scripting and in many cases can be used instead. These user properties belong to the following Siebel object types: ■ Applet ■ Application ■ Assignment ■ Business Component ■ Business Service ■ Business Service Method Arg ■ Control ■ Field ■ Integration Component ■ Integration Component Field ■ Integration Object ■ List Column ■ View ■ Virtual Business Component PDQDisabledViewn This user property allows you to disable the Predefined Query (PDQ) dropdown for the view name defined for the property. Value Name of the view for which you want to disable the Predefined Query (PDQ) dropdown. you no longer set this property in the application . Parent Object Type Application Functional Area Query CanInvokeMethod: MethodName This user property allows you to enable and disable methods. NOTE: As of release 8.My Company (eSales) PDQDisabledView7 = Saved Quote Detail View (eSales) PDQDisabledView8 = Quote Summary View (eSales) Usage This user property is used to disable the Predefined Query (PDQ) dropdown for the view name defined for the property. instead.

You can also create new instances of this user property as needed. For setting a field value. In either case. the value of Field is set using Expression. and their subclasses Default Applet Method The Default Applet Method user property specifies the method that is executed when the user presses the Enter key in the applet. "Expression" When Name is called. You can inactivate and modify values for this user property. Copy Record on the Partner Product List Applet is disabled by default: ■ Name: CanInvokeMethod: CopyRecord ■ Value: N You can inactivate or modify the value for this user property. For invoking a business component method. For example. but only one such user property on each applet. before a user interacts to dynamically change the field or control with focus. It can be used in place of scripting. ■ The application may try to adjust the vertical position of the view to try to show the in-focus field or control. one of two things may happen: ■ The user may not know where focus is. or set a field value. Value The value of this user property must be the name of a method that is accessible from the applet. as follows: "Name". as follows: . You can also create new instances of this user property. Parent Object Type Applet Functional Area CSSFrame. CSSFrameList. Named Method n (Applet) This user property allows you to invoke a business component or business service method. Value The value you provide for the Named Method user property depends on the action you want to perform. "Field". This user property is provided to allow overriding the field or control that receives default focus as determined by the applet’s mode.Usage This user property is used to enable and disable methods declaratively. "SET". CAUTION: If you set default focus to a field or control that is off the screen. Usage The method specified in this user property is executed when the Enter key is pressed. the behavior may be disruptive to end users. Parent Object Type Applet Functional Area CSSSWEFrame DefaultFocus User Properties These applet user properties set the field or control within an applet that receives focus by default— that is. the value consists of four quoted parameters separated by a comma and a space. The modes in which an applet can be deployed are defined in Object Explorer > Applets > Applet Web Templates. the value consists of three quoted parameters separated by a comma and a space.

"Action"."Name". so you can survey your customers even if a service request has been resolved. then no number is required. "Service". If you have more than one instance of this user property for a business component. You can create additional instances of this user property as needed. Method is invoked on the BusComp business component based on the defined Action. For a list of actions. You can optionally append an additional parameter that defines an expression. as follows: "Name". see Table 16 on page 94. For a list of actions. '"RowId"'. "Method" When Name is called. or updated. The Named Method n applet user property can be used to invoke methods in a certain order. Named Method 1. Method from the Service business service is invoked on the BusComp business component based on the defined Action. including user properties. 'Run Process'. for example when records are created. and then invokes a workflow process to update the legacy system. "Method" When Name is called. For invoking a business service method. "BusComp". 'INVOKESVC'. and so on). 'WriteRecord'. see Table 16 on page 94. to allow you to implement automated responses to data changes without the need to use custom scripts. the Named Method n applet user property can be used to update a legacy system with new Account records after a new record is created in the Siebel application. the value consists of five quoted parameters separated by a comma and a space. Within the Siebel Application there is standard functionality. If there is only one such user property. ■ Named Method 2: WriteRecord ■ 'INVOKE'. Always Enable Field n This user property allows fields in a closed service request to be updated. 'Workflow Process Manager'. '"Account . It first commits the record in the Siebel application. so you must use name-value pairs rather than an array of strings (“NameExpr”.'[Id]' This user property is supported for applets based on the CSSFrameBase and CSSFrameListBase classes. named Always Enable Child: Customer Survey. '"ProcessName"'. See also “About Setting Numbered Instances of a User Property” on page 78 and “Named Method n (Business Component)” on page 143. Usage Sometimes it is necessary to trigger actions in response to data changes.New Order"'. "BusComp". CSSFrameListBase Always Enable Child: buscompname This user property allows you to specify whether a child business component of a service request can be updated after the service request is closed. For example. If you use a business service action. deleted. “ValueExpr”). the expression is passed as a property set. . The response can be required to be triggered before or after the date change has been applied. "Action". The user property for the Service Request business component. then Named Method 2. Usage Closing a service request does not prevent updates to the child Customer Satisfaction business component. Value TRUE Specifies that child business components of service requests can be updated when the service request is closed. allows you to enable and disable customer surveys. Parent Object Type Applet Functional Area CSSFrameBase. each instance is executed sequentially by number (for example.

add No Clear Field 1 and No Clear Field 2 user properties to a business component to specify two different fields whose values cannot be set to NULL. the Sub-Status field is updated to Resolved. You can also create new instances of this user property as needed. You can inactivate and modify values for this user property. when a user sets the Status field on a service request to Closed. not enclosed in quotes. Usage In standard Siebel applications. Append the numeric suffix to differentiate between multiple instances on a business component. The record becomes read-only except for the Status and Sub-Status fields. Value The value of this user property must be the name of a field in the business component. Parent Object Type Business Component Functional Area Service Request No Change Field n This user property disallows changing a field’s value after the record is committed. Value The value of this user property must be the name of a field in the business component. Usage This property can be specified with or without the numeric suffix. Parent Object Type Business Component Functional Area Various No Clear Field n This user property disallows setting a field’s value to NULL. add No Change Field 1 and No Change Field 2 user properties to a business component to specify two different fields which cannot be changed after a record is committed. For example. You can also create new instances of this user property as needed.You can allow updates to other business components by adding user properties to the Service Request business component and substituting the appropriate business component name for Customer Survey. NoDelete Field This user property allows you to restrict the deletion of records based on the value of the specified field. This behavior is controlled by the specialized business component class CSSBCServiceRequest. not enclosed in quotes. You can also create new instances of this user property as needed. You can inactivate or modify the values for this user property. Parent Object Type Business Component Functional Area Service Request Value The name of the field you wish to keep updatable. use the Always Enable Field n user property. You can inactivate or modify the values for this user property. NOTE: Another way to make a closed service request and its child business components accessible for additions and edits is to change its status to Open. To allow fields to be updated after the service request is closed. Usage This property can be specified with or without the numeric suffix. Parent Object Type Business Component Functional Area Various . Append the numeric suffix to differentiate between multiple instances on a business component. For example.

"FieldName". On Field Update Invoke 1. Usage When you specify a field in this user property. If you have more than one instance of this user property for a business component. the Employee Flag field is set to Y when the condition is TRUE. the method is invoked when the user saves the record. "Employee Flag". You can modify the value for this user property and create new instances of it. If you define a condition. "Y" In this example. For example. the business component does not allow records to be deleted that have a value of Y in the specified field. then On Field Update Invoke 2. “[MethodName]” [MethodName] is invoked on the [BusCompName] business component when [FieldToCheck] is updated. If [FieldToCheck] is not defined.Value The value of this user property must be the name of a field in the business component. a record on the Contact business component cannot be deleted if NoDelete Field has a value of Protect Internal Employee Flag and the value of the Protect Internal Employee Flag field in the record is Y. For example: "[Primary Held Position Id] is not null and [Primary Held Position Id] <> ""No Match Row Id""". You can optionally use a fourth parameter that defines a condition. the Asset Mgmt . Parent Object Type Business Component Functional Area CSSBCUser Value The value of the On Field Update Invoke user property consists of three quoted parameters separated by a comma and a space. they are executed sequentially by number (for example. “[BusCompName]”. then no number is required. FieldName specifies the name of the field on the business component. On Field Update Invoke n This user property allows you to invoke the specified business component method when a field is updated. "FieldValue" Condition specifies the condition to be evaluated. If there is only one such user property. separated by a comma and a space. the method is only invoked if the condition evaluates to TRUE. but you cannot create more than one instance for a business component. Value The value for the On Condition Set Field Value user property consists of three quoted parameters. as follows: "Condition". See also “About Setting Numbered Instances of a User Property” on page 78. and so on). Usage When the specified condition evaluates to TRUE. You can also create new instances of this user property as needed. Usage You can create additional instances of this user property as needed. You can also inactivate this user property. For example. as follows: “[FieldToCheck]”. Parent Object Type Business Component Functional Area CSSBCBase On Condition Set Field Value This user property allows you to specify the value of a field to be set under a specified condition. the specified field (FieldName) is set to the specified value (FieldValue). You can inactivate or modify the values for this user property.Asset (Order Mgmt) business component has four such user properties: . FieldValue specifies the value.

When the Quantity field in the Asset Mgmt . "Asset Mgmt . In the following example. FieldToSet is set to the value of FieldToCheck. "Email Address". it must evaluate to the data type of the targeted field. then FieldToSet is updated only if Condition evaluates to TRUE.Asset". "CopyXA" NOTE: The empty quotes followed by the comma are necessary. In this example. "Done". "ToChar([Agreement Start Date]) + [Agreement Type]" . The field FieldToSet is set to Value when the field FieldToCheck is updated.com" on the Contact business component.Asset". "my@oracle.Asset".Asset business component.■ On Field Update Invoke "Product Name". If the Value parameter is not defined. "Asset Mgmt . if FieldToSet is a multivalue or calculated field.Asset". "FieldToSet".Asset (Order Mgmt) business component is updated. "Asset Mgmt . This user property does not recognize changes to a multivalue group field.Asset (Order Mgmt) business component is updated. the CopyXA. it does not update when FieldToCheck is updated. where no [FieldToCheck] is specified. the CopyXA method is invoked on the Asset Mgmt . Value The value of the On Field Update Set user property consists of three quoted parameters separated by a comma and a space.Asset business component. For example. the Done field is set using an expression when the Done Flag field is updated: "Done Flag". "Value". "GeneratePartNumber" ■ On Field Update Invoke 2 "Product Name". "SaveCxProd" ■ On Field Update Invoke 3 "Quantity". Parent Object Type Business Component Functional Area CSSBCBase On Field Update Set n This user property allows you to set the value of a field in the business component when another field is updated. "Name". "Condition" where Value and Condition are optional parameters. "IIF ([Done Flag] = "Y". Usage The Value parameter may be an expression.Asset business component when the user saves the record: ■ On Field Update Invoke "". If the Condition parameter is defined. as follows: "FieldToCheck". ■ Do not define FieldToCheck as a field on a multivalue group. "Asset Mgmt . "CopyXA" ■ On Field Update Invoke 1 "Product Name". Today (). the SetExtendedQuantity method is invoked on the Asset Mgmt . Use the following guidelines when using this user property: ■ Do not use this user property to set a multivalue or calculated field. "")" NOTE: If you use an expression. "SetExtendedQuantity" When the Product Name field in the Asset Mgmt . That is. if On Field Update Set has the value "Primary Address Id". "Asset Mgmt . GeneratePartNumber. it fails to update Email Address when the primary on the multivalue group Street Address is changed. including changing the primary field by changing the primary record of a multivalue group.Asset". "Agreement Start Date". the ToChar function is used to convert the date to a string before concatenating with another string and setting the value of the field. In the following example. and SaveCxProd methods are invoked on the Asset Mgmt .

The following example shows how the Condition parameter is used.Account Name'. "Revenue". [Address Name])" Similar numbered instances of the user property are used to update the Address Name field when the street address or state are updated. If you have more than one instance of this user property for a business component. the opportunity’s Account and Account Id fields can be defaulted to the corresponding field values on the parent record by adding the following user properties to the Opportunity business component: ■ Picklist Pre Default Field 1 with value "Account". If there is only one such user property. "[IsParentBCRevn] = 'N'" Various address business components. based on the Action business component ■ Comm Outbound Item Form Applet.' . . 'Comm Outbound Email. the list of buscompn. based on the Comm Outbound Email business component When a new opportunity is created from the picklist in either context. "'buscomp1. This field is updated.'buscomp2. city. The Revenue field of the Opportunity business component is set when the Primary Revenue Amount field is updated.Account Name'" .fieldn entries is enclosed in double quotes. In addition. . a new opportunity can be created through an Opportunity picklist in each of the following applets: ■ Activity Form Applet. such as Opportunity. populate their Address Name field with a concatenation of street address. through a picklist for the child business component. or state are updated. "'Action.field2'. [Calculated Address Name]. by using a few On Update Field Set instances and the value of a calculated field whenever the street address. the user may be able to create a new record of a child business component. they are executed sequentially by number (for example. Append the numeric suffix to differentiate between multiple instances on a business component. For example. city. add Picklist Pre Default Field 1 and Picklist Pre Default Field 2 user properties to a business component to specify two different fields that assume default field values from the parent business component. then no number is required. The Picklist Pre Default Field user property is used to default fields on the new record of the child business component to field values from the parent business component record.field1'. "[Primary Revenue Amount]". an On Update Field Set user property with the following value is used: "City". For example. when the city is updated. For example. Value "field". Usage This property can be specified with or without the numeric suffix. and so on).fieldn entry is enclosed in single quotes. but only when the IsParentBCRevn field has a value of N: "Primary Revenue Amount". such as Action. such as Business Address. and each buscompn. or not.fieldn is a field name on a parent business component NOTE: The space after the first comma (the comma after field) is required. You can create additional instances of this user property as needed.'" where ■ field is a field on the current business component ■ buscompn. and state. "IIF( [Address Name Locked Flag] = ""N"". Parent Object Type Business Component Functional Area CSSBCBase Picklist Pre Default Field n Within a view based on a parent business component. "Address Name". On Field Update Set 1. then On Field Update Set 2.

"'Action. If its value is TRUE. searching is allowed on the field. This user property is enforced when the following query options are exercised: query by example.Account Id'" You can inactivate or modify the values for this user property. Search Center. this user property specifies a field on the business component whose value is a number in a sequence that is autogenerated. wildcard searching on the field is disabled. but exact match searching is allowed. DisableSearch This single-value field user property allows a Siebel developer to specify whether an end user can execute a wildcard query on a particular field. set the Insert Position property to LAST for the applets that display records from the numbered detail business component. View This user property specifies the view to display when the GotoView method is invoked for an applet control. Value The value for the Sequence Field user property must be the name of the field (typically Line Number or Sequence Number) in the business component that corresponds to the sequence number column in the underlying table. Value TRUE or FALSE Usage The intent of this field user property is to allow a Siebel developer to prevent users (and the Siebel query engine) from performing queries on non-indexed or text fields. You can also create new instances of this user property as needed. Usage This user property is used to configure a sequence field to create a sequential auto-generating line number on new record and copy record events. For detailed information on creating sequence fields. Configuring a sequence field on a business component requires several tasks to be completed. A sequence business component must be defined in the business object. and an error message is displayed. Leaving the Insert Position property blank can cause unexpected behavior in the line numbers generated in the applet. Parent Object Type Business Component Functional Area Picklist generation Sequence Field This user property allows you to define a sequence field for a business component. 'Comm Outbound Email. For example. NOTE: When defining a Sequence Field user property.■ Picklist Pre Default Field 2 with value "Account Id". Query Assistant. For new record and copy record events. see Configuring Siebel Business Applications. If its value is FALSE or not specified. A sequence business component must also be defined in the business object. if the [Name] field has the DisableSearch field user property set to TRUE. Exact searches such as [Name] = 'Siebel' are allowed. Parent Object Type Business Component Functional Area Record sequencing Url This user property specifies the URL to which to go when the GotoUrl method is invoked for an applet control. queries initiated through . wildcard searches such as [Name] LIKE 'S*' are suppressed.Account Id'.

If its value is FALSE or not specified. Usage This user property is used with the Encrypt Source Field user property to display only the last 4 digits of a credit card number or account number. This user property is set on a separate calculated field that is displayed in the UI instead of the field containing the entire credit card number or account number. in the Quote business component. and the Name field is not displayed in the Advanced Sort window. the Credit Card Number field is the encrypted field that stores the credit card number. its value is x. Value TRUE or FALSE Usage The intent of this business component field user property is to provide finergrained control over field-level sorting. For example. if the Name field for a particular business component has the DisableSort user property set to TRUE. the sort icons and (Sortable) tool tip do not appear in the Name list column. You can inactivate and modify the values for this user property. The sort icons and tool tips do not appear in the list column header. For example. sorting is enabled on the field. all sorting capabilities on the field are disabled in all applets based on the business component. and you can create a new instance of this user property if it is not already defined on the field. You can inactivate and modify the values for this user property. If a user attempts to perform a sort on the Name field in any applet based on that business component. By default. typically a credit card number or account number. This character is used to mask characters in a secure data field. an error message displays. The Credit Card Number Display field is a calculated field on which the following user properties are set: ■ Display Mask Char with a value of x ■ Encrypt Source Field with a value of Credit Card Number The applet field that displays the masked credit card number must reference the Credit Card Number .Display field. and you can create a new instance of this user property if it is not already defined on the field. typically a credit card number or account number. and the field is not displayed in the Advanced Sort window. Parent Object Type Field Functional Area Sorting Value The value of this user property is a character.programmatic or message-based interfaces. such as xxxxxxxxxxxx9999. and pre-defined queries. . Display Mask Char This field user property allows you to display a masked version of secure data. If its value is TRUE. Parent Object Type Field Functional Area Search DisableSort (Field) This single-value field user property allows a Siebel developer to specify whether an end user can sort a result set on a specific field of a business component.

Sign up to vote on this title
UsefulNot useful

Master Your Semester with Scribd & The New York Times

Special offer for students: Only $4.99/month.

Master Your Semester with a Special Offer from Scribd & The New York Times

Cancel anytime.