You are on page 1of 21

Scripting Questionnaire

1. What are scripting rules ?


Ans:
Step 1: Declare all configuration possibilities by using tools if it is not possible at that
time only u will go for scripting
Step 2: Determine where to put script in which Object
Step 3: Determine where to put script in which event
Step 4 : A error hanling !emplate to ur Script
Step " : #ser !ry $ %atch $ &inal 'loc( )echanism in ur programming *
Step +: !est #r Script for ebugging
2. What is difference between Local variable, odule variable and !lobal
"ariable in eScript?
Ans : Local "ariables
,ocal variables efine within a Siebel script are the lowest level of variable scoping*
!hese variables are eclare using the Dim statement in Siebel -' or the var statement in
Siebel eScript. an their values are accessible only within the script in which they were
efine*
#odule "ariables
)oule variables efine in the /general0 /eclarations0 section of a Siebel object /such
as an applet or business component0 are the ne1t level of variable scoping* !hese
variables are available as long as the object is instantiate an the values are accessible
to scripts in the same object or moule*#se Dim statements /for -'0 or var statements
/for eScript0 in the /general0 /eclarations0 section to eclare moule variables*
!lobal "ariables
!he global variables e1ist at the highest level* 2ou must eclare these variables in every
moule that nees to access their values* #se the 3lobal statement to eclare these
variables* Avoi using global variables to store Siebel objects such as 'us%omp an
'usObject*
$. what is use of %this& ob'ect and %with& (b'ect in eScript?
Ans:
!he special object reference this is eScript shorthan for 4the
current object*5 2ou shoul use it in place of references to active business objects an
components*
&or e1ample. in a business component event hanler. you shoul use this in place of
ActiveBusComp,
With :An Object with which we wish to use multiple methos
).what is difference between *roser script and server script ?
*rowser script is recommene for:
6 %ommunication with the user
6 7nteraction with es(top applications
6 Data valiation an manipulation limite to the current recor
Server script is recommene for:
6 8uery. insert. upate. an elete operations
6 Access to ata beyon the current recor
+.,ow u will test ur scripting -ode ?
Ans:#sing Siebel ebugger u can test ur script coe
*rea.points
A brea(point is a mar(er on a line of Siebel coe that tells the interpreter to suspen
e1ecution at that line so that the state of the program can be e1amine using the
Debugger* !here are two ways to set brea(points on lines of Siebel coe when eiting.
an there is an aitional way to set a brea(point when ebugging*
"ariable Window
!he variable winow isplays the contents of the variables associate with a Siebel script
when ebugging* 7t also shows business components. fiel values. an heretical structures
such as property sets*
Siebel -alls Window
!he %alls winow contains a list of subroutine an function calls that were e1ecute prior
to the current line* !o access the %alls winow. clic( the %alls button in the Debugger
toolbar when you are running the Debugger* A typical %alls winow may contain several
lines. one for each subroutine entere into an not yet complete*
/.What is difference between (b'ect 01pe, 2vent and ethod?
Ans :
Object : Object is nothing but li(e a
1* Application
2* Applet
3* 'usiness %omponent
4* 'usiness Service
9vent : event is resies in :articular Object
)etho : we can use particular object methos in writing a script
3.!ive Soe 24aples of Application 2vents?
Application;%lose 9vent
Application;7nvo(e)etho 9vent
Application;<avigate 9vent5
Application;:re7nvo(e)etho 9vent5
Application;:re<avigate 9vent
Application;Start 9vent
5.!ive soe 24aples of *- events?
'us%omp;Associate 9vent
'us%omp;%hange=ecor 9vent
'us%omp;%opy=ecor 9vent
'us%omp;Delete=ecor 9vent
'us%omp;7nvo(e)etho 9vent
'us%omp;<ew=ecor 9vent
'us%omp;:reAssociate 9vent
'us%omp;:re%opy=ecor 9vent
'us%omp;:reDelete=ecor 9vent
'us%omp;:re3et&iel-alue 9vent
6.What is the usage of 7orward *ac.ward And forward onl1 contacts in search
ethods ?
Ans :
7orward*ac.ward. Selecte recors can be processe from first to last or
from last to first* !his is the efault if no value is specifie*
7orward(nl1. Selecte recors can be processe only from the first recor
to the last recor* &ocus cannot return to a recor*
18.What are soe benefits of using declarative alternatives to scripting?
Ans:
Aress common re>uirements as configurable options*
?as unergone performance testing*
7s easier to maintain an upgrae*
Avois cost associate with scripting*
Scenario9s
Scenario : 1
i want (ne custo control (n Applet Li.e : #1 Account : . Whenever ; will clic.
that -ontrol *utton account based on the location it should displa1 All "alues
Solution:
Step 1: create One control in applet ,evel an set properties li(e metho 7nvo(e is @ )y
Account@
Step 2: compile ur srf an open ur application the button will appear in isable State *
step3 : now u have to enable the button for that purpose write a script in web
applet;:re%an7nvo(e )etho event
&unction web Applet;precan 7nvo(e )etho / )etho<ame. A%an 7nvo(e0

B
if /metho name CC @ )y Account@0
B
%an 7nvo(e C @!=#9 @D
return/cancel operation0D
E
return / %ancel Operation0
E
Step 4: now u want to iaplay locations base on accounts then write coe in web applet
pre invo(e metho event

&unction Feb Applet;preinvo(emetho/)etho<ame0
B
Switch /)etho <ame0

B
case @)y Account@:
var applet C thisD
var '% C applet*'us%omp/ 0D
var C 'c*3et&iel-alue/@,ocation@0
'c*%lear to 8uery / 0D
'c*Set Search Spec/@ ,ocation@. 0D
'c*91ecute 8uery/ 0D

return/%ancel Operation0
brea(D
E
return / %ontinue Operation0
Scenario : 2
,ow to set <e=uired 7iled >ropert1 (n #"7 b1 using escript?
Solution:
Step 1: ientify )-& in any '% an %all that )-& into script
Step 2: write A %oe in '% Object an event is 'us %omp ; :re Frite =ecor 9vent
function 'us%omp;:re Frite =ecor / 0
B
var aressD
var length D

arress C this*3et&iel-alue/@ personal street aress@0D
length C aress*lengthD

if /length CC G0
B
the application*=aise9rror!e1t / @enter a -alue@0
E
return/%ontinue Operation0
E
Scenario $:
if u %reate one <ew =ecor in Account an Activity recor shoul be create for that
Account
Solution :
write a coe in 'us%omp;<ew=ecor 9vent
function 'us%omp;<ewrecor/ 0
B
var oAction 'cD
var oAccount 'cD
var oAccount 'oD

oAccount 'o C the Applicatio/ 0*get 'usobject/@ Accont@0D
var sAccount =ow7 C this*get &iel-alue/@7@0D
oAction 'c C oAccount 'o*3et'us%omp/@@Action@0
with /oAction 'c0
B
Activate fiel/@Display@0
HH /@=ow States Ol@0
HH /@!ype@0
HH /@Account 7@0
HH /@Account <ame@0

E
<ew=ecor/<ew 'efore0
Set&iel-alue/@!ype@. @!oDo@0D
HH /@Display@.@Activities@0D
HH /@Account i@.@SAccount =ow 7@0D
write =ecor/ 0D
E
oAction 'c C nullD
oAccount 'o C null
Scenario ):
i want chec. the date filed in account Applet if it is ore than toda1?s date displa1
error essage to the user ?
solution:

step1 : create One ate &unction ,i(e @%hec( Date@ in 3eneral in scripting * 'ecause this
&unction we can use any event of that particular object*
step2: write a coe in 3eneral in serversie script
function %hec(Date/s-alue.s&iel0

B
try
B
var sateD
var ateofbirthD
var nate)SD
var toayD
var ntoay)SD
var sreturn C H<HD

if /s&ile CC @'irth Date@0
B
sate C s-alueD
ateofbirth Cnewate/sate0D
nate)S C ateofbirth*gettime/ 0D
toay C newate/ 0D
ntoay)S C toay*gettiem/ 0D

if /nate)S I C ntoay)S0
B
sreturn CH2HD
E
E
E
catch/e0
/
throw/e0
E
finally
B
E
return/sreturn0
E
Step 4: write coe in 'us%omp;:reSet&iel-alue 9ven &or %he>ueing the &iel with the
%he>ueDate &unction
function 'us%omp;:reSet&iel-alue /&iel<ame. &iel-alue0
B
try
B
switch /&iel<ame0
B
case H'irth DateH:
var DA!9)S3 C @=A%: 7nvali Date of birth entere* Date of birth cannot be postJ
ate*5D
var rtnOlDate C H<HD
var str=eturn C %ontinueOperationD
oApp C !heApplication/0D
rtnOlDate C %hec(Date/&iel-alue0D
if /rtnOlDate CC H2H0
B
str=eturn C %ancelOperationD
throw/DA!9)S30D
E
brea(D
E
E
catch/e0
B
E
final
B
E
scenario /:
Need to create a button on Contact Form Applet, Name of the button is Cross Sell, when
you click on that button it should be pop up an window
Pop up Details: That Particular contact is eligible for Cross Sell the other bank products. It
should be based on on!t "ail and on!t Call fields.
Conditions:
If on!t "ail is True and on!t Call is #alse $ Contact is eligible for selling Credit Card
If on!t "ail is #alse and on!t Call is True $ Contact is eligible for selling "utual #unds
If on!t "ail is #alse and on!t Call is #alse $ Contact is eligible for selling %ll the
Products
If on!t "ail is True and on!t Call is True $ Contact is not eligible for selling the Products
The %bo&e messages has to pop up based on the conditions when u clicked on the Cross Sell
'utton

Solution
-onfiguration Steps
(. Create one control in applet )e&el and set properties like method In&oke is * Cross Sell+
,. rag that Control in edit web )ayout to control space
-. Compile .r Srf /0nce u will compile u will See only disable state 0f control1
Now . want enable the control for that . write a script
Scripting -ode: Write ;n S2<"2< S;@2
2&ent : 3eb applet4PreCanIn&oke "ethod e&ent
#unction web %pplet4precan In&oke "ethod / "ethodName, 5Can In&oke1

6
if /method name 77 *Cross Sell*1
6
Can In&oke 7 *T8.2 *9
return/Cancel operation19
:
return / Continue 0peration19 ;; "odified Pre&iously it is Cancel 0peration ;;
:
<ote : <ow u can -isible the %ross Sell 'utton if u clic( !hat button it will throw some
error message for that u can write the logic what o u want when u clic( that button
Scripting -ode W<;02 ;A S2<"2< S;@2
#unction 3eb %pplet4prein&okemethod/"ethodName1
6
;; eclare %ll &ariables <ere ;;
&ar applet 7 this9
&ar 'C 7 applet.'usComp/ 19
&ar 8ented 7 =8ented+9
&ar null 7 =Null+9

&ar a 7 'c.>et#ield?alue/*8esidence Type*19
&ar b 7 'c.>et #ield?alue/="onthly Income+19
&ar c 7 'c.>et #ield?alue/=elin@+19
&ar d 7 'c.>et #ield?alue/='lack)isted+19
&ar e 7 'c.>et #ield?alue/=8eturned Ch@+19
&ar f 7 'c.>et#ield?alue/=<a&e Car+19
&ar g 7 'c.>et#ield?alue/=Salary %mt+19
&ar h 7 'c.>et#ield?alue/=Salary Transfer+19
&ar i 7 'c.>et#ield?alue/=Phone 'ank+19
&ar m 7 'c.>et#ield?alue/=%T" CardA+19
&ar n 7 'c.>et#ield?alue/=Net 'ank+19
&ar o 7 'c.>et#ield?alue/=2Bternal 'ank Credit Card+19
&ar p 7 'c.>et#ield?alue/=#re@ #lyer+19
&ar mes( 7 =If house is rented and a&erage income is abo&e (CCC Dds offer
housing loan /not delin@uent nor black listed, nor has any
returned che@ues1 = 9
&ar mes, 7 =If contact has any loan and is not delin@uent nor blacklisted nor has
returned che@ues due to insufficient balance and does not ha&e a
credit card offer credit card+ 9
&ar mes- 7 =If contact does not own a car and income or salary transfer is
abo&e ECC Ds offer a car loan/not delin@uent nor black listed, nor
has any returned che@ues1+9
&ar mesF 7 =If contact does not ha&e phone or internet or %T" offer the channels+ 9
&ar mesE 7 =If primary card and does not ha&e secondary cards offer supplementary card /not
elin@uent nor black listed, nor has any returned che@ues1+ 9
&ar mesG 7 =If internet banking offer internet banking credit card /not delin@uent nor black listed,
nor has any returned che@ues1+ 9
&ar mesH 7 =If he;she has a credit card from another bank offer our credit card /not delin@uent
Nor black listed, nor has any returned che@ues1+ 9
&ar mesI 7 =If he;she are a fre@uent flyer and does not ha&e a credit card offer credit card /not
elin@uent nor black listed, nor has any returned che@ues1+ 9

if /"ethod Name 7 7 =Cross Sell+1

6
else if /a 77 =8ented+ 55 b J =(CCC+ 55 c 77 =N+ 55 d 77 =N+ 55 e 77 =C+1
6
The %pplication.8aise2rrorTeBt /=mes(+19
return/Cancel0peration19
:
else if /f 77 =N+ 55 g J =ECC+ 55 h 77 =N+ 55 c 77 =N+ 55 d 77 =N+ 55 e 77 =C+19
6
6
The %pplication.8aise2rrorTeBt /=mes,+19
return/Cancel0peration19
:

else if /i 77 =N+19
6
6
The %pplication.8aise2rrorTeBt /=mes-+19
return/Cancel0peration19
:
else if /m 77 =Null+19
6
6
The %pplication.8aise2rrorTeBt /=mesF+19
return/Cancel0peration19
:
else if /n 77 =N+19
6
6
The %pplication.8aise2rrorTeBt /=mesE+19
return/Cancel0peration19
:
else if /o 77 =K+ 55 c 77 =N+ 55 d 77 =N+ 55 e 77 =C+19
6
6
The %pplication.8aise2rrorTeBt /=mesG+19
return/Cancel0peration19
:
else if /p 77 =K+ 55 c 77 =N+ 55 d 77 =N+ 55 e 77 =C+19
6
6
The %pplication.8aise2rrorTeBt /=mesH+19
return/Cancel0peration19
:
else if /n 77 =K+ 19
6
6
The %pplication.8aise2rrorTeBt /=mesI+19
return/Cancel0peration19
:


:
return / Continue 0peration1
:
Scenario 7
How Can You Set a Multi-value Group ecord as Primar! "#rou$# Sie%el eScript&
Solution
1* business component*
#se the BusComp.SetFieldValue metho*
2* %ommit the change on the parent business component*
#se the BusComp.WriteRecord metho
A(02: !he Frite=ecor metho must be invo(e on the parent business
component. not on the )-3 business component. because the foreign (ey
belongs to the parent recor*
&or further information an e1amples of all of Setting the primary recor for a multiJ
value group /)-30 is part of the base functionality in Siebel applications* !his can be
configure to be set automatically through the Auto :rimary property for a multiJvalue
lin(. or it can be irectly selecte by the user in the )-3 applet*
A special fiel calle SSA :rimary &iel is use in the Siebel application user interface
/#70 to allow users to view an moify the primary recor in a )-3 applet* !he SSA
:rimary &iel belongs to the System category an is not visible in the Siebel !ools
Object 91plorer or Object ,ist 9itorD however. it may be reference as an applet list
column in )-3 applets* 2ou can set the SSA :rimary &iel through Siebel -' or
eScript. as long as it is efine in the )-3 applet* !his allows you to ta(e avantage of
the #7 conte1t to mimic the enJuser manipulation of the primary value in a )-3*
A(02: 'ecause this approach re>uires that a #7 conte1t be available. it is not available
through a %O) Data Server interface or other interfaces which o not inclue a #7
conte1t*
!he following e1ample outlines a suggeste process. an the recommene methos to
use in orer to set a chil recor as primary through Siebel -' or eScript:
3* 3et the )-3 business component*
#se the BusComp.GetMVGBusComp metho
4* Set the search criteria to select the appropriate recor as primary*
#se the BusComp.ActivateField metho to activate any fiels neee in your
>uery* A(02: 7t is not necessary to activate the SSA :rimary &iel*
#se the BusComp.SetSearchSpec metho to set the appropriate search criteria
"* :erform a >uery on this business component*
#se the BusComp.ExecuteQuery metho*
+* <avigate to the esire primary recor*
#se the BusComp.FirstRecord an BusComp.extRecord methos*
Set SSA :rimary &iel to @2@ on the )-3 these methos. refer to the following manuals
in Siebel 'oo(shelf version K*K:
%onfiguring Siebel e'usiness Applications I %onfiguring ,in(s I %onfiguring
the :rimary 7D &iel
Siebel Object 7nterfaces =eference I 7nterfaces =eference I 'usiness %omponent
)ethos
Scenario 5
,ow -an Bou @ispla1 a #essage fro a Server Script on the *rowser?
Ans:
7nteractive ialog bo1es are features that belong to the LavaScript language an can only
be launche from browser script* A server script cannot call functions written on the
browser sie*
!he Application*=aise9rror an Application*=aise9rror!e1t server methos allow the
isplay of a message on the browser sie* ?owever. because either of these methos will
raise an e1ception an cancel the e1ecution of the server script. they are not ieal
methos for isplaying informational messages to the en user*
Although communication originating from a server script is not feasible. it is possible to
pass information between browser an server via profile attributes. using the
Application*Set:rofileAttr an Application*3et:rofileAttr methos*
!o isplay a message on the browser sie when the server script runs. it is possible to
implement a solution using this erive way of communication* !he iea is to e1ecute a
function recursively on the browser sie. using a set!imeout LavaScript function. that
scans a specific profile attribute to see if a message is to be isplaye* Fhile this script
runs on the browser sie. the server script can set the profile attribute. so that the browser
script will isplay the contents of the profile attribute in an alert bo1*
!his solution will affect performance. especially on the browser sie. so it is avise to
launch it only when necessary an stop when it is no longer neee* Aitional notes
regaring this solution are in the <otes section following the e1ample*
24aple
!he following e1ample emonstrates a business service calle ServerAlerts which chec(s
to see if an alert nees to be isplaye. an if so. isplays the alert to the user*
1* %reate a new business service an a the following browser script to the
MgeneralI MeclarationsI section:
!. Ge"eral #eclaratio"
$. var allo%Sca""i"&ServerAlerts ' (alse)
*.
+. (u"ctio" Sca"ServerAlerts,-
.. /
0. var messa&e '
theApplicatio",-.Get1ro(ileAttr,2Alert2-)
3.
4. i(,messa&e 5' 22-
67. /
66. alert,messa&e-)
6!. theApplicatio",-.Set1ro(ileAttr,2Alert28 22-)
6$. 9
6*.
6+. i(,allo%Sca""i"&ServerAlerts-
6.. set:imeout,2Sca"ServerAlerts,-28 677-)
60. 9
1N* A the following browser script to the :re7nvo(e)etho of the business service:
64. (u"ctio" Service;1re<"vo=eMethod ,methodame8
i"put1ropSet8 output1ropSet-
!7. s%itch,methodame-
!6.
!!.
!$. /
!*. case 2Allo%ServerAlerts2>
!+. i(,i"put1ropSet.Get1roperty,2Value2- ''
2:R?E2-
!.. /
!0. allo%Sca""i"&ServerAlerts ' true)
!3.
theApplicatio",-.Set1ro(ileAttr,2Alert28 22-)
!4. Sca"ServerAlerts,-)
$7. 9
$6. else
$!. allo%Sca""i"&ServerAlerts '
(alse)
$$. retur" ,2Ca"cel@peratio"2-)
$*. Area=)
$+. de(ault>
$.. retur" ,2Co"ti"ue@peratio"2-)
$0. 9
$3. 9
3O* A the following browser script to the object within the application that will
enable an isable the alerts:
Script for enabling the alerts:
var i"1ropSet '
theApplicatio",-.e%1ropertySet,-)
var serverAlertsBS '
theApplicatio",-.GetService,2ServerAlerts2-)
i"1ropSet.Set1roperty,2Value28 2:R?E2-)
serverAlertsBS.<"vo=eMethod,2Allo%ServerAler
ts28 i"1ropSet-)
Script for isabling the alerts:
var i"1ropSet '
theApplicatio",-.e%1ropertySet,-)
var serverAlertsBS '
theApplicatio",-.GetService,2ServerAlerts2-)
i"1ropSet.Set1roperty,2Value28 2FABSE2-)
serverAlerts'S*7nvo(e)etho/@AllowServerAlerts@. in:ropSet0D
Scenario 6:
,ow can ; toggle applet through script?
Ans:
7f you have set up a view with manual toggle applets. there may be cases when you nee
to toggle between applets as part of a script* !his can be achieve by using the !oggle!o
metho in the manner outline below* <ote that this techni>ue shoul only be use if the
applet is set up for the user to manually toggle the applets* 7t shoul not be use to
e1ecute a toggle when the applets are set up with ynamic toggle*
!he following coe shoul be ae to the browser script* #sually it will go in the
Applet;:re7nvo(e)etho/0 event. but it coul be place in a ifferent event epening
upon the specific re>uirements*
CC Create "e% property set
var propSet ' :heApplicatio",-.e%1ropertySet,-)
CC Set the parameters reDuired (or the :o&&le:o method
propSet.Set1roperty,2SWESeD28 :he:o&&le@AEectSeDue"ceum-)
CC <"vo=e the :o&&le:o method (rom the applet.
applet.<"vo=eMethod,2:o&&le:o28propSet-)
!he coe wor(s as follows:
1* 7n the first line. a new property set object is create to pass the parameters
re>uire by the !oggle!o metho*
2* 7n the secon line. the SF9Se> parameter is set* 7t is re>uire by the !oggle!o
metho. an the value is the se>uence number of the toggle applet e1presse as a
string. for e1ample. @1@* !o etermine the se>uence number for the esire applet.
loo( in Siebel !ools* 8uery for the main applet an then open the Object 91plorer
to e1pose theApplet !oggle object* !he Applet !oggle object contains a Se>uence
<umber propertyD this is the value to be use in the property set*
3* 7n the thir line. the !oggle!o metho is invo(e with the property set*
<ote that when applets are toggle. the entire view will reloa* !herefore. it is not
recommene to use this metho to toggle more than one applet at the same time. as it
might cause instability in the application*
&or etails on the !oggle!o metho. refer to one of the following references. epening
upon your current version of Siebel e'usiness Applications:
Scenario 18
,ow -an ; Add ,idden 7ields to List Applet for *rowser Script Access?
Ans:
'ac(groun:
A common business re>uirement is to have access to business component fiels using
browser script. but ensuring that these fiels are not visible by the en users* 7n Siebel
-ersions K*"*P an K*G*P only. fiels e1isting on the #7 are available to the browser
script 3et&iel-alue/0QSet&iel-alue/0 business component methos. regarless of the
&orce Active value set for those fiels*
)oreover. the Activate&iel/0 metho is <O! supporte for browser script unless use as
part of a '% search. before 91ecute8uery an after %lear!o8uery*
Solution:
1* A hien controls to the applet*
2* !he controls have to use the ?!), !ype: ?ien an must point to the re>uire
fiel using the &iel property*
<ote: Do not set the H-isibleH property to &A,S9* Fhen the H-isibleH property is set to
&A,S9. the fiel value will not loa to the browser. hence the value is not available for
the browser script*
=elate issue:
!he above solution oes not wor( for list applets. hence when a column is ae to the
list it is visible to the en user regarless of the ?!), !ype efine* !he en user can
also use the isplay column functionality to remove the column from the list* As result
the fiel is not available for the browser script*
Solution:
1* %reate a control mappe to the fiel an set the ?!), !ype to ?ien*
2* A the control to the button bar of the applet*
!he solution ensures that the hien fiel values are available to the browser script but
are not visible to the en user*
!his solution can be use in &orm applets as well as list applets. avoiing having empty
spaces on the applet /where the hien controls are ae0*
Scenario 11:
,ow can users use the !oto"iew ethod and aintain view conte4t?
Ans:
!he 3oto-iew metho can be use for navigating to ifferent views from scripts* !he
efault behavior of 3oto-iew is to place the cursor /focus0 on the first recor in the view*
Fhen the script is re>uire to get a specific recor in focus the metho can be e1ecute
with business object parameter* !he business object is then use to get a business
component /'%0. on which a >uery is e1ecute putting the re>uire recor in focus*
24aple:
eScript:
QQ 3et the Account business object
var Account'O C !heApplication/0*3et'usObject/@Account@0D
QQ 3et the Account business component
var Account'% C Account'O*3et'us%omp/@Account@0D
with/Account'%0
B
QQ %lear to >uery
%lear!o8uery/0D
QQ Set the re>uire search specification
SetSearchSpec/@7@.!he=e>uireAccount70D
QQ 91ecute >uery
91ecute8uery/0D
E
QQ %all the 3oto-iew )etho with business object parameter*
!heApplication/0*3oto-iew/!heDestination-iew<ame.Account'O0D
Scenario '()
,ow can users d1naicall1 inactivate button when no records are displa1ed in
Siebel version 3.4?
Ans:
As a wor(aroun FebApplet;:re%an7nvo(e)etho event script is neee to ma(e the
button show up*
24aple:
1* A a button to an applet. an set the property @)etho@ C )y )etho
2* )oify FebApplet;:re%an7nvo(e)etho*
:arameter %an7nvo(e must return !=#9 for the button to be enable* Otherwise. it will
be isable*
!he following sample coe is use to enable the button if there are recors in the applet*
7f no recors are isplaye. the button will be isable*
function FebApplet;:re%an7nvo(e)etho /)etho<ame. A%an7nvo(e0
B
if /)etho<ame CC @)y )etho@0
B
QQ Set 7 fiel to string
var o'% C this*'us%omp/0D
var s7 C o'%*3et&iel-alue/@7@0D
QQ %hec( value of fiel 7 for current bus comp
if /s7CC@@0
B
QQ if this is true there are no recors in applet* Do not invo(e the button
return /%ancelOperation0D
o'% C nullD
E
else
B
%an7nvo(e C @!=#9@D
return /%ancelOperation0D
E
E
else
return /%ontinueOperation0D
E
Scenario 1$:
Csing %;ediate >ost -hanges& field propert1 in Siebel 3
Ans:
Siebel K has introuce a new fiel property @7mmeiate :ost %hanges@ to post fiel
changes immeiately to the server*
7f @7mmeiate :ost %hanges@ is set to !=#9. :reSet&iel-alue event on the server will
be triggere*
7f @7mmeiate :ost %hanges@ is set to &A,S9. only the :reset&iel-alue event on the
'rowser will be triggere*
&or those fiels with a ynamic pic(list or multi value fiels. :reSet&iel-alue event
oest not trigger on the browser* !his is the e1pecte behavior* A %hange re>uest 12J
'&K7%< has been logge to inclue this information in the ocumentation* &or these
cases. the coe nees to be written on the server*
&or those fiels with static pic(list :reSet&iel-alue event will trigger on the server as
well as on the browser even if @7mmeiate :ost %hanges@ is set to &A,S9*
Scenario 1):
,ow can the nuber of records selected on a ultiDvalue group applet be
restricted?
Ans:
Siebel applications provie multiJvalue group applets /)-3 applets0 to associate recors
in manyJtoJmany relationships*
'y efault. the )-3 applets allow users to select multiple recors at the same time to be
associate with the parent business component* !here are occasions where users woul
nee to restrict this selection to a specific number* 7n those situations Siebel scripting can
be use to achieve this functionality*
Selecte recors are associate to the parent business component when user clic(s the
4A5 button on the )-3 applet* Script written in the Applet;:re7nvo(e metho coul
capture the 4A5 action. count the number of recors currently selecte an abort the
4A5 action if this number is greater than e1pecte*
!he following eScript sample coe limits the number of recors than can be selecte at
the same time on a )-3 Applet to 1*
function Applet;:re7nvo(e)etho /)etho<ame0
B
if /)etho<ame CC @A=ecor@0
B
var o'% C !heApplication/0*Active'us%omp/0D
var n=ecors C o'%*&irstSelecte/0D
n=ecors C o'%*<e1tSelecte/0D
if /n=ecors CC 10
B
!heApplication/0*)sg'o1/@2ou cannot pic( more than one
recor@0D
O'% C nullD
return /%ancelOperation0D
E
o'% C nullD
E
return /%ontinueOperation0D
E
!his sample coe is provie as a general guieline only* :lease refer to Siebel technical
ocumentation for aitional information regaring the available methos for applets an
business components*