Go to primary content
Siebel CRM Siebel Mobile Guide: Disconnected
Siebel Innovation Pack 2016, Rev. C
E52427-01
  Go to Documentation Home
Home
Go To Table Of Contents
Contents
Go To Index
Index

Previous
Previous
 
Next
Next
    View PDF

Porting Siebel Server Scripts to Browser Side JavaScript

This topic introduces the eScript Porting tool (escriptporter.exe) for porting Siebel Server-side scripts from the database to the Siebel Mobile disconnected client in offline mode. Using this tool eliminates the need to invest time in converting the existing server-side online customizations (originally done using eScript) to offline JavaScript services.

The steps involved in porting Siebel Server-side scripts to browser side JavaScript, (shown in Figure 6-2), are as follows:

  1. Run the eScript Porting tool against the Siebel database. The eScript Porting tool executes SQL queries to extract server scripts for the following:

    • Events defined for the applet, business component, business object and application.

    • Business service methods.

    For more information about the SQL queries that the eScript Porting tool executes, see "Using the eScript Porting Tool".

  2. The (extracted) escripts are stored in a format which registers them into the Siebel Mobile disconnected framework.

    A format template file is used for the application, applet, and business component and another format template file is used for business component

Figure 6-2 Porting Siebel Server Scripts to Browser Side JavaScript

Surrounding text describes Figure 6-2 .

Using the eScript Porting Tool

escriptporter.exe is located in the siebsrvr/BIN folder. For example:

$SIEBEL_ROOT\bin\escriptporter.exe

The environment variable SIEBEL_REPOSITORY, which defines the repository to be extracted, must be set before running escriptporter.exe. For example:

Set SIEBEL_REPOSITORY=Siebel Repository

escriptporter.exe uses the following command arguments:

/U Username (Required)
/P Password (Required)
/C ODBC Data Source (Default Environment Variable: SIEBEL_DATA_SOURCE)
/D Siebel Table Owner (Default Environment Variable: SIEBEL_TABLE_OWNER)
/O OutputDir (Default: escripts)
/G Language (Default: ENU)
/W Web Server Dir

Where:

  • /U username is the user name used to log in to the database.

  • /P Password is the password used to log in to the database.

  • /C ODBC Data Source is the database to log in to.

  • /D Siebel Table Owner is the table owner who owns Siebel tables.

  • /O OutputDir is the path where exported escripts are stored.

  • /G Language is the language the log will use.

  • /W Web Server Dir is the path where eapps are located.

Defining Filters for the eScript Porting Tool

The eScript Porting tool command is located in $SIEBEL_ROOT\escriptTmpl.

Filters are defined for applications, applets, business components, and business services in the escriptporter.cfg file as follows:

  • Application filters are defined in the APPLICATIONS section of escriptporter.cfg.

  • Applet filters are defined in the APPLETS section of escriptporter.cfg.

  • Business component filters are defined in the BUSCOMPS section of escriptporter.cfg.

  • Business service filters are defined in the BUSSVCS section of escriptporter.cfg.

You define a filter using either the exact name of the filter or a name pattern.

Exact Name Filter

The syntax for defining a filter using the exact name of the filter is as follows:

  • Filter_Name X = name

    Filter_Name is the prefix and X is a number, starting from 1. The name value is the name of application, applet, business component, or business service

  • Filter_NameListFile = filename

    Filename is the file containing the names of the applications, applets, business components, or business services. Each line in the file defines a name, for example, as follows:

    SAP 4x Account - SAP Maps (MO)
    Send AlertOnline eMail

    The file name can use a relative path or an absolute path. If using a relative path, then $siebroot\escriptTmpl\ is appended to the relative path.

Name Pattern Filter

The syntax for defining a filter using a name pattern (SQL format) is as follows:

Filter_SqlNamePattern[X] = name pattern

Filter_Name is the prefix. X is a number, starting from 1 (if there is a number). The name pattern value must be in SQL format ().

Example escriptporter.cfg File

An example of an escriptporter.cfg file is as follows:

[APPLICATIONS] 
Filter_Name1= Siebel ePharma Mobile
[APPLETS]
Filter_SqlNamePattern = "Mobile"

[BUSCOMPS]
Filter_Name1= Account
Filter_Name2= Account Attachment
Filter_SqlNamePattern = "Account"

[BUSSVCS]
Filter_Name1= Quote - SAP 47 Maps
Filter_Name2= Send AlertOnline eMail
Filter_SqlNamePattern = "Order Maps"
Filter_SqlNamePattern = "Account"
Filter_NameListFile = service.txt

Example SQL Query Scripts

