Siebel eScript Tutorial: Basics
by SiebelGuide.com
There are two scripting languages in Siebel, eScript and Siebel-VB. Out of these two
eScript is the most popular scripting language among Siebel developers because
eScript runs on both Unix base OS and Windows OS whereas Siebel-VB only works
on Windows OS. So we will learn eScripting in this section.
Siebel eScript is a scripting or programming language that allows developers to write
simple scripts to extend Siebel applications. This language is very similar to Java
Script but has some significant differences between them.
Scripting is the highest level of customization and it adds complexity and cost to the
configuration. So it should be strongly discouraged and should only be used as the
last resort of customization. Siebel Tools provides many ways to configure your
Siebel application without coding, and these methods should be exhausted before
you attempt to write your own code.
Following are the reasons for discouraging scripting:
Customizing using Siebel Tools is lot easier than writing code.
It adds complexity during the upgrade would need manual
intervention.
Performance degrades with scripting.
Following are some quick facts about Siebel eScripts:
Siebel eScript is a case sensitive language.
Siebel eScript is a fully functional procedural programming language.
White spaces are ignored.
Siebel Tools has a debugger to assist in detecting errors in eScript.
Siebel Tools comes with a compiler for eScript.
Can be added in both Siebel Client and in Siebel Tools.
Is stored in Siebel Repository and then compiled to an SRF.
Full documentation on eScripts can be found in Siebel Book Shelf.
Next we will see some general guidelines on eScript.
Previous
Next
eScript General Guidelines
by SiebelGuide.com
In this part we will learn some general guidelines and concepts about Siebel
scripting.
Note the following pointers:
Variable declaration required unlike Java Script
Scripting is case sensitive
User four-digit years in dates to avoid Y2K problem and Siebel format
is MM/DD/YYYY
The "this" object reference is used to refer to the active business
object and components. Example
function BusComp_PreQuery ()
{
this.ActivateField("Account");
this.ActivateField("Account Location");
this.ClearToQuery();
this.SetSortSpec( "Account(DESCENDING),"
+
"Account Location(DESCENDING)");
this.ExecuteQuery();
return (ContinueOperation);
}
Characters such as the double quote mark ("), the single quote mark
(’), the hard return, the semicolon(;), and the ampersand (&) have special
meanings within JavaScript and eScript. Use Siebel escape (backslash(\)
character) to avoid special meaning in the code
Single line comments are indicated using two forward slashes "//"
Block comments are indicated with the beginning of slash and asterisk
"/*" and end with asterisk and slash "*/" Block statements should not be
nested.
Put semi colons at the end of each statement to increase readability.
Variable declaration can be either local or global. For local declare
within the function whereas in global variables declared in general
declaration section.
Following are the Pre-defined Identifiers which have special meaning
to Siebel Interpreter and should not be used as variable or function
names.
break export super
case extends switch
catch false this
class finally throw
const for true
continue function try
debugger if typeof
default import while
delete in with
do new var
else null void
enum return
Next we will see Siebel Operators.
Previous
Next
PURPOSE OF CATCH IN SCRIPT:
The catch clause is used to handle the exception. To raise an exception, use the
throw statement.
When you want to trap potential errors generated by a block of code, place that
code in a try
statement, and follow the try statement with a catch statement. The catch
statement is used to
process the exceptions that may occur in the manner you specify in the
exception_handling_block.
The following example demonstrates the general form of the try statement with the
catch clause. In
this example, the script continues executing after the error message is displayed:
try
{
do_something;
}
catch( e )
{
TheApplication().RaiseErrorText(Clib.rsprintf(
"Something bad happened: %s
",e.toString()));
}
DIFFERENCE BETWEEN SIEBEL SALES & CALL CENTER
Siebel sales application is use to enabling sales force to do work effectively.sales
application is use to identifying top opertunity and to better manager those
oppertunity.
callcenter application is use to give service and support to customer,create new
customer
Sales applications refers to Pre Sales and Call Center appl refers to Post Sales.In
Sales, the sales force involved handles the sales of the product, creating quotes
and order enteries. In call center, the agents handles the queries reported by the
users/customers related to the products sold by the respective compny.
What is eapps.cfg file. and what is its significance.
Answers:
Eapps.cfg file means swse.
This significance is which application should point to which object
manager.
eapps.cfg is a single configuration file which contains configuration
information,connection information,login and security settings.
it alloes the SWSE to communicate with siebel server.
Posted by: shikha Tripathi
Contact shikha Tripathi
Eapps is a single configuration file for all siebel applications. It
contains configuration information, including connectivity
information, login and security setting. It allows SWSE to connect
with siebel server. It contains the connect string for each siebel
application.
Posted by: Devesh Rathore
Contact Devesh Rathore
eapps.cfg is the single configuration file for all siebel
applications.It contains configuration information login and
security settings.It contains connect string for each siebel
application.
This significance is which application should point to which object
manager.
CONFIGURING MVG:
To Configure MVG Both join and link are necessary.Expand BC Where u have the
joined field. Go to multi value link create a new record give any name as it should
not be null. In Destination BC property choose the BC where the joined field is
originating (Child BC).In Destination link press F2 and pick the appropriate link.Go
to field of parent BC create a field as ssa primary and give a join if BC has
extensions like S_org_ext for account BC and give the column name (foreign key).
Thengo to Multivalue link again and under primary ID field press F2 and select this
ssa primary field. Go to Multivalue Field - create new record - give the same name
of joined field but in different case just to differentiate( Ex: EMAIL for actual email
field) under MVL property press F2 and select MVL name displayed. Under Field
property press F2 and select 'email'.Open Wizard - select MVG applet - select child
BC- Select all the fields along with SSA PRIMARY FIELD - select popup list as web
template. Copy this MVG applet name and paste it in MVG applet property of EMAIL
field in list - list column of parent list applet. (Ex: delete the old 'email' record,
create new record and select EMAIL field. make changes in Edit web layout of
parent list applet and compile. Add the necessary buttons in the MVG applet. IF
configuring MVG for a M:M link u need to mentions association child applet to the
MVG applet created. If that is 1:M link then a foreign key relationship exists.
{Simple way to say: Create MVL(multivalue Link), mention primary field ID- Create
MVF(multivalue field) - Replce the joined SVF(single value field) in parent applet list
list column with the MVF. Create MVF applet paste the applet in MVG applet
property. Compile.create new record in MVF give foreignkey name and under field
give ID for 1:M link. For M:M link paste Association child applet associate applet
property of MVG applet }
What is All Mode Sort?
This property determines whether or not siebel will override the sort specification
and if so determines the sort that will be applied to the BC for All or Manager's
view. The values are TRUE, FALSE or NORMAL
NORMAL --uses BC defined sort specification
True --Overrides the BC osrt and Uses the U1 index
False - Removes all sorting.
How is load balancing maintained in Siebel?
Load balancing is maitained by the Gateway server using the third party software
Resonate Central Dispatch.
as mentioned above siebel load bal is done by third party software such as
Resonate Dispatch manager....or can be done with the help of lbconfig.txt file,which
is generated at siebel server and is place in webserver.which helps in identifyin the
concerned OM..and transfer the request as per the load too.....read in
supoprtweb....nice document is given for it.
Contact
Resonate is no longer supported by Siebel 7.8 onwards. Internal Siebel load
balancing can be used which uses round robin method.
Load balancing is maitained by the Gateway server using the third party software
Resonate Central Dispatch.
as mentioned above siebel load bal is done by third party software such as
Resonate Dispatch manager....or can be done with the help of lbconfig.txt file,which
is generated at siebel server and is place in webserver.which helps in identifyin the
concerned OM..and transfer the request as per the load too.....read in
supoprtweb....nice document is given for it.
Contact
Resonate is no longer supported by Siebel 7.8 onwards. Internal Siebel load
balancing can be used which uses round robin method.
Load balancing is maitained by the Gateway server using the third party software
Resonate Central Dispatch.
as mentioned above siebel load bal is done by third party software such as
Resonate Dispatch manager....or can be done with the help of lbconfig.txt file,which
is generated at siebel server and is place in webserver.which helps in identifyin the
concerned OM..and transfer the request as per the load too.....read in
supoprtweb....nice document is given for it.
Resonate is no longer supported by Siebel 7.8 onwards. Internal Siebel load
balancing can be used which uses round robin method.
What are the differences between siebel 7.8 and 8.0?
The Major differences between siebel 7.x and 8.x
1) Siebel 8.0 has introduced Task UI for task automations.
2) Siebel 8.0 has Object Level check out which was not possible before.
3) Business user properties have become drop down list in tools and hence no need
to remember syntax for each
Second point is not correct. Object Level Check out Check in is possible in version
7.7 also.
Can you create an extension table with an intersection table?
We can not create an extension table with an intersection table
What is s_party table
S_PARTY Table is the Base Table for all the Party related tables.
S_ORG_EXT
S_CONTACT
S_USER
S_BU
and etc.
the party tables can have the implied joins. the party related BC's have the
S_PARTY as the base table. so, any of these tables are extension tables.
How will you edit the joined fields values in join
Using picklists and MVGs. MVGs require join field and link as prerequisites unlike
picklists where just a join is enough.