Versions Compared

Key

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

...

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-

...

  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-

...

  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");

...

  1.                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 > >

       

       

       

       

       

      ...