7Developing a Task UI

Developing a Task UI

This chapter describes how to develop a task UI. It includes the following topics:

Roadmap for Developing a Task UI

To develop a task UI, perform the following processes and tasks:

  1. Determine improvement requirements and design the task UI. For an example that describes this step, see Example of Developing a Task UI.

  2. Process of Creating a Task UI

  3. Process of Deploying a Task UI

  4. Process of Testing a Task UI

  5. Conditional. Migrating a Task UI

  6. Administering a Task UI

For examples that describe how to develop a task UI, see Examples of Developing a Task UI. For more information, see Customizing Task UI.

Preparing Siebel Tools to Create a Custom Task UI

To create a custom task UI, you begin by preparing Siebel Tools.

To prepare Siebel Tools to create a custom task UI

  1. Make sure the following parameter is set in the Siebel section of the tools.cfg file in the \TOOLS_ROOT\bin\language directory:

    EnableToolsConstrain = FALSE
    

    If this parameter does not exist, then add it. Setting EnableToolsConstrain to false allows you to assign a display name to a task object.

  2. Set the following parameter in the Workflow section of the configuration file:

    VerCheckTime = -1
    

    Setting VerCheckTime to -1 (negative one) allows you to use the Publish/Activate button. The configuration file is typically in the language directory on the client. For example:

    Siebel\81\21031\MWC\BIN\lang\configuration file
    

    where:

    • lang is the language directory, such as ENU.

    • configuration file is the configuration file for the Siebel application, such as uagent.cfg.

  3. Display object types that you use to develop a task UI.

    For more information, see Displaying Object Types You Use to Develop a Task UI.

  4. If necessary, display business service object types.

    A business service object can include hidden properties. To display hidden properties in a list in Siebel Tools for the following objects, make sure the Hidden property of the object is set to FALSE:

    • Business service

    • Business service method

    • Business service method argument

    For more information, see Siebel Business Process Framework: Workflow Guide.

    Creating a Custom Task UI

    The Task Wizard helps you define the minimal set of properties that a task UI requires. For more information about task properties that Siebel Tools automatically defines when you create a new task object, see About the Task Property.

    To create a custom task UI

    1. In Siebel Tools, choose the File menu, and then the New Object menu item.

    2. In the New Object Wizards dialog box, click the Task tab.

      You can also right-click in the Tasks list, and then choose New Task Wizard to start the Task Wizard.

    3. Choose the Task icon, and then click OK.

    4. Use the wizard to create a new task UI:

      1. Define a project for the task UI.

      2. Define the name and display name for the task UI.

        Siebel CRM displays this display name in the task pane in the Siebel client.

      3. Indicate if the task UI is a subtask.

        You must never modify the Is Subtask property of a task UI or a subtask after you finish creating it. For more information, see Diagramming a Task UI.

      4. Define the business object that the task UI references.

      5. If necessary, define the transient business component that the task UI references.

        For more information, see Determining if You Must Use a Transient Business Component.

    5. Click Finish.

      Siebel Tools creates a new object definition for the task UI, and then opens the Task Editor with the start and end steps already added.

    6. Optional. To revise the task UI during development, use the Tasks list, as necessary.

      Using the Tasks List to Create a Custom UI

      You can use the Tasks list to create a custom task UI. However, it is strongly recommended that you use the Task Wizard instead of the Tasks list to create a custom task UI. The Task Wizard makes sure you define the minimal set of properties and objects that your task UI requires. For more information, see Creating a Custom Task UI.

      To use the Tasks list to create a custom UI
      1. In Siebel Tools, lock the project for the new task UI. If necessary, create a new project.

      2. In the Object Explorer, click Task.

      3. In the Tasks list, create a new task UI.

        At a minimum, define the following properties:

        • Task Name.

        • Project.

        • Business Object.

        • Indicate if the task UI is a subtask.

          You must never modify the Is Subtask property of a task UI or a subtask after you finish creating it. For more information, see Diagramming a Task UI.

        Diagramming a Task UI

        This task is a step in Process of Creating a Task UI.

        The Task Editor allows you to create a visual representation of the entire task UI, including decision points and conditional logic. You can define the details of each step when you add each step in the Task Editor, or you can finish the entire flow, and then enter these details. Siebel Tools automatically creates the start and end steps for you when you create a new task object.

        To diagram a task UI
        1. Open the Task Editor.

          For more information, Opening the Task Editor.

        2. Add one or more logic steps to the task UI.

          A task UI can include one or more steps that include some form of logic, such as a business service step, decision point, subtask step, Siebel operation step, and so on. More than one of each type of these steps can exist. For more information, see Adding a Step to a Task UI.

        3. Add connectors to define the task flow.

          For more information, see Creating a Connector.

        4. Repeat the steps to add logic steps and connectors until you correctly connect every step that the task UI contains.

          Creating a Task View

          This topic describes how to create a task view. It is strongly recommended that you use the Task View Wizard to create a task view. For more information, see the following topics:

          To create a task view

          1. Make sure the following items that the task view references exist:

            These objects must exist before you use the Task View Wizard.

          2. In Siebel Tools, choose the File menu, and then the New Object menu item.

          3. Click the Task tab, click the Task View icon, and then click OK.

          4. In the Task View Wizard, in the New View dialog box, define the following items:

            • Project name

            • View name

            • View title

            • Business object of the view

            • Upgrade behavior

            Siebel Tools uses the value you enter in the View Name to enter data in the Name property of the task view. At run time, Siebel CRM displays the value you enter for the view title in the Siebel client.

          5. Click Next.

          6. In the View Web Layout - Select Template dialog box, choose a Web template for your view, and then click Next.

          7. In the Web Layout - Applets dialog box, choose the applets that display in the task view, and then click Next.

            This dialog box lists predefined applets. You can choose task applets in a subsequent dialog box.

          8. In the Task View - Pick Task dialog box, do one of the following:

            • Click Yes to specify a task applet.

            • Click No if you do not need to specify a task applet.

            This dialog box allows you to define a task applet for this view. If you click Yes, then you must create the task applet before you use this wizard. For more information, see Overview of Transient Data and Task Applet.

          9. Click Next.

          10. If you clicked No in the step about specifying a task applet, then go to step 13 below.

          11. In the Task View - Select Task dialog box, click the task UI where Siebel CRM must display the task view, and then click Next.

          12. In the Task View - Task Applets dialog box, choose applets that Siebel CRM must display in the task view, and then click Next.

          13. In the Task View - Select Playbar Applet dialog box, choose the playbar applet that appears in the header and footer of your view, and then click Next.

            It is recommended that you include only one playbar applet to improve usability. If you use only one playbar, then leave one of the windows in this dialog box empty.

            You must use at least one playbar applet in a task view.

            For more information, see Task Playbar Applet.

          14. In the Finish dialog box, click Finish.

            Siebel Tools opens the new view in the Web Layout Editor. The Finish dialog box displays the properties that Siebel Tools uses to create the new view.

          15. If you set the Business Object property of the task view to Account, Contact, or Opportunity, then set the Visibility Applet Type property of the task view to All.

            For more information, see Creating a Task View.

          16. Edit the layout of the task view.

            For more information, see Editing the Layout of a Task View.

          Creating a Task View for Accounts, Contacts, or Opportunities

          Siebel CRM denormalizes some business component data in intersection tables so that all the columns that it requires to do sort or search operations reside on a single table. This design is preferable to using columns that reside in the base table and in the intersection tables for performance reasons. A view that includes the Visibility Applet Type set to All does not require an intersection table to determine record visibility. For example, opportunities use the intersection tables for organizations.

          To create a task view for accounts, contacts, or opportunities

          • If you set the Business Object property of a task view to Account, Contact, or Opportunity, then set the Visibility Applet Type property of this view to All.

            Editing the Layout of a Task View

            The Web Layout Editor allows you to edit the mapping that Siebel Tools uses between applets that exist in the view and placeholders that exist in the template.

            To edit the layout of a task view
            1. In Siebel Tools, in the Object Explorer, click View.

            2. In the Views list, query the Name property for the view you must modify.

            3. In the Views list, right-click the view you located in the previous step, and then choose Edit Web Layout.

            4. Preview the view:

              1. Right-click in the Web Layout Editor, and then choose Preview.

                Siebel Tools displays the view in a preview mode that is similar to the way Siebel CRM renders it at run time in the Siebel client.

              2. To return to editing mode, right-click in the Web Layout Editor, and then choose Preview.

            5. Modify the applet sequence, as necessary:

              1. In the Object Explorer, expand the View tree, and then click View Web Template.

              2. Choose a row in the Web Templates list.

              3. In the Object Explorer, expand the View Web Template tree, and then click View Web Template Item.

              4. To define the sequence for each item, in the View Web Template Items list, use the Item Identifier property.

            6. Modify the applet mode, as necessary:

              1. In the Object Explorer, click View Web Template.

              2. In the Web Templates list, choose a row.

              3. In the Object Explorer, click View Web Template Item.

              4. In the View Web Template Items list, use the Applet Mode property to define the applet mode for each item.

            For more information about:

            • Using the Web Layout Editor, see the topic on creating screens and views in Configuring Siebel Business Applications.

            • Using an external editor to modify the Web template file, see Using Siebel Tools.

              Binding a Task View to a Task View Step

              You must configure Siebel CRM to bind the task view to the task view step so that it displays a task view and a task view step for this task view. For more information, see Creating a Task View Step.

              To bind a task view to a task view step

              1. Open the Task Editor for the task UI where Siebel CRM must bind a task view.

                For more information, see Using the Task Editor.

              2. Right-click the task view step where Siebel CRM must bind a task view, and then choose Bind Task View.

              3. In the following dialog box, choose a task view, and then click OK:

                Please Bind a Task View From the Following List
                

                This dialog box lists the task views that you define for the task UI. If it does not list the task view that you require, then you can click New to create a new one. If you click New, then the New Task View Wizard starts.

                If you click OK, then Siebel Tools displays the name of the view that the task view step references. It displays this name as the label for the task view step in the Task Editor.

              4. Define properties for the task view step.

                Some properties on the task view step, such as Disable Cancel, allow you to specify behavior of the task playbar. The Forward Button Type property allows you to specify when Siebel CRM saves information to the Siebel database. For more information, see Task Playbar Applet.

                Creating a Task Group

                This topic describes how to create a task group. For more information, see Task Group.

                To create a task group

                1. Make sure Siebel Tools is properly prepared to create a task group.

                  For more information, see Preparing Siebel Tools to Create a Custom Task UI.

                2. In the Object Explorer, click Task Group.

                3. In the Task Groups list, add a new task group using values from the following table.

                  Property Description

                  Name

                  Enter a name for the task group.

                  Project

                  Choose a project for the task group.

                  Display Name -String Override

                  Optional. Enter a value for the task group label.

                  Siebel CRM displays this label in the context pane in the Siebel client. For more information, see Context Pane.

                  Require Context BC

                  Optional. If this task group includes a task that is context-sensitive, then make sure the Require Context BC option includes a check mark. For more information, see Using a Context Business Component with a Task Group.

                4. Make sure the task group you added in the previous step is sti;l chosen.

                5. In the Object Explorer, expand the Task Group tree, and then click Task Group Item.

                6. In the Task Group Items list, add a new task group item.

                  Siebel CRM displays the task group items that you define in this step as a list of links under the task group label in the context pane.

                7. Define properties for the new task group item, using values from the following table.

                  Property Description

                  Type

                  Choose Task.

                  The value you define in the Type property determines the values that Siebel Tools displays in the Action Invoked property, so you must define the Type property first.

                  Action Invoked

                  Choose the task UI that you must start.

                  The Action Invoked property instructs the task UI to open when the user clicks the link in the context pane. For more information, see Context Pane.

                  Context Business Component

                  If you placed a check mark in the Require Context BC option in the step to add a new task group, then choose a Context Business Component. Otherwise, leave this property empty.

                  Sequence

                  Optional. Enter a numerical value.

                  The Sequence property allows you to define the order that Siebel CRM uses to display the links in the context pane. For more information, see Task Order in Task Groups.

                  Adding a Task Group to a View

                  To add a task group to a view, do the procedure described in one of the following topics:

                  For more information, see Task Group.

                  A number of factors determine how Siebel CRM displays a task UI in the task pane. For more information, see Task UI Does Not Display in the Task Pane.

                    Adding a Task Group to a View

                    This topic describes how to add a task group to a view so that Siebel CRM displays it only in a specific view. For example, for a task UI that assists the user with creating a new opportunity, you can define the view so that the task group only displays in the task pane when the user is currently in the Opportunity List View. You can also limit display of the task group according to the Siebel application that is running in the Siebel client, such as Siebel Call Center.

                    To add a task group to a view
                    1. In the Object Explorer, click View.

                    2. In the Views list, query the Name property for the view where you must add a task group.

                    3. In the Object Explorer, expand the View tree, and then click View Task Group.

                    4. If necessary, display the View Task Group object type.

                      For more information, see Displaying Object Types You Use to Develop a Task UI.

                    5. In the View Task Groups list, add a new view task group.

                    6. Optional. Configure Siebel CRM to display the task group only in a single Siebel application.

                      If you require Siebel CRM to display the task group only in a single Siebel application, then choose this application in the Application property.

                      Adding a Task Group to Multiple Views

                      This topic describes how to add a task group so that Siebel CRM displays it across multiple views. For example, you can add the task group to the Task Pane View for a task UI that assists the user with creating a new opportunity but where the user must access the task from across multiple views.

                      To add a task group to multiple views
                      1. In Siebel Tools, in the Object Explorer, click View.

                      2. In the Views list, query the Name property for Task Pane View.

                      3. In the Object Explorer, expand the Views tree, and then click View Task Group.

                      4. In the View Task Groups list, add a new view task group.

                      5. Click the Task Group property, and then choose the task group from the Task Groups pop-up applet.

                        At run time, Siebel CRM displays this task group globally across views in a Siebel application.

                        Refining a Task UI

                        This task is a step in Process of Creating a Task UI.

                        This topic describes how to refine your task UI to more precisely meet design requirements.

                        To refine a task UI

                        • Add conditional logic to your task UI.

                          You create conditions and values that affect task flow to add conditional logic to a task UI. You create branching in a task on branch connectors that emanate from a decision point. If your task includes a decision point, then you must create conditional branching. For more information, see Creating a Branch Connector.

                        • Add a subtask.

                          If your task UI includes more than 15 steps, then consider separating the task into one or more subtasks. For more information, see Creating a Subtask Step.

                        • Add a commit step.

                          You can use a commit step to save temporary data to the Siebel database. For more information, see Creating a Commit Step.

                        • Create logic to handle an error condition.

                          You can create logic in your task UI to handle an error that occurs at run time, such as a business service that returns an internal error message. For more information, see Creating an Error Step.

                        • Collect task metrics.

                          Task metrics collect and store task data that Siebel CRM regularly saves in a data warehouse. You can use an Online Analytical Processing (OLAP) tool, such as Oracle Business Intelligence, to analyze this data. For more information, see About Task Metrics.

                        • Refine UI objects:

                        • Create logic to resume a paused task UI.

                          If the user must pause a task UI and at some future point the same or another user must resume it, then you can create a relationship between the task instance and a business object instance. For more information, see Resuming a Paused Task UI.

                          Overview of Transient Data

                          Transient data is a type of data that is relevant for a limited time period. In a task UI, this time period is the duration of a task instance. The answer to the following question that Siebel CRM displays in a task UI is a typical example of transient data:

                          What would you like to do next?
                          

                          A transient business component (TBC) is a type of business component whose records exist only during the duration of a task instance. It allows you to configure Siebel CRM to create data that is specific to a task instance that it can display and that the user can edit and access in a task UI. Using a transient business component is conditional, depending on your data manipulation requirements.

                          Transient data is dynamic and is tied to a transient business component in a task UI. Siebel CRM accesses the records of a transient business component only in the context of a specific task UI or subtask.

                          A task UI can assign transient data to the input method arguments of a task step or to a task property through the output argument of a task step.

                          In contrast to a business component, a transient business component stores data that Siebel CRM requires for the duration of the task instance but that it can discard when the user finishes the task UI. Siebel CRM might require this data to support the following situations:

                          For examples, see the following topics:

                            Characteristics of a Transient Business Component

                            The following characteristics describe a transient business component:

                            • Stores transient data, including data that controls task flow.

                            • Defined in a way that is similar to how you define a business component except that it references the S_TU_LOG table and is of the transient type.

                            • Deployed the same way that you deploy a business component, which is through the SRF (Siebel Repository File).

                            • Cleared after a commit step or when the user finishes a task UI.

                            • Supports a calculated field. The Calculated Field property indicates if the transient business component calculates the value of the field. If set to TRUE, then the transient business component calculates the value.

                            • Does not support multivalue fields.

                            • Does not support an explicit join.

                            • Is not stored in the Siebel database.

                            • Does not support an insert, copy, or delete operations on a business component record. You can use a business component to insert, copy, or delete a business component record.

                              How Siebel CRM Manages Transient Data

                              Siebel Tools automatically enters in the following properties of a transient business component when you create it. These properties are not editable:

                              • The Name property specifies the Siebel database column for the table.

                              • The Join properties define a logical join between the base table of a business component and another table. If Siebel CRM creates a new record, then it automatically enters data in the Join properties according to the Type and Text length properties.

                              Siebel CRM forces all columns to active at run time to avoid problems with field activation.

                              Siebel CRM stores transient data in the S_TU_LOG table and, if necessary, in S_TU_LOG_X_* extension tables:

                              • The TASK_ID_VAL column stores the task instance ID.

                              • The BC_NAME column stores the name of the business component.

                              Siebel CRM finishes using a transient business component, and then a background service cleans the S_TU_LOG table according to the value in the TASK_ID_VAL column. If a task UI is running on a Siebel Mobile Web Client that is connected to a local database, then Siebel CRM deletes the transient data as soon as the task UI finishes.

                              For more information, see Creating a Transient Business Component.

                                Determining if You Must Use a Transient Business Component

                                This topic describes how to determine if you must use a transient business component.

                                To determine if you must use a transient business component

                                1. If one the following situations is true, then you must use a transient business component. If the following situations are not true, then do not use a transient business component. Use a business component instead:

                                  • A radio button or decision point determines the task flow.

                                  • The task UI must temporarily store data. For more information, see Storing Data Temporarily While Gathering the Information Required to Create a Complete Record.

                                  • You cannot use the Defer Write Record property to store transient data. For more information, see Using the Defer Write Record Property of a Siebel Operation Step Instead of a Transient Business Component.

                                  • You must control a search specification. For example, if a user must make a choice that includes a predefault value, such as in reply to the following question:

                                    In what month did the transaction occur?
                                    
                                  • If a task UI must modify transient data while the task runs:

                                    • To use fields from different business components in a single applet. For example, to allow the user to create a new account and enter contact data in a single task applet.

                                    • To modify the appearance of the user interface depending on run-time conditions. For example, according to a choice that the user makes, UI controls can map to different fields of a business component. If the user chooses Credit Card as a payment method, then fields for credit card type, number, and expiration date are available at run time.

                                    • To determine if a record already exists before committing a new record that might be a duplicate.

                                2. If you determined in Step 1 that you must use a transient business component, then create one now.

                                  For more information, see Creating a Transient Business Component.

                                  Creating a Transient Business Component

                                  If your task UI requires transient data, then you must create a transient business component. It is strongly recommended that you use the Transient Business Component Wizard to create a transient business component. For more information, see Overview of Transient Data.

                                  To create a transient business component

                                  1. Determine if your task UI must use a transient business component. If your task UI does not require a transient business component, then quit this procedure.

                                    For more information, see Determining if You Must Use a Transient Business Component.

                                  2. In Siebel Tools, choose the File menu, and then the New Object menu item.

                                  3. In the New Object Wizards dialog box, choose the Task tab.

                                  4. Choose the Transient BusComp icon, and then click OK.

                                  5. In the New Business Component Wizard, define properties in the New Business Component dialog box using values from the following table.

                                    Property Description

                                    Project

                                    Choose a value from the drop down list. The wizard only lists projects that are locked.

                                    Name

                                    Enter a text string that describes the task UI.

                                    MultiRecord TBC checkbox

                                    Optional. If you are creating a multirecord transient business component, then make sure the MultiRecord TBC option includes a check mark. For more information, see About the Multirecord Transient Business Component.

                                  6. Click Finish.

                                    The wizard automatically does the following work:

                                    • Assigns the transient business component to the S_TU_LOG table.

                                    • Sets the Type property of the business component to Transient.

                                    • Displays a new record for the transient business component in the Business Components list.

                                  7. In the Object Explorer, expand the Business Component tree, and then click Field.

                                  8. In the Fields list, create a new field for the transient business component.

                                  9. Define values for the following properties of the field you created in the previous step:

                                    • Name

                                    • Type

                                    • Text Length

                                    Caution: The Type property is a required property. The Text Length property is not a required property. However, it is recommended that you define a value for the Text Length property so that Siebel CRM can accurately determine the size of the Column property. If a field of type DTYPE_TEXT includes an undefined text length, then Siebel CRM uses a length of 255 characters. If the actual length is shorter than 255 characters, and if you do not define the Text Length property, then Siebel CRM might create an unnecessary join to an extension table, or even fail to map the field to the correct corresponding column.

                                    Note the following:

                                    • Siebel Tools automatically enters data in the Column property.

                                    • The Column and Join properties are read only.

                                    • You cannot define a multivalue field.

                                    • Siebel Tools allows a calculated field. It does not assign a column to a calculated field.

                                  10. Repeat the previous two steps for each additional field you must define.

                                    Setting the Type Property of a Business Component

                                    Note the following:

                                    • The Type property for a business component is Nontransient.

                                    • The Type property for a transient business component is Transient.

                                    If you set the Type property for a business component to Transient or Nontransient, then you cannot modify it, even through a copy operation.

                                      Creating a Transient Business Component Manually

                                      You can use the Business Components list to manually create a transient business component. However, it is recommended that you use the Transient Business Component Wizard to create a transient business component instead of using the Business Components list. Siebel Tools automatically defines the Column property and the Join property and sets them to read only. Make sure you set the following properties to exactly the same values that the Transient Business Component Wizard uses:

                                      • Class

                                      • Table

                                      • Type

                                      It is strongly recommended that you use the Transient Business Component Wizard to make sure that you correctly define the CSSBCTaskTransient class and the CSSBCTaskTransientBase class. For more information, see Classes That Siebel CRM Uses with a Transient Business Components.

                                        Creating a Task Applet

                                        If your task does not involve transient data, then you can use a standard applet instead. For more information, see Task Applet.

                                        If your task UI does require a task applet, then you can create it before you create the task view. For more information, see Creating a Task View. For an example of creating a task applet, see Creating the Task Applet.

                                        To create a task applet

                                        1. Make sure the following objects exist:

                                          • The object definition of the task UI

                                          • The transient business component that the task applet references

                                          These objects must exist before you create the task applet.

                                        2. In Siebel Tools, choose the File menu, and then the New Object menu item.

                                        3. In the New Object Wizards dialog box, click the Task tab.

                                        4. Choose one of the following icons, and then click OK:

                                          • Task Form Applet

                                          • Task List Applet

                                        5. In the General dialog box, define properties using values in the following table.

                                          Property Description

                                          Project

                                          Choose the project that this applet must reference.

                                          Name

                                          Enter a name for this applet. The name cannot be the same as the name of an existing applet.

                                          Display Title

                                          Optional. Enter the display title that Siebel CRM displays in the Siebel client. To display no title, you can leave the Display Title property empty.

                                          Task

                                          Choose the task UI that this applet must reference. If you do not choose a task, then you can reuse this applet with multiple tasks. If you choose a task, then you cannot use this applet with any other task.

                                          Upgrade Behavior

                                          Choose Preserve. This setting preserves this modification during an upgrade.

                                          Transient Business Component

                                          Choose the transient business component that stores data for this applet.

                                        6. Click Next.

                                        7. In the Web Layout - Fields dialog box, choose fields from the transient business component that provide data for the layout.

                                          To choose a field, click it in the Available Fields window, and then click the arrow that points toward the Selected Fields window. You can hold down the SHIFT key to choose multiple fields.

                                        8. Click Next.

                                          The Finish dialog box displays. This dialog box displays properties that Siebel Tools uses to define the new task applet. You can click Back to return to an earlier dialog and make modifications, if necessary.

                                        9. Click Finish.

                                          Siebel Tools creates the task applet and then opens the Web Template Layout Editor.

                                        10. Adjust the applet layout and modify properties for the controls, as necessary.

                                          Transferring Data with a Transient Business Component

                                          Siebel CRM transfers data between business components in the same way regardless of whether or not a transient business component is involved. You can configure Siebel CRM to transfer data between a transient business component or a nontransient business component.

                                          To transfer data from a transient business component to a task property

                                          1. Open the Task Editor.

                                            For more information, Opening the Task Editor.

                                          2. In the Task Editor, choose the step that displays after the assignment occurs.

                                            This step is typically a task view step that allows the user to modify the data of a transient business component.

                                          3. In the Multi Value Property Window, click the Output Arguments tab.

                                          4. Assign a field of the transient business component to a task property.

                                          5. For the assignment type, use Business Component.

                                          To transfer data between a transient business component and another business component

                                          1. Open the Task Editor.

                                            For more information, Opening the Task Editor.

                                          2. Add a Siebel operation step using values from the following table.

                                            Property Value

                                            Operation

                                            Update

                                          3. Create an output argument:

                                            1. Choose the Siebel operation step you added in the previous step.

                                            2. In the Multi Value Property Window, click the Output Arguments tab.

                                            3. Right-click in the list area of the Multi Value Property Window, and then choose New Record.

                                            4. Define the new output argument using values from the following table.

                                              Property Description

                                              Property Name

                                              Choose the property that contains the data you must transfer.

                                              Type

                                              Choose Business Component.

                                              Business Component

                                              Choose the business component that receives the data you are transferring.

                                              Business Component Field

                                              Choose the business component field that receives the data you are transferring.

                                              This step updates the target business component.

                                            Guidelines for Using a Transient Business Component

                                            If you use a transient business component, then use the following guidelines:

                                            • Do not use a transient business component unless your task UI requires it. For more information, see Determining if You Must Use a Transient Business Component.

                                            • If you use a transient business component that references the Contact business object, then you must add it to the Contact business object. Otherwise, Siebel CRM might create a runtime error.

                                            • Siebel CRM might consider data that resides in a task property as transient data. The source of the data determines how Siebel CRM can display it. You must consider the following capabilities when you decide to store transient data in a transient business component or in a task property:

                                              • Siebel CRM can display data that it gets from a transient business component in the Siebel client.

                                              • Siebel CRM cannot display data that it gets from a task property in the Siebel client.

                                            • You can enter data from a transient business component into a task property or a business component field.

                                              Storing Data Temporarily While Gathering the Information Required to Create a Complete Record

                                              If a task UI uses more than one view to get the information it requires to create a complete record, then you must use a transient business component. Task UI cannot insert a record in a business component until it collects a value for every field that the business component requires for a complete record. For example, assume you create a task UI that includes three separate views that do the following:

                                              • In the first view, the user enters the opportunity name.

                                              • In the second view, the user enters the close date.

                                              • In the third view, the user enters the currency.

                                              An opportunity record must include a value for each of the following required fields:

                                              • Opportunity Name

                                              • Close Date

                                              • Currency

                                              You must use a transient business component to collect this information across views in the task UI. You can configure the task UI to copy data from the transient business component to the business component record when this task UI finishes.

                                                Using a Transient Business Component in a Subtask

                                                A transient business component can include one or multiple instances for each context. You can configure Siebel CRM to use multiple instances when you create the transient business component. The context of the transient business component resides at the level of the subtask. The subtask and the parent task do not share the same instance of the transient business component even if the subtask uses the same transient business component that the parent task UI uses. If no instance of a transient business component exists in the current context, then Siebel CRM creates a new instance when it queries the transient business component. For more information, see Creating a Subtask Step.

                                                  Using a Transient Business Component with a Commit Step

                                                  Siebel CRM erases transient data that resides in the S_TU_LOG table when a commit step saves data. You can configure Siebel CRM to create a new instance of the transient business component and display it in a task view step after Siebel CRM clears the commit data and the transient data. Siebel CRM does not clear new data from the S_TU_LOG table. If more modifications occur in the transient business component, then Siebel CRM updates the same record in the S_TU_LOG table. It does not clear the older data and it does not create a new record until it issues a commit. For more information, see Creating a Commit Step.

                                                    Using the Defer Write Record Property of a Siebel Operation Step Instead of a Transient Business Component

                                                    The Defer Write Record property on a Siebel operation step postpones a write operation until the task flow encounters a subsequent commit step. If the only data storage requirement for your task UI is to store the data that is involved with a Siebel operation step, then you can use the Defer Write Record property instead of a transient business component and task applet. For more information, see About the Defer Write Record Property.

                                                      About the Multirecord Transient Business Component

                                                      A multirecord transient business component is a type of transient business component that can include more than one record for a given task UI context. The following examples describe situations where you might use a multirecord transient business component:

                                                      • To allow the user to choose a single record from several records during the course of completing a task UI. For example, the user might create several plans but near the end of the task UI choose the plan that most closely matches the business requirement. While the task runs, Siebel CRM saves each plan as a separate record in the multirecord transient business component. It saves only a single record to the Siebel database after the task finishes.

                                                      • To automate the creation of records for a merge. For example, assume your deployment must automate record creation for a merge. This operation is similar to mimicking a three way merge where Siebel CRM automatically creates three records for a user, and then asks the user to choose the record that it must resolve. The record that the user chooses is the only record that it saves to the Siebel database. It clears the remaining records.

                                                      A multirecord transient business component can do some of the same operations that a standard business component can do, such as insert, update, delete, copy, or undo. You can use a multirecord transient business component in a Siebel operation step in the same way that you use a standard business component.

                                                      Siebel CRM clears the records in a multirecord transient business component when the task UI finishes or if the user cancels it. If the user pauses the task, then these records remain in temporary storage.

                                                        Classes That Siebel CRM Uses with a Transient Business Components

                                                        The following table describes classes that Siebel CRM uses with a single record transient business component and with a multirecord transient business component. The default setting is single record.

                                                        If you create a transient business component, then it is strongly recommended that you use the New Business Component Wizard to make sure that you properly define the CSSBCTaskTransient class, the CSSBCTaskTransientBase class, or a class that Siebel CRM derives from these classes.

                                                        Table Classes That Siebel CRM Uses With a Transient Business Component

                                                        Type Description Class

                                                        Single record transient business component

                                                        Supports a single record in a task UI context.

                                                        Uses the CSSBCTaskTransient class or a class that Siebel CRM derives from the CSSBCTaskTransient class.

                                                        The CSSBCTaskTransient class makes sure only one row exists for each context for each single record transient business component. The context of a transient business component resides at the level of the subtask. This means that even if a subtask uses the same single record transient business component with the parent task, then the two subtasks do not share the same transient business component record.

                                                        This specialized CSSBCTaskTransient class also filters the single record for the current context and the current business component. It runs a default query on the first Get function or Set function, and it creates a new record if no such record exists. That is, if the following method returns no rows:

                                                        Execute
                                                        

                                                        Multirecord transient business component

                                                        Supports multiple records in a task UI context.

                                                        Uses the CSSBCTaskTransientBase class or a class that Siebel CRM derives from the CSSBCTaskTransientBase class.