Siebel Scripting 3

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 34

Siebel Scripting, Part

Two
eScript Syntax
Introduction
 Data Types
 Declaring Variables
 Operators
 Decisions
 Looping
 Functions
 Arrays in eScript
 Some Important eScript Methods
 Using Siebel Objects
Comments in eScript
 Use two forward slashes // at the
front of a line to make a single line
comment
 Example:
//This is a single line comment
 Use /* to start and */ to end a
multi-line comment
 Example:
/*This Comment
stretches over
Data Types
 There ARE no data types in eScript
 eScript is a loose typed language
 Variables can change type
dynamically
 eScript is Case Sensitive
 var MyString and var mystring are
two DIFFERENT variables!
Operators
 Mathematical Operators
+, -, *, /, % (no exponentiation)
 Conditional Operators
==, !=, <, >, <=, >=
 Logical Operators
&&, ||, !
 Assignment
=
 Ternary
Condition ? Do If True : Do If False
Declaring Variables
 Syntax:
 var VarName;
 Examples:
 var iScore;
 var bcContact;

 Can
declare more than one variable of the
same type in one line:
 var sLastName, sFirstName;
 eScript Variables can be initialized:
 var sName = “Charlie”;
 var iCount = 1;
Decisions: if
 Syntax:
 if (Condition)
{
 ‘Code to be executed if Condition is True
}
 Example:
 if (iScore < 60)
{
 sGrade = “Fail”;
}
 Simple Decision Making Construct
Decisions: else
 Syntax:
if (Condition)
{
‘Code to Execute if Condition is True
}
else
{
‘Code to Execute if Condition is False
}
Decisions: else
 Example:
if (iScore < 60)
{
sGrade = “Fail”;
}
else
{
sGrade = “Passing”;
}
Decisions: elseif
 Example:
 if (iScore < 60)
{
 sGrade = “Fail”;
}
 elseif (iScore >= 100)
{
 sGrade = “Perfect”;
}
 else
{
 sGrade = “Passing”;
 };
Decisions: switch case
 Used to make large nested if structures
more readable
 Syntax:
switch(VarName)
{
case FirstCase:
 break;

case NextCase:
 break;

default:

}
Decisions: switch case
 Example:
switch(iScore)
{
case 60:
 sGrade = “Fail”;
 break;

case 100:
 sGrade = “Perfect”:
 break;

default:
 sGrade = “Passing”
}
Looping: for Loop
 Syntax:
for (start;condition;increment)
{
‘Code to execute each iteration of loop
}

 Example:
for (iCtr = 0;iCtr<10;iCtr++)
{
sStepNum = “Step Number: “ + Str$(iCtr);
}
Looping: do Loop
 Syntax:
 do
{
 ‘Code to execute each iteration of the loop
 }while (Condition);
 Example:
 iCtr = 0;
 do
{
 iCtr= iCtr + 1;
 sStepNum = “Step Number: “ & Str$(iCtr);

} while (iCtr < 10);


Looping: while Loop
 While loop has same syntax as do loop,
but Condition is at the top, instead of
the bottom
 In a do loop, the loop will always
execute at least once
 In a while loop, the loop will not execute
even once if the condition is not true
the first time through the loop
Functions
 Allfunctions in eScript are referred to
as functions whether or not they
return a value
 Simple types are passed by value
unless you place an ampersand in
front of the variable name (&)
 Objects and arrays are always
passed by reference
Functions
 Syntax:
function FuncName (Var1, Var2)
{
‘Code to execute inside function
‘Use return (Value); to return a value

}
Functions
 Example:
function GetName ()
{
var sName = “”;
sName = GetProfileAttr(“SPN_CA_NAME”);
return (sName);

}
Calling Functions
 Syntax:
Var= FuncName(Value)
FuncName (FuncName(Value))

 Example:
var sName = GetName();
 Example 2:
FindValue(GetName());
‘FindValue is some other function that
takes a string as a parameter
Arrays
 Declaring:
var ArrayName = new
Array(NumElements);
 Useful methods for arrays
getArrayLength(), length property: Returns
the number of elements in an array
reverse(), sort()
setArrayLength(num): dynamically resizes
the array
join() : creates a string from array
Some Important eScript
Methods
 new Date (in place of Now)
 The Clib Object
 String Manipulation in eScript
 File Handling in eScript
new Date
 Returns
Current Time and Date on
machine that the script is running on
Running Web Client or Wireless Web
Client, that is the Siebel Server that the
AOM is running on
Running Mobile Web Client or Dedicated
Web Client, that is the machine that
Siebel.exe is running on- the client’s
machine
 Syntax: var MyDate = new Date;
The Clib Object
 Has many uses, including file
handling, string manipulation,
character typing
 Character Typing functions:
isalpha()
isalnum()
isdigit()
toascii()
Many others
String Manipulation
 More than one way, but the easiest
is:
 First, put the string into an array of
one character long strings (no char
data type)
Use Clib.substring()
 Next,use for loop to iterate through
array, and parse the string as you
would in C++
File Handling
 Clib.fopen()
 File Pointers
 Clib.rewind()
 Clib.fgets()
 Clib.fprintf()
 Clib.close()
Opening Files
 Syntax:
fpname = Clib.fopen(filename, “r”|”w”);
 Examples:
var fp;
var filename = “C:\MyFile.txt”;
fp = Clib.fopen(filename, “r”);
Clib.rewind() Method
 Sets the File pointer position to the
beginning of the file
 Should always be done on opening a
file
Reading From Files
 Use fgets()
 Syntax:
Clib.fgets(fpname);
 Example:
fp = Clib.fopen(filename, "r");
Clib.rewind(fp);
while (!Clib.feof(fp))
{
 sXML = sXML + Clib.fgets(fp);
}
Clib.fclose(fp);
Clib.feof() Method
 Takes a file pointer as argument
 Returns true if file pointer is at the
end of the file
Clib.fprintf() Method
 WritesData to an open file
 Syntax:
Clib.fprintf(filepointername, Value);
 Example:
fp = Clib.fopen(filename, "w");
Clib.rewind(fp);
Clib.fprintf(fp, “Write This To the file”);
Clib.fclose(fp);
Clib.fclose() Method
 Always Make sure to close your files
after use!
 Syntax:
Clib.fclose(filepointername);
Siebel Specific Objects
 BusComp
 BusObject
 TheApplication
 PropertySet
 Service
 Object
 Parentheses!
Error Handling With eScript
 MUCH more robust than Siebel VB
 Uses try-catch-throw system similar
to C
 Remember that the Siebel system
itself is already set up to handle
many errors, so most don’t even
need to be handled by you
Error Handling Syntax
 try {}
 Place try block around code that might error
 catch(e) {}
 Catch block goes after. If code in try block errors,
will throw error e to catch block. Handle errors
here
 throw(e);
 Alternatively, just use error (for example, to write
a log file), then re-throw it for System to handle.
Place inside catch block
 finally {}
 Used to place code that should be executed even
if the catch block halts execution

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy