Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The Interpoint for Siebel extension of Precise for SQL Server and Precise for Oracle can only receive notifications of user events if specific objects are included in the Siebel Repository File (SRF). Before you can use Interpoint for Siebel, you need to modify the SRF file. This document describes how to add the required objects to the file.

Anchor
SettingupSiebelbatchprocesssampling
SettingupSiebelbatchprocesssampling
Setting up Siebel batch process sampling

...

  1. Open Siebel Tools.
  2. In the Object Explorer, on the Types tab, select Project.
  3. Create a new project by holding down the pressing Ctrl+n.
  4. Name the new project, "Precise Interpoint."
  5. Lock the project by clicking the Locked column to the right.

Anchor
CreatingtheCXVTSSPIDtableSQLServer
CreatingtheCXVTSSPIDtableSQLServer
Creating the CX_VTSSPID table (SQL Server)

...

To create the CX_VTSSPID table1.    From

  1. From the File menu, select New Object.

...

  1. In the New Object Wizard, on the General tab, select Table; then click OK.

...

  1. In the General dialog box, do the following:
    1. In the Enter a name for the new Table text box, type CX_VTSSPID.
    2. From the Choose a Project in which you wish to create the Table list, select Precise Interpoint.
    3. Under Select the type of the Table, select A stand-alone Table.

...

  1. Click Next; then click Finish to close the dialog box.

...

  1. In the Tables workspace, click Apply.

...

  1. In the Apply Schema dialog box, if needed, type a valid privileged user ID and privileged user password into the relevant text boxes.

...

  1. Click Apply. The dialog box closes, and the table is created.

...

  1. In the Tables panel, click Activate to activate the new table.

Anchor
CreatingthebusinesscomponentSQLServer
CreatingthebusinesscomponentSQLServer
Creating the business component (SQL Server)

...

To create the business component1.    In

  1. In Siebel Tools, from the File menu, select New Object. The New Object Wizard opens.

...

  1. On the General tab, select BusComp.

3.    Click OK.

...

  1. Click OK.
  2. In the New Business Component dialog box, do the following:
    1. In the Enter a name for the new Business Component text box, type VTS_SPID.
    2. From the Select the Project this Business Component will be part of list, select Precise Interpoint.
    3. From the Select the Table this Business Component will operate on list, select CX_VTSSPID.

...

  1. Click Next.

...

  1. In the Single Value Fields dialog box, from the Select a column in the Base table list, select ROW_ID. A default Field name automatically appears in the Enter a name for the Field text box.

...

  1. Click Add to move the selected row to the table; then click Finish to create the business component.

Anchor
CreatingthebusinessobjectSQLServer
CreatingthebusinessobjectSQLServer
Creating the business object (SQL Server)

...

To create the business object1.    In

  1. In Siebel Tools, in the Objects Explorer, on the Types tab, select Business Object.

...

  1. In the Business Objects panel, from the Edit menu, select New Record. A new record is added to the table in the Business Objects panel.

...

  1. In the Name column, type: VTS_SPID.

...

  1. In the Project column, assign the new record to the VERITAS Interpoint project.

...

  1. On the Types tab in the Object Explorer, select Business

...

  1. Object > Business Object Component.

...

  1. From the Edit menu, select New Record. A new record is added to the table in the Business Object Components panel.

...

  1. In the BusComp column, type: VTS_SPID.

...

  1. From the Tools menu, select Compile Project.

Anchor
AddingtheApplicationPreNavigatefunctionSQLServer
AddingtheApplicationPreNavigatefunctionSQLServer
Adding the Application_PreNavigate() function (SQL Server)

...

To add the Application_PreNavigate() function1.    In

  1. In Siebel Tools, from the View menu, select Options.

...

  1. In the Development Tools Options dialog box, on the Scripting tab, note the value of the Scripting Language list and click OK.

...

  1. In the Object Explorer, on the Types tab, expand Application.

...

  1. Right-click on the application to be modified and select Lock Object.

...

  1. Right-click on the application to be modified and select Edit Server Scripts.

...

  1. In the Server Script Editor, select the Application_PreNavigate function. The function's default script appears in the text panel.
    If this function already contains a custom script, contact Precise Customer Support for alternative instructions.

...

  1. Replace the default script with the following script:
    Function Application_PreNavigate (DestViewName As String,

...

  1. DestBusObjName As String) As Integer
         Dim cmd As String
         Dim oActionBO As BusObject
         Dim vtsBC As BusComp
         Dim spid As String
         Const appName = "Siebel Sales Enterprise"
         On Error Resume Next Set oActionBO = theApplication.GetBusObject("VTS_SPID")

...

  1. Set vtsBC = oActionBO.GetBusComp("VTS_SPID")
    With vtsBC
         ClearToQuery
         ActivateField "Row Id"
         ExecuteQuery ForwardOnly
         FirstRecord
         i = .GetFieldValue("Row Id")
    End With
         Set oActionBO = Nothing
         Set vtsBC = Nothing
         cmd = "vrts_srf_agent.exe " + i + " """ + appName + """ """ +

...

  1. DestViewName + """ """ + DestBusObjName + """ """ + LoginName

...

  1. + """"
         Shell(cmd)
         Application_PreNavigate = ContinueOperation
    End Function

    If the Scripting Language in use is eScript, use the following script:
    function Application_PreNavigate (DestViewName, DestBusObjName)
    {
         try
         {
                   var cmd;
                   var oActionBO;
                   var vtsBC;
                   var appName = "Siebel Sales Enterprise";
                   oActionBO = TheApplication().GetBusObject("VTS_SPID");
                   vtsBC = oActionBO.GetBusComp("VTS_SPID");
                   vtsBC.ClearToQuery();

...

  1.                vtsBC.ActivateField("Row Id");
                   vtsBC.ExecuteQuery(ForwardOnly);
                   vtsBC.FirstRecord();
                   cmd = "start cmd /c vrts_srf_agent.exe " +
                   vtsBC.GetFieldValue("Row Id") +//SPID
                   " \"" + appName +
                   "\" \"" + DestViewName +
                   "\" \"" + DestBusObjName +
                   "\"\"" + TheApplication().LoginName() +
                   "\"";
              vtsBC = null;
              oActionBO = null;
              Clib.system(cmd);
         }
         catch (obj)
         {
              Clib.system( "start cmd /c vrts_srf_agent.exe \"" + obj +

...

  1. "\"" );
              return (ContinueOperation); //Ignore all exceptions
         }
    }

...

  1. Modify the appName variable to match the name of the Siebel application.

Anchor
ReplacingthetablewithacustomviewSQLServer
ReplacingthetablewithacustomviewSQLServer
Replacing the table with a custom view (SQL Server)

The following procedure replaces the table with a custom view. To replace the table with a custom view1.    Log

  1. Log on to your Siebel database using Query Analyzer. Make sure to log on with a privileged account.

...

  1. Run the following script:
         DROP TABLE CX_VTSSPID
         GO
         CREATE VIEW [CX_VTSSPID] as select
              '1' as [CONFLICT_ID],
              getdate() as [CREATED],
              '--' as [CREATED_BY],
              getdate() as [LAST_UPD],
              '2' as [LAST_UPD_BY],
              1 as [MODIFICATION_NUM],
              @@spid as [ROW_ID]
         GO
         GRANT SELECT ON [CX_VTSSPID] TO public
         GO

Anchor
CompletingthemodificationSQLServer
CompletingthemodificationSQLServer
Completing the modification (SQL Server)

...

To complete the modification1.    Save

  1. Save all changes.

...

  1. Compile the Siebel project. This will create a new Siebel.srf file.

...

  1. Test the project on your development machine.

...

  1. On each of your production Siebel Servers:

      ...

        1. Stop the Siebel Server.

      ...

        1. Deploy the new Siebel.srf file

      ...

        1. Verify that the EnableScripting option in the application CFG file is set to TRUE.

      ...

        1. Start the Siebel Server.

      Anchor
      DebuggingthescriptSQLServer
      DebuggingthescriptSQLServer
      Debugging the script (SQL Server)

      The following procedure debugs the script.

      To debug the script1.    Before

      1. Before attempting to debug, from the View menu, select Options.

      ...

      1. On the Debug file tab, open the file that is specified in the CFG file text box in a text editor.

      ...

      1. Make sure that the RepositoryFile and ApplicationName options are set correctly.

      ...

      1. Make sure the EnableScripting option is set to TRUE.

      Anchor
      AboutsamplingSiebelbatchprocessesOracle
      AboutsamplingSiebelbatchprocessesOracle
      About sampling Siebel batch processes (Oracle)

      For Siebel batch processes to be sampled by the Interpoint for Siebel Collectors, create a tab-delimited text file that contains the mapping of each Siebel server to its host machine, as it appears in Oracle.

      To create the text file:1.    Log

      1. Log on to the server where your Siebel AppTier Collector instance is installed.

      ...

      1. Create the following tab-delimited text file:

        ...

          • Windows

        ...


        ...

          • <Precise_

        ...

          • root>\products\oracle\<SID>\etc\siebel_machines.txt

        ...

          • UNIX

        ...


        ...

          • <Precise_

        ...

          • root>/products/oracle/<SID>/etc/siebel_machines.txt

        To obtain the list of Siebel servers:1.    Log

        1. Log on to the SrvrMgr utility.

        ...

        1. Execute the following command:
          list servers

        The following list is an example of the results:

        Table 1-1    List List of Siebel servers

        SBLSRVR_

        ...

        NAMEHOST_NAME

        ...

        AsDev1POOL-SIEBEL1

        ...

        AsDev2POOL-SIEBEL2

        Each returned row represents a Siebel server. The row information can be split into two columns:•    The

        • The first column, SBLSRVR_NAME represents the name of the Siebel server, for example AsDev1.

        ...

        • The second column HOST_NAME represents the corresponding physical machine name, but not necessary as it appears in Oracle.

        To find the physical machine name as it appears in Oracle, connect to the Siebel database and execute the following command:

        SELECT DISTINCT MACHINE FROM V$SESSION;

        The following list is an example of the results:

        Table 1-2    Machine Machine name list

        MACHINE
        PRECISE\POOL-SIEBEL1
        PRECISE\POOL-SIEBEL2

        If there is no entry in V$SESSION with the physical machine name, use the results from the HOST_NAME column. After inserting the previous results into the siebel_machines.txt file, the contents is as follows:

        AsDev1 PRECISE\POOL-SIEBEL1
        AsDev2 PRECISE\POOL-SIEBEL2

        Anchor
        ModifyingtheSiebelRepositoryFileOracle
        ModifyingtheSiebelRepositoryFileOracle
        Modifying the Siebel Repository File (Oracle)

        ...

        Anchor
        CreatingthePreciseInterpointprojectOracle
        CreatingthePreciseInterpointprojectOracle
        Creating the Precise Interpoint project (Oracle)

        ...

        1. Open Siebel Tools.

        ...

        1. In the Siebel Tools, on the Types tab in the Object Explorer, select Project.

        ...

        1. Create a new project by

        ...

        1. pressing Ctrl+n.
        2. Name

        ...

        1. the new project, "Precise Interpoint."

        ...

        1. Lock the project, by choosing the Locked column to the right option.

        ...

        1. Info

          All objects created in subsequent steps will be grouped under this project.

        Anchor
        CreatingtheCXPSSSBLtableOracle
        CreatingtheCXPSSSBLtableOracle
        Creating the CX_PSS_SBL table (Oracle)

        Info

        ...

        This procedure includes some steps for versions up to version 8.0, and other steps for version 8.0 and higher. For steps where there are differences between versions, the difference has been clearly specified.

        ...

        1. From the File menu, choose New Object. The New Object Wizard opens.

        ...

        1. On the General tab, select Table.

        ...

        1. Click OK. The General dialog box opens.
          Figure 1

        ...

        1. General Dialog Box

        ...

        1. Image Added
        2. In the Enter a name for the new Table field, type

        ...

        1. CX_PSS_SBL.

        ...

        1. From the Choose a Project in which you wish to create the Table drop-down list, select Precise Interpoint.

        ...

        1. Under Select the type of the Table, select A stand-alone Table.

        ...

        1. Click Next.

        ...

        1. Click Finish to close the dialog box.

        ...

        1. For versions prior to version 8.0,

        ...

        1. in the Tables workspace, click Apply. For version 8.0 and higher, in the Tables workspace, click Apply/DDL. In the displayed dialog box, click Apply.

        ...

        1. The Apply Schema dialog box is displayed.
          Figure

        ...

        1. 2 Apply Schema dialog box

        ...


        1. Image Added
        2. If needed, type a valid privileged user ID and privileged user password into the relevant text boxes.

        ...

        1. Click Apply. The dialog box closes and the table is created.

        ...

        1. In the Tables panel, click Activate to activate the new table.

        ...

        1. In Siebel Tools, on the Types tab in the Object Explorer, select Table. The Tables panel opens.
        2. Select table

        ...

        1. CX_PSS_SBL.

        ...

        1. On the Types tab in the Object Explorer, Expand Tables and select Column. The Columns panel opens.

        ...

        1. From the Edit menu, choose New Record. A new record is added to the table in the Columns panel.

        ...

        1. Add two new columns to the table as follows:
          Table

        ...

        1. 3 Table with new columns

        Name    User Name    Physical Type    Length

        CLIENT_INFO    Client Info    Varchar    64

        ACTION    Action    Varchar    32

        ...

        1. NameUser NamePhysical TypeLength
          CLIENT_INFOClient InfoVarchar64
          ACTIONActionVarchar32
        2. For versions prior to version 8.0, in the Tables workspace, click Apply. For version 8.0 and higher, in the Tables workspace, click Apply/DDL. In the displayed dialog box, click Apply.

        ...

        1. The Apply Schema dialog box is displayed (see Figure

        ...

        1. 2).

        ...

        1. If needed, type a valid privileged user ID and privileged user password into the relevant text boxes.

        ...

        1. Click Apply. The dialog box closes and the records are created.

        ...

        1. In the Tables panel, click Activate to activate the table with the new columns.
          Figure

        ...

        1. 3 Siebel Repository - Column List Dialog Box
          Image Added

        Anchor
        CreatingthebusinesscomponentOracle
        CreatingthebusinesscomponentOracle
        Creating the business component (Oracle)

        ...

        1. In Siebel Tools, from the File menu, choose New Object. The New Object Wizard opens.

        ...

        1. On the General tab, select BusComp.

        ...

        1. Click OK. The New Business Component dialog box opens.
          Figure

        ...

        1. 4 New Business Component Dialog Box

        ...

        1. Image Added
        2. In the Enter a name for the new Business Component field, type

        ...

        1. PRECISE_SBL.

        ...

        1. From the Select the Project this Business Component will be part of drop-down list, select Precise Interpoint.

        ...

        1. From the Select the Table this Business Component will operate on drop-down list, select CX_PSS_SBL.

        ...

        1. Click Next. The Single Value Fields dialog box opens.
          Figure

        ...

        1. 5 Single Value Fields Dialog Box

        ...

        1. Image Added
        2. From the Select a column in the Base table drop-down list, select ACTION. A default field name automatically appears in the Enter a name for the Field text box.

        ...

        1. Click Add to move the selected row to the table.

        ...

        1. From the Select a column in the Base table drop-down list, select CLIENT_INFO. A default field name automatically appears in the Enter a name for the Field text box.

        ...

        1. Click Add to move the selected row to the table.

        ...

        1. Click Finish to create the Business Component.

        Anchor
        CreatingthebusinessobjectOracle
        CreatingthebusinessobjectOracle
        Creating the business object (Oracle)

        ...

        1. In Siebel Tools, on the Types tab in the Object Explorer, select Business Object. The Business Objects panel opens.

        ...

        1. From the Edit menu, choose New Record. A new record is added to the table in the Business Objects panel.

        ...

        1. In the Name column, type

        ...

        1. PRECISE_SBL.

        ...

        1. In the Project column, assign the new record to the Precise Interpoint project.

        ...

        1. On the Types tab in the Object Explorer, select Business Object > Business Object Component.
          Figure

        ...

        1. 6 Siebel Repository - Business Object Component List Dialog Box

        ...

        1. Image Added
        2. From the Edit menu, choose New Record. A new record is added to the table in the Business Object Components Panel.

        ...

        1. In the Bus Comp column, type

        ...

        1. PRECISE_SBL.

        ...

        1. From the Tools menu, choose Compile Project.

        Anchor
        AddingtheApplicationPreNavigatefunctionOracle
        AddingtheApplicationPreNavigatefunctionOracle
        Adding the Application_PreNavigate() function (Oracle)

        ...

        1. In Siebel Tools, from the View menu, select Options. On the Scripting tab, note the value of the Scripting Language list. If no language is selected, select the eScript option.
          Figure

        ...

        1. 7 Development Tools Options Dialog Box
          For versions prior to version 8.0:
          Image Added
          For version 8.0 and higher:

        ...

        1. Image Added
        2. In the Object Explorer, on the Types tab, expand Application.

        ...

        1. Right-click on the application to be modified and select Lock Object.

        ...

        1. Right-click on the application to be modified and select Edit Server Scripts.

        ...

        1. In the Server Script Editor, select the Application_PreNavigate function. The function's default script appears in the text panel.
          Figure

        ...

        1. 8 Siebel Repository - Application [Siebel Sales Enterprise] - Script Dialog Box

        ...


        1. Image Added

          Info

          If this function already contains a custom script, do not continue. Contact Precise Technical Support for alternative instructions.

        ...

        1. If the used Scripting Language is eScript, use the following script:

        ...

        1. Info

          Modify the appName variable to match the name of the Siebel application.

        ...

        1. Function Application_PreNavigate (DestViewName, DestBusObjName)
          {
               try
               {
                    var    oActionBO;
                    var    pssBC;
                    var    appName = "Siebel Sales Enterprise";
                    var    action; //(32)
                    var    client_info; //(64)

               oActionBO =
                    TheApplication().GetBusObject("PRECISE_SBL");
                         pssBC = oActionBO.GetBusComp("PRECISE_SBL");

                         action = DestViewName.substring(0,32);
                    client_info="S," +
                    TheApplication().LoginName().substring(0,14) + "," +
                         DestBusObjName.substring(0,31) + "," +
                         appName.substring(0,17);

                         pssBC.NewRecord(1);
                    pssBC.SetFieldValue("Action", action);
                         pssBC.SetFieldValue("Client Info", client_info);
                         pssBC.WriteRecord();
                        
                         pssBC = null;
                         oActionBO = null;
               }
               catch (obj)
               {
                    pssBC = null;
                    oActionBO = null;
                    var sText = obj.errText;
                    var nCode = obj.errCode;
               }
               finally
               {
                    return (ContinueOperation);
               }
          }

        ...

        1. If the used Scripting Language is Visual Basic, use the following script:

        ...

        1. Info

          Modify the appName variable to match the name of the Siebel application.


          Function Application_PreNavigate (DestViewName As String, DestBusObjName As String) As Integer
               Dim    oActionBO As BusObject
               Dim    pssBC As BusComp
               Dim    action As String
               Dim    client_info As String
               Const appName = "Siebel Field Service"

               On Error Resume Next
               Set oActionBO = TheApplication.GetBusObject("PRECISE_SBL")
               Set pssBC = oActionBO.GetBusComp("PRECISE_SBL")

               action = Left(DestViewName,32)
               client_info="S," + Left(LoginName,14) + "," + Left(DestBusObjName,31) + "," + Left(appName,17)

               pssBC.NewRecord 1
               pssBC.SetFieldValue "Action", action
               pssBC.SetFieldValue "Client Info", client_info
               pssBC.WriteRecord
               Set oActionBO = Nothing
               Set pssBC = Nothing

               Application_PreNavigate = ContinueOperation
          End Function

        ...

        1. Compile the project.

        Anchor
        ReplacingthetablewithaglobaltemporarytableOracle
        ReplacingthetablewithaglobaltemporarytableOracle
        Replacing the table with a global temporary table (Oracle)

        ...

        1. Log in to your Siebel database, using SQLPLUS. Make sure to log in with a privileged account.

        ...

        1. Run the following statement:
          create table CX_PSS_SBL_TAB as select * from CX_PSS_SBL where 1=2;

        ...

        1. Drop the following table:
          DROP TABLE CX_PSS_SBL;

        ...

        1. Set the following grant for the table:
          GRANT SELECT, INSERT, UPDATE, DELETE ON CX_PSS_SBL_TAB to SSE_ROLE;

        ...

        1. Create the following view:
          create view CX_PSS_SBL as
          Select * from CX_PSS_SBL_TAB;

        ...

        1. Set the following grant for the view:
          GRANT SELECT, INSERT, UPDATE, DELETE ON CX_PSS_SBL TO SSE_ROLE;

        ...

        1. Create the following trigger:
          CREATE OR REPLACE TRIGGER CX_PSS_SBL_TRG
          INSTEAD OF INSERT on CX_PSS_SBL
          BEGIN
          DBMS_APPLICATION_INFO.SET_CLIENT_INFO (:new.client_info); DBMS_APPLICATION_INFO.SET_ACTION (:new.action);
          END;
          /

        Anchor
        CompletingthemodificationOracle
        CompletingthemodificationOracle
        Completing the modification (Oracle)

        ...

        1. Save all changes.

        ...

        1. Compile the Siebel project. This will create a new Siebel.srf file.

        ...

        1. Test the project on your development machine.

        ...

        1. On each of your production Siebel Servers:

            ...

              1. Stop the Siebel Server.

            ...

              1. Deploy the new Siebel.srf file

            ...

              1. Verify that the EnableScripting option in the application CFG file is set to TRUE.

            ...

              1. Start the Server.

            Anchor
            DebuggingthescriptOracle
            DebuggingthescriptOracle
            Debugging the script (Oracle)

            ...

            1. Before attempting to debug, select Options from the View menu.

            ...

            1. Click the Debug file tab.

            ...

            1. Note the file specified in the CFG file field and open it in a text editor.

            ...

            1. Make sure the RepositoryFile and ApplicationName options are set correctly.

            ...

            1. Make sure the EnableScripting option is set to TRUE.

             

            Precise. Performance intelligence from click to storage. Learn more > >

             

             

             

            ...


            Scroll Ignore
            scroll-pdftrue
            scroll-officetrue
            scroll-chmtrue
            scroll-docbooktrue
            scroll-eclipsehelptrue
            scroll-epubtrue
            scroll-htmltrue
            Newtabfooter
            aliasIDERA
            urlhttp://www.idera.com
             | 
            Newtabfooter
            aliasProducts
            urlhttps://www.idera.com/productssolutions/sqlserver
             
            Newtabfooter
            aliasPurchase
            urlhttps://www.idera.com/buynow/onlinestore
             | 
            Newtabfooter
            aliasSupport
            urlhttps://idera.secure.force.com/precise/
             | 
            Newtabfooter
            aliasCommunity
            urlhttp://community.idera.com
             
            |
             
            Newtabfooter
            aliasResources
            urlhttp://www.idera.com/resourcecentral
             | 
            Newtabfooter
            aliasAbout Us
            urlhttp://www.idera.com/about/aboutus
             
            Newtabfooter
            aliasLegal
            urlhttps://www.idera.com/legal/termsofuse