This topic shows some example SQL queries that escriptporter.exe (eScript Porting tool) executes to extract the server-side scripts from the Siebel database.

Example SQL for Querying Application Events

The table owner and hard coded parameter values in the following example SQL for querying application events are replaceable.

DM_GET_APPL_ESCRIPT = 
SELECT app.NAME,script.Name scriptName, script.SCRIPT
FROM S_APPL_SCRIPT script,
S_APPLICATION app
WHERE app.ROW_ID = script.APPLICATION_ID
AND script.PROG_LANG = 'JS'
AND app.REPOSITORY_ID = (SELECT ROW_ID FROM DATAQ1.S_REPOSITORY WHERE NAME = 'Siebel Repository')
AND app.INACTIVE_FLG = 'N'
AND script.INACTIVE_FLG = 'N';
/

Example SQL for Querying Applet Events

The table owner and hard coded parameter values in the following example SQL for querying applet events are replaceable.

DM_GET_APPLET_ESCRIPT = 
SELECT applet.Name appletName,script.Name scriptName,script.SCRIPT
FROM DATAQ1.S_APPL_WEBSCRPT script,
DATAQ1.S_APPLET applet
WHERE script.APPLET_ID = applet.ROW_ID
AND script.PROG_LANG = 'JS'
AND applet.REPOSITORY_ID = (SELECT ROW_ID FROM DATAQ1.S_REPOSITORY WHERE NAME = 'Siebel Repository')
AND applet.INACTIVE_FLG = 'N'
AND script.INACTIVE_FLG = 'N';
/

Example SQL for Querying Business Component Events

The table owner and hard coded parameter values in the following example SQL for querying business component events are replaceable.

DM_GET_BUSCOMP_ESCRIPT = 
SELECT buscomp.NAME bcName,script.Name scriptName, script.SCRIPT
FROM S_BUSCOMP_SCRIPT script,
S_BUSCOMP buscomp
WHERE buscomp.ROW_ID = script.BUSCOMP_ID
AND script.PROG_LANG = 'JS'
AND buscomp.REPOSITORY_ID = (SELECT ROW_ID FROM DATAQ1.S_REPOSITORY WHERE NAME = 'Siebel Repository')
AND buscomp.INACTIVE_FLG = 'N'
AND script.INACTIVE_FLG = 'N';
/

Example SQL for Querying Business Service Events

The table owner and hard coded parameter values in the following example SQL for querying business service events are replaceable.

DM_GET_SERVICE_ESCRIPT = 
SELECT service.NAME svcName ,script.Name scriptName, script.SCRIPT
FROM S_SERVICE_SCRPT script,
S_SERVICE service
WHERE service.ROW_ID = script.SERVICE_ID
AND script.PROG_LANG = 'JS'
AND service.REPOSITORY_ID = (SELECT ROW_ID FROM DATAQ1.S_REPOSITORY WHERE NAME = 'Siebel Repository')
AND service.INACTIVE_FLG = 'N'
AND script.INACTIVE_FLG = 'N';
/

Supported Offline APIs

This topic lists the offline APIs supported by escriptporter.exe, the eScript Porting tool. Some objects and functions used in the Siebel Server-side script are missing or different in the Siebel Mobile disconnected framework. For a complete list of unsupported functions, see "Unsupported Offline APIs".

The technologies you can use to access the object interface methods include the following:

Applet Methods

You can use the following technologies to access applet object interface methods. You can use an applet object interface method only with Server Script and Browser Script.

  • ActiveMode Method for an Applet

  • BusComp Method for an Applet

  • BusObject Method for an Applet

  • FindActiveXControl Method for an Applet

  • FindControl Method

  • Examples of Using the FindControl Method

  • Name Method for an Applet

For more information about each of these applet methods, see Siebel Object Types Reference.

Application Methods

You can use the following technologies to access application methods.

  • ActiveApplet Method for an Application

  • ActiveBusComp Method for an Application

  • ActiveBusObject Method for an Application

  • ActiveViewName Method for an Application

  • Attach Method for an Application

  • CurrencyCode Method for an Application

  • Detach Method for an Application

  • EnableExceptions Method for an Application

  • FindApplet Method for an Application

  • GetBusObject Method for an Application

  • GetLastErrCode Method for an Application

  • GetLastErrText Method for an Application

  • GetService Method for an Application

  • GotoView Method for an Application

  • InvokeMethod Method for an Application

  • Language Method for an Application

    Called only with InvokeMethod

  • LoadObjects Method for an Application

  • Login Method for an Application

  • LoginId Method for an Application

  • LoginName Method for an Application

  • Logoff Method for an Application

  • Name Method for an Application

  • NewPropertySet Method for an Application

  • PositionId Method for an Application

  • PositionName Method for an Application

  • ShowModalDialog Method for an Application

  • SWEAlert Method for an Application

