13Copy Service

Copy Service

This chapter explains the use of the ISS Copy business service, or “Copy Service.” This chapter is organized as follows:

Note: The Copy method of the Copy Service is retained for backward compatibility, but it is recommended that you use the Data Transfer Utility business service for new applications. For more information, see Data Transfer Utilities Business Service.

About Copy Service

Siebel order management copies data from one document type to another as a transaction progresses. Example transactions for which data is copied from one document type to another include the following:

  • Quote-to-Agreement

  • Opportunity-to-Quote

  • Order-to-Agreement

  • Agreement-to-Order

In earlier releases, the mapping between objects was either hard-coded (as in Quote-to-Agreement) or inconsistently defined (such as with business component user properties or SIS OM PMT mappings). In this release, all mappings between objects are defined in the Administration - Application screen, then the Data Map Administration views of the run-time client.

Using the Administration - Data views and the ISS Copy business service, you can create new mappings and update existing mappings. A mapping can support one or more business components from a business object (for example, quote, quote line item, and quote payments).

Caution: For Quotes and Orders, ISS Copy service is only used to copy Line Items and Attribute records during the base business component copy operation. After making changes to the repository (adding or removing columns), you must also change the data map for CopyQuote and CopyOrder so that the desired set of fields are copied.

The ISS Copy business service (or “Copy service”), provides a mechanism for copying data from one business object to another. Use the Administration - Application screen, then the Data Map Administration views to define the business components and fields to be copied in a given situation.

