11Reference Information for Siebel Open UI

Life Cycle Flows of User Interface Elements

This topic includes flowcharts that you can use to determine the methods that Siebel Open UI uses during various steps in the life cycle of a user interface element. The flowcharts are described in the following subtopics.

    Life Cycle Flows That Save Records

    This topic describes the life cycle flows that Siebel Open UI uses to save records.

      Flow That Saves Records If the User Uses a Shortcut

      The following figure illustrates the life cycle flow that Siebel Open UI uses to save a record if the user simultaneously presses the CTRL and S keys. The numbers in the diagram indicate the sequence that Siebel Open UI uses during this flow. The A connector connects to the flow described in Flow That Saves Records If the User Uses the Save Menu.

      Flow That Saves Records If the User Uses a Shortcut

        Flow That Saves Records If the User Uses the Save Menu

        The following figure illustrates the life cycle flow that Siebel Open UI uses to save a record if the user clicks Menu, and then the Save Record menu item. The A connector connects to the flow described in Flow That Saves Records If the User Uses a Shortcut.


        Flow That Saves Records If the User Uses the Save Menu

          Life Cycle Flows That Handle User Navigation

          This topic describes the life cycle flows that Siebel Open UI uses when the user navigates through various items in the client.

            Flow That Siebel Open UI Uses if the User Clicks an Applet in a View

            The following figure illustrates the life cycle flow that Siebel Open UI uses if the user clicks an applet in a view.

            Flow That Siebel Open UI Uses if the User Clicks an Applet in a View

              Flow That Siebel Open UI Uses if the User Navigates to a View

              The following figure illustrates the that Siebel Open UI uses if the user navigates to a view.


              Flow That Siebel Open UI Uses if the User Navigates to a View

                Flow That Handles Focus Changes in Form Applets

                The following figure illustrates the life cycle flow that Siebel Open UI if the focus changes for a field in a form applet. For example, if the user tabs out a field, clicks outside the field, minimizes the window, saves the record, and so on.


                Flow That Handles Focus Changes in Form Applets

                  Flow That Handles Focus Changes in List Applets

                  The following figure illustrates the life cycle flow that Siebel Open UI if the focus changes for a field in a list applet. For example, if the user tabs out a field, clicks outside the field, minimizes the window, saves the record, and so on.


                  Flow That Handles Focus Changes in List Applets

                    Life Cycle Flows That Send Notifications

                    This topic describes the life cycle flows that Siebel Open UI uses to send notifications.

                      Flow That Notifies the Siebel Server

                      The following figure illustrates the life cycle flow that Siebel Open UI uses to notify the Siebel Server.

                      low That Notifies the Siebel Server

                        Flow That Sends a Notification State Change

                        The following figure illustrates the life cycle flow that Siebel Open UI uses to send a notification state change. For more information about the notifications that this flow describes, see Notifications That Siebel Open UI Supports.


                        Flow That Sends a Notification State Change

                          Life Cycle Flows That Create New Records in List Applets

                          This topic describes the life cycle flows that Siebel Open UI uses to create a new record in a list applet.

                            Flow That Creates New Records in List Applets, Calling the Siebel Server

                            The following figure illustrates the life cycle flow that Siebel Open UI uses during the call that it makes to the Siebel Server when it creates a new record in a list applet. Siebel Open UI typically calls the following methods during this flow: NewRecord, DeleteRecord, EditField, WriteRecord, and so on. For more information, see DeleteRecord Method, WriteRecord Method, and NewRecord Method.

                            Flow That Creates New Records in List Applets, Calling the Siebel Server

                              Flow That Creates New Records in List Applets, Processing the Server Reply

                              The following figure illustrates the life cycle flow that Siebel Open UI uses when it processes the reply that it gets from the Siebel Server when it creates a new record in a list applet. This figure illustrates the flow that occurs after Siebel Open UI receives the reply.


                              Flow That Creates New Records in List Applets, Processing the Server Reply

                                Flows That Create New Records in List Applets, Updating the User Interface

                                The following figure illustrates the life cycle flow that Siebel Open UI uses to update the user interface. The numbers in the diagram indicate the sequence that Siebel Open UI uses during this flow.


                                Flow That Creates New Records in List Applets, Updating the User Interface

                                  Flow That Creates New Records in List Applets, Updating the Proxy and Presentation Model

                                  The following figure illustrates the life cycle flow that Siebel Open UI uses to update the proxy and presentation model.


                                  Flow That Creates New Records in List Applets, Updating the Proxy and Presentation Model

                                    Life Cycle Flows That Handle User Actions in List Applets

                                    This topic describes the life cycle flows that Siebel Open UI uses depending on an action that the user does in a list applet.

                                      Flow That Handles Navigation to Another Row in List Applets

                                      The following figure illustrates the flow that Siebel Open UI uses if the user navigates to another row in a list applet.

                                      Flow That Handles Navigation to Another Row in List Applets

                                        Flow That Handles the Pagination Button in List Applets

                                        The following figure illustrates the flow that Siebel Open UI uses if the user clicks the pagination button in a list applet.


                                        Flow That Handles the Pagination Button in List Applets

                                          Flow That Handles a Column Sort in List Applets

                                          The following figure illustrates the flow that Siebel Open UI uses if the user sorts a column in a list applet.


                                          Flow That Handles a Column Sort in List Applets

                                            Flow That Handles a Cell Click in List Applets

                                            The following figure illustrates the flow that Siebel Open UI uses if the user clicks a cell in a list applet.


                                            Flow That Handles a Cell Click in List Applets

                                              Flow That Handles a Cell Edit and Blur in List Applets

                                              The following figure illustrates the flow that Siebel Open UI uses if the user edits a cell in a list applet, and then navigates away from this cell.


                                              Flow That Handles a Cell Edit and Blur in List Applets
                                                Flow That Handles a Drilldown in List Applets

                                                The following figure illustrates the flow that Siebel Open UI uses if the user clicks a drilldown field in a list applet.


                                                Flow That Handles a Drilldown in List Applets

                                                  Notifications That Siebel Open UI Supports

                                                  This topic describes notifications that Siebel Open UI supports. It includes the following information:

                                                  For more information about configuring Siebel Open UI to use notifications, see AttachNotificationHandler Method.

                                                    Summary of Notifications That Siebel Open UI Supports

                                                    The following table describes the notification types that Siebel Open UI supports. For more information, see New Notification User Interfaces.

                                                    Table Notification Types That Siebel Open UI Supports

                                                    Notification Type Description

                                                    NotifyBeginNotifys

                                                    SWE_PROP_BC_NOTI_BEGIN

                                                    Notifies the client business component that the request that Siebel Open UI sent to the Siebel Server resulted in at least one notification from a business component.

                                                    NotifyStateChanged

                                                    SWE_PROP_BC_NOTI

                                                    _STATE_CHANGED

                                                    Specifies a top-level notification for more than one state change that occurs in the business component level. Siebel Open UI uses the following properties to identify the change and to get the data associated with the change:

                                                    • state

                                                    • value

                                                    Siebel Open UI can provide summary or detailed state information. For more information, see NotifyStateChanged Notification Type.

                                                    NotifyGeneric

                                                    SWE_PROP_BC_NOTI_GENERIC

                                                    Identifies the predefined and custom notifications that the Siebel application must send. Siebel Open UI addresses most predefined generic notifications to a particular applet.

                                                    You can use NotifyGeneric to get the exact type for a generic notification. Siebel Open UI provides actual information of the changes as an encoded argument set.

                                                    NotifyNewSelection

                                                    SWE_PROP_NOTI_SELECTED

                                                    Notifies the client business component that a change occurred in the selection status. Siebel Open UI calls NotifyNewSelection two times for each selection status change:

                                                    • One time a value of false for the last row selected

                                                    • One time with a value of true for the new row that Siebel Open UI is selecting

                                                    You cannot use NotifyNewSelection with a multi-select.

                                                    You can use the following syntax in the property set that Siebel Open UI sends:

                                                    SWE_PROP_BC_NOTI_ACTIVE_ROW = index 
                                                    SWE_PROP_NOTI_SELECTED = Boolean 
                                                    

                                                    where:

                                                    • index identifies the index of the row that Siebel Open UI is activating or deactivating.

                                                    • Boolean is true or false.

                                                    NotifyNewActiveRow

                                                    SWE_PROP_BC_NOTI_

                                                    NEW_ACTIVE_ROW

                                                    Notifies the client business component that a change occurred on an active row of the corresponding business component on the Siebel Server. Siebel Open UI usually uses NotifyNewSelection with NotifyNewActiveRow.

                                                    You can use the following syntax:

                                                    SWE_PROP_BC_NOTI_ACTIVE_ROW = row 
                                                    

                                                    where:

                                                    • row identifies the row that Siebel Open UI is activating or deactivating.

                                                    NotifyDeleteRecord

                                                    SWE_PROP_BC_NOTI

                                                    _DELETE_RECORD

                                                    Notifies the business component in the client that Siebel Open UI deleted a record from the current set of records on the Siebel Server. Siebel Open UI might use this notification two times for a single record deletion.

                                                    You can use the following syntax in the property set that Siebel Open UI sends:

                                                    SWE_PROP_BC_NOTI_ACTIVE_ROW = index 
                                                    bUp = Boolean 
                                                    

                                                    where:

                                                    • index identifies the index of a record that resides in the current set of records that Siebel Open UI is deleting.

                                                    • Boolean is one of the following values:

                                                    • true. Shift records up after the delete.

                                                    • false. Shift records down after the delete.

                                                    For an example usage of this notification, see Customizing the Presentation Model to Handle Notifications.

                                                    NotifyDeleteRecordSet

                                                    SWE_PROP_BC_NOTI

                                                    _DELETE_WORKSET

                                                    Notifies the business component in the client that Siebel Open UI is deleting a record from the current set of records in the client. Does not correspond to a method invoke. Siebel Open UI sends a separate notification for each record that it deletes.

                                                    You can use the following syntax in the property set that Siebel Open UI sends:

                                                    index:index 
                                                    NumRows/nr:number 
                                                    

                                                    where:

                                                    • index identifies the start index of the record that Siebel Open UI is deleting.

                                                    • number identifies the number of rows that Siebel Open UI must delete.

                                                    For more information, see Using Notifications with Operations That Call Methods.

                                                    NotifyInsertWorkSet

                                                    SWE_PROP_BC_NOT

                                                    I_INSERT_WORKSET

                                                    Notifies the business component in the client that Siebel Open UI is inserting a new record in the current set of records in the client.

                                                    You can use the following syntax in the property set that Siebel Open UI sends:

                                                    index:index_value  
                                                    SWE_FIELD_VALUE_STR:child  
                                                    SWE_PROP_VALUE_ARRAY:array  
                                                    

                                                    where:

                                                    • index identifies the index of the record that Siebel Open UI is inserting.

                                                    • child identifies the child property set that contains the record data.

                                                    • array is an array that contains the field values of the record that Siebel Open UI is inserting. This array must use the same sequence that the business component uses when it lists these field values.

                                                    For more information, see Using Notifications with Operations That Call Methods.

                                                    NotifyNewData

                                                    SWE_PROP_BC

                                                    _NOTI_NEW_DATA

                                                    Notifies the business component in the client that Siebel Open UI is modifying the current set of records. Siebel Open UI sends this notification only if it modifies a record. It does not send this notification if it only modifies a field value.

                                                    NotifyNewPrimary

                                                    SWE_PROP_BC_

                                                    NOTI_NEW_PRIMARY

                                                    Sets the primary record in a multi-value group. The RepopulateField notification calls NotifyNewPrimary.

                                                    NotifyNewRecord

                                                    SWE_PROP_BC_

                                                    NOTI_NEW_RECORD

                                                    Notifies the client business component that Siebel Open UI is creating a new record in the current set of records on the Siebel Server. You can use the following syntax in the property set that Siebel Open UI sends:

                                                    SWE_PROP_BC_NOTI_ACTIVE_ROW = index 
                                                    bInsertBefore = Boolean 
                                                    

                                                    where:

                                                    • row identifies the index of the record that Siebel Open UI is creating.

                                                    • Boolean is one of the following values:

                                                    • true. Place the new record before the previous active row.

                                                    • false. Place the new record after the previous active row.

                                                    For a similar usage of this notification, see Customizing the Presentation Model to Handle Notifications.

                                                    NotifyNewRecordData

                                                    SWE_PROP_BC_NOTI_

                                                    NEW_RECORD_DATA

                                                    Sets the do populate flag.

                                                    NotifyNewDataWorkSet

                                                    SWE_PROP_BC

                                                    _NOTI_NEW

                                                    _RECORD_DATA_WS

                                                    Updates a record in the current set of records.

                                                    NotifyNewFieldData

                                                    SWE_PROP_BC_NOTI_

                                                    NEW_FIELD_DATA

                                                    Notifies the client business component that Siebel Open UI modified a field value on the Siebel Server, and that Siebel Open UI communicated this modification to the client through the NotifyNewDataWorkset notification.

                                                    You can use the following syntax in the property set that Siebel Open UI sends:

                                                    SWE_PROP_NOTI_FIELD = field 
                                                    

                                                    where:

                                                    • field identifies the name of the field that Siebel Open UI is modifying.

                                                    NotifyNewDataWorkset

                                                    SWE_PROP_BC_NOTI_

                                                    NEW_DATA_WS

                                                    Notifies the client business component of a field value that Siebel Open UI modified for a field that resides on the Siebel Server.

                                                    You can use the following syntax in the property set that Siebel Open UI sends:

                                                    SWE_PROP_NOTI_FIELD = field    
                                                    SWE_PROP_FIELD_VALUES = child 
                                                    

                                                    where:

                                                    • field identifies the name of the field that Siebel Open UI is modifying.

                                                    • child identifies the name of the child property set that contains the modification details.

                                                    You can use the following syntax in the child property set:

                                                    SWE_PROP_FIELD_ARRAY:string1
                                                    SWE_PROP_VALUE_ARRAY:string2 
                                                    

                                                    where:

                                                    • string1 is an encoded string that identifies the field index.

                                                    • string2 is an encoded string that identifies the field value.

                                                    NotifyNewFieldList

                                                    SWE_PROP_BC_

                                                    NOTI_NEW_FIELD_LIST

                                                    Refreshes the entire view internally.

                                                    NotifyNewRecordDataWS

                                                    SWE_PROP_BC_NOTI_

                                                    NEW_RECORD_DATA_WS

                                                    Updates the values in the record set. Siebel Open UI updates the dirty flag during previous notifications.

                                                    NotifyChangeSelection

                                                    SWE_PROP_BC_

                                                    NOTI_CHANGE_SELECTION

                                                    Sets the update conditionals flag and the row counter.

                                                    NotifyEndNotifys

                                                    SWE_PROP

                                                    _BC_NOTI_END

                                                    Notifies the client business component that Siebel Open UI is ending the notification, and that no more server notifications exist for the current transaction.

                                                    NotifyBeginQuery

                                                    SWE_PROP_BC

                                                    _NOTI_BEGIN_QUERY

                                                    Notifies the client business component that Siebel Open UI started a query on the business component on the Siebel Server.

                                                    NotifyNewQuerySpec

                                                    SWE_PROP_BC_

                                                    NOTI_NEW_QUERYSPEC

                                                    Siebel Open UI uses the NotifyNewQuerySpec notification if the user refines a query. If the business component search specification is empty, then NotifyNewQuerySpec clears all field search specifications.

                                                    NotifyNewFieldQuerySpec

                                                    SWE_PROP_BC_NOTI_

                                                    NEW_FIELD_QUERYSPEC

                                                    Notifies the client business component that Siebel Open UI is doing one of the following to query the fields of the current business component on the Siebel Server:

                                                    • Using a default query specification

                                                    • Starting or running a query

                                                    This situation can occur through a predefined or custom configuration, or in reply to a query that the user performs.

                                                    You can use the following syntax in the property set that Siebel Open UI sends:

                                                    SWE_PROP_NOTI_FIELD = 
                                                    fieldSWE_PROP_VALUE = search 
                                                    specification" 
                                                    

                                                    where:

                                                    • field identifies the name of the field that Siebel Open UI is querying.

                                                    • search specification identifies a query specification that is defined on this field.

                                                    NotifyEndQuery

                                                    SWE_PROP_BC_

                                                    NOTI_END_QUERY

                                                    Notifies the client business component that Siebel Open UI is ending a query on the business component on the Siebel Server. This situation can occur if the ExecuteQuery method or the UndoQuery method runs.

                                                    NotifyExecute

                                                    SWE_PROP_BC

                                                    _NOTI_EXECUTE

                                                    Notifies the client business component that Siebel Open UI is running a business component on the Siebel Server.

                                                    You can use the following syntax in the property set that Siebel Open UI sends:

                                                    srt = sort specifications 
                                                    

                                                    where:

                                                    • sort specification identifies the sort specification that Siebel Open UI runs.

                                                    • search specification identifies the search specification that Siebel Open UI runs.

                                                    NotifyScrollAmount

                                                    SWE_PROP_BC_

                                                    NOTI_SCROLL_AMOUNT

                                                    Sets the scroll folder and the amount for a mobile swipe operation.

                                                    NotifyPageRefresh

                                                    SWE_NOTIFY_PAGE_REFRESH

                                                    Updates the urltogo with the URL that Siebel Open UI uses to refresh a view. Siebel Open UI gets this URL from a subsequent executeurltoGo notification.

                                                      Using Notifications with Operations That Call Methods

                                                      It is recommended that you do not use some notifications with an operation that calls a method. For example, if the user paginates to the next page in a set of 10 records, and if you use NotifyInsertWorkSet with the method that calls this pagination, then Siebel Open UI will create 10 separate NotifyInsertWorkSet notifications.

                                                        Notify Generic Notification Type

                                                        The following table describes the subtypes of the SWE_PROP_BC_NOTI_GENERIC type that the NotifyGeneric notification type uses. It includes the predefined and custom notifications that a Siebel application must send.

                                                        Table Notify Generic Notification Type

                                                        Sub Type Description

                                                        SWEICanInvokeMethod

                                                        Enables the refresh button.

                                                        SWEICtlDefChanged

                                                        Modifies the definition for a control. You can customize Siebel Open UI to dynamically modify the definition that a control uses. For example, modifying a definition from JavaScript text box to a JavaScript combo box.

                                                        SWEIPrivFlds

                                                        Specifies a list of private fields. For example, the Find controls that Siebel Open UI displays in a dialog box. A private field is a type of field that only allows the record owner to view the record. For more information, see Siebel Object Types Reference.

                                                        SWEICanUpdate

                                                        Specifies to display data-driven, read-only behavior.

                                                        SWEICanNavigate

                                                        If a list applet displays zero records, and if the user adds a new record, then the SWEICanNavigate subtype displays the drilldown links.

                                                        SWEIRowSelection

                                                        Sends the set of selected rows that exist in the current set of records to a list applet. You can use the following syntax in the decoded array:

                                                        argsArray[0] = applet name
                                                        
                                                        argsArray[1-x] = value 
                                                        

                                                        where:

                                                        • applet name identifies the name of the applet where Siebel Open UI sends the notification.

                                                        • value is one of the following:

                                                          • 1. Indicates selected.

                                                          • 0. Indicates not selected.

                                                        SWEAInvokeMethod

                                                        Adds an operation in the life cycle that the InvokeMethod method uses. For example, assume you configure an OK button in an association applet, and that this button closes a dialog box. You can use the SWEAInvokeMethod subtype to configure this button to make a subsequent call to the CreateRecord method if the user clicks OK.

                                                        You can use the following syntax in the decoded array:

                                                        argsArray[0] = applet
                                                        argsArray[1] = method 
                                                        

                                                        where:

                                                        • applet identifies the name of the applet that Siebel Open UI calls during the first operation.

                                                        • method identifies the name of the subsequent method that Siebel Open UI calls.

                                                        For more information, see InvokeMethod Method for Presentation Models.

                                                        DeletePopup

                                                        Deletes a popup applet. The DeletePopup subtype does not close an applet in the user interface. You can use ClosePopup to close an applet.

                                                        SetPopupBookmark

                                                        Sets the context for a popup bookmark to use the state of the parent applet that resides on the Siebel Server.

                                                        GetQuickPickInfo

                                                        Sends the values of a picklist to an applet. You can use the following syntax in the decoded array:

                                                        argsArray[0] = placeholder
                                                        argsArray[1] = view
                                                        argsArray[2] = applet
                                                        argsArray[3] = identifier 
                                                        argsArray[4] = control
                                                        argsArray[5-x] = string 
                                                        

                                                        where:

                                                        • placeholder is a placeholder array that you can you use.

                                                        • view identifies the name of the view where Siebel Open UI displays the picklist.

                                                        • applet identifies the name of the applet where Siebel Open UI displays the picklist.

                                                        • identifier identifies the HTML identifier of the control that requested the picklist values.

                                                        • control contains one of the following values:

                                                          • true. Picklist is associated with the control.

                                                          • false. Picklist is not associated with the control.

                                                        • string contains the values of the picklist.

                                                        BegRow

                                                        Sends the starting row that the Object Manager uses to display the current row in the client. You can use the following syntax in the decoded array:

                                                        argsArray[0] = applet name
                                                        
                                                        argsArray[1] = value 
                                                        

                                                        where:

                                                        • applet name identifies the name of the applet where Siebel Open UI sends the notification.

                                                        • value contains the value of the beginning row.

                                                        GetCurrencyCalcInfo

                                                        Gets a currency notification from the currency metadata.

                                                        GetCurrencyCodeInfo

                                                        Gets a currency notification from specific currency data.

                                                        CloseCurrencyPickApplet

                                                        Sends a notification to close a currency applet.

                                                        ClosePopup

                                                        Notifies an applet that Siebel Open UI is closing a popup that is currently open on this applet. You can use the following syntax in the decoded array:

                                                        argsArray[0] = applet 
                                                        

                                                        where:

                                                        • applet identifies the name of the applet.

                                                          NotifyStateChanged Notification Type

                                                          The following table describes the subtypes of the NotifyStateChanged type.

                                                          Table NotifyStateChanged Notification Type

                                                          Sub Type Description

                                                          activeRow

                                                          Identifies the active row of the business component. You can use ar (active row) to abbreviate activeRow.

                                                          bCanDelete

                                                          Returns a Boolean value that includes one of the following values:

                                                          • 0. The business component can delete a field.

                                                          • 1. The business component cannot delete a field.

                                                          You can use cd (can delete) as an abbreviation for bCanDelete.

                                                          bCanInsert

                                                          Returns a Boolean value that includes one of the following values:

                                                          • 0. The business component can insert a field.

                                                          • 1. The business component cannot insert a field.

                                                          You can use ci (can insert) as an abbreviation for bCanInsert.

                                                          bCanInsertDynamic

                                                          Returns a Boolean value that includes one of the following values:

                                                          • 0. The business component can insert a dynamic field.

                                                          • 1. The business component cannot insert a dynamic field.

                                                          You can use cud (can insert dynamic) as an abbreviation for bCanInsertDynamic.

                                                          bCanMergeRecords

                                                          Returns a Boolean value that includes one of the following values:

                                                          • 0. Merge is available in multi select mode.

                                                          • 1. Merge is not available in multi select mode.

                                                          You can use cm (can merge) as an abbreviation for bCanMergeRecords.

                                                          bCanQuery

                                                          Returns a Boolean value that includes one of the following values:

                                                          • 0. The business component can query a field.

                                                          • 1. The business component cannot query a field.

                                                          You can use cq (can query) as an abbreviation for bCanQuery.

                                                          bCanUpdate

                                                          Returns a Boolean value that includes one of the following values:

                                                          • 0. The business component can update a field.

                                                          • 1. The business component cannot update a field.

                                                          You can use cu (can update) as an abbreviation for bCanUpdate.

                                                          bCanUpdateDynamic

                                                          Returns a Boolean value that includes one of the following values:

                                                          • 0. The business component can update a dynamic field.

                                                          • 1. The business component cannot update a dynamic field.

                                                          You can use cud (can update dynamic) as an abbreviation for bCanUpdateDynamic.

                                                          bCommitPending

                                                          Returns a Boolean value that includes one of the following values:

                                                          • 0. A commit is pending on the business component.

                                                          • 1. A commit is not pending on the business component.

                                                          You can use cp (commit pending) as an abbreviation for bCommitPending.

                                                          bDelRecPending

                                                          Returns a Boolean value that includes one of the following values:

                                                          • 0. A delete is pending on the business component.

                                                          • 1. A delete is not pending on the business component.

                                                          You can use dp (delete pending) as an abbreviation for bDelRecPending.

                                                          bExecuted

                                                          Returns a Boolean value that includes one of the following values:

                                                          • 0. Siebel Open UI finished processing the business component records.

                                                          • 1. Siebel Open UI did not finish processing the business component records.

                                                          You can use ex (executed) as an abbreviation for bExecuted.

                                                          bHasAssocList

                                                          Determines whether or not the business component is an association business component. An association business component is a type of business component that includes an intertable.

                                                          bInMultiSelMode

                                                          Returns a Boolean value that includes one of the following values:

                                                          • 0. The business component is in multiselect mode.

                                                          • 1. The business component is not in multiselect mode.

                                                          You can use ms (multiselect) as an abbreviation for bInMultiSelMode.

                                                          bInQueryState

                                                          Returns a Boolean value that includes one of the following values:

                                                          • 0. The business component is in a query state.

                                                          • 1. The business component is not in a query state.

                                                          You can use qs (query state) as an abbreviation for bInQueryState.

                                                          bInverseSelection

                                                          Returns a Boolean value that includes one of the following values:

                                                          • 0. An inverse of selection is occurring on the business component.

                                                          • 1. An inverse of selection is not occurring on the business component.

                                                          You can useis (inverse selection) as an abbreviation for bInverseSelection.

                                                          bNewRecPending

                                                          Returns a Boolean value that includes one of the following values:

                                                          • 0. A new record is pending on the business component.

                                                          • 1. A new record is not pending on the business component.

                                                          You can use np (new record pending) as an abbreviation for bNewRecPending.

                                                          bNotifyEnabled

                                                          Returns a Boolean value that includes one of the following values:

                                                          • 0. The business component is not enabled for notifications.

                                                          • 1. The business component is enabled for notifications.

                                                          You can use n (enabled) as an abbreviation for bNotifyEnabled.

                                                          NumRows

                                                          Returns the number of rows that Siebel Open UI has currently identified. You can use nr (number of rows) as an abbreviation for NumRows.

                                                          NumRowsKnown

                                                          Returns the number of rows that Siebel Open UI has currently identified for a search specification. You can use nrk (number of rows known) as an abbreviation for NumRowsKnown.

                                                          NumSelected

                                                          Returns the number of rows that are currently in multiselect mode. You can use ns (number selected) as an abbreviation for NumSelected.

                                                            Example Usages of Notifications

                                                            This topic describes example usages of notifications.

                                                              Example of the NotifyBeginNotifys Notification

                                                              The following code is an example usage of the NotifyBeginNotifys notification:

                                                              this.AttachNotificationHandler(consts.get("SWE_PROP_BC_NOTI_DELETE_RECORD"), 
                                                              function (propSet){
                                                              // Change has occurred at server BC. Do something here:    
                                                              this.SetProperty ("Refresh_Renderer", true);    
                                                              }); 
                                                              

                                                                Example of the NotifyNewSelection Notification

                                                                The following code is an example usage of the NotifyNewSelection notification:

                                                                this.AttachNotificationHandler(consts.get("SWE_PROP_NOTI_SELECTED"), function 
                                                                (propSet){    
                                                                if (propSet.GetProperty(consts.get("SWE_PROP_NOTI_SELECTED")) === "false")    
                                                                this.SetProperty ("rowBeingUnselected", 
                                                                propSet.GetProperty("SWE_PROP_BC_NOTI_ACTIVE_ROW"));    
                                                                }    
                                                                }); 
                                                                

                                                                  Example of the NotifyNewFieldData Notification

                                                                  The following code is an example usage of the NotifyNewFieldData notification:

                                                                  this.AttachNotificationHandler(consts.get("SWE_PROP_BC_NOTI_NEW_DATA_WS"), 
                                                                  function (propSet){    
                                                                  var field = propset.GetProperty(consts.get("SWE_PROP_NOTI_FIELD"));    
                                                                  if (field === "Customer Last Name"){    
                                                                  // Notify my extension that shows this value in a different way.    
                                                                  this.SetProperty ("RefreshExtn", true);    
                                                                  }    
                                                                  } 
                                                                  

                                                                    Example of the NotifyNewDataWorkset Notification

                                                                    The following code is an example usage of the NotifyNewDataWorkset notification:

                                                                    // Trap an incoming change to the field value to do some flagging.     
                                                                    this.AttachNotificationHandler(consts.get("SWE_PROP_BC_NOTI_NEW_DATA_WS"), 
                                                                    function (propSet){    
                                                                    var field = propset.GetProperty(consts.get("SWE_PROP_NOTI_FIELD"));    
                                                                    if (field === "Discount Percentage"){    
                                                                    var childPS = propSet.GetChildByType (consts.get("SWE_PROP_FIELD_VALUES"));    
                                                                    var value;    
                                                                    CCFMiscUtil_StringToArray 
                                                                    (fieldSet.GetProperty(consts.get("SWE_PROP_VALUE_ARRAY")), value);    
                                                                    if (parseFloat(value) > 20){    
                                                                    // Greater than 20% discount? Something fishy!    
                                                                    this.SetProperty ("flagCustomer", true);    
                                                                    }    
                                                                    }     
                                                                    }); 
                                                                    

                                                                      Example of the NotifyNewData, NotifyInsertWorkSet, and NotifyDeleteRecordSet Notifications

                                                                      The following code is an example usage of the NotifyNewData, NotifyInsertWorkSet, and NotifyDeleteRecordSet notifications:

                                                                      // First let's check if there's any change to the client workset.    
                                                                      this.AttachNotificationHandler(consts.get("SWE_PROP_BC_NOTI_NEW_DATA"), function 
                                                                      (){    
                                                                      // Yes indeed.    
                                                                      this.SetProperty ("primeRenderer", true);    
                                                                      });    
                                                                      // Now let's say our business is with the 4th record. We want to track if this record 
                                                                      is replaced.    
                                                                      // First we see if this 4th record is being deleted.    
                                                                      this.AttachNotificationHandler(consts.get("SWE_PROP_BC_NOTI_DELETE_WORKSET"), 
                                                                      function (propSet){    
                                                                      if (propSet.GetProperty("index" === 3){// 3 because count starts at 0    
                                                                      if (propSet.GetProperty("nr") === 1 || propSet.GetProperty("NumRows") === 1){    
                                                                      if (this.Get("primeRenderer")){    
                                                                      this.Set("deleted", 4);    
                                                                      }    
                                                                      }    
                                                                      }    
                                                                      });    
                                                                      // Next to the insertion    
                                                                      this.AttachNotificationHandler(consts.get("SWE_PROP_BC_NOTI_INSERT_WORKSET"), 
                                                                      function (propSet){    
                                                                      var underReplacement = this.GetProperty ("deleted");    
                                                                      if (this.Get("primeRenderer") && propSet.GetProperty("index") === 
                                                                      this.GetProperty("deleted")){    
                                                                      // All conditions met. Now we'll get some info from what is being added.    
                                                                      var childPS = propSet.GetChildByType (consts.get("SWE_FIELD_VALUE_STR"));    
                                                                      var fieldArray;    
                                                                      CCFMiscUtil_StringToArray 
                                                                      (childPS.GetProperty(consts.get("SWE_PROP_VALUE_ARRAY")), fieldArray);    
                                                                      this.SetProperty ("New_Name_Value", fieldArray[2]);    
                                                                      this.SetProperty ("primeRenderer", false);    
                                                                      } 
                                                                      }); 
                                                                      

                                                                        Example of the NotifyBeginQuery, NotifyNewFieldQuerySpec, and NotifyEndQuery Notification

                                                                        The following code is an example usage of the NotifyBeginQuery, NotifyNewFieldQuerySpec, and NotifyEndQuery notifications:

                                                                        // Let's see a simple example involving all the three. First we will take up the 
                                                                        query start.    
                                                                        this.AttachNotificationHandler(consts.get("SWE_PROP_BC_NOTI_BEGIN_QUERY"), 
                                                                        function (){    
                                                                        // Query begins - The renderer will use this notification to show a bubble box having 
                                                                        a number of choices. This might be driven off of a dropdown in the actual applet - 
                                                                        we already have the choices.    
                                                                        this.SetProperty ("showBubble", true);    
                                                                        });    
                                                                        // Now we'll attach to Field Spec. If that dropdown has a pre default value, then 
                                                                        we can highlight that choice in our bubble.    
                                                                        this.AttachNotificationHandler(consts.get("SWE_PROP_BC_NOTI_NEW_FIELD_QUERYSPEC"), 
                                                                        function (propSet){    
                                                                        if (propSet.GetProperty(consts.get("SWE_PROP_NOTI_FIELD") === "Customer Type"){    
                                                                        var value = propSet.GetProperty(consts.get("SWE_PROP_VALUE");    
                                                                        var bubbleValues = this.Get (bubbleValueArray);    
                                                                        this.SetProperty ("SetBubbleHighlightIndex", bubbleValues.indexOf(value));    
                                                                        }    
                                                                        });    
                                                                        // Next the obvious. The death of the bubble.    
                                                                        this.AttachNotificationHandler(consts.get("SWE_PROP_BC_NOTI_END_QUERY"), function 
                                                                        (){    
                                                                        this.SetProperty ("showBubble", false);    
                                                                        }); 
                                                                        

                                                                          Example of the NotifyEndNotifys Notification

                                                                          The following code is an example usage of the NotifyEndNotifys notification:

                                                                          this.AttachNotificationHandler(consts.get("SWE_PROP_BC_NOTI_END"), function (){    
                                                                          // No more notifications. Mark for UI Refresh.    
                                                                          this.SetProperty ("refreshUI", true);    
                                                                          }); 
                                                                          

                                                                            Example of the SWEIRowSelection Notification

                                                                            The following code is an example usage of the SWEIRowSelection notification:

                                                                            this.AttachNotificationHandler(consts.get("SWE_PROP_BC_NOTI_GENERIC"), function 
                                                                            (propSet){
                                                                            var type = propSet.GetProperty(consts.get("SWE_PROP_NOTI_TYPE"));    
                                                                            if (type === "SWEIRowSelection"){    
                                                                            var argsArray;    
                                                                            CCFMiscUtil_StringToArray (propSet.GetProperty(consts.get("SWE_PROP_ARGS_ARRAY"), 
                                                                            argsArray);    
                                                                            if (argsArray[6] === "1"){    
                                                                            this.SetProperty ("SixthRowSelected", true);    
                                                                            }    
                                                                            }    
                                                                            }); 
                                                                            

                                                                              Example of the BegRow Notification

                                                                              The following code is an example usage of the BegRow notification:

                                                                              this.AttachNotificationHandler(consts.get("SWE_PROP_BC_NOTI_GENERIC"), function 
                                                                              (propSet){|    
                                                                              var type = propSet.GetProperty(consts.get("SWE_PROP_NOTI_TYPE"));    
                                                                              if (type === "BegRow"){    
                                                                              var argsArray;    
                                                                              CCFMiscUtil_StringToArray (propSet.GetProperty(consts.get("SWE_PROP_ARGS_ARRAY"), 
                                                                              argsArray);    
                                                                              this.SetProperty ("beginRow", parseInt(argsArray[1]));    
                                                                              }    
                                                                              }); 
                                                                              

                                                                                Example of the GetQuickPickInfo Notification

                                                                                The following code is an example usage of the GetQuickPickInfo notification:

                                                                                this.AttachNotificationHandler(consts.get("SWE_PROP_BC_NOTI_GENERIC"), function 
                                                                                (propSet){
                                                                                   var type = propSet.GetProperty(consts.get("SWE_PROP_NOTI_TYPE"));
                                                                                   if (type === "GetQuickPickInfo"){
                                                                                      var argsArray = [];
                                                                                      CCFMiscUtil_StringToArray
                                                                                      (propSet.GetProperty(consts.get("SWE_PROP_ARGS_ARRAY")), argsArray);
                                                                                      if (argsArray[5] === "MyValue"){
                                                                                         // The dropdown contains a value that we don’t like..
                                                                                         // Let us disable it.
                                                                                         this.SetProperty ("disablePick", true);
                                                                                      }
                                                                                   }
                                                                                });
                                                                                

                                                                                  Example of the ClosePopup Notification

                                                                                  The following code is an example usage of the ClosePopup notification:

                                                                                  this.AttachNotificationHandler(consts.get("SWE_PROP_BC_NOTI_GENERIC"), function 
                                                                                  (propSet){ 
                                                                                  var type = propSet.GetProperty(consts.get("SWE_PROP_NOTI_TYPE"));    
                                                                                  if (type === "ClosePopup"){    
                                                                                  // The below is just an example. PM's should not alert anything. Leave that to the 
                                                                                  PRs.    
                                                                                  alert ("Make sure you have collected all details. You next operation will save the 
                                                                                  record!");    
                                                                                  }    
                                                                                  }); 
                                                                                  

                                                                                    Example of the SWEAInvokeMethod Notification

                                                                                    The following code is an example usage of the SWEAInvokeMethod notification:

                                                                                    this.AttachNotificationHandler(consts.get("SWE_PROP_BC_NOTI_GENERIC"), function 
                                                                                    (propSet){ 
                                                                                    var type = propSet.GetProperty(consts.get("SWE_PROP_NOTI_TYPE"));    
                                                                                    if (type === "SWEAInvokeMethod"){    
                                                                                    if (argsArray[1] === "NewRecord"){    
                                                                                    // Ah so there's going to be a new record that has happened as a chain.    
                                                                                    // Let's set a property so that we can do an AddMethod on this NewRecord,     
                                                                                    // and extend it to our liking    
                                                                                    this.SetProperty ("isChained", true);    
                                                                                    }    
                                                                                    }    
                                                                                    }); 
                                                                                    

                                                                                      Example of the NotifyStateChanged Notification

                                                                                      The following code is an example usage of the NotifyStateChanged notification:

                                                                                      this.AttachNotificationHandler(consts.get("SWE_PROP_BC_NOTI_STATE_CHANGED"), 
                                                                                      function (propSet){ 
                                                                                      var type = propSet.GetProperty("type");    
                                                                                      var value = propSet.GetProperty("value");    
                                                                                      // This is just an example. Switch-case is preferred if multiple types need to    
                                                                                      // have custom logic    
                                                                                      if (type === "cr" || type === "CurRowNum"){    
                                                                                      // Current Row has changed at the server.    
                                                                                      if (value === this.Get("MyPreviouslyStoredActiveRow")){    
                                                                                      // Or not! What's going on. Something wrong with my logic?    
                                                                                      }    
                                                                                      }    
                                                                                      if (type === "nr" || type === "NumRows"){    
                                                                                      if (parseInt(value) > 1000){    
                                                                                      // Woah, this user seems to be going through a lot of records!    
                                                                                      // Shouldn't she be using the query function?    
                                                                                      this.SetProperty ("AlertUser", true);    
                                                                                      }    
                                                                                      }    
                                                                                      ...    
                                                                                      ...    
                                                                                      }); 
                                                                                      

                                                                                        Property Sets That Siebel Open UI Supports

                                                                                        The following table describes the property sets that Siebel Open UI supports. Siebel Open UI uses the Handle Response

                                                                                        property set for navigation controls, such as the predefined query, drop down menus, screen tabs, and view tabs. Siebel Open UI handles the toolbar during setup because it does not dynamically update the property set.

                                                                                        Table Property Set Types That Siebel Open UI Supports

                                                                                        Property Set Description

                                                                                        SWE_PROP_NC_PDQ_INFO

                                                                                        Child property set for the Predefined Query (PDQ). It includes the list of PDQ items that Siebel Open UI displays. It uses the following properties:

                                                                                        • SHOW_EMPTY_STRING. Display an empty PDQ entry.

                                                                                        • SWE_PROP_NC_CAPTION. Identifies the caption that Siebel Open UI displays for the PDQ.

                                                                                        SWE_PROP_NC_VISIBILITY_INFO

                                                                                        Defines the beginning of the visibility property set.

                                                                                        It uses the following properties:

                                                                                        • SWE_PROP_NC_ITEM_INFO. Identifies the item start property.

                                                                                        • SWE_PROP_NC_SCREEN_NAME. Identifies the screen name.

                                                                                        • SWE_PROP_NC_VIEW_NAME. Identifies the view name.

                                                                                        • SWE_PROP_NC_CAPTION. Identifies the display value for the caption.

                                                                                        • SWE_PROP_NC_SCREEN_TAB_ICON. Identifies the icon name to use for the screen tab.

                                                                                        You can use the VisDropDownItem property as the predefined bubbled handler to do user interface binding.

                                                                                        SWE_PROP_NC_SCREENCTRL

                                                                                        _INFO

                                                                                        Defines information for the first level in a screen.

                                                                                        It uses the all the same properties that the SWE_PROP_NC_VISIBILITY_INFO property set uses except it does not use the SWE_PROP_NC_ITEM_INFO property.

                                                                                        You can use the GetTabInfo property as the predefined bubbled handler.

                                                                                        SWE_PROP_NC_FLOATING

                                                                                        _TAB_INFO

                                                                                        If Siebel Open UI already displays a screen, and if the user clicks an empty tab, then SWE_PROP_NC_FLOATING_TAB_INFO adds a new tab. It uses the GetTabInfo property.

                                                                                        SWE_PROP_NC_AGGREGATE_INFO

                                                                                        Describes Amazon link information.

                                                                                        It uses the GetTabLinkInfo property.

                                                                                        It uses the following properties:

                                                                                        • SWE_PROP_NC_VIEW_NAME. Specifies the view name that Siebel Open UI displays.

                                                                                        • SWE_PROP_NC_CAPTION. Specifies the caption that Siebel Open UI displays.

                                                                                        SWE_PROP_NC_SUBDETAIL_INFO

                                                                                        Specifies information for the fourth level link.

                                                                                        It uses the same properties that the SWE_PROP_NC_AGGREGATE_INFO property set uses.

                                                                                        SWE_PROP_NC_DETAIL_INFO

                                                                                        Specifies the view tab information that Siebel Open UI displays to start.

                                                                                        It uses the GetTabInfo property. It uses the following properties:

                                                                                        • SWE_PROP_NC_VIEW_NAME. View name that Siebel Open UI displays.

                                                                                        • SWE_PROP_NC_CAPTION. Caption that Siebel Open UI displays.

                                                                                        You can use the following properties as predefined bubbled handlers:

                                                                                        • GetDataReloadDirty. Specifies the flag property.

                                                                                        • GetSelectedTabKey. Selection of tabs.

                                                                                        • GetSelectedTabLinkKey. Selection of links underneath tabs.

                                                                                        • GetTabInfo. All tabs.

                                                                                        • GetTabLinkInfo. All links.

                                                                                        Siebel CRM Events That You Can Use to Customize Siebel Open UI

                                                                                        This topic describes the Siebel CRM events that you can use to customize Siebel Open UI. The jQuery library binds actions to JavaScript events, such as mouse down, mouse over, blur, and so on. It also provides its own events that are part of the jQuery library and not part of Siebel Open UI. Siebel Open UI uses some Siebel CRM events that jQuery does not define, such as the postload event. This topic describes these Siebel CRM events. Note the following:

                                                                                          Events That You Can Use to Customize Form Applets

                                                                                          The following table describes the events that you can use to customize a form applet.

                                                                                          Table Events That You Can Use to Customize Form Applets

                                                                                          Event Description

                                                                                          PHYEVENT_APPLET_FOCUS

                                                                                          Siebel Open UI triggers the PHYEVENT_APPLET_FOCUS event when an applet receives focus. You can use it to trigger custom code when Siebel Open UI sets the focus to the presentation model that the applet references as the result of a user action. No objects are available with this event. The following code is an example usage of this event:

                                                                                          "this.AttachEventHandler(siebConsts.get(""PHYEVENT_APP
                                                                                          LET_FOCUS""),
                                                                                            function () {
                                                                                              // My applet recived focus.
                                                                                              this.SetProperty (""AppletInFocus"", true);
                                                                                              return (true);
                                                                                            });"
                                                                                          

                                                                                          PHYEVENT_CONTROL_FOCUS

                                                                                          Siebel Open UI triggers the PHYEVENT_CONTROL_FOCUS event when a control in an applet comes into focus. You can use this event to update the value for this control or to call code according to this value. You can use it with the following objects:

                                                                                          • control. The control object that receives focus.

                                                                                          • value. The value of the control object that receives focus.

                                                                                          The following code is an example usage of this event:

                                                                                          this.AttachEventHandler(siebConsts.get("PHYEVENT_CONTR
                                                                                          OL_FOCUS"),
                                                                                            function (control, value) {
                                                                                              if (this.Get("AppletInFocus"){
                                                                                                var controlArray = this.Get("FlaggedControlSet");
                                                                                                if (controlArray.indexOf(control) >= 0){
                                                                                                  // This is a flagged control.
                                                                                                  var valueObject = this.GetProperty 
                                                                                          ("FlaggedControlsValue");
                                                                                                  if (value > maxValue){
                                                                                                    // Value higher than allowed when receiving 
                                                                                          focus. Let's flag this.
                                                                                                    this.SetProperty ("FlagHigher", true);
                                                                                                  }
                                                                                                }
                                                                                              }
                                                                                              return (true);
                                                                                            });
                                                                                          

                                                                                          PHYEVENT_CONTROL_BLUR

                                                                                          Siebel Open UI triggers the PHYEVENT_CONTROL_BLUR event when a control in an applet goes out of focus. You can use this event to update the value for this control or to call code according to this value. You can use it with the following objects:

                                                                                          • control. The control object that lost focus.

                                                                                          • value. The value of the control object that lost focus.

                                                                                          The following code is an example usage of this event:

                                                                                          "this.AttachEventHandler(siebConsts.get(""PHYEVENT_CON
                                                                                          TROL_BLUR""),
                                                                                            function (control, value) {
                                                                                              if (this.Get(""AppletInFocus""){
                                                                                                var controlArray = 
                                                                                          this.Get(""FlaggedControlSet"");
                                                                                                if (controlArray.indexOf(control) >= 0){
                                                                                                  // This is a flagged control.
                                                                                                  var valueObject = this.GetProperty 
                                                                                          (""FlaggedControlsValue"");
                                                                                                  if (valueObject[ control.GetName() ] !== value){
                                                                                                      // Value change. Need to update internal 
                                                                                          storage, and fire any potential extensions attached to 
                                                                                          the property.
                                                                                                      valueOjbect[ control.GetName() ] = value;
                                                                                                      this.SetProperty (""FlaggedControlsValue"", 
                                                                                          valueObject);
                                                                                                    }
                                                                                                  }
                                                                                                }
                                                                                              return (true);
                                                                                            });"
                                                                                          

                                                                                          PHYEVENT_INVOKE_CONTROL

                                                                                          Siebel Open UI triggers the PHYEVENT_INVOKE_CONTROL event when it calls a method that is associated with a control. Siebel Open UI makes this call in reply to a user action. You can use this event to configure Siebel Open UI to call a method at the physical layer before it makes this call at a proxy layer. You can use this event with the following objects:

                                                                                          • method. The method that Siebel Open UI calls.

                                                                                          • inputPS. The input property set that Siebel Open UI sends to the method that it calls.

                                                                                          The following code is an example usage of this event:

                                                                                          "this.AttachEventHandler(siebConsts.get(""PHYEVENT_INV
                                                                                          OKE_CONTROL""),
                                                                                            function (method, inputPS, ai) {
                                                                                              if (method === ""WriteRecord""){
                                                                                                var valueObject = this.GetProperty 
                                                                                          (""FlaggedControlsValue"");
                                                                                                var min = this.Get(""MinRangeForFlagged"");
                                                                                                for (var value in valueObject){
                                                                                                  if (value < min){
                                                                                                    alert (""Invalid Values. Think again!"");
                                                                                                    return (false);
                                                                                                  }
                                                                                                }
                                                                                              }
                                                                                              return (true);
                                                                                            });"
                                                                                          

                                                                                          PHYEVENT_INVOKE_PICK

                                                                                          Siebel Open UI triggers the PHYEVENT_INVOKE_PICK event when it calls a pop-up control for a picklist. Siebel Open UI makes this call in reply to a user action on the keyboard or mouse. You can use this event to configure Siebel Open UI to handle the action that the pop-up control requests. You can use it with the following objects:

                                                                                          • control. The control object of the picklist that Siebel Open UI called.

                                                                                          The following code is an example usage of this event:

                                                                                          "this.AttachEventHandler(siebConsts.get(""PHYEVENT_INV
                                                                                          OKE_MVG""),
                                                                                            function (control) {
                                                                                              if (control === this.GetProperty(""AddressMVG"")){
                                                                                                varhighValue = this.Get(""HighVal"");
                                                                                                if (highValue < this.Get (""MinRangeForFlagged""){
                                                                                                  alert (""Sorry, can't popup this MVG"");
                                                                                                  return (false);
                                                                                                }
                                                                                              }
                                                                                              return (true);
                                                                                            });"
                                                                                          

                                                                                          PHYEVENT_INVOKE_MVG

                                                                                          Siebel Open UI triggers the PHYEVENT_INVOKE_MVG event when it calls a pop-up control for a multivalue group. Siebel Open UI makes this call in reply to a user action on the keyboard or mouse. You can use this event to configure Siebel Open UI to handle the action that the pop-up control requests. You can use it with the following objects:

                                                                                          • control. The control object of the multivalue group that Siebel Open UI called.

                                                                                          The following code is an example usage of this event:

                                                                                          "this.AttachEventHandler(siebConsts.get(""PHYEVENT_INV
                                                                                          OKE_MVG""),
                                                                                            function (control) {
                                                                                              if (control === this.GetProperty(""AddressMVG"")){
                                                                                                varhighValue = this.Get(""HighVal"");
                                                                                                if (highValue < this.Get (""MinRangeForFlagged""){
                                                                                                  alert (""Sorry, can't popup this MVG"");
                                                                                                  return (false);
                                                                                                }
                                                                                              }
                                                                                              return (true);
                                                                                            });"
                                                                                          

                                                                                          PHYEVENT_INVOKE_DETAIL

                                                                                          Siebel Open UI triggers the PHYEVENT_INVOKE_DETAIL event when it calls a pop-up details control. Siebel Open UI makes this call in reply to a user action on the keyboard or mouse. You can use this event to configure Siebel Open UI to handle the action that the pop-up control requests. You can use it with the following objects:

                                                                                          • control. The control object of the pop-up details control that Siebel Open UI called.

                                                                                          The following code is an example usage of this event:

                                                                                          "this.AttachEventHandler(siebConsts.get(""PHYEVENT_INV
                                                                                          OKE_DETAIL""),     
                                                                                            function (control) {    
                                                                                              if (control === this.GetProperty(""City"")){    
                                                                                                varhighValue = this.Get(""HighVal"");    
                                                                                                if (highValue < this.Get (""MinRangeForFlagged""){ 
                                                                                                  alert (""Sorry, can't use this Details"");    
                                                                                                  return (false);    
                                                                                                }    
                                                                                              }    
                                                                                              return (true);    
                                                                                            });" 
                                                                                          

                                                                                          PHYEVENT_INVOKE_EFFDAT

                                                                                          Siebel Open UI triggers the PHYEVENT_INVOKE_EFFDAT event when it calls a pop-up effective dating control. Siebel Open UI makes this call in reply to a user action on the keyboard or mouse. You can use this event to configure Siebel Open UI to handle the action that the pop-up control requests. You can use it with the following objects:

                                                                                          • control. The control object of the effective dating pop-up control that Siebel Open UI called.

                                                                                          The following code is an example usage of this event:

                                                                                          "this.AttachEventHandler(siebConsts.get(""PHYEVENT_INV
                                                                                          OKE_EFFDAT""),     
                                                                                            function (control) {    
                                                                                              if (control === this.GetProperty(""AccountTrail"")){    
                                                                                                varhighValue = this.Get(""HighVal"");    
                                                                                                if (highValue < this.Get (""MinRangeForFlagged""){    
                                                                                                  alert (""Sorry, can't open this Dating Popup"");    
                                                                                                  return (false);    
                                                                                                }    
                                                                                              }    
                                                                                              return (true);    
                                                                                            });" 
                                                                                          

                                                                                          PHYEVENT_INVOKE_COMBO

                                                                                          Siebel Open UI triggers the PHYEVENT_INVOKE_COMBO event when it calls a combo box or dropdown list. Siebel Open UI makes this call in reply to a user action on the keyboard or mouse. You can use this event to configure Siebel Open UI to handle the open action that the combo box or dropdown list requests. You can use it with the following objects:

                                                                                          • control. The control object of the combo box or dropdown list that Siebel Open UI called.

                                                                                          The following code is an example usage of this event:

                                                                                          "this.AttachEventHandler(siebConsts.get(""PHYEVENT_INV
                                                                                          OKE_COMBO""),     
                                                                                            function (control) {    
                                                                                              if (control === this.GetProperty(""Designation"")){    
                                                                                                varhighValue = this.Get(""HighVal"");    
                                                                                                if (highValue < this.Get (""MinRangeForFlagged""){    
                                                                                                  alert (""Sorry, can't open this Dropdown"");    
                                                                                                  return (false);    
                                                                                                }    
                                                                                              }    
                                                                                              return (true);    
                                                                                            });" 
                                                                                          

                                                                                          PHYEVENT_INVOKE_CURRENCY

                                                                                          Siebel Open UI triggers the PHYEVENT_INVOKE_CURRENCY event when it calls a popup currency calculator. Siebel Open UI makes this call in reply to a user action on the keyboard or mouse. You can use this event to configure Siebel Open UI to handle the open action that the currency calculator requests. You can use it with the following objects:

                                                                                          • control. The control object of the currency calculator that Siebel Open UI called.

                                                                                          The following code is an example usage of this event:

                                                                                          "this.AttachEventHandler(siebConsts.get(""PHYEVENT_INV
                                                                                          OKE_CURRENCY""),     
                                                                                            function (control) {    
                                                                                              if (control === 
                                                                                          this.GetProperty(""RevenueControl"")){    
                                                                                                varhighValue = this.Get(""HighVal"");    
                                                                                                if (highValue < this.Get (""MinRangeForFlagged""){    
                                                                                                  alert (""Sorry, can't open this currency 
                                                                                          field"");    
                                                                                                  return (false);    
                                                                                                }    
                                                                                              }    
                                                                                              return (true);    
                                                                                            });" 
                                                                                          

                                                                                          PHYEVENT_INVOKE_TOGGLE

                                                                                          Siebel Open UI triggers the PHYEVENT_INVOKE_TOGGLE event when it calls a control that includes a toggle layout configuration. Siebel Open UI makes this call in reply to a user action to toggle the layout. You can use this event to configure Siebel Open UI to handle the action that the toggle layout requests. You can use it with the following objects:

                                                                                          • value. Contains the value of the toggle control that exists after the user action.

                                                                                          The following code is an example usage of this event:

                                                                                          "this.AttachEventHandler(siebConsts.get(""PHYEVENT_INV
                                                                                          OKE_TOGGLE""),     
                                                                                            function (value) {    
                                                                                              if (value === this.GetProperty(""FlaggedControl"")){    
                                                                                                varhighValue = this.Get(""HighVal"");    
                                                                                                if (highValue < this.Get (""MinRangeForFlagged""){    
                                                                                                  alert (""Sorry, change the Range value to 
                                                                                          toggle"");    
                                                                                                  return (false);    
                                                                                                }    
                                                                                              }    
                                                                                              return (true);    
                                                                                            });" 
                                                                                          

                                                                                          PHYEVENT_DRILLDOWN_FORM

                                                                                          Siebel Open UI triggers the PHYEVENT_DRILLDOWN_FORM event when it calls a drilldown control that resides on a form applet. Siebel Open UI makes this call in reply to a user click on the drilldown. You can use this event to configure Siebel Open UI to handle the action that the drilldown requests. You can use it with the following objects:

                                                                                          • control. Identifies the control object that contains the destination of the drilldown control.

                                                                                          The following code is an example usage of this event:

                                                                                          "this.AttachEventHandler(siebConsts.get(""PHYEVENT_DRI
                                                                                          LLDOWN_FORM""),     
                                                                                            function (control) {    
                                                                                              if (control === this.GetProperty(""AccountDrill"")){    
                                                                                                varhighValue = this.Get(""HighVal"");    
                                                                                                if (highValue < this.Get (""MinRangeForFlagged""){    
                                                                                                  alert (""Sorry, change the Range value to 
                                                                                          drilldown"");    
                                                                                                  return (false);    
                                                                                                }    
                                                                                              }    
                                                                                              return (true);    
                                                                                            });" 
                                                                                          

                                                                                          PHYEVENT_ENTER_KEY_PRESS

                                                                                          Siebel Open UI triggers the PHYEVENT_ENTER_KEY_PRESS event when the user presses the Enter key. Siebel Open UI triggers it only if a control is in focus. You can use this event to handle an Enter key press before the proxy layer uses the default configuration to handle it. You can use this event with the following objects:

                                                                                          • control. Identifies the control object where the user used the Enter key.

                                                                                          The following code is an example usage of this event:

                                                                                          "this.AttachEventHandler(siebConsts.get(""PHYEVENT_ENT
                                                                                          ER_KEY_PRESS""),     
                                                                                            function (control) {    
                                                                                              if (control === this.GetProperty(""Salary"")){    
                                                                                                varhighValue = this.Get(""HighVal"");    
                                                                                                if (highValue < this.Get (""MinRangeForFlagged""){    
                                                                                                  alert (""Sorry, change the Range value to 
                                                                                          commit"");    
                                                                                                  return (false);    
                                                                                                }    
                                                                                              }    
                                                                                              return (true);    
                                                                                            });" 
                                                                                          

                                                                                          PHYEVENT_ESC_KEY_PRESS

                                                                                          Siebel Open UI triggers the PHYEVENT_ESC_KEY_PRESS event when the user presses the Esc (Escape) key. Siebel Open UI triggers it only if a control is in focus. You can use this event to handle an Esc key press before the proxy layer uses the default configuration to handle it. You can use this event with the following objects:

                                                                                          • control. Identifies the control object where the user used the Esc key.

                                                                                          The following code is an example usage of this event:

                                                                                          "this.AttachEventHandler(siebConsts.get(""PHYEVENT_ESC
                                                                                          _KEY_PRESS""),     
                                                                                            function (control) {    
                                                                                              if (control === this.GetProperty(""Salary"")){    
                                                                                                varhighValue = this.Get(""HighVal"");    
                                                                                                if (highValue < this.Get (""MinRangeForFlagged""){    
                                                                                                  alert (""Sorry, change the Range value to undo"");    
                                                                                                  return (false);    
                                                                                                }    
                                                                                              }    
                                                                                              return (true);    
                                                                                            });" 
                                                                                          

                                                                                          PHYEVENT_TAB_KEY_PRESS

                                                                                          Siebel Open UI triggers the PHYEVENT_TAB_KEY_PRESS event when the user presses the Tab key. Siebel Open UI triggers it only if a control is in focus. You can use this event to handle a Tab key press before the proxy layer uses the default configuration to handle it. You can use this event with the following objects:

                                                                                          • control. Identifies the control object where the user used the Tab key.

                                                                                          The following code is an example usage of this event:

                                                                                          "this.AttachEventHandler(siebConsts.get(""PHYEVENT_TAB
                                                                                          _KEY_PRESS""),     
                                                                                            function (control) {    
                                                                                              if (control === this.GetProperty(""Salary"")){    
                                                                                                varhighValue = this.Get(""HighVal"");    
                                                                                                if (highValue < this.Get (""MinRangeForFlagged""){    
                                                                                                  alert (""Sorry, change the Range value to undo"");    
                                                                                                  return (false);    
                                                                                                }    
                                                                                              }    
                                                                                              return (true);    
                                                                                            });" 
                                                                                          

                                                                                            Events That You Can Use to Customize List Applets

                                                                                            The following table describes the events that you can use to customize a list applet.

                                                                                            Table Events That You Can Use to Customize List Applets

                                                                                            Event Description

                                                                                            PHYEVENT_SELECT_ROW

                                                                                            Siebel Open UI triggers the PHYEVENT_SELECT_ROW event when the user chooses a row in a list applet. You can use it to determine whether or not the user clicked a row that is not the current row. Using this event might cause the state of objects that reside on the Siebel Server to be inconsistent with the state of objects that reside in the client.

                                                                                            You can use this event with the following objects:

                                                                                            • rowIndex. Contains the index of the row that the user clicks. It uses 0 as the index for the first row.

                                                                                            • shiftKey. Contains a Boolean value that indicates if the user pressed the Shift key while choosing a row.

                                                                                            • controlKey. Contains a Boolean value that indicates if the user pressed the Ctrl key while choosing a row.

                                                                                            The following code is an example usage of this event:

                                                                                            "this.AttachEventHandler(siebConsts.get(""PHYEVENT_SELECT
                                                                                            _ROW""),
                                                                                              function (rowIndex, shiftKey, controlKey) {
                                                                                                if (rowIndex === 0 && shiftKey){
                                                                                                  alert (""Do not multiselect all rows."");
                                                                                                  return (false);
                                                                                                }
                                                                                              });"
                                                                                            

                                                                                            PHYEVENT_COLUMN_FOCUS

                                                                                            Siebel Open UI triggers the PHYEVENT_COLUMN_FOCUS event when a column in a list applet comes into focus. You can use it to identify the column that is in focus, and to call custom code. You can use this event with the following objects:

                                                                                            • rowIndex. Contains the index of the current row. It uses 1 as the index for the first row.

                                                                                            • control. Identifies the column control object that comes into focus.

                                                                                            • value. Contains the value of the column control object.

                                                                                            The following code is an example usage of this event:

                                                                                            "this.AttachEventHandler(siebConsts.get(""PHYEVENT_COLUMN
                                                                                            _FOCUS""),
                                                                                              function (rowIndex, control, value) {
                                                                                                if (rowIndex > 5) {
                                                                                                  return (true);
                                                                                                }
                                                                                                if (this.Get(""AppletInFocus""){
                                                                                                  var controlArray = this.Get(""FlaggedControlSet"");
                                                                                                  if (controlArray.indexOf(control) >= 0){
                                                                                                    // Declare the flagged control.
                                                                                                    var valueObject = this.GetProperty 
                                                                                            (""FlaggedControlsValue"");
                                                                                                    if (value > maxValue){
                                                                                                      // Flag value that is higher than allowed when receiving focus.
                                                                                                      this.SetProperty (""FlagHigher"", true);
                                                                                                    }
                                                                                                  }
                                                                                                }
                                                                                                return (true);
                                                                                              });"
                                                                                            

                                                                                            PHYEVENT_COLUMN_BLUR

                                                                                            Siebel Open UI triggers the PHYEVENT_COLUMN_BLUR event when a column in a list applet goes out of focus. You can use it to identify the column that is going out of focus, and to call custom code. You can use this event with the following objects:

                                                                                            • rowIndex. Contains the index of the current row. It uses 1 as the index for the first row.

                                                                                            • control. Identifies the column control object that is going out of focus.

                                                                                            • value. Contains the value of the column control object.

                                                                                            The following code is an example usage of this event:

                                                                                            "this.AttachEventHandler(siebConsts.get(""PHYEVENT_COLUMN
                                                                                            _BLUR""),
                                                                                              function (rowIndex, control, value) {
                                                                                              if (rowIndex > 5) {
                                                                                                return (true);
                                                                                              }
                                                                                              if (this.Get(""AppletInFocus""){
                                                                                                var controlArray = this.Get(""FlaggedControlSet"");
                                                                                                if (controlArray.indexOf(control) >= 0)) {
                                                                                                  // This is a flagged control.
                                                                                                  var valueObject = this.GetProperty 
                                                                                            (""FlaggedControlsValue"");
                                                                                                  if (value > maxValue){
                                                                                                      // Value higher than allowed when receiving focus. 
                                                                                            Let's flag this.
                                                                                                      this.SetProperty (""FlagHigher"", true);
                                                                                                    }
                                                                                                  }
                                                                                                }
                                                                                                return (true);
                                                                                              });" 
                                                                                            

                                                                                            PHYEVENT_DRILLDOWN_LIST

                                                                                            Siebel Open UI triggers the PHYEVENT_DRILLDOWN_LIST event when the user clicks a drilldown link in a list applet. You can use it to call custom code when the user clicks a drilldown link. You can use this event with the following objects:

                                                                                            • rowIndex. Contains the index of the current row. It uses 1 as the index for the first row.

                                                                                            • colName. Contains the name of the column where the drilldown link resides.

                                                                                            The following code is an example usage of this event:

                                                                                            "this.AttachEventHandler(siebConsts.get(""PHYEVENT_DRILLD
                                                                                            OWN_LIST""),
                                                                                              function (colName, rowIndex) {
                                                                                              if (name === ""Type"")){
                                                                                                varmaxOptyArray = this.Get(""mO"");
                                                                                                if (maxOptyArray[rowIndex] >         
                                                                                            this.Get(""HigVal"")){
                                                                                                    alert (""Fix opportunity value before drilldown."");
                                                                                                    return (false);
                                                                                                  }
                                                                                                }
                                                                                                return (true);
                                                                                              });"
                                                                                            

                                                                                            PHYEVENT_VSCROLL_LIST

                                                                                            Siebel Open UI triggers the PHYEVENT_VSCROLL_LIST event when the user clicks the next page or previous page control in a list applet or tile applet. You can use it to call custom code when the user clicks one of these controls. Siebel Open UI does not trigger this event if the user uses a keyboard shortcut to do the pagination. You can use this event with the following objects:

                                                                                            • direction. Includes one the following values that describes the type of pagination that the user attempted:

                                                                                              • PAG_NEXT_RECORD. (Prior to Siebel Innovation Pack 2017 only) User paginated to the next record.

                                                                                              • PAG_PREV_RECORD. (Prior to Siebel Innovation Pack 2017 only) User paginated to the previous record.

                                                                                              • PAG_NEXT_SET. Displays the next record in the set.

                                                                                              • PAG_PREV_SET. Displays the previous record in the set.

                                                                                              • PAG_FIRST_SET. Displays the first record in the set.

                                                                                              • PAG_LAST_SET. Displays the last record in the set.

                                                                                              • PAG_SCROLL_UP. User scrolled up.

                                                                                              • PAG_SCROLL_DN. User scrolled down.

                                                                                            The following code is an example usage of this event:

                                                                                            "this.AttachEventHandler(siebConsts.get(""PHYEVENT_VSCROL
                                                                                            L_LIST""),
                                                                                              function (direction) {
                                                                                              if (direction 
                                                                                            ===SiebelApp.Contants.Get(""PAG_NEXT_SET"")){
                                                                                                  alert (""Jump record by record. Not sets."");
                                                                                                  return (false);
                                                                                                }
                                                                                                return (true);
                                                                                              });"
                                                                                            

                                                                                            PHYEVENT_SORT_LIST

                                                                                            Siebel Open UI triggers the PHYEVENT_SORT_LIST event when the user sorts a list column. You can use it to call custom code when the user does this sort. You can use this event with the following objects:

                                                                                            • colName. Identifies the name of the column that the user is sorting.

                                                                                            • direction. Identifies one of the following directions:

                                                                                              • SORT_ASCENDING. The user is sorting the column in ascending order.

                                                                                              • SORT_DESCENDING. The user is sorting the column in descending order.

                                                                                            The following code is an example usage of this event:

                                                                                            "this.AttachEventHandler(siebConsts.get(""PHYEVENT_SORT_L
                                                                                            IST""),
                                                                                              function (colName, direction) {
                                                                                              if (colName === ""Type""){
                                                                                                if (direction === 
                                                                                            SiebelApp.Constants.Get(""SORT_ASCENDING"")){
                                                                                                    alert (""You cannot sort this column."");
                                                                                                    return (false);
                                                                                                  }
                                                                                                }
                                                                                                return (true);
                                                                                              });"
                                                                                            

                                                                                            PHYEVENT_HIER_EXPAND

                                                                                            Siebel Open UI triggers the PHYEVENT_HIER_EXPAND event when the user expands a row in a hierarchal list applet. You can use it to call custom code when the user does this expansion. Siebel Open UI uses this event only with hierarchal list applets. You can use this event with the following objects:

                                                                                            • rowNum. Contains the row number that the user is expanding. It uses 0 as the number for the first row.

                                                                                            The following code is an example usage of this event:

                                                                                            "this.AttachEventHandler(siebConsts.get(""PHYEVENT_HIER_E
                                                                                            XPAND""),
                                                                                              function (rowNum) {
                                                                                              if (rowNum === 0)){
                                                                                                varhighValue = this.Get(""HighVal"");
                                                                                                if (highValue < this.Get (""MinRangeForFlagged""){ 
                                                                                                    alert (""Sorry. Change the Range value to expand this row."");
                                                                                                    return (false);
                                                                                                  }
                                                                                                }
                                                                                                return (true);
                                                                                              });"
                                                                                            

                                                                                            PHYEVENT_HIER_COLLAPSE

                                                                                            Siebel Open UI triggers the PHYEVENT_HIER_COLLAPSE event when the user collapses a row in a hierarchal list applet. You can use it to call custom code when the user does this collapse. Siebel Open UI uses this event only with hierarchal list applets. You can use this event with the following objects:

                                                                                            • rowNum. Contains the row number that the user is collapsing. It uses 0 as the number for the first row.

                                                                                            The following code is an example usage of this event:

                                                                                            "this.AttachEventHandler(siebConsts.get(""PHYEVENT_HIER_C
                                                                                            OLLAPSE""),
                                                                                              function (rowNum) {
                                                                                              if (rowNum === 2)){
                                                                                                varhighValue = this.Get(""HighVal"");
                                                                                                if (highValue < this.Get (""MinRangeForFlagged""){
                                                                                                    alert (""Sorry, change the Range to collapse this row."");
                                                                                                    return (false);
                                                                                                  }
                                                                                                }
                                                                                                return (true);
                                                                                              });"
                                                                                            

                                                                                              Languages That Siebel Open UI Supports

                                                                                              This topic lists the languages that Siebel Open UI supports. It supports the i18N internationalization standard. In most situations, it does not hard code strings, and it uses language independent values for each LOV (list of values) instead of translated values. For more information about how to customize Siebel Open UI to support multiple languages, see Displaying Control Labels in Different Languages.

                                                                                                Languages That Siebel Open UISupports for Windows, AIX, Oracle Solaris, and HP-UX

                                                                                                The following table lists the languages That Siebel Open UI supports for Windows, AIX, Oracle Solaris, and HP-UX. The Lang column lists the language_code.

                                                                                                Table Languages That Siebel Open UI Supports for Windows, AIX, Oracle Solaris, and HP-UX

                                                                                                Lang Codepage Windows AIX Oracle Solaris HP-UX

                                                                                                ARA

                                                                                                1256

                                                                                                Arabic (Saudi Arabia)

                                                                                                AR_SA.UTF-8

                                                                                                ar_SA.UTF-8

                                                                                                ar_SA.

                                                                                                utf8

                                                                                                CHS

                                                                                                936

                                                                                                Chinese, Simplified

                                                                                                ZH_CN.UTF-8

                                                                                                zh_CN.UTF-8

                                                                                                zh_CN.utf8

                                                                                                CHT

                                                                                                950

                                                                                                Chinese, Traditional

                                                                                                ZH_TW.UTF-8

                                                                                                zh_TW.UTF-8

                                                                                                zh_TW.utf8

                                                                                                CSY

                                                                                                1250

                                                                                                Czech

                                                                                                CS_CZ.UTF-8

                                                                                                cs_CZ.UTF-8

                                                                                                univ.utf8

                                                                                                DAN

                                                                                                1252

                                                                                                Danish

                                                                                                DA_DK.UTF-8

                                                                                                da_DK.UTF-8

                                                                                                univ.utf8

                                                                                                DEU

                                                                                                1252

                                                                                                German, Standard

                                                                                                DE_DE.UTF-8

                                                                                                de_DE.UTF-8@euro

                                                                                                de_DE.utf8

                                                                                                ENU

                                                                                                1252

                                                                                                English, American

                                                                                                EN_US.UTF-8

                                                                                                en_US.UTF-8

                                                                                                univ.utf8

                                                                                                ESN

                                                                                                1252

                                                                                                Spanish, Modern

                                                                                                ES_ES.UTF-8

                                                                                                es_ES.UTF-8@euro

                                                                                                es_ES.utf8

                                                                                                FIN

                                                                                                1252

                                                                                                Finnish

                                                                                                FI_FI.UTF-8

                                                                                                fi_FI.UTF-8@euro

                                                                                                univ.utf8

                                                                                                FRA

                                                                                                1252

                                                                                                French, Standard

                                                                                                FR_FR.UTF-8

                                                                                                fr_FR.UTF-8@euro

                                                                                                fr_UR.utf8

                                                                                                HEB

                                                                                                1255

                                                                                                Hebrew

                                                                                                HE_IL.UTF-8

                                                                                                he_IL.UTF-8

                                                                                                univ.utf8

                                                                                                ITA

                                                                                                1252

                                                                                                Italian, Standard

                                                                                                IT_IT.UTF-8

                                                                                                it_IT.UTF-8@euro

                                                                                                it_IT.utf8

                                                                                                JPN

                                                                                                932

                                                                                                Japanese

                                                                                                JA_JP.UTF-8

                                                                                                ja_JP.UTF-8

                                                                                                ja_JP.utf8

                                                                                                KOR

                                                                                                949

                                                                                                Korean

                                                                                                KO_KR.UTF-8

                                                                                                ko_KR.UTF-8

                                                                                                ko_KR.utf8

                                                                                                NLD

                                                                                                1252

                                                                                                Dutch, Standard

                                                                                                NL_NL.UTF-8

                                                                                                nl_NL.UTF-8@euro

                                                                                                univ.utf8

                                                                                                PTB

                                                                                                1252

                                                                                                Portuguese, Brazilian

                                                                                                PT_BR.UTF-8

                                                                                                pt_BR.UTF-8

                                                                                                univ.utf8

                                                                                                PTG

                                                                                                1252

                                                                                                Portuguese, Standard

                                                                                                PT_PT.UTF-8

                                                                                                pt_PT.UTF-8@euro

                                                                                                univ.utf8

                                                                                                SVE

                                                                                                1252

                                                                                                Swedish

                                                                                                SV_SE.UTF-8

                                                                                                sv_SE.UTF-8

                                                                                                sv_SE.utf8

                                                                                                THA

                                                                                                874

                                                                                                Thai, Thailand

                                                                                                TH_TH.UTF-8

                                                                                                th_TH.UTF-8

                                                                                                th_TH.utf8

                                                                                                RUS

                                                                                                1251

                                                                                                Russian

                                                                                                RU_RU.UTF-8

                                                                                                ru_RU.UTF-8

                                                                                                ru_RU.utf8

                                                                                                TRK

                                                                                                1254

                                                                                                Turkish

                                                                                                TR_TR.UTF-8

                                                                                                tr_TR.UTF-8

                                                                                                tr_TR.utf8

                                                                                                PLK

                                                                                                1250

                                                                                                Polish

                                                                                                PL_PL.UTF-8

                                                                                                pl_PL.UTF-8

                                                                                                pl_PL.utf8

                                                                                                  Languages That Siebel Open UI Supports for Linux RH, Linux SuSe, Enterprise Linux, and Java Locale Code

                                                                                                  The following table lists the languages that Siebel Open UI supports for Linux RH, Linux SuSe, Enterprise Linux, and Java Locale Code. The Lang column lists the language_code.

                                                                                                  Table Languages That Siebel Open UI Supports for Linux RH, Linux SuSe, Enterprise Linux, and Java Locale Code

                                                                                                  Lang Codepage Linux RH Linux SuSe Enterprise Linux Java Locale Code

                                                                                                  CHS

                                                                                                  936

                                                                                                  zh_CN.utf8

                                                                                                  zh_CN.utf8

                                                                                                  zh_CN.utf8

                                                                                                  zh_CN

                                                                                                  CHT

                                                                                                  950

                                                                                                  zh_TW.utf8

                                                                                                  zh_TW.utf8

                                                                                                  zh_TW.utf8

                                                                                                  zh_TW

                                                                                                  CSY

                                                                                                  1250

                                                                                                  cs_CZ.utf8

                                                                                                  cs_CZ.utf8

                                                                                                  cs_CZ.utf8

                                                                                                  cs_CZ

                                                                                                  DAN

                                                                                                  1252

                                                                                                  da_DK.utf8

                                                                                                  da_DK.utf8

                                                                                                  da_DK.utf8

                                                                                                  da_DK

                                                                                                  DEU

                                                                                                  1252

                                                                                                  de_DE.utf8

                                                                                                  de_DE.utf8

                                                                                                  de_DE.utf8

                                                                                                  de_DE

                                                                                                  ENU

                                                                                                  1252

                                                                                                  en_US.utf8

                                                                                                  en_US.utf8

                                                                                                  en_US.utf8

                                                                                                  en_US

                                                                                                  ESN

                                                                                                  1252

                                                                                                  es_ES.utf8

                                                                                                  es_ES.utf8

                                                                                                  es_ES.utf8

                                                                                                  es_ES

                                                                                                  FIN

                                                                                                  1252

                                                                                                  fi_FI.utf8

                                                                                                  fi_FI.utf8

                                                                                                  fi_FI.utf8

                                                                                                  fi_FI

                                                                                                  FRA

                                                                                                  1252

                                                                                                  fr_FR.utf8

                                                                                                  fr_FR.utf8

                                                                                                  fr_FR.utf8

                                                                                                  fr_FR

                                                                                                  ITA

                                                                                                  1252

                                                                                                  it_IT.utf8

                                                                                                  it_IT.utf8

                                                                                                  it_IT.utf8

                                                                                                  it_IT

                                                                                                  JPN

                                                                                                  932

                                                                                                  ja_JP.utf8

                                                                                                  ja_JP.utf8

                                                                                                  ja_JP.utf8

                                                                                                  ja_JP

                                                                                                  KOR

                                                                                                  949

                                                                                                  ko_KR.utf8

                                                                                                  ko_KR.utf8

                                                                                                  ko_KR.utf8

                                                                                                  ko_KR

                                                                                                  NLD

                                                                                                  1252

                                                                                                  nl_NL.utf8

                                                                                                  nl_NL.utf8

                                                                                                  nl_NL.utf8

                                                                                                  nl_NL

                                                                                                  PTB

                                                                                                  1252

                                                                                                  pt_BR.utf8

                                                                                                  pt_BR.utf8

                                                                                                  pt_BR.utf8

                                                                                                  pt_BR

                                                                                                  PTG

                                                                                                  1252

                                                                                                  pt_PT.utf8

                                                                                                  pt_PT.utf8

                                                                                                  pt_PT.utf8

                                                                                                  pt_PT

                                                                                                  SVE

                                                                                                  1252

                                                                                                  sv_SE.utf8

                                                                                                  sv_SE.utf8

                                                                                                  sv_SE.utf8

                                                                                                  sv_SE

                                                                                                  THA

                                                                                                  874

                                                                                                  th_TH.utf8

                                                                                                  th_TH.utf8

                                                                                                  th_TH.utf8

                                                                                                  th_TH

                                                                                                  RUS

                                                                                                  1251

                                                                                                  ru_RU.utf8

                                                                                                  ru_RU.utf8

                                                                                                  ru_RU.utf8

                                                                                                  ru_RU

                                                                                                  TRK

                                                                                                  1254

                                                                                                  tr_TR.utf8

                                                                                                  tr_TR.utf8

                                                                                                  tr_TR.utf8

                                                                                                  tr_TR

                                                                                                  POL

                                                                                                  1250

                                                                                                  pl_PL.utf8

                                                                                                  pl_PL.utf8

                                                                                                  pl_PL.utf8

                                                                                                  pl_PL

                                                                                                    Screens and Views That Siebel Mobile Uses

                                                                                                      Screens and Views That Siebel Consumer Goods Uses

                                                                                                      The following table lists the predefined screens and views that Siebel Mobile uses for Siebel Consumer Goods.

                                                                                                      Table Screens and Views That Siebel Consumer Goods Uses

                                                                                                      Screen View Name in Client View Name in Siebel Tools

                                                                                                      Accounts

                                                                                                      Addresses

                                                                                                      CG Account Addresses View - Mobile

                                                                                                      Calls

                                                                                                      CG Account Calls Views - Mobile

                                                                                                      Contacts

                                                                                                      CG Account Contacts View - Mobile

                                                                                                      Accounts

                                                                                                      CG Account List View - Mobile

                                                                                                      Notes

                                                                                                      CG Account Notes View - Mobile

                                                                                                      Orders

                                                                                                      CG Account Orders View - Mobile

                                                                                                      Retail Audits

                                                                                                      CG Account Product Audits View - Mobile

                                                                                                      Product Distribution

                                                                                                      CG Account Products View - Mobile

                                                                                                      Contacts

                                                                                                      Addresses

                                                                                                      CG Contact Addresses View - Mobile

                                                                                                      Best Call Time

                                                                                                      CG Contact Best Call Times View - Mobile

                                                                                                      Contacts

                                                                                                      CG Contact List View - Mobile

                                                                                                      Routes

                                                                                                      Route Accounts

                                                                                                      CG Routes Accounts View - Mobile

                                                                                                      Routes

                                                                                                      CG Routes List View - Mobile

                                                                                                      Calls

                                                                                                      Assessment

                                                                                                      CG Call Account Assessment View - Mobile

                                                                                                      Notes

                                                                                                      CG Call Account Notes View - Mobile

                                                                                                      Merchandising Audits

                                                                                                      CG Call Merchandising Audits View - Mobile

                                                                                                      Orders

                                                                                                      CG Call Orders View - Mobile

                                                                                                      Retail Audits

                                                                                                      CG Call Retail Audit List View - Mobile

                                                                                                      Calls

                                                                                                      CG Outlet Visit Activities List View - Mobile

                                                                                                      Call Items

                                                                                                      CG Visit Call Items List View - Mobile

                                                                                                      Orders

                                                                                                      Orders

                                                                                                      CG Order List View - Mobile

                                                                                                      Returns

                                                                                                      Returns

                                                                                                      CG Return Order List View - Mobile

                                                                                                        Screens and Views That Siebel Sales Uses

                                                                                                        The following table lists the predefined screens and views that Siebel Mobile uses for Siebel Sales.

                                                                                                        Table Screens and Views That Siebel Sales Uses

                                                                                                        Screen View Name in Client View Name in Siebel Tools

                                                                                                        Accounts

                                                                                                        Accounts

                                                                                                        SHCE Account List View - Mobile

                                                                                                        Account Contacts

                                                                                                        SHCE Account Contacts View - Mobile

                                                                                                        Account Opportunities

                                                                                                        SHCE Account Opportunity View - Mobile

                                                                                                        Account Address

                                                                                                        SHCE Account Address View - Mobile

                                                                                                        Account Activities

                                                                                                        SHCE Account Activities View - Mobile

                                                                                                        Account Team

                                                                                                        SHCE Account Team View - Mobile

                                                                                                        Contacts

                                                                                                        Contacts

                                                                                                        SHCE Sales Contact List View - Mobile

                                                                                                        Contact Opportunities

                                                                                                        SHCE Sales Contact Opportunities View - Mobile

                                                                                                        Contact Team

                                                                                                        SHCE Contact Team View - Mobile

                                                                                                        Contact Addresses

                                                                                                        SHCE Contact Address View - Mobile

                                                                                                        Leads

                                                                                                        Leads

                                                                                                        SHCE Sales Lead List View - Mobile

                                                                                                        Lead Opportunities

                                                                                                        SHCE Sales Lead Opportunities View - Mobile

                                                                                                        Opportunities

                                                                                                        Opportunities

                                                                                                        SHCE Opportunities List View - Mobile

                                                                                                        Opportunity Contacts

                                                                                                        SHCE Sales Opportunities Contacts View - Mobile

                                                                                                        Opportunity Products

                                                                                                        SHCE Sales Opportunities Products View - Mobile

                                                                                                        Opportunity Quotes

                                                                                                        SHCE Sales Opportunities Quotes View - Mobile

                                                                                                        Opportunity Activities

                                                                                                        SHCE Sales Opportunities Activities View - Mobile

                                                                                                        Opportunity Team

                                                                                                        SHCE Sales Opportunities Opportunity Team View - Mobile

                                                                                                        Quotes

                                                                                                        Quotes

                                                                                                        SHCE Quote List View - Mobile

                                                                                                        Quote Items

                                                                                                        SHCE Quote QuoteItem View - Mobile

                                                                                                        Quote Orders

                                                                                                        SHCE Quote Order View - Mobile

                                                                                                        Quote Team

                                                                                                        SHCE Quote Team View - Mobile

                                                                                                        Orders

                                                                                                        Orders

                                                                                                        SHCE Sales Orders List View - Mobile

                                                                                                        Order Items

                                                                                                        SHCE Sales Order line Item View - Mobile

                                                                                                        Activities

                                                                                                        Activities

                                                                                                        SHCE Activity List View - Mobile

                                                                                                        Activity Contact

                                                                                                        SHCE Sales Activity Contact Form View - Mobile

                                                                                                        Activity Employee

                                                                                                        SHCE Sales Activity Employee Form View - Mobile

                                                                                                          Screens and Views That Siebel Service Uses

                                                                                                          The following table lists the predefined screens and views that Siebel Mobile uses for Siebel Service.

                                                                                                          Table Screens and Views That Siebel Service Uses

                                                                                                          Screen View Name in Client View Name in Siebel Tools

                                                                                                          Activities

                                                                                                          Service Activities

                                                                                                          SHCE Service Activity Home Page View - Mobile

                                                                                                          Activity Contacts

                                                                                                          SHCE Service Activity Contact Form View - Mobile

                                                                                                          Activity Recommended Part

                                                                                                          SHCE Service FS Activity Recommended Parts Tools - Mobile

                                                                                                          Activity Steps

                                                                                                          SHCE Service Activity FS Steps View - Mobile

                                                                                                          Activity Instructions

                                                                                                          SHCE Service Activity FS Instructions List view - Mobile

                                                                                                          Activity Part Tracker

                                                                                                          SHCE Service FS Activity Part Movements View - Mobile

                                                                                                          Activity Time Tracker

                                                                                                          SHCE Service Activity Time View - Mobile

                                                                                                          Activity Expense Tracker

                                                                                                          SHCE Service Activity FS Expense View - Mobile

                                                                                                          Activity Invoices

                                                                                                          SHCE Service FS Invoice - Auto Invoice View - Mobile

                                                                                                          Service Requests

                                                                                                          Service Requests

                                                                                                          SHCE Service Service Request View - Mobile

                                                                                                          Service Request Orders

                                                                                                          SHCE Service SR Orders View - Mobile

                                                                                                          Service Request Activities

                                                                                                          SHCE Service SR Activity View - Mobile

                                                                                                          Service Request Invoices

                                                                                                          SHCE Service SR Invoices View - Mobile

                                                                                                          Accounts

                                                                                                          Accounts

                                                                                                          SHCE Service Accounts View - Mobile

                                                                                                          Account Contacts

                                                                                                          SHCE Service Account Contacts View - Mobile

                                                                                                          Account Service Requests

                                                                                                          SHCE Service Account SRs View - Mobile

                                                                                                          Account Assets

                                                                                                          SHCE Service Account Assets View - Mobile

                                                                                                          Account Entitlements

                                                                                                          SHCE Service Account Entitlements View - Mobile

                                                                                                          Browser

                                                                                                          Part Browser

                                                                                                          SHCE Service My Part Browser View - Mobile

                                                                                                          Part Browser Availability

                                                                                                          SHCE Service Part Browser Availability View - Mobile

                                                                                                          Part Browser Substitutes

                                                                                                          SHCE Service Part Browser Substitute View - Mobile

                                                                                                          Orders

                                                                                                          Orders

                                                                                                          SHCE Service Orders List View - Mobile

                                                                                                          Order Line Items

                                                                                                          SHCE Service Order line Item View - Mobile

                                                                                                          Invoices

                                                                                                          Invoices

                                                                                                          SHCE Service Invoice List View - Mobile

                                                                                                          Invoice Line Items

                                                                                                          SHCE Service Invoice line Item View - Mobile

                                                                                                          Assets

                                                                                                          Assets

                                                                                                          SHCE Service Asset List View - Mobile

                                                                                                          Asset Measurements

                                                                                                          SHCE Service Asset Measurement View - Mobile

                                                                                                          Asset Warranty

                                                                                                          SHCE Service Asset Warranty View - Mobile

                                                                                                          Asset Entitlements

                                                                                                          SHCE Service Asset Entitlements View - Mobile

                                                                                                          Asset Readings

                                                                                                          SHCE Service Asset Reading View - Mobile

                                                                                                            Screens and Views That Siebel Pharma Uses

                                                                                                            The following table lists the predefined screens and views that Siebel Mobile uses for Siebel Pharma.

                                                                                                            Table Screens and Views That Siebel Pharma Uses

                                                                                                            Screen View Name in Client View Name in Siebel Tools

                                                                                                            Accounts

                                                                                                            Addresses

                                                                                                            Pharma Account Addresses View - Mobile

                                                                                                            Affiliations

                                                                                                            Pharma Account Affiliations View - Mobile

                                                                                                            Calls

                                                                                                            Pharma Account Calls View - Mobile

                                                                                                            Contacts

                                                                                                            Pharma Account Contact View - Mobile

                                                                                                            Accounts

                                                                                                            Pharma Account List View - Mobile

                                                                                                            Relationships

                                                                                                            Pharma Account Relationships View - Mobile

                                                                                                            Contacts

                                                                                                            Addresses

                                                                                                            Pharma Contact Address View - Mobile

                                                                                                            Affiliations

                                                                                                            Pharma Contact Affiliations View - Mobile

                                                                                                            Best Time

                                                                                                            Pharma Contact Best Contact Times View - Mobile

                                                                                                            Calls

                                                                                                            Pharma Contact Call View - Mobile

                                                                                                            Contacts

                                                                                                            Pharma Contact List View - Mobile

                                                                                                            Relationships

                                                                                                            Pharma Contact Relationships View - Mobile

                                                                                                            State Licenses

                                                                                                            Pharma Contact State Licenses View - Mobile

                                                                                                            Calls

                                                                                                            Attendees

                                                                                                            SIS HH Pharma Account Call Attendee View - Mobile

                                                                                                            Product Details

                                                                                                            SIS HH Pharma Professional Call Products Detailed View - Mobile

                                                                                                            Promotional Items Dropped

                                                                                                            SIS HH Pharma Professional Promotional Items View - Mobile

                                                                                                            Samples Dropped

                                                                                                            SIS HH Pharma Professional Samples Dropped View - Mobile

                                                                                                            Calls

                                                                                                            LS Pharma Professional Call Execute View - Mobile

                                                                                                            (No Title)

                                                                                                            LS Pharma Call Signature Capture View - Mobile

                                                                                                            Validation Results

                                                                                                            LS Pharma Call Validation Results View - Mobile

                                                                                                              Controls That Siebel Open UI Uses

                                                                                                              This topic describes the controls that Siebel Open UI uses.

                                                                                                                Predefined Controls That Siebel Open UI Uses

                                                                                                                The following table describes the predefined controls that Siebel Open UI uses.

                                                                                                                Table Predefined Controls That Siebel Open UI Uses

                                                                                                                Control Name Description Where Defined

                                                                                                                Currency

                                                                                                                Sets the currency.

                                                                                                                controlbuilder.js

                                                                                                                DetailPopup

                                                                                                                Displays more information for a field.

                                                                                                                EffDat

                                                                                                                Sets the effective date.

                                                                                                                Mvg

                                                                                                                Chooses more than one value.

                                                                                                                PhoneCtrl

                                                                                                                Enters a phone number.

                                                                                                                Pick

                                                                                                                Chooses a value.

                                                                                                                SelectCtrl

                                                                                                                Makes a selection.

                                                                                                                List UI

                                                                                                                Displays records in a list.

                                                                                                                jqgridrenderer.js

                                                                                                                btnControl

                                                                                                                Displays a button.

                                                                                                                phyrenderer.js

                                                                                                                chartControl

                                                                                                                Displays a chart.

                                                                                                                checkBoxCtrl

                                                                                                                Displays a check box.

                                                                                                                comboControl

                                                                                                                Displays a combobox.

                                                                                                                fileControl

                                                                                                                Uploads files.

                                                                                                                imageControl

                                                                                                                Displays an image.

                                                                                                                ink

                                                                                                                Captures a signature in a mobile environment.

                                                                                                                label

                                                                                                                Displays a label.

                                                                                                                link

                                                                                                                Displays a link that navigates to another view.

                                                                                                                mailToControl

                                                                                                                Sends an email message.

                                                                                                                plainText

                                                                                                                Displays the contents of a field that is not editable, is not navigable, or does not possess a state. For example, a label.

                                                                                                                radioButton

                                                                                                                Displays a radio button.

                                                                                                                text

                                                                                                                Displays text.

                                                                                                                textArea

                                                                                                                Displays a text area.

                                                                                                                urlControl

                                                                                                                Displays an external URL. For example, http://www.google.com.

                                                                                                                Map UI

                                                                                                                Displays a map.

                                                                                                                siebelmaprenderer.js

                                                                                                                Tiles UI

                                                                                                                Displays records in a tile.

                                                                                                                Tilescrollcontainer.js

                                                                                                                  Other Controls That Siebel Open UI Uses

                                                                                                                  The following table describes other controls that Siebel Open UI uses. It uses all these controls in the controlbuilder.js file in addition to the files that the Where Defined column lists.

                                                                                                                  Table Other Controls That Siebel Open UI Uses

                                                                                                                  Control Name Description Where Defined

                                                                                                                  DatePick

                                                                                                                  Sets the date.

                                                                                                                  datepicker-ext.js

                                                                                                                  DateTimePick

                                                                                                                  Sets the date and time.

                                                                                                                  jquery-ui-timepicker-addon.js

                                                                                                                  Calculator

                                                                                                                  Displays a calculator.

                                                                                                                  jquery.calculator.zip

                                                                                                                  RTCeditor

                                                                                                                  Enters rich text.

                                                                                                                  ckeditor_3.6.3.zip

                                                                                                                  ckeditor-custom.zip

                                                                                                                  FileUploader

                                                                                                                  Uploads files.

                                                                                                                  jquery.fileupload.js

                                                                                                                    Browser Script Compatibility

                                                                                                                    Siebel Open UI supports your existing browser script. However, it is recommended that you customize a presentation model instead of using browser script. It is recommended that you gradually move any logic that you implement through your existing browser script to the presentation model.

                                                                                                                    You can write a browser script in JavaScript. This script can interact with the Document Object Model (DOM) and with the Siebel Object Model that is available in the Web browser through a shadow object. You can script the behavior of Siebel events and the browser events that the DOM exposes.

                                                                                                                    Siebel Open UI uses a JavaScript environment that allows you to implement browser scripting. This JavaScript API can dynamically refresh page content and instantly commit customization modifications. If your implementation currently uses browser scripting, then you can refactor JavaScript to move from your existing employee application to Siebel Open UI. Refactoring is the process of modifying the internal structure of existing code without modifying the external behavior of this code. For more information about this JavaScript API, see Application Programming Interface.

                                                                                                                      Sequence That Siebel Open UIwith Custom Browser Script

                                                                                                                      The following pseudocode describes the sequence that Siebel Open UI uses if your deployment includes custom browser script:

                                                                                                                      PR calls a PM method or event    
                                                                                                                      PM method or event calls an applet proxy method    
                                                                                                                      applet proxy method calls Applet_PreInvokeMethod on browser script     
                                                                                                                      applet proxy uses Call-Server to run applet method on Siebel Server    
                                                                                                                      PM runs Attach Pre Proxy binding for this applet method    
                                                                                                                      applet proxy calls Applet_InvokeMethod that resides in browser script    
                                                                                                                      PM runs Attach Post Proxy binding for this applet method    
                                                                                                                      applet proxy method ends    
                                                                                                                      PM method or event ends    
                                                                                                                      PR call ends 
                                                                                                                      

                                                                                                                      where:

                                                                                                                      • PR is the physical renderer

                                                                                                                      • PM is the presentation model

                                                                                                                      For example, the following pseudocode describes the sequence that Siebel Open UI uses if the user clicks New in an applet, and if your deployment includes custom browser script that uses a method named NewRecord:

                                                                                                                      PR calss PM.OnControlEvent    
                                                                                                                      PM.OnControlEvent calls Applet.InvokeMethod    
                                                                                                                      Applet.InvokeMethod calls BrowserScript.Applet_PreInvokeMethod    
                                                                                                                      Applet.InvokeMethod calls Siebel Server to run NewRecord method on applet    
                                                                                                                      PM calls PM.AttachPreProxyExecuteBinding for the NewRecord method    
                                                                                                                      Applet.InvokeMethod calls BrowserScript.Applet_InvokeMethod    
                                                                                                                      PM calls PM.AttachPostProxyExecuteBinding for the NewRecord method    
                                                                                                                      Applet.InvokeMethod ends    
                                                                                                                      PM.OnControlEvent ends    
                                                                                                                      PR call ends 
                                                                                                                      

                                                                                                                        How Siebel Open UI Handles Custom Client Scripts

                                                                                                                        Siebel Open UI uses browser script through a JavaScript shadow object, which is a type of object that Siebel Open UI uses for client scripting. All other client objects include a corresponding shadow object, except for the PropertySet. For example, the JSSApplet object includes the JSSAppletShadow shadow object. Siebel Open UI exposes this shadow object to scripting. When Siebel Open UI prepares to display the applet, SWE determines whether or not a browser script is defined for this applet. If this script exists, then Siebel Open UI downloads the browser script file that contains the definition of the shadow object from the Siebel Server to the client.

                                                                                                                        For example, assume you write a browser script for an applet to handle the PreInvokeMethod event. At run-time, Siebel Open UI creates a JavaScript object that it derives from the JSSAppletShadow object. It runs the PreInvokeMethod event and the event handler of the shadow object before it calls the DoInvokeMethod event. Each shadow object includes a reference to the underlying object. The shadow object sends the call to this underlying object, if necessary. For more information about deriving values, see Deriving Presentation Models, Physical Renderers and Plug-in Wrappers.

                                                                                                                          How Siebel Open UI Creates Shadow Objects for Applications

                                                                                                                          Siebel Open UI creates an application shadow object with the following application object during application startup:

                                                                                                                          Application InvokeMethod    
                                                                                                                          ......................    
                                                                                                                          bRet = this.*FirePreInvokeMethod*(methodName, inputPS);    
                                                                                                                          ;return from here if the return value of the PreInvokeMethod is CancelOperation    
                                                                                                                          ; continue to invokemethod if the return value is ContinueOperation    
                                                                                                                          ......................    
                                                                                                                          this.DoInvokeMethod (methodName, args);    
                                                                                                                          this.*FireInvokeMethod*(methodName, inputPS); 
                                                                                                                          

                                                                                                                            How Siebel Open UI Creates Shadow Objects for Business Objects

                                                                                                                            Siebel Open UI uses a business object shadow object only in other shadow objects, such as an application shadow object, applet shadow object, or business component shadow object.

                                                                                                                              How Siebel Open UI Creates Shadow Objects for Applets, Business Components, or Business Services

                                                                                                                              Siebel Open UI does the following to create a shadow object for an applet, business component, or business service:

                                                                                                                              • Siebel Server. Siebel Open UI creates the ObjInfo (SWE_PROP_SHADOW) shadow when it encounters an object that includes a custom script that you write. The server gets the class name and the file name of the shadow from the Siebel Runtime Repository. It packages the class name and file name into the SWE_PROP_SHADOW, and then sends it to client.

                                                                                                                              • Client. Siebel Open UI gets the class name and the file name from SWE_PROP_SHADOW, loads the script file, creates the shadow object with the retrieved class name, and then stores the shadow pointer in the applet object or the business component object.

                                                                                                                              The process is the same for a business service except Siebel Open UI uses the SWE_PST_SERVICE_SHADOWS shadow.

                                                                                                                                How Siebel Open UI Creates Shadow Objects for Controls

                                                                                                                                Siebel Open UI does the following to create a shadow object for a control:

                                                                                                                                • Siebel Server. Siebel Open UI creates the ObjInfo (SWE_PROP_SHADOW) shadow object if it encounters a control that includes a script that you write. It gets the event name of the control from the Siebel Runtime Repository. It packages event names into the SWE_PST_SCRIPTS shadow, and then sends it to client.

                                                                                                                                • Client. Siebel Open UI gets the list of control events from the SWE_PST_SCRIPTS shadow, and then calls these methods from the corresponding predefined methods.

                                                                                                                                  Browser Script Object Types

                                                                                                                                  You can use the following object types in browser script:

                                                                                                                                  • Application

                                                                                                                                  • Applet

                                                                                                                                  • Control

                                                                                                                                  • Business object

                                                                                                                                  • Business component

                                                                                                                                  • Business service property

                                                                                                                                    Event Handlers You Can Use to Handle Predefined Events

                                                                                                                                    The following table describes the event handlers that you can use in browser script to handle a predefined event for a Siebel object type.

                                                                                                                                    Table Event Handlers You Can Use in Browser Script for a Siebel Object Type

                                                                                                                                    Object Type Event Handler

                                                                                                                                    Application

                                                                                                                                    You can use the following event handlers:

                                                                                                                                    • Application_InvokeMethod

                                                                                                                                    • Application_PreInvokeMethod

                                                                                                                                    Applet

                                                                                                                                    You can use the following event handlers:

                                                                                                                                    • Applet_ChangeFieldValue

                                                                                                                                    • Applet_ChangeRecord

                                                                                                                                    • Applet_InvokeMetohd

                                                                                                                                    • Applet_PreInvokeMethod

                                                                                                                                    • Applet_Load

                                                                                                                                    Business component

                                                                                                                                    You can use the following event handler:

                                                                                                                                    • BusComp_PreSetFieldValue

                                                                                                                                    Business service

                                                                                                                                    You can use the following event handlers:

                                                                                                                                    • Service_InvokeMethod

                                                                                                                                    • Service_PreCanInvokeMethod

                                                                                                                                    • Service_PreInvokeMethod

                                                                                                                                      Event Handlers You Can Use to Handle Predefined DOM Events

                                                                                                                                      The following table describes the event handlers that you can use in browser script to handle a predefined DOM event for a Siebel control object type.

                                                                                                                                      Table DOM Event Handlers You Can Use in Browser Script for a Siebel Object Type

                                                                                                                                      Object Type Event Handler

                                                                                                                                      Control in the Siebel Open UI client.

                                                                                                                                      You can use the following event handlers:

                                                                                                                                      • OnBlur

                                                                                                                                      • OnFocus

                                                                                                                                        Methods You Can Use in Browser Script

                                                                                                                                        The following table describes the methods that you can use in a browser script for each Siebel object type that Oracle’s Siebel Open UI can use.

                                                                                                                                        Table Methods You Can Use in Browser Script for Each Siebel Object Type

                                                                                                                                        Object Type Method

                                                                                                                                        Applet

                                                                                                                                        You can use the following methods:

                                                                                                                                        • ActiveMode

                                                                                                                                        • BusComp

                                                                                                                                        • BusObject

                                                                                                                                        • FindControl

                                                                                                                                        • InvokeMethod

                                                                                                                                        • Name

                                                                                                                                        • ReInit

                                                                                                                                        Application

                                                                                                                                        You can use the following methods:

                                                                                                                                        • FindApplet

                                                                                                                                        • ActiveApplet

                                                                                                                                        • ActiveViewName

                                                                                                                                        • ActiveBusObject

                                                                                                                                        • ActiveBusComp

                                                                                                                                        • FindBusObject

                                                                                                                                        • GetProfileAttr

                                                                                                                                        • GetService

                                                                                                                                        • InvokeMethod

                                                                                                                                        • IsReady

                                                                                                                                        • Name

                                                                                                                                        • NewPropertySet

                                                                                                                                        • SWEAlert

                                                                                                                                        • ShowModalDialog

                                                                                                                                        • SeblTrace

                                                                                                                                        Business Component

                                                                                                                                        You can use the following methods:

                                                                                                                                        • BusObject

                                                                                                                                        • GetFieldValue

                                                                                                                                        • GetFormattedFieldValue

                                                                                                                                        • GetSearchExpr

                                                                                                                                        • GetSearchSpec

                                                                                                                                        • InvokeMethod

                                                                                                                                        • Name

                                                                                                                                        • SetFieldValue

                                                                                                                                        • SetFormattedFieldValue

                                                                                                                                        • WriteRecord

                                                                                                                                        Business Object

                                                                                                                                        You can use the following methods:

                                                                                                                                        • FirstBusComp

                                                                                                                                        • GetBusComp

                                                                                                                                        • Name

                                                                                                                                        • NextBusComp

                                                                                                                                        Business Service

                                                                                                                                        You can use the following methods:

                                                                                                                                        • InvokeMethod

                                                                                                                                        • Name

                                                                                                                                        • SetProperty

                                                                                                                                        • PropertyExists

                                                                                                                                        • RemoveProperty

                                                                                                                                        • GetProperty

                                                                                                                                        • GetFirstProperty

                                                                                                                                        • GetNextProperty

                                                                                                                                        Control

                                                                                                                                        You can use the following methods:

                                                                                                                                        • Applet

                                                                                                                                        • BusComp

                                                                                                                                        • GetValue

                                                                                                                                        • Name

                                                                                                                                        • SetValue

                                                                                                                                        • SetReadOnly

                                                                                                                                        • SetEnabled

                                                                                                                                        • SetVisible

                                                                                                                                        • SetProperty

                                                                                                                                        • GetLabelProperty

                                                                                                                                        • GetProperty

                                                                                                                                        • SetLabelProperty

                                                                                                                                        Property Set

                                                                                                                                        You can use the following methods:

                                                                                                                                        • AddChild

                                                                                                                                        • Copy

                                                                                                                                        • GetChild

                                                                                                                                        • GetChildCount

                                                                                                                                        • GetFirstProperty

                                                                                                                                        • GetNextProperty

                                                                                                                                        • GetProperty

                                                                                                                                        • GetPropertyCount

                                                                                                                                        • GetType

                                                                                                                                        • GetValue

                                                                                                                                        • InsertChildAt

                                                                                                                                        • PropertyExists

                                                                                                                                        • RemoveChild

                                                                                                                                        • RemoveProperty

                                                                                                                                        • Reset

                                                                                                                                        • SetProperty

                                                                                                                                        • SetType

                                                                                                                                        • SetValue