For more information about each of these application methods, see Siebel Object Types Reference.

Business Component Methods

You can use the following technologies to access business component methods. You cannot use these methods with the Web Client Automation Server.

  • ActivateField Method for a Business Component

  • ActivateMultipleFields Method for a Business Component

  • Associate Method for a Business Component

  • BusObject Method for a Business Component

  • ClearLOVCache Method for a Business Component

    Called only with InvokeMethod

  • ClearToQuery Method for a Business Component

  • CreateFile Method for a Business Component

    Called only with InvokeMethod

  • DeactivateFields Method for a Business Component

  • DeleteRecord Method for a Business Component

  • ExecuteQuery Method for a Business Component

  • FirstRecord Method for a Business Component

  • GenerateProposal Method for a Business Component

    Called only with InvokeMethod

  • GetAssocBusComp Method for a Business Component

  • GetFieldValue Method for a Business Component

  • GetFile Method for a Business Component

    Called only with InvokeMethod

  • GetLastErrCode Method for a Business Component

  • GetLastErrText Method for a Business Component

  • GetMultipleFieldValues Method for a Business Component

  • GetPicklistBusComp Method for a Business Component

  • GetSearchExpr Method for a Business Component

  • GetSearchSpec Method for a Business Component

  • GetSortSpec Method for a Business Component

  • GetUserProperty Method for a Business Component

  • GetViewMode Method for a Business Component

  • InvokeMethod Method for a Business Component

  • Name Method for a Business Component

  • NewRecord Method for a Business Component

  • NextRecord Method for a Business Component

  • ParentBusComp Method for a Business Component

  • Pick Method for a Business Component

  • PutFile Method for a Business Component

    Called only with InvokeMethod

  • RefreshBusComp Method for a Business Component

    Called only with InvokeMethod

  • RefreshRecord Method for a Business Component

    Called only with InvokeMethod

  • Release Method for a Business Component

  • SetAdminMode Method for a Business Component

    Called only with InvokeMethod

  • SetFieldValue Method for a Business Component

  • SetMultipleFieldValues Method for a Business Component

  • SetSearchExpr Method for a Business Component

  • SetSearchSpec Method for a Business Component

  • SetSortSpec Method for a Business Component

  • SetViewMode Method for a Business Component

  • UndoRecord Method for a Business Component

  • WriteRecord Method for a Business Component

For more information about each of these business component methods, see Siebel Object Types Reference.

Business Object Methods

You can use the following technologies to access business object methods. You cannot use these methods with the Web Client Automation Server.

  • GetBusComp Method for a Business Object

  • GetLastErrCode Method for a Business Object

  • GetLastErrText Method for a Business Object

  • Name Method for a Business Object

  • Release Method for a Business Object

For more information about each of these business object methods, see Siebel Object Types Reference.

Business Service Methods

You can use the following technologies to access business service methods.

  • InvokeMethod Method for a Business Service

  • Name Method for a Business Service

  • Release Method for a Business Service

For more information about each of these business service methods, see Siebel Object Types Reference.

Control Methods

You can use the following control methods. You can use these methods only with Browser Script:

  • Applet Method for a Control

  • BusComp Method for a Control

  • GetProperty Method for a Control

  • GetValue Method for a Control

  • Name Method for a Control

  • SetLabelProperty Method for a Control

  • SetProperty Method for a Control

  • SetValue Method for a Control

For more information about each of these control methods, see Siebel Object Types Reference.

Property Set Methods

You can use the following technologies to access property set methods.

  • AddChild Method for a Property Set

  • Copy Method for a Property Set

  • GetByteValue Method for a Property Set

  • GetChild Method for a Property Set

  • GetChildCount Method for a Property Set

  • GetFirstProperty Method for a Property Set

  • GetLastErrCode Method for a Property Set

  • GetLastErrText Method for a Property Set

  • GetNextProperty Method for a Property Set

  • GetProperty Method for a Property Set

  • GetPropertyCount Method for a Property Set

  • GetType Method for a Property Set

  • GetValue Method for a Property Set

  • InsertChildAt Method for a Property Set

  • PropertyExists Method for a Property Set

  • RemoveChild Method for a Property Set

  • RemoveProperty Method for a Property Set

  • Reset Method for a Property Set

  • SetByteValue Method for a Property Set

  • SetProperty Method for a Property Set

  • SetType Method for a Property Set

  • SetValue Method for a Property Set