Note: With Copy Service, data map object definitions are cached in the object manager. If you make changes to the definitions, you must restart the Siebel server.

    Configuring Copy Maps

    For information about configuring copy maps, see the topics about creating and validating data maps in Business Processes and Rules: Siebel Enterprise Application Integration.

    Components of the Copy Service mechanism are shown in the following figure.

    Copy Service Components. In this image, UI Event or Script is connected by one-way arrow to Signal Map. Signal Map is connected by one-way arrow to Copy Service. Copy Service is connected by two-way arrow to Siebel Database. Data Map Administration View is connected by two-way arrow to Data Map. Data Map is connected to Copy Service.

    Data maps are cached in the Object Manager. Copy Service uses batched SQL updates for optimum throughput.

      GetFieldValueFromInstance Method

      This method retrieves the business component field value from the instance.

      Arguments

      Argument Description

      InstanceName

      [in] ISS business component instance name.

      FieldName

      [in] Business component field name.

      BusCompName

      [in] Used to specify a business component other than the instance business component, if necessary. (Optional)

      FieldValue

      [out] The field value.

      SearchSpec

      [out] A search specification of the following format:

      [FieldName] = "FieldValue"
      

        LoadInstanceFromBC Method

        The method loads the instance from the business component and pushes it into an instance. If SourceInstance is specified, the new instance is created by cloning the source instance and positioning it on the same row ID. Alternatively, BusObj, BusComp, and a search specification can be used to define the new instance.

        The instance business component loaded must not have a parent defined in the BusObj.

        Arguments

        Argument Description

        SourceInstance

        [in] The source ISS instance name. If specified, the new instance is constructed by positioning it on the same row ID as the source instance. (Optional)

        InstanceName

        [in] Required if SourceInstance is specified. Otherwise, optional default to “TheInstance”. (Optional)

        BusObjName

        [in] Business object name. (Optional)

        BusCompName

        [in] Business component name. (Optional)

        SearchSpec

        [in] Search specification on the business component. (Optional)

        InsertOnly

        [in] If set to Y, ???? (Optional)

          SetFieldValueFromInstance Method

          The method sets the field value to an instance.

          Arguments

          Argument Description

          InstanceName

          [in] ISS business component instance name.

          FieldName

          [in] business component field name

          BusCompName

          [in] Used to specify a business component other than the instance business component, if necessary. (Optional)

          FieldValue

          [in] Field value.

          GetLOVValue

          [in] LOV Type. If defined, the FieldValue is the LOV language-independent code. The actual field value will be the language-dependent display value as defined by LOV Type or Language independent code. (Optional)

            PopAndReleaseInstance Method

            This method pops out and releases the instances.

            Arguments

            Argument Description

            InstanceName

            [in] The ISS instance name.

              Copy Method

              The method copies the source instance to the destination instance based on the defined copy map.

              Arguments

              Argument Description

              SourceInstance

              [in] Source instance name.

              DestinationInstance

              [in] Destination instance name.

              MapName

              [in] Data map name.

              CachedUpdate

              [in] Y or N. Performance option to allow for cached updates. All SQL generated in the operation is issued to the database in one batch. Therefore, a SQL in the block cannot depend on a previous SQL being committed to the database. (Optional)

              Release

              [in] Source, Destination, or All. If defined, the corresponding instance(s) is popped up and released after the operation. (Optional)

                RefreshBCFromInstance Method

                The method refreshes the instance business component. If defined in the input argument, the line item business component is also refreshed.

                Arguments

                Argument Description

                InstanceName

                [in] ISS business component instance name.

                BusCompName

                [in] Used to specify a buscomp other than the instance buscomp, if necessary. (Optional

                BusCompLineItemName

                [in] Line item buscomp name. (Optional)

                  CleanupEAI Method

                  CleanupEAI frees the memory used by the EAI data structure.

                  Syntax

                  Cleanup EAI <inputArgs>, <outputArgs>

                  Input Arguments

                  Input Argument Description

                  InstanceCollectionName

                  A string indicating the name of the instance collection

                  Usage

                  CleanupEAI frees the memory used by the EAI data structure. The name of collection is passed in as the InstanceCollectionName property.

                  Invoked From

                  Browser Script, COM Data Control, COM Data Server, Server Script, Java Data Bean, Siebel Mobile Web Client Automation Server.

                    CleanupInstance Method

                    CleanupInstance frees the memory used by the CxObj data structure.

                    Syntax

                    Cleanup Instance <inputArgs>, <outputArgs>

                    Input Arguments

                    Input Argument Description

                    InstanceName

                    A string indicating the name of the instance

                    Usage

                    CleanupInstance frees the memory used by the CxObj data structure. The name of instance is passed in as the InstanceName property.

                    Invoked From

                    Browser Script, COM Data Control, COM Data Server, Server Script, Java Data Bean, Siebel Mobile Web Client Automation Server.

                      LoadEAI Method

                      LoadEAI loads the product line item data structure through EAI and creates the CxObj memory structure for it.

                      Syntax

                      Load EAI <inputArgs>, <outputArgs>

                      Input Arguments

                      Input Argument Description

                      ParentObjectId

                      The Quote Id or Order Id or Agreement Id or parent Asset Id

                      IntegrationObjectName

                      The integration object name to use to load the object through EAI

                      SearchSpec

                      The search spec to apply when loading the object through EAI. Format:

                      [Header.Id] = 'QuoteId' AND [Line Item.Root Id] = 
                      'RootId' (ex. "[Header.Id] = '2-4YOXR' AND [Line 
                      Item.Root Id] = '2-4YOXX'")
                      

                      InstanceCollectionName [optional]

                      A string indicating the name of the instance collection. Defaults to "TheInstanceCollection"

                      InstanceName [optional]

                      A string indicating the name of the instance. Defaults to "TheInstance"

                      RootId [optional]

                      The row ID of the root product. If empty, then a new row is created using the Product Id property. This is used during Validation of a product.

                      ProductId [optional]

                      Only used if RootId is empty. A dummy memory structure is created using the Product Id.

                      Output Arguments

                      Input Argument Description

                      RootId

                      The row ID for the root product.

                      Usage

                      LoadEAI loads the product line item data structure through EAI and creates the CxObj memory structure for it. The CxObj structure is cached for use later by Configurator UI service and Configurator Service and also by Eligibility & Compatibility.

                      Invoked From

                      Browser Script, COM Data Control, COM Data Server, Server Script, Java Data Bean, Siebel Mobile Web Client Automation Server.

                        SetupLineNumbers Method

                        SetupLineNumbers updates the line numbers for the Line Item being customized corresponding to the CxObj.

                        Syntax

                        SetupLineNumbers <inputArgs>, <outputArgs>

                        Input Arguments

                        Input Argument Description

                        HeaderIntCompName

                        Header Integration Component Name

                        Integration Object Name

                        The integration object name to use to load the object through EAI

                        InstanceCollectionName

                        A string indicating the name of the instance collection

                        InstanceName

                        A string indicating the name of the instance

                        Line Number Field

                        Line number field

                        LineItemIntCompName

                        Line Item Integration Component Name

                        Row Id

                        Line Item Id

                        Usage

                        SetupLineNumbers updates the line numbers for the Line Item being customized corresponding to the CxObj.

                        Invoked From

                        Browser Script, COM Data Control, COM Data Server, Server Script, Java Data Bean, Siebel Mobile Web Client Automation Server.

                          SetupSyncUpsert Method

                          SetupSyncUpsert updates EAI operations on CxObj nodes for better performance during the subsequent sync using EAI.

                          Syntax

                          SetupSyncUpsert <inputArgs>, <outputArgs>

                          Input Arguments

                          Input Argument Description

                          InstanceCollectionName

                          A string indicating the name of the instance collection

                          Usage

                          SetupSyncUpsert updates EAI operations on CxObj nodes for better performance during the subsequent sync using EAI.

                          Invoked From

                          Browser Script, COM Data Control, COM Data Server, Server Script, Java Data Bean, Siebel Mobile Web Client Automation Server.

                            StoreEAI Method

                            StoreEAI updates the line item by storing the CxObj structure using EAI.

                            Syntax

                            Store EAI <inputArgs>, <outputArgs>

                            Input Arguments

                            Input Argument Description

                            IntegrationObjectName

                            The integration object name to use to load the object through EAI

                            InstanceCollectionName [optional]

                            A string indicating the name of the instance collection. Defaults to "TheInstanceCollection".

                            ParentObjId

                            Quote Id, Order Id, Agreement Id, or Asset Id

                            Usage

                            StoreEAI updates the line item by storing the CxObj structure using EAI.

                            Invoked From

                            Browser Script, COM Data Control, COM Data Server, Server Script, Java Data Bean, Siebel Mobile Web Client Automation Server.

                              CheckEligibilityHelper Method

                              Raises the GetEligibility signal on a configurator instance.

                              Syntax

                              CheckEligibilityHelper <inputArgs>, <outputArgs>

                              Input Arguments

                              Input Argument Description

                              InstanceName

                              Name of instance

                              Mode

                              Quote, Order, Asset or Agreement

                              Output Arguments

                              Output Argument Description

                              Status

                              SUCCESS or ERROR

                              Error Message

                              (Optional) Error message, if any

                              Usage

                              Raises the GetEligibility signal on a configurator instance. This is invoked from the Batch Validate workflow. The workflow can be modified to skip this step if needed.

                              Invoked From

                              Browser Script, COM Data Control, COM Data Server, Server Script, Java Data Bean, Siebel Mobile Web Client Automation Server.

                                CalculatePriceHelper Method

                                Raises the CalculatePrice signal on a configurator instance.

                                Syntax

                                CalculatePriceHelper <inputArgs>, <outputArgs>

                                Input Arguments

                                Input Argument Description

                                InstanceName

                                Name of instance

                                Mode

                                Quote, Order, Asset or Agreement

                                Output Arguments

                                Output Argument Description

                                Status

                                SUCCESS or ERROR

                                Error Number

                                (Optional) Error code, if any

                                Error Message

                                (Optional) Error message, if any

                                Usage

                                Raises the CalculatePrice signal on a configurator instance. This is invoked from the Batch Validate workflow. The workflow can be modified to skip this step if needed.

                                Invoked From

                                Browser Script, COM Data Control, COM Data Server, Server Script, Java Data Bean, Siebel Mobile Web Client Automation Server.