Beruflich Dokumente
Kultur Dokumente
\\
-2
Following things are must Go through these at least one timesee help to get info on these. All the flow shapes and its uses All the guardrails Smart build steps and sequence All directives, its usage and synta All standard harness types All !ecision types and its usages All Activity types and when they are used
1. PRPC is a combination of BPM ( business process management) and BRE (Business rules engineering ) 2. T e Pega !"stem#s !i$ %R& s are 1. 2. (. ). *. +. Recei'e Route Report Researc Respond Resol'e
-3
(. !er'ices are interfaces from ot er s"stems to PRPC. !tandard ser'ices t at come in ,it PRPC are 1. 2. (. ). *. +. 3. 5. Rule-!er'ice-C.M Rule-!er'ice-C.RB/ Rule-!er'ice- 0.T1ET Rule-!er'ice-E2B Rule-!er'ice-Email Rule-!er'ice-2M! Rule-!er'ice-2!R4) Rule-!er'ice-M6
). Connectors are interfaces from PRPC to ot er s"stems. !tandard connectors t at come in ,it PRPC are 1. 2. (. ). *. +. 3. Rule-connect-e7b Rule-connect-dotnet Rule-connect-!68 Rule-Connect-2a'a Rule-Connect-2M! Rule-Connect-!./P Rule-Connet-M6
of organi9ations at t e top le'el: di'isions at a second le'el: and units as a t ird le'el
rulesets to organi9ation for pro'iding access to all t e users belonging to t at organi9ation to t e specified ruleset. /ssume an application li>e %lea'e application& , ic needs to be accessed b" all t e emplo"ees of organi9ation: and t en per aps ,e ma" li>e to add lea'e application#s rulesets at .rgani9ation le'el.
-4 11. Signi"i!an!e o" adding r#$e%et% at Di(i%ion& =e can add one or more
rulesets to di'ision for pro'iding access to all t e users belonging to t at di'ision. /ssume an application li>e %8oan application& of a ban> , ic needs to be accessed onl" b" t e emplo"ees of 8oans di'ision: t en per aps ,e ma" li>e to add 8oan application#s rulesets at 8oan di'ision le'el: so t at ot er di'isions in t e same organi9ation can not a'e access t e ruleset
ierarc " rig t after t e di'ision. <t is an instance of t e class 0ata-/dmin-.rgAnit. a'e to specif" (Mandator") to , ic
1*. /ccess Broup controls t e securit" basing on t e 7ob functions. <t is instance of 0ata-/dmin-.perator-/ccessBroup. Carious aspects t at can be controlled t roug access group are 1. 2. (. ). *. default and a'ailable t"pes of ,or>s( also called as ,or> pools ) : Primar" rulesets ( /ccess Control to rulesets): /ssigned roles: Portal la"out 0efault ruleset for ma>ing c anges ( 0efault ruleset , ene'er t e user createsD sa'es as t e rule )
17. Signi"i!an!e o" adding r#$e%et% at A!!e%% )ro#'& =e can add one or
more rulesets to access group , en ,e t in> t at securit" needs to be controlled basing on t e specific 7ob function. /ssume t at an application li>e %Eeart allocation reFuest application& is being de'eloped for all t e Pro7ect Managers in !at"am for ma>ing resource reFuests for t eir pro7ects. T en ,e can t in> of adding t is application ruleset in an access group called %PM&: so t at all PMs across all t e di'isions in !at"am can access t is application.
-5
19. <t i% not mandator" to add t e rulesets eit er at .rgani9ation: di'ision and
t e access group. =e can add at all t ese places: at t e same time ,e can refrain *+ not adding at an" of t ese places. 2@. /ccess groups are instances of t e class 0ata-/dmin-.perator-/ccessBroup
21. Signi"i!an!e o" ,De"a#$t !$a%% gro#' o" -or./ and ,a$$ !$a%% gro#'%/ o"
-or. "ie$d% in a!!e%% gro#' "orm & <n %all t e class groups& field: ,e need to add one or more !$a%% gro#'% so as to create t e ,or> pools in , ic users associated in t is access group are permitted to create t e ,or> ob7ects. =e can add one class group in t e field %0efault class group of ,or>&
22. .perators are created t roug instances of 0ata-/dmin-.perator-<0 class. 2(. <mportant entries , ile creating t e operators are 1. 2. (. ). *. +. .rgani9ation ( Mandator") 0i'ision ( Mandator" ) Anit ( Mandator" ) =or>group ( Mandator" ) /ccess Broup ( Mandator" ) /llo, Rule C ec> .ut ( C ec> bo$ ) ( .ptional )
2). C ec>ing t e %/llo, rule c ec> out& c ec> bo$ in operator form : allo,s t at operator to update t e rules from t e rulesets t at reFuire c ec> out 2*. T e PRPC 7argon of securit" and diagrammaticall" depicted as belo,. organi9ation ierarc " can be
-6
2+. Ruleset is a container for rules in our application building. /nd it is , at ,e deplo" in production en'ironment or s ip to customer. 23. /n instance of Rule-Ruleset-name is created , en ,e first time create t e rule set. /n instance of Rule-Rule!et-Cersion is created , ene'er t e 'ersion is upgraded including , en t e first 'ersion is created. T e relation bet,een Rule-Ruleset-name and t e Rule-Rule!et-Cersion is one to man". 25. /ll t e rules t at ,e create for our application s ould belong to one or ot er ruleset. P"Rule!et propert" in t e Rule- Class represents t is 24. T oug ,e >no, t at all t e instances of all t e Rule- ierarc " classes ,ill a'e 'ersions: instances of follo,ing classes ,ill not a'e an" 'ersion a. b. c. d. e. Rule-.b7-Class Rule-Ruleset-1ame Rule-Ruleset-Cersion Rule-/ccess-Role-.b7 Rule-Met od
-7
a. /n" Case is .> but Mi$edCase is good practice b. Ma$ (2 c aracters and no spaces allo,ed c. Prefi$ of Pega or Pega- s ould not be used as t ese are restricted for use b" Pega !"stems. ( Practicall": for no, Pega prefi$ is allo,ed but Pega- prefi$ produces t e error) d. !pecial c aracters: Fuotes and G signs are not allo,ed e. 0as and underscores are not recommended to be used (1. Process Commander is s ipped ,it ) standard rulesets 'i9: a. Pega-ProCom H !upports business Process Management b. Pega-<n'!'cs H !upports integration ser'ices c. Pega-=B H !upports portal infrastructure d. Pega-Rules H !upports rules engine and rule resolution (2. Rule!et Iormat 8oan/ppl @1-@2-@( @1- Cersion @2 HMinor release ,it in t e 'ersion @( H <nterim or patc release ,it in minor release
33. Pri(ate R#$e%et & = ene'er application de'eloper c ec>s out t e rule: it
entersD belongs to pri'ate ruleset . Asers , o a'e t e %/llo, Rule C ec> .utJ& c ec> bo$ (on t eir .perator <0 instance) c ec>ed can place copies of rule instances into a personal or pri'ate Rule!et. T e name of t is Rule!et is t e same as t eir .perator. s"stem automaticall" creates t e pri'ate ruleset , ene'er reFuired. 1o e$plicit instance of t e Rule-Rule!et-1ame e$ists for a pri'ate Rule!et.
34. Ho- a #%er0% r#$e%et $i%t i% "ormed 1 t2e $ogi! 34 T e s"stem adds entries
it finds from follo,ing sources in t2e order $i%ted. T e s"stem adds entries it finds from t ese sources in t e top of t e list:
-8
+. .perator <0 ; <f t is user as t e abilit" to c ec> out rules: t e personal Rule!et (named t e same as t e .perator <0 >e") is added last. /lso called as pri'ate ruleset
36. T ere are t,o important re'etiti(e t ings t at can be added in Rule-/dminProduct <nstance ; i. .ne or more rulesets and t eir 'ersions ii. .ne or more 0ata- and ot er ( per aps non Rule- )concrete classes and respecti'e 52en filters. T e respecti'e data class#s instances are pic>ed up onl" , en t ese = en filters (Rule.b7-= en) true. (3. <mportant options t at ,e can do from %Mo'e Rules Tool&
Anli>e Rule-/dmin-Product: "ou can onl" specif" one ruleset ere: but "ou can specif" all 'ersion or a particular 'ersion. T en "ou can gi'e suggested name for t e 9ip file and can clic> %E$port 0ata to Lip file& to >eep t e 9ip file in t e %!er'ice E$port& director"
-9
?ou can select t e reFuired 9ip file and use %<mport 0ata from Lip Iile& to load rules to t e rulebase
3. U'$oad zi' "i$e into t2e r#$e*a%e option & T is option can be used
, en "ou ,ant to transfer a L<P file created b" t e Mo'e Rules tool or t e Product rule from "our ,or>station dis> to t e Ser(i!eE6'ort director" on a target Process Commander s"stem b" using ITP. T e t"pical screen t at appears up on selecting t is option is.
Remember t at t e source file must be on "our s"stem dis> and "ou must be operating t is ,#'$oad zi' "i$e o'tion/ from "our mac ine as client and Target mac ine as PRPC ser'er
- 10
Ior e$ample "ou are connecting to a PRPC ser'er as a client and "ou ,ant to do,n load t e 9ip file from PRPC ser'er#s %!er'ice e$port% director" to "our ,or>station#s ard dis> "ou s ould use t e abo'e option
(5. Remember t at during s>imming: ,e altoget er get a ne, ma7or 'ersion. <t is not possible to s>im 7ust to a ig er minor 'ersion or patc 'ersion. Ior e$ample if ,e are s>imming !at"am8oan/ppl ; @*-@+-@3: t e onl" options ,e a'e is @+-@1-@1: @3-@1-@1M.. and so on: but "ou can not s>im to @*-@+-@5 @*-@3-@3 or @+-@2-@1
be considered b" Rule resolution algorit m. '+R#$eA(ai$a*$e propert" represents , et er a gi'en rule is a'ailable or not J /t an" point of time: t is propert" can be set ,it eit er of t e follo,ing four 'alues
i. YES ii. NO
; <ndicates t at t is rule is a'ailable. Rules ,it a ?es 'alue are 'isible to rule resolution processing and e$ecuted. ; <ndicates t at is rule is not a'ailable and become in'isible to t e rule resolution algorit m for all users (including "ourself). T e 1o setting is useful in e$perimentation and troubles ooting to assess t e effect of t,o rule 'ersions. E$ ; <f "ou are setting %1o& status for a rule of 'ersion @1-@1@(: still @1-@1-@1: @1-@1-@2: @1-@1-@) of same rule are 'isible to rule resolution algorit m
iii. BLOC8ED
; T is is a stronger form of No because it affects all lo,er-numbered 'ersions of t e rule and it ma>es all lo,ered numbered including t is 'ersion not to be 'isible to rule resolution algorit m. Note & / bloc>ed rule does not pre'ent rule resolution from finding (and running) ig ernumbered 'ersions E$; <f "ou are setting %B8.CNE0& status for a rule of 'ersion @1-@1-@(: onl" upper 'ersions li>e @1-@1-@)M.. of same rule
- 11
are a'ailable to rule resolution algorit m. 8o,er 'ersion li>e @1@1-@1 and @1-@1-@2 are not a'ailable for rule resolution algorit m
iv. 9INAL
; =e need to set a'ailabilit" to Iinal if ,e ,ant t is rule to be a'ailable (eFui'alent to ?es): but ,ant to pre'ent ot ers from o'erriding t is rule in an" ot er Rule!et. / final rule can be superceded b" a ig er-numbered 'ersion (in t e same Rule!et): but not b" an" 'ersion in an" different Rule!et.
)@. / rule is said to be a'ailable onl" , en it#s a'ailabilit" is eit er %?es& or %Iinal&
42. Ho- doe% !ir!#m%tan!e -or.% d#ring r#$e re%o$#tion& /t run time: t e
s"stem first finds rules based on t e class ierarc " and t en searc es for t e rules t at a reFuestor session needs: it compares t e 'alues of t e R#$eSet: 7er%ion: and A(ai$a*i$it+ fields ,it a reFuestorPs o,n Rule!et list to determine , ic rule to e$ecute. T is part of t e rule resolution searc ma" result in multiple candidate rules to e$ecute (t ere could be one noncircumstance Fualified and more t an one circumstance Fualified rules of same 'ersion). T e rule resolution algorit m t en tests t e propert" 'alues defined in t e circumstances fields against t e propert" 'alues on t e clipboard. <f a matc is found: it selects t e circumstance-6ualified rule and if no matc is found: t en unFualified rule is selected
45. /ll rule classes ,ill not a'e t e %circumstance& feature on. .nl" t ose rule
classes , ic ,ere created ,it 'ro'ert+ r#$e%/ is c ec>ed in t e option ,A$$o- Se$e!tion *a%ed on
- 12
a start date and an end date. Regardless of ot er rule resolution logic: timeFualified rule instances are found and used onl" bet,een t e start date and time and t e end date and time. Before or after t ese moments in time: t e" are in'isible to rule resolution.
)5. /fter "ouP'e sa'ed a time-Fualified rule: a cloc> appears on t e rule form near t e /'ailabilit" c ec> bo$. To 'ie, t e start and end times in a ToolTip: old t e pointer o'er t e cloc> icon. Eere is t e feel.
49. /ll rule classes ,ill not a'e t e %Time Fualification& feature on. .nl" t ose
rule classes , ic ,ere created ,it t e option ,A$$o- r#$e% t2at are (a$id on$+ "or a !ertain 'eriod o" time/ is c ec>ed in.
, ic are Fualified eit er t roug t e Circumstance or t roug t e Time ranges are called %6ualified rules&. =e s ould reali9e t at Fualified rules can be created onl" after a base unFualified rule is created. ?ou canPt delete t e base-unFualified rule , en a Fualified rule of t e same rule e$ists.
51. S'e!ia$ note on time :#a$i"ied r#$e% & /t an" gi'en time: if t ere are t,o
or more time-based rules: all 'alid at t e current time and date: t e s"stem selects t e ones ,it t e soonest end date. <f t ere is more t an one candidate ,it t e same end date: it pic>s t e one ,it t e most recent start date ;< Ste'% o" R#$e Re%o$#tion a$gorit2m $oo. #'&
1. Mat!2 C$a%% Hierar!2+ & /lgorit m first loo>s for appropriate class up
t e ierarc "
Rule!et and Cersion associated ,it t e rule instance against t e Rule!et list of t e user. /lso t e a'ailabilit" of t e rule is ta>en into consideration at t is point. <f t e rule is not a'ailable: rule resolution algorit m can not consider t at rule
6. E6e!#te t2e S#r(i(or R#$e & <f no rule instances sur'i'e t e abo'e
fi'e p ases: t e user process is notified of t e Onot foundO condition
53. 5or. Li%t & / ,or> list is an outstanding( not complete ) assignments ( ,or>
ob7ects ) ,aiting "or a #%er to perform t em.
=or>group is logical collection of operators and usuall" ,or>group ,ill a'e a manager. .perator <0 data instance (0ata-/dmin-.perator-<0 class) usuall" identifies a ,or> group to , ic t e user belongs. /lso ,or>group facilitates for better monitoring and re'orting of tas>s
**. = ile ,e define an operator: if t e ,or> group is left empt": t at operator can enter ,or> ob7ects but not access a ,or>list or ,or>bas>ets.
57. 5or. 'oo$& 0ifferent ,or> t"pes (classes deri'ed from t e =or>- base class)
are grouped in to one class group and , en t is class group is added to a user in is access group: user can ,or> on t roug eac ,or> t"pe of eac class groups. Class groups so added are called as =or> pools.
59. Ho- are t2e !a$endar% de"ined in PRPC 4 ; Calendars can be defined as
instances of 0ata-/dmin-Calendar and t en t ese instances can be added at .rgani9ation or at .perator le'el. Ior e$ample ,e can define a calendar called %!at"am-2@@*& ( , ere ,e define , at are ,or>ing ours on eac da": and
- 14
, at are t e olida"s and all ): t en ,e can add t is calendar ( !at"am2@@*) , en ,e define t e .rgani9ation called %!at"am& +@. =or> Parties are interested in t e progress and resolution of a particular ,or> ob7ect: but t e" need not necessaril" perform ,or> on t e application. T"pical t"pes of ,or> parties are customers (t"picall" t e primar" part"): staff members t at are interested in t e progress of t e ,or> ob7ect: but don#t directl" act upon t e ,or> ob7ect and e$ternal organi9ations etc. 1(. Process commander comes ,it standard classes include; 0ata-Part"-Bo' 0ata-Part"-.perator 0ata-Part"-Com 0ata-Part"-.rg 0ata-Part"-Person 'arious standard ,or> part" classes. Eligible
?ou can use t ese classes as it is: or "ou can create a ne, class t at in erits from 0ata-Part"
classes determines
+2. T e Portal al,a"s contains t,o main sections one on left side and anot er on rig t side. 8eft side section is called %na'igation panel& , ic contains e$pandable na'igation bars. Rig t side section is called %=or> !pace& and is conte$t sensiti'e in t e sense t e contents c ange based on t e selected section on left and side na'igation panel +(. T e s o,-7a'a feature on eac t e rule rule form displa"s t e underl"ing 2a'a code for
+*. T e <nitial !etup ,i9ard is usuall" run b" "our s"stem administrator to prepare t e en'ironment for t e application de'elopment. Ee creates t e s>eleton organi9ation ierarc ": core set of operators and access groups: base ruleset and t e top-le'el class b" running t e initial setup ,i9ard. ++. T e application accelerator automates t e process commander design met odolog". T e application accelerator creates t e basic components reFuired for an" Process Commander application tailored for t e business
- 15
processes. T e , ole idea is H Iirst use t e application accelerator to create t e foundation for "our application: t en use t e process commander portal to add furt er components as t e design progresses +3. =or>- . CorrApdate acti'it" updates t e correspondence +5. T e application accelerator#s capabilit" includes t e creation of 1. 2. (. ). *. +. 3. 5. 4. initial ruleset: simple class structure including co'ers and ,or>-related classes: class group( ,or> pool ): prefi$es for ,or> ob7ects and co'er classes: properties: models ,or> parties: user interfaces: basic flo,s: ,or>bas>ets: ,or>lists and ,or>groups
+4. /pplication accelerator includes follo,ing ,i9ard steps 1. !tep 1 ; define /pplication name and ruleset name 2. !tep 2 ; 0efine Carious t"pes of ,or>s possible and respecti'e prefi$es for ,or> <0s (. !tep ( ; 0efine t e ,or> parties ). !tep ) ; 0efine properties: default 'alues for properties: displa" mode for properties *. !tep * ; 0esign t e A< b" c oosing t e displa" properties and t e section +. !tep + ; !elect t e standard flo,: create ,or>bas>ets: ,or>lists and ,or>groups 3@. /pplication accelerator automaticall" adds t e ne,l" created ruleset and t e ,or> pool to "our access group. .nl" t ing "ou need to do is re login to t e application so as to see t e ne, ,or> pool in t e list
- 16
3+. Ilo, actions specif" t e c oices t at user a'e , en performing an assigned ,or> ob7ect. Ilo, actions are mainl" of t,o t"pes i.e.: connector actions and local actions. 33. Connector actions ad'ance t e flo,. T e" are associated ,it t e connector t at e$ists at t e assignment: so selecting t em causes t e flo, to ad'ance along ,it t e pat 35. 8ocal actions allo, t e user to update t e ,or> item: but don#t ad'ance t e flo,. /fter t e assignment ,as committed: t e flo, remains at t e same assignment from , ic t e local action ,as performed 34. / , en clipboard. condition is a Boolean e$pression based on t e 'alues in t e t e Tas>!tatus-!et
5@. T e utilit" acti'it" can return a status 'alue t roug met od: , ic can be used for tal>ing pat s in t e flo,
81. =or>-./ction1otif"6uic> acti'it" creates simple correspondence 82. =or>-. /dd acti'it" creates a ne, ,or> ob7ect ( ,it out a co'er ob7ect)
5(. Carious standard ( read" to use ) flo, actions are defined at ,or>- Class 5). Most of t e standard flo, actions can be used eit er as a local action or as a connector action. Eo,e'er some flo, actions are 'alid to be used as onl" one t"pe. Anless ot er,ise specified: "ou can use in eit er ,a". 5*. !ome of important standard flo, actions t at come ,it PRPC are 1. /ddToCo'er( 8ocal onl" ) H <ncludes t e ,or> ob7ect as sub tas> of co'er 2. /ddToIloder( 8ocal onl" ) H /dds t e ,or> ob7ect to t e folder (. /ssign ( 8ocalD Connector ) H /ssigns t e ,or> ob7ect to t e co'er ). /ttac /Iile ( 8ocal onl") - /ttac es a file to t e ,or> ob7ect *. /ttac /1ote ( 8ocal .nl" ) H /ttac es a note to t e ,or> ob7ect +. /ttac /AR8 ( 8ocal .nl") H /ttac es t e AR8 to t e ,or> ob7ect 3. Cancel/ssignment ( Connector onl" ) H Cancel t e current assignment 5. C ange/ssignment!8/ ( 8ocal onl" ) H Apdate !8/ and related( goal: deadline and urgenc") fields for current assignment 4. C ange=or>!8/ ( 8ocal onl" ) H Apdate !8/ and related( goal: deadline and urgenc") fields for current assignment and also for ,or> ob7ect 1@. Iinis ( 8ocal D Connector ) H Apdate t e status ,it notes and t en sa'e and close t e ,or> ob7ect 11. 1otif" ( 8ocal D Connector ) H Benerate correspondence (notifications ) from t e list of templates 12. 1otif"E$ternal ( Connector onl") H Benerate correspondence ( 1otifications ) to a part" e$ternal to process commander 1(. 1otif"6uic> ( Connector onl" ) H <nitiate correspondence ( 1otifications) using Fuic> template for rapid te$t entr" 1). Re7ect (Connector onl") H Re7ect ,or> ob7ect from furt er consideration: resol'ing it ,it Re7ection status.
- 17
1*. Remo'eIromCo'er ( 8ocal .nl" ) H Remo'e ,or> ob7ect from co'er 1+. Remo'eIromIolder ( 8ocal .nl" ) H Remo'es ,or> ob7ect from folder 13. Resol'e ( Connector onl" ) H Complete current assignment: resol'ing ,or> ob7ect accordingl" 15. !a'e ( 8ocal .nl" ) H Apdate t e ,or> ob7ect ,it out resol'ing it : sa'ing t e c anges to t e field 'alues
s"stem must act on a ,or> ob7ect before t e flo, can progress. <n certain situations assignments can be processed completel" or in part b" a Process Commander agent rat er t an b" a person
87. /ssignments are created b" a flo, operating on a ,or> ob7ect: but t e" are
not t emsel'es part of t e ,or> ob7ect. T e s"stem sa'es data relating to an assignment in instances of t e /ssign-=or>bas>et class: /ssign-=or>list class: or ot er subclasses of t e /ssign- base class. Means , ene'er a ,or>ob7ect reac es an assignment: it creates an instance of respecti'e /ssign-Q class. T is instance stores all t e assignment pertaining information rat er t an ,or> ob7ect itself are used for
1. P"/ssignment!tatus ; / user defined status: initiall" blan> or ne, 2. PRArgenc"/ssign ; Argenc" 'alue for t e assignment. T is is not same as t e p"Argenc" propert" , ic is urgenc" of ,or> ob7ect as a , ole 54. p$Argenc"=or> is for , ole ,or> ob7ect
4@.
41. <mportant s ape properties in t e assignment are 1. /ssignment rule to use; 1ame of t e assignment acti'it". Currentl" ) t"pes a'ailable. ?ou can create "our o,n b" ma>ing an acti'it" as t"pe of assign i. =or>8ist ; Causes t e assignment to be placed on t e ,or>list of current operator ii. =or>bas>et ; Causes t e assignment to be placed in a ,or> bas>et: determined b" an associated router s ape iii. E$ternal ; !tarts t e direct ,eb access feature i'. /gent ; !ends t e assignment to t e bac>ground process rat er t an to a person
3. 8ocal actions ; "ou can add one or more local flo, actions 5. !er'ice 8e'el; ?ou can assign a ser'ice le'el (Rule-.b7-!er'ice8e'el) rule to t is assignment. 42. ?ou can assign acti'ities at goal and deadlines of eac ser'ice le'el: and t ese acti'ities ,ill be fired , en goal and deadline times are passed on 4(. 8i>eli ood field appears for connector onl" , en connector t"pe is selected as %/ction& or %!tatus& 4). = en an assignment is gi'en a ser'ice le'el: it ta>es precedence t an t e flo,# s ser'ice rule onl" for t at assignment
t e flo,. <t does not a'e an" impact on processing of t e flo,. 4+. Connector arro,s s o, as eit er red or blue. / red arro, indicates t at t e OfromO (tail) or OtoO ( ead) end of t e connector is not "et connected to a tas> s ape. / blue color indicates a properl" connected connector (1ot sure on t is .. 1eed to test ) 43. PRPC comes ,it certain standard built in flo,s , ic customi9e. !ome of suc flo,s are 1. =or>-Co'er-.1e,=or> 2. =or>-. Ilo,Problems 3. =or>-Iolder-. 1e,=or> 4. =or>-. 1e,=or> 5. =or>-.Cerif"!endCorr u can use as it is or
- 19
i. /ll of t e c oices ma" not be a'ailable al,a"s. <t all depends on t e s ape from , ic t e connector emanates. Ior e$ample a. = en t e connector is from assignment: "ou ,ill a'e onl" %/ction&. b. = en t e connector is from utilit": "ou ,ill a'e four options i.e.: all e$cept %/ction& c. = en t e connector is from t e decision "ou ,ill a'e onl" !tatus and Else. d. = en t e connector is from for>: "ou ,ill a'e four options i.e. all e$cept %/ction& ii. /l,a"s; = en t ere is to be onl" one possible pat connector. from t e
iii. !tatus; <f t e connector is from a Atilit" tas> s ape: a Ior> tas>
s ape or a 0ecision tas> s ape and "ou ,ant to perform a comparison. T e flo, proceeds on t is connector onl" if t e 'alue returned at run time matc es t e 'alue in t e te$t bo$ a flo, action. <n t e t ird bo$: enter t e name of a (non-local) flo, action
- 20
run time b" t e decision tas> (a map 'alue: decision table or decision tree) or t e utilit" acti'it". iii. = en ; <f "ou c ose %= en&: ,e need to enter t e %= en& Condition rule name or "ou can do a propert" comparison
1o ?es 1o 1o 1o
1o 1o ?es 1o ?es
/t run time: t e s"stem e'aluates t e decision rule based on inputs from t e flo, and t e ,or> ob7ect: and c ooses one of t e outgoing connectors based on t e result. 1o user interaction or input is reFuired.
1@). <f a map is selected on t e decision of flo,: ,e need to enter onl" t e ro, input , ere as if map 'alue pair is selected: ,e need to suppl" bot ro, input as ,ell as column input ?ou can per aps use t e map 'alue as in t e follo,ing e$ample in t e decision of a flo,
- 21
/ssume "ou need to mo'e in different directions basing on a grade of a student. ?ou can suppl" t e mar>s and t en get t e Brade eFui'alent from t e map. <f t e map 'alue returns 'alues O/O: OBO: and OCO: t e flo, could include four connectors flo,ing from t e 0ecision tas> s ape: all corresponding to !tatus comparisons. .ne connector compares t e returned 'alue to %/&: one to OBO: one to OCO: and a fourt could become t e default (Else) connector ?ou can optionall" store t e 'alue of output of map in a propert" b" using %!tore Result Iield% 1@*. Ior> s ape in t e flo,; =e need to use t e for> s ape in t e flo, , en ,e ,ant to represent a point , ere t e flo, e$ecution c ooses one of t e fe, different pat s (Connectors) based on t e tests on t e ,or> ob7ect. /t run time t e s"stem e'aluates t e conditions on eac connector: starting ,it t e connector assigned t e ig est li>eli ood. 1@+.1otif" s ape to an assignment ,ill cause our application to send correspondence to a ,or> part" in t e ,or> ob7ect reflecting t e assignment. (T e s"stem creates t is correspondence as t e assignment is created: not , en it is performed.). ?ou need to suppl" one of t e notif" ( acti'it" of t"pe notif") to t e notif" s ape. 1@3. T e difference bet,een t e notif": router and comments s"mbols in flo, is 'er" narro,. Be careful ( t e" loo> same to some e$tent)
This is a comment
1@5. T e 'arious standard acti'ities t at can be used in t e flo,s are 1. /ssignment Tas> acti'ities
ii. 1otif"/ssignee ; !end correspondence to t e user , o recei'ed t e assignment iii. 1otif"Part" ; 1otifies specified part" ). Routing acti'ities ; ( Referred from Routers ) i. To/gent=or>Bas>et ; Routes t e assignment to t e ,or>bas>et belonging to an agent ii. ToCorrPart"Role ; Route t e assignment to t e part" referenced b" t e correspondence iii. ToCreate.perator ; Route t e assignment to t e user , o entered t e ,or> ob7ect
of t e Cost Center manager (not t e manager) of a userPs organi9ation unit. ToCurrent.perator ; Routes t e assignment to t e ,or>list of t e user , o o,ns t e ,or> ob7ect. ToCustomer ; Routes to a ,or> part" , o is identified as a customer To0ecisionMap ; Route to t e result of decision map To0ecisionTree ; Route to t e result of t e decision tree To0efault=or>Bas>et ; Routes t e assignment to t e ,or>bas>et of t e ,or> group t at t is user belongs to. To.rgAnitManager ; Routes t e assignment to t e ,or>list of t e manager of a userPs organi9ation unit. To.'er/ll!8/ ; Routes t e assignment to t e ,or>bas>et named defaultSxxxx.yyy: , ere $$$$.""" identifies t e name of t e organi9ation t at t is user belongs to To=or>bas>et ; Routes t e assignment to a ,or>bas>et identified in a parameter. To=or>BroupManager ; Routes t e assignment to t e ,or>list of t e manager of t e ,or> group t at t is user belongs to. To=or>8ist ; Routes t e assignment to t e ,or>list of a specific user: identified in a parameter To=or>Part" ; t e assignment to t e ,or>list of a ,or> part" in t e ,or> ob7ect: identified t roug a parameter
- 23
i. /ddEistor" ; /dd a
ob7ect
istor" instance to t e
istor" of a ,or>
ii. C ec><f1e, ; C ec> , et er a ,or> ob7ect as an <0 assigned iii. Corr1e, ; !end correspondence (t at reFuires no user
interaction): and sa'e it as an attac ment to t e ,or> ob7ect i'. 0uplicate!earc ; !earc for ot er ,or> ob7ects t at mig t be duplicates of t is ,or> ob7ect '. Benerate<0 ; Computes a ne, ,or> ob7ect <0 for a ne, ,or> ob7ect vi. RaiseTic>et ; !ets (turns on) a tic>et rule. <dentif" t e tic>et name as a parameter 'ii. Resol'ed ; Apdates 'arious properties needed for reporting: , en a ,or> ob7ect becomes resol'ed 'iii. Apdate!tatus ; C anges t e status of a ,or> ob7ect (not t e status of an assignment): and adds a record of t is c ange to t e istor" of t e ,or> ob7ect 1@4.T e main difference bet,een for> and decision in t e flo, H 0ecision e$ecutes a decision rule ( li>e map: map 'alue pair: decision tree and decision map ) and t en basing on t e output it ta>es appropriate branc ( basing on t e status ). = ere as for> does not e$ecute an" decision rule: it branc es t e flo, basing on t e , en condition embedded in t e connectors emanating from t e for> 11@.Carious portal la"outs and t e a'ailable na'igation bars are /dminister =or> Manager 8a"out Process /rc itect !"stem arc itect /dministrator 8a"out 1o 1o 1o ?es 0as board 1o ?es ?es ?es Monitor acti'it" ?es ?es ?es ?es Manage rules 1o ?es ?es ?es Process ,or> 1o ?es ?es ?es Tools 1o ?es ?es ?es
; = en a ,or> ob7ect ad'ancing t roug a flo, reac es t e !pin-off s ape: Process Commander starts e$ecution of a different flo,: using t e current or a different ,or> ob7ect. Processing in t e current flo, rule continues in parallel: ,it out ,aiting for t e ot er flo, to complete 11(.T ere are 11 modes of properties. T ese 11 modes are broadl" categori9ed to ( broad categories 'i9: Calues: Pages and 2a'a .b7ects
- 24
11). Propert" Matri$ T+'e 7a$#e Mode Page Mode% >a(a O*?e!t Sing$e !ingle Calue Page 2a'a .b7ect 2a'a Propert" Arra+ Calue 8ist Page 8ist 2a'a .b7ect 8ist T 2a'a propert" 8ist )ro#' Calue Broup Page group 2a'a .b7ect Broup
116.0ifference bet,een Calue list and 'alue Broup - <n Calue 8ist 'alue is an
ordered: inde$ed list of strings: sometimes called an arra". <n Calue Broup 'alue contains one or multiple strings: unordered: eac identified b" a uniFue te$t inde$. 113.Calue modes can ta>e an" of t e flo,ing t"pes a. b. c. d. e. f. g. . i. 7. Te$t <nteger <dentifier Pass,ord 0ouble 0ecimal 0ateTime 0ate Time.I0a" Trule.RIalse
115./ Class group is an instance of t e 0ata-/dmin-0B-ClassBroup / class group instance causes t e s"stem to store t e instances corresponding to t,o or more concrete classes t at a'e a common >e" format in a single database table. Class groups are commonl" used to cause t e s"stem to store instances of similar or related =or>- concrete classes toget er in one relational database table 114.E'er" ,or> ob7ect as a uniFue <0 (propert" p"<0): an urgenc" 'alue: and a status (propert" p"!tatus=or>) 12@..perator <0 data instance (0ata-/dmin-.perator-<0 class) usuall" identifies a ,or> group to , ic t e user belongs
121./ propert" of mode 2a'a .b7ect can contain an" 2a'a ob7ect , ile on t e
clipboard. <f t e 2a'a class supports t e !eriali9able interface: a page containing t is propert" can be sa'ed into t e Process Commander database 122.Ior 'alue list : page list modes t e inde$ is integer and starts from 1 : not from @ li>e in 7a'a
- 25
Ior e$ample "ou can refer in t e follo,ing ,a" 1. Budget( 2. Budget( (. Budget ( .Ro,1umber)
3) O)O)
1ote t at a !tring t at fits to integer can also be used as e$ample 2 abo'e 12(.Ior Calue group: page group modes: t e inde$ is string. Ior e$ample: "ou can refer in t e follo,ing ,a" 1. !tudent( 2. Population ( OA!/O) (. Population (.!tateCode) %2ames&)
12). U/PPE10V inde$ can be used to add t e element at t e end of t e Calue list or Page list properties Ior e$ample in propert" set u can add a 'alue to page list as belo,
12*.U8/!TV inde$ can be used to set or retrie'e t e last element( Eig est inde$ed number element) for Calue list or Page list properties Ior e$ample "ou can set last element 'alue of a page list as belo,
126.U<1!ERTV inde$ follo,ed b" an integer can be used to insert a ne, element
and it#s 'alue into a Calue list or Page list properties. /n" elements ,it same or ig er inde$ 'alue are Opus ed do,nO b" one.
t e
<f t e integer is larger t an t e si9e of t e list b" 2 or more: Process Commander creates an e$ception.
ser'ice le'el rule defines one or t,o time inter'als: >no,n as goa$% and
- 26
dead$ine%: t at indicate t e e$pected or targeted turnaround time for t e assignment: or time-to-resol'e for t e ,or> ob7ect. Process Commander detects ser'ice le'els not ac ie'ed K unmet goals or deadlines K promptl". <f an assignment isnPt completed before t e time limit: t e s"stem can automaticall" notif" 'arious parties: escalate t e assignment: cancel t e entire flo,: and so on 1(@./ de'eloper can assign t e !8/ to eit er t e assignment or for entire flo,. 1(1.T e assignment icon c anges to include a cloc> icon: , en "ou add a !8/ at t e assignment 1(2.= at appens on !8/ escalation (= en goal or deadline time is reac ed)J 1. /dds corresponding goal or deadline urgenc" to original initial urgenc" 2. E$ecutes t e acti'it" in t e A!ti(it+ I" Lo!.ed field if t e ,or> ob7ect is loc>ed: or t e A!ti(it+ Name field if t e ,or> ob7ect is not loc>ed 1((.<f ,e ,ant to associate t e , ole !8/ for entire ,or> ob7ect ,e need to add t e !8/ at Model le'el 1().Eo, can ,e debug D test , et er t e !8/s are ,or>ing fine or notJ 1(*.<mportant fields in ser'ice le'el from are 1. <nitial urgenc" ( .ptional ) ; To set t e initial urgenc" for a ,or> ob7ect 2. /ssignment is read" for ,or> ; Represents , en from t e time count to consider !8/: most of t e cases it ,ould be immediatel". /t times: it is beneficial to create an assignment but not e$pect a user to start ,or> on t e assignment for a , ile. <n t ese cases t is field is useful T ere are ( options a'ailable i. <mmediatel" ; <mmediatel" ii. 0efine from Propert" ; ?ou can ta>e from propert" iii. <nter'al from assignment creation ; ?ou can directl" set t e timing (. Escalation E'ent timing ; i. Boal ; Boal time details ( 1ot seFuential) ii. 0eadline times ; 0eadline time details( 1ot !eFuential ) iii. Repeating inter'al from deadline ; Repeats se'eral times after 0eadline (!eFuential) ). /cti'ities( = en ,or> ob7ect not loc>ed ) i. /cti'ities to get triggered on goal: deadline and repeat *. /cti'ities ( = en ,or> ob7ect loc>ed ) i. /cti'ities to get triggered on goal: deadline and repeat: , en ,or> ob7ect is loc>ed 1(+. Ior e'er" class t at is created as a class group is also created as instance of 0ata-/dmin-0B-ClassBroup. 1(3. E'er" ,or> ob7ect as a uniFue <0 ( propert" p"<0): an urgenc" 'alue: and a status ( propert" p"!tatus=or>) 138. B" 0efault PRPC is s ipped ,it one ,or> bas>et called defaultSpega.com 1(4. 1)@./ ,or> bas>et is an instance of 0ata-/dmin-=or>bas>et.
- 27
1)1./ ,or> group is an instance of t e 0ata-/dmin-=or>Broup class. / ,or> group can identif" a user , o is: for purposes of "our application: a super'isor. =or> groups are a primar" unit of summari9ation in standard management reports on t e Monitor /cti'it" ,or>space. 1)2.ne,0efaults acti'it" get#s automaticall" called ( if e$ists in a class ): , en its instance is created. 1)(.Procedure to create a co'er 1. <nitiali9e /ddCo'er acti'it" 2. Create co'er <0 H b" calling =or>-Co'er./dd acti'it" 1)).Eac connected Process Commander reFuestor (including all bro,ser-based users: e'en if guests) as an associated temporar" memor" area on t e ser'er >no,n as t e clipboard 1)*..ne indi'idual page can go'ern an acti'it" and is >no,n as t e primar" page. <f for one step in an acti'it": a different page is identified: it is >no,n as t e step page 1)+.Top le'el classes are al,a"s abstract and in erit from t e Sbaseclass 1)3./n embedded page is a clipboard page t at is not a top-le'el page: but rat er is t e 'alue of a propert" of mode Page. 1)5.Sbaseclass is called as t e ultimate base class. /nd its immediate c ild classes li>e 0ata-: =or>-: /ssign- etc are called as base classes 1)4.Concrete classes under Rule- and 0ata- old t e instances of rules and data t at t e application de'elopers create as a building bloc>s of t e application 1*@.Concrete classes under /ssign- and =or>old d"namic transaction instances t at are created during t e actual operation of built application 1*1.Eistor"- classes are created automaticall" 152.Embed- Classes define t e structure of pages embedded ,it in ot er pages. Pages belonging to classes deri'ed from t e Embed- base class cannot be renamed or sa'ed. .ften it is a design le'el decision to c oose bet,een t e 0ata- classes and t e /ssign- classes , en ,ant to use t e pagelists. <f ,e c oose t e 0ata- class: it stores t e instances and if ,e c oose Embed- class: it pre'ents in stances being stored in t e process commander 153.<nde$- Classes pro'ide t e !econdar" access >e"s defined to pro'ide fast retrie'al of ot er instances 154.Top le'el class is an abstract class t at as t e ultimate base class Sbaseclass as parent but is not one of t e standard base classes. 1**.Ase follo,ing >ind of access control b" adding t e Ruleset as belo, 1. Beneral use H add at .rgani9ation 2. Business Broup ,ise H add at 0i'ision (. 2ob Iunction ,ise H /ccess Broup 1*+.B" Con'ention: abstract classes end ,it a das ( - ). Concrete classes must not end ,it das . E$ ?ourCo- : M"Co1*3.1ormall" it is a practice to a'e a uniFue top le'el class for eac compan"D product t at ser'es as a starting place for t e class structure 1*5.= ile Creating t e class: mentioning t e direct in eritance is ine'itable. Pattern in eritance is optional. <f pattern in eritance is mentioned b" c ec>ing in t e c ec> bo$: Pattern in eritance ta>es t e precedence. 1*4.T e ser'er can run t,o or more process commander s"stems at a time. T e %!"stem 1ame& uniFuel" identifies t e eac process commander s"stem. <t#s default 'alue is %,fe&. T is is an instance of 0ata-/dmin-!"stem
- 28
1+@.= ile =or>- instances are stored in t e PegaRules 0atabase: 0ata- instances can be stored eit er in PegaRules database or in E$ternal database 1+1.=or> .b7ects are t e basic units of ,or>. Co'ers tig tl" coordinate processing on se'eral distinct ( but closel" related ) ,or> ob7ects. Iolders loosel" pac>age man" related ,or> ob7ects: co'ers: and ot er folders. 1+2.T e PRPC standard acti'it" %Benerate<0& is responsible for creating t e ,or> ob7ect <0. =e can o'erride t is acti'it": if ,e ,ant to a'e different >ind of seFuencing for ,or> ob7ect <ds 1+(.T"picall" "ou s ould use different =or> ob7ect prefi$es for eac ,or>pool 1+).PRPC uses t e =- prefi$ b" default. ?ou c ange t is e'en. Ase t e meaningful prefi$es suc as 8=-: 8C-: 8I-: for ,or> ob7ect: co'er and folders of a lea'e application 1+*.0on#t confuse ,or> parties ,it t e actors of t e s"stem. =or> parties are t ose , o are interested of >no,ing t e e$ecution D progress of t e ,or> ob7ect: or , o s ould be notified , en somet ing appens to t e ,or> ob7ect. 1++.T ree important aspects t at ,e must specif" , ile ,e define t e ,or> parties are i. 1ame of t e part" role ( !uc as originator: contact ) ii. Part" T"pe ( !uc as person or commercial entit") iii. /nd data source ( t e part" class t at describes t e part") 1+3.PRPC allo,s to a'e one ,or> part" in repeating mode in a ,or> ob7ect 1+5.T ere are t,o important parameters in t e restrictions tab of t e class definition: ,ort noting i. Pre'ent subclassing in ot er rulesets ; Pre'ents classes in ot er rulesets from in eriting from t is classes. ii. 8imit Rules applied to t is class to t ese rulesets ; Restrict t e rules creation for t is class to one or more rulesets 1+4./l,a"s use t e p"<0 as t e >e" for t e class definitions t at belong to ,or>-. 13@./ll t e classes belonging to t e class group ,ill a'e t e same >e"s of t e class group and ence t ere ,ill be no pro'ision of specifieng t ese sub classes. 131.Process Commander comes ,it a standard flo, called %ne,=or>& ( defined in =or>- class ) to use as a starting point 132.PRPC standard properties are prefi$ed eit er ,it p$ or p" or p9 i. P$ H Computed properties t at users can see on a form: but can#t directl" enter or c ange ( !uc as p$Create0ateTime). To alter t is 'alues acti'ities can use a step met od called Propert"-!et-!pecial metod ii. P" H Properties t at users can enter or c ange 'ia direct input ( suc as p"0escription ) . To assign t ese 'alues programmaticall": acti'ities can use step met od called Propert"-!et met od iii. P9 H Properties t at are reser'ed for internal use ( suc as p9<nsNe"). Aser can#t see: enter or c ange t ese properties 13(. !ome specific entries , ile defining t e properties are i. .'erride !ort Iunction H !pecifies a sort function ( a rule t"pe of Rule H.b7-Iunction ) to use instead of t e natural sort seFuence for t e string t"pe ( .ptional )
- 29
ii. !pecial H <f c ec>ed: propert" ids for displa" onl" and it reFuires acti'ities for c anges. <t pre'ents sensiti'e e and calculated properties from being c anged b" A< iii. Edit <nput Calue; ?ou can specif" t e Rule-Edit-<nput instance ere. Rule Edit inputs are basicall" custom 2a'a routines for con'erting user input to an internal s"stem format. Ior e$ample Rule-Edit-<nputs can contain code segments li>e as belo, if (t eCalue.lengt () V @) W t eCalue X t ePropert".get!tandardTe$t(t eCalue)Y Z t eCalue is t e >e" in point at Rule-Edit-<nputs i'. Edit Calidate; !pecifies an Edit 'alidate rule (of t"pe Rule-EditCalidate) to use in addition to t e basic data format c ec>. <t 'alidates t e format of t e use input and ,or>s on t e 'alue after Rule-Edit-<nput as alread" ,or>ed '. Propert" !tream; !pecifies t e ETM8 formatting ( a rule t"pe of Rule-ETM8-Propert") to use , en ,e are displa"ing t e propert" in forms. <f left blan>: PRPC uses t e default stream called %0efault& propert" !tream. 'i. T"pe of table ; 0efines t e list of 'alid 'alues for user input a. 8ocal 8ist ; !tore t e te$t 'alues on t e propert" form itself b. Iield Calue ; >e" to t e Rule-.b7-Iield rules t at store t e 'alues c. Remote 8ist ; Class ,it instances t at contain t e 'alues for t e properties: t"picall" a class t at in erits from 0atad. Prompt 8ist; !tore t e list 'alues on t e propert" form: !pecified as a pair of 'alues. .ne to displa" as selection and anot er to store as 'alue 13).Ior ! ort to medium si9ed lists t at don#t c ange freFuentl": c oose local list option in t e propert" table edit for defining possible 'alues 13*.Ior ! ort to medium si9ed lists t at c ange freFuentl": c oose %Iield Calue& option in t e propert" table edit for defining possible 'alues 13+.Ior 8ong si9ed lists (suc as product catalogues): c oose %remote list& or %Class Ne" Calues& option in t e propert" table edit for defining possible 'alues. 133.Propert" Fualifiers ( Rule-.b7-Propert"-6ualifier ) are used for appl"ing additional facts to t e 'alue of t e propert" apart from Rule-Edit-<nput and Rule-ETM8-Propert" 135.Propert" /liases can be used to gi'e more meaningful names to t e properties. ?ou can create an alias for a propert" to establis an alternate name more recogni9able to t e user communit" for "our application. 134.E'er" node as a page called %p$Process&: , ic contains t e properties t at describe t e s"stem on , ic t e user is operating. T e class for t is page is Code-Pega-Process 15@.E'er" user t at is currentl" logged in to t e process Commander as se'eral user pages to identif" t e person and organi9ational affiliation i. P"Potal a. P"CommonParams ( /ll org details) b. P"Badget ( /ll gadget details)
- 30
c. P"PortalPages ( /ll portal Pages ) 151.E'er" user or an e$ternal process t at is in t e process of ma>ing a reFuest to process commander as a page called %p$ReFuestor&. Class is Code-PegaReFuestor. T is page basicall" identifies t e reFuestor and , at it is allo,ed to do 152.Ior e'er" user: Process Commander Captures t e details about t e current operations being performed on t e %p$T read& page: and t e respecti'e class is Code-Pega-T read 15(./cti'ities ma" use t e logical page names: , ic ma" not actuall" e$ist as t e" are called in t e clipboard. Ior e$ample /cti'ities ma" use a ,or>ing page called %Primar"&: a parameter page called %Parameter& and a local parameter page called %8ocal& 15).T e current page on , ic "ou are operating is called %primar" page&. T in> of primar" page as t is page 15*.<n man" situations ,e ma" be interested to operate on anot er page in parallel to t e primar" page. T is page is called secondar" page or interest page. B" using interest page: acti'ates can a'e different primar" page ot er t an t e ,or> ob7ect page. <nterest pages are useful for operating on t e ob7ects t at are part of repeating group embedded in t e ,or> ob7ect. = en coming to flo,s: flo,s use interest pages for supporting branc ing. Ilo, processing normall" operates on t e properties on t e primar" page: but "ou can specif" a separate interest page to operate on , en splitting off to anot er flo, 15+.= en ,e refer t e properties in ETM8: acti'ities or declarati'e rules ,e need to include t e page name before t e propert" name e$cept for primar" pages. = en "ou refer t e properties for primar" pages: Primar".$$$ and t e .$$$ are same 153.<t is good practice to omit t e page name: if ,e are operating in t e conte$t of primar" page 155./ class can a'e man" models. But ,e can designate onl" one model , ile creating t e ob7ect. But "ou can c ain toget er models of t e same name in t e direct in eritance ierarc " for "our class to ac ie'e t e cumulati'e model for t e class. 154.PRPC comes ,it a standard model called p"0efault 190.Harne%% ( Rule-ETM8-Earness) rules define t e form structure and t e la"out : specif"ing t e sections t at include in t e arnesses and ot er elements to be added 191.Se!tion ( Rule-ETM8-!ection) rules define t e form content: consisting t e discrete section t at "ou include in t e arness 192.Stream% define t e class specific content to be included in a section ( !uc as d"namic ETM8 and repeating group ): as ,ell as supporting forms for filed specific user input 193.9ragment% (Rule-ETM8-Iragment) are supporting pieces of ETM8 t at "ou include in t e sections: streams: or ot er fragments. =e need to use fragments if ,e ,ant to s are t e tml across classes: suc as buttons for performing t e actions. 194.Te6t "i$e% (Rule-Iile-Te$t) contain static te$t t at ,e ,ill include in t e streams of fragments suc as st"le s eets and 2a'a script files. T e" are conceptuall" same as t at of fragments: but rule resolution does not appl" for te$t files. 14*.Model c aining ,or>s onl" ,it direct in eritance
- 31
14+.Te$t files ( C!! and 2! etc ) are not sub7ected to rule resolution , ere as t e binar" files ( 2PB: 2PEB: images etc ) are sub7ected to rule resolution 143.Ior arness and section rules: process commander automaticall" generates t e ETM8 source( = ic ,e can tailor as ,e need ). But ,e ,rite t e ETM8 for ot er tml rules 145./n" class t at in erits from =or>-.b7ect-: =or>-Co'er- or =or>-Iolder- also in erits all t e arnesses. = en ,e enter a ne, ,or> ob7ect or re'ie,: t e arness automaticall" presents t e appropriate form for t e ob7ect t"pe 144.!tandard arnesses are: i. 1e, - Ior creating ne, ,or> ob7ects ii. Perform H Performing assignments on e$isting ob7ects iii. Confirm H Confirming ob7ect resolution i'. Re'ie, H Re'ie,ing t e closed ob7ects '. Reopen - Reopening t e closed ob7ects 'i. 1e,Co'ered H To open a co'er ob7ect 2@@.Earness rule basicall" assembles all reFuired sections: streams and fragments 2@1.!ections t"picall" include ot er sections: for 2@2.Page-ne, is used to create a ne, page in t e clipboard. T e page-ne, ma" be a top-le'el or embedded page. 2@(.Page-ne, ta>es t e follo,ing parameters i. Model ( .ptional ) ii. Page8ist ( .ptional) iii. 1e, Class (.ptional); "ou can specif" t e class of for , ic ne, page is to b e created. <f left blan>: it creates for class of t e step page t at is mentioned in t e acti'it" step ( it retrie'es t e respecti'e class from pages-classes tab). <f step page filed is also blan>: t e s"stem creates t e ne, page of t e class t at is first >e" of t e current acti'it": , ic is not ing but primar" page 2@).= en using t e page-ne,: if t e s"stem finds t e page alread" in t e clipboard: it deletes t e old one and creates t e ne, one 2@*.p$Met od!tatus is t e propert" t at can be used to find out t e status of a met od step 1. Page-Cop" met od copies t e contents of a source clipboard page to a ne, or pre'iousl" created destination clipboard page. T e source page is not altered. /fter t is met od completes: t e destination page ma" contain properties it contained before: plus properties from a model: plus properties copied from t e source page. T e 'arious parameters are: i. Cop"Irom( .ptional ) ; <f left blan>: s"stem uses step page of t e current step ii. Cop"<nto ; iii. Model ( .ptional ) i'. Page8ist ( .ptional ) ; 2@+.Page-Cop" met od ,or>s as belo, i. <f t e source page cannot be found: t e met od does not fail. <t does not alter an" pages. T e resulting met od status 'alue is Bood ii. <f t e destination page (identified in t e Co'+Into parameter 'alue) does not alread" e$ist: t e s"stem creates a blan> page of t e same class as t e source page. <t ma" be a top-le'el page or an embedded page
- 33
Enter a , en condition in t e transitions as belo, for proper error andling of t e step.. <n t e I" Tr#e field: indicate , at t e processing is to occur , en t e condition is true.
sa'e it as a clipboard page. <f it finds t e specified step page: t e s"stem clears an" data t at is on it and re-uses t e page. <f no e$isting page as a name matc ing t e specified step page: t e s"stem creates a ne, page as part of t e .b7-.pen met od. = en used on a primar" page: t e .b7-.pen met od al,a"s clears an" data on t e page and reuses its name. <f t e >e" supplied does not matc t e >e" of an ob7ect in t e database: t e s"stem creates a page of t e indicated class t at is empt" e$cept for t e p$.b7Class propert": and indicates failure in t e p$Met od!tatus propert". T e parameters for t is met od are i. .pen Class ; <dentif" t e class of t e instance to be opened ii. 8oc> ; C ec> t is bo$ to acFuire a loc>. 8oc> t e instance if "ou plan to c ange and sa'e t e instance or delete it iii. Rlease.nCommit ; C ec> t is bo$ if "ou c ec>ed t e Lo!. bo$ and ,ant t e s"stem to release t e loc> , ene'er t e ne$t Commit met od occurs for t is instance. i'. Propert"1ame and Propert"Calue ;Enter in t is arra" t e name of eac propert" or properties and t e associated 'alues t at toget er ma>e up t e >e" of t e instance to be opened. T"pe a period before t e propert" name 214.= at is andleJ ; Hand$e of an instance is a uniFue >e": in an internal format: assembled b" t e s"stem t at identifies an instance. <t differs from t e 'isible >e" generall" used to identif" instances. T e andle includes s"stem-generated identif"ing 'alues (including t e create date and time) t at ma>e it uniFue. E'er" instance as a uniFue andle: but more t an one instance ma" s are t e same 'isible >e". 215.O*?-O'en-B+-Hand$e can be used to open t e instance : onl" if "ou >no, t e uniFue andle t at permanentl" identifies , ic instance to open. .t er,ise: ,e need to use t e .b7-.pen met od. .b7-.pen-B"-Eandle met od as ( parameters i. <nstanceEandle ; ii. 8oc> ;
- 34
iii. Release.nCommit ;
.b7-!a'e met od uses properties on t e page to deri'e t e internal >e" under , ic it is to be sa'ed. T is met od can create a ne, database instance or o'er,rite a pre'ious instance ,it t at >e". /n ob7ect t at is stored in t e database is 'er%i%tent met od does not al,a"s cause t e ob7ect to be ,ritten immediatel" to t e database. .ften t is met od is used to perform a Odeferred ,riteO operation. =e can use t e 5riteNo- parameter to force t is page (and onl" t is page) to be ,ritten to t e database as part of t e .b7-!a'e met od. T e , ole idea is "ou can re'erse t e effect of an .b7-!a'e met od K if it as not "et been committed K ,it t e .b7-!a'e-Cancel met od. T e parameters for t is met od are
i. ii.
5riteNo5it2Error% & C ec> t is bo$ if t e instance is to be sa'ed e'en , en it contains messages: indicating 'alidation errors
to cancel an earlier .b7-!a'e met od or obidelete met od : so t at t e instance is not ,ritten or deleted as part of a subseFuent Commit. T is met od does not ta>e an" parameters. T is met od can be applied onl" if t e pre'ious ob7-!a'e or ob7-delete does not use =rite-1o, option. to delete a database instance corresponding to a clipboard page and optionall" to delete t e clipboard page too. ?ou can cause t e deletion to occur immediatel": or defer deletion until a later e$ecution of a Commit met od. Anless "ou c ec> t e Immediate c ec> bo$ on t e acti'it" form: t e database deletion does not occur until t e s"stem ne$t processes t e Commit met od. T is met od uses t e flo,ing parameters
i. Remo'e ; <f c ec>ed: it deletes t e respecti'e clipboard page also ii. <mmediate ; <f c ec>ed t e s"stem deleted t e 0B instance immediatel" =ord of caution ; ?ou canPt delete an instance ,it out opening it first
(usuall" ,it t e .b7-.pen met od). ?ou canPt delete an instance , ile it is loc>ed b" anot er reFuestor
T is met od ,rites all t e instances specified b" one or more earlier .b7-!a'e met ods to t e database. T e Commit met od operates on t read pages t at can operate across multiple instances. T ere are no parameters for t is met od and all pre'ious pending .b7-!a'es and .b7-0eletes ,ill be considered
221..b7-8ist met od is used to retrie'e data to t e clipboard as an arra" of embedded pages . ?ou can use t is met od in t,o modes.
i. Complete instances as embedded pages ii. !elected properties from t e instances placed
in embedded pages ,it %2ort!#t c aracteristics. ! ortcut pages contain onl" partial instance data and so cannot be re-sa'ed to t e database. / rule-.b7-8ist is used for t is purpose of obtaining t e partial list of properties
a.
results( usuall" of
22(..b7-8ist met od also assign t e follo,ing important properties to t e result page a. p$ResultCount K / count of t e instances retrie'ed b" t is
searc
b. p"More
to appl" a Calidation rule (an instance of t e Rule-.b7-Calidate rule t"pe) for t e ob7ect identified on t e primar" page or step page.
/ propert" 'alue t at is supplied b" user ma" be 'alid or in'alid. Pages containing one or more in'alid 'alues can not be sa'ed to t e database. = en process commander detects an in'alid 'alue: it adds a message to t e page to mar> t is disco'er". T,o important points ere are: 1. T e in'alid 'alues remain on t e clipboard
2. T e user is not automaticall" notified of t e in'alid 'alue Ii'e >inds of rules basicall" support t e user 'alidation 1. Propert" Rules ( Rule-.b7-Propert" ) ; <t can ser'e t e purpose of 'alidation in ( ,a"s a. Table edits constrain t e allo,able 'alues. b. T"pe of propert" ,ill restrict t e format c. Ma$ allo,able lengt 2. Edit <nput 'alues ( Rule-Edit-<nput ) ; T ese can con'ert t e user entered input 'alues into an internal format (. Edit Calidate Rules ( Rule-Edit-Calidate ) ; t ese are custom 7a'a routine functions , ic can furt er test t e format of t e input ). Iield Calues ( Rule-.b7-IiledCalue ) ; T ese pro'ide configurable list of acceptable 'alues 5. Multii propert" Calidation rules (Rule-.b7-Calidate); T ese rules are used to appl" multiple edit 'alidate rules to act at once. <f
a 'alue fails an" of t ese 'alidations: t e s"stem notes t is in a message associated ,it t e propert" or ,it t e clipboard page containing t e propert"
- 36
223. Eo, to ma>e use of t e arnesses ; i. =e can specif" t e name of t e arness rule for creating t e ne, ,or> ob7ect on t e process tab of t e flo, form in t e field % Earness for ,or> ob7ect creation % ii. /t eac assignment of t e flo, also ,e can specif" t e arness to be used for presentation to user 225.=e can specif" t e model name for ,or> ob7ect creation on eac flo,: , ile defining t e flo,. /s ,e specif" t e model name in Page-ne, step of acti'it" for ot er classes: ,e can specif" t e model name in t e flo, for ,or> classes
224.Binar" files are sub7ected to rule resolution , ere as te$t files are not 2(@.<t is not good practice to ardcode t e list of field 'alues inside t e RuleETM8-Propert": <nstead ,e a'e to use Rule-.b7-Iield 'alue or Table edit of t e propert" 2(1.!ome of t e important propert" streams are i. Currenc"/mount ; Iormats t e number as currenc" based on t e default locale ii. 0ate-Time-CalanderEarness ; dd-MMM-"" EE;mm format plus calendar control iii. Ii$ed!i9e ; /ccepts t e input for t e no. of c aracters specified in p"Ma$8engt i'. Te$t/rea=it E$pand ; 0efault is closed: e$pandable region. '. Te$t/rea=it E$pandE$panded ; 0efault is open ,it t,o lin e e$pandable region 'i. Pic>CorrPreferences ; !elect from list of correspondence preferences 'ii. Pic>Countr" ; !elect from list of countries 'iii. Pic>ResponseMode ; !elect from t e list of preferred ,a"s to be contacted i$. Pic>!tate ; !elect fro list of states x. C ec>Bo$ ; 0ispla"s an ETM8 c ec> bo$ reflecting t e propert" 'alue xi. 0efault ; <f "ou lea'e t e Pro'ert+ Stream field on t e Propert" form blan>: t e s"stem uses t is ETM8 Propert" rule xii. Pic>.perator ; 0ispla"s a drop-do,n list of all .perator-<0s: for selection. xiii. Prompt!elect ; .n input: allo,s t e user to pic> from a dropdo,n list defined in t e Ta*$e Edit tab of t e propert" form as a Lo!a$ Li%t or Prom't Li%t. .n output: displa"s t e 'alue selected b" t e user xiv. PromptIieldCalue ; .n input: allo,s t e user to pic> from a drop-do,n list defined b" Iield Calue rules. xv. Te$t/rea ; 0ispla"s an ETM8 te$tarea containing t e propert" 'alue xvi. Te$t/rea!mall ; 0ispla"s a smaller ETM8 te$tarea containing t e propert" 'alue $'ii. 0ate-Calendar ; 0ate format ,it calendar control 2(2.T e 'arious standard attac ments PRPC supports are a. Iile ( 0ata-=or>/ttac -Iile) b. 1ote ( 0ata-=or>/ttac -1ote) c. !canned document ( 0ata-=or>/ttac -!cann0ocument)
- 37
d. !creens ot ( 0ata-=or>/ttac -!creen! ot) e. AR8 ( 0ata-=or>/ttac -AR8) 2((.ToApperCase is one of t e freFuentl" used Rule-Edit-<nput for properties 2().To ,or> ,it i ii iii i( properties: ,e can use t e flo,ing directi'es in t e ETM8. Re"eren!e Loo.#' 5it2 Sa(e
t e ETM8 rules t at pro'ide parts of t e form : ,e can use in!$#de directi'e 2(+.To ,or> ,it script files and st"le s eets in ETM8: follo,ing directi'es can be used in t e ETM8 i. 8iteral ii. 0elimiters 2(3.Reference directi'e is used to displa" t e 'alues of t e properties: to allo, t e users to enter t e 'alues for t e properties and to insert t e parameter 'alues. !"nta$ for reference directi'e is W[REIERE1CE\[[page\.\property[(index)\[/! [X\\[option\Z
2(5.T e 'arious ,a"s ,e can use reference directi'e is i. To displa" t e 'alue of single 'alue propert" on primar" page W.m"Propert"Z ii. To displa" t e 'alue of single 'alue propert" on anot er page Wanot erPage.m"Propert"Z iii. To displa" t e 'alue list or 'alue group Wm"Page.m"Propert"(1)Z Wm"Page.m"Propert"(m"!ubscript)Z i'. <f user as to input t e propert"
W.myProperty W.myProperty W.myProperty /! X <1PATZ /! <1PATZ <1PATZ
retrie'e and displa" a propert" 'alue of an instance t at is stored in t e database: but t at is not open on t e clipboard. <f t e 'alue is alread" in t e clipboard: ,e can better use t e re"eren!e directi'e. T e complete s"nta$ of 8oo>up directi'e is:
W8..NAP property class-name keyNameXkeyValueZ Ior e$ample: W8..NAP p$Create.perator p"!tream1ameX1e,Z Rule-.b7-ETM8 p"Class1ameX=or>-
- 38
2)@.=it directi'e can be used in follo,ing cases
i. ii. iii. i'.
= en ,e ,ant to replace t e primar" page ,it a different page (t e base page) t roug out a segment of t e ETM8 as an ETM8 coding con'enience To !et t e current embedded page 0efine t e acti'e propert" reference .'erride an ETM8 Propert" rule P/BE and/or myPageZ ere.
2)1.<nclude directi'e can be used to include si$ rule t"pes i. Iragments ( Rule-ETM8-Iragment ) ii. ETM8 Rules ( Rule-.b7-ETM8) iii. Correspondence Rules ( Rule-.b7-Corr rule t"pe ) i'. Correspondence Iragments ( Rule-Corr-Iragment rule t"pe ) '. ETM8 Propert" rules ( Rule-ETM8-Propert") 'i. RM8 rules ( Rule-.b7-RM8 )
your
HTML
directives
Cascading !t"le ! eet te$t t at contains curl" brace c aracters. T e 8iteral directi'e identifies a part of t e source ETM8 t at is to be copied to t e generated stream e$actl" as entered. T e s"stem does not process t e te$t ,it in t e directi'e: e$cept to find t e end of t e directi'e. E$ample ; WX style s eet or script goes ere XZ .ptionall" "ou can also add >e" ,ord called 8<TER/8 W8<TER/8 [comments\ style s eet or script WD8<TER/8 [comments\ Z Z goes
ere
2)(.!ummar" of directi'es /ssert Comment 0elimiters IorEac <nclude 2a'a 8iteral 8oo>up Reference sa'e Ase to ma>e processing more efficient , en ,or>ing ,it one or more concrete classes and t e .b7-8ist met od Ase for troubles ooting and debugging: to in ibit directi'e processing ,it in t e scope of t e comment. T is is not a replacement for ETM8 comments C ange t e s"nta$ used for all t e ot er directi'es 8ooping and iteration <ncorporate anot er ETM8 te$t instance into t e current ETM8 te$t <nline 2a'a: , ic is to be e$ecuted to produce t e final ETM8 B"pass curl" brace c aracters , en preprocessing ETM8 Retrie'e a propert" 'alue from an instance not present on t e clipboard <ncorporate a propert" 'alue on t e clipboard as output te$t Cop" a name and 'alue pair to temporar" scratc pad during ETM8 processing
- 39
AR8 = en =it !upport U!ubmit V and Bac> form na'igation Test a true-false condition and include one of t,o ETM8 te$t segments based on t e outcome. 0esignate a clipboard page ot er t an t e primar" page for a portion of ETM8
2)*.Ilo, can optionall" ta>e t e parameters , ic can be specified in t e flo, definition form 2)+.%=or> Class& fields in Ilo, definition is to identif" ,or> t"pe ( a concrete class deri'ed from =or>- class ) t at t is flo, rule usuall" uses . E$cept in rare cases t is is t e same class , ere t e flo, is defined. 247.%can be added to ,or> ob7ect % field in flo, definitions is used for ; T is flo,
rule can be associated ,it and started for an e$isting (unresol'ed) ,or> ob7ect created b" anot er flo, 2)5.T e ot er important fields in flo, form are
i.
Create a ne- -or. o*?e!t& C ec> if t is flo, rule , en started creates a ne, ,or> ob7ect. <nformall": flo, rules , ic create ne, ,or> ob7ects are called %tarter flo, rules. <f c ec>ed: t e S2ort De%!ri'tion field of t is flo, rule becomes 'isible on t e Process =or> ,or>space Harne%% "or -or. o*?e!t !reation & Yo# !an %'e!i"+ a 2arne%% r#$e t at t e s"stem is to displa" , en a user begins to enter a ,or> ob7ect for t is flo, rule. T is is an optional field. <I left blan>: s"stem uses t e %1e,& arness
ii.
249.T
ere are basicall" four ,a"s to get into anot er flo, from current flo,. T ese are
a.
Called Ilo,
b. !pin-off Ilo, c. !plit for Eac d. !plit 2oin 2*@.T e %Called Ilo, % ! ape can be used if ,e ,ant t e current flo, to pause until t e Called flo, ( !ub flo, ) is completed 251.S'in O""&
Process Commander to starts e$ecution of a different flo, (!ub flo,): using t e current or a different ,or> ob7ect. Processing in t e current flo, rule continues in parallel: ,it out ,aiting for t e ot er flo, to complete. <mportant fields are
i. ii.
De"ine 9$o- on & C oose Current .b7ect to cause t e current ,or> ob7ect to start along anot er flo, rule. C oose 0ifferent .b7ect to start anot er flo, rule: but for a different ,or> ob7ect 9$o- T+'e & Mention t e flo, name eit er current or different
252.S'$it >oin guarantee t at Osub flo,sO of "our flo, are completed before
continuing ,it t e current flo,. <mportant fileds are i. >oin 52en 9$o-% are 9ini%2ed& C oose an" or all: to resume "our main flo,. <f all is specified: "our main flo, ,ill resume onl" , en all sub flo,s are completed. <f an" is selected: "our main flo, ,ill resume , en an" one of t e sub flo,s are completed 253.S'$it "or Ea!2 s ape is used to send a ,or> ob7ect t roug anot er flo, based on information in t e pages of a Page 8ist or Page Broup propert". <mportant fileds are i. >oin 52en 9$o-% are 9ini%2ed & C oose /n" or all: to resume "our main flo,. <f all is specified: "our main flo, ,ill resume onl" , en all sub flo,s are completed. <f an" is selected: "our main flo, ,ill resume , en an" one of t e sub flo,s are completed ii. Pro'ert+ Re"eren!e & t e propert" of mode Page 8ist or Page Broup t at is t e basis of t e split. iii. O*?e!t C$a%% & t e ,or> t"pe of t e for-eac ,or> ob7ects. iv. 9$o- T+'e & flo, rule for t e for-eac ,or> ob7ects
) to mar> t e starting point for e$ceptions t at ma" arise at an" point in t e flo,: suc as a cancellation. T e tic>et is a $a*e$ for a point in a flo,: muc li>e a programming OB.T.O destination.
- 41
Ho- to 'a%% 'age% to !a$$ed a!ti(it+
260.! o,-ETM8 met od to cause t e acti'it" to process an ETM8 rule and send
t e resulting ETM8 to a user for displa" b" <nternet E$plorer. 1ote ; Ase t e standard acti'it" Sbaseclass. ! o,-Earness: not t is met od: to displa" a ,or> ob7ect form defined b" a arness rule (Rule-ETM8-Earness rule t"pe). 2+1.! o,-Page met od is used to send an RM8 representation of t e step page to a userPs <nternet E$plorer bro,ser session: as an aid to debugging or to populate t e 'alues in a select bo$ in ETM8 d"namicall"
clipboard page identified in t e Ste' Page column to a userPs <nternet E$plorer bro,ser session: as an aid to debugging
266.StartNe-9$o- acti'it" from t e =or>- class can be used from to start a ne,
flo, from an acti'it"
database and place t e results as embedded pages in a specified step page of class Code-Pega-8ist. T is met od references an Connect !68 rule instance: and e$ecutes !68 statements stored in t e Bro-%e tab of t at rule instance. !pecif" a page of class Code-Pega-8ist as t e step page of t e R0B-8ist met od. /lso identif" t is page and class on t e Page% A C$a%%e% tab of t e /cti'it" form. T e important parameters are
ii. A!!e%% & Enter t e second >e" part of t e Connect !68 rule (b"
con'ention MSS=L: Ora!$e: DB<: UDB: or S+*a%e: but not restricted to t ese 'alues)
iii. C$a%% Name & Class name , ere t e !68 is defined. =e need
to identif" e6a!t !$a%% of t e rule. T e s"stem does not use class in eritance to find t e Rule-Connect-!68 instance. /lso t is class is different from t e class on , ic "ou ,ant to perform t e searc : , ic "ou enter in "our !68 code
269.Rule-Connect-!68
con'erts table: class: and propert" references on t e Bro-%e tab of t is rule using clipboard data: and sends t e resulting !68 to t e e$ternal database
270.RDB BO'en !tep met od is used to retrie'e a single ro, (record) of data
from an e$ternal relational database and add t e retrie'ed data into a specified clipboard page as propert" names and 'alues. ?ou can use t is met od ,it rule-connect-!68s a'ing select statements in t e .pen tabs. T e parameters are prett" muc same as t at of t e R0B-8<!T
- 43
231.Eac R0B-.pen: R0B-!a'e: and R0B-0elete met od in'ol'es an !68 database commit operation. ?ou canPt implement !68 transaction commit operations spanning t,o or more Connect !68 rules.
brea>
point
To see a list of acti'ities: select a class. select t e step before , ic "ou ,ant processing to pause. !elect at entr+ or E to brea> , en t e acti'it" starts. To brea> for eac step: c oose a$$ %te'. Clic> Set Brea.: and "ou see t e follo,ing;
23*.=atc 'alues can be set on tracer for 'arious properties on t e clipboard pages: prett" muc in t e same ,a" as ,e set t e brea> points. But brea> points are set to acti'it" steps and t e ,atc 'alues are set to properties in t e clipboard
- 44
23+./ declarati'e rule describes a computational relations ip among propert" 'alues t at is e$pected to be 'alid Oal,a"sO or OoftenO or Oas neededO. 0eclarati'e rules ,ill be in force automaticall" and ence "ou need not call t ese rules e$plicitl" 233.0eclarati'e rules need D s ould not be refereed from an" rule. T e" are al,a"s in force. T e primar" benefit of declarati'e processing is t at t e s"stem: rat er t an t e de'eloper: controls , en computations are processed 235.T ere are fi'e t"pes of declarati'e rules
Constraints rules (Rule-0eclare-Constraints rule t"pe) 0eclare E$pression rules (Rule-0eclare-E$pressions rule t"pe) 0eclare <nde$ rules (Rule-0eclare-<nde$ rule t"pe) 0eclare .nC ange rules (Rule-0eclare-.nC ange rule t"pe) 0eclare Trigger rules (Rule-0eclare-Trigger rule t"pes)
234.Remember t at ot er t an abo'e fi'e rules : an" ot er rules are not reall" declarati'e rules: t oug containing %0eclare& >e",ord. Ior e$ample: follo,ing are not declarati'e rules Rule-0eclare-0ecisionTree Rule-0eclare-0ecisionTable
created for properties and ,ill a'e t"picall" same name of t e propert". R-0E facilitates automatic computation of t e propert" 'alue: basing on c anges of ot er propert" 'alues. Ior e$ample: ,e can declare a R-0-E for propert" called %/rea& : so t at , ene'er it#s 'alue is accessed from clipboard: it#s 'alue is eFual to t e product of properties: 8engt and =idt . .nce t e R-0-E is sa'ed for t e propert" %/rea&: an" c ange to a 8engt or =idt 'alue: regardless of o, it occurs: causes an immediate recomputation of t e 'alue of t e /rea propert". Ior e$ample follo,ing is t e R-0-E created for gross salar" propert"
<dea is: = ene'er 'alue of an" propert" from Basic: ER/: !pecial/llo,ance: <Ta$ and PTa$ is c anged: T e 'alue of Bross!alar" in
- 45
clipboard automaticall" c anges. Ior e$ample: if an acti'it" , ic as Propert"!et met od for propert" %Basic& and if t is acti'it" is e$ecuted: t e clipboard 'alue of Bross!alar" automaticall" c anges 251.0eclarati'e rules are not referenced e$plicitl" in ot er rules. <f "ou use of an propert" t at is referenced in t e declarati'e rule: it automaticall" causes t e declarati'e rule to run.
In t2e a*o(e o'tion%@ = = = = ene'er inputs c ange H Ior,ard C aining en used: if no 'alue present H Bac>,ord C aining en used: if Propert" is missing H Bac>,ord C aining ene'er used H Bac>,ord C aining
- 46
25*.?ou can use , en conditions in t e R-0-E. Ior e$ample ,e can c ange t e formula for gross!alar" for regular emplo"ees and contract emplo"ees as gi'en belo,. Contract emplo"ees ,ill not a'e t e !pecial allo,ance
25+.?ou need to gi'e t e page conte$t 'alue: if t e R-0-E is declared for a target propert" , ic is embedded in page-8ist or a page-propert" . ?ou can lea'e t e page conte$t 'alue as blan>: if "our target propert" is of mode single 'alue. <f "ou gi'e t e page conte$t: if "ou specif" t e page conte$t: "ou need to specif" t e class for t is page conte$t: in
- 47
,ageBill.Emplo"ee(%Murali&) ,ageBill.Emplo"ee()) ,ageBill.Emplo"ee() /ssuming: Emplo"ee is an embedded page in , ic BrossPa" propert" for , ic ,e are declaring R-0-E ,e a'e t e
/lso: <f "ou gi'e t e page conte$t: "ou need to specif" t e class for t is page conte$t: in class field as gi'en belo,
form of propert" 'alidation e'er" time t e propert"Ps 'alue is Otouc edO: in addition to t e 'alidation pro'ided b" t e propert" rule or ot er means. T e s"stem e'aluates constraints automaticall" eac time a propert" identified in a Constraints rule is c anged. T is tec niFue is >no,n as "or-ard !2aining. Constraints use t e for,ard c aining. Ior e$ample ,e can create a constraint for multiple properties to see t at all amount are positi'e as gi'en belo,
255.!ame as 0eclare e$pressions: ,e can also declare constraints for t e properties inside t e embedded page. <n t at case: ,e need to specif" t e page name and it#s class in t e pages and classes tab as gi'en belo,
- 48
289.R#$e-De!$are-Inde6 & 0eclare <nde$ rule are defined for defining criteria
under , ic Process Commander automaticall" maintains inde$ instances for faster access.
acti'it" automaticall" at acti'it" step boundaries , ene'er t e 'alue of a specified propert" c anges. T is capabilit" pro'ides a form of automatic for,ard c aining. <f "ou specif" more t an one propert": t e" all must be on same page. Ior e$ample: ,e can create a declare onc ange to call an acti'it" t at send a mail to emplo"ee , en e'er eit er ER/ or Basic or !pecial/llo,ance are c anged as belo,
241.!ame as 0eclare e$pressions: ,e can define declare .nC ange rules for t e properties inside t e embedded page. <n t at case: ,e need to specif" t e page name and it#s class in t e pages and classes tab as gi'en belo,
- 49
296.Ho- to re"er t2e de!i%ion ta*$e4 0ecision table can be referred from t ree
ot er rules 1. Irom decision s ape of flo, rule
- 50 2. <n an acti'it" "ou can e'aluate t e decision table using Pro'ert+Ma'-De!i%ionTa*$e. B" doing so: ,e can set a propert" 'alue ,it t e return 'alue of t e decision table (. 0ecision table can be referred from R-0-E
298.Ho- to re"er t2e de!i%ion tree 4 0ecision table can be referred from t ree
ot er rules 1. Irom decision s ape of flo, rule 2. <n an acti'it" "ou can e'aluate t e decision tree using Pro'ert+-Ma'De!i%ionTree. B" doing so: ,e can set a propert" 'alue ,it t e return 'alue of t e decision table. (. 0ecision tree can be referred from R-0-E
field. /t run time , en t e decision tree is referred: if t e 'alue of t e t ird parameter to t e Propert"-Map-0ecisionTree met od is blan>: t e s"stem e'aluates t is field and uses t e result as t e 'alue for comparisons.
300.Map Calue ; =e can t in> of a map 'alue rule to create a table of number:
te$t: or date ranges t at con'erts one or t,o input 'alues: suc
as latitude
- 51
and longitude numbers: into a calculated result 'alue: suc as a cit" name. Map 'alue rules greatl" simplif" decisions based on ranges of one or t,o inputs. T oug ,e can use map 'alue to ta>e a ma$imum of 2 inputs: t roug cascading K , ere one map 'alue calls anot er K map 'alue rules can pro'ide an output 'alue based on t ree: four: or more inputs
(@1.1ormall" maps can be defined in t,o ,a"s. =e can gi'e a ro, input onl" , ic is referred as simple map. T e follo,ing is e$ample of simple Map
/lso ,e can t in> of creating a map , ic ta>es bot ro, input and column input , ic is normall" referred as Map 'alue pair. Iollo,ing is an e$ample of map 'alue pair
- 52
GH< Ho- and -2ere t2e ma'% are re"erred 4 1. Irom decision s ape of flo, rule 2. <n an acti'it" "ou can e'aluate t e map 'alue using Pro'ert+-Ma'(a$#e ( = ere "ou a'e onl" ro, input) or Pro'ert+-Ma'7a$#ePair( = en "ou a'e bot ro, and column inputs ). B" doing so: ,e can set a propert" 'alue ,it t e return 'alue of t e map 'alue. (. Map can be referred from R-0-E ). / Map 'alue can be referred from ot er map 'alues
GHG Im'ortant "$o- %+m*o$% 1 II S+m*o$% are (er+ im'ortant "or e6am 3
: , ere u
d. Conne!tor% & Connectors loo> as e. Integrator & <ntegrator tas> is an acti'it" t at connects
"our Process Commander s"stem to an e$ternal s"stem to send or recei'e data. <ntegrator s ape loo>s as
'alue rule: decision table rule: or decision tree rule t at , en e'aluated produces a 'alue t at is t e basis of branc ing in t e flo,. 0ecision s ape loo>s as
reac es t e !pinoff s ape: Process Commander to starts e$ecution of a different flo,: using t e current or a different ,or> ob7ect. Processing in t e current flo, rule continues in parallel: ,it out ,aiting for t e ot er flo, to complete. !pin.ff s ape loo>s as
l.
S'i$t->oin & =e need to use !plit-2oin s ape to guarantee t at Osubflo,sO of "our flo, are completed before continuing ,it t e current flo,. T e s ape loo>s as .
m. S'$it-9orEa!2 &
!plit-IorEac s ape to send a ,or> ob7ect t roug anot er flo, based on information in t e pages of a Page 8ist or Page Broup propert". T e s ape loo>s as
ob7ect -it2o#t 2#man in'#t. <t ma" perform computations: searc es: retrie'e data from anot er s"stem: ma>e a decision affecting t e course of t e flo,: and so on. Atilit" tas> loo>s as
(@). <mportant classes 1. 2. (. ). *. Ruleset Ruleset 'ersion Class Propert" ETM8 Iorm - Rule-Ruleset-1ame - Rule-Rule!et-Cersion - Rule-.b7-Class - Rule- .b7-Propert" - Rule-.b7-ETM8
- 54
+. Earness - Rule-ETM8-Earness 3. Earness !ection - Rule-ETM8-!ection 5. Ilo, - Rule-.b7-Ilo, 4. .rgani9ation - 0ata-/dmin-.rgani9ation 1@. 0i'ision - 0ata-/dmin-.rg0i'ision 11. Anit - 0ata-/dmin-.rgAnit 12. Ilo, action - Rule-.b7-Ilo,/ction 1(. !"stem - 0ata-/dmin-!"stem 1). .perator - 0ata-/dmin-.perator-<0 1*. /ccess Broup - 0ata-/dmin-.perator-/ccessBroup 1+. =or> .b7ect - =or>-.b7ect13. Co'er - =or>-Co'er15. Iolder - =or>-Iolder14. Part" t"pes - 0ata-Part" 2@. =or> parties for ,or> class - Rule-.b7-=or>Part" 21. Class Broup - 0ata-/dmin-0b-ClassBroup 22. Mapping classD class group to a table - 0ata-/dmin-0B-Table 2(. 0B Connection - 0ata-/dmin-0b-1ame 2). Iield Calue lists - Rule-.b7-IieldCalue 2*. Custom displa" options for properties on t e form - Rule-ETM8-Propert" 2+. Con'erting user input into internal format - Rule-Edit-<nput 23. Model - Rule-.b7-Model 25. Iragment - Rule-ETM8-Iragment 24. Te$t file - Rule-Iile-Te$t (@. Binar" Iile - Rule-Iile-Binar" (1. Propert" streams ( to - Rule-ETM8-Propert" control t e appearance of properties on A< ) (2. Custom routines for formatting t e properties - Rule-Edit-<nput ((. Maintain 'alue lists for t e propert" - Rule-.b7-IiledCalue (). To 'alidate a propert" - Rule-Edit-Calidate (*. To 'alidate multiple properties in a page - Rule-.b7-Calidate (+. To create calendars - 0ata-/dmin-Calendar (3. Pac>agingD s ipping - Rule-/dmin-Product products (5. To Contain report structure H Rule-.b7-!ummar"Cie, (1. 0ecision tree - Rule-0eclare-0ecisionTree (2. 0ecision table - Rule-0eclare-0ecisionTable ((. = en conditions - Rule-.b7-= en (). Maps - Rule-.b7-Map (*. 0eclare E$pressions - Rule-0eclare-E$pressions (+. Constraints - Rule-0eclare-Constraints (3. 0eclare onC anges - Rule-0eclare-.nC ange (4. 0eclare <nde$es - Rule-0eclare-<nde$ )@. 0elcare Triggers - Rule-0elcare-Triggers
- 55
(@*. /n /!!e%% Ro$e is an instance of t e Rule-/ccess-Role-1ame class. /n access role can be assigned to indi'idual users (or reFuestors) to influence t eir access control. T ese roles determine , at operations t e" can perform on , at classes. 0onPt confuse access roles ,it access groups: , ic affect Rule!et and Cersion 'isibilit". /ccess groups are data instances (of t e 0ata-/dmin-.perator/ccessBroup class): , ile access roles are rules. (@+. / Pri(i$ege is an application-specific access control element associated ,it a class and access role. / pri'ilege is a name t at corresponds to a Rule-/ccessPri'ilege instance. T at class pro'ides a name (and class) for eac pri'ilege: but does not cause t e s"stem to grant pri'ileges. Ase of pri'ileges is optional: but can offer finer tuning of access control t an access roles alone. To a'e access to a pri'ilege: "ou must a'e at least one of t e access roles t at grant access to t e pri'ilege in "our access role list. T e association bet,een access roles and pri'ileges is establis ed in instances of t e Rule-/ccess-Role-.b7 class (@3.T e portal la"out for !"stem arc itect and process arc itect appears similar (@5. a PRPC model users B#%ine%% U%er%
- 56
GEH
)#ardrai$% 1. Adopt an Iterative Approach 2. Establish a Robust Foundation . !o "othin# $hat Is %ard &. 'imit (ustom )ava *. +uild For (han#e ,. !esi#n Intent-!riven .rocesses /. (reate Easy-$o-Read Flows 0. 1onitor .erformance Re#ularly 2. (alculate and Edit !eclaratively3 "ot .rocedurally 4eep 5ecurity 6b7ect-6riented $oo SMART BUILD 5mart build is the desi#n and development process for .R.(. It contains 1& se8uential steps. 5mart +uild 5teps 1. Review Road map and !evelop .lan 2. Analy9e Re8uirements . .rere8uisites and set up &. !esi#n the class structure *. (reate and evaluate sample work ob7ects ,. Identify missin# properties and data classes /. $ailor the user interface 0. !esi#n flows and Identify Flow Actions 2. (reate Flows and .rocess !etails 1:. Add (ommunications (apabilities 11. 5et up Access and 5ecurity 12. (onfi#ure Interfaces and !ata 5ources 1 . +usiness Review and !eploy 1&. (ontinuous Improvement
311.
12.
5tandard Rule-1ethods
Method
Activity-End Activity-'ist-Add Apply-.arse-!elimited Apply-.arse-5tructured Apply-.arse-;1' Assi#n-!elete Assi#n-Establish(ontext (ommit (onnect-dot"et (onnect-E)+ (onnect-)ava (onnect-)15
Description
End the current activity. Add an activity to an internal dispatch list. Execute a .arse !elimited rule in an activity. Execute a .arse 5tructured rule in an activity. Execute a .arse ;1' rule in an activity. !elete an assi#nment. Retrieve the flow and work ob7ect for an assi#nment. (ommit all database chan#es in the thread. 5tart a connector to a <eb service based on the 1icrosoft ."E$ framework 5tart a connector to an external Enterprise )ava+ean. 5tart a connector to call an external )ava class or )ava+ean. 5tart a connector to an external system usin# the )ava 1essa#e 5ervice application pro#rammer interface.
- 57
(onnect-1= (onnect-56A. (onnect-<ait End-@alidate Exit-Activity Flow-"ew Flow-End %istory-Add %istory-'ist 'ink-6b7ects 6b7-!elete 5tart a connector for a <eb5phere 1= connection. 5tart a connector to invoke a <eb service. +lock >pause? for a time interval to synchroni9e with child re8uestor. End compilation of referencin# rules3 for a custom rule type. End the current activity. 5tart a flow execution instance. $erminate a flow execution instance. Record your chan#es to work ob7ects or activities 'ist instances of a class. 'ink ob7ects to#ether. !elete an instance from the database3 or mark it for later deletion with the (ommit method 6b7-'ist 5earch throu#h instances of a class and extract selected properties 6b7-6pen 6pen an instance stored in the database 6b7-6pen-by-%andle 6pen an instance usin# a permanent uni8ue key. 6b7-5ave 5ave pa#e data to the database3 or mark it for savin# >commit? later. 6b7-5ave-(ancel Reverse a previous 6b7-5ave or 6b7-!elete method3 not yet committed to the database. 6b7-5et-$ickets 5et or reset tickets3 interruptin# the normal se8uential processin# of a flow. 6b7-@alidate Run a @alidate rule on a set of properties3 typically representin# user input. .a#e-(han#e-(lass (han#e the class of a pa#e. .a#e-(opy (opy contents of one pa#e to another pa#e .a#e-(lear-1essa#es Remove pa#e messa#es from the step pa#e. .a#e-1er#e-Into 1er#e two or more pa#es into one pa#e. .a#e-"ew (reate a pa#e. .a#e-Remove !elete a pa#e from the clipboard. .a#e-Rename Rename a pa#e or name a primary pa#e .a#e-@alidate @alidates all properties on a pa#e. .a#e-5et-1essa#es Associate a messa#e with a pa#e. .arse-+yte-.os Ased only in .arse 5tructured rules. .arse-(har-.os Ased only in .arse 5tructured rules. .arse-Fixed-+inary Ased only in .arse 5tructured rules. .arse-.acked-!ecimal Ased only in .arse 5tructured rules. .rivile#e-(heck !etermine whether a user or re8uestor has a specified privile#e. .roperty-1ap-!ecision$able Evaluate a decision table rule and assi#n the result to a property .roperty-1ap-!ecision$ree Evaluate a decision tree rule and assi#n the result to a property .roperty-1ap-@alue 5et the value of a property based on a one-dimensional map value rule. .roperty-1ap-@alue.air 5et the value of a property based on a two-dimensional map value rule. .roperty-Remove !elete a property from a pa#e. .roperty-5eek-@alue Ase backwards chainin# to obtain a value. .roperty-5et 5et the value of one or more specified properties .roperty-5et-(orr 5ave the contents of a correspondence stream as the value of a property.
- 58
.roperty-5et-%$1' .roperty-5et-1essa#es .roperty-5et-5pecial .roperty-5et-5tream .roperty-5et-;1' .roperty-@alidate R!+-!elete R!+-'ist R!+-6pen R!+-5ave Re8uestor-5top 5how-%$1' 5how-.a#e 5how-.roperty 5how-5tream 5tart-@alidate 5trin#+uffer-Append 5trin#+uffer-Insert 5trin#+uffer-Reset $ask5tatus-5et $hread-(lear $hread-5top <ait 313. 5ave the contents of an %$1' stream as the value of a property. Associate a literal text messa#e with a property or a step pa#e. 5et the value of one or more-reserved >px? properties. 5ave the contents of a )5.3 ;1'3 or %$1' stream as the value of a property. 5ave the contents of an ;1' stream as the value of a property. Apply an Edit @alidate rule to test user input. !elete an instance from a relational database. Retrieve rows from an external relational database. 6pen an instance from an external relational database. 5ave the contents of a clipboard pa#e to a relational database. 5top processin# of the re8uestor. Assemble and send an %$1' pa#e to a userBs browser 5end an ;1' representation of a pa#e to the browser. 5end a sin#le property value to the browser. Apply stream processin# to a )5.3 %$1'3 correspondence or ;1' rule. (ompile referencin# rules for a custom rule type. 1anipulate strin# buffer containin# local variables 1anipulate strin# buffer containin# local variables 1anipulate strin# buffer containin# local variables (onvey results of activity processin# to a callin# flow (lear the thread pa#e. 5top the current thread. .ause a thread for a specified time interval.
RULE-OBJ_CORR (reate correspondence rules to define3 in %$1'3 templates for the content of out#oin# correspondence. <e need to select the (orrespondence type. RULE-CORR TYPE A correspondence type rule indicates whether a piece of correspondence is a printed letter3 fax3 e-mail3 or phone text RULE-CORR-FRAGMENT (reate a correspondence fra#ment rule to define reusable or boilerplate %$1' text for correspondence. $hrou#h the include directive or the e8uivalent include )5. ta#3 this text can be incorporated into multiple correspondence rules durin# stream processin#.
314.
RULE-DECLARE-INDEX Indexin# can improve performance and facilitate reportin#. $hese rules are stored in indexCbase table of pe#a rules. RULE-UTILITY-LIBRARY A library rule is a container for a set of related function rules. RULE-UTILITY-FUNCTION It defines a 7ava function that can be accessed throu#h rule resolution. $hese rules can be referenced in expressions or 7ava step in an activity. For example3 Exprerssion D>1yRule5etE1yFeo'ibrary?.1yFeo#raphicFunction> 'atitude3 'on#itude?
315. 316.
- 59
)ava step myrulesetCmy#eolibrary.1yFeo#raphicFunction>'atitude3 'on#itude ?G 317. RULE-PARSE-DELIMITED Ase the .arse !elimited rule to upload data into your .rocess (ommander system from an external file or files. <ithin an input record3 a comma3 tab3 8uote3 or other character may separate fields. $he rule extracts the text between the delimiter characters and stores it in a Single Value property or as one element of a Value List property. RULE-PARSE-STRUCTURED Ase a .arse 5tructured rule in con7unction with a 5ervice File rule or the Apply.arse-5tructured method to import structured data to the clipboard. For example3 you can import fixed-format flat files from a variety of external sources and platforms. RULE-PARSE-XML Ase .arse ;1' rules with services and connectors to map data from an ;1' text messa#e into clipboard property values. Each .arse ;1' rule contains an array of parsin# instructions that let .rocess (ommander interpret an incomin# ;1' document or messa#e. $he incomin# messa#e may arrive usin# an e-mail protocol or by 56A. over %$$. protocol. $he messa#e may be a re8uest for service or a reply from a connector. <ithin a .arse ;1' rule3 the notation for findin# elements and attributes is similar to the <orld <ide <eb (onsortiumBs ;.ath notation. 318. DATA MAPPING IN SOAP <e have two types of mappin# mechanisms in .R.( dependin# on the re8uestHresponse forms. For mappin# data in 56A. 5ervice Re8uest 1A. $6 !ata from external source to .R.( Response 1A. FR61 From .R.( to External 5ource For mappin# data in 56A. (onnector Re8uest 1A. FR61 From .R.( to External 5ource Response 1A. $6 !ata from external source to .R.( 31 . JA!A SER!ER PAGES TAGS $he .rocess (ommander )5. ta# library provides a functional e8uivalent to a directive3 or part of a directive. Reference tag <pega:reference name="myPage.myProperty" /> Look up Tag Ipe#aElookup classnameJKRule-6b7-%$1'K propertyJKpx(reate6peratorK HL Ipe#aEkey nameJKpy(lass"ameK value JK<ork-K HL Ipe#aEkey nameJKpy5tream"ameK valueJK"ewbookK HL IHpe#aElookupL
With Embedded
Ipe#aEwithEmbedded nameJKembeddedpa#estrin#K L Enter Ipe#aEreference nameJK.5urnameK HL here. IHpe#aEwithEmbedded L
- 60
With Page Ipe#aEwith.a#e nameJKpa#enameKKL IM-- %$1' andHor ta#s here with pa#ename as the base pa#e --L IHpe#aEwith.a#eL Inclu e Ipe#aEinclude NnameJKnameKO NrefJKindirect reference KO NtypeJKrule typeKO HL
When Ipe#aEwhen NnameJKWhen rule O N7avaJK<!=e"pre##ion=!>KO NtestJKkey$or KOL %T&L #egment to inclu e if true IHpe#aEwhen L 'or (ach I$A+'EL Ipe#aEforeach nameJK6perators.pxResultsKL I$RLI$!L Ipe#aEreference nameJKP$%I5.pyAserIdentifierK HL IH$!LIH$RL IHpe#aEforeach L IH$A+'EL 3"#. RULE-OBJ-LIST !IE$ Ase a 'ist @iew rule to define a custom report or personal version of a report. $his rule #enerates %$1' that provides an attractive interactive display. Followin# are the steps to create one.
1. Ase the "ew dialo# to record the rule key. (omplete the D%&'()* F%+(,& tab to record the layout of an %$1' I$A+'EL display of results. (omplete the C-./+./ tab to define a search of the .rocess (ommander database and exploit the retrieval3 filterin#3 and sortin# power of database software. Ase the O01).%2+ tab to apply further filterin# and sortin#3 and buttons. !efine interactions and advanced interactions on the F-03)/ tab
2. 3. 4. 5. 321.
RULE-OBJ-SUMMARY !IE$ Ase the 5ummary @iew rule form to define a simple custom or personal 8uery. $his rule #enerates %$1' that provides an attractive3 custom interactive display. %ere we can have drilldown options as well.
- 61