For more information about each of these property set methods, see Siebel Object Types Reference.

Miscellaneous Methods

You can use the following technologies to access other methods that you can use.

  • GetErrorCode Method

  • GetErrorMessage Method

  • TheApplication Method


Note:

You cannot use these methods with the following technologies: Web Client Automation Server, Mobile Web Client Automation Server, COM Data Control, and COM Data Server.

For more information about each of these miscellaneous methods, see Siebel Object Types Reference.

Unsupported Offline APIs

This topic lists the offline APIs that are not supported by escriptporter.exe, the eScript Porting tool. Some objects and functions used in the Siebel Server-side script are not implemented in the Siebel Mobile disconnected framework. Any function invoked that is not supported shows a pop-up message saying This function is not supported.

For more information about the technologies you cannot use to access the object interface methods, see the following:

Application Methods

The following technologies are not supported to access application methods:

  • GetDataSource Method for an Application

  • GetProfileAttr Method for an Application

  • GetSharedGlobal Method for an Application

  • IsViewReadOnly Method for an Application

  • LoadUserAttributes Method for an Application

  • LookupMessage Method for an Application

  • LookupValue Method for an Application

  • RaiseError Method for an Application

  • RaiseErrorText Method for an Application

  • SetPositionId Method for an Application

  • SetPositionName Method for an Application

  • SetProfileAttr Method for an Application

  • SetSharedGlobal Method for an Application

  • Trace Method for an Application

  • TraceOff Method for an Application

  • TraceOn Method for an Application

Business Component Methods

The following technologies are not supported to access business component methods:

  • ExecuteQuery2 Method for a Business Component

  • FirstSelected Method for a Business Component

  • GetFormattedFieldValue Method for a Business Component

  • GetMVGBusComp Method for a Business Component

  • GetNamedSearch Method for a Business Component

  • LastRecord Method for a Business Component

  • NextSelected Method for a Business Component

  • PreviousRecord Method for a Business Component

  • RefineQuery Method for a Business Component

  • SetFormattedFieldValue Method for a Business Component

  • SetNamedSearch Method for a Business Component

  • SetUserProperty Method for a Business Component

Business Service Methods

The following technologies are not supported to access business service methods:

  • GetFirstProperty Method for a Business Service

  • GetNextProperty Method for a Business Service

  • GetProperty Method for a Business Service

  • PropertyExists Method for a Business Service

  • RemoveProperty Method for a Business Service

  • SetProperty Method for a Business Service

Buffer Lib Methods

The following technologies are not supported to access buffer lib methods:

  • Buffer

  • getString

  • getValue

  • offset[]

  • putString

  • putValue

  • subBuffer

  • toString

SELib Methods

The following technologies are not supported to access SELib methods:

  • dynamicLink

  • peek

  • pointer

  • poke

CLib Methods

The following technologies are not supported to access CLib methods:

  • memchr

  • memcmp

  • memcpy

  • memmove

  • memset

  • isalnum

  • isalpha

  • isascii

  • iscntrl

  • isdigit

  • isgraph

  • islower

  • isprint

  • ispunct

  • isspace

  • isupper

  • isxdigit

  • toascii

  • clearerr

  • perror

  • strerror

  • chdir

  • getcwd

  • fclose

  • feof

  • fflush

  • fgetc

  • getc

  • fgetpos

  • fgets

  • fopen

  • fprintf

  • fputc

  • putc

  • fputs

  • fread

  • freopen

  • fscanf

  • fseek

  • fsetpos

  • ftell

  • fwrite

  • mkdir

  • remove

  • rename

  • rewind

  • rmdir

  • sscanf

  • mpfile

  • tmpnam

  • ngetc

  • cosh

  • div ldiv

  • frexp

  • ldexp

  • modf

  • rand

  • sinh

  • srand

  • tanh

  • rsprintf

  • sprintf

  • strchr

  • strcspn

  • stricmp

  • strcmpi

  • strlwr

  • strncat

  • strncmp

  • strncmpi

  • strnicmp

  • strncpy

  • strpbrk

  • strrchr

  • strspn

  • strstr

  • strstri

  • asctime

  • clock

  • difftime

  • gmtime

  • localtime

  • mktime

  • tmpnam

  • bsearch

  • getenv

  • putenv

  • qsort

  • system

  • atof

  • atoi

  • atol

  • fmod

  • strcat

  • strcmp

  • strcpy

  • strlen

  • strlwr

  • strtod

  • strtol

  • strupr

  • tolower

  • toupper

Global Methods

The following technologies are not supported to access global methods:

  • COMCreateObject

  • undefine