Vous êtes sur la page 1sur 359

Project: PRJ889638

Platform Database Version Description Oracle LM910STB 85 UPD889638

Records
LM_DMTHD_TBL LM_ENRL_ADM1_VW LM_INSTR LM_INSTR_P_VW LM_INSTR_QL_VW LM_INSTR_RSL_VW LM_INSTR_VW LM_LRQ_CT_CI_VW LM_LRQ_VW_LANG LM_PERS_PROF_VW LM_TU_ORG_LG_VW LM_TU_ORG_VW

Fields
EFFSEQ LM_LANG_CD1 LM_LANG_CD1 LM_LANG_CD1 LM_LANG_CD1 LM_LANG_CD1 LM_LANG_CD1 LM_LANG_CD1 LM_LANG_CD1 LM_LANG_CD1 LM_LANG_CD1 LM_LANG_CD1 BASELANGUAGE BASELANGUAGECODE DATALANGUAGE LANGUAGEOVERRIDE LANGUAGEPREFERENCE LANGUAGE_CD LANGUAGE_CD1 REPORTLANGUAGE REQLANGUAGE_CD TARGETLANGUAGE

Translate Values
LM_LANG_CD1 LM_LANG_CD1 LM_LANG_CD1 LM_LANG_CD1 LM_LANG_CD1 LM_LANG_CD1 LM_LANG_CD1 LM_LANG_CD1 LM_LANG_CD1 LM_LANG_CD1 LM_LANG_CD1 LM_LANG_CD1 LM_LANG_CD1 LM_LANG_CD1 LM_LANG_CD1 LM_LANG_CD1 LM_LANG_CD1 LM_LANG_CD1 LM_LANG_CD1 LM_LANG_CD1 LM_LANG_CD1 LM_LANG_CD1 LM_LANG_CD1 LM_LANG_CD1 LM_LANG_CD1 LM_LANG_CD1 (1900-01-01) (1900-01-01) (1900-01-01) (1900-01-01) (1900-01-01) (1900-01-01) (1900-01-01) (1900-01-01) (1900-01-01) (1900-01-01) (1900-01-01) (1900-01-01) (1900-01-01) (1900-01-01) (1900-01-01) (1900-01-01) (1900-01-01) (1900-01-01) (1900-01-01) (1900-01-01) (1900-01-01) (1900-01-01) (1900-01-01) (1900-01-01) (1900-01-01) (1900-01-01) ARA BUL CFR CRO CZE DAN DUT ENG ESP FIN FRA GER GRK HEB HUN ITA JPN KOR MAY NOR POL POR ROM RUS SER SLK

LM_LANG_CD1 LM_LANG_CD1 LM_LANG_CD1 LM_LANG_CD1 LM_LANG_CD1 LM_LANG_CD1 LM_LANG_CD1

(1900-01-01) (1900-01-01) (1900-01-01) (1900-01-01) (1900-01-01) (1900-01-01) (1900-01-01)

SLV SVE THA TUR UKE ZHS ZHT

Pages
LM_INSTR LM_SES LM_SS_INSTR

PeopleCode (Record)
LM_DMTHD_TBL.EFFDT.FieldChange LM_PRG_PG_WRK.LM_PRQ_DTL.FieldChange

Message Catalog ntries


ELM Enrollment ELM Certification 18089, 139 18094, 515

!"#
LM_ACT_LRNPDMAIN LM_ENRL_ADM1_VW LM_INSTR_P_VW LM_INSTR_QL_VW LM_INSTR_RSL_VW LM_INSTR_VW LM_LRQ_CT_CI_VW LM_LRQ_VW_LANG LM_PERS_PROF_VW LM_TU_ORG_LG_VW LM_TU_ORG_VW Step20 D View View View View View View View View View View ApplEng

Co$ponent %nter&aces
CI_HCR_IB_SERVICEDEFN_852 CI_HCR_IB_SERVICEOPERATION HRS_IB_SERVICEDEFN_852 HRS_IB_SERVICE_852

PeopleCode (Co$p%nter&)
HRS_IB_SERVICE_852.Methods

PeopleCode (Page)
LM_ACT_PROG.Activate LM_LEARN_ACT_DTL.Activate LM_LEARN_ITM_DTL.Activate LM_MGR_GRP_CURNT.Activate LM_PRG_SUMM_PG.Activate

PeopleCode (Co$ponent)
LM_ADHC_MGR_UPD(GBL).PostBuild

PeopleCode (Co$pRecord)
LM_PROG(GBL).LM_PRG_CATG.SavePostChange

LM_PROG(GBL).LM_PRG_ITEM.SaveEdit LM_PROG(GBL).LM_PRG_KWRD.SavePostChange LM_PROG(GBL).LM_PRG_OBJV.SavePostChange

PeopleCode (Co$pRecFld)
LM_ACT_CLONE(GBL).LM_ACT_WRK.LM_OK_PB FieldChange LM_BROWSE_LEARNER(GBL).LM_ACT_UI_WRK.LM_ADDPLAN_BTN FieldChange LM_BROWSE_LEARNER(GBL).LM_CAT_UI_WRK.LM_CI_AD_PLAN FieldChange LM_BROWSE_LEARNER(GBL).LM_CAT_UI_WRK.LM_ITM_ADDTOPLN_PBFieldChange LM_INSTRUCTOR(GBL).LM_ROSTER_WRK.LM_ROST_BTN3 FieldChange LM_PERSONAL_PHONE(GBL).LM_LINK_WRK.LM_ADD_PB FieldChange LM_PRG_DTLS_ESS(GBL).LM_PRG_PG_WRK.LM_PRG_PLAN_BTN FieldChange LM_PROG(GBL).LM_PRG_ITEM.LM_OBJ_ID FieldChange LM_PROG(GBL).LM_PRG_TBAR_WRK.LM_SAVE_PB FieldChange LM_SEARCH(GBL).LM_ACT_UI_WRK.LM_ADDPLAN_BTN FieldChange LM_SEARCH(GBL).LM_CAT_UI_WRK.LM_CI_AD_PLAN FieldChange LM_SEARCH(GBL).LM_CAT_UI_WRK.LM_ITM_ADDTOPLN_PBFieldChange LM_SS_LEARNING_UI(GBL).LM_CAT_UI_WRK.LM_DROPACT_PB FieldChange LM_SS_LEARNING_UI(GBL).LM_CAT_UI_WRK.LM_ITM_ADDTOPLN_PBFieldChange LM_SS_MANAGER_UI(GBL).LM_CAT_UI_WRK.LM_CS_LONG_NM FieldChange LM_SS_MANAGER_UI(GBL).LM_CAT_UI_WRK.LM_DROPACT_PB FieldChange

Per$ission #ists
ALLPAGES LMLELM0800 LMLELM9010 LMLELM9020

PeopleCode ('ppl Pac(age)


HMCR_FRAMEWORK:IB_Framework:baseClasses:IB_Service.OnExecute HRS_HROI:UTIL:NodeBuilder.OnExecute LEBL_ACTIVITY:Components:ActivityCommon.OnExecute LEBL_SESSION_PATTERNS:SessionCreation.OnExecute LECR_PROGRAM:ProgramUI.OnExecute LECS:PreReqs_V2.OnExecute LECS_SEARCH:SearchCatalogUI.OnExecute LECS_SEARCH:VerityCatalogSearchProvider.OnExecute LEC_CATALOG_INTERFACE:ManagerPlanPageSetup.OnExecute LEE_ENROLLMENT:LEE_ENRLMT_ACTIONS.OnExecute LELP_LEARNING_PLANS:LearningPlanDetailsUI.OnExecute LERM_COST:ActivityContentCostBean.OnExecute

File Re&erences
UPD888861_01_DMS

)*ject T+pe: 69 ,
SCRIPTS, , ,

Record -etail
Record: LM_DMTHD_TBL
Description Record Type Parent Record Related Language DDL Space "ame Delivery Method Table SQL Table LM_DMT D_L!"# LML!R#$%PSLMDM&L

&'ner (D )omments activites based on the met

$LM )ourse Structure !llo's users to define specific learning hod of learning% Key Srch Req Edit Prompt C Default -! S Re. Prmt LM_DMT _T*P_L(S -! S Re. Prmt /$D(TT!0L$ 1,1 -! S 1,1 -D Re. /date Re. 5lat Re. 5lat Prmt LM_("STR_PT_V7 Prmt LM_ENRL_ DMN_$% Prmt LM_ENRL_ADM1_ ! *9" 5lat 5lat *9" Prmt LM_&7"$R(D_V7 *9" *9" Re. *9" Re. *9" 1*1 1*1 1"1 1"1 1$"#1 1+,1

FieldName LM_DMT D_T*P$_(D LM_)(_(D LM_DMT D_(D $22DT LM_$"D_$22DT L!"#3!#$_)D LM_DM_ST!T3S LM_("STR_(D LM_ENRLMT_ DM!N_!D LM_ENRLMT_ADMIN_ID LM_)&ST )3RR$")*_)D LM_"2R)_M!5_$"RLMT LM_R$#_MT D LM_!3T&_)MPL_D3R" LM_!V#_2(LL_RT LM_&2R"#_2R$Q LM_M("_$"RLMT LM_M!5_$"RLMT LM_!3T&_!T"D LM_&7"$R_(D LM_!3T&_&0:V LM_LR"_PD_D!*S LM_7R"_PD_D!*S LM_$"!0L$_7TLST LM_7TLST_)!P LM_T$) _R$Q LM_!LL&7_)MPL_ (ST LM_L!3") !0L$_ (ST LM_D3R"_D!*S LM_D3R"_ RS LM_D3R"_M("S LM_PR()("#_S0R LM_R&7!3D(T_S0R LM_7!(T_T R$S &LD LM_2L!T_)&ST )3RR$")*_)D LM_ RL*_)&ST )3RR$")*_)D

Type "um "um "um Date Date )har )har "um Num Num "um )har )har "um "um )har "um "um )har "um )har "um "um )har "um )har )har )har "um "um "um SRec SRec "um "um "um

Len +, +, +, +, +, 4 4 +6 "# 15 +6%4 + 4 4 +, 4 +, +, + +6 + 4 4 4 +, ;6< + + < 4 4 +, +6%4 +6%4

* )urr8 1+,1 1,1

* )urr8 * )urr8

Record: LM_ENRL_ADM1_VW

Description Record Type Parent Record Related Language 0uild Se. &'ner (D )omments

E"r#llme"t A$m%" S'L %e&

%e&

30 ELM (#ur)e Structure Ne& Rec#r$ +t %e& t# )elect act%*e lear"er) a)

a$m%"%)trat#r) %" +r#m

FieldName LM_ENRLMT_ADMIN_ID E--DT E--_STATUS LAST_NAME_SR(1 -IRST_NAME_SR(1 NAME LM_NAME_DISPLA2

Type Num Date (/ar (/ar (/ar (/ar (/ar

Len 15 10 1 30 30 50 50

Key Srch Req Edit Prompt ,ALS Prmt LM_PERSON_ ! ,D 0lat AAL AAL AA AAL

C Default .$ate

E&tend Field !nfo SetCtrlField LM_ENRLMT_ADMIN_ID PERSON_ID

La'el LM_AD1(_ADMIN_ID

Pa(eControl

udit

Record: LM_INSTR

Description Record Type Parent Record Related Language DDL Space "ame &'ner (D )omments Type "um )har )har )har )har )har )har )har )har Char (/ar "um "um "um )har )har )har SRec Long SRec Len +6 ; + + + + + + + + 3 +, +6 +6%4 4 ; 4,

(nstructor Table SQL Table LM_("STR_L!"# LM!PP%PSLMDM&L $LM Resource Management (nstructor Table Key Srch Req Edit -!LS Prmt Re. 5lat Re. *9" Re. *9" Re. *9" Re. *9" Re. *9" Re. *9" Re. *9" ,lat 0lat Prmt Prmt Prompt LM_P$RS&"_V7 C Default 1,+1 1"1 1"1 1"1 1"1 1"1 1"1 1"1 LM_DMT _T*P_T0L LM_V$"D&R_V7 * )urr8 Re. Prmt )3RR$")*_)D_T0L 5lat

FieldName LM_P$RS&"_(D LM_("STR_ST!T LM_M&"D!* LM_T3$SD!* LM_7$D"$SD!* LM_T 3RSD!* LM_2R(D!* LM_S!T3RD!* LM_S3"D!* L N)* )E_CD LM_LAN3_(D1 LM_DMT D_T*P$_(D LM_V$"D&R_(D LM_)&ST )3RR$")*_)D )3RR$")*_)D LM_)&ST_T*P$ LM_!R$!_&2_$5P$R LM_R&7!3D(T_S0R LM_("STR_"&T$S LM_("S_2R!_S0R E&tend Field !nfo LM_P$RS&"_(D

SetCtrlField

La'el L$!R"$R_(D

Pa(eControl

udit

Record: LM_INSTR_P_VW

Description Record Type Parent Record Related Language 0uild Se. &'ner (D )omments the instructor search pa other purpose% The vie'

(nstructor Prev Taught Vie' SQL Vie' 4, $LM Resource Management This vie' is used for select processing on ge% This vie' should not be used for any

returns instructors along 'ith courses they (n the search page the vie' is used to have previously taught a specific catalog

have previously taught% return all instructors 'ho item% FieldName LM_P$RS&"_(D LM_("STR_ST!T "!M$ Type "um )har )har Len +6 ; 6,

Key Srch Req Edit Prompt -!LS Prmt LM_P$RS&"_V7 5lat !!

C Default 1,+1

LM_"!M$_D(SPL!* L!ST_"!M$_SR) 2(RST_"!M$_SR) L!"#3!#$_)D LM_V$"D&R_(D LM_)&ST )3RR$")*_)D )3RR$")*_)D LM_)&ST_T*P$ LM_)(_(D LM_S$S_DT

)har )har )har )har "um "um )har )har "um Date

6, 4, 4, 4 +6 +6%4 4 ; +, +,

!!L !!L 5lat * )urr8 Re. Prmt )3RR$")*_)D_T0L 5lat

Record: LM_INSTR_QL_VW
Description Record Type Parent Record Related Language 0uild Se. &'ner (D )omments the instructor search pa other purpose% FieldName &PR(D LM_P$RS&"_(D LM_("STR_ST!T "!M$ LM_"!M$_D(SPL!* L!ST_"!M$_SR) 2(RST_"!M$_SR) L!"#3!#$_)D LM_V$"D&R_(D LM_)&ST )3RR$")*_)D )3RR$")*_)D LM_)&ST_T*P$ LM_)(_(D Type )har "um )har )har )har )har )har )har "um "um )har )har "um Len 4, +6 ; 6, 6, 4, 4, 4 +6 +6%4 4 ; +, (nstuctor Qualification Vie' SQL Vie' 4, $LM Resource Management This vie' is used for select processing on ge% This vie' should not be used for any

Key Srch Req Edit Prompt -! -!LS Prmt LM_P$RS&"_V7 5lat !! !!L !!L 5lat

C Default 1,+1

* )urr8 Re. Prmt )3RR$")*_)D_T0L 5lat

Record: LM_INSTR_RSL_VW
Description Record Type Parent Record Related Language 0uild Se. &'ner (D )omments FieldName &PR(D LM_P$RS&"_(D LM_("STR_ST!T "!M$ L!ST_"!M$_SR) 2(RST_"!M$_SR) L!"#3!#$_)D LM_V$"D&R_(D LM_)&ST )3RR$")*_)D )3RR$")*_)D LM_)&ST_T*P$ Type )har "um )har )har )har )har )har "um "um )har )har Len 4, +6 ; 6, 4, 4, 4 +6 +6%4 4 ; (nstructor Search Results SQL Vie' 4, $LM Resource Management (nstructor Search Results Key Srch Req Edit Prompt -! -!LS Prmt LM_P$RS&"_V7 5lat !! !!L 5lat * )urr8 Re. Prmt )3RR$")*_)D_T0L 5lat C Default

LM_"!M$_D(SPL!*

)har

6,

!!L

Record: LM_INSTR_VW
Description Record Type Parent Record Related Language 0uild Se. &'ner (D )omments FieldName LM_P$RS&"_(D LM_("STR_ST!T LM_M&"D!* LM_T3$SD!* LM_7$D"$SD!* LM_T 3RSD!* LM_2R(D!* LM_S!T3RD!* LM_S3"D!* L!"#3!#$_)D LM_DMT D_T*P$_(D LM_V$"D&R_(D LM_)&ST )3RR$")*_)D )3RR$")*_)D LM_)&ST_T*P$ LM_!R$!_&2_$5P$R LM_("STR_"&T$S LM_("S_2R!_S0R Type "um )har )har )har )har )har )har )har )har )har "um "um "um )har )har )har Long SRec Len +6 ; + + + + + + + 4 +, +6 +6%4 4 ; 4, (nstructor Vie' SQL Vie' +, $LM Resource Management (nstructor Vie' Key Srch Req -!LS Re. Re. Re. Re. Re. Re. Re. Re. Re. Edit Prompt C Default Prmt LM_P$RS_"!M$_V7 5lat 1,+1 *9" 1"1 *9" 1"1 *9" 1"1 *9" 1"1 *9" 1"1 *9" 1"1 *9" 1"1 5lat Prmt LM_DMT _T*P_T0L * )urr8 Prmt )3RR$")*_)D_T0L 5lat

Record: LM_LRQ_CT_CI_VW
Description Record Type Parent Record Related Language 0uild Se. &'ner (D )omments re.uests that have categories Learning Re.uest 'ith )!T#9)( SQL Vie' LM_LR'_ !_LAN3 +, $LM (nterest Lists This vie' returns details of learning and catalog items FieldName LM_)(_(D LM_)!T#_(D LM_T(TL$ LM_)S_L&"#_"M LM_LRQ_M$T &D LM_S$!T_R$Q Type "um "um )har )har )har "um Len +, +, 4, ;,, + +, Key -! -! Srch Req Edit Prompt C Default

5lat

Record: LM_LRQ_VW_LANG

Description Record Type Parent Record Related Language 0uild Se. &'ner (D )omments

Lear"%"4 Re5ue)t &%t/ (AT36(I S'L %e& 10 ELM I"tere)t L%)t)

re5ue)t) t/at /a*e cate4#r%e)

T/%) *%e& retur") $eta%l) #7 lear"%"4 a"$ catal#4 %tem)

FieldName LM_(I_ID LM_(AT3_ID LAN3UA3E_(D LM_(S_LON3_NM LM_TITLE

Type Num Num (/ar (/ar (/ar

Len 10 10 3 800 30

Key ,A ,A ,A

Srch Req Edit Prompt 0lat

C Default

Record: LM_PERS_PROF_VW
Description Record Type Parent Record Related Language 0uild Se. &'ner (D )omments FieldName $MPL(D $22DT LM_:P_T*P$ LM_RL!T_"!M$ LM_RL!T_-$*+ LM_PR&2(L$_(D LM_)!T_T*P$ LM_)!T_(T$M_(D LM_:P_Q3!L_S$T LM_R!T("#_M&D$L LM_R$V($7_R!T("# Type )har Date )har )har )har )har )har )har )har )har )har Len ++ +, +; 4, 4, +; +; +; +; < + Key -! -D Person Profile Vie' SQL Vie' + $LM Learning &b=ectives Person Profile Vie' Srch Req Edit Prompt C Default /date

Record: LM_TU_ORG_LG_VW
Description Record Type Parent Record Related Language 0uild Se. &'ner (D )omments FieldName LM_T3_P&&L_(D LM_OR3ANI9ATION_ID L!"#3!#$_)D LM_T3_P&&L_"!M$ LM_&R#_D$S)R LM_T3_P&&L_D$S)R E&tend Field !nfo LM_&R#_D$S)R Type "um Num )har )har )har )har Len +, 15 4 ;, 6, <, Language Rec for LM_T3_&R#_V7 SQL Vie' <, $LM $nrollment )ommon Language Rec for LM_T3_&R#_V7 Key Srch Req Edit Prompt -!LS ,ALS -! 5lat !!L !!L C Default

SetCtrlField

La'el LM_&R#

Pa(eControl

udit

Record: LM_TU_ORG_VW

Description Record Type Parent Record

T3s o'ned by &rg vie' SQL Vie'

Related Language 0uild Se. &'ner (D )omments FieldName LM_T3_P&&L_(D LM_-R) N!. T!-N_!D LM_OR3ANI9ATION_ID LM_T3_P&&L_"!M$ LM_&R#_D$S)R LM_T3_P&&L_D$S)R )3RR$")*_)D LM_) !RT2LD_T*P$ LM_) !RT2LD_V!L LM_&7"$R_(D LM_R&7!3D(T_S0R Type "um Num Num )har )har )har )har )har )har "um SRec Len +, "# 15 ;, 6, <, 4 +> ;, +6

LM_T3_&R#_L#_V7 +, $LM $nrollment )ommon T3s o'ned by &rg vie' Key Srch Req Edit Prompt -!LS L ,AL !!L !!L Prmt )3RR$")*_)D_T0L Re. Prmt LM_!))&3"T_V7 C Default

E&tend Field !nfo SetCtrlField LM_&R#!"(?!T(&"_(D LM_&R#_D$S)R

La'el Pa(eControl LM_&R#!"(?!T(&"_(D LM_&R#

udit

Field -etail
Fie d: EFFSEQ
2ield Type Length Decimal Positions 2ormat 2amily "ame Display "ame &'ner (D )omments Num 3 0 U++er(a)e ELM Bu)%"e)) O:;ect) ELM E77ect%*e Se5ue"ce La'el !D E--SE' Short Name Se5ue"ce Lon( Name E77ect%*e Se5ue"ce Def 2e)

Fie d: LM_LANG_CD1
2ield Type Length 2ormat 2amily "ame Display "ame &'ner (D )omments (/ar 3 U++er(a)e E"ter+r%)e Lear"%"4 Ma"a4eme"t La"4ua4e (#$e Short Name Ba)e La"4ua4e Ba)e La"4ua4e ( Data La"4ua4e La"4ua4e O*err% La"4ua4e Pre7er La"4 ($ La"4ua4e Re+#rt La"4ua4e La"4 ($ Lon( Name Ba)e La"4ua4e Ba)e La"4ua4e (#$e Data La"4ua4e La"4ua4e O*err%$e La"4ua4e Pre7ere"ce La"4ua4e (#$e La"4ua4e (#$e Re+#rt La"4ua4e La"4ua4e (#$e < Def

La'el !D BASELAN3UA3E BASELAN3UA3E(ODE DATALAN3UA3E LAN3UA3EO ERRIDE LAN3UA3EPRE-EREN(E LAN3UA3E_(D LAN3UA3E_(D1 REPORTLAN3UA3E RE'LAN3UA3E_(D

2e)

TAR3ETLAN3UA3E

Tar4et La"4ua4e

Tar4et La"4ua4e

Translate Value -etail


Tr!"# !$e V! %e: LM_LANG_CD1 &1'(()(1)(1*
2ield "ame Value $ffDt Status Long "ame Short "ame

ARA
LM_LAN3_(D1 ARA 1900=01=01 Act%*e Ara:%c Ara:%c

Tr!"# !$e V! %e: LM_LANG_CD1 &1'(()(1)(1*


2ield "ame Value $ffDt Status Long "ame Short "ame

LM_LAN3_(D1 BUL 1900=01=01 Act%*e Bul4ar%a" Bul4ar%a"

BUL

Tr!"# !$e V! %e: LM_LANG_CD1 &1'(()(1)(1*


2ield "ame Value $ffDt Status Long "ame Short "ame

CFR
LM_LAN3_(D1 (-R 1900=01=01 Act%*e (a"a$%a" -re"c/ (a" -re"c/

Tr!"# !$e V! %e: LM_LANG_CD1 &1'(()(1)(1*


2ield "ame Value $ffDt Status Long "ame Short "ame

LM_LAN3_(D1 (RO 1900=01=01 Act%*e (r#at%a" (r#at%a"

CRO

Tr!"# !$e V! %e: LM_LANG_CD1 &1'(()(1)(1*


2ield "ame Value $ffDt Status Long "ame Short "ame

C+E
LM_LAN3_(D1 (9E 1900=01=01 Act%*e (>ec/ (>ec/

Tr!"# !$e V! %e: LM_LANG_CD1 &1'(()(1)(1*


2ield "ame Value $ffDt Status Long "ame Short "ame

LM_LAN3_(D1 DAN 1900=01=01 Act%*e Da"%)/ Da"%)/

DAN

Tr!"# !$e V! %e: LM_LANG_CD1 &1'(()(1)(1*


2ield "ame Value $ffDt Status Long "ame Short "ame

DUT
LM_LAN3_(D1 DUT 1900=01=01 Act%*e Dutc/ Dutc/

Tr!"# !$e V! %e: LM_LANG_CD1 &1'(()(1)(1*


2ield "ame Value $ffDt Status Long "ame Short "ame

LM_LAN3_(D1 EN3 1900=01=01 Act%*e E"4l%)/ E"4l%)/

ENG

Tr!"# !$e V! %e: LM_LANG_CD1 &1'(()(1)(1*


2ield "ame Value $ffDt Status Long "ame Short "ame

ESP
LM_LAN3_(D1 ESP 1900=01=01 Act%*e S+a"%)/ S+a"%)/

Tr!"# !$e V! %e: LM_LANG_CD1 &1'(()(1)(1*


2ield "ame Value $ffDt Status Long "ame Short "ame

LM_LAN3_(D1 -IN 1900=01=01 Act%*e -%""%)/ -%""%)/

FIN

Tr!"# !$e V! %e: LM_LANG_CD1 &1'(()(1)(1*


2ield "ame Value $ffDt Status Long "ame Short "ame

FRA
LM_LAN3_(D1 -RA 1900=01=01 Act%*e -re"c/ -re"c/

Tr!"# !$e V! %e: LM_LANG_CD1 &1'(()(1)(1*


2ield "ame Value $ffDt Status Long "ame Short "ame

LM_LAN3_(D1 3ER 1900=01=01 Act%*e 3erma" 3erma"

GER

Tr!"# !$e V! %e: LM_LANG_CD1 &1'(()(1)(1*


2ield "ame Value $ffDt Status Long "ame Short "ame

GR,
LM_LAN3_(D1 3R, 1900=01=01 Act%*e 3ree? 3ree?

Tr!"# !$e V! %e: LM_LANG_CD1 &1'(()(1)(1*


2ield "ame Value $ffDt Status Long "ame Short "ame

LM_LAN3_(D1 1EB 1900=01=01 Act%*e 1e:re& 1e:re&

HEB

Tr!"# !$e V! %e: LM_LANG_CD1 &1'(()(1)(1*


2ield "ame Value $ffDt Status Long "ame Short "ame

HUN
LM_LAN3_(D1 1UN 1900=01=01 Act%*e 1u"4ar%a" 1u"4ar%a"

Tr!"# !$e V! %e: LM_LANG_CD1 &1'(()(1)(1*


2ield "ame Value $ffDt Status Long "ame Short "ame

LM_LAN3_(D1 ITA 1900=01=01 Act%*e Ital%a" Ital%a"

ITA

Tr!"# !$e V! %e: LM_LANG_CD1 &1'(()(1)(1*


2ield "ame Value $ffDt Status Long "ame Short "ame

-PN
LM_LAN3_(D1 @PN 1900=01=01 Act%*e @a+a"e)e @a+a"e)e

Tr!"# !$e V! %e: LM_LANG_CD1 &1'(()(1)(1*


2ield "ame Value $ffDt Status Long "ame Short "ame

LM_LAN3_(D1 ,OR 1900=01=01 Act%*e ,#rea" ,#rea"

,OR

Tr!"# !$e V! %e: LM_LANG_CD1 &1'(()(1)(1*


2ield "ame Value $ffDt Status Long "ame Short "ame

MA.
LM_LAN3_(D1 MA2 1900=01=01 Act%*e Ba/a)a MalaA MalaA

Tr!"# !$e V! %e: LM_LANG_CD1 &1'(()(1)(1*


2ield "ame Value $ffDt Status Long "ame Short "ame

LM_LAN3_(D1 NOR 1900=01=01 Act%*e N#r&e4%a" N#r&e4%a"

NOR

Tr!"# !$e V! %e: LM_LANG_CD1 &1'(()(1)(1*


2ield "ame Value $ffDt Status Long "ame Short "ame

POL
LM_LAN3_(D1 POL 1900=01=01 Act%*e P#l%)/ P#l%)/

Tr!"# !$e V! %e: LM_LANG_CD1 &1'(()(1)(1*


2ield "ame Value $ffDt Status Long "ame Short "ame

LM_LAN3_(D1 POR 1900=01=01 Act%*e P#rtu4ue)e P#rtu4ue)e

POR

Tr!"# !$e V! %e: LM_LANG_CD1 &1'(()(1)(1*


2ield "ame Value $ffDt Status Long "ame Short "ame

ROM
LM_LAN3_(D1 ROM 1900=01=01 Act%*e R#ma"%a" R#ma"%a"

Tr!"# !$e V! %e: LM_LANG_CD1 &1'(()(1)(1*


2ield "ame Value $ffDt Status Long "ame Short "ame

LM_LAN3_(D1 RUS 1900=01=01 Act%*e Ru))%a" Ru))%a"

RUS

Tr!"# !$e V! %e: LM_LANG_CD1 &1'(()(1)(1*


2ield "ame Value $ffDt Status Long "ame Short "ame

SER
LM_LAN3_(D1 SER 1900=01=01 Act%*e Ser:%a" Ser:%a"

Tr!"# !$e V! %e: LM_LANG_CD1 &1'(()(1)(1*


2ield "ame Value $ffDt Status Long "ame Short "ame

LM_LAN3_(D1 SL, 1900=01=01 Act%*e Sl#*a? Sl#*a?

SL,

Tr!"# !$e V! %e: LM_LANG_CD1 &1'(()(1)(1*


2ield "ame Value $ffDt Status Long "ame Short "ame

SLV
LM_LAN3_(D1 SL 1900=01=01 Act%*e Sl#*e"%a" Sl#*e"%a"

Tr!"# !$e V! %e: LM_LANG_CD1 &1'(()(1)(1*


2ield "ame Value $ffDt Status Long "ame Short "ame

LM_LAN3_(D1 S E 1900=01=01 Act%*e S&e$%)/ S&e$%)/

SVE

Tr!"# !$e V! %e: LM_LANG_CD1 &1'(()(1)(1*


2ield "ame Value $ffDt Status Long "ame Short "ame

THA
LM_LAN3_(D1 T1A 1900=01=01 Act%*e T/a% T/a%

Tr!"# !$e V! %e: LM_LANG_CD1 &1'(()(1)(1*


2ield "ame Value $ffDt Status Long "ame Short "ame

LM_LAN3_(D1 TUR 1900=01=01 Act%*e Tur?%)/ Tur?%)/

TUR

Tr!"# !$e V! %e: LM_LANG_CD1 &1'(()(1)(1*


2ield "ame Value $ffDt Status Long "ame Short "ame

U,E
LM_LAN3_(D1 U,E 1900=01=01 Act%*e U, E"4l%)/ U, E"4l%)/

Tr!"# !$e V! %e: LM_LANG_CD1 &1'(()(1)(1*


2ield "ame Value $ffDt Status Long "ame Short "ame

LM_LAN3_(D1 91S 1900=01=01 Act%*e S%m+l%7%e$ (/%"e)e S(/%"e)e

+HS

Tr!"# !$e V! %e: LM_LANG_CD1 &1'(()(1)(1*


2ield "ame Value $ffDt Status Long "ame Short "ame

+HT
LM_LAN3_(D1 91T 1900=01=01 Act%*e Tra$%t%#"al (/%"e)e T(/%"e)e

Page -etail
P!/e: LM_INSTR
Description Type !llo' Deferred Proc% &'ner (D )omments .ualifications Type !D L/l ttri'ute0 $dit0o@ + , $dit0o@ ; , #roup0o@ 4 , $dit0o@ < , )trl2ld noPrompt $dit0o@ 6 , Related8< noPrompt Record LM_P!#$_7RLM_P!#$_7RLM_RM_7RLM_("STR LM_P$RS&"_V7 (nstructor Table Standard Page *es $LM Resource Management This includes instructors and instructor

Field LM_P!#$_T(TL$ LM_2&RM!TT$D_"M LM_RM_#RP05_L0L+ LM_P$RS&"_(D LM_$5T_P$RS&"_2L#

La'el A"one B A"one B CLM_$QP_D$T!(L CL$!R"$R_(D A"one B #ray #ray #ray ide

)ombo0o@ D , LM_RM_("STR_7R5LatShort )ombo0o@ F , LM_("STR )ombo0o@ > , LM_("STR 5LatShort $dit0o@ G , LM_("STR )ommas $dit0o@ +, , LM_("STR )hecH0o@ ++ , LM_("STR &ff8" $dit0o@ +; , LM_("STR $dit0o@ +4 , LM_("STR )trl2ld noPrompt $dit0o@ +< , LM_V$"D&R_V7 Related8+4 noPrompt Push0tn +6 , LM_RM_7RIPrmt!ction $dit0o@ +D , LM_("STR PS#rid %+F + LM_("STR_Q3!L J;6 $dit0o@ %+> + LM_("STR_Q3!L )trl2ld noPrompt $dit0o@ %+G + LM_)(_!LL_V7 Related8+> noPrompt Push0tn %;, + LM_RM_7RIPrmt!ction orRule ;+ , #roup0o@ ;; , LM_RM_7R)hecH0o@ ;4 , LM_("STR &ff8" )hecH0o@ ;< , LM_("STR &ff8" )hecH0o@ ;6 , LM_("STR &ff8" )hecH0o@ ;D , LM_("STR &ff8" )hecH0o@ ;F , LM_("STR &ff8" )hecH0o@ ;> , LM_("STR &ff8" )hecH0o@ ;G , LM_("STR &ff8" Com'o1o& +2 2 LM_!NSTR ,LatShort (#m:#B#B 30 0 LM_INSTR 0LatS/#rt $dit0o@ 4+ , LM_("STR )trl2ld noPrompt $dit0o@ 4; , LM_DMT _T*P_V7 Related84+ noPrompt Push0tn 44 , LM_RM_7RIPrmt!ction PS#rid %4< + LM_("STR_2)LT* J;6 $dit0o@ %46 + LM_("STR_2)LT* noPrompt $dit0o@ %4D + LM_("STR_2)LT* )trl2ld noPrompt $dit0o@ %4F + LM_2)LT*_SR) Related84D noPrompt Push0tn %4> + LM_RM_7RIPrmt!ction $dit0o@ %4G + D$R(V$D noPrompt PS#rid %<, + LM_("STR_!T) J;6 no(nsDel MultSel Push0tn %<+ + 2(L$_!TT!) _7RIP)ode $dit0o@ %<; + LM_("STR_!T) $dit0o@ %<4 + LM_("STR_!T) orRule << ,

LM_P$RS&"_T*P$ LM_("STR_ST!T LM_)&ST_T*P$ LM_)&ST )3RR$")*_)D LM_23LL_T(M$_("ST LM_!R$!_&2_$5P$R LM_V$"D&R_(D LM_V$"D&R_D$S)R LM_V"DR_PR&MPT LM_("STR_"&T$S LM_)(_(D LM_)S_L&"#_"M LM_)(_PR&MPT LM_RM_#RP05_L0L LM_M&"D!* LM_T3$SD!* LM_7$D"$SD!* LM_T 3RSD!* LM_2R(D!* LM_S!T3RD!* LM_S3"D!* L N)* )E_CD LM_LAN3_(D1 LM_DMT D_T*P$_(D LM_DM_L&"#_"M LM_DMT D_PR&MPT

ELM_P$RS&"_T*P$ ELM_("STR_ST!T ELM_)&ST_T*P$ CLM_)&ST E)3RR$")*_)D CLM_23LL_T(M$_("ST ELM_!R$!_&2_$5P$R ELM_V$"D&R_(D A"one B 11 CLM_("STR_"&T$S AJ+>,G;K;<B A"one B C)!T!L&#_(T$M ELM_)(_PR&MPT A"one B CLM_("STR_PR$2 ELM_M&"D!* ELM_T3$SD!* ELM_7$D"$SD!* ELM_T 3RSD!* ELM_2R(D!* ELM_S!T3RD!* ELM_S3"D!* 3L N)* )E_CD" CLAN3UA3E_(D CLM_DMT D_T*P$ A"one B 11 AJ+>,G;K4FB

#ray 5LatLong ?ero &n8* ide

(mg0tnE Spell)hH Lvl + ide

(mg0tnE ide &n8* &n8* &n8* &n8* &n8* &n8* &n8*

ide

(mg0tnE Lvl + ide ide

LM_P$RS&"_(D LM_2)LT*_(D LM_2)LT* LM_2)LT*_PR&MPT $D(TT!0L$

A"one B A"one B CLM_2)LT* ELM_2)LT*_PR&MPT A"one B AJ+>,G;K+6B

(mg0tnE ide Lvl + ypLinHE ide ide

!TT!) V($7 LM_!T) !TT!) 3S$R2(L$

C!TT!) V($7 CLM_!T) _D$S)R C!TT!) 3S$R2(L$ A"one B

Push0tn <6 IP)ode Push0tn <D IP)ode SubPage <F LM_L$_S0P

, , ,

2(L$_!TT!) _7R- !TT!) D$L$T$ 2(L$_!TT!) _7R- !TT!) !DD LM_("STR_L$

C!TT!) D$L$T$ C!TT!) !DD 11

Push0tnE Push0tnE EI

P!/e: LM_SES

Description Type !llo' Deferred Proc% &'ner (D )omments

Session Standard Page "o $LM Resource Management Session Field La'el 11 LM_!)T_(D LM_L)_(D LM_!)T_)D LM_("STR_(D LM_ST!RT_DT LM_$"D_DT LM_!)T_ST!T3S LM_)(_(D LM_)S_L&"#_"M LM_0!S_L)_T*P$ LM_L)_L&"#_"M A"one B A"one B A"one B A"one B A"one B A"one B A"one B A"one B A"one B A"one B A"one B 11 LM_S$S_DT LM_SS_2)LT*_D(SP ELM_S$S_DT CLM_SS_2)LT*_D(SP 11 LM_2)LT*_(D LM_2)LT* LM_2)LT*_PR&MPT ELM_2)LT*_(D A"one B 11 11 LM_2)LT*_(D LM_R&&M_(D LM_R&&M_(D LM_R&&M_"0R LM_R&&M_SR) _0T" LM_R&&M_("2&_L("A"one B A"one B ELM_R&&M_(D A"one B CLM_R&&M_SR) _0T" ELM_R&&M_("2&_L("(mg0tnE ypLinHE (mg0tnE EI ide ide ide EI ide ide ide ide ide ide ide ide ide ide ide EI )entury &n8* EI ide

Type !D L/l Record ttri'ute0 SubPage + , LM_P!#$_7RLM_P!#$_ DR_S0P $dit0o@ ; , LM_S$S )trl2ld $dit0o@ 4 , LM_S$S )trl2ld $dit0o@ < , LM_!)T_V7 Related8; noPrompt $dit0o@ 6 , LM_!)T_V7 Related8; noPrompt $dit0o@ D , LM_!)T_V7 Related8; )entury $dit0o@ F , LM_!)T_V7 Related8; )entury $dit0o@ > , LM_!)T_V7 Related8; noPrompt $dit0o@ G , LM_!)T_V7 )trl2ld Related8; noPrompt $dit0o@ +, , LM_)(_!DM("_V7 Related8G noPrompt $dit0o@ ++ , LM_L)_V7 Related84 $dit0o@ +; , LM_L)_V7 Related84 SecPage +4 , LM_("STR_SR) ide $dit0o@ +< , LM_S$S )hecH0o@ +6 , LM_S$S &ff8" SecPage +D , LM_R&&M_SR) ide $dit0o@ +F , LM_S$S )trl2ld noPrompt $dit0o@ +> , LM_2)LT*_SR) Related8+F noPrompt Push0tn +G , LM_RM_7RIPrmt!ction SecPage ;, , LM_R&&M_!DM("_DTL ide $dit0o@ ;+ , LM_RM_R&&M_7RnoPrompt $dit0o@ ;; , LM_RM_R&&M_7RnoPrompt $dit0o@ ;4 , LM_S$S )trl2ld noPrompt $dit0o@ ;< , LM_R&&M_SR) Related8;4 noPrompt Push0tn ;6 , LM_RM_R&&M_7RIP)ode Push0tn ;D , LM_RM_R&&M_7RIP)ode

$dit0o@ ;F , LM_S$S $dit0o@ ;> , LM_S$S $dit0o@ ;G , LM_S$S SubPage 4, , LM_L$L7_7RLM_L$L7_L7)_S0P PS#rid %4+ + LM_S$S_("STR J;6 $dit0o@ %4; + LM_S$S_("STR )trl2ld noPrompt Push0tn %44 + LM_RM_7RIP)ode $dit0o@ %4< + LM_("STR_SR) Related84; noPrompt )ombo0o@ %46 + LM_S$S_("STR LM_R&L$_S &RT )hecH0o@ %4D + LM_S$S_("STR &ff8" PS#rid %4F + LM_S$S_$QP J;6 $dit0o@ %4> + LM_S$S_$QP )trl2ld noPrompt Push0tn %4G + LM_RM_7RIP)ode $dit0o@ %<, + LM_$QP_SR) Related84> noPrompt $dit0o@ %<+ + LM_$QP_SR) Related84> noPrompt $dit0o@ %<; + LM_$QP_SR) Related84> noPrompt orRule <4 , Edit1o& 44 2 LM_ CT_N-TE E$%tB#B DD 0 LM_SES

LM_ST!RT_TM LM_$"D_TM T(M$?&"$

CLM_ST!RT_TM CLM_$"D_TM CST!"D!RD 11 AJ+>,G;K4,B

EI Lvl + ide (mg0tnE

LM_("STR_(D LM_("STR_SR) _0T" LM_"!M$_D(SPL!* LM_R&L$_(D LM_ &ST

A"one B ELM_("STR_SR) _0T" CLM_"!M$_D(SPL!* ELM_("STR_T*P$ C &ST AJ+>,G;K;B

Prompt8 &n8* Lvl + ide (mg0tnE

LM_$QP_(D LM_$QP_SR) _0T" LM_$QP LM_!SS$T_T!# LM_S$R(!L_"0R LM_N-TE LM_NOTE

A"one B ELM_$QP_SR) _0T" CLM_$QP_D$S)R CLM_!SS$T_T!# ELM_S$R(!L_"0R A"one B 5LM_N-TE CLM_NOTE

#ray #ray ide SpellCh6 S+ell(/?

P!/e: LM_SS_INSTR

Description Type !llo' Deferred Proc% &'ner (D )omments .ualificaitons Type !D L/l ttri'ute0 $dit0o@ + , $dit0o@ ; , noPrompt $dit0o@ 4 , noPrompt $dit0o@ < , $dit0o@ 6 , )trl2ld noPrompt $dit0o@ D , Related86 noPrompt #roup0o@ F , )hecH0o@ > , &ff8" )hecH0o@ G , &ff8" )hecH0o@ +, , &ff8" )hecH0o@ ++ , &ff8" )hecH0o@ +; , &ff8" )hecH0o@ +4 , &ff8" )hecH0o@ +< , Record LM_P!#$_7RLM_("STR

(nstructor Table Standard Page *es $LM Resource Management This includes instructors and instructor

Field LM_P!#$_T(TL$ LM_P$RS&"_(D

La'el A"one B A"one B A"one B ELM_!R$!_&2_$5P$R ELM_V$"D&R_(D A"one B CLM_("STR_PR$2 ELM_M&"D!* ELM_T3$SD!* ELM_7$D"$SD!* ELM_T 3RSD!* ELM_2R(D!* ELM_S!T3RD!* ELM_S3"D!* #ray ide #ray ide #ray &n8* &n8* &n8* &n8* &n8* &n8* &n8*

LM_SS_("STR_7R- LM_"!M$_D(SPL!* LM_("STR LM_("STR LM_V$"D&R_V7 LM_RM_7RLM_("STR LM_("STR LM_("STR LM_("STR LM_("STR LM_("STR LM_("STR LM_!R$!_&2_$5P$R LM_V$"D&R_(D LM_V$"D&R_D$S)R LM_RM_#RP05_L0L LM_M&"D!* LM_T3$SD!* LM_7$D"$SD!* LM_T 3RSD!* LM_2R(D!* LM_S!T3RD!* LM_S3"D!*

&ff8" Com'o1o& "# 2 LM_!NSTR (#m:#B#B 15 0 LM_INSTR $dit0o@ +D , LM_("STR )trl2ld noPrompt $dit0o@ +F , LM_DMT _T*P_V7 Related8+D noPrompt Push0tn +> , LM_RM_7RIPrmt!ction PS#rid %+G + LM_("STR_2)LT* JLL $dit0o@ %;, + LM_("STR_2)LT* noPrompt $dit0o@ %;+ + LM_("STR_2)LT* )trl2ld noPrompt Push0tn %;; + LM_RM_7RIPrmt!ction $dit0o@ %;4 + LM_2)LT*_("S_V7 Related8;+ noPrompt $dit0o@ %;< + D$R(V$D PS#rid %;6 + LM_("STR_!T) JLL no3pd(nsDel Push0tn %;D + 2(L$_!TT!) _7RIP)ode $dit0o@ %;F + LM_("STR_!T) $dit0o@ %;> + LM_("STR_!T)

L N)* )E_CD LM_LAN3_(D1 LM_DMT D_T*P$_(D LM_DM_L&"#_"M LM_DMT D_PR&MPT

3L N)* )E_CD" CLAN3UA3E_(D CLM_DMT D_T*P$ A"one B 11 AJ+>,G;K4FB

,LatLon( 0LatL#"4 ide

(mg0tnE Lvl + ide ide (mg0tnE #ray ide Lvl + ypLinHE #ray ide

LM_P$RS&"_(D LM_2)LT*_(D LM_2)LT*_PR&MPT LM_2)LT* $D(TT!0L$ !TT!) V($7 LM_!T) !TT!) 3S$R2(L$

A"one B A"one B ELM_2)LT*_PR&MPT CLM_2)LT*_D$S)R A"one B AJ+>,G;K+6B C!TT!) V($7 CLM_!T) _D$S)R C!TT!) 3S$R2(L$

Co$ponent %nter&ace -etail


Co01o"e"$ I"$er2!ce: CI_HCR_IB_SERVICEDEFN_345
Display "ame )omponent MarHet Description Menu "ame Standard Methods )omments (I_1(R_IB_SER I(EDE-N_858 IB_SER I(EDE-N 3BL 1(M (I %"t# IB Ser*%ce O+ (a"cel (reate -%"$ 3et Sa*e Re5u%re$ 7#r ma++%"4 1(M Ser*%ce) t#

I"te4rat%#" Br#?erE Name Mo'ilePer0i0 F3et,eAG IB_SER I(ENAME F(reate,eA)G IB_SER I(ENAME F-%"$,eA)G IB_SER I(ENAME IB_ALIASNAME APropertiesB IB_SER I(ENAME IB_NAMESPA(E IB_ALIASNAME OB@E(TO!NERID DES(R DES(RLON3 RTN3T2PE_LIMITED IB_OPERATIONNAMEN! CPSSER I(EOPR_ !

Record PSSER I(E

Field IB_SER I(ENAME

Read-nly

PSSER I(E

IB_SER I(ENAME

PSSER I(E PSSER I(E

IB_SER I(ENAME IB_ALIASNAME

PSSER PSSER PSSER PSSER PSSER PSSER PSSER PSSER

I(E I(E I(E I(E I(E I(E I(ES!R, I(ES!R,8

IB_SER I(ENAME 2e) IB_NAMESPA(E IB_ALIASNAME OB@E(TO!NERID DES(R DES(RLON3 RTN3T2PE_LIMITED IB_OPERATIONNAMEN!

IB_OPERATIONNAME RTN3T2PE DES(R_1 A(TI E_-LA3

PSSER PSSER PSSER PSSER

I(EOPR_ I(EOPR_ I(EOPR_ I(EOPR_

! ! ! !

IB_OPERATIONNAME RTN3T2PE DES(R A(TI E_-LA3

2e) 2e) 2e)

Co01o"e"$ I"$er2!ce: CI_HCR_IB_SERVICEOPERATION


Display "ame )omponent MarHet Description Menu "ame Standard Methods )omments (ntegration 0roHer% Name Mo'ilePer0i0 A#et-eyB (0_&P$R!T(&""!M$ A)reate-eysB (0_&P$R!T(&""!M$ A2ind-eysB (0_&P$R!T(&""!M$ APropertiesB (0_ST!T3S_MS# (0_&P$R!T(&""!M$ D$2!3LTV$R RT"#T*P$ (0_3S$RP7DR$Q (0_S$RV()$"!M$ (0_!L(!S"!M$ &0:$)T&7"$R(D D$S)R D$S)RL&"# (0_Q3$3$ST!T3S7RS!V$_P0 Q3$3$"!M$ D$S)R_, !R) (V$ T R3P3TT*P$ &0:$)T&7"$R(D_, R&3T("#D$2""!M$ CPS&PRV$RD2" V$RS(&""!M$ V$RS(&" !)T(V$_2L!# "R_2L!# (0_V!L(D!T(&" (0_$5P&RTST!T3S )L($"T(MPL$M$"T L!ST3PDDTTM L!ST3PD&PR(D &0:$)T&7"$R(D D$S)R D$S)RL&"# D$2!3LT_2L# (0_R3"L&)!LL* (0_(SP30S$RV()$ (0_#R&3P0&5 (0_S$RV("TR&SP$)T (0_R&3T("#_!"* (0_R&3T("#_L&)!L

)(_ )R_(0_S$RV()$&P$R!T(&" (0_S$RV()$ #0L )M )( into (0 Service )ancel )reate 2ind #et Save Re.uired for mapping )M Services to

Record PS&P$R!T(&"

Field (0_&P$R!T(&""!M$

Read-nly

PS&P$R!T(&"

(0_&P$R!T(&""!M$

PS&P$R!T(&"

(0_&P$R!T(&""!M$

(0_M&"(T&R PS&P$R!T(&" PS&P$R!T(&" PS&P$R!T(&" PS&P$R!T(&" PS&P$R!T(&" PS&P$R!T(&" PS&P$R!T(&" PS&P$R!T(&" PS&P$R!T(&" PSS$RV()$S7RPSS$RV()$S7RPSS$RV()$S7RPSS$RV()$S7RPSS$RV()$S7RPSS$RV()$S7RPSS$RV()$S7RPSS$RV()$S7R-; PS&PRV$RD2" PS&PRV$RD2" PS&PRV$RD2" PS&PRV$RD2" PS&PRV$RD2" PS&PRV$RD2" PS&PRV$RD2" PS&PRV$RD2" PS&PRV$RD2" PS&PRV$RD2" PS&PRV$RD2" PS&PRV$RD2" PSS$RV()$S7RPSS$RV()$S7RPSS$RV()$S7RPSS$RV()$S7RPSS$RV()$S7RPSS$RV()$S7RPSS$RV()$S7R-

(0_ST!T3S_MS# (0_&P$R!T(&""!M$ D$2!3LTV$R RT"#T*P$ (0_3S$RP7DR$Q (0_S$RV()$"!M$ (0_!L(!S"!M$ &0:$)T&7"$R(D D$S)R D$S)RL&"# (0_Q3$3$ST!T3S7RS!V$_P0 Q3$3$"!M$ D$S)R !R) (V$ T R3P3TT*P$ &0:$)T&7"$R(D R&3T("#D$2""!M$ V$RS(&""!M$ V$RS(&" !)T(V$_2L!# "R_2L!# (0_V!L(D!T(&" (0_$5P&RTST!T3S )L($"T(MPL$M$"T L!ST3PDDTTM L!ST3PD&PR(D &0:$)T&7"$R(D D$S)R D$S)RL&"# D$2!3LT_2L# (0_R3"L&)!LL* (0_(SP30S$RV()$ (0_#R&3P0&5 (0_S$RV("TR&SP$)T (0_R&3T("#_!"* (0_R&3T("#_L&)!L

*es *es *es *es *es

(0_#RP05L!0$L+, (0_2!3LT_!DD CPS&PRV$RD2"P!RM P!R!M$T$R"!M$ MS#"!M$ (0_MS#V$RS(&" 52RM"!M$ &3T52RM"!M$ Q3$3$"!M$ (0_0D&)T*P$ (0_"$7Q3$3$ (0_V($7Q3$3$ (0_52RMM$SS!#$; (0_52RMM$SS!#$4 (0_M&"(T&R_L("-+ CPS&PR DLR !"DL$R"!M$ (0_ !"DL$R!L(!S !"DL$R(D !"DL$R&7"$R !)T(V$_2L!#_4 S30PR&)_2L!# D$S)R_6 P!)-!#$R&&T Q3!L(2*P!T !PP)L!SS(D (0_ !"DL$RT*P$ D$T!(LS_P0 (0_D$PR_MS# (0_ !"DL$R_) !"#$D CPS&P$R!T(&"!) P!)-!#$R&&T Q3!L(2*P!T !PP)L!SS(D !PP)L!SSM$T &D (0_!PP)L!SSM$T &D CPS(0RT"#D$2"_V7 D$T!(LS_P0 S$L$)T$D_2L!# (0_RT"#D(R$)T(&" V$RS(&""!M$ S$"D$R"&D$"!M$ R$)$(V$R"&D$"!M$ RT"#T*P$ R&3T("#D$2""!M$ $22DT $22_ST!T3S

PSS$RV()$S7RPSS$RV()$S7R-4 PS&PRV$RD2"P!RM PS&PRV$RD2"P!RM PS&PRV$RD2"P!RM PS&PRV$RD2"P!RM PS&PRV$RD2"P!RM PS&PRV$RD2"P!RM PSS$RV()$S7RPSS$RV()$S7RPSS$RV()$S7RPSS$RV()$S7RPSS$RV()$S7R(0_M&"(T&R PS&PR DLR PS&PR DLR PS&PR DLR PS&PR DLR PS&PR DLR PS&PR DLR PS&PR DLR PSS$RV()$S7RPSS$RV()$S7RPSS$RV()$S7RPSS$RV()$S7RPSS$RV()$S7RPSS$RV()$S7RPSS$RV()$S7RPS&P$R!T(&"!) PS&P$R!T(&"!) PS&P$R!T(&"!) PS&P$R!T(&"!) PSS$RV()$S7RPSS$RV()$S7RPSS$RV()$S7RPSS$RV()$S7RPS(0RT"#D$2"_V7 PS(0RT"#D$2"_V7 PS(0RT"#D$2"_V7 PS(0RT"#D$2"_V7 PS(0RT"#D$2"_V7 PS(0RT"#D$2"_V7 PS(0RT"#D$2"_V7

(0_#RP05L!0$L+, (0_2!3LT_!DD P!R!M$T$R"!M$ MS#"!M$ (0_MS#V$RS(&" 52RM"!M$ &3T52RM"!M$ Q3$3$"!M$ (0_0D&)T*P$ (0_"$7Q3$3$ (0_V($7Q3$3$ (0_52RMM$SS!#$; (0_52RMM$SS!#$4 (0_M&"(T&R_L("-+ !"DL$R"!M$ (0_ !"DL$R!L(!S *es !"DL$R(D !"DL$R&7"$R !)T(V$_2L!# S30PR&)_2L!# *es D$S)R P!)-!#$R&&T Q3!L(2*P!T !PP)L!SS(D (0_ !"DL$RT*P$ D$T!(LS_P0 (0_D$PR_MS# *es (0_ !"DL$R_) !"#$D P!)-!#$R&&T Q3!L(2*P!T !PP)L!SS(D !PP)L!SSM$T &D (0_!PP)L!SSM$T &D D$T!(LS_P0 S$L$)T$D_2L!# (0_RT"#D(R$)T(&" V$RS(&""!M$ S$"D$R"&D$"!M$ R$)$(V$R"&D$"!M$ RT"#T*P$ R&3T("#D$2""!M$ $22DT $22_ST!T3S

Co01o"e"$ I"$er2!ce: HRS_IB_SERVICEDEFN_345


Display "ame )omponent MarHet Description Menu "ame Standard Methods )omments )er*%ce) :A t/e Recru%t%"4 S# 1RS_IB_SER I(EDE-N_858 IB_SER I(EDE-N 3BL T##l) IB Ser*%ce De7" (a"cel (reate -%"$ 3et Sa*e T/%) (I %) u)e$ t# $A"am%callA create lut%#") O+e" I"te4rat%#" -rame&#r? Record PSSER I(E Field IB_SER I(ENAME Read-nly

Name Mo'ilePer0i0 F3et,eAG IB_SER I(ENAME F(reate,eA)G

IB_SER I(ENAME F-%"$,eA)G IB_SER I(ENAME IB_ALIASNAME APropertiesB IB_SER I(ENAME IB_NAMESPA(E IB_ALIASNAME OB@E(TO!NERID DES(R RTN3T2PE_LIMITED IB_OPERATIONNAMEN! CPSSER I(EOPR_ ! RTN3T2PE DES(R_1 A(TI E_-LA3

PSSER I(E

IB_SER I(ENAME

PSSER I(E PSSER I(E

IB_SER I(ENAME IB_ALIASNAME

PSSER PSSER PSSER PSSER PSSER PSSER PSSER

I(E I(E I(E I(E I(E I(ES!R, I(ES!R,8

IB_SER I(ENAME 2e) IB_NAMESPA(E IB_ALIASNAME OB@E(TO!NERID DES(R RTN3T2PE_LIMITED IB_OPERATIONNAMEN! 2e) 2e) 2e)

PSSER I(EOPR_ ! RTN3T2PE PSSER I(EOPR_ ! DES(R PSSER I(EOPR_ ! A(TI E_-LA3

Co01o"e"$ I"$er2!ce: HRS_IB_SERVICE_345


Display "ame )omponent MarHet Description Menu "ame Standard Methods

1RS_IB_SER I(E_858 IB_SER I(E 3BL T##l) IB Ser*%ce (a"cel (reate -%"$ 3et Sa*e Record PSOPERATION Field IB_OPERATIONNAME Read-nly

Name Mo'ilePer0i0 F3et,eAG IB_OPERATIONNAME F(reate,eA)G IB_OPERATIONNAME F-%"$,eA)G IB_OPERATIONNAME APropertiesB IB_OPERATIONNAME DE-AULT ER RTN3T2PE IB_USERP!DRE' IB_SER I(ENAME IB_ALIASNAME OB@E(TO!NERID DES(R IB_'UEUESTATUS!R, 'UEUENAME DES(R_0 AR(1I E T1RUPUTT2PE OB@E(TO!NERID_0 ROUTIN3DE-NNAME CPSSR 'UEUE_ ! ERSIONNAME CPS'UEUE-LD_ ! -IELDNAME SELE(TED_-LA3 CPSRTN3D-NPARM PARAMETERNAME IB_BDO(T2PE CPSRTN3D-N(ONPRP PROPNAME

PSOPERATION

IB_OPERATIONNAME

PSOPERATION

IB_OPERATIONNAME

PSOPERATION PSOPERATION PSOPERATION PSOPERATION PSOPERATION PSOPERATION PSOPERATION PSOPERATION PSSER I(ES!R, PSSER I(ES!R, PSSER I(ES!R, PSSER I(ES!R, PSSER I(ES!R, PSSER I(ES!R, PSSER I(ES!R,8 PSSR 'UEUE_ ! PS'UEUE-LD_ ! PS'UEUE-LD_ ! PSRTN3D-NPARM PSSER I(ES!R,

IB_OPERATIONNAME DE-AULT ER RTN3T2PE IB_USERP!DRE' IB_SER I(ENAME IB_ALIASNAME OB@E(TO!NERID DES(R IB_'UEUESTATUS!R, 'UEUENAME DES(R AR(1I E T1RUPUTT2PE OB@E(TO!NERID ROUTIN3DE-NNAME ERSIONNAME -IELDNAME SELE(TED_-LA3 PARAMETERNAME IB_BDO(T2PE

2e)

2e) 2e)

PSRTN3D-N(ONPRP PROPNAME

CPSOPR ERD-N ERSIONNAME_1 A(TI E_-LA3 NR_-LA3 IB_ ALIDATION DES(R_1 DE-AULT_-L3 IB_RUNLO(ALL2 IB_ISPUBSER I(E IB_ROUTIN3_AN2 IB_ROUTIN3_LO(AL CPSOPR ERD-NPARM 'UEUENAME_1 IB_BDO(T2PE_1 IB_0-RMMESSA3E8 CPSOPR3ENRT3PARM ROUTIN3DE-NNAME_1 CPSOPERATION_ ! A(TI E_-LA3_1 DES(R_3 CPSOPR1DLR 1ANDLERNAME IB_1ANDLERALIAS 1ANDLERID 1ANDLERO!NER A(TI E_-LA3_3 SUBPRO(_-LA3 DES(R_5 IB_1ANDLERT2PE IB_DEPR_MS3 CPSOPERATIONA( PA(,A3EROOT 'UALI-2PAT1 APP(LASSID IB_APP(LASSMET1OD CPSOPERATION(I B(NAME IB_A(TION!R, CPSIBRTN3DE-N_ ! SELE(TED_-LA3_1 IB_RTN3DIRE(TION ERSIONNAME_3 SENDERNODENAME RE(EI ERNODENAME RTN3T2PE_1 E--_STATUS

PSOPR PSOPR PSOPR PSOPR PSOPR PSSER PSSER PSSER PSSER PSSER

ERD-N ERD-N ERD-N ERD-N ERD-N I(ES!R, I(ES!R, I(ES!R, I(ES!R, I(ES!R,

ERSIONNAME A(TI E_-LA3 NR_-LA3 IB_ ALIDATION DES(R DE-AULT_-L3 IB_RUNLO(ALL2 IB_ISPUBSER I(E IB_ROUTIN3_AN2 IB_ROUTIN3_LO(AL

2e) 2e)

PSOPR ERD-NPARM 'UEUENAME PSSER I(ES!R, IB_BDO(T2PE PSSER I(ES!R, IB_0-RMMESSA3E8 PSOPR3ENRT3PARM ROUTIN3DE-NNAME PSOPERATION_ ! PSOPERATION_ ! PSOPR1DLR PSOPR1DLR PSOPR1DLR PSOPR1DLR PSOPR1DLR PSOPR1DLR PSOPR1DLR PSSER I(ES!R, PSSER I(ES!R, PSOPERATIONA( PSOPERATIONA( PSOPERATIONA( PSSER I(ES!R, PSOPERATION(I PSSER I(ES!R, PSSER I(ES!R, PSSER I(ES!R, PSIBRTN3DE-N_ PSIBRTN3DE-N_ PSIBRTN3DE-N_ PSIBRTN3DE-N_ PSIBRTN3DE-N_ A(TI E_-LA3 DES(R 1ANDLERNAME IB_1ANDLERALIAS 1ANDLERID 1ANDLERO!NER A(TI E_-LA3 SUBPRO(_-LA3 DES(R IB_1ANDLERT2PE IB_DEPR_MS3 PA(,A3EROOT 'UALI-2PAT1 APP(LASSID IB_APP(LASSMET1OD B(NAME IB_A(TION!R, SELE(TED_-LA3 IB_RTN3DIRE(TION ERSIONNAME SENDERNODENAME RE(EI ERNODENAME RTN3T2PE E--_STATUS 2e) 2e) 2e) 2e) 2e) 2e) 2e) 2e) 2e) 2e)

2e) 2e)

! ! ! ! !

Message Catalog -etail


Me##!/e C!$! o/ E"$r6: ELM E"ro 0e"$
Severity Msg Te@t act%*%tA e"$ $ate $@planation Me))a4e E"r#llme"t ca""#t :e +r#ce))e$ a7ter t/e #r a7ter t/e La)t E"r#llme"t $ate %7 %t "$ $ateE

13(3'7 18'

c#me) :e7#re t/e act%*%tA e

Me##!/e C!$! o/ E"$r6: ELM Cer$i2ic!$io"


Severity

Err#r

13('97 414

Msg Te@t T/e )electe$ +r#4ram /a) a "e)te$ +r#4ram a"$ ca""#t :e u)e$ %" +r#4ram )ect%#" #7 curre"t +r#4ramE $@planation Plea)e )elect a"#t/er +r#4ramE

!"# -etail
SQL: LM_ACT_LRNPDMAIN S$e15( D
!ppl$ng Section Step !ction MarHet LM_!)T_LR"PD M!(" Step;, Do Select #0L

A11 E"/

S7L Statement /SelectMLM_!)T_(DK LM_P$RS&"_(DK LM_!)T_)DK LM_)(_(DK LM_LR"_PD_D!*SK LM_7R"_PD_D!*SK LM_$"D_DTK LM_)S_L&"#_"MN S$L$)T !%LM_!)T_(DK !%LM_P$RS&"_(DK 0%LM_!)T_)DK !%LM_)(_(DK 0%LM_LR"_PD_D!*SK 0%LM_7R"_PD_D!*SK /Date&utM/Date!ddM/)urrentDate(nK LM_7R"_PD_D!*SNNK )%LM_)S_L&"#_"M 2R&M PS_LM_$"RLMT_V7 !K PS_LM_!)T 0K PS_LM_)(_!LL_V7 ) 7 $R$ !%LM_!)T_(D O 0%LM_!)T_(D !"D !%LM_STTS (" M1(")&1K 1("P&1K 1$"RL1N !"D 0%LM_!)T_ST!T3S (" M1+1K 141N !"D 0%LM_LR"_PD_D!*S I , !"D 0%LM_7R"_PD_D!*S I , ND 8LM_ENRL_DT 9 :Date dd;:CurrentDate!n< 18LM_%RN_PD_D =S 3 18LM_LRN_PD_D =S> AND HHAELM_ENRL_DT I .DateA$$H.(urre"tDateI"J BELM_!RN_PD_DA2S = BELM_LRN_PD_DA2SK AND HBELM_END_DT IS NULL OR BELM_END_DT LI .DateA$$HAELM_ENRL_DTJ BELM_LRN_PD_DA2SKKK OR HBELM_END_DT IS NOT NULL AND BELM_END_DT M .DateA$$HAELM_ENRL_DTJ BELM_LRN_PD_DA2SK AND HBELM_END_DT I .DateA$$H.(urre"tDateI"J BELM_!RN_PD_DA2SKKKK !"D !%LM_$"RL_DT IO 0%LM_ST!RT_DT !"D !%LM_)(_(D O )%LM_)(_(D !"D /)urrentDate(n 0$T7$$" )%$22DT !"D )%LM_$"D_$22DT

SQL: LM_ENRL_ADM1_VW
S7L Statement

Vie:

SELE(T DISTIN(T AELM_PERSON_IDJ AEE--DTJ (ASE !1EN AELM_A(TI E I N2N T1EN NAN ELSE NIN ENDJ

BELAST_NAME_SR(/J BE-IRST_NAME_SR(1J BENAMEJ BELM_NAME_DISPLA2 -ROM PS_LM_PERSON_@OB AJ PS_LM_PERSON_NAME B !1ERE AELM_PERSON_ID I :Elm_+er)#"_%$ AND HHBELM_NAME_T2PE I NPR-NK OR HBELM_NAME_T2PE I NPRIN AND NOT E0ISTS HSELE(T LM_NAME_T2PE -ROM PS_LM_PERSON_NAME !1ERE LM_PERSON_ID I BELM_PERSON_ID AND LM_NAME_T2PE I NPR-NKKK AND AELM_E--SE' I HSELE(T MA0HLM_E--SE'K -ROM PS_LM_PERSON_@OB A1 !1ERE A1ELM_PERSON_ID I AELM_PERSON_ID AND A1ELM_EMPL_R(D I AELM_EMPL_R(D AND A1EE--DT I AEE--DTK

SQL: LM_INSTR_P_VW

Vie:

S7L Statement S$L$)T D%LM_P$RS&"_(DK D%LM_("STR_ST!TK $%"!M$K $%LM_"!M$_D(SPL!*K $%L!ST_"!M$_SR) K $%2(RST_"!M$_SR) K D8L N)* )E_CD< DELM_LAN3_(D1J D%LM_V$"D&R_(DK D%LM_)&STK D%)3RR$")*_)DK D%LM_)&ST_T*P$K !%LM_)(_(DK 0%LM_S$S_DT 2R&M PS_LM_!)T !K PS_LM_S$S 0K PS_LM_S$S_("STR )K PS_LM_("STR DK PS_LM_P$RS_"!M$_V7 $ 7 $R$ 0%LM_!)T_(D O !%LM_!)T_(D !"D )%LM_!)T_(D O !%LM_!)T_(D !"D )%LM_S$S_(D O 0%LM_S$S_(D !"D )%LM_("STR_(D (" MS$L$)T D(ST(")T M))%LM_("STR_(DN 2R&M PS_LM_S$S_("STR )) 7 $R$ ))%LM_!)T_(D O !%LM_!)T_(D !"D ))%LM_S$S_(D O 0%LM_S$S_(DN !"D D%LM_P$RS&"_(D O )%LM_("STR_(D !"D $%LM_P$RS&"_(D O )%LM_("STR_(D

SQL: LM_INSTR_QL_VW
S7L Statement S$L$)T $%&PR(DK !%LM_P$RS&"_(DK !%LM_("STR_ST!TK 0%"!M$K 0%LM_"!M$_D(SPL!*K 0%L!ST_"!M$_SR) K 0%2(RST_"!M$_SR) K 8L N)* )E_CD<

Vie:

2R&M

7 $R$ !"D !"D !"D

AELM_LAN3_(D1J !%LM_V$"D&R_(DK !%LM_)&STK !%)3RR$")*_)DK !%LM_)&ST_T*P$K )%LM_)(_(D PS_LM_("STR !K PS_LM_P$RS_"!M$_V7 0K PS_LM_("STR_Q3!L )K PS_LM_("STR_L$ DK PS_LM_&PR(D_L$_V7 $ !%LM_P$RS&"_(D O 0%LM_P$RS&"_(D !%LM_P$RS&"_(D O )%LM_P$RS&"_(D !%LM_P$RS&"_(D O D%LM_P$RS&"_(D D%LM_L$_(D O $%LM_L$_(D

SQL: LM_INSTR_RSL_VW
S7L Statement S$L$)T D%&PR(DK !%LM_P$RS&"_(DK !%LM_("STR_ST!TK 0%"!M$K 0%L!ST_"!M$_SR) K 0%2(RST_"!M$_SR) K 8L N)* )E_CD< AELM_LAN3_(D1J !%LM_V$"D&R_(DK !%LM_)&STK !%)3RR$")*_)DK !%LM_)&ST_T*P$K 0%LM_"!M$_D(SPL!* 2R&M PS_LM_("STR !K PS_LM_P$RS_"!M$_V7 0K PS_LM_("STR_L$ )K PS_LM_&PR(D_L$_V7 D 7 $R$ !%LM_P$RS&"_(D O 0%LM_P$RS&"_(D !"D !%LM_P$RS&"_(D O )%LM_P$RS&"_(D !"D )%LM_L$_(D O D%LM_L$_(D

Vie:

SQL: LM_INSTR_VW
S7L Statement S$L$)T !%LM_P$RS&"_(DK !%LM_("STR_ST!TK !%LM_M&"D!*K !%LM_T3$SD!*K !%LM_7$D"$SD!*K !%LM_T 3RSD!*K !%LM_2R(D!*K !%LM_S!T3RD!*K !%LM_S3"D!*K 8L N)* )E_CD< AELM_LAN3_(D1J !%LM_DMT D_T*P$_(DK !%LM_V$"D&R_(DK !%LM_)&STK !%)3RR$")*_)DK !%LM_)&ST_T*P$K !%LM_!R$!_&2_$5P$RK !%LM_("STR_"&T$SK /subrecMLM_("S_2R!_S0RK !N

Vie:

2R&M

PS_LM_("STR !

SQL: LM_LRQ_CT_CI_VW

Vie:

S7L Statement S$L$)T ,K !%LM_)!T#_(DK !%LM_T(TL$K )%LM_)S_L&"#_"MK !%LM_LRQ_M$T &DK !%LM_S$!T_R$Q 2R&M PS_LM_LR"_R$Q !K PS_LM_)!T#_T0L ) 7 $R$ !%LM_)!T#_(D O )%LM_)!T#_(D !"D !%LM_LRQ_ST!T3S (" M1+1K 141N 3"(&" S$L$)T !;%LM_)(_(DK ,K !;%LM_T(TL$K );%LM_)S_L&"#_"MK !;%LM_LRQ_M$T &DK !;%LM_S$!T_R$Q 2R&M PS_LM_LR"_R$Q !;K PS_LM_)(_T0L ); 7 $R$ !;%LM_)(_(D O );%LM_)(_(D !"D !;%LM_LRQ_ST!T3S (" M1+1K 141N !"D /)urrentDate(n 0$T7$$" );%$22DT !"D );%LM_$"D_$22DT !"D );%LM_)(_ST!T3S O 1+,1

SQL: LM_LRQ_VW_LANG
S7L Statement

Vie:

SELE(T 0J BELM_(AT3_IDJ BELAN3UA3E_(DJ BELM_(S_LON3_NMJ (ELM_TITLE -ROM PS_LM_LRN_RE' AJ PS_LM_(AT3_LAN3 BJ PS_LM_LRN_RE'_LAN3 ( !1ERE AELM_(AT3_ID I BELM_(AT3_ID AND AELM_LR'_ID I (ELM_LR'_ID AND BELAN3UA3E_(D I (ELAN3UA3E_(D UNION SELE(T A8ELM_(I_IDJ 0J L1ELAN3UA3E_(DJ A8ELM_TITLEJ (8ELM_(S_LON3_NM -ROM PS_LM_LRN_RE' A8J PS_LM_(I_TBL (8J PS_LM_LRN_RE'_LAN3 L1J PS_LM_(I_LAN3 L8 !1ERE A8ELM_(I_ID I (8ELM_(I_ID AND A8ELM_LR'_ID I L1ELM_LR'_ID AND (8ELM_(I_ID I L8ELM_(I_ID AND L1ELAN3UA3E_(D I L8ELAN3UA3E_(D AND A8ELM_LR'_STATUS IN HN1NJ N3NK AND .(urre"tDateI" BET!EEN (8EE--DT AND (8ELM_END_E--DT AND (8ELM_(I_STATUS I N10N

SQL: LM_PERS_PROF_VW
S7L Statement S$L$)T )%$MPL(DK $%$22DTK 0%LM_:P_T*P$K !%LM_RL!T_"!M$K !%LM_RL!T_-$*+K )%LM_PR&2(L$_(DK D%LM_)!T_T*P$K $%LM_)!T_(T$M_(DK $%LM_)!T_(T$M_Q3!LK $%LM_R!T("#_M&D$LK $%LM_R$V($7_R!T("# 2R&M PS_LM_PR&2_RV!L !K PS_LM_:P_T*P$S 0K PS_LM_PR&2(L$S )K PS_LM_PR&2(L$_)!T DK PS_LM_PR&2(L$_(T$M $ 7 $R$ !%LM_PR&2(L$_(D O )%LM_PR&2(L$_(D !"D !%LM_PR&2(L$_(D O D%LM_PR&2(L$_(D !"D !%LM_PR&2(L$_(D O $%LM_PR&2(L$_(D !"D 0%LM_:P_T*P$ O )%LM_:P_T*P$ !"D D%LM_)!T_T*P$ O $%LM_)!T_T*P$ !"D 0%LM_PR&2(L$_3S!#$ O 1P1 AND BEE--DT I HSELE(T MA0H-EE--DTK -ROM PS_LM_@P_T2PES !1ERE BELM_@P_T2PE I -ELM_@P_T2PE AND -EE--DT MI .(urre"tDateI"K

Vie:

SQL: LM_TU_ORG_LG_VW

Vie:

S7L Statement S$L$)T D%LM_T3_P&&L_(DK (ELM_OR3ANI9ATION_IDJ !%L!"#3!#$_)DK D%LM_T3_P&&L_"!M$K )%LM_&R#_D$S)RK !%LM_T3_P&&L_D$S)R 2R&M PS_LM_T3_P&&L_L!"# !K PS_LM_T3_P&&L_T0L DK PS_LM_M&P_&7"R_T0L 0K PS_LM_&R#_L!"# )K PS_LM_&R#!"(?!T(&" $ 7 $R$ !%LM_T3_P&&L_(D O 0%LM_M&P_(D !"D !%LM_T3_P&&L_(D O D%LM_T3_P&&L_(D !"D 0%LM_M&P_&7"$R_(D O )%LM_&R#!"(?!T(&"_(D !"D !%L!"#3!#$_)D O )%L!"#3!#$_)D !"D )%LM_&R#!"(?!T(&"_(D O $%LM_&R#!"(?!T(&"_(D !"D )%$22DT O $%$22DT !"D /)urrentDate(n 0$T7$$" $%$22DT !"D $%LM_$"D_$22DT !"D 0%LM_M&P_T*P$ O 1T3P1 !"D 0%LM_M&P_&7"$R_T*P$ O 1&R#1

SQL: LM_TU_ORG_VW
S7L Statement

Vie:

S$L$)T !%LM_T3_P&&L_(DK )%LM_&R#!"(?!T(&"_(DK !%LM_T3_P&&L_"!M$K )%LM_&R#_D$S)RK !%LM_T3_P&&L_D$S)RK !%)3RR$")*_)DK !%LM_) !RT2LD_T*P$K !%LM_) !RT2LD_V!LK !%LM_&7"$R_(DK /subrecMLM_R&7!3D(T_S0RK !N 2R&M PS_LM_T3_P&&L_T0L !K PS_LM_M&P_&7"R_T0L 0K PS_LM_&R#!"(?!T(&" ) 7 $R$ !%LM_T3_P&&L_(D O 0%LM_M&P_(D !"D 0%LM_M&P_&7"$R_(D O )%LM_&R#!"(?!T(&"_(D AND (EE--DT I HSELE(T MA0HDEE--DTK -ROM PS_LM_OR3ANI9ATION D !1ERE DELM_OR3ANI9ATION_ID I (ELM_OR3ANI9ATION_ID AND DEE--DT MI .(urre"tDateI"K !"D 0%LM_M&P_T*P$ O 1T3P1 !"D 0%LM_M&P_&7"$R_T*P$ O 1&R#1

PeopleCode -etail
Peo1 eCode &Record*: LM_DMTHD_TBL;EFFDT;Fie dC<!"/e
6<Re)#lut%#" 891190 O a$$e$ c#"$%t%#" t# )et e77$t <6 L#cal $ate P$ummAQ P$ummA I LM_DMT1D_TBLEE--DTE alueQ LM_DMT1D_TBLEE--DTE alue I P$ummAQ 6<Re)#lut%#" 891190 O a$$e$ c#"$%t%#" t# )et e77$t <6

Peo1 eCode &Record*: LM_PRG_PG_WR,;LM_PRQ_DTL;Fie dC<!"/e


$valuate LM_PR#_PRQ_P_V7%LM_PRQ_&0:_T*P$%Value 7hen P+,P 9L)atalog (temL9 LM_(TM_3(_7R-%LM_)(_(D%Value O LM_PR#_PRQ_P_V7%LM_&0:_(D%ValueQ DoModal)omponentMMenu"ame%LM_SS_L$!R"("#K 0ar"ame%3S$K (tem"ame%LM_SS_L$!R"("#_3(K Page%LM_L$!R"_(TM_DTLK P3PK Record%LM_(TM_3(_7R-NQ 0reaHQ 7hen P;,P 9L&b=ectiveL9 SQL$@ecMPS$L$)T LM_&0:V_)D 2R&M PS_LM_&0:V_V7 7 $R$ LM_&0:V_(DOP R LM_PR#_PRQ_P_V7%LM_&0:_(DK LM_&0:V_DTL_7R-%LM_&0:V_)D%ValueNQ LM_&0:V_DTL_7R-%LM_&0:V_(D%Value O LM_PR#_PRQ_P_V7%LM_&0:_(D%ValueQ LM_&0:V_DTL_7R-%LM_&0:V_D(SP_)(%Value O P*PQ DoModal)omponentMMenu"ame%LM_L$!R"("#_&0:$)T(V$SK 0ar"ame%S !R$DK (tem"ame%LM_&0:V_DTLK Page%LM_&0:V_DTLK P3PK Record%LM_&0:V_DTL_7R-NQ 0reaHQ 7hen P4,P 9LProgramL9 LM_PR#_TR"_7R-%LM_PR#_(D%Value O LM_PR#_PRQ_P_V7%LM_&0:_(D%ValueQ LM_PR#_TR"_7R-%$22DT%Value O /DateQ 6<Start= (#$e a$$e$ t# 7%B t/e Prere5E %))ue %" t/e Re)#lut%#"R889658<6 I7 .(#m+#"e"t I (#m+#"e"tELM_RE3 A"$ N#"eHLM_PR3_TRN_!R,ELM_PERSON_IDE alueK T/e" LM_PR3_TRN_!R,ELM_PERSON_IDE alue I LM_PER_PR3_IN-OELM_PERSON_IDE alueQ E"$=I7Q 6<E"$= (#$e a$$e$ t# 7%B t/e Prere5E %))ue %" t/e Re)#lut%#"R889658<6 DoModal)omponentMMenu"ame%LM_)3RR()3L3MK 0ar"ame%3S$K (tem"ame%LM_PR#_DTLS_$SSK

Page%LM_PR#_S3MM_P#K P3PK Record%LM_PR#_TR"_7R-NQ 0reaHQ $ndE$valuateQ

Peo1 eCode &Co01I"$er2*: HRS_IB_SERVICE_345;Me$<od#


Declare -u"ct%#" Sa*ePr#ce))%"4 Pe#+le(#$e PSSER I(ES!R,ESA E_PB -%el$(/a"4eQ -u"ct%#" I"*#?eSa*ePr#ce))%"4 Retur") )tr%"4 Retur" Sa*ePr#ce))%"4HKQ E"$=-u"ct%#"Q

Peo1 eCode &P!/e*: LM_ACT_PROG;Ac$i=!$e


import import import import import import import import import import import import

L$RM_S$SS(&"8DisplaySessionsQ L$$_$"R&LLM$"T8L$$_!)T_D$T!(LSQ L$0L_3T(L(T($S8LQ L$0L_!)T(V(T*8LQ L$L&_L$!R"("#_&0:$)T(V$S8&b=ectivesPageSetupQ L$$)M"_P!*M$"T_3(_3T(L(T*8LM_P*MT_DTLS_3T(L(T*Q L$0&_)&MM&"8Date2ormatQ LM_$"RLMT_!TTR08LM_!)T_$"RLMT_0$!"Q LM_3T(L(T($S8LQ L$0&_P$RS&"8Person)lassQ L$$_$"R&LLM$"T8L$$_3T(L(T*Q RS_ R&(_)!L$"D!R83til8)alendar_3tilityQ

#lobal string Sstr_!ctPrg_gblQ #lobal boolean SmanagerQ 9L>>D>>6L9

)omponent L$$_$"R&LLM$"T8L$$_!)T_D$T!(LS SactDetailsQ )omponent LM_$"RLMT_!TTR08LM_!)T_$"RLMT_0$!" Scls_c$nrlmt0eanQ )omponent boolean Sbol_(sLaunchableQ )omponent 2ield Sc_fld_Tab_"avigationQ Local 2ield SfldQ Local Ro'set S5latQ Local date S)urrdtK Sdt_targetQ Local string Sstr_page O PLM_!)T_PR&#PQ Local L$0&_P$RS&"8Person)lass SinstructorPersonQ Local string S(nValuesK ScodeinK SDesc(nK Sstr_target)mplDtK Sinstructor"ameQ Local number Snbr_LoginPers(DK Sinstructor(dK S@lat_cntK SiK S!)T_(DQ Local L$0L_3T(L(T($S83tility Sutil&b= O create L$0L_3T(L(T($S83tilityMNQ Local L$L&_L$!R"("#_&0:$)T(V$S8&b=ectivesPageSetup Scls_&b=v O create L$L&_L$!R"("#_&0:$)T(V$S8&b=ectivesPageSetupMNQ Local L$$)M"_P!*M$"T_3(_3T(L(T*8LM_P*MT_DTLS_3T(L(T* Sl3(3tility O create L$$)M"_P!*M$"T_3(_3T(L(T*8LM_P*MT_DTLS_3T(L(T*MNQ Local L$$_$"R&LLM$"T8L$$_3T(L(T* SutilityQ Sutility O create L$$_$"R&LLM$"T8L$$_3T(L(T*MNQ Local string Sprev)omponent O Sutility%getLast)omp2rom)acheMNQ LM_)&"2_$RR_MS#%LM_$RR_MS#%Visible O 2alseQ

9L #et the Date 2ormat String for the 3sers PersonaliTations L9 Local L$0&_)&MM&"8Date2ormat SDate2ormat O create L$0&_)&MM&"8Date2ormatMNQ Local string Sstr_Date2ormat O SDate2ormat%2ormatDateStringMNQ 9L Set Transaction Title L9 Local LM_3T(L(T($S8$LMTe@t)atalog Sc_ob=_Te@t)atalog O create LM_3T(L(T($S8$LMTe@t)atalogMNQ LM_P!#$_7R-%LM_TR!"S!)T_T(TL$ O Sc_ob=_Te@t)atalog%getTe@tMPLM_!)T_PR&#R$SSPK PPK PPK PPK PPK PPNQ 9L Set &riginal )omponent if not from Manager L9 (f "oneMLM_$"RLMT_7R-%LM_!)T_(DN Then LM_$"RLMT_7R-%LM_)&MP_&R(#%Value O PLM_SS_L$!R"("#_3(PQ $ndE(fQ 9L #et !ctivity9$nrollment Details L9 SQL$@ecMPS$L$)T LM_$"RLMT_(DK LM_)(_(DK LM_!)T_(DK LM_P$RS&"_(DK LM_STTS 2R&M PS_LM_!)T_PR#_V7 7 $R$ LM_$"RLMT_(DO8+PK LM_SS_!)T_V7%LM_$"RLMT_(D%ValueK LM_$"RLMT_7R-%LM_$"RLMT_(D%ValueK LM_(TM_3(_7R-%LM_)(_(D%ValueK LM_$"RLMT_7R-%LM_!)T_(D%ValueK LM_$"RLMT_7R-%LM_P$RS&"_(D%ValueK LM_!)T_3(_7R-%LM_STTS%ValueNQ S!)T_(D O LM_$"RLMT_7R-%LM_!)T_(DQ 9L Paint the !ctivity eader L9 SactDetails O create L$$_$"R&LLM$"T8L$$_!)T_D$T!(LSMNQ SactDetails%set!ctivity(dMLM_$"RLMT_7R-%LM_!)T_(D%ValueNQ SactDetails%setPerson(dMLM_$"RLMT_7R-%LM_P$RS&"_(D%ValueNQ SactDetails%set$nrlmnt(dMLM_SS_!)T_V7%LM_$"RLMT_(D%ValueNQ SactDetails%paint!ctivity eaderMNQ LM_$"RL_!)T_V7%LM_$"RLMT_(D%Value O LM_$"RLMT_7R-%LM_$"RLMT_(D%ValueQ 9L Set page title 'ith results from paint!ctivity eader L9 LM_P!#$_7R-%LM_P!#$_T(TL$ O LM_$"RL_!)T_V7%LM_!)T_"!M$%ValueQ 9L (nitialiTe Tabs L9 Scls_c$nrlmt0ean O create LM_$"RLMT_!TTR08LM_!)T_$"RLMT_0$!"MLM_$"RLMT_7R-%LM_$"RLMT_(D%ValueNQ 9LL #et learner enrollment status% L9 Local string Sstr_LearnerStatus O LM_$"RL_!)T_V7%LM_STTS%ValueQ Local L$0L_!)T(V(T*8LoadSubTabs Scls_LoadSubTabs O create L$0L_!)T(V(T*8LoadSubTabsMNQ Scls_LoadSubTabs%(nitialiTeSubTabsMPLM_!)T_PR&#PNQ S)urrdt O /DateQ 9L #et !ctivity Details L9 Local Ro'set Srs_!ctV' O )reateRo'setMRecord%LM_!)T_V7NQ Srs_!ctV'%2illMP7 $R$ LM_!)T_(DO8+PK LM_$"RLMT_7R-%LM_!)T_(D%ValueNQ LM_(TM_3(_7R-%LM_)(_(D%Value O Srs_!ctV'M+N%LM_!)T_V7%LM_)(_(D%ValueQ 9L Populate the (nstructor "ame L9 Sinstructor(d O Srs_!ctV'M+N%LM_!)T_V7%LM_("STR_(D%ValueQ LM_)!T_3(_7R-%LM_("STR_"!M$%Visible O 2alseQ (f !llMSinstructor(dN Then SinstructorPerson O create L$0&_P$RS&"8Person)lassMSinstructor(dNQ SinstructorPerson%getPersonDetailsMNQ Sinstructor"ame O SinstructorPerson%Display"ameQ LM_)!T_3(_7R-%LM_("STR_"!M$%Visible O TrueQ LM_)!T_3(_7R-%LM_("STR_"!M$%Value O Sinstructor"ameQ $lse Local Ro'set SrsSessionsQ SrsSessions O )reateRo'setMRecord%LM_S$S_("STRNQ SrsSessions%2illMP7 $R$ LM_!)T_(D O 8+ !"D LM_R&L$_(D O DPK

LM_$"RLMT_7R-%LM_!)T_(D%ValueNQ (f !llMSrsSessionsN Then (f !llMSrsSessionsM+N%LM_S$S_("STR%LM_!)T_(D%ValueN Then Sinstructor(d O SrsSessionsM+N%LM_S$S_("STR%LM_("STR_(D%ValueQ $lse SrsSessions%2illMP7 $R$ LM_!)T_(D O 8+PK LM_$"RLMT_7R-%LM_!)T_(D%ValueNQ (f !llMSrsSessionsN Then Sinstructor(d O SrsSessionsM+N%LM_S$S_("STR%LM_("STR_(D%ValueQ $ndE(fQ $ndE(fQ $lse SrsSessions%2illMP7 $R$ LM_!)T_(D O 8+PK LM_$"RLMT_7R-%LM_!)T_(D%ValueNQ (f !llMSrsSessionsN Then Sinstructor(d O SrsSessionsM+N%LM_S$S_("STR%LM_("STR_(D%ValueQ $ndE(fQ $ndE(fQ (f !llMSinstructor(dN Then SinstructorPerson O create L$0&_P$RS&"8Person)lassMSinstructor(dNQ SinstructorPerson%getPersonDetailsMNQ Sinstructor"ame O SinstructorPerson%Display"ameQ LM_)!T_3(_7R-%LM_("STR_"!M$%Visible O TrueQ LM_)!T_3(_7R-%LM_("STR_"!M$%Value O Sinstructor"ameQ $ndE(fQ $ndE(fQ 9L )ompletion Details L9 Local Ro'set Srs_enr_bl_v'Q Srs_enr_bl_v' O #etRo'setMScroll%LM_$"R_0L_V7NQ Srs_enr_bl_v'%2lushMNQ Srs_enr_bl_v'%SelectMRecord%LM_$"R_0L_V7K P7 $R$ LM_$"RLMT_(D O8+PK LM_$"RLMT_7R-%LM_$"RLMT_(D%ValueNQ (f Srs_enr_bl_v'%!ctiveRo')ount O + !nd "oneMSrs_enr_bl_v'%#etRo'M+N%LM_$"R_0L_V7%LM_$"RLMT_(D%ValueN Then ideScrollMScroll%LM_$"R_0L_V7NQ $ndE(fQ

(f Srs_enr_bl_v'%#etRo'M+N%LM_$"R_0L_V7%LM_"2R)_)&MP_&RDR%Value O P*P Then LM_)!T_3(_7R-%LM_"2R)$_&RDR_#RP+%Visible O TrueQ LM_)!T_3(_7R-%LM_"2R)$_&RDR_#RP;%Visible O 2alseQ $lse LM_)!T_3(_7R-%LM_"2R)$_&RDR_#RP+%Visible O 2alseQ LM_)!T_3(_7R-%LM_"2R)$_&RDR_#RP;%Visible O TrueQ $ndE(fQ 9L Set )ontent Launchable L9 Sbol_(sLaunchable O Sutil&b=%isLaunchableMLM_$"RLMT_7R-%LM_)&MP_&R(#%ValueK ValueMSrs_enr_bl_v'%#etRo'M+N%LM_$"R_0L_V7%LM_!)T_ST!T3S%ValueNK Srs_enr_bl_v'%#etRo'M+N%LM_$"R_0L_V7%LM_ST!RT_DT%ValueK Srs_enr_bl_v'%#etRo'M+N%LM_$"R_0L_V7%LM_$"D_DT%ValueK Srs_enr_bl_v'%#etRo'M+N%LM_$"R_0L_V7%LM_T!R#$T_)MPL_DT%ValueK Srs_enr_bl_v'%#etRo'M+N%LM_$"R_0L_V7%LM_)&MPL_DT%ValueK Srs_enr_bl_v'%#etRo'M+N%LM_$"R_0L_V7%LM_STTS%ValueK Srs_enr_bl_v'%#etRo'M+N%LM_$"R_0L_V7%LM_L!3") !0L$_ (ST%ValueNQ 9LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL9 9LLL 0uilding MarH )alendar 0utton LLL9 9LLL Learner 'ill see the button only if LLL9 9LLL M+N The activity have scheduled sessionMsN !"D LLL9 9LLL M;N The activity is in P$"RLP status !"D LLL9 9LLL M4N Learner1s )alendar setup is enabled LLL9 9LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL9 Local RS_ R&(_)!L$"D!R83til8)alendar_3tility Scal3tility O create RS_ R&(_)!L$"D!R83til8)alendar_3tilityMNQ LM_)!L_7R-%LM_$RR_MS#%Visible O 2alseQ

LM_)!L_7R-%LM_(M!#$%Visible O 2alseQ LM_)!L_7R-%LM_M!R-_)!L_0T"%Label O Msg#etTe@tM+>,>FK +,FK P PNQ (f Scal3tility%isScheduledSessionMLM_$"RLMT_7R-%LM_!)T_(D%ValueN !nd MSrs_enr_bl_v'%#etRo'M+N%LM_$"R_0L_V7%LM_STTS%Value O P$"RLPN !nd Scal3tility%is)alendar$nabledMLM_$"RLMT_7R-%LM_P$RS&"_(D%ValueN Then LM_)!L_7R-%LM_M!R-_)!L_0T"%$nabled O TrueQ LM_)!L_7R-%LM_M!R-_)!L_0T"%Visible O TrueQ $lse LM_)!L_7R-%LM_$RR_MS#%Visible O 2alseQ LM_)!L_7R-%LM_(M!#$%Visible O 2alseQ LM_)!L_7R-%LM_M!R-_)!L_0T"%$nabled O 2alseQ LM_)!L_7R-%LM_M!R-_)!L_0T"%Visible O 2alseQ $ndE(fQ (f Scal3tility%isScheduledSessionMLM_$"RLMT_7R-%LM_!)T_(D%ValueN !nd MSrs_enr_bl_v'%#etRo'M+N%LM_$"R_0L_V7%LM_STTS%Value O P$"RLPN !nd "ot MScal3tility%is)alendar$nabledMLM_$"RLMT_7R-%LM_P$RS&"_(D%ValueNN Then LM_)!L_7R-%LM_M!R-_)!L_0T"%Visible O TrueQ LM_)!L_7R-%LM_M!R-_)!L_0T"%$nabled O 2alseQ LM_)!L_7R-%LM_$RR_MS#%Visible O TrueQ LM_)!L_7R-%LM_(M!#$%Visible O TrueQ LM_)!L_7R-%LM_(M!#$%Label(mage O (mage%TS_("2&Q LM_)!L_7R-%LM_$RR_MS#%Value O Msg#etTe@tM+>,>FK +,4K P PNQ $ndE(fQ 9LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL9 9LLL $nd 0uild MarH )alendar 0utton LLL9 9LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL9 (f LM_$"RL_!)T_V7%LM_STTS%Value O P)&MPP &r LM_$"RL_!)T_V7%LM_STTS%Value O P(")&P &r LM_$"RL_!)T_V7%LM_STTS%Value O P)!")P &r LM_$"RL_!)T_V7%LM_STTS%Value O PD$)LP Then LM_)!T_3(_7R-%LM_DR&P!)T_P0%$nabled O 2alseQ $lse (f Srs_enr_bl_v'%#etRo'M+N%LM_$"R_0L_V7%LM_!)T_R$Q%Value O P*P Then (f MMLM_$"RLMT_7R-%LM_)&MP_&R(#%Value O PLM_SS_M!"!#$R_3(PN &r MLM_$"RLMT_7R-%LM_)&MP_&R(#%Value O PLM_M#R_$"RLMTPN &r MLM_$"RLMT_7R-%LM_)&MP_&R(#%Value O PLM_PR#_PR#S_MSSPN &r 9L Start ()$ Resolution >>D>>6 L9 MLM_$"RLMT_7R-%LM_)&MP_&R(#%Value O PLM_!DM("_L$!R"("#PN &r MLM_$"RLMT_7R-%LM_)&MP_&R(#%Value O PLM_LPL"_DTLP !nd Smanager O TrueNN Then 9L Start ()$ Resolution >>D>>6L9 LM_)!T_3(_7R-%LM_DR&P!)T_P0%$nabled O TrueQ $lse LM_)!T_3(_7R-%LM_DR&P!)T_P0%$nabled O 2alseQ $ndE(fQ $lse LM_)!T_3(_7R-%LM_DR&P!)T_P0%$nabled O TrueQ $ndE(fQ $ndE(fQ 9L0uild Schedule gridL9 Local Ro'set Srs_ses_sbp_v'Q Local L$RM_S$SS(&"8DisplaySessions SDisplaySession O create L$RM_S$SS(&"8DisplaySessionsMNQ Srs_ses_sbp_v' O #etRo'setMScroll%LM_S$S_S0P_V7NQ Srs_ses_sbp_v'%2lushMNQ Srs_ses_sbp_v'%SelectMRecord%LM_S$S_S0P_V7K P7 $R$ LM_!)T_(D O8+PK S!)T_(DNQ UL start code for Resolution >D6+>6 LI #etRo'setMScroll%LM_S$S_S0P_V7N%#etRo'M+N%#etRecordMRecord%LM_T?2(5_7R-N%#et2ieldM 2ield%LM_$"D_TMN%Visible O 2alseQ UL end code for Resolution >D6+>6 LI

(f Srs_ses_sbp_v'%!ctiveRo')ount O + !nd "oneMSrs_ses_sbp_v'%#etRo'M+N%LM_S$S_S0P_V7%LM_!)T_(D%ValueN Then ideScrollMScroll%LM_S$S_S0P_V7NQ LM_)!T_3(_7R-%LM_S) D_"&R&7S%Visible O TrueQ $lse SDisplaySession%2ormat!ctSchedMNQ LM_)!T_3(_7R-%LM_S) D_"&R&7S%Visible O 2alseQ UL start code for Resolution >D6+>6 LI Local string Sstr+K Sstr;Q Local datetime Sdtm+K Sdtm;Q Local date Send_tmQ Local number Sint_rQ 2or Sint_r O + To Srs_ses_sbp_v'%!ctiveRo')ount (f !llMSrs_ses_sbp_v'MSint_rN%#etRecordMRecord%LM_S$S_S0P_V7N%#et2ieldM2ield%LM_$"D_T MN%ValueN Then Sstr+ O StringMDateTimeToLocaliTedStringMSrs_ses_sbp_v'MSint_rN%#etRecordMRecord%LM_S$S_S0 P_V7N%#et2ieldM2ield%LM_S$S_DTN%ValueK PMM9dd9yyPNNQ Sstr; O StringMTimeMSrs_ses_sbp_v'MSint_rN%#etRecordMRecord%LM_S$S_S0P_V7N%#et2ieldM2ield% LM_$"D_TMN%ValueNNQ Sstr+ O Sstr+ R P P R Sstr;Q Sdtm+ O DateTimeValueMSstr+NQ 9LStartE)ode )hanges to fi@ the issue related 7ebcast ResolutionJ>F+4G<L9 rem Sdtm; O DateTimeToTime?oneMSdtm+K /ServerTime?oneK Srs_ses_sbp_v'MSint_rN%#etRecordMRecord%LM_S$S_S0P_V7N%#et2ieldM2ield%T(M$?&"$N%Va lueNQ Sdtm; O DateTimeToTime?oneMSdtm+K P0asePK Srs_ses_sbp_v'MSint_rN%#etRecordMRecord%LM_S$S_S0P_V7N%#et2ieldM2ield%T(M$?&"$N%Va lueNQ 9L$ndE)ode )hanges to fi@ the issue related 7ebcast ResolutionJ>F+4G<L9 9L separate time L9 Srs_ses_sbp_v'MSint_rN%#etRecordMRecord%LM_S$S_S0P_V7N%#et2ieldM2ield%LM_$"D_TMN%V isible O 2alseQ #etRo'setMScroll%LM_S$S_S0P_V7N%#etRo'MSint_rN%#etRecordMRecord%LM_T?2(5_7R-N%#et2 ieldM2ield%LM_$"D_TMN%Visible O TrueQ #etRo'setMScroll%LM_S$S_S0P_V7N%#etRo'MSint_rN%#etRecordMRecord%LM_T?2(5_7R-N%#et2 ieldM2ield%LM_$"D_TMN%Value O TimePartMSdtm;NQ $ndE(fQ $ndE2orQ UL end code for Resolution >D6+>6 LI $ndE(fQ 9L 0uild #rades and !ttendance L9 Local Ro'set Srs_rstL)Q Local Ro' Sro'_rstL)Q Local Record Srec_rstL)Q Local Record Srec_rstL)7rHQ Local 2ield Sfld_rstre.dQ Local 2ield Sfld_rstre.dDispQ Local 2ield Sfld_rst0asL)Q Local 2ield Sfld_rstlc"ameQ Local 2ield Sfld_rstlcLnHQ Local 2ield Sfld_rststtsQ Local 2ield Sfld_rstlc(dQ Local 2ield Sfld_rststatusQ Local integer Sint_iQ Local integer Sint_=Q Srs_rstL) O #etRo'setMScroll%LM_L)_R&ST_V7NQ Srs_rstL)%2lushMNQ Srs_rstL)%SelectMRecord%LM_L)_R&ST_V7K P7 $R$ LM_$"RLMT_(D O8+PK LM_SS_!)T_V7%LM_$"RLMT_(D%ValueNQ

(f Srs_rstL)%!ctiveRo')ount O + !nd "oneMSrs_rstL)%#etRo'M+N%LM_L)_R&ST_V7%LM_!)T_(D%ValueN Then ideScrollMScroll%LM_L)_R&ST_V7NQ $lse 2or Sint_i O + To Srs_rstL)%Ro')ount Sro'_rstL) O Srs_rstL)MSint_iNQ Srec_rstL) O Sro'_rstL)%LM_L)_R&ST_V7Q Srec_rstL)7rH O Sro'_rstL)%LM_!)T_L)_7R-Q Sfld_rstlc(d O Srec_rstL)%LM_L)_(DQ Sfld_rstre.d O Srec_rstL)%LM_R$QD_2L!#Q Sfld_rst0asL) O Srec_rstL)%LM_0!S_L)_T*P$Q Sfld_rstlc"ame O Srec_rstL)%LM_L)_L&"#_"MQ Sfld_rstre.dDisp O Srec_rstL)7rH%LM_R$QD_D(SPQ Sfld_rstlcLnH O Srec_rstL)7rH%LM_L)_L"-Q 9LDisplay Re.uired9&ptionalL9 (f Sfld_rstre.d%Value O P*P Then Sfld_rstre.dDisp%Value O Msg#etTe@tM+>,G;K +,G;K PPNQ $lse Sfld_rstre.dDisp%Value O Msg#etTe@tM+>,G;K +,G4K PPNQ $ndE(fQ 9L2ormat Learning )omponent Progress LinH L9 Sfld_rstlcLnH%Label O Sfld_rstlc"ame%ValueQ $ndE2orQ $ndE(fQ Srs_rstL)%SortMLM_L)_R&ST_V7%LM_)&MP_S$Q_(DK P!PNQ 9L2ormat #rid LabelsL9 Local #rid Sgrd_rstL)Q Local #rid)olumn Scol_rstL)"ameQ Local #rid)olumn Scol_rstL)LnHQ Sgrd_rstL) O #et#ridMPage%LM_!)T_PR&#K PLM_L)_PR#_V7PNQ Scol_rstL)"ame O Sgrd_rstL)%#et)olumnMPLM_L)_L&"#_"MPNQ Scol_rstL)LnH O Sgrd_rstL)%#et)olumnMPLM_L)_L"-PNQ Scol_rstL)LnH%Label O Scol_rstL)"ame%LabelQ 9L Target )ompletion Date L9 (f MLM_!)T_3(_7R-%LM_STTS%Value O P$"RLP &r LM_!)T_3(_7R-%LM_STTS%Value O P)&MPP &r LM_!)T_3(_7R-%LM_STTS%Value O P(")&P &r LM_!)T_3(_7R-%LM_STTS%Value O P("P&PN Then (f !llMSrs_enr_bl_v'%#etRo'M+N%LM_$"R_0L_V7%LM_T!R#$T_)MPL_DT%ValueN Then (f !llMSrs_enr_bl_v'%#etRo'M+N%LM_$"R_0L_V7%LM_$"D_DT%ValueN Then (f MSrs_enr_bl_v'%#etRo'M+N%LM_$"R_0L_V7%LM_$"D_DT%Value UO Srs_enr_bl_v'%#etRo'M+N%LM_$"R_0L_V7%LM_T!R#$T_)MPL_DT%ValueN Then Sdt_target O Srs_enr_bl_v'%#etRo'M+N%LM_$"R_0L_V7%LM_$"D_DT%ValueQ $lse Sdt_target O Srs_enr_bl_v'%#etRo'M+N%LM_$"R_0L_V7%LM_T!R#$T_)MPL_DT%ValueQ $ndE(fQ $lse Sdt_target O Srs_enr_bl_v'%#etRo'M+N%LM_$"R_0L_V7%LM_T!R#$T_)MPL_DT%ValueQ $ndE(fQ $lse Sdt_target O Srs_enr_bl_v'%#etRo'M+N%LM_$"R_0L_V7%LM_$"D_DT%ValueQ $ndE(fQ $lse Sdt_target O Srs_enr_bl_v'%#etRo'M+N%LM_$"R_0L_V7%LM_T!R#$T_)MPL_DT%ValueQ $ndE(fQ (f !llMSdt_targetN Then Sstr_target)mplDt O DateTimeToLocaliTedStringMSdt_targetK Sstr_Date2ormatNQ LM_)!T_3(_7R-%LM_STR_)MPL_DT%Value O Msg#etTe@tM+>,G;K +464K PPK Sstr_target)mplDtNQ

$lse LM_)!T_3(_7R-%LM_STR_)MPL_DT%Visible O 2alseQ $ndE(fQ 9L 0uild !ctivity !genda L9 Local L$0L_3T(L(T($S83tility Sob=_Durn3til O create L$0L_3T(L(T($S83tilityMNQ Local Ro'set Srs_L)PrgQ Local Ro' Sro'_L)PrgQ Local Record Srec_L)PrgQ Local Record Srec_L)7rHQ Local 2ield Sfld_re.dQ Local 2ield Sfld_re.dDispQ Local 2ield Sfld_0asL)Q Local 2ield Sfld_lc"ameQ Local 2ield Sfld_lcLnHQ Local 2ield Sfld_launchLnHQ Local 2ield Sfld_sttsQ Local 2ield Sfld_lc(dQ Local 2ield Sfld_SchdQ Local 2ield Sfld_SchdLocQ Local 2ield Sfld_statusQ Srs_L)Prg O #etRo'setMScroll%LM_L)_PR&#_V7NQ Srs_L)Prg%2lushMNQ Srs_L)Prg%SelectMRecord%LM_L)_PR&#_V7K P7 $R$ LM_$"RLMT_(D O8+PK LM_SS_!)T_V7%LM_$"RLMT_(D%ValueNQ (f Srs_L)Prg%!ctiveRo')ount O + !nd "oneMSrs_L)Prg%#etRo'M+N%LM_L)_PR&#_V7%LM_!)T_(D%ValueN Then ideScrollMScroll%LM_L)_PR&#_V7NQ $lse 2or Sint_i O + To Srs_L)Prg%Ro')ount Sro'_L)Prg O Srs_L)PrgMSint_iNQ Srec_L)Prg O Sro'_L)Prg%LM_L)_PR&#_V7Q Srec_L)7rH O Sro'_L)Prg%LM_!)T_L)_7R-Q Sfld_lc(d O Srec_L)Prg%LM_L)_(DQ Sfld_re.d O Srec_L)Prg%LM_R$QD_2L!#Q Sfld_0asL) O Srec_L)Prg%LM_0!S_L)_T*P$Q Sfld_lc"ame O Srec_L)Prg%LM_L)_L&"#_"MQ Sfld_re.dDisp O Srec_L)7rH%LM_R$QD_D(SPQ Sfld_lcLnH O Srec_L)7rH%LM_L)_L"-Q Sfld_Schd O Srec_L)7rH%LM_L)_S) D_L"-Q Sfld_SchdLoc O Srec_L)7rH%LM_L)_S) DL&)_L"-Q 9LDisplay Re.uired9&ptionalL9 (f Sfld_re.d%Value O P*P Then Sfld_re.dDisp%Value O Msg#etTe@tM+>,G;K +4,4K PPNQ $lse Sfld_re.dDisp%Value O Msg#etTe@tM+>,G;K +4,<K PPNQ $ndE(fQ Srec_L)7rH%LM_D3R!T(&"%Value O Sob=_Durn3til%get!ctivityDuration2mtMSrec_L)Prg%LM_D3R"_D!*S%ValueK Srec_L)Prg%LM_D3R"_ RS%ValueK Srec_L)Prg%LM_D3R"_M("S%ValueNQ (f !llMSrec_L)7rH%LM_D3R!T(&"%ValueN Then Srec_L)7rH%LM_D3R!T(&"%Value O PMP R Srec_L)7rH%LM_D3R!T(&"%#etShortLabelMPLM_D3R!T(&"PN R P 8 P R Srec_L)7rH%LM_D3R!T(&"%Value R PNPQ $ndE(fQ 9L2ormat Learning )omponent Progress LinHL9 Sfld_lcLnH%Label O Sfld_lc"ame%ValueQ Local Record Srec_LcProgV'Q Srec_LcProgV' O )reateRecordMRecord%LM_L)_PR&#_V7NQ Srec_LcProgV'%LM_$"RLMT_(D%Value O LM_SS_!)T_V7%LM_$"RLMT_(D%ValueQ Srec_LcProgV'%LM_!)T_(D%Value O Srs_L)Prg%#etRo'M+N%LM_L)_PR&#_V7%LM_!)T_(D%ValueQ Srec_LcProgV'%LM_L)_(D%Value O Sfld_lc(d%ValueQ Srec_LcProgV'%Select0y-eyMNQ

L9

9L if the Learning )omponent Type <, E !ssignmentK is not an !ctive Learning 9L disable the Learning )omponent Progress hyperlinHL9 (f !llMSrec_LcProgV'%LM_!)T(V$_LR"%ValueN !nd Srec_LcProgV'%LM_!)T(V$_LR"%Value O P"P !nd Srec_LcProgV'%LM_0!S_L)_T*P$%Value O P<,P Then Sfld_lcLnH%$nabled O 2alseQ 9L but leave it enabled for the manager L9 (f MLM_$"RLMT_7R-%LM_)&MP_&R(#%Value O PLM_SS_M!"!#$R_3(P &r LM_$"RLMT_7R-%LM_)&MP_&R(#%Value O PLM_M#R_$"RLMTP &r LM_$"RLMT_7R-%LM_)&MP_&R(#%Value O PLM_PR#_PR#S_MSSPN Then Sfld_lcLnH%$nabled O TrueQ $ndE(fQ $ndE(fQ 9L2ormat Launch LinHL9 Sfld_launchLnH O Srec_L)7rH%LM_L!3") _L"-Q Sfld_stts O Srec_L)Prg%LM_L)_)&MP_STTSQ (f Sfld_stts%Value O P"&!TP Then Sfld_launchLnH%Label O Msg#etTe@tM+>,G;K +,>;K PPNQ $lse Sfld_launchLnH%Label O Msg#etTe@tM+>,G;K +,>4K PPNQ $ndE(fQ (f Sfld_0asL)%Value O P;,P Then Sfld_launchLnH%Visible O 2alseQ Sfld_Schd%Visible O 2alseQ Sfld_SchdLoc%Visible O TrueQ $lse (f Sfld_0asL)%Value O P4,P Then Sfld_launchLnH%Visible O TrueQ Sfld_Schd%Visible O 2alseQ Sfld_SchdLoc%Visible O 2alseQ $lse Sfld_launchLnH%Visible O TrueQ Sfld_Schd%Visible O 2alseQ Sfld_SchdLoc%Visible O 2alseQ $ndE(fQ $ndE(fQ (f MSrec_L)Prg%LM_!)T(V$_LR"%Value O P"P &r Sfld_0asL)%Value O P;,P &r Sfld_0asL)%Value O P<,PN Then Sfld_launchLnH%$nabled O 2alseQ Sfld_launchLnH%Visible O 2alseQ (f Sfld_0asL)%Value O P4,P Then

9LLoop Through Schedule to Disable (nactive L7) LinHsL9 9L loop variable modified to prevent improper looping L9 2or Sint_= O + To Srs_ses_sbp_v'%Ro')ount (f Srs_ses_sbp_v'MSint_=N%LM_S$S_S0P_V7%LM_L)_(D%Value O Sfld_lc(d%Value Then Srs_ses_sbp_v'MSint_=N%LM_RM_S$S_7R-%LM_2)LT*_L"-%$nabled O 2alseQ $ndE(fQ $ndE2orQ $ndE(fQ $lse 9LSS8>DGD;D MaHe ReElaunch linH disabled and invisible for Dropped learnings%L9 (f Sfld_stts%Value O P)!")P Then Sfld_launchLnH%$nabled O 2alseQ Sfld_launchLnH%Visible O 2alseQ $lse 9LSS8>DGD;D $ndsL9 Sfld_launchLnH%$nabled O TrueQ Sfld_launchLnH%Visible O TrueQ 9LSS8>D;,D;L9

$ndE(fQ 9LSS8>DGD;D $ndsL9 $ndE(fQ (f Sfld_stts%Value O P)&MPP !nd Sfld_0asL)%Value O PD,P Then Sfld_launchLnH%$nabled O 2alseQ Sfld_launchLnH%Visible O 2alseQ $ndE(fQ 9L Disable Launch LinHs if $ntire !ctivity is not Launchable L9 (f M "ot Sbol_(sLaunchableN Then Sfld_launchLnH%$nabled O 2alseQ Sfld_launchLnH%Visible O 2alseQ $ndE(fQ $ndE2orQ $ndE(fQ 9LDisable L7) LinHs in Schedule based on (sLaunchable L9 (f "ot Sbol_(sLaunchable Then 2or Sint_i O + To Srs_ses_sbp_v'%Ro')ount (f Srs_ses_sbp_v'MSint_iN%LM_RM_S$S_7R-%LM_2)LT*_L"-%Value O P7P Then Srs_ses_sbp_v'MSint_iN%LM_RM_S$S_7R-%LM_2)LT*_L"-%$nabled O 2alseQ $ndE(fQ $ndE2orQ $ndE(fQ Srs_L)Prg%SortMLM_L)_PR&#_V7%LM_)&MP_S$Q_(DK P!PNQ 9L0uild !ttachments #ridL9 Local #rid SmygridQ Local #rid)olumn Sgrid_columnQ Local Ro'set Srs_(temsK Srs_actQ Local number Sci_idK S@Q Local 2ield Snotes3RL_2ldQ Local #rid SnotegridQ Local #rid)olumn Snotegrid_columnQ Local string Snotes3RL_LblQ Sci_id O LM_(TM_3(_7R-%LM_)(_(D%ValueQ Srs_(tems O #etLevel,MNM+N%#etRo'setMScroll%LM_)(_!TT_V7NQ Srs_(tems%2lushMNQ Srs_(tems%SelectMRecord%LM_)(_!TT_V7K P7 $R$ LM_)(_(D O8+PK Sci_idNQ Srs_act O )reateRo'setMRecord%LM_!)T_!T) _V7NQ Srs_act%2illMP7 $R$ LM_!)T_(D O8+PK S!)T_(DNQ (f Srs_act%!ctiveRo')ount O + !nd "oneMSrs_act%#etRo'M+N%LM_!)T_!T) _V7%!TT!) 3S$R2(L$%ValueN Then $lse (f Srs_(tems%!ctiveRo')ount O + !nd "oneMSrs_(tems%#etRo'M+N%LM_)(_!TT_V7%!TT!) 3S$R2(L$%ValueN Then 9LL Display activity attachments 'hen display option is display to all or display to enrolled learner and the logged in learner is enrolled% L9 (f MSrs_actM+N%LM_!)T_!T) _V7%LM_D(SP_T*P$%Value O P;,P !nd MSstr_LearnerStatus O P$"RLP &r Sstr_LearnerStatus O P)&MPP &r Sstr_LearnerStatus O P("P&PNN &r Srs_actM+N%LM_!)T_!T) _V7%LM_D(SP_T*P$%Value O P+,P Then Srs_(temsM+N%LM_)(_!TT_V7%!TT!) 3S$R2(L$%Value O Srs_actM+N%LM_!)T_!T) _V7%!TT!) 3S$R2(L$%ValueQ Srs_(temsM+N%LM_)(_!TT_V7%!TT!) S*S2(L$"!M$%Value O Srs_actM+N%LM_!)T_!T) _V7%!TT!) S*S2(L$"!M$%ValueQ Srs_(temsM+N%LM_)(_!TT_V7%LM_R&7_M!("T_DTTM%Value O Srs_actM+N%LM_!)T_!T) _V7%LM_R&7_M!("T_DTTM%ValueQ Srs_(temsM+N%LM_)(_!TT_V7%LM_)S_D$S)R%Value O Srs_actM+N%LM_!)T_!T) _V7%LM_)S_D$S)R%ValueQ $ndE(fQ $lse

Srs_(tems%(nsertRo'MSrs_(tems%!ctiveRo')ountNQ Srs_(temsMSrs_(tems%!ctiveRo')ountN%LM_)(_!TT_V7%!TT!) 3S$R2(L$%Value O Srs_actM+N%LM_!)T_!T) _V7%!TT!) 3S$R2(L$%ValueQ Srs_(temsMSrs_(tems%!ctiveRo')ountN%LM_)(_!TT_V7%!TT!) S*S2(L$"!M$%Value O Srs_actM+N%LM_!)T_!T) _V7%!TT!) S*S2(L$"!M$%ValueQ Srs_(temsMSrs_(tems%!ctiveRo')ountN%LM_)(_!TT_V7%LM_R&7_M!("T_DTTM%Value O Srs_actM+N%LM_!)T_!T) _V7%LM_R&7_M!("T_DTTM%ValueQ Srs_(temsMSrs_(tems%!ctiveRo')ountN%LM_)(_!TT_V7%LM_)S_D$S)R%Value O Srs_actM+N%LM_!)T_!T) _V7%LM_)S_D$S)R%ValueQ $ndE(fQ (f Srs_act%!ctiveRo')ount I + Then 2or S@ O ; To Srs_act%!ctiveRo')ount Srs_(tems%(nsertRo'MSrs_(tems%!ctiveRo')ountNQ Srs_(temsMSrs_(tems%!ctiveRo')ountN%LM_)(_!TT_V7%!TT!) 3S$R2(L$%Value O Srs_actMS@N%LM_!)T_!T) _V7%!TT!) 3S$R2(L$%ValueQ Srs_(temsMSrs_(tems%!ctiveRo')ountN%LM_)(_!TT_V7%!TT!) S*S2(L$"!M$%Value O Srs_actMS@N%LM_!)T_!T) _V7%!TT!) S*S2(L$"!M$%ValueQ Srs_(temsMSrs_(tems%!ctiveRo')ountN%LM_)(_!TT_V7%LM_R&7_M!("T_DTTM%Value O Srs_actMS@N%LM_!)T_!T) _V7%LM_R&7_M!("T_DTTM%ValueQ Srs_(temsMSrs_(tems%!ctiveRo')ountN%LM_)(_!TT_V7%LM_)S_D$S)R%Value O Srs_actMS@N%LM_!)T_!T) _V7%LM_)S_D$S)R%ValueQ $ndE2orQ $ndE(fQ $ndE(fQ (f Srs_(tems%!ctiveRo')ount O + !nd "oneMSrs_(tems%#etRo'M+N%LM_)(_!TT_V7%!TT!) 3S$R2(L$%ValueN Then ideScrollMScroll%LM_)(_!TT_V7NQ $lse LM_)!T_3(_7R-%LM_!T) _"&R&7S%Visible O 2alseQ 2or S@ O + To Srs_(tems%!ctiveRo')ount Srs_(tems%#etRo'MS@N%LM_)(_!TT_V7%!TT!) 3S$R2(L$%Label O Srs_(tems%#etRo'MS@N%LM_)(_!TT_V7%!TT!) 3S$R2(L$%ValueQ $ndE2orQ Smygrid O #et#ridMPage%LM_!)T_PR&#K PLM_)(_!TT_V7PNQ Sgrid_column O Smygrid%#et)olumnMP!TT!) 3S$R2(L$PNQ Sgrid_column%Label O Msg#etTe@tM+>,>>K 6DK PPNQ $ndE(fQ 9L0uild "otes #ridL9 Srs_(tems O #etLevel,MNM+N%#etRo'setMScroll%LM_)(_"&T$S_V7NQ Snotes3RL_2ld O Srs_(temsM+N%LM_3RL_7$0_7R-%LM_"&T$_3RLQ Snotes3RL_Lbl O Snotes3RL_2ld%#etShortLabelMPLM_"&T$_3RLPNQ Srs_(tems%2lushMNQ Srs_(tems%SelectMRecord%LM_)(_"&T$S_V7K P7 $R$ LM_)(_(D O8+PK Sci_idNQ Srs_act O )reateRo'setMRecord%LM_!)T_"&T$S_V7NQ Srs_act%2illMP7 $R$ LM_!)T_(D O8+PK S!)T_(DNQ (f Srs_act%!ctiveRo')ount O + !nd "oneMSrs_act%#etRo'M+N%LM_!)T_"&T$S_V7%LM_"&T$S%ValueN Then $lse (f Srs_(tems%!ctiveRo')ount O + !nd "oneMSrs_(tems%#etRo'M+N%LM_)(_"&T$S_V7%LM_"&T$S%ValueN Then 9LL Display activity notes 'hen display option is display to all or display to enrolled learner and the logged in learner is enrolled% L9 (f MSrs_actM+N%LM_!)T_"&T$S_V7%LM_D(SP_T*P$%Value O P;,P !nd MSstr_LearnerStatus O P$"RLP &r Sstr_LearnerStatus O P)&MPP &r Sstr_LearnerStatus O P("P&PNN &r Srs_actM+N%LM_!)T_"&T$S_V7%LM_D(SP_T*P$%Value O P+,P Then Srs_(temsM+N%LM_)(_"&T$S_V7%LM_"&T$S%Value O Srs_actM+N%LM_!)T_"&T$S_V7%LM_"&T$S%ValueQ Srs_(temsM+N%LM_)(_"&T$S_V7%LM_R&7_M!("T_DTTM%Value O Srs_actM+N%LM_!)T_"&T$S_V7%LM_R&7_M!("T_DTTM%ValueQ

Srs_(temsM+N%LM_3RL_7$0_7R-%LM_"&T$_3RL%Value O Srs_actM+N%LM_!)T_"&T$S_V7%LM_"&T$_3RL%ValueQ (f !llMSrs_(temsM+N%LM_3RL_7$0_7R-%LM_"&T$_3RL%ValueN Then Srs_(temsM+N%LM_3RL_7$0_7R-%LM_"&T$_3RL%Label O Srs_(temsM+N%LM_3RL_7$0_7R-%LM_"&T$_3RL%ValueQ $lseQ Srs_(temsM+N%LM_3RL_7$0_7R-%LM_"&T$_3RL%Value O PPQ Srs_(temsM+N%LM_3RL_7$0_7R-%LM_"&T$_3RL%Label O P PQ Srs_(temsM+N%LM_3RL_7$0_7R-%LM_"&T$_3RL%Visible O 2alseQ $ndE(fQ $ndE(fQ $lse Srs_(tems%(nsertRo'MSrs_(tems%!ctiveRo')ountNQ Srs_(temsMSrs_(tems%!ctiveRo')ountN%LM_)(_"&T$S_V7%LM_"&T$S%Value O Srs_actM+N%LM_!)T_"&T$S_V7%LM_"&T$S%ValueQ Srs_(temsMSrs_(tems%!ctiveRo')ountN%LM_)(_"&T$S_V7%LM_R&7_M!("T_DTTM%Value O Srs_actM+N%LM_!)T_"&T$S_V7%LM_R&7_M!("T_DTTM%ValueQ Srs_(temsMSrs_(tems%!ctiveRo')ountN%LM_3RL_7$0_7R-%LM_"&T$_3RL%Value O Srs_actM+N%LM_!)T_"&T$S_V7%LM_"&T$_3RL%ValueQ (f !llMSrs_(temsMSrs_(tems%!ctiveRo')ountN%LM_3RL_7$0_7R-%LM_"&T$_3RL%ValueN Then Srs_(temsMSrs_(tems%!ctiveRo')ountN%LM_3RL_7$0_7R-%LM_"&T$_3RL%Label O Srs_(temsMSrs_(tems%!ctiveRo')ountN%LM_3RL_7$0_7R-%LM_"&T$_3RL%ValueQ $lse Srs_(temsMSrs_(tems%!ctiveRo')ountN%LM_3RL_7$0_7R-%LM_"&T$_3RL%Value O PPQ Srs_(temsMSrs_(tems%!ctiveRo')ountN%LM_3RL_7$0_7R-%LM_"&T$_3RL%Label O P PQ Srs_(temsMSrs_(tems%!ctiveRo')ountN%LM_3RL_7$0_7R-%LM_"&T$_3RL%Visible O 2alseQ $ndE(fQ $ndE(fQ (f Srs_act%!ctiveRo')ount I + Then 2or S@ O ; To Srs_act%!ctiveRo')ount Srs_(tems%(nsertRo'MSrs_(tems%!ctiveRo')ountNQ Srs_(temsMSrs_(tems%!ctiveRo')ountN%LM_)(_"&T$S_V7%LM_"&T$S%Value O Srs_actMS@N%LM_!)T_"&T$S_V7%LM_"&T$S%ValueQ Srs_(temsMSrs_(tems%!ctiveRo')ountN%LM_)(_"&T$S_V7%LM_R&7_M!("T_DTTM%Value O Srs_actMS@N%LM_!)T_"&T$S_V7%LM_R&7_M!("T_DTTM%ValueQ Srs_(temsMSrs_(tems%!ctiveRo')ountN%LM_3RL_7$0_7R-%LM_"&T$_3RL%Value O Srs_actMS@N%LM_!)T_"&T$S_V7%LM_"&T$_3RL%ValueQ (f !llMSrs_(temsMSrs_(tems%!ctiveRo')ountN%LM_3RL_7$0_7R-%LM_"&T$_3RL%ValueN Then Srs_(temsMSrs_(tems%!ctiveRo')ountN%LM_3RL_7$0_7R-%LM_"&T$_3RL%Label O Srs_(temsMSrs_(tems%!ctiveRo')ountN%LM_3RL_7$0_7R-%LM_"&T$_3RL%ValueQ $lse Srs_(temsMSrs_(tems%!ctiveRo')ountN%LM_3RL_7$0_7R-%LM_"&T$_3RL%Value O PPQ Srs_(temsMSrs_(tems%!ctiveRo')ountN%LM_3RL_7$0_7R-%LM_"&T$_3RL%Label O P PQ Srs_(temsMSrs_(tems%!ctiveRo')ountN%LM_3RL_7$0_7R-%LM_"&T$_3RL%Visible O 2alseQ $ndE(fQ $ndE2orQ $ndE(fQ $ndE(fQ (f Srs_(tems%!ctiveRo')ount O + !nd "oneMSrs_(tems%#etRo'M+N%LM_)(_"&T$S_V7%LM_"&T$S%ValueN Then ideScrollMScroll%LM_)(_"&T$S_V7NQ $lse 6<890588 = )tart c#$e c/a"4e)<6 L#cal )tr%"4 PLe"_Item_Act_-la4 I SNSQ 6<890588 = e"$ c#$e c/a"4e)<6

LM_)!T_3(_7R-%LM_!T) _"&R&7S%Visible O 2alseQ 2or S@ O + To Srs_(tems%!ctiveRo')ount (f LenMSrs_(tems%#etRo'MS@N%LM_)(_"&T$S_V7%LM_"&T$S%ValueN I ;64 Then 6<890588 = )tart c#$e c/a"4e)<6 PLe"_Item_Act_-la4 I S2SQ 6<890588 = e"$ c#$e c/a"4e)<6 Srs_(tems%#etRo'MS@N%LM_)!T_3(_7R-%LM_M("(_"&T$S%Value O SubstringMSrs_(tems%#etRo'MS@N%LM_)(_"&T$S_V7%LM_"&T$S%ValueK +K ;6+N R P%%%PQ Srs_(tems%#etRo'MS@N%LM_)!T_3(_7R-%LM_V($7_"&T$S%Display&nly O 2alseQ Srs_(tems%#etRo'MS@N%LM_)!T_3(_7R-%LM_V($7_"&T$S%Label O Msg#etTe@tM+>,>GK +6;FK PMessage not 2oundPNQ $lse Srs_(tems%#etRo'MS@N%LM_)!T_3(_7R-%LM_M("(_"&T$S%Value O Srs_(tems%#etRo'MS@N%LM_)(_"&T$S_V7%LM_"&T$S%ValueQ Srs_(tems%#etRo'MS@N%LM_)!T_3(_7R-%LM_V($7_"&T$S%Display&nly O TrueQ Srs_(tems%#etRo'MS@N%LM_)!T_3(_7R-%LM_V($7_"&T$S%Label O Msg#etTe@tM+>,>GK +6;FK PMessage not 2oundPNQ $ndE(fQ (f !llMSrs_(tems%#etRo'MS@N%LM_)(_"&T$S_V7%LM_"&T$_3RL%ValueN Then Srs_(tems%#etRo'MS@N%LM_3RL_7$0_7R-%LM_"&T$_3RL%Value O Srs_(tems%#etRo'MS@N%LM_)(_"&T$S_V7%LM_"&T$_3RL%ValueQ $ndE(fQ (f !llMSrs_(temsMS@N%LM_3RL_7$0_7R-%LM_"&T$_3RL%ValueN Then Srs_(tems%#etRo'MS@N%LM_3RL_7$0_7R-%LM_"&T$_3RL%Label O Srs_(temsMS@N%LM_3RL_7$0_7R-%LM_"&T$_3RL%ValueQ $lse Srs_(tems%#etRo'MS@N%LM_3RL_7$0_7R-%LM_"&T$_3RL%Value O PPQ Srs_(tems%#etRo'MS@N%LM_3RL_7$0_7R-%LM_"&T$_3RL%Label O P PQ Srs_(tems%#etRo'MS@N%LM_3RL_7$0_7R-%LM_"&T$_3RL%Visible O 2alseQ $ndE(fQ E"$=-#rQ 6<890588 = )tart c#$e c/a"4e)<6 I7 PLe"_Item_Act_-la4 I SNS T/e" -#r P> I 1 T# Pr)_Item)EAct%*eR#&(#u"t Pr)_Item)E3etR#&HP>KELM_(AT_UI_!R,ELM_ IE!_NOTESE %)%:le I -al)eQ $ndE2orQ !f ?& 9 @ Then E"$=I7Q 6<890588 = E"$ c#$e c/a"4e)<6 6<890588 = )tart c#$e c/a"4e)O c#mme"te$ t/e :l#c? #7 c#$e<6 M< I7 PB I 8 T/e" Srs_(tems%#etRo'M+N%LM_)!T_3(_7R-%LM_V($7_"&T$S%Visible O 2alseQ E"$=I7Q<L 6<890588 = E"$ c#$e c/a"4e)<6 $ndE(fQ End3!fA Snotegrid O #et#ridMPage%LM_!)T_PR&#K PLM_)(_!TT_V7;PNQ Snotegrid_column O Snotegrid%#et)olumnMPLM_"&T$_3RLPNQ Snotegrid_column%Label O Snotes3RL_LblQ 9L 2ormat &b=ectives L9 Scls_&b=v%populate&b=vMetDtlsMLM_(TM_3(_7R-%LM_)(_(D%ValueK Sstr_pageNQ 9L 2ormat 2inancial Details L9 Sl3(3tility%set$nrollment(dMLM_SS_!)T_V7%LM_$"RLMT_(D%ValueNQ Sl3(3tility%set$nrollmentTypeMP!)TPNQ Local boolean SlSuccess O Sl3(3tility%paintPytDtlsPageMNQ (f M "ot SlSuccessN Then $rror Sl3(3tility%get$rrorMN%get$rrorMessageMNQ $ndE(fQ

SlSuccess O Sl3(3tility%paintPytSub eaderTe@tMNQ (f M "ot SlSuccessN Then $rror Sl3(3tility%get$rrorMN%get$rrorMessageMNQ $ndE(fQ LM_$"RL_!)T_V7%LM_L("-_&"$%Label O Sc_ob=_Te@t)atalog%getTe@tMPLM_!)T(V(T*_"!M$PK PPK PPK PPK PPK PPNQ LM_$"RL_!)T_V7%LM_!)T_)D%Label O Sc_ob=_Te@t)atalog%getTe@tMPLM_!)T(V(T*_)&D$PK PPK PPK PPK PPK PPNQ Local #rid SschedSession O #et#ridMPage%LM_!)T_PR&#K PLM_S$S_S0P_V7PNQ SschedSession%Label O Sc_ob=_Te@t)atalog%getTe@tMPLM_S) $D_S$SS(&"PK PPK PPK PPK PPK PPNQ Local #rid)olumn Ssession"ame O SschedSession%#et)olumnMPS$SS(&"_"!M$PNQ Ssession"ame%Label O Msg#etTe@tM+>,G;K 6K PPNQ

(f "oneMSstr_!ctPrg_gblN Then LM_)!T_3(_7R-%LM_PR$V_P!#$_L"-%Visible O 2alseQ $ndE(fQ

LM_)!T_3(_7R-%LM_DR&P!)T_P0%Label O Msg#etTe@tM+>,G+K ++++K PMessage not 2oundPNQ (f Sc_fld_Tab_"avigation UI "ull Then 9L Tab "avigation E if this component field is setK it means that the tab navigation tab 'as already set the first time% L9 Scls_LoadSubTabs%Tab)licHedMSc_fld_Tab_"avigationNQ $ndE(fQ

Peo1 eCode &P!/e*: LM_LEARN_ACT_DTL;Ac$i=!$e


import import import import import import import import import

L$RM_S$SS(&"8DisplaySessionsQ L$L&_L$!R"("#_&0:$)T(V$S8&b=ectivesPageSetupQ L$$_$"R&LLM$"T8L$$_!)T_D$T!(LSQ L$0L_!)T(V(T*8LQ L$0L_3T(L(T($S8LQ LM_$"RLMT_!TTR08LM_!)T_$"RLMT_0$!"Q L$0&_P$RS&"8Person)lassQ L$M_3T(L(T($S83tilityQ L$)S_S$!R) 8Search)ontrollerQ

Declare 2unction List!ctDtlPreRe.s People)ode LM_PRQ_S0P_7R-%LM_PRQ_STR("# 2ield2ormulaQ Declare 2unction List!ctDtl$.uivalents People)ode LM_PRQ_S0P_7R-%LM_PRQ_STR("# 2ield2ormulaQ )omponent )omponent )omponent )omponent Local Local Local Local Local string Sstr_from_pageQ L$$_$"R&LLM$"T8L$$_!)T_D$T!(LS SactDetailsQ string Sstr_Learner_"ameK SStr_$nroll_for_(DQ LM_$"RLMT_!TTR08LM_!)T_$"RLMT_0$!" Scls_c$nrlmt0eanQ

date S)urrdtQ 2ield Sfld_fcltyLnHQ Record Srec_LM_)(_V7Q number S@lat_cntK SiK S!)T_(DQ 0trin( ?!n$alue0< ?codein< ?De0c!n< ?0tr_NfrcComp-rdr< ?0tr_LearnerStatu0A

6<890588 = )tart c#$e c/a"4e)O a$$e$ a l#cal )tr%"4 PLe"_Item_Act_-la4 <6 L#cal )tr%"4 PI" alue)J Pc#$e%"J PDe)cI"J P)tr_N7rc(#m+Or$rJ P)tr_Lear"erStatu)J PLe"_Item_Act_-la4Q 6<890588 = e"$ c#$e c/a"4e)<6 9L Set Transaction Title L9 LM_P!#$_7R-%LM_TR!"S!)T_T(TL$ O Msg#etTe@tM+>,>>K +64K PPNQ (f !llMSStr_$nroll_for_(DN Then 3n ideMLM_P!#$_7R-%LM_2&RM!TT$D_"MNQ LM_P!#$_7R-%LM_2&RM!TT$D_"M O Sstr_Learner_"ameQ $lse LM_P!#$_7R-%LM_2&RM!TT$D_"M O PPQ ideMLM_P!#$_7R-%LM_2&RM!TT$D_"MNQ $ndE(fQ 9L Paint the !ctivity eader L9 SactDetails O create L$$_$"R&LLM$"T8L$$_!)T_D$T!(LSMNQ SactDetails%set!ctivity(dMLM_!)T_3(_7R-%LM_!)T_(D%ValueNQ SactDetails%setPerson(dMLM_!)T_3(_7R-%LM_P$RS&"_(D%ValueNQ SactDetails%paint!ctivity eaderMNQ 9L Set page title 'ith results from paint!ctivity eader L9 LM_P!#$_7R-%LM_P!#$_T(TL$ O LM_$"RL_!)T_V7%LM_!)T_"!M$%ValueQ 9L Disable !ctivity linH for this page L9 LM_$"RL_!)T_V7%LM_!)T_"!M$%$nabled O 2alseQ 9L (nitialiTe Tabs L9 Scls_c$nrlmt0ean O create LM_$"RLMT_!TTR08LM_!)T_$"RLMT_0$!"MLM_$"RL_!)T_V7%LM_$"RLMT_(D%ValueNQ 9LL #et learner enrollment status% L9 Sstr_LearnerStatus O LM_$"RL_!)T_V7%LM_STTS%ValueQ Local L$0L_!)T(V(T*8LoadSubTabs Scls_LoadSubTabs O create L$0L_!)T(V(T*8LoadSubTabsMNQ Scls_LoadSubTabs%(nitialiTeSubTabsMPLM_L$!R"_!)T_DTLPNQ LM_!)T_"!V_7R-%LM_0L_!PPR&V!LS%Visible O 2alseQ S!)T_(D O LM_!)T_3(_7R-%LM_!)T_(DQ S)urrdt O /DateQ SQL$@ecMPS$L$)T LM_)(_(DK LM_"2R)_)&MP_&RDRK LM_("STR_(D 2R&M PS_LM_!)T_V7 7 $R$ LM_!)T_(DOP R LM_!)T_3(_7R-%LM_!)T_(D%ValueK LM_(TM_3(_7R-%LM_)(_(D%ValueK Sstr_"frc)omp&rdrK Sinstructor(dNQ Srec_LM_)(_V7 O )reateRecordMRecord%LM_)(_V7NQ Srec_LM_)(_V7%LM_)(_(D%Value O LM_(TM_3(_7R-%LM_)(_(D%ValueQ Local L$0&_P$RS&"8Person)lass SinstructorPersonQ Local L$M_3T(L(T($S83tility Sob=_utility O create L$M_3T(L(T($S83tilityMNQ 9L Populate the (nstructor "ame L9 LM_)!T_3(_7R-%LM_("STR_"!M$%Visible O 2alseQ LM_(M_D$R(V$D%M)2(M3S$R!"D"$T%Visible O 2alseQ (f "oneMSinstructor(dN Then Local Ro'set SrsSessionsQ SrsSessions O )reateRo'setMRecord%LM_S$S_("STRNQ SrsSessions%2illMP7 $R$ LM_!)T_(D O 8+ !"D LM_R&L$_(D O DPK LM_!)T_3(_7R-%LM_!)T_(D%ValueNQ (f !llMSrsSessionsN Then (f !llMSrsSessionsM+N%LM_S$S_("STR%LM_!)T_(D%ValueN Then Sinstructor(d O SrsSessionsM+N%LM_S$S_("STR%LM_("STR_(D%ValueQ $lse

SrsSessions%2illMP7 $R$ LM_!)T_(D O 8+PK LM_$"RLMT_7R-%LM_!)T_(D%ValueNQ (f !llMSrsSessionsN Then Sinstructor(d O SrsSessionsM+N%LM_S$S_("STR%LM_("STR_(D%ValueQ $ndE(fQ $ndE(fQ $lse SrsSessions%2illMP7 $R$ LM_!)T_(D O 8+PK LM_$"RLMT_7R-%LM_!)T_(D%ValueNQ (f !llMSrsSessionsN Then Sinstructor(d O SrsSessionsM+N%LM_S$S_("STR%LM_("STR_(D%ValueQ $ndE(fQ $ndE(fQ $ndE(fQ (f !llMSinstructor(dN Then SinstructorPerson O create L$0&_P$RS&"8Person)lassMSinstructor(dNQ SinstructorPerson%getPersonDetailsMNQ Sinstructor"ame O SinstructorPerson%Display"ameQ LM_)!T_3(_7R-%LM_("STR_"!M$%Visible O TrueQ LM_)!T_3(_7R-%LM_("STR_"!M$%Value O Sinstructor"ameQ 9L Set up the (nstant MessagingM)hatN feature for (nstructor L9 Sob=_utility%setup(MMSinstructor(dNQ $ndE(fQ (f Srec_LM_)(_V7%Select0y-eyMN Then LM_)!T_3(_7R-%LM_)S_D$S)R O Srec_LM_)(_V7%LM_)S_D$S)R%ValueQ $ndE(fQ (f Sstr_"frc)omp&rdr O P*P Then LM_)!T_3(_7R-%LM_"2R)$_&RDR_#RP+%Visible LM_)!T_3(_7R-%LM_"2R)$_&RDR_#RP;%Visible $lse LM_)!T_3(_7R-%LM_"2R)$_&RDR_#RP+%Visible LM_)!T_3(_7R-%LM_"2R)$_&RDR_#RP;%Visible $ndE(fQ Local Local Local Local Local Local

O TrueQ O 2alseQ O 2alseQ O TrueQ

2ield Snotes3RL_2ldQ #rid SmygridK SnotegridQ #rid)olumn Sgrid_columnK Snotegrid_columnQ Ro'set Srs_(temsK Srs_actQ string Snotes3RL_LblQ number Sci_idK S@Q

Sci_id O LM_(TM_3(_7R-%LM_)(_(D%ValueQ Srs_(tems O #etLevel,MNM+N%#etRo'setMScroll%LM_)(_!TT_V7NQ Srs_(tems%2lushMNQ Srs_(tems%SelectMRecord%LM_)(_!TT_V7K P7 $R$ LM_)(_(D O8+PK Sci_idNQ Srs_act O )reateRo'setMRecord%LM_!)T_!T) _V7NQ Srs_act%2illMP7 $R$ LM_!)T_(D O8+PK S!)T_(DNQ (f Srs_act%!ctiveRo')ount O + !nd "oneMSrs_act%#etRo'M+N%LM_!)T_!T) _V7%!TT!) 3S$R2(L$%ValueN Then $lse 2or S@ O + To Srs_act%!ctiveRo')ount 9LL Display activity attachments 'hen display option or display to enrolled learner and the logged in L9 (f MSrs_actMS@N%LM_!)T_!T) _V7%LM_D(SP_T*P$%Value O MSstr_LearnerStatus O P$"RLP &r Sstr_LearnerStatus O P)&MPP &r Sstr_LearnerStatus O P("P&PNN &r Srs_actMS@N%LM_!)T_!T) _V7%LM_D(SP_T*P$%Value is display to all learner is enrolled% P;,P !nd

O P+,P Then

(f Srs_(tems%!ctiveRo')ount O + !nd "oneMSrs_(tems%#etRo'M+N%LM_)(_!TT_V7%!TT!) 3S$R2(L$%ValueN Then

9L don1t insert ro'Q use dummy ro' L9 $lse Srs_(tems%(nsertRo'MSrs_(tems%!ctiveRo')ountNQ $ndE(fQ Srs_(temsMSrs_(tems%!ctiveRo')ountN%LM_)(_!TT_V7%!TT!) 3S$R2(L$%Value O Srs_actMS@N%LM_!)T_!T) _V7%!TT!) 3S$R2(L$%ValueQ Srs_(temsMSrs_(tems%!ctiveRo')ountN%LM_)(_!TT_V7%!TT!) S*S2(L$"!M$%Value O Srs_actMS@N%LM_!)T_!T) _V7%!TT!) S*S2(L$"!M$%ValueQ Srs_(temsMSrs_(tems%!ctiveRo')ountN%LM_)(_!TT_V7%LM_R&7_M!("T_DTTM%Value O Srs_actMS@N%LM_!)T_!T) _V7%LM_R&7_M!("T_DTTM%ValueQ Srs_(temsMSrs_(tems%!ctiveRo')ountN%LM_)(_!TT_V7%LM_)S_D$S)R%Value O Srs_actMS@N%LM_!)T_!T) _V7%LM_)S_D$S)R%ValueQ $ndE(fQ $ndE2orQ $ndE(fQ (f Srs_(tems%!ctiveRo')ount O + !nd "oneMSrs_(tems%#etRo'M+N%LM_)(_!TT_V7%!TT!) 3S$R2(L$%ValueN Then ideScrollMScroll%LM_)(_!TT_V7NQ $lse LM_)!T_3(_7R-%LM_!T) _"&R&7S%Visible O 2alseQ 2or S@ O + To Srs_(tems%!ctiveRo')ount Srs_(tems%#etRo'MS@N%LM_)(_!TT_V7%!TT!) 3S$R2(L$%Label O Srs_(tems%#etRo'MS@N%LM_)(_!TT_V7%!TT!) 3S$R2(L$%ValueQ $ndE2orQ Smygrid O #et#ridMPage%LM_L$!R"_!)T_DTLK PLM_)(_!TT_V7PNQ Sgrid_column O Smygrid%#et)olumnMP!TT!) 3S$R2(L$PNQ Sgrid_column%Label O Msg#etTe@tM+>,>>K 6DK PPNQ $ndE(fQ Srs_(tems O #etLevel,MNM+N%#etRo'setMScroll%LM_)(_"&T$S_V7NQ Snotes3RL_2ld O Srs_(temsM+N%LM_3RL_7$0_7R-%LM_"&T$_3RLQ Snotes3RL_Lbl O Snotes3RL_2ld%#etShortLabelMPLM_"&T$_3RLPNQ Srs_(tems%2lushMNQ Srs_(tems%SelectMRecord%LM_)(_"&T$S_V7K P7 $R$ LM_)(_(D O8+PK Sci_idNQ Srs_act O )reateRo'setMRecord%LM_!)T_"&T$S_V7NQ Srs_act%2illMP7 $R$ LM_!)T_(D O8+PK S!)T_(DNQ (f Srs_act%!ctiveRo')ount O + !nd "oneMSrs_act%#etRo'M+N%LM_!)T_"&T$S_V7%LM_"&T$S%ValueN Then $lse (f Srs_(tems%!ctiveRo')ount O + !nd "oneMSrs_(tems%#etRo'M+N%LM_)(_"&T$S_V7%LM_"&T$S%ValueN Then 9LL Display activity notes 'hen display option is display to all or display to enrolled learner and the logged in learner is enrolled% L9 (f MSrs_actM+N%LM_!)T_"&T$S_V7%LM_D(SP_T*P$%Value O P;,P !nd MSstr_LearnerStatus O P$"RLP &r Sstr_LearnerStatus O P)&MPP &r Sstr_LearnerStatus O P("P&PNN &r Srs_actM+N%LM_!)T_"&T$S_V7%LM_D(SP_T*P$%Value O P+,P Then Srs_(temsM+N%LM_)(_"&T$S_V7%LM_"&T$S%Value O Srs_actM+N%LM_!)T_"&T$S_V7%LM_"&T$S%ValueQ Srs_(temsM+N%LM_)(_"&T$S_V7%LM_R&7_M!("T_DTTM%Value O Srs_actM+N%LM_!)T_"&T$S_V7%LM_R&7_M!("T_DTTM%ValueQ Srs_(temsM+N%LM_3RL_7$0_7R-%LM_"&T$_3RL%Value O Srs_actM+N%LM_!)T_"&T$S_V7%LM_"&T$_3RL%ValueQ (f !llMSrs_(temsM+N%LM_3RL_7$0_7R-%LM_"&T$_3RL%ValueN Then Srs_(temsM+N%LM_3RL_7$0_7R-%LM_"&T$_3RL%Label O Srs_(temsM+N%LM_3RL_7$0_7R-%LM_"&T$_3RL%ValueQ $lseQ Srs_(temsM+N%LM_3RL_7$0_7R-%LM_"&T$_3RL%Value O PPQ Srs_(temsM+N%LM_3RL_7$0_7R-%LM_"&T$_3RL%Label O P PQ

Srs_(temsM+N%LM_3RL_7$0_7R-%LM_"&T$_3RL%Visible O 2alseQ $ndE(fQ $ndE(fQ $lse 9L ResolutionE >4;4>D !dded the if conditionL9 (f MSrs_actM+N%LM_!)T_"&T$S_V7%LM_D(SP_T*P$%Value O P;,P !nd MSstr_LearnerStatus O P$"RLP &r Sstr_LearnerStatus O P)&MPP &r Sstr_LearnerStatus O P("P&PNN &r Srs_actM+N%LM_!)T_"&T$S_V7%LM_D(SP_T*P$%Value O P+,P Then Srs_(tems%(nsertRo'MSrs_(tems%!ctiveRo')ountNQ Srs_(temsMSrs_(tems%!ctiveRo')ountN%LM_)(_"&T$S_V7%LM_"&T$S%Value O Srs_actM+N%LM_!)T_"&T$S_V7%LM_"&T$S%ValueQ Srs_(temsMSrs_(tems%!ctiveRo')ountN%LM_)(_"&T$S_V7%LM_R&7_M!("T_DTTM%Value O Srs_actM+N%LM_!)T_"&T$S_V7%LM_R&7_M!("T_DTTM%ValueQ Srs_(temsMSrs_(tems%!ctiveRo')ountN%LM_3RL_7$0_7R-%LM_"&T$_3RL%Value O Srs_actM+N%LM_!)T_"&T$S_V7%LM_"&T$_3RL%ValueQ (f !llMSrs_(temsMSrs_(tems%!ctiveRo')ountN%LM_3RL_7$0_7R-%LM_"&T$_3RL%ValueN Then Srs_(temsMSrs_(tems%!ctiveRo')ountN%LM_3RL_7$0_7R-%LM_"&T$_3RL%Label O Srs_(temsMSrs_(tems%!ctiveRo')ountN%LM_3RL_7$0_7R-%LM_"&T$_3RL%ValueQ $lse Srs_(temsMSrs_(tems%!ctiveRo')ountN%LM_3RL_7$0_7R-%LM_"&T$_3RL%Value O PPQ Srs_(temsMSrs_(tems%!ctiveRo')ountN%LM_3RL_7$0_7R-%LM_"&T$_3RL%Label O P PQ Srs_(temsMSrs_(tems%!ctiveRo')ountN%LM_3RL_7$0_7R-%LM_"&T$_3RL%Visible O 2alseQ $ndE(fQ $ndE(fQ $ndE(fQ (f Srs_act%!ctiveRo')ount I + Then 2or S@ O ; To Srs_act%!ctiveRo')ount 9L ResolutionE >4;4>D !dded the if conditionL9 (f MSrs_actMS@N%LM_!)T_"&T$S_V7%LM_D(SP_T*P$%Value O P;,P !nd MSstr_LearnerStatus O P$"RLP &r Sstr_LearnerStatus O P)&MPP &r Sstr_LearnerStatus O P("P&PNN &r Srs_actMS@N%LM_!)T_"&T$S_V7%LM_D(SP_T*P$%Value O P+,P Then Srs_(tems%(nsertRo'MSrs_(tems%!ctiveRo')ountNQ Srs_(temsMSrs_(tems%!ctiveRo')ountN%LM_)(_"&T$S_V7%LM_"&T$S%Value O Srs_actMS@N%LM_!)T_"&T$S_V7%LM_"&T$S%ValueQ Srs_(temsMSrs_(tems%!ctiveRo')ountN%LM_)(_"&T$S_V7%LM_R&7_M!("T_DTTM%Value O Srs_actMS@N%LM_!)T_"&T$S_V7%LM_R&7_M!("T_DTTM%ValueQ Srs_(temsMSrs_(tems%!ctiveRo')ountN%LM_3RL_7$0_7R-%LM_"&T$_3RL%Value O Srs_actMS@N%LM_!)T_"&T$S_V7%LM_"&T$_3RL%ValueQ (f !llMSrs_(temsMSrs_(tems%!ctiveRo')ountN%LM_3RL_7$0_7R-%LM_"&T$_3RL%ValueN Then Srs_(temsMSrs_(tems%!ctiveRo')ountN%LM_3RL_7$0_7R-%LM_"&T$_3RL%Label O Srs_(temsMSrs_(tems%!ctiveRo')ountN%LM_3RL_7$0_7R-%LM_"&T$_3RL%ValueQ $lse Srs_(temsMSrs_(tems%!ctiveRo')ountN%LM_3RL_7$0_7R-%LM_"&T$_3RL%Value O PPQ Srs_(temsMSrs_(tems%!ctiveRo')ountN%LM_3RL_7$0_7R-%LM_"&T$_3RL%Label O P PQ Srs_(temsMSrs_(tems%!ctiveRo')ountN%LM_3RL_7$0_7R-%LM_"&T$_3RL%Visible O 2alseQ $ndE(fQ $ndE(fQ $ndE2orQ $ndE(fQ $ndE(fQ (f Srs_(tems%!ctiveRo')ount O + !nd "oneMSrs_(tems%#etRo'M+N%LM_)(_"&T$S_V7%LM_"&T$S%ValueN Then

$lse

ideScrollMScroll%LM_)(_"&T$S_V7NQ

6<890588 = )tart c#$e c/a"4e)<6 PLe"_Item_Act_-la4 I SNSQ 6<890588 = e"$ c#$e c/a"4e)<6 LM_)!T_3(_7R-%LM_!T) _"&R&7S%Visible O 2alseQ 2or S@ O + To Srs_(tems%!ctiveRo')ount (f LenMSrs_(tems%#etRo'MS@N%LM_)(_"&T$S_V7%LM_"&T$S%ValueN I ;64 Then 6<890588 = )tart c#$e c/a"4e)<6 PLe"_Item_Act_-la4 I S2SQ 6<890588 = e"$ c#$e c/a"4e)<6 Srs_(tems%#etRo'MS@N%LM_)!T_3(_7R-%LM_M("(_"&T$S%Value O SubstringMSrs_(tems%#etRo'MS@N%LM_)(_"&T$S_V7%LM_"&T$S%ValueK +K ;6+N R P%%%PQ Srs_(tems%#etRo'MS@N%LM_)!T_3(_7R-%LM_V($7_"&T$S%Display&nly O 2alseQ Srs_(tems%#etRo'MS@N%LM_)!T_3(_7R-%LM_V($7_"&T$S%Label O Msg#etTe@tM+>,>GK +6;FK PMessage not 2oundPNQ $lse Srs_(tems%#etRo'MS@N%LM_)!T_3(_7R-%LM_M("(_"&T$S%Value O Srs_(tems%#etRo'MS@N%LM_)(_"&T$S_V7%LM_"&T$S%ValueQ Srs_(tems%#etRo'MS@N%LM_)!T_3(_7R-%LM_V($7_"&T$S%Display&nly O TrueQ Srs_(tems%#etRo'MS@N%LM_)!T_3(_7R-%LM_V($7_"&T$S%Label O Msg#etTe@tM+>,>GK +6;FK PMessage not 2oundPNQ $ndE(fQ (f !llMSrs_(tems%#etRo'MS@N%LM_)(_"&T$S_V7%LM_"&T$_3RL%ValueN Then Srs_(tems%#etRo'MS@N%LM_3RL_7$0_7R-%LM_"&T$_3RL%Value O Srs_(tems%#etRo'MS@N%LM_)(_"&T$S_V7%LM_"&T$_3RL%ValueQ $ndE(fQ (f !llMSrs_(temsMS@N%LM_3RL_7$0_7R-%LM_"&T$_3RL%ValueN Then Srs_(tems%#etRo'MS@N%LM_3RL_7$0_7R-%LM_"&T$_3RL%Label O Srs_(temsMS@N%LM_3RL_7$0_7R-%LM_"&T$_3RL%ValueQ $lse Srs_(tems%#etRo'MS@N%LM_3RL_7$0_7R-%LM_"&T$_3RL%Value O PPQ Srs_(tems%#etRo'MS@N%LM_3RL_7$0_7R-%LM_"&T$_3RL%Label O P PQ Srs_(tems%#etRo'MS@N%LM_3RL_7$0_7R-%LM_"&T$_3RL%Visible O 2alseQ End3!fA E"$=I7 E"$=-#rQ 6<890588 = )tart c#$e c/a"4e)<6 I7 PLe"_Item_Act_-la4 I SNS T/e" -#r P> I 1 T# Pr)_Item)EAct%*eR#&(#u"t Pr)_Item)E3etR#&HP>KELM_(AT_UI_!R,ELM_ IE!_NOTESE %)%:le I -al)eQ $ndE2orQ !f ?& 9 @ Then E"$=I7Q 6<890588 = E"$ c#$e c/a"4e)<6 6<890588 = )tart c#$e c/a"4e)O c#mme"te$ t/e :l#c? #7 c#$e<6 M< I7 PB I 8 T/e" Srs_(tems%#etRo'M+N%LM_)!T_3(_7R-%LM_V($7_"&T$S%Visible O 2alseQ E"$=I7Q<L 6<890588 = E"$ c#$e c/a"4e)<6 $ndE(fQ End3!fA Snotegrid O #et#ridMPage%LM_L$!R"_!)T_DTLK PLM_)(_!TT_V7;PNQ Snotegrid_column O Snotegrid%#et)olumnMPLM_"&T$_3RLPNQ Snotegrid_column%Label O Snotes3RL_LblQ

9L0uild !ctivity !genda gridL9 Local L$0L_3T(L(T($S83tility Sob=_Durn3til O create L$0L_3T(L(T($S83tilityMNQ Local Ro'set Srs_L))mplQ Local Ro' Sro'_L))mplQ Local Record Srec_L))mplQ Local Record Srec_L)7rHQ Local 2ield Sfld_re.dQ Local 2ield Sfld_re.dDispQ Local 2ield Sfld_0asL)Q Local 2ield Sfld_vie'SchedQ Local integer Sint_iQ Srs_L))mpl O #etRo'setMScroll%LM_L)_)MPL_V7NQ Srs_L))mpl%2lushMNQ Srs_L))mpl%SelectMRecord%LM_L)_)MPL_V7K P7 $R$ LM_!)T_(D O8+PK S!)T_(DNQ (f Srs_L))mpl%!ctiveRo')ount O + !nd "oneMSrs_L))mpl%#etRo'M+N%LM_L)_)MPL_V7%LM_!)T_(D%ValueN Then ideScrollMScroll%LM_L)_)MPL_V7NQ $lse 2or Sint_i O + To Srs_L))mpl%Ro')ount Sro'_L))mpl O Srs_L))mplMSint_iNQ Srec_L))mpl O Sro'_L))mpl%LM_L)_)MPL_V7Q Srec_L)7rH O Sro'_L))mpl%LM_!)T_L)_7R-Q Sfld_re.d O Srec_L))mpl%LM_R$QD_2L!#Q Sfld_0asL) O Srec_L))mpl%LM_0!S_L)_T*P$Q Sfld_re.dDisp O Srec_L)7rH%LM_R$QD_D(SPQ Sfld_vie'Sched O Srec_L)7rH%LM_V($7_S) $D_L"-Q 9LDisplay Re.uired9&ptionalL9 (f Sfld_re.d%Value O P*P Then Sfld_re.dDisp%Value O Msg#etTe@tM+>,G;K +4,4K PPNQ $lse Sfld_re.dDisp%Value O Msg#etTe@tM+>,G;K +4,<K PPNQ $ndE(fQ Srec_L)7rH%LM_D3R!T(&"%Value O Sob=_Durn3til%get!ctivityDuration2mtMSrec_L))mpl%LM_D3R"_D!*S%ValueK Srec_L))mpl%LM_D3R"_ RS%ValueK Srec_L))mpl%LM_D3R"_M("S%ValueNQ (f !llMSrec_L)7rH%LM_D3R!T(&"%ValueN Then Srec_L)7rH%LM_D3R!T(&"%Visible O TrueQ Srec_L)7rH%LM_D3R!T(&"%Value O PMP R Srec_L)7rH%LM_D3R!T(&"%#etShortLabelMPLM_D3R!T(&"PN R P 8 P R Srec_L)7rH%LM_D3R!T(&"%Value R PNPQ $lse Srec_L)7rH%LM_D3R!T(&"%Visible O 2alseQ $ndE(fQ 9LDisplay Vie' ScheduleL9 (f Sfld_0asL)%Value O P;,P &r Sfld_0asL)%Value O P4,P Then Sfld_vie'Sched%Visible O TrueQ $lse Sfld_vie'Sched%Visible O 2alseQ $ndE(fQ $ndE2orQ $ndE(fQ Srs_L))mpl%SortMLM_L)_)MPL_V7%LM_)&MP_S$Q_(DK P!PNQ 9L0uild Schedule gridL9 Local Ro'set Sses_sbp_v'Q Local L$RM_S$SS(&"8DisplaySessions SDisplaySession O create L$RM_S$SS(&"8DisplaySessionsMNQ Sses_sbp_v' O #etRo'setMScroll%LM_S$S_S0P_V7NQ Sses_sbp_v'%2lushMNQ Sses_sbp_v'%SelectMRecord%LM_S$S_S0P_V7K P7 $R$ LM_!)T_(D O8+ &RD$R 0* LM_S$S_DTKLM_ST!RT_TMPK S!)T_(DNQ UL start code for Resolution >D6+>6 LI

#etRo'setMScroll%LM_S$S_S0P_V7N%#etRo'M+N%#etRecordMRecord%LM_T?2(5_7R-N%#et2ieldM 2ield%LM_$"D_TMN%Visible O 2alseQ UL end code for Resolution >D6+>6 LI (f Sses_sbp_v'%!ctiveRo')ount O + !nd "oneMSses_sbp_v'%#etRo'M+N%LM_S$S_S0P_V7%LM_!)T_(D%ValueN Then ideScrollMScroll%LM_S$S_S0P_V7NQ LM_)!T_3(_7R-%LM_S) D_"&R&7S%Visible O TrueQ $lse SDisplaySession%2ormat!ctSchedMNQ LM_)!T_3(_7R-%LM_S) D_"&R&7S%Visible O 2alseQ 9L Disable L7) LinHs L9 2or Sint_i O + To Sses_sbp_v'%!ctiveRo')ount Sfld_fcltyLnH O Sses_sbp_v'MSint_iN%#etRecordMRecord%LM_RM_S$S_7R-N%#et2ieldM2ield%LM_2)LT*_L"-NQ (f Sfld_fcltyLnH%Value O P7P Then Sfld_fcltyLnH%$nabled O 2alseQ $lse Sfld_fcltyLnH%$nabled O TrueQ $ndE(fQ UL start code for Resolution >D6+>6 LI Local string Sstr+K Sstr;Q Local datetime Sdtm+K Sdtm;Q Local date Send_tmQ (f !llMSses_sbp_v'MSint_iN%#etRecordMRecord%LM_S$S_S0P_V7N%#et2ieldM2ield%LM_$"D_TMN% ValueN Then Sstr+ O StringMDateTimeToLocaliTedStringMSses_sbp_v'MSint_iN%#etRecordMRecord%LM_S$S_S0P_V 7N%#et2ieldM2ield%LM_S$S_DTN%ValueK PMM9dd9yyPNNQ Sstr; O StringMTimeMSses_sbp_v'MSint_iN%#etRecordMRecord%LM_S$S_S0P_V7N%#et2ieldM2ield%LM_ $"D_TMN%ValueNNQ Sstr+ O Sstr+ R P P R Sstr;Q Sdtm+ O DateTimeValueMSstr+NQ 9LStartE)ode !dded to fi@ the issue related to 7ebcast session ResolutionJ>F+4G<L9 rem Sdtm; O DateTimeToTime?oneMSdtm+K /ServerTime?oneK Sses_sbp_v'MSint_iN%#etRecordMRecord%LM_S$S_S0P_V7N%#et2ieldM2ield%T(M$?&"$N%Value NQ Sdtm; O DateTimeToTime?oneMSdtm+K P0asePK Sses_sbp_v'MSint_iN%#etRecordMRecord%LM_S$S_S0P_V7N%#et2ieldM2ield%T(M$?&"$N%Value NQ 9LStartE)ode !dded to fi@ the issue related to 7ebcast session ResolutionJ>F+4G<L9 9L separate time L9 Sses_sbp_v'MSint_iN%#etRecordMRecord%LM_S$S_S0P_V7N%#et2ieldM2ield%LM_$"D_TMN%Visi ble O 2alseQ #etRo'setMScroll%LM_S$S_S0P_V7N%#etRo'MSint_iN%#etRecordMRecord%LM_T?2(5_7R-N%#et2 ieldM2ield%LM_$"D_TMN%Visible O TrueQ #etRo'setMScroll%LM_S$S_S0P_V7N%#etRo'MSint_iN%#etRecordMRecord%LM_T?2(5_7R-N%#et2 ieldM2ield%LM_$"D_TMN%Value O TimePartMSdtm;NQ $ndE(fQ UL end code for Resolution >D6+>6 LI $ndE2orQ $ndE(fQ List!ctDtlPreRe.sMLM_(TM_3(_7R-%LM_)(_(D%ValueNQ List!ctDtl$.uivalentsMLM_(TM_3(_7R-%LM_)(_(D%ValueNQ Local L$0L_!)T(V(T*8!ctivity(nterface Sob=_!ct(ntfaceQ Local date Sdt_Lst$nrlDtQ Local L$)S_S$!R) 8Search)ontroller Sob=_Srch)ontrollerQ

Sob=_Srch)ontroller O create L$)S_S$!R) 8Search)ontrollerMNQ Sob=_!ct(ntface O create L$0L_!)T(V(T*8!ctivity(nterfaceMLM_!)T_3(_7R-%LM_!)T_(D%ValueNQ Sdt_Lst$nrlDt O Sob=_!ct(ntface%#etLast$nrlDateMNQ

(f LM_!)T_3(_7R-%LM_3(_2R&M_M&D!L O P*P &r LM_(TM_3(_7R-%LM_3(_2R&M_M&D!L O P*P Then LM_!)T_3(_7R-%LM_$"R&LL_0T"%Visible O 2alseQ LM_!)T_3(_7R-%LM_!DDPL!"_0T"%Visible O 2alseQ LM_)!T_3(_7R-%LM_$"RL_)L&SD_MS#%Visible O 2alseQ $lse (f LM_$"RL_!)T_V7%LM_!)T_ST!T3S%Value O P4P &r M!llMSdt_Lst$nrlDtN !nd Sdt_Lst$nrlDt U /DateN Then LM_!)T_3(_7R-%LM_$"R&LL_0T"%Visible O 2alseQ LM_!)T_3(_7R-%LM_!DDPL!"_0T"%Visible O 2alseQ LM_)!T_3(_7R-%LM_!DD_TM_M0R_0T"%Visible O 2alseQ LM_)!T_3(_7R-%LM_$"RL_)L&SD_MS#%Visible O TrueQ $lse LM_!)T_3(_7R-%LM_$"R&LL_0T"%Visible O TrueQ (f Sob=_Srch)ontroller%is)lass!vailable2or$nrollmentMLM_!)T_3(_7R-%LM_!)T_(D%ValueN Then LM_!)T_3(_7R-%LM_$"R&LL_0T"%$nabled O TrueQ $lse LM_!)T_3(_7R-%LM_$"R&LL_0T"%$nabled O 2alseQ $ndE(fQ 6< 8T99D8O A$$ +la" :utt#" "#t t# :e *%)%:le %7 t/e act%*%tA %) alrea$A a$$e$ t# t/e lear"%"4 +la" <6 S'LEBecHSSelect LM_PERSON_ID -ROM PS_LM_OPRID_ID_ ! !1ERE OPRIDINS U .U)erI$ U SN SJ P+er)#"%$KQ S'LEBecHSSELE(T N0N -ROM PS_LM_ENRLMT !1ERE LM_STTS I NPLANN AND LM_A(T_IDIO1 AND LM_PERSON_IDIO8SJ LM_A(T_UI_!R,ELM_A(T_IDE alueJ P+er)#"%$J P(#u"tKQ I7 P(#u"t I S0S T/e" LM_A(T_UI_!R,ELM_ADDPLAN_BTNE %)%:le I -al)eQ El)e LM_!)T_3(_7R-%LM_!DDPL!"_0T"%Visible O TrueQ E"$=I7Q rem LM_A(T_UI_!R,ELM_ADDPLAN_BTNE %)%:le I TrueQ 6<E"$ 8T99D8 <6

LM_)!T_3(_7R-%LM_$"RL_)L&SD_MS#%Visible O 2alseQ $ndE(fQ $ndE(fQ (f /)omponent O )omponent%LM_LPL"_S$!R) Then 9L (f Learning Plan )omponentK these 'orH fields should not be available L9 LM_!)T_3(_7R-%LM_$"R&LL_0T"%Visible O 2alseQ LM_)!T_3(_7R-%LM_0R&7S$_LR"%Visible O 2alseQ $ndE(fQ 9LPopulate &b=ectives MetL9 Local L$L&_L$!R"("#_&0:$)T(V$S8&b=ectivesPageSetup Scls_&b=v O create L$L&_L$!R"("#_&0:$)T(V$S8&b=ectivesPageSetupMNQ Local string Sstr_page O PLM_L$!R"_!)T_DTLPQ Scls_&b=v%populate&b=vMetDtlsMLM_(TM_3(_7R-%LM_)(_(D%ValueK Sstr_pageNQ (f !llMLM_!)T_3(_7R-%LM_3(_2R&M_M&D!L%ValueN &r #etLevel,MNM+N%LM_(TM_3(_7R-%LM_)!LL("#_)&MP"T%Value O )omponent%LM_LPL"_DTL Then LM_)!T_3(_7R-%LM_SR) _LR"%Visible O 2alseQ

LM_)!T_3(_7R-%LM_0R&7S$_LR"%Visible O 2alseQ $ndE(fQ LM_)!T_3(_7R-%LM_!DD_TM_M0R_0T"%Visible O 2alseQ Local #rid SschedSession O #et#ridMPage%LM_L$!R"_!)T_DTLK PLM_S$S_S0P_V7PNQ Local #rid)olumn Ssession"ame O SschedSession%#et)olumnMPS$SS(&"_"!M$PNQ Ssession"ame%Label O Msg#etTe@tM+>,G;K 6K PPNQ LM_PR#_P#_7R-%LM_PR#_PL!"_#P0%Visible O 2alseQ

Peo1 eCode &P!/e*: LM_LEARN_ITM_DTL;Ac$i=!$e


import L$L&_L$!R"("#_&0:$)T(V$S8LQ import L$)_)!T!L&#_("T$R2!)$8!ctivityPriceQ import L$)S8!ctivityQ import L$0L_!)T(V(T*8!ctivity(nterfaceQ import L$M_3T(L(T($S8LQ import L$0&_)&MM&"8Date2ormatQ import L$)R_3T(L8LQ import L$M_3T(L(T($S8&b=ect ashtableQ import L$M_3T(L(T($S8String ashtableQ 9L SS >FD+<F8 (mported the Learner #roup )lass L9 import L$0&_L$!R"$R_#R&3PS8Learner#roupsQ 9L $nd SS >FD+<F L9 Declare 2unction ListPreRe.s People)ode LM_PRQ_S0P_7R-%LM_PRQ_STR("# 2ield2ormulaQ Declare 2unction List$.uivalents People)ode LM_PRQ_S0P_7R-%LM_PRQ_STR("# 2ield2ormulaQ Declare 2unction )hecHPreRe.s People)ode LM_PRQ_S0P_7R-%LM_PRQ_STR("# 2ield2ormulaQ Local 2ield SfldQ Local Ro'set S5latK Srs_(temsQ Local string S(nValuesK ScodeinK SDesc(nQ Local number S@lat_cntK SiK Sci_idK S@K SpersonidQ Local date S)urrdtQ )omponent number Sdelivery_methodQ )omponent string Sstr_Learner_"ameK SStr_$nroll_for_(DK Sgroup!ctionQ )omponent Ro'set SselectedLearnersQ Local L$L&_L$!R"("#_&0:$)T(V$S8&b=ectivesPageSetup Sob=_&b=vMetQ Local L$)_)!T!L&#_("T$R2!)$8!ctivityPrice Sob=_!ctPriceQ )omponent L$M_3T(L(T($S8&b=ect ashtable Scls_cResult(tems ashQ )omponent boolean Sbol_l)(!ctivities)achedK Sbool_)(!ctivities)achedQ )omponent boolean Sadv_Srch0utton)licHedQ

9L #et the Date 2ormat String for the 3sers PersonaliTations L9 Local L$0&_)&MM&"8Date2ormat SDate2ormat O create L$0&_)&MM&"8Date2ormatMNQ Local string Sstr_Date2ormat O SDate2ormat%2ormatDateStringMNQ S)urrdt O /DateQ Sci_id O LM_(TM_3(_7R-%LM_)(_(DQ Local Record Sci_recordQ Local Ro'set Sci_ro'set O )reateRo'setMRecord%LM_)(_V7;NQ Local number Sci_ro'set_countQ Sci_ro'set_count O Sci_ro'set%2illMP 7 $R$ 2(LL%LM_)(_(D O P R Sci_idNQ 9L()$ "& D6+FGF,,, E previous to fi@ing this iceK SQL e@ecs 'ere fired% 0ut because of the related language issueK 'e moved all SQL $@ecs into SQL vie's L9 (f MSci_ro'set_count I ,N Then Sci_record O Sci_ro'set%#etRo'M+N%#etRecordMRecord%LM_)(_V7;NQ

LM_)!T_3(_7R-%LM_)S_L&"#_"M%Value O Sci_record%LM_)S_L&"#_"M%ValueQ LM_)!T_3(_7R-%LM_)S_D$S)R%Value O Sci_record%LM_)S_D$S)R%ValueQ LM_)!T_3(_7R-%LM_)(_!0ST%Value O Sci_record%LM_)(_!0ST%ValueQ $ndE(fQ LM_P!#$_7R-%LM_P!#$_T(TL$ O LM_)!T_3(_7R-%LM_)S_L&"#_"MQ (f "oneMLM_!)T_3(_7R-%LM_!)T_DTL_PRVP#TL%ValueN Then LM_!)T_3(_7R-%LM_!)T_DTL_PRVP#TL O Msg#etTe@tM+>,G;K +,<DK PPNQ $ndE(fQ LM_P!#$_7R-%LM_TR!"S!)T_T(TL$ O LM_!)T_3(_7R-%LM_!)T_DTL_PRVP#TLQ LM_P!#$_7R-%LM_TR!"S!)T_T(TL$%Visible O 2alseQ LM_)!T_3(_7R-%LM_(TM_("STR)T"S%Value O Msg#et$@plainTe@tM+>,G;K +++<K PPK LM_)!T_3(_7R-%LM_)S_L&"#_"MNQ 9L add help te@t regarding activities 'ith no start date L9 LM_)!T_3(_7R-%LM_(TM_("STR)T"S%Value O LM_)!T_3(_7R-%LM_(TM_("STR)T"S%Value R )harM+,N R )harM+,N R Msg#et$@plainTe@tM+>,G;K ++6GK PPNQ (f !llMSStr_$nroll_for_(DN Then 3n ideMLM_P!#$_7R-%LM_2&RM!TT$D_"MNQ LM_P!#$_7R-%LM_2&RM!TT$D_"M O Sstr_Learner_"ameQ $lse LM_P!#$_7R-%LM_2&RM!TT$D_"M O PPQ ideMLM_P!#$_7R-%LM_2&RM!TT$D_"MNQ $ndE(fQ (f "oneMLM_)!T_3(_7R-%LM_)S_D$S)RN Then LM_)!T_3(_7R-%LM_)S_D$S)R%Visible O 2alseQ $lse LM_)!T_3(_7R-%LM_)S_D$S)R%Visible O TrueQ $ndE(fQ (f "oneMLM_)!T_3(_7R-%LM_)(_!0STN Then LM_)!T_3(_7R-%LM_)(_!0ST%Visible O 2alseQ $lse LM_)!T_3(_7R-%LM_)(_!0ST%Visible O TrueQ $ndE(fQ Local #rid SmygridQ Local #rid)olumn Sgrid_columnQ Local string Sstr_PymtStringK Sstr_!ctStringQ Srs_(tems O #etLevel,MNM+N%#etRo'setMScroll%LM_!)T_)(_3(_V7NQ Srs_(tems%2lushMNQ Sob=_!ctPrice O create L$)_)!T!L&#_("T$R2!)$8!ctivityPriceMNQ (f "oneMLM_!)T_3(_7R-%LM_P$RS&"_(D%ValueN Then (f !llMLM_(TM_3(_7R-%LM_P$RS&"_(D%ValueN Then LM_!)T_3(_7R-%LM_P$RS&"_(D%Value O LM_(TM_3(_7R-%LM_P$RS&"_(D%ValueQ $lse LM_!)T_3(_7R-%LM_P$RS&"_(D%Value O LM_3(_SR) _7R-%LM_P$RS&"_(D%ValueQ $ndE(fQ $ndE(fQ (f "oneMLM_!)T_3(_7R-%LM_P$RS&"_(D%ValueN Then SQL$@ecMPSelect LM_P$RS&"_(D 2R&M PS_LM_&PR(D_(D_V7 7 $R$ &PR(DO1P R /3ser(d R P1PK SpersonidNQ $lse Spersonid O LM_!)T_3(_7R-%LM_P$RS&"_(D%ValueQ $ndE(fQ Local L$)S8!ctivity Sob=_!ct O create L$)S8!ctivityMNQ Local L$M_3T(L(T($S8String ashtable Sstr ash_l!ctivitiesQ Local array of string Sary_l!ctivitiesQ Local array of number Sary_act(DQ Local array of string Sary_lSecurity2iltered!ctivitiesQ Sary_act(D O Sob=_!ct%!ctivityListMSpersonidK Sci_idNQ 9L>4GG+6L9 UL(f MSbol_l)(!ctivities)achedN ThenLI (f MSbool_)(!ctivities)achedN Then

(f MScls_cResult(tems ash UI "ullN Then Scls_l!ctivities O Scls_cResult(tems ash%#etMStringMSci_idNNQ (f MScls_l!ctivities UI "ullN Then Sstr ash_l!ctivities O Scls_l!ctivities !s L$M_3T(L(T($S8String ashtableQ Sary_l!ctivities O Sstr ash_l!ctivities%#et-eysMNQ Sary_lSecurity2iltered!ctivities O )reate!rrayReptMPPK ,NQ (f MSary_act(D UI "ull &r Sary_act(D%Len I ,N Then 2or Si O + To Sary_l!ctivities%Len (f MSary_act(D%2indMSary_l!ctivities ASiBN I ,N Then Sary_lSecurity2iltered!ctivities%PushMSary_l!ctivities ASiBNQ $ndE(fQ $ndE2orQ $ndE(fQ (f MSary_lSecurity2iltered!ctivities%Len I ,N Then Local L$M_3T(L(T($S83tility Scls_l3til O create L$M_3T(L(T($S83tilityMNQ Sstr_!ct(Ds O Scls_l3til%:oinStringsMSary_lSecurity2iltered!ctivitiesK PKPNQ $ndE(fQ $ndE(fQ $ndE(fQ $lse Sstr_!ct(Ds O Sob=_!ct%:oinStringsMSary_act(DK PKPNQ $ndE(fQ 9L SS >FD+<F8 )reated a SQL String to get the !ctivity (Ds L9 Local array of number Sperson_groups_localQ Local L$0&_L$!R"$R_#R&3PS8Learner#roups Slg_localQ Slg_local O create L$0&_L$!R"$R_#R&3PS8Learner#roupsMNQ Sperson_groups_local O Slg_local%#etPersons#roupsMSpersonidNQ Local string Sprsn#rps_local O Sob=_!ct%:oinStringsMSperson_groups_localK PKPNQ Sstr_!ct(D O PS$L$)T !%LM_!)T_(D 2R&M PS_LM_!)T_)(_3(_V7 !K PS_LM_!)T_S$) 0 7 $R$ !%LM_!)T_(D O 0%LM_!)T_(D !"D !%LM_)(_(DO8+ !"D 0%LM_LR"R_#R&3P_(D (" MP R Sprsn#rps_local R PNPQ 9L $nd SS >FD+<F L9 (f "oneMSstr_!ct(DsN Then Sstr_!ctString O P !"D LM_!)T_(D (" M,NPQ $lse 9L SS >FD+<F8 3sed the SQL String instead of concatenated !ctivity String 'hich holds all the !ctivity (D1s seperated by comma L9 rem Sstr_!ctString O P !"D LM_!)T_(D (" MP R Sstr_!ct(Ds R PNPQ Sstr_!ctString O P !"D LM_!)T_(D (" MP R Sstr_!ct(D R PNPQ 9L $nd SS >FD+<F L9 $ndE(fQ

Local array of number Sary_)losedact(D O Sob=_!ct%)losed!ctivityListMSpersonidK Sci_idNQ Local string Sstr_)losed!ct(Ds O Sob=_!ct%:oinStringsMSary_)losedact(DK PKPNQ (f "oneMSstr_)losed!ct(DsN Then Sstr_)losed!ctString O P !"D LM_!)T_(D (" M,NPQ $lse Sstr_)losed!ctString O P !"D LM_!)T_(D (" MP R Sstr_)losed!ct(Ds R PNPQ $ndE(fQ Local Ro'set Srs_)losed(temsQ Srs_)losed(tems O )reateRo'setMRecord%LM_!)T)(_)LS_V7NQ $valuate LM_(TM_3(_7R-%LM_)&MP_&R(# 7hen PLM_PR#_PR#S_$SSP (f Sdelivery_method O , Then 9L>4GG+6_StartsL9 9L00_>4GG6+L9 (f M "ot MSadv_Srch0utton)licHedNN Then Snbr_)()ount O Srs_(tems%SelectMRecord%LM_!)T_)(_3(_V7K P7 $R$ MLM_$"D_DT

(S "3LL &R LM_$"D_DTIO/)urrentDate(nN !"D LM_)(_(D O8+ !"D LM_!)T_ST!T3S O 1+1P R Sstr_!ctStringK Sci_idNQ 9L>4GG+6_$ndsL9 Snbr_)losed(tems O Srs_)losed(tems%2illMP7 $R$ MLM_$"D_DT (S "3LL &R LM_$"D_DTIO/)urrentDate(nN !"D LM_)(_(D O8+P R Sstr_)losed!ctStringK Sci_idNQ $lse 9L00_>4GG6+L9 9L>4GG+6_StartsL9 (f M"oneMLM_)!T_3(_7R-%LM_SR) _2R&M_DT%ValueN !nd "oneMLM_)!T_3(_7R-%LM_SR) _T&_DT%ValueNN Then Snbr_)()ount O Srs_(tems%SelectMRecord%LM_!)T_)(_3(_V7K P7 $R$ MLM_$"D_DT (S "3LL &R LM_$"D_DTIO/)urrentDate(nN !"D LM_)(_(D O8+ !"D LM_!)T_ST!T3S O 1+1P R Sstr_!ctStringK Sci_idNQ Snbr_)losed(tems O Srs_)losed(tems%2illMP7 $R$ MLM_$"D_DT (S "3LL &R LM_$"D_DTIO/)urrentDate(nN !"D LM_)(_(D O8+P R Sstr_)losed!ctStringK Sci_idNQ $lse (f M!llMLM_)!T_3(_7R-%LM_SR) _2R&M_DT%ValueN !nd !llMLM_)!T_3(_7R-%LM_SR) _T&_DT%ValueNN Then Snbr_)()ount O Srs_(tems%SelectMRecord%LM_!)T_)(_3(_V7K P7 $R$ LM_)(_(D O8+ !"D LM_!)T_ST!T3S O 1+1 !"D MMMMLM_ST!RT_DT 0$T7$$" /Date(nM8;N !"D /Date(nM84NN !"D MLM_$"D_DT (S "3LL &R LM_$"D_DTIO/)urrentDate(nNN &R MLM_D(SP_D!T$S O 1"1NNNP R Sstr_!ctStringK Sci_idK LM_)!T_3(_7R-%LM_SR) _2R&M_DT%ValueK LM_)!T_3(_7R-%LM_SR) _T&_DT%ValueNQ Snbr_)losed(tems O Srs_)losed(tems%2illMP7 $R$ LM_)(_(D O8+ !"D MMMMLM_ST!RT_DT 0$T7$$" /Date(nM8;N !"D /Date(nM84NN !"D MLM_$"D_DT (S "3LL &R LM_$"D_DTIO/)urrentDate(nNN &R MLM_D(SP_D!T$S O 1"1NNNP R Sstr_)losed!ctStringK Sci_idK LM_)!T_3(_7R-%LM_SR) _2R&M_DT%ValueK LM_)!T_3(_7R-%LM_SR) _T&_DT%ValueNQ $ndE(fQ (f M!llMLM_)!T_3(_7R-%LM_SR) _2R&M_DT%ValueN !nd "oneMLM_)!T_3(_7R-%LM_SR) _T&_DT%ValueNN Then Snbr_)()ount O Srs_(tems%SelectMRecord%LM_!)T_)(_3(_V7K P7 $R$ LM_)(_(D O8+ !"D LM_!)T_ST!T3S O 1+1 !"D MMLM_ST!RT_DT IO /Date(nM8;N !"D MLM_$"D_DT (S "3LL &R LM_$"D_DTIO/)urrentDate(nNN &R MLM_D(SP_D!T$S O 1"1NNP R Sstr_!ctStringK Sci_idK LM_)!T_3(_7R-%LM_SR) _2R&M_DT%ValueNQ Snbr_)losed(tems O Srs_)losed(tems%2illMP7 $R$ LM_)(_(D O8+ !"D MMLM_ST!RT_DT IO /Date(nM8;N !"D MLM_$"D_DT (S "3LL &R LM_$"D_DTIO/)urrentDate(nNN &R MLM_D(SP_D!T$S O 1"1NNP R Sstr_)losed!ctStringK Sci_idK LM_)!T_3(_7R-%LM_SR) _2R&M_DT%ValueNQ $ndE(fQ (f M"oneMLM_)!T_3(_7R-%LM_SR) _2R&M_DT%ValueN !nd !llMLM_)!T_3(_7R-%LM_SR) _T&_DT%ValueNN Then Snbr_)()ount O Srs_(tems%SelectMRecord%LM_!)T_)(_3(_V7K P7 $R$ LM_)(_(D O8+ !"D LM_!)T_ST!T3S O 1+1 !"D MMLM_ST!RT_DT UO /Date(nM8;N !"D MLM_$"D_DT (S "3LL &R LM_$"D_DTIO/)urrentDate(nNN &R MLM_D(SP_D!T$S O 1"1NNP R Sstr_!ctStringK Sci_idK LM_)!T_3(_7R-%LM_SR) _T&_DT%ValueNQ Snbr_)losed(tems O Srs_)losed(tems%2illMP7 $R$ LM_)(_(D O8+ !"D MMLM_ST!RT_DT UO /Date(nM8;N !"D MLM_$"D_DT (S "3LL &R LM_$"D_DTIO/)urrentDate(nNN &R MLM_D(SP_D!T$S O 1"1NNP R Sstr_)losed!ctStringK Sci_idK LM_)!T_3(_7R-%LM_SR) _T&_DT%ValueNQ $ndE(fQ $ndE(fQ $ndE(fQ $lse 9L00_>4GG6+L9 9L>4GG+6_StartsL9 (f M "ot MSadv_Srch0utton)licHedNN Then Snbr_)()ount O Srs_(tems%SelectMRecord%LM_!)T_)(_3(_V7K P7 $R$ LM_)(_(D O8+ !"D LM_DMT D_T*P$_(DO 8; !"D MLM_$"D_DT (S "3LL &R LM_$"D_DTIO/)urrentDate(nN !"D LM_!)T_ST!T3S O 1+1 P R Sstr_!ctStringK Sci_idK Sdelivery_methodNQ 9L>4GG+6_$ndsL9 Snbr_)losed(tems O Srs_)losed(tems%2illMP7 $R$ LM_)(_(D O8+ !"D LM_DMT D_T*P$_(DO 8; !"D MLM_$"D_DT (S "3LL &R LM_$"D_DTIO/)urrentDate(nNP R Sstr_)losed!ctStringK Sci_idK Sdelivery_methodNQ $lse (f M"oneMLM_)!T_3(_7R-%LM_SR) _2R&M_DT%ValueN !nd "oneMLM_)!T_3(_7R-%LM_SR) _T&_DT%ValueNN Then Snbr_)()ount O Srs_(tems%SelectMRecord%LM_!)T_)(_3(_V7K P7 $R$ LM_)(_(D O8+ !"D LM_DMT D_T*P$_(DO 8; !"D MLM_$"D_DT (S "3LL &R LM_$"D_DTIO /)urrentDate(nN !"D LM_!)T_ST!T3S O 1+1 P R Sstr_!ctStringK Sci_idK Sdelivery_methodNQ Snbr_)losed(tems O Srs_)losed(tems%2illMP7 $R$ LM_)(_(D O8+ !"D

LM_DMT D_T*P$_(DO 8; !"D MLM_$"D_DT (S "3LL &R LM_$"D_DTIO/)urrentDate(nNP R Sstr_)losed!ctStringK Sci_idK Sdelivery_methodNQ $lse (f M!llMLM_)!T_3(_7R-%LM_SR) _2R&M_DT%ValueN !nd !llMLM_)!T_3(_7R-%LM_SR) _T&_DT%ValueNN Then Snbr_)()ount O Srs_(tems%SelectMRecord%LM_!)T_)(_3(_V7K P7 $R$ LM_)(_(D O8+ !"D LM_DMT D_T*P$_(DO 8; !"D LM_!)T_ST!T3S O 1+1 !"D MMMMLM_ST!RT_DT 0$T7$$" /Date(nM84N !"D /Date(nM8<NN !"D MLM_$"D_DT (S "3LL &R LM_$"D_DTIO /)urrentDate(nNN &R MLM_D(SP_D!T$S O 1"1NNNP R Sstr_!ctStringK Sci_idK Sdelivery_methodK LM_)!T_3(_7R-%LM_SR) _2R&M_DT%ValueK LM_)!T_3(_7R-%LM_SR) _T&_DT%ValueNQ Snbr_)losed(tems O Srs_)losed(tems%2illMP7 $R$ LM_)(_(D O8+ !"D LM_DMT D_T*P$_(DO 8; !"D MMMMLM_ST!RT_DT 0$T7$$" /Date(nM84N !"D /Date(nM8<NN !"D MLM_$"D_DT (S "3LL &R LM_$"D_DTIO/)urrentDate(nNN &R MLM_D(SP_D!T$S O 1"1NNNP R Sstr_)losed!ctStringK Sci_idK Sdelivery_methodK LM_)!T_3(_7R-%LM_SR) _2R&M_DT%ValueK LM_)!T_3(_7R-%LM_SR) _T&_DT%ValueNQ $ndE(fQ (f M!llMLM_)!T_3(_7R-%LM_SR) _2R&M_DT%ValueN !nd "oneMLM_)!T_3(_7R-%LM_SR) _T&_DT%ValueNN Then Snbr_)()ount O Srs_(tems%SelectMRecord%LM_!)T_)(_3(_V7K P7 $R$ LM_)(_(D O8+ !"D LM_DMT D_T*P$_(DO 8; !"D LM_!)T_ST!T3S O 1+1 !"D MMLM_ST!RT_DT IO /Date(nM84N !"D MLM_$"D_DT (S "3LL &R LM_$"D_DTIO/)urrentDate(nNN &R MLM_D(SP_D!T$S O 1"1NNP R Sstr_!ctStringK Sci_idK Sdelivery_methodK LM_)!T_3(_7R-%LM_SR) _2R&M_DT%ValueNQ Snbr_)losed(tems O Srs_)losed(tems%2illMP7 $R$ LM_)(_(D O8+ !"D LM_DMT D_T*P$_(DO 8; !"D MMLM_ST!RT_DT IO /Date(nM84N !"D MLM_$"D_DT (S "3LL &R LM_$"D_DTIO/)urrentDate(nNN &R MLM_D(SP_D!T$S O 1"1NNP R Sstr_)losed!ctStringK Sci_idK Sdelivery_methodK LM_)!T_3(_7R-%LM_SR) _2R&M_DT%ValueNQ $ndE(fQ (f M"oneMLM_)!T_3(_7R-%LM_SR) _2R&M_DT%ValueN !nd !llMLM_)!T_3(_7R-%LM_SR) _T&_DT%ValueNN Then Snbr_)()ount O Srs_(tems%SelectMRecord%LM_!)T_)(_3(_V7K P7 $R$ LM_)(_(D O8+ !"D LM_DMT D_T*P$_(DO 8; !"D LM_!)T_ST!T3S O 1+1 !"D MMLM_ST!RT_DT UO /Date(nM84N !"D MLM_$"D_DT (S "3LL &R LM_$"D_DTIO/)urrentDate(nNN &R MLM_D(SP_D!T$S O 1"1NNP R Sstr_!ctStringK Sci_idK Sdelivery_methodK LM_)!T_3(_7R-%LM_SR) _T&_DT%ValueNQ Snbr_)losed(tems O Srs_)losed(tems%2illMP7 $R$ LM_)(_(D O8+ !"D LM_DMT D_T*P$_(DO 8; !"D MMLM_ST!RT_DT UO /Date(nM84N !"D MLM_$"D_DT (S "3LL &R LM_$"D_DTIO/)urrentDate(nNN &R MLM_D(SP_D!T$S O 1"1NNP R Sstr_)losed!ctStringK Sci_idK Sdelivery_methodK LM_)!T_3(_7R-%LM_SR) _T&_DT%ValueNQ $ndE(fQ $ndE(fQ $ndE(fQ $ndE(fQ 0reaHQ 7hen PLM_PR#_PR#S_MSSP 7hen PLM_!DM("_L$!R"("#P (f Sdelivery_method O , Then 9L00_>4GG6+L9 9L00_>4;DG<L9 (f M "ot MSadv_Srch0utton)licHedNN Then 9L>4GG+6_StartsL9 Snbr_)()ount O Srs_(tems%SelectMRecord%LM_!)T_)(_3(_V7K P7 $R$ MLM_$"D_DT (S "3LL &R LM_$"D_DTIO/)urrentDate(nN !"D LM_)(_(D O8+ !"D LM_!)T_ST!T3S O 1+1P R Sstr_!ctStringK Sci_idNQ 9L>4GG+6_$ndsL9 Snbr_)losed(tems O Srs_)losed(tems%2illMP7 $R$ MLM_$"D_DT (S "3LL &R LM_$"D_DTIO/)urrentDate(nN !"D LM_)(_(D O8+P R Sstr_)losed!ctStringK Sci_idNQ $lse (f M"oneMLM_)!T_3(_7R-%LM_SR) _2R&M_DT%ValueN !nd "oneMLM_)!T_3(_7R-%LM_SR) _T&_DT%ValueNN Then Snbr_)()ount O Srs_(tems%SelectMRecord%LM_!)T_)(_3(_V7K P7 $R$ MLM_$"D_DT (S "3LL &R LM_$"D_DTIO/)urrentDate(nN !"D LM_)(_(D O8+ !"D LM_!)T_ST!T3S O 1+1P R Sstr_!ctStringK Sci_idNQ Snbr_)losed(tems O Srs_)losed(tems%2illMP7 $R$ MLM_$"D_DT (S "3LL &R LM_$"D_DTIO/)urrentDate(nN !"D LM_)(_(D O8+P R Sstr_)losed!ctStringK Sci_idNQ $lse (f M!llMLM_)!T_3(_7R-%LM_SR) _2R&M_DT%ValueN !nd !llMLM_)!T_3(_7R-%LM_SR) _T&_DT%ValueNN Then Snbr_)()ount O Srs_(tems%SelectMRecord%LM_!)T_)(_3(_V7K P7 $R$ LM_)(_(D O8+ !"D LM_!)T_ST!T3S O 1+1 !"D MMMMLM_ST!RT_DT 0$T7$$" /Date(nM8;N !"D

/Date(nM84NN !"D MLM_$"D_DT (S "3LL &R LM_$"D_DTIO/)urrentDate(nNN &R MLM_D(SP_D!T$S O 1"1NNNP R Sstr_!ctStringK Sci_idK LM_)!T_3(_7R-%LM_SR) _2R&M_DT%ValueK LM_)!T_3(_7R-%LM_SR) _T&_DT%ValueNQ Snbr_)losed(tems O Srs_)losed(tems%2illMP7 $R$ LM_)(_(D O8+ !"D MMMMLM_ST!RT_DT 0$T7$$" /Date(nM8;N !"D /Date(nM84NN !"D MLM_$"D_DT (S "3LL &R LM_$"D_DTIO/)urrentDate(nNN &R MLM_D(SP_D!T$S O 1"1NNNP R Sstr_)losed!ctStringK Sci_idK LM_)!T_3(_7R-%LM_SR) _2R&M_DT%ValueK LM_)!T_3(_7R-%LM_SR) _T&_DT%ValueNQ $ndE(fQ (f M!llMLM_)!T_3(_7R-%LM_SR) _2R&M_DT%ValueN !nd "oneMLM_)!T_3(_7R-%LM_SR) _T&_DT%ValueNN Then Snbr_)()ount O Srs_(tems%SelectMRecord%LM_!)T_)(_3(_V7K P7 $R$ LM_)(_(D O8+ !"D LM_!)T_ST!T3S O 1+1 !"D MMLM_ST!RT_DT IO /Date(nM8;N !"D MLM_$"D_DT (S "3LL &R LM_$"D_DTIO/)urrentDate(nNN &R MLM_D(SP_D!T$S O 1"1NNP R Sstr_!ctStringK Sci_idK LM_)!T_3(_7R-%LM_SR) _2R&M_DT%ValueNQ Snbr_)losed(tems O Srs_)losed(tems%2illMP7 $R$ LM_)(_(D O8+ !"D MMLM_ST!RT_DT IO /Date(nM8;N !"D MLM_$"D_DT (S "3LL &R LM_$"D_DTIO/)urrentDate(nNN &R MLM_D(SP_D!T$S O 1"1NNP R Sstr_)losed!ctStringK Sci_idK LM_)!T_3(_7R-%LM_SR) _2R&M_DT%ValueNQ $ndE(fQ (f M"oneMLM_)!T_3(_7R-%LM_SR) _2R&M_DT%ValueN !nd !llMLM_)!T_3(_7R-%LM_SR) _T&_DT%ValueNN Then 9L>4GG+6_StartsL9 Snbr_)()ount O Srs_(tems%SelectMRecord%LM_!)T_)(_3(_V7K P7 $R$ LM_)(_(D O8+ !"D LM_!)T_ST!T3S O 1+1 !"D MMLM_ST!RT_DT UO /Date(nM8;N !"D MLM_$"D_DT (S "3LL &R LM_$"D_DTIO/)urrentDate(nNN &R MLM_D(SP_D!T$S O 1"1NNP R Sstr_!ctStringK Sci_idK LM_)!T_3(_7R-%LM_SR) _T&_DT%ValueNQ 9L>4GG+6_$ndsL9 Snbr_)losed(tems O Srs_)losed(tems%2illMP7 $R$ LM_)(_(D O8+ !"D MMLM_ST!RT_DT UO /Date(nM8;N !"D MLM_$"D_DT (S "3LL &R LM_$"D_DTIO/)urrentDate(nNN &R MLM_D(SP_D!T$S O 1"1NNP R Sstr_)losed!ctStringK Sci_idK LM_)!T_3(_7R-%LM_SR) _T&_DT%ValueNQ $ndE(fQ $ndE(fQ $ndE(fQ $lse 9L00_>4GG6+L9 (f M "ot MSadv_Srch0utton)licHedNN Then 9L>4GG+6_StartsL9 Snbr_)()ount O Srs_(tems%SelectMRecord%LM_!)T_)(_3(_V7K P7 $R$ LM_)(_(D O8+ !"D LM_DMT D_T*P$_(DO 8; !"D MLM_$"D_DT (S "3LL &R LM_$"D_DTIO/)urrentDate(nN !"D LM_!)T_ST!T3S O 1+1 P R Sstr_!ctStringK Sci_idK Sdelivery_methodNQ 9L>4GG+6_$ndsL9 Snbr_)losed(tems O Srs_)losed(tems%2illMP7 $R$ LM_)(_(D O8+ !"D LM_DMT D_T*P$_(DO 8; !"D MLM_$"D_DT (S "3LL &R LM_$"D_DTIO/)urrentDate(nNP R Sstr_)losed!ctStringK Sci_idK Sdelivery_methodNQ $lse 9L00_>4GG6+L9 9L>4GG+6_StartsL9 (f M"oneMLM_)!T_3(_7R-%LM_SR) _2R&M_DT%ValueN !nd "oneMLM_)!T_3(_7R-%LM_SR) _T&_DT%ValueNN Then Snbr_)()ount O Srs_(tems%SelectMRecord%LM_!)T_)(_3(_V7K P7 $R$ LM_)(_(D O8+ !"D LM_DMT D_T*P$_(DO 8; !"D MLM_$"D_DT (S "3LL &R LM_$"D_DTIO /)urrentDate(nN !"D LM_!)T_ST!T3S O 1+1 P R Sstr_!ctStringK Sci_idK Sdelivery_methodNQ Snbr_)losed(tems O Srs_)losed(tems%2illMP7 $R$ LM_)(_(D O8+ !"D LM_DMT D_T*P$_(DO 8; !"D MLM_$"D_DT (S "3LL &R LM_$"D_DTIO/)urrentDate(nNP R Sstr_)losed!ctStringK Sci_idK Sdelivery_methodNQ $lse (f M!llMLM_)!T_3(_7R-%LM_SR) _2R&M_DT%ValueN !nd !llMLM_)!T_3(_7R-%LM_SR) _T&_DT%ValueNN Then Snbr_)()ount O Srs_(tems%SelectMRecord%LM_!)T_)(_3(_V7K P7 $R$ LM_)(_(D O8+ !"D LM_DMT D_T*P$_(DO 8; !"D LM_!)T_ST!T3S O 1+1 !"D MMMMLM_ST!RT_DT 0$T7$$" /Date(nM84N !"D /Date(nM8<NN !"D MLM_$"D_DT (S "3LL &R LM_$"D_DTIO /)urrentDate(nNN &R MLM_D(SP_D!T$S O 1"1NNNP R Sstr_!ctStringK Sci_idK Sdelivery_methodK LM_)!T_3(_7R-%LM_SR) _2R&M_DT%ValueK LM_)!T_3(_7R-%LM_SR) _T&_DT%ValueNQ Snbr_)losed(tems O Srs_)losed(tems%2illMP7 $R$ LM_)(_(D O8+ !"D LM_DMT D_T*P$_(DO 8; !"D MMMMLM_ST!RT_DT 0$T7$$" /Date(nM84N !"D /Date(nM8<NN !"D MLM_$"D_DT (S "3LL &R LM_$"D_DTIO/)urrentDate(nNN &R MLM_D(SP_D!T$S O 1"1NNNP R Sstr_)losed!ctStringK Sci_idK Sdelivery_methodK LM_)!T_3(_7R-%LM_SR) _2R&M_DT%ValueK LM_)!T_3(_7R-%LM_SR) _T&_DT%ValueNQ

$ndE(fQ (f M!llMLM_)!T_3(_7R-%LM_SR) _2R&M_DT%ValueN !nd "oneMLM_)!T_3(_7R-%LM_SR) _T&_DT%ValueNN Then Snbr_)()ount O Srs_(tems%SelectMRecord%LM_!)T_)(_3(_V7K P7 $R$ LM_)(_(D O8+ !"D LM_DMT D_T*P$_(DO 8; !"D LM_!)T_ST!T3S O 1+1 !"D MMLM_ST!RT_DT IO /Date(nM84N !"D MLM_$"D_DT (S "3LL &R LM_$"D_DTIO/)urrentDate(nNN &R MLM_D(SP_D!T$S O 1"1NNP R Sstr_!ctStringK Sci_idK Sdelivery_methodK LM_)!T_3(_7R-%LM_SR) _2R&M_DT%ValueNQ Snbr_)losed(tems O Srs_)losed(tems%2illMP7 $R$ LM_)(_(D O8+ !"D LM_DMT D_T*P$_(DO 8; !"D MMLM_ST!RT_DT IO /Date(nM84N !"D MLM_$"D_DT (S "3LL &R LM_$"D_DTIO/)urrentDate(nNN &R MLM_D(SP_D!T$S O 1"1NNP R Sstr_)losed!ctStringK Sci_idK Sdelivery_methodK LM_)!T_3(_7R-%LM_SR) _2R&M_DT%ValueNQ $ndE(fQ (f M"oneMLM_)!T_3(_7R-%LM_SR) _2R&M_DT%ValueN !nd !llMLM_)!T_3(_7R-%LM_SR) _T&_DT%ValueNN Then Snbr_)()ount O Srs_(tems%SelectMRecord%LM_!)T_)(_3(_V7K P7 $R$ LM_)(_(D O8+ !"D LM_DMT D_T*P$_(DO 8; !"D LM_!)T_ST!T3S O 1+1 !"D MMLM_ST!RT_DT UO /Date(nM84N !"D MLM_$"D_DT (S "3LL &R LM_$"D_DTIO/)urrentDate(nNN &R MLM_D(SP_D!T$S O 1"1NNP R Sstr_!ctStringK Sci_idK Sdelivery_methodK LM_)!T_3(_7R-%LM_SR) _T&_DT%ValueNQ Snbr_)losed(tems O Srs_)losed(tems%2illMP7 $R$ LM_)(_(D O8+ !"D LM_DMT D_T*P$_(DO 8; !"D MMLM_ST!RT_DT UO /Date(nM84N !"D MLM_$"D_DT (S "3LL &R LM_$"D_DTIO/)urrentDate(nNN &R MLM_D(SP_D!T$S O 1"1NNP R Sstr_)losed!ctStringK Sci_idK Sdelivery_methodK LM_)!T_3(_7R-%LM_SR) _T&_DT%ValueNQ $ndE(fQ 9L>4GG+6_$ndsL9 $ndE(fQ $ndE(fQ $ndE(fQ 0reaHQ 7henE&ther (f Sdelivery_method O , Then 9L00_>4GG6+L9 (f M "ot MSadv_Srch0utton)licHedNN Then 9L>4GG+6_StartsL9 Snbr_)()ount O Srs_(tems%SelectMRecord%LM_!)T_)(_3(_V7K P7 $R$ LM_R$STR()T_T&_PR# O1"1 !"D MLM_$"D_DT (S "3LL &R LM_$"D_DTIO/)urrentDate(nN !"D LM_)(_(D O8+ !"D LM_!)T_ST!T3S O 1+1P R Sstr_!ctStringK Sci_idNQ 9L>4GG+6_$ndsL9 Snbr_)losed(tems O Srs_)losed(tems%2illMP7 $R$ LM_R$STR()T_T&_PR# O1"1 !"D MLM_$"D_DT (S "3LL &R LM_$"D_DTIO/)urrentDate(nN !"D LM_)(_(D O8+P R Sstr_)losed!ctStringK Sci_idNQ $lse (f M"oneMLM_)!T_3(_7R-%LM_SR) _2R&M_DT%ValueN !nd "oneMLM_)!T_3(_7R-%LM_SR) _T&_DT%ValueNN Then Snbr_)()ount O Srs_(tems%SelectMRecord%LM_!)T_)(_3(_V7K P7 $R$ LM_R$STR()T_T&_PR# O1"1 !"D MLM_$"D_DT (S "3LL &R LM_$"D_DTIO/)urrentDate(nN !"D LM_)(_(D O8+ !"D LM_!)T_ST!T3S O 1+1P R Sstr_!ctStringK Sci_idNQ Snbr_)losed(tems O Srs_)losed(tems%2illMP7 $R$ LM_R$STR()T_T&_PR# O1"1 !"D MLM_$"D_DT (S "3LL &R LM_$"D_DTIO/)urrentDate(nN !"D LM_)(_(D O8+P R Sstr_)losed!ctStringK Sci_idNQ $lse (f M!llMLM_)!T_3(_7R-%LM_SR) _2R&M_DT%ValueN !nd !llMLM_)!T_3(_7R-%LM_SR) _T&_DT%ValueNN Then ?n'r_C!Count 9 ?r0_!tem08Select;Record8LM_ CT_C!_*!_$%< B%CERE LM_RESTR!CT_T-_PR) 9DND ND ;;;;LM_ST RT_DT 1ET%EEN :Date!n;E"> ND :Date!n;E@>> ND ;LM_END_DT !S N*LL -R LM_END_DTF9:CurrentDate!n>> -R ;LM_D!SP_D TES 9 DND>>> ND LM_C!_!D 9E+ ND LM_ CT_ST T*S 9 D"D B G ?0tr_ ctStrin(< LM_C T_*!_%RK8LM_SRCC_FR-M_DT8$alue< LM_C T_*!_%RK8LM_SRCC_T-_DT8$alue< ?ci_id>A M<Start= B%"$ +arameter )e5ue"ce c/a"4e$ t# re)#l*e S'L err#r %" Re)#lut%#"R8903D8<L REM P":r_(I(#u"t I Pr)_Item)ESelectHRec#r$ELM_A(T_(I_UI_ !J S!1ERE LM_RESTRI(T_TO_PR3 INNN AND HHHHLM_START_DT BET!EEN .DateI"HO1K AND .DateI"HO8KK AND HLM_END_DT IS NULL OR LM_END_DTLI.(urre"tDateI"KK OR HLM_DISP_DATES I NNNKKK AND LM_(I_ID IO3 AND LM_A(T_STATUS I N1N S U P)tr_ActStr%"4J LM_(AT_UI_!R,ELM_SR(1_-ROM_DTE alueJ LM_(AT_UI_!R,ELM_SR(1_TO_DTE alueJ Pc%_%$KQ P":r_(I(#u"t I Pr)_Item)ESelectHRec#r$ELM_A(T_(I_UI_ !J S!1ERE LM_RESTRI(T_TO_PR3 INNN AND HHHHLM_START_DT BET!EEN .DateI"HO8K AND .DateI"HO3KK AND HLM_END_DT IS NULL OR LM_END_DTLI.(urre"tDateI"KK OR HLM_DISP_DATES I NNNKKK AND LM_(I_ID IO1 AND LM_A(T_STATUS I N1N S U P)tr_ActStr%"4J Pc%_%$J

LM_(AT_UI_!R,ELM_SR(1_-ROM_DTE alueJ LM_(AT_UI_!R,ELM_SR(1_TO_DTE alueKQ M<E"$= B%"$ +arameter )e5ue"ce c/a"4e$ t# re)#l*e S'L err#r %" Re)#lut%#"R8903D8<L Snbr_)losed(tems O Srs_)losed(tems%2illMP7 $R$ LM_R$STR()T_T&_PR# O1"1 !"D MMMMLM_ST!RT_DT 0$T7$$" /Date(nM8+N !"D /Date(nM8;NN !"D MLM_$"D_DT (S "3LL &R LM_$"D_DTIO/)urrentDate(nNN &R MLM_D(SP_D!T$S O 1"1NNN !"D LM_)(_(D O84 P R Sstr_)losed!ctStringK LM_)!T_3(_7R-%LM_SR) _2R&M_DT%ValueK LM_)!T_3(_7R-%LM_SR) _T&_DT%ValueK Sci_idNQ $ndE(fQ (f M!llMLM_)!T_3(_7R-%LM_SR) _2R&M_DT%ValueN !nd "oneMLM_)!T_3(_7R-%LM_SR) _T&_DT%ValueNN Then ?n'r_C!Count 9 ?r0_!tem08Select;Record8LM_ CT_C!_*!_$%< B%CERE LM_RESTR!CT_T-_PR) 9DND ND ;;LM_ST RT_DT F9 :Date!n;E"> ND ;LM_END_DT !S N*LL -R LM_END_DTF9:CurrentDate!n>> -R ;LM_D!SP_D TES 9 DND>> ND LM_C!_!D 9E@ ND LM_ CT_ST T*S 9 D"D B G ?0tr_ ctStrin(< LM_C T_*!_%RK8LM_SRCC_FR-M_DT8$alue< ?ci_id>A M<Start= B%"$ +arameter )e5ue"ce c/a"4e$ t# re)#l*e S'L err#r %" Re)#lut%#"R8903D8<L REM P":r_(I(#u"t I Pr)_Item)ESelectHRec#r$ELM_A(T_(I_UI_ !J S!1ERE LM_RESTRI(T_TO_PR3 INNN AND HHLM_START_DT LI .DateI"HO1K AND HLM_END_DT IS NULL OR LM_END_DTLI.(urre"tDateI"KK OR HLM_DISP_DATES I NNNKK AND LM_(I_ID IO8 AND LM_A(T_STATUS I N1N S U P)tr_ActStr%"4J LM_(AT_UI_!R,ELM_SR(1_-ROM_DTE alueJ Pc%_%$KQ P":r_(I(#u"t I Pr)_Item)ESelectHRec#r$ELM_A(T_(I_UI_ !J S!1ERE LM_RESTRI(T_TO_PR3 INNN AND HHLM_START_DT LI .DateI"HO8K AND HLM_END_DT IS NULL OR LM_END_DTLI.(urre"tDateI"KK OR HLM_DISP_DATES I NNNKK AND LM_(I_ID IO1 AND LM_A(T_STATUS I N1N S U P)tr_ActStr%"4J Pc%_%$J LM_(AT_UI_!R,ELM_SR(1_-ROM_DTE alueKQ M<E"$= B%"$ +arameter )e5ue"ce c/a"4e$ t# re)#l*e S'L err#r %" Re)#lut%#"R8903D8<L Snbr_)losed(tems O Srs_)losed(tems%2illMP7 $R$ LM_R$STR()T_T&_PR# O1"1 !"D MMLM_ST!RT_DT IO /Date(nM8+N !"D MLM_$"D_DT (S "3LL &R LM_$"D_DTIO /)urrentDate(nNN &R MLM_D(SP_D!T$S O 1"1NN !"D LM_)(_(D O8; P R Sstr_)losed!ctStringK LM_)!T_3(_7R-%LM_SR) _2R&M_DT%ValueK Sci_idNQ $ndE(fQ (f M"oneMLM_)!T_3(_7R-%LM_SR) _2R&M_DT%ValueN !nd !llMLM_)!T_3(_7R-%LM_SR) _T&_DT%ValueNN Then ?n'r_C!Count 9 ?r0_!tem08Select;Record8LM_ CT_C!_*!_$%< B%CERE LM_RESTR!CT_T-_PR) 9DND ND ;;LM_ST RT_DT H9 :Date!n;E"> ND ;LM_END_DT !S N*LL -R LM_END_DTF9:CurrentDate!n>> -R ;LM_D!SP_D TES 9 DND>> ND LM_C!_!D 9E@ ND LM_ CT_ST T*S 9 D"D B G ?0tr_ ctStrin(< LM_C T_*!_%RK8LM_SRCC_T-_DT8$alue< ?ci_id>A M<Start= B%"$ +arameter )e5ue"ce c/a"4e$ t# re)#l*e S'L err#r %" Re)#lut%#"R8903D8<L REM P":r_(I(#u"t I Pr)_Item)ESelectHRec#r$ELM_A(T_(I_UI_ !J S!1ERE LM_RESTRI(T_TO_PR3 INNN AND HHLM_START_DT MI .DateI"HO1K AND HLM_END_DT IS NULL OR LM_END_DTLI.(urre"tDateI"KK OR HLM_DISP_DATES I NNNKK AND LM_(I_ID IO8 AND LM_A(T_STATUS I N1N S U P)tr_ActStr%"4J LM_(AT_UI_!R,ELM_SR(1_TO_DTE alueJ Pc%_%$KQ P":r_(I(#u"t I Pr)_Item)ESelectHRec#r$ELM_A(T_(I_UI_ !J S!1ERE LM_RESTRI(T_TO_PR3 INNN AND HHLM_START_DT MI .DateI"HO8K AND HLM_END_DT IS NULL OR LM_END_DTLI.(urre"tDateI"KK OR HLM_DISP_DATES I NNNKK AND LM_(I_ID IO1 AND LM_A(T_STATUS I N1N S U P)tr_ActStr%"4J Pc%_%$J LM_(AT_UI_!R,ELM_SR(1_TO_DTE alueKQ M<E"$= B%"$ +arameter )e5ue"ce c/a"4e$ t# re)#l*e S'L err#r %" Re)#lut%#"R8903D8<L Snbr_)losed(tems O Srs_)losed(tems%2illMP7 $R$ LM_R$STR()T_T&_PR# O1"1 !"D MMLM_ST!RT_DT UO /Date(nM8+N !"D MLM_$"D_DT (S "3LL &R LM_$"D_DTIO /)urrentDate(nNN &R MLM_D(SP_D!T$S O 1"1NN !"D LM_)(_(D O8; P R Sstr_)losed!ctStringK LM_)!T_3(_7R-%LM_SR) _T&_DT%ValueK Sci_idNQ $ndE(fQ $ndE(fQ $ndE(fQ $lse (f M "ot MSadv_Srch0utton)licHedNN Then 9L00_>4GG6+L9 9L>4GG+6_StartsL9 Snbr_)()ount O Srs_(tems%SelectMRecord%LM_!)T_)(_3(_V7K P7 $R$ LM_)(_(D O8+ !"D LM_DMT D_T*P$_(DO 8; !"D LM_R$STR()T_T&_PR# O1"1 !"D MLM_$"D_DT (S "3LL &R LM_$"D_DTIO/)urrentDate(nN !"D LM_!)T_ST!T3S O 1+1P R Sstr_!ctStringK Sci_idK Sdelivery_methodNQ

9L>4GG+6_$ndsL9 Snbr_)losed(tems O Srs_)losed(tems%2illMP7 $R$ LM_)(_(D O8+ !"D LM_DMT D_T*P$_(DO 8; !"D LM_R$STR()T_T&_PR# O1"1 !"D MLM_$"D_DT (S "3LL &R LM_$"D_DTIO/)urrentDate(nNP R Sstr_)losed!ctStringK Sci_idK Sdelivery_methodNQ $lse 9L00_>4GG6+L9 (f M"oneMLM_)!T_3(_7R-%LM_SR) _2R&M_DT%ValueN !nd "oneMLM_)!T_3(_7R-%LM_SR) _T&_DT%ValueNN Then Snbr_)()ount O Srs_(tems%SelectMRecord%LM_!)T_)(_3(_V7K P7 $R$ LM_)(_(D O8+ !"D LM_DMT D_T*P$_(DO 8; !"D LM_R$STR()T_T&_PR# O1"1 !"D MLM_$"D_DT (S "3LL &R LM_$"D_DTIO/)urrentDate(nN !"D LM_!)T_ST!T3S O 1+1P R Sstr_!ctStringK Sci_idK Sdelivery_methodNQ Snbr_)losed(tems O Srs_)losed(tems%2illMP7 $R$ LM_)(_(D O8+ !"D LM_DMT D_T*P$_(DO 8; !"D LM_R$STR()T_T&_PR# O1"1 !"D MLM_$"D_DT (S "3LL &R LM_$"D_DTIO/)urrentDate(nNP R Sstr_)losed!ctStringK Sci_idK Sdelivery_methodNQ $lse (f M!llMLM_)!T_3(_7R-%LM_SR) _2R&M_DT%ValueN !nd !llMLM_)!T_3(_7R-%LM_SR) _T&_DT%ValueNN Then Snbr_)()ount O Srs_(tems%SelectMRecord%LM_!)T_)(_3(_V7K P7 $R$ LM_)(_(D O8+ !"D LM_DMT D_T*P$_(DO 8; !"D MMMMLM_ST!RT_DT 0$T7$$" /Date(nM84N !"D /Date(nM8<NN !"D MLM_$"D_DT (S "3LL &R LM_$"D_DTIO/)urrentDate(nNN &R MLM_D(SP_D!T$S O 1"1NNN !"D LM_R$STR()T_T&_PR# O1"1 !"D LM_!)T_ST!T3S O 1+1 P R Sstr_!ctStringK Sci_idK Sdelivery_methodK LM_)!T_3(_7R-%LM_SR) _2R&M_DT%ValueK LM_)!T_3(_7R-%LM_SR) _T&_DT%ValueNQ Snbr_)losed(tems O Srs_)losed(tems%2illMP7 $R$ LM_)(_(D O8+ !"D LM_DMT D_T*P$_(DO 8; !"D MMMMLM_ST!RT_DT 0$T7$$" /Date(nM84N !"D /Date(nM8<NN !"D MLM_$"D_DT (S "3LL &R LM_$"D_DTIO/)urrentDate(nNN &R MLM_D(SP_D!T$S O 1"1NNN !"D LM_R$STR()T_T&_PR# O1"1 P R Sstr_)losed!ctStringK Sci_idK Sdelivery_methodK LM_)!T_3(_7R-%LM_SR) _2R&M_DT%ValueK LM_)!T_3(_7R-%LM_SR) _T&_DT%ValueNQ $ndE(fQ (f M!llMLM_)!T_3(_7R-%LM_SR) _2R&M_DT%ValueN !nd "oneMLM_)!T_3(_7R-%LM_SR) _T&_DT%ValueNN Then Snbr_)()ount O Srs_(tems%SelectMRecord%LM_!)T_)(_3(_V7K P7 $R$ LM_)(_(D O8+ !"D LM_DMT D_T*P$_(DO 8; !"D MMLM_ST!RT_DT IO /Date(nM84N !"D MLM_$"D_DT (S "3LL &R LM_$"D_DTIO/)urrentDate(nNN &R MLM_D(SP_D!T$S O 1"1NN !"D LM_R$STR()T_T&_PR# O1"1 !"D LM_!)T_ST!T3S O 1+1 P R Sstr_!ctStringK Sci_idK Sdelivery_methodK LM_)!T_3(_7R-%LM_SR) _2R&M_DT%ValueNQ Snbr_)losed(tems O Srs_)losed(tems%2illMP7 $R$ LM_)(_(D O8+ !"D LM_DMT D_T*P$_(DO 8; !"D MMLM_ST!RT_DT IO /Date(nM84N !"D MLM_$"D_DT (S "3LL &R LM_$"D_DTIO/)urrentDate(nNN &R MLM_D(SP_D!T$S O 1"1NN !"D LM_R$STR()T_T&_PR# O1"1 P R Sstr_)losed!ctStringK Sci_idK Sdelivery_methodK LM_)!T_3(_7R-%LM_SR) _2R&M_DT%ValueNQ $ndE(fQ (f M"oneMLM_)!T_3(_7R-%LM_SR) _2R&M_DT%ValueN !nd !llMLM_)!T_3(_7R-%LM_SR) _T&_DT%ValueNN Then Snbr_)()ount O Srs_(tems%SelectMRecord%LM_!)T_)(_3(_V7K P7 $R$ LM_)(_(D O8+ !"D LM_DMT D_T*P$_(DO 8; !"D MMLM_ST!RT_DT UO /Date(nM84N !"D MLM_$"D_DT (S "3LL &R LM_$"D_DTIO/)urrentDate(nNN &R MLM_D(SP_D!T$S O 1"1NN !"D LM_R$STR()T_T&_PR# O1"1 !"D LM_!)T_ST!T3S O 1+1 P R Sstr_!ctStringK Sci_idK Sdelivery_methodK LM_)!T_3(_7R-%LM_SR) _T&_DT%ValueNQ Snbr_)losed(tems O Srs_)losed(tems%2illMP7 $R$ LM_)(_(D O8+ !"D LM_DMT D_T*P$_(DO 8; !"D MMLM_ST!RT_DT UO /Date(nM84N !"D MLM_$"D_DT (S "3LL &R LM_$"D_DTIO/)urrentDate(nNN &R MLM_D(SP_D!T$S O 1"1NN !"D LM_R$STR()T_T&_PR# O1"1 P R Sstr_)losed!ctStringK Sci_idK Sdelivery_methodK LM_)!T_3(_7R-%LM_SR) _T&_DT%ValueNQ $ndE(fQ $ndE(fQ $ndE(fQ $ndE(fQ 0reaHQ $ndE$valuateQ 2or Si O + To Snbr_)losed(tems (f MSnbr_)()ount UI ,N Then Srs_(tems%(nsertRo'MSnbr_)()ountNQ Snbr_)()ount O Snbr_)()ount C +Q Sr'_(tems O Srs_(tems%#etRo'MSnbr_)()ountNQ $lse Snbr_)()ount O Snbr_)()ount C +Q Sr'_(tems O Srs_(tems%#etRo'M+NQ $ndE(fQ

Srs_)losed(tems%#etRo'MSiN%#etRecordMRecord%LM_!)T)(_)LS_V7N%)opy2ieldsToMSr'_(tem s%LM_!)T_)(_3(_V7NQ $ndE2orQ Local L$0L_!)T(V(T*8!ctivity(nterface Sob=_!ct(ntfaceQ Local date Sdt_Lst$nrlDtQ (f Srs_(tems%!ctiveRo')ount O + !nd "oneMSrs_(tems%#etRo'M+N%LM_!)T_)(_3(_V7%LM_!)T_(D%ValueN Then ideScrollMScroll%LM_!)T_)(_3(_V7NQ LM_)!T_MS#_7R-%LM_)!T_MS#_+%Visible O TrueQ $lse LM_)!T_MS#_7R-%LM_)!T_MS#_+%Visible O 2alseQ 2or S@ O + To Srs_(tems%!ctiveRo')ount (f S@ O + Then Srs_(tems%#etRo'MS@N%Selected O TrueQ $ndE(fQ Srs_(tems%#etRo'MS@N%LM_!)T_)(_3(_V7%LM_DM_L&"#_"M%Label O Srs_(tems%#etRo'MS@N%LM_!)T_)(_3(_V7%LM_DM_L&"#_"M%ValueQ Srs_(tems%#etRo'MS@N%LM_!)T_)(_3(_V7%LM_DM_L&"#_"M%Display&nly O TrueQ Srs_(tems%#etRo'MS@N%LM_!)T_)(_3(_V7%LM_)S_L&"#_"M%Label O Srs_(tems%#etRo'MS@N%LM_!)T_)(_3(_V7%LM_)S_L&"#_"M%ValueQ Srs_(tems%#etRo'MS@N%LM_!)T_)(_3(_V7%LM_)S_L&"#_"M%Visible O 2alseQ 6< 8T99D8O A$$ +la" :utt#" "#t t# :e *%)%:le %7 t/e act%*%tA %) alrea$A a$$e$ t# t/e lear"%"4 +la" <6 S'LEBecHSSELE(T N0N -ROM PS_LM_ENRLMT AJPS_LM_A(T_(I_ ! B !1ERE AELM_A(T_IDIBELM_A(T_ID AND BELM_A(T_IDIO1 a"$ AELM_STTSI NPLANN AND AELM_PERSON_IDIO8SJ Pr)_Item)E3etR#&HPBKELM_A(T_(I_UI_ !ELM_A(T_IDE alueJ LM_OPRID_ID_ !ELM_PERSON_IDE alueJ P(#u"tKQ I7 P(#u"t I S0S T/e" Pr)_Item)E3etR#&HPBKELM_(AT_UI_!R,ELM_ITM_ADDTOPLN_PBE %)%:le I -al)eQ E"$=I7Q 6<E"$ 8T99D8<6 (f !llMSgroup!ctionN Then Srs_(tems%#etRo'MS@N%LM_)!T_3(_7R-%LM_(TM_$"R&LL_P0%Visible O 2alseQ Srs_(tems%#etRo'MS@N%LM_)!T_3(_7R-%LM_(TM_!DDT&PL"_P0%Visible O 2alseQ $ndE(fQ Sstr_PymtString O Sob=_!ctPrice%get!ct2eeMSrs_(tems%#etRo'MS@N%LM_!)T_)(_3(_V7%LM_!)T_(D%ValueK LM_&PR(D_(D_V7%LM_P$RS&"_(D%ValueNQ Srs_(tems%#etRo'MS@N%LM_)!T_3(_7R-%LM_P*MT_STR"#%Value O Sstr_PymtStringQ (f Srs_(tems%#etRo'MS@N%LM_!)T_)(_3(_V7%LM_D(SP_D!T$S%Value O P*P Then Srs_(tems%#etRo'MS@N%LM_)!T_3(_7R-%LM_D(SP_DT_STR%Value O DateTimeToLocaliTedStringMSrs_(tems%#etRo'MS@N%LM_!)T_)(_3(_V7%LM_ST!RT_DT%ValueK Sstr_Date2ormatNQ $lse Srs_(tems%#etRo'MS@N%LM_)!T_3(_7R-%LM_D(SP_DT_STR%Value O Msg#etTe@tM+>,G;K +++>K PPNQ 9L ()$+6D++,6,,, E The te@t date display field 'ill no longer be sho'nK in order that the Start Date column be accurately sortable% L9 Srs_(tems%#etRo'MS@N%LM_!)T_)(_3(_V7%LM_ST!RT_DT%SetDefaultMNQ $ndE(fQ Sob=_!ct(ntface O create L$0L_!)T(V(T*8!ctivity(nterfaceMSrs_(tems%#etRo'MS@N%LM_!)T_)(_3(_V7%LM_!)T_(D%Val ueNQ Sdt_Lst$nrlDt O Sob=_!ct(ntface%#etLast$nrlDateMNQ (f Srs_(tems%#etRo'MS@N%LM_!)T_)(_3(_V7%LM_!)T_ST!T3S%Value O P4P &r M!llMSdt_Lst$nrlDtN !nd Sdt_Lst$nrlDt U /DateN Then Srs_(tems%#etRo'MS@N%LM_)!T_3(_7R-%LM_(TM_!DDT&PL"_P0%Visible O 2alseQ Srs_(tems%#etRo'MS@N%LM_)!T_3(_7R-%LM_(TM_$"R&LL_P0%Visible O 2alseQ Srs_(tems%#etRo'MS@N%LM_)!T_3(_7R-%LM_P*MT_STR"#%Value O

Msg#etTe@tM+>,G;K +,G>K PPNQ $ndE(fQ (f /)omponent O )omponent%LM_LPL"_S$!R) Then 9L (f learning plan componentK enroll button is not available L9 Srs_(tems%#etRo'MS@N%LM_)!T_3(_7R-%LM_(TM_$"R&LL_P0%Visible O 2alseQ $ndE(fQ $ndE2orQ Smygrid O #et#ridMPage%LM_L$!R"_(TM_DTLK PLM_!)T_)(_3(_V7PNQ Sgrid_column O Smygrid%#et)olumnMPLM_DM_L&"#_"MPNQ Sgrid_column%Label O Msg#etTe@tM+>,G;K +,<6K PPNQ Smygrid%#et)olumnMP$"R&LLPN%Label O P PQ Smygrid%#et)olumnMPV($7_DTLSPN%Label O P PQ Smygrid%#et)olumnMP!)T(V(T*"!M$PN%Label O Msg#etTe@tM+>,G;K +,44K PPNQ Srs_(tems%SortMLM_!)T_)(_3(_V7%LM_D(SP_D!T$SK P!PK LM_!)T_)(_3(_V7%LM_ST!RT_DTK P!PNQ Smygrid%Label O Msg#etTe@tM+>,G;K +++4K PPK LM_)!T_3(_7R-%LM_)S_L&"#_"MNQ $ndE(fQ (f !llMLM_3(_SR) _7R-%LM_2)LT*_(D%ValueN !nd LM_3(_SR) _7R-%LM_PR$V_P!#$_"!M$%Value O PLM_S$!R) P Then Local SQL Ss.l_!ct2cltyQ Local number Snbr_!ct(d'ith2cltyK Snbr_2clty(DQ Local L$M_3T(L(T($S8String ashtable Shsh_!)T(DS O create L$M_3T(L(T($S8String ashtableMNQ Ss.l_!ct2clty O )reateSQLMPS$L$)T !%LM_!)T_(DK !%LM_2)LT*_(D 2R&M PS_LM_!)T_2)LT*_V7 ! 7 $R$ !%LM_)(_(DO8+ !"D !%LM_2)LT*_(D UI 8; !"D "&T $5(STSM S$L$)T 1 1 2R&M PS_LM_!)T_2)LT*_V7 0 7 $R$ 0%LM_2)LT*_(D O 84 !"D 0%LM_!)T_(D O !%LM_!)T_(DNPK Sci_idK LM_3(_SR) _7R-%LM_2)LT*_(D%ValueK LM_3(_SR) _7R-%LM_2)LT*_(D%ValueNQ 7hile Ss.l_!ct2clty%2etchMSnbr_!ct(d'ith2cltyK Snbr_2clty(DNQ Shsh_!)T(DS%PutMStringMSnbr_!ct(d'ith2cltyNK StringMSnbr_2clty(DNNQ $ndE7hileQ Ss.l_!ct2clty%)loseMNQ 2or Si O Srs_(tems%!ctiveRo')ount To + Step E + (f Shsh_!)T(DS%(s-eyMStringMSrs_(tems%#etRo'MSiN%LM_!)T_)(_3(_V7%LM_!)T_(D%ValueNN !nd ValueMShsh_!)T(DS%#etMStringMSrs_(tems%#etRo'MSiN%LM_!)T_)(_3(_V7%LM_!)T_(D%ValueN NN UI , Then Srs_(tems%DeleteRo'MSiNQ $ndE(fQ $ndE2orQ $ndE(fQ 6< 8T99D8O A$$ +la" :utt#" "#t t# :e *%)%:le %7 t/e (atal#4 %) alrea$A a$$e$ t# t/e lear"%"4 +la" <6 S'LEBecHSSELE(T N0N -ROM PS_LM_ENRLMT !1ERE LM_STTSI NPLANN AND LM_A(T_ID I 0 AND LM_(I_ID I O1 AND LM_PERSON_IDIO8SJ Pc%_%$J LM_OPRID_ID_ !ELM_PERSON_IDE alueJ P(#u"t8KQ I7 P(#u"t8 I S0S T/e" LM_(AT_UI_!R,ELM_(I_AD_PLANE %)%:le I -al)eQ E"$=I7Q 6< E"$ 8T99D8<6

LM_)!T_3(_7R-%LM_)(_!D_PL!"%Label O Msg#etTe@tM+>,>GK +F4>K PPNQ LM_PR#_P#_7R-%LM_PR#_PL!"_#P0%Visible O 2alseQ LM_)!T_3(_7R-%LM_PR$V_P!#$%Visible O 2alseQ (f /)omponent O )omponent%LM_SS_L$!R"("#_3( Then LM_)!T_3(_7R-%LM_)(_!D_PL!"%Visible O 2alseQ LM_)!T_3(_7R-%LM_PR$V_P!#$_L"-%Visible O 2alseQ

LM_)!T_3(_7R-%LM_PR$V_P!#$%Visible O TrueQ 9L)ode added for #lobal Search starts M>DD>;+NL9 9L ides return to previous page linHL9 $lse (f (sModal)omponentMN !nd LM_(TM_3(_7R-%LM_)!LL("#_)&MP"T%Value O PLM_SR) _)(_L!3") P Then LM_)!T_3(_7R-%LM_PR$V_P!#$_L"-%Visible O 2alseQ $ndE(fQ 9L)ode added for #lobal Search endsL9 $ndE(fQ 6<I(E Re)#lut%#" 891181 Be4%" R3=T# e"a:le t/e Retur" t# +re*%#u) l%"? #" t/e )earc/ +a4e<6 I7 .(#m+#"e"t I (#m+#"e"tELM_SEAR(1 T/e" LM_(AT_UI_!R,ELM_PRE _PA3E_LN,E %)%:le I TrueQ E"$=I7Q 6<I(E Re)#lut%#" 891181 E"$ R3=T# e"a:le t/e Retur" t# +re*%#u) l%"? #" t/e )earc/ +a4e<6

Peo1 eCode &P!/e*: LM_MGR_GRP_CURNT;Ac$i=!$e


import import import import import import import import import L$)_)!T!L&#_("T$R2!)$8ManagerPlanPageSetupQ L$)_)!T!L&#_("T$R2!)$8LearningPlanPageSetupQ L$2R_ RS8D(2 our)ontrollerQ L$$_$"R&LLM$"T8L$$_3T(L(T*Q L$0&_P$RS&"8LearnerQ L$0&_P$RS&"8Person)lassQ LM_3T(L(T($S8$LMTe@t)atalogQ L$)R_3T(L8Te@t)atalog3tilitiesQ L$)S_)&MM&"8DefaultsQ

)omponent L$0&_P$RS&"8Learner SpersonQ )omponent string Sstr_Page"ameQ )omponent Ro'set Srs_LmMgrPlanQ )omponent number Snbr_LmPerson(dK Sle(DQ )omponent Ro'set SselectedLearnersQ )omponent number SadminSelectedPerson(dQ )omponent number SselectedMgr(DK SselManager(dQ )omponent number Sperson(DQ #lobal number ScountlearnerQ 9L added global variable Resolution >F,66F V#L9 Local number ScountQ Local number Scount+Q 9L added local variable Resolution >F,66F V#L9 Local string StitleK Smgr&pridQ Local #rid Sdif#ridQ Local L$$_$"R&LLM$"T8L$$_3T(L(T* SutilityQ Local L$)_)!T!L&#_("T$R2!)$8ManagerPlanPageSetup Sclass_ManagerPlanPageSetupQ Local L$)_)!T!L&#_("T$R2!)$8LearningPlanPageSetup Sclass_LearningPlanPageSetupQ Local LM_3T(L(T($S8$LMTe@t)atalog Sob=_Te@t)atalog O create LM_3T(L(T($S8$LMTe@t)atalogMNQ Local L$2R_ RS8D(2 our)ontroller SD(2 our)ontrollerQ Local L$0&_P$RS&"8Learner Sob=_adminQ Local Local Local Local Local Ro'set Srs_)urr!ctvQ Ro' SR&7Q Record SR$)K SR$)+Q 2ield S2($LDQ number S(K S:Q

Sutility O create L$$_$"R&LLM$"T8L$$_3T(L(T*MNQ Sclass_ManagerPlanPageSetup O create L$)_)!T!L&#_("T$R2!)$8ManagerPlanPageSetupMNQ Sstr_Page"ame O PPage%LM_M#R_#RP_)3R"TPQ Sperson(D O Sutility%getLearner2rom)acheMSselectedLearnersNQ SselManager(d O Sutility%getManager2rom)acheMSselectedLearnersNQ Stitle O Sutility%getTitle!nd)ount2rom)acheMScountNQ SD(2 our)ontroller O create L$2R_ RS8D(2 our)ontrollerMNQ

(f /)omponent O PLM_!DM("_L$!R"("#P Then (f SadminSelectedPerson(d UI , !nd SadminSelectedPerson(d UI Sperson(D Then Sperson(D O SadminSelectedPerson(dQ $ndE(fQ $ndE(fQ (f !llMSperson(DN Then Snbr_LmPerson(d O Sperson(DQ SadminSelectedPerson(d O Sperson(DQ LM_)!T_3(_7R-%LM_DR)T_R$PT_!)T"%Value O Snbr_LmPerson(dQ LM_P!#$_7R-%LM_2&RM!TT$D_"M%Visible O TrueQ 9L initialiTe 2rench info E P!#$%LM_D(2_2R!_S0PL9 (f !llMSadminSelectedPerson(dN Then SD(2 our)ontroller%set$mployee(dMSadminSelectedPerson(dNQ $ndE(fQ SD(2 our)ontroller%page!ctivateMSperson(DK PPK PPK PPNQ SD(2 our)ontroller%setD(2#rigLabelsM#et#ridMPage%LM_M#R_#RP_)3R"TK PLM_D(2 (ST_T0LPNNQ SD(2 our)ontroller%enabledM TrueNQ $lse LM_P!#$_7R-%LM_2&RM!TT$D_"M%Visible O 2alseQ SD(2 our)ontroller O create L$2R_ RS8D(2 our)ontrollerMNQ SD(2 our)ontroller%enabledM 2alseNQ $ndE(fQ (f /)omponent O PLM_!DM("_L$!R"("#P Then Snbr_LmPerson(d O SadminSelectedPerson(dQ 9L initialiTe 2rench info E P!#$%LM_D(2_2R!_S0PL9 SD(2 our)ontroller%page!ctivateMSnbr_LmPerson(dK PPK PPK PPNQ SD(2 our)ontroller%setD(2#rigLabelsM#et#ridMPage%LM_M#R_#RP_)3R"TK PLM_D(2 (ST_T0LPNNQ SD(2 our)ontroller%enabledM TrueNQ $ndE(fQ Sperson O create L$0&_P$RS&"8LearnerM/3ser(dNQ Sperson%getLearnerDetailsMNQ Sle(D O Sperson%L$(DQ Local L$)S_)&MM&"8Defaults Sle!ttributesQ Sle!ttributes O create L$)S_)&MM&"8DefaultsMSle(DNQ LM_$"RLMT_7R-%LM_2(LT$R_"!M$%Value O P!llPQ Sclass_LearningPlanPageSetup O create L$)_)!T!L&#_("T$R2!)$8LearningPlanPageSetupMNQ Sclass_LearningPlanPageSetup%get2ilterListMSle(DNQ (f /)omponent O PLM_!DM("_L$!R"("#P Then LM_M#R_SR) _V7%LM_M!"!#$R_(D O ,Q SselManager(d O ,Q $ndE(fQ (f !llMSselManager(dN Then Sclass_ManagerPlanPageSetup%!ctivateManager)urrentPageMSstr_Page"ameK LM_$"RLMT_7R-%LM_2(LT$R_"!M$%ValueK SselManager(dK Snbr_LmPerson(dK Sle(DNQ $lse Sclass_ManagerPlanPageSetup%!ctivateManager)urrentPageMSstr_Page"ameK LM_$"RLMT_7R-%LM_2(LT$R_"!M$%ValueK LM_M#R_SR) _V7%LM_M!"!#$R_(DK Snbr_LmPerson(dK Sle(DNQ $ndE(fQ Local L$)R_3T(L8Te@t)atalog3tilities Sob=_Te@t)atalog3tilities O create L$)R_3T(L8Te@t)atalog3tilitiesMNQ LM_P!#$_7R-%LM_P!#$_T(TL$ O Sob=_Te@t)atalog3tilities%getTe@t)atalogTe@tMPLM_T$!M_L$!R"("#PNQ LM_)!T_MS#_7R-%LM_TM_M0M_MS#_L"-%Label O Msg#etTe@tM+>,>GK +F+,K PPNQ

LM_)!T_3(_7R-%LM_)(_!0ST%Value O Msg#et$@plainTe@tM+>,G;K ++;>K PPNQ LM_)!T_3(_7R-%LM_M#R_PL"_;_L"-%Visible O 2alseQ (f /)omponent O PLM_!DM("_L$!R"("#P Then Local L$0&_P$RS&"8Person)lass SadminPersonQ SadminPerson O create L$0&_P$RS&"8Person)lassMSnbr_LmPerson(dNQ SadminPerson%getPersonDetailsMNQ LM_)!T_3(_7R-%LM_DR)T_R$PT_!)T"%Value O Snbr_LmPerson(dQ LM_)!T_3(_7R-%LM_DR)T_R$PT_!)T"%Visible O 2alseQ LM_)!T_3(_7R-%LM_M#R_PL"_2R$_L"-%Visible O 2alseQ LM_P!#$_7R-%LM_2&RM!TT$D_"M%Visible O TrueQ LM_P!#$_7R-%LM_2&RM!TT$D_"M%Value O SadminPerson%Display"ameQ LM_SS_M#R_7R-%LM_L("-_6%Visible O 2alseQ LM_)!T_MS#_7R-%LM_TM_M0M_MS#_L"-%Label O SadminPerson%Display"ameQ LM_P!#$_7R-%LM_P!#$_T(TL$ O Msg#etTe@tM+>,>GK +F;FK PPNQ LM_)!T_3(_7R-%LM_)(_!0ST%Value O Msg#et$@plainTe@tM+>,>GK +F;>K PPNQ LM_)!T_3(_7R-%LM_M#R_PL"_;_L"-%Visible O TrueQ LM_)!T_3(_7R-%LM_SR) _!DM%Visible O 2alseQ LM_)!T_3(_7R-%LM_0R&7S$_!DM%Visible O 2alseQ LM_)!T_3(_7R-%LM_R$Q_LR"#_0T";%Visible O 2alseQ LM_)!T_3(_7R-%LM_SR) _LR"%Visible O 2alseQ LM_)!T_3(_7R-%LM_0R&7S$_LR"%Visible O 2alseQ LM_)!T_3(_7R-%LM_R$Q_LR"#_0T"%Visible O 2alseQ $lse LM_)!T_3(_7R-%LM_SR) _!DM%Visible O 2alseQ LM_)!T_3(_7R-%LM_0R&7S$_!DM%Visible O 2alseQ LM_)!T_3(_7R-%LM_R$Q_LR"#_0T";%Visible O 2alseQ LM_)!T_3(_7R-%LM_SR) _LR"%Visible O TrueQ LM_)!T_3(_7R-%LM_0R&7S$_LR"%Visible O TrueQ LM_)!T_3(_7R-%LM_R$Q_LR"#_0T"%Visible O TrueQ $ndE(fQ 9L ides or unhides the message that Learners have been added to the plan L9

(f !llMStitleN Then (f Stitle O P@yabP Then Stitle O Msg#etTe@tM+>,G;K +,<;K PPNQ $ndE(fQ LM_PR#_P#_7R-%LM_PR#_PL!"_#P0%Visible O TrueQ Sob=_admin O create L$0&_P$RS&"8LearnerM/&perator(dNQ Sob=_admin%getLearnerDetailsMNQ Sob=_Te@t)atalog%LM_L$_(D O Sob=_admin%L$(DQ Local string Snum O StringMScountNQ Scount+ O ScountlearnerQ 9L fetching value of )ount learner Resolution >F,66F V#L9 Local string Snum+ O StringMScount+NQ 9Ladded Resolution 8>F,66FV#L9 Local string Snum_planned O StringMScount E Scount+NQ 9Ladded Resolution 8 >F,66FV#L9 9L )ode has been added to display the message 'hen P!ll learnerP is selected and hide other'iseL9 (f LM_)!T_3(_7R-%LM_DR)T_R$PT_!)T"%Value O , Then 9LResolution 8>F,66F V# Start checH if already learnes did not plan initially then display old message else display ne' message L9 (f MScount+ O ,N Then Sstr_Te@tString O Sob=_Te@t)atalog%getTe@tMPL$)R_PR#_M#R!DDPL!PK StitleK SnumK PPK PPK PPNQ 9L commented Resolution 8>F,66FV#L9 $lse Sstr_Te@tString O Sob=_Te@t)atalog%getTe@tMPL$)R_PR#_M#RMS#PK StitleK Snum_plannedK Snum+K SnumK PPNQ $ndE(fQ 9LResolution 8>F,66F V# $ndL9 LM_PR#_P#_7R-%LM_PR#_PL!"_MS#%Value O Sstr_Te@tStringQ Set)ursorPosM/PageK LM_PR#_P#_7R-%LM_PR#_PL!"_MS#NQ

$lse LM_PR#_P#_7R-%LM_PR#_PL!"_MS#%Value O PPQ LM_PR#_P#_7R-%LM_PR#_PL!"_#P0%Visible O 2alseQ $ndE(fQ $lse LM_PR#_P#_7R-%LM_PR#_PL!"_#P0%Visible O 2alseQ $ndE(fQ Sutility%delete#roup!ction)acheMNQ (f /)omponent O PLM_SS_M!"!#$R_3(P &r /)omponent O PLM_!DM("_L$!R"("#P Then Srs_)urr!ctv O #etLevel,MNM+N%#etRo'setMScroll%LM_$"RLT_M#D_V7NQ 2or S( O + To Srs_)urr!ctv%!ctiveRo')ount SR&7 O Srs_)urr!ctv%#etRo'MS(NQ 2or S: O + To SR&7%Record)ount SR$) O SR&7%#etRecordMRecord%LM_)!T_3(_7R-NQ SR$)+ O SR&7%#etRecordMRecord%LM_DMT _T*P_T0LNQ (f "ot !llMSR$)+%#et2ieldM2ield%LM_DM_L&"#_"MN%ValueN Then SR$)+%#et2ieldM2ield%LM_DM_L&"#_"MN%Value O SR$)%#et2ieldM2ield%LM_DM_L&"#_"MN%ValueQ $ndE(fQ $ndE2orQ 6< 3 889DTT M#$%7A l%"? )/#ul$ a++ear 7#r Ma"a4er) /e"ce c#mme"te$ %7 )tateme"t :el#& <6 9L start code changes for the Resolution >F,>DD K !dded Status DR&P9)&MP so that Modify L("- is disabled against status DR&P 8 V#L9 !f ;?r0_Curr ct/;?!>8)etRecord;Record8LM_ENRLT_M)D_$%>8)etField;Field8LM_STTS>8$alue 9 BC-MPB -r ?r0_Curr ct/;?!>8)etRecord;Record8LM_ENRLT_M)D_$%>8)etField;Field8LM_STTS>8$alue 9 BDR-PB> nd I7 M<HPr)_(urrAct*HPIKE3etRec#r$HRec#r$ELM_ENRLT_M3D_ !KE3et-%el$H-%el$ELM_STTSKE alu e I S(OMPS Or<L 6< 3 889DTT M#$%7A l%"? )/#ul$ a++ear 7#r Ma"a4er) /e"ce c#mme"te$ t/e 7%r)t +art #7 %7 )tateme"t a:#*e <6 Pr)_(urrAct*HPIKE3etRec#r$HRec#r$ELM_ENRLT_M3D_ !KE3et-%el$H-%el$ELM_STTSKE alue I SDROPS A"$ !llMSrs_)urr!ctvMS(N%#etRecordMRecord%LM_$"RLT_M#D_V7N%#et2ieldM2ield%LM_!D )_LR"_ (DN%ValueN Then Srs_)urr!ctvMS(N%#etRecordMRecord%LM_)!T_3(_7R-N%#et2ieldM2ield%LM_DR&P!)T_P0N%Vis ible O 2alseQ $ndE(fQ 9L end code changes for the Resolution >F,>DD V# L9 $ndE2orQ $ndE(fQ

Peo1 eCode &P!/e*: LM_PRG_SUMM_PG;Ac$i=!$e


import L$)R_PR&#R!MS$L2S$RV()$8ProgramDetailsPage3tilityQ

Local L$)R_PR&#R!MS$L2S$RV()$8ProgramDetailsPage3tility Sob=_ProgramDetailsPage3tility O create L$)R_PR&#R!MS$L2S$RV()$8ProgramDetailsPage3tilityMNQ Sob=_ProgramDetailsPage3tility%SetupPageMNQ Sob=_ProgramDetailsPage3tility%&vervie'LinH)licHMNQ LM_P!#$_7R-%LM_TR!"S!)T_T(TL$%Value O Msg#etTe@tM+>,G<K 6FK PPNQ 9L program details L9 LM_P!#$_7R-%LM_P!#$_T(TL$%Value O LM_PR#_ DR_7R-%LM_PR#_L&"#_"M%ValueQ LM_&0:V_DTL_7R-%LM_&0:V_2($LD_L0L%Value O LM_P!#$_7R-%LM_P!#$_T(TL$%ValueQ 9L)ode added for Learning #lobal Search starts M>DD>;+NL9 9L ide return to previous page linHL9 (f LM_PR#_TR"_7R-%LM_PR$V_P!#$_"!M$%Value O PLM_SR) _PR#_L!3") P Then LM_PR#_P#_7R-%LM_PR#_R$T_PR$V_P#%Visible O 2alseQ $ndE(fQ 9L)ode added for Learning #lobal Search endsL9 (f LM_PR#_TR"_7R-%LM_PR$V_P!#$_"!M$%Value O PLM_!D )_PR#_L-PP Then LM_PR#_P#_7R-%LM_PR#_R$#_0T"%Visible O 2alseQ LM_PR#_P#_7R-%LM_PR#_PL!"_0T"%Visible O 2alseQ LM_PR#_P#_7R-%LM_PR#_R$T_PR$V_P;%Visible O TrueQ LM_PR#_P#_7R-%LM_PR#_R$T_PR$V_P#%Visible O 2alseQ $lse (f "ot (sModal)omponentMN !nd "oneMLM_PR#_TR"_7R-%LM_PR$V_P!#$_"!M$%ValueN Then LM_PR#_P#_7R-%LM_PR#_R$T_PR$V_P#%Visible O 2alseQ $lse 9L>4FD,4_Visibility for Register K!dd to Plan buttons and Return to Previous Page Mon the R% %SNmust be turned &22 if previous page is LM_R$V($7_#RP_R$# L9 9L>6;<+>8$nabling9Disabling button logic applicable for some other values of previous page alsoL9 (f LM_PR#_TR"_7R-%LM_PR$V_P!#$_"!M$%Value O PLM_R$V($7_#RP_R$#P &r LM_PR#_TR"_7R-%LM_PR$V_P!#$_"!M$%Value O PLM_#RP_2"D_LR"RP &r LM_PR#_TR"_7R-%LM_PR$V_P!#$_"!M$%Value O PLM_R$V($7_R$#P &r LM_PR#_TR"_7R-%LM_PR$V_P!#$_"!M$%Value O PLM_)&"2_R$#P &r LM_PR#_TR"_7R-%LM_PR$V_P!#$_"!M$%Value O PLM_)&"2_#RP_R$#P Then LM_PR#_P#_7R-%LM_PR#_R$#_0T"%Visible O 2alseQ LM_PR#_P#_7R-%LM_PR#_PL!"_0T"%Visible O 2alseQ LM_PR#_P#_7R-%LM_PR#_R$T_PR$V_P#%Visible O 2alseQ $lse LM_PR#_P#_7R-%LM_PR#_R$#_0T"%Visible O TrueQ $ndE(fQ $ndE(fQ 9L>4FD,4_Visibility for Return to Previous Page linH Mon the L% %SN must be turned &" if previous page is LM_R$V($7_#RP_R$# L9 9L>6;<+>8$nabling9Disabling button logic applicable for some other values of previous page alsoL9 (f LM_PR#_TR"_7R-%LM_PR$V_P!#$_"!M$%Value O PLM_R$V($7_#RP_R$#P &r LM_PR#_TR"_7R-%LM_PR$V_P!#$_"!M$%Value O PLM_#RP_2"D_LR"RP &r LM_PR#_TR"_7R-%LM_PR$V_P!#$_"!M$%Value O PLM_R$V($7_R$#P &r LM_PR#_TR"_7R-%LM_PR$V_P!#$_"!M$%Value O PLM_)&"2_R$#P &r LM_PR#_TR"_7R-%LM_PR$V_P!#$_"!M$%Value O PLM_)&"2_#RP_R$#P Then LM_PR#_P#_7R-%LM_PR#_R$T_PR$V_P;%Visible O TrueQ $lse LM_PR#_P#_7R-%LM_PR#_R$T_PR$V_P;%Visible O 2alseQ $ndE(fQ $ndE(fQ 9L>6;<+>8Disable Program "ame yperlinH on Program Details pageL9 LM_PR#_ DR_7R-%LM_PR#_ DR_L"-%$nabled O 2alseQ

6< 8T99D8O A$$ +la" :utt#" "#t t# :e *%)%:le %7 t/e act%*%tA %) alrea$A a$$e$ t# t/e lear"%"4 +la" <6 S'LEBecHSSelect LM_PERSON_ID -ROM PS_LM_OPRID_ID_ ! !1ERE OPRIDINS U .U)erI$ U SN SJ P+er)#"%$KQ S'LEBecHSSELE(T N0N -ROM PS_LM_PR3_ENRL_ ! !1ERE LM_PR3_STTS I NPLANN AND LM_PR3_IDIO1 AND LM_PERSON_IDIO8SJ LM_PR3_TRN_!R,ELM_PR3_IDE alueJ P+er)#"%$J PtA+eKQ I7 PtA+e I S0S T/e" LM_PR3_P3_!R,ELM_PR3_PLAN_BTNE %)%:le I -al)eQ E"$=I7Q 6<E"$ 8T99D8<6

Peo1 eCode &Co01o"e"$*: LM_ADHC_MGR_UPD&GBL*;Po#$B%i d


import import import import import import L$$!_$"R&LLM$"T8L$$!_3T(L(T*Q L$$!_$"R&LLM$"T8L$$!_!D &)_$Q3(V!L$"T_0$!"Q L$0L_!)T(V(T*8!ctivity(nterfaceQ L$)R_("T$#R!T(&"8L$)R_PR#_0$!"Q L$0&_L$!R"$R_S$!R) 8LearnerSearchQ L$0&_P$RS&"8LearnerQ

)omponent number Sle(DQ )omponent L$0&_P$RS&"8Learner Sperson4Q )omponent string SadhcTypeQ )omponent number Sadhc(dK Sperson(dQ )omponent number SlimitQ )omponent string SResults2oundQ )omponent L$$!_$"R&LLM$"T8L$$!_3T(L(T* Sleea3tilityQ )omponent boolean SisSavedQ Local L$0&_L$!R"$R_S$!R) 8LearnerSearch SLnrSearchQ

Sperson4 O create L$0&_P$RS&"8LearnerM/3ser(dNQ Sperson4%getLearnerDetailsMNQ Sle(D O Sperson4%L$(DQ SisSaved O 2alseQ Local L$0L_!)T(V(T*8!ctivity(nterface Slebl!ct(nterfaceQ Local L$)R_("T$#R!T(&"8L$)R_PR#_0$!" SlecrPrg0eanQ Local Ro'set Sad)iDetV'RsK Sadhc)iDerQ Local Record Sadhc)iDerRecQ Local string Sstr_lRv'RatingDescrK Sob="ameK Sob=DescrK Sob=ProfK Sob=RtngMdlQ Local Ro'set Srs_lRv'RtngDescrQ Local date Sdate_l$nrlDt O LM_!D )_LR"_T0L%LM_$"RL_DT%ValueQ Sperson(d O LM_!D )_3PD_V7%LM_P$RS&"_(DQ 9L #et the Learner default search result limit to be used in e.uivalent ob=ects search L9 SLnrSearch O create L$0&_L$!R"$R_S$!R) 8LearnerSearchMNQ Local Record Srec_lrnsearch O SLnrSearch%#etSearch!ttributesMSperson(dNQ (f !llMSrec_lrnsearch%LM_R&7S_D(SP%ValueN Then $valuate Srec_lrnsearch%LM_R&7S_D(SP%Value 7hen P!P Slimit O +6Q 7hen P0P Slimit O ;6Q 7hen P)P Slimit O 6,Q

7hen PDP Slimit O +,,Q 7hen P$P Slimit O +6,Q 7hen P2P Slimit O ;,,Q $ndE$valuate $lse Slimit O +,,Q $ndE(fQ 9L Load the e.uivalent &b=ect grids if any L9 Local L$$!_$"R&LLM$"T8L$$!_!D &)_$Q3(V!L$"T_0$!" Sleea$.ui0eanQ Local array of L$$!_$"R&LLM$"T8L$$!_!D &)_$Q3(V!L$"T_0$!" Sary_$.ui_0eans O )reate!rrayMSleea$.ui0eanNQ Local number Snbr_)i_(dK SiK SciDerRo'countK S=K Snbr_Prg_(dK Snbr_&b=_(dK Sro'countK Sob=ro'countQ Local string Sstr_!ct_)dK Sci"ameK SciDescrK SprgDescrK Sprg"ameK SprgTypeQ Local Record SadhcPrgDerRecQ Local Ro'set Sad&b=DetV'RsK SadPrgDetV'RsK SadhcPrgDerK Sadhc&b=DerQ Local date Sprg$ffDtQ Sleea3tility O create L$$!_$"R&LLM$"T8L$$!_3T(L(T*MNQ Sadhc(d O LM_!D )_3PD_V7%LM_!D )_(D%ValueQ Sleea3tility%paint!dhocLrnrPg2or3pdateMSadhc(dK Sperson(dNQ Sleea$.ui0ean O create L$$!_$"R&LLM$"T8L$$!_!D &)_$Q3(V!L$"T_0$!"MNQ Sary_$.ui_0eans O Sleea$.ui0ean%get!dhoc$.uivalent0eansMLM_!D )_3PD_V7%LM_!D )_LR"_(DNQ Sadhc)iDer O #etLevel,MN%#etRo'M+N%#etRo'setMScroll%LM_!D )_#RD_V7+NQ SadhcPrgDer O #etLevel,MN%#etRo'M+N%#etRo'setMScroll%LM_!D )_#RD_V7NQ Sadhc&b=Der O #etLevel,MN%#etRo'M+N%#etRo'setMScroll%LM_!D )_#RD_V7;NQ (f Sary_$.ui_0eans%Len I , Then 2or Si O + To Sary_$.ui_0eans%Len SciDerRo'count O Sadhc)iDer%!ctiveRo')ountQ Sro'count O SadhcPrgDer%!ctiveRo')ountQ Sob=ro'count O Sadhc&b=Der%!ctiveRo')ountQ (f Sary_$.ui_0eans ASiB%get$.uivalentTypeMN O P!)TP Then Snbr_)i_(d O Sary_$.ui_0eans ASiB%get)i(dMNQ Sad)iDetV'Rs O )reateRo'setMRecord%LM_!D_)(_D$T_V7NQ Sad)iDetV'Rs%2illMP'here LM_)(_(D O 8+PK Snbr_)i_(dNQ Sci"ame O Sad)iDetV'Rs%#etRo'M+N%#etRecordMRecord%LM_!D_)(_D$T_V7N%#et2ieldM2ield%LM_)S_L&"# _"MN%ValueQ SciDescr O Sad)iDetV'Rs%#etRo'M+N%#etRecordMRecord%LM_!D_)(_D$T_V7N%#et2ieldM2ield%LM_)S_D$S) RN%ValueQ (f SciDerRo'count UI + Then Sadhc)iDer%(nsertRo'MSciDerRo'countNQ SciDerRo'count O Sadhc)iDer%!ctiveRo')ountQ Sadhc)iDerRec O Sadhc)iDer%#etRo'MSciDerRo'countN%#etRecordMRecord%LM_!D )_)(_D$RNQ Sadhc)iDerRec%#et2ieldM2ield%LM_)(_(DN%Value O Snbr_)i_(dQ Sadhc)iDerRec%#et2ieldM2ield%LM_)S_L&"#_"MN%Value O Sci"ameQ Sadhc)iDerRec%#et2ieldM2ield%LM_)S_L&"#_"MN%Label O Sci"ameQ Sadhc)iDerRec%#et2ieldM2ield%LM_)S_D$S)RN%Value O SciDescrQ $lse (f SciDerRo'count O + Then Sadhc)iDerRec O Sadhc)iDer%#etRo'MSciDerRo'countN%#etRecordMRecord%LM_!D )_)(_D$RNQ (f Sadhc)iDerRec%#et2ieldM2ield%LM_)(_(DN%Value I , Then

Sadhc)iDer%(nsertRo'MSciDerRo'countNQ SciDerRo'count O Sadhc)iDer%!ctiveRo')ountQ Sadhc)iDerRec O Sadhc)iDer%#etRo'MSciDerRo'countN%#etRecordMRecord%LM_!D )_)(_D$RNQ Sadhc)iDerRec%#et2ieldM2ield%LM_)(_(DN%Value O Snbr_)i_(dQ Sadhc)iDerRec%#et2ieldM2ield%LM_)S_L&"#_"MN%Value O Sci"ameQ Sadhc)iDerRec%#et2ieldM2ield%LM_)S_L&"#_"MN%Label O Sci"ameQ Sadhc)iDerRec%#et2ieldM2ield%LM_)S_D$S)RN%Value O SciDescrQ $lse Sadhc)iDerRec O Sadhc)iDer%#etRo'MSciDerRo'countN%#etRecordMRecord%LM_!D )_)(_D$RNQ Sadhc)iDerRec%#et2ieldM2ield%LM_)(_(DN%Value O Snbr_)i_(dQ Sadhc)iDerRec%#et2ieldM2ield%LM_)S_L&"#_"MN%Value O Sci"ameQ Sadhc)iDerRec%#et2ieldM2ield%LM_)S_L&"#_"MN%Label O Sci"ameQ Sadhc)iDerRec%#et2ieldM2ield%LM_)S_D$S)RN%Value O SciDescrQ $ndE(fQ $ndE(fQ $ndE(fQ $ndE(fQ (f Sary_$.ui_0eans ASiB%get$.uivalentTypeMN O P)3RP Then Snbr_Prg_(d O Sary_$.ui_0eans ASiB%getProgram(dMNQ SadPrgDetV'Rs O )reateRo'setMRecord%LM_!D_PR_D$T_V7NQ SadPrgDetV'Rs%2illMP'here LM_PR#_(D O 8+PK Snbr_Prg_(dNQ Sprg"ame O SadPrgDetV'Rs%#etRo'M+N%#etRecordMRecord%LM_!D_PR_D$T_V7N%#et2ieldM2ield%LM_PR#_L& "#_"MN%ValueQ SprgDescr O SadPrgDetV'Rs%#etRo'M+N%#etRecordMRecord%LM_!D_PR_D$T_V7N%#et2ieldM2ield%LM_PR#_D$ S)RN%ValueQ SprgType O SadPrgDetV'Rs%#etRo'M+N%#etRecordMRecord%LM_!D_PR_D$T_V7N%#et2ieldM2ield%LM_PR#_T* P$N%ValueQ Sprg$ffDt O SadPrgDetV'Rs%#etRo'M+N%#etRecordMRecord%LM_!D_PR_D$T_V7N%#et2ieldM2ield%$22DTN%Va lueQ (f Sro'count UI + Then SadhcPrgDer%(nsertRo'MSro'countNQ Sro'count O SadhcPrgDer%!ctiveRo')ountQ SadhcPrgDerRec O SadhcPrgDer%#etRo'MSro'countN%#etRecordMRecord%LM_!D )_PR#_D$RNQ SadhcPrgDerRec%#et2ieldM2ield%LM_PR#_(DN%Value O Snbr_Prg_(dQ SadhcPrgDerRec%#et2ieldM2ield%LM_PR#_L&"#_"MN%Value O Sprg"ameQ SadhcPrgDerRec%#et2ieldM2ield%LM_PR#_L&"#_"MN%Label O Sprg"ameQ SadhcPrgDerRec%#et2ieldM2ield%LM_PR#_D$S)RN%Value O SprgDescrQ SadhcPrgDerRec%#et2ieldM2ield%LM_PR#_T*P$N%Value O SprgTypeQ SadhcPrgDerRec%#et2ieldM2ield%$22DTN%Value O Sprg$ffDtQ $lse (f Sro'count O + Then SadhcPrgDerRec O SadhcPrgDer%#etRo'MSro'countN%#etRecordMRecord%LM_!D )_PR#_D$RNQ (f SadhcPrgDerRec%#et2ieldM2ield%LM_PR#_(DN%Value I , Then SadhcPrgDer%(nsertRo'MSro'countNQ Sro'count O SadhcPrgDer%!ctiveRo')ountQ SadhcPrgDerRec O SadhcPrgDer%#etRo'MSro'countN%#etRecordMRecord%LM_!D )_PR#_D$RNQ SadhcPrgDerRec%#et2ieldM2ield%LM_PR#_(DN%Value O Snbr_Prg_(dQ SadhcPrgDerRec%#et2ieldM2ield%LM_PR#_L&"#_"MN%Value O Sprg"ameQ SadhcPrgDerRec%#et2ieldM2ield%LM_PR#_L&"#_"MN%Label O Sprg"ameQ SadhcPrgDerRec%#et2ieldM2ield%LM_PR#_D$S)RN%Value O SprgDescrQ SadhcPrgDerRec%#et2ieldM2ield%LM_PR#_T*P$N%Value O SprgTypeQ SadhcPrgDerRec%#et2ieldM2ield%$22DTN%Value O Sprg$ffDtQ $lse SadhcPrgDerRec O SadhcPrgDer%#etRo'MSro'countN%#etRecordMRecord%LM_!D )_PR#_D$RNQ SadhcPrgDerRec%#et2ieldM2ield%LM_PR#_(DN%Value O Snbr_Prg_(dQ SadhcPrgDerRec%#et2ieldM2ield%LM_PR#_L&"#_"MN%Value O Sprg"ameQ SadhcPrgDerRec%#et2ieldM2ield%LM_PR#_L&"#_"MN%Label O Sprg"ameQ SadhcPrgDerRec%#et2ieldM2ield%LM_PR#_D$S)RN%Value O SprgDescrQ SadhcPrgDerRec%#et2ieldM2ield%LM_PR#_T*P$N%Value O SprgTypeQ SadhcPrgDerRec%#et2ieldM2ield%$22DTN%Value O Sprg$ffDtQ

$ndE(fQ $ndE(fQ $ndE(fQ $ndE(fQ (f Sary_$.ui_0eans ASiB%get$.uivalentTypeMN O P&0:P Then Snbr_&b=_(d O Sary_$.ui_0eans ASiB%get&b=ective(dMNQ Sad&b=DetV'Rs O )reateRo'setMRecord%LM_!D_&0_D$T_V7NQ Sad&b=DetV'Rs%2illMP'here LM_&0:V_(D O 8+ !"D LM_!D )_LR"_(DO8;PK Snbr_&b=_(dK LM_!D )_3PD_V7%LM_!D )_LR"_(D%ValueNQ Sob="ame O Sad&b=DetV'Rs%#etRo'M+N%#etRecordMRecord%LM_!D_&0_D$T_V7N%#et2ieldM2ield%LM_&0:V_) DN%ValueQ Sob=Descr O Sad&b=DetV'Rs%#etRo'M+N%#etRecordMRecord%LM_!D_&0_D$T_V7N%#et2ieldM2ield%LM_&0:V_D $S)N%ValueQ Sob=Prof O Sad&b=DetV'Rs%#etRo'M+N%#etRecordMRecord%LM_!D_&0_D$T_V7N%LM_R$V($7_R!T("#%ValueQ Sob=RtngMdl O Sad&b=DetV'Rs%#etRo'M+N%#etRecordMRecord%LM_!D_&0_D$T_V7N%LM_R!T("#_M&D$L%ValueQ (f M!llMSob=ProfNN Then Srs_lRv'RtngDescr O )reateRo'setMRecord%LM_RV7_RT"#_V7NQ Srs_lRv'RtngDescr%2illMP7 $R$ 2(LL%LM_R!T("#_M&D$L O 8+ !"D 2(LL%LM_R$V($7_R!T("# O 8; !"D /Date(nM84N 0$T7$$" 2(LL%$22DT !"D 2(LL%LM_$"D_$22DTPK Sob=RtngMdlK Sob=ProfK Sdate_l$nrlDtNQ Sstr_lRv'RatingDescr O Srs_lRv'RtngDescrM+N%LM_RV7_RT"#_V7%D$S)R%ValueQ $ndE(fQ Local Record Sadhc&b=DerRecQ (f Sob=ro'count UI + Then Sadhc&b=Der%(nsertRo'MSob=ro'countNQ Sob=ro'count O Sadhc&b=Der%!ctiveRo')ountQ Sadhc&b=DerRec O Sadhc&b=Der%#etRo'MSob=ro'countN%#etRecordMRecord%LM_!D )_&0:_D$RNQ Sadhc&b=DerRec%#et2ieldM2ield%LM_&0:V_(DN%Value O Snbr_&b=_(dQ Sadhc&b=DerRec%#et2ieldM2ield%LM_&0:V_)DN%Value O Sob="ameQ Sadhc&b=DerRec%#et2ieldM2ield%LM_&0:V_)DN%Label O Sob="ameQ Sadhc&b=DerRec%#et2ieldM2ield%LM_&0:V_D$S)N%Value O Sob=DescrQ Sadhc&b=DerRec%#et2ieldM2ield%LM_R$V($7_R!T("#N%Value O Sob=ProfQ Sadhc&b=DerRec%#et2ieldM2ield%D$S)RN%Value O Sstr_lRv'RatingDescrQ Sadhc&b=DerRec%#et2ieldM2ield%LM_R!T("#_M&D$LN%Value O Sob=RtngMdlQ $lse (f Sob=ro'count O + Then Sadhc&b=DerRec O Sadhc&b=Der%#etRo'MSob=ro'countN%#etRecordMRecord%LM_!D )_&0:_D$RNQ (f Sadhc&b=DerRec%#et2ieldM2ield%LM_&0:V_(DN%Value I , Then Sadhc&b=Der%(nsertRo'MSob=ro'countNQ Sob=ro'count O Sadhc&b=Der%!ctiveRo')ountQ Sadhc&b=DerRec O Sadhc&b=Der%#etRo'MSob=ro'countN%#etRecordMRecord%LM_!D )_&0:_D$RNQ Sadhc&b=DerRec%#et2ieldM2ield%LM_&0:V_(DN%Value O Snbr_&b=_(dQ Sadhc&b=DerRec%#et2ieldM2ield%LM_&0:V_)DN%Value O Sob="ameQ Sadhc&b=DerRec%#et2ieldM2ield%LM_&0:V_)DN%Label O Sob="ameQ Sadhc&b=DerRec%#et2ieldM2ield%LM_&0:V_D$S)N%Value O Sob=DescrQ Sadhc&b=DerRec%#et2ieldM2ield%LM_R$V($7_R!T("#N%Value O Sob=ProfQ Sadhc&b=DerRec%#et2ieldM2ield%D$S)RN%Value O Sstr_lRv'RatingDescrQ Sadhc&b=DerRec%#et2ieldM2ield%LM_R!T("#_M&D$LN%Value O Sob=RtngMdlQ $lse Sadhc&b=DerRec O Sadhc&b=Der%#etRo'MSob=ro'countN%#etRecordMRecord%LM_!D )_&0:_D$RNQ Sadhc&b=DerRec%#et2ieldM2ield%LM_&0:V_(DN%Value O Snbr_&b=_(dQ Sadhc&b=DerRec%#et2ieldM2ield%LM_&0:V_)DN%Value O Sob="ameQ Sadhc&b=DerRec%#et2ieldM2ield%LM_&0:V_)DN%Label O Sob="ameQ Sadhc&b=DerRec%#et2ieldM2ield%LM_&0:V_D$S)N%Value O Sob=DescrQ

Sob=ProfQ

Sadhc&b=DerRec%#et2ieldM2ield%LM_R$V($7_R!T("#N%Value O

Sadhc&b=DerRec%#et2ieldM2ield%D$S)RN%Value O Sstr_lRv'RatingDescrQ Sadhc&b=DerRec%#et2ieldM2ield%LM_R!T("#_M&D$LN%Value O Sob=RtngMdlQ $ndE(fQ $ndE(fQ $ndE(fQ $ndE(fQ $ndE2orQ $ndE(fQ 9L Transfer user to !dd93pdate page depending on the status L9

(f LM_!D )_LR"_T0L%LM_!D )_LR"_STTS%Value O PPL!"P &r LM_!D )_LR"_T0L%LM_!D )_LR"_STTS%Value O P("P&P &r LM_!D )_LR"_T0L%LM_!D )_LR"_STTS%Value O PP$!PP &r LM_!D )_LR"_T0L%LM_!D )_LR"_STTS%Value O P)&MPP Then LM_!D )_D$R%LM_S!V$_MS#%Visible O 2alseQ (f LM_!D )_LR"_T0L%LM_!D )_LR"_STTS%Value O P)&MPP IJ 1 K#K+LL 3 LE RNERS C N BM-D!F=B -R BDELETEB C-MPLETED 3 F!,ED JI HJ nd ;LM_*!_SRCC_%RK8LM_C LL!N)_C-MPNT8$alue 9 Component8LM_SS_LE RN!N)_*! JF 6< 3 889DTT I7 Ma"a4er c#m+#"e"t %) :e%"4 u)e$ t/e" tra")7er t/e +a4e t# LM_AD1(_LRN_P3 %")tea$ tra")7er t# LM_AD1(_UPD<6 6< AB 8583TT = LEARNERS (AN SMODI-2S OR SDELETES (OMPLETED = -I0ED <6 A"$ HLM_UI_SR(1_!R,ELM_(ALLIN3_(OMPNTE alue I (#m+#"e"tELM_SS_LEARNIN3_UIK 9L $nd E !0 >6>4FF E L$!R"$RS )!" PM&D(2*P &R PD$L$T$P )&MPL$T$D E 2(5$D L9 6< 3 889DTT I7 Ma"a4er c#m+#"e"t %) :e%"4 u)e$ t/e" tra")7er t/e +a4e t# LM_AD1(_LRN_P3 %")tea$ tra")7er t# LM_AD1(_UPD<6 Then LM_!D )_D$R%LM_("STR3)T(&"S%Visible O 2alseQ TransferPageMPage%LM_!D )_3PD_P#NQ $lse TransferPageMPage%LM_!D )_LR"_P#NQ $ndE(fQ $lse TransferPageMPage%LM_!D )_3PD_P#NQ $ndE(fQ

Peo1 eCode &Co01Record*: LM_PROG&GBL*;LM_PRG_CATG;S!=ePo#$C<!"/e

6< Re)#lut%#"R891063 (OMMENTED T1IS (ODE AND 1ANDLED T1E LO3I( ON -IELD(1AN3E OSA E BUTTON 3<6 M< import L$)R_PR&#R!M8Program3(Q )omponent L$)R_PR&#R!M8Program3( Sob=_Program3(Q Sob=_Program3(%set$nd$ffdt)hildMRecord%LM_PR#_)!T#NQ <L 6< Re)#lut%#"R891063 (OMMENTED T1IS (ODE AND 1ANDLED T1E LO3I( ON -IELD(1AN3E OSA E BUTTON 3<6

Peo1 eCode &Co01Record*: LM_PROG&GBL*;LM_PRG_ITEM;S!=eEdi$


import L$)R_PR&#R!M8Program3(Q )omponent L$)R_PR&#R!M8Program3( Sob=_Program3(Q Sob=_Program3(%checH istorical)reditMNQ 6<Re)#lut%#" 891061 a$$e$ c#"$%t%#" t# c/ec? t/e +r#4ram "e)t%"46$u+l%cate +r#4ram &/e" #:; tA+e I 30<6 I7 LM_PR3_ITEMELM_OB@_T2PEE alue I S30S T/e" Sob=_Program3(%checHDuplicateProgramMNQ P#:;_Pr#4ramUIEc/ec?Ne)te$Pr#4ramHKQ 6< Re)#lut%#" R891061 Start c#$e c/a"4e) c/ec?%"4 t/e "e)te$ +r#4ram #" )a*e <6 E"$=I7Q 6<Re)#lut%#" 891061 a$$e$ c#"$%t%#" t# c/ec? t/e +r#4ram "e)t%"46$u+l%cate +r#4ram &/e" #:; tA+e I 30<6

Peo1 eCode &Co01Record*: LM_PROG&GBL*;LM_PRG_,WRD;S!=ePo#$C<!"/e


6<Re)#lut%#"R891063 (OMMENTED T1IS (ODE AND 1ANDLED T1E LO3I( ON -IELD(1AN3E OSA E BUTTON 3<6 M< import L$)R_PR&#R!M8Program3(Q )omponent L$)R_PR&#R!M8Program3( Sob=_Program3(Q Sob=_Program3(%set$nd$ffdt)hildMRecord%LM_PR#_-7RDNQ Sob=_Program3(%formatProgram-ey'ordsM#etRo'setMNNQ <L 6<Re)#lut%#"R891063 (OMMENTED T1IS (ODE AND 1ANDLED T1E LO3I( ON -IELD(1AN3E OSA E BUTTON 3<6

Peo1 eCode &Co01Record*: LM_PROG&GBL*;LM_PRG_OB-V;S!=ePo#$C<!"/e


M< import L$)R_PR&#R!M8Program3(Q

)omponent L$)R_PR&#R!M8Program3( Sob=_Program3(Q Sob=_Program3(%set$nd$ffdt)hildMRecord%LM_PR#_&0:VNQ <L 6<Re)#lut%#"R891063 (OMMENTED T1IS (ODE AND 1ANDLED T1E LO3I( ON -IELD(1AN3E OSA E BUTTON 3<6

Peo1 eCode &Co01RecF d*: LM_ACT_CLONE&GBL*;LM_ACT_WR,;LM_O,_PB Fie dC<!"/e


import L$0L_!)T(V(T*8LQ

Local number Snbr_&riginating!ctivityK Snbr_)loned!ctivity(dQ Local array of number Sary_L$Q Local L$0L_!)T(V(T*8!ctivity)loning S)lone!ctivity O create L$0L_!)T(V(T*8!ctivity)loningMNQ Local L$0L_!)T(V(T*8!ctivity Sob=_!ctivityQ Local boolean Sbol_)lonedK Sbol_)loneSessionsQ 9L start code changes for Resolution ><F6>G L9 Local number Snbr_!ct)d"e@tSe.K Snbr_ne@t$@tK Sci_idQQ Local Ro'set Srs_LM_)S_)&3"T$RK Srs_LM_!)TQ Local string Sstr_)ourse)odeQ 9L end code changes for Resolution ><F6>G L9 (f "oneMLM_!)T_7R-%LM_!)T_)DN Then Set)ursorPosM/PageK LM_!)T_7R-%LM_!)T_)DK )urrentRo'"umberMNNQ $rror Msg#etTe@tM+>,G;K +,+K PPNQ $ndE(fQ 9LL )hecH for duplicate !ctivity )ode LL9 Sob=_!ctivity O create L$0L_!)T(V(T*8!ctivityMNQ 9LL Snbr_!ctivity(d O LM_!)T%LM_!)T_(D%ValueQ LL9 Snbr_!ctivity(d O GGGGGGGGGGQ 9L start code changes for Resolution ><F6>G L9 rem Sstr_!ctivity)d O LM_!)T_7R-%LM_!)T_)D%ValueQ 9L"08>>+G;4 StartsL9 9L(n the above piece of lineKSstr_!ctivity)d is commented 'hich results in blanH value as the 4rd parameter for method )hecH3ni.ue!ct)ode 'hich is invoHed belo' and hence it returns 'rong result L9 Sstr_!ctivity)d O LM_!)T_7R-%LM_!)T_)D%ValueQ 9L"08>>+G;4 $ndsL9 Srs_LM_!)T O )reateRo'setMRecord%LM_!)TNQ Srs_LM_!)T%2illMP7here LM_!)T_(D O 8+PK LM_!)T%LM_!)T_(D%ValueNQ Sci_id O Srs_LM_!)TM+N%LM_!)T%LM_)(_(D%ValueQ Srs_LM_)S_)&3"T$R O )reateRo'setMRecord%LM_)S_)&3"T$RNQ Srs_LM_)S_)&3"T$R%2illMNQ 9L SS >DGD<;8 Start of code changes L9 9L Removed the checH on LM_)RS$_)D_!LP ! Value L9 9L (f !llMSrs_LM_)S_)&3"T$RM+N%LM_)S_)&3"T$R%LM_)RS$_)D_!LP !%ValueN !nd MSrs_LM_)S_)&3"T$RM+N%LM_)S_)&3"T$R%LM_!)T_)D_!3T&%Value O P*PN Then L9 (f MSrs_LM_)S_)&3"T$RM+N%LM_)S_)&3"T$R%LM_!)T_)D_!3T&%Value O P*PN Then 9L SS >DGD<;8 $nd of code changes L9 SQL$@ecMSQL%LM_#$T_)&3RS$_)&D$K Sci_idK Sstr_)ourse)odeNQ SQL$@ecMSQL%LM_!)T_#$T_)(_)"TK Sci_idK Snbr_!ct)d"e@tSe.NQ (f Snbr_!ct)d"e@tSe. I GGGF Then $rror MMsg#etTe@tM+>,G;K +;,>K PMessage not found%PNNQ $ndE(fQ 6< 3 8908T8O 3et t/e MaB%mum EBte")%#" #7 Act%*%tA (#$e %" ca)e #7 Aut# 3e"erat%#" <6 L#cal S'L PAct($Q L#cal )tr%"4 P)tr_(#ur)e(#$eA++e"$J PEBte")%#"Q L#cal "um:er PLe"4t/(#ur)e(#$eJ PLe"4t/Act(#$eJ PMaBNumJ P(urrNumQ L#cal :##lea" P-la4Q PMaBNum I 0Q PAct($ I (reateS'LHSSelect LM_A(T_(D 7r#m PS_LM_A(T &/ere LM_A(T_(D l%?e NS U SS U P)tr_(#ur)e(#$e U S=.NSJ P)tr_(#ur)e(#$eA++e"$KQ !/%le PAct($E-etc/HP)tr_(#ur)e(#$eA++e"$K PLe"4t/(#ur)e(#$e I Le"HP)tr_(#ur)e(#$eKQ PLe"4t/Act(#$e I Le"HP)tr_(#ur)e(#$eA++e"$KQ PEBte")%#" I Su:)tr%"4HP)tr_(#ur)e(#$eA++e"$J PLe"4t/(#ur)e(#$e C 8J PLe"4t/Act(#$eKQ P-la4 I I)Num:erHPEBte")%#"KQ I7 HP-la4K T/e" P(urrNum I alueHPEBte")%#"KQ I7 HP(urrNum LI PMaBNumK T/e" PMaBNum I P(urrNumQ

E"$=I7Q E"$=I7Q E"$=!/%leQ P":r_Act($NeBtSe5 I PMaBNumQ 6< E"$ 3 8908T8 <6 Sstr_)ourse)ode O SubstringMSstr_)ourse)odeK +K ;6NQ Snbr_!ct)d"e@tSe. O Snbr_!ct)d"e@tSe. C +Q LM_!)T_7R-%LM_!)T_)D%Value O Sstr_)ourse)ode R PEP R Snbr_!ct)d"e@tSe.Q $ndE(fQ 9L end code changes for Resolution ><F6>G L9 Sary_L$ O )reate!rrayReptM,K ,NQ Sstr_!ct)d&ption O Sob=_!ctivity%#et!ct)d&ptionMNQ (f Sstr_!ct)d&ption O PLP Then Sstr_!ct)d&ption O PRPQ $ndE(fQ Sbol_3ni.ue O Sob=_!ctivity%)hecH3ni.ue!ct)odeMSstr_!ct)d&ptionK Snbr_!ctivity(dK Sstr_!ctivity)dK Sary_L$NQ $valuate Sstr_!ct)d&ption 7hen P!P 9LL !llo' duplicate !ctivity )ode LL9 (f "ot Sbol_3ni.ue Then 7arning MMsg#etM+>,G;K ++66K PPNN $ndE(fQ 0reaHQ 7hen PRP 9LL Restrict duplicate !ctivity )ode LL9 (f "ot Sbol_3ni.ue Then Set)ursorPosM/PageK LM_!)T_7R-%LM_!)T_)DNQ $rror MMsg#etM+>,G;K ++64K PPNN $ndE(fQ 0reaHQ $ndE$valuateQ

Snbr_&riginating!ctivity O LM_!)T%LM_!)T_(DQ S)lone!ctivity%)loned!ctivity)ode O LM_!)T_7R-%LM_!)T_)DQ S)lone!ctivity%)lonedStartDate O LM_!)T_7R-%LM_ST!RT_DTQ S)lone!ctivity%)loned$ndDate O LM_!)T_7R-%LM_$"D_DTQ S)lone!ctivity%)loned!ctivityStatus O LM_!)T_7R-%LM_!)T_ST!T3SQ (f LM_!)T_7R-%LM_)&P*_S$SS(&"S O P)P Then S)lone!ctivity%)loneSessions O TrueQ $lse S)lone!ctivity%)loneSessions O 2alseQ $ndE(fQ Sbol_)loned O S)lone!ctivity%cloneMSnbr_&riginating!ctivityNQ

(f Sbol_)loned O 2alse Then $rror Msg#etM+>,G;K +,6K PPK Snbr_&riginating!ctivityNQ $lse 9LLocal !ctivity)loning S)lone!ctivity O create !ctivity)loningMNQL9

)ommit7orHMNQ Snbr_)loned!ctivity(d O S)lone!ctivity%!ctivity(dQ LM_!)T%LM_!)T_(D O Snbr_)loned!ctivity(dQ $ndE(fQ DoSave"o'MNQ 9L)ommit7orHMNQL9 TransferM 2alseK Menu"ame%LM_R$S&3R)$_M!"!#$M$"TK 0ar"ame%3S$K (tem"ame%LM_!)TK Page%LM_!)TK P3PK LM_!)T%LM_!)T_(DK TrueNQ

Peo1 eCode &Co01RecF d*: LM_BROWSE_LEARNER&GBL*;LM_ACT_UI_WR,;LM_ADDPLAN_BTN Fie dC<!"/e


import import import import Local Local Local Local Local L$$_$"R&LLM$"T8L$$_$"RLMTQ L$$_$"R&LLM$"T8L$$_PL!"_0$!"Q L$0&_P$RS&"8Person)lassQ L$LP_L$!R"("#_PL!"S8LQ L$0&_P$RS&"8Person)lass SpersonQ L$$_$"R&LLM$"T8L$$_PL!"_0$!" Splan_beanQ L$$_$"R&LLM$"T8L$$_$"RLMT SenrlmtQ number SpersonidK Snbr_lPlanned(temQ boolean S(sSuccessQ

9L Variables needed for Learning Plans L9 Local L$LP_L$!R"("#_PL!"S8LearningPlanSelection3( Scls_lLearningPlanSelection3( O create L$LP_L$!R"("#_PL!"S8LearningPlanSelection3(MNQ Local L$LP_L$!R"("#_PL!"S8LearningPlan Scls_lLearningPlan O create L$LP_L$!R"("#_PL!"S8LearningPlanMNQ Local Ro'set Srs_lSelectedLearningPlansQ Local Ro'set Srs_lLearnerPlanned(tems O )reateRo'setMRecord%LM_LPL"_DTLNQ Local Record Srec_lLM_LPL"_DTL O )reateRecordMRecord%LM_LPL"_DTLNQ Local boolean Sbol_lLearningPlanSelectedQ 9LLL9 9LLocal Record SR$)_$"RL_7R-QL9 SQL$@ecMPSelect LM_P$RS&"_(D 2R&M PS_LM_&PR(D_(D_V7 7 $R$ &PR(DO1P R /3ser(d R P1 PK SpersonidNQ Sperson O create L$0&_P$RS&"8Person)lassMSpersonidNQ Sperson%getPersonDeptMNQ Splan_bean O create L$$_$"R&LLM$"T8L$$_PL!"_0$!"MNQ Senrlmt O create L$$_$"R&LLM$"T8L$$_$"RLMTM,NQ Splan_bean%set)urrent3ser(dMSpersonidNQ Splan_bean%setRe.uestor(dMSpersonidNQ Splan_bean%set(s!dminM 2alseNQ Splan_bean%set(sManagerM 2alseNQ Splan_bean%set(s(nstructorM 2alseNQ Splan_bean%set!ctRe.MP"PNQ Splan_bean%set)i(dMLM_(TM_3(_7R-%LM_)(_(DNQ Splan_bean%set!ct(dMLM_!)T_3(_7R-%LM_!)T_(DNQ Splan_bean%setPerson(dMSpersonidNQ Splan_bean%set&rganiTation(dMSperson%&rganiTation(DNQ 9L Prompt to select a learning plan L9 Sbol_lLearningPlanSelected O Scls_lLearningPlanSelection3(%promptToSelectLearningPlansMSplan_bean%getRe.uestor( dMNK TrueNQ (f Sbol_lLearningPlanSelected Then 9L )ontinue processing% &ther'iseK no Learning Plan selected L9

$lse ReturnQ $ndE(fQ 9LLL9 S(sSuccess O Senrlmt%createPlanMSplan_beanK Snbr_lPlanned(temNQ (f "ot S(sSuccess Then $rror MSenrlmt%get$rrorMessageMNNQ $ndE(fQ 9L "o'K set the planned item for the learning plan L9 Srec_lLM_LPL"_DTL%SetDefaultMNQ Srec_lLM_LPL"_DTL%LM_P$RS&"_(D%Value O Splan_bean%getPerson(dMNQ Srec_lLM_LPL"_DTL%LM_$"RLMT_(D%Value O Snbr_lPlanned(temQ Scls_lLearningPlanSelection3(%setPlanned(temMSrs_lLearnerPlanned(temsK Srec_lLM_LPL"_DTLNQ Scls_lLearningPlan%addSelectedLearningPlansMSrs_lLearnerPlanned(temsNQ 9LLL9 6< 8T99D8O A$$ +la" :utt#" "#t t# :e *%)%:le %7 t/e act%*%tA %) alrea$A a$$e$ t# t/e lear"%"4 +la" <6 S'LEBecHSSELE(T N0N -ROM PS_LM_ENRLMT !1ERE LM_STTS I NPLANN AND LM_A(T_IDIO1 AND LM_PERSON_IDIO8SJ LM_A(T_UI_!R,ELM_A(T_IDE alueJ LM_A(T_UI_!R,ELM_PERSON_IDE alueJ PtA+eKQ I7 PtA+e I S0S T/e" LM_A(T_UI_!R,ELM_ADDPLAN_BTNE %)%:le I -al)eQ E"$=I7Q 6<E"$ 8T99D8<6

TransferPageMPage%LM_L$!R"("#_ MNQ

Peo1 eCode &Co01RecF d*: LM_BROWSE_LEARNER&GBL*;LM_CAT_UI_WR,;LM_CI_AD_PLAN


import L$)S_0R&7S$80ro'se)atalog3(Q Local L$)S_0R&7S$80ro'se)atalog3( Sob=_0ro'seQ Sob=_0ro'se O create L$)S_0R&7S$80ro'se)atalog3(MNQ Sob=_0ro'se%add(temToPlanMNQ

Fie dC<!"/e

6< 8T99D8O A$$ +la" :utt#" "#t t# :e *%)%:le %7 t/e (atal#4 %) alrea$A a$$e$ t# t/e lear"%"4 +la" <6 S'LEBecHSSelect LM_PERSON_ID -ROM PS_LM_OPRID_ID_ ! !1ERE OPRIDINS U .U)erI$ U SN SJ P+er)#"%$KQ S'LEBecHSSELE(T N0N -ROM PS_LM_ENRLMT !1ERE LM_STTS I NPLANN AND LM_(I_IDIO1 AND LM_PERSON_IDIO8SJ LM_ITM_UI_!R,ELM_(I_IDE alueJ P+er)#"%$J PtA+eKQ I7 PtA+e I S0S T/e" LM_(AT_UI_!R,ELM_(I_AD_PLANE %)%:le I -al)eQ E"$=I7Q 6< E"$ 8T99D8 <6

Peo1 eCode &Co01RecF d*: LM_BROWSE_LEARNER&GBL*;LM_CAT_UI_WR,;LM_ITM_ADDTOPLN_PBFie dC<!"/e


import import import import import L$$_$"R&LLM$"T8L$$_$"RLMTQ L$$_$"R&LLM$"T8L$$_PL!"_0$!"Q L$0&_P$RS&"8Person)lassQ LM_3T(L(T($S8$LMTe@t)atalogQ L$LP_L$!R"("#_PL!"S8LQ

Local L$0&_P$RS&"8Person)lass SpersonQ Local L$$_$"R&LLM$"T8L$$_PL!"_0$!" Splan_beanQ Local L$$_$"R&LLM$"T8L$$_$"RLMT SenrlmtQ 9L+F>>4>,,,, 0eginL9 Local number SpersonidK Snbr_lPlanned(temK ScurrpersonidQ 9L+F>>4>,,,, $ndL9 Local boolean S(sSuccessQ Local Record SR$)_$"RL_7R-Q 9L Variables needed for Learning Plans L9 Local L$LP_L$!R"("#_PL!"S8LearningPlanSelection3( Scls_lLearningPlanSelection3( O create L$LP_L$!R"("#_PL!"S8LearningPlanSelection3(MNQ Local L$LP_L$!R"("#_PL!"S8LearningPlan Scls_lLearningPlan O create L$LP_L$!R"("#_PL!"S8LearningPlanMNQ Local Ro'set Srs_lSelectedLearningPlansQ Local Ro'set Srs_lLearnerPlanned(tems O )reateRo'setMRecord%LM_LPL"_DTLNQ Local Record Srec_lLM_LPL"_DTL O )reateRecordMRecord%LM_LPL"_DTLNQ Local boolean Sbol_lLearningPlanSelectedQ 9LLL9 9L+F>>4>,,,, change + start8 setting Person (d as Learner (d from current conte@tL9 rem SQL$@ecMPSelect LM_P$RS&"_(D 2R&M PS_LM_&PR(D_(D_V7 7 $R$ &PR(DO1P R /3ser(d R P1PK SpersonidNQ Spersonid O LM_(TM_3(_7R-%LM_P$RS&"_(D%ValueQ (f "oneMSpersonidN Then SQL$@ecMPSelect LM_P$RS&"_(D 2R&M PS_LM_&PR(D_(D_V7 7 $R$ &PR(DO1P R /3ser(d R P1PK ScurrpersonidNQ Spersonid O ScurrpersonidQ $ndE(fQ 9L+F>>4>,,,, change + endL9 Sperson O create L$0&_P$RS&"8Person)lassMSpersonidNQ Sperson%getPersonDeptMNQ Splan_bean O create L$$_$"R&LLM$"T8L$$_PL!"_0$!"MNQ Senrlmt O create L$$_$"R&LLM$"T8L$$_$"RLMTM,NQ Splan_bean%set)urrent3ser(dMSpersonidNQ Splan_bean%setRe.uestor(dMSpersonidNQ Splan_bean%set(s!dminM 2alseNQ 9L+F>>4>,,,, 0eginL9 (f Spersonid O Scurrpersonid Then Splan_bean%set(sManagerM TrueNQ $lse Splan_bean%set(sManagerM 2alseNQ $ndE(fQ 9L+F>>4>,,,, $ndL9 Splan_bean%set(s(nstructorM 2alseNQ Splan_bean%set!ctRe.MP"PNQ Splan_bean%set)i(dMLM_(TM_3(_7R-%LM_)(_(DNQ Splan_bean%set!ct(dMLM_!)T_)(_3(_V7%LM_!)T_(DNQ Splan_bean%setPerson(dMSpersonidNQ Splan_bean%set&rganiTation(dMSperson%&rganiTation(DNQ 9L Prompt to select a learning plan L9 Sbol_lLearningPlanSelected O Scls_lLearningPlanSelection3(%promptToSelectLearningPlansMSplan_bean%getRe.uestor( dMNK TrueNQ

(f Sbol_lLearningPlanSelected Then 9L )ontinue processing% &ther'iseK no Learning Plan selected L9 $lse ReturnQ $ndE(fQ 9LLL9 S(sSuccess O Senrlmt%createPlanMSplan_beanK Snbr_lPlanned(temNQ (f "ot S(sSuccess Then $rror MSenrlmt%get$rrorMessageMNNQ $lse 9L "o'K set the planned item for the learning plan L9 Srec_lLM_LPL"_DTL%SetDefaultMNQ Srec_lLM_LPL"_DTL%LM_P$RS&"_(D%Value O Splan_bean%getPerson(dMNQ Srec_lLM_LPL"_DTL%LM_$"RLMT_(D%Value O Snbr_lPlanned(temQ Scls_lLearningPlanSelection3(%setPlanned(temMSrs_lLearnerPlanned(temsK Srec_lLM_LPL"_DTLNQ Scls_lLearningPlan%addSelectedLearningPlansMSrs_lLearnerPlanned(temsNQ 9LLL9 Local LM_3T(L(T($S8$LMTe@t)atalog Sob=_Te@t)atalog O create LM_3T(L(T($S8$LMTe@t)atalogMNQ Local string Sstr_Te@tStringQ LM_PR#_P#_7R-%LM_PR#_PL!"_#P0%Visible O TrueQ Sob=_Te@t)atalog%LM_L$_(D O Sperson%L$(DQ 9LResolution +F>>4>,,,, change ; start8 setting message to display on successfully adding the Learning based on current conte@tL9 (f Spersonid O Scurrpersonid Then Sstr_Te@tString O Sob=_Te@t)atalog%getTe@tMPL$)R_PR#_!DDPL!"PK LM_)!T_3(_7R-%LM_)S_L&"#_"M%ValueK PPK PPK PPK PPNQ $lse Sstr_Te@tString O Sob=_Te@t)atalog%getTe@tMPL$)R_PR#_M#R!DDPL!PK LM_)!T_3(_7R-%LM_)S_L&"#_"M%ValueK PPK PPK PPK PPNQ $ndE(fQ 9LResolution +F>>4>,,,, change + endL9 LM_PR#_P#_7R-%LM_PR#_PL!"_MS#%Value O Sstr_Te@tStringQ Set)ursorPosM/PageK LM_PR#_P#_7R-%LM_PR#_PL!"_MS#NQ $ndE(fQ 6< 8T99D8O A$$ +la" :utt#" "#t t# :e *%)%:le %7 t/e (atal#4 %) alrea$A a$$e$ t# t/e lear"%"4 +la" <6 S'LEBecHSSelect LM_PERSON_ID -ROM PS_LM_OPRID_ID_ ! !1ERE OPRIDINS U .U)erI$ U SN SJ P+er)#"%$KQ S'LEBecHSSELE(T N0N -ROM PS_LM_ENRLMT !1ERE LM_STTS I NPLANN AND LM_A(T_IDIO1 AND LM_PERSON_IDIO8SJ LM_A(T_(I_UI_ !ELM_A(T_IDE alueJ P+er)#"%$J PtA+eKQ I7 PtA+e I S0S T/e" LM_(AT_UI_!R,ELM_ITM_ADDTOPLN_PBE %)%:le I -al)eQ E"$=I7Q 6< E"$ 8T99D8 <6

Peo1 eCode &Co01RecF d*: LM_INSTRUCTOR&GBL*;LM_ROSTER_WR,;LM_ROST_BTN8 Fie dC<!"/e


Local Ro'set SrosterRsQ Local number SiQ

(f LM_R&ST$R_7R-%LM_M!R-_!TT%Value O PS$LP Then

$rror MMsg#etTe@tM+>,>GK +F<6K PPNNQ $ndE(fQ SrosterRs O #etLevel,MN%#etRo'M+N%#etRo'setMScroll%LM_!)T_R&ST_V7NQ Local string Sall!ttStts O #etRecordMRecord%LM_R&ST$R_7R-N%#et2ieldM2ield%LM_M!R-_!TTN%ValueQ 2or Si O + To SrosterRs%!ctiveRo')ount Local Ro' SrosterRo' O SrosterRs%#etRo'MSiNQ (f SrosterRo'%Selected O True Then Local Record SrosterRec O SrosterRo'%#etRecordMRecord%LM_!)T_R&ST_V7NQ 9L SS >F4DD,8 )ode 'ritten to restrict the user to enter #rade Values for 7aitlisted and Dropped LearningsL9 rem ??ro0terRec8)etField;Field8LM_)R DE_$ L_!D>8$alue 9 ?0tr_(radeA (f SrosterRec%#et2ieldM2ield%LM_STTSN%Value UI P7TLTP !nd SrosterRec%#et2ieldM2ield%LM_STTSN%Value UI P)!")P Then ?ro0terRec8)etField;Field8LM_)R DE_$ L_!D>8$alue 9 ?all ttStt0A Pr#)terRecE3et-%el$H-%el$ELM_ATT_ AL_IDKE alue I PallAttStt)Q 6< AB = Re)#lut%#" 89111T = A))%4"%"4 t/e Atte"$a"ce Statu) t# c#rrect rec#r$ 7%el$ <6 $ndE(fQ 9L $nd SS >F4DD,L9 $ndE(fQ $ndE2orQ #etRecordMRecord%LM_R&ST$R_7R-N%#et2ieldM2ield%LM_M!R-_!TTN%Value O PS$LPQ

Peo1 eCode &Co01RecF d*: LM_PERSONAL_PHONE&GBL*;LM_LIN,_WR,;LM_ADD_PB Fie dC<!"/e


Local RoM0et ?r0_RoM0et2< ?r0_RoM0et"A L#cal R#&)et Pr)_R#&)et0J Pr)_R#&)et1J Pr)_R#&)et8Q Local number Snbr_Ro'sQ Srs_Ro'set, O #etLevel,MNQ ?r0_RoM0et" 9 ?r0_RoM0et2;">8)etRoM0et;Scroll8LM_PERS-N_PC-NE>A 6<START (ODE (1AN3ES = 89099T<6 REM Pr)_R#&)et1 I Pr)_R#&)et0H1KE3etR#&)etHScr#llELM_PERSON_P1ONEKQ Pr)_R#&)et1 I (reateR#&)etHRec#r$ELM_PERSON_P1ONEKQ Pr)_R#&)et8 I Pr)_R#&)et0H1KE3etR#&)etHScr#llELM_PERSON_P1ONEKQ 6<END (ODE (1AN3ES = 89099T<6 6<START (ODE (1AN3ES = 89099T<6 Pr)_R#&)et8E(#+AT#HPr)_R#&)et1KQ 6<END (ODE (1AN3ES = 89099T<6 Snbr_Ro's O Srs_Ro'set+%!ctiveRo')ountQ (f Snbr_Ro's O + !nd Srs_Ro'set+M+N%(s"e' !nd Srs_Ro'set+M+N%(s)hanged O 2alse Then Srs_Ro'set+%#etRo'M+N%LM_P$RS&"_P &"$%LM_)M_P3RP_T*P$%Visible O TrueQ Srs_Ro'set+%#etRo'M+N%LM_P$RS&"_P &"$%LM_)&3"TR*_)&D$%Visible O TrueQ Srs_Ro'set+%#etRo'M+N%LM_P$RS&"_P &"$%LM_P &"$%Visible O TrueQ Srs_Ro'set+%#etRo'M+N%LM_P$RS&"_P &"$%LM_P &"$_$5T%Visible O TrueQ Srs_Ro'set+%#etRo'M+N%LM_P$RS&"_P &"$%LM_PR(M!R*%Visible O TrueQ Srs_Ro'set+%#etRo'M+N%LM_L("-_7R-%LM_D$L$T$_$"TR*_P0%Visible O TrueQ $lse Srs_Ro'set+%(nsertRo'MSnbr_Ro'sNQ Srs_Ro'set+%#etRo'MSnbr_Ro's C +N%LM_P$RS&"_P &"$%LM_P$RS&"_(D%Value O LM_(D_&PR(D_V7%LM_P$RS&"_(D%ValueQ $ndE(fQ

6<START (ODE (1AN3ES = 89099T<6 Pr)_R#&)et1E(#+AT#HPr)_R#&)et8KQ 6<END (ODE (1AN3ES = 89099T<6

Peo1 eCode &Co01RecF d*: LM_PRG_DTLS_ESS&GBL*;LM_PRG_PG_WR,;LM_PRG_PLAN_BTN Fie dC<!"/e


import L$)R_PR&#R!MS$L2S$RV()$8ProgramDetailsPage3tilityQ 9L These global variables are used for the Learning Plan )omponents L9 #lobal number Sglb_nbrLPL"_!ct(dK Sglb_nbrLPL"_)i(dK Sglb_nbrLPL"_Prg(DQ 9LLL9 9L Set the program (D for the learning plan component L9 Local Record Srec_lLM_PR#_TR"_7R- O #etLevel,MNM+N%LM_PR#_TR"_7R-Q (f Srec_lLM_PR#_TR"_7R-%LM_)!LL("#_)&MP"T%Value O )omponent%LM_LPL"_S$!R) Sglb_nbrLPL"_Prg(D O Srec_lLM_PR#_TR"_7R-%LM_PR#_(D%ValueQ $ndModal)omponentM,NQ $ndE(fQ 9LLL9 Local L$)R_PR&#R!MS$L2S$RV()$8ProgramDetailsPage3tility Sob=_ProgramDetailsPage3tility O create L$)R_PR&#R!MS$L2S$RV()$8ProgramDetailsPage3tilityMNQ Sob=_ProgramDetailsPage3tility%addLearnerProgramtoPlanMNQ 6< 8T99D8O A$$ +la" :utt#" "#t t# :e *%)%:le %7 t/e Pr#4ram %) alrea$A a$$e$ t# t/e lear"%"4 +la" <6 S'LEBecHSSELE(T N0N -ROM PS_LM_PR3_ENRL_ ! !1ERE LM_PR3_STTS I NPLANN AND LM_PR3_IDIO1 AND LM_PERSON_IDIO8SJ Prec_lLM_PR3_TRN_!R,ELM_PR3_IDE alueJ LM_PR3_TRN_!R,ELM_PERSON_IDE alueJ PtA+eKQ I7 PtA+e I S0S T/e" LM_PR3_P3_!R,ELM_PR3_PLAN_BTNE %)%:le I -al)eQ E"$=I7Q 6<E"$ 8T99D8<6

Then

Peo1 eCode &Co01RecF d*: LM_PROG&GBL*;LM_PRG_ITEM;LM_OB-_ID


import L$)R_PR&#R!M8Program3(Q )omponent L$)R_PR&#R!M8Program3( Sob=_Program3(Q Sob=_Program3(%set(tem$dittableMNQ

Fie dC<!"/e

6<Re)#lut%#" 891061 a$$e$ c#"$%t%#" t# c/ec? t/e +r#4ram "e)t%"46$u+l%cte +r#4ram &/e" #:; tA+e I 30<6 I7 LM_PR3_ITEMELM_OB@_T2PEE alue I S30S T/e" Sob=_Program3(%checH"estedProgramMNQ Sob=_Program3(%checHDuplicateProgramMNQ E"$=I7Q 6<Re)#lut%#" 891061 a$$e$ c#"$%t%#" t# c/ec? t/e +r#4ram "e)t%"46$u+l%cte +r#4ram &/e" #:; tA+e I 30<6

Peo1 eCode &Co01RecF d*: LM_PROG&GBL*;LM_PRG_TBAR_WR,;LM_SAVE_PB Fie dC<!"/e


import L$)R_PR&#R!M8Program3(Q Local Ro'set Srs_)urr!ctvK Srs_)urr!ctv+Q Local Ro' Sro'_)urr!ctvQ Local Record Srec_LmPlan_'rHQ Local L$)R_PR&#R!M8Program3( Sob=_Program3( O create L$)R_PR&#R!M8Program3(MNQ 6<Start Re)#lut%#"R891063O LO3I( TO 1ANDLE END=E--DT -OR LM_PR3_(AT3<6 L#cal "um:er PPR3IDQ L#cal $ate PE--DTJ PEND_E--DTQ L#cal R#&)et PPR3 I 3etLe*el0HKH1KE3etR#&)etHScr#llELM_PR3KQ L#cal R#&)et PPR3_(AT3Q -#r P% I 1 T# PPR3EAct%*eR#&(#u"t PPARENT_PR3_ID I PPR3HP%KELM_PR3ELM_PR3_IDE alueQ PPARENT_E--DT I PPR3HP%KELM_PR3EE--DTE alueQ PPARENT_END_E--DT I PPR3HP%KELM_PR3ELM_END_E--DTE alueQ PPR3_(AT3 I PPR3HP%KE3etR#&)etHScr#llELM_PR3_(AT3KQ -#r P; I 1 T# PPR3_(AT3EAct%*eR#&(#u"t PPR3_(AT3_RO! I PPR3_(AT3HP;KQ I7 PPR3_(AT3_RO!EISDELETED I -al)e T/e" PPR3ID I PPR3_(AT3HP;KELM_PR3_(AT3ELM_PR3_IDE alueQ

PE--DT I PPR3_(AT3HP;KELM_PR3_(AT3EE--DTE alueQ I7 PPR3ID I PPARENT_PR3_ID A"$ PE--DT I PPARENT_E--DT T/e" PPR3_(AT3HP;KELM_PR3_(AT3ELM_END_E--DTE alue I PPARENT_END_E--DT E"$=I7Q E"$=I7Q E"$=-#rQ E"$=-#rQ 6<E"$ Re)#lut%#"R891063O LO3I( TO 1ANDLE END=E--DT -OR LM_PR3_(AT3<6 6<Start Re)#lut%#"R891063O LO3I( TO 1ANDLE END=E--DT -OR LM_PR3_,!RD<6 L#cal R#&)et PPR3_,!RDQ -#r P% I 1 T# PPR3EAct%*eR#&(#u"t PPARENT_PR3_ID I PPR3HP%KELM_PR3ELM_PR3_IDE alueQ PPARENT_E--DT I PPR3HP%KELM_PR3EE--DTE alueQ PPARENT_END_E--DT I PPR3HP%KELM_PR3ELM_END_E--DTE alueQ PPR3_,!RD I PPR3HP%KE3etR#&)etHScr#llELM_PR3_,!RDKQ -#r P; I 1 T# PPR3_,!RDEAct%*eR#&(#u"t PPR3_,!RD_RO! I PPR3_,!RDHP;KQ I7 PPR3_,!RD_RO!EISDELETED I -al)e T/e" PPR3ID I PPR3_,!RDHP;KELM_PR3_,!RDELM_PR3_IDE alueQ

PE--DT I PPR3_,!RDHP;KELM_PR3_,!RDEE--DTE alueQ I7 PPR3ID I PPARENT_PR3_ID A"$ PE--DT I PPARENT_E--DT T/e"

PPR3_,!RDHP;KELM_PR3_,!RDELM_END_E--DTE alue I PPARENT_END_E--DT E"$=I7Q E"$=I7Q E"$=-#rQ E"$=-#rQ 6<E"$ Re)#lut%#"R891063O LO3I( TO 1ANDLE END=E--DT -OR LM_PR3_,!RD<6 6<Start Re)#lut%#"R891063O LO3I( TO 1ANDLE END=E--DT -OR LM_PR3_OB@ <6 L#cal R#&)et PPR3_OB@ Q -#r P% I 1 T# PPR3EAct%*eR#&(#u"t PPARENT_PR3_ID I PPR3HP%KELM_PR3ELM_PR3_IDE alueQ PPARENT_E--DT I PPR3HP%KELM_PR3EE--DTE alueQ PPARENT_END_E--DT I PPR3HP%KELM_PR3ELM_END_E--DTE alueQ PPR3_OB@ I PPR3HP%KE3etR#&)etHScr#llELM_PR3_OB@ KQ -#r P; I 1 T# PPR3_OB@ EAct%*eR#&(#u"t PPR3_OB@ _RO! I PPR3_OB@ HP;KQ I7 PPR3_OB@ _RO!EISDELETED I -al)e T/e" PPR3ID I PPR3_OB@ HP;KELM_PR3_OB@ ELM_PR3_IDE alueQ

PE--DT I PPR3_OB@ HP;KELM_PR3_OB@ EE--DTE alueQ I7 PPR3ID I PPARENT_PR3_ID A"$ PE--DT I PPARENT_E--DT T/e" PPR3_OB@ HP;KELM_PR3_OB@ ELM_END_E--DTE alue I PPARENT_END_E--DT E"$=I7Q E"$=I7Q E"$=-#rQ E"$=-#rQ 6<E"$ Re)#lut%#"R891063O LO3I( TO 1ANDLE END=E--DT -OR LM_PR3_OB@ <6 Sob=_Program3(%saveProgramMNQ Srs_)urr!ctv O #etLevel,MNM+N%#etRo'setMScroll%LM_PR#NQ 2or Si O + To Srs_)urr!ctv%Ro')ount Sro'_)urr!ctv O Srs_)urr!ctvMSiNQ Srec_LmPlan_'rH O Sro'_)urr!ctv%LM_PR#_7R-Q Srec_LmPlan_'rH%LM_PR#_3PD_0T"%$nabled O TrueQ $ndE2orQ

Peo1 eCode &Co01RecF d*: LM_SEARCH&GBL*;LM_ACT_UI_WR,;LM_ADDPLAN_BTN Fie dC<!"/e


import L$)S_S$!R) 8LQ )omponent L$)S_S$!R) 8Search)atalog3( Sc_ob=_Srch)atg3(Q Sc_ob=_Srch)atg3(%addToPlanMNQ

6< 8T99D8O A$$ +la" :utt#" "#t t# :e *%)%:le %7 t/e act%*%tA %) alrea$A a$$e$ t# t/e lear"%"4 +la" <6 S'LEBecHSSELE(T N0N -ROM PS_LM_ENRLMT !1ERE LM_STTS I NPLANN AND LM_A(T_IDIO1 AND LM_PERSON_IDIO8SJ LM_A(T_UI_!R,ELM_A(T_IDE alueJ LM_A(T_UI_!R,ELM_PERSON_IDE alueJ PtA+eKQ I7 PtA+e I S0S T/e" LM_A(T_UI_!R,ELM_ADDPLAN_BTNE %)%:le I -al)eQ E"$=I7Q 6<E"$ 8T99D8<6

Peo1 eCode &Co01RecF d*: LM_SEARCH&GBL*;LM_CAT_UI_WR,;LM_CI_AD_PLAN Fie dC<!"/e


import L$)S_S$!R) 8LQ )omponent L$)S_S$!R) 8Search)atalog3( Sc_ob=_Srch)atg3(Q Sc_ob=_Srch)atg3(%add(temToPlanMNQ 6< 8T99D8O A$$ +la" :utt#" "#t t# :e *%)%:le %7 t/e (atal#4 %) alrea$A a$$e$ t# t/e lear"%"4 +la" <6 S'LEBecHSSelect LM_PERSON_ID -ROM PS_LM_OPRID_ID_ ! !1ERE OPRIDINS U .U)erI$ U SN SJ P+er)#"%$KQ S'LEBecHSSELE(T N0N -ROM PS_LM_ENRLMT !1ERE LM_STTS I NPLANN AND LM_A(T_ID I 0 AND LM_(I_IDIO1 AND LM_PERSON_IDIO8SJ LM_ITM_UI_!R,ELM_(I_IDE alueJ P+er)#"%$J PtA+eKQ I7 PtA+e I S0S T/e" LM_(AT_UI_!R,ELM_(I_AD_PLANE %)%:le I -al)eQ E"$=I7Q 6< E"$ 8T99D8 <6

Peo1 eCode &Co01RecF d*: LM_SEARCH&GBL*;LM_CAT_UI_WR,;LM_ITM_ADDTOPLN_PBFie dC<!"/e


import L$)S_S$!R) 8LQ )omponent L$)S_S$!R) 8Search)atalog3( Sc_ob=_Srch)atg3(Q Local Record Srec_lLM_!)T_3(_7R- O #etLevel,MNM+N%LM_!)T_3(_7R-Q Srec_lLM_!)T_3(_7R-%LM_!)T_(D%Value O #etRo'MN%LM_!)T_)(_3(_V7%LM_!)T_(D%ValueQ Sc_ob=_Srch)atg3(%addToPlanMNQ 6< 8T99D8O A$$ +la" :utt#" "#t t# :e *%)%:le %7 t/e (atal#4 %) alrea$A a$$e$ t# t/e lear"%"4 +la" <6 S'LEBecHSSelect LM_PERSON_ID -ROM PS_LM_OPRID_ID_ ! !1ERE OPRIDINS U .U)erI$ U SN SJ P+er)#"%$KQ S'LEBecHSSELE(T N0N -ROM PS_LM_ENRLMT !1ERE LM_STTS I NPLANN AND LM_A(T_IDIO1 AND LM_PERSON_IDIO8SJ LM_A(T_UI_!R,ELM_A(T_IDE alueJ P+er)#"%$J PtA+eKQ I7 PtA+e I S0S T/e" LM_(AT_UI_!R,ELM_ITM_ADDTOPLN_PBE %)%:le I -al)eQ E"$=I7Q 6< E"$ 8T99D8 <6

Peo1 eCode &Co01RecF d*: LM_SS_LEARNING_UI&GBL*;LM_CAT_UI_WR,;LM_DROPACT_PB


import import import import import import import import import %m+#rt Local Local Local Local Local Local Local Local Local Local Local Local Local L$$_$"R&LLM$"T8L$$_$"RLMTQ L$$_$"R&LLM$"T8L$$_PL!"_0$!"Q L$$_$"R&LLM$"T8L$$_$"RLMT_0$!"Q L$)R8LM_PR#_PR&#R$SSQ L$0&_P$RS&"8Person)lassQ L$$!_$"R&LLM$"T8L$$!_$"R&LLM$"TQ LM_$"RLMT_!TTR08LM_!D &)_$"RLMT_0$!"Q L$$_$"R&LLM$"T8L$$_3T(L(T*Q L$)S_S$!R) 8LQ LEBL_A(TI IT2OAct%*%tAI"ter7aceQ L$0&_P$RS&"8Person)lass SpersonQ L$$_$"R&LLM$"T8L$$_PL!"_0$!" Splan_beanQ L$$_$"R&LLM$"T8L$$_$"RLMT SenrlmtQ L$$_$"R&LLM$"T8L$$_$"RLMT Senrlmt+Q L$$_$"R&LLM$"T8L$$_3T(L(T* SutilityQ number SpersonidQ string Sstr_cmplnceK Sstr_launch_urlK Sstr_page_nameQ boolean SSuccessQ LM_$"RLMT_!TTR08LM_!D &)_$"RLMT_0$!" Senrlmt_!dhc0eanQ L$$!_$"R&LLM$"T8L$$!_$"R&LLM$"T Senrlmt_!dhcQ Record Srec_LmPlanQ Record SR$)_$"RL_7R-K SeLearningRecordQ number SePerson(DK Se!ct(DK Se)i(DK SePrg(DQ

Fie dC<!"/e

Sutility O create L$$_$"R&LLM$"T8L$$_3T(L(T*MNQ SeLearningRecord O )reateRecordMRecord%LM_L$L_3(_7R-NQ Srec_LmPlan O #etRecordMRecord%LM_)3RR_!)TD_V7NQ LM_)!T_3(_7R-%LM_)S_L&"#_"M%Label O LM_)3RR_!)TD_V7%LM_)S_L&"#_"M%ValueQ (f Srec_LmPlan%LM_S)&R$%Value O PLR"P Then 9L Set learner learning re.uest if the enrollment is from the learning re.uest% L9 Sutility%addLearnerLr.To)acheMSrec_LmPlan%LM_P$RS&"_(D%ValueK Srec_LmPlan%LM_$"RLMT_(D%ValueNQ $ndE(fQ $valuate /Page 7hen O PLM_L$!R"("#_ MP Sstr_page_name O Msg#etTe@tM+>,>>K >K PPNQ 0reaHQ 7hen O PLM_)3RR$"T_LR"#P Sstr_page_name O Msg#etTe@tM+>,>GK +D46K PPNQ 0reaHQ $ndE$valuateQ 9L (f Supplemental Learning then the button sho's Modify and 'e transfer to the Supp% Learning Page L9 (f !llMLM_)3RR_!)TD_V7%LM_!D )_LR"_(DN Then Sutility%addLastPageTo)acheM/PageNQ LM_3(_SR) _7R-%LM_!D )_LR"_(D O LM_)3RR_!)TD_V7%LM_!D )_LR"_(D%ValueQ LM_3(_SR) _7R-%LM_)!LL("#_)&MP"T%Value O /)omponentQ rem TransferM 2alseK Menu"ame%LM_$"RLMTK 0ar"ame%LM_$"RLMTK (tem"ame%LM_!D )_3PDK Page%LM_!D )_LR"_P#K P3PK LM_3(_SR) _7R-%LM_!D )_LR"_(DK TrueNQ (f LM_)3RR_!)TD_V7%LM_STTS%Value O PPL!"P &r LM_)3RR_!)TD_V7%LM_STTS%Value O P("P&P &r LM_)3RR_!)TD_V7%LM_STTS%Value O PP$!PP Then DoModal)omponentMMenu"ame%LM_$"RLMTK 0ar"ame%LM_$"RLMTK (tem"ame%LM_!D )_3PDK Page%LM_!D )_LR"_P#K P3PK Record%LM_3(_SR) _7R-K

LM_3(_SR) _7R-%LM_!D )_LR"_(DNQ $lse DoModal)omponentMMenu"ame%LM_$"RLMTK 0ar"ame%LM_$"RLMTK (tem"ame%LM_!D )_M#R_3PDK Page%LM_!D )_3PD_P#K P3PK Record%LM_3(_SR) _7R-K LM_3(_SR) _7R-%LM_!D )_LR"_(DNQ $ndE(fQ $ndE(fQ $valuate Srec_LmPlan%LM_STTS%Value 7hen P$"RLP 9L $nrolled L9 7hen P("P&P 9L (n Progress L9 7hen PP$P!P 9L Pending Payment L9 7hen PP$!PP 9L Pending !pproval L9 7hen PPP*!P 9L Payment !pproval L9 7hen P7TLTP 9L 7aitlisted L9 Sutility O create L$$_$"R&LLM$"T8L$$_3T(L(T*MNQ Sutility%addLastPageTo)acheM/PageNQ 9L Drop L9 (f !llMLM_)3RR_!)TD_V7%LM_!D )_LR"_(DN Then LM_3(_SR) _7R-%LM_R$T3R"_L"- O /PageQ SQL$@ecMPSelect LM_P$RS&"_(D 2R&M PS_LM_&PR(D_(D_V7 7 $R$ &PR(DO1P R /3ser(d R P1PK SpersonidNQ Senrlmt_!dhc0ean O create LM_$"RLMT_!TTR08LM_!D &)_$"RLMT_0$!"MLM_)3RR_!)TD_V7%LM_!D )_LR"_(D%ValueNQ Senrlmt_!dhc O create L$$!_$"R&LLM$"T8L$$!_$"R&LLM$"TMNQ Senrlmt_!dhc0ean%set)urrent3ser(dMSpersonidNQ Senrlmt_!dhc0ean%set(s!dminM 2alseNQ Senrlmt_!dhc0ean%set(sManagerM 2alseNQ Senrlmt_!dhc%set$nrollment0eanMSenrlmt_!dhc0eanNQ SSuccess O Senrlmt_!dhc%dropMNQ (f M "ot SSuccessN Then $rror Senrlmt_!dhc%get$rrorMN%get$rrorMessageMNQ $lse TransferPageM/PageNQ $ndE(fQ $lse (f LM_)3RR_!)TD_V7%LM_S)&R$ O PPR&#P Then Local L$)R8LM_PR#_PR&#R$SS Scls_prgProgress O create L$)R8LM_PR#_PR&#R$SSMNQ Scls_prgProgress%DropProgram0tn)licHMSrec_LmPlan%LM_$"RLMT_(D%ValueNQ $lse LM_3(_SR) _7R-%LM_!)T_(D O Srec_LmPlan%LM_!)T_(D%ValueQ LM_3(_SR) _7R-%LM_P$RS&"_(D O LM_&PR(D_(D_V7%LM_P$RS&"_(DQ LM_3(_SR) _7R-%LM_)(_(D O Srec_LmPlan%LM_)(_(D%ValueQ LM_3(_SR) _7R-%LM_$"RLMT_(D O Srec_LmPlan%LM_$"RLMT_(D%ValueQ TransferM 2alseK Menu"ame%LM_$"RLMTK 0ar"ame%LM_$"RLMTK (tem"ame%LM_DP_$"RLMTK Page%LM_DP_R$V7_$"RLMTK P3PK LM_3(_SR) _7R-%LM_P$RS&"_(DK LM_3(_SR) _7R-%LM_!)T_(DK LM_3(_SR) _7R-%LM_$"RLMT_(DK TrueNQ $ndE(fQ $ndE(fQ 0reaHQ 7hen PPL!"P 9L Planned L9 7hen P4P 9L Learning Re.uestK &ffered L9 9L $nroll L9 (f !llMLM_)3RR_!)TD_V7%LM_!D )_LR"_(DN Then LM_3(_SR) _7R-%LM_!D )_LR"_(D O LM_)3RR_!)TD_V7%LM_!D )_LR"_(D%ValueQ TransferM 2alseK Menu"ame%LM_$"RLMTK 0ar"ame%LM_$"RLMTK (tem"ame%LM_!D )_3PDK Page%LM_!D )_LR"_P#K P3PK LM_3(_SR) _7R-%LM_!D )_LR"_(DK TrueNQ $lse (f LM_)3RR_!)TD_V7%LM_S)&R$ O PPR&#P Then Local L$)S_S$!R) 8Search)atalog3( Sc_ob=_Srch)atg3(Q Local number Sprg(DK Sact(DK Sci(DQ Sprg(D O Srec_LmPlan%LM_!)T_(D%ValueQ Sact(D O ,Q Spersonid O LM_&PR(D_(D_V7%LM_P$RS&"_(DQ Sci(D O Srec_LmPlan%LM_)(_(D%ValueQ Sc_ob=_Srch)atg3( O create L$)S_S$!R) 8Search)atalog3(MNQ Sc_ob=_Srch)atg3(%transferTo)atalog$nrollmentMPLR"PK Sprg(DK Sact(DK SpersonidK Sci(DK PPNQ

$lse LM_3(_SR) _7R-%LM_!)T_(D O Srec_LmPlan%LM_!)T_(D%ValueQ LM_3(_SR) _7R-%LM_P$RS&"_(D O LM_&PR(D_(D_V7%LM_P$RS&"_(DQ LM_3(_SR) _7R-%LM_)(_(D O Srec_LmPlan%LM_)(_(D%ValueQ (f "oneMLM_3(_SR) _7R-%LM_!)T_(DN Then LM_(TM_3(_7R-%LM_)(_(D%Value O Srec_LmPlan%LM_)(_(D%ValueQ LM_3(_SR) _7R-%LM_PR$V_P!#$_"!M$ O /PageQ TransferPageMPage%LM_L$!R"_(TM_DTLNQ $lse SePerson(D O LM_&PR(D_(D_V7%LM_P$RS&"_(D%ValueQ Se!ct(D O Srec_LmPlan%LM_!)T_(D%ValueQ Se)i(D O Srec_LmPlan%LM_)(_(D%ValueQ SePrg(D O ,Q Sutility%addPerson!ct(D)acheMSePerson(DK Se!ct(DK Se)i(DK SePrg(DNQ 6<889TTD = )tart c#$e c/a"4e)<6 I7 Prec_LmPla"ELM_STTSE alue I SPLANS T/e" L#cal LEBL_A(TI IT2OAct%*%tAI"ter7ace Plmact I create LEBL_A(TI IT2OAct%*%tAI"ter7aceHPeActIDKQ L#cal $ate Pe"$_$tJ Pl)t_E"rl_DtQ Pl)t_E"rl_Dt I PlmactE3etLa)tE"rlDateHKQ S'LEBecHSSELE(T .DATEOUTHLM_END_DTK -ROM PS_LM_A(T !1ERE LM_A(T_ID I O1 SJ PeActIDJ Pe"$_$tKQ I7 HN#"eHPe"$_$tKK Or HPe"$_$t LI .DateK T/e" I7 HN#"eHPl)t_E"rl_DtKK Or HPl)t_E"rl_Dt LI .DateK T/e" 6<889TTD = e"$ c#$e c/a"4e)<6 6<<<<<<<<<<<<<<<<<<<<<<<<<<<6 TransferM 2alseK Menu"ame%LM_$"RLMTK 0ar"ame%LM_$"RLMTK (tem"ame%LM_$"RLMTK Page%LM_R$V($7_$"RLMTK P3PK LM_3(_SR) _7R-%LM_P$RS&"_(DK LM_3(_SR) _7R-%LM_!)T_(DK TrueNQ 6<<<<<<<<<<<<<<<<<<<<<<<<<<6 6<889TTD = )tart c#$e c/a"4e)<6 El)e Me))a4eB#BH0J SSJ 18089J 139J SMe))a4e "#t 7#u"$SKQ $ndE(fQ El)e Me))a4eB#BH0J SSJ 18089J 139J SMe))a4e "#t 7#u"$SKQ $ndE(fQ El)e Tra")7erH -al)eJ Me"uNameELM_ENRLMTJ BarNameELM_ENRLMTJ ItemNameELM_ENRLMTJ Pa4eELM_RE IE!_ENRLMTJ SUSJ LM_UI_SR(1_!R,ELM_PERSON_IDJ LM_UI_SR(1_!R,ELM_A(T_IDJ TrueKQ $ndE(fQ 6<889TTD = e"$ c#$e c/a"4e)<6 E"$=I7Q E"$=I7Q E"$=I7Q 0reaHQ 7hen P+P 9L Learning Re.uestK Re.uested L9 Local Record Srec_lrnRe. O #etLevel,MNM+N%#etRecordMRecord%LM_LR"_R$Q_7R-NQ Srec_lrnRe.%LM_P$RS&"_(D%Value O LM_)3RR_!)TD_V7%LM_P$RS&"_(D%ValueQ Srec_lrnRe.%LM_LRQ_(D%Value O LM_)3RR_!)TD_V7%LM_$"RLMT_(D%ValueQ DoModal)omponentMMenu"ame%LM_LR"_R$QK 0ar"ame%LM_SS_LR"_R$QK (tem"ame%LM_SS_LR"_R$QK Page%LM_SS_LR"_R$QK P3PK Record%LM_LR"_R$Q_7R-NQ 0reaHQ 7henE&therQ 0reaHQ $ndE$valuateQ

Peo1 eCode &Co01RecF d*: LM_SS_LEARNING_UI&GBL*;LM_CAT_UI_WR,;LM_ITM_ADDTOPLN_PBFie dC<!"/e


import L$)S_S$!R) 8LQ Local L$)S_S$!R) 8Search)atalog3( Sc_ob=_Srch)atg3( O create

L$)S_S$!R) 8Search)atalog3(MNQ Local Record Srec_lLM_!)T_3(_7R- O #etLevel,MNM+N%LM_!)T_3(_7R-Q Local Record Srec_lLM_!)T_)(_3(_V7 O #etRo'MN%LM_!)T_)(_3(_V7Q Srec_lLM_!)T_3(_7R-%LM_!)T_(D%Value O Srec_lLM_!)T_)(_3(_V7%LM_!)T_(D%ValueQ Sc_ob=_Srch)atg3(%addToPlanMNQ 6< 8T99D8O A$$ +la" :utt#" "#t t# :e *%)%:le %7 t/e (atal#4 %) alrea$A a$$e$ t# t/e lear"%"4 +la" <6 S'LEBecHSSelect LM_PERSON_ID -ROM PS_LM_OPRID_ID_ ! !1ERE OPRIDINS U .U)erI$ U SN SJ P+er)#"%$KQ S'LEBecHSSELE(T N0N -ROM PS_LM_ENRLMT !1ERE LM_STTS I NPLANN AND LM_A(T_IDIO1 AND LM_PERSON_IDIO8SJ LM_A(T_UI_!R,ELM_A(T_IDE alueJ P+er)#"%$J PtA+eKQ I7 PtA+e I S0S T/e" LM_(AT_UI_!R,ELM_ITM_ADDTOPLN_PBE %)%:le I -al)eQ E"$=I7Q 6< E"$ 8T99D8 <6

Peo1 eCode &Co01RecF d*: LM_SS_MANAGER_UI&GBL*;LM_CAT_UI_WR,;LM_CS_LONG_NM


import L$$_$"R&LLM$"T8L$$_3T(L(T*Q

Fie dC<!"/e

)omponent string Sstr_from_pageQ #lobal string SadminQ 9L added 2lag admin Resolution 8>F+F>DL9 3l#:al )tr%"4 P)tr_ActPr4_4:lQ 6< Re)#lut%#"R8918T0 Declare$ 4l#:al *ar%a:le 3<6

Sstr_from_page O /PageQ 6< Re)#lut%#"R8918T0 A))%4"%"4 t/e *alue #7 curre"t +a4e t# 4l#:al *ar%a:le<6 I7 .Pa4e I Pa4eELM_M3R_3RP_(URNT T/e" P)tr_ActPr4_4:l I .Pa4eQ E"$=I7Q 6< Re)#lut%#"R8918T0 A))%4"%"4 t/e *alue #7 curre"t +a4e t# 4l#:al *ar%a:le<6 LM_3(_SR) _7R-%LM_PR$V_P!#$_"!M$%Value O /PageQ LM_!)T_3(_7R-%LM_!)T_DTL_PRVP#TL O Msg#etTe@tM+>,G;K +,6FK PPNQ LM_!)T_3(_7R-%LM_!)T_(D O LM_$"RLT_M#D_V7%LM_!)T_(DQ LM_!)T_3(_7R-%LM_P$RS&"_(D O LM_$"RLT_M#D_V7%LM_P$RS&"_(DQ LM_!)T_3(_7R-%LM_STTS O LM_$"RLT_M#D_V7%LM_STTSQ LM_!)T_3(_7R-%LM_$"RLMT_(D O LM_$"RLT_M#D_V7%LM_$"RLMT_(DQ LM_(TM_3(_7R-%LM_)(_(D%Value O LM_$"RLT_M#D_V7%LM_)(_(D%ValueQ Local L$$_$"R&LLM$"T8L$$_3T(L(T* SutilityQ Sutility O create L$$_$"R&LLM$"T8L$$_3T(L(T*MNQ Sutility%addLast)ompTo)acheM/)omponentNQ (f LM_$"RLT_M#D_V7%LM_S)&R$ O P!D &)P Then LM_3(_SR) _7R-%LM_!D )_LR"_(D O LM_$"RLT_M#D_V7%LM_!D )_LR"_(D%ValueQ rem DoModal)omponentMMenu"ame%LM_$"RLMTK 0ar"ame%LM_$"RLMTK (tem"ame%LM_!D )_M#R_3PDK Page%LM_!D )_3PD_P#K P3PK Record%LM_3(_SR) _7R-NQ Sadmin O P"PQ 9L since this page should load Manager Page so !dmin flag is set to P"P Resolution 8>F+F>DL9 DoModal)omponentMMenu"ame%LM_$"RLMTK 0ar"ame%LM_$"RLMTK (tem"ame%LM_!D )_M#R_3PDK Page%LM_!D )_LR"_P#K P3PK Record%LM_3(_SR) _7R-NQ $lse

(f LM_$"RLT_M#D_V7%LM_S)&R$ O PPR&#P Then Local Record Srec_prgReg O )reateRecordMRecord%LM_PR#_R$#_V7NQ Local Ro'set Srs_prg O )reateRo'setMRecord%LM_PR#NQ Srec_prgReg%LM_PR#_R$#_(D%Value O LM_$"RLT_M#D_V7%LM_$"RLMT_(D%ValueQ Srec_prgReg%Select0y-eyMNQ (f LM_!)T_3(_7R-%LM_STTS O PPL!"P Then 9L select the e@act effective dated ro' to retrieve for the transfer L9 Srs_prg%2illMP7 $R$ LM_PR#_(D O 8+ !"D /dateinM8;N 0$T7$$" $22DT !"D LM_$"D_$22DTPK LM_$"RLT_M#D_V7%LM_!)T_(D%ValueK LM_)!T_3(_7R-%LM_ST!RT_DT%ValueNQ #etLevel,MNM+N%LM_PR#_TR"_7R-%LM_P$RS&"_(D%Value O LM_$"RLT_M#D_V7%LM_P$RS&"_(D%ValueQ #etLevel,MNM+N%LM_PR#_TR"_7R-%LM_PR#_(D%Value O LM_$"RLT_M#D_V7%LM_!)T_(D%ValueQ #etLevel,MNM+N%LM_PR#_TR"_7R-%$22DT%Value O Srs_prgM+N%LM_PR#%$22DT%ValueQ #etLevel,MNM+N%LM_PR#_TR"_7R-%LM_PR$V_P!#$_"!M$%Value O /PageQ #etLevel,MNM+N%LM_PR#_TR"_7R-%LM_PR#_R$#_(D%Value O Srec_prgReg%LM_PR#_R$#_(D%ValueQ DoModal)omponentMMenu"ame%LM_)3RR()3L3MK 0ar"ame%3S$K (tem"ame%LM_PR#_DTLS_MSSK Page%LM_PR#_S3MM_P#K P3PK Record%LM_PR#_TR"_7R-NQ $lse 9L select the e@act effective dated ro' to retrieve for the transfer L9 Srs_prg%2illMP7 $R$ LM_PR#_(D O 8+ !"D /dateinM8;N 0$T7$$" $22DT !"D LM_$"D_$22DTPK LM_$"RLT_M#D_V7%LM_!)T_(D%ValueK LM_)!T_3(_7R-%LM_)$RT_$22DT%ValueNQ #etLevel,MNM+N%LM_PR#_TR"_7R-%LM_P$RS&"_(D%Value O LM_$"RLT_M#D_V7%LM_P$RS&"_(D%ValueQ #etLevel,MNM+N%LM_PR#_TR"_7R-%LM_PR#_(D%Value O LM_$"RLT_M#D_V7%LM_!)T_(D%ValueQ #etLevel,MNM+N%LM_PR#_TR"_7R-%$22DT%Value O Srs_prgM+N%LM_PR#%$22DT%ValueQ #etLevel,MNM+N%LM_PR#_TR"_7R-%LM_PR$V_P!#$_"!M$%Value O /PageQ #etLevel,MNM+N%LM_PR#_TR"_7R-%LM_PR#_R$#_(D%Value O Srec_prgReg%LM_PR#_R$#_(D%ValueQ DoModal)omponentMMenu"ame%LM_)3RR()3L3MK 0ar"ame%3S$K (tem"ame%LM_PR#_PR#S_MSSK Page%LM_PR#_PR&#R$SSK P3PK Record%LM_PR#_TR"_7R-NQ $ndE(fQ $lse (f LM_$"RLT_M#D_V7%LM_S)&R$ O PLR"P Then Local Record Srec_lrnRe. O #etLevel,MN M+N%#etRecordMRecord%LM_LR"_R$Q_7R-NQ Srec_lrnRe.%LM_P$RS&"_(D%Value O LM_!)T_3(_7R-%LM_P$RS&"_(D%ValueQ Srec_lrnRe.%LM_LRQ_(D%Value O LM_!)T_3(_7R-%LM_$"RLMT_(D%ValueQ DoModal)omponentMMenu"ame%LM_LR"_R$QK 0ar"ame%LM_SS_LR"_R$QK (tem"ame%LM_MSS_LR"_R$QK Page%LM_SS_LR"_R$QK P3PK Record%LM_LR"_R$Q_7R-NQ $lse (f !llMLM_!)T_3(_7R-%LM_!)T_(DN Then (f LM_!)T_3(_7R-%LM_STTS O PPL!"P Then TransferPageMPage%LM_L$!R"_!)T_DTLNQ $lse #etLevel,MNM+N%LM_$"RLMT_7R-%LM_!)T_(D%Value O LM_!)T_3(_7R-%LM_!)T_(D%ValueQ #etLevel,MNM+N%LM_$"RLMT_7R-%LM_P$RS&"_(D%Value O LM_!)T_3(_7R-%LM_P$RS&"_(D%ValueQ #etLevel,MNM+N%LM_$"RLMT_7R-%LM_$"RLMT_(D%Value O LM_!)T_3(_7R-%LM_$"RLMT_(D%ValueQ #etLevel,MNM+N%LM_$"RLMT_7R-%LM_TR!"S!)T_T(TL$%Value O LM_!)T_3(_7R-%LM_!)T_DTL_PRVP#TLQ #etLevel,MNM+N%LM_$"RLMT_7R-%LM_)&MP_&R(#%Value O /)omponentQ DoModal)omponentMMenu"ame%LM_SS_L$!R"("#K 0ar"ame%3S$K (tem"ame%LM_SS_!)T_PR&#K Page%LM_!)T_PR&#K P3PK Record%LM_$"RLMT_7R-NQ $ndE(fQ $lse TransferPageMPage%LM_L$!R"_(TM_DTLNQ $ndE(fQ $ndE(fQ $ndE(fQ $ndE(fQ

Peo1 eCode &Co01RecF d*: LM_SS_MANAGER_UI&GBL*;LM_CAT_UI_WR,;LM_DROPACT_PB


import import import import import import import import %m+#rt L$$_$"R&LLM$"T8L$$_$"RLMTQ L$$_$"R&LLM$"T8L$$_PL!"_0$!"Q L$$_$"R&LLM$"T8L$$_$"RLMT_0$!"Q L$0&_P$RS&"8Person)lassQ L$$!_$"R&LLM$"T8L$$!_$"R&LLM$"TQ LM_$"RLMT_!TTR08LM_!D &)_$"RLMT_0$!"Q L$)R8LM_PR#_PR&#R$SSQ L$$_$"R&LLM$"T8L$$_3T(L(T*Q LEBL_A(TI IT2OAct%*%tAI"ter7aceQ string number number Ro'set SStr_$nroll_for_(DQ Snbr_LmPerson(dQ Sperson(DQ SselectedLearnersQ

Fie dC<!"/e

)omponent )omponent )omponent )omponent Local Local Local Local Local Local Local Local Local Local Local Local

L$0&_P$RS&"8Person)lass SpersonQ L$$_$"R&LLM$"T8L$$_PL!"_0$!" Splan_beanQ L$$_$"R&LLM$"T8L$$_$"RLMT SenrlmtQ L$$_$"R&LLM$"T8L$$_$"RLMT Senrlmt+Q boolean SSuccessQ Record Srec_Lm)urrntK Srs_LmPlanQ Record SR$)_$"RL_7R-K SeLearningRecordQ Ro'set Srs_Lm)urrntQ LM_$"RLMT_!TTR08LM_!D &)_$"RLMT_0$!" Senrlmt_!dhc0eanQ L$$!_$"R&LLM$"T8L$$!_$"R&LLM$"T Senrlmt_!dhcQ L$$_$"R&LLM$"T8L$$_3T(L(T* SutilityQ number SePerson(DK Se!ct(DK Se)i(DK SePrg(DQ

#lobal number Snbr_LearningRe.uest(DQ #lobal string SadminQ 9L added 2lag admin Resolution 8>F+F>DL9 Sutility O create L$$_$"R&LLM$"T8L$$_3T(L(T*MNQ Srs_LmPlan O #etRecordMRecord%LM_$"RLT_M#D_V7NQ SeLearningRecord O )reateRecordMRecord%LM_L$L_3(_7R-NQ LM_3(_SR) _7R-%LM_R$T3R"_L"- O /PageQ Srec_Lm)urrnt O #etRecordMRecord%LM_$"RLT_M#D_V7NQ

(f "oneMSperson(DN Then Sperson(D O LM_$"RLT_M#D_V7%LM_P$RS&"_(D%ValueQ $ndE(fQ (f Srec_Lm)urrnt%LM_S)&R$%Value O PLR"P Then 9L Set learner learning re.uest if the enrollment is from the learning re.uest% L9 Sutility%addLearnerLr.To)acheMSperson(DK Srec_Lm)urrnt%LM_$"RLMT_(D%ValueNQ $ndE(fQ 9L (f Supplemental Learning then the button sho's Modify and 'e transfer to the Supp% Learning Page L9 9Lcode changes for the (ncident +F>>6<4,,, L9 (f LM_$"RLT_M#D_V7%LM_S)&R$ O P!D &)P Then LM_3(_SR) _7R-%LM_!D )_LR"_(D O LM_$"RLT_M#D_V7%LM_!D )_LR"_(D%ValueQ rem DoModal)omponentMMenu"ame%LM_$"RLMTK 0ar"ame%LM_$"RLMTK (tem"ame%LM_!D )_M#R_3PDK Page%LM_!D )_3PD_P#K P3PK Record%LM_3(_SR) _7R-NQ Sadmin O P"PQ 9L since this page should load Manager Page so !dmin flag is set to P"P Resolution 8>F+F>DL9 DoModal)omponentMMenu"ame%LM_$"RLMTK 0ar"ame%LM_$"RLMTK (tem"ame%LM_!D )_M#R_3PDK Page%LM_!D )_LR"_P#K P3PK Record%LM_3(_SR) _7R-NQ

$lse $valuate Srs_LmPlan%LM_STTS%Value 7hen P$"RLP 9L $nrolled L9 7hen P("P&P 9L (n Progress L9 7hen PP$P!P 9L Pending Payment L9 7hen PP$!PP 9L Pending !pproval L9 7hen PPP*!P 9L Payment !pproval L9 7hen P7TLTP 9L 7aitlisted L9 (f !llMLM_)!T_3(_7R-%LM_!D )_LR"_(DN Then LM_3(_SR) _7R-%LM_R$T3R"_L"- O /PageQ Senrlmt_!dhc0ean O create LM_$"RLMT_!TTR08LM_!D &)_$"RLMT_0$!"MLM_)!T_3(_7R-%LM_!D )_LR"_(D%ValueNQ Senrlmt_!dhc O create L$$!_$"R&LLM$"T8L$$!_$"R&LLM$"TMNQ Senrlmt_!dhc0ean%set)urrent3ser(dMLM_)!T_3(_7R-%LM_P$RS&"_(D%ValueNQ Senrlmt_!dhc0ean%set(s!dminM 2alseNQ Senrlmt_!dhc0ean%set(sManagerM 2alseNQ Senrlmt_!dhc%set$nrollment0eanMSenrlmt_!dhc0eanNQ SSuccess O Senrlmt_!dhc%dropMNQ (f M "ot SSuccessN Then $rror Senrlmt_!dhc%get$rrorMN%get$rrorMessageMNQ $lse TransferPageM/PageNQ $ndE(fQ $lse (f LM_$"RLT_M#D_V7%LM_S)&R$ O PPR&#P Then Local L$)R8LM_PR#_PR&#R$SS Scls_prgProgress O create L$)R8LM_PR#_PR&#R$SSMNQ Scls_prgProgress%DropProgram0tn)licHMLM_$"RLT_M#D_V7%LM_$"RLMT_(D%ValueNQ $lse LM_3(_SR) _7R-%LM_!)T_(D O Srec_Lm)urrnt%LM_!)T_(D%ValueQ LM_3(_SR) _7R-%LM_P$RS&"_(D O Srec_Lm)urrnt%LM_P$RS&"_(D%ValueQ LM_3(_SR) _7R-%LM_)(_(D O Srec_Lm)urrnt%LM_)(_(D%ValueQ LM_3(_SR) _7R-%LM_$"RLMT_(D O Srec_Lm)urrnt%LM_$"RLMT_(D%ValueQ TransferM 2alseK Menu"ame%LM_$"RLMTK 0ar"ame%LM_$"RLMTK (tem"ame%LM_M#R_DP_$"RLMTK Page%LM_DP_R$V7_$"RLMTK P3PK LM_3(_SR) _7R-%LM_P$RS&"_(DK LM_3(_SR) _7R-%LM_!)T_(DK LM_3(_SR) _7R-%LM_$"RLMT_(DK TrueNQ $ndE(fQ $ndE(fQ 0reaHQ 7hen PPL!"P 9L 7hen Planned then $nroll L9 7hen P4P (f !llMLM_)!T_3(_7R-%LM_!D )_LR"_(DN Then LM_3(_SR) _7R-%LM_!D )_LR"_(D O LM_)!T_3(_7R-%LM_!D )_LR"_(D%ValueQ TransferM 2alseK Menu"ame%LM_$"RLMTK 0ar"ame%LM_$"RLMTK (tem"ame%LM_!D )_3PDK Page%LM_!D )_LR"_P#K P3PK LM_3(_SR) _7R-%LM_!D )_LR"_(DK TrueNQ $lse (f LM_$"RLT_M#D_V7%LM_S)&R$ O PPR&#P Then LM_P$R_PR#_7R-%LM_P$RS&"_(D O Srec_Lm)urrnt%LM_P$RS&"_(D%ValueQ LM_P$R_PR#_7R-%LM_PR#_(D O Srec_Lm)urrnt%LM_!)T_(D%ValueQ TransferM 2alseK Menu"ame%LM_$"RLMTK 0ar"ame%LM_$"RLMTK (tem"ame%LM_R$#K Page%LM_R$V($7_R$#K P3PK LM_P$R_PR#_7R-%LM_P$RS&"_(DK LM_P$R_PR#_7R-%LM_PR#_(DK TrueNQ $lse LM_3(_SR) _7R-%LM_!)T_(D O Srs_LmPlan%LM_!)T_(D%ValueQ LM_3(_SR) _7R-%LM_P$RS&"_(D O Srs_LmPlan%LM_P$RS&"_(D%ValueQ LM_3(_SR) _7R-%LM_)(_(D O Srs_LmPlan%LM_)(_(D%ValueQ (f "oneMLM_3(_SR) _7R-%LM_!)T_(DN Then LM_(TM_3(_7R-%LM_)(_(D%Value O Srs_LmPlan%LM_)(_(D%ValueQ LM_3(_SR) _7R-%LM_PR$V_P!#$_"!M$ O /PageQ (f "oneMSselectedLearnersN Then SselectedLearners O )reateRo'setMRecord%LM_M#R_T$!M_7R-NQ SselectedLearners%(nsertRo'M+NQ SselectedLearnersM+N%LM_M#R_T$!M_7R-%&PR(D%Value O LM_$"RLT_M#D_V7%&PR(D%ValueQ SselectedLearnersM+N%LM_M#R_T$!M_7R-%LM_M!"!#$R_(D%Value O LM_M#R_SR) _V7%LM_M!"!#$R_(D%ValueQ SselectedLearnersM+N%LM_M#R_T$!M_7R-%LM_P$RS&"_(D%Value O LM_$"RLT_M#D_V7%LM_P$RS&"_(D%ValueQ

SselectedLearnersM+N%LM_M#R_T$!M_7R-%2(RST_"!M$%Value O LM_$"RLT_M#D_V7%2(RST_"!M$%ValueQ SselectedLearnersM+N%LM_M#R_T$!M_7R-%L!ST_"!M$%Value O LM_$"RLT_M#D_V7%L!ST_"!M$%ValueQ SselectedLearnersM+N%LM_M#R_T$!M_7R-%LM_"!M$_D(SPL!*%Value O LM_$"RLT_M#D_V7%LM_"!M$_D(SPL!*%ValueQ Sutility%addLearnerRSTo)acheMSselectedLearnersNQ $ndE(fQ TransferPageMPage%LM_L$!R"_(TM_DTLNQ $lse Sutility%add)onte@tTo)acheMPM#RPNQ SePerson(D O LM_3(_SR) _7R-%LM_P$RS&"_(D%ValueQ Se!ct(D O LM_3(_SR) _7R-%LM_!)T_(D%ValueQ Se)i(D O ,Q SePrg(D O ,Q Sutility%addPerson!ct(D)acheMSePerson(DK Se!ct(DK Se)i(DK SePrg(DNQ 9LResolution F6F;>D change J+ startsL9 9L(f it is a Learning Re.uest based on a specific numer of seats MSePerson(D O ,NK redirecting to the Page for selecting LearnersL9 !f ;?ePer0on!D HF 2> Then I7 HPePer)#"ID ML 0K T/e" 6<889TTD = )tart c#$e c/a"4e)<6 I7 Pr)_LmPla"ELM_STTSE alue I SPLANS T/e" L#cal LEBL_A(TI IT2OAct%*%tAI"ter7ace Plmact I create LEBL_A(TI IT2OAct%*%tAI"ter7aceHPeActIDKQ L#cal $ate Pe"$_$tJ Pl)t_E"rl_DtQ Pl)t_E"rl_Dt I PlmactE3etLa)tE"rlDateHKQ S'LEBecHSSELE(T .DATEOUTHLM_END_DTK -ROM PS_LM_A(T !1ERE LM_A(T_ID I O1 SJ PeActIDJ Pe"$_$tKQ I7 HN#"eHPe"$_$tKK Or HPe"$_$t LI .DateK T/e" I7 HN#"eHPl)t_E"rl_DtKK Or HPl)t_E"rl_Dt LI .DateK T/e" 6<889TTD = e"$ c#$e c/a"4e)<6 6<<<<<<<<<<<<<<<<<<<<<<<<<<<6 TransferM 2alseK Menu"ame%LM_$"RLMTK 0ar"ame%LM_$"RLMTK (tem"ame%LM_$"RLMTK Page%LM_R$V($7_$"RLMTK P3PK TrueNQ 6<<<<<<<<<<<<<<<<<<<<<<<<<<6 6<889TTD = )tart c#$e c/a"4e)<6 $lse Me))a4eB#BH0J SSJ 18089J 139J SMe))a4e "#t 7#u"$SKQ E"$=I7Q El)e Me))a4eB#BH0J SSJ 18089J 139J SMe))a4e "#t 7#u"$SKQ E"$=I7Q El)e Tra")7erH -al)eJ Me"uNameELM_ENRLMTJ BarNameELM_ENRLMTJ ItemNameELM_ENRLMTJ Pa4eELM_RE IE!_ENRLMTJ SUSJ TrueKQ E"$=I7Q 6<889TTD = e"$ c#$e c/a"4e)<6 El)e 9L(nitialiTing #lobal variableE Snbr_LearningRe.uest(D to the current Learning Re.uest (DL9 Snbr_LearningRe.uest(D O LM_$"RLT_M#D_V7%LM_$"RLMT_(D%ValueQ TransferM 2alseK Menu"ame%LM_SS_M!"!#$RK 0ar"ame%3S$K (tem"ame%LM_SS_M!"!#$R_3(K Page%LM_T$!M_L$!R"$RK P3PK TrueNQ $ndE(f $ndE(fQ $ndE(fQ $ndE(fQ 0reaHQ 7hen P+P Local Record Srec_lrnRe. O #etLevel,MNM+N%#etRecordMRecord%LM_LR"_R$Q_7R-NQ Srec_lrnRe.%LM_P$RS&"_(D%Value O LM_$"RLT_M#D_V7%LM_P$RS&"_(D%ValueQ Srec_lrnRe.%LM_LRQ_(D%Value O LM_$"RLT_M#D_V7%LM_$"RLMT_(D%ValueQ DoModal)omponentMMenu"ame%LM_LR"_R$QK 0ar"ame%LM_SS_LR"_R$QK (tem"ame%LM_MSS_LR"_R$QK Page%LM_SS_LR"_R$QK P3PK Record%LM_LR"_R$Q_7R-NQ 0reaHQ 7henE&therQ 0reaHQ $ndE$valuateQ $ndE(fQ

Peo1 eCode &A11 P!c>!/e*: HMCR_FRAMEWOR,:IB_Fr!0e:or>:?!#eC !##e#:IB_Ser=ice;O"E@ec%$e


class (0_Service property string nameQ method method method method method method method method method method method (0_ServiceMSthisService !s stringNQ addServiceMNQ deleteServiceMNQ setDescriptionMSdescr !s stringNQ getService&perationsMN Returns array of stringQ set&'nerMSo'ner(D !s stringNQ set!liasMSservice!lias !s stringNQ set)ommentsMSstr)omments !s stringNQ set"amespaceMSstr"amespace !s stringNQ e@istsMN Returns booleanQ findServiceMSuuid !s stringN Returns stringQ string string string string string SdescriptionQ So'nerQ SnamespaceQ Salias"ameQ ScommentsQ

private instance instance instance instance instance endEclassQ

method (0_Service 9C SthisService as String C9 /This%name O SthisServiceQ /This%namespace O Phttp899@mlns%oracle%com9$nterprise9$LM9servicesPQ endEmethodQ method addService Local !pi&b=ect SsessionK SciServiceQ M<Start= (#$e A$$e$ 7#r t##l) relea)e 8E58 %" t/e re)#lut%#"R890818<L L#cal )tr%"4 P)trT##l) er)%#"Q S'LEBecHS)elect TOOLSREL 7r#m PSSTATUSSJ P)trT##l) er)%#"KQ Ssession O /SessionQ (f !llMSsessionN Then I7 alueHP)trT##l) er)%#"K LI 8E58 T/e" Pc%Ser*%ce I P)e))%#"E4etc#m+%"t7cH(#m+I"t7cE(I_1(R_IB_SER I(EDE-N_858KQ El)e SciService O Ssession%getcompintfcM)omp(ntfc%)(_ )R_(0_S$RV()$D$2"NQ E"$=I7Q M<e"$= (#$e A$$e$ 7#r t##l) relea)e 8E58 %" t/e re)#lut%#"R890818<L SciService%(0_S$RV()$"!M$ O /This%nameQ SciService%createMNQ SciService%(0_"!M$SP!)$ O /This%namespaceQ SciService%D$S)R O /This%descriptionQ SciService%(0_!L(!S"!M$ O /This%alias"ameQ SciService%D$S)RL&"# O /This%commentsQ SciService%&0:$)T&7"$R(D O /This%o'nerQ SciService%saveMNQ $ndE(fQ endEmethodQ method deleteService Local !pi&b=ect SsessionK Sci omePageK ScollServiceK SserviceQ Local boolean Sb#etQ

Ssession O /SessionQ (f !llMSsessionN Then Sci omePage O Ssession%getcompintfcM)omp(ntfc%)(_ )R_(0_!DM("S$RVNQ Sci omePage%interactivemode O TrueQ Sb#et O Sci omePage%#etMNQ (f MSb#etN Then Sci omePage%(0_S$RV()$"!M$_, O /This%nameQ Sci omePage%S$!R) _0T" O P*PQ ScollService O Sci omePage%PSS$RV()$Q Sservice O ScollService%(temM+NQ Sservice%S$L$)T_2L!# O P*PQ 9LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL9 9L "ote that 'e do not need to e@ecute the Save method of the )(K L9 9L as all the save processing logic is handled by the D$L$T$_P0 code L9 9LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL9 Sci omePage%D$L$T$_P0 O P*PQ $ndE(fQ $ndE(fQ endEmethodQ method setDescription 9C Sdescr as String C9 /This%description O SdescrQ endEmethodQ method set!lias 9C Sservice!lias as String C9 /This%alias"ame O Sservice!liasQ endEmethodQ method set)omments 9C Sstr)omments as String C9 /This%comments O Sstr)ommentsQ endEmethodQ method set"amespace 9C Sstr"amespace as String C9 /This%namespace O Sstr"amespaceQ endEmethodQ method getService&perations 9C Returns !rray of String C9 Local Local Local Local !pi&b=ect SsessionK SciServiceK Scoll&psK SopQ boolean Sb#etQ integer SiQ array of string Sservice&psQ

9LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL9 9L This method returns an array of service operations for this service L9 9LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL9 M<Start= (#$e A$$e$ 7#r t##l) relea)e 8E58 %" t/e re)#lut%#"R890818<L L#cal )tr%"4 P)trT##l) er)%#"Q S'LEBecHS)elect TOOLSREL 7r#m PSSTATUSSJ P)trT##l) er)%#"KQ Sservice&ps O )reate!rrayReptMPPK ,NQ Ssession O /SessionQ (f !llMSsessionN Then I7 alueHP)trT##l) er)%#"K LI 8E58 T/e"

Pc%Ser*%ce I P)e))%#"E4etc#m+%"t7cH(#m+I"t7cE(I_1(R_IB_SER I(EDE-N_858KQ El)e SciService O Ssession%getcompintfcM)omp(ntfc%)(_ )R_(0_S$RV()$D$2"NQ E"$=I7Q M<E"$= (#$e A$$e$ 7#r t##l) relea)e 8E58 %" t/e re)#lut%#"R890818<L SciService%(0_S$RV()$"!M$ O /This%nameQ Sb#et O SciService%#etMNQ (f MSb#etN Then Scoll&ps O SciService%PSS$RV()$&PR_V7Q 2or Si O + To Scoll&ps%)ountQ Sop O Scoll&ps%(temMSiNQ Sservice&ps ASiB O Sop%(0_&P$R!T(&""!M$Q $ndE2or $ndE(fQ $ndE(fQ Return Sservice&psQ endEmethodQ method e@ists 9C Returns 0oolean C9 Local !pi&b=ect SsessionK SciServiceK Scoll&psK SopQ Local boolean Sb#etQ Local integer SiQ 9LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL9 9L This method checHs to see if the service already e@ists% L9 9L 7e 'ill firstly checH using the 33(D as the Service "ameK but if L9 9L the service has been renamed by the Dev team to something more L9 9L meaningfulK 'e 'ill checH using the 33(D as the !lias% L9 9LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL9 M<Start= (#$e A$$e$ 7#r t##l) relea)e 8E58 %" t/e re)#lut%#"R890818<L L#cal )tr%"4 P)trT##l) er)%#"Q S'LEBecHS)elect TOOLSREL 7r#m PSSTATUSSJ P)trT##l) er)%#"KQ M<E"$= (#$e A$$e$ 7#r t##l) relea)e 8E58 %" t/e re)#lut%#"R890818<L Ssession O /SessionQ (f !llMSsessionN Then M<Start= (#$e A$$e$ 7#r t##l) relea)e 8E58 %" t/e re)#lut%#"R890818<L I7 alueHP)trT##l) er)%#"K LI 8E58 T/e" Pc%Ser*%ce I P)e))%#"E4etc#m+%"t7cH(#m+I"t7cE(I_1(R_IB_SER I(EDE-N_858KQ El)e SciService O Ssession%getcompintfcM)omp(ntfc%)(_ )R_(0_S$RV()$D$2"NQ E"$=I7Q M<E"$= (#$e A$$e$ 7#r t##l) relea)e 8E58 %" t/e re)#lut%#"R890818<L SciService%(0_S$RV()$"!M$ O /This%nameQ Sb#et O SciService%#etMNQ (f "ot MSb#etN Then M<Start= (#$e A$$e$ 7#r t##l) relea)e 8E58 %" t/e re)#lut%#"R890818<L I7 alueHP)trT##l) er)%#"K LI 8E58 T/e" Pc%Ser*%ce I P)e))%#"E4etc#m+%"t7cH(#m+I"t7cE(I_1(R_IB_SER I(EDE-N_858KQ El)e SciService O Ssession%getcompintfcM)omp(ntfc%)(_ )R_(0_S$RV()$D$2"NQ E"$=I7Q M<E"$= (#$e A$$e$ 7#r t##l) relea)e 8E58 %" t/e re)#lut%#"R890818<L SciService%(0_!L(!S"!M$ O /This%nameQ Sb#et O SciService%#etMNQ $ndE(fQ $ndE(fQ Return Sb#etQ endEmethodQ method set&'ner 9C So'ner(D as String C9

/This%o'ner O So'ner(DQ endEmethodQ method findService 9C Suuid as String C9 9C Returns String C9 Local Local Local Local !pi&b=ect SsessionK SciServiceK Scoll&psK SopQ boolean Sb#etQ integer SiQ string Sservice"ameQ

Sservice"ame O PPQ 9LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL9 9L This method looHs for a service that already e@ists% L9 9L 7e 'ill firstly checH using the 33(D as the Service "ameK but if L9 9L the service has been renamed by the Dev team to something more L9 9L meaningfulK 'e 'ill checH using the 33(D as the !lias% L9 9LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL9 M<Start= (#$e A$$e$ 7#r t##l) relea)e 8E58 %" t/e re)#lut%#"R890818<L L#cal )tr%"4 P)trT##l) er)%#"Q S'LEBecHS)elect TOOLSREL 7r#m PSSTATUSSJ P)trT##l) er)%#"KQ M<E"$= (#$e A$$e$ 7#r t##l) relea)e 8E58 %" t/e re)#lut%#"R890818<L Ssession O /SessionQ (f !llMSsessionN Then M<Start= (#$e A$$e$ 7#r t##l) relea)e 8E58 %" t/e re)#lut%#"R890818<L I7 alueHP)trT##l) er)%#"K LI 8E58 T/e" Pc%Ser*%ce I P)e))%#"E4etc#m+%"t7cH(#m+I"t7cE(I_1(R_IB_SER I(EDE-N_858KQ El)e SciService O Ssession%getcompintfcM)omp(ntfc%)(_ )R_(0_S$RV()$D$2"NQ E"$=I7Q M<E"$= (#$e A$$e$ 7#r t##l) relea)e 8E58 %" t/e re)#lut%#"R890818<L SciService%(0_S$RV()$"!M$ O SuuidQ Sb#et O SciService%#etMNQ (f "ot MSb#etN Then M<Start= (#$e A$$e$ 7#r t##l) relea)e 8E58 %" t/e re)#lut%#"R890818<L I7 alueHP)trT##l) er)%#"K LI 8E58 T/e" Pc%Ser*%ce I P)e))%#"E4etc#m+%"t7cH(#m+I"t7cE(I_1(R_IB_SER I(EDE-N_858KQ El)e SciService O Ssession%getcompintfcM)omp(ntfc%)(_ )R_(0_S$RV()$D$2"NQ E"$=I7Q M<E"$= (#$e A$$e$ 7#r t##l) relea)e 8E58 %" t/e re)#lut%#"R890818<L SciService%(0_!L(!S"!M$ O SuuidQ Sb#et O SciService%#etMNQ (f MSb#etN Then Sservice"ame O SciService%(0_S$RV()$"!M$Q $ndE(fQ $lse Sservice"ame O SuuidQ $ndE(fQ $ndE(fQ Return Sservice"ameQ endEmethodQ

Peo1 eCode &A11 P!c>!/e*: HRS_HROI:UTIL:NodeB%i der;O"E@ec%$e


import RTR_3T(L(T($S8String ashtableQ class "ode0uilder

method set"ode"ameMSname !s stringNQ method get"ode"ameMN Returns stringQ method set"odeDescrMSdescr !s stringNQ method setService"ameMSname !s stringNQ method setServiceDescrMSname !s stringNQ method setServiceVersionMSname !s stringNQ method set&peration"ameMSname !s stringNQ method set&perationDescrMSname !s stringNQ method add eaderMShname !s stringK Shvalue !s stringNQ method setRoutingMSroute !s stringNQ method set3RLMS_url !s stringNQ method method method method method method method addMNQ deactivateMNQ activateMNQ "ode0uilderMNQ add"odeMNQ addServiceMNQ addService&perationMNQ string string string string &utgoingSync readonlyQ (ncomingSync readonlyQ &utgoing!sync readonlyQ (ncoming!sync readonlyQ

property property property property private )onstant )onstant )onstant )onstant )onstant )onstant )onstant )onstant )onstant )onstant )onstant )onstant )onstant )onstant )onstant )onstant )onstant )onstant

S!)T(V$ O P*PQ S!S*")_MS#_"!M$ O P RS_!S*")PQ SS*")_MS#_"!M$ O P RS_S*")PQ SMS#_V$RS(&" O PV$RS(&"_+PQ SPR&P_ $!D$R O P $!D$RPQ SPR&P_3RL O PPR(M!R*3RLPQ S!)T(V$_ST!T3S O P+PQ S!)T(V$_("D O P!PQ S("!)T(V$_ST!T3S O P,PQ SMS#_Q3$3$ O P RS_P(PQ SV$RS(&"_PR$2(5 O PV$RS(&"_PQ SP!R!M_R$Q3$ST O PR$Q3$STPQ SP!R!M_R$SP&"S$ O PR$SP&"S$PQ SPS2T_ R_"&D$ O PPS2T_ RPQ SR&3T$_S322(5 O PRT$PQ S"&_L&##("# O P;PQ SS$)_P$RM_L(ST O PLML$LMG,;,PQ S23LL_!))$SS O P23LLPQ

9L "ode "ame L9 instance string Snode"ameQ 9L "ode Description L9 instance string SnodeDescrQ 9L "ode Re.uest eaders L9 instance RTR_3T(L(T($S8String ashtable SheadersQ 9L "ode Target )onnector (D L9 instance string Snode)onnidQ 9L "ode Routing Type L9 instance string SnodeRoutingtypeQ 9L Target 3RL L9 instance string SurlQ 9L Local "ode "ame L9 instance string Slcl"ode"ameQ 9L Service "ame L9 instance string Sservice"ameQ 9L Service Version L9 instance string SserviceVersionQ

9L Service Description L9 instance string SserviceDescrQ 9L Service &'ner (D L9 instance string Sservice&'ner(DQ 9L Service &peration "ame L9 instance string Soperation"ameQ 9L Service &peration Type L9 instance string Str@typeQ 9L Service &peration Description L9 instance string SoperationDescrQ 9L Service &peration Routing Type L9 instance string SoperationRoutingTypeQ 9L Routing Definition "ame L9 instance string Srouting"ameQ 9L Receiver "ode "ame L9 instance string Sreceiver"ode"ameQ 9L Sender "ode "ame L9 instance string Ssender"ode"ameQ 9L Log Message Detail L9 instance string SlogMsgDetailQ 9L Message name and Version L9 instance string SmsgnameQ method )hecHMessagesMSpre !s stringNQ method addRoutingMNQ method #etLocal(0"odeMN Returns stringQ method setglobalMSs !s stringK Sr !s stringK Ssourcecomponent !s stringNQ method addSecurityMNQ endEclassQ #lobal boolean Sgbl(0Q #lobal string Sgbl(0$vent#roupK SgblRoutingTypeK SgblSourceQ method setglobal 9C Ss as StringK C9 9C Sr as StringK C9 9C Ssourcecomponent as String C9 Sgbl(0 O TrueQ Sgbl(0$vent#roup O SsQ SgblRoutingType O SrQ SgblSource O SsourcecomponentQ endEmethodQ 9L Re.uired to interface to (0_S$RV()$ )omponent Declare 2unction setglobal People)ode PSS$RV()$S7R-%!DD_P0 2ield2ormulaQL9 method "ode0uilder Sheaders O create RTR_3T(L(T($S8String ashtableMNQ Smsgname O SS*")_MS#_"!M$Q Str@type O P(SPQ SnodeRoutingtype O P$PQ SoperationRoutingType O PSPQ 9L !Synch is PRP L9 Snode)onnid O P TTPT!R#$TPQ Surl O P"9!PQ S&utgoingSync O P&SPQ S(ncomingSync O P(SPQ S&utgoing!sync O P&!PQ S(ncoming!sync O P(!PQ Sservice&'ner(D O P R&(PQ Slcl"ode"ame O /This%#etLocal(0"odeMNQ endEmethodQ

9LL L )hecHMessages L )hecHs the Session messages array for any messages after a call to the )(1s% L (ssues a PeopleTools $rror 'ith the contents of any messages found% L L Vparam pre the String prefi@ for the $rror message L9 method )hecHMessages 9C Spre as String C9 Local !pi&b=ect SPSM$SS!#$SQ Local number S@Q Local string SerrormsgQ SPSM$SS!#$S O /Session%psmessagesQ (f MSPSM$SS!#$S%)ount I ,N Then 2or S@ O + To SPSM$SS!#$S%)ount Serrormsg O Serrormsg R PQ P R SPSM$SS!#$S%(temMS@N%Te@tQ $ndE2orQ $ndE(fQ $rror MSpre R P P R SerrormsgNQ endEmethodQ method setRouting 9C Sroute as String C9 Str@type O SrouteQ endEmethodQ method set"ode"ame 9C Sname as String C9 Snode"ame O SnameQ endEmethodQ method setService"ame 9C Sname as String C9 Sservice"ame O SnameQ endEmethodQ method setServiceDescr 9C Sname as String C9 SserviceDescr O SnameQ endEmethodQ method setServiceVersion 9C Sname as String C9 SserviceVersion O SnameQ endEmethodQ method set"odeDescr 9C Sdescr as String C9 SnodeDescr O SdescrQ endEmethodQ method set&peration"ame 9C Sname as String C9 Soperation"ame O SnameQ endEmethodQ method set&perationDescr 9C Sname as String C9 SoperationDescr O SnameQ endEmethodQ method get"ode"ame 9C Returns String C9 Return Snode"ameQ endEmethodQ

method set3RL 9C S_url as String C9 (f LenMS_urlN I , Then Surl O S_urlQ $ndE(fQ endEmethodQ method add eader 9C Shname as StringK C9 9C Shvalue as String C9 Sheaders%PutMShnameK ShvalueNQ endEmethodQ 9LL L add L !dds a node along 'ith related ServicesK Service &perations and Routings% L L Vparam pre the String prefi@ for the $rror message L9 method add /This%add"odeMNQ /This%addServiceMNQ /This%addService&perationMNQ 9L This may have to be reEevaluated%%%%% Should this be impl as additional routings for msg RS_!S*") 'hen outSync or (nSync is set W (f so maybe place this in addService&peration $valuate Str@type 7hen S&utgoingSync Smsgname O S!S*")_MS#_"!M$Q /This%addTransactionMNQ 7hen S(ncomingSync Smsgname O S!S*")_MS#_"!M$Q /This%addTransactionMNQ $ndE$valuateQL9 endEmethodQ method add"ode Local Local Local Local Local Local !pi&b=ect S(0_"&D$Q !pi&b=ect S(0_ $!D$RQ integer S)ountK SHey)ountK S@Q array of string SHeysQ !pi&b=ect SPSM$SS!#$SQ boolean Se@istsQ

S(0_"&D$ O /Session%#et)omp(ntfcM)omp(ntfc% RS_(0_"&D$NQ (f MS(0_"&D$ O "ullN Then thro' )reate$@ceptionM+>+FGK 4>K PSecurity needs to be granted for )omponent (nterface RS_(0_"&D$PNQ $ndE(fQ S(0_"&D$%("T$R!)T(V$M&D$ O TrueQ S(0_"&D$%MS#"&D$"!M$ O 3pperMSnode"ameNQ 9L 3pdate if it already e@ists L9 Se@ists O S(0_"&D$%#etMNQ (f "ot Se@ists Then (f "ot MS(0_"&D$%)reateMNN Then /This%)hecHMessagesMMsg#etTe@tM+>+FGK <,K P$rror on "ode )reation8 PNNQ $ndE(fQ $ndE(fQ S(0_"&D$%D$S)R O LeftMMSnodeDescr R P P R SserviceDescrNK 4,NQ S(0_"&D$%R&3T("#T*P$ O SnodeRoutingtypeQ S(0_"&D$%3S$R(D_, O PPSPQ (f Str@type O S&utgoingSync Then S(0_"&D$%)&""(D O Snode)onnidQ

S(0_ $!D$R O S(0_"&D$%PS"&D$)&"PR&PQ S)ount O S(0_ $!D$R%)ountQ S(0_ $!D$R%(temMS)ountN%PR&PV!L3$_+ O SurlQ SHeys O Sheaders%#et-eysMNQ SHey)ount O SHeys%LenQ 2or S@ O + To SHey)ount S(0_ $!D$R%(nsert(temMS)ountNQ S)ount O S)ount C +Q S(0_ $!D$R%(temMS)ountN%PR&P(D O SPR&P_ $!D$RQ S(0_ $!D$R%(temMS)ountN%PR&P"!M$_+ O SHeys AS@BQ S(0_ $!D$R%(temMS)ountN%PR&PV!L3$_+ O Sheaders%#etMSHeys AS@BNQ $ndE2orQ $ndE(fQ S(0_"&D$%!)T(V$_"&D$ O S!)T(V$_ST!T3SQ 9L)ode changes for resolution8 ><F,6F startsL9 Message0o@M,K PPK +>+FGK <6K PSuccessPNQ 9L)ode changes for resolution8 ><F,6F endsL9 (f "ot MS(0_"&D$%SaveMNN Then 9L SPSM$SS!#$S O /Session%psmessagesQ $rror MSPSM$SS!#$S%)ount R P P R SPSM$SS!#$S%2irstMN%Te@tNQL9 /This%)hecHMessagesMMsg#etTe@tM+>+FGK <,K P$rror on "ode Save8 PNNQ $ndE(fQ endEmethodQ method deactivate Local !pi&b=ect S(0_"&D$Q Local !pi&b=ect S(0_ $!D$RQ S(0_"&D$ O /Session%#et)omp(ntfcM)omp(ntfc% RS_(0_"&D$NQ (f MS(0_"&D$ O "ullN Then thro' )reate$@ceptionM+>+FGK 4>K PSecurity needs to be granted for )omponent (nterface RS_(0_"&D$PNQ $ndE(fQ S(0_"&D$%(nteractiveMode O TrueQ S(0_"&D$%MS#"&D$"!M$ O 3pperMSnode"ameNQ (f "ot MS(0_"&D$%#etMNN Then /This%)hecHMessagesMMsg#etTe@tM+>+FGK <,K P$rror on "ode Deactivate #et8 PNNQ $ndE(fQ S(0_"&D$%!)T(V$_"&D$ O S("!)T(V$_ST!T3SQ (f "ot MS(0_"&D$%SaveMNN Then 9L SPSM$SS!#$S O /Session%psmessagesQ $rror MSPSM$SS!#$S%)ount R P P R SPSM$SS!#$S%2irstMN%Te@tNQL9 /This%)hecHMessagesMMsg#etTe@tM+>+FGK <,K P$rror on "ode Deactivate Save8 PNNQ $ndE(fQ endEmethodQ method activate Local !pi&b=ect S(0_"&D$Q Local !pi&b=ect S(0_ $!D$RQ S(0_"&D$ O /Session%#et)omp(ntfcM)omp(ntfc% RS_(0_"&D$NQ (f MS(0_"&D$ O "ullN Then thro' )reate$@ceptionM+>+FGK 4FK PSecurity needs to be granted for )omponent (nterface RS_(0_"&D$PK P RS_(0_"&D$PNQ $ndE(fQ

S(0_"&D$%(nteractiveMode O TrueQ S(0_"&D$%MS#"&D$"!M$ O 3pperMSnode"ameNQ (f "ot MS(0_"&D$%#etMNN Then /This%)hecHMessagesMMsg#etTe@tM+>+FGK <,K P$rror on "ode !ctivate #et8 PNNQ $ndE(fQ S(0_"&D$%!)T(V$_"&D$ O S!)T(V$_ST!T3SQ (f "ot MS(0_"&D$%SaveMNN Then 9L SPSM$SS!#$S O /Session%psmessagesQ $rror MSPSM$SS!#$S%)ount R P P R SPSM$SS!#$S%2irstMN%Te@tNQL9 /This%)hecHMessagesMMsg#etTe@tM+>+FGK <,K P$rror on "ode !ctivate Save8 PNNQ $ndE(fQ endEmethodQ method addService Local !pi&b=ect S(0_S$RV()$D$2"Q Local boolean Se@istsQ Local string Sservice"ameSpaceQ M<Start= (#$e A$$e$ 7#r t##l) relea)e 8E58 %" t/e re)#lut%#"R890300<L L#cal )tr%"4 P)trT##l) er)%#"Q S'LEBecHS)elect TOOLSREL 7r#m PSSTATUSSJ P)trT##l) er)%#"KQ I7 alueHP)trT##l) er)%#"K LI 8E58 T/e" PIB_SER I(EDE-N I .Se))%#"E3et(#m+I"t7cH(#m+I"t7cE1RS_IB_SER I(EDE-N_858KQ El)e S(0_S$RV()$D$2" O /Session%#et)omp(ntfcM)omp(ntfc% RS_(0_S$RV()$D$2"NQ E"$=I7Q M<E"$= (#$e A$$e$ 7#r t##l) relea)e 8E58 %" t/e re)#lut%#"R890300<L (f MS(0_S$RV()$D$2" O "ullN Then M<Start= (#$e A$$e$ 7#r t##l) relea)e 8E58 %" t/e re)#lut%#"R890300<L I7 alueHP)trT##l) er)%#"K LI 8E58 T/e" t/r#& (reateEBce+t%#"H181T9J 3TJ SSecur%tA "ee$) t# :e 4ra"te$ 7#r (#m+#"e"t I"ter7ace 1RS_IB_SER I(EDE-N_858SJ S1RS_IB_SER I(EDE-N_858SKQ El)e thro' )reate$@ceptionM+>+FGK 4FK PSecurity needs to be granted for )omponent (nterface RS_(0_S$RV()$D$2"PK P RS_(0_S$RV()$D$2"PNQ $ndE(fQ M<E"$= (#$e A$$e$ 7#r t##l) relea)e 8E58 %" t/e re)#lut%#"R890300<L E"$=I7Q S(0_S$RV()$D$2"%("T$R!)T(V$M&D$ O TrueQ S(0_S$RV()$D$2"%(0_S$RV()$"!M$ O 3pperMSservice"ameNQ 9L 3pdate if it already e@ists L9 Se@ists O S(0_S$RV()$D$2"%#etMNQ (f "ot Se@ists Then (f "ot S(0_S$RV()$D$2"%)reateMN Then /This%)hecHMessagesMMsg#etTe@tM+>+FGK 4GK P$rror on Service )reation8 PNNQ $ndE(fQ $ndE(fQ S(0_S$RV()$D$2"%D$S)R O SserviceDescrQ S(0_S$RV()$D$2"%&0:$)T&7"$R(D O Sservice&'ner(DQ SQL$@ecMPS$L$)T (0_"!M$SP!)$ 2R&M PS(0SV)S$T3P 7 $R$ S$Q"& O MS$L$)T M!5M?%S$Q"&N 2R&M PS(0SV)S$T3P ?NPK Sservice"ameSpaceNQ S(0_S$RV()$D$2"%(0_"!M$SP!)$ O Sservice"ameSpaceQ (f "ot MS(0_S$RV()$D$2"%SaveMNN Then /This%)hecHMessagesMMsg#etTe@tM+>+FGK 4GK P$rror on Service )reation8 PNNQ $ndE(fQ endEmethodQ method addService&peration

Local !pi&b=ect S(0_S$RV()$_&PQ Local !pi&b=ect S(0_V$RS(&"Q Local !pi&b=ect S(0_M$SS!#$SQ Local !pi&b=ect S(0_R&3T("#Q Local number ScountQ Local boolean Se@istsQ Local string SsaveRetStringQ Local !pi&b=ect S(0_ !"DL$RQ Local !pi&b=ect S(0_ !"DL$R_!PP)L!SSQ M<Start= (#$e A$$e$ 7#r t##l) relea)e 8E58 %" t/e re)#lut%#"R890300<L L#cal )tr%"4 P)trT##l) er)%#"Q S'LEBecHS)elect TOOLSREL 7r#m PSSTATUSSJ P)trT##l) er)%#"KQ M<E"$= (#$e A$$e$ 7#r t##l) relea)e 8E58 %" t/e re)#lut%#"R890300<L 9L Prepare globals for )( L9 /This%setglobalMSoperation"ameK SoperationRoutingTypeK PPNQ M<Start= (#$e A$$e$ 7#r t##l) relea)e 8E58 %" t/e re)#lut%#"R890300<L I7 alueHP)trT##l) er)%#"K LI 8E58 T/e" PIB_SER I(E_OP I .Se))%#"E3et(#m+I"t7cH(#m+I"t7cE1RS_IB_SER I(E_858KQ El)e S(0_S$RV()$_&P O /Session%#et)omp(ntfcM)omp(ntfc% RS_(0_S$RV()$NQ E"$=I7Q M<E"$= (#$e A$$e$ 7#r t##l) relea)e 8E58 %" t/e re)#lut%#"R890300<L (f MS(0_S$RV()$_&P O "ullN Then M<Start= (#$e A$$e$ 7#r t##l) relea)e 8E58 %" t/e re)#lut%#"R890300<L I7 alueHP)trT##l) er)%#"K LI 8E58 T/e" t/r#& (reateEBce+t%#"H181T9J 3TJ SSecur%tA "ee$) t# :e 4ra"te$ 7#r (#m+#"e"t I"ter7ace 1RS_IB_SER I(E_858SJ S1RS_IB_SER I(E_858SKQ El)e thro' )reate$@ceptionM+>+FGK 4FK PSecurity needs to be granted for )omponent (nterface RS_(0_S$RV()$PK P RS_(0_S$RV()$PNQ $ndE(fQ M<E"$= (#$e A$$e$ 7#r t##l) relea)e 8E58 %" t/e re)#lut%#"R890300<L E"$=I7Q S(0_S$RV()$_&P%("T$R!)T(V$M&D$ O TrueQ S(0_S$RV()$_&P%(0_&P$R!T(&""!M$ O 3pperMSoperation"ameNQ 9L 3pdate if it already e@ists L9 Se@ists O S(0_S$RV()$_&P%#etMNQ (f "ot Se@ists Then (f "ot S(0_S$RV()$_&P%)reateMN Then /This%)hecHMessagesMMsg#etTe@tM+>+FGK 4GK P$rror on Service &peration )reation8 PNNQ $ndE(fQ $ndE(fQ S(0_S$RV()$_&P%D$2!3LTV$R O SV$RS(&"_PR$2(5 R StringMSserviceVersionNQ S(0_S$RV()$_&P%D$S)R O SoperationDescrQ S(0_S$RV()$_&P%(0_S$RV()$"!M$ O 3pperMSservice"ameNQ S(0_S$RV()$_&P%&0:$)T&7"$R(D O Sservice&'ner(DQ S(0_V$RS(&" O S(0_S$RV()$_&P%PS&PRV$RD2"Q 9L)ode changes for resolution8 ><F,6F startsL9 (f "oneMS(0_V$RS(&"%(temM+N%V$RS(&""!M$_+N Then S(0_V$RS(&"%Delete(temM+NQ $ndE(fQ 9L)ode changes for resolution8 ><F,6F endsL9 S(0_V$RS(&"%(temM+N%V$RS(&""!M$_+ O SV$RS(&"_PR$2(5 R StringMSserviceVersionNQ S(0_V$RS(&"%(temM+N%!)T(V$_2L!# O S!)T(V$_("DQ S(0_V$RS(&"%(temM+N%(0_(SP30S$RV()$ O S!)T(V$Q S(0_M$SS!#$S O S(0_V$RS(&"%(temM+N%PS&PRV$RD2"P!RMQ rem S(0_M$SS!#$S%(temM+N%(0_52RMM$SS!#$; O Smsgname R P%P R SV$RS(&"_PR$2(5 R StringMSserviceVersionNQ S(0_M$SS!#$S%(temM+N%(0_52RMM$SS!#$; O Smsgname R P%P R SMS#_V$RS(&"Q S(0_M$SS!#$S%(temM+N%(0_0D&)T*P$_+ O SP!R!M_R$Q3$STQ S(0_M$SS!#$S%(temM+N%Q3$3$"!M$_+ O SMS#_Q3$3$Q

rem S(0_M$SS!#$S%(temM;N%(0_52RMM$SS!#$; O Smsgname R P%P R SV$RS(&"_PR$2(5 R StringMSserviceVersionNQ S(0_M$SS!#$S%(temM;N%(0_52RMM$SS!#$; O Smsgname R P%P R SMS#_V$RS(&"Q S(0_M$SS!#$S%(temM;N%(0_0D&)T*P$_+ O SP!R!M_R$SP&"S$Q S(0_M$SS!#$S%(temM;N%Q3$3$"!M$_+ O SMS#_Q3$3$Q 9L !dd onRe.uest handler for (nbound async services L9 (f Str@type O S(ncomingSync Then S(0_ !"DL$R O S(0_S$RV()$_&P%PS&PR DLRQ S(0_ !"DL$R%(temM+N% !"DL$R"!M$ O PR$Q3$ST DLRPQ S(0_ !"DL$R%(temM+N% !"DL$R(D O PRQSTPQ S(0_ !"DL$R%(temM+N%!)T(V$_2L!#_4 O P!PQ S(0_ !"DL$R%(temM+N%(0_ !"DL$RT*P$ O P!P)LPQ S(0_ S(0_ S(0_ S(0_ $ndE(fQ !"DL$R_!PP)L!SS O S(0_ !"DL$R%(temM+N%PS&P$R!T(&"!)Q !"DL$R_!PP)L!SS%(temM+N%P!)-!#$R&&T O P RS_ R&(PQ !"DL$R_!PP)L!SS%(temM+N%Q3!L(2*P!T O P3T(LPQ !"DL$R_!PP)L!SS%(temM+N%!PP)L!SS(D O PRe.uest andlerPQ

9L This )( cannot be saved directly via a )(%SaveMN as it has custom save processing associated 'ith the )omponents Save button L9 SsaveRetString O S(0_S$RV()$_&P%(nvoHeSaveProcessingMNQ (f MSsaveRetString UI PPN Then /This%)hecHMessagesMMsg#etTe@tM+>+FGK 4GK P$rror on Service &peration Save8 PNNQ $ndE(fQ 9L !dd a routing for this service &p L9 /This%addRoutingMNQ 9L !dd Security for this service &p L9 /This%addSecurityMNQ endEmethodQ method #etLocal(0"ode 9C Returns String C9 Local string S(0"ode O PPQ SQL$@ecMSQL% RS_(0_L)L_"&D$K S(0"odeNQ (f S(0"ode O PP Then S(0"ode O SPS2T_ R_"&D$Q $ndE(fQ Return S(0"odeQ endEmethodQ method addRouting Local !pi&b=ect S(0_R&3T("#D$2"Q Local boolean Se@ists O TrueQ Local string SsaveRetStringQ S(0_R&3T("#D$2" O /Session%#et)omp(ntfcM)omp(ntfc% RS_(0_R&3T("#D$2"NQ (f MS(0_R&3T("#D$2" O "ullN Then thro' )reate$@ceptionM+>+FGK 4FK PSecurity needs to be granted for )omponent (nterface RS_(0_R&3T("#D$2"PK P RS_(0_R&3T("#D$2"PNQ $ndE(fQ 9L )reate a uni.ue Routing name for this "ode9&peration by taHing the "ode name and postfi@ing 'ith a constant L9 S(0_R&3T("#D$2"%R&3T("#D$2""!M$ O 3pperMSnode"ameN R SR&3T$_S322(5Q 9L 3pdate if it already e@ists L9 Se@ists O S(0_R&3T("#D$2"%#etMNQ (f "ot Se@ists Then

(f "ot S(0_R&3T("#D$2"%)reateMN Then /This%)hecHMessagesMMsg#etTe@tM+>+FGK 4GK P$rror on Routing )reation8 PNNQ $ndE(fQ $ndE(fQ S(0_R&3T("#D$2"%$22_ST!T3S O S!)T(V$_("DQ 9L Local "ode L9 S(0_R&3T("#D$2"%S$"D$R"&D$"!M$ O Slcl"ode"ameQ 9L Remote Vendor "ode L9 S(0_R&3T("#D$2"%R$)$(V$R"&D$"!M$ O Snode"ameQ S(0_R&3T("#D$2"%(0_&P$R!T(&""!M$ O 3pperMSoperation"ameNQ S(0_R&3T("#D$2"%D$S)R O SoperationDescrQ S(0_R&3T("#D$2"%&0:$)T&7"$R(D O Sservice&'ner(DQ S(0_R&3T("#D$2"%(0_L&#MS#DTL O S"&_L&##("#Q 9L This )( cannot be saved directly via a )(%SaveMN as it has custom save processing associated 'ith the )omponents Save button L9 SsaveRetString O S(0_R&3T("#D$2"%(nvoHeSaveProcessingMNQ 9L(f MSsaveRetString UI PPN Then /This%)hecHMessagesMMsg#etTe@tM+>+FGK 4GK P$rror on Routing Save8 PNNQ $ndE(fQL9 endEmethodQ method addSecurity Local Local Local Local !pi&b=ect S(0_S$)3R(T*Q !pi&b=ect S(0_P$RML(STQ boolean Se@ists O TrueQ string SsaveRetStringQ

S(0_S$)3R(T* O /Session%#et)omp(ntfcM)omp(ntfc% RS_(0_!)L_7S_!))$SSNQ (f MS(0_S$)3R(T* O "ullN Then thro' )reate$@ceptionM+>+FGK 4FK PSecurity needs to be granted for )omponent (nterface RS_(0_!)L_7S_!))$SSPK P RS_(0_!)L_7S_!))$SSPNQ $ndE(fQ S(0_S$)3R(T*%(0_&P$R!T(&""!M$ O 3pperMSoperation"ameNQ 9L 3pdate if it already e@ists L9 Se@ists O S(0_S$)3R(T*%#etMNQ (f "ot Se@ists Then (f "ot S(0_S$)3R(T*%)reateMN Then /This%)hecHMessagesMMsg#etTe@tM+>+FGK 4GK P$rror on Security )reation8 PNNQ $ndE(fQ $ndE(fQ S(0_P$RML(ST O S(0_S$)3R(T*%PS!3T 7S_V7+Q S(0_P$RML(ST%(temM+N%7S&PR!))$SS O S23LL_!))$SSQ S(0_P$RML(ST%(temM+N%)L!SS(D O SS$)_P$RM_L(STQ SsaveRetString O S(0_S$)3R(T*%SaveMNQ 9L (f MSsaveRetString UI PPN Then /This%)hecHMessagesMMsg#etTe@tM+>+FGK 4GK P$rror on Security Save8 PNNQ $ndE(fQ L9 endEmethodQ

Peo1 eCode &A11 P!c>!/e*: LEBL_ACTIVIT.:Co01o"e"$#:Ac$i=i$6Co00o";O"E@ec%$e


import L$RM_3T(L(T($S8!TT!) M$"TQ import L$RM_)&ST8!ctivity)ost)ontrollerQ

import import import import import import import import import import import import import import import import import import import import import import import import import import import import import import import import

L$RM_)&ST8!ctivity!d oc)ost)ontrollerQ L$RM_S$T3P8!)T(V(T*Q L$RM_S$T3P8)&MM&"Q L$0L_L$!R"("#)&MP&"$"T8LQ L$M_3T(L(T($S8LQ L$LM_S) $D3L$D_T(M$8!ctivity)lassQ L$LM_S) $D3L$D_T(M$8!ctivity)hangesQ L$$_$"R&LLM$"T8L$$_M!"!#$_$"RLMTQ L$RM_3T(L(T($S8!TT!) M$"TQ L$RM_L$8MaintainL$Q L$RM_M!("T!("_!)T(V(T*8!ctivitySecurityQ LM_TMPL_2R!M$7&R-8Data8Validate2ieldDataQ L$0L_!)T(V(T*8!ctivityQ L$)S_)&MM&"8DefaultsQ L$$_$"R&LLM$"T8L$$_M!"!#$_$"RLMTQ L$$_$"R&LLM$"T8L$$_!)T_0$!"Q L$0L_)&MPL$T(&"8!ctivity)ompletionQ L$0L_3T(L(T($S83tilityQ L$RM_)&ST8!ctivity)ontent)ost0eanQ L$RM_)&ST8!ctivity$.uipment)ost0eanQ L$RM_)&ST8!ctivity2acility)ost0eanQ L$RM_)&ST8!ctivity(nstructor)ost0eanQ L$RM_)&ST8!ctivityMaterial)ost0eanQ L$RM_)&ST8!ctivityVendor)ost0eanQ L$0&_L#_S$)3R(T*_3(8Paint!ctivityL#SecurityQ L$)R_3T(L8Ro'set)acheQ L$!P_!PPR&V!LS8$"RLMT_2!)T&R($S8!ct$nrlmt!pprovals2actoryQ L$L7_0!T) 8L$L7SessionQ L$L7_0!T) 8L$L7$nrollQ RS_ R&(_)!L$"D!R8)omponents8 RS_S) $D3L$_)!L$"D!RQ RS_ R&(_)!L$"D!R83til8)alendar_3tilityQ L$0&_P$RS&"8LQ

class !ctivity)ommon property Record 0aseRecordQ property number Template(dQ property array of LM_TMPL_2R!M$7&R-8Data8Validate2ieldData $rrorsQ property string org!ctivityStatusQ property number component(DQ property string 'ebcast!ctionQ method !ctivity)ommonMNQ method Post0uildMSis"e' !s booleanNQ 9L+F;6+4>,,, 0eginL9 method setDefaultsMSis"e' !s booleanNQ 9L+F;6+4>,,, $ndL9 method SavePre)hangeMSis"e' !s booleanNQ method SavePost)hangeMNQ method Save$ditMNQ method !dd!ttachmentMNQ method Delete!ttachmentMNQ method Vie'!ttachmentMNQ method LM_!2("_)&ST_V7_Ro'DeleteMNQ method LM_!2("_)&ST_V7_Ro'(nitMNQ method LM_!2("_)&ST_V7_LM_)&ST_2ield)hangeMNQ method LM_!!2(")&ST_V7_Ro'DeleteMNQ method LM_!!2(")&ST_V7_Ro'(nitMNQ method LM_!!2(")&ST_V7_LM_)&ST_2ield)hangeMNQ method LM_!)T_!T) _SavePre)hangeMNQ method LM_!)T_STTS_)MT_SavePre)hangeMNQ method LM_!D )_)&ST_V7_Ro'DeleteMNQ method LM_!D )_)&ST_V7_Ro'(nitMNQ method LM_L)_)MPL_V7_Ro'(nitMNQ method LM_L)_)MPL_V7_SavePre)hangeMNQ method LM_R$QD_2L!#_2ield)hangeMNQ method Pre0uildMNQ method LM_D3R!T(&"_2ield)hangeMNQ method )losePageLM_L)_D3R!T(&"MSis&- !s booleanNQ method LM_L)_T*P$_V7_Ro'(nitMNQ method LM_L)_Ro'DeleteMNQ method LM_L)_T*P$_V7_LM_L)_T*P$_L&"#_2ield)hangeMNQ method LM_L$0L_7R-_LM_!DD_)&MP_0T"_2ield)hangeMNQ method LM_L$0L_7R-_LM_D$L$T$_L"-_2ield)hangeMNQ

method method method method method method method method method method method method method method method method method method method method method method method method method method method method method method method method method method method method method method method method method method method method method private

LM_L$0L_7R-_LM_$D(T_L"-_2ield)hangeMNQ LM_RM_)&ST_7R-_LM_)!L)_)&ST_0T"_2ield)hangeMNQ LM_RM_)&ST_7R-_LM_)!L)_)&ST_!ctivateMNQ LM_RM_"&T(2_7R-_LM_"&T(2_L("-_2ield)hangeMNQ (nstructorSearch0uttonMNQ LM_RM_7R-_LM_S$)_P!#$;_L("-_2ield)hangeMNQ LM_RM_7R-_LM_S$)_P!#$_L("-_2ield)hangeMNQ LM_S*S_)&ST_V7_Ro'DeleteMNQ LM_S*S_)&ST_V7_Ro'(nitMNQ LM_S*S_)&ST_V7_Ro'(nit_DisplayMSro' !s Ro'NQ LM_L)_Page!ctivateMNQ LM_L)_)MPL_Page!ctivateMNQ RefreshL)#ridMNQ get)urrent)ostro'MN Returns Ro'Q get)urrent!d oc)ostRo'MN Returns Ro'Q LM_S*S_)&ST_V7_LM_) !R#$!0L$_S7_2ield$ditMNQ LM_) !R#$!0L$_S7_2ield$ditMSro' !s Ro'K Srec !s RecordNQ LM_!D )_)&ST_V7_LM_) !R#$!0L$_S7_2ield$ditMNQ LM_S*S_)&ST_V7_LM_)&ST_QT*_2ield)hangeMNQ LM_!D )_)&ST_V7_LM_)&ST_QT*_2ield)hangeMNQ LM_!D )_)&ST_V7_)3RR$")*_)D_2ield)hangeMNQ LM_!D )_)&ST_V7_LM_)&ST_T*P$_2ield)hangeMNQ LM_!D )_)&ST_V7_LM_)&ST_!3T&_3PD_2ield)hangeMNQ LM_!D )_)&ST_V7_RefreshDescrMNQ LM_!D )_)&ST_V7_LM_)&ST_)T#R*_DisplayMNQ LM_!D )_)&ST_V7_LM_)&ST_)T#R*_2ield)hangeMNQ LM_!D )_)&ST_V7_LM_L("$_T*P$_2ield)hangeMNQ LM_!)T_S$)_Ro'(nitMNQ populate!ctivityL#SecurityMNQ populateL#SecurityRo'MSnbr_pL#(d !s numberNQ editLearner#roupSecurityMNQ hideLearner#roupSecurityMNQ refreshL#SecuritySubPageMNQ validateLearner#roupsMN Returns booleanQ syncupL$andL#MSnbr_"e'L$(d !s numberK Snbr_&rigL$(d !s numberNQ deleteL#SecurityMNQ deleteL$L#SecurityMSnbr_pL$(d !s numberNQ setL#)hecHbo@MNQ get!ctivityL#(dMNQ LM_!)T_MTRL_Page!ctivateMNQ LM_!)T_!T) _Page!ctivateMNQ LM_!)T_STTS_)MTS_Page!ctivateMNQ !dhocRo'(nitMSro' !s Ro'NQ )alc!ctivity)ostsMSans'er !s numberNQ 7ebcastTriggersMNQ

instance Ro' Scurrent)ostro'Q instance Ro' Scurrent!d oc)ostRo'Q instance L$RM_)&ST8!ctivity)ost)ontroller S!ctivity)ost)ontrollerQ instance L$RM_)&ST8!ctivity!d oc)ost)ontroller S!ctivity!d oc)ost)ontrollerQ instance number Snbr_L)Re.d)ountQ instance L$0L_L$!R"("#)&MP&"$"T8!ctivityType Sob=_!ctTypeQ instance number Snbr_Total$nrlmtQ instance number Snbr_L)DurnDaysK Snbr_L)Durn rsK Snbr_L)DurnMinsQ instance number Snbr_L)Type(DQ instance string Sstr_LM_0!S_L)_T*P$Q instance number Snbr_instr(dQ instance number Snbr_ci(dQ 9L L ashtable 'ith Hey as the L)_(D and the value as a flag 1*1 to indicate re.uired and 1"1 to indicate &ptional L9 instance L$M_3T(L(T($S8String ashtable Shsh_Re.&pt ashQ 9LL L2or some reason )ost (d is a reverse ordered se.uence number for adhoc costs associatd to an !ctivity LThis method sets the value of Sint_adhoc)ost(d to the lo'est J currently in use so on save it 'ill use the ne@t lo'set J L9

method #et(nitial)ost(DMSrs_adhoc)ost !s Ro'setN Returns numberQ method #et(nitial"ote(DMSrs_note !s Ro'setN Returns numberQ method Save!d oc)ostMNQ method Save"oteMNQ method SaveLearner#roupsMNQ method (nitialiTeLearning)omponent#ridMNQ method #enerate$rrorMSmessageSet !s numberK Smessage(d !s numberK Sfield !s 2ieldK Sis$rror !s booleanNQ method )ancel!ctivityMNQ method 3pdateTotal$nrollmentMNQ method $nrollment(mpactMSis"e' !s booleanNQ method TransferToLearning)omponentMSL)(d !s numberK SL)Type(d !s numberK S0asicL)Type !s stringK Smode !s stringNQ method ProcessL)DeleteMSrecLM_L)_R&3T$_V7 !s RecordNQ endEclassQ

Declare 2unction refreshSummary People)ode LM_!)T_7R-%LM_) !R#$!0L$_)&ST 2ield2ormulaQ #lobal string SPrevious)omponentQ

method !ctivity)ommon endEmethodQ

method Pre0uild Sob=_!ctType O create L$0L_L$!R"("#)&MP&"$"T8!ctivityTypeM#etLevel,MN M+N%#etRo'setMScroll%LM_L)_R&3T$_V7NNQ S!ctivity)ost)ontroller O create L$RM_)&ST8!ctivity)ost)ontrollerMNQ S!ctivity!d oc)ost)ontroller O create L$RM_)&ST8!ctivity!d oc)ost)ontrollerMNQ endEmethodQ

method Post0uild 9C Sis"e' as 0oolean C9 Local L$0&_L#_S$)3R(T*_3(8Paint!ctivityL#Security Sob=_L#SecurityQ Local number Snbr_L$(dK Snbr_&ldL$(dQ Local Ro'set Srs_L$Q 9L3pdate Derived 7orH $ffdt for MaterialsL9 S!ctivity)ost)ontroller%bind0aseRecordMS0aseRecordNQ S!ctivity!d oc)ost)ontroller%bind0aseRecordMS0aseRecordNQ /This%3pdateTotal$nrollmentMNQ (f Sis"e' Then Local L$RM_L$8MaintainL$ SMaintainL$ O create L$RM_L$8MaintainL$MNQ 9LDefault Learning $nvironmentL9 SMaintainL$%DefaultL$MPLM_!)T_L$PK PPNQ Local L$RM_S$T3P8!)T(V(T* Scls_activity O create L$RM_S$T3P8!)T(V(T*MNQ Scls_activity%!ctivityRecord O S0aseRecordQ Scls_activity%setDefaultsMNQ $lse Sob=_L#Security O create L$0&_L#_S$)3R(T*_3(8Paint!ctivityL#SecurityMNQ Sob=_L#Security%0aseRecord O S0aseRecordQ Sob=_L#Security%populate!ctivityL#SecurityMNQ Sob=_L#Security%format!ctivityL#SecurityM 2alseNQ (f !llMS0aseRecord%)3RR$")*_)D%ValueN Then :Thi08Calc cti/ityCo0t0;:M0(Re0ult_No>A M<Re)#lut%#"= 8910T9 Be4%") <L 6<.T/%)E(alcAct%*%tA(#)t)H.M)4Re)ult_N#KQ<6 .T/%)E(alcAct%*%tA(#)t)H alueH.M)4Re)ult_N#KKQ M<Re)#lut%#"= 8910T9 E"$) <L $ndE(fQ $ndE(fQ ScrollSelectM+K Record%LM_L)_)MPL_V7K Record%LM_L)_)MPL_V7NQ

SortScrollM+K Record%LM_L)_)MPL_V7K LM_L)_)MPL_V7%LM_)&MP_S$Q_(DK P!PNQ /This%(nitialiTeLearning)omponent#ridMNQ Local L$!P_!PPR&V!LS8$"RLMT_2!)T&R($S8!ct$nrlmt!pprovals2actory Scls_l!ct$nrlmt!pprovals2actory O create L$!P_!PPR&V!LS8$"RLMT_2!)T&R($S8!ct$nrlmt!pprovals2actoryMNQ Scls_l!ct$nrlmt!pprovals2actory%set!pprovalDefinitionsM#etRecordMVMPRecord%P R S0aseRecord%"ameNN%#et2ieldM2ield%LM_!PRVL_T*P$_R$QNNQ /This%org!ctivityStatus O S0aseRecord%LM_!)T_ST!T3S%ValueQ endEmethodQ 9L+F;6+4>,,, 0eginL9 method setDefaults 9C Sis"e' as 0oolean C9 Local L$0&_L#_S$)3R(T*_3(8Paint!ctivityL#Security Sob=_L#SecurityQ Local number Snbr_L$(dK Snbr_&ldL$(dQ Local Ro'set Srs_L$K Srs_opridQ S!ctivity)ost)ontroller%bind0aseRecordMS0aseRecordNQ S!ctivity!d oc)ost)ontroller%bind0aseRecordMS0aseRecordNQ /This%3pdateTotal$nrollmentMNQ (f Sis"e' Then Local L$RM_L$8MaintainL$ SMaintainL$ O create L$RM_L$8MaintainL$MNQ 9LDefault Learning $nvironmentL9 SMaintainL$%DefaultL$MPLM_!)T_L$PK PPNQ Local L$RM_S$T3P8!)T(V(T* Scls_activity O create L$RM_S$T3P8!)T(V(T*MNQ Scls_activity%!ctivityRecord O S0aseRecordQ (f "ot MS0aseRecord%LM_!)T_&7"$R_(D%ValueN Then Srs_oprid O )reateRo'setMRecord%LM_&PR(D_(D_V7NQ Srs_oprid%2illMP7 $R$ &PR(D O 8+PK /&perator(dNQ S0aseRecord%LM_!)T_&7"$R_(D%Value O Srs_opridM+N%LM_&PR(D_(D_V7%LM_P$RS&"_(D%ValueQ $ndE(fQ $ndE(fQ Local L$!P_!PPR&V!LS8$"RLMT_2!)T&R($S8!ct$nrlmt!pprovals2actory Scls_l!ct$nrlmt!pprovals2actory O create L$!P_!PPR&V!LS8$"RLMT_2!)T&R($S8!ct$nrlmt!pprovals2actoryMNQ Scls_l!ct$nrlmt!pprovals2actory%set!pprovalDefinitionsM#etRecordMVMPRecord%P R S0aseRecord%"ameNN%#et2ieldM2ield%LM_!PRVL_T*P$_R$QNNQ endEmethodQ 9L+F;6+4>,,, $ndL9 method #et(nitial)ost(D 9C Srs_adhoc)ost as Ro'set C9 9C Returns "umber C9 Local number Sint_iQ Local Record Srec_adhoc)ostQ Local number Sint_adhoc)ost(dQ Sint_adhoc)ost(d O GGGGQ 2or Sint_i O + To Srs_adhoc)ost%!ctiveRo')ount Srec_adhoc)ost O Srs_adhoc)ostMSint_iN%LM_!D )_)&ST_V7Q (f Srec_adhoc)ost%LM_)&ST_(D%Value U Sint_adhoc)ost(d !nd !llMSrec_adhoc)ost%LM_)&ST_(D%ValueN Then Sint_adhoc)ost(d O Srec_adhoc)ost%LM_)&ST_(D%ValueQ $ndE(fQ $ndE2orQ Return Sint_adhoc)ost(dQ endEmethodQ

method (nitialiTeLearning)omponent#rid Local L$0L_L$!R"("#)&MP&"$"T8Learning)omponent Sob=_L)Q Sob=_L) O create L$0L_L$!R"("#)&MP&"$"T8Learning)omponentMNQ

Snbr_L)Re.d)ount O Sob=_L)%getTotalRe.uiredL)M#etLevel,MN M+N%#etRo'setMScroll%LM_L)_)MPL_V7NNQ Shsh_Re.&pt ash O Sob=_L)%populateRe.&pt ashM#etLevel,MN M+N%#etRo'setMScroll%LM_L)_R&3T$_V7NNQ endEmethodQ

method Save!d oc)ost Local integer Sint_iQ Local Ro'set Srs_adhoc)ostQ Local Record Srec_adhoc)ostQ Srs_adhoc)ost O #etLevel,MNM+N%#etRo'setMScroll%LM_!D )_)&ST_V7NQ (f Srs_adhoc)ost%!ctiveRo')ount I + &r !llMSrs_adhoc)ostM+N%LM_!D )_)&ST_V7%LM_3"(T_)&ST%ValueN Then Local number Sint_adhoc)ost(d O /This%#et(nitial)ost(DMSrs_adhoc)ostNQ 2or Sint_i O + To Srs_adhoc)ost%!ctiveRo')ount Srec_adhoc)ost O Srs_adhoc)ostMSint_iN%LM_!D )_)&ST_V7Q (f !llMSrec_adhoc)ost%LM_3"(T_)&ST%ValueN Then (f "oneMSrec_adhoc)ost%LM_)&ST_(D%ValueN Then Sint_adhoc)ost(d O Sint_adhoc)ost(d E +Q Srec_adhoc)ost%LM_)&ST_(D%Value O Sint_adhoc)ost(dQ $ndE(fQ Srec_adhoc)ost%LM_3"(T_)&ST_$"TR*%Value O Srec_adhoc)ost%LM_3"(T_)&ST%ValueQ Srec_adhoc)ost%LM_)3RR$")*_$"TR*%Value O Srec_adhoc)ost%)3RR$")*_)D%ValueQ Srec_adhoc)ost%LM_)&ST%Value O Srec_adhoc)ost%LM_3"(T_)&ST%Value L Srec_adhoc)ost%LM_)&ST_QT*%ValueQ $ndE(fQ $ndE2orQ $ndE(fQ endEmethodQ

method #et(nitial"ote(D 9C Srs_note as Ro'set C9 9C Returns "umber C9 Local Ro' Sro'_noteQ Local number Sint_iQ Local 2ield Sfld_note(dQ Local number Sint_ma@-eyQ Sro'_note O Srs_noteM+NQ Sint_ma@-ey O ,Q Sint_ma@-ey O ,Q 2or Sint_i O + To Srs_note%!ctiveRo')ount Sfld_note(d O Srs_noteMSint_iN%LM_!)T_"&T$%LM_"&T$S_(DQ (f Sfld_note(d%Value I Sint_ma@-ey Then Sint_ma@-ey O Sfld_note(d%ValueQ $ndE(fQ $ndE2orQ Return Sint_ma@-eyQ endEmethodQ

method Save"ote Local Ro'set Srs_noteQ Local Ro' Sro'_noteQ Local number Sint_iQ Local 2ield Sfld_note(dQ Local number Sint_ma@-eyQ Srs_note O #etLevel,MNM+N%#etRo'setMScroll%LM_!)T_"&T$NQ Sro'_note O Srs_noteM+NQ (f Srs_note%!ctiveRo')ount I + &r Sro'_note%(s)hanged Then Sint_ma@-ey O /This%#et(nitial"ote(DMSrs_noteNQ 2or Sint_i O + To Srs_note%!ctiveRo')ount Sfld_note(d O Srs_noteMSint_iN%LM_!)T_"&T$%LM_"&T$S_(DQ (f "oneMSfld_note(d%ValueN Then

Sint_ma@-ey O Sint_ma@-ey C +Q Sfld_note(d%Value O Sint_ma@-eyQ $ndE(fQ $ndE2orQ $ndE(fQ endEmethodQ

method SavePre)hange 9C Sis"e' as 0oolean C9 9LL Set the last 'aitlist enroll date to the derived date from the primary learning environment settings or to the start date 'hen $nable 7aitlist is selected% L9 Local date Sdate_LM_7TLST_$"RL_DTQ Local number Snbr_L$ro'K Snbr_L$_(DK Snbr_LM_LST_7TLST_D!*SQ Local Ro'set Srs_L$K Srs_L$defaultQ (f /Page O PLM_!)TP Then (f LM_!)T%LM_$"!0L$_7TLST%Value O P*P Then (f "oneMLM_!)T%LM_7TLST_$"RL_DT%ValueN Then Srs_L$ O #etLevel,MNM+N%#etRo'setMScroll%LM_!)T_L$NQ 2or Snbr_L$ro' O + To Srs_L$%!ctiveRo')ount (f Srs_L$%#etRo'MSnbr_L$ro'N%LM_!)T_L$%LM_PRM_L$%Value O P*P Then Snbr_L$_(D O Srs_L$%#etRo'MSnbr_L$ro'N%LM_!)T_L$%LM_L$_(D%ValueQ Snbr_L$ro' O Srs_L$%!ctiveRo')ountQ $ndE(fQ $ndE2orQ (f Snbr_L$_(D UI , Then Srs_L$default O )reateRo'setMRecord%LM_L$_D2LT_T0LNQ Srs_L$default%2illMP7 $R$ LM_L$_(D O 8+PK Snbr_L$_(DNQ (f Srs_L$defaultM+N%#etRecordMRecord%LM_L$_D2LT_T0LN%#et2ieldM2ield%LM_LST_7TLST_D!*S N%Value UI , Then Snbr_LM_LST_7TLST_D!*S O Srs_L$defaultM+N%#etRecordMRecord%LM_L$_D2LT_T0LN%#et2ieldM2ield%LM_LST_7TLST_D!*S N%ValueQ (f Srs_L$defaultM+N%#etRecordMRecord%LM_L$_D2LT_T0LN%#et2ieldM2ield%LM_LST_7TLST_T*P$ N%Value O + Then Sdate_LM_7TLST_$"RL_DT O !ddToDateMLM_!)T%LM_ST!RT_DT%ValueK ,K ,K E Snbr_LM_LST_7TLST_D!*SNQ LM_!)T%LM_7TLST_$"RL_DT%Value O Sdate_LM_7TLST_$"RL_DTQ $lse Sdate_LM_7TLST_$"RL_DT O !ddToDateMLM_!)T%LM_ST!RT_DT%ValueK ,K ,K Snbr_LM_LST_7TLST_D!*SNQ LM_!)T%LM_7TLST_$"RL_DT%Value O Sdate_LM_7TLST_$"RL_DTQ $ndE(fQ $ndE(fQ $ndE(fQ (f "oneMLM_!)T%LM_7TLST_$"RL_DT%ValueN Then LM_!)T%LM_7TLST_$"RL_DT%Value O LM_!)T%LM_ST!RT_DT%ValueQ $ndE(fQ $ndE(fQ $ndE(fQ $ndE(fQ /This%Save!d oc)ostMNQ /This%Save"oteMNQ /This%SaveLearner#roupsMNQ /This%$nrollment(mpactMSis"e'NQ /This%7ebcastTriggersMNQ endEmethodQ

method SavePost)hange Local L$LM_S) $D3L$D_T(M$8!ctivity)lass Sl!ctivity)lassQ Local L$LM_S) $D3L$D_T(M$8!ctivity)hanges Sl!ctivity)hangesQ Local boolean SresQ 9L call TSL integration if the activity status changed L9 Sl!ctivity)lass O create L$LM_S) $D3L$D_T(M$8!ctivity)lassMNQ Sl!ctivity)lass%LMStatus O S0aseRecord%LM_!)T_ST!T3S%ValueQ Sl!ctivity)lass%LM&ldStatus O S0aseRecord%LM_!)T_ST!T3S%&riginalValueQ Sl!ctivity)lass%)hecHStatus)hangeMNQ (f Sl!ctivity)lass%Status)hanged Then Sl!ctivity)lass%LM!ct(D O S0aseRecord%LM_!)T_(D%ValueQ Sl!ctivity)lass%LM!ct)d O S0aseRecord%LM_!)T_)D%ValueQ Sl!ctivity)lass%)ourse"ame O LM_)(_!DM("_V7%LM_)S_L&"#_"M%ValueQ Sl!ctivity)lass%(s)hanged O TrueQ Sl!ctivity)hanges O create L$LM_S) $D3L$D_T(M$8!ctivity)hangesMNQ Sl!ctivity)hanges%!ctivity)lass O Sl!ctivity)lassQ Sl!ctivity)hanges%Send!ctivity)hangeMNQ $ndE(fQ Sres O S!ctivity)ost)ontroller%saveMNQ Sres O S!ctivity!d oc)ost)ontroller%saveMNQ /This%)ancel!ctivityMNQ /This%3pdateTotal$nrollmentMNQ SortScrollM+K Record%LM_L)_)MPL_V7K LM_L)_)MPL_V7%LM_)&MP_S$Q_(DK P!PNQ TransferPageM/PageNQ endEmethodQ

method !dd!ttachment 9L declare attachment ob=ected L9 Local L$RM_3T(L(T($S8!TT!) M$"T SattachmentQ Local string Sstr_urlidQ Local string Sstr_recordQ Local string Sstr_record,Q Local string Sstr_HeyfieldQ 9L create attachment ob=ect used for grid formating L9 Sattachment O create L$RM_3T(L(T($S8!TT!) M$"TMNQ (f /)omponent O PLM_)"T_TMPLP Then Sattachment%Recname O PLM_2!TT_7R-;PQ $ndE(fQ 9L add the attachment L9 Sstr_urlid O PLM_!)T_!T) PQ Sstr_record O PLM_!)T_!T) PQ Sstr_record, O S0aseRecord%"ameQ Sstr_Heyfield O PLM_!)T_(DPQ Sattachment%!ddMSstr_urlidK Sstr_record,K Sstr_recordK Sstr_HeyfieldNQ 9L format the grid L9 Sattachment%2ormat#ridMPLM_!)T_!T) PNQ endEmethodQ

method Delete!ttachment 9L declare attachment ob=ected L9 Local L$RM_3T(L(T($S8!TT!) M$"T SattachmentQ Local string Sstr_urlidQ Local string Sstr_recordQ 9L create attachment ob=ect used for grid formating L9 Sattachment O create L$RM_3T(L(T($S8!TT!) M$"TMNQ (f /)omponent O PLM_)"T_TMPLP Then Sattachment%Recname O PLM_2!TT_7R-;PQ $ndE(fQ 9L add the attachment L9 Sstr_urlid O PLM_!)T_!T) PQ Sstr_record O PLM_!)T_!T) PQ Sattachment%DeleteMSstr_urlidK Sstr_recordNQ 9L format the grid L9 Sattachment%2ormat#ridMPLM_!)T_!T) PNQ endEmethodQ

method Vie'!ttachment 9L declare attachment ob=ected L9 Local L$RM_3T(L(T($S8!TT!) M$"T SattachmentQ Local string Sstr_urlidQ Local string Sstr_recordQ 9L create attachment ob=ect used for grid formating L9 Sattachment O create L$RM_3T(L(T($S8!TT!) M$"TMNQ (f /)omponent O PLM_)"T_TMPLP Then Sattachment%Recname O PLM_2!TT_7R-;PQ $ndE(fQ 9L add the attachment L9 Sstr_urlid O PLM_!)T_!T) PQ Sstr_record O PLM_!)T_!T) PQ Sattachment%Vie'MSstr_urlidK Sstr_recordNQ endEmethodQ

method LM_!!2(")&ST_V7_Ro'Delete Local Ro' Sccr O Scurrent!d oc)ostRo'Q (f !llMSccrN Then S!ctivity!d oc)ost)ontroller%clear)hildRo'MScurrent!d oc)ostRo'K #etRo'MNNQ #etRecordMN%LM_)&ST%Value O ,Q refreshSummaryMScurrent!d oc)ostRo'%#etRecordM+NK #etRecordMNNQ $ndE(fQ endEmethodQ

method LM_!!2(")&ST_V7_Ro'(nit S!ctivity!d oc)ost)ontroller%bind)hildRo'MScurrent!d oc)ostRo'K #etRo'MNNQ endEmethodQ

method LM_!!2(")&ST_V7_LM_)&ST_2ield)hange Local Ro' ScacrQ Scacr O Scurrent!d oc)ostRo'Q (f "oneMLM_!!2(")&ST_V7%)3RR$")*_)D%ValueN &r MLM_!!2(")&ST_V7%)3RR$")*_)D%Value UI Scurrent!d oc)ostRo'%#etRecordM+N%)3RR$")*_)D%ValueN Then LM_!!2(")&ST_V7%)3RR$")*_)D%Value O Scurrent!d oc)ostRo'%#etRecordM+N%)3RR$")*_)D%ValueQ $ndE(fQ (f !llMScacrN Then refreshSummaryMScurrent!d oc)ostRo'%#etRecordM+NK #etRecordMNNQ $ndE(fQ endEmethodQ

method LM_!2("_)&ST_V7_Ro'Delete Local Ro' Sccr O Scurrent)ostro'Q (f !llMSccrN Then S!ctivity)ost)ontroller%clear)hildRo'MScurrent)ostro'K #etRo'MNNQ #etRecordMN%LM_)&ST%Value O ,Q refreshSummaryMScurrent)ostro'%#etRecordM+NK #etRecordMNNQ $ndE(fQ endEmethodQ

method LM_!2("_)&ST_V7_Ro'(nit S!ctivity)ost)ontroller%bind)hildRo'MScurrent)ostro'K #etRo'MNNQ endEmethodQ

method LM_!2("_)&ST_V7_LM_)&ST_2ield)hange Local Ro' ScacrQ Scacr O Scurrent)ostro'Q (f "oneMLM_!2("_)&ST_V7%)3RR$")*_)D%ValueN &r MLM_!2("_)&ST_V7%)3RR$")*_)D%Value UI Scurrent)ostro'%#etRecordM+N%)3RR$")*_)D%ValueN Then LM_!2("_)&ST_V7%)3RR$")*_)D%Value O Scurrent)ostro'%#etRecordM+N%)3RR$")*_)D%ValueQ $ndE(fQ (f !llMScacrN Then refreshSummaryMScurrent)ostro'%#etRecordM+NK #etRecordMNNQ $ndE(fQ endEmethodQ

method Save$dit Local L$RM_L$8MaintainL$ SMaintainL$ O create L$RM_L$8MaintainL$MNQ SMaintainL$%Template(D O STemplate(dQ SMaintainL$%ValidateL$MPLM_!)T_L$PK PPNQ S$rrors O SMaintainL$%$rrorsQ (f S0aseRecord%LM_!PRVL_R$Q_$5T%Value O P<,P !nd "oneMS0aseRecord%LM_$"RLMT_!DM("_(D%ValueN Then (f STemplate(d I , Then /This%#enerate$rrorM+>,G;K +,,+K S0aseRecord%LM_$"RLMT_!DM("_(DK TrueNQ $lse /This%#enerate$rrorM+>,G;K +,,+K #etRecordMRecord%LM_P$RS_"!M$_V7N%#et2ieldM2ield%"!M$NK TrueNQ $ndE(fQ $ndE(fQ (f !llMS0aseRecord%LM_$"D_DT%ValueN !nd S0aseRecord%LM_$"D_DT%Value U S0aseRecord%LM_ST!RT_DT%Value Then /This%#enerate$rrorM+>,G;K D,+4K S0aseRecord%LM_$"D_DTK TrueNQ $ndE(fQ (f !llMS0aseRecord%LM_RM"DR_D!*S%ValueN !nd !llMS0aseRecord%LM_RM"DR_DT%ValueN Then /This%#enerate$rrorM+>,G;K +,,GK S0aseRecord%LM_RM"DR_D!*SK TrueNQ $ndE(fQ (f M!llMS0aseRecord%LM_LST_$"RL_D!*S%ValueN !nd !llMS0aseRecord%LM_LST_$"RL_DT%ValueNN &r M!llMS0aseRecord%LM_LST_$"RL_D!*S%ValueN !nd S0aseRecord%LM_LST_$"RL_ST!RT%Value O P*PN &r MS0aseRecord%LM_LST_$"RL_ST!RT%Value O P*P !nd !llMS0aseRecord%LM_LST_$"RL_DT%ValueNN Then /This%#enerate$rrorM+>,G;K +,+,K S0aseRecord%LM_LST_$"RL_D!*SK TrueNQ $ndE(fQ (f M!llMS0aseRecord%LM_LST_DR&P_D!*S%ValueN !nd !llMS0aseRecord%LM_LST_DR&P_DT%ValueNN &r M!llMS0aseRecord%LM_LST_DR&P_D!*S%ValueN !nd S0aseRecord%LM_LST_DR&P_ST!RT%Value O P*PN &r MS0aseRecord%LM_LST_DR&P_ST!RT%Value O P*P !nd !llMS0aseRecord%LM_LST_DR&P_DT%ValueNN Then /This%#enerate$rrorM+>,G;K +,++K S0aseRecord%LM_LST_DR&P_D!*SK TrueNQ $ndE(fQ (f S0aseRecord%LM_!)T_ST!T3S%Value O ; !nd S0aseRecord%LM_!)T_ST!T3S%(s)hanged O True Then /This%#enerate$rrorM+>,G;K +,+;K S0aseRecord%LM_!)T_ST!T3SK 2alseNQ $ndE(fQ (f S0aseRecord%LM_!)T_ST!T3S%Value O + &r S0aseRecord%LM_!)T_ST!T3S%Value O 4 &r S0aseRecord%LM_!)T_ST!T3S%Value O 6 !nd S0aseRecord%LM_!)T_ST!T3S%(s)hanged O True Then Local number ShasL)Q (f S0aseRecord%ParentRo'%#etRo'setMScroll%LM_L)_R&3T$_V7N%!ctiveRo')ount O + !nd S0aseRecord%ParentRo'%#etRo'setMScroll%LM_L)_R&3T$_V7N%#etRo'M+N%LM_L)_R&3T$_V7%LM _L)_(D%Value O , Then /This%#enerate$rrorM+>,G;K +4+>K S0aseRecord%LM_!)T_ST!T3SK TrueNQ $ndE(fQ $ndE(fQ

(f M!llMS0aseRecord%LM_RM"DR_D!*S%ValueN &r !llMS0aseRecord%LM_RM"DR_DT%ValueNN !nd "oneMS0aseRecord%LM_RM"DR_(D%ValueN Then /This%#enerate$rrorM+>,G;K +,+DK S0aseRecord%LM_RM"DR_(DK TrueNQ $ndE(fQ Local number Shas)(K ShasDMK SSesStartQ (f S0aseRecord%LM_ST!RT_DT%Value UI S0aseRecord%LM_ST!RT_DT%&riginalValue Then SQL$@ecMPS$L$)T + 2R&M PS_LM_)(_!LL_V7 7 $R$ LM_)(_(D O 8+ !"D $22DTO /D!T$("M8;N !"D LM_)(_ST!T3S (" M1+,1K 1<,1NPK S0aseRecord%LM_)(_(D%ValueK S0aseRecord%LM_)(_$22DT%ValueK Shas)(NQ (f Shas)( I , Then SQL$@ecMPS$L$)T + 2R&M PS_LM_DMT D_!LL_V7 7 $R$ LM_DMT D_T*P$_(D O 8+ !"D LM_)(_(D O 8; !"D LM_DMT D_(D O 84 !"D /D!T$("M8<N 0$T7$$" $22DT !"D LM_$"D_$22DT !"D LM_DM_ST!T3S O 1+,1 PK S0aseRecord%LM_DMT D_T*P$_(D%ValueK S0aseRecord%LM_)(_(D%ValueK S0aseRecord%LM_DMT D_(D%ValueK S0aseRecord%LM_ST!RT_DT%ValueK ShasDMNQ (f ShasDM O , Then /This%#enerate$rrorM+>,G;K +,+6K S0aseRecord%LM_ST!RT_DTK TrueNQ $ndE(fQ $lse /This%#enerate$rrorM+>,G;K +,+<K S0aseRecord%LM_ST!RT_DTK TrueNQ $ndE(fQ SQL$@ecMPS$L$)T + 2R&M PS_LM_S$S 7 $R$ LM_!)T_(D O 8+ !"D LM_S$S_DT U /D!T$("M8;NPK S0aseRecord%LM_!)T_(D%ValueK S0aseRecord%LM_ST!RT_DT%ValueK SSesStartNQ (f SSesStart I , Then /This%#enerate$rrorM+>,G;K +,+GK S0aseRecord%LM_ST!RT_DTK 2alseNQ $ndE(fQ $ndE(fQ (f !llMS0aseRecord%LM_M("_$"RLMT%ValueN !nd !llMS0aseRecord%LM_M!5_$"RLMT%ValueN !nd S0aseRecord%LM_M("_$"RLMT%Value I S0aseRecord%LM_M!5_$"RLMT%Value Then /This%#enerate$rrorM+>,G;K +,;,K S0aseRecord%LM_M!5_$"RLMTK TrueNQ $ndE(fQ 9L (ce DG+644,,,% !LL does not checH for ,% if the ma@ enrollment is and min enrollment value is anything greater than , then the belo' code thro's error L9 (f S0aseRecord%LM_M!5_$"RLMT%Value O , !nd S0aseRecord%LM_M("_$"RLMT%Value I S0aseRecord%LM_M!5_$"RLMT%Value Then /This%#enerate$rrorM+>,G;K +,;,K S0aseRecord%LM_M!5_$"RLMTK TrueNQ $ndE(fQ (f S0aseRecord%LM_RSRV_S$!T_M!5%Value I TruncateMMS0aseRecord%LM_M!5_$"RLMT%Value C MS0aseRecord%LM_M!5_$"RLMT%Value L S0aseRecord%LM_&V$R0&&-_P)T%Value 9 +,,NNK ,N Then /This%#enerate$rrorM+>,G;K +4;4K S0aseRecord%LM_RSRV_S$!T_M!5K TrueNQ $ndE(fQ (f S0aseRecord%LM_"2R)_M!5_$"RLMT%Value O P*P Then !f ?1a0eRecord8LM_RSR$_SE T_M ,8$alue F Truncate;?1a0eRecord8LM_M ,_ENRLMT8$alue 5 ;?1a0eRecord8LM_M ,_ENRLMT8$alue J ?1a0eRecord8LM_-$ER1--K_PCT8$alue I "22> 3 ?1a0eRecord8LM_ENRL_T-T8$alue 3 ?1a0eRecord8LM_RSR$_SE T_T-T8$alue< 2> Then M<I(E re)#lut%#" 890880=Be4%" R3<L rem I7 PBa)eRec#r$ELM_RSR _SEAT_MA0E alue L Tru"cateHPBa)eRec#r$ELM_MA0_ENRLMTE alue C HPBa)eRec#r$ELM_MA0_ENRLMTE alue < PBa)eRec#r$ELM_O ERBOO,_P(TE alue 6 100K = PBa)eRec#r$ELM_ENRL_TOTE alue = PBa)eRec#r$ELM_RSR _SEAT_TOTE alueJ 0K T/e"Q I7 PBa)eRec#r$ELM_RSR _SEAT_MA0E alue L Tru"cateHPBa)eRec#r$ELM_MA0_ENRLMTE alue C HPBa)eRec#r$ELM_MA0_ENRLMTE alue < PBa)eRec#r$ELM_O ERBOO,_P(TE alue 6 100K = PBa)eRec#r$ELM_ENRL_TOTE alueJ 0K T/e" M<I(E re)#lut%#" 890880=E"$ R3<L /This%#enerate$rrorM+>,G;K +,G,K S0aseRecord%LM_RSRV_S$!T_M!5K TrueNQ $ndE(fQ $ndE(fQ (f !llMS0aseRecord%LM_$"D_DT%ValueN !nd !llMS0aseRecord%LM_LR"_PD_D!*S%ValueN !nd MS0aseRecord%LM_$"D_DT%Value UI S0aseRecord%LM_$"D_DT%&riginalValue &r S0aseRecord%LM_LR"_PD_D!*S%Value UI S0aseRecord%LM_LR"_PD_D!*S%&riginalValueN Then /This%#enerate$rrorM+>,G;K +4<4K S0aseRecord%LM_$"D_DTK 2alseNQ $ndE(fQ

Local Ro'set Srs_L$Q Local array of number Sary_L$Q Srs_L$ O #etLevel,MNM+N%#etRo'setMScroll%LM_!)T_L$NQ Sary_L$ O )reate!rrayReptM,K ,NQ Local L$0L_!)T(V(T*8!ctivity Sob=_!ctivity O create L$0L_!)T(V(T*8!ctivityMNQ Local number ScQ 2or Sc O + To Srs_L$%!ctiveRo')ount Sary_L$%PushMSrs_L$%#etRo'MScN%LM_!)T_L$%LM_L$_(D%ValueNQ $ndE2orQ 9LL !uto create the activity code from the course code based on the counters table settings% L9 Local number Snbr_!ct)d"e@tSe.K Snbr_ne@t$@tQ Local Ro'set Srs_LM_)S_)&3"T$RQ Local string Sstr_)ourse)odeQ (f M/Mode O /!ction_!dd !nd /)omponent O PLM_!)TPN Then Srs_LM_)S_)&3"T$R O )reateRo'setMRecord%LM_)S_)&3"T$RNQ Srs_LM_)S_)&3"T$R%2illMNQ (f !llMSrs_LM_)S_)&3"T$RM+N%LM_)S_)&3"T$R%LM_)RS$_)D_!LP !%ValueN !nd MSrs_LM_)S_)&3"T$RM+N%LM_)S_)&3"T$R%LM_!)T_)D_!3T&%ValueN O P*P Then SQL$@ecMSQL%LM_#$T_)&3RS$_)&D$K S0aseRecord%LM_)(_(D%ValueK Sstr_)ourse)odeNQ SQL$@ecMSQL%LM_!)T_#$T_)(_)"TK S0aseRecord%LM_)(_(D%ValueK Snbr_!ct)d"e@tSe.NQ (f Snbr_!ct)d"e@tSe. I GGGF Then $rror MMsg#etTe@tM+>,G;K +;,>K PMessage not found%PNNQ $ndE(fQ 9L SS >><FD;8 #et the Ma@imum $@tension of !ctivity )ode in case of !uto #eneration L9 Local SQL S!ct)dQ Local string Sstr_)ourse)ode!ppendK S$@tensionQ Local number SLength)ourse)odeK SLength!ct)odeK SMa@"umK S)urr"umQ Local boolean S2lagQ SMa@"um O ,Q S!ct)d O )reateSQLMPSelect LM_!)T_)D from PS_LM_!)T 'here LM_!)T_)D liHe 1P R PP R Sstr_)ourse)ode R PE/1PK Sstr_)ourse)ode!ppendNQ 7hile S!ct)d%2etchMSstr_)ourse)ode!ppendN SLength)ourse)ode O LenMSstr_)ourse)odeNQ SLength!ct)ode O LenMSstr_)ourse)ode!ppendNQ S$@tension O SubstringMSstr_)ourse)ode!ppendK SLength)ourse)ode C ;K SLength!ct)odeNQ S2lag O (s"umberMS$@tensionNQ (f MS2lagN Then S)urr"um O ValueMS$@tensionNQ (f MS)urr"um IO SMa@"umN Then SMa@"um O S)urr"umQ $ndE(fQ $ndE(fQ $ndE7hileQ Snbr_!ct)d"e@tSe. O SMa@"umQ 9L $nd SS >><FD; L9 Sstr_)ourse)ode O SubstringMSstr_)ourse)odeK +K ;6NQ Snbr_!ct)d"e@tSe. O Snbr_!ct)d"e@tSe. C +Q S0aseRecord%LM_!)T_)D%Value O Sstr_)ourse)ode R PEP R Snbr_!ct)d"e@tSe.Q $ndE(fQ $ndE(fQ 9LL !uto create the activity code in the QuicH )reate !ctivity event% L9 Srs_LM_)S_)&3"T$R O )reateRo'setMRecord%LM_)S_)&3"T$RNQ Srs_LM_)S_)&3"T$R%2illMNQ (f /)omponent O PLM_)"T_TMPLP Then Srs_LM_)S_)&3"T$R O )reateRo'setMRecord%LM_)S_)&3"T$RNQ Srs_LM_)S_)&3"T$R%2illMNQ

(f !llMSrs_LM_)S_)&3"T$RM+N%LM_)S_)&3"T$R%LM_)RS$_)D_!LP !%ValueN !nd MSrs_LM_)S_)&3"T$RM+N%LM_)S_)&3"T$R%LM_!)T_)D_!3T&%ValueN O P*P Then SQL$@ecMSQL%LM_#$T_)&3RS$_)&D$K S0aseRecord%LM_)(_(D%ValueK Sstr_)ourse)odeNQ (f !llMSstr_)ourse)odeN Then SQL$@ecMSQL%LM_!)T_#$T_)(_)"TK S0aseRecord%LM_)(_(D%ValueK Snbr_!ct)d"e@tSe.NQ (f Snbr_!ct)d"e@tSe. I GGGF Then $rror MMsg#etTe@tM+>,G;K +;,>K PMessage not found%PNNQ $ndE(fQ Sstr_)ourse)ode O SubstringMSstr_)ourse)odeK +K ;6NQ Snbr_!ct)d"e@tSe. O Snbr_!ct)d"e@tSe. C +Q S0aseRecord%LM_!)T_)D%Value O Sstr_)ourse)ode R PEP R Snbr_!ct)d"e@tSe.Q $lse S0aseRecord%LM_!)T_)D%Value O Sstr_)ourse)ode R PEP R P+PQ $ndE(fQ $ndE(fQ $ndE(fQ 9LL Set the last 'aitlist enroll date to the derived date from the primary learning environment settings or to the start date 'hen $nable 7aitlist is selected in the QuicH )reate !ctivity event% L9 Local date Sdate_LM_7TLST_$"RL_DTQ Local number Snbr_L$_(DK Snbr_L$ro'K Snbr_LM_LST_7TLST_D!*SQ Local Ro'set Srs_L$defaultQ (f /)omponent O PLM_)"T_TMPLP Then (f S0aseRecord%LM_$"!0L$_7TLST%Value O P*P Then (f "oneMS0aseRecord%LM_7TLST_$"RL_DT%ValueN Then Srs_L$ O #etLevel,MNM+N%#etRo'setMScroll%LM_!)T_L$NQ 2or Snbr_L$ro' O + To Srs_L$%!ctiveRo')ount (f Srs_L$%#etRo'MSnbr_L$ro'N%LM_!)T_L$%LM_PRM_L$%Value O P*P Then Snbr_L$_(D O Srs_L$%#etRo'MSnbr_L$ro'N%LM_!)T_L$%LM_L$_(D%ValueQ Snbr_L$ro' O Srs_L$%!ctiveRo')ountQ $ndE(fQ $ndE2orQ (f Snbr_L$_(D UI , Then Srs_L$default O )reateRo'setMRecord%LM_L$_D2LT_T0LNQ Srs_L$default%2illMP7 $R$ LM_L$_(D O 8+PK Snbr_L$_(DNQ (f Srs_L$defaultM+N%#etRecordMRecord%LM_L$_D2LT_T0LN%#et2ieldM2ield%LM_LST_7TLST_D!*S N%Value UI , Then Snbr_LM_LST_7TLST_D!*S O Srs_L$defaultM+N%#etRecordMRecord%LM_L$_D2LT_T0LN%#et2ieldM2ield%LM_LST_7TLST_D!*S N%ValueQ (f Srs_L$defaultM+N%#etRecordMRecord%LM_L$_D2LT_T0LN%#et2ieldM2ield%LM_LST_7TLST_T*P$ N%Value O + Then Sdate_LM_7TLST_$"RL_DT O !ddToDateMS0aseRecord%LM_ST!RT_DT%ValueK ,K ,K E Snbr_LM_LST_7TLST_D!*SNQ S0aseRecord%LM_7TLST_$"RL_DT%Value O Sdate_LM_7TLST_$"RL_DTQ $lse Sdate_LM_7TLST_$"RL_DT O !ddToDateMS0aseRecord%LM_ST!RT_DT%ValueK ,K ,K Snbr_LM_LST_7TLST_D!*SNQ S0aseRecord%LM_7TLST_$"RL_DT%Value O Sdate_LM_7TLST_$"RL_DTQ $ndE(fQ $ndE(fQ $ndE(fQ (f "oneMS0aseRecord%LM_7TLST_$"RL_DT%ValueN Then S0aseRecord%LM_7TLST_$"RL_DT%Value O S0aseRecord%LM_ST!RT_DT%ValueQ $ndE(fQ $ndE(fQ $ndE(fQ $ndE(fQ

Local string Sstr_!ct)d&ption O Sob=_!ctivity%#et!ct)d&ptionMNQ Local boolean Sbol_3ni.ue O Sob=_!ctivity%)hecH3ni.ue!ct)odeMSstr_!ct)d&ptionK S0aseRecord%LM_!)T_(D%ValueK S0aseRecord%LM_!)T_)D%ValueK Sary_L$NQ (f "ot Sbol_3ni.ue Then $valuate Sstr_!ct)d&ption 7hen P!P 9LL !llo' duplicate !ctivity )ode LL9 /This%#enerate$rrorM+>,G;K ++66K S0aseRecord%LM_!)T_)DK 2alseNQ 0reaHQ 7hen PRP 9LL Restrict duplicate !ctivity )ode LL9 /This%#enerate$rrorM+>,G;K ++64K S0aseRecord%LM_!)T_)DK TrueNQ 0reaHQ 7hen PLP 9LL Restricted by L$K the !ctivity )ode and L$ combination must be uni.ue% LL9 /This%#enerate$rrorM+>,G;K ++6<K S0aseRecord%LM_!)T_)DK TrueNQ $ndE$valuateQ $ndE(fQ Local number S@Q Local Ro'set Slc_rs O S0aseRecord%ParentRo'%#etRo'setMScroll%LM_L)_)MPL_V7NQ 2or S@ O + To Slc_rs%!ctiveRo')ount Local string Sstr_previousScore O Slc_rsMS@N%LM_L)_)MPL_V7%LM_S)&R$%&riginalValueQ (f "ot (s"umberMSlc_rsMS@N%LM_L)_)MPL_V7%LM_S)&R$%ValueN Then /This%#enerate$rrorM+>,G;K +D,DK Slc_rsMS@N%LM_L)_)MPL_V7%LM_S)&R$K TrueNQ $ndE(fQ $ndE2orQ 9LResolutionE >4;,<+ start code changesL9 Local Ro'set Slc_rv O S0aseRecord%ParentRo'%#etRo'setMScroll%LM_L)_R&3T$_V7NQ (f Slc_rv%!ctiveRo')ount I , !nd "ot MSlc_rv%!ctiveRo')ount O + !nd Slc_rvM+N%LM_L)_R&3T$_V7%LM_L)_L&"#_"M%Value O PPN Then /This%(nitialiTeLearning)omponent#ridMNQ (f Snbr_L)Re.d)ount O , Then Slc_rsM+N%LM_L)_)MPL_V7%LM_R$QD_2L!#%Set)ursorPosMVMPPage%P R /PageNNQ $rror Msg#etM+>,G;K +,;6K PPNQ $ndE(fQ $ndE(fQ 9LResolutionE >4;,<+ end code changesL9 Local L$0L_)&MPL$T(&"8!ctivity)ompletion Sob=_)omplnQ Local Ro'set Srs_)mplQ Local number S("DQ Srs_)mpl O #etLevel,MNM+N%#etRo'setMScroll%LM_L)_)MPL_V7NQ Sob=_)ompln O create L$0L_)&MPL$T(&"8!ctivity)ompletionMNQ S("D O Sob=_)ompln%checHDuplicateMSrs_)mplNQ (f S("D I , Then /This%#enerate$rrorM+>,>DK FK Slc_rsMS@N%LM_L)_)MPL_V7%LM_S)&R$K TrueNQ $ndE(fQ 9LL Validate Learner #roups LL9 Local boolean Sbol_Learner#roupsValidQ Sbol_Learner#roupsValid O /This%validateLearner#roupsMNQ (f Sbol_Learner#roupsValid O 2alse Then /This%#enerate$rrorM+>,>DK ;6;K S0aseRecord%LM_!)T_)DK TrueNQ $ndE(fQ 9LL Set the Quantity value based on the !utoE3pdate &ption value chosen% Local number Sro'_nbrQ Local Ro'set Srs_!D )_)ostQ (f /)omponent O PLM_!)TP Then Srs_!D )_)ost O #etLevel,MNM+N%#etRo'setMScroll%LM_!D )_)&ST_V7NQ 2or Sro'_nbr O + To Srs_!D )_)ost%!ctiveRo')ount (f Srs_!D )_)ostMSro'_nbrN%LM_!D )_)&ST_V7%LM_)&ST_!3T&_3PD%Value O P,+P Then Srs_!D )_)ostMSro'_nbrN%LM_!D )_)&ST_V7%LM_)&ST_QT*%$nabled O TrueQ

L9

$ndE(fQ (f Srs_!D )_)ostMSro'_nbrN%LM_!D )_)&ST_V7%LM_)&ST_!3T&_3PD%Value O P,;P Then Srs_!D )_)ostMSro'_nbrN%LM_!D )_)&ST_V7%LM_)&ST_QT*%Value O S0aseRecord%LM_M!5_$"RLMT%ValueQ Srs_!D )_)ostMSro'_nbrN%LM_!D )_)&ST_V7%LM_)&ST_QT*%$nabled O 2alseQ $ndE(fQ (f Srs_!D )_)ostMSro'_nbrN%LM_!D )_)&ST_V7%LM_)&ST_!3T&_3PD%Value O P,4P Then Srs_!D )_)ostMSro'_nbrN%LM_!D )_)&ST_V7%LM_)&ST_QT*%Value O S0aseRecord%LM_$"RL_T&T%ValueQ Srs_!D )_)ostMSro'_nbrN%LM_!D )_)&ST_V7%LM_)&ST_QT*%$nabled O 2alseQ $ndE(fQ (f Srs_!D )_)ostMSro'_nbrN%LM_!D )_)&ST_V7%LM_)&ST_!3T&_3PD%Value O P,<P Then (f S0aseRecord%LM_$"RL_T&T%Value IO S0aseRecord%LM_M("_$"RLMT%Value Then Srs_!D )_)ostMSro'_nbrN%LM_!D )_)&ST_V7%LM_)&ST_QT*%Value O S0aseRecord%LM_$"RL_T&T%ValueQ $lse Srs_!D )_)ostMSro'_nbrN%LM_!D )_)&ST_V7%LM_)&ST_QT*%Value O S0aseRecord%LM_M("_$"RLMT%ValueQ $ndE(fQ Srs_!D )_)ostMSro'_nbrN%LM_!D )_)&ST_V7%LM_)&ST_QT*%$nabled O 2alseQ $ndE(fQ $ndE2orQ $ndE(fQ endEmethodQ

method #enerate$rror 9C SmessageSet as "umberK C9 9C Smessage(d as "umberK C9 9C Sfield as 2ieldK C9 9C Sis$rror as 0oolean C9 Local LM_TMPL_2R!M$7&R-8Data8Validate2ieldData SvfdQ (f STemplate(d I , Then Svfd O create LM_TMPL_2R!M$7&R-8Data8Validate2ieldDataMNQ Svfd%Populate2rom2ieldMSfieldK STemplate(dNQ Svfd%)ustom$rror O Msg#etTe@tMSmessageSetK Smessage(dK PPNQ Svfd%is$rror O Sis$rrorQ S$rrors%PushMSvfdNQ $lse (f Sis$rror Then $rror MMsg#etMSmessageSetK Smessage(dK PPNNQ $lse 7arning MMsg#etMSmessageSetK Smessage(dK PPNNQ $ndE(fQ $ndE(fQ endEmethodQ

method )ancel!ctivity (f S0aseRecord%LM_!)T_ST!T3S%Value O ; !nd S0aseRecord%LM_!)T_ST!T3S%(s)hanged O True Then Local number Snbr_act(DQ Local boolean Sbol_canceledQ Local L$$_$"R&LLM$"T8L$$_M!"!#$_$"RLMT SL$$_M!"!#$_$"RLMT O create L$$_$"R&LLM$"T8L$$_M!"!#$_$"RLMTMNQ Local SQL Ss.l&b=Q Local number Snbr_l)ancel)ountQ Local boolean Sbol_lReturnValueQ Local L$)S_)&MM&"8Defaults Scntr O create L$)S_)&MM&"8DefaultsM,NQ Local number Sma@noQ Local Record Srec_lDrop$nrlmts!$Q Local ProcessRe.uest SRQSTQ Snbr_act(D O S0aseRecord%LM_!)T_(D%ValueQ Ss.l&b= O #etSQLMSQL%LM_$"RMTS_)!")_)&3"TK Snbr_act(DNQ

Sbol_lReturnValue O Ss.l&b=%2etchMSnbr_l)ancel)ountNQ Sma@no O Scntr%LM_$"RL_#RP_M!5Q (f MSnbr_l)ancel)ount I Sma@noN Then Srec_lDrop$nrlmts!$ O )reateRecordMRecord%LM_DP_$"RS_R)TLNQ Srec_lDrop$nrlmts!$%&PR(D%Value O /3ser(dQ Srec_lDrop$nrlmts!$%R3"_)"TL_(D%Value O S0aseRecord%LM_!)T_(D%Value R P_P R /DatetimeQ Srec_lDrop$nrlmts!$%LM_!)T_(D%Value O S0aseRecord%LM_!)T_(D%ValueQ Srec_lDrop$nrlmts!$%LM_DR&P_$"RLS_M&D$%Value O P,;PQ Srec_lDrop$nrlmts!$%(nsertMNQ SRQST O )reateProcessRe.uestMNQ SRQST%Run)ontrol(D O Srec_lDrop$nrlmts!$%R3"_)"TL_(D%ValueQ SRQST%RunLocation O PServerPQ SRQST%Process"ame O PLM_DR&P_$"RSPQ SRQST%ProcessType O P!pplication $nginePQ SRQST%ScheduleMNQ Message0o@M/MsgStyle_&-K PPK ,K ,K Msg#et$@plainTe@tM+>,>GK +D,>K PPK Snbr_l)ancel)ountK Sma@noK SRQST%Process(nstanceNK PPNQ $lse Sbol_canceled O SL$$_M!"!#$_$"RLMT%)ancel!ll$nrollmentsMSnbr_act(DNQ (f M "ot Sbol_canceledN Then $rror SL$$_M!"!#$_$"RLMT%get$rrorMessageMNQ $ndE(fQ 9L3pdate $nrollment TotalL9 S0aseRecord%LM_$"RL_T&T%Value O SL$$_M!"!#$_$"RLMT%getTotal$nrlmtMNQ 9L3pdate 7aitlist TotalL9 S0aseRecord%LM_7TLST_T&T%Value O SL$$_M!"!#$_$"RLMT%getTotal7tlstMNQ 9L 3pdate Reserve Seat Pending L9 S0aseRecord%LM_RSRV_S$!T_T&T%Value O SL$$_M!"!#$_$"RLMT%getRsrvSeatPendingMNQ $ndE(fQ $ndE(fQ endEmethodQ

method 3pdateTotal$nrollment 9L 3pdate Total &pen enrollmentL9 (f S0aseRecord%LM_"2R)_M!5_$"RLMT%Value O P*P Then LM_RM_!)T_7R-%LM_&P$"_$"RLMT%Value O TruncateMS0aseRecord%LM_M!5_$"RLMT%Value C MValueMS0aseRecord%LM_M!5_$"RLMT%ValueN L ValueMS0aseRecord%LM_&V$R0&&-_P)T%ValueN 9 +,,N E MValueMS0aseRecord%LM_RSRV_S$!T_M!5%ValueN C ValueMS0aseRecord%LM_RSRV_S$!T_T&T%ValueN C ValueMS0aseRecord%LM_$"RL_T&T%ValueNNK ,NQ 9L()$ resolution >FDD6; R# 0eginL9 (f LM_RM_!)T_7R-%LM_&P$"_$"RLMT%Value U , Then LM_RM_!)T_7R-%LM_&P$"_$"RLMT%Value O ,Q $ndE(fQ 9L()$ resolution >FDD6; R# $ndL9 $lse LM_RM_!)T_7R-%LM_&P$"_$"RLMT%Value O PEEPQ $ndE(fQ endEmethodQ

method $nrollment(mpact 9C Sis"e' as 0oolean C9 Local number Sp&ldMa@$nrollmentQ Local number Sp"e'Ma@$nrollmentQ Local boolean Sp&ld$nforceMa@$nrollmentQ Local boolean Sp"e'$nforceMa@$nrollmentQ Local number Sp&ldMa@7aitlistQ Local number Sp"e'Ma@7aitlistQ Local boolean Sp&ld$nforceMa@7aitlistQ Local boolean Sp"e'$nforceMa@7aitlistQ Local boolean Sp&ldMgr!pprovalRe.uiredQ Local boolean Sp"e'Mgr!pprovalRe.uiredQ

Local boolean Sp&ld(nt!dmin!pprovalRe.uiredQ Local boolean Sp"e'(nt!dmin!pprovalRe.uiredQ Local boolean Sp&ld$@t!dmin!pprovalRe.uiredQ Local boolean Sp"e'$@t!dmin!pprovalRe.uiredQ Local boolean Sp$nforceLearningPeriodQ Local number SpLearningPeriodQ Local number SpTotal$nrollmentQ Local number SpTotal7aitlistedQ Local number Sp!ct(dQ Local date SpStartDtQ Local date Sp$ndDtQ Local number Snbr_enrlTotQ Local number Snbr_'tlstTotQ Local boolean Sbol_$nrollments(mpactedQ Local boolean Sbol_enrol3pdateQ Local L$$_$"R&LLM$"T8L$$_M!"!#$_$"RLMT SL$$_M!"!#$_$"RLMT O create L$$_$"R&LLM$"T8L$$_M!"!#$_$"RLMTMNQ Local L$$_$"R&LLM$"T8L$$_!)T_0$!" SL$$_!)T_0$!" O create L$$_$"R&LLM$"T8L$$_!)T_0$!"MNQ Sbol_$nrollments(mpacted O SL$$_M!"!#$_$"RLMT%checH)lass!vailability2or$nrollmentsMS0aseRecord%LM_!)T_ST!T3S% ValueK S0aseRecord%LM_LST_$"RL_D!*S%ValueK S0aseRecord%LM_LST_$"RL_T*P$%ValueK S0aseRecord%LM_LST_$"RL_DT%ValueK S0aseRecord%LM_LST_$"RL_ST!RT%ValueK S0aseRecord%LM_ST!RT_DT%ValueK S0aseRecord%LM_$"D_DT%ValueNQ 9LL L !ctivity )hanges (mpacting $nrollment LL9 (f S0aseRecord%(s)hanged !nd "ot Sis"e' !nd Sbol_$nrollments(mpacted Then 9LMa@ $nrollment E &riginalL9 Sp&ldMa@$nrollment O S0aseRecord%LM_M!5_$"RLMT%&riginalValueQ SL$$_!)T_0$!"%set&ldMa@$nrollmentMSp&ldMa@$nrollmentNQ 9LMa@ $nrollment E "o'L9 Sp"e'Ma@$nrollment O S0aseRecord%LM_M!5_$"RLMT%ValueQ SL$$_!)T_0$!"%set"e'Ma@$nrollmentMSp"e'Ma@$nrollmentNQ 9L$nforce Ma@ $nrollment E &riginalL9 (f S0aseRecord%LM_"2R)_M!5_$"RLMT%&riginalValue O P*P Then Sp&ld$nforceMa@$nrollment O TrueQ $ndE(fQ SL$$_!)T_0$!"%set&ld$nforceMa@$nrollmentMSp&ld$nforceMa@$nrollmentNQ 9L$nforce Ma@ $nrollment E "o'L9 (f S0aseRecord%LM_"2R)_M!5_$"RLMT%Value O P*P Then Sp"e'$nforceMa@$nrollment O TrueQ $ndE(fQ SL$$_!)T_0$!"%set"e'$nforceMa@$nrollmentMSp"e'$nforceMa@$nrollmentNQ 9LMa@ 7aitlist E &riginalL9 Sp&ldMa@7aitlist O S0aseRecord%LM_7TLST_)!P%&riginalValueQ SL$$_!)T_0$!"%set&ldMa@7aitlistMSp&ldMa@7aitlistNQ 9LMa@ 7aitlist E "o'L9 Sp"e'Ma@7aitlist O S0aseRecord%LM_7TLST_)!P%ValueQ SL$$_!)T_0$!"%set"e'Ma@7aitlistMSp"e'Ma@7aitlistNQ 9L$nable 7aitlist E &riginalL9 (f S0aseRecord%LM_$"!0L$_7TLST%&riginalValue O P*P Then Sp&ld$nforceMa@7aitlist O TrueQ $ndE(fQ SL$$_!)T_0$!"%set&ld$nforceMa@7aitlistMSp&ld$nforceMa@7aitlistNQ 9L$nable 7aitlist E "o'L9 (f S0aseRecord%LM_$"!0L$_7TLST%Value O P*P Then Sp"e'$nforceMa@7aitlist O TrueQ $ndE(fQ SL$$_!)T_0$!"%set"e'$nforceMa@7aitlistMSp"e'$nforceMa@7aitlistNQ 9LManager !pproval Re.uired M$$N E &riginalL9 (f S0aseRecord%LM_!PRVL_T*P$_R$Q%&riginalValue O P;,P Then Sp&ldMgr!pprovalRe.uired O TrueQ $ndE(fQ SL$$_!)T_0$!"%set&ldMgr!pprovalRe.uiredMSp&ldMgr!pprovalRe.uiredNQ 9LManager !pproval Re.uired M$$N E "o'L9 (f S0aseRecord%LM_!PRVL_T*P$_R$Q%Value O P;,P Then Sp"e'Mgr!pprovalRe.uired O TrueQ

$ndE(fQ SL$$_!)T_0$!"%set"e'Mgr!pprovalRe.uiredMSp"e'Mgr!pprovalRe.uiredNQ 9L!dmin !pproval Re.uired M$$N E &riginalL9 (f S0aseRecord%LM_!PRVL_T*P$_R$Q%&riginalValue O P<,P Then Sp&ld(nt!dmin!pprovalRe.uired O TrueQ $ndE(fQ SL$$_!)T_0$!"%set&ld(nt!dmin!pprovalRe.uiredMSp&ld(nt!dmin!pprovalRe.uiredNQ 9L!dmin !pproval Re.uired M$$N E "o'L9 (f S0aseRecord%LM_!PRVL_T*P$_R$Q%Value O P<,P Then Sp"e'(nt!dmin!pprovalRe.uired O TrueQ $ndE(fQ SL$$_!)T_0$!"%set"e'(nt!dmin!pprovalRe.uiredMSp"e'(nt!dmin!pprovalRe.uiredNQ 9L!dmin !pproval Re.uired M$@ternalN E &riginalL9 (f S0aseRecord%LM_!PRVL_R$Q_$5T%&riginalValue O P<,P Then Sp&ld$@t!dmin!pprovalRe.uired O TrueQ $ndE(fQ SL$$_!)T_0$!"%set&ld$@t!dmin!pprovalRe.uiredMSp&ld$@t!dmin!pprovalRe.uiredNQ 9L!dmin !pproval Re.uired M$@ternalN E "o'L9 (f S0aseRecord%LM_!PRVL_R$Q_$5T%Value O P<,P Then Sp"e'$@t!dmin!pprovalRe.uired O TrueQ $ndE(fQ SL$$_!)T_0$!"%set"e'$@t!dmin!pprovalRe.uiredMSp"e'$@t!dmin!pprovalRe.uiredNQ 9LLearning Period E "o'L9 SpLearningPeriod O S0aseRecord%LM_LR"_PD_D!*S%ValueQ SL$$_!)T_0$!"%setLearningPeriodMSpLearningPeriodNQ 9LTotal $nrollment E "o'L9 SpTotal$nrollment O S0aseRecord%LM_$"RL_T&T%ValueQ SL$$_!)T_0$!"%setTotal$nrollmentMSpTotal$nrollmentNQ 9LTotal 7aitlisted E "o'L9 SpTotal7aitlisted O S0aseRecord%LM_7TLST_T&T%ValueQ SL$$_!)T_0$!"%setTotal7aitlistedMSpTotal7aitlistedNQ 9L!ctivity (dE "o'L9 Sp!ct(d O S0aseRecord%LM_!)T_(D%ValueQ SL$$_!)T_0$!"%set!ct(dMSp!ct(dNQ 9LStart Date E "o'L9 SpStartDt O S0aseRecord%LM_ST!RT_DT%ValueQ SL$$_!)T_0$!"%setStartDtMSpStartDtNQ 9L$nd Date E "o'L9 Sp$ndDt O S0aseRecord%LM_$"D_DT%ValueQ SL$$_!)T_0$!"%set$ndDtMSp$ndDtNQ 9L3pdate Ma@ Reserved Seating on !ctivityL9 SL$$_!)T_0$!"%set&ldRsrvSeatMa@MS0aseRecord%LM_RSRV_S$!T_M!5%&riginalValueNQ SL$$_!)T_0$!"%set"e'RsrvSeatMa@MS0aseRecord%LM_RSRV_S$!T_M!5%ValueNQ 9L 3pdate Seat Reserved TotalL9 SL$$_!)T_0$!"%setRsrvSeatTotMS0aseRecord%LM_RSRV_S$!T_T&T%ValueNQ 9L3pdate $nrollmentL9 Sbol_enrol3pdate O SL$$_M!"!#$_$"RLMT%manage$nrollmentsMSL$$_!)T_0$!"NQ 9L3pdate $nrollment Total on !ctivityL9 Snbr_enrlTot O SL$$_M!"!#$_$"RLMT%getTotal$nrlmtMNQ S0aseRecord%LM_$"RL_T&T%Value O Snbr_enrlTotQ 9L3pdate 7aitlist Total on !ctivityL9 Snbr_'tlstTot O SL$$_M!"!#$_$"RLMT%getTotal7tlstMNQ S0aseRecord%LM_7TLST_T&T%Value O Snbr_'tlstTotQ 9L 3pdate Reserve Seat Pending L9 S0aseRecord%LM_RSRV_S$!T_T&T%Value O SL$$_M!"!#$_$"RLMT%getRsrvSeatPendingMNQ $ndE(fQ endEmethodQ

method LM_!)T_!T) _SavePre)hange 9L Default attachment description to userfilename if blanH L9 (f "oneMLM_!)T_!T) %LM_!T) %ValueN !nd !llMLM_!)T_!T) %!TT!) 3S$R2(L$%ValueN Then LM_!)T_!T) %LM_!T) %Value O LM_!)T_!T) %!TT!) 3S$R2(L$%ValueQ $ndE(fQ endEmethodQ

method LM_!)T_STTS_)MT_SavePre)hange Local number S)mnts_Ro'sK SLM_!)T_(DK SnMa@)ntQ Local Ro'set SRS_!ctK SRS_)mntsQ Local SQL Ss.l)ountQ SRS_!ct O #etLevel,MNQ SRS_)mnts O SRS_!ct%#etRo'M+N%#etRo'setMScroll%LM_!)T_STTS_)MTNQ SLM_!)T_(D O SRS_!ct%#etRo'M+N%#etRecordMRecord%LM_!)TN%#et2ieldM2ield%LM_!)T_(DN%ValueQ Ss.l)ount O #etSQLMSQL%LM_!)T_STTS_)MT_S$QK SLM_!)T_(DNQ (f Ss.l)ount%2etchMSnMa@)ntN Then $ndE(fQ Ss.l)ount%)loseMNQ (f SnMa@)nt U , Then SnMa@)nt O ,Q $ndE(fQ 2or S)mnts_Ro's O + To SRS_)mnts%!ctiveRo')ount (f SRS_)mnts%#etRo'MS)mnts_Ro'sN%#etRecordMRecord%LM_!)T_STTS_)MTN%#et2ieldM2ield%LM_ )M"TS_"0RN%Value O , &r SRS_)mnts%#etRo'MS)mnts_Ro'sN%#etRecordMRecord%LM_!)T_STTS_)MTN%#et2ieldM2ield%LM_ )M"TS_"0RN%Value O GGGGGGGG Then SnMa@)nt O SnMa@)nt C +Q SRS_)mntsMS)mnts_Ro'sN%LM_!)T_STTS_)MT%#et2ieldM2ield%LM_)M"TS_"0RN%Value O SnMa@)ntQ $ndE(fQ $ndE2orQ endEmethodQ

method LM_!D )_)&ST_V7_Ro'Delete S!ctivity!d oc)ost)ontroller%clearRo'M#etRo'MNNQ endEmethodQ

method LM_!D )_)&ST_V7_Ro'(nit /This%!dhocRo'(nitM#etRo'MNNQ endEmethodQ

method !dhocRo'(nit 9C Sro' as Ro' C9 S!ctivity!d oc)ost)ontroller%bindRo'MSro'NQ Scurrent!d oc)ostRo' O Sro'Q (f Scurrent!d oc)ostRo'%LM_!D )_)&ST_V7%LM_L("$_T*P$%Value O P;P Then Scurrent!d oc)ostRo'%LM_!D )_)&ST_V7%LM_)&ST_)T#R*%Value O P,6PQ Scurrent!d oc)ostRo'%LM_!D )_)&ST_V7%LM_)&ST_)T#R*%$nabled O 2alseQ $lse Scurrent!d oc)ostRo'%LM_!D )_)&ST_V7%LM_)&ST_)T#R*%$nabled O TrueQ $ndE(fQ /This%LM_!D )_)&ST_V7_LM_)&ST_)T#R*_DisplayMNQ (f Scurrent!d oc)ostRo'%LM_!D )_)&ST_V7%LM_)&ST_T*P$%Value O P,<P Then Scurrent!d oc)ostRo'%LM_!D )_)&ST_V7%LM_)&ST_QT*%$nabled O 2alseQ $lse Scurrent!d oc)ostRo'%LM_!D )_)&ST_V7%LM_)&ST_QT*%$nabled O TrueQ $ndE(fQ (f Scurrent!d oc)ostRo'%LM_!D )_)&ST_V7%LM_)&ST_)T#R*%Value O P,6P &r Scurrent!d oc)ostRo'%LM_!D )_)&ST_V7%LM_)&ST_)T#R*%Value O P,DP Then Scurrent!d oc)ostRo'%LM_!D )_)&ST_V7%LM_) !R#$!0L$_S7%Visible O 2alseQ Scurrent!d oc)ostRo'%LM_RM_7R-%LM_S$)_P!#$;_L("-%Visible O 2alseQ Scurrent!d oc)ostRo'%LM_!)T_7R-%LM_PR&MPT_SR) _0T"%Visible O 2alseQ $lse Scurrent!d oc)ostRo'%LM_!D )_)&ST_V7%LM_) !R#$!0L$_S7%Visible O TrueQ Scurrent!d oc)ostRo'%LM_RM_7R-%LM_S$)_P!#$;_L("-%Visible O TrueQ

Scurrent!d oc)ostRo'%LM_!)T_7R-%LM_PR&MPT_SR) _0T"%Visible O TrueQ $ndE(fQ 9LL (nitialiTe !utoE3pdate &ption and Quantity fields% L9 (f Scurrent!d oc)ostRo'%LM_!D )_)&ST_V7%LM_)&ST_T*P$%Value O P,6P Then Scurrent!d oc)ostRo'%LM_!D )_)&ST_V7%LM_)&ST_!3T&_3PD%$nabled O TrueQ (f LM_!D )_)&ST_V7%LM_)&ST_!3T&_3PD%Value O P,+P Then Scurrent!d oc)ostRo'%LM_!D )_)&ST_V7%LM_)&ST_QT*%$nabled O TrueQ $lse Scurrent!d oc)ostRo'%LM_!D )_)&ST_V7%LM_)&ST_QT*%$nabled O 2alseQ $ndE(fQ $lse Scurrent!d oc)ostRo'%LM_!D )_)&ST_V7%LM_)&ST_!3T&_3PD%$nabled O 2alseQ $ndE(fQ endEmethodQ

method LM_L)_)MPL_V7_Ro'(nit (f MLM_L)_)MPL_V7%LM_0!S_L)_T*P$%Value O <,N Then LM_L)_)MPL_V7%LM_P!SS_R$QD%Visible O 2alseQ LM_L)_)MPL_V7%LM_S)&R$%Visible O 2alseQ $ndE(fQ Local L$0L_3T(L(T($S83tility Sob=_3til O create L$0L_3T(L(T($S83tilityMNQ Local string Sstr_DurnQ (f Snbr_L)DurnDays O , !nd Snbr_L)Durn rs O , !nd Snbr_L)DurnMins O , Then Sstr_Durn O Sob=_3til%getDuration2mtMLM_L)_)MPL_V7%LM_D3R"_D!*S%ValueK LM_L)_)MPL_V7%LM_D3R"_ RS%ValueK LM_L)_)MPL_V7%LM_D3R"_M("S%ValueNQ LM_L)_D3R"_7R-%LM_D3R!T(&"%Label O Sstr_DurnQ LM_L)_D3R"_7R-%LM_D3R!T(&"%Value O Sstr_DurnQ $ndE(fQ endEmethodQ

method LM_L)_)MPL_V7_SavePre)hange Local L$0L_)&MPL$T(&"8!ctivity)ompletion Sob=_)omplnQ Local Ro'set Srs_)mplQ (f #etRecordMN%(s)hanged Then Srs_)mpl O #etLevel,MNM+N%#etRo'setMScroll%LM_L)_)MPL_V7NQ Sob=_)ompln O create L$0L_)&MPL$T(&"8!ctivity)ompletionMNQ Sob=_)ompln%3pdateL)RoutesM#etRecordMNNQ $ndE(fQ endEmethodQ

method LM_R$QD_2L!#_2ield)hange 9LResolutionE >4;,<+ removed condition belo'L9 rem (f LM_L)_)MPL_V7%LM_R$QD_2L!#%&riginalValue O P*P Q (f LM_L)_)MPL_V7%LM_R$QD_2L!#%Value O P"P !nd Snbr_L)Re.d)ount UO + Then 9LResolutionE >4;,<+ commented code line belo'L9 rem LM_L)_)MPL_V7%LM_R$QD_2L!#%Value O P*PQ 9LResolutionE >4;,<+ start code changesL9 Snbr_L)Re.d)ount O ,Q LM_L)_)MPL_V7%LM_P!SS_R$QD%Value O P"PQ 9LResolutionE >4;,<+ end code changesL9 $rror Msg#etM+>,G;K +,;6K PPNQ $ndE(fQ (f LM_L)_)MPL_V7%LM_R$QD_2L!#%Value O P*P Then Snbr_L)Re.d)ount O Snbr_L)Re.d)ount C +Q LM_L)_)MPL_V7%LM_P!SS_R$QD%Value O P*PQ $lse Snbr_L)Re.d)ount O Snbr_L)Re.d)ount E +Q

LM_L)_)MPL_V7%LM_P!SS_R$QD%Value O P"PQ $ndE(fQ 9LL L3pdate the hashtable L9 Shsh_Re.&pt ash%PutMStringMLM_L)_)MPL_V7%LM_L)_(DNK LM_L)_)MPL_V7%LM_R$QD_2L!#%ValueNQ endEmethodQ

method LM_D3R!T(&"_2ield)hange Local number Snbr_retValQ Local Ro' Sro'_Local O #etRo'MNQ Snbr_L)DurnDays O Sro'_Local%LM_L)_)MPL_V7%LM_D3R"_D!*S%ValueQ Snbr_L)Durn rs O Sro'_Local%LM_L)_)MPL_V7%LM_D3R"_ RS%ValueQ Snbr_L)DurnMins O Sro'_Local%LM_L)_)MPL_V7%LM_D3R"_M("S%ValueQ Sro'_Local%LM_L)_D3R"_7R-;%LM_L)_L&"#_"M%Value O Sro'_Local%LM_L)_)MPL_V7%LM_L)_L&"#_"M%ValueQ Sro'_Local%LM_L)_D3R"_7R-;%LM_D3R"_D!*S%Value O Snbr_L)DurnDaysQ Sro'_Local%LM_L)_D3R"_7R-;%LM_D3R"_ RS%Value O Snbr_L)Durn rsQ Sro'_Local%LM_L)_D3R"_7R-;%LM_D3R"_M("S%Value O Snbr_L)DurnMinsQ Snbr_retVal O DoModalMPage%LM_L)_D3R!T(&"K PPK E +K E +NQ Local L$0L_3T(L(T($S83tility Sob=_3til O create L$0L_3T(L(T($S83tilityMNQ Local string Sstr_DurnQ (f Snbr_L)DurnDays O , !nd Snbr_L)Durn rs O , !nd Snbr_L)DurnMins O , Then Sstr_Durn O Sro'_Local%LM_L)_D3R"_7R-%LM_D3R!T(&"%LabelQ $lse Sstr_Durn O Sob=_3til%getDuration2mtMSnbr_L)DurnDaysK Snbr_L)Durn rsK Snbr_L)DurnMinsNQ $ndE(fQ Sro'_Local%LM_L)_)MPL_V7%LM_D3R"_D!*S%Value O Snbr_L)DurnDaysQ Sro'_Local%LM_L)_)MPL_V7%LM_D3R"_ RS%Value O Snbr_L)Durn rsQ Sro'_Local%LM_L)_)MPL_V7%LM_D3R"_M("S%Value O Snbr_L)DurnMinsQ Sro'_Local%LM_L)_D3R"_7R-%LM_D3R!T(&"%Label O Sstr_DurnQ Sro'_Local%LM_L)_D3R"_7R-%LM_D3R!T(&"%Value O Sstr_DurnQ endEmethodQ

method )losePageLM_L)_D3R!T(&" 9C Sis&- as 0oolean C9 (f MSis&-N Then Snbr_L)DurnDays O LM_L)_D3R"_7R-;%LM_D3R"_D!*S%ValueQ Snbr_L)Durn rs O LM_L)_D3R"_7R-;%LM_D3R"_ RS%ValueQ Snbr_L)DurnMins O LM_L)_D3R"_7R-;%LM_D3R"_M("S%ValueQ $ndE(fQ $ndModalM,NQ endEmethodQ

method LM_L)_T*P$_V7_Ro'(nit #etRo'MN%LM_L)_T*P$_V7%LM_L)_T*P$_L&"#%Label O LM_L)_T*P$_V7%LM_L)_T*P$_L&"#%ValueQ endEmethodQ method LM_L)_Ro'Delete 9L There must be at least one re.uired Learning )omponent if the activity is !)T(V$% L9 Local L$RM_L$8MaintainL$ SMaintainL$ O create L$RM_L$8MaintainL$MNQ SMaintainL$%Template(D O STemplate(dQ SMaintainL$%ValidateL$MPLM_!)T_L$PK PPNQ S$rrors O SMaintainL$%$rrorsQ Local Ro'set SrsLM_L) O /This%0aseRecord%ParentRo'%#etRo'setMScroll%LM_L)NQ

Local Record SrecLM_L) O SrsLM_L)M)urrentRo'"umberM+NN%LM_L)Q (f SrsLM_L)%!ctiveRo')ount O + Then (f Snbr_L)Re.d)ount UO + Then rem /This%#enerate$rrorM+>,G;K +,;6K /This%0aseRecord%ParentRo'%#etRo'setMScroll%LM_L)NM+N%LM_L)%LM_L)_L&"#_"MK TrueNQ $rror Msg#etM+>,G;K +,;6K PPNQ ReturnQ $ndE(fQ $ndE(fQ 9L 0efore proceed proceeding 'ith the deleteK get the corresponing Learning )omponent Routes Vie' because the method to delete Learning )omponents starts on this record%L9 Local Ro'set SrsLM_L)_R&3T$_V7 O /This%0aseRecord%ParentRo'%#etRo'setMScroll%LM_L)_R&3T$_V7NQ Local Record SrecLM_L)_R&3T$_V7Q Local number SiQ Local boolean Sbol2oundRouteV'Q 2or Si O + To SrsLM_L)_R&3T$_V7%!ctiveRo')ount SrecLM_L)_R&3T$_V7 O SrsLM_L)_R&3T$_V7MSiN%LM_L)_R&3T$_V7Q (f SrecLM_L)_R&3T$_V7%LM_!)T_(D%Value O SrecLM_L)%LM_!)T_(D%Value !nd SrecLM_L)_R&3T$_V7%LM_L)_(D%Value O SrecLM_L)%LM_L)_(D%Value Then Sbol2oundRouteV' O TrueQ Si O SrsLM_L)_R&3T$_V7%!ctiveRo')ountQ $ndE(fQ $ndE2orQ (f Sbol2oundRouteV' Then 9L )onfirm the delete operation L9 Local number Snbr_)onfirm O Message0o@M/MsgStyle_*es"oK PPK +>,G;K +D,<K PPNQ (f MSnbr_)onfirm O /MsgResult_*esN Then /This%ProcessL)DeleteMSrecLM_L)_R&3T$_V7NQ $ndE(fQ $ndE(fQ endEmethodQ method LM_L)_T*P$_V7_LM_L)_T*P$_L&"#_2ield)hange Snbr_L)Type(D O LM_L)_T*P$_V7%LM_L)_T*P$_(D%ValueQ Sstr_LM_0!S_L)_T*P$ O LM_L)_T*P$_V7%LM_0!S_L)_T*P$%ValueQ $ndModalM+NQ endEmethodQ

method LM_L$0L_7R-_LM_!DD_)&MP_0T"_2ield)hange Local number Snbr_retValQ Snbr_retVal O DoModalMPage%LM_L)_T*P$_S$L$)TK PPK E +K E +NQ (f Snbr_retVal I , Then Local Record Srec_7rH O #etLevel,MNM+N%#etRecordMRecord%LM_L)_7R-NQ Srec_7rH%LM_L)_(D%Value O GGGGGGGGGGQ Srec_7rH%LM_L)_T*P$_(D%Value O Snbr_L)Type(DQ Srec_7rH%LM_0!S_L)_T*P$%Value O Sstr_LM_0!S_L)_T*P$Q Srec_7rH%P"L#RP"!M$%Value O /)omponentQ SPrevious)omponent O /)omponentQ /This%TransferToLearning)omponentMGGGGGGGGGGK Snbr_L)Type(DK Sstr_LM_0!S_L)_T*P$K P!PNQ $ndE(fQ endEmethodQ

method LM_L$0L_7R-_LM_$D(T_L"-_2ield)hange /This%TransferToLearning)omponentM#etRo'MN%LM_L)_R&3T$_V7%LM_L)_(D%ValueK #etRo'MN%LM_L)_R&3T$_V7%LM_L)_T*P$_(D%ValueK #etRo'MN%LM_L)_R&3T$_V7%LM_0!S_L)_T*P$%ValueK P3PNQ endEmethodQ

method LM_L$0L_7R-_LM_D$L$T$_L"-_2ield)hange Local Ro'set SrsLM_L)_R&3T$_V7 O S0aseRecord%ParentRo'%#etRo'setMScroll%LM_L)_R&3T$_V7NQ Local Record SrecLM_L)_R&3T$_V7 O SrsLM_L)_R&3T$_V7M)urrentRo'"umberM+NN%LM_L)_R&3T$_V7Q 9L !0 E Resolution >F+;66 E Start L9 Local Ro'set SlrsLM_L)_R&3T$_V7 O )reateRo'setMRecord%LM_L)_R&3T$_V7NQ SlrsLM_L)_R&3T$_V7%2illMP'here LM_L)_(D O 8+ PK SrecLM_L)_R&3T$_V7%LM_L)_(D%ValueNQ Local Record SlrecLM_L)_R&3T$_V7 O SlrsLM_L)_R&3T$_V7M+N%LM_L)_R&3T$_V7Q 9L !0 E Resolution >F+;66 E $nd L9 9LL L)hecH if this is the only re.uired component in the activity L9 (f MSnbr_L)Re.d)ount UO +N !nd 9L !0 E Resolution >F+;66 E Start L9 RemMShsh_Re.&pt ash%#etMStringMSrecLM_L)_R&3T$_V7%LM_L)_(D%ValueNN O P*PN ThenQ MSlrecLM_L)_R&3T$_V7%LM_R$QD_2L!#%Value O P*PN Then 9L !0 E Resolution >F+;66 E $nd L9 $rror Msg#etM+>,G;K +,;6K PPNQ $ndE(fQ 9LL L)onfirm the delete operation L9 Local number Snbr_)onfirm O Message0o@M/MsgStyle_*es"oK PPK +>,G;K +D,<K PPNQ (f MSnbr_)onfirm O /MsgResult_*esN Then /This%ProcessL)DeleteMSrecLM_L)_R&3T$_V7NQ $ndE(fQ endEmethodQ method ProcessL)Delete 9C SrecLM_L)_R&3T$_V7 as Record C9 9L(nvoHe the appclass to delete the L) L9 Local L$0L_L$!R"("#)&MP&"$"T8Learning)omponent Slc&b= O create L$0L_L$!R"("#)&MP&"$"T8Learning)omponentMNQ Sob=_!ctType%buildType)ountMNQ Local L$0L_!)T(V(T*8)omponents8!ctivity)ommon Sactivity)ommon O create L$0L_!)T(V(T*8)omponents8!ctivity)ommonMNQ Sactivity)ommon%'ebcast!ction O PD$L$T$PQ Sactivity)ommon%component(D O SrecLM_L)_R&3T$_V7%LM_L)_(D%ValueQ Sactivity)ommon%0aseRecord O SrecLM_L)_R&3T$_V7Q Sactivity)ommon%7ebcastTriggersMNQ Local boolean Sbol_val O Slc&b=%ProcessL)DeleteMS0aseRecord%LM_!)T_(D%ValueK SrecLM_L)_R&3T$_V7%LM_L)_(D%ValueK ValueMSrecLM_L)_R&3T$_V7%LM_0!S_L)_T*P$%ValueNK Sob=_!ctTypeNQ 9LLDecrement the re.uired counter if the deleted counter is a re.uired counterLL9 (f MShsh_Re.&pt ash%#etMStringMSrecLM_L)_R&3T$_V7%LM_L)_(D%ValueNN O P*PN Then Snbr_L)Re.d)ount O Snbr_L)Re.d)ount E +Q $ndE(fQ endEmethodQ method RefreshL)#rid 9L#rid refresh L9 #etLevel,MNM+N%#etRo'setMScroll%LM_L)_R&3T$_V7N%2lushMNQ #etLevel,MNM+N%#etRo'setMScroll%LM_L)_R&3T$_V7N%SelectMRecord%LM_L)_R&3T$_V7K P7 $R$ LM_!)T_(DO8+PK S0aseRecord%LM_!)T_(D%ValueNQ #etLevel,MNM+N%#etRo'setMScroll%LM_L)_)MPL_V7N%2lushMNQ #etLevel,MNM+N%#etRo'setMScroll%LM_L)_)MPL_V7N%SelectMRecord%LM_L)_)MPL_V7K

P7 $R$ LM_!)T_(DO8+PK S0aseRecord%LM_!)T_(D%ValueNQ #etLevel,MN M+N%#etRo'setMScroll%LM_L)_)MPL_V7N%SortMLM_L)_)MPL_V7%LM_)&MP_S$Q_(DK P!PNQ 9LResolutionE >4;,<+ !dded code line belo'L9 /This%(nitialiTeLearning)omponent#ridMNQ endEmethodQ

method TransferToLearning)omponent 9C SL)(d as "umberK C9 9C SL)Type(d as "umberK C9 9C S0asicL)Type as StringK C9 9C Smode as String C9 Local Record Srec_7rH O #etLevel,MNM+N%#etRecordMRecord%LM_L)_7R-NQ Srec_7rH%LM_!)T_(D%Value O S0aseRecord%LM_!)T_(D%ValueQ Srec_7rH%LM_L)_(D%Value O SL)(dQ Srec_7rH%LM_L)_T*P$_(D%Value O SL)Type(dQ Srec_7rH%LM_0!S_L)_T*P$%Value O S0asicL)TypeQ Srec_7rH%P"L#RP"!M$%Value O /)omponentQ SPrevious)omponent O /)omponentQ 9LL L#et the name of the Page to be invoHed and invoHe the specific learning component L(deally this code should be in an app class% o'everK Peoplecode does not allo' dynamic creation of Page Land (tem ob=ects from the string liHe :ava1s )lass%fornameMU)lass nameIN L9 Local string Sstr_(tem"ameK Sstr_Page"ameQ $valuate ValueMS0asicL)TypeN 7hen O +, Sstr_(tem"ame O )omponent%LM_L)_7$0Q Sstr_Page"ame O Page%LM_L)_7$0Q 0reaHQ 7hen O ;, Sstr_(tem"ame O )omponent%LM_L)_S$SQ Sstr_Page"ame O Page%LM_L)_S$SQ 0reaHQ 7hen O 4, Sstr_(tem"ame O )omponent%LM_L)_L7)Q Sstr_Page"ame O Page%LM_L)_L7)Q 0reaHQ 7hen O <, Sstr_(tem"ame O )omponent%LM_L)_!S#"Q Sstr_Page"ame O Page%LM_L)_!S#"Q 0reaHQ 7hen O 6, Sstr_(tem"ame O )omponent%LM_L)_T$STQ Sstr_Page"ame O Page%LM_L)_T$STQ 0reaHQ 7hen O D, Sstr_(tem"ame O )omponent%LM_L)_7$0Q Sstr_Page"ame O Page%LM_L)_7$0Q 0reaHQ $ndE$valuateQ DoModal)omponentMMenu"ame%LM_0L$"D$D_L$!R"("#K 0ar"ame%3S$K VMP(tem"ame%P R Sstr_(tem"ameNK VMPPage%P R Sstr_Page"ameNK SmodeK VMPRecord%P R Srec_7rH%"ameNNQ endEmethodQ

method LM_RM_)&ST_7R-_LM_)!L)_)&ST_0T"_2ield)hange Local number Sans'erQ Sans'er O Message0o@M/MsgStyle_*es"o)ancelK Msg#etTe@tM+>,GDK ;,K PPNK +>,GDK +GK PPNQ

/This%)alc!ctivity)ostsMSans'erNQ endEmethodQ

method LM_RM_)&ST_7R-_LM_)!L)_)&ST_!ctivate Local number Sans'erQ Sans'er O /MsgResult_*esQ /This%)alc!ctivity)ostsMSans'erNQ endEmethodQ

method )alc!ctivity)osts 9C Sans'er as "umber C9 Local integer Sint_cost(dK SrQ Local L$RM_)&ST8!ctivity)ontent)ost0ean Scls_content)ostQ Local L$RM_)&ST8!ctivity$.uipment)ost0ean Scls_e.p)ostQ Local L$RM_)&ST8!ctivity2acility)ost0ean Scls_fclty)ostQ Local L$RM_)&ST8!ctivity(nstructor)ost0ean Scls_instr)ostQ Local L$RM_)&ST8!ctivityMaterial)ost0ean Scls_mtrl)ostQ Local L$RM_)&ST8!ctivityVendor)ost0ean Scls_vendor)ostQ Local Ro'set Srs_act)ostQ Local Record Srec_actK Srec_dmthQ Local integer Sint_iQ 9L instantiate classes L9 Scls_content)ost O create L$RM_)&ST8!ctivity)ontent)ost0eanMNQ Scls_content)ost%bind!ctivityMS0aseRecordNQ Scls_e.p)ost O create L$RM_)&ST8!ctivity$.uipment)ost0eanMNQ Scls_e.p)ost%bind!ctivityMS0aseRecordNQ Scls_fclty)ost O create L$RM_)&ST8!ctivity2acility)ost0eanMNQ Scls_fclty)ost%bind!ctivityMS0aseRecordNQ Scls_instr)ost O create L$RM_)&ST8!ctivity(nstructor)ost0eanMNQ Scls_instr)ost%bind!ctivityMS0aseRecordNQ Scls_mtrl)ost O create L$RM_)&ST8!ctivityMaterial)ost0eanMNQ Scls_mtrl)ost%bind!ctivityMS0aseRecordNQ Scls_vendor)ost O create L$RM_)&ST8!ctivityVendor)ost0eanMNQ Scls_vendor)ost%bind!ctivityMS0aseRecordNQ 9L initialiTe variables L9 Srs_act)ost O #etLevel,MNM+N%#etRo'setMScroll%LM_S*S_)&ST_V7NQ Sint_cost(d O +Q 9L asH user if 'ants to reload activity cost resources and default costs L9

(f Sans'er UI /MsgResult_)ancel Then (f Sans'er O /MsgResult_*es Then 9L delete e@isting cost ro's from the activity L9 2or Sint_i O Srs_act)ost%!ctiveRo')ount To + Step E + Srs_act)ost%DeleteRo'MSint_iNQ $ndE2orQ 9L load content costs L9 Sint_cost(d O Scls_content)ost%Refresh)ostMSint_cost(dNQ 9L load e.uipment costs L9 Sint_cost(d O Scls_e.p)ost%Refresh)ostMSint_cost(dNQ 9L load facility costs L9 Sint_cost(d O Scls_fclty)ost%Refresh)ostMSint_cost(dNQ 9L load instructor costs L9 Sint_cost(d O Scls_instr)ost%Refresh)ostMSint_cost(dNQ 9L load material costs L9 Sint_cost(d O Scls_mtrl)ost%Refresh)ostMSint_cost(dNQ 9L load vendor costs L9 Sint_cost(d O Scls_vendor)ost%Refresh)ostMSint_cost(dNQ 9L sort the resulting data in the grid L9 Srs_act)ost%SortMLM_S*S_)&ST_V7%LM_)&ST_)T#R*K P!PK LM_S*S_)&ST_V7%LM_)&ST_(DK P!PNQ $ndE(fQ 9L calculate estimated costs and display them in the L derived fields on the page%

S!ctivity)ost)ontroller%)alcTotalsMNQ $ndE(fQ 2or Sr O + To Srs_act)ost%!ctiveRo')ount /This%LM_S*S_)&ST_V7_Ro'(nit_DisplayMSrs_act)ostMSrNNQ $ndE2orQ endEmethodQ

L9

method LM_RM_"&T(2_7R-_LM_"&T(2_L("-_2ield)hange 9L Modal transfer to LM_!)T_"&T(2 page for sending activity notifications L9 (f /)omponent O PLM_)"T_TMPLP Then DoModal)omponentMMenu"ame%LM_R$S&3R)$_M!"!#$M$"TK 0ar"ame%3S$K (tem"ame%LM_!)T_"&T(2K Page%LM_!)T_"&T(2K P3PK Record%LM_RM_!)T_7R-K LM_)T_!)T_)L&"$%LM_!)T_(DNQ $lse DoModal)omponentMMenu"ame%LM_R$S&3R)$_M!"!#$M$"TK 0ar"ame%3S$K (tem"ame%LM_!)T_"&T(2K Page%LM_!)T_"&T(2K P3PK Record%LM_RM_!)T_7R-K LM_!)T%LM_!)T_(DNQ $ndE(fQ endEmethodQ

method (nstructorSearch0utton 9L launch the instructor search page L9 Snbr_instr(d O ,Q Snbr_ci(d O S0aseRecord%LM_)(_(D%ValueQ DoModalMPage%LM_("STR_SR) K PPK E +K E +NQ Local L$)R_3T(L8Ro'set)ache Sob=_)acheQ Local Ro'set Srs_instructorQ Local boolean Sbol_RsltQ Srs_instructor O )reateRo'setMRecord%LM_P$R_!)T_("2;NQ Sob=_)ache O create L$)R_3T(L8Ro'set)acheMNQ Srs_instructor O Sob=_)ache%get)acheMP("STR3)T&RPNQ (f Srs_instructor UI "ull Then Snbr_instr(d O Srs_instructorM+N%LM_P$R_!)T_("2;%LM_P$RS&"_(D%ValueQ 9L if an instructor 'as selectedK return instructor (D L9 (f Snbr_instr(d I , Then S0aseRecord%LM_("STR_(D%Value O Snbr_instr(dQ $ndE(fQ $ndE(fQ endEmethodQ

method LM_RM_7R-_LM_S$)_P!#$;_L("-_2ield)hange Local number SrK SmodalReturnQ Local Record SrecQ Local boolean SloopK S'arningQ Scurrent!d oc)ostRo' O #etRo'MNQ Sloop O TrueQ 7hile Sloop (f DoModalMPage%LM_!)T_2(")ST;_S$)K Msg#etTe@tM+>,GDK <K PM$SS!#$ "&T 2&3"D%PNK E +K E +N O , Then Sloop O 2alseQ $lse Sr O +Q S'arning O 2alseQ 7hile Sr UO #etRo'MN%#etRo'setMScroll%LM_!!2(")&ST_V7N%!ctiveRo')ount !nd "ot S'arning Srec O #etRo'MN%#etRo'setMScroll%LM_!!2(")&ST_V7N%#etRo'MSrN%LM_!!2(")&ST_V7Q (f MMSrec%LM_&R#!"(?!T(&"_(D%Value O GGGGGGGGGGGGGGG &r "oneMSrec%LM_&R#!"(?!T(&"_(D%ValueNN !nd !llMSrec%LM_)&ST%ValueNN Then Message0o@M,K PPK +>,GDK +,<K PM$SS!#$ "&T 2&3"DPNQ S'arning O TrueQ $ndE(fQ

Sr O Sr C +Q $ndE7hileQ (f "ot S'arning Then Sloop O 2alseQ $ndE(fQ $ndE(fQ $ndE7hileQ S!ctivity!d oc)ost)ontroller%bind)hildRo'SetMScurrent!d oc)ostRo'K #etRo'MN%#etRo'setMScroll%LM_!!2(")&ST_V7NNQ endEmethodQ

method LM_RM_7R-_LM_S$)_P!#$_L("-_2ield)hange Local number SrK SmodalReturnQ Local Record SrecQ Local boolean SloopK S'arningQ Scurrent)ostro' O #etRo'MNQ Sloop O TrueQ 7hile Sloop (f DoModalMPage%LM_!)T_2(")&ST_S$)K Msg#etTe@tM+>,GDK <K PM$SS!#$ "&T 2&3"D%PNK E +K E +N O , Then Sloop O 2alseQ $lse Sr O +Q S'arning O 2alseQ 7hile Sr UO #etRo'MN%#etRo'setMScroll%LM_!2("_)&ST_V7N%!ctiveRo')ount !nd "ot S'arning Srec O #etRo'MN%#etRo'setMScroll%LM_!2("_)&ST_V7N%#etRo'MSrN%LM_!2("_)&ST_V7Q (f MMSrec%LM_&R#!"(?!T(&"_(D%Value O GGGGGGGGGGGGGGG &r "oneMSrec%LM_&R#!"(?!T(&"_(D%ValueNN !nd !llMSrec%LM_)&ST%ValueNN Then Message0o@M,K PPK +>,GDK +,<K PM$SS!#$ "&T 2&3"DPNQ S'arning O TrueQ $ndE(fQ Sr O Sr C +Q $ndE7hileQ (f "ot S'arning Then Sloop O 2alseQ $ndE(fQ $ndE(fQ $ndE7hileQ S!ctivity)ost)ontroller%bind)hildRo'SetMScurrent)ostro'K #etRo'MN%#etRo'setMScroll%LM_!2("_)&ST_V7NNQ endEmethodQ

method LM_S*S_)&ST_V7_Ro'Delete S!ctivity)ost)ontroller%clearRo'M#etRo'MNNQ endEmethodQ

method LM_S*S_)&ST_V7_Ro'(nit_Display 9C Sro' as Ro' C9 9L set cost description to the appropriate value L9 (f !llMSro'%LM_S*S_)&ST_V7%LM_$QP_(D%ValueN Then Sro'%LM_RM_)&ST_7R-%LM_)&ST_D$S)R%Value O Sro'%LM_$QP_V7%LM_$QP%ValueQ $ndE(fQ (f !llMSro'%LM_S*S_)&ST_V7%LM_R&&M_(D%ValueN Then Sro'%LM_RM_)&ST_7R-%LM_)&ST_D$S)R%Value O Sro'%LM_2)LT*_V7%LM_2)LT*%Value R P E P R Sro'%LM_R&&M_V7%LM_R&&M_"0R%ValueQ $ndE(fQ (f !llMSro'%LM_S*S_)&ST_V7%LM_("STR_(D%ValueN Then Sro'%LM_RM_)&ST_7R-%LM_)&ST_D$S)R%Value O Sro'%LM_P$RS_"!M$_V7%LM_"!M$_D(SPL!*%ValueQ $ndE(fQ (f !llMSro'%LM_S*S_)&ST_V7%LM_MTRL_(D%ValueN Then

Sro'%LM_RM_)&ST_7R-%LM_)&ST_D$S)R%Value O Sro'%LM_MTRL_V7%LM_MTRL%ValueQ $ndE(fQ (f !llMSro'%LM_S*S_)&ST_V7%LM_V$"D&R_PR&D_(D%ValueN Then Sro'%LM_RM_)&ST_7R-%LM_)&ST_D$S)R%Value O Sro'%LM_VPR&D_V7%LM_VPR&D_D$S)R%ValueQ $ndE(fQ (f Sro'%LM_S*S_)&ST_V7%LM_)&ST_)T#R*%Value O P,DP Then Sro'%LM_RM_)&ST_7R-%LM_)&ST_D$S)R%Value O Sro'%LM_S*S_)&ST_V7%LM_)&ST_D$S)R%ValueQ $ndE(fQ (f Sro'%LM_S*S_)&ST_V7%LM_)&ST_T*P$%Value O P,<P Then Sro'%LM_S*S_)&ST_V7%LM_)&ST_QT*%$nabled O 2alseQ $lse Sro'%LM_S*S_)&ST_V7%LM_)&ST_QT*%$nabled O TrueQ $ndE(fQ Sro'%LM_S*S_)&ST_V7%LM_)&ST_D$S)R%Value O Sro'%LM_RM_)&ST_7R-%LM_)&ST_D$S)R%ValueQ (f Sro'%LM_S*S_)&ST_V7%LM_)&ST_)T#R*%Value O P,6P &r Sro'%LM_S*S_)&ST_V7%LM_)&ST_)T#R*%Value O P,DP Then Sro'%LM_S*S_)&ST_V7%LM_) !R#$!0L$_S7%Visible O 2alseQ Sro'%LM_RM_7R-%LM_S$)_P!#$_L("-%Visible O 2alseQ $lse Sro'%LM_S*S_)&ST_V7%LM_) !R#$!0L$_S7%Visible O TrueQ Sro'%LM_RM_7R-%LM_S$)_P!#$_L("-%Visible O TrueQ $ndE(fQ endEmethodQ

method LM_S*S_)&ST_V7_Ro'(nit Scurrent)ostro' O #etRo'MNQ S!ctivity)ost)ontroller%bindRo'M#etRo'MNNQ /This%LM_S*S_)&ST_V7_Ro'(nit_DisplayM#etRo'MNNQ endEmethodQ

method LM_L)_Page!ctivate Local Ro'set Srs_L)Q Local #rid S#ridQ Local number Snbr_Ro'sQ Srs_L) O #etLevel,MNM+N%#etRo'setMScroll%LM_L)_R&3T$_V7NQ Snbr_Ro's O Srs_L)%!ctiveRo')ountQ (f Snbr_Ro's O + !nd M"oneMSrs_L)%#etRo'M+N%#etRecordMRecord%LM_L)_R&3T$_V7N%LM_L)_(D%ValueN Srs_L)M+N%(sDeletedN Then LM_L)_L!0$L_7R-%LM_D(SP_MS#%Visible LM_L)_L!0$L_7R-%LM_D(SP_#RP%Visible $lse LM_L)_L!0$L_7R-%LM_D(SP_MS#%Visible LM_L)_L!0$L_7R-%LM_D(SP_#RP%Visible $ndE(fQ endEmethodQ O TrueQ O 2alseQ O 2alseQ O TrueQ

&r

method LM_L)_)MPL_Page!ctivate Local Ro'set Srs_L))mplQ Local number Snbr_Ro'sQ Local #rid S#ridQ Local #rid)olumn S#rid)olumnQ Srs_L))mpl O #etLevel,MNM+N%#etRo'setMScroll%LM_L)_)MPL_V7NQ Snbr_Ro's O Srs_L))mpl%!ctiveRo')ountQ (f Snbr_Ro's O + !nd "oneMSrs_L))mpl%#etRo'M+N%#etRecordMRecord%LM_L)_)MPL_V7N%LM_L)_L&"#_"M%ValueN Then

LM_L)_L0L_7R-;%LM_D(SP_MS#%Visible LM_L)_L0L_7R-;%LM_D(SP_#RP%Visible $lse LM_L)_L0L_7R-;%LM_D(SP_MS#%Visible LM_L)_L0L_7R-;%LM_D(SP_#RP%Visible $ndE(fQ

O TrueQ O 2alseQ O 2alseQ O TrueQ

S#rid O #et#ridM/PageK PLM_L)_)MPL_V7PNQ S#rid)olumn O S#rid%#et)olumnMPD3R!T(&"PNQ S#rid)olumn%Label O Srs_L))mpl%#etRo'M+N%#etRecordMRecord%LM_L)_D3R"_7R-N%#et2ieldM2ield%LM_D3R!T(&"N% #etShortLabelMPLM_D3R!T(&"PNQ endEmethodQ

method get)urrent)ostro' 9C Returns Ro' C9 Return Scurrent)ostro'Q endEmethodQ

method get)urrent!d oc)ostRo' 9C Returns Ro' C9 Return Scurrent!d oc)ostRo'Q endEmethodQ

method LM_) !R#$!0L$_S7_2ield$dit 9C Sro' as Ro'K C9 9C Srec as Record C9 Local Ro'set SsysrsK SadhocrsQ Local number SrQ Local boolean SfoundQ Ssysrs O #etLevel,MNM+N%#etRo'setMScroll%LM_S*S_)&ST_V7NQ Sadhocrs O #etLevel,MNM+N%#etRo'setMScroll%LM_!D )_)&ST_V7NQ Sfound O 2alseQ (f Srec%LM_) !R#$!0L$_S7%Value O P*P !nd MSrec%LM_)&ST_)T#R*%Value O P,;P &r Srec%LM_)&ST_)T#R*%Value O P,FPN Then 2or Sr O + To Ssysrs%!ctiveRo')ount (f MMSr UI #etRo'MN%Ro'"umber &r Srec%"ame UI PLM_S*S_)&ST_V7PN !nd Ssysrs%#etRo'MSrN%LM_S*S_)&ST_V7%LM_)&ST_)T#R*%Value O Srec%LM_)&ST_)T#R*%Value !nd Ssysrs%#etRo'MSrN%LM_S*S_)&ST_V7%LM_) !R#$!0L$_S7%Value O P*PN Then Sfound O TrueQ $ndE(fQ $ndE2orQ 2or Sr O + To Sadhocrs%!ctiveRo')ount (f MMSr UI #etRo'MN%Ro'"umber &r Srec%"ame UI PLM_!D )_)&ST_V7PN !nd Sadhocrs%#etRo'MSrN%LM_!D )_)&ST_V7%LM_)&ST_)T#R*%Value O Srec%LM_)&ST_)T#R*%Value !nd Sadhocrs%#etRo'MSrN%LM_!D )_)&ST_V7%LM_) !R#$!0L$_S7%Value O P*PN Then Sfound O TrueQ $ndE(fQ $ndE2orQ $ndE(fQ (f Sfound Then Message0o@M,K PPK +>,GDK +,6K PM$SS!#$ "&T 2&3"D%PNQ Srec%LM_) !R#$!0L$_S7%Value O P"PQ $ndE(fQ endEmethodQ

method LM_S*S_)&ST_V7_LM_) !R#$!0L$_S7_2ield$dit /This%LM_) !R#$!0L$_S7_2ield$ditM#etRo'MNK #etRecordMNNQ endEmethodQ

method LM_!D )_)&ST_V7_LM_) !R#$!0L$_S7_2ield$dit /This%LM_) !R#$!0L$_S7_2ield$ditM#etRo'MNK #etRecordMNNQ endEmethodQ

method LM_S*S_)&ST_V7_LM_)&ST_QT*_2ield)hange LM_S*S_)&ST_V7%LM_)&ST O LM_S*S_)&ST_V7%LM_3"(T_)&ST L LM_S*S_)&ST_V7%LM_)&ST_QT*Q endEmethodQ

method LM_!D )_)&ST_V7_LM_)&ST_QT*_2ield)hange LM_!D )_)&ST_V7%LM_)&ST O LM_!D )_)&ST_V7%LM_3"(T_)&ST L LM_!D )_)&ST_V7%LM_)&ST_QT*Q endEmethodQ

method LM_!D )_)&ST_V7_)3RR$")*_)D_2ield)hange Local Ro'set SrsQ Local number SrQ Srs O #etRo'MN%#etRo'setMScroll%LM_!!2(")&ST_V7NQ 2or Sr O + To Srs%!ctiveRo')ount Srs%#etRo'MSrN%LM_!!2(")&ST_V7%)3RR$")*_)D%Value O #etRo'MN%LM_!D )_)&ST_V7%)3RR$")*_)D%ValueQ $ndE2orQ endEmethodQ

method LM_!D )_)&ST_V7_LM_L("$_T*P$_2ield)hange (f LM_!D )_)&ST_V7%LM_L("$_T*P$ O P;P Then LM_!D )_)&ST_V7%LM_)&ST_)T#R* O P,6PQ LM_!D )_)&ST_V7%LM_)&ST_)T#R*%$nabled O 2alseQ /This%LM_!D )_)&ST_V7_LM_)&ST_)T#R*_2ield)hangeMNQ $lse LM_!D )_)&ST_V7%LM_)&ST_)T#R*%$nabled O TrueQ /This%LM_!D )_)&ST_V7_LM_)&ST_)T#R*_2ield)hangeMNQ $ndE(fQ endEmethodQ

method LM_!D )_)&ST_V7_LM_)&ST_)T#R*_2ield)hange LM_!D )_)&ST_V7%LM_)&ST_D$S)R O PPQ LM_!D )_)&ST_V7%LM_$QP_(D O ,Q LM_!D )_)&ST_V7%LM_2)LT*_(D O ,Q LM_!D )_)&ST_V7%LM_R&&M_(D O ,Q LM_!D )_)&ST_V7%LM_("STR_(D O ,Q LM_!D )_)&ST_V7%LM_MTRL_(D O ,Q LM_!D )_)&ST_V7%LM_V$"D&R_PR&D_(D O ,Q /This%LM_!D )_)&ST_V7_LM_)&ST_)T#R*_DisplayMNQ endEmethodQ

method LM_!D )_)&ST_V7_LM_)&ST_)T#R*_Display $valuate LM_!D )_)&ST_V7%LM_)&ST_)T#R* 7hen O P,+P D$R(V$D%$D(TT!0L$ O PLM_$QP_SR) PQ LM_!)T_7R-%LM_PR&MPT_SR) _0T"%Visible O TrueQ

LM_!D )_)&ST_V7%LM_)&ST_D$S)R%$nabled O 2alseQ 0reaHQ 7hen O P,;P D$R(V$D%$D(TT!0L$ O PLM_2)LT*_SR) PQ LM_!)T_7R-%LM_PR&MPT_SR) _0T"%Visible O TrueQ LM_!D )_)&ST_V7%LM_)&ST_D$S)R%$nabled O 2alseQ 0reaHQ 7hen O P,4P D$R(V$D%$D(TT!0L$ O PLM_("STR_SR) PQ LM_!)T_7R-%LM_PR&MPT_SR) _0T"%Visible O TrueQ LM_!D )_)&ST_V7%LM_)&ST_D$S)R%$nabled O 2alseQ 0reaHQ 7hen O P,<P D$R(V$D%$D(TT!0L$ O PLM_MTRL_SR) PQ LM_!)T_7R-%LM_PR&MPT_SR) _0T"%Visible O TrueQ LM_!D )_)&ST_V7%LM_)&ST_D$S)R%$nabled O 2alseQ 0reaHQ 7hen O P,FP D$R(V$D%$D(TT!0L$ O PLM_VPR&D_V7PQ LM_!)T_7R-%LM_PR&MPT_SR) _0T"%Visible O TrueQ LM_!D )_)&ST_V7%LM_)&ST_D$S)R%$nabled O 2alseQ 0reaHQ 7hen O P,>P D$R(V$D%$D(TT!0L$ O PLM_("STR_SR) PQ LM_!)T_7R-%LM_PR&MPT_SR) _0T"%Visible O TrueQ LM_!D )_)&ST_V7%LM_)&ST_D$S)R%$nabled O 2alseQ 0reaHQ 7henE&ther D$R(V$D%$D(TT!0L$ O P PQ LM_!)T_7R-%LM_PR&MPT_SR) _0T"%Visible O 2alseQ LM_!D )_)&ST_V7%LM_)&ST_D$S)R%$nabled O TrueQ $ndE$valuateQ (f "oneMLM_!D )_)&ST_V7%LM_)&ST_)T#R*N &r LM_!D )_)&ST_V7%LM_)&ST_)T#R* O P,6P &r LM_!D )_)&ST_V7%LM_)&ST_)T#R* O P,DP Then LM_!D )_)&ST_V7%LM_) !R#$!0L$_S7%Visible O 2alseQ LM_RM_7R-%LM_S$)_P!#$;_L("-%Visible O 2alseQ $lse LM_!D )_)&ST_V7%LM_) !R#$!0L$_S7%Visible O TrueQ LM_RM_7R-%LM_S$)_P!#$;_L("-%Visible O TrueQ $ndE(fQ endEmethodQ

method LM_!D )_)&ST_V7_LM_)&ST_T*P$_2ield)hange (f LM_!D )_)&ST_V7%LM_)&ST_T*P$ O P,<P Then LM_!D )_)&ST_V7%LM_)&ST_QT*%$nabled O 2alseQ LM_!D )_)&ST_V7%LM_)&ST_QT*%Value O +Q /This%LM_!D )_)&ST_V7_LM_)&ST_QT*_2ield)hangeMNQ $lse LM_!D )_)&ST_V7%LM_)&ST_QT*%$nabled O TrueQ $ndE(fQ 9LL Set the !utoE3pdate &ption field based on the )ost Type field value% L9 (f LM_!D )_)&ST_V7%LM_)&ST_T*P$%Value O P,6P Then LM_!D )_)&ST_V7%LM_)&ST_!3T&_3PD%Value O P,+PQ LM_!D )_)&ST_V7%LM_)&ST_!3T&_3PD%$nabled O TrueQ $lse LM_!D )_)&ST_V7%LM_)&ST_!3T&_3PD%Value O P,+PQ LM_!D )_)&ST_V7%LM_)&ST_!3T&_3PD%$nabled O 2alseQ $ndE(fQ endEmethodQ

9LL L9

Set the Quantity value based on the !utoE3pdate &ption value chosen%

method LM_!D )_)&ST_V7_LM_)&ST_!3T&_3PD_2ield)hange (f LM_!D )_)&ST_V7%LM_)&ST_!3T&_3PD%Value O P,+P Then LM_!D )_)&ST_V7%LM_)&ST_QT*%$nabled O TrueQ $ndE(fQ (f LM_!D )_)&ST_V7%LM_)&ST_!3T&_3PD%Value O P,;P Then LM_!D )_)&ST_V7%LM_)&ST_QT*%Value O S0aseRecord%LM_M!5_$"RLMT%ValueQ LM_!D )_)&ST_V7%LM_)&ST_QT*%$nabled O 2alseQ $ndE(fQ (f LM_!D )_)&ST_V7%LM_)&ST_!3T&_3PD%Value O P,4P Then LM_!D )_)&ST_V7%LM_)&ST_QT*%Value O S0aseRecord%LM_$"RL_T&T%ValueQ LM_!D )_)&ST_V7%LM_)&ST_QT*%$nabled O 2alseQ $ndE(fQ (f LM_!D )_)&ST_V7%LM_)&ST_!3T&_3PD%Value O P,<P Then (f S0aseRecord%LM_$"RL_T&T%Value IO S0aseRecord%LM_M("_$"RLMT%Value Then LM_!D )_)&ST_V7%LM_)&ST_QT*%Value O S0aseRecord%LM_$"RL_T&T%ValueQ $lse LM_!D )_)&ST_V7%LM_)&ST_QT*%Value O S0aseRecord%LM_M("_$"RLMT%ValueQ $ndE(fQ LM_!D )_)&ST_V7%LM_)&ST_QT*%$nabled O 2alseQ $ndE(fQ endEmethodQ

method LM_!D )_)&ST_V7_RefreshDescr 9L set cost description to the appropriate value L9 $valuate LM_!D )_)&ST_V7%LM_)&ST_)T#R* 7hen O P,+P LM_!D )_)&ST_V7%LM_$QP_(D O LM_!)T_7R-%LM_(DQ LM_!D )_)&ST_V7%LM_)&ST_D$S)R%Value O LM_$QP_V7%LM_$QP%ValueQ 0reaHQ 7hen O P,;P LM_!D )_)&ST_V7%LM_2)LT*_(D O LM_!)T_7R-%LM_(DQ LM_!D )_)&ST_V7%LM_)&ST_D$S)R%Value O LM_2)LT*_V7%LM_2)LT*%ValueQ 0reaHQ 7hen O P,4P LM_!D )_)&ST_V7%LM_("STR_(D O LM_!)T_7R-%LM_(DQ LM_!D )_)&ST_V7%LM_)&ST_D$S)R%Value O LM_P$RS_"!M$_V7%LM_"!M$_D(SPL!*%ValueQ 0reaHQ 7hen O P,<P LM_!D )_)&ST_V7%LM_MTRL_(D O LM_!)T_7R-%LM_(DQ LM_!D )_)&ST_V7%LM_)&ST_D$S)R%Value O LM_MTRL_V7%LM_MTRL%ValueQ 0reaHQ 7hen O P,FP LM_!D )_)&ST_V7%LM_V$"D&R_PR&D_(D O LM_!)T_7R-%LM_(DQ LM_!D )_)&ST_V7%LM_V$"D&R_(D O LM_VPR&D_V7%LM_V$"D&R_(D%ValueQ LM_!D )_)&ST_V7%LM_)&ST_D$S)R%Value O LM_VPR&D_V7%LM_VPR&D_D$S)R%ValueQ 0reaHQ 7hen O P,>P LM_!D )_)&ST_V7%LM_("STR_(D O LM_!)T_7R-%LM_(DQ LM_!D )_)&ST_V7%LM_)&ST_D$S)R%Value O LM_P$RS_"!M$_V7%LM_"!M$_D(SPL!*%ValueQ 0reaHQ 7henE&ther LM_!D )_)&ST_V7%LM_)&ST_D$S)R O PPQ $ndE$valuateQ endEmethodQ

method LM_!)T_S$)_Ro'(nit Local L$0&_L#_S$)3R(T*_3(8Paint!ctivityL#Security Sob=_L#SecurityR(nQ Sob=_L#SecurityR(n O create L$0&_L#_S$)3R(T*_3(8Paint!ctivityL#SecurityMNQ Sob=_L#SecurityR(n%0aseRecord O S0aseRecordQ Sob=_L#SecurityR(n%defaultL#)ombine2ieldsMNQ Sob=_L#SecurityR(n%refreshL#SecuritySubPageMNQ endEmethodQ

method SaveLearner#roups Local L$0&_L#_S$)3R(T*_3(8Paint!ctivityL#Security SpactlsQ

Spactls O create L$0&_L#_S$)3R(T*_3(8Paint!ctivityL#SecurityMNQ Spactls%0aseRecord O S0aseRecordQ Spactls%saveL#!ctivityMNQ endEmethodQ method populate!ctivityL#Security Local L$0&_L#_S$)3R(T*_3(8Paint!ctivityL#Security SpactlsQ Spactls O create L$0&_L#_S$)3R(T*_3(8Paint!ctivityL#SecurityMNQ Spactls%0aseRecord O S0aseRecordQ Spactls%populate!ctivityL#SecurityMNQ endEmethodQ method populateL#SecurityRo' 9C Snbr_pL#(d as "umber C9 Local L$0&_L#_S$)3R(T*_3(8Paint!ctivityL#Security SpactlsQ Spactls O create L$0&_L#_S$)3R(T*_3(8Paint!ctivityL#SecurityMNQ Spactls%0aseRecord O S0aseRecordQ Spactls%populateL#SecurityRo'MSnbr_pL#(dNQ endEmethodQ method editLearner#roupSecurityQ Local L$0&_L#_S$)3R(T*_3(8Paint!ctivityL#Security SpactlsQ Spactls O create L$0&_L#_S$)3R(T*_3(8Paint!ctivityL#SecurityMNQ Spactls%0aseRecord O S0aseRecordQ Spactls%editLearner#roupSecurityMNQ endEmethodQ

method hideLearner#roupSecurity Local L$0&_L#_S$)3R(T*_3(8Paint!ctivityL#Security SpactlsQ Spactls O create L$0&_L#_S$)3R(T*_3(8Paint!ctivityL#SecurityMNQ Spactls%0aseRecord O S0aseRecordQ Spactls%hideLearner#roupSecurityMNQ endEmethodQ

method refreshL#SecuritySubPage Local L$0&_L#_S$)3R(T*_3(8Paint!ctivityL#Security SpactlsQ Spactls O create L$0&_L#_S$)3R(T*_3(8Paint!ctivityL#SecurityMNQ Spactls%0aseRecord O S0aseRecordQ Spactls%refreshL#SecuritySubPageMNQ endEmethodQ

method validateLearner#roups 9C Returns 0oolean C9 Local L$0&_L#_S$)3R(T*_3(8Paint!ctivityL#Security SpactlsQ Local boolean Sbol_ValidL#Q Local Ro'set Srs_LM_!)T_S$)Q Spactls O create L$0&_L#_S$)3R(T*_3(8Paint!ctivityL#SecurityMNQ Spactls%0aseRecord O S0aseRecordQ Srs_LM_!)T_S$) O #etLevel,MNM+N%#etRo'setMScroll%LM_!)T_S$)NQ Sbol_ValidL# O Spactls%validateL#!ctivityMSrs_LM_!)T_S$)NQ Return Sbol_ValidL#Q endEmethodQ

method syncupL$andL# 9C Snbr_"e'L$(d as "umberK C9 9C Snbr_&rigL$(d as "umber C9 Local L$0&_L#_S$)3R(T*_3(8Paint!ctivityL#Security SpactlsQ Spactls O create L$0&_L#_S$)3R(T*_3(8Paint!ctivityL#SecurityMNQ Spactls%0aseRecord O S0aseRecordQ Spactls%syncup!ctivityL#SecurityMSnbr_"e'L$(dK Snbr_&rigL$(dNQ endEmethodQ

method deleteL#Security Local L$0&_L#_S$)3R(T*_3(8Paint!ctivityL#Security SpactlsQ Spactls O create L$0&_L#_S$)3R(T*_3(8Paint!ctivityL#SecurityMNQ Spactls%0aseRecord O S0aseRecordQ Spactls%delete!ctivityL#SecurityMNQ endEmethodQ

method deleteL$L#Security 9C Snbr_pL$(d as "umber C9 Local L$0&_L#_S$)3R(T*_3(8Paint!ctivityL#Security SpactlsQ Spactls O create L$0&_L#_S$)3R(T*_3(8Paint!ctivityL#SecurityMNQ Spactls%0aseRecord O S0aseRecordQ Spactls%deleteL$L#SecurityMSnbr_pL$(dNQ endEmethodQ

method setL#)hecHbo@ Local L$0&_L#_S$)3R(T*_3(8Paint!ctivityL#Security SpactlsQ Spactls O create L$0&_L#_S$)3R(T*_3(8Paint!ctivityL#SecurityMNQ Spactls%0aseRecord O S0aseRecordQ Spactls%setL#)hecHbo@MNQ endEmethodQ

method get!ctivityL#(d Local L$0&_L#_S$)3R(T*_3(8Paint!ctivityL#Security SpactlsQ Spactls O create L$0&_L#_S$)3R(T*_3(8Paint!ctivityL#SecurityMNQ Spactls%0aseRecord O S0aseRecordQ Spactls%get!ctivityL#(dMNQ endEmethodQ

method LM_!)T_MTRL_Page!ctivate 9L The follo'ing code uses the attachment application class to format the attachment grid L9 Local Local Local Local Local #rid SgrdQ #rid)olumn Sgrdc_o'nerK Sgrdc_o'nerDisplayQ number SnoteRo'sQ string SaccessQ Ro'set Srs_notesQ

9L add label to the materials grid L9 Sgrd O #et#ridM/PageK PLM_!)T_MTRLPK +NQ Sgrdc_o'ner O Sgrd%#et)olumnMPS (P_&7"$RPNQ Sgrdc_o'nerDisplay O Sgrd%#et)olumnMPS (P_&7"$R_D(SPPNQ Sgrdc_o'nerDisplay%Label O Sgrdc_o'ner%LabelQ 9LL ide the 3RL e@ample 'hen user is in access mode% LL9 (f /Page O PLM_!)T_MTRLP Then Srs_notes O #etLevel,MNM+N%#etRo'setMScroll%LM_!)T_"&T$NQ Saccess O #et3ser&ptionMPPPTLPK P!))$SSPNQ 2or SnoteRo's O + To Srs_notes%!ctiveRo')ount (f Saccess O P!P Then Srs_notes%#etRo'MSnoteRo'sN%#etRecordMRecord%LM_3RL_7$0_7R-N%#et2ieldM2ield%LM_3RL _MS#_L!0$LN%Visible O 2alseQ $lse Srs_notes%#etRo'MSnoteRo'sN%#etRecordMRecord%LM_3RL_7$0_7R-N%#et2ieldM2ield%LM_3RL _MS#_L!0$LN%Value O Msg#etTe@tM+>,>DK 6>K PMessage not found%PNQ Srs_notes%#etRo'MSnoteRo'sN%#etRecordMRecord%LM_3RL_7$0_7R-N%#et2ieldM2ield%LM_3RL

_MS#_L!0$LN%Visible O TrueQ $ndE(fQ $ndE2orQ $ndE(fQ endEmethodQ

method LM_!)T_STTS_)MTS_Page!ctivate Local L$0&_P$RS&"8Person)lass Sob=_PrsnQ Local number S)mnts_Ro'sK SpersonidQ Local Ro'set SRS_!ctK SRS_)mntsQ SRS_!ct O #etLevel,MNQ SRS_)mnts O SRS_!ct%#etRo'M+N%#etRo'setMScroll%LM_!)T_STTS_)MTNQ 2or S)mnts_Ro's O + To SRS_)mnts%!ctiveRo')ount Spersonid O SRS_)mnts%#etRo'MS)mnts_Ro'sN%#etRecordMRecord%LM_!)T_STTS_)MTN%#et2ieldM2ield%LM_ R&7_M!("T_&PR(DN%#etRelatedMLM_&PR_P$R_V7%LM_P$RS&"_(DN%ValueQ Sob=_Prsn O create L$0&_P$RS&"8Person)lassMSpersonidNQ Sob=_Prsn%getPersonDetailsMNQ SRS_)mnts%#etRo'MS)mnts_Ro'sN%#etRecordMRecord%LM_D$R(V$D_"!M$N%#et2ieldM2ield%LM_ D$R(V$D_"!M$N%Value O Sob=_Prsn%getPerson"ameMNQ $ndE2orQ SRS_)mnts%SortMLM_!)T_STTS_)MT%LM_R&7_M!("T_DTTMK PDPNQ endEmethodQ

method LM_!)T_!T) _Page!ctivate 9L The follo'ing code uses the attachment application class to format the attachment grid L9 Local L$RM_3T(L(T($S8!TT!) M$"T SattachmentQ 9L format the attachment grid L9 Sattachment O create L$RM_3T(L(T($S8!TT!) M$"TMNQ Sattachment%2ormat#ridMPLM_!)T_!T) PNQ endEmethodQ

method 7ebcastTriggers Local L$L7_0!T) 8L$L7Session Scls_L$L7Session O create L$L7_0!T) 8L$L7SessionMNQ Local L$L7_0!T) 8L$L7$nroll SL$L7$nroll O create L$L7_0!T) 8L$L7$nrollMNQ Local Ro'set Srs_instrK Srs_sessionsQ Local integer SiK S@K Ssession(DK Sactivity(DK Sinstr(DQ Local string Sstr_userroleK SactivityStatusQ Local array of number Sary_instrQ Local boolean Sprocess)alendarQ Local number SmarHflagK SlmLc(DQ Local string SactionQ Saction O /This%'ebcast!ctionQ SlmLc(D O /This%component(DQ Sprocess)alendar O 2alseQ (f "oneMSlmLc(DN Then SactivityStatus O S0aseRecord%LM_!)T_ST!T3S%ValueQ $ndE(fQ Sactivity(D O S0aseRecord%LM_!)T_(D%ValueQ Sstr_userrole O P;,PQ Sary_instr O )reate!rrayReptM,K ,NQ (f !llMSlmLc(DN Then Srs_sessions O )reateRo'setMRecord%LM_S$S_7$0_V7NQ Srs_sessions%2illMP7 $R$ LM_!)T_(D O 8+ !"D LM_L)_(D O 8;PK Sactivity(DK SlmLc(DNQ

$lse Srs_sessions O )reateRo'setMRecord%LM_S$S_7$0_V7NQ Srs_sessions%2illMP7 $R$ LM_!)T_(D O 8+PK Sactivity(DNQ $ndE(fQ SmarHflag O ,Q 2or S@ O + To Srs_sessions%!ctiveRo')ount Ssession(D O Srs_sessionsMS@N%LM_S$S_7$0_V7%LM_S$S_(D%ValueQ 9L 2rom (nactiveK )losedK PendingK or )oncluded to !ctive then 'e 'ant to create9add L9 (f MM/This%org!ctivityStatus O P;P &r /This%org!ctivityStatus O P4P &r /This%org!ctivityStatus O P<P &r /This%org!ctivityStatus O P6PN !nd MSactivityStatus O P+PNN Then 9L )reate Sessions L9 Scls_L$L7Session%)reateSessionMSsession(DK Sactivity(DNQ Srs_instr O )reateRo'setMRecord%LM_S$S_("STRNQ Srs_instr%2illMP7 $R$ LM_S$S_(D O 8+PK Ssession(DNQ 2or Si O + To Srs_instr%Ro')ount Sinstr(D O Srs_instrMSiN%LM_S$S_("STR%LM_("STR_(D%ValueQ Sary_instr%PushMSinstr(DNQ $ndE2orQ 9L $nroll (nstructors L9 (f Sary_instr%Len I , Then SL$L7$nroll%$nrollSessionMSsession(DK Sary_instrK Sstr_userroleK Sactivity(DNQ $ndE(fQ Sprocess)alendar O TrueQ $ndE(fQ 9L 2rom !ctive to Pending or (nactive then 'e 'ant to delete9remove L9 (f MM/This%org!ctivityStatus O P+PN !nd MSactivityStatus O P<P &r SactivityStatus O P;PNN &r MSaction O PD$L$T$PN Then 9L Delete Sessions L9 Local L$L7_0!T) 8L$L7Session SL$L7Session O create L$L7_0!T) 8L$L7SessionMNQ SL$L7Session%RemoveSessionMSsession(DK Sactivity(DNQ Srs_instr O )reateRo'setMRecord%LM_S$S_("STRNQ Srs_instr%2illMP7 $R$ LM_S$S_(D O 8+PK Ssession(DNQ 2or Si O + To Srs_instr%Ro')ount Sinstr(D O Srs_instrMSiN%LM_S$S_("STR%LM_("STR_(D%ValueQ Sary_instr%PushMSinstr(DNQ $ndE2orQ 9L 3nenroll (nstructors L9 (f Sary_instr%Len I , Then SL$L7$nroll%3n$nrollSessionMSsession(DK Sary_instrK Sstr_userroleK Sactivity(DNQ $ndE(fQ Sprocess)alendar O TrueQ SmarHflag O +Q $ndE(fQ $ndE2orQ (f Sprocess)alendar Then (f !llMSlmLc(DN Then Srs_sessions O )reateRo'setMRecord%LM_S$SNQ Srs_sessions%2illMP7 $R$ LM_!)T_(D O 8+ !"D LM_L)_(D O 8;PK Sactivity(DK SlmLc(DNQ $lse Srs_sessions O )reateRo'setMRecord%LM_S$SNQ Srs_sessions%2illMP7 $R$ LM_!)T_(D O 8+PK Sactivity(DNQ

$ndE(fQ 2or S@ O + To Srs_sessions%!ctiveRo')ount 9LLL (f (nsert or 3pdate L) successfullyK trigger )alendaring logic LLL9 Local RS_ R&(_)!L$"D!R8)omponents8 RS_S) $D3L$_)!L$"D!R Sob=_)alendar O create RS_ R&(_)!L$"D!R8)omponents8 RS_S) $D3L$_)!L$"D!RMNQ Local RS_ R&(_)!L$"D!R83til8)alendar_3tility Sob=_)alendar_3tility O create RS_ R&(_)!L$"D!R83til8)alendar_3tilityMNQ Local number SlcidQ Slcid O Srs_sessionsMS@N%LM_S$S%LM_L)_(D%ValueQ (f Sob=_)alendar_3tility%isScheduledSessionMSactivity(DN Then Sob=_)alendar%marH(nstructor)alendarMSactivity(DK SlcidK SmarHflagNQ $ndE(fQ $ndE2orQ $ndE(fQ (f "oneMSlmLc(DN Then /This%org!ctivityStatus O S0aseRecord%LM_!)T_ST!T3S%ValueQ $ndE(fQ endEmethodQ

Peo1 eCode &A11 P!c>!/e*: LEBL_SESSION_PATTERNS:Se##io"Cre!$io";O"E@ec%$e


import import import import import import import import import import L$RM_S$SS(&"8DeleteSessionsQ L$RM_S$SS(&"82ind$.uipmentQ L$RM_3T(L(T($S8#ridRo'Q L$L7_0!T) 8L$L7SessionQ L$L7_0!T) 8L$L7$nrollQ L$)S_)&MM&"8)&3"T$RQ L$0L_L7)8L7)$nrollmentQ L$0L_3T(L(T($S83tilityQ LM_D08D0!ccessQ L$LM_S) $D3L$D_T(M$8LQ

9LL L !pplication )lass Session)reation8 The purpose of this class L is to manage the logic for building Sessions from Patterns% L9 class Session)reation method $dit)hecHMSnbr_update)ount !s number outK Snbr_delete$@isting !s number outNQ method 0uildL7)MSnbr_session !s numberK Sact(d !s numberNQ method 0uildMS0aseRo' !s Ro'K Snbr_update)ount !s number outK Snbr_delete$@isting !s number outK Sbol_l'c !s booleanNQ M<Start=Met/#$ /a) :ee" create$ t# re)#l*e$ )e))%#" +attre" %))ue %" t/e re)#lut%#"R890815<L met/#$ 3et$aAl%4/tO77)etHPSe))T9 A) )tr%"4J PBa)eDaAL%4/t_tm+ A) :##lea"J PSe))DaAL%4/t_tm+ A) :##lea"J PBa)eDaAL%4/t A) :##lea"J PSe))DaAL%4/t A) :##lea"K Retur") "um:erQ M<E"$=Met/#$ /a) :ee" create$ t# re)#l*e$ )e))%#" +attre" %))ue %" t/e re)#lut%#"R890815<L endEclassQ 9LL L The $dit)hecH method verifies all the re.uired information L has been entered for building sessions% $dit)hecH also ensures that L the information provided can be used to create valid sessions% L9 method $dit)hecH 9C Snbr_update)ount as "umber outK C9 9C Snbr_delete$@isting as "umber out C9

Local L$RM_S$SS(&"8DeleteSessions SDeleteSessions O create L$RM_S$SS(&"8DeleteSessionsMNQ Local L$0L_3T(L(T($S83tility Scls_3tility O create L$0L_3T(L(T($S83tilityMNQ Local Ro'set Srs_ptrnQ Local Ro'set Srs_ptrn$.pQ Local Ro'set Srs_ptrn(nstrQ Local Ro'set Srs_fclty$.pQ Local Ro'set Srs_ptrn$.p)hHQ Local Ro' Sro'_ptrnQ Local Ro' Sro'_ptrn(nstrQ Local Record Srec_ptrnQ Local Record Srec_ptrn$.pQ Local 2ield Sfld_fclty(dQ Local 2ield Sfld_startDtQ Local 2ield Sfld_startTmQ Local 2ield Sfld_endTmQ Local 2ield Sfld_timeToneQ Local 2ield Sfld_durnDaysQ Local 2ield Sfld_mondayQ Local 2ield Sfld_tuesdayQ Local 2ield Sfld_'ednesdayQ Local 2ield Sfld_thursdayQ Local 2ield Sfld_fridayQ Local 2ield Sfld_saturdayQ Local 2ield Sfld_sundayQ Local 2ield Sfld_ptrn$.p(dQ Local 2ield Sfld_ptrn$.pTypeQ Local 2ield Sfld_e.pTypeDescrQ Local 2ield Sfld_fcltyDescrQ Local 2ield Sfld_fclty$.pTypeQ Local 2ield Sfld_ptrn$.p)hHQ Local array of number Sary_fclty$.pTypeQ Local integer Sint_iQ Local integer Sint_HQ Local integer Sint_=Q Local number Snbr_e.pType2oundQ Local number Snbr_ptrn$.p)ountQ Local number Snbr_fclty$.p)ountQ Local string Sstr_fldLabelQ Local time Stm_startTmQ Local time Stm_endTmQ Srs_ptrn O #etRo'setMScroll%LM_S$S_PTR"NQ 9Lif /)omponentOPLM_)"T_TMPLP then else Srs_ptrn O #etLevel,MNM+N%#etRo'setMScroll%LM_S$S_PTR"NQ endEifQL9 9L maHe sure all instructors have an instructor type before continuing L9 2or Sint_i O + To Srs_ptrn%!ctiveRo')ount Srs_ptrn(nstr O Srs_ptrnMSint_iN%#etRo'setMScroll%LM_PTR"_("STRNQ 2or Sint_= O + To Srs_ptrn(nstr%!ctiveRo')ount Sro'_ptrn(nstr O Srs_ptrn(nstr%#etRo'MSint_=NQ (f !llMSrs_ptrn(nstrMSint_=N%LM_PTR"_("STR%LM_("STR_(D%ValueN !nd MSro'_ptrn(nstr%(sDeleted O 2alseN Then (f "oneMSrs_ptrn(nstrMSint_=N%LM_PTR"_("STR%LM_R&L$_(D%ValueN Then Sstr_fldLabel O Srs_ptrn(nstrMSint_=N%LM_PTR"_("STR%LM_R&L$_(D%#etShortLabelMPLM_("STR_T*P$PNQ Message0o@M,K PPK +>,G;K +,+4K PPNQ $ndE(fQ $ndE(fQ $ndE2orQ $ndE2orQ 9L)hecH re.uirements for Session 0uild ProcessL9 9LVerify There is a Start DateK Duration DaysK and Do7 for all PatternsL9 2or Sint_i O + To Srs_ptrn%!ctiveRo')ount Sro'_ptrn O Srs_ptrnMSint_iNQ

Srec_ptrn O Sro'_ptrn%#etRecordMRecord%LM_S$S_PTR"NQ Sfld_fclty(d O Srec_ptrn%#et2ieldM2ield%LM_2)LT*_(DNQ Sfld_startDt O Srec_ptrn%#et2ieldM2ield%LM_ST!RT_DTNQ Sfld_startTm O Srec_ptrn%#et2ieldM2ield%LM_ST!RT_TMNQ Sfld_endTm O Srec_ptrn%#et2ieldM2ield%LM_$"D_TMNQ Sfld_timeTone O Srec_ptrn%#et2ieldM2ield%T(M$?&"$NQ Sfld_durnDays O Srec_ptrn%#et2ieldM2ield%LM_D3R"_D!*SNQ Sfld_monday O Srec_ptrn%#et2ieldM2ield%LM_M&"D!*NQ Sfld_tuesday O Srec_ptrn%#et2ieldM2ield%LM_T3$SD!*NQ Sfld_'ednesday O Srec_ptrn%#et2ieldM2ield%LM_7$D"$SD!*NQ Sfld_thursday O Srec_ptrn%#et2ieldM2ield%LM_T 3RSD!*NQ Sfld_friday O Srec_ptrn%#et2ieldM2ield%LM_2R(D!*NQ Sfld_saturday O Srec_ptrn%#et2ieldM2ield%LM_S!T3RD!*NQ Sfld_sunday O Srec_ptrn%#et2ieldM2ield%LM_S3"D!*NQ (f "oneMSfld_startDt%ValueN Then Srec_ptrn%LM_ST!RT_DT%Style O PPS$RR&RPQ rem Set)ursorPosM/PageK Srec_ptrn%#et2ieldM2ield%LM_ST!RT_DTNK Sint_iNQ Message0o@M,K P$rrorPK +>,G;K +,,;K PPNQ rem $rror PRo' P R StringMSint_iNQ $ndE(fQ (f !llMSfld_durnDays%ValueN Then Snbr_update)ount O Snbr_update)ount C Sfld_durnDays%ValueQ $lse Srec_ptrn%LM_D3R"_D!*S%Style O PPS$RR&RPQ rem Set)ursorPosM/PageK Srec_ptrn%#et2ieldM2ield%LM_D3R"_D!*SNK Sint_iNQ Message0o@M,K P$rrorPK +>,G;K +,,4K PPNQ $ndE(fQ (f "oneMSfld_startTm%ValueN Then Srec_ptrn%LM_ST!RT_TM%Style O PPS$RR&RPQ rem Set)ursorPosM/PageK Srec_ptrn%#et2ieldM2ield%LM_ST!RT_TMNK Sint_iNQ Message0o@M,K P$rrorPK +>,G;K +44FK PPNQ $ndE(fQ (f "oneMSfld_endTm%ValueN Then Srec_ptrn%LM_$"D_TM%Style O PPS$RR&RPQ rem Set)ursorPosM/PageK Srec_ptrn%#et2ieldM2ield%LM_$"D_TMNK Sint_iNQ Message0o@M,K P$rrorPK +>,G;K +44>K PPNQ $ndE(fQ (f "oneMSfld_timeTone%ValueN Then Srec_ptrn%T(M$?&"$%Style O PPS$RR&RPQ rem Set)ursorPosM/PageK Srec_ptrn%#et2ieldM2ield%T(M$?&"$NK Sint_iNQ Message0o@M,K P$rrorPK +>,G;K +44GK PPNQ $ndE(fQ (f !llMSfld_startTm%ValueN !nd !llMSfld_endTm%ValueN Then 9L )onvert times to local for comparison L9 Stm_startTm O Scls_3tility%TimeToTime?oneMSfld_startTm%ValueK /ServerTime?oneK Sfld_timeTone%ValueNQ Stm_endTm O Scls_3tility%TimeToTime?oneMSfld_endTm%ValueK /ServerTime?oneK Sfld_timeTone%ValueNQ 9L$nd Time cannot come before Start Time L9 (f Stm_endTm U Stm_startTm Then Srec_ptrn%LM_ST!RT_TM%Style O PPS$RR&RPQ Srec_ptrn%LM_$"D_TM%Style O PPS$RR&RPQ rem Set)ursorPosMPage%LM_L)_PTR"K LM_S$S_PTR"%LM_ST!RT_TMK Sint_iNQ $rror MMsg#etM+>,G;K D,+<K PPNNQ $ndE(fQ $ndE(fQ (f Sfld_monday%Value O P"P !nd

Sfld_tuesday%Value O P"P !nd Sfld_'ednesday%Value O P"P !nd Sfld_thursday%Value O P"P !nd Sfld_friday%Value O P"P !nd Sfld_saturday%Value O P"P !nd Sfld_sunday%Value O P"P Then Srec_ptrn%LM_M&"D!*%Style O PPS$RR&RPQ Srec_ptrn%LM_T3$SD!*%Style O PPS$RR&RPQ Srec_ptrn%LM_7$D"$SD!*%Style O PPS$RR&RPQ Srec_ptrn%LM_T 3RSD!*%Style O PPS$RR&RPQ Srec_ptrn%LM_2R(D!*%Style O PPS$RR&RPQ Srec_ptrn%LM_S!T3RD!*%Style O PPS$RR&RPQ Srec_ptrn%LM_S3"D!*%Style O PPS$RR&RPQ rem Set)ursorPosM/PageK LM_S$S_PTR"%LM_M&"D!*K Sint_iNQ Message0o@M,K P$rrorPK +>,G;K +,,<K PPNQ $ndE(fQ 9LVerify 2acility e@ists if $.uipment Type but not $uipment (D specifiedL9 (f "oneMSfld_fclty(d%ValueN Then Srs_ptrn$.p O Srs_ptrnMSint_iN%#etRo'setMScroll%LM_PTR"_$QPNQ 2or Sint_= O + To Srs_ptrn$.p%Ro')ount Srec_ptrn$.p O Srs_ptrn$.pMSint_=N%#etRecordMRecord%LM_PTR"_$QPNQ Sfld_ptrn$.p(d O Srec_ptrn$.p%#et2ieldM2ield%LM_$QP_(DNQ Sfld_ptrn$.pType O Srec_ptrn$.p%#et2ieldM2ield%LM_$QP_T*P$_(DNQ (f !llMSfld_ptrn$.pType%ValueN !nd "oneMSfld_ptrn$.p(d%ValueN Then Srec_ptrn%LM_2)LT*_(D%Style O PPS$RR&RPQ rem Set)ursorPosM/PageK LM_S$S_PTR"%LM_2)LT*_(DK Sint_iNQ Message0o@M,K P$rrorPK +>,G;K +,,6K PPNQ $ndE(fQ $ndE2orQ $ndE(fQ 9LVerify enough $.ipment e@ists for $.uipment Types at 2acility L9 Srs_ptrn$.p O Srs_ptrnMSint_iN%#etRo'setMScroll%LM_PTR"_$QPNQ 2or Sint_= O + To Srs_ptrn$.p%Ro')ount (f "ot Srs_ptrn$.pMSint_=N%(sDeleted Then Srec_ptrn$.p O Srs_ptrn$.pMSint_=N%#etRecordMRecord%LM_PTR"_$QPNQ Sfld_ptrn$.p(d O Srec_ptrn$.p%#et2ieldM2ield%LM_$QP_(DNQ Sfld_ptrn$.pType O Srec_ptrn$.p%#et2ieldM2ield%LM_$QP_T*P$_(DNQ (f !llMSfld_ptrn$.pType%ValueN !nd "oneMSfld_ptrn$.p(d%ValueN Then (f "oneMSfld_fclty(d%ValueN Then Srec_ptrn%LM_2)LT*_(D%Style O PPS$RR&RPQ rem Set)ursorPosM/PageK LM_S$S_PTR"%LM_2)LT*_(DK Sint_iNQ Message0o@M,K P$rrorPK +>,G;K +,,6K PPNQ $ndE(fQ 9L)ount number of that $.uipment Type in scrollL9 Snbr_ptrn$.p)ount O ,Q Srs_ptrn$.p)hH O Srs_ptrnMSint_iN%#etRo'setMScroll%LM_PTR"_$QPNQ 2or Sint_H O + To Srs_ptrn$.p)hH%Ro')ount Sfld_ptrn$.p)hH O Srs_ptrn$.p)hHMSint_HN%#etRecordMRecord%LM_PTR"_$QPN%#et2ieldM2ield%LM_$QP_T*P$_(D NQ (f Sfld_ptrn$.p)hH%Value O Sfld_ptrn$.pType%Value !nd "ot Srs_ptrn$.p)hHMSint_HN%(sDeleted Then Snbr_ptrn$.p)ount O Snbr_ptrn$.p)ount C +Q $ndE(fQ

$ndE2orQ 9L)ount number of that $.uipment Type at 2acilityL9 Srs_fclty$.p O )reateRo'setMRecord%LM_2)L$QPT*P_V7NQ Srs_fclty$.p%2illMP7 $R$ LM_2)LT*_(D O 8+ !"D LM_$QP_T*P$_(D O 8;PK Sfld_fclty(d%ValueK Sfld_ptrn$.pType%ValueNQ Sfld_fclty$.pType O Srs_fclty$.pM+N%#etRecordMRecord%LM_2)L$QPT*P_V7N%#et2ieldM2ield%LM_$QP_T*P$_(DNQ (f !llMSfld_fclty$.pType%ValueN Then Snbr_fclty$.p)ount O Srs_fclty$.p%Ro')ountQ $lse Snbr_fclty$.p)ount O ,Q $ndE(fQ 9L$rror if insufficient $.uipment at 2acilityL9 (f Snbr_ptrn$.p)ount I Snbr_fclty$.p)ount Then Sfld_e.pTypeDescr O Sfld_ptrn$.pType%#etRelatedMLM_$QP_T*P$_V7%LM_$QP_T*P$NQ Sfld_fcltyDescr O Sfld_fclty(d%#etRelatedMLM_2)LT*_V7%LM_2)LT*NQ Message0o@M,K P$rrorPK +>,G;K +,,DK PPK Sfld_e.pTypeDescr%ValueK Sfld_fcltyDescr%ValueNQ $ndE(fQ $ndE(fQ $ndE(fQ $ndE2orQ $ndE2orQ 9L7arning to convey sessions 'ill be deletedL9 (f LM_RM_S$S_7R-%LM_D$L$T$_$5(ST("# O P*P Then Snbr_delete$@isting O SDeleteSessions%7arnMPe@istingPNQ $ndE(fQ 9LPage Must be saved E SaveL9 DoSave"o'MNQ endEmethodQ 9LL L The 0uildL7) method creates L7) Details for a ne' Sessions% L9 method 0uildL7) 9C Snbr_session as "umberK C9 9C Sact(d as "umber C9 Local L$L7_0!T) 8L$L7Session Scls_L$L7Session O create L$L7_0!T) 8L$L7SessionMNQ Scls_L$L7Session%)reateSessionMSnbr_sessionK Sact(dNQ endEmethodQ 9LL L The 0uild method creates Sessions from the Session Pattern% L9 method 0uild 9C S0aseRo' as Ro'K C9 9C Snbr_update)ount as "umber outK C9 9C Snbr_delete$@isting as "umber outK C9 9C Sbol_l'c as 0oolean C9 Local LM_D08D0!ccess Sdb&b= O create LM_D08D0!ccessMNQ Local number Snbr_Ret)odeQ Local boolean Sbol_Ret)odeQ

Local L$)S_)&MM&"8)&3"T$R S)ounter O create L$)S_)&MM&"8)&3"T$RMNQ Local L$RM_S$SS(&"8DeleteSessions SDeleteSessions O create L$RM_S$SS(&"8DeleteSessionsMNQ Local L$0L_L7)8L7)$nrollment SL7)$nrollment O create L$0L_L7)8L7)$nrollmentMNQ Local L$L7_0!T) 8L$L7$nroll SL$L7$nroll O create L$L7_0!T) 8L$L7$nrollMNQ Local L$RM_S$SS(&"82ind$.uipment S2ind$.uipmentQ Local Ro'set Srs_actQ Local Ro'set Srs_ptrnQ Local Ro'set Srs_ptrn$.pQ Local Ro'set Srs_ptrn(nstrQ Local Ro'set Srs_ptrn$.p)hHQ Local Ro' Sro'_ptrnQ Local Record Srec_lcQ Local Record Srec_ptrnQ Local Record Srec_ptrn(nstrQ Local Record Srec_ptrn$.pQ Local Record Srec_sesQ Local Record Srec_ses(nstrQ Local Record Srec_ses$.pQ Local Record Srec_fcltyQ Local Record Srec_hlDayQ Local Record Srec_lcl'cQ Local Record Srec_l'cSesQ Local 2ield Sfld_fclty(dQ Local 2ield Sfld_startDtQ Local 2ield Sfld_durnDaysQ Local 2ield Sfld_mondayQ Local 2ield Sfld_tuesdayQ Local 2ield Sfld_'ednesdayQ Local 2ield Sfld_thursdayQ Local 2ield Sfld_fridayQ Local 2ield Sfld_saturdayQ Local 2ield Sfld_sundayQ Local 2ield Sfld_ptrn(nstr(dQ Local 2ield Sfld_ptrn$.p(dQ Local 2ield Sfld_ptrn$.p)hHQ Local array of number Sary_'eeHDaysQ Local array of number Sary_$.pQ Local array of number Sary_instr_addQ Local array of number Sary_ses(dQ Local date Sdt_checHDateQ Local integer Sint_iQ Local integer Sint_=Q Local integer Sint_HQ Local integer Sint_LQ Local integer Sint_durnDaysQ Local number Snbr_dayfoundQ Local number Sint_'eeHDayQ Local number Snbr_act(dQ Local number Snbr_lc(dQ Local number Snbr_ne'-eyQ Local string Sstr_addSesQ Local string Sstr_hlDay2oundQ Local string Sstr_obsrv olidaysQ Local string Sstr_hlDaySchdQ Local string Sstr_userrole O P;,PQ Local 2ield Sfld_ptrn$.pTypeQ Local number Snbr_e.p(dQ Local time Stm_startTmQ Local time Stm_endTmQ Local date Sdt_act$ndDtQ Local Local Local Local Local Local string Sstr+K Sstr;Q datetime Sdtm+K Sdtm;K SdtmtmpQ boolean SfirstQ 2ield Sfld_timeToneK Sfld_timeToneeQ date Sdt_checHDate(n3srT?Q time Stm_SesnStartTmK Stm_Sesn$ndTmQ

Local L$LM_S) $D3L$D_T(M$8Session)lass SlSession)lassQ Local L$LM_S) $D3L$D_T(M$8(nstructor)lass Sl(nstructor)lassQ

Local L$LM_S) $D3L$D_T(M$8!ctivity)lass Sl!ctivity)lass O create L$LM_S) $D3L$D_T(M$8!ctivity)lassMNQ 6<Start= (#$e A$$e$ t# re)#l*e$ )e))%#" +attre" %))ue %" t/e re)#lut%#"R890815<6 L#cal $ate P$t_c/ec?Date1Q L#cal :##lea" PBa)eDaAl%4/tSa*_tm+J PSe))DaAl%4/tSa*_tm+J PBa)eDaAl%4/tSa*J PSe))DaAl%4/tSa*Q L#cal "um:er PDaAl%4/tO77SetQ 6<E"$= (#$e A$$e$ t# re)#l*e$ )e))%#" +attre" %))ue %" t/e re)#lut%#"R890815<6 9L Set !ctivity Status 2lags L9 (f /)omponent O PLM_)"T_TMPLP Then Sl!ctivity)lass%LMStatus O LM_)T_!)T_)L&"$%LM_!)T_ST!T3S%ValueQ Sl!ctivity)lass%LM&ldStatus O LM_)T_!)T_)L&"$%LM_!)T_ST!T3S%ValueQ $lse Sl!ctivity)lass%LMStatus O LM_!)T_)(_V7%LM_!)T_ST!T3S%ValueQ Sl!ctivity)lass%LM&ldStatus O LM_!)T_)(_V7%LM_!)T_ST!T3S%ValueQ $ndE(fQ Sl!ctivity)lass%)hecHStatus)hangeMNQ 9L &nly )all Scheduled Time if !ctivity is in a Status they care about L9 (f Sl!ctivity)lass%Send!ctivity Then Sl!ctivity)lass%LM!ct(D O LM_L)%LM_!)T_(D%ValueQ (f /)omponent O PLM_)"T_TMPLP Then Sl!ctivity)lass%LM!ct)d O LM_)T_!)T_)L&"$%LM_!)T_)D%ValueQ Sl!ctivity)lass%)ourse"ame O LM_)T_)(_)L&"$%LM_)S_L&"#_"M%ValueQ $lse Sl!ctivity)lass%LM!ct)d O LM_!)T_)(_V7%LM_!)T_)D%ValueQ Sl!ctivity)lass%)ourse"ame O LM_!)T_)(_V7%LM_)S_L&"#_"M%ValueQ $ndE(fQ $ndE(fQ 9L)hecH Delete )onfirmation from 2ield $ditL9 (f Snbr_delete$@isting O + Then Local L$RM_3T(L(T($S8#ridRo' S#ridRo' O create L$RM_3T(L(T($S8#ridRo'MNQ Local string Sstr_recordQ 9L)hecH !ll SessionsL9 Sstr_record O PLM_S$SPQ S#ridRo'%)hecH!llMSstr_recordNQ SDeleteSessions%$@ecuteMSbol_l'cNQ Snbr_delete$@isting O ,Q $ndE(fQ S2ind$.uipment O create L$RM_S$SS(&"82ind$.uipmentMNQ Srec_lc O S0aseRo'%#etRecordMRecord%LM_L)NQ Srs_ptrn O S0aseRo'%#etRo'setMScroll%LM_S$S_PTR"NQ Srec_ses O )reateRecordMRecord%LM_S$SNQ Srec_ses(nstr O )reateRecordMRecord%LM_S$S_("STRNQ Srec_ses$.p O )reateRecordMRecord%LM_S$S_$QPNQ Sary_ses(d O )reate!rrayReptM,K ,NQ Snbr_act(d O Srec_lc%LM_!)T_(D%ValueQ Snbr_lc(d O Srec_lc%LM_L)_(D%ValueQ Sstr_obsrv olidays O Srec_lc%LM_&0SRV_ &L(D!*S%ValueQ 9L #et !ctivity Details L9 Srs_act O )reateRo'setMRecord%LM_!)TNQ Srs_act%2illMP7 $R$ LM_!)T_(D O 8+PK Srec_lc%LM_!)T_(D%ValueNQ Sdt_act$ndDt O Srs_actM+N%LM_!)T%LM_$"D_DT%ValueQ 9L#et Session -eyL9 9L #et the first LM_S$S_(D counter to use and locH the table ro'L9

9Lfor the duration of this program%L9 Snbr_ne'-ey O S)ounter%#et"e@t#roupMPLM_RM_)&3"T$R%LM_S$S_(DPK Snbr_update)ountNQ Snbr_ne'-ey O Snbr_ne'-ey E Snbr_update)ountQ 9LLoop Through all the Patterns for the !ctivityL9 2or Sint_i O + To Srs_ptrn%!ctiveRo')ount Sro'_ptrn O Srs_ptrnMSint_iNQ Srec_ptrn O Sro'_ptrn%#etRecordMRecord%LM_S$S_PTR"NQ Sdt_checHDate O Srec_ptrn%#et2ieldM2ield%LM_ST!RT_DTN%ValueQ Sint_durnDays O Srec_ptrn%#et2ieldM2ield%LM_D3R"_D!*SN%ValueQ Stm_startTm O Srec_ptrn%#et2ieldM2ield%LM_ST!RT_TMN%ValueQ Stm_endTm O Srec_ptrn%#et2ieldM2ield%LM_$"D_TMN%ValueQ Local time Stm_startTm_tmp O Stm_startTmQ Local time Stm_endTm_tmp O Stm_endTmQ 6<Start= (#$e A$$e$ t# re)#l*e$ )e))%#" +attre" %))ue %" t/e re)#lut%#"R890815<6 P$t_c/ec?Date1 I P$t_c/ec?DateQ PBa)eDaAl%4/tSa*_tm+ I I)DaAl%4/tSa*%"4)HP$t_c/ec?Date C Ptm_)tartTmJ .Ser*erT%me9#"eKQ PSe))DaAl%4/tSa*_tm+ I I)DaAl%4/tSa*%"4)HP$t_c/ec?Date C Ptm_)tartTmJ Prec_+tr"E3et-%el$H-%el$ETIME9ONEKE alueKQ 6<E"$=(#$e A$$e$ t# re)#l*e$ )e))%#" +attre" %))ue %" t/e re)#lut%#"R890815<6 9L obtain datetime value in base time L9 Sstr+ O StringMDateTimeToLocaliTedStringMSdt_checHDateK PMM9dd9yyPNNQ Sstr; O StringMTimeMStm_startTmNNQ Sstr+ O Sstr+ R P P R Sstr;Q Sdtm+ O DateTimeValueMSstr+NQ IJcon/ert datetime to u0er timeNone JI 6<c#"*ert $atet%me t# u)er t%me>#"e 7#r a%$at%#" +ur+#)e <6 Sfld_timeTone O Srec_ptrn%#et2ieldM2ield%T(M$?&"$NQ Sdtm; O DateTimeToTime?oneMSdtm+K /ServerTime?oneK Sfld_timeTone%ValueNQ 6<Start= (#mme"te$ I7 a"$ El)e c#"$%t%#" :el#& a"$ A$$e$ "e& t# c/ec? t/e 1#l%$aA)6U"c/ec?e$ DaA) a"$ (#rrect u)er t%me >#"e Date %" Re)#lut%#"R890815<6 M< 9L separate date and time L9 Stm_startTm O TimePartMSdtm;NQ Sdtmtmp O Sdtm;Q 9L for end dateL9 9L obtain datetime value in base time L9 Sstr; Sstr+ Sstr+ Sdtm+ O O O O StringMTimeMStm_endTmNNQ StringMDateTimeToLocaliTedStringMSdt_checHDateK PMM9dd9yyPNNQ Sstr+ R P P R Sstr;Q DateTimeValueMSstr+NQ

9Lconvert datetime to user timeTone L9 Sfld_timeTonee O Srec_ptrn%#et2ieldM2ield%T(M$?&"$NQ Sdtm; O DateTimeToTime?oneMSdtm+K /ServerTime?oneK Sfld_timeTonee%ValueNQ 9L separate date and time L9 Stm_endTm O TimePartMSdtm;NQ Sdt_checHDate O DatePartMSdtmtmpNQ <L 6<E"$= (#mme"te$ I7 a"$ El)e c#"$%t%#" :el#& a"$ A$$e$ "e& t# c/ec? t/e 1#l%$aA)6U"c/ec?e$ DaA) a"$ (#rrect u)er t%me >#"e Date %" Re)#lut%#"R890815<6 P7l$_t%me>#"ee I Prec_+tr"E3et-%el$H-%el$ETIME9ONEKQ Sfirst O TrueQ 9L#et oliday Schedule for 2acilityL9 Sfld_fclty(d O Srec_ptrn%#et2ieldM2ield%LM_2)LT*_(DNQ Srec_fclty O )reateRecordMRecord%LM_2)LT*_T0LNQ

Srec_fclty%LM_2)LT*_(D%Value O Sfld_fclty(d%ValueQ Sbol_Ret)ode O Sdb&b=%Select0y-eyMSrec_fcltyNQ Sstr_hlDaySchd O Srec_fclty%LM_ LD!*_S) $D_(D%ValueQ 9L0uild !rray of 7eeH DaysL9 Sfld_monday O Srec_ptrn%#et2ieldM2ield%LM_M&"D!*NQ Sfld_tuesday O Srec_ptrn%#et2ieldM2ield%LM_T3$SD!*NQ Sfld_'ednesday O Srec_ptrn%#et2ieldM2ield%LM_7$D"$SD!*NQ Sfld_thursday O Srec_ptrn%#et2ieldM2ield%LM_T 3RSD!*NQ Sfld_friday O Srec_ptrn%#et2ieldM2ield%LM_2R(D!*NQ Sfld_saturday O Srec_ptrn%#et2ieldM2ield%LM_S!T3RD!*NQ Sfld_sunday O Srec_ptrn%#et2ieldM2ield%LM_S3"D!*NQ Sary_'eeHDays O )reate!rrayReptM,K ,NQ (f Sfld_sunday%Value O P*P Then Sary_'eeHDays%PushM+NQ $ndE(fQ (f Sfld_monday%Value O P*P Then Sary_'eeHDays%PushM;NQ $ndE(fQ (f Sfld_tuesday%Value O P*P Then Sary_'eeHDays%PushM4NQ $ndE(fQ (f Sfld_'ednesday%Value O P*P Then Sary_'eeHDays%PushM<NQ $ndE(fQ (f Sfld_thursday%Value O P*P Then Sary_'eeHDays%PushM6NQ $ndE(fQ (f Sfld_friday%Value O P*P Then Sary_'eeHDays%PushMDNQ $ndE(fQ (f Sfld_saturday%Value O P*P Then Sary_'eeHDays%PushMFNQ $ndE(fQ 9LLoop Through all the dates for the PatternL9 2or Sint_= O + To Sint_durnDays Repeat Sstr_addSes O P*PQ 6<Start= (#mme"te$ I7 a"$ El)e c#"$%t%#" :el#& a"$ A$$e$ "e& t# c/ec? t/e 1#l%$aA)6U"c/ec?e$ DaA) a"$ (#rrect u)er t%me >#"e Date %" Re)#lut%#"R890815<6 M< (f Sfirst Then Sdt_checHDate(n3srT? O Sdt_checHDateQ $lse Stm_startTm O Stm_startTm_tmpQ Stm_endTm O Stm_endTm_tmpQ Sstr+ O StringMDateTimeToLocaliTedStringMSdt_checHDateK PMM9dd9yyPNNQ Sstr; O StringMTimeMStm_startTmNNQ Sstr+ O Sstr+ R P P R Sstr;Q Sdtm+ O DateTimeValueMSstr+NQ 9Lconverts datetime from base timeTone to user timeTone so that validations can be doneL9 Sdtm; O DateTimeToTime?oneMSdtm+K /ServerTime?oneK Sfld_timeTonee%ValueNQ 9L separate date and time L9 Sdt_checHDate(n3srT? O DatePartMSdtm;NQ Stm_startTm O TimePartMSdtm;NQ

PMM9dd9yyPNNQ

Sstr+ O StringMDateTimeToLocaliTedStringMSdt_checHDateK

Sstr; O StringMTimeMStm_endTmNNQ Sstr+ O Sstr+ R P P R Sstr;Q Sdtm+ O DateTimeValueMSstr+NQ 9Lconverts datetime from base timeTone to user timeTone so that validations can be doneL9 Sdtm; O DateTimeToTime?oneMSdtm+K /ServerTime?oneK Sfld_timeTonee%ValueNQ Stm_endTm O TimePartMSdtm;NQ $ndE(fQ <L 6<E"$= (#mme"te$ I7 a"$ El)e c#"$%t%#" :el#& a"$ A$$e$ "e& t# c/ec? t/e 1#l%$aA)6U"c/ec?e$ DaA) a"$ (#rrect u)er t%me >#"e Date %" Re)#lut%#"R890815<6 6<Start= Ne& I7 a"$ El)e c#"$%t%#" A$$e$ t# c/ec? t/e 1#l%$aA)6U"c/ec?e$ DaA) a"$ (#rrect u)er t%me >#"e Date %" Re)#lut%#"R890815<6 I7 P7%r)t T/e" P$t_c/ec?DateI"U)rT9 I DatePartHP$tm8KQ Ptm_Se)"StartTm I Ptm_)tartTm_tm+Q Ptm_Se)"E"$Tm I Ptm_e"$Tm_tm+Q P7%r)t I -al)eQ El)e Ptm_)tartTm I Ptm_)tartTm_tm+Q Ptm_e"$Tm I Ptm_e"$Tm_tm+Q P)tr1 I Str%"4HDateT%meT#L#cal%>e$Str%"4HP$t_c/ec?DateJ SMM6$$6AASKKQ P)tr8 I Str%"4HT%meHPtm_)tartTmKKQ P)tr1 I P)tr1 U S S U P)tr8Q P$tm1 I DateT%me alueHP)tr1KQ 6<c#"*ert) $atet%me 7r#m :a)e t%me>#"e t# u)er t%me>#"e )# t/at *al%$at%#") ca" :e $#"e<6 P$tm8 I DateT%meT#T%me9#"eHP$tm1J .Ser*erT%me9#"eJ P7l$_t%me>#"eeE alueKQ PBa)eDaAl%4/tSa* I I)DaAl%4/tSa*%"4)HP$tm8J .Ser*erT%me9#"eKQ PSe))DaAl%4/tSa* I I)DaAl%4/tSa*%"4)HP$tm8J P7l$_t%me>#"eeE alueKQ PDaAl%4/tO77Set I .T/%)E3et$aAl%4/tO77)etHP7l$_t%me>#"eeE alueJ PBa)eDaAl%4/tSa*_tm+J PSe))DaAl%4/tSa*_tm+J PBa)eDaAl%4/tSa*J PSe))DaAl%4/tSa*KQ Ptm_Se)"StartTm I A$$T#T%meHPtm_)tartTm_tm+J 0J PDaAl%4/tO77SetJ 0KQ P$t_c/ec?Date1 I DatePartHA$$T#DateT%meHP$tm1J 0J 0J 0J 0J PDaAl%4/tO77SetJ 0KKQ P$t_c/ec?DateI"U)rT9 I DatePartHP$tm8KQ P)tr1 I Str%"4HDateT%meT#L#cal%>e$Str%"4HP$t_c/ec?DateJ SMM6$$6AASKKQ P)tr8 I Str%"4HT%meHPtm_e"$TmKKQ P)tr1 I P)tr1 U S S U P)tr8Q P$tm1 I DateT%me alueHP)tr1KQ 6<c#"*ert) $atet%me 7r#m :a)e t%me>#"e t# u)er t%me>#"e )# t/at *al%$at%#") ca" :e $#"e<6 P$tm8 I DateT%meT#T%me9#"eHP$tm1J .Ser*erT%me9#"eJ P7l$_t%me>#"eeE alueKQ PBa)eDaAl%4/tSa* I I)DaAl%4/tSa*%"4)HP$tm8J .Ser*erT%me9#"eKQ PSe))DaAl%4/tSa* I I)DaAl%4/tSa*%"4)HP$tm8J P7l$_t%me>#"eeE alueKQ PDaAl%4/tO77Set I .T/%)E3et$aAl%4/tO77)etHP7l$_t%me>#"eeE alueJ PBa)eDaAl%4/tSa*_tm+J PSe))DaAl%4/tSa*_tm+J PBa)eDaAl%4/tSa*J PSe))DaAl%4/tSa*KQ Ptm_Se)"E"$Tm I A$$T#T%meHPtm_e"$Tm_tm+J 0J PDaAl%4/tO77SetJ 0KQ E"$=I7Q 6<E"$= Ne& I7 a"$ El)e c#"$%t%#" A$$e$ t# c/ec? t/e 1#l%$aA)6U"c/ec?e$ DaA) a"$ (#rrect u)er t%me >#"e Date %" Re)#lut%#"R890815<6 9L)hecH Do7L9 Sint_'eeHDay O 7eeHdayMSdt_checHDate(n3srT?NQ Snbr_dayfound O Sary_'eeHDays%2indMSint_'eeHDayNQ (f Snbr_dayfound O , Then Sstr_addSes O P"PQ $ndE(fQ 9L)hecH olidayL9

(f Sstr_addSes O P*P !nd Sstr_obsrv olidays O P*P Then Srec_hlDay O )reateRecordMRecord%LM_ LD!*_DTNQ Srec_hlDay%LM_ LD!*_S) $D_(D%Value O Sstr_hlDaySchdQ Srec_hlDay%LM_ LD!*_DT%Value O Sdt_checHDate(n3srT?Q Sbol_Ret)ode O Sdb&b=%Select0y-eyMSrec_hlDayNQ Sstr_hlDay2ound O Srec_hlDay%LM_ LD!*_S) $D_(D%ValueQ (f !llMSstr_hlDay2oundN Then Sstr_addSes O P"PQ $ndE(fQ $ndE(fQ 9L $rror if Session Date beyond !ctivity $nd Date L9 (f !llMSdt_act$ndDtN !nd Sdt_checHDate I Sdt_act$ndDt Then $rror MMsg#etM+>,G;K +4<+K PPNNQ $ndE(fQ (f Sstr_addSes O P*P Then 6<Start= (#mme"te$ I7 a"$ El)e c#"$%t%#" :el#& a) &e are "# m#re c#"*ert%"4 )e))%#" t%me 7r#m Ba)e t# U)er t%me >#"e a:#*e %" re)#lut%#" R890815<6 M< (f Sfirst Then Sstr+ O StringMDateTimeToLocaliTedStringMSdt_checHDateK PMM9dd9yyPNNQ Sstr; O StringMTimeMStm_startTmNNQ Sstr+ O Sstr+ R P P R Sstr;Q Sdtm+ O DateTimeValueMSstr+NQ 9Lconvert datetime to base timeTone L9 Sdtm; O DateTimeToTime?oneMSdtm+K Sfld_timeTonee%ValueK /ServerTime?oneNQ 9L separate date and time L9 Stm_SesnStartTm O TimePartMSdtm;NQ Stm_startTm O TimePartMSdtm;NQ Sdtmtmp O Sdtm;Q 9L for end dateL9 9L obtain datetime value in base time L9 Sstr; O StringMTimeMStm_endTmNNQ Sstr+ O StringMDateTimeToLocaliTedStringMSdt_checHDateK PMM9dd9yyPNNQ Sstr+ O Sstr+ R P P R Sstr;Q Sdtm+ O DateTimeValueMSstr+NQ 9Lconvert datetime to user timeTone L9 Sdtm; O DateTimeToTime?oneMSdtm+K Sfld_timeTonee%ValueK /ServerTime?oneNQ 9L separate date and time L9 Stm_Sesn$ndTm O TimePartMSdtm;NQ Stm_endTm O TimePartMSdtm;NQ Sdt_checHDate O DatePartMSdtmtmpNQ Sfirst O 2alseQ $lse Sstr+ O StringMDateTimeToLocaliTedStringMSdt_checHDateK PMM9dd9yyPNNQ Sstr+ O Sstr+ R P P R StringMTimeMStm_startTmNNQ Sdtm+ O DateTimeValueMSstr+NQ Sdtm; O DateTimeToTime?oneMSdtm+K Sfld_timeTonee%ValueK /ServerTime?oneNQ Stm_SesnStartTm O TimePartMSdtm;NQ Sstr+ O StringMDateTimeToLocaliTedStringMSdt_checHDateK PMM9dd9yyPNNQ Sstr+ O Sstr+ R P P R StringMTimeMStm_endTmNNQ Sdtm+ O DateTimeValueMSstr+NQ Sdtm; O DateTimeToTime?oneMSdtm+K Sfld_timeTonee%ValueK /ServerTime?oneNQ Stm_Sesn$ndTm O TimePartMSdtm;NQ $ndE(fQ <L 6<E"$= (#mme"te$ I7 a"$ El)e c#"$%t%#" :el#& a) &e are "#t c#"*ert%"4 )e))%#" t%me 7r#m Ba)e t# U)er t%me >#"e a:#*e %" re)#lut%#" R890815<6

9L (ncrement the Session (D counter L9 Snbr_ne'-ey O Snbr_ne'-ey C +Q 9L!dd SessionL9 Srec_ptrn%)opy2ieldsToMSrec_sesNQ Srec_ses%LM_!)T_(D%Value O Snbr_act(dQ Srec_ses%LM_L)_(D%Value O Snbr_lc(dQ Srec_ses%LM_S$S_(D%Value O Snbr_ne'-eyQ 6<Start= (#$e A$$e$ t# re)#l*e$ )e))%#" +attre" %))ue %" t/e re)#lut%#"R890815<6 I7 P$t_c/ec?Date ML P$t_c/ec?Date1 T/e" Prec_)e)ELM_SES_DTE alue I P$t_c/ec?Date1Q El)e 6<E"$= re)#lut%#"R890815<6 Srec_ses%LM_S$S_DT%Value O Sdt_checHDateQ 6<Start= (#$e A$$e$ t# re)#l*e$ )e))%#" +attre" %))ue %" t/e re)#lut%#"R890815<6 E"$=I7Q 6<E"$= re)#lut%#"R890815<6 Srec_ses%LM_ST!RT_TM%Value O Stm_SesnStartTmQ Srec_ses%LM_$"D_TM%Value O Stm_Sesn$ndTmQ Srec_ses%LM_SS_2)LT*_D(SP%Value O P*PQ Srec_ses%LM_R&7_!DD$D_DTTM%Value O /DatetimeQ Srec_ses%LM_R&7_!DD$D_&PR(D%Value O /3ser(dQ Srec_ses%LM_R&7_M!("T_DTTM%Value O /DatetimeQ Srec_ses%LM_R&7_M!("T_&PR(D%Value O /3ser(dQ Snbr_Ret)ode O Sdb&b=%(nsertMSrec_sesNQ about L9 9L &nly )all Scheduled Time if !ctivity is in a Status they care (f Sl!ctivity)lass%Send!ctivity Then 9L create session class L9 SlSession)lass O create L$LM_S) $D3L$D_T(M$8Session)lassMNQ SlSession)lass%(s"e' O TrueQ SlSession)lass%setValuesMSrec_sesNQ SlSession)lass%0asicL)Type O LM_L)_7R-%LM_0!S_L)_T*P$%ValueQ 9Lfor debugging L9 9LSlSession)lass%printSession)lassMNQL9 Sl!ctivity)lass%addSession)lassMSlSession)lassNQ $ndE(fQ 9L!dd L7) DetailsL9 (f Sbol_l'c Then Sary_ses(d%PushMSnbr_ne'-eyNQ (f Srs_actM+N%LM_!)T%LM_!)T_ST!T3S%Value O P+P Then /This%0uildL7)MSrec_ses%LM_S$S_(D%ValueK Snbr_act(dNQ $ndE(fQ Srec_lcl'c O S0aseRo'%#etRo'setMScroll%LM_L)_L7)N M+N%#etRecordMRecord%LM_L)_L7)NQ Srec_l'cSes O )reateRecordMRecord%LM_L7)_S$SNQ Srec_lcl'c%)opy2ieldsToMSrec_l'cSesNQ Srec_l'cSes%LM_!)T_(D%Value O Snbr_act(dQ Srec_l'cSes%LM_L)_(D%Value O Snbr_lc(dQ Srec_l'cSes%LM_S$S_(D%Value O Snbr_ne'-eyQ Srec_l'cSes%LM_R&7_!DD$D_DTTM%Value O /DatetimeQ Srec_l'cSes%LM_R&7_!DD$D_&PR(D%Value O /3ser(dQ Srec_l'cSes%LM_R&7_M!("T_DTTM%Value O /DatetimeQ Srec_l'cSes%LM_R&7_M!("T_&PR(D%Value O /3ser(dQ Snbr_Ret)ode O Sdb&b=%(nsertMSrec_l'cSesNQ $ndE(fQ 9LLLLLLLLLLLLLLLLLLLLLLLLLLL9 9L !dd Session (nstructors L9

9LLLLLLLLLLLLLLLLLLLLLLLLLLL9 Srs_ptrn(nstr O Srs_ptrnMSint_iN%#etRo'setMScroll%LM_PTR"_("STRNQ 2or Sint_H O + To Srs_ptrn(nstr%Ro')ount 9L(f "ot Srs_ptrn(nstrMSint_HN%(sDeleted ThenL9 Srec_ptrn(nstr O Srs_ptrn(nstrMSint_HN%#etRecordMRecord%LM_PTR"_("STRNQ Sfld_ptrn(nstr(d O Srec_ptrn(nstr%#et2ieldM2ield%LM_("STR_(DNQ Sary_instr_add O )reate!rrayReptM,K ,NQ 9L (nstructor is assigned from the Session Pattern L9 (f !llMSfld_ptrn(nstr(d%ValueN Then Srec_ptrn(nstr%)opy2ieldsToMSrec_ses(nstrNQ Srec_ses(nstr%LM_!)T_(D%Value O Snbr_act(dQ Srec_ses(nstr%LM_L)_(D%Value O Snbr_lc(dQ Srec_ses(nstr%LM_S$S_(D%Value O Snbr_ne'-eyQ Srec_ses(nstr%LM_R&7_!DD$D_DTTM%Value O /DatetimeQ Srec_ses(nstr%LM_R&7_!DD$D_&PR(D%Value O /3ser(dQ Srec_ses(nstr%LM_R&7_M!("T_DTTM%Value O /DatetimeQ Srec_ses(nstr%LM_R&7_M!("T_&PR(D%Value O /3ser(dQ Snbr_Ret)ode O Sdb&b=%(nsertMSrec_ses(nstrNQ 9L &nly )all Scheduled Time if !ctivity is in a Status they care about L9 (f Sl!ctivity)lass%Send!ctivity Then Sl(nstructor)lass O create L$LM_S) $D3L$D_T(M$8(nstructor)lassMNQ Sl(nstructor)lass%setValuesMSrec_ses(nstrNQ Sl(nstructor)lass%(s"e' O TrueQ SlSession)lass%add(nstructor(nfoMSl(nstructor)lassNQ $ndE(fQ 9L 2ill L7) (nstructor $nrollment !rray L9 (f Sbol_l'c Then (f Srs_actM+N%LM_!)T%LM_!)T_ST!T3S%Value O P+P Then Sary_instr_add%PushMSfld_ptrn(nstr(d%ValueNQ SL$L7$nroll%$nrollSessionMSnbr_ne'-eyK Sary_instr_addK Sstr_userroleK Snbr_act(dNQ $ndE(fQ $ndE(fQ $ndE(fQ $ndE2orQ 9LLLLLLLLLLLLLLLLLLLLLLLLL9 9L !dd Session $.uipment L9 9LLLLLLLLLLLLLLLLLLLLLLLLL9 Srs_ptrn$.p O Srs_ptrnMSint_iN%#etRo'setMScroll%LM_PTR"_$QPNQ 2or Sint_H O + To Srs_ptrn$.p%Ro')ount (f "ot Srs_ptrn$.pMSint_HN%(sDeleted Then Srec_ptrn$.p O Srs_ptrn$.pMSint_HN%#etRecordMRecord%LM_PTR"_$QPNQ Sfld_ptrn$.p(d O Srec_ptrn$.p%#et2ieldM2ield%LM_$QP_(DNQ Sfld_ptrn$.pType O Srec_ptrn$.p%#et2ieldM2ield%LM_$QP_T*P$_(DNQ (f !llMSfld_ptrn$.pType%ValueN Then 9L3se $.uipment (D if one has been specifiedL9 (f !llMSfld_ptrn$.p(d%ValueN Then Snbr_e.p(d O Sfld_ptrn$.p(d%ValueQ $lse 9L!ttempt to find $.uipment for $.uipment TypeL9

availableL9

9LDetermine 'hich pieces of $.uipment are not

Sary_$.p O )reate!rrayM,K ,NQ Srs_ptrn$.p)hH O Srs_ptrnMSint_iN%#etRo'setMScroll%LM_PTR"_$QPNQ 2or Sint_L O + To Srs_ptrn$.p)hH%Ro')ount Sfld_ptrn$.p)hH O Srs_ptrn$.p)hHMSint_HN%#etRecordMRecord%LM_PTR"_$QPN%#et2ieldM2ield%LM_$QP_T*P$_(D NQ (f !llMSfld_ptrn$.p)hH%ValueN Then Sary_$.p%PushMSfld_ptrn$.p)hH%ValueNQ $ndE(fQ $ndE2orQ Snbr_e.p(d O S2ind$.uipment%$.uipment0yTypeMSfld_ptrn$.pType%ValueK Sfld_fclty(d%ValueK Sdt_checHDateK Stm_startTmK Stm_endTmK Sary_$.pNQ $ndE(fQ Srec_ptrn$.p%)opy2ieldsToMSrec_ses$.pNQ Srec_ses$.p%LM_!)T_(D%Value O Snbr_act(dQ Srec_ses$.p%LM_L)_(D%Value O Snbr_lc(dQ Srec_ses$.p%LM_S$S_(D%Value O Snbr_ne'-eyQ Srec_ses$.p%LM_$QP_(D%Value O Snbr_e.p(dQ Srec_ses$.p%LM_R&7_!DD$D_DTTM%Value O /DatetimeQ Srec_ses$.p%LM_R&7_!DD$D_&PR(D%Value O /3ser(dQ Srec_ses$.p%LM_R&7_M!("T_DTTM%Value O /DatetimeQ Srec_ses$.p%LM_R&7_M!("T_&PR(D%Value O /3ser(dQ Snbr_Ret)ode O Sdb&b=%(nsertMSrec_ses$.pNQ $ndE(fQ $ndE(fQ $ndE2orQ Sstr_addSes O P!ddedPQ $ndE(fQ Sdt_checHDate O !ddToDateMSdt_checHDateK ,K ,K +NQ 3ntil Sstr_addSes O P!ddedPQ $ndE2orQ $ndE2orQ Local L$LM_S) $D3L$D_T(M$8!ctivity)hanges Sl!ctivity)hangesQ 9L &nly )all Scheduled Time if !ctivity is in a Status they care about L9 (f Sl!ctivity)lass%Send!ctivity Then 9L call activitychanges !P( here L9 (f MSl!ctivity)lass%LMSes%#et-eysMN%Len I ,N Then Sl!ctivity)hanges O create L$LM_S) $D3L$D_T(M$8!ctivity)hangesMNQ Sl!ctivity)hanges%!ctivity)lass O Sl!ctivity)lassQ Sl!ctivity)hanges%Send!ctivity)hangeMNQ $ndE(fQ $ndE(fQ 9L !dd L7) $nrollments for e@isting !ctivity $nrollments L9 (f Sbol_l'c Then (f Srs_actM+N%LM_!)T%LM_!)T_ST!T3S%Value O P+P Then SL7)$nrollment%)reateL7)$nrollmentsMSnbr_act(dK Sary_ses(dNQ $ndE(fQ $ndE(fQ 9LSave Re.uired for Session (D #enerationL9 9LTransfer to Refresh L) 0ufferL9 (f /)omponent O )omponent%LM_L)_S$S Then DoSaveMNQ TransferM 2alseK Menu"ame%LM_0L$"D$D_L$!R"("#K 0ar"ame%3S$K (tem"ame%LM_L)_S$SK Page%LM_L)_S$S_L(STK P3PK LM_L)%LM_!)T_(DK LM_L)%LM_L)_(DNQ

$ndE(fQ (f /)omponent O )omponent%LM_L)_L7) Then DoSaveMNQ TransferM 2alseK Menu"ame%LM_0L$"D$D_L$!R"("#K 0ar"ame%3S$K (tem"ame%LM_L)_L7)K Page%LM_L)_S$S_L(STK P3PK LM_L)%LM_!)T_(DK LM_L)%LM_L)_(DNQ $ndE(fQ endEmethodQ M<Start=Met/#$ /a) :ee" create$ t# re)#l*e$ )e))%#" +attre" %))ue %" t/e re)#lut%#"R890815<L met/#$ 3et$aAl%4/tO77)et 6C PSe))T9 a) Str%"4J C6 6C PBa)eDaAL%4/t_tm+ a) B##lea"J C6 6C PSe))DaAL%4/t_tm+ a) B##lea"J C6 6C PBa)eDaAL%4/t a) B##lea"J C6 6C PSe))DaAL%4/t a) B##lea" C6 6C Retur") Num:er C6 L#cal "um:er PDaAL%4/tO77Set_Ba)eJ PDaAL%4/tO77Set_Se)J PDaAL%4/tO77SetQ L#cal :##lea" PBa)e(/"4J PSe)(/"4Q S'LEBecHSSELE(T DSTO--SET -ROM PSTIME9ONEDE-N !1ERE TIME9ONEIO1 AND PTE--DTTMIHSELE(T MA0HPTE--DTTMK -ROM PSTIME9ONEDE-N !1ERE TIME9ONEIO1KSJ .Ser*erT%me9#"eJ PDaAL%4/tO77Set_Ba)eKQ S'LEBecHSSELE(T DSTO--SET -ROM PSTIME9ONEDE-N !1ERE TIME9ONEIO1 AND PTE--DTTMIHSELE(T MA0HPTE--DTTMK -ROM PSTIME9ONEDE-N !1ERE TIME9ONEIO1KSJ PSe))T9J PDaAL%4/tO77Set_Se)KQ I7 PBa)eDaAL%4/t_tm+ ML PBa)eDaAL%4/t T/e" PBa)e(/"4 I TrueQ E"$=I7Q I7 PSe))DaAL%4/t_tm+ ML PSe))DaAL%4/t T/e" PSe)(/"4 I TrueQ E"$=I7Q I7 PBa)e(/"4 T/e" I7 PSe)(/"4 T/e" I7 PBa)eDaAL%4/t T/e" 6<I7 A) #7 Date Ba)e TIME9ONEN) DaA L%4/t Sa*%"4 %) ON t/e" I"crea)e :A O--SET<6 PDaAL%4/tO77Set I PDaAL%4/tO77Set_Ba)eQ El)e 6<I7 A) #7 Date Ba)e TIME9ONEN) DaA L%4/t Sa*%"4 %) O-- $ecrea)e :A O--SET<6 PDaAL%4/tO77Set I = PDaAL%4/tO77Set_Ba)eQ E"$=I7Q I7 PSe))DaAL%4/t T/e" 6<I7 A) #7 Date )er*er TIME9ONEN) DaA L%4/t Sa*%"4 %) ON t/e" $ecrea)e :A O--SET<6 PDaAL%4/tO77Set I PDaAL%4/tO77Set C H = PDaAL%4/tO77Set_Se)KQ El)e 6<I7 A) #7 Date )er*er TIME9ONEN) DaA L%4/t Sa*%"4 %) O-- t/e" %"crea)e :A O--SET<6 PDaAL%4/tO77Set I PDaAL%4/tO77Set C PDaAL%4/tO77Set_Se)Q E"$=I7Q El)e I7 PBa)eDaAL%4/t T/e" 6<I7 A) #7 Date Ba)e TIME9ONEN) DaA L%4/t Sa*%"4 %) ON t/e" I"crea)e :A O--SET<6 PDaAL%4/tO77Set I PDaAL%4/tO77Set_Ba)eQ El)e 6<I7 A) #7 Date Ba)e TIME9ONEN) DaA L%4/t Sa*%"4 %) O-- t/e" $ecrea)e :A O--SET<6 PDaAL%4/tO77Set I = PDaAL%4/tO77Set_Ba)eQ E"$=I7Q E"$=I7Q El)e I7 PSe)(/"4 T/e" I7 PSe))DaAL%4/t T/e" 6<I7 A) #7 Date )er*er TIME9ONEN) DaA L%4/t Sa*%"4 %) ON t/e" $ecrea)e :A O--SET<6 PDaAL%4/tO77Set I = PDaAL%4/tO77Set_Se)Q

El)e 6<I7 A) #7 Date )er*er TIME9ONEN) DaA L%4/t Sa*%"4 %) O-- t/e" %"crea)e :A O--SET<6 PDaAL%4/tO77Set I PDaAL%4/tO77Set_Se)Q E"$=I7Q El)e 6<N# c/a"4e I0<6 PDaAL%4/tO77Set I 0Q E"$=I7Q E"$=I7Q Retur" PDaAL%4/tO77SetQ e"$=met/#$Q M<E"$=Met/#$ /a) :ee" create$ t# re)#l*e$ )e))%#" +attre" %))ue %" t/e re)#lut%#"R890815<L

Peo1 eCode &A11 P!c>!/e*: LECR_PROGRAM:Pro/r!0UI;O"E@ec%$e


9LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL L Program3( E this application class is used to control the 3( L on all Pages in Program )omponent L L Version8 $LM G%, Ver +%, L !uthor8 $LM )ertification Team LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL9 import L$)R_PR&#R!M8Program)ontrollerQ import L$)S_)&MM&"8LQ import L$)R8L$)R_3T(LQ import L$)S8PreRe.s_V;Q import L$)R_PR&#R!M8Program0eanQ import L$)R_3T(L8LQ import L$)R8L$)R_PR#Q import L$0&_P$RS&"8!dministratorQ import LM_3T(L(T($S8$LMTe@t)atalogQ import L$!P_!PPR&V!LS8$"RLMT_2!)T&R($S8PrgReg!pprovals2actoryQ class Program3( method Program3(MNQ method populateProgramDefaultsMNQ method method method method method method method method method method method method method method method method method method method method method method method paintProgramPageMNQ paintProgramPage2or"e'Ro'MNQ paintSectionPageMNQ paint!ttributesPageMNQ paintPreRe.uisitesPageMNQ paintSecurityPageMNQ paint$.uivalentPageMNQ setProgram eader7rH2ieldsMSnbr_p)urrentProgramRo'"umber !s numberNQ setLabelsMNQ setProgramTypeMSstr_ProgramType !s stringNQ performProgramValidationsMNQ deleteProgramMNQ addSection(temMNQ addSectionProgramMNQ add(temMNQ add$.uivalentMNQ deleteSectionMNQ saveProgramMNQ setMa@(tem&rderMNQ setMa@Section&rderMNQ sortSectionMNQ sort(temMNQ returnToSearchPageMNQ

method ne'$ffdtMNQ method setProgramShort"ameMNQ method verifyProgram(temsMSrs_pSection !s Ro'setNQ method verify(fProgram asSectionsMSro'_pProgram !s Ro'NQ 9L><,4D; Declare the method Verify(fSection as$mpty(tems L9 method Verify(fSection as$mpty(temsMSrs_pSection !s Ro'setK SProgram_status !s stringNQ method is"estedProgramMSnbr_pProgram(d !s numberN Returns booleanQ method has"estedProgramMSnbr_pProgram(d !s numberK Sdt_p$ffdt !s dateN Returns booleanQ method handle$.uivalentTypeMSstr_p$.uivalentType !s stringNQ method validate(f$.uivalent$@istsMNQ method performPrere.uisitesLogicMSrec_pPreRe.uisite !s RecordNQ method prepareRe.uiredPrere.sLinHMSnbr_pRo' !s numberNQ method prepareRecommendedPrere.sLinHMSnbr_pRo' !s numberNQ method populateRe.uiredPrere.s#ridMSnbr_pRo' !s numberNQ method populateRecommendedPrere.s#ridMSnbr_pRo' !s numberNQ method verifyPreRe.uisiteProgramMSrec_pPreRe.uisite !s RecordNQ method verifyPrere.uisite&b=ectiveMSrec_pPreRe.uisite !s RecordNQ method setPrere.uisiteDisplay&rderMSrec_pPreRe.uisite !s RecordK Snbr_ro' !s numberNQ method resetValuesMSrec_pPreRe.uisite !s RecordNQ method checHPrere.uisiteDuplicatesMSrs_ProgramPrere.uisites !s Ro'setNQ method assignProgram(dMNQ method get"e@tProgram(dMN Returns numberQ method get"e@tSection(dMN Returns numberQ method get"e@t"otes(dMN Returns numberQ method get"e@t!ttachment(dMN Returns numberQ method notify(nstructorMNQ method set$nd$ffdtMSstr_record"ame !s stringNQ method set$nd$ffdt)hildMSstr_record"ame !s stringNQ method handle)ertificationsMNQ method handle&0:(D2ld)hangeMSstr_p$.uivalentType !s stringNQ method formatProgram$.uivalentsMSrs_Prg$.uiv !s Ro'setNQ method formatProgramRe.uiredPreRe.sMSrs_PrgRe.PreRe.s !s Ro'setNQ method formatProgramRecommendedPreRe.sMSrs_PrgRecPreRe.s !s Ro'setNQ method addRe.uiredPrere.uisitesMNQ method addRecommendedPrere.uisitesMNQ method editRe.uiredPrere.uisitesMNQ method editRecommendedPrere.uisitesMNQ method doneRe.uiredPrere.uisitesMNQ method doneRecommendedPrere.uisitesMNQ method set$@piration(nformationMNQ method formatProgramSectionsMSrs_PrgScn !s Ro'setNQ method displaySection$@pirationDataMSr'_PrgSecn !s Ro'K Sstr_prgType !s stringNQ method formatProgram"otesMSrs_Prg"otes !s Ro'setNQ method formatProgram!ttachmentMSrs_Prg!ttachment !s Ro'setNQ method add"otesMSrs_"otes !s Ro'setNQ method formatProgram)ategoriesMSrs_Prg)atg !s Ro'setNQ method formatProgram-ey'ordsMSrs_Prg-'rd !s Ro'setNQ method formatProgram&b=ectivesMSrs_Prg&b=v !s Ro'setNQ method addProgram)ategoriesMNQ method addProgram-ey'ordsMNQ method addProgram&b=ectivesMNQ method handle$.uiv&b=TypeMSstr_p$.uivalentType !s stringNQ method get)ache&b=ectMNQ method handleToolbarSearch0uttonsMNQ method transferToProgramMNQ method manageSecionRulesMNQ method gray$@pirationRulesMSr'_Section !s Ro'NQ method hide$@pirationRulesMSr'_Section !s Ro'NQ method set(tem$dittableMNQ method hideProgramRelated2ieldsMNQ method cascade$@pireMNQ method allo'"estedProgram)hecHMSr'_Program !s Ro'NQ method set&ptionParent0ased&n)hildMSr'_Program !s Ro'NQ method checHDuplicateProgramMNQ method checH"estedProgramMNQ method checHRecertificationMSnbr_)ertification(D !s numberNQ method handleLearner#roupLogicMSarray_le !s array of numberK Sarray_lg !s array

of numberNQ method checHDuplicate)ourse)odeMSarray_le !s array of numberNQ method checH istorical)reditMNQ method populateProgramRelationshipMNQ method displayProgramRelationshipMNQ method setProgramrelationPageTitleMNQ method method method method method handle3pdate)ertificationMSnbr_pProgram(d !s numberNQ handle$@pire)ertificationMSnbr_pProgram(d !s numberNQ update)licHMNQ didSection)hangeMN Returns booleanQ 'arn(fProgram)hangedMNQ

method prepareRe.uiredPrere.sLinH!fterDeleteMSnbr_pRo' !s numberK Snbr_deleteRo' !s numberNQ method prepareRecommendedPrere.sLinH!fterDeleteMSnbr_pRo' !s numberK Snbr_deleteRo' !s numberNQ method validateProgramStatus)hangeMSnbr_pProgram(d !s numberK Sdt_p$ffdt !s dateK Sdt_p$nd$ffdt !s dateK Sr'_)rntPrgRo' !s Ro'NQ property number )oordinator(d get setQ private instance L$)R_PR&#R!M8Program)ontroller Sob=_Program)ontrollerQ instance L$)S8PreRe.s_V; Sob=_Prere.uisiteQ instance number Snbr_)oordinator(dQ method handle(temDetailsMSrs_p(tem !s Ro'setNQ method handleSectionDetailsMSrec_pSection !s RecordK Sbol_pRegistered !s booleanNQ method validate$@pirationDateMSdt_p$@pirationDate !s dateK Snbr_p$@pirationDays !s numberK Sr'_)rntPrgRo' !s Ro'NQ method validateSection$@pirationDateMSdt_p$@pirationDate !s dateK Snbr_p$@pirationDays !s numberK Sr'_)rntPrgRo' !s Ro'NQ method validate$@piration7arningPeriodMSdt_p$@pirationDate !s dateK Snbr_p$@pirationDays !s numberK Snbr_p$@piration7arningDays !s numberK Sr'_)rntPrgRo' !s Ro'NQ method validateRecertificationPeriodMSnbr_pRecertificationPeriod !s numberK Snbr_pRecertification7arningDays !s numberK Sr'_)rntPrgRo' !s Ro'NQ method validateSectionRe.uired(temsMSrs_ScnRo'set !s Ro'setK Sr'_)rntPrgRo' !s Ro'NQ method validateSection$@pirationMSrs_ScnRo'set !s Ro'setK Sr'_)rntPrgRo' !s Ro'NQ method blanH$@pirationRulesMNQ method hide3nhideSection$@pirationMSr'_Prg !s Ro'NQ method validate)ompletionPeriodMSr'_)rntPrgRo' !s Ro'NQ method validateScn$@piration7arningPeriodMSdt_p$@pirationDate !s dateK Snbr_p$@pirationDays !s numberK Snbr_p$@piration7arningDays !s numberK Sr'_)rntPrgRo' !s Ro'NQ method validateScnRecertificationPeriodMSnbr_pRecertificationPeriod !s numberK Snbr_pRecertification7arningDays !s numberK Sr'_)rntPrgRo' !s Ro'NQ endEclassQ )omponent )omponent )omponent )omponent )omponent )omponent boolean Sbol_c_Pr.$dit0tn)licHedQ boolean Sbol_c_Rec$dit0tn)licHedQ string Sstr_ProgramPush2lagQ Ro'set Sc_rs_SrchRsltK Sc_rs_)urrSrchRsltQ L$)R_3T(L8List"avigation Sc_ob=_List"avQ Record Sc_rec_)urrSrchRsltQ

method Program3( Sob=_Program)ontroller O create L$)R_PR&#R!M8Program)ontrollerMNQ endEmethodQ method update)licH LM_PR#_P#_7R-%LM_PR#_P3S _2L#%Value O P3PDTPQ LM_PR#_TR"_7R-%$22DT%Value O #etRo'MN%LM_PR#%$22DT%ValueQ TransferPageMPage%LM_PR#_P3S NQ

endEmethodQ method handle3pdate)ertification 9C Snbr_pProgram(d as "umber C9 Local number Snbr_updSuccessQ /This%saveProgramMNQ Snbr_updSuccess O Sob=_Program)ontroller%handle3pdate)ertificationMSnbr_pProgram(dNQ (f Snbr_updSuccess O , Then Message0o@M,K P PK ,K ,K Msg#etTe@tM+>,G<K +;,K PPNNQ $lse Message0o@M,K P PK ,K ,K Msg#etTe@tM+>,G<K +;+K PPNNQ $ndE(fQ endEmethodQ 9LLL 7ill not support Program $@pire 2unctionality E 5iaodong LLL9 ULmethod e@pire)licH LM_PR#_P#_7R-%LM_PR#_P3S _2L#%Value O P$5PRPQ LM_PR#_TR"_7R-%$22DT%Value O #etRo'MN%LM_PR#%$22DT%ValueQ TransferPageMPage%LM_PR#_P3S NQ endEmethodQ LI method handle$@pire)ertification 9C Snbr_pProgram(d as "umber C9 Local number Snbr_e@pSuccessQ /This%saveProgramMNQ Snbr_e@pSuccess O Sob=_Program)ontroller%handle$@pire)ertificationMSnbr_pProgram(dNQ (f Snbr_e@pSuccess O , Then Message0o@M,K P PK ,K ,K Msg#etTe@tM+>,G<K +;;K PPNNQ $lse Message0o@M,K P PK ,K ,K Msg#etTe@tM+>,G<K +;4K PPNNQ $ndE(fQ endEmethodQ method populateProgramDefaults (f /Mode O /!ction_!dd Then LM_PR#%LM_&7"$R_(D%Value O Sob=_Program)ontroller%get!dminDetailsMNQ #etLevel,MN M+N%#etRo'setMScroll%LM_PR#N%#etRo'M+N%#etRo'setMScroll%LM_PR#_L$N%#etRo'M+N%LM_PR #_L$%LM_L$_(D%Value O Sob=_Program)ontroller%get!dminLearning$nvironment(dMNQ #etLevel,MN M+N%#etRo'setMScroll%LM_PR#N%#etRo'M+N%#etRo'setMScroll%LM_PR#_L$N%#etRo'M+N%LM_PR #_L$%LM_PRM_L$%Value O P*PQ #etLevel,MNM+N%#etRo'setMScroll%LM_PR#NM+N%LM_PR#%)3RR$")*_)D%Value O Sob=_Program)ontroller%get)urrency)odeMNQ $ndE(fQ endEmethodQ method paintPreRe.uisitesPage Local Ro'set Srs_ProgramQ Local Ro'set Srs_Re.PreRe.K Srs_RecPreRe.Q Local number S(Q Srs_Program O #etLevel,MNM+N%#etRo'setMScroll%LM_PR#NQ Srs_Re.PreRe. O Srs_Program%#etRo'M#etRo'MN%Ro'"umberN%#etRo'setMScroll%LM_PR#_PRQNQ Srs_RecPreRe. O Srs_Program%#etRo'M#etRo'MN%Ro'"umberN%#etRo'setMScroll%LM_PR#_R$)NQ

2or S( O + To Srs_Re.PreRe.%!ctiveRo')ount Srs_Re.PreRe.MS(N%#etRecordMRecord%LM_PRQ_S0P_7R-N%LM_PRQ_"!M$%$nabled O 2alseQ $ndE2orQ 2or S( O + To Srs_RecPreRe.%!ctiveRo')ount Srs_RecPreRe.MS(N%#etRecordMRecord%LM_PRQ_S0P_7R-N%LM_PRQ_"!M$%$nabled O 2alseQ $ndE2orQ Srs_Program%#etRo'M#etRo'MN%Ro'"umberN%#etRo'setMScroll%LM_PR#_PRQN%SortMLM_PR#_PR Q%LM_D(SP_&RD$RK P!PNQ Srs_Program%#etRo'M#etRo'MN%Ro'"umberN%#etRo'setMScroll%LM_PR#_R$)N%SortMLM_PR#_R$ )%LM_D(SP_&RD$RK P!PNQ /This%prepareRe.uiredPrere.sLinHM#etRo'MN%Ro'"umberNQ /This%prepareRecommendedPrere.sLinHM#etRo'MN%Ro'"umberNQ endEmethodQ method performProgramValidations Local number SiK SstsQ Local number Snbr_Program(dQ Local date Sdt_$ffdtQ Local Ro'set Srs_ProgramQ 9L><,4D;_ 2or the method Verify(fSection as$mpty(temsL9 Local string SProgram_statusQ Srs_Program O #etLevel,MNM+N%#etRo'setMScroll%LM_PR#NQ Snbr_Program(d O Srs_ProgramM+N%#etRecordMRecord%LM_PR#N%LM_PR#_(D%ValueQ 2or Si O + To Srs_Program%!ctiveRo')ount Sdt_$ffdt O Srs_Program%#etRo'MSiN%#etRecordMRecord%LM_PR#N%$22DT%ValueQ 9L><,4D;_ 2or the method Verify(fSection as$mpty(temsL9 SProgram_status O Srs_Program%#etRo'MSiN%#etRecordMRecord%LM_PR#N%LM_PR#_ST!T3S%ValueQ (f "oneMSrs_Program%#etRo'MSiN%LM_PR#%LM_$"D_$22DT%ValueN Then Srs_Program%#etRo'MSiN%LM_PR#%LM_$"D_$22DT%Value O Sob=_Program)ontroller%validate$nd$ffdtMSnbr_Program(dK Sdt_$ffdtNQ (f "oneMSrs_Program%#etRo'MSiN%LM_PR#%LM_$"D_$22DT%ValueN Then Srs_Program%#etRo'MSiN%LM_PR#%LM_$"D_$22DT%Value O DateMGGGG+;4+NQ $ndE(fQ $ndE(fQ /This%validate)ompletionPeriodMSrs_Program%#etRo'MSiNNQ /This%validate$@pirationDateMSrs_Program%#etRo'MSiN%LM_PR#%LM_$5PR_DT%ValueK Srs_Program%#etRo'MSiN%LM_PR#%LM_$5PR_D!*S%ValueK Srs_Program%#etRo'MSiNNQ /This%validate$@piration7arningPeriodMSrs_Program%#etRo'MSiN%LM_PR#%LM_$5PR_DT%Val ueK Srs_Program%#etRo'MSiN%LM_PR#%LM_$5PR_D!*S%ValueK Srs_Program%#etRo'MSiN%LM_PR#%LM_$5PR_7R"_D!*S%ValueK Srs_Program%#etRo'MSiNNQ /This%validateRecertificationPeriodMSrs_Program%#etRo'MSiN%LM_PR#%LM_R$)$RT_PD_D!* S%ValueK Srs_Program%#etRo'MSiN%LM_PR#%LM_R$)$RT_7R"_D!*S%ValueK Srs_Program%#etRo'MSiNNQ /This%validateSectionRe.uired(temsMSrs_Program%#etRo'MSiN%#etRo'setMScroll%LM_PR#_ S)"NK Srs_Program%#etRo'MSiNNQ /This%validateSection$@pirationMSrs_Program%#etRo'MSiN%#etRo'setMScroll%LM_PR#_S)" NK Srs_Program%#etRo'MSiNNQ /This%verify(fProgram asSectionsMSrs_Program%#etRo'MSiNNQ

/This%verifyProgram(temsMSrs_Program%#etRo'MSiN%#etRo'setMScroll%LM_PR#_S)"NNQ 9L><,4D;_ )all the method Verify(fSection as$mpty(temsL9 /This%Verify(fSection as$mpty(temsMSrs_Program%#etRo'MSiN%#etRo'setMScroll%LM_PR#_ S)"NK SProgram_statusNQ /This%checHRecertificationMSrs_Program%#etRo'MSiN%LM_PR#%LM_)$RT_(D%ValueNQ $ndE2orQ 9L()$ resolution >>;4;+_ 2ETo inactivate child program 'hen it is no longer associated 'ith the parentE0egin R#L9 Ssts O #etLevel,MN M+N%#etRo'setMScroll%LM_PR#N%#etRo'M+N%LM_PR#%LM_PR#_ST!T3S%ValueQ (f Sob=_Program)ontroller%is"estedProgramM#etLevel,MN M+N%#etRo'setMScroll%LM_PR#N%#etRo'M+N%LM_PR#%LM_PR#_(D%ValueN O True !nd Ssts O ;, Then $rror Msg#etM+>,G<K 6>6K PPNQ $ndE(fQ 9L()$ resolution >>;4;+_ 2ETo inactivate child program 'hen it is no longer associated 'ith the parentE$nd R#L9 endEmethodQ method paintProgramPage Local string Sstr_ProgramTypeQ Local number S(K S:Q Local L$0&_P$RS&"8!dministrator Sob=_!dminQ Local L$!P_!PPR&V!LS8$"RLMT_2!)T&R($S8PrgReg!pprovals2actory Scls_lPrgReg!pprovals2actory O create L$!P_!PPR&V!LS8$"RLMT_2!)T&R($S8PrgReg!pprovals2actoryMNQ Sob=_!dmin O create L$0&_P$RS&"8!dministratorM/&perator(dNQ Sob=_!dmin%get!dminDetailsMNQ Local L$)S_)&MM&"8Defaults Sob=_Defaults O create L$)S_)&MM&"8DefaultsMSob=_!dmin%L$(DNQ Local number Snbr_Program(dQ Local date Sdt_$ffdtQ Local Ro'set Srs_ProgramQ Srs_Program O #etLevel,MNM+N%#etRo'setMScroll%LM_PR#NQ Snbr_Program(d O Srs_ProgramM+N%#etRecordMRecord%LM_PR#N%LM_PR#_(D%ValueQ 2or S( O + To Srs_Program%!ctiveRo')ount Sdt_$ffdt O Srs_Program%#etRo'MS(N%#etRecordMRecord%LM_PR#N%$22DT%ValueQ (f Srs_ProgramM+N%LM_PR#%LM_PR#_T*P$%Value O P)$P Then Srs_ProgramMS(N%#etRecordMRecord%LM_PR#_P#_7R-N%LM_PR#_#RP0&5_4%Visible O TrueQ Srs_ProgramMS(N%#etRecordMRecord%LM_PR#_7R-N%LM_PR#_3PD_0T"%Visible O TrueQ UL(f Learning environment has been set up to allo' cascading e@pirationLI (f Sob=_Defaults%LM_!L&7_)!S)D_$5PR O P*P Then ULsho' the cascading e@piration checH bo@ on Programs pageLI Srs_ProgramMS(N%#etRecordMRecord%LM_PR#N%LM_)$RT_)!S)D_$5PR%Visible O

TrueQ

ULhide or sho' the e@piration information group bo@ based on current value of checH bo@% (n case of a ne' program its 1"1% 2or an already saved programK the one that 'as saved%LI UL>D+64< ;9+9;,++ 0eginLI (f Srs_ProgramMS(N%LM_PR#%LM_)$RT_)!S)D_$5PR%Value O P*P Then Srs_ProgramMS(N%LM_PR#_P#_7R-%LM_PR#_#RP0&5_<%Visible O 2alseQ $lse Srs_ProgramMS(N%LM_PR#_P#_7R-%LM_PR#_#RP0&5_<%Visible O TrueQ $ndE(fQ UL>D+64< ;9+9;,++ $ndLI $lse UL'e reach here (f Learning environment has "&T been set up to allo' cascading e@pirationLI UL+N ide 13se )ascadibng $@piration1 )hecH bo@Q ;N Sho' 1$@piration (nformation1 #roup 0o@Q 4N Set )hecH 0o@ value to 1"1LI UL>D+64< ;9+9;,++ 0eginLI Srs_ProgramMS(N%LM_PR#%LM_)$RT_)!S)D_$5PR%Visible O 2alseQ Srs_ProgramMS(N%LM_PR#_P#_7R-%LM_PR#_#RP0&5_<%Visible O TrueQ

P"PQ

Srs_ProgramMS(N%#etRecordMRecord%LM_PR#N%LM_)$RT_)!S)D_$5PR%Value O UL>D+64< ;9+9;,++ $ndLI

$ndE(fQ ULSet the default values if the program is ne'% (f it is an old one let the values be as saved before%LI UL>D+64< ;9+9;,++ !dded the if conditionLI (f MSrs_ProgramMS(N%(s"e'N Then Srs_ProgramMS(N%#etRecordMRecord%LM_PR#N%LM_)$RT_)!S)D_$5PR%Value O P"PQ Srs_ProgramMS(N%LM_PR#%LM_$5PR_D!*S%Value O ,Q Srs_ProgramMS(N%LM_PR#%LM_R$)$RT_7R"_D!*S%Value O ,Q Srs_ProgramMS(N%LM_PR#%LM_R$)$RT_PD_D!*S%Value O ,Q Srs_ProgramMS(N%LM_PR#%LM_#R!)$_PD_D!*S%Value O ,Q Srs_ProgramMS(N%LM_PR#%LM_$5PR_7R"_D!*S%Value O ,Q Srs_ProgramMS(N%LM_PR#%LM_$5PR_DT%Value O PPQ $ndE(fQ UL>D+64< ;9+9;,++ )omment beginLI UL (f Srs_ProgramMS(N%LM_PR#%LM_)$RT_)!S)D_$5PR%Value O P*P Then Srs_ProgramMS(N%LM_PR#_P#_7R-%LM_PR#_#RP0&5_<%Visible O 2alseQ $lse Srs_ProgramMS(N%LM_PR#_P#_7R-%LM_PR#_#RP0&5_<%Visible O TrueQ $ndE(fQ LI UL>D+64< ;9+9;,++ )omment endLI Srs_ProgramMS(N%LM_PR#%LM_)MPL_PD_D!*S%Sho'Re.uired2ield)ue O TrueQ $lse Srs_ProgramMS(N%LM_PR#%LM_)MPL_PD_D!*S%Sho'Re.uired2ield)ue O TrueQ Srs_ProgramMS(N%#etRecordMRecord%LM_PR#_P#_7R-N%LM_PR#_#RP0&5_<%Visible O 2alseQ 2alseQ 2alseQ 2alseQ 2alseQ Srs_ProgramMS(N%#etRecordMRecord%LM_PR#_P#_7R-N%LM_PR#_#RP0&5_4%Visible O Srs_ProgramMS(N%#etRecordMRecord%LM_PR#_7R-N%LM_PR#_3PD_0T"%Visible O Srs_ProgramMS(N%#etRecordMRecord%LM_PR#N%LM_)$RT_(D%Visible O 2alseQ Srs_ProgramMS(N%#etRecordMRecord%LM_R$)$RT_V7N%LM_PR#_L&"#_"M%Visible O Srs_ProgramMS(N%#etRecordMRecord%LM_R$)$RT_V7N%LM_PR#_)D%Visible O 2alseQ Srs_ProgramMS(N%#etRecordMRecord%LM_PR#N%LM_)$RT_)!S)D_$5PR%Visible O $ndE(fQ /This%set&ptionParent0ased&n)hildMSrs_ProgramMS(NNQ (f Sob=_Defaults%LM_R$Q_$S(#"_3PD O P*P Then Srs_ProgramMS(N%#etRecordMRecord%LM_PR#N%LM_R$Q_$S(#"_3PD%Visible O TrueQ $lse Srs_ProgramMS(N%#etRecordMRecord%LM_PR#N%LM_R$Q_$S(#"_3PD%Visible O $ndE(fQ (f Sob=_Defaults%LM_$"0L$_R$#_!PRVL O P*P Then Srs_ProgramMS(N%#etRecordMRecord%LM_PR#N%LM_!PRVL_T*P$_R$Q%Visible O TrueQ Srs_ProgramMS(N%LM_P$R_"!M$_V7%LM_"!M$_D(SPL!*%Visible O TrueQ $lse Srs_ProgramMS(N%#etRecordMRecord%LM_PR#N%LM_!PRVL_T*P$_R$Q%Visible O Srs_ProgramMS(N%LM_P$R_"!M$_V7%LM_"!M$_D(SPL!*%Visible O 2alseQ $ndE(fQ

2alseQ

2alseQ

Scls_lPrgReg!pprovals2actory%set!pprovalDefinitionsMSrs_ProgramMS(N%#etRecordMReco rd%LM_PR#N%#et2ieldM2ield%LM_!PRVL_T*P$_R$QNNQ $ndE2orQ

Sc_ob=_List"av%(nternal(nitMSc_rs_SrchRsltNQ (f Sc_rs_SrchRslt UI "ull Then 2or S( O + To Sc_rs_SrchRslt%!ctiveRo')ount (f Sc_rec_)urrSrchRslt%LM_PR#_(D%Value O Sc_rs_SrchRslt%#etRo'MS(N%LM_PR#_TR"S_7R-%LM_PR#_(D%Value !nd Sc_rec_)urrSrchRslt%$22DT%Value O Sc_rs_SrchRslt%#etRo'MS(N%LM_PR#_TR"S_7R-%$22DT%Value Then Sc_ob=_List"av%"avigation!dapter%)urrentResult O S(Q $ndE(fQ $ndE2orQ $ndE(fQ /This%handleToolbarSearch0uttonsMNQ endEmethodQ method paintSectionPage Local Ro'set Srs_SectionK Srs_(temK SrsK Srs+Q Local Record Srec_(temK Srec_SectionQ Local number SiK S=K SHQ Local L$0&_P$RS&"8!dministrator Sob=_!dminQ Sob=_!dmin O create L$0&_P$RS&"8!dministratorM/&perator(dNQ Sob=_!dmin%get!dminDetailsMNQ Local L$)S_)&MM&"8Defaults Sob=_Defaults O create L$)S_)&MM&"8DefaultsMSob=_!dmin%L$(DNQ Local number Snbr_Program(dQ Local date Sdt_$ffdtQ Local Ro'set Srs_ProgramQ Srs_Program O #etLevel,MNM+N%#etRo'setMScroll%LM_PR#NQ Snbr_Program(d O Srs_ProgramM+N%#etRecordMRecord%LM_PR#N%LM_PR#_(D%ValueQ 2or Si O + To Srs_Program%!ctiveRo')ount Sdt_$ffdt O Srs_Program%#etRo'MSiN%#etRecordMRecord%LM_PR#N%$22DT%ValueQ (f Sob=_Defaults%LM_!LL&7_"$ST_PR# O P*P Then Srs_ProgramMSiN%LM_PR#_7R-%LM_!DD_S)"_PR&#R!M%Visible O TrueQ $lse Srs_ProgramMSiN%LM_PR#_7R-%LM_!DD_S)"_PR&#R!M%Visible O 2alseQ $ndE(fQ Srs_Section O Srs_ProgramMSiN%#etRo'setMScroll%LM_PR#_S)"NQ Srs_Section%SortMLM_PR#_S)"%LM_&RD$RK P!PNQ Srs_ProgramMSiN%LM_PR#_7R-%LM_M!5_S)"_&RD$R%Value O Srs_SectionMSrs_Section%!ctiveRo')ountN%LM_PR#_S)"%LM_&RD$R%ValueQ /This%allo'"estedProgram)hecHMSrs_ProgramMSiNNQ (f /This%is"estedProgramMSrs_ProgramMSiN%LM_PR#%LM_PR#_(D%ValueN Then Srs_ProgramMSiN%LM_PR#_7R-%LM_!DD_S)"_PR&#R!M%Visible O 2alseQ $ndE(fQ 2or S= O + To Srs_Section%Ro')ount Srec_Section O Srs_SectionMS=N%#etRecordMRecord%LM_PR#_S)"NQ (f Srs_ProgramM+N%LM_PR#%LM_PR#_T*P$%Value O P)$P Then Srs_SectionMS=N%#etRecordMRecord%LM_PR#_7R-N%LM_2($LD_L!0$L%Visible O $lse Srs_SectionMS=N%#etRecordMRecord%LM_PR#_7R-N%LM_2($LD_L!0$L%Visible O 2alseQ $ndE(fQ

TrueQ

/This%displaySection$@pirationDataMSrs_SectionMS=NK Srs_ProgramM+N%LM_PR#%LM_PR#_T*P$%ValueNQ /This%hide3nhideSection$@pirationMSrs_Section%ParentRo'NQ Srs_(tem O Srs_SectionMS=N%#etRo'setMScroll%LM_PR#_(T$MNQ

Srs_(tem%SortMLM_PR#_(T$M%LM_&RD$RK P!PNQ Srs_SectionMS=N%LM_PR#_7R-%LM_M!5_(T$M_&RD$R%Value O Srs_(temMSrs_(tem%!ctiveRo')ountN%LM_PR#_(T$M%LM_&RD$R%ValueQ (f /Mode O /!ction_!dd Then Srs_(tem%#etRo'M+N%#etRecordMRecord%D$R(V$DN%$D(TT!0L$%Value O Record%LM_PR#_)(_V7Q $ndE(fQ /This%handle(temDetailsMSrs_(temNQ $ndE2orQ $ndE2orQ endEmethodQ method paint!ttributesPage Local number SiK S=K SHQ Local Ro'set Srs_)ategoriesK Srs_-ey'ordsK Srs_&b=ectivesK SrsK Srs+K Srs;Q Local number Snbr_Program(dQ Local date Sdt_$ffdtQ Local Ro'set Srs_ProgramQ Srs_Program O #etLevel,MNM+N%#etRo'setMScroll%LM_PR#NQ Snbr_Program(d O Srs_ProgramM+N%#etRecordMRecord%LM_PR#N%LM_PR#_(D%ValueQ 2or Si O + To Srs_Program%!ctiveRo')ount Sdt_$ffdt O Srs_Program%#etRo'MSiN%#etRecordMRecord%LM_PR#N%$22DT%ValueQ Srs_)ategories O Srs_ProgramMSiN%#etRo'setMScroll%LM_PR#_)!T#NQ Srs_)ategories%SortMLM_PR#_)!T#%LM_D(SP_&RD$RK P!PNQ Srs_ProgramMSiN%LM_PR#_7R-%LM_M!5_)!T#_&RD$R%Value O Srs_)ategoriesMSrs_)ategories%!ctiveRo')ountN%LM_PR#_)!T#%LM_D(SP_&RD$R%ValueQ $ndE2orQ endEmethodQ method paintSecurityPage Local number S(K S:K S-Q Local Ro'set Srs_Learning$nvironmentK Srs_Learner#roupK SrsK Srs+Q Local number Snbr_Program(dQ Local date Sdt_$ffdtQ Local Ro'set Srs_ProgramQ Srs_Program O #etLevel,MNM+N%#etRo'setMScroll%LM_PR#NQ Snbr_Program(d O Srs_ProgramM+N%#etRecordMRecord%LM_PR#N%LM_PR#_(D%ValueQ 2or S( O + To Srs_Program%!ctiveRo')ount Srs_Learning$nvironment O Srs_ProgramMS(N%#etRo'setMScroll%LM_PR#_L$NQ Sdt_$ffdt O Srs_Program%#etRo'MS(N%#etRecordMRecord%LM_PR#N%$22DT%ValueQ Srs O Sob=_Program)ontroller%getProgramLearning$nvironmentRo'setMSnbr_Program(dK Sdt_$ffdtNQ Srs%)opyToMSrs_Learning$nvironmentNQ Srs_Learner#roup O Srs_ProgramMS(N%#etRo'setMScroll%LM_PR#_S$)NQ Srs+ O Sob=_Program)ontroller%getProgramLearner#roupRo'setMSnbr_Program(dK Sdt_$ffdtNQ Srs+%)opyToMSrs_Learner#roupNQ $ndE2orQ UL D$R(V$D%$D(TT!0L$ O Record%LM_PR#_L#_L!_V7Q (f /Mode O /!ction_!dd Then D$R(V$D%$D(TT!0L$ O Record%LM_PR#_L#_L!_V7Q $lse D$R(V$D%$D(TT!0L$ O Record%LM_PR#_L$_L#_V7Q $ndE(fQ LI endEmethodQ method paint$.uivalentPage Local Ro'set Srs_$.uivalentQ Local number SiK S=Q Local number Snbr_Program(dQ Local date Sdt_$ffdtQ Local Ro'set Srs_ProgramQ

Srs_Program O #etLevel,MNM+N%#etRo'setMScroll%LM_PR#NQ Snbr_Program(d O Srs_ProgramM+N%#etRecordMRecord%LM_PR#N%LM_PR#_(D%ValueQ 2or Si O + To Srs_Program%!ctiveRo')ount Sdt_$ffdt O Srs_Program%#etRo'MSiN%#etRecordMRecord%LM_PR#N%$22DT%ValueQ Srs_$.uivalent O Srs_ProgramMSiN%#etRo'setMScroll%LM_PR#_$Q3V_T0LNQ (f "oneMSrs_$.uivalentM+N%LM_PR#_$Q3V_T0L%LM_&0:_(D%ValueN Then Srs_$.uivalent%ParentRo'%LM_PR#_$Q3V_7R-%LM_PR#_$Q3(V_#P0%Visible O 2alseQ Srs_$.uivalent%ParentRo'%LM_PR#_$Q3V_7R-%LM_P!#$_L!0$L+%Visible O TrueQ $lse Srs_$.uivalent%ParentRo'%LM_PR#_$Q3V_7R-%LM_P!#$_L!0$L+%Visible O 2alseQ Srs_$.uivalent%ParentRo'%LM_PR#_$Q3V_7R-%LM_PR#_$Q3(V_#P0%Visible O TrueQ $ndE(fQ 2or S= O + To Srs_$.uivalent%!ctiveRo')ount Srs_$.uivalentMS=N%LM_PR#_$Q3V_7R-%LM_$Q3(V_"!M$%$nabled O 2alseQ $valuate Srs_$.uivalentMS=N%LM_PR#_$Q3V_T0L%LM_$Q3(V_&0:_T*P$%Value 7hen O P+,P Srs_$.uivalentMS=N%LM_PR#_V7%LM_PR#_L&"#_"M%Visible O TrueQ Srs_$.uivalentMS=N%LM_PR#_$Q3V_7R-%LM_$Q3(V_"!M$%Value O Srs_$.uivalentMS=N%LM_)(_V7%LM_)S_L&"#_"M%ValueQ 0reaHQ 7hen O P;,P Srs_$.uivalentMS=N%LM_PR#_V7%LM_PR#_L&"#_"M%Visible O TrueQ Srs_$.uivalentMS=N%LM_PR#_$Q3V_7R-%LM_$Q3(V_"!M$%Value O Srs_$.uivalentMS=N%LM_PR#_V7%LM_PR#_L&"#_"M%ValueQ 0reaHQ 7henE&ther 0reaHQ $ndE$valuateQ $ndE2orQ UL 2or S= O Srs_$.uivalent%!ctiveRo')ount To + Step E + (f "oneMSrs_$.uivalentMS=N%LM_PR#_$Q3V_T0L%LM_&0:_(D%ValueN Then Srs_$.uivalent%DeleteRo'MS=NQ $ndE(fQ $ndE2orQLI $ndE2orQ endEmethodQ method setProgram eader7rH2ields 9C Snbr_p)urrentProgramRo'"umber as "umber C9 9L This 'ill set the program header 'orH fields% fields only on the program pages% L9

These fields are display

Local Ro'set Srs_LM_PR# O #etLevel,MNM+N%#etRo'setMScroll%LM_PR#NQ Local Record Srec_LM_PR#_LVL,_7R- O #etLevel,MNM+N%LM_PR#_LVL,_7R-Q Local Record Srec_LM_PR# O Srs_LM_PR#%#etRo'MSnbr_p)urrentProgramRo'"umberN%LM_PR#Q Srec_LM_PR#_LVL,_7R-%$22DT%Value O Srec_LM_PR#%$22DT%ValueQ Srec_LM_PR#_LVL,_7R-%LM_PR#_)D%Value O Srec_LM_PR#%LM_PR#_)D%ValueQ Srec_LM_PR#_LVL,_7R-%LM_PR#_L&"#_"M%Value O Srec_LM_PR#%LM_PR#_L&"#_"M%ValueQ Srec_LM_PR#_LVL,_7R-%LM_V$RS(&"%Value O Srec_LM_PR#%LM_V$RS(&"%ValueQ Srec_LM_PR#_LVL,_7R-%$22DT%Label O Srec_LM_PR#%$22DT%LabelQ Srec_LM_PR#_LVL,_7R-%LM_PR#_)D%Label O Srec_LM_PR#%LM_PR#_)D%LabelQ Srec_LM_PR#_LVL,_7R-%LM_PR#_L&"#_"M%Label O Srec_LM_PR#%LM_PR#_L&"#_"M%LabelQ Srec_LM_PR#_LVL,_7R-%LM_V$RS(&"%Label O Srec_LM_PR#%LM_V$RS(&"%LabelQ endEmethodQ method setLabels $valuate LM_PR#%LM_PR#_T*P$%Value 7hen O P)$P #etRecordMRecord%LM_PR#N%LM_!LL&7_7!(V$R%Label O #etRecordMRecord%LM_PR#N%LM_!LL&7_7!(V$R%#etLongLabelMPLM_!LL&7_)$RT_7VRPNQ #etRecordMRecord%LM_PR#N%LM_PR#_)D%Label O #etRecordMRecord%LM_PR#N%LM_PR#_)D%#etLongLabelMPLM_)$RT_)DPNQ 0reaHQ

7hen O P)3P #etRecordMRecord%LM_PR#N%LM_!LL&7_7!(V$R%Label O #etRecordMRecord%LM_PR#N%LM_!LL&7_7!(V$R%#etLongLabelMPLM_!LL&7_)3RR_7VRPNQ #etRecordMRecord%LM_PR#N%LM_PR#_)D%Label O #etRecordMRecord%LM_PR#N%LM_PR#_)D%#etLongLabelMPLM_)3RR_)DPNQ 0reaHQ 7henE&ther #etRecordMRecord%LM_PR#N%LM_!LL&7_7!(V$R%Label O #etRecordMRecord%LM_PR#N%LM_!LL&7_7!(V$R%#etLongLabelMPLM_!LL&7_7VRPNQ 0reaHQ $ndE$valuateQ endEmethodQ method setProgramType 9C Sstr_ProgramType as String C9 Local number Snbr_Program(dQ Local date Sdt_$ffdtQ Local Ro'set Srs_ProgramQ Srs_Program O #etLevel,MNM+N%#etRo'setMScroll%LM_PR#NQ Snbr_Program(d O Srs_ProgramM+N%#etRecordMRecord%LM_PR#N%LM_PR#_(D%ValueQ (f /Mode O /!ction_!dd Then Srs_Program%#etRo'M+N%#etRecordMRecord%LM_PR#N%LM_PR#_T*P$%Value O Sstr_ProgramTypeQ $ndE(fQ endEmethodQ method handle(temDetails 9C Srs_p(tem as Ro'set C9 Local number S=Q 2or S= O + To Srs_p(tem%!ctiveRo')ount (f Srs_p(temMS=N%#etRecordMRecord%LM_PR#_(T$MN%LM_&0:_T*P$%Value O P4,P Then Srs_p(temMS=N%LM_PR#_(T$M%LM_&RD$R%Visible O 2alseQ Srs_p(temMS=N%LM_PR#_(T$M%LM_R$Q%$nabled O 2alseQ Srs_p(temMS=N%LM_PR#_)(_V7%LM_PRQ_"!M$%Visible O 2alseQ Srs_p(temMS=N%LM_"$ST_PR#_V7%LM_PR#_L&"#_"M%Visible O TrueQ Srs_p(temMS=N%#etRecordMRecord%LM_PR#_(T$M_7R-N%LM_D$L$T$_P0%Visible O 2alseQ Srs_p(tem%ParentRo'%LM_PR#_S)"_7R-;%LM_PR#_S)"_(TM_!DD%Visible O 2alseQ $lse Srs_p(temMS=N%LM_PR#_(T$M%LM_&RD$R%Visible O TrueQ Srs_p(temMS=N%#etRecordMRecord%LM_PR#_(T$M_7R-N%LM_D$L$T$_P0%Visible O TrueQ Srs_p(temMS=N%LM_PR#_)(_V7%LM_PRQ_"!M$%Visible O TrueQ Srs_p(temMS=N%LM_"$ST_PR#_V7%LM_PR#_L&"#_"M%Visible O 2alseQ Srs_p(tem%ParentRo'%LM_PR#_S)"_7R-;%LM_PR#_S)"_(TM_!DD%Visible O TrueQ $ndE(fQ $ndE2orQ endEmethodQ method handleSectionDetails 9C Srec_pSection as RecordK C9 9C Sbol_pRegistered as 0oolean C9 (f Sbol_pRegistered Then Srec_pSection%LM_&RD$R%$nabled O 2alseQ Srec_pSection%LM_S)"_(T$MS_R$Q%$nabled O 2alseQ Srec_pSection%LM_$5PR_DT%$nabled O 2alseQ Srec_pSection%LM_$5PR_D!*S%$nabled O 2alseQ Srec_pSection%LM_#R!)$_PD_D!*S%$nabled O 2alseQ Srec_pSection%LM_$5PR_7R"_D!*S%$nabled O 2alseQ Srec_pSection%LM_R$)$RT_7R"_D!*S%$nabled O 2alseQ Srec_pSection%LM_R$)$RT_PD_D!*S%$nabled O 2alseQ $lse Srec_pSection%LM_&RD$R%$nabled O TrueQ Srec_pSection%LM_S)"_(T$MS_R$Q%$nabled O TrueQ Srec_pSection%LM_$5PR_DT%$nabled O TrueQ Srec_pSection%LM_$5PR_D!*S%$nabled O TrueQ Srec_pSection%LM_#R!)$_PD_D!*S%$nabled O TrueQ

Srec_pSection%LM_$5PR_7R"_D!*S%$nabled O TrueQ Srec_pSection%LM_R$)$RT_7R"_D!*S%$nabled O TrueQ Srec_pSection%LM_R$)$RT_PD_D!*S%$nabled O TrueQ $ndE(fQ endEmethodQ method validate$@pirationDate 9C Sdt_p$@pirationDate as DateK C9 9C Snbr_p$@pirationDays as "umberK C9 9C Sr'_)rntPrgRo' as Ro' C9 (f M!llMSdt_p$@pirationDateN !nd !llMSnbr_p$@pirationDaysNN Then (f Snbr_p$@pirationDays UI , Then Set)ursorPosMPage%LM_PR#_P#K Scroll%LM_PR#K Sr'_)rntPrgRo'%Ro'"umberK LM_PR#%LM_$5PR_D!*SNQ $rror Msg#etM+>,G<K FFK PPNQ $ndE(fQ $ndE(fQ (f "oneMSdt_p$@pirationDateN !nd "oneMSnbr_p$@pirationDaysN Then (f !llMSr'_)rntPrgRo'%LM_PR#%LM_#R!)$_PD_D!*S%ValueN &r !llMSr'_)rntPrgRo'%LM_PR#%LM_$5PR_7R"_D!*S%ValueN &r !llMSr'_)rntPrgRo'%LM_PR#%LM_R$)$RT_PD_D!*S%ValueN &r !llMSr'_)rntPrgRo'%LM_PR#%LM_R$)$RT_7R"_D!*S%ValueN Then Set)ursorPosMPage%LM_PR#_P#K Scroll%LM_PR#K Sr'_)rntPrgRo'%Ro'"umberK LM_PR#%LM_$5PR_D!*SNQ $rror Msg#etM+>,G<K 6D+K PPNQ $ndE(fQ $ndE(fQ endEmethodQ method validate$@piration7arningPeriod 9C Sdt_p$@pirationDate as DateK C9 9C Snbr_p$@pirationDays as "umberK C9 9C Snbr_p$@piration7arningDays as "umberK C9 9C Sr'_)rntPrgRo' as Ro' C9 Local number Snbr_DaysQ (f M!llMSnbr_p$@piration7arningDaysN !nd !llMSnbr_p$@pirationDaysNN Then (f Snbr_p$@piration7arningDays UI , Then $valuate Snbr_p$@piration7arningDays 7hen IO Snbr_p$@pirationDays Set)ursorPosMPage%LM_PR#_P#K Scroll%LM_PR#K Sr'_)rntPrgRo'%Ro'"umberK LM_PR#%LM_$5PR_7R"_D!*SNQ $rror Msg#etM+>,G<K F>K PPNQ 0reaHQ $ndE$valuateQ $ndE(fQ $ndE(fQ (f M!llMSdt_p$@pirationDateN !nd !llMSnbr_p$@piration7arningDaysNN Then Snbr_Days O !bsMDaysMSdt_p$@pirationDateN E DaysM/DateNNQ $valuate Snbr_p$@piration7arningDays 7hen IO Snbr_Days Set)ursorPosMPage%LM_PR#_P#K Scroll%LM_PR#K Sr'_)rntPrgRo'%Ro'"umberK LM_PR#%LM_$5PR_7R"_D!*SNQ $rror Msg#etM+>,G<K FGK PPNQ 0reaHQ $ndE$valuateQ $ndE(fQ endEmethodQ method validateRecertificationPeriod 9C Snbr_pRecertificationPeriod as "umberK C9

9C Snbr_pRecertification7arningDays as "umberK C9 9C Sr'_)rntPrgRo' as Ro' C9 (f M!llMSnbr_pRecertification7arningDaysN !nd !llMSnbr_pRecertificationPeriodNN Then (f MSnbr_pRecertification7arningDays UI ,N !nd MSnbr_pRecertification7arningDays I Snbr_pRecertificationPeriodN Then Set)ursorPosMPage%LM_PR#_P#K Scroll%LM_PR#K Sr'_)rntPrgRo'%Ro'"umberK LM_PR#%LM_R$)$RT_7R"_D!*SNQ $rror Msg#etM+>,G<K >,K PPNQ $ndE(fQ $ndE(fQ endEmethodQ method deleteProgram Local number SresultQ Local Message SmsgQ Local Ro'set SrsK SrsMsgQ Local number SiQ Local number Snbr_Registration)ount O ,Q Local date Sdt O #etLevel,MN M+N%#etRo'setMScroll%LM_PR#N%#etRo'M+N%LM_PR#%LM_$"D_$22DT%ValueQ (f "oneMSdtN Then Snbr_Registration)ount O ,Q $lse SQL$@ecMPS$L$)T )&3"TMLN 2R&M PS_LM_PR#_R$#_V7 7 $R$ LM_PR#_(D O 8+ !"D LM_$"RL_DT 0$T7$$" /dateinM8;N !"D /dateinM84N PK #etLevel,MN M+N%#etRo'setMScroll%LM_PR#N%#etRo'M+N%LM_PR#%LM_PR#_(D%ValueK #etLevel,MN M+N%#etRo'setMScroll%LM_PR#N%#etRo'M+N%LM_PR#%$22DT%ValueK #etLevel,MN M+N%#etRo'setMScroll%LM_PR#N%#etRo'M+N%LM_PR#%LM_$"D_$22DT%ValueK Snbr_Registration)ountNQ $ndE(fQ (f Sob=_Program)ontroller%is"estedProgramM#etLevel,MN M+N%#etRo'setMScroll%LM_PR#N%#etRo'M+N%LM_PR#%LM_PR#_(D%ValueN Then $rror Msg#etM+>,G<K 6>6K PPNQ $ndE(fQ (f Snbr_Registration)ount I , Then $rror MMsg#etM+>,G<K ;6DK PPNNQ $ndE(fQ Sresult O Message0o@M/MsgStyle_*es"oK PPK +>,G<K 64DK PPK #etLevel,MN M+N%#etRo'setMScroll%LM_PR#N%#etRo'M#etLevel,MN M+N%#etRo'setMScroll%LM_PR#N%!ctiveRo')ountN%LM_PR#%LM_PR#_L&"#_"M%ValueNQ (f Sresult O /MsgResult_*es Then 9L)ode changes for +>F,<+>,,, startL9 Smsg O )reateMessageMMessage%$LM_PR&#R!M_S*")NQ Srs O )reateRo'setMRecord%LM_PR#_#RP_V7NQ Srs%2illMP7here LM_PR#_(D O 8+PK #etLevel,MN M+N%#etRo'setMScroll%LM_PR#N%#etRo'M+N%LM_PR#%LM_PR#_(D%ValueNQ Sob=_Program)ontroller%deleteProgramDetailsM#etLevel,MN M+N%#etRo'setMScroll%LM_PR#N%#etRo'M+N%LM_PR#%LM_PR#_(D%ValueNQ (f /(nt0roHer%(s&peration!ctiveMP$LM_PR&#R!M_S*")PK PV$RS(&"_+PN Then Smsg%)opyRo'setMSrsNQ SrsMsg O Smsg%#etRo'setMNQ 2or Si O + To SrsMsg%Ro')ount 9LSetting Program status to inactive in )ML9 SrsMsg%#etRo'MSiN%#etRecordMRecord%LM_PR#_#RP_V7N%LM_PR#_ST!T3S%Value O P;,PQ SrsMsg%#etRo'MSiN%#etRecordMRecord%LM_PR#_#RP_V7N%$22DT%Value O #etLevel,MNM+N%#etRo'setMScroll%LM_PR#N%#etRo'MSiN%LM_PR#%$22DT%ValueQ SrsMsg%#etRo'MSiN%#etRecordMRecord%PS)!M!N%!3D(T_!)T"%Value O P)PQ $ndE2orQ (f SrsMsgM+N%#etRecordMRecord%LM_PR#_#RP_V7N%#et2ieldM2ield%LM_PR#_(DN%Value I , Then /(nt0roHer%PublishMSmsgNQ $ndE(fQ

$ndE(fQ 9L)ode changes for +>F,<+>,,, endL9 )lear-eyListMNQ TransferM 2alseK Menu"ame%LM_)3RR()3L3MK 0ar"ame%3S$K (tem"ame%LM_PR#_SR) K Page%LM_PR#_SR) K P3PNQ $ndE(fQ endEmethodQ method addSection(tem Local Ro'set Srs_SectionK Srs_(temK Srs_tmpScn(temQ Local number SiQ Local boolean Sbol_hasScn(temQ Srs_Section O #etRo'MN%#etRo'setMScroll%LM_PR#_S)"NQ Srs_Section%ParentRo'%LM_PR#_S)"_7R-;%LM_PR#_S)"_#P0%Visible O TrueQ Srs_Section%ParentRo'%LM_PR#_S)"_7R-;%LM_PR#_S)"_"&_#P0%Visible O 2alseQ Srs_tmpScn(tem O Srs_SectionM+N%#etRo'setMScroll%LM_PR#_(T$MNQ 2or Si O + To Srs_tmpScn(tem%!ctiveRo')ount (f Srs_tmpScn(temMSiN%LM_PR#_(T$M%LM_&0:_(D%Value I , Then Sbol_hasScn(tem O TrueQ 0reaHQ $ndE(fQ $ndE2orQ (f !llMSrs_SectionM+N%LM_PR#_S)"%LM_S)"%ValueN &r Sbol_hasScn(tem Then Srs_Section%(nsertRo'MSrs_Section%!ctiveRo')ountNQ $ndE(fQ Srs_(tem O Srs_SectionMSrs_Section%!ctiveRo')ountN%#etRo'setMScroll%LM_PR#_(T$MNQ Srs_SectionMSrs_Section%!ctiveRo')ountN%LM_PR#_S)"_7R-;%LM_PR#_S)"_(TM_!DD%Visible O TrueQ Srs_(temM+N%LM_PR#_(T$M%LM_&0:_T*P$%Value O P+,PQ Srs_(temM+N%LM_PR#_(T$M%LM_R$Q%Value O P"PQ Srs_(temM+N%D$R(V$D%$D(TT!0L$%Value O Record%LM_PR#_)(_V7Q Srs_(temM+N%LM_"$ST_PR#_V7%LM_PR#_L&"#_"M%Visible O 2alseQ Srs_(temM+N%LM_PR#_(T$M%LM_&0:_(D%Value O PPQ rem Srs_(temM+N%LM_)(_V7%LM_)S_L&"#_"M%Visible O TrueQ Srs_(temM+N%LM_PR#_(T$M%LM_&RD$R%Visible O TrueQ /This%displaySection$@pirationDataMSrs_SectionMSrs_Section%!ctiveRo')ountNK Srs_Section%ParentRo'%LM_PR#%LM_PR#_T*P$%ValueNQ Set)ursorPosM/PageK Scroll%LM_PR#K )urrentRo'"umberMNK LM_PR#_S)"%LM_S)"K Srs_Section%!ctiveRo')ountNQ endEmethodQ method addSectionProgram Local Ro'set Srs_SectionK Srs_(temK Srs_tmpScn(temQ Local number SiQ Local boolean Sbol_hasScn(temQ Srs_Section O #etRo'MN%#etRo'setMScroll%LM_PR#_S)"NQ Srs_Section%ParentRo'%LM_PR#_S)"_7R-;%LM_PR#_S)"_#P0%Visible O TrueQ Srs_Section%ParentRo'%LM_PR#_S)"_7R-;%LM_PR#_S)"_"&_#P0%Visible O 2alseQ Srs_tmpScn(tem O Srs_SectionM+N%#etRo'setMScroll%LM_PR#_(T$MNQ 2or Si O + To Srs_tmpScn(tem%!ctiveRo')ount (f Srs_tmpScn(temMSiN%LM_PR#_(T$M%LM_&0:_(D%Value I , Then

Sbol_hasScn(tem O TrueQ 0reaHQ $ndE(fQ $ndE2orQ (f !llMSrs_SectionM+N%LM_PR#_S)"%LM_S)"%ValueN &r Sbol_hasScn(tem Then Srs_Section%(nsertRo'MSrs_Section%!ctiveRo')ountNQ $ndE(fQ Srs_(tem O Srs_SectionMSrs_Section%!ctiveRo')ountN%#etRo'setMScroll%LM_PR#_(T$MNQ Srs_SectionMSrs_Section%!ctiveRo')ountN%LM_PR#_S)"_7R-;%LM_PR#_S)"_(TM_!DD%Visible O 2alseQ Srs_SectionMSrs_Section%!ctiveRo')ountN%LM_PR#_S)"%LM_S)"_(T$MS_R$Q%Value O +Q Srs_(tem%2lushMNQ Srs_SectionMSrs_Section%!ctiveRo')ountN%LM_PR#_7R-%LM_M!5_(T$M_&RD$R%Value O ,Q Srs_(temM+N%LM_PR#_(T$M%LM_&0:_T*P$%Value O P4,PQ Srs_(temM+N%LM_PR#_(T$M%LM_R$Q%Value O P*PQ Srs_(temM+N%LM_PR#_(T$M%LM_R$Q%$nabled O 2alseQ Srs_(temM+N%D$R(V$D%$D(TT!0L$%Value O Record%LM_"$ST_PR#_V7Q Srs_(temM+N%LM_"$ST_PR#_V7%LM_PR#_L&"#_"M%Visible O TrueQ Srs_(temM+N%LM_PR#_(T$M%LM_&0:_(D%Value O PPQ Srs_(temM+N%LM_PR#_)(_V7%LM_PRQ_"!M$%Visible O 2alseQ Srs_(temM+N%LM_PR#_(T$M%LM_&RD$R%Visible O 2alseQ Srs_(temM+N%LM_PR#_(T$M_7R-%LM_D$L$T$_P0%Visible O 2alseQ /This%displaySection$@pirationDataMSrs_SectionMSrs_Section%!ctiveRo')ountNK Srs_Section%ParentRo'%LM_PR#%LM_PR#_T*P$%ValueNQ Set)ursorPosM/PageK Scroll%LM_PR#K )urrentRo'"umberMNK LM_PR#_S)"%LM_S)"K Srs_Section%!ctiveRo')ountNQ endEmethodQ method add(tem Local Ro'set Srs_(temQ Srs_(tem O #etRo'setMScroll%LM_PR#_(T$MNQ Srs_(tem%(nsertRo'MSrs_(tem%!ctiveRo')ountNQ Srs_(tem%#etRo'MSrs_(tem%!ctiveRo')ountN%LM_"$ST_PR#_V7%LM_PR#_L&"#_"M%Visible O 2alseQ Srs_(tem%#etRo'MSrs_(tem%!ctiveRo')ountN%LM_PR#_(T$M%LM_&0:_T*P$%Value O P+,PQ Srs_(tem%#etRo'MSrs_(tem%!ctiveRo')ountN%D$R(V$D%$D(TT!0L$%Value O Record%LM_PR#_)(_V7Q endEmethodQ method add$.uivalent Local Ro'set Srs_$.uivalentQ Srs_$.uivalent O #etRo'setMScroll%LM_PR#_$Q3V_T0LNQ Srs_$.uivalent%ParentRo'%LM_PR#_$Q3V_7R-%LM_PR#_$Q3(V_#P0%Visible O TrueQ Srs_$.uivalent%ParentRo'%LM_PR#_$Q3V_7R-%LM_P!#$_L!0$L+%Visible O 2alseQ Srs_$.uivalentM+N%LM_PR#_V7%LM_PR#_L&"#_"M%Visible O TrueQ (f !llMSrs_$.uivalentM+N%LM_PR#_$Q3V_T0L%LM_&0:_(D%ValueN Then Srs_$.uivalent%(nsertRo'MSrs_$.uivalent%!ctiveRo')ountNQ $ndE(fQ endEmethodQ method deleteSection Local Ro'set Srs_SectionQ Srs_Section O #etRo'MN%#etRo'setMScroll%LM_PR#_S)"NQ Srs_Section%DeleteRo'M)urrentRo'"umberMNNQ (f Srs_Section%!ctiveRo')ount O + !nd Srs_SectionM+N%LM_PR#_S)"%LM_S)"%Value O PP Then

Srs_SectionM+N%#etRo'setMScroll%LM_PR#_(T$MN M+N%LM_"$ST_PR#_V7%LM_PR#_L&"#_"M%Visible O 2alseQ Srs_SectionM+N%LM_PR#_S)"%LM_&RD$R%Value O PPQ $ndE(fQ Set)ursorPosM/PageK Scroll%LM_PR#K )urrentRo'"umberMNK LM_PR#_S)"%LM_S)"K #etRo'MN%#etRo'setMScroll%LM_PR#_S)"N%!ctiveRo')ountNQ endEmethodQ method saveProgram /This%performProgramValidationsMNQ DoSaveMNQ endEmethodQ method validateProgramStatus)hange 9C Snbr_pProgram(d as "umberK C9 9C Sdt_p$ffdt as DateK C9 9C Sdt_p$nd$ffdt as DateK C9 9C Sr'_)rntPrgRo' as Ro' C9 Local number Snbr_Registered O ,Q Local 2ield Sfld_ProgramStatusQ Sfld_ProgramStatus O Sr'_)rntPrgRo'%LM_PR#%LM_PR#_ST!T3SQ (f Sfld_ProgramStatus%(s)hanged !nd Sfld_ProgramStatus%Value O P;,P !nd Sfld_ProgramStatus%&riginalValue UI P;,P Then Snbr_Registered O Sob=_Program)ontroller%get!ctiveProgramRegistrationsMSnbr_pProgram(dK Sdt_p$ffdtK Sdt_p$nd$ffdtNQ (f Sob=_Program)ontroller%is"estedProgramMSnbr_pProgram(dN Then $rror Msg#etM+>,G<K 6>6K PPNQ $ndE(fQ (f Snbr_Registered I , Then 7arning MMsg#etM+>,G<K ;6DK PPNNQ $ndE(fQ $ndE(fQ endEmethodQ method validateSectionRe.uired(tems 9C Srs_ScnRo'set as Ro'setK C9 9C Sr'_)rntPrgRo' as Ro' C9 Local number SiK SaK S=Q Local Ro'set Srs_(temK Srs_SectionQ Local number Snbr_Program(dK Snbr_Total(temsK Snbr_TotalRe.(temsK Snbr_(tmstocompleteQ Local Ro'set Srs_ProgramQ Srs_Program O #etLevel,MNM+N%#etRo'setMScroll%LM_PR#NQ Snbr_Program(d O Srs_ProgramM+N%#etRecordMRecord%LM_PR#N%LM_PR#_(D%ValueQ Sa O ,Q Srs_Section O Srs_ScnRo'setQ (f Sr'_)rntPrgRo'%LM_PR#%LM_PR#_ST!T3S%Value O P+,P Then 2or Si O + To Srs_Section%!ctiveRo')ount Srs_(tem O Srs_SectionMSiN%#etRo'setMScroll%LM_PR#_(T$MNQ Snbr_(tmstocomplete O Srs_SectionMSiN%LM_PR#_S)"%LM_S)"_(T$MS_R$Q%ValueQ Snbr_TotalRe.(tems O ,Q Snbr_Total(tems O ,Q 2or S= O + To Srs_(tem%!ctiveRo')ount (f Srs_(temMS=N%LM_PR#_(T$M%LM_R$Q%Value O P*P Then Snbr_TotalRe.(tems O Snbr_TotalRe.(tems C +Q $ndE(fQ Snbr_Total(tems O Snbr_Total(tems C +Q $ndE2orQ

(f Snbr_(tmstocomplete $rror Msg#etM+>,G<K $ndE(fQ (f Snbr_(tmstocomplete $rror Msg#etM+>,G<K $ndE(fQ $ndE2orQ $ndE(fQ endEmethodQ

I Snbr_Total(tems Then 64<K PPNQ U Snbr_TotalRe.(tems Then 646K PPNQ

method returnToSearchPage TransferM 2alseK Menu"ame%LM_)3RR()3L3MK 0ar"ame%3S$K (tem"ame%LM_PR#_SR) K Panel%LM_PR#_SR) K P3PNQ endEmethodQ method ne'$ffdt /This%paintSectionPageMNQ endEmethodQ method setProgramShort"ame (f M/Mode O /!ction_!dd !nd "oneM#etRo'MN%LM_PR#%LM_PR#_S &RT_"M%ValueNN Then #etRo'MN%LM_PR#%LM_PR#_S &RT_"M%Value O #etRo'MN%LM_PR#%LM_PR#_L&"#_"M%ValueQ $ndE(fQ endEmethodQ method set$nd$ffdt 9C Sstr_record"ame as String C9 Local L$)S_)&MM&"8$nd$ffdt Sob=_$nd$ffdtQ Local boolean Sbol_ReturnQ Sob=_$nd$ffdt O create L$)S_)&MM&"8$nd$ffdtMPPS_LM_PR#PK P$22DTPK PLM_$"D_$22DTPNQ Sob=_$nd$ffdt%Set-eyValueMPLM_PR#_(DPK LTrimM"umberToStringMP/+,%,PK #etRecordMVMPR$)&RD%P R Sstr_record"ameNN%LM_PR#_(D%ValueNNNQ Sbol_Return O Sob=_$nd$ffdt%Set$nd$ffdtMNQ endEmethodQ method set$nd$ffdt)hild 9C Sstr_record"ame as String C9 Local L$)S_)&MM&"8$nd$ffdt Sob=_$nd$ffdtQ Local boolean Sbol_ReturnQ Sob=_$nd$ffdt O create L$)S_)&MM&"8$nd$ffdtMPPS_LM_PR#PK P$22DTPK PLM_$"D_$22DTPNQ Sob=_$nd$ffdt%Set-eyValueMPLM_PR#_(DPK LTrimM"umberToStringMP/+,%,PK #etRecordMVMPR$)&RD%P R Sstr_record"ameNN%LM_PR#_(D%ValueNNNQ Sbol_Return O Sob=_$nd$ffdt%Set$nd$ffdt)hildMPPS_P R Sstr_record"ameNQ endEmethodQ method notify(nstructor Local L$)R8L$)R_3T(L Sob=_3tility O create L$)R8L$)R_3T(LMNQ Local boolean SboolQ (f #etLevel,MN M+N%#etRo'setMScroll%LM_PR#N%#etRo'M+N%LM_PR#%LM_)&&RD_(D%(s)hanged !nd Snbr_)oordinator(d UI #etLevel,MN M+N%#etRo'setMScroll%LM_PR#N%#etRo'M+N%LM_PR#%LM_)&&RD_(D%Value Then Sbool O Sob=_3tility%"otif;Prog(nstructorMLM_PR#%LM_)&&RD_(DNQ $ndE(fQ endEmethodQ get )oordinator(d

9C Returns "umber C9 Return Snbr_)oordinator(dQ endEgetQ set )oordinator(d 9C S"e'Value as "umber C9 Snbr_)oordinator(d O S"e'ValueQ endEsetQ method verifyProgram(tems 9C Srs_pSection as Ro'set C9 Local Ro'set Srs_SectionK Srs_(temQ Local number S(K S:K S-K SLK S5Q Local Record Srec_SectionQ S5 O ,Q Srs_Section O Srs_pSectionQ 2or S( O + To Srs_Section%!ctiveRo')ount Srs_(tem O Srs_SectionMS(N%#etRo'setMScroll%LM_PR#_(T$MNQ Srec_Section O Srs_SectionMS(N%#etRecordMRecord%LM_PR#_S)"NQ S5 O ,Q (f Srec_Section%LM_S)"_(T$MS_R$Q%Value I Srs_(tem%!ctiveRo')ount Then $rror Msg#etM+>,G<K FDK PSection /+ currently has /; itemMsNK /4 itemMsN are needed to complete this section%PK Srec_Section%LM_S)"%ValueK Srs_(tem%!ctiveRo')ountK Srec_Section%LM_S)"_(T$MS_R$QNQ $ndE(fQ 2or S: O + To Srs_(tem%!ctiveRo')ount (f Srs_(temMS:N%LM_PR#_(T$M%LM_R$Q%Value O P*P Then S5 O S5 C +Q $ndE(fQ $ndE2orQ (f Srec_Section%LM_S)"_(T$MS_R$Q%Value U S5 Then $rror Msg#etM+>,G<K >;K PPNQ $ndE(fQ (f Srec_Section%LM_S)"_(T$MS_R$Q%Value O Srs_(tem%!ctiveRo')ount Then 2or S- O + To Srs_(tem%!ctiveRo')ount (f Srs_(temMS-N%LM_PR#_(T$M%LM_R$Q%Value O P"P Then $rror Msg#etM+>,G<K ><K PPNQ $ndE(fQ $ndE2orQ $ndE(fQ $ndE2orQ endEmethodQ 9L><,4D;_Verify(fSection as$mpty(tems StartsL9 method Verify(fSection as$mpty(tems 9C Srs_pSection as Ro'setK C9 9C SProgram_status as String C9 Local Ro'set Srs_SectionDetK Srs_section(temQ Local number S(K S:Q Local string SProg_statusQ SProg_status O SProgram_statusQ Srs_SectionDet O Srs_pSectionQ 2or S( O + To Srs_SectionDet%!ctiveRo')ount Srs_section(tem O Srs_SectionDetMS(N%#etRo'setMScroll%LM_PR#_(T$MNQ 2or S: O + To Srs_section(tem%!ctiveRo')ount

(f MMSrs_section(temMS:N%LM_PR#_)(_V7%LM_PRQ_"!M$%Visible O True !nd "oneMSrs_section(temMS:N%LM_PR#_)(_V7%LM_PRQ_"!M$%ValueN !nd MSProg_status O P+,PNNN Then $rror Msg#etM+>,G<K 6G;K PMessage not foundPNQ $ndE(fQ $ndE2orQ $ndE2orQ endEmethodQ 9L2unction $ndsL9

method is"estedProgram 9C Snbr_pProgram(d as "umber C9 9C Returns 0oolean C9 Return Sob=_Program)ontroller%is"estedProgramMSnbr_pProgram(dNQ endEmethodQ method has"estedProgram 9C Snbr_pProgram(d as "umberK C9 9C Sdt_p$ffdt as Date C9 9C Returns 0oolean C9 Return Sob=_Program)ontroller%has"estedProgramMSnbr_pProgram(dK Sdt_p$ffdtNQ endEmethodQ method handle$.uivalentType 9C Sstr_p$.uivalentType as String C9 #etRo'MN%LM_PR#_$Q3V_7R-%LM_$Q3(V_"!M$%$nabled O 2alseQ $valuate Sstr_p$.uivalentType 7hen O P+,P D$R(V$D%$D(TT!0L$%Value O Record%LM_)(_V7Q LM_PR#_$Q3V_7R-%LM_$Q3(V_"!M$%Value O LM_)(_V7%LM_)S_L&"#_"M%ValueQ 0reaHQ 7hen O P;,PQ D$R(V$D%$D(TT!0L$%Value O Record%LM_PR#_V7Q LM_PR#_$Q3V_7R-%LM_$Q3(V_"!M$%Value O LM_PR#_V7%LM_PR#_L&"#_"M%ValueQ 0reaHQ $ndE$valuateQ endEmethodQ method validate(f$.uivalent$@ists (f #etRo'MN%LM_PR#_$Q3V_T0L%LM_$Q3(V_&0:_T*P$%(s)hanged &r #etRo'MN%LM_PR#_$Q3V_T0L%LM_&0:_(D%(s)hanged Then (f #etRo'MN%LM_PR#_$Q3V_T0L%LM_&0:_(D%Value O , Then $rror MMsg#etTe@tM+>,G<K 6DGK PPNNQ $ndE(fQ $ndE(fQ endEmethodQ

method performPrere.uisitesLogic 9C Srec_pPreRe.uisite as Record C9 $valuate Srec_pPreRe.uisite%LM_PRQ_&0:_T*P$%Value 7hen O P+,P (f Srec_pPreRe.uisite%"ame O Record%LM_PR#_PRQ Then D$R(V$D%$D(TT!0L$%Value O Record%LM_)(_V7Q $lse D$R(V$D%$D(TT!0L$;%Value O Record%LM_)(_V7Q $ndE(fQ LM_PRQ_S0P_7R-%LM_PRQ_"!M$%Value O LM_)(_V7%LM_)S_L&"#_"M%ValueQ Srec_pPreRe.uisite%LM_R$V($7_R!T("#%Visible O 2alseQ

Srec_pPreRe.uisite%LM_R$V($7_R!T("#%$nabled O 2alseQ 0reaHQ 7hen O P;,P (f Srec_pPreRe.uisite%"ame O Record%LM_PR#_PRQ Then D$R(V$D%$D(TT!0L$%Value O Record%LM_PRQ_&0:V_V7Q $lse D$R(V$D%$D(TT!0L$;%Value O Record%LM_PRQ_&0:V_V7Q $ndE(fQ LM_PRQ_S0P_7R-%LM_PRQ_"!M$%Value O LM_PRQ_&0:V_V7%LM_PRQ_"!M$%ValueQ Srec_pPreRe.uisite%LM_R$V($7_R!T("#%Visible O TrueQ (f "oneMLM_PRQ_&0:V_V7%LM_R!T("#_M&D$L%ValueN Then Srec_pPreRe.uisite%LM_R$V($7_R!T("#%$nabled O 2alseQ $lse Srec_pPreRe.uisite%LM_R$V($7_R!T("#%$nabled O TrueQ $ndE(fQ 0reaHQ 7hen O P4,P (f Srec_pPreRe.uisite%"ame O Record%LM_PR#_PRQ Then D$R(V$D%$D(TT!0L$%Value O Record%LM_PRQ_PR#_V7Q $lse D$R(V$D%$D(TT!0L$;%Value O Record%LM_PRQ_PR#_V7Q $ndE(fQ LM_PRQ_S0P_7R-%LM_PRQ_"!M$%Value O LM_PRQ_PR#_V7%LM_PRQ_"!M$%ValueQ Srec_pPreRe.uisite%LM_R$V($7_R!T("#%Visible O 2alseQ Srec_pPreRe.uisite%LM_R$V($7_R!T("#%$nabled O 2alseQ 0reaHQ $ndE$valuateQ endEmethodQ

method prepareRe.uiredPrere.sLinH 9C Snbr_pRo' as "umber C9 (f Sob=_Prere.uisite O "ull Then Sob=_Prere.uisite O create L$)S8PreRe.s_V;MNQ $ndE(fQ Local number Snbr_Program(dQ Local Ro'set Srs_ProgramQ Srs_Program O #etLevel,MNM+N%#etRo'setMScroll%LM_PR#NQ Snbr_Program(d O Srs_ProgramM+N%#etRecordMRecord%LM_PR#N%LM_PR#_(D%ValueQ Sob=_Prere.uisite O create L$)S8PreRe.s_V;MNQ Srs_Program%#etRo'MSnbr_pRo'N%LM_PRQ_7R-%LM_PRQ_STR("#%Visible O TrueQ Srs_Program%#etRo'MSnbr_pRo'N%LM_PRQ_7R-%LM_PRQ_STR("#%Value O Sob=_Prere.uisite%List)urrentPreRe.sMSrs_Program%#etRo'MSnbr_pRo'N%#etRo'setMScrol l%LM_PR#_PRQNK Sob=_Prere.uisite%Program_PreRe.NQ /This%populateRe.uiredPrere.s#ridMSnbr_pRo'NQ endEmethodQ method prepareRecommendedPrere.sLinH 9C Snbr_pRo' as "umber C9 (f Sob=_Prere.uisite O "ull Then Sob=_Prere.uisite O create L$)S8PreRe.s_V;MNQ $ndE(fQ Local number Snbr_Program(dQ Local Ro'set Srs_ProgramQ Srs_Program O #etLevel,MNM+N%#etRo'setMScroll%LM_PR#NQ Snbr_Program(d O Srs_ProgramM+N%#etRecordMRecord%LM_PR#N%LM_PR#_(D%ValueQ

Sob=_Prere.uisite O create L$)S8PreRe.s_V;MNQ Srs_Program%#etRo'MSnbr_pRo'N%LM_R$)_PRQ_7R-%LM_PRQ_STR("#%Visible O TrueQ Srs_Program%#etRo'MSnbr_pRo'N%LM_R$)_PRQ_7R-%LM_PRQ_STR("#%Value O Sob=_Prere.uisite%List)urrentPreRe.sMSrs_Program%#etRo'MSnbr_pRo'N%#etRo'setMScrol l%LM_PR#_R$)NK Sob=_Prere.uisite%Program_RecNQ /This%populateRecommendedPrere.s#ridMSnbr_pRo'NQ endEmethodQ method populateRe.uiredPrere.s#rid 9C Snbr_pRo' as "umber C9 (f Sob=_Prere.uisite O "ull Then Sob=_Prere.uisite O create L$)S8PreRe.s_V;MNQ $ndE(fQ Local number Snbr_Program(dQ Local Ro'set Srs_ProgramQ Srs_Program O #etLevel,MNM+N%#etRo'setMScroll%LM_PR#NQ Snbr_Program(d O Srs_ProgramM+N%#etRecordMRecord%LM_PR#N%LM_PR#_(D%ValueQ Srs_Program%#etRo'MSnbr_pRo'N%#etRo'setMScroll%LM_PR#_PRQ_P_V7N%2lushMNQ Sob=_Prere.uisite%Populate#ridMSrs_Program%#etRo'MSnbr_pRo'N%#etRo'setMScroll%LM_P R#_PRQ_P_V7NK Sob=_Prere.uisite%Program_PreRe.NQ endEmethodQ method populateRecommendedPrere.s#rid 9C Snbr_pRo' as "umber C9 (f Sob=_Prere.uisite O "ull Then Sob=_Prere.uisite O create L$)S8PreRe.s_V;MNQ $ndE(fQ Local number Snbr_Program(dQ Local Ro'set Srs_ProgramQ Srs_Program O #etLevel,MNM+N%#etRo'setMScroll%LM_PR#NQ Snbr_Program(d O Srs_ProgramM+N%#etRecordMRecord%LM_PR#N%LM_PR#_(D%ValueQ Srs_Program%#etRo'MSnbr_pRo'N%#etRo'setMScroll%LM_PR#_R$)_V7N%2lushMNQ Sob=_Prere.uisite%Populate#ridMSrs_Program%#etRo'MSnbr_pRo'N%#etRo'setMScroll%LM_P R#_R$)_V7NK Sob=_Prere.uisite%Program_RecNQ endEmethodQ 9L Verify that the Prere.s are not pointing to the current Program (D L9 method verifyPreRe.uisiteProgram 9C Srec_pPreRe.uisite as Record C9 !nd (f MSrec_pPreRe.uisite%LM_PR#_(D%Value O Srec_pPreRe.uisite%LM_&0:_(D%ValueN

MSrec_pPreRe.uisite%LM_PRQ_&0:_T*P$%Value O P4,PN Then $rror Msg#etM+>,G<K F,K PPNQ $ndE(fQ endEmethodQ 9L if the preEre.uisite type is &b=ectiveK L then maHe sure revie' rating in entered if the ob=ective chosen is associated 'ith a rating model L9 method verifyPrere.uisite&b=ective 9C Srec_pPreRe.uisite as Record C9 (f MSrec_pPreRe.uisite%LM_PRQ_&0:_T*P$%Value O P;,PN Then (f !llMLM_PRQ_&0:V_V7%LM_R!T("#_M&D$L%ValueN !nd Srec_pPreRe.uisite%LM_R$V($7_R!T("#%Value O PP Then $rror Msg#etM+>,G,K +4,K PPNQ $ndE(fQ

$ndE(fQ endEmethodQ method setPrere.uisiteDisplay&rder 9C Srec_pPreRe.uisite as RecordK C9 9C Snbr_ro' as "umber C9 Local number Snbr_Program(dQ Local Ro'set Srs_ProgramQ Srs_Program O #etLevel,MNM+N%#etRo'setMScroll%LM_PR#NQ Snbr_Program(d O Srs_ProgramM+N%#etRecordMRecord%LM_PR#N%LM_PR#_(D%ValueQ (f Srec_pPreRe.uisite%LM_D(SP_&RD$R%Value U + Then Srec_pPreRe.uisite%LM_D(SP_&RD$R%Value O Srs_Program%#etRo'MSnbr_ro'N%#etRo'setMScroll%LM_PR#_PRQN%Ro')ountQ $ndE(fQ endEmethodQ method resetValues 9C Srec_pPreRe.uisite as Record C9 Srec_pPreRe.uisite%LM_&0:_(D%Value O ,Q LM_PRQ_S0P_7R-%LM_PRQ_"!M$%Value O PPQ endEmethodQ method checHPrere.uisiteDuplicates 9C Srs_ProgramPrere.uisites as Ro'set C9 Local integer SiQ (f !llMLM_PR#_R$)%LM_&0:_(D%ValueN Then 2or Si O + To Srs_ProgramPrere.uisites%!ctiveRo')ount (f LM_PR#_R$)%LM_PRQ_&0:_T*P$%Value O Srs_ProgramPrere.uisitesMSiN%LM_PR#_PRQ%LM_PRQ_&0:_T*P$%Value !nd LM_PR#_R$)%LM_&0:_(D%Value O Srs_ProgramPrere.uisitesMSiN%LM_PR#_PRQ%LM_&0:_(D%Value Then $rror Msg#etM+>,G<K >+K PPNQ $ndE(fQ $ndE2orQ $ndE(fQ endEmethodQ method get"e@tProgram(d 9C Returns "umber C9 Local number Snbr_Prog(dQ Snbr_Prog(d O LM_PR#%LM_PR#_(D%ValueQ (f /Mode O /!ction_!dd &r Snbr_Prog(d O GGGGGGGGGG Then Snbr_Prog(d O Sob=_Program)ontroller%get"e@t(dMPLM_PR#_)&3"T$R%LM_PR#_(DPNQ $ndE(fQ Return Snbr_Prog(dQ endEmethodQ method get"e@tSection(d 9C Returns "umber C9 Local number Snbr_Section(dQ Snbr_Section(d O LM_PR#_S)"%LM_S)"_(D%ValueQ (f "oneMLM_PR#_S)"%LM_S)"_(D%ValueN !nd #etRo'MN%(s)hanged !nd !llMLM_PR#_S)"%LM_S)"%ValueN Then Snbr_Section(d O Sob=_Program)ontroller%get"e@t(dMPLM_PR#_)&3"T$R%LM_S)"_(DPNQ $ndE(fQ Return Snbr_Section(dQ endEmethodQ method get"e@t"otes(d 9C Returns "umber C9

Local number Snbr_"otes(dQ Snbr_"otes(d O LM_PR#_"&T$%LM_"&T$S_(D%ValueQ (f "oneMLM_PR#_"&T$%LM_"&T$S_(D%ValueN ThenQ Snbr_"otes(d O Sob=_Program)ontroller%get"e@t(dMPLM_PR#_)&3"T$R%LM_"&T$S_(DPNQ $ndE(fQ Return Snbr_"otes(dQ endEmethodQ method get"e@t!ttachment(d 9C Returns "umber C9 Local number Snbr_!ttachment(dQ Snbr_!ttachment(d O LM_PR#_!T) %LM_!TT!) _(D%ValueQ (f "oneMLM_PR#_!T) %LM_!TT!) _(D%ValueN !nd !llMLM_PR#_!T) %!TT!) 3S$R2(L$%ValueN Then Snbr_!ttachment(d O Sob=_Program)ontroller%get"e@t(dMPLM_PR#_)&3"T$R%LM_!TT!) _(DPNQ $ndE(fQ Return Snbr_!ttachment(dQ endEmethodQ method setMa@Section&rder rem Srs_ProgramMSiN%LM_PR#_7R-%LM_M!5_S)"_&RD$R%Value O Srs_SectionMSrs_Section%!ctiveRo')ountN%LM_PR#_S)"%LM_&RD$R%ValueQ endEmethodQ method sortSection rem Srs_Section%SortMLM_PR#_S)"%LM_&RD$RK P!PNQ endEmethodQ method sort(tem endEmethodQ method handle)ertifications Local number Snbr_Program(dQ Local Ro'set Srs_ProgramQ Srs_Program O #etLevel,MNM+N%#etRo'setMScroll%LM_PR#NQ Snbr_Program(d O Srs_ProgramM+N%#etRecordMRecord%LM_PR#N%LM_PR#_(D%ValueQ (f Srs_ProgramM+N%LM_PR#%LM_PR#_T*P$%Value O P)$P Then #etRecordMRecord%LM_PR#_7R-N%LM_2($LD_L!0$L%Visible O TrueQ $lse #etRecordMRecord%LM_PR#_7R-N%LM_2($LD_L!0$L%Visible O 2alseQ $ndE(fQ /This%hide3nhideSection$@pirationM#etRo'MN%ParentRo'set%ParentRo'NQ endEmethodQ method handle&0:(D2ld)hange 9C Sstr_p$.uivalentType as String C9 $valuate Sstr_p$.uivalentType 7hen O P+,P LM_PR#_$Q3V_7R-%LM_$Q3(V_"!M$%Value O LM_)(_V7%LM_)S_L&"#_"M%ValueQ 0reaHQ 7hen O P;,PQ LM_PR#_$Q3V_7R-%LM_$Q3(V_"!M$%Value O LM_PR#_V7%LM_PR#_L&"#_"M%ValueQ 0reaHQ $ndE$valuateQ endEmethodQ

method formatProgram$.uivalents 9C Srs_Prg$.uiv as Ro'set C9 (f "oneMSrs_Prg$.uivM+N%LM_PR#_$Q3V_T0L%LM_&0:_(D%ValueN Then Srs_Prg$.uiv%ParentRo'%LM_PR#_$Q3V_7R-%LM_PR#_$Q3(V_#P0%Visible Srs_Prg$.uiv%ParentRo'%LM_PR#_$Q3V_7R-%LM_P!#$_L!0$L+%Visible O $lse Srs_Prg$.uiv%ParentRo'%LM_PR#_$Q3V_7R-%LM_PR#_$Q3(V_#P0%Visible Srs_Prg$.uiv%ParentRo'%LM_PR#_$Q3V_7R-%LM_P!#$_L!0$L+%Visible O $ndE(fQ endEmethodQ method formatProgramRe.uiredPreRe.s 9C Srs_PrgRe.PreRe.s as Ro'set C9 (f Srs_PrgRe.PreRe.s%!ctiveRo')ount O + !nd "oneMSrs_PrgRe.PreRe.sM+N%LM_PR#_PRQ%LM_&0:_(D%ValueN Then Srs_PrgRe.PreRe.s%ParentRo'%LM_PR#_PRQ_7R-%LM_PR#_PRQ_#P0%Visible O 2alseQ Srs_PrgRe.PreRe.s%ParentRo'%LM_PR#_PRQ_7R-%LM_PR#_PRQ_"&_#P0%Visible O TrueQ Srs_PrgRe.PreRe.s%ParentRo'%LM_PR#_PRQ_7R-%LM_PR#_PRQ_!DD%Visible O TrueQ Srs_PrgRe.PreRe.s%ParentRo'%LM_PR#_PRQ_7R-%LM_PR#_"&_PRQ%Value O Msg#et$@plainTe@tM+>,G<K ;>+K PPNQ Srs_PrgRe.PreRe.s%ParentRo'%LM_PR#_PRQ_7R-%LM_PR#_R$Q_$D(T%Visible O 2alseQ $lse Srs_PrgRe.PreRe.s%ParentRo'%LM_PR#_PRQ_7R-%LM_PR#_PRQ_#P0%Visible O TrueQ Srs_PrgRe.PreRe.s%ParentRo'%LM_PR#_PRQ_7R-%LM_PR#_PRQ_"&_#P0%Visible O 2alseQ Srs_PrgRe.PreRe.s%ParentRo'%LM_PR#_PRQ_7R-%LM_PR#_PRQ_!DD%Visible O 2alseQ (f Sbol_c_Pr.$dit0tn)licHed Then Srs_PrgRe.PreRe.s%ParentRo'%LM_PR#_PRQ_7R-%LM_PR#_PRQ_#RD%Visible O TrueQ Srs_PrgRe.PreRe.s%ParentRo'%LM_PR#_PRQ_7R-%LM_PR#_R$Q_$D(T%Visible O $lse Srs_PrgRe.PreRe.s%ParentRo'%LM_PR#_PRQ_7R-%LM_PR#_PRQ_#RD%Visible O 2alseQ TrueQ Srs_PrgRe.PreRe.s%ParentRo'%LM_PR#_PRQ_7R-%LM_PR#_R$Q_$D(T%Visible O O 2alseQ TrueQ O TrueQ 2alseQ

2alseQ

$ndE(fQ $ndE(fQ

endEmethodQ method formatProgramRecommendedPreRe.s 9C Srs_PrgRecPreRe.s as Ro'set C9 (f "oneMSrs_PrgRecPreRe.sM+N%LM_PR#_R$)%LM_&0:_(D%ValueN Then Srs_PrgRecPreRe.s%ParentRo'%LM_PR#_PRQ_7R-%LM_PR#_R$)_#P0%Visible O 2alseQ Srs_PrgRecPreRe.s%ParentRo'%LM_PR#_PRQ_7R-%LM_PR#_R$)_"&_#P0%Visible O TrueQ Srs_PrgRecPreRe.s%ParentRo'%LM_PR#_PRQ_7R-%LM_PR#_R$)_!DD%Visible O TrueQ Srs_PrgRecPreRe.s%ParentRo'%LM_PR#_PRQ_7R-%LM_PR#_"&_R$)%Value O Msg#et$@plainTe@tM+>,G<K ;>;K PPNQ Srs_PrgRecPreRe.s%ParentRo'%LM_PR#_PRQ_7R-%LM_PR#_R$)_$D(T%Visible O 2alseQ $lse Srs_PrgRecPreRe.s%ParentRo'%LM_PR#_PRQ_7R-%LM_PR#_R$)_#P0%Visible O TrueQ Srs_PrgRecPreRe.s%ParentRo'%LM_PR#_PRQ_7R-%LM_PR#_R$)_"&_#P0%Visible O 2alseQ Srs_PrgRecPreRe.s%ParentRo'%LM_PR#_PRQ_7R-%LM_PR#_R$)_!DD%Visible O 2alseQ (f Sbol_c_Rec$dit0tn)licHed Then Srs_PrgRecPreRe.s%ParentRo'%LM_PR#_PRQ_7R-%LM_PR#_R$)_#RD%Visible O TrueQ Srs_PrgRecPreRe.s%ParentRo'%LM_PR#_PRQ_7R-%LM_PR#_R$)_$D(T%Visible O 2alseQ 2alseQ TrueQ $lse Srs_PrgRecPreRe.s%ParentRo'%LM_PR#_PRQ_7R-%LM_PR#_R$)_#RD%Visible O Srs_PrgRecPreRe.s%ParentRo'%LM_PR#_PRQ_7R-%LM_PR#_R$)_$D(T%Visible O $ndE(fQ

$ndE(fQ endEmethodQ method addRe.uiredPrere.uisites Local Ro'set Srs_PrgRe.PreRe.sQ Srs_PrgRe.PreRe.s O #etRo'setMScroll%LM_PR#_PRQNQ Srs_PrgRe.PreRe.s%ParentRo'%LM_PR#_PRQ_7R-%LM_PR#_PRQ_#P0%Visible O TrueQ Srs_PrgRe.PreRe.s%ParentRo'%LM_PR#_PRQ_7R-%LM_PR#_PRQ_"&_#P0%Visible O 2alseQ Srs_PrgRe.PreRe.s%ParentRo'%LM_PR#_PRQ_7R-%LM_PR#_PRQ_!DD%Visible O 2alseQ (f !llMSrs_PrgRe.PreRe.sM+N%LM_PR#_PRQ%LM_&0:_(D%ValueN Then Srs_PrgRe.PreRe.s%(nsertRo'MSrs_PrgRe.PreRe.s%!ctiveRo')ountNQ Srs_PrgRe.PreRe.s%ParentRo'%LM_PRQ_7R-%LM_PRQ_STR("#%Visible O TrueQ $lse Srs_PrgRe.PreRe.s%ParentRo'%LM_PRQ_7R-%LM_PRQ_STR("#%Visible O 2alseQ Srs_PrgRe.PreRe.s%ParentRo'%LM_PR#_PRQ_7R-%LM_PR#_R$Q_$D(T%Visible O 2alseQ $ndE(fQ Sbol_c_Pr.$dit0tn)licHed O TrueQ endEmethodQ method addRecommendedPrere.uisites Local Ro'set Srs_PrgRecPreRe.sQ Srs_PrgRecPreRe.s O #etRo'setMScroll%LM_PR#_R$)NQ Srs_PrgRecPreRe.s%ParentRo'%LM_PR#_PRQ_7R-%LM_PR#_R$)_#P0%Visible O TrueQ Srs_PrgRecPreRe.s%ParentRo'%LM_PR#_PRQ_7R-%LM_PR#_R$)_"&_#P0%Visible O 2alseQ Srs_PrgRecPreRe.s%ParentRo'%LM_PR#_PRQ_7R-%LM_PR#_R$)_!DD%Visible O 2alseQ (f !llMSrs_PrgRecPreRe.sM+N%LM_PR#_R$)%LM_&0:_(D%ValueN Then Srs_PrgRecPreRe.s%(nsertRo'MSrs_PrgRecPreRe.s%!ctiveRo')ountNQ Srs_PrgRecPreRe.s%ParentRo'%LM_R$)_PRQ_7R-%LM_PRQ_STR("#%Visible O TrueQ $lse Srs_PrgRecPreRe.s%ParentRo'%LM_R$)_PRQ_7R-%LM_PRQ_STR("#%Visible O 2alseQ Srs_PrgRecPreRe.s%ParentRo'%LM_PR#_PRQ_7R-%LM_PR#_R$)_$D(T%Visible O 2alseQ $ndE(fQ Sbol_c_Rec$dit0tn)licHed O TrueQ endEmethodQ method editRe.uiredPrere.uisites Local Ro'set Srs_PrgRe.PreRe.sQ Srs_PrgRe.PreRe.s O #etRo'setMScroll%LM_PR#_PRQNQ Srs_PrgRe.PreRe.s%ParentRo'%LM_PR#_PRQ_7R-%LM_PR#_PRQ_#RD%Visible O TrueQ Srs_PrgRe.PreRe.s%ParentRo'%LM_PR#_PRQ_7R-%LM_PR#_R$Q_$D(T%Visible O 2alseQ Sbol_c_Pr.$dit0tn)licHed O TrueQ endEmethodQ method editRecommendedPrere.uisites Local Ro'set Srs_PrgRecPreRe.sQ Srs_PrgRecPreRe.s O #etRo'setMScroll%LM_PR#_R$)NQ Srs_PrgRecPreRe.s%ParentRo'%LM_PR#_PRQ_7R-%LM_PR#_R$)_#RD%Visible O TrueQ Srs_PrgRecPreRe.s%ParentRo'%LM_PR#_PRQ_7R-%LM_PR#_R$)_$D(T%Visible O 2alseQ Sbol_c_Rec$dit0tn)licHed O TrueQ endEmethodQ method doneRe.uiredPrere.uisites Local Ro'set Srs_PrgRe.PreRe.sQ Srs_PrgRe.PreRe.s O #etRo'setMScroll%LM_PR#_PRQNQ (f !llMSrs_PrgRe.PreRe.sM+N%LM_PR#_PRQ%LM_&0:_(D%ValueN Then Srs_PrgRe.PreRe.s%ParentRo'%LM_PR#_PRQ_7R-%LM_PR#_PRQ_#RD%Visible O 2alseQ Srs_PrgRe.PreRe.s%ParentRo'%LM_PR#_PRQ_7R-%LM_PR#_R$Q_$D(T%Visible O TrueQ Sbol_c_Pr.$dit0tn)licHed O 2alseQ

$ndE(fQ endEmethodQ method doneRecommendedPrere.uisites Local Ro'set Srs_PrgRecPreRe.sQ Srs_PrgRecPreRe.s O #etRo'setMScroll%LM_PR#_R$)NQ (f !llMSrs_PrgRecPreRe.sM+N%LM_PR#_R$)%LM_&0:_(D%ValueN Then Srs_PrgRecPreRe.s%ParentRo'%LM_PR#_PRQ_7R-%LM_PR#_R$)_#RD%Visible O 2alseQ Srs_PrgRecPreRe.s%ParentRo'%LM_PR#_PRQ_7R-%LM_PR#_R$)_$D(T%Visible O TrueQ Sbol_c_Rec$dit0tn)licHed O 2alseQ $ndE(fQ endEmethodQ method set$@piration(nformation LM_PR#_S)"%LM_$5PR_D!*S%Value O LM_PR#_7R-%LM_$5PR_D!*S%ValueQ LM_PR#_S)"%LM_R$)$RT_7R"_D!*S%Value O LM_PR#_7R-%LM_R$)$RT_7R"_D!*S%ValueQ LM_PR#_S)"%LM_R$)$RT_PD_D!*S%Value O LM_PR#_7R-%LM_R$)$RT_PD_D!*S%ValueQ LM_PR#_S)"%LM_#R!)$_PD_D!*S%Value O LM_PR#_7R-%LM_#R!)$_PD_D!*S%ValueQ LM_PR#_S)"%LM_$5PR_7R"_D!*S%Value O LM_PR#_7R-%LM_$5PR_7R"_D!*S%ValueQ LM_PR#_S)"%LM_$5PR_DT%Value O LM_PR#_7R-%LM_$5PR_DT%ValueQ endEmethodQ method formatProgramSections 9C Srs_PrgScn as Ro'set C9 Local boolean Sbol_hasScn(temQ Local Ro'set Srs_tmpScn(temQ Local number SiQ Srs_tmpScn(tem O Srs_PrgScnM+N%#etRo'setMScroll%LM_PR#_(T$MNQ 2or Si O + To Srs_tmpScn(tem%!ctiveRo')ount (f Srs_tmpScn(temMSiN%LM_PR#_(T$M%LM_&0:_(D%Value I , Then Sbol_hasScn(tem O TrueQ 0reaHQ $ndE(fQ $ndE2orQ (f Srs_PrgScn%!ctiveRo')ount IO + !nd M"oneMSrs_PrgScnM+N%LM_PR#_S)"%LM_S)"%ValueN !nd Sbol_hasScn(tem O 2alseN Then Srs_PrgScn%ParentRo'%LM_PR#_S)"_7R-;%LM_PR#_S)"_#P0%Visible O 2alseQ Srs_PrgScn%ParentRo'%LM_PR#_S)"_7R-;%LM_PR#_S)"_"&_#P0%Visible O TrueQ Srs_PrgScn%ParentRo'%LM_PR#_S)"_7R-;%LM_PR#_S)"_"&_D$S)%Value O Msg#et$@plainTe@tM+>,G<K ;>4K PPNQ $lse Srs_PrgScn%ParentRo'%LM_PR#_S)"_7R-;%LM_PR#_S)"_#P0%Visible O TrueQ Srs_PrgScn%ParentRo'%LM_PR#_S)"_7R-;%LM_PR#_S)"_"&_#P0%Visible O 2alseQ $ndE(fQ endEmethodQ method displaySection$@pirationData 9C Sr'_PrgSecn as Ro'K C9 9C Sstr_prgType as String C9 Local Ro'set Srs_PrgScn(temQ (f Sstr_prgType O P)$P Then Srs_PrgScn(tem O Sr'_PrgSecn%#etRo'setMScroll%LM_PR#_(T$MNQ (f Srs_PrgScn(temMSrs_PrgScn(tem%!ctiveRo')ountN%#etRecordMRecord%LM_PR#_(T$MN%LM_&0: _T*P$%Value O P+,P Then Sr'_PrgSecn%LM_PR#_7R-%LM_2($LD_L!0$L%Visible O TrueQ Sr'_PrgSecn%LM_PR#_7R-%LM_$5PR_D!*S%Value O

Sr'_PrgSecn%LM_PR#_S)"%LM_$5PR_D!*S%ValueQ Sr'_PrgSecn%LM_PR#_7R-%LM_#R!)$_PD_D!*S%Value O Sr'_PrgSecn%LM_PR#_S)"%LM_#R!)$_PD_D!*S%ValueQ Sr'_PrgSecn%LM_PR#_7R-%LM_$5PR_DT%Value O Sr'_PrgSecn%LM_PR#_S)"%LM_$5PR_DT%ValueQ Sr'_PrgSecn%LM_PR#_7R-%LM_$5PR_7R"_D!*S%Value O Sr'_PrgSecn%LM_PR#_S)"%LM_$5PR_7R"_D!*S%ValueQ Sr'_PrgSecn%LM_PR#_7R-%LM_R$)$RT_PD_D!*S%Value O Sr'_PrgSecn%LM_PR#_S)"%LM_R$)$RT_PD_D!*S%ValueQ Sr'_PrgSecn%LM_PR#_7R-%LM_R$)$RT_7R"_D!*S%Value O Sr'_PrgSecn%LM_PR#_S)"%LM_R$)$RT_7R"_D!*S%ValueQ Sr'_PrgSecn%LM_PR#_7R-%LM_$5PR_D!*S%$nabled O TrueQ Sr'_PrgSecn%LM_PR#_7R-%LM_#R!)$_PD_D!*S%$nabled O TrueQ Sr'_PrgSecn%LM_PR#_7R-%LM_$5PR_DT%$nabled O TrueQ Sr'_PrgSecn%LM_PR#_7R-%LM_$5PR_7R"_D!*S%$nabled O TrueQ Sr'_PrgSecn%LM_PR#_7R-%LM_R$)$RT_PD_D!*S%$nabled O TrueQ Sr'_PrgSecn%LM_PR#_7R-%LM_R$)$RT_7R"_D!*S%$nabled O TrueQ $lse Sr'_PrgSecn%LM_PR#_7R-%LM_2($LD_L!0$L%Visible O 2alseQ $ndE(fQ /This%hide3nhideSection$@pirationMSr'_PrgSecn%ParentRo'set%ParentRo'NQ $ndE(fQ endEmethodQ method formatProgram"otes 9C Srs_Prg"otes as Ro'set C9 (f "oneMSrs_Prg"otesM+N%LM_PR#_"&T$%LM_"&T$%ValueN Then Srs_Prg"otes%ParentRo'%LM_PR#_"&T$_7R-%LM_P!#$_L!0$L+%Visible Srs_Prg"otes%ParentRo'%LM_PR#_"&T$_7R-%LM_PR#_"&T_#P0%Visible $lse Srs_Prg"otes%ParentRo'%LM_PR#_"&T$_7R-%LM_P!#$_L!0$L+%Visible Srs_Prg"otes%ParentRo'%LM_PR#_"&T$_7R-%LM_PR#_"&T_#P0%Visible $ndE(fQ endEmethodQ method formatProgram!ttachment 9C Srs_Prg!ttachment as Ro'set C9 Local number SiQ (f "oneMSrs_Prg!ttachmentM+N%LM_PR#_!T) %LM_!T) %ValueN Then Srs_Prg!ttachment%ParentRo'%LM_PR#_"&T$_7R-%LM_P!#$_L!0$L;%Visible O TrueQ Srs_Prg!ttachment%ParentRo'%LM_PR#_"&T$_7R-%LM_PR#_"&T_"&_#P0%Visible O 2alseQ $lse Srs_Prg!ttachment%ParentRo'%LM_PR#_"&T$_7R-%LM_P!#$_L!0$L;%Visible O 2alseQ Srs_Prg!ttachment%ParentRo'%LM_PR#_"&T$_7R-%LM_PR#_"&T_"&_#P0%Visible O TrueQ 2or Si O + To Srs_Prg!ttachment%!ctiveRo')ount Srs_Prg!ttachmentMSiN%2(L$_!TT!) _7R-%!TT!) V($7%Label O Srs_Prg!ttachmentMSiN%LM_PR#_!T) %!TT!) 3S$R2(L$%Value $ndE2orQ $ndE(fQ endEmethodQ method add"otes 9C Srs_"otes as Ro'set C9 (f "oneMSrs_"otesM+N%LM_PR#_"&T$%LM_"&T$%ValueN Then Srs_"otes%ParentRo'%LM_PR#_"&T$_7R-%LM_P!#$_L!0$L+%Visible O 2alseQ Srs_"otes%ParentRo'%LM_PR#_"&T$_7R-%LM_PR#_"&T_#P0%Visible O TrueQ $lse Srs_"otes%(nsertRo'MSrs_"otes%!ctiveRo')ountNQ $ndE(fQ endEmethodQ O TrueQ O 2alseQ O 2alseQ O TrueQ

method formatProgram)ategories 9C Srs_Prg)atg as Ro'set C9 (f "oneMSrs_Prg)atgM+N%LM_PR#_)!T#%LM_)!T#_(D%ValueN Then Srs_Prg)atg%ParentRo'%LM_PR#_!TT0_7R-%LM_PR#_)!T#_#P0%Visible O 2alseQ Srs_Prg)atg%ParentRo'%LM_PR#_!TT0_7R-%LM_PR#_)!T#_"&_#P0%Visible O TrueQ Srs_Prg)atg%ParentRo'%LM_PR#_!TT0_7R-%LM_PR#_)T#_"&_D$S)%Value O Msg#etTe@tM+>,G<K 6,,K PPNQ $lse Srs_Prg)atg%ParentRo'%LM_PR#_!TT0_7R-%LM_PR#_)!T#_#P0%Visible O TrueQ Srs_Prg)atg%ParentRo'%LM_PR#_!TT0_7R-%LM_PR#_)!T#_"&_#P0%Visible O 2alseQ $ndE(fQ endEmethodQ method formatProgram-ey'ords 9C Srs_Prg-'rd as Ro'set C9 (f "oneMSrs_Prg-'rdM+N%LM_PR#_-7RD%LM_-7RD_(D%ValueN Then Srs_Prg-'rd%ParentRo'%LM_PR#_!TT0_7R-%LM_PR#_-7RD_#P0%Visible O 2alseQ Srs_Prg-'rd%ParentRo'%LM_PR#_!TT0_7R-%LM_PR#_-7RD_"&_#P0%Visible O TrueQ Srs_Prg-'rd%ParentRo'%LM_PR#_!TT0_7R-%LM_PR#_-7D_"&_D$S)%Value O Msg#etTe@tM+>,G<K 6,+K PPNQ $lse Srs_Prg-'rd%ParentRo'%LM_PR#_!TT0_7R-%LM_PR#_-7RD_#P0%Visible O TrueQ Srs_Prg-'rd%ParentRo'%LM_PR#_!TT0_7R-%LM_PR#_-7RD_"&_#P0%Visible O 2alseQ $ndE(fQ endEmethodQ method formatProgram&b=ectives 9C Srs_Prg&b=v as Ro'set C9 (f "oneMSrs_Prg&b=vM+N%LM_PR#_&0:V%LM_&0:V_(D%ValueN Then Srs_Prg&b=v%ParentRo'%LM_PR#_!TT0_7R-%LM_PR#_&0:V_#P0%Visible O 2alseQ Srs_Prg&b=v%ParentRo'%LM_PR#_!TT0_7R-%LM_PR#_&0:V_"&_#P0%Visible O TrueQ Srs_Prg&b=v%ParentRo'%LM_PR#_!TT0_7R-%LM_PR#_&0:V_"&D$S)%Value O Msg#etTe@tM+>,G<K 6,;K PPNQ $lse Srs_Prg&b=v%ParentRo'%LM_PR#_!TT0_7R-%LM_PR#_&0:V_#P0%Visible O TrueQ Srs_Prg&b=v%ParentRo'%LM_PR#_!TT0_7R-%LM_PR#_&0:V_"&_#P0%Visible O 2alseQ $ndE(fQ endEmethodQ method addProgram)ategories Local Ro'set Srs_Prg)atgQ Srs_Prg)atg O #etRo'setMScroll%LM_PR#_)!T#NQ Srs_Prg)atg%ParentRo'%LM_PR#_!TT0_7R-%LM_PR#_)!T#_#P0%Visible O TrueQ Srs_Prg)atg%ParentRo'%LM_PR#_!TT0_7R-%LM_PR#_)!T#_"&_#P0%Visible O 2alseQ (f !llMSrs_Prg)atgM+N%LM_PR#_)!T#%LM_)!T#_(D%ValueN Then Srs_Prg)atg%(nsertRo'MSrs_Prg)atg%!ctiveRo')ountNQ $ndE(fQ endEmethodQ method addProgram-ey'ords Local Ro'set Srs_Prg-'rdQ Srs_Prg-'rd O #etRo'setMScroll%LM_PR#_-7RDNQ Srs_Prg-'rd%ParentRo'%LM_PR#_!TT0_7R-%LM_PR#_-7RD_#P0%Visible O TrueQ Srs_Prg-'rd%ParentRo'%LM_PR#_!TT0_7R-%LM_PR#_-7RD_"&_#P0%Visible O 2alseQ

(f !llMSrs_Prg-'rdM+N%LM_PR#_-7RD%LM_-7RD_(D%ValueN Then Srs_Prg-'rd%(nsertRo'MSrs_Prg-'rd%!ctiveRo')ountNQ $ndE(fQ endEmethodQ method addProgram&b=ectives Local Ro'set Srs_Prg&b=vQ Srs_Prg&b=v O #etRo'setMScroll%LM_PR#_&0:VNQ Srs_Prg&b=v%ParentRo'%LM_PR#_!TT0_7R-%LM_PR#_&0:V_#P0%Visible O TrueQ Srs_Prg&b=v%ParentRo'%LM_PR#_!TT0_7R-%LM_PR#_&0:V_"&_#P0%Visible O 2alseQ (f !llMSrs_Prg&b=vM+N%LM_PR#_&0:V%LM_&0:V_(D%ValueN Then Srs_Prg&b=v%(nsertRo'MSrs_Prg&b=v%!ctiveRo')ountNQ $ndE(fQ endEmethodQ method handle$.uiv&b=Type 9C Sstr_p$.uivalentType as String C9 $valuate Sstr_p$.uivalentType 7hen O P+,P D$R(V$D%$D(TT!0L$%Value O Record%LM_)(_V7Q LM_PR#_$Q3V_T0L%LM_&0:_(D%Value O ,Q LM_PR#_$Q3V_7R-%LM_$Q3(V_"!M$%Value O LM_)(_V7%LM_)S_L&"#_"M%ValueQ 0reaHQ 7hen O P;,PQ D$R(V$D%$D(TT!0L$%Value O Record%LM_PR#_V7Q LM_PR#_$Q3V_T0L%LM_&0:_(D%Value O ,Q LM_PR#_$Q3V_7R-%LM_$Q3(V_"!M$%Value O LM_PR#_V7%LM_PR#_L&"#_"M%ValueQ 0reaHQ $ndE$valuate endEmethodQ

method get)ache&b=ect Local L$)R_3T(L8Ro'set)ache Sob=_)acheQ Sob=_)ache O create L$)R_3T(L8Ro'set)acheMNQ Local Ro'set Srs_SrchRsltK Srs_)urrRsltQ Srs_SrchRslt O Sob=_)ache%get)acheMPSR) RSLTPNQ Srs_)urrRslt O Sob=_)ache%get)acheMP)3RRRSLTPNQ (f Srs_)urrRslt UI "ull Then Sc_rec_)urrSrchRslt O Srs_)urrRsltM+N%#etRecordM+NQ $ndE(fQ Sc_rs_SrchRslt O Srs_SrchRsltQ endEmethodQ method handleToolbarSearch0uttons (f Sc_ob=_List"av%"avigation!dapter%SearchResults UI "ull !nd Sc_ob=_List"av%"avigation!dapter%)urrentResult UI Sc_ob=_List"av%"avigation!dapter%SearchResults%!ctiveRo')ount Then LM_PR#_T0!R_7R-%LM_"$5T_L("-%$nabled O TrueQ $lse LM_PR#_T0!R_7R-%LM_"$5T_L("-%$nabled O 2alseQ $ndE(fQ (f Sc_ob=_List"av%"avigation!dapter%SearchResults UI "ull !nd Sc_ob=_List"av%"avigation!dapter%)urrentResult I + Then LM_PR#_T0!R_7R-%LM_PR$V(&3S_L("-%$nabled O TrueQ $lse LM_PR#_T0!R_7R-%LM_PR$V(&3S_L("-%$nabled O 2alseQ $ndE(fQ

endEmethodQ method transferToProgram Local Local Local Local Record Srec_pProgramQ L$)R_3T(L8Ro'set)ache Sob=_)acheQ Ro'set Srs_PrgSearchRsltK Srs_PageRo'setK Srs_)urrRsltQ boolean Sbol_RsltQ

Srec_pProgram O Sc_ob=_List"av%"avigation!dapter%)urrentRecordQ Srs_PrgSearchRslt O )reateRo'setMRecord%LM_PR#_TR"S_7R-NQ Srs_PageRo'set O Sc_ob=_List"av%"avigation!dapter%SearchResultsQ Srs_PageRo'set%)opyToMSrs_PrgSearchRsltK Record%LM_PR#_TR"S_7R-K Record%LM_PR#_TR"S_7R-NQ Sob=_)ache O create L$)R_3T(L8Ro'set)acheMNQ Sbol_Rslt O Sob=_)ache%put)acheMSrs_PrgSearchRsltK PSR) RSLTPK PSearch resultPNQ Srs_)urrRslt O )reateRo'setMRecord%LM_PR#_TR"S_7R-NQ Srs_)urrRsltM+N%LM_PR#_TR"S_7R-%LM_PR#_(D%Value O Sc_ob=_List"av%"avigation!dapter%)urrentRecord%LM_PR#_(D%ValueQ Srs_)urrRsltM+N%LM_PR#_TR"S_7R-%$22DT%Value O Sc_ob=_List"av%"avigation!dapter%)urrentRecord%$22DT%ValueQ Sbol_Rslt O Sob=_)ache%put)acheMSrs_)urrRsltK P)3RRRSLTPK PSearch resultPNQ TransferM 2alseK Menu"ame%LM_)3RR()3L3MK 0ar"ame%3S$K (tem"ame%LM_PR&#K Panel%LM_PR#_P#K P)PK Srec_pProgramNQ endEmethodQ method manageSecionRules (f #etRo'MN%(s"e' !nd "ot #etRo'MN%(sDeleted Then Sob=_Program)ontroller%manageSection!ddforRulesM#etRo'MN%LM_PR#_S)"%LM_PR#_(D%Valu eK #etRo'MN%LM_PR#_S)"%$22DT%ValueK #etRo'MN%LM_PR#_S)"%LM_S)"_(D%ValueNQ $lse (f #etRo'MN%(sDeleted Then Sob=_Program)ontroller%manageSectionDeleteforRulesM#etRo'MN%LM_PR#_S)"%LM_PR#_(D%V alueK #etRo'MN%LM_PR#_S)"%$22DT%ValueK #etRo'MN%LM_PR#_S)"%LM_S)"_(D%ValueNQ $ndE(fQ $ndE(fQ endEmethodQ method gray$@pirationRules 9C Sr'_Section as Ro' C9 (f "oneMSr'_SectionN Then #etRo'MN%LM_PR#_7R-%LM_$5PR_D!*S%$nabled O 2alseQ #etRo'MN%LM_PR#_7R-%LM_R$)$RT_7R"_D!*S%$nabled O 2alseQ #etRo'MN%LM_PR#_7R-%LM_R$)$RT_PD_D!*S%$nabled O 2alseQ #etRo'MN%LM_PR#_7R-%LM_#R!)$_PD_D!*S%$nabled O 2alseQ #etRo'MN%LM_PR#_7R-%LM_$5PR_7R"_D!*S%$nabled O 2alseQ #etRo'MN%LM_PR#_7R-%LM_$5PR_DT%$nabled O 2alseQ $lse Sr'_Section%LM_PR#_7R-%LM_$5PR_D!*S%$nabled O 2alseQ Sr'_Section%LM_PR#_7R-%LM_R$)$RT_7R"_D!*S%$nabled O 2alseQ Sr'_Section%LM_PR#_7R-%LM_R$)$RT_PD_D!*S%$nabled O 2alseQ Sr'_Section%LM_PR#_7R-%LM_#R!)$_PD_D!*S%$nabled O 2alseQ Sr'_Section%LM_PR#_7R-%LM_$5PR_7R"_D!*S%$nabled O 2alseQ Sr'_Section%LM_PR#_7R-%LM_$5PR_DT%$nabled O 2alseQ $ndE(fQ endEmethodQ

method set(tem$dittable $valuate LM_PR#_(T$M%LM_&0:_T*P$%Value 7hen O P+,P D$R(V$D%$D(TT!0L$%Value O Record%LM_PR#_)(_V7Q 0reaHQ 7hen O P;,P 0reaHQ 7hen O P4,P D$R(V$D%$D(TT!0L$%Value O Record%LM_"$ST_PR#_V7Q 0reaHQ $ndE$valuateQ endEmethodQ method hideProgramRelated2ields $valuate LM_PR#_(T$M%LM_&0:_T*P$%Value 7hen O P+,P LM_"$ST_PR#_V7%LM_PR#_L&"#_"M%Visible O 2alseQ LM_PR#_)(_V7%LM_PRQ_"!M$%Visible O TrueQ LM_PR#_(T$M%LM_&RD$R%Visible O TrueQ LM_PR#_(T$M%LM_R$Q%Visible O TrueQ 0reaHQ 7hen O P;,P 0reaHQ 7hen O P4,P LM_"$ST_PR#_V7%LM_PR#_L&"#_"M%Visible O TrueQ LM_PR#_)(_V7%LM_PRQ_"!M$%Visible O 2alseQ LM_PR#_(T$M%LM_&RD$R%Visible O 2alseQ LM_PR#_(T$M%LM_R$Q%$nabled O 2alseQ 0reaHQ $ndE$valuateQ endEmethodQ method cascade$@pire (f #etRo'MN%LM_PR#%LM_PR#_T*P$%Value O P)$P Then (f #etRo'MN%LM_PR#%LM_)$RT_)!S)D_$5PR%Value O P*P Then /This%blanH$@pirationRulesMNQ #etRo'MN%LM_PR#_P#_7R-%LM_PR#_#RP0&5_<%Visible O 2alseQ $lse #etRo'MN%LM_PR#_P#_7R-%LM_PR#_#RP0&5_<%Visible O TrueQ $ndE(fQ /This%hide3nhideSection$@pirationM#etRo'MNNQ $ndE(fQ endEmethodQ method blanH$@pirationRules #etRo'MN%LM_PR#%LM_$5PR_D!*S%Value O ,Q #etRo'MN%LM_PR#%LM_R$)$RT_7R"_D!*S%Value O ,Q #etRo'MN%LM_PR#%LM_R$)$RT_PD_D!*S%Value O ,Q #etRo'MN%LM_PR#%LM_#R!)$_PD_D!*S%Value O ,Q #etRo'MN%LM_PR#%LM_$5PR_7R"_D!*S%Value O ,Q #etRo'MN%LM_PR#%LM_$5PR_DT%Value O PPQ endEmethodQ method hide$@pirationRules 9C Sr'_Section as Ro' C9 (f "oneMSr'_SectionN Then (f LM_PR#_(T$M%LM_&0:_T*P$%Value O P4,P Then #etRo'MN%#etRecordMRecord%LM_PR#_7R-N%LM_2($LD_L!0$L%Visible O 2alseQ $lse #etRo'MN%#etRecordMRecord%LM_PR#_7R-N%LM_2($LD_L!0$L%Visible O TrueQ $ndE(fQ /This%hide3nhideSection$@pirationM#etRo'MN%ParentRo'set%ParentRo'NQ $lse (f LM_PR#_(T$M%LM_&0:_T*P$%Value O P4,P Then Sr'_Section%#etRecordMRecord%LM_PR#_7R-N%LM_2($LD_L!0$L%Visible O 2alseQ $lse Sr'_Section%#etRecordMRecord%LM_PR#_7R-N%LM_2($LD_L!0$L%Visible O TrueQ $ndE(fQ /This%hide3nhideSection$@pirationMSr'_Section%ParentRo'set%ParentRo'NQ

$ndE(fQ endEmethodQ method allo'"estedProgram)hecH 9C Sr'_Program as Ro' C9 Local L$0&_P$RS&"8!dministrator Sob=_!dminQ Sob=_!dmin O create L$0&_P$RS&"8!dministratorM/&perator(dNQ Sob=_!dmin%get!dminDetailsMNQ Local L$)S_)&MM&"8Defaults Sob=_Defaults O create L$)S_)&MM&"8DefaultsMSob=_!dmin%L$(DNQ (f Sob=_Defaults%LM_!LL&7_"$ST_PR# O P*P Then Sr'_Program%LM_PR#_7R-%LM_!DD_S)"_PR&#R!M%Visible O TrueQ $lse Sr'_Program%LM_PR#_7R-%LM_!DD_S)"_PR&#R!M%Visible O 2alseQ $ndE(fQ endEmethodQ method set&ptionParent0ased&n)hild 9C Sr'_Program as Ro' C9 9L This method 'ill set the appropriate settings for this option flag LM_P!R_0S$_&"_) D L9 Local L$0&_P$RS&"8!dministrator Sob=_!dminQ Sob=_!dmin O create L$0&_P$RS&"8!dministratorM/&perator(dNQ Sob=_!dmin%get!dminDetailsMNQ Local L$)S_)&MM&"8Defaults Sob=_Defaults O create L$)S_)&MM&"8DefaultsMSob=_!dmin%L$(DNQ (f Sob=_Defaults%LM_!LL&7_"$ST_PR# O P*P Then Sr'_Program%LM_PR#%LM_P!R_0S$_&"_) D%Visible O TrueQ $lse Sr'_Program%LM_PR#%LM_P!R_0S$_&"_) D%Visible O 2alseQ Sr'_Program%LM_PR#%LM_P!R_0S$_&"_) D%Value O P"PQ ReturnQ $ndE(fQ (f Sr'_Program%(s"e' Then Sr'_Program%LM_PR#%LM_P!R_0S$_&"_) D%Value O Sob=_Defaults%LM_P!R_0S$_&"_) DQ $ndE(fQ (f Sr'_Program%LM_PR#%LM_)$RT_)!S)D_$5PR%Value O P*P Then Sr'_Program%LM_PR#%LM_P!R_0S$_&"_) D%Value O P*PQ Sr'_Program%LM_PR#%LM_P!R_0S$_&"_) D%$nabled O 2alseQ $lse Sr'_Program%LM_PR#%LM_P!R_0S$_&"_) D%$nabled O TrueQ $ndE(fQ endEmethodQ method checHDuplicateProgram (f LM_PR#_(T$M%LM_&0:_T*P$%Value O P4,P Then (f LM_PR#_(T$M%LM_PR#_(D%Value O LM_PR#_(T$M%LM_&0:_(D%Value Then $rror MMsg#etTe@tM+>,G<K 6<GK PPNNQ $ndE(fQ $ndE(fQ endEmethodQ method checH"estedProgram (f /This%has"estedProgramMLM_PR#_(T$M%LM_&0:_(D%ValueK LM_PR#_(T$M%$22DT%ValueN Then

Me00a(e1o&;2< BB< "K2O4< #"#< BB>A 6< Re)#lut%#" R891061 Start c#$e c/a"4e)<6 REM Me))a4eB#BH0J SSJ 1809DJ 515J SSKQ LM_PR3_ITEMELM_OB@_IDESet(ur)#rP#)H.Pa4eKQ Err#r HM)43etTeBtH1809DJ 515J SSKKQ 6< Re)#lut%#" R891061 E"$ c#$e c/a"4e) <6 $ndE(fQ endEmethodQ method checHRecertification 9C Snbr_)ertification(D as "umber C9 9L This method should not used% This is coded 'rong% L9 (f !llMSnbr_)ertification(DN Then rem /This%gray$@pirationRulesM "ullNQ $ndE(fQ endEmethodQ method handleLearner#roupLogic 9C Sarray_le as !rray of "umberK C9 9C Sarray_lg as !rray of "umber C9 9LRemoves learning groups if the learning environment is no longer associated 'ith the ProgramL9 Local number S@K Snbr_DaysK SyK Snbr_L$(DQ Local Ro'set Srs_Learner#roupK Srs_Learning$nvironmentQ Local Ro' Sr'_Learner#roupQ Local Record Srec_Learner#roupK Sprg_recQ Local boolean Sbol_validL$Q Local string Ss.l_lg_appendK Sstr_Prg)d&ptionQ Ss.l_lg_append O PPQ Sprg_rec O #etLevel,MN%#etRo'M+N%#etRo'setMScroll%LM_PR#N%#etRo'M)urrentRo'"umberM+NN%LM_PR#Q Srs_Learner#roup O #etLevel,MN%#etRo'M+N%#etRo'setMScroll%LM_PR#N%#etRo'M)urrentRo'"umberM+NN%#etRo's etMScroll%LM_PR#_S$)NQ Srs_Learning$nvironment O #etLevel,MN%#etRo'M+N%#etRo'setMScroll%LM_PR#N%#etRo'M)urrentRo'"umberM+NN%#etRo's etMScroll%LM_PR#_L$NQ Sarray_lg O )reate!rrayReptM,K ,NQ Sarray_le O )reate!rrayReptM,K ,NQ 2or Sy O + To Srs_Learning$nvironment%!ctiveRo')ount Sarray_le%PushMSrs_Learning$nvironment%#etRo'MSyN%LM_PR#_L$%LM_L$_(D%ValueNQ $ndE2orQ 2or S@ O Srs_Learner#roup%!ctiveRo')ount To + Step E + Sr'_Learner#roup O Srs_Learner#roup%#etRo'MS@NQ (f Sr'_Learner#roup%LM_PR#_S$)%LM_LR"R_#R&3P_(D%Value I , Then Snbr_L$(D O Sr'_Learner#roup%LM_L#_7R-%LM_L$_(D%ValueQ Sbol_validL$ O 2alseQ 2or Sy O + To Sarray_le%Len (f Sarray_le ASyB O Snbr_L$(D Then Sbol_validL$ O TrueQ 0reaHQ $ndE(fQ $ndE2orQ (f "ot Sbol_validL$ Then Srs_Learner#roup%DeleteRo'MS@NQ $lse Sarray_lg%PushMSr'_Learner#roup%LM_PR#_S$)%LM_LR"R_#R&3P_(D%ValueNQ $ndE(fQ $ndE(fQ $ndE2orQ endEmethodQ method checHDuplicate)ourse)ode 9C Sarray_le as !rray of "umber C9

Local boolean Sbol_3ni.ueQ Local string Sstr_Prg)d&ptionQ Local L$)R8L$)R_PR# Scls_prg O create L$)R8L$)R_PR#MNQ Sstr_Prg)d&ption O Scls_prg%#etPrg)d&ptionMNQ Sbol_3ni.ue O Scls_prg%)hecH3ni.uePrg)odeMSstr_Prg)d&ptionK LM_PR#%LM_PR#_)D%ValueK LM_PR#%LM_PR#_(D%ValueK Sarray_leNQ $valuate Sstr_Prg)d&ption 7hen P!P 9LL !llo' duplicate )ourse )ode LL9 (f "ot Sbol_3ni.ue Then 7arning MMsg#etM+>,G;K ++6>K PPNN $ndE(fQ 0reaHQ 7hen PRP 9LL Restrict duplicate )ourse )ode LL9 (f "ot Sbol_3ni.ue Then Set)ursorPosMPage%LM_PR#_P#K LM_PR#%LM_PR#_)DK )urrentRo'"umberMNNQ $rror MMsg#etM+>,G;K ++6DK PPNN $ndE(fQ 0reaHQ 7hen PLP 9LL Restricted by L$K the )ourse )ode and L$ combination must be uni.ue% LL9 (f "ot Sbol_3ni.ue Then Set)ursorPosMPage%LM_PR#_P#K LM_PR#%LM_PR#_)DK )urrentRo'"umberMNNQ $rror MMsg#etM+>,G;K ++6FK PPNN $ndE(fQ 0reaHQ $ndE$valuateQ endEmethodQ method checH istorical)redit (f MLM_PR#_(T$M%LM_ (ST)R$D(T_D!*S%Value UI PPN !nd MLM_PR#_(T$M%LM_ (ST_)R$D(T%Value O P"PN Then $rror Msg#etM+>,G<K DGK PPNQ $ndE(fQ endEmethodQ method setMa@(tem&rder LM_PR#_7R-%LM_M!5_(T$M_&RD$R%Value O LM_PR#_7R-%LM_M!5_(T$M_&RD$R%Value C +Q LM_PR#_(T$M%LM_&RD$R O LM_PR#_7R-%LM_M!5_(T$M_&RD$R%ValueQ endEmethodQ method populateProgramRelationship Local Local Local Local Ro'set Srs_PrgK Srs_PagePrgQ Ro' Sr'_PagePrgQ number SiQ #rid Sgrd_PrgQ

Sgrd_Prg O #et#ridMPage%LM_PR#_"$ST_R$LK PLM_PR#_V7PNQ Srs_PagePrg O #etRo'MN%#etRo'setMScroll%LM_PR#_V7NQ Srs_PagePrg%2lushMNQ Srs_PagePrg%Set)omponent)hanged O 2alseQ Srs_Prg O Sob=_Program)ontroller%getProgramRelationshipM/DateK #etRo'MN%LM_PR#%LM_PR#_(D%ValueNQ (f Srs_Prg%!ctiveRo')ount I , !nd Srs_PrgM+N%LM_PR#%LM_PR#_(D%Value I , Then #etRo'MN%LM_PR#_R$L_7R-%LM_PR#_"&T_#P0%Visible O TrueQ #etRo'MN%LM_PR#_R$L_7R-%LM_PR#_"&T_"&_#P0%Visible O 2alseQ Sgrd_Prg%#et)olumnMPPR#L("-PN%Label O PPQ 2or Si O + To Srs_Prg%!ctiveRo')ount (f Srs_PagePrg%!ctiveRo')ount IO + !nd !llMSrs_PagePrg%#etRo'M+N%LM_PR#_R$L_7R-%LM_PR#_(D%ValueN Then Srs_PagePrg%(nsertRo'MSrs_PagePrg%!ctiveRo')ountNQ

$ndE(fQ Sr'_PagePrg O Srs_PagePrg%#etRo'MSrs_PagePrg%!ctiveRo')ountNQ Sr'_PagePrg%LM_PR#_R$L_7R-%LM_PR#_(D%Value O Srs_PrgMSiN%LM_PR#%LM_PR#_(D%ValueQ Sr'_PagePrg%LM_PR#_R$L_7R-%LM_PR#_L("-_+%Label O Srs_PrgMSiN%LM_PR#%LM_PR#_L&"#_"M%ValueQ Sr'_PagePrg%LM_PR#_V7%LM_PR#_(D%Value O Srs_PrgMSiN%LM_PR#%LM_PR#_(D%ValueQ $ndE2orQ Sgrd_Prg%#et)olumnMPPR#L("-PN%Label O P PQ $lse #etRo'MN%LM_PR#_R$L_7R-%LM_PR#_"&T_#P0%Visible O 2alseQ #etRo'MN%LM_PR#_R$L_7R-%LM_PR#_"&T_"&_#P0%Visible O TrueQ #etRo'MN%LM_PR#_R$L_7R-%LM_PR#_)T#_"&_D$S)%Value O Msg#etTe@tM+>,G<K 66;K PPNQ $ndE(fQ endEmethodQ method displayProgramRelationship Local L$0&_P$RS&"8!dministrator Sob=_!dminQ Sob=_!dmin O create L$0&_P$RS&"8!dministratorM/&perator(dNQ Sob=_!dmin%get!dminDetailsMNQ Local L$)S_)&MM&"8Defaults Sob=_Defaults O create L$)S_)&MM&"8DefaultsMSob=_!dmin%L$(DNQ (f Sob=_Defaults%LM_!LL&7_"$ST_PR# O P*P Then #etRo'MN%LM_PR#_R$L_7R-%LM_PR#_"$ST_R$L%Visible O TrueQ $lse #etRo'MN%LM_PR#_R$L_7R-%LM_PR#_"$ST_R$L%Visible O 2alseQ $ndE(fQ endEmethodQ

method setProgramrelationPageTitle Local LM_3T(L(T($S8$LMTe@t)atalog Sob=_Te@t)atalog O create LM_3T(L(T($S8$LMTe@t)atalogMNQ Local string Sstr_Te@tStringQ Local L$0&_P$RS&"8!dministrator Sob=_!dminQ Sob=_!dmin O create L$0&_P$RS&"8!dministratorM/&perator(dNQ Sob=_!dmin%get!dminDetailsMNQ Sob=_Te@t)atalog%LM_L$_(D O Sob=_!dmin%L$(DQ Sstr_Te@tString O Sob=_Te@t)atalog%getTe@tMPL$)R_"$STR$L_T(TL$PK PPK PPK PPK PPK PPNQ LM_L0L_7R-%LM_P!#$_T(TL$%Value O Sstr_Te@tStringQ endEmethodQ method hide3nhideSection$@piration 9C Sr'_Prg as Ro' C9 Local Ro'set Srs_PrgScnK Srs_Section(temQ Local number SiK S=Q Local string Sstr_)ascd$@pr2lgQ Sstr_)ascd$@pr2lg O Sr'_Prg%LM_PR#%LM_)$RT_)!S)D_$5PR%ValueQ Srs_PrgScn O Sr'_Prg%#etRo'setMScroll%LM_PR#_S)"NQ 2or Si O + To Srs_PrgScn%!ctiveRo')ount (f Sstr_)ascd$@pr2lg O P*P Then Srs_Section(tem O Srs_PrgScnMSiN%#etRo'setMScroll%LM_PR#_(T$MNQ

2or S= O + To Srs_Section(tem%!ctiveRo')ount (f Srs_Section(temMS=N%LM_PR#_(T$M%LM_&0:_T*P$%Value O P+,P Then Srs_PrgScn%#etRo'MSiN%LM_PR#_7R-%LM_2($LD_L!0$L%Visible O TrueQ $ndE(fQ $ndE2orQ $lse Srs_PrgScn%#etRo'MSiN%LM_PR#_7R-%LM_2($LD_L!0$L%Visible O 2alseQ Srs_PrgScn%#etRo'MSiN%LM_PR#_7R-%LM_$5PR_D!*S%Value O ,Q Srs_PrgScn%#etRo'MSiN%LM_PR#_7R-%LM_R$)$RT_7R"_D!*S%Value O ,Q Srs_PrgScn%#etRo'MSiN%LM_PR#_7R-%LM_R$)$RT_PD_D!*S%Value O ,Q Srs_PrgScn%#etRo'MSiN%LM_PR#_7R-%LM_#R!)$_PD_D!*S%Value O ,Q Srs_PrgScn%#etRo'MSiN%LM_PR#_7R-%LM_$5PR_7R"_D!*S%Value O ,Q Srs_PrgScn%#etRo'MSiN%LM_PR#_7R-%LM_$5PR_DT%Value O PPQ $ndE(fQ $ndE2orQ endEmethodQ method prepareRe.uiredPrere.sLinH!fterDelete 9C Snbr_pRo' as "umberK C9 9C Snbr_deleteRo' as "umber C9 (f Sob=_Prere.uisite O "ull Then Sob=_Prere.uisite O create L$)S8PreRe.s_V;MNQ $ndE(fQ Local Local Local Local Ro'set number number Ro'set Srs_DeletedPreRe.sK Srs_PreRe.ScrollQ SiQ Snbr_Program(dQ Srs_ProgramQ

Srs_Program O #etLevel,MNM+N%#etRo'setMScroll%LM_PR#NQ Snbr_Program(d O Srs_ProgramM+N%#etRecordMRecord%LM_PR#N%LM_PR#_(D%ValueQ Srs_PreRe.Scroll O Srs_Program%#etRo'MSnbr_pRo'N%#etRo'setMScroll%LM_PR#_PRQNQ Srs_DeletedPreRe.s O )reateRo'setMSrs_PreRe.ScrollNQ Srs_PreRe.Scroll%)opyToMSrs_DeletedPreRe.sNQ 2or Si O + To Srs_DeletedPreRe.s%!ctiveRo')ount (f Snbr_deleteRo' O Si Then Srs_DeletedPreRe.s%DeleteRo'MSnbr_deleteRo'NQ $ndE(fQ $ndE2orQ Sob=_Prere.uisite O create L$)S8PreRe.s_V;MNQ Srs_Program%#etRo'MSnbr_pRo'N%LM_PRQ_7R-%LM_PRQ_STR("#%Visible O TrueQ Srs_Program%#etRo'MSnbr_pRo'N%LM_PRQ_7R-%LM_PRQ_STR("#%Value O Sob=_Prere.uisite%List)urrentPreRe.sMSrs_DeletedPreRe.sK Sob=_Prere.uisite%Program_PreRe.NQ /This%populateRe.uiredPrere.s#ridMSnbr_pRo'NQ (f #etRo'setMN%!ctiveRo')ount O + Then LM_PR#_PRQ_7R-%LM_PR#_PRQ_#P0%Visible O 2alseQ LM_PR#_PRQ_7R-%LM_PR#_PRQ_"&_#P0%Visible O TrueQ LM_PR#_PRQ_7R-%LM_PR#_PRQ_!DD%Visible O TrueQ LM_PR#_PRQ_7R-%LM_PR#_"&_PRQ%Value O Msg#et$@plainTe@tM+>,G<K ;>+K PPNQ $ndE(fQ endEmethodQ method prepareRecommendedPrere.sLinH!fterDelete 9C Snbr_pRo' as "umberK C9 9C Snbr_deleteRo' as "umber C9 (f Sob=_Prere.uisite O "ull Then Sob=_Prere.uisite O create L$)S8PreRe.s_V;MNQ $ndE(fQ Local Ro'set Srs_DeletedPreRe.sK Srs_PreRe.ScrollQ Local number SiQ Local number Snbr_Program(dQ

Local Ro'set Srs_ProgramQ Srs_Program O #etLevel,MNM+N%#etRo'setMScroll%LM_PR#NQ Snbr_Program(d O Srs_ProgramM+N%#etRecordMRecord%LM_PR#N%LM_PR#_(D%ValueQ Srs_PreRe.Scroll O Srs_Program%#etRo'MSnbr_pRo'N%#etRo'setMScroll%LM_PR#_R$)NQ Srs_DeletedPreRe.s O )reateRo'setMSrs_PreRe.ScrollNQ Srs_PreRe.Scroll%)opyToMSrs_DeletedPreRe.sNQ 2or Si O + To Srs_DeletedPreRe.s%!ctiveRo')ount (f Snbr_deleteRo' O Si Then Srs_DeletedPreRe.s%DeleteRo'MSnbr_deleteRo'NQ $ndE(fQ $ndE2orQ Sob=_Prere.uisite O create L$)S8PreRe.s_V;MNQ Srs_Program%#etRo'MSnbr_pRo'N%LM_R$)_PRQ_7R-%LM_PRQ_STR("#%Visible O TrueQ Srs_Program%#etRo'MSnbr_pRo'N%LM_R$)_PRQ_7R-%LM_PRQ_STR("#%Value O Sob=_Prere.uisite%List)urrentPreRe.sMSrs_DeletedPreRe.sK Sob=_Prere.uisite%Program_RecNQ /This%populateRecommendedPrere.s#ridMSnbr_pRo'NQ (f #etRo'setMN%!ctiveRo')ount O + Then LM_PR#_PRQ_7R-%LM_PR#_R$)_#P0%Visible O 2alseQ LM_PR#_PRQ_7R-%LM_PR#_R$)_"&_#P0%Visible O TrueQ LM_PR#_PRQ_7R-%LM_PR#_R$)_!DD%Visible O TrueQ LM_PR#_PRQ_7R-%LM_PR#_"&_R$)%Value O Msg#et$@plainTe@tM+>,G<K ;>;K PPNQ $ndE(fQ endEmethodQ method validate)ompletionPeriod 9C Sr'_)rntPrgRo' as Ro' C9 (f Sr'_)rntPrgRo'%LM_PR#%LM_PR#_T*P$%Value O P)$P !nd Sr'_)rntPrgRo'%LM_PR#%LM_)MPL_PD_D!*S%Value UO , Then Set)ursorPosMPage%LM_PR#_P#K Scroll%LM_PR#K Sr'_)rntPrgRo'%Ro'"umberK LM_PR#%LM_)MPL_PD_D!*SNQ $rror Msg#etM+>,G<K 66DK PPNQ $ndE(fQ endEmethodQ method validateSection$@piration 9C Srs_ScnRo'set as Ro'setK C9 9C Sr'_)rntPrgRo' as Ro' C9 Local number SiK SaK S=Q Local Ro'set Srs_(temK Srs_SectionK Srs_Section(temQ Local number Snbr_Program(dK Snbr_Total(temsK Snbr_TotalRe.(temsK Snbr_(tmstocompleteQ Local Ro'set Srs_ProgramQ Local string Sstr_)ascd$@pr2lgQ Srs_Program O #etLevel,MNM+N%#etRo'setMScroll%LM_PR#NQ Snbr_Program(d O Srs_ProgramM+N%#etRecordMRecord%LM_PR#N%LM_PR#_(D%ValueQ Sa O ,Q Srs_Section O Srs_ScnRo'setQ (f Sr'_)rntPrgRo'%LM_PR#%LM_PR#_ST!T3S%Value O P+,P Then Sstr_)ascd$@pr2lg O Sr'_)rntPrgRo'%LM_PR#%LM_)$RT_)!S)D_$5PR%ValueQ (f Sstr_)ascd$@pr2lg O P*P Then 2or Si O + To Srs_ScnRo'set%!ctiveRo')ount Srs_Section(tem O Srs_ScnRo'setMSiN%#etRo'setMScroll%LM_PR#_(T$MNQ (f Srs_Section(temM+N%LM_PR#_(T$M%LM_&0:_T*P$%Value O P+,P Then /This%validateSection$@pirationDateMSrs_ScnRo'set%#etRo'MSiN%LM_PR#_7R-%LM_$5PR_DT %ValueK Srs_ScnRo'set%#etRo'MSiN%LM_PR#_7R-%LM_$5PR_D!*S%ValueK Srs_ScnRo'set%#etRo'MSiNNQ /This%validateScn$@piration7arningPeriodMSrs_ScnRo'set%#etRo'MSiN%LM_PR#_7R-%LM_$5

PR_DT%ValueK Srs_ScnRo'set%#etRo'MSiN%LM_PR#_7R-%LM_$5PR_D!*S%ValueK Srs_ScnRo'set%#etRo'MSiN%LM_PR#_7R-%LM_$5PR_7R"_D!*S%ValueK Srs_ScnRo'set%#etRo'MSiNNQ /This%validateScnRecertificationPeriodMSrs_ScnRo'set%#etRo'MSiN%LM_PR#_7R-%LM_R$)$ RT_PD_D!*S%ValueK Srs_ScnRo'set%#etRo'MSiN%LM_PR#_7R-%LM_R$)$RT_7R"_D!*S%ValueK Srs_ScnRo'set%#etRo'MSiNNQ $ndE(fQ $ndE2orQ $ndE(fQ $ndE(fQ endEmethodQ method validateSection$@pirationDate 9C Sdt_p$@pirationDate as DateK C9 9C Snbr_p$@pirationDays as "umberK C9 9C Sr'_)rntPrgRo' as Ro' C9 (f M!llMSdt_p$@pirationDateN !nd !llMSnbr_p$@pirationDaysNN Then (f Snbr_p$@pirationDays UI , Then $rror Msg#etM+>,G<K FFK PPNQ $ndE(fQ $ndE(fQ (f "oneMSdt_p$@pirationDateN !nd "oneMSnbr_p$@pirationDaysN Then (f !llMSr'_)rntPrgRo'%LM_PR#_7R-%LM_#R!)$_PD_D!*S%ValueN &r !llMSr'_)rntPrgRo'%LM_PR#_7R-%LM_$5PR_7R"_D!*S%ValueN &r !llMSr'_)rntPrgRo'%LM_PR#_7R-%LM_R$)$RT_PD_D!*S%ValueN &r !llMSr'_)rntPrgRo'%LM_PR#_7R-%LM_R$)$RT_7R"_D!*S%ValueN Then $rror Msg#etM+>,G<K 6D+K PPNQ $ndE(fQ $ndE(fQ endEmethodQ method validateScn$@piration7arningPeriod 9C Sdt_p$@pirationDate as DateK C9 9C Snbr_p$@pirationDays as "umberK C9 9C Snbr_p$@piration7arningDays as "umberK C9 9C Sr'_)rntPrgRo' as Ro' C9 Local number Snbr_DaysQ (f M!llMSnbr_p$@piration7arningDaysN !nd !llMSnbr_p$@pirationDaysNN Then (f Snbr_p$@piration7arningDays UI , Then $valuate Snbr_p$@piration7arningDays 7hen IO Snbr_p$@pirationDays $rror Msg#etM+>,G<K F>K PPNQ 0reaHQ $ndE$valuateQ $ndE(fQ $ndE(fQ (f M!llMSdt_p$@pirationDateN !nd !llMSnbr_p$@piration7arningDaysNN Then Snbr_Days O !bsMDaysMSdt_p$@pirationDateN E DaysM/DateNNQ $valuate Snbr_p$@piration7arningDays 7hen IO Snbr_Days $rror Msg#etM+>,G<K FGK PPNQ 0reaHQ $ndE$valuateQ $ndE(fQ endEmethodQ method validateScnRecertificationPeriod 9C Snbr_pRecertificationPeriod as "umberK C9

9C Snbr_pRecertification7arningDays as "umberK C9 9C Sr'_)rntPrgRo' as Ro' C9 (f M!llMSnbr_pRecertification7arningDaysN !nd !llMSnbr_pRecertificationPeriodNN Then (f MSnbr_pRecertification7arningDays UI ,N !nd MSnbr_pRecertification7arningDays I Snbr_pRecertificationPeriodN Then $rror Msg#etM+>,G<K >,K PPNQ $ndE(fQ $ndE(fQ endEmethodQ method didSection)hange 9C Returns 0oolean C9 Local number SiK S=K SHK SlK SmQ Local Ro'set Srs_ProgramK Srs_SectionK Srs_Section(temK Srs_PrgRuleK Srs_PrgScnRuleQ Local boolean Sbol_(s)hangedQ Srs_Program O #etLevel,MNM+N%#etRo'setMScroll%LM_PR#NQ Sbol_(s)hanged O 2alseQ 2or Si O + To Srs_Program%!ctiveRo')ount (f Srs_ProgramMSiN%(s"e' O 2alse Then (f MSrs_Program%#etRo'MSiN%LM_PR#%LM_$5PR_D!*S%(s)hanged !nd Srs_Program%#etRo'MSiN%LM_PR#%LM_$5PR_D!*S%Value UI Srs_Program%#etRo'MSiN%LM_PR#%LM_$5PR_D!*S%&riginalValueN &r MSrs_Program%#etRo'MSiN%LM_PR#%LM_R$)$RT_7R"_D!*S%(s)hanged !nd Srs_Program%#etRo'MSiN%LM_PR#%LM_R$)$RT_7R"_D!*S%Value UI Srs_Program%#etRo'MSiN%LM_PR#%LM_R$)$RT_7R"_D!*S%&riginalValueN &r MSrs_Program%#etRo'MSiN%LM_PR#%LM_R$)$RT_PD_D!*S%(s)hanged !nd Srs_Program%#etRo'MSiN%LM_PR#%LM_R$)$RT_PD_D!*S%Value UI Srs_Program%#etRo'MSiN%LM_PR#%LM_R$)$RT_PD_D!*S%&riginalValueN &r MSrs_Program%#etRo'MSiN%LM_PR#%LM_#R!)$_PD_D!*S%(s)hanged !nd Srs_Program%#etRo'MSiN%LM_PR#%LM_#R!)$_PD_D!*S%Value UI Srs_Program%#etRo'MSiN%LM_PR#%LM_#R!)$_PD_D!*S%&riginalValueN &r MSrs_Program%#etRo'MSiN%LM_PR#%LM_$5PR_7R"_D!*S%(s)hanged !nd Srs_Program%#etRo'MSiN%LM_PR#%LM_$5PR_7R"_D!*S%Value UI Srs_Program%#etRo'MSiN%LM_PR#%LM_$5PR_7R"_D!*S%&riginalValueN &r MSrs_Program%#etRo'MSiN%LM_PR#%LM_$5PR_DT%(s)hanged !nd Srs_Program%#etRo'MSiN%LM_PR#%LM_$5PR_DT%Value UI Srs_Program%#etRo'MSiN%LM_PR#%LM_$5PR_DT%&riginalValueN Then Sbol_(s)hanged O TrueQ 0reaHQ $ndE(fQ Srs_Section O Srs_ProgramMSiN%#etRo'setMScroll%LM_PR#_S)"NQ 2or S= O + To Srs_Section%!ctiveRo')ount (f MSrs_SectionMS=N%#etRecordMRecord%LM_PR#_S)"N%LM_S)"%(s)hanged !nd Srs_SectionMS=N%#etRecordMRecord%LM_PR#_S)"N%LM_S)"%Value UI Srs_SectionMS=N%#etRecordMRecord%LM_PR#_S)"N%LM_S)"%&riginalValueN &r MSrs_SectionMS=N%#etRecordMRecord%LM_PR#_S)"N%LM_&RD$R%(s)hanged !nd Srs_SectionMS=N%#etRecordMRecord%LM_PR#_S)"N%LM_&RD$R%Value UI Srs_SectionMS=N%#etRecordMRecord%LM_PR#_S)"N%LM_&RD$R%&riginalValueN &r MSrs_SectionMS=N%#etRecordMRecord%LM_PR#_S)"N%LM_S)"_(T$MS_R$Q%(s)hanged !nd Srs_SectionMS=N%#etRecordMRecord%LM_PR#_S)"N%LM_S)"_(T$MS_R$Q%Value UI Srs_SectionMS=N%#etRecordMRecord%LM_PR#_S)"N%LM_S)"_(T$MS_R$Q%&riginalValueN &r Srs_SectionMS=N%(s"e' Then Sbol_(s)hanged O TrueQ 0reaHQ $ndE(fQ Srs_Section(tem O Srs_SectionMS=N%#etRo'setMScroll%LM_PR#_(T$MNQ 2or SH O + To Srs_Section(tem%!ctiveRo')ount (f Srs_Section(temMSHN%#etRecordMRecord%LM_PR#_(T$MN%LM_&0:_T*P$%(s)hanged &r Srs_Section(temMSHN%#etRecordMRecord%LM_PR#_(T$MN%LM_&0:_(D%(s)hanged &r

Srs_Section(temMSHN%#etRecordMRecord%LM_PR#_(T$MN%LM_&RD$R%(s)hanged &r Srs_Section(temMSHN%#etRecordMRecord%LM_PR#_(T$MN%LM_R$Q%(s)hanged &r Srs_Section(temMSHN%#etRecordMRecord%LM_PR#_(T$MN%LM_ (ST_)R$D(T%(s)hanged &r Srs_Section(temMSHN%#etRecordMRecord%LM_PR#_(T$MN%LM_ (ST)R$D(T_D!*S%(s)hanged &r Srs_Section(temMSHN%#etRecordMRecord%LM_PR#_(T$MN%LM_!LL&7_$Q3(V%(s)hanged &r Srs_Section(temMSHN%(s"e' Then Sbol_(s)hanged O TrueQ 0reaHQ $ndE(fQ $ndE2orQ (f Sbol_(s)hanged Then 0reaHQ $ndE(fQ $ndE2orQ (f Sbol_(s)hanged Then 0reaHQ $ndE(fQ $ndE(fQ $ndE2orQ Return Sbol_(s)hangedQ endEmethodQ method 'arn(fProgram)hanged Local number SiK S=K SHQ Local Ro'set Srs_ProgramK Srs_SectionK Srs_Section(temQ Local number Snbr_Program(dQ Local boolean Sbol_$nrollments$@istQ Srs_Program O #etLevel,MNM+N%#etRo'setMScroll%LM_PR#NQ Snbr_Program(d O Srs_ProgramM+N%#etRecordMRecord%LM_PR#N%LM_PR#_(D%ValueQ Sbol_$nrollments$@ist O Sob=_Program)ontroller%do!ctive$nrollments$@istMSnbr_Program(dNQ 2or Si O + To Srs_Program%!ctiveRo')ount (f Sbol_$nrollments$@ist Then (f /This%didSection)hangeMN Then 7arning MMsg#etTe@tM+>,G<K 66GK PPNNQ 0reaHQ $ndE(fQ $ndE(fQ $ndE2orQ endEmethodQ method paintProgramPage2or"e'Ro' Local string Sstr_ProgramTypeQ Local number S(K S:Q Local L$0&_P$RS&"8!dministrator Sob=_!dminQ Local L$!P_!PPR&V!LS8$"RLMT_2!)T&R($S8PrgReg!pprovals2actory Scls_lPrgReg!pprovals2actory O create L$!P_!PPR&V!LS8$"RLMT_2!)T&R($S8PrgReg!pprovals2actoryMNQ Sob=_!dmin O create L$0&_P$RS&"8!dministratorM/&perator(dNQ Sob=_!dmin%get!dminDetailsMNQ Local L$)S_)&MM&"8Defaults Sob=_Defaults O create L$)S_)&MM&"8DefaultsMSob=_!dmin%L$(DNQ Local number Snbr_Program(dQ Local date Sdt_$ffdtQ Local Ro'set Srs_ProgramQ Srs_Program O #etLevel,MNM+N%#etRo'setMScroll%LM_PR#NQ Snbr_Program(d O Srs_ProgramM+N%#etRecordMRecord%LM_PR#N%LM_PR#_(D%ValueQ

2or S( O + To Srs_Program%!ctiveRo')ount Sdt_$ffdt O Srs_Program%#etRo'MS(N%#etRecordMRecord%LM_PR#N%$22DT%ValueQ (f Srs_ProgramM)urrentRo'"umberMNN%(s"e' Then (f Srs_ProgramM+N%LM_PR#%LM_PR#_T*P$%Value O P)$P Then Srs_ProgramM)urrentRo'"umberMNN%#etRecordMRecord%LM_PR#_P#_7R-N%LM_PR#_#RP0&5_4%Vi sible O TrueQ Srs_ProgramM)urrentRo'"umberMNN%#etRecordMRecord%LM_PR#_7R-N%LM_PR#_3PD_0T"%Visibl e O TrueQ (f Sob=_Defaults%LM_!L&7_)!S)D_$5PR O P*P Then Srs_ProgramM)urrentRo'"umberMNN%#etRecordMRecord%LM_PR#N%LM_)$RT_)!S)D_$5PR%Visibl e O TrueQ $lse Srs_ProgramM)urrentRo'"umberMNN%#etRecordMRecord%LM_PR#N%LM_)$RT_)!S)D_$5PR%Value O P"PQ Srs_ProgramM)urrentRo'"umberMNN%#etRecordMRecord%LM_PR#N%LM_)$RT_)!S)D_$5PR%Visibl e O 2alseQ Srs_ProgramM)urrentRo'"umberMNN%LM_PR#%LM_$5PR_D!*S%Value O ,Q Srs_ProgramM)urrentRo'"umberMNN%LM_PR#%LM_R$)$RT_7R"_D!*S%Value O Srs_ProgramM)urrentRo'"umberMNN%LM_PR#%LM_R$)$RT_PD_D!*S%Value O ,Q Srs_ProgramM)urrentRo'"umberMNN%LM_PR#%LM_#R!)$_PD_D!*S%Value O ,Q Srs_ProgramM)urrentRo'"umberMNN%LM_PR#%LM_$5PR_7R"_D!*S%Value O ,Q Srs_ProgramM)urrentRo'"umberMNN%LM_PR#%LM_$5PR_DT%Value O PPQ $ndE(fQ P*P Then (f Srs_ProgramM)urrentRo'"umberMNN%LM_PR#%LM_)$RT_)!S)D_$5PR%Value O

,Q

Srs_ProgramM)urrentRo'"umberMNN%LM_PR#_P#_7R-%LM_PR#_#RP0&5_<%Visible O 2alseQ $lse Srs_ProgramM)urrentRo'"umberMNN%#etRecordMRecord%LM_PR#_P#_7R-N%LM_PR#_#RP0&5_<%Vi sible O TrueQ $ndE(fQ Srs_ProgramM)urrentRo'"umberMNN%LM_PR#%LM_)MPL_PD_D!*S%Sho'Re.uired2ield)ue O TrueQ $lse Srs_ProgramM)urrentRo'"umberMNN%LM_PR#%LM_)MPL_PD_D!*S%Sho'Re.uired2ield)ue O TrueQ Srs_ProgramM)urrentRo'"umberMNN%#etRecordMRecord%LM_PR#_P#_7R-N%LM_PR#_#RP0&5_<%Vi sible O 2alseQ Srs_ProgramM)urrentRo'"umberMNN%#etRecordMRecord%LM_PR#_P#_7R-N%LM_PR#_#RP0&5_4%Vi sible O 2alseQ Srs_ProgramM)urrentRo'"umberMNN%#etRecordMRecord%LM_PR#_7R-N%LM_PR#_3PD_0T"%Visibl e O 2alseQ Srs_ProgramM)urrentRo'"umberMNN%#etRecordMRecord%LM_PR#N%LM_)$RT_(D%Visible O 2alseQ Srs_ProgramM)urrentRo'"umberMNN%#etRecordMRecord%LM_R$)$RT_V7N%LM_PR#_)D%Visible O 2alseQ Srs_ProgramM)urrentRo'"umberMNN%#etRecordMRecord%LM_R$)$RT_V7N%LM_PR#_L&"#_"M%Visi ble O 2alseQ Srs_ProgramM)urrentRo'"umberMNN%#etRecordMRecord%LM_PR#N%LM_)$RT_)!S)D_$5PR%Visibl e O 2alseQ $ndE(fQ

(f Sob=_Defaults%LM_R$Q_$S(#"_3PD O P*P Then Srs_ProgramM)urrentRo'"umberMNN%#etRecordMRecord%LM_PR#N%LM_R$Q_$S(#"_3PD%Visible O TrueQ $lse Srs_ProgramM)urrentRo'"umberMNN%#etRecordMRecord%LM_PR#N%LM_R$Q_$S(#"_3PD%Visible O 2alseQ $ndE(fQ (f Sob=_Defaults%LM_$"0L$_R$#_!PRVL O P*P Then Srs_ProgramM)urrentRo'"umberMNN%#etRecordMRecord%LM_PR#N%LM_!PRVL_T*P$_R$Q%Visible O TrueQ Srs_ProgramM)urrentRo'"umberMNN%LM_P$R_"!M$_V7%LM_"!M$_D(SPL!*%Visible O TrueQ $lse Srs_ProgramM)urrentRo'"umberMNN%#etRecordMRecord%LM_PR#N%LM_!PRVL_T*P$_R$Q%Visible O 2alseQ Srs_ProgramM)urrentRo'"umberMNN%LM_P$R_"!M$_V7%LM_"!M$_D(SPL!*%Visible O 2alseQ $ndE(fQ Scls_lPrgReg!pprovals2actory%set!pprovalDefinitionsMSrs_ProgramM)urrentRo'"umberMN N%#etRecordMRecord%LM_PR#N%#et2ieldM2ield%LM_!PRVL_T*P$_R$QNNQ $ndE(fQ $ndE2orQ endEmethodQ method verify(fProgram asSections 9C Sro'_pProgram as Ro' C9 Local Ro'set Srs_ProgramSectionQ Local number SiQ Local boolean Sbol_Section$@istsQ (f "oneMSro'_pProgramN Then (f #etRo'MN%LM_PR#%LM_PR#_ST!T3S%Value O P+,P Then Srs_ProgramSection O #etRo'MN%#etRo'setMScroll%LM_PR#_S)"NQ 2or Si O + To Srs_ProgramSection%!ctiveRo')ount (f !llMSrs_ProgramSectionMSiN%LM_PR#_S)"%LM_S)"%ValueN !nd !llMSrs_ProgramSectionMSiN%LM_PR#_S)"%LM_&RD$R%ValueN Then Sbol_Section$@ists O TrueQ 0reaHQ $ndE(fQ $ndE2orQ (f "ot Sbol_Section$@ists Then $rror MMsg#etTe@tM+>,G<K 6D>K PPNNQ $ndE(fQ $ndE(fQ $lse (f Sro'_pProgram%LM_PR#%LM_PR#_ST!T3S%Value O P+,P Then Srs_ProgramSection O Sro'_pProgram%#etRo'setMScroll%LM_PR#_S)"NQ 2or Si O + To Srs_ProgramSection%!ctiveRo')ount (f !llMSrs_ProgramSectionMSiN%LM_PR#_S)"%LM_S)"%ValueN !nd !llMSrs_ProgramSectionMSiN%LM_PR#_S)"%LM_&RD$R%ValueN Then Sbol_Section$@ists O TrueQ 0reaHQ $ndE(fQ $ndE2orQ (f "ot Sbol_Section$@ists Then $rror MMsg#etTe@tM+>,G<K 6D>K PPNNQ $ndE(fQ $ndE(fQ $ndE(fQ endEmethodQ method assignProgram(d

Local number Snbr_Prog(dQ Local Ro'set Srs_ProgramQ Local number SiQ Srs_Program O #etLevel,MNM+N%#etRo'setMScroll%LM_PR#NQ (f /Mode O /!ction_!dd &r Snbr_Prog(d O GGGGGGGGGG Then Snbr_Prog(d O Sob=_Program)ontroller%get"e@t(dMPLM_PR#_)&3"T$R%LM_PR#_(DPNQ 2or Si O + To Srs_Program%!ctiveRo')ount Srs_ProgramMSiN%#etRecordMRecord%LM_PR#N%LM_PR#_(D%Value O Snbr_Prog(dQ $ndE2orQ $ndE(fQ endEmethodQ

Peo1 eCode &A11 P!c>!/e*: LECS:PreReA#_V5;O"E@ec%$e


import L$L&_&0:$)T(V$S_("T$R2!)$8Learner&b=ectivesQ import L$$_$"R&LLM$"T8L$$_M!"!#$_$"RLMTQ import L$)S8)(SecurityQ 9LL LThis class is designed for retrieval and listing of preEre.uisitesK associated 'ith catalog items L LVversion +%+ L9 class PreRe.s_V; method PreRe.s_V;MNQ method )hecHPreRe.MSperson_id !s numberK Sid !s numberK Spre_re._type !s numberN Returns booleanQ 9LLThis Property displays the missing re.uirements from a )hecHPreRe.K or the re.uirement string returned from ListPreRe.sL9 property string Re.uirements readonlyQ method ListPreRe.sMSid !s numberK Spre_re._type !s numberN Returns stringQ method List!ctDtlPreRe.sMSid !s numberK Spre_re._type !s numberN Returns stringQ method List)urrentPreRe.sMSprere.list !s Ro'setK Spre_re._type !s numberN Returns stringQ method Populate#ridMSprere.list !s Ro'setK Spre_re._type !s numberNQ property number )atalog(tem_PreRe. readonlyQ property number )atalog(tem_Rec readonlyQ property number Program_PreRe. readonlyQ property number Program_$.v readonlyQ 9L)ode )hanges for +FF><G,,,+ L9 property number Program_Rec readonlyQ private method )hecHSinglePreRe.MSperson_id !s numberK Sob=_id !s numberK S$22DT !s dateK Srevie'_rating !s stringK Sob=_type !s stringN Returns booleanQ method !d=ustParensMScourselist !s array of RecordK Smissinglist !s array of RecordN Returns array of RecordQ 9L method DisplayPreRe.sMScourselist !s array of RecordK Sre.uired !s booleanK Scatalog_item_id !s numberN Returns stringQL9 method DisplayPreRe.sMScourselist !s array of RecordK Spre_re._type !s numberK Sid !s numberN Returns stringQ method Display!ctDtlPreRe.sMScourselist !s array of RecordK Spre_re._type !s numberK Sid !s numberN Returns stringQ instance array of Record Sary_ci_pr.Q

endEclassQ method PreRe.s_V; S)atalog(tem_PreRe. O +Q S)atalog(tem_Rec O ;Q SProgram_PreRe. O 4Q SProgram_Rec O <Q 9L)ode )hanges for +FF><G,,,+ L9 SProgram_$.v O 6Q endEmethodQ 9LL Lgiven a person it checHs to see if they have completed all the given preEre.s for the catalog item Lspecified% L L Vparam person_id the id of the person currently being checHed in the 0usniness &b=ect System L Vparam catalog_item_id the id of the catalog item the preEre.uisites are for L Vparam re.uired checH the re.uired preEre.sMtrueN or the recommendedMfalseN L Vreturn bool TrueK they have met all preEre.s% 2alseK They haven1t L9 method )hecHPreRe. 9C Sperson_id as "umberK C9 9C Sid as "umberK C9 9C Spre_re._type as "umber C9 9C Returns 0oolean C9 Local SQL Spr._listQ Local Record Srec_pr.K Srec_prevK Srec_stateK SrectempQ Local number Shigh_relQ 9Lthe relationship to be sho'nK since it may not necessarily be the relationship associated 'ith the current ro'L9 Local number Shigh_rel_priorityQ 9Lthe priority of the relationshipK based on MNL9 Local number SreltempQ Local array of number SmissingrelstacHQ 9Lthe stacH of relationships for failureK this should be + smaller than the stacH of missing preEre.sL9 Local array of Record Spr.stacHQ 9La stacH of preEre.uisitesK used for calculatingK in this stacH the individual preEre. doesn1t matterK the preEre. 'ill have already been checHed here and 'ill be stored as a booleanL9 Local array of Record SmissingstacHQ 9Lthe stacH of preEre.s the user does not meetK used 'ith missingrelstacH to construct a valid list of preEre.s remainingL9 Local array of Record ScompletestacHQ 9La stacH of all preEre.sK used to help determine necessary paren ad=ustments after everything has been checHedL9 9L(f re.uired is trueK then it grabs the re.uired prere.sK if it1s false it grabs the recommended preEre.sL9 $valuate Spre_re._type 7hen /This%)atalog(tem_PreRe. Spr._list O )reateSQLMPS$L$)T !%LM_&0:_(DK /D!T$&3TM!%$22DTN K !%LM_R$V($7_R!T("#K !%LM_PRQ_&0:_T*P$K !%LM_D(SP_&RD$RK !%LM_PRQ_R$LK !%LM_PRQ_PR(&R(T* 2R&M PS_LM_)(_PRQ_T0L !K PS_LM_)(_T0L 0 'here !%LM_)(_(DOP R Sid R P !"D !%LM_)(_(DO0%LM_)(_(D !"D !%$22DTO0%$22DT !"D /)urrentDate(n bet'een 0%$22DT and 0%LM_$"D_$22DT &RD$R 0* !%LM_D(SP_&RD$RPNQ 0reaHQ 7hen /This%)atalog(tem_Rec Spr._list O )reateSQLMPS$L$)T !%LM_&0:_(DK /D!T$&3TM!%$22DTN K !%LM_R$V($7_R!T("#K !%LM_PRQ_&0:_T*P$K !%LM_D(SP_&RD$RK !%LM_PRQ_R$LK !%LM_PRQ_PR(&R(T* 2R&M PS_LM_)(_R$)_T0L !K PS_LM_)(_T0L 0 'here !%LM_)(_(DOP R Sid R P !"D !%LM_)(_(DO0%LM_)(_(D !"D !%$22DTO0%$22DT !"D /)urrentDate(n bet'een 0%$22DT and 0%LM_$"D_$22DT &RD$R 0* !%LM_D(SP_&RD$RPNQ 0reaHQ 7hen /This%Program_PreRe. Spr._list O )reateSQLMPS$L$)T !%LM_&0:_(DK /D!T$&3TM!%$22DTN K !%LM_R$V($7_R!T("#K !%LM_PRQ_&0:_T*P$K !%LM_D(SP_&RD$RK !%LM_PRQ_R$LK !%LM_PRQ_PR(&R(T* 2R&M PS_LM_PR#_PRQ_V7 !K PS_LM_PR#_V7 0 'here !%LM_PR#_(DOP R Sid R P !"D !%LM_PR#_(DO0%LM_PR#_(D !"D !%$22DTO0%$22DT !"D /)urrentDate(n bet'een

0%$22DT and 0%LM_$"D_$22DT &RD$R 0* !%LM_D(SP_&RD$RPNQ 0reaHQ 7hen /This%Program_Rec Spr._list O )reateSQLMPS$L$)T !%LM_&0:_(DK /D!T$&3TM!%$22DTN K !%LM_R$V($7_R!T("#K !%LM_PRQ_&0:_T*P$K !%LM_D(SP_&RD$RK !%LM_PRQ_R$LK !%LM_PRQ_PR(&R(T* 2R&M PS_LM_PR#_R$) !K PS_LM_PR#_V7 0 'here !%LM_PR#_(DOP R Sid R P !"D !%LM_PR#_(DO0%LM_PR#_(D !"D !%$22DTO0%$22DT !"D /)urrentDate(n bet'een 0%$22DT and 0%LM_$"D_$22DT &RD$R 0* !%LM_D(SP_&RD$RPNQ 0reaHQ $ndE$valuateQ Spr.stacH O )reate!rrayReptMSrec_pr.K ,NQ SmissingstacH O )reate!rrayReptMSrec_pr.K ,NQ ScompletestacH O )reate!rrayReptMSrec_pr.K ,NQ SmissingrelstacH O )reate!rrayReptM,K ,NQ Srec_pr. O )reateRecordMRecord%LM_)(_PRQ_7R-NQ Srec_state O )reateRecordMRecord%LM_PRQ_ST-_7R-NQ Srec_prev O )reateRecordMRecord%LM_PRQ_ST-_7R-NQ Shigh_rel O ,Q 9Lloops through all the preEre.uisitesL9 7hile Spr._list%2etchMSrec_pr.N 9LmaHes sure this 'ill be a valid preEre.L9 (f Srec_pr.%LM_&0:_(D%Value UI , Then 9Levery preEre. goes on to the complete stacHL9 ScompletestacH%PushMSrec_pr.NQ 9Lthe high relationship is only , on the first preEre.L9 (f Shigh_rel O , Then 9Lsets all the values for Srec_stateK used in the pr._stacHL9 Srec_state%LM_PRQ_R$L%Value O Srec_pr.%LM_PRQ_R$L%ValueQ Shigh_rel O Srec_state%LM_PRQ_R$L%ValueQ Shigh_rel_priority O Srec_state%LM_PRQ_PR(&R(T*%ValueQ Srec_state%LM_PRQ_PR(&R(T*%Value O Srec_pr.%LM_PRQ_PR(&R(T*%ValueQ Srec_state%LM_PRQ_ST!T$%Value O /This%)hecHSinglePreRe.MSperson_idK (ntMSrec_pr.%LM_&0:_(D%ValueNK MSrec_pr.%$22DT%ValueNK MSrec_pr.%LM_R$V($7_R!T("#%ValueNK MSrec_pr.%LM_PRQ_&0:_T*P$%ValueNNQ 9L(f the current preEre. is not met then it gets pushed to the missing stacHL9 (f Srec_state%LM_PRQ_ST!T$%Value O 2alse Then SmissingstacH%PushMSrec_pr.NQ $ndE(fQ 9Lthe state of this preEre. is al'ays pushed to the pr.stacHL9 Spr.stacH%PushMSrec_stateNQ Srec_state O )reateRecordMRecord%LM_PRQ_ST-_7R-NQ $lse 9Lsets all the values for Srec_stateK used in the pr._stacHL9 Srec_state%LM_PRQ_R$L%Value O Srec_pr.%LM_PRQ_R$L%ValueQ Srec_state%LM_PRQ_ST!T$%Value O /This%)hecHSinglePreRe.MSperson_idK (ntMSrec_pr.%LM_&0:_(D%ValueNK MSrec_pr.%$22DT%ValueNK MSrec_pr.%LM_R$V($7_R!T("#%ValueNK MSrec_pr.%LM_PRQ_&0:_T*P$%ValueNNQ Srec_state%LM_PRQ_PR(&R(T*%Value O Srec_pr.%LM_PRQ_PR(&R(T*%ValueQ 9Lgrabs the previous rec state off the preEre.uistite stacHL9 Srec_prev O Spr.stacH%PopMNQ 9LchecHs the state of the current preEre.K if the preEre. has not been met the stacHs of missing preEre.s are updatedL9 (f Srec_state%LM_PRQ_ST!T$%Value O 2alse Then 9Lif the stacH of missing prepre.s is greater than one then it1s oH to add a relationshipL9 (f SmissingstacH%Len I , Then SmissingrelstacH%PushMShigh_relNQ Shigh_rel O ,Q

$ndE(fQ SmissingstacH%PushMSrec_pr.NQ $ndE(fQ 9LchecHs to see if the priority of the current prere. is greater than the priority of the previous% (f the priority of the current prere. is greater than both are pushed bacH onto the stacHK since 'e 'ant to do the operation bet'een the current preEre. and the ne@t preEre. firstL9 (f Srec_state%LM_PRQ_PR(&R(T*%Value I Srec_prev%LM_PRQ_PR(&R(T*%Value Then Spr.stacH%PushMSrec_prevNQ Spr.stacH%PushMSrec_stateNQ $lse orL9 9Levaluates the preEre.s based on their relationshipsK +, andK ;,

$valuate Srec_prev%LM_PRQ_R$L%Value 7hen +, 9LandL9 (f Srec_prev%LM_PRQ_ST!T$%Value O 2alse &r Srec_state%LM_PRQ_ST!T$%Value O 2alse Then Srec_state%LM_PRQ_ST!T$%Value O 2alseQ $ndE(fQ 0reaHQ 7hen ;, 9LorL9 (f Srec_prev%LM_PRQ_ST!T$%Value O 2alse !nd Srec_state%LM_PRQ_ST!T$%Value O 2alse Then Srec_state%LM_PRQ_ST!T$%Value O 2alseQ $lse 9L'hen 'e have an PorP caseK and it results in a true then 'e have to do more evaluationL9 9Lif the current preEre. is false then 'e Hno' 'e must remove it from the missing listL9 (f MSrec_state%LM_PRQ_ST!T$%Value O 2alseN Then SmissingstacH%PopMNQ (f MSmissingstacH%Len I ,N Then Sreltemp O SmissingrelstacH%PopMNQ $ndE(fQ $ndE(fQ Srec_state%LM_PRQ_ST!T$%Value O TrueQ 9Lif the previous preEre. is false then 'e have even more evalution to doK since the previous potential represents all previousK since 'henever 'e do a compare 'e compare t'o and push the resulting one bacH onto the stacHL9 (f MSrec_prev%LM_PRQ_ST!T$%Value O 2alseN Then 9Lfirst 'e remove the first itemK since 'e Hno' there is going to be at least one item on the stacHL9 (f MSmissingstacH%Len I ,N Then Srectemp O )reateRecordMRecord%LM_)(_PRQ_7R-NQ Srectemp O SmissingstacH%PopMNQ (f MSmissingstacH%Len I ,N Then Sreltemp O SmissingrelstacH%PopMNQ $ndE(fQ 9Lif the priority of the current item is greater than or e.ual to the priority of the previous then 'e Heep removing from the missing list until this is no longer trueL9 7hile MSrectemp%LM_PRQ_PR(&R(T*%Value IO Srec_prev%LM_PRQ_PR(&R(T*%ValueN !nd MSmissingstacH%Len I ,N Srectemp O )reateRecordMRecord%LM_)(_PRQ_7R-NQ Srectemp O SmissingstacH%PopMNQ (f MSmissingstacH%Len I ,N Then Sreltemp O SmissingrelstacH%PopMNQ $ndE(fQ $ndE7hileQ 9L'hen this is no longer true 'e push bacH on the last one Mif there is a last oneNK since that is the no longer true caseL9 (f MSrectemp%LM_PRQ_PR(&R(T*%Value U

Srec_prev%LM_PRQ_PR(&R(T*%ValueN Then SmissingstacH%PushMSrectempNQ SmissingrelstacH%PushMSreltempNQ $ndE(fQ $ndE(fQ $ndE(fQ $ndE(fQ 0reaHQ $ndE$valuateQ Spr.stacH%PushMSrec_stateNQ 9Ldoes the same evaluation as aboveK if there are multiple items in the preEre. stacHL9 7hile MSpr.stacH%Len I +N Srec_prev O )reateRecordMRecord%LM_PRQ_ST-_7R-NQ Srec_state O )reateRecordMRecord%LM_PRQ_ST-_7R-NQ Srec_prev O Spr.stacH%PopMNQ Srec_state O Spr.stacH%PopMNQ 9LchecHs to see if the priority of the current prere. is greater than the priority of the previous% (f the priority of the current prere. is greater than both are pushed bacH onto the stacHK since 'e 'ant to do the operation bet'een the current preEre. and the ne@t preEre. firstL9 (f Srec_prev%LM_PRQ_PR(&R(T*%Value IO Srec_state%LM_PRQ_PR(&R(T*%Value Then 9Levaluates the preEre.s based on their relationshipsK +, andK ;, orL9 $valuate Srec_prev%LM_PRQ_R$L%Value 7hen +, 9LandL9 (f Srec_prev%LM_PRQ_ST!T$%Value O 2alse &r Srec_state%LM_PRQ_ST!T$%Value O 2alse Then Srec_state%LM_PRQ_ST!T$%Value O 2alseQ $ndE(fQ 0reaHQ 7hen ;, 9LorL9 (f Srec_prev%LM_PRQ_ST!T$%Value O 2alse !nd Srec_state%LM_PRQ_ST!T$%Value O 2alse Then Srec_state%LM_PRQ_ST!T$%Value O 2alseQ $lse 9Lif the previous preEre. is false then 'e have even more evalution to doK since the previous potential represents all previousK since 'henever 'e do a compare 'e compare t'o and push the resulting one bacH onto the stacHL9 (f MSrec_prev%LM_PRQ_ST!T$%Value O 2alse &r Srec_state%LM_PRQ_ST!T$%Value O 2alseN Then Srectemp O )reateRecordMRecord%LM_)(_PRQ_7R-NQ Srectemp O SmissingstacH%PopMNQ (f MSmissingstacH%Len I ,N Then Sreltemp O SmissingrelstacH%PopMNQ $ndE(fQ 9L'hen 'e have an PorP caseK and it results in a true then 'e have to do more evaluationL9 Srec_state%LM_PRQ_ST!T$%Value O TrueQ 9Lif the priority of the current item is greater than or e.ual to the priority of the previous then 'e Heep removing from the missing list until this is no longer trueL9 7hile MSrectemp%LM_PRQ_PR(&R(T*%Value IO Srec_prev%LM_PRQ_PR(&R(T*%ValueN !nd MSmissingstacH%Len I ,N Srectemp O )reateRecordMRecord%LM_)(_PRQ_7R-NQ Srectemp O SmissingstacH%PopMNQ (f MSmissingstacH%Len I ,N Then Sreltemp O SmissingrelstacH%PopMNQ $ndE(fQ $ndE7hileQ 9L'hen this is no longer true 'e push bacH on the

last one Mif there is a last oneNK since that is the no longer true caseL9 (f MSrectemp%LM_PRQ_PR(&R(T*%Value U Srec_prev%LM_PRQ_PR(&R(T*%ValueN Then SmissingstacH%PushMSrectempNQ SmissingrelstacH%PushMSreltempNQ $ndE(fQ $ndE(fQ $ndE(fQ 0reaHQ $ndE$valuateQ $lse 9Lif the previous is still not at a higher priority than the current then they are both pushed bacH onto the stacH to a'ait another loopL9 Spr.stacH%PushMSrec_prevNQ Spr.stacH%PushMSrec_stateNQ 0reaHQ $ndE(fQ $ndE7hileQ 9Lif the priority level of the current item is lo'er than it resets the current ne@t relationshipL9 (f Shigh_rel_priority IO Srec_state%LM_PRQ_PR(&R(T*%Value Then Shigh_rel O Srec_state%LM_PRQ_R$L%ValueQ Shigh_rel_priority O Srec_state%LM_PRQ_PR(&R(T*%ValueQ $ndE(fQ Srec_prev O )reateRecordMRecord%LM_PRQ_ST-_7R-NQ Srec_state O )reateRecordMRecord%LM_PRQ_ST-_7R-NQ $ndE(fQ $ndE(fQ Srec_pr. O )reateRecordMRecord%LM_)(_PRQ_7R-NQ $ndE(fQ $ndE7hileQ Local number SstacHlenK S@Q SstacHlen O SmissingstacH%Len E +Q 9Lsets the correct relationships after all the shufflingL9 (f SstacHlen I , Then 2or S@ O + To SstacHlen SmissingstacH AS@B%LM_PRQ_R$L%Value O SmissingrelstacH AS@BQ $ndE2orQ $ndE(fQ 9Lretrieves the html display and sets it to property Re.uirementsL9 SRe.uirements O /This%DisplayPreRe.sMSmissingstacHK Spre_re._typeK SidNQ 9Lat this point there should only be one item left in the pr.stacHK and this item contains if the user has met all preEre.sL9 (f Spr.stacH%Len I , Then Srec_state O Spr.stacH%PopMNQ Return Srec_state%LM_PRQ_ST!T$%ValueQ $lse Return TrueQ $ndE(fQ endEmethodQ

9LL Lgiven a )atalog (tem it returns a friendly string listing out all the Pre re.uisites L L Vparam catalog_item_id the id of the catalog item the preEre.uisites are for L Vparam re.uired sho' the re.uired preEre.sMtrueN or the recommendedMfalseN L Vreturn string ! user friendly string listing all the preEre.s L9 method ListPreRe.s 9C Sid as "umberK C9 9C Spre_re._type as "umber C9 9C Returns String C9 Local SQL Spr._listQ Local Record Srec_pr.Q

Local array of Record ScompletestacHQ 9L(f re.uired is trueK then it grabs the re.uired prere.sK if it1s false it grabs the recomended preEre.sL9 $valuate Spre_re._type 7hen /This%)atalog(tem_PreRe. Spr._list O )reateSQLMPS$L$)T !%LM_&0:_(DK !%LM_PRQ_&0:_T*P$K !%LM_D(SP_&RD$RK !%LM_PRQ_R$LK !%LM_PRQ_PR(&R(T* 2R&M PS_LM_)(_PRQ_T0L !K PS_LM_)(_T0L 0 'here !%LM_)(_(DOP R Sid R P !"D !%LM_)(_(DO0%LM_)(_(D !"D !%$22DTO0%$22DT !"D /)urrentDate(n bet'een 0%$22DT and 0%LM_$"D_$22DT &RD$R 0* !%LM_D(SP_&RD$RPNQ 0reaHQ 7hen /This%)atalog(tem_Rec Spr._list O )reateSQLMPS$L$)T !%LM_&0:_(DK !%LM_PRQ_&0:_T*P$K !%LM_D(SP_&RD$RK !%LM_PRQ_R$LK !%LM_PRQ_PR(&R(T* 2R&M PS_LM_)(_R$)_T0L !K PS_LM_)(_T0L 0 'here !%LM_)(_(DOP R Sid R P !"D !%LM_)(_(DO0%LM_)(_(D !"D !%$22DTO0%$22DT !"D /)urrentDate(n bet'een 0%$22DT and 0%LM_$"D_$22DT &RD$R 0* !%LM_D(SP_&RD$RPNQ 0reaHQ 7hen /This%Program_PreRe. Spr._list O )reateSQLMPS$L$)T !%LM_&0:_(DK !%LM_PRQ_&0:_T*P$K !%LM_D(SP_&RD$RK !%LM_PRQ_R$LK !%LM_PRQ_PR(&R(T* 2R&M PS_LM_PR#_PRQ_V7 !K PS_LM_PR#_V7 0 'here !%LM_PR#_(DOP R Sid R P !"D !%LM_PR#_(DO0%LM_PR#_(D !"D !%$22DTO0%$22DT !"D /)urrentDate(n bet'een 0%$22DT and 0%LM_$"D_$22DT &RD$R 0* !%LM_D(SP_&RD$RPNQ 0reaHQ 7hen /This%Program_Rec Spr._list O )reateSQLMPS$L$)T !%LM_&0:_(DK !%LM_PRQ_&0:_T*P$K !%LM_D(SP_&RD$RK !%LM_PRQ_R$LK !%LM_PRQ_PR(&R(T* 2R&M PS_LM_PR#_R$) !K PS_LM_PR#_V7 0 'here !%LM_PR#_(DOP R Sid R P !"D !%LM_PR#_(DO0%LM_PR#_(D !"D !%$22DTO0%$22DT !"D /)urrentDate(n bet'een 0%$22DT and 0%LM_$"D_$22DT &RD$R 0* !%LM_D(SP_&RD$RPNQ 0reaHQ $ndE$valuateQ ScompletestacH O )reate!rrayReptMSrec_pr.K ,NQ Srec_pr. O )reateRecordMRecord%LM_)(_PRQ_7R-NQ 9Lgrabs all the preEre.s and puts them into an arrayL9 7hile Spr._list%2etchMSrec_pr.N (f Srec_pr.%LM_&0:_(D%Value UI , Then ScompletestacH%PushMSrec_pr.NQ $ndE(fQ Srec_pr. O )reateRecordMRecord%LM_)(_PRQ_7R-NQ $ndE7hileQ 9Lthe array is sent to the general display functionK 'hich returns a html stringL9 SRe.uirements O /This%DisplayPreRe.sMScompletestacHK Spre_re._typeK SidNQ Return SRe.uirementsQ endEmethodQ

9LL Lgiven a )atalog (tem it returns a friendly string listing out all the Pre re.uisites L L Vparam catalog_item_id the id of the catalog item the preEre.uisites are for L Vparam re.uired sho' the re.uired preEre.sMtrueN or the recommendedMfalseN L Vreturn string ! user friendly string listing all the preEre.s L9 method List!ctDtlPreRe.s 9C Sid as "umberK C9 9C Spre_re._type as "umber C9 9C Returns String C9 Local SQL Spr._listQ Local Record Srec_pr.Q

Local array of Record ScompletestacHQ 9L(f re.uired is trueK then it grabs the re.uired prere.sK if it1s false it grabs the recomended preEre.sL9 $valuate Spre_re._type 7hen /This%)atalog(tem_PreRe. Spr._list O )reateSQLMPS$L$)T !%LM_&0:_(DK /D!T$&3TM!%$22DTN K !%LM_R$V($7_R!T("#K!%LM_PRQ_&0:_T*P$K !%LM_D(SP_&RD$RK !%LM_PRQ_R$LK !%LM_PRQ_PR(&R(T* 2R&M PS_LM_)(_PRQ_T0L !K PS_LM_)(_T0L 0 'here !%LM_)(_(DOP R Sid R P !"D !%LM_)(_(DO0%LM_)(_(D !"D !%$22DTO0%$22DT !"D /)urrentDate(n bet'een 0%$22DT and 0%LM_$"D_$22DT &RD$R 0* !%LM_D(SP_&RD$RPNQ 0reaHQ 7hen /This%)atalog(tem_Rec Spr._list O )reateSQLMPS$L$)T !%LM_&0:_(DK /D!T$&3TM!%$22DTN K !%LM_R$V($7_R!T("#K !%LM_PRQ_&0:_T*P$K !%LM_D(SP_&RD$RK !%LM_PRQ_R$LK !%LM_PRQ_PR(&R(T* 2R&M PS_LM_)(_R$)_T0L !K PS_LM_)(_T0L 0 'here !%LM_)(_(DOP R Sid R P !"D !%LM_)(_(DO0%LM_)(_(D !"D !%$22DTO0%$22DT !"D /)urrentDate(n bet'een 0%$22DT and 0%LM_$"D_$22DT &RD$R 0* !%LM_D(SP_&RD$RPNQ 0reaHQ 7hen /This%Program_PreRe. Spr._list O )reateSQLMPS$L$)T !%LM_&0:_(DK /D!T$&3TM!%$22DTN K !%LM_R$V($7_R!T("#K !%LM_PRQ_&0:_T*P$K !%LM_D(SP_&RD$RK !%LM_PRQ_R$LK !%LM_PRQ_PR(&R(T* 2R&M PS_LM_PR#_PRQ_V7 !K PS_LM_PR#_V7 0 'here !%LM_PR#_(DOP R Sid R P !"D !%LM_PR#_(DO0%LM_PR#_(D !"D !%$22DTO0%$22DT !"D /)urrentDate(n bet'een 0%$22DT and 0%LM_$"D_$22DT &RD$R 0* !%LM_D(SP_&RD$RPNQ 0reaHQ 7hen /This%Program_Rec Spr._list O )reateSQLMPS$L$)T !%LM_&0:_(DK /D!T$&3TM!%$22DTN K !%LM_R$V($7_R!T("#K !%LM_PRQ_&0:_T*P$K !%LM_D(SP_&RD$RK !%LM_PRQ_R$LK !%LM_PRQ_PR(&R(T* 2R&M PS_LM_PR#_R$) !K PS_LM_PR#_V7 0 'here !%LM_PR#_(DOP R Sid R P !"D !%LM_PR#_(DO0%LM_PR#_(D !"D !%$22DTO0%$22DT !"D /)urrentDate(n bet'een 0%$22DT and 0%LM_$"D_$22DT &RD$R 0* !%LM_D(SP_&RD$RPNQ 0reaHQ $ndE$valuateQ ScompletestacH O )reate!rrayReptMSrec_pr.K ,NQ Srec_pr. O )reateRecordMRecord%LM_)(_PRQ_7R-NQ 9Lgrabs all the preEre.s and puts them into an arrayL9 7hile Spr._list%2etchMSrec_pr.N (f Srec_pr.%LM_&0:_(D%Value UI , Then ScompletestacH%PushMSrec_pr.NQ $ndE(fQ Srec_pr. O )reateRecordMRecord%LM_)(_PRQ_7R-NQ $ndE7hileQ 9Lthe array is sent to the general display functionK 'hich returns a html stringL9 SRe.uirements O /This%Display!ctDtlPreRe.sMScompletestacHK Spre_re._typeK SidNQ Return SRe.uirementsQ endEmethodQ 9LL Lgiven a )atalog (tem it returns a friendly string listing out all the Pre re.uisites L L Vparam prere.list ! list of prere.s in ro'set form L Vreturn string ! user friendly string listing all the preEre.s L9 method List)urrentPreRe.s 9C Sprere.list as Ro'setK C9 9C Spre_re._type as "umber C9 9C Returns String C9 Local number Sid O ,Q Local Record Srec_pr.Q Local array of Record ScompletestacHQ Local number S@Q

9Lthe ro'set is converted to an array of recordsK and the array is passedL9 ScompletestacH O )reate!rrayReptMSrec_pr.K ,NQ 2or S@ O + To Sprere.list%!ctiveRo')ount $valuate Spre_re._type 7hen /This%)atalog(tem_PreRe. Srec_pr. O Sprere.list%#etRo'MS@N%LM_)(_PRQ_T0LQ 0reaHQ 7hen /This%)atalog(tem_Rec Srec_pr. O Sprere.list%#etRo'MS@N%LM_)(_R$)_T0LQ 0reaHQ 7hen /This%Program_PreRe. Srec_pr. O Sprere.list%#etRo'MS@N%LM_PR#_PRQQ 0reaHQ 7hen /This%Program_Rec Srec_pr. O Sprere.list%#etRo'MS@N%LM_PR#_R$)Q 0reaHQ 9L)ode )hanges for +FF><G,,,+ L9 7hen /This%Program_$.v Srec_pr. O Sprere.list%#etRo'MS@N%LM_PR#_$Q3V_T0LQ 0reaHQ $ndE$valuateQ (f Srec_pr.%LM_&0:_(D%Value UI , Then ScompletestacH%PushMSrec_pr.NQ $ndE(fQ $ndE2orQ SRe.uirements O /This%DisplayPreRe.sMScompletestacHK Spre_re._typeK SidNQ Return SRe.uirementsQ endEmethodQ

9LL L)hecHs a single pre re.uisite L L Vparam person_id the id of the person 'ho1s prere.uisites should be checHed L Vparam ob=_id the ob=ect id L Vparam ob=_type the ob=ect type identifier +,O)atalog (temK ;,O&b=ective L Vreturn bool true E the user meets the prere.K false E the user fails the preE re. L9 method )hecHSinglePreRe. 9C Sperson_id as "umberK C9 9C Sob=_id as "umberK C9 9C S$22DT as DateK C9 9C Srevie'_rating as StringK C9 9C Sob=_type as String C9 9C Returns 0oolean C9 Local Local Local Local Local L$L&_&0:$)T(V$S_("T$R2!)$8Learner&b=ectives Slo_checHQ L$$_$"R&LLM$"T8L$$_M!"!#$_$"RLMT Senrl_checHQ boolean Svalid_pr.Q SQL Ss.l_pr.Q number Se.uivQ

$valuate Sob=_type 7hen P+,P 9L)atalog (temL9 Senrl_checH O create L$$_$"R&LLM$"T8L$$_M!"!#$_$"RLMTMNQ 9Lthe catalog item is checHK if the catalog item has not been fulfilled e.uivalents are checHedK if e.uivalents have not been fulfilled then they have not complete the preEre. and false is passed bacHL9 (f Senrl_checH% as)ompleted)atalog(temMSperson_idK Sob=_idN Then Return TrueQ $lse Ss.l_pr. O )reateSQLMPS$L$)T LM_&0:_(D 2R&M PS_LM_)(_$Q3(V_T0L 7 $R$ LM_)(_(DO P R Sob=_id R P !"D LM_$Q3(V_&0:_T*P$ O 1+,1 PNQ 7hile Ss.l_pr.%2etchMSe.uivN

(f Senrl_checH% as)ompleted)atalog(temMSperson_idK Se.uivN Then Return TrueQ $ndE(fQ $ndE7hileQ $ndE(fQ Return 2alseQ 0reaHQ 7hen P;,P 9L&b=ectiveL9 Slo_checH O create L$L&_&0:$)T(V$S_("T$R2!)$8Learner&b=ectivesMNQ Return Slo_checH%)hecHPrere.uisitesMSperson_idK S$22DTK Srevie'_ratingK Sob=_idNQ 0reaHQ 7hen P4,P 9LProgramL9 Senrl_checH O create L$$_$"R&LLM$"T8L$$_M!"!#$_$"RLMTMNQ (f Senrl_checH% as)ompletedProgramMSperson_idK Sob=_idN Then Return TrueQ $lse Ss.l_pr. O )reateSQLMPS$L$)T LM_&0:_(D 2R&M PS_LM_PR#_$Q3V_T0L 7 $R$ LM_PR#_(DO P R Sob=_id R P !"D LM_$Q3(V_&0:_T*P$ O 1;,1 PNQ 7hile Ss.l_pr.%2etchMSe.uivN (f Senrl_checH% as)ompletedProgramMSperson_idK Se.uivN Then Return TrueQ $ndE(fQ $ndE7hileQ $ndE(fQ Return 2alseQ 0reaHQ 7henE&ther Return 2alseQ $ndE$valuateQ endEmethodQ

9LL L !d=usts ParenthesesK used after checHing preEre.s to fi@ parensK unused in V+ L L Vparam courselist an array listing all the courses L Vparam missinglist an array listing all missing courses L Vreturn array an ad=usted array of missinglist L9 method !d=ustParens 9C Scourselist as !rray of RecordK C9 9C Smissinglist as !rray of Record C9 9C Returns !rray of Record C9 Local number S@K SyK SpriorityQ 2or S@ O Smissinglist%Len To ; Step E + (f Smissinglist AS@B%LM_PRQ_PR(&R(T*%Value U Smissinglist AS@ E +B%LM_PRQ_PR(&R(T*%Value Then (f Smissinglist AS@B%LM_D(SP_&RD$R%Value I Smissinglist AS@ E +B%LM_D(SP_&RD$R%Value C + Then Spriority O Smissinglist AS@ E +B%LM_D(SP_&RD$R%ValueQ 2or Sy O Smissinglist AS@ E +B%LM_D(SP_&RD$R%Value To Smissinglist AS@B%LM_D(SP_&RD$R%Value (f Scourselist ASyB%LM_PRQ_PR(&R(T*%Value U Spriority Then Spriority O Scourselist ASyB%LM_PRQ_PR(&R(T*%ValueQ $ndE(fQ $ndE2orQ Smissinglist AS@B%LM_PRQ_PR(&R(T*%Value O SpriorityQ $ndE(fQ $ndE(fQ $ndE2orQ Return SmissinglistQ endEmethodQ 9LL LDisplays all the prere.uisite information L

L Vparam courselist a list of all the courses and relationships L Vreturn string returns a string display of the preEre.uisite L9 method DisplayPreRe.s 9C Scourselist as !rray of RecordK C9 9C Spre_re._type as "umberK C9 9C Sid as "umber C9 9C Returns String C9 Local string Sprere.sQ Local number S@K Scur_levelQ Local Record Srec_pr.Q Local string Spr._nameQ Local string SdetailsQ Local number SyQ Local L$)S8)(Security Sci_secQ Local Ro'set Srs_PrgRegQ Sci_sec O create L$)S8)(SecurityMNQ Sary_ci_pr. O )reate!rrayReptMSrec_pr.K ,NQ 9Lif these are re.uired prere.s it linHs to one gridK if these are not re.uired it linHs to anotherL9 $valuate Spre_re._type 7hen /This%)atalog(tem_PreRe. Sdetails O PLM_PRQ_S0P_7R-_LM_PRQ_DTLPQ 0reaHQ 7hen /This%)atalog(tem_Rec Sdetails O PLM_PRQ_S0P_7R-_LM_R$)_DTLPQ 0reaHQ 7hen /This%Program_PreRe. Sdetails O PLM_PR#_P#_7R-_LM_PRQ_DTLPQ 0reaHQ 7hen /This%Program_Rec Sdetails O PLM_PR#_P#_7R-_LM_R$)_DTLPQ 0reaHQ 9L)ode )hanges for +FF><G,,,+ L9 7hen /This%Program_$.v Sdetails O PLM_PR#_P#_7R-_LM_$QV_DTLPQ 0reaHQ $ndE$valuateQ Scur_level O ,Q Sy O ,Q (f Scourselist%Len I , Then Sprere.s O PUulIULiIPQ $lse Sprere.s O PPQ $ndE(fQ 9Lloops through all the preEre.sL9 2or S@ O + To Scourselist%Len 9Lif this is not the first element in the list then it puts the relationshipK from the previousL9 (f S@ I + !nd Spre_re._type UI /This%Program_$.v Then $valuate Scourselist AS@ E +B%LM_PRQ_R$L%Value 7hen +, 9LandL9 Sprere.s O Sprere.s R P Uspan classO1PST$5T1 ST*L$ O PPfontE 'eight8bolderPPIP R Msg#etTe@tM+>,>FK ;4K PPN R PU9spanI PQ 0reaHQ 7hen ;, 9LorL9 Sprere.s O Sprere.s R P UbrIUspan classO1PST$5T1 ST*L$OPPfontE 'eight8boldQ colorOgreenPP IP R Msg#etTe@tM+>,>FK ;<K PPN R PU9spanI UbrIU9centerIULiI PQ 0reaHQ 7hen 4, 9LendL9

Return Sprere.sQ $ndE$valuateQ $lse (f Spre_re._type O /This%Program_$.v !nd S@ I + Then Sprere.s O Sprere.s R P UbrIUspan classO1PST$5T1 ST*L$OPPfontE 'eight8boldQ colorOgreenPP IP R P P R PU9spanI UbrIU9centerIULiI PQ $ndE(fQ $ndE(fQ 9Ladds necessary begin parensL9 9L)ode )hanges for +FF><G,,,+ L9 (f MSpre_re._type O /This%Program_$.vN Then $lse 9Lend ,f )ode )hanges for +FF><G,,,+ L9 7hile MScur_level U Scourselist AS@B%LM_PRQ_PR(&R(T*%ValueN Sprere.s O Sprere.s R PMPQ Scur_level O Scur_level C +Q $ndE7hileQ $ndE(fQ Local string SurlstringQ Local Record Sci_ob=vQ 9L'hether this is re.uired determines 'hich record to useK corosponds to the similar statement aboveL9 $valuate Spre_re._type 7hen /This%)atalog(tem_PreRe. Srec_pr. O )reateRecordMRecord%LM_)(_PRQ_V7NQ Srec_pr.%LM_)(_(D%Value O SidQ 0reaHQ 7hen /This%)atalog(tem_Rec Srec_pr. O )reateRecordMRecord%LM_)(_R$)_V7NQ Srec_pr.%LM_)(_(D%Value O SidQ 0reaHQ 7hen /This%Program_PreRe. Srec_pr. O )reateRecordMRecord%LM_PR#_PRQ_P_V7NQ Srec_pr.%LM_PR#_(D%Value O SidQ 0reaHQ 7hen /This%Program_Rec Srec_pr. O )reateRecordMRecord%LM_PR#_R$)_V7NQ Srec_pr.%LM_PR#_(D%Value O SidQ 0reaHQ 9L)ode )hanges for +FF><G,,,+ L9 7hen /This%Program_$.v Srec_pr. O )reateRecordMRecord%LM_PR#_$Q3V_T0LNQ Srec_pr.%LM_PR#_(D%Value O SidQ 0reaHQ $ndE$valuateQ 9L)ode )hanges for +FF><G,,,+ L9 (f MSpre_re._type O /This%Program_$.vN Then Srec_pr.%LM_&0:_(D%Value O Scourselist AS@B%LM_&0:_(D%ValueQ Srec_pr.%LM_$Q3(V_&0:_T*P$%Value O Scourselist AS@B%LM_$Q3(V_&0:_T*P$%ValueQ $lse Srec_pr.%LM_D(SP_&RD$R%Value O Scourselist AS@B%LM_D(SP_&RD$R%ValueQ Srec_pr.%LM_&0:_(D%Value O Scourselist AS@B%LM_&0:_(D%ValueQ Srec_pr.%LM_PRQ_&0:_T*P$%Value O Scourselist AS@B%LM_PRQ_&0:_T*P$%ValueQ $ndE(fQ Local boolean Sdo"otSho'LinHs O 2alseQ 6<Start= SLM_3RP_RE3S SORS (#"$%t%#" a$$e$ t# 7%B t/e Prere5E %))ue %" t/e Re)#lut%#"R889658<6 (f M/)omponent O PLM_)!LL_)$"T$RP &r /)omponent O PLM_SS_M!"!#$R_3(P &r /)omponent O PLM_PR#_DTLS_MSSP &r /)omponent O PLM_M#R_$"RLMTP &r :Component 9 BLM_M)R_RE)B> Then .(#m+#"e"t I SLM_M3R_RE3S Or

.(#m+#"e"t I (#m+#"e"tELM_3RP_RE3K T/e" Sdo"otSho'LinHs O TrueQ $ndE(fQ 6<E"$= SLM_3RP_RE3S SORS (#"$%t%#" a$$e$ t# 7%B t/e Prere5E %))ue %" t/e Re)#lut%#"R889658<6 9L (f the )omponent is LM_)!LL_)$"T$R M#roup $nrollmentsN then disable the linHs This has to be done b1coT 'e have no provision to pass in the conte@t and also the person id L9 9L)ode )hanges for +FF><G,,,+ L9 (f MSpre_re._type O /This%Program_$.vN Then $valuate Scourselist AS@B%LM_$Q3(V_&0:_T*P$%Value 7hen +, 9L)atalog (temL9 9L (f /Language O /Language_0ase Then SQL$@ecMPS$L$)T LM_)S_L&"#_"M 2R&M PS_LM_)(_PT 7 $R$ LM_)(_(DOP R Scourselist AS@B%LM_&0:_(D%ValueK Spr._nameNQ $lse SQL$@ecMPS$L$)T 0%LM_)S_L&"#_"M 2R&M PS_LM_)(_PT !K PS_LM_)(_PT_L"# 0 7 $R$ !%LM_)(_(D O 0%LM_)(_(D !"D 0%L!"#3!#$_)D O 8+ !"D !%LM_)(_(DOP R Scourselist AS@B%LM_&0:_(D%ValueK /LanguageK Spr._nameNQ (f "oneMSpr._nameN Then SQL$@ecMPS$L$)T LM_)S_L&"#_"M 2R&M PS_LM_)(_PT 7 $R$ LM_)(_(DOP R Scourselist AS@B%LM_&0:_(D%ValueK Spr._nameNQ $ndE(fQ $ndE(fQ L9 Srs_PrgReg O )reateRo'setMRecord%LM_)(_PTNQ Srs_PrgReg%2illMP7 $R$ LM_)(_(DO 8+PK Scourselist AS@B%LM_&0:_(D%ValueNQ Spr._name O Srs_PrgRegM+N%LM_)(_PT%LM_)S_L&"#_"M%ValueQ 9LchecHs if the user is allo'ed to see details of this preEre.L9 (f Sci_sec%)hecH)(MScourselist AS@B%LM_&0:_(D%ValueN !nd "ot MSdo"otSho'LinHsN Then 9Lbuilds the html linHL9 Surlstring O P=avascript8submit!ction_'in,Mdocument%'in,K1P R Sdetails R PXP R Sy R P1NPQ Sprere.s O Sprere.s R PUa hrefOPPP R Surlstring R PPP classO1PS *P$RL("-1 titleO1P R Spr._name R P1 IU0IP R Spr._name R PU90IU9aIPQ Sary_ci_pr.%PushMSrec_pr.NQ Sy O Sy C +Q $lse (f MSdo"otSho'LinHsN Then Sprere.s O Sprere.s R PUspan classO1PST$5T1IUbIP R Spr._name R P P R Msg#etTe@tM+>,>GK +D,4K PPN R PU9bIU9spanIPQ $lse Sprere.s O Sprere.s R PUspan classO1PST$5T1IUbIP R Spr._name R P P R Msg#etTe@tM+>,>GK +D,4K PPN R PU9bIU9spanIPQ $ndE(fQ $ndE(fQ 0reaHQ 7hen ;, 9L Program L9 Srs_PrgReg O )reateRo'setMRecord%LM_PRQ_PR#_V7NQ 9L Srs_PrgReg%2illMP7 $R$ LM_&0:_(DO 8+PK Scourselist AS@B%LM_&0:_(D%ValueNQL9 Srs_PrgReg%2illMP7 $R$ LM_PR#_(DO 8+PK Scourselist AS@B%LM_&0:_(D%ValueNQ Spr._name O Srs_PrgRegM+N%LM_PRQ_PR#_V7%LM_PRQ_"!M$%ValueQ (f "ot MSdo"otSho'LinHsN Then 9Lbuilds the html linHL9 Surlstring O P=avascript8submit!ction_'in,Mdocument%'in,K1P R

Sdetails R PXP R Sy R P1NPQ Sprere.s O Sprere.s R PUa hrefOPPP R Surlstring R PPP classO1PS *P$RL("-1 titleO1P R Spr._name R P1IU0IP R Spr._name R PU90IU9aIPQ Sary_ci_pr.%PushMSrec_pr.NQ Sy O Sy C +Q $lse (f MSdo"otSho'LinHsN Then Sprere.s O Sprere.s R PUspan classO1PST$5T1IUbIP R Spr._name R P P R Msg#etTe@tM+>,>GK +D,+K PPN R PU9bIU9spanIPQ $lse Sprere.s O Sprere.s R PUspan classO1PST$5T1IUbIP R Spr._name R P P R Msg#etTe@tM+>,>GK +D,+K PPN R PU9bIU9spanIPQ $ndE(fQ $ndE(fQ 0reaHQ $ndE$valuateQ $lse $valuate Scourselist AS@B%LM_PRQ_&0:_T*P$%Value 7hen +, 9L)atalog (temL9 Srs_PrgReg O )reateRo'setMRecord%LM_)(_PTNQ Srs_PrgReg%2illMP7 $R$ LM_)(_(DO 8+PK Scourselist AS@B%LM_&0:_(D%ValueNQ Spr._name O Srs_PrgRegM+N%LM_)(_PT%LM_)S_L&"#_"M%ValueQ 9Lend of )ode )hanges for +FF><G,,,+ L9 9LchecHs if the user is allo'ed to see details of this preEre.L9 (f Sci_sec%)hecH)(MScourselist AS@B%LM_&0:_(D%ValueN !nd "ot MSdo"otSho'LinHsN Then 9Lbuilds the html linHL9 Surlstring O P=avascript8submit!ction_'in,Mdocument%'in,K1P R Sdetails R PXP R Sy R P1NPQ Sprere.s O Sprere.s R PUa hrefOPPP R Surlstring R PPP classO1PS *P$RL("-1 titleO1P R Spr._name R P1IU0IP R Spr._name R PU90IU9aIPQ Sary_ci_pr.%PushMSrec_pr.NQ Sy O Sy C +Q $lse (f MSdo"otSho'LinHsN Then Sprere.s O Sprere.s R PUspan classO1PST$5T1 IUbIP R Spr._name R P P R Msg#etTe@tM+>,>GK +D,4K PPN R PU9bIU9spanIPQ $lse Sprere.s O Sprere.s R PUspan classO1PST$5T1 IUbIP R Spr._name R P P R Msg#etTe@tM+>,>GK +D,4K PPN R PU9bIU9spanIPQ $ndE(fQ $ndE(fQ 0reaHQ 7hen ;, 9L&b=ectiveL9 9L)ode )hanges for +FF><G,,,+ L9 Srs_PrgReg O )reateRo'setMRecord%LM_&0:V_V7NQ Srs_PrgReg%2illMP7 $R$ LM_&0:V_(DO 8+PK Scourselist AS@B%LM_&0:_(D%ValueNQ Spr._name O Srs_PrgRegM+N%LM_&0:V_V7%LM_&0:V_D$S)%ValueQ 9L$nd of )ode )hanges for +FF><G,,,+ L9 (f "ot MSdo"otSho'LinHsN Then 9Lbuilds the html linHL9 Surlstring O P=avascript8submit!ction_'in,Mdocument%'in,K1P R Sdetails R PXP R Sy R P1NPQ Sprere.s O Sprere.s R PUa hrefOPPP R Surlstring R PPP classO1PS *P$RL("-1 titleO1P R Spr._name R P1IU0IP R Spr._name R PU90IU9aIPQ Sary_ci_pr.%PushMSrec_pr.NQ Sy O Sy C +Q $lse (f MSdo"otSho'LinHsN Then Sprere.s O Sprere.s R PUspan classO1PST$5T1 IUbIP R Spr._name R P P R Msg#etTe@tM+>,>GK +D,;K PPN R PU9bIU9spanIPQ $lse Sprere.s O Sprere.s R PUspan classO1PST$5T1 IUbIP R Spr._name R P P R Msg#etTe@tM+>,>GK +D,;K PPN R PU9bIU9spanIPQ

$ndE(fQ $ndE(fQ 0reaHQ 7hen 4, 9L Program L9 9L)ode )hanges for +FF><G,,,+ L9 Srs_PrgReg O )reateRo'setMRecord%LM_PRQ_PR#_V7NQ Srs_PrgReg%2illMP7 $R$ LM_PR#_(DO 8+PK Scourselist AS@B%LM_&0:_(D%ValueNQ Spr._name O Srs_PrgRegM+N%LM_PRQ_PR#_V7%LM_PRQ_"!M$%ValueQ 9Lend of )ode )hanges for +FF><G,,,+ L9 (f "ot MSdo"otSho'LinHsN Then 9Lbuilds the html linHL9 Surlstring O P=avascript8submit!ction_'in,Mdocument%'in,K1P R Sdetails R PXP R Sy R P1NPQ Sprere.s O Sprere.s R PUa hrefOPPP R Surlstring R PPP classO1PS *P$RL("-1 titleO1P R Spr._name R P1IU0IP R Spr._name R PU90IU9aIPQ Sary_ci_pr.%PushMSrec_pr.NQ Sy O Sy C +Q $lse (f MSdo"otSho'LinHsN Then Sprere.s O Sprere.s R PUspan classO1PST$5T1IUbIP R Spr._name R P P R Msg#etTe@tM+>,>GK +D,+K PPN R PU9bIU9spanIPQ $lse Sprere.s O Sprere.s R PUspan classO1PST$5T1IUbIP R Spr._name R P P R Msg#etTe@tM+>,>GK +D,+K PPN R PU9bIU9spanIPQ $ndE(fQ $ndE(fQ 0reaHQ $ndE$valuateQ $ndE(fQ 9L)ode )hanges for +FF><G,,,+ L9 (f MSpre_re._type O /This%Program_$.vN Then $lse 7hile MScur_level I Scourselist AS@B%LM_PRQ_PR(&R(T*%ValueN Sprere.s O Sprere.s R PNPQ Scur_level O Scur_level E +Q $ndE7hileQ $ndE(fQ $ndE2orQ 7hile MScur_level I ,N Sprere.s O Sprere.s R PNPQ Scur_level O Scur_level E +Q $ndE7hileQ (f !llMSprere.sN Then Sprere.s O Sprere.s R PU9liIU9ulIPQ $ndE(fQ Return Sprere.sQ endEmethodQ

9LL LThis method is for populating the invisible grid associated 'ith the html stringK so everything linHs correctly% This method should be called after one of the display9checH functions has been called% L Vparam prere.list the ro'set of the gridK this ro'set 'ill be populated L9 method Populate#rid 9C Sprere.list as Ro'setK C9 9C Spre_re._type as "umber C9

Local number S@Q 2or S@ O + To Sary_ci_pr.%Len 9Linserts a ro' if there1s more than +L9 (f S@ I + Then Sprere.list%(nsertRo'MS@ E +NQ $ndE(fQ $valuate Spre_re._type 7hen /This%)atalog(tem_PreRe. Sprere.list%#etRo'MS@N%#etRecordM+N%LM_)(_(D%Value O Sary_ci_pr. AS@B%LM_)(_(D%ValueQ 0reaHQ 7hen /This%)atalog(tem_Rec Sprere.list%#etRo'MS@N%#etRecordM+N%LM_)(_(D%Value O Sary_ci_pr. AS@B%LM_)(_(D%ValueQ 0reaHQ 7hen /This%Program_PreRe. Sprere.list%#etRo'MS@N%#etRecordM+N%LM_PR#_(D%Value O Sary_ci_pr. AS@B%LM_PR#_(D%ValueQ 0reaHQ 7hen /This%Program_Rec Sprere.list%#etRo'MS@N%#etRecordM+N%LM_PR#_(D%Value O Sary_ci_pr. AS@B%LM_PR#_(D%ValueQ 0reaHQ 7hen /This%Program_$.v Sprere.list%#etRo'MS@N%#etRecordM+N%LM_PR#_(D%Value O Sary_ci_pr. AS@B%LM_PR#_(D%ValueQ 0reaHQ $ndE$valuateQ 9L)ode )hanges for +FF><G,,,+ L9 (f MSpre_re._type O /This%Program_$.vN Then Sprere.list%#etRo'MS@N%#etRecordM+N%LM_&0:_(D%Value O Sary_ci_pr. AS@B%LM_&0:_(D%ValueQ Sprere.list%#etRo'MS@N%#etRecordM+N%LM_$Q3(V_&0:_T*P$%Value O Sary_ci_pr. AS@B%LM_$Q3(V_&0:_T*P$%ValueQ $lse Sprere.list%#etRo'MS@N%#etRecordM+N%LM_D(SP_&RD$R%Value O Sary_ci_pr. AS@B%LM_D(SP_&RD$R%ValueQ Sprere.list%#etRo'MS@N%#etRecordM+N%LM_&0:_(D%Value O Sary_ci_pr. AS@B%LM_&0:_(D%ValueQ Sprere.list%#etRo'MS@N%#etRecordM+N%LM_PRQ_&0:_T*P$%Value O Sary_ci_pr. AS@B%LM_PRQ_&0:_T*P$%ValueQ $ndE(fQ $ndE2orQ endEmethodQ 9LL LDisplays all the prere.uisite information L L Vparam courselist a list of all the courses and relationships L Vreturn string returns a string display of the preEre.uisite L9 method Display!ctDtlPreRe.s 9C Scourselist as !rray of RecordK C9 9C Spre_re._type as "umberK C9 9C Sid as "umber C9 9C Returns String C9 Local string Sprere.sQ Local number S@K Scur_levelQ Local Record Srec_pr.Q Local string Spr._nameQ Local string SdetailsQ Local number SyQ Local L$)S8)(Security Sci_secQ Sci_sec O create L$)S8)(SecurityMNQ

Sary_ci_pr. O )reate!rrayReptMSrec_pr.K ,NQ 9Lif these are re.uired prere.s it linHs to one gridK if these are not re.uired it linHs to anotherL9 $valuate Spre_re._type 7hen /This%)atalog(tem_PreRe. Sdetails O PLM_PRQ_S0P_7R-_LM_PRQ_DTLPQ 0reaHQ 7hen /This%)atalog(tem_Rec Sdetails O PLM_PRQ_S0P_7R-_LM_R$)_DTLPQ 0reaHQ 7hen /This%Program_PreRe. Sdetails O PLM_PR#_P#_7R-_LM_PRQ_DTLPQ 0reaHQ 7hen /This%Program_Rec Sdetails O PLM_PR#_P#_7R-_LM_R$)_DTLPQ 0reaHQ $ndE$valuateQ Scur_level O ,Q (f Scourselist%Len I , Then Sprere.s O PUulIUliIPQ $ndE(fQ Sy O ,Q 9Lloops through all the preEre.sL9 2or S@ O + To Scourselist%Len 9Lif this is not the first element in the list then it puts the relationshipK from the previousL9 (f S@ I + Then $valuate Scourselist AS@ E +B%LM_PRQ_R$L%Value 7hen +, 9LandL9 Sprere.s O Sprere.s R P U9liIUliI PQ 0reaHQ 7hen ;, 9LorL9 Sprere.s O Sprere.s R P Uspan classO1PST$5T1IP R Msg#etTe@tM+>,>FK ;<K PPN R PU9spanI PQ 0reaHQ 7hen 4, 9LendL9 Sprere.s O Sprere.s R PU9liIU9ulIPQ Return Sprere.sQ $ndE$valuateQ $ndE(fQ 9Ladds necessary begin parensL9 7hile MScur_level U Scourselist AS@B%LM_PRQ_PR(&R(T*%ValueN Sprere.s O Sprere.s R PMPQ Scur_level O Scur_level C +Q $ndE7hileQ Local string SurlstringQ Local Record Sci_ob=vQ 9L'hether this is re.uired determines 'hich record to useK corosponds to the similar statement aboveL9 $valuate Spre_re._type 7hen /This%)atalog(tem_PreRe. Srec_pr. O )reateRecordMRecord%LM_)(_PRQ_V7NQ Srec_pr.%LM_)(_(D%Value O SidQ 0reaHQ 7hen /This%)atalog(tem_Rec Srec_pr. O )reateRecordMRecord%LM_)(_R$)_V7NQ Srec_pr.%LM_)(_(D%Value O SidQ 0reaHQ 7hen /This%Program_PreRe. Srec_pr. O )reateRecordMRecord%LM_PR#_PRQ_P_V7NQ Srec_pr.%LM_PR#_(D%Value O SidQ 0reaHQ 7hen /This%Program_Rec Srec_pr. O )reateRecordMRecord%LM_PR#_R$)_V7NQ

Srec_pr.%LM_PR#_(D%Value O SidQ 0reaHQ $ndE$valuateQ Srec_pr.%LM_D(SP_&RD$R%Value O Scourselist AS@B%LM_D(SP_&RD$R%ValueQ Srec_pr.%LM_&0:_(D%Value O Scourselist AS@B%LM_&0:_(D%ValueQ Srec_pr.%LM_PRQ_&0:_T*P$%Value O Scourselist AS@B%LM_PRQ_&0:_T*P$%ValueQ Local boolean Sdo"otSho'LinHs O 2alseQ (f M/)omponent O PLM_)!LL_)$"T$RP &r /)omponent O PLM_SS_M!"!#$R_3(P &r /)omponent O PLM_PR#_DTLS_MSSP &r /)omponent O PLM_M#R_$"RLMTP &r /)omponent O PLM_M#R_R$#PN Then Sdo"otSho'LinHs O TrueQ $ndE(fQ linHs 9L (f the )omponent is LM_)!LL_)$"T$R M#roup $nrollmentsN then disable the

This has to be done b1coT 'e have no provision to pass in the conte@t and also the person id L9 $valuate Scourselist AS@B%LM_PRQ_&0:_T*P$%Value 7hen +, 9L)atalog (temL9 (f /Language O /Language_0ase Then SQL$@ecMPS$L$)T LM_)S_L&"#_"M 2R&M PS_LM_)(_PT 7 $R$ LM_)(_(DOP R Scourselist AS@B%LM_&0:_(D%ValueK Spr._nameNQ $lse SQL$@ecMPS$L$)T 0%LM_)S_L&"#_"M 2R&M PS_LM_)(_PT !K PS_LM_)(_PT_L"# 0 7 $R$ !%LM_)(_(D O 0%LM_)(_(D !"D 0%L!"#3!#$_)D O 8+ !"D !%LM_)(_(DOP R Scourselist AS@B%LM_&0:_(D%ValueK /LanguageK Spr._nameNQ (f "oneMSpr._nameN Then SQL$@ecMPS$L$)T LM_)S_L&"#_"M 2R&M PS_LM_)(_PT 7 $R$ LM_)(_(DOP R Scourselist AS@B%LM_&0:_(D%ValueK Spr._nameNQ $ndE(fQ $ndE(fQ 9LchecHs if the user is allo'ed to see details of this preEre.L9 (f Sci_sec%)hecH)(MScourselist AS@B%LM_&0:_(D%ValueN !nd "ot MSdo"otSho'LinHsN Then 9Lbuilds the html linHL9 Surlstring O P=avascript8submit!ction_'in,Mdocument%'in,K1P R Sdetails R PXP R Sy R P1NPQ Sprere.s O Sprere.s R PUa hrefOPPP R Surlstring R PPP classO1PS *P$RL("-1 titleO1P R Spr._name R P1IP R Spr._name R PU9aIPQ Sary_ci_pr.%PushMSrec_pr.NQ Sy O Sy C +Q $lse (f MSdo"otSho'LinHsN Then Sprere.s O Sprere.s R PUspan classO1PST$5T1IUbIP R Spr._name R P P R Msg#etTe@tM+>,>GK +D,4K PPN R PU9bIU9spanIPQ $lse Sprere.s O Sprere.s R PUspan classO1PST$5T1IUbIP R Spr._name R P P R Msg#etTe@tM+>,>GK +D,4K PPN R PU9bIU9spanIPQ $ndE(fQ $ndE(fQ 0reaHQ 7hen ;, 9L&b=ectiveL9 (f /Language O /Language_0ase Then SQL$@ecMPS$L$)T LM_&0:V_D$S) 2R&M PS_LM_&0:V_V7 7 $R$ LM_&0:V_(DOP R Scourselist AS@B%LM_&0:_(D%ValueK Spr._nameNQ $lse SQL$@ecMPS$L$)T 0%LM_&0:V_D$S) 2R&M PS_LM_&0:V_V7 !K PS_LM_&0:V_L"#_V7 0 7 $R$ !%LM_&0:V_)D O 0%LM_&0:V_)D !"D !%$22DT O 0%$22DT !"D 0%L!"#3!#$_)D O 8+

!"D !%LM_&0:V_(DOP R Scourselist AS@B%LM_&0:_(D%ValueK /LanguageK Spr._nameNQ (f "oneMSpr._nameN Then SQL$@ecMPS$L$)T LM_&0:V_D$S) 2R&M PS_LM_&0:V_V7 7 $R$ LM_&0:V_(DOP R Scourselist AS@B%LM_&0:_(D%ValueK Spr._nameNQ $ndE(fQ $ndE(fQ (f "ot MSdo"otSho'LinHsN Then 9Lbuilds the html linHL9 Surlstring O P=avascript8submit!ction_'in,Mdocument%'in,K1P R Sdetails R PXP R Sy R P1NPQ Sprere.s O Sprere.s R PUa hrefOPPP R Surlstring R PPP classO1PS *P$RL("-1 titleO1P R Spr._name R P1IP R Spr._name R PU9aIPQ Sary_ci_pr.%PushMSrec_pr.NQ Sy O Sy C +Q $lse (f MSdo"otSho'LinHsN Then Sprere.s O Sprere.s R PUspan classO1PST$5T1IUbIP R Spr._name R P P R Msg#etTe@tM+>,>GK +D,;K PPN R PU9bIU9spanIPQ $lse Sprere.s O Sprere.s R PUspan classO1PST$5T1IUbIP R Spr._name R P P R Msg#etTe@tM+>,>GK +D,;K PPN R PU9bIU9spanIPQ $ndE(fQ $ndE(fQ 0reaHQ 7hen 4, 9L program L9 (f /Language O /Language_0ase Then SQL$@ecMPS$L$)T LM_PRQ_"!M$ 2R&M PS_LM_PRQ_PR#_V7 7 $R$ LM_PR#_(DOP R Scourselist AS@B%LM_&0:_(D%ValueK Spr._nameNQ $lse SQL$@ecMPS$L$)T 0%LM_PRQ_"!M$ 2R&M PS_LM_PRQ_PR#_V7 !K PS_LM_PRQ_PR#_L"# 0 7 $R$ !%LM_PR#_(D O 0%LM_PR#_(D !"D 0%L!"#3!#$_)D O 8+ !"D !%LM_PR#_(DOP R Scourselist AS@B%LM_&0:_(D%ValueK /LanguageK Spr._nameNQ (f "oneMSpr._nameN Then 9L )ommented SQL$@ecMPS$L$)T LM_PRQ_"!M$ 2R&M PS_LM_PRQ_PR#_V7 7 $R$ LM_&0:_(DOP R Scourselist AS@B%LM_&0:_(D%ValueK Spr._nameNQL9 9L !ddedL9 SQL$@ecMPS$L$)T LM_PRQ_"!M$ 2R&M PS_LM_PRQ_PR#_V7 7 $R$ LM_PR#_(DOP R Scourselist AS@B%LM_&0:_(D%ValueK Spr._nameNQ $ndE(fQ $ndE(fQ (f "ot MSdo"otSho'LinHsN Then 9Lbuilds the html linHL9 Surlstring O P=avascript8submit!ction_'in,Mdocument%'in,K1P R Sdetails R PXP R Sy R P1NPQ Sprere.s O Sprere.s R PUa hrefOPPP R Surlstring R PPP classO1PS *P$RL("-1 titleO1P R Spr._name R P1IP R Spr._name R PU9aIPQ Sary_ci_pr.%PushMSrec_pr.NQ Sy O Sy C +Q $lse (f MSdo"otSho'LinHsN Then Sprere.s O Sprere.s R PUspan classO1PST$5T1IUbIP R Spr._name R P P R Msg#etTe@tM+>,>GK +D,+K PPN R PU9bIU9spanIPQ $lse Sprere.s O Sprere.s R PUspan classO1PST$5T1IUbIP R Spr._name R P P R Msg#etTe@tM+>,>GK +D,+K PPN R PU9bIU9spanIPQ $ndE(fQ $ndE(fQ 0reaHQ $ndE$valuateQ 7hile MScur_level I Scourselist AS@B%LM_PRQ_PR(&R(T*%ValueN Sprere.s O Sprere.s R PNPQ Scur_level O Scur_level E +Q $ndE7hileQ

$ndE2orQ 7hile MScur_level I ,N Sprere.s O Sprere.s R PNPQ Scur_level O Scur_level E +Q $ndE7hileQ (f !llMSprere.sN Then Sprere.s O Sprere.s R PU9liIU9ulIPQ $ndE(fQ Return Sprere.sQ endEmethodQ

Peo1 eCode &A11 P!c>!/e*: LECS_SEARCH:Se!rc<C!$! o/UI;O"E@ec%$e


import import import import import import import import import import import import import import import import import import import import import import import import import LM_3T(L(T($S8LQ L$0&_P$RS&"8!dministratorQ L$0&_P$RS&"8Person)lassQ L$0&_L$!R"$R_S$!R) 8LearnerSearchQ L$)S_S$!R) 8LQ L$M_3T(L(T($S83tilityQ L$0L_S$!R) )!T!L&#8LQ L$)S8)ategoryQ L$M_3T(L(T($S8&b=ect ashtableQ L$M_3T(L(T($S8String ashtableQ L$)R_PR&#R!MS$L2S$RV()$8ProgramDetailsPage3tilityQ L$$_$"R&LLM$"T8L$$_$"RLMTQ L$$_$"R&LLM$"T8L$$_PL!"_0$!"Q L$0&_P$RS&"8Person)lassQ L$)R_3T(L8LQ L$M_3T(L(T($S8LQ $&8)!8!ddressQ L$$_$"R&LLM$"T8L$$_3T(L(T*Q L$0&_P$RS&"8LearnerQ LM_3(_3T(L(T*83(3tilityQ L$0&_)&MM&"8Date2ormatQ L$$_$"R&LLM$"T8L$$_3T(L(T*Q LM_3T(L(T($S8$LMTe@t)atalogQ LM_D08D0!ccessQ L$LP_L$!R"("#_PL!"S8LQ

class Search)atalog3( method Search)atalog3(MNQ method setTe@t)atalog$ntriesMNQ method set0asicSearchDefaultsMNQ method setSearch)ategoryTypeMSstr_Srch)atg !s stringNQ method build!dvancedSearch)riteriaTipMNQ method buildSearchResultsStringMSnbr_pMin !s numberK Snbr_pMa@ !s numberK Snbr_pTotal !s numberN Returns stringQ method set!dvancedSearchMessageMN Returns stringQ method resetSearch)riteriaMNQ method transferTo0asicSearchMNQ method transferTo!dvanceSearchMNQ method submitSearchPreferencesMNQ method paintSearchPageMNQ method hide(fLearningPlanSearch)omponentMNQ method setPrevPageLnHMNQ method setLearnerPreferencesMNQ method setSearchTypeDefaultsMNQ method set#lobalParametersMNQ method run!utoSearchMNQ method set)atalogTypeandDefaultsMN Returns stringQ method setResults2oundMNQ method doSearchMNQ method set)atalogTypeforSearchMN Returns stringQ method populateProgramsMN Returns !pi&b=ectQ method populate)atalog)riteria0eanMN Returns

L$)S_S$!R) 8)atalogSearch)riteria0eanQ method populate)atalog)riteria0ean)(MN Returns L$)S_S$!R) 8)atalogSearch)riteria0eanQ method validateSearch)riteriaMSob=_p)atgSrch0ean !s L$)S_S$!R) 8)atalogSearch)riteria0eanN Returns booleanQ method populatePersonLearner#roupsMSnbr_Person(d !s numberN Returns stringQ method populatePersonLearner#roups)(MSnbr_Person(d !s numberN Returns stringQ method run0asic!ctivitySearchMNQ method buildTempSearchResultRo'setMSSearchResults)olla !s !pi&b=ectN Returns Ro'setQ method populateSearch!ctResultRo'setMSrs_pTemp !s Ro'setN Returns Ro'setQ method populateDisplayResultRo'set!ctMSrs_pResult !s Ro'setK Snbr_pRo's !s numberN Returns Ro'setQ method set!ddToPlanLnHMSro'_pResult !s Ro'NQ method run0asic!llSearchMSstr_psrchType !s stringNQ method populateSearch!llResultRo'setMSrs_pTemp !s Ro'setN Returns Ro'setQ method run0asic)(SearchMNQ method populateSearch)(ResultRo'setMSrs_pTemp !s Ro'setN Returns Ro'setQ method runProgramSearchMNQ method populateSearchPrgResultRo'setMSSearchResults)ollP !s !pi&b=ectN Returns Ro'setQ method populate"e@tPageMNQ method populatePreviousPageMNQ method populate!ctivity!ttributesMSnbr_count !s numberK Snbr_Source !s numberNQ method populateProgram!ttributesMSnbr_count !s numberK Snbr_Source !s numberNQ method transferTo)atalogDetailsMNQ method transferTo)atalog$nrollmentMSconte@t !s stringK Sprg(D !s numberK Sact(D !s numberK Sperson(D !s numberK Sci(D !s numberK Sact"ame !s stringNQ method transferTo!ctivityDetailsMNQ method add(temToPlanMNQ method addToPlanMNQ method get)ache&b=ectMNQ method buildLocation!rrayMSstr_locns !s stringN Returns array of stringQ method paintSessionPageMNQ method set!dvancedSearch&ptionsMNQ method setSearchType2rom)acheMNQ method run!llProgramSearchMNQ method save(M(nfoMSrec_p(M_(nfo !s RecordN Returns numberQ method save)alendar(nfoMSrec_p)alendar_(nfo !s RecordN Returns numberQ method delete)alendar(nfoMSnbr_personid !s numberK Snbr_vendor(d !s numberK Snbr_user(d !s stringN Returns numberQ property boolean $nableLRQQ property number nbr_Person(d get setQ private instance number Si_nbr_L$(DQ instance number Si_nbr_Person(dQ instance !pi&b=ect Si_SearchResults)ollPQ method transferToManagerDetailsMNQ method transferToLearnerDetailsMNQ endEclassQ )omponent LM_3T(L(T($S8$LMTe@t)atalog Sc_ob=_Te@t)atalogQ )omponent string Sc_str_Srch)atgQ )omponent string SSearch_TypeK SResults2oundK Sstr_Learner_"ameK SStr_$nroll_for_(DQ )omponent number Snbr_ro'sK Snbr_ma@_ro'sK Snbr_minK Snbr_ma@K Snbr_totalQ )omponent Ro'set Srs_scroll_resultsK SResult_rsQ )omponent array of string Sary_PrgTypeQ )omponent boolean Sbol_l)(!ctivities)achedQ )omponent Ro'set Sc_rs_PrsnLrnr#rpQ )omponent string S(tem_TitleQ )omponent string Sstr_from_pageQ )omponent Ro'set Sc_rs_SrchRsltQ )omponent number Sc_nbr_!ctivity(dQ )omponent boolean Sbol_is)oming2rom)acheQ

)omponent L$M_3T(L(T($S8String ashtable Sc_ob=_Delvry ashQ )omponent L$M_3T(L(T($S8&b=ect ashtable Scls_cResult(tems ashQ )omponent number Sdelivery_methodQ method Search)atalog3( Local L$0&_P$RS&"8Learner Sob=_!dminQ Sob=_!dmin O create L$0&_P$RS&"8LearnerM/&perator(dNQ Sob=_!dmin%getLearnerDetailsMNQ Si_nbr_L$(D O Sob=_!dmin%L$(DQ Si_nbr_Person(d O Sob=_!dmin%Person(dQ S$nableLRQ O 2alseQ endEmethodQ get nbr_Person(d 9C Returns "umber C9 Return Si_nbr_Person(dQ endEgetQ set nbr_Person(d 9C S"e'Value as "umber C9 Local L$0&_P$RS&"8Learner Sob=_!dminQ Local L$0&_P$RS&"8Person)lass Sob=_Person)lass O create L$0&_P$RS&"8Person)lassMS"e'ValueNQ Sob=_!dmin O create L$0&_P$RS&"8LearnerMSob=_Person)lass%get&pridMNNQ Sob=_!dmin%getLearnerDetailsMNQ Si_nbr_L$(D O Sob=_!dmin%L$(DQ Si_nbr_Person(d O S"e'ValueQ S$nableLRQ O 2alseQ endEsetQ method setTe@t)atalog$ntries Local string Sstr_Te@tStringQ Sc_ob=_Te@t)atalog%LM_L$_(D O Si_nbr_L$(DQ Sstr_Te@tString O Sc_ob=_Te@t)atalog%getTe@tMPLM_SR) _PT(TL$PK PPK PPK PPK PPK PPNQ LM_P!#$_7R-%LM_P!#$_T(TL$%Value O Sstr_Te@tStringQ Sstr_Te@tString O Sc_ob=_Te@t)atalog%getTe@tMPLM_SR) _M$"3PK PPK PPK PPK PPK PPNQ LM_SR) _7R-%LM_SR) _M$"3%Value O Sstr_Te@tStringQ 9LL 2or 6,> complianceK the field label is no' set to the )M te@t string value and displayed% !ll fields must have a label% L9 (f /Page O PLM_S$!R) _ MP &r /Page O PLM_S$R) P &r /Page O PLM_)(_S$!R) P Then Sstr_Te@tString O Sc_ob=_Te@t)atalog%getTe@tMPLM_SR) _)!T#PK PPK PPK PPK PPK PPNQ LM_)!T_3(_7R-%LM_SR) _0!S_!)T%Label O Sstr_Te@tStringQ $lse Sstr_Te@tString O Sc_ob=_Te@t)atalog%getTe@tMPLM_SR) _)!T#PK PPK PPK PPK PPK PPNQ LM_SR) _7R-%LM_SR) _)!T#%Value O Sstr_Te@tStringQ $ndE(fQ Sstr_Te@tString O Sc_ob=_Te@t)atalog%getTe@tMPLM_SR) _)(PK PPK PPK PPK PPK PPNQ LM_SR) _7R-%LM_0!S_SR) _(TM%Label O Sstr_Te@tStringQ Sstr_Te@tString O Sc_ob=_Te@t)atalog%getTe@tMPLM_SR) _!LLPK PPK PPK PPK PPK PPNQ

LM_SR) _7R-%LM_0!S_SR) _!LL%Label O Sstr_Te@tStringQ Sstr_Te@tString O Sc_ob=_Te@t)atalog%getTe@tMPLM_SR) _PR#PK PPK PPK PPK PPK PPNQ LM_SR) _7R-%LM_0!S_SR) _PR#%Label O Sstr_Te@tStringQ Sstr_Te@tString O Sc_ob=_Te@t)atalog%getTe@tMPLM_SR) _!)TPK PPK PPK PPK PPK PPNQ LM_SR) _7R-%LM_0!S_SR) _!)T%Label O Sstr_Te@tStringQ endEmethodQ method set0asicSearchDefaults (f SSearch_Type UI P!P Then /This%setSearch)ategoryTypeMP!)TPNQ $ndE(fQ endEmethodQ method setSearch)ategoryType 9C Sstr_Srch)atg as String C9 Local string Sstr_Te@tStringK Sstr_Te@tString+Q Sstr_Te@tString O Sc_ob=_Te@t)atalog%getTe@tMPLM_S$!R) PK PPK PPK PPK PPK PPNQ $valuate Sstr_Srch)atg 7hen P!)TP Sc_str_Srch)atg O P!)TPQ LM_SR) _7R-%LM_0!S_SR) _!)T%$nabled LM_SR) _7R-%LM_0!S_SR) _PR#%$nabled LM_SR) _7R-%LM_0!S_SR) _(TM%$nabled LM_SR) _7R-%LM_0!S_SR) _!LL%$nabled LM_SR) LM_SR) LM_SR) LM_SR) PPNQ _7R-%LM_0!S_SR) _7R-%LM_0!S_SR) _7R-%LM_0!S_SR) _7R-%LM_0!S_SR) _!)T%Style _!LL%Style _(TM%Style _PR#%Style O O O O

O O O O

2alseQ TrueQ TrueQ TrueQ

PP!0&LDT$5TPQ PPS *P$RL("-!)T(V$PQ PPS *P$RL("-!)T(V$PQ PPS *P$RL("-!)T(V$PQ

Sstr_Te@tString+ O Sc_ob=_Te@t)atalog%getTe@tMPLM_SR) _!)TPK PPK PPK PPK PPK 0reaHQ 7hen PPR#P Sc_str_Srch)atg O PPR#PQ LM_SR) _7R-%LM_0!S_SR) _!)T%$nabled LM_SR) _7R-%LM_0!S_SR) _PR#%$nabled LM_SR) _7R-%LM_0!S_SR) _(TM%$nabled LM_SR) _7R-%LM_0!S_SR) _!LL%$nabled LM_SR) LM_SR) LM_SR) LM_SR) PPNQ _7R-%LM_0!S_SR) _7R-%LM_0!S_SR) _7R-%LM_0!S_SR) _7R-%LM_0!S_SR) _PR#%Style _!LL%Style _!)T%Style _(TM%Style O O O O

O O O O

TrueQ 2alseQ TrueQ TrueQ

PP!0&LDT$5TPQ PPS *P$RL("-!)T(V$PQ PPS *P$RL("-!)T(V$PQ PPS *P$RL("-!)T(V$PQ

Sstr_Te@tString+ O Sc_ob=_Te@t)atalog%getTe@tMPLM_SR) _PR#PK PPK PPK PPK PPK

0reaHQ 7hen P(TMP Sc_str_Srch)atg O P(TMPQ LM_SR) _7R-%LM_0!S_SR) _!)T%$nabled LM_SR) _7R-%LM_0!S_SR) _PR#%$nabled LM_SR) _7R-%LM_0!S_SR) _(TM%$nabled LM_SR) _7R-%LM_0!S_SR) _!LL%$nabled LM_SR) LM_SR) LM_SR) LM_SR) _7R-%LM_0!S_SR) _7R-%LM_0!S_SR) _7R-%LM_0!S_SR) _7R-%LM_0!S_SR) _(TM%Style _!LL%Style _!)T%Style _PR#%Style O O O O

O O O O

TrueQ TrueQ 2alseQ TrueQ

PP!0&LDT$5TPQ PPS *P$RL("-!)T(V$PQ PPS *P$RL("-!)T(V$PQ PPS *P$RL("-!)T(V$PQ

Sstr_Te@tString+ O Sc_ob=_Te@t)atalog%getTe@tMPLM_SR) _)(PK PPK PPK PPK PPK

PPNQ

0reaHQ 7hen P!LLP Sc_str_Srch)atg O P!LLPQ LM_SR) _7R-%LM_0!S_SR) _!)T%$nabled LM_SR) _7R-%LM_0!S_SR) _PR#%$nabled LM_SR) _7R-%LM_0!S_SR) _(TM%$nabled LM_SR) _7R-%LM_0!S_SR) _!LL%$nabled LM_SR) LM_SR) LM_SR) LM_SR) _7R-%LM_0!S_SR) _7R-%LM_0!S_SR) _7R-%LM_0!S_SR) _7R-%LM_0!S_SR) _!LL%Style _!)T%Style _(TM%Style _PR#%Style O O O O

O O O O

TrueQ TrueQ TrueQ 2alseQ

PP!0&LDT$5TPQ PPS *P$RL("-!)T(V$PQ PPS *P$RL("-!)T(V$PQ PPS *P$RL("-!)T(V$PQ

PPNQ

Sstr_Te@tString+ O Sc_ob=_Te@t)atalog%getTe@tMPLM_SR) _!LLPK PPK PPK PPK PPK

0reaHQ $ndE$valuateQ Sstr_Te@tString O Sstr_Te@tString R P P R Sstr_Te@tString+Q 9L SS >FDF;,8 Start of code changesL9 (f SSearch_Type UI P!P Then LM_)!T_3(_7R-%LM_SR) _03TT&"%Label O Sstr_Te@tStringQ $ndE(fQ 9L $nd SS >FDF;,L9 endEmethodQ method build!dvancedSearch)riteriaTip Local string Sstr_Te@tStringK Sstr_Te@tString+K Sstr_Te@tString;Q Local L$0L_S$!R) )!T!L&#8Search)atalog Sob=_srch)atgQ Sob=_srch)atg O create L$0L_S$!R) )!T!L&#8Search)atalogMNQ (f Sc_ob=_Delvry ash O "ull Then Sc_ob=_Delvry ash O Sob=_srch)atg%populateDeliveryTypesMSi_nbr_Person(dN $ndE(fQ Sstr_Te@tString O Sc_ob=_Te@t)atalog%getTe@tMPLM_!DV_SR) _T(PPK PPK PPK PPK PPK PPNQ Sstr_Te@tString O PUSP!" classO1PST$5T1IP R Sstr_Te@tStringQ (f !llMLM_2)LT*_3(_V7%LM_2)LT*%ValueN Then (f !llMSstr_Te@tString+N Then Sstr_Te@tString+ O Sstr_Te@tString+ R PK U0IP R Msg#etTe@tM+>,>>K 4+K PMessage not foundPN R P P R LM_2)LT*_3(_V7%LM_2)LT*%Value R PU90IPQ $lse Sstr_Te@tString+ O Sstr_Te@tString+ R P U0IP R Msg#etTe@tM+>,>>K 4+K PMessage not foundPN R P P R LM_2)LT*_3(_V7%LM_2)LT*%Value R PU90IPQ $ndE(fQ $ndE(fQ (f !llMLM_3(_("STR_V7+%LM_"!M$_D(SPL!*%ValueN Then (f !llMSstr_Te@tString+N Then Sstr_Te@tString+ O Sstr_Te@tString+ R PK U0IP R Msg#etTe@tM+>,>>K 4;K PPN R P 8 P R LM_3(_("STR_V7+%LM_"!M$_D(SPL!*%Value R PU90IPQ $lse Sstr_Te@tString+ O Sstr_Te@tString+ R P U0IP R Msg#etTe@tM+>,>>K 4;K PPN R P 8 P R LM_3(_("STR_V7+%LM_"!M$_D(SPL!*%Value R PU90IPQ $ndE(fQ $ndE(fQ (f !llMLM_)!T_3(_7R-%L!"#3!#$_)D%ValueN Then (f !llMSstr_Te@tString+N Then Sstr_Te@tString+ O Sstr_Te@tString+ R PK U0IP R LM_)!T_3(_7R-%L!"#3!#$_)D%#etShortLabelMPL!"#3!#$_)D+PN R P8P R LM_)!T_3(_7R-%L!"#3!#$_)D%LongTranslateValue R PU90IPQ $lse Sstr_Te@tString+ O Sstr_Te@tString+ R P U0IP R LM_)!T_3(_7R-%L!"#3!#$_)D%#etShortLabelMPL!"#3!#$_)D+PN R P 8 P R

LM_)!T_3(_7R-%L!"#3!#$_)D%LongTranslateValue R PU90IPQ $ndE(fQ $ndE(fQ (f !llMLM_)!T_3(_7R-%LM_SR) _2R&M_DT%ValueN Then (f !llMSstr_Te@tString+N Then Sstr_Te@tString+ O Sstr_Te@tString+ R PK U0IP R LM_)!T_3(_7R-%LM_SR) _2R&M_DT%#etShortLabelMP+,PN R P 8 P R LM_)!T_3(_7R-%LM_SR) _2R&M_DT%Value R PU90IPQ $lse Sstr_Te@tString+ O Sstr_Te@tString+ R P U0IP R LM_)!T_3(_7R-%LM_SR) _2R&M_DT%#etShortLabelMP+,PN R P 8 P R LM_)!T_3(_7R-%LM_SR) _2R&M_DT%Value R PU90IPQ $ndE(fQ $ndE(fQ (f !llMLM_)!T_3(_7R-%LM_SR) _T&_DT%ValueN Then (f !llMSstr_Te@tString+N Then Sstr_Te@tString+ O Sstr_Te@tString+ R PK U0IP R LM_)!T_3(_7R-%LM_SR) _T&_DT%#etShortLabelMP+,PN R P 8 P R LM_)!T_3(_7R-%LM_SR) _T&_DT%Value R PU90IPQ $lse Sstr_Te@tString+ O Sstr_Te@tString+ R PU0IP R LM_)!T_3(_7R-%LM_SR) _T&_DT%#etShortLabelMP+,PN R P 8 P R LM_)!T_3(_7R-%LM_SR) _T&_DT%Value R PU90IPQ $ndE(fQ $ndE(fQ (f !llMSstr_Te@tString+N Then Sstr_Te@tString+ O Sstr_Te@tString R P P R Sstr_Te@tString+Q LM_SR) _7R-%LM_SR) _)R(T_+%Value O Sstr_Te@tString+Q $lse LM_SR) _7R-%LM_SR) _)R(T_+%Value O PPQ $ndE(fQ (f !llMLM_)!T#_3(_V7%LM_)S_L&"#_"M%ValueN Then (f !llMSstr_Te@tString;N Then Sstr_Te@tString; O Sstr_Te@tString; R PK U0IP R LM_)!T#_3(_V7%LM_)S_L&"#_"M%#etShortLabelMP)!T#_L&"#_"MPN R P 8 P R LM_)!T#_3(_V7%LM_)S_L&"#_"M%Value R PU90IPQ $lse Sstr_Te@tString; O Sstr_Te@tString; R P U0IP R LM_)!T#_3(_V7%LM_)S_L&"#_"M%#etShortLabelMP)!T#_L&"#_"MPN R P 8 P R LM_)!T#_3(_V7%LM_)S_L&"#_"M%Value R PU90IPQ $ndE(fQ $ndE(fQ (f !llMLM_&0:V_3(_V7%LM_&0:V_D$S)%ValueN Then (f !llMSstr_Te@tString;N Then Sstr_Te@tString; O Sstr_Te@tString; R PK U0IP R LM_&0:V_3(_V7%LM_&0:V_D$S)%#etShortLabelMP;,PN R P 8 P R LM_&0:V_3(_V7%LM_&0:V_D$S)%Value R PU90IPQ $lse Sstr_Te@tString; O Sstr_Te@tString; R P U0IP R LM_&0:V_3(_V7%LM_&0:V_D$S)%#etShortLabelMP;,PN R P 8 P R LM_&0:V_3(_V7%LM_&0:V_D$S)%Value R PU90IPQ $ndE(fQ $ndE(fQ (f !llMLM_3(_SR) _7R-%LM_!)TPR#_T*P$%ValueN Then (f !llMSstr_Te@tString;N Then Sstr_Te@tString; O Sstr_Te@tString; R PK U0IP R LM_3(_SR) _7R-%LM_!)TPR#_T*P$%#etShortLabelMPLM_!)TPR#_T*P$PN R P 8 P R Sc_ob=_Delvry ash%#etMLM_3(_SR) _7R-%LM_!)TPR#_T*P$%ValueN R PU90IPQ $lse Sstr_Te@tString; O Sstr_Te@tString; R P U0IP R LM_3(_SR) _7R-%LM_!)TPR#_T*P$%#etShortLabelMPLM_!)TPR#_T*P$PN R P 8 P R Sc_ob=_Delvry ash%#etMLM_3(_SR) _7R-%LM_!)TPR#_T*P$%ValueN R PU90IPQ $ndE(fQ

$ndE(fQ (f "oneMLM_SR) _7R-%LM_SR) _)R(T_+%ValueN Then LM_SR) _7R-%LM_SR) _T(P_(M#%Visible O 2alseQ LM_SR) _7R-%LM_SR) _)R(T_;%Visible O 2alseQ Sstr_Te@tString; O Sstr_Te@tString R P P R Sstr_Te@tString;Q LM_SR) _7R-%LM_SR) _)R(T_+%Value O Sstr_Te@tString;Q $lse (f !llMSstr_Te@tString;N Then Sstr_Te@tString; O Sstr_Te@tString R P P R Sstr_Te@tString;Q LM_SR) _7R-%LM_SR) _)R(T_;%Value O Sstr_Te@tString;Q LM_SR) _7R-%LM_SR) _T(P_(M#%Visible O TrueQ LM_SR) _7R-%LM_SR) _)R(T_;%Visible O TrueQ $lse LM_SR) _7R-%LM_SR) _)R(T_;%Value O PPQ LM_SR) _7R-%LM_SR) _T(P_(M#%Visible O 2alseQ LM_SR) _7R-%LM_SR) _)R(T_;%Visible O 2alseQ $ndE(fQ $ndE(fQ endEmethodQ method buildSearchResultsString 9C Snbr_pMin as "umberK C9 9C Snbr_pMa@ as "umberK C9 9C Snbr_pTotal as "umber C9 9C Returns String C9 Local string Sstr_SearchStringK Sstr_ResultsK Sstr_Te@tStringQ Sstr_SearchString O PUD(V !L(#"OL$2TIUSP!" classO1PST$5T1IPQ Sstr_Results O Sc_ob=_Te@t)atalog%getTe@tMPLM_SR) _RSLT_+PK StringMSnbr_pMinNK StringMSnbr_pMa@NK StringMSnbr_pTotalNK PPK PPNQ Sstr_SearchString O Sstr_SearchString R P P R Sstr_ResultsQ (f SSearch_Type O P!P Then (f !llMLM_)!T_3(_7R-%LM_SR) _!DV_!)T%ValueN Then Sstr_Te@tString O Sc_ob=_Te@t)atalog%getTe@tMPLM_SR) _RSLT_;PK LM_)!T_3(_7R-%LM_SR) _!DV_!)T%ValueK PPK PPK PPK PPNQ $lse Sstr_Te@tString O Sstr_Te@tStringQ $ndE(fQ (f !llMLM_)!T_3(_7R-%LM_)RS$_)&D$N Then (f !llMSstr_Te@tStringN Then Sstr_Te@tString O Sstr_Te@tString R PK UbIP R LM_)!T_3(_7R-%LM_)RS$_)&D$%Value R PU9bIPQ $lse Sstr_Te@tString O Sc_ob=_Te@t)atalog%getTe@tMPLM_SR) _RSLT_;PK LM_)!T_3(_7R-%LM_)RS$_)&D$%ValueK PPK PPK PPK PPNQ $ndE(fQ $lse Sstr_Te@tString O Sstr_Te@tStringQ $ndE(fQ (f !llMLM_)!T_3(_7R-%LM_SR) _!DV_D$S)RN Then (f !llMSstr_Te@tStringN Then Sstr_Te@tString O Sstr_Te@tString R PK UbIP R LM_)!T_3(_7R-%LM_SR) _!DV_D$S)R%Value R PU9bIPQ $lse Sstr_Te@tString O Sstr_Te@tString R P UbIP R LM_)!T_3(_7R-%LM_SR) _!DV_D$S)R%Value R PU9bIPQ $ndE(fQ $lse Sstr_Te@tString O Sstr_Te@tStringQ $ndE(fQ $lse (f !llMLM_)!T_3(_7R-%LM_SR) _0!S_!)TN Then Sstr_Te@tString O Sc_ob=_Te@t)atalog%getTe@tMPLM_SR) _RSLT_;PK LM_)!T_3(_7R-%LM_SR) _0!S_!)T%ValueK PPK PPK PPK PPNQ $lse

Sstr_Te@tString O PPQ $ndE(fQ $ndE(fQ Sstr_SearchString O Sstr_SearchString R P P R Sstr_Te@tString R PU9SP!"IU9D(VIPQ Return Sstr_SearchStringQ endEmethodQ method set!dvancedSearchMessage 9C Returns String C9 Local string Sstr_Te@tStringQ Sstr_Te@tString O Sc_ob=_Te@t)atalog%getTe@tMPLM_SR) _!DV_MS#PK PPK PPK PPK PPK PPNQ Return Sstr_Te@tStringQ endEmethodQ method resetSearch)riteria Local Ro'set Srs_ResultRS;Q LM_3(_SR) LM_3(_SR) LM_3(_SR) LM_3(_SR) LM_SR) LM_SR) LM_SR) LM_SR) _7R-%LM_)!T#_(D O ,Q _7R-%LM_&0:V_(D O ,Q _7R-%LM_("STR_(D O ,Q _7R-%LM_DMT D_(D O ,Q

_DR&P_7-%LM_)!T#_(D O ,Q _DR&P_7-%LM_&0:V_(D O ,Q _DR&P_7-%LM_("STR_(D O ,Q _DR&P_7-%LM_2)LT*_(D O ,Q

LM_)!T_3(_7R-%L!"#3!#$_)D O PPQ LM_)!T_3(_7R-%LM_)RS$_)&D$ O PPQ LM_3(_SR) _7R-%LM_!)TPR#_T*P$ O P,PQ SetDefaultMLM_)!T_3(_7R-%LM_SR) _2R&M_DTNQ SetDefaultMLM_)!T_3(_7R-%LM_SR) _T&_DTNQ LM_)!T_3(_7R-%LM_SR) _!DV_!)T O PPQ LM_)!T_3(_7R-%LM_SR) _0!S_!)T O PPQ LM_)!T_3(_7R-%LM_SR) _!DV_D$S)R O PPQ LM_3(_SR) _7R-%LM_2)LT*_(D O ,Q LM_)!T_3(_7R-%LM_SR) _R$S3LTS_#0%Visible O 2alseQ LM_)!T_3(_7R-%LM_SR) _"&_R$S3LTS%Visible O 2alseQ SResults2ound O PPQ Srs_ResultRS; O #etLevel,MNM+N%#etRo'setMScroll%LM_V$R_DRV_V7NQ Srs_ResultRS;% ide!llRo'sMNQ endEmethodQ method transferTo0asicSearch SSearch_Type O P0PQ LM_3(_SR) _7R-%LM_)!T#_(D O ,Q LM_3(_SR) _7R-%LM_&0:V_(D O ,Q LM_3(_SR) _7R-%LM_("STR_(D O ,Q LM_3(_SR) _7R-%LM_DMT D_(D O ,Q LM_)!T_3(_7R-%L!"#3!#$_)D O PPQ SetDefaultMLM_)!T_3(_7R-%LM_SR) _2R&M_DTNQ SetDefaultMLM_)!T_3(_7R-%LM_SR) _T&_DTNQ LM_)!T_3(_7R-%LM_SR) _0!S_!)T%Value O LM_)!T_3(_7R-%LM_SR) _!DV_!)T%ValueQ LM_)!T_3(_7R-%LM_SR) _!DV_!)T O PPQ

(f "oneMLM_)!T_3(_7R-%LM_SR) _0!S_!)T%ValueN Then LM_)!T_3(_7R-%LM_SR) _0!S_!)T%Value O LM_)!T_3(_7R-%LM_SR) _!DV_D$S)R%ValueQ $ndE(fQ LM_)!T_3(_7R-%LM_SR) _!DV_D$S)R O PPQ LM_3(_SR) _7R-%LM_2)LT*_(D O ,Q SResults2ound O PPQ LM_SR) _7R-%LM_!DV_SR) _T(P%Visible O 2alseQ LM_)!T_3(_7R-%LM_SR) _!DV_2L#%Visible O TrueQ $valuate /)omponent 7hen )omponent%LM_SS_LR"_R$Q 7hen )omponent%LM_MSS_LR"_R$Q 9L SS >FDF;,8 Start of code changesL9 7hen )omponent%LM_!DM_LRQ_SR) 9L $nd SS >FDF;,L9 TransferPageMPage%LM_)(_S$!R) NQ 0reaHQ 7henE&ther TransferPageMPage%LM_S$!R) NQ $ndE$valuateQ endEmethodQ method transferTo!dvanceSearch /This%set!dvancedSearch&ptionsMNQ $valuate /)omponent 7hen )omponent%LM_SS_LR"_R$Q 7hen )omponent%LM_MSS_LR"_R$Q 9L SS >FDF;,8 Start of code changesL9 7hen )omponent%LM_!DM_LRQ_SR) 9L $nd SS >FDF;,L9 TransferPageMPage%LM_)(_S$!R) NQ 0reaHQ 7henE&ther TransferPageMPage%LM_S$!R) NQ $ndE$valuateQ endEmethodQ method save(M(nfo 9C Srec_p(M_(nfo as Record C9 9C Returns "umber C9 Local LM_D08D0!ccess Sob=_D0!ccess O create LM_D08D0!ccessMNQ Local number Snbr_Person(DK SreturnQ SQL$@ecMPSelect LM_P$RS&"_(D 2rom /TableMLM_(M_R$)N 7here LM_P$RS&"_(D O 8+PK Srec_p(M_(nfo%LM_P$RS&"_(D%ValueK Snbr_Person(DNQ (f !llMSnbr_Person(DN Then Sreturn O Sob=_D0!ccess%DeleteMSrec_p(M_(nfoNQ Sreturn O Sob=_D0!ccess%(nsertMSrec_p(M_(nfoNQ $lse Sreturn O Sob=_D0!ccess%(nsertMSrec_p(M_(nfoNQ $ndE(fQ Return SreturnQ endEmethodQ 9LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL9 9LLLL Save )alendar info LLLL9 9LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL9 method save)alendar(nfo 9C Srec_p)alendar_(nfo as Record C9 9C Returns "umber C9 Local LM_D08D0!ccess Sob=_D0!ccess O create LM_D08D0!ccessMNQ Local number Snbr_Person(DK Snbr_Vendor(DK SreturnQ Local string Sstr_3ser(dQ

SQL$@ecMPSelect LM_P$RS&"_(DK RS_V$"D&R_(DK LM_3S$R(D 2rom /TableM RS_)!L_3S$RN 7here LM_P$RS&"_(D O 8+ !nd RS_V$"D&R_(D O 8; !"D LM_3S$R(D O 84PK Srec_p)alendar_(nfo%LM_P$RS&"_(D%ValueK Srec_p)alendar_(nfo% RS_V$"D&R_(D%ValueK Srec_p)alendar_(nfo%LM_3S$R(D%ValueK Snbr_Person(DK Snbr_Vendor(DK Sstr_3ser(dNQ (f !llMSnbr_Person(DK Snbr_Vendor(DK Sstr_3ser(dN Then Sreturn O Sob=_D0!ccess%DeleteMSrec_p)alendar_(nfoNQ Sreturn O Sob=_D0!ccess%(nsertMSrec_p)alendar_(nfoNQ $lse Sreturn O Sob=_D0!ccess%(nsertMSrec_p)alendar_(nfoNQ $ndE(fQ Return SreturnQ endEmethodQ method submitSearchPreferences Local Local Local Local Local Local Record Srec_lrnsearchK Srec_LM_(M_R$)K Srec_LM_)!L_R$)Q boolean Sbol_is3pdateSuccQ L$)S_S$!R) 8Search)ontroller Sob=_Srch)ontrollerQ number Snbr_returnK Snbr_Ro'K ScountQ Ro'set Srs_)al(nfoQ Ro' Sro'_resultsQ

Sob=_Srch)ontroller O create L$)S_S$!R) 8Search)ontrollerMNQ Srec_lrnsearch O )reateRecordMRecord%LM_L$!R"$R_SR) NQ Srec_lrnsearch%LM_P$RS&"_(D%Value O LM_&PR(D_(D_V7%LM_P$RS&"_(DQ Srec_lrnsearch%L!"#3!#$_)D%Value O LM_L$!R"$R_SR) %L!"#3!#$_)DQ Srec_lrnsearch%LM_SR) _P!#$%Value O LM_L$!R"$R_SR) %LM_SR) _P!#$Q Srec_lrnsearch%LM_R&7S_D(SP%Value O LM_L$!R"$R_SR) %LM_R&7S_D(SPQ Srec_lrnsearch%LM_DMT D_T*P$_(D%Value O LM_L$!R"$R_SR) %LM_DMT D_T*P$_(DQ Srec_lrnsearch%LM_PR&#R!M_D(SPL!*%Value O LM_L$!R"$R_SR) %LM_PR&#R!M_D(SPL!*Q Sbol_is3pdateSucc O Sob=_Srch)ontroller%doSubmitLearnerPreferencesMSrec_lrnsearchNQ 9L Save (M Settings L9 Srec_LM_(M_R$) O #etRecordMRecord%LM_(M_R$)NQ Srec_LM_(M_R$)%LM_P$RS&"_(D%Value O LM_&PR(D_(D_V7%LM_P$RS&"_(DQ Srec_LM_(M_R$)%3S$R_&PR(D%Value O LM_(M_R$)%3S$R_&PR(DQ Srec_LM_(M_R$)%M)2(MD&M!("%Value O LM_(M_R$)%M)2(MD&M!("Q Srec_LM_(M_R$)%LM_$"!0L$_(M%Value O LM_(M_R$)%LM_$"!0L$_(MQ Srec_LM_(M_R$)%M)2(M3S$R!"D"$T%Value O LM_(M_R$)%3S$R_&PR(D R PVP R LM_(M_R$)%M)2(MD&M!("Q Snbr_return O /This%save(M(nfoMSrec_LM_(M_R$)NQ 9L Save )alendar Settings L9 Srs_)al(nfo O #etLevel,MNM+N%#etRo'setMScroll% RS_)!L_3S$RNQ 2or Snbr_Ro' O + To Srs_)al(nfo%!ctiveRo')ount Srec_LM_)!L_R$) O )reateRecordMRecord% RS_)!L_3S$RNQ Srec_LM_)!L_R$)%LM_P$RS&"_(D%Value O LM_&PR(D_(D_V7%LM_P$RS&"_(DQ Srec_LM_)!L_R$)% RS_V$"D&R_(D%Value O Srs_)al(nfo%#etRo'MSnbr_Ro'N% RS_)!L_3S$R% RS_V$"D&R_(D%ValueQ Srec_LM_)!L_R$)%LM_3S$R(D%Value O Srs_)al(nfo%#etRo'MSnbr_Ro'N% RS_)!L_3S$R%LM_3S$R(D%ValueQ Srec_LM_)!L_R$)%LM_P!SS7&RD%Value O Srs_)al(nfo%#etRo'MSnbr_Ro'N% RS_)!L_3S$R%LM_P!SS7&RD%ValueQ Srec_LM_)!L_R$)%LM_P!SS7&RD%Value O $ncryptMPPK RTrimMLTrimMSrs_)al(nfo%#etRo'MSnbr_Ro'N% RS_)!L_3S$R%LM_P!SS7&RD%ValueNNNQ Srec_LM_)!L_R$)%LM_$"!0L$_)!L%Value O Srs_)al(nfo%#etRo'MSnbr_Ro'N% RS_)!L_3S$R%LM_$"!0L$_)!L%ValueQ (f !llMSrec_LM_)!L_R$)% RS_V$"D&R_(D%ValueN Then Snbr_return O /This%save)alendar(nfoMSrec_LM_)!L_R$)NQ $ndE(fQ $ndE2orQ

endEmethodQ method paintSearchPage Local string Sstr_srchTypeK Sstr_7here)lauseQ Local L$0L_S$!R) )!T!L&#8Search)atalog Sob=_srch)atgQ Local Ro'set Sresult_rs;Q Local !pi&b=ect SSearchResults)ollPQ Local string Sstr_RunSearchQ Local LM_3(_3T(L(T*83(3tility Scls_l3(3tility O create LM_3(_3T(L(T*83(3tilityMNQ Local L$)S_S$!R) 8Search3tilities Sob=_srch3tility O create L$)S_S$!R) 8Search3tilitiesMNQ LM_P!#$_7R-%LM_P!#$_T(TL$ O Msg#etTe@tM+>,>>K 6K PPNQ Sstr_7here)lause O P7 $R$ LM_R$Q3$ST&R_(DOP R LM_&PR(D_(D_V7%LM_P$RS&"_(D%ValueQ Scls_l3(3tility%handleDropDo'n!ndPromptM#etRecordMRecord%LM_SR) _DR&P_7-N%LM_)!T#_ (DK #etRecordMRecord%LM_3(_SR) _7R-N%LM_)!T#_(DK #etRecordMRecord%LM_)!T#_3(_V7N%LM_)S_L&"#_"MK PLM_)!T#_(DPK PLM_)S_L&"#_"MPK Sstr_7here)lauseNQ Scls_l3(3tility%handleDropDo'n!ndPromptM#etRecordMRecord%LM_SR) _DR&P_7-N%LM_2)LT* _(DK #etRecordMRecord%LM_3(_SR) _7R-N%LM_2)LT*_(DK #etRecordMRecord%LM_2)LT*_3(_V7N%LM_2)LT*K PLM_2)LT*_(DPK PLM_2)LT*PK PPNQ Scls_l3(3tility%handleDropDo'n!ndPromptM#etRecordMRecord%LM_SR) _DR&P_7-N%LM_("STR _(DK #etRecordMRecord%LM_3(_SR) _7R-N%LM_("STR_(DK #etRecordMRecord%LM_3(_("STR_V7+N%LM_"!M$_D(SPL!*K PLM_("STR_(DPK PLM_"!M$_D(SPL!*PK PPNQ Scls_l3(3tility%handleDropDo'n!ndPromptM#etRecordMRecord%LM_SR) _DR&P_7-N%LM_&0:V_ (DK #etRecordMRecord%LM_3(_SR) _7R-N%LM_&0:V_(DK #etRecordMRecord%LM_&0:V_3(_V7N%LM_&0:V_D$S)K PLM_&0:V_(DPK PLM_&0:V_D$S)PK PPNQ /This%setTe@t)atalog$ntriesMNQ Sstr_srchType O /This%set)atalogTypeandDefaultsMNQ /This%setLearnerPreferencesMNQ /This%setSearchTypeDefaultsMNQ /This%set0asicSearchDefaultsMNQ /This%setPrevPageLnHMNQ /This%hide(fLearningPlanSearch)omponentMNQ /This%get)ache&b=ectMNQ 9LLL (f M/Page UI PLM_)(_S$!R) PN Then (f SSearch_Type O P!P Then Set)ursorPosMPage%LM_S$!R) K LM_)!T_3(_7R-%LM_SR) _!DV_!)TK )urrentRo'"umberMNNQ $lse Set)ursorPosMPage%LM_S$!R) K LM_)!T_3(_7R-%LM_SR) _0!S_!)TK )urrentRo'"umberMNNQ $ndE(fQ $ndE(fQ LLL9 (f Sc_rs_SrchRslt O "ull Then Sbol_is)oming2rom)ache O 2alseQ $lse LM_)!T_3(_7R-%LM_SR) _0!S_!)T%Value O Sc_rs_SrchRsltM+N%LM_ M_SR) _7R-%LM_SR) _0!S_!)T%ValueQ LM_3(_SR) _7R-%LM_&0:V_(D%Value O Sc_rs_SrchRsltM+N%LM_ M_SR) _7R-%LM_&0:V_(D%ValueQ SSearch_Type O Sc_rs_SrchRsltM+N%LM_ M_SR) _7R-%LM_SR) _T*P$%ValueQ (f SSearch_Type UI P0P Then LM_)!T_3(_7R-%LM_SR) _!DV_!)T%Value O Sc_rs_SrchRsltM+N%LM_ M_SR) _7R-%LM_SR) _0!S_!)T%ValueQ

$ndE(fQ Sc_str_Srch)atg O Sc_rs_SrchRsltM+N%LM_ M_SR) _7R-%LM_0!S_SR) _T*P$%ValueQ Sstr_RunSearch O Sc_rs_SrchRsltM+N%LM_ M_SR) _7R-%LM_R3"_SR) %ValueQ /This%setSearch)ategoryTypeMSc_str_Srch)atgNQ /This%set#lobalParametersMNQ Sc_rs_SrchRslt O "ullQ Sbol_is)oming2rom)ache O TrueQ /This%setSearchTypeDefaultsMNQ (f Sc_str_Srch)atg O P!LLP Then LM_3(_SR) _7R-%LM_!)TPR#_T*P$%Value O P,PQ LM_3(_SR) _7R-%LM_DMT D_(D%Value O ValueMLM_3(_SR) _7R-%LM_!)TPR#_T*P$%ValueNQ $ndE(fQ /This%setSearchType2rom)acheMNQ rem /This%set!dvancedSearch&ptionsMNQ $ndE(fQ (f !llMSStr_$nroll_for_(DN Then 3n ideMLM_P!#$_7R-%LM_2&RM!TT$D_"MNQ LM_P!#$_7R-%LM_2&RM!TT$D_"M O Sstr_Learner_"ameQ $lse LM_P!#$_7R-%LM_2&RM!TT$D_"M O PPQ ideMLM_P!#$_7R-%LM_2&RM!TT$D_"MNQ $ndE(fQ 9LLL 2i@ bundle; J+6,GF,6,,; LLL9 9LLL M+N Ma@ Ro' is reading from LM_("_D2LT_T0L LLL9 9LLL M;N Display alert message to user if the data in database is more than the number of displayed LLL9 Snbr_ma@_ro's O Sob=_srch3tility%getMa@Ro'MNQ LM_SR) _7R-%LM_$RR_MS#%Visible O 2alseQ LM_SR) _7R-%LM_(M!#$%Visible O 2alseQ 9LLL $nd of fi@ LLL9 (f Sbol_is)oming2rom)ache !nd Sstr_RunSearch UI P"P Then /This%run!utoSearchMNQ Sbol_is)oming2rom)ache O 2alseQ $lse $ndE(fQ /This%setResults2oundMNQ (f "oneMSSearch_TypeN Then SSearch_Type O P0PQ $ndE(fQ (f M/Page UI PLM_)(_S$!R) PN Then (f SSearch_Type O P!P Then Set)ursorPosMPage%LM_S$!R) K LM_3(_SR) _7R-%LM_!)TPR#_T*P$NQ $lse Set)ursorPosMPage%LM_S$!R) K LM_SR) _7R-%LM_0!S_SR) _(TMNQ $ndE(fQ $ndE(fQ endEmethodQ method setLearnerPreferences Local Record Srec_LrnSearchQ Local boolean Sbol_is3pdateSuccQ Local L$)S_S$!R) 8Search)ontroller Sob=_Srch)ontrollerQ Sob=_Srch)ontroller O create L$)S_S$!R) 8Search)ontrollerMNQ Srec_LrnSearch O Sob=_Srch)ontroller%getLearnerSearchPreferencesMLM_&PR(D_(D_V7%LM_P$RS&"_(D%ValueN Q (f !llMSrec_LrnSearch%L!"#3!#$_)D%ValueN Then

LM_L$!R"$R_SR) %L!"#3!#$_)D O Srec_LrnSearch%L!"#3!#$_)D%ValueQ $ndE(fQ (f !llMSrec_LrnSearch%LM_SR) _P!#$%ValueN Then LM_L$!R"$R_SR) %LM_SR) _P!#$ O Srec_LrnSearch%LM_SR) _P!#$%ValueQ $ndE(fQ (f !llMSrec_LrnSearch%LM_R&7S_D(SP%ValueN Then LM_L$!R"$R_SR) %LM_R&7S_D(SP O Srec_LrnSearch%LM_R&7S_D(SP%ValueQ $ndE(fQ (f !llMSrec_LrnSearch%LM_DMT D_T*P$_(D%ValueN Then LM_3(_SR) _7R-%LM_!)TPR#_T*P$ O Srec_LrnSearch%LM_DMT D_T*P$_(D%ValueQ LM_L$!R"$R_SR) %LM_DMT D_T*P$_(D O Srec_LrnSearch%LM_DMT D_T*P$_(D%ValueQ $ndE(fQ (f !llMLM_L$!R"$R_SR) %LM_R&7S_D(SPN Then $valuate LM_L$!R"$R_SR) %LM_R&7S_D(SP 7hen P!P Snbr_ro's O +6 7hen P0P Snbr_ro's O ;6 7hen P)P Snbr_ro's O 6, 7hen PDP Snbr_ro's O +,, 7hen P$P Snbr_ro's O +6, 7hen P2P Snbr_ro's O ;,, $ndE$valuate $lse Snbr_ro's O 6, $ndE(fQ endEmethodQ method setPrevPageLnH 9L Display the linH 1Return to Previous Page1 if the Search )atalog component is called from another component% This 'ill allo' to return to the calling program% L9 Local Record Srec_lLM_)!T_3(_7R- O #etLevel,MNM+N%LM_)!T_3(_7R-Q (f (sModal)omponentMN Then Srec_lLM_)!T_3(_7R-%LM_PR$V_P!#$_L"-%Visible O TrueQ $lse Srec_lLM_)!T_3(_7R-%LM_PR$V_P!#$_L"-%Visible O 2alseQ $ndE(fQ endEmethodQ method hide(fLearningPlanSearch)omponent $valuate /)omponent 7hen )omponent%LM_LPL"_S$!R) #etLevel,MNM+N%LM_SR) _7R-%LM_R$Q_LR"#_0T"%Visible O 2alseQ #etLevel,MNM+N%LM_SR) _7R-%LM_0R7S$_)!T#_0T"%Visible O 2alseQ 7henE&ther $ndE$valuateQ endEmethodQ method setSearchTypeDefaults Local 2ield SfieldK Sfld_L#RPQ (f SSearch_Type O P!P Then Sfield O #et2ieldMLM_)!T_3(_7R-%LM_SR) _0!S()_2L#NQ Sfield%Visible O 2alseQ Sfield O #et2ieldMLM_)!T_3(_7R-%LM_SR) _!DV_2L#NQ Sfield%Visible O TrueQ

(f !llMLM_L$!R"$R_SR) %L!"#3!#$_)DN Then LM_)!T_3(_7R-%L!"#3!#$_)D O LM_L$!R"$R_SR) %L!"#3!#$_)DQ $ndE(fQ (f !llMLM_L$!R"$R_SR) %LM_DMT D_T*P$_(DN Then LM_3(_SR) _7R-%LM_DMT D_(D O LM_L$!R"$R_SR) %LM_DMT D_T*P$_(DQ LM_3(_SR) _7R-%LM_!)TPR#_T*P$ O StringMLM_L$!R"$R_SR) %LM_DMT D_T*P$_(DNQ $ndE(fQ LM_)!T_3(_7R-%LM_SR) _03TT&"%Label O LM_)!T_3(_7R-%LM_SR) _03TT&"%#etShortLabelMPLM_SR) _03TT&"PNQ Set)ursorPosM/PageK LM_)!T_3(_7R-%LM_SR) _!DV_!)TK )urrentRo'"umberMNNQ $lse (f SSearch_Type O P0P Then Sfield O #et2ieldMLM_)!T_3(_7R-%LM_SR) _0!S()_2L#NQ Sfield%Visible O TrueQ Sfield O #et2ieldMLM_)!T_3(_7R-%LM_SR) _!DV_2L#NQ Sfield%Visible O 2alseQ LM_)!T_3(_7R-%LM_SR) _2R&M_DT%Value O PPQ $lse (f LM_L$!R"$R_SR) %LM_SR) _P!#$ O P!P Then Sfield O #et2ieldMLM_)!T_3(_7R-%LM_SR) _0!S()_2L#NQ Sfield%Visible O 2alseQ Sfield O #et2ieldMLM_)!T_3(_7R-%LM_SR) _!DV_2L#NQ Sfield%Visible O TrueQ SSearch_Type O P!PQ (f !llMLM_L$!R"$R_SR) %L!"#3!#$_)DN Then LM_)!T_3(_7R-%L!"#3!#$_)D O LM_L$!R"$R_SR) %L!"#3!#$_)D $ndE(fQ (f !llMLM_L$!R"$R_SR) %LM_DMT D_T*P$_(DN Then LM_3(_SR) _7R-%LM_DMT D_(D O LM_L$!R"$R_SR) %LM_DMT D_T*P$_(DQ LM_3(_SR) _7R-%LM_!)TPR#_T*P$ O StringMLM_L$!R"$R_SR) %LM_DMT D_T*P$_(DNQ $ndE(fQ Set)ursorPosM/PageK LM_)!T_3(_7R-%LM_SR) _!DV_!)TK )urrentRo'"umberMNNQ $lse Sfield O #et2ieldMLM_)!T_3(_7R-%LM_SR) _0!S()_2L#NQ Sfield%Visible O TrueQ Sfield O #et2ieldMLM_)!T_3(_7R-%LM_SR) _!DV_2L#NQ Sfield%Visible O 2alseQ SSearch_Type O P0PQ LM_)!T_3(_7R-%LM_SR) _2R&M_DT%Value O PPQ $ndE(fQ $ndE(fQ $ndE(fQ endEmethodQ method set#lobalParameters (f !llMSc_rs_SrchRsltM+N%LM_ M_SR) _7R-%LM_P$RS&"_(D%ValueN Then SStr_$nroll_for_(D O Sc_rs_SrchRsltM+N%LM_ M_SR) _7R-%LM_P$RS&"_(D%ValueQ $ndE(fQ (f !llMSc_rs_SrchRsltM+N%LM_ M_SR) _7R-%LM_SR) _LR"R_"M%ValueN Then Sstr_Learner_"ame O Sc_rs_SrchRsltM+N%LM_ M_SR) _7R-%LM_SR) _LR"R_"M%ValueQ $ndE(fQ endEmethodQ method run!utoSearch Local Ro'set Sdm_ro'setK Srs_L#RPK SRSRe.DescrsK Srs_tempQ Local Ro' Sro'_L#RPK Sro'_resultsQ Local Record Srec_L#RPQ Local number SiK Snbr_ci_idQ Local 2ield SfieldK Sfld_L#RPQ Local string Sstr_Lnr_#rpQ Local !pi&b=ect SSearchResults)ollaQ Local !pi&b=ect SSearchResultQ Local string S0asic_TitleK S0asic_DescrK S!dv_TitleK S!dv_DescrK SLang_)dK S)ategoryK S&b=vK S(nsturctorK SLM_)S_D$S)RK SLM_!DV_D$S)RK SLM_0!S_D$S)RK

SLM_DM_S RT_"MK Sstr_person_idK SLM_)S_L&"#_"MK SurlstringK Sstr_Delivery_MethodK Sstr_catg_idK Sstr_ob=_idK Sstr_2acility_(DK Sstr_adv_actK Sstr_bas_actK SLM_)RS$_)&D$K Sstr_)rse_)odeQ Local date S2rom_DtK STo_DtQ Local number Snbr_Delivery_MethodK ScountK SLM_)(_(DK SPrev_Delivery_MethodK SPrev_LM_)(_(DK SPrev_DMT DK SfullcountK SfullcountminusoneK S@K Snbr_tempro'Q Local array of number Sary_)atlg_(temsK Sary_pop_catlg_itemsQ Local Record Srec_ciK Srec_'rHQ Local L$)S_S$!R) 8Search)ontroller Sob=_Srch)ontrollerQ Local L$)S_S$!R) 8)atalogSearch)riteria0ean Sob=_)atalogSrch0eanQ Sob=_Srch)ontroller O create L$)S_S$!R) 8Search)ontrollerMNQ (f SSearch_Type O P0P Then $valuate Sc_str_Srch)atg 7hen P!)TP SResults2ound O P"PQ /This%run0asic!ctivitySearchMNQ 0reaHQ 7hen P(TMP SResults2ound O P"PQ /This%run0asic)(SearchMNQ 0reaHQ 7hen PPR#P SResults2ound O P"PQ SResult_rs O #etLevel,MNM+N%#etRo'setMScroll%LM_V$R_DRV_V7NQ SResult_rs%2lushMNQ Srs_scroll_results O )reateRo'setMSResult_rsNQ Srs_scroll_results%2lushMNQ /This%runProgramSearchMNQ 0reaHQ 7hen P!LLP SResults2ound O P"PQ (f SSearch_Type O P!P Then /This%run0asic!llSearchMP!LLPNQ $lse /This%run0asic!llSearchMPPNQ $ndE(fQ 0reaHQ $ndE$valuateQ $lse SResults2ound O P"PQ (f Sc_str_Srch)atg O P!P &r Sc_str_Srch)atg O P!LLP Then (f !llMLM_3(_SR) _7R-%LM_("STR_(D%ValueN Then Sc_str_Srch)atg O P!PQ $ndE(fQ /This%run0asic!llSearchMSc_str_Srch)atgNQ $lse LM_)R_7R-%LM_PR#_T*P$%Value O LM_3(_SR) _7R-%LM_!)TPR#_T*P$%ValueQ SResult_rs O #etLevel,MNM+N%#etRo'setMScroll%LM_V$R_DRV_V7NQ SResult_rs%2lushMNQ Srs_scroll_results O )reateRo'setMSResult_rsNQ Srs_scroll_results%2lushMNQ /This%runProgramSearchMNQ $ndE(fQ $ndE(fQ 9L end of if for SSearch_TypeL9 (f SSearch_Type O P!P Then LM_SR) _7R-%LM_!DV_SR) _T(P%Visible O TrueQ /This%build!dvancedSearch)riteriaTipMNQ $lse LM_SR) _7R-%LM_!DV_SR) _T(P%Visible O 2alseQ $ndE(fQ endEmethodQ method set)atalogTypeandDefaults 9C Returns String C9 Local L$M_3T(L(T($S83tility Sob=_3tilsQ

Local string Sstr_srchTypeQ Local Ro'set Sresult_rs;Q (f Sary_PrgType O "ull Then Sary_PrgType O )reate!rrayReptMPPK ,NQ $ndE(fQ Sob=_3tils O create L$M_3T(L(T($S83tilityMNQ LM_)!T_3(_7R-%LM_R$Q3$ST&R_(D%Value O LM_&PR(D_(D_V7%LM_P$RS&"_(D%ValueQ (f Sob=_3tils%(sStringPresentMLM_3(_SR) _7R-%LM_!)TPR#_T*P$%ValueK Sary_PrgTypeN Then Sstr_srchType O PPPQ $lse (f LM_3(_SR) _7R-%LM_!)TPR#_T*P$%Value O P,P Then Sstr_srchType O P!LLPQ $lse Sstr_srchType O P!PQ $ndE(fQ $ndE(fQ R$M 2i@ing the issue8 'hen navigating to other pagesK then return to this search pageK brought bacH different result setQ (f !llMLM_3(_SR) _7R-%LM_("STR_(D%ValueN Then Sstr_srchType O P!PQ $ndE(fQ (f Sstr_srchType O P!P &r Sstr_srchType O P!LLP Then LM_)R_7R-%LM_PR#_T*P$%Visible O 2alseQ LM_2)LT*_3(_V7%LM_2)LT*%$nabled O TrueQ LM_)!T_3(_7R-%L!"#3!#$_)D%$nabled O TrueQ LM_)!T_3(_7R-%LM_SR) _2R&M_DT%$nabled O TrueQ LM_)!T_3(_7R-%LM_SR) _T&_DT%$nabled O TrueQ LM_)R_7R-%LM_V($7_)&MPL%Label O Msg#etTe@tM+>,>>K 4+K PMessage not foundPNQ $lse LM_)R_7R-%LM_PR#_T*P$%Visible O 2alseQ LM_2)LT*_3(_V7%LM_2)LT*%$nabled O 2alseQ LM_)!T_3(_7R-%L!"#3!#$_)D%$nabled O 2alseQ LM_)!T_3(_7R-%LM_SR) _2R&M_DT%Value O PPQ LM_)!T_3(_7R-%LM_SR) _2R&M_DT%$nabled O 2alseQ LM_)!T_3(_7R-%LM_SR) _T&_DT%$nabled O 2alseQ LM_)R_7R-%LM_V($7_)&MPL%Label O P PQ LM_)R_7R-%LM_PR#_STTS%Label O P PQ $ndE(fQ Return Sstr_srchTypeQ endEmethodQ method setResults2ound $valuate SResults2ound 7hen O P*P LM_)!T_3(_7R-%LM_SR) _R$S3LTS_#0%Visible O TrueQ LM_)!T_3(_7R-%LM_SR) _"&_R$S3LTS%Visible O 2alseQ LM_SR) _7R-%LM_SR) _RSLTS_#P0%Visible O TrueQ LM_)!T_3(_7R-%LM_SR) _S)R&LL%Visible O TrueQ LM_)!T_3(_7R-%LM_SR) _"$5T%Visible O TrueQ LM_)!T_3(_7R-%LM_SR) _PR$V(&3S%Visible O TrueQ (f SSearch_Type O P!P Then LM_SR) _7R-%LM_SR) _!DVMS#_#P0%Visible O TrueQ 9L SS >FDF;,8 Start of code changesL9 rem LM_SR) _!DV_MS#%Value O /This%set!dvancedSearchMessageMNQ rem LM_)!T_3(_7R-%LM_SR) _!DV_2L#%Visible O 2alseQ 9L"08>><,4D StartsL9 LM_SR) _7R-%LM_SR) _!DV_MS#%Value O /This%set!dvancedSearchMessageMNQ rem LM_)!T_3(_7R-%LM_SR) _!DV_2L#%Visible O TrueQ LM_)!T_3(_7R-%LM_SR) _!DV_2L#%Visible O 2alseQ 9L"08>><,4D $ndsL9 9L $nd SS >FDF;,L9 LM_SR) _7R-%LM_!DV_SR) _T(P%Visible O TrueQ

$lse LM_SR) _7R-%LM_SR) _!DVMS#_#P0%Visible O 2alseQ LM_SR) _7R-%LM_!DV_SR) _T(P%Visible O 2alseQ $ndE(fQ 0reaHQ 7hen O P"P LM_)!T_3(_7R-%LM_SR) _R$S3LTS_#0%Visible O 2alseQ LM_)!T_3(_7R-%LM_SR) _"&_R$S3LTS%Visible O TrueQ LM_SR) _7R-%LM_SR) _RSLTS_#P0%Visible O TrueQ LM_SR) _7R-%LM_!DV_SR) _T(P%Visible O TrueQ LM_)!T_3(_7R-%LM_SR) _S)R&LL%Visible O 2alseQ LM_)!T_3(_7R-%LM_SR) _"$5T%Visible O 2alseQ LM_)!T_3(_7R-%LM_SR) _PR$V(&3S%Visible O 2alseQ LM_SR) _7R-%LM_SR) _!DVMS#_#P0%Visible O 2alseQ (f SSearch_Type O P!P Then LM_SR) _7R-%LM_SR) _!DVMS#_#P0%Visible O TrueQ 9L SS >FDF;,8 Start of code changesL9 rem LM_SR) _!DV_MS#%Value O /This%set!dvancedSearchMessageMNQ rem LM_)!T_3(_7R-%LM_SR) _!DV_2L#%Visible O 2alseQ 9L"08>><,4D StartsL9 LM_SR) _7R-%LM_SR) _!DV_MS#%Value O /This%set!dvancedSearchMessageMNQ rem LM_)!T_3(_7R-%LM_SR) _!DV_2L#%Visible O TrueQ LM_)!T_3(_7R-%LM_SR) _!DV_2L#%Visible O 2alseQ 9L"08>><,4D $ndsL9 9L $nd SS >FDF;,L9 LM_SR) _7R-%LM_!DV_SR) _T(P%Visible O TrueQ $lse LM_SR) _7R-%LM_SR) _!DVMS#_#P0%Visible O 2alseQ LM_SR) _7R-%LM_!DV_SR) _T(P%Visible O 2alseQ $ndE(fQ 0reaHQ 7hen O PP LM_)!T_3(_7R-%LM_SR) _R$S3LTS_#0%Visible O 2alseQ LM_)!T_3(_7R-%LM_SR) _"&_R$S3LTS%Visible O 2alseQ LM_SR) _7R-%LM_SR) _RSLTS_#P0%Visible O 2alseQ LM_SR) _7R-%LM_!DV_SR) _T(P%Visible O 2alseQ LM_SR) _7R-%LM_SR) _!DVMS#_#P0%Visible O 2alseQ (f SSearch_Type O P!P Then LM_)!T_3(_7R-%LM_SR) _!DV_2L#%Visible O TrueQ $ndE(fQ 0reaHQ $ndE$valuateQ endEmethodQ method doSearch Local L$)S_S$!R) 8)atalogSearch)riteria0ean Sob=_)atalogSrch0eanQ Local L$M_3T(L(T($S83tility Sob=_3tilsQ Local string Sstr_srchTypeQ Local L$M_3T(L(T($S8String ashtable Sstr ash_lResult!ctivity(dsQ Local ob=ect SlTemp&b=ectQ rem Local L$M_3T(L(T($S8&b=ect ashtable Scls_cResult(tems ashQ Scls_cResult(tems ash O create L$M_3T(L(T($S8&b=ect ashtableMNQ Sbol_l)(!ctivities)ached O TrueQ Sob=_3tils O create L$M_3T(L(T($S83tilityMNQ Sstr_srchType O /This%set)atalogTypeforSearchMNQ LM_SR) _7R-%LM_$RR_MS#%Visible O 2alseQ LM_SR) _7R-%LM_(M!#$%Visible O 2alseQ (f SSearch_Type O P0P Then $valuate Sc_str_Srch)atg 7hen P!)TP SResults2ound O P"PQ /This%run0asic!ctivitySearchMNQ 0reaHQ 7hen P(TMP SResults2ound O P"PQ /This%run0asic)(SearchMNQ

0reaHQ 7hen PPR#P SResults2ound O P"PQ SResult_rs O #etLevel,MNM+N%#etRo'setMScroll%LM_V$R_DRV_V7NQ SResult_rs%2lushMNQ Srs_scroll_results O )reateRo'setMSResult_rsNQ Srs_scroll_results%2lushMNQ /This%runProgramSearchMNQ 0reaHQ 7hen P!LLP SResults2ound O P"PQ /This%run0asic!llSearchMPPNQ 0reaHQ $ndE$valuateQ $lse SResults2ound O P"PQ (f Sstr_srchType O P!P &r Sstr_srchType O P!LLP Then !f ll;LM_*!_SRCC_%RK8LM_!NSTR_!D8$alue> Then I7 AllHLM_UI_SR(1_!R,ELM_INSTR_IDE alueK Or 6<8900D3 R3 T# re)tr%ct t/e +r#4ram) %" t/e )earc/ re)ult) 7#r t/e L#cat%#" :a)e$ )earc/<6 AllHLM_UI_SR(1_!R,ELM_-(LT2_IDE alueK T/e" <B/arat/ Sstr_srchType O P!PQ $ndE(fQ /This%run0asic!llSearchMSstr_srchTypeNQ $lse LM_)R_7R-%LM_PR#_T*P$%Value O LM_3(_SR) _7R-%LM_!)TPR#_T*P$%ValueQ SResult_rs O #etLevel,MNM+N%#etRo'setMScroll%LM_V$R_DRV_V7NQ SResult_rs%2lushMNQ Srs_scroll_results O )reateRo'setMSResult_rsNQ Srs_scroll_results%2lushMNQ /This%runProgramSearchMNQ $ndE(fQ $ndE(fQ 9L end of if for SSearch_TypeL9 (f SSearch_Type O P!P Then LM_SR) _7R-%LM_!DV_SR) _T(P%Visible O TrueQ /This%build!dvancedSearch)riteriaTipMNQ $lse LM_SR) _7R-%LM_!DV_SR) _T(P%Visible O 2alseQ $ndE(fQ endEmethodQ method set)atalogTypeforSearch 9C Returns String C9 Local L$M_3T(L(T($S83tility Sob=_3tilsQ Local string Sstr_srchTypeQ Local Ro'set Sresult_rs;Q Sob=_3tils O create L$M_3T(L(T($S83tilityMNQ (f Sob=_3tils%(sStringPresentMLM_3(_SR) _7R-%LM_!)TPR#_T*P$%ValueK Sary_PrgTypeN Then Sstr_srchType O PPPQ $lse (f LM_3(_SR) _7R-%LM_!)TPR#_T*P$%Value O P,P Then Sstr_srchType O P!LLPQ $lse Sstr_srchType O P!PQ $ndE(fQ $ndE(fQ Return Sstr_srchTypeQ endEmethodQ

method populatePrograms 9C Returns !pi&b=ect C9 Local L$0L_S$!R) )!T!L&#8Search)atalog Sob=_srch)atgQ Local !pi&b=ect SSearchResults)ollPQ Sob=_srch)atg O create L$0L_S$!R) )!T!L&#8Search)atalogMNQ SSearchResults)ollP O Sob=_srch)atg%populateProgramsMNQ Return SSearchResults)ollPQ endEmethodQ method populate)atalog)riteria0ean 9C Returns L$)S_S$!R) 8)atalogSearch)riteria0ean C9 Local L$)S_S$!R) 8)atalogSearch)riteria0ean Sob=_)atalogSrch0eanQ Local string Sstr_Lnr_#rpQ Sob=_)atalogSrch0ean O create L$)S_S$!R) 8)atalogSearch)riteria0eanMNQ Sob=_)atalogSrch0ean%0asicSearchTitle O 3pperMLM_)!T_3(_7R-%LM_SR) _0!S_!)TNQ Sob=_)atalogSrch0ean%!dvancedSearchTitle O 3pperMLM_)!T_3(_7R-%LM_SR) _!DV_!)TNQ Sob=_)atalogSrch0ean%0asicDescription O 3pperMLM_)!T_3(_7R-%LM_SR) _0!S_!)TNQ Sob=_)atalogSrch0ean%!dvancedDescription O 3pperMLM_)!T_3(_7R-%LM_SR) _!DV_D$S)R%ValueNQ Sob=_)atalogSrch0ean%)ategory(d O LM_3(_SR) _7R-%LM_)!T#_(D%ValueQ Sob=_)atalogSrch0ean%&b=ective(d O LM_3(_SR) _7R-%LM_&0:V_(D%ValueQ Sob=_)atalogSrch0ean%Person(d O LM_3(_SR) _7R-%LM_("STR_(D%ValueQ Sob=_)atalogSrch0ean%DeliveryMethod O LM_3(_SR) _7R-%LM_DMT D_(D%ValueQ Sob=_)atalogSrch0ean%Language)d O 3pperMLM_)!T_3(_7R-%L!"#3!#$_)D%ValueNQ Sob=_)atalogSrch0ean%2romDate O LM_)!T_3(_7R-%LM_SR) _2R&M_DT%ValueQ Sob=_)atalogSrch0ean%ToDate O LM_)!T_3(_7R-%LM_SR) _T&_DT%ValueQ Sob=_)atalogSrch0ean%2acility(d O LM_3(_SR) _7R-%LM_2)LT*_(D%ValueQ Sob=_)atalogSrch0ean%)ourse)ode O 3pperMLM_)!T_3(_7R-%LM_)RS$_)&D$NQ Sob=_)atalogSrch0ean%)atalogType O LM_3(_SR) _7R-%LM_!)TPR#_T*P$%ValueQ Sob=_)atalogSrch0ean%Learner(d O LM_&PR(D_(D_V7%LM_P$RS&"_(D%ValueQ Sob=_)atalogSrch0ean%$nableLRQ O /This%$nableLRQQ Sob=_)atalogSrch0ean%SearchType O P!PQ 9L 5? 2i@ J+6>6>;+,,, L9 Sstr_Lnr_#rp O /This%populatePersonLearner#roupsMLM_&PR(D_(D_V7%LM_P$RS&"_(D%ValueNQ Sob=_)atalogSrch0ean%PersonLearner#roup O Sstr_Lnr_#rpQ Sob=_)atalogSrch0ean%SearchPage)hunH O Snbr_ma@_ro'sQ Sob=_)atalogSrch0ean%SearchStart"umber O +Q Return Sob=_)atalogSrch0eanQ endEmethodQ method validateSearch)riteria 9C Sob=_p)atgSrch0ean as L$)S_S$!R) 8)atalogSearch)riteria0ean C9 9C Returns 0oolean C9 Local boolean Sbol_$rrors2oundQ Local string Sstr_!dvSrchTitleK Sstr_0asicSrchTitleK Sstr_0asicDescrK Sstr_!dvDescrK Sstr_)ource)dK Sstr_)atalogTypeK Sstr_LangcdQ Local number Snbr_)ategory(dK Snbr_&b=v(dK Snbr_Person(dK Snbr_DlvryMthd(dK Snbr_2clty(dQ Local date Sdt_ToDateK Sdt_frmDateQ Sstr_!dvSrchTitle O Sob=_p)atgSrch0ean%!dvancedSearchTitleQ Sstr_0asicSrchTitle O Sob=_p)atgSrch0ean%0asicSearchTitleQ Sstr_0asicDescr O Sob=_p)atgSrch0ean%0asicDescriptionQ Sstr_!dvDescr O Sob=_p)atgSrch0ean%!dvancedDescriptionQ Snbr_)ategory(d O Sob=_p)atgSrch0ean%)ategory(dQ Snbr_&b=v(d O Sob=_p)atgSrch0ean%&b=ective(dQ Snbr_Person(d O Sob=_p)atgSrch0ean%Person(dQ Snbr_DlvryMthd(d O Sob=_p)atgSrch0ean%DeliveryMethodQ Sstr_Langcd O Sob=_p)atgSrch0ean%Language)dQ Sdt_ToDate O Sob=_p)atgSrch0ean%ToDateQ Sdt_frmDate O Sob=_p)atgSrch0ean%2romDateQ Snbr_2clty(d O Sob=_p)atgSrch0ean%2acility(dQ

Sstr_)ource)d O Sob=_p)atgSrch0ean%)ourse)odeQ Sstr_)atalogType O Sob=_p)atgSrch0ean%)atalogTypeQ (f "oneMSstr_!dvSrchTitleK Sstr_0asicSrchTitleK Sstr_0asicDescrK Sstr_!dvDescrK Snbr_)ategory(dK Snbr_&b=v(dK Snbr_Person(dK Snbr_DlvryMthd(dK Sstr_LangcdK Sdt_ToDateK Sdt_frmDateK Snbr_2clty(dK Sstr_)ource)dK Sstr_)atalogTypeN Then Sbol_$rrors2ound O TrueQ LM_)!T_3(_7R-%LM_SR) _R$S3LTS_#0%Visible O 2alseQ LM_SR) _7R-%LM_SR) _RSLTS_#P0%Visible O 2alseQ LM_SR) _7R-%LM_!DV_SR) _T(P%Visible O 2alseQ LM_)!T_3(_7R-%LM_SR) _"&_R$S3LTS%Visible O TrueQ Message0o@M,K PPK +>,>>K +>K PPNQ $ndE(fQ Return Sbol_$rrors2oundQ endEmethodQ method populatePersonLearner#roups 9C Snbr_Person(d as "umber C9 9C Returns String C9 Local Local Local Local string Sstr_Lrnr#rpQ Ro' Sro'_L#RPQ Record Srec_L#RPQ number SiQ

9L start code changes for Resolution >4;>;F L9 Local Ro'set Srs_grpcritQ Local number ScmblrnrgpidQ Local number SresultpersQ Local Ro'set Srs_subgrpcritQ Local number S=K SHK Sn_andoperandQ Local string SandoperandQ 9LStartE)ode !dded to fi@ the performance issue 'ith search )atalogJ >F,DF< !3L9 Local SQL S)omlrgps.lQ 9L$ndE)ode !dded to fi@ the performance issue 'ith search )atalogJ >F,DF< !3L9 Local number Slimi)ountQ Slimi)ount O ,Q 9L end code changes for Resolution >4;>;F L9 (f Sc_rs_PrsnLrnr#rp O "ull &r Sc_rs_PrsnLrnr#rpMSc_rs_PrsnLrnr#rp%!ctiveRo')ountN%LM_P$RS_L#RP_V7%LM_LR"R_#R&3P_ (D%Value I , Then Sc_rs_PrsnLrnr#rp O )reateRo'setMRecord%LM_P$RS_L#RP_V7NQ Local L$)S_S$!R) 8Search)ontroller Sob=_Srch)ontrollerQ Sob=_Srch)ontroller O create L$)S_S$!R) 8Search)ontrollerMNQ Sc_rs_PrsnLrnr#rp O Sob=_Srch)ontroller%getPersonLearner#roupsMSnbr_Person(dNQ $ndE(fQ 2or Si O + To Sc_rs_PrsnLrnr#rp%!ctiveRo')ount Sro'_L#RP O Sc_rs_PrsnLrnr#rpMSiNQ Srec_L#RP O Sro'_L#RP%LM_P$RS_L#RP_V7Q (f !llMSrec_L#RP%LM_LR"R_#R&3P_(D%ValueN Then (f Si O + Then Sstr_Lrnr#rp O Srec_L#RP%LM_LR"R_#R&3P_(D%ValueQ $lse 9L start code changes for Resolution >4;>;F L9 (f Slimi)ount IO D,, Then Sstr_Lrnr#rp O Sstr_Lrnr#rp R PN U("I LM_3(_!)T_L# N U&RI MM P R Srec_L#RP%LM_LR"R_#R&3P_(D%ValueQ Slimi)ount O ,Q $lse 9L end code changes for Resolution >4;>;F L9

Sstr_Lrnr#rp O Sstr_Lrnr#rp R PK P R Srec_L#RP%LM_LR"R_#R&3P_(D%ValueQ $ndE(fQ $ndE(fQ 9L start code changes for Resolution >4;>;F L9 Slimi)ount O Slimi)ount C +Q 9L end code changes for Resolution >4;>;F L9 $ndE(fQ $ndE2orQ ULL!3 9LST!RTE)ode !dded to fi@ the performance issue 'ith search )atalogJ >F,DF< !3L9 9L start code changes for Resolution >4;>;F L9 Srs_grpcrit O )reateRo'setMRecord%LM_#R&3PS_)R(TNQ Srs_grpcrit%2illMP7 $R$ LM_2($LD"!M$ O 1LM_LR"R_#R&3P_(D1 !"D LM_)R(T$R(!_(D O +PNQ 2or Si O + To Srs_grpcrit%!ctiveRo')ount Scmblrnrgpid O Srs_grpcritMSiN%#etRecordMRecord%LM_#R&3PS_)R(TN%#et2ieldM2ield%LM_LR"R_#R&3P_(DN% ValueQ Srs_subgrpcrit O )reateRo'setMRecord%LM_#R&3PS_)R(TNQ Srs_subgrpcrit%2illMP7 $R$ LM_LR"R_#R&3P_(D O 8+PK ScmblrnrgpidNQ SH O ,Q 2or S= O + To Srs_subgrpcrit%!ctiveRo')ount Sresultpers O ,Q SQL$@ecMPS$L$)T LM_)R(T$R(!_V!L3$ 2R&M PS_LM_#R&3PS_)R(T 7 $R$ LM_LR"R_#R&3P_(D O 8+ !"D LM_)R(T$R(!_(D O 8;PK ScmblrnrgpidK S=K SandoperandNQ Sn_andoperand O ValueMSandoperandNQ SQL$@ecMPS$L$)T LM_P$RS&"_(D 2R&M PS_LM_#R&3P_P$RS&" 7 $R$ LM_P$RS&"_(D O 8+ !"D LM_LR"R_#R&3P_(D O 8;PK Snbr_Person(dK Sn_andoperandK SresultpersNQ (f MSresultpers UI ,N Then SH O SH C +Q $ndE(fQ (f SH O Srs_subgrpcrit%!ctiveRo')ount Then (f Slimi)ount IO D,, Then Sstr_Lrnr#rp O Sstr_Lrnr#rp R PN U("I LM_3(_!)T_L# N U&RI MM P R ScmblrnrgpidQ Slimi)ount O ,Q $lse Sstr_Lrnr#rp O Sstr_Lrnr#rp R PK P R ScmblrnrgpidQ $ndE(fQ Slimi)ount O Slimi)ount C +Q $ndE(fQ $ndE2orQ $ndE2orQ LLI S)omlrgps.l O #etSQLMSQL%LM_#R&3P_)R(T_SQLK LM_&PR(D_(D_V7%LM_P$RS&"_(D%ValueNQ 7hile MS)omlrgps.l%2etchMScmblrnrgpidNN (f !llMScmblrnrgpidN Then (f Slimi)ount IO D,, Then Sstr_Lrnr#rp O Sstr_Lrnr#rp R PN U("I LM_3(_!)T_L# N U&RI MM P R ScmblrnrgpidQ Slimi)ount O ,Q $lse Sstr_Lrnr#rp O Sstr_Lrnr#rp R PK P R ScmblrnrgpidQ $ndE(fQ Slimi)ount O Slimi)ount C +Q $ndE(fQ $ndE7hileQ S)omlrgps.l%)loseMNQ 9L$ndE)ode !dded to fi@ the performance issue 'ith search )atalogJ>F,DF< !3L9 9LSstr_Lrnr#rp O PMMP R Sstr_Lrnr#rp R PN U("I LM_3(_!)T_L#NPQL9 Sstr_Lrnr#rp O PMMMP R Sstr_Lrnr#rp R PN U("I LM_3(_!)T_L#NNPQ 9L end code changes for Resolution >4;>;F L9 Return Sstr_Lrnr#rpQ endEmethodQ method run0asic!ctivitySearch

Local Ro'set Sresult_rs;Q Local L$)S8)ategory Sclass_)ategoryQ Local L$0L_S$!R) )!T!L&#8Search)atalog Sob=_srch)atgQ Local !pi&b=ect SSearchResults)ollaQ Local !pi&b=ect SSearchResultQ Local boolean S$rrors2oundQ Local Ro'set Sdm_ro'setK Srs_L#RPK SRSRe.DescrsK Srs_tempQ Local array of number Sary_)atlg_(temsK Sary_pop_catlg_itemsQ Local string Sstr_instr_idK S0asic_TitleK S0asic_DescrK S!dv_TitleK S!dv_DescrK SLang_)dK S)ategoryK S&b=vK S(nsturctorK SLM_)S_D$S)RK SLM_!DV_D$S)RK SLM_0!S_D$S)RK SLM_DM_S RT_"MK SLM_)S_L&"#_"MK SurlstringK Sstr_catg_idK Sstr_Delivery_MethodK Sstr_ob=_idK Sstr_2acility_(DK Sstr_bas_actK Sstr_adv_actK Sstr_Lnr_#rpK SLM_)RS$_)&D$K Sstr_)rse_)odeK Sstr_act_typeQ Local date S2rom_DtK STo_DtQ Local number ScountK Snbr_ci_idK S@K Snbr_Delivery_MethodK SiK Snbr_TempRo'K Snbr_person_idQ Local Record Srec_L#RPK Srec_ciQ Local Ro' Sro'_L#RPK Sro'_resultsQ Local 2ield Sfld_lgrpQ Local L$)S_S$!R) 8)atalogSearch)riteria0ean Sob=_)atalogSrch0eanQ Local L$M_3T(L(T($S83tility Sob=_3tilsQ Local string Sstr_srchTypeQ Local L$)S_S$!R) 8Search)ontroller Sob=_Srch)ontrollerQ Sob=_Srch)ontroller O create L$)S_S$!R) 8Search)ontrollerMNQ Sbol_l)(!ctivities)ached O TrueQ Sob=_3tils O create L$M_3T(L(T($S83tilityMNQ Sstr_srchType O /This%set)atalogTypeforSearchMNQ LM_SR) _7R-%LM_$RR_MS#%Visible O 2alseQ LM_SR) _7R-%LM_(M!#$%Visible O 2alseQ S$rrors2ound O 2alseQ Sob=_)atalogSrch0ean O /This%populate)atalog)riteria0eanMNQ S$rrors2ound O /This%validateSearch)riteriaMSob=_)atalogSrch0eanNQ (f "ot S$rrors2ound Then SSearchResults)olla O Sob=_Srch)ontroller%e@ecute)atalogSearchMSob=_)atalogSrch0eanNQ (f MSSearchResults)olla O "ullN Then SResults2ound O P"PQ $lse Srs_temp O /This%buildTempSearchResultRo'setMSSearchResults)ollaNQ SResult_rs O #etLevel,MNM+N%#etRo'setMScroll%LM_V$R_DRV_V7NQ SResult_rs%2lushMNQ Srs_scroll_results O )reateRo'setMSResult_rsNQ Srs_scroll_results%2lushMNQ SResult_rs O /This%populateSearch!ctResultRo'setMSrs_tempNQ (f SSearchResults)olla O "ull &r "oneMSResult_rsM+N%LM_V$R_DRV_V7%LM_!)T_(D%ValueN Then SResults2ound O P"PQ $lse (f SSearchResults)olla%)ount I , Then SResult_rs O /This%populateDisplayResultRo'set!ctMSResult_rsK Snbr_ro'sNQ Snbr_min O +Q Snbr_ma@ O SResult_rs%!ctiveRo')ountQ #etLevel,MN M+N%#etRecordMRecord%LM_)!T_3(_7R-N%#et2ieldM2ield%LM_SR) _S)R&LLN%Value O /This%buildSearchResultsStringMSnbr_minK Snbr_ma@K Snbr_totalNQ #etLevel,MN M+N%#etRecordMRecord%LM_)!T_3(_7R-N%#et2ieldM2ield%LM_SR) _PR$V(&3SN%$nabled O 2alseQ (f Snbr_ro's U Snbr_total Then #etLevel,MN M+N%#etRecordMRecord%LM_)!T_3(_7R-N%#et2ieldM2ield%LM_SR) _"$5TN%$nabled O TrueQ $lse

#etLevel,MN M+N%#etRecordMRecord%LM_)!T_3(_7R-N%#et2ieldM2ield%LM_SR) _"$5TN%$nabled O 2alseQ $ndE(fQ SResults2ound O P*PQ 9LLL bundle; J+6,GF,6,,;8 Ma@ Ro' is configurable and inform user if search returned ma@ ro' LLL9 (f SSearchResults)olla%)ount IO Snbr_ma@_ro's ThenQ LM_SR) _7R-%LM_$RR_MS#%Visible O TrueQ LM_SR) _7R-%LM_(M!#$%Visible O TrueQ LM_SR) _7R-%LM_$RR_MS#%Value O Sc_ob=_Te@t)atalog%getTe@tMPLM_SR) _!)T_MS#PK StringMSnbr_ma@_ro'sNK PPK PPK PPK PPNQ $ndE(fQ 9LLL bundle; J+6,GF,6,,;8 Ma@ Ro' is configurable and inform user if search returned ma@ ro' LLL9 $lse SResults2ound O P"PQ $ndE(fQ $ndE(fQ $ndE(fQ $ndE(fQ /This%setResults2oundMNQ (f SSearch_Type O P!P Then LM_SR) _7R-%LM_!DV_SR) _T(P%Visible O TrueQ /This%build!dvancedSearch)riteriaTipMNQ $lse LM_SR) _7R-%LM_!DV_SR) _T(P%Visible O 2alseQ $ndE(fQ endEmethodQ method buildTempSearchResultRo'set 9C SSearchResults)olla as !pi&b=ect C9 9C Returns Ro'set C9 Local !pi&b=ect SSearchResultQ Local number Snbr_Ro')ountQ Local Ro'set Srs_SearchResultQ Srs_SearchResult O )reateRo'setMRecord%LM_3(_RSLTS_7R-NQ SSearchResult O SSearchResults)olla%2irstMNQ 7hile MSSearchResult UI "ullN Snbr_Ro')ount O Snbr_Ro')ount C +Q (f Snbr_Ro')ount UI + Then Srs_SearchResult%(nsertRo'MSnbr_Ro')ount E +NQ $ndE(fQ Srs_SearchResult%#etRo'MSnbr_Ro')ountN%LM_3(_RSLTS_7R-%LM_)(_(D%Value O SSearchResult%Search2ields%(tem0y"ameMPLM_)(_(DPN%valueQ Srs_SearchResult%#etRo'MSnbr_Ro')ountN%LM_3(_RSLTS_7R-%LM_)S_D$S)R%Value O SSearchResult%Search2ields%(tem0y"ameMPLM_)S_D$S)RPN%valueQ Srs_SearchResult%#etRo'MSnbr_Ro')ountN%LM_3(_RSLTS_7R-%LM_)S_L&"#_"M%Value O SSearchResult%Search2ields%(tem0y"ameMPLM_)S_L&"#_"MPN%valueQ Srs_SearchResult%#etRo'MSnbr_Ro')ountN%LM_3(_RSLTS_7R-%LM_DMT D_T*P$_(D%Value O SSearchResult%Search2ields%(tem0y"ameMPLM_DMT D_T*P$_(DPN%valueQ Srs_SearchResult%#etRo'MSnbr_Ro')ountN%LM_3(_RSLTS_7R-%LM_DM_L&"#_"M%Value O SSearchResult%Search2ields%(tem0y"ameMPLM_DM_L&"#_"MPN%valueQ Srs_SearchResult%#etRo'MSnbr_Ro')ountN%LM_3(_RSLTS_7R-%LM_)RS$_)&D$%Value O SSearchResult%Search2ields%(tem0y"ameMPLM_)RS$_)&D$PN%valueQ Srs_SearchResult%#etRo'MSnbr_Ro')ountN%LM_3(_RSLTS_7R-%LM_!)T_(D%Value O SSearchResult%Search2ields%(tem0y"ameMPLM_!)T_(DPN%valueQ Srs_SearchResult%#etRo'MSnbr_Ro')ountN%LM_3(_RSLTS_7R-%LM_D3R"_D!*S%Value O SSearchResult%Search2ields%(tem0y"ameMPLM_D3R"_D!*SPN%valueQ Srs_SearchResult%#etRo'MSnbr_Ro')ountN%LM_3(_RSLTS_7R-%LM_D3R"_ RS%Value O

SSearchResult%Search2ields%(tem0y"ameMPLM_D3R"_ RSPN%valueQ Srs_SearchResult%#etRo'MSnbr_Ro')ountN%LM_3(_RSLTS_7R-%LM_D3R"_M("S%Value O SSearchResult%Search2ields%(tem0y"ameMPLM_D3R"_M("SPN%valueQ Srs_SearchResult%#etRo'MSnbr_Ro')ountN%LM_3(_RSLTS_7R-%LM_("T_PR()$%Value O SSearchResult%Search2ields%(tem0y"ameMPLM_("T_PR()$PN%valueQ Srs_SearchResult%#etRo'MSnbr_Ro')ountN%LM_3(_RSLTS_7R-%LM_$5T_PR()$%Value O SSearchResult%Search2ields%(tem0y"ameMPLM_$5T_PR()$PN%valueQ Srs_SearchResult%#etRo'MSnbr_Ro')ountN%LM_3(_RSLTS_7R-%LM_TR"#_3T%Value O SSearchResult%Search2ields%(tem0y"ameMPLM_TR"#_3TPN%valueQ Srs_SearchResult%#etRo'MSnbr_Ro')ountN%LM_3(_RSLTS_7R-%)3RR$")*_)D%Value O SSearchResult%Search2ields%(tem0y"ameMP)3RR$")*_)DPN%valueQ Srs_SearchResult%#etRo'MSnbr_Ro')ountN%LM_3(_RSLTS_7R-%LM_ST!RT_DT%Value O SSearchResult%Search2ields%(tem0y"ameMPLM_ST!RT_DTPN%valueQ Srs_SearchResult%#etRo'MSnbr_Ro')ountN%LM_3(_RSLTS_7R-%LM_2)LT*_V$R%Value O SSearchResult%Search2ields%(tem0y"ameMPLM_2)LT*_(DPN%valueQ 9L"08>D;G;6 Display Start Date in Search )atalogL9 Srs_SearchResult%#etRo'MSnbr_Ro')ountN%LM_3(_RSLTS_7R-%LM_D(SP_D!T$S%Value O SSearchResult%Search2ields%(tem0y"ameMPLM_D(SP_D!T$SPN%valueQ 9L"08>D;G;6 $ndsL9 SSearchResult O SSearchResults)olla%"e@tMNQ $ndE7hileQ Srs_SearchResult%SortMLM_3(_RSLTS_7R-%LM_)(_(DK P!PK LM_3(_RSLTS_7R-%LM_DMT D_T*P$_(DK P!PNQ Return Srs_SearchResultQ endEmethodQ method populateSearch!ctResultRo'set 9C Srs_pTemp as Ro'set C9 9C Returns Ro'set C9 Local number Snbr_TempRo'K ScountQ Local Ro' Sro'_resultsQ Local Record Srec_'rHQ Local Ro'set Srs_ResultQ Local array of number Sary_)atlg_(temsQ Local L$M_3T(L(T($S8String ashtable Sstr ash_lResult!ctivity(dsQ Local ob=ect SlTemp&b=ectQ rem Local L$M_3T(L(T($S8&b=ect ashtable Scls_cResult(tems ashQ Local L$M_3T(L(T($S83tility Sob=_3tilsQ Local string Sstr_anyQ Sob=_3tils O create L$M_3T(L(T($S83tilityMNQ Scls_cResult(tems ash O create L$M_3T(L(T($S8&b=ect ashtableMNQ Srs_Result O #etLevel,MNM+N%#etRo'setMScroll%LM_V$R_DRV_V7NQ Sary_)atlg_(tems O )reate!rrayReptM,K ,NQ 2or Snbr_TempRo' O + To Srs_pTemp%Ro')ount Sro'_results O Srs_pTempMSnbr_TempRo'NQ Srec_'rH O Sro'_results%LM_3(_RSLTS_7R-Q Sary_)atlg_(tems%PushMSrec_'rH%LM_)(_(D%ValueNQ (f !llMSrec_'rH%LM_!)T_(D%ValueN Then Sstr ash_lResult!ctivity(ds O create L$M_3T(L(T($S8String ashtableMNQ SlTemp&b=ect O Sstr ash_lResult!ctivity(dsQ Scls_cResult(tems ash%PutMStringMSrec_'rH%LM_)(_(D%ValueNK SlTemp&b=ectNQ Scount O Scount C +Q (f Scount UI + Then Srs_Result%(nsertRo'MScount E +NQ $ndE(fQ Srs_Result%#etRo'MScountN%LM_)!T_3(_7R-%LM_DLVR*_ TML%Value O PUspan classO1PST$5T1 IP R Msg#etTe@tM+>,>>K ;GK PPN R P8 U9spanIP R Srs_Result%#etRo'MScountN%LM_)!T_3(_7R-%LM_DLVR*_ TML%ValueQ Srs_Result%#etRo'MScountN%LM_V$R_DRV_V7%LM_!)T_(D%Value O Srec_'rH%LM_!)T_(D%ValueQ Srs_Result%#etRo'MScountN%LM_V$R_DRV_V7%LM_)(_(D%Value O Srec_'rH%LM_)(_(D%ValueQ Srs_Result%#etRo'MScountN%LM_V$R_DRV_V7%LM_)S_D$S)R%Value O

Srec_'rH%LM_)S_D$S)R%ValueQ Srs_Result%#etRo'MScountN%LM_V$R_DRV_V7%LM_)S_L&"#_"M%Value O Srec_'rH%LM_)S_L&"#_"M%ValueQ Srs_Result%#etRo'MScountN%LM_V$R_DRV_V7%LM_)S_L&"#_"M%Label O Srec_'rH%LM_)S_L&"#_"M%Value R P MP R Srec_'rH%LM_)RS$_)&D$%Value R PNPQ Srs_Result%#etRo'MScountN%LM_V$R_DRV_V7%LM_)RS$_)&D$%Value O Srec_'rH%LM_)RS$_)&D$%ValueQ Srs_Result%#etRo'MScountN%LM_)!T_3(_7R-%LM_DM_D$S)R%Value O Srec_'rH%LM_DM_L&"#_"M%ValueQ Srs_Result%#etRo'MScountN%LM_)!T_3(_7R-%LM_D3R"_D!*S%Value O Srec_'rH%LM_D3R"_D!*S%ValueQ Srs_Result%#etRo'MScountN%LM_)!T_3(_7R-%LM_D3R"_ RS%Value O Srec_'rH%LM_D3R"_ RS%ValueQ Srs_Result%#etRo'MScountN%LM_)!T_3(_7R-%LM_D3R"_M("S%Value O Srec_'rH%LM_D3R"_M("S%ValueQ Srs_Result%#etRo'MScountN%LM_)!T_3(_7R-%LM_("T_PR()$%Value O Srec_'rH%LM_("T_PR()$%ValueQ Srs_Result%#etRo'MScountN%LM_)!T_3(_7R-%LM_$5T_PR()$%Value O Srec_'rH%LM_$5T_PR()$%ValueQ Srs_Result%#etRo'MScountN%LM_)!T_3(_7R-%LM_TR"#_3T%Value O Srec_'rH%LM_TR"#_3T%ValueQ Srs_Result%#etRo'MScountN%LM_)!T_3(_7R-%)3RR$")*_)D%Value O Srec_'rH%)3RR$")*_)D%ValueQ Srs_Result%#etRo'MScountN%LM_V$R_DRV_V7%LM_ST!RT_DT%Value O Srec_'rH%LM_ST!RT_DT%ValueQ Srs_Result%#etRo'MScountN%LM_)!T_3(_7R-%LM_2)LT*_V$R%Value O Srec_'rH%LM_2)LT*_V$R%ValueQ 9L"08>D;G;6 Display Start Date in Search )atalogL9 Srs_Result%#etRo'MScountN%LM_V$R_DRV_V7%LM_D(SP_D!T$S%Value O Srec_'rH%LM_D(SP_D!T$S%ValueQ 9L"08>D;G;6 $ndsL9 $ndE(fQ 9L store the activity id for the catalog item in the hashtable% L9 (f M!llMSrec_'rH%LM_!)T_(D%ValueNN Then Sstr ash_lResult!ctivity(ds%PutMStringMSrec_'rH%LM_!)T_(D%ValueNK StringMSrec_'rH%LM_!)T_(D%ValueNNQ $ndE(fQ $ndE2orQ Return Srs_ResultQ endEmethodQ method populateDisplayResultRo'set!ct 9C Srs_pResult as Ro'setK C9 9C Snbr_pRo's as "umber C9 9C Returns Ro'set C9 Local number Snbr_TempRo'K ScountQ Local L$)S_S$!R) 8Search)ontroller Sob=_Srch)ontrollerQ Local Ro'set Srs_LocLinHQ Srs_LocLinH O #etRo'setMScroll%LM_!)T_V7NQ Srs_LocLinH%2lushMNQ Sob=_Srch)ontroller O create L$)S_S$!R) 8Search)ontrollerMNQ Srs_pResult%)opyToMSrs_scroll_resultsNQ Snbr_total O Srs_scroll_results%Ro')ountQ Srs_pResult%2lushMNQ Scount O ,Q Srs_scroll_results%SortMLM_V$R_DRV_V7%LM_)S_L&"#_"MK P!PNQ 2or Snbr_TempRo' O + To Snbr_pRo's Scount O Scount C +Q (f Scount UI + Then Srs_pResult%(nsertRo'MScount E +NQ $ndE(fQ Srs_pResult%#etRo'MScountN%LM_)!T_3(_7R-%LM_DLVR*_ TML%Value O Srs_scroll_results%#etRo'MScountN%LM_)!T_3(_7R-%LM_DLVR*_ TML%ValueQ

Srs_pResult%#etRo'MScountN%LM_V$R_DRV_V7%LM_)(_(D%Value O Srs_scroll_results%#etRo'MScountN%LM_V$R_DRV_V7%LM_)(_(D%ValueQ Srs_pResult%#etRo'MScountN%LM_V$R_DRV_V7%LM_)S_D$S)R%Value O Srs_scroll_results%#etRo'MScountN%LM_V$R_DRV_V7%LM_)S_D$S)R%ValueQ Srs_pResult%#etRo'MScountN%LM_V$R_DRV_V7%LM_)S_L&"#_"M%Value O Srs_scroll_results%#etRo'MScountN%LM_V$R_DRV_V7%LM_)S_L&"#_"M%ValueQ Srs_pResult%#etRo'MScountN%LM_)!T_3(_7R-%LM_DM_D$S)R%Value O Srs_scroll_results%#etRo'MScountN%LM_)!T_3(_7R-%LM_DM_D$S)R%ValueQ Srs_pResult%#etRo'MScountN%LM_V$R_DRV_V7%LM_!)T_(D%Value O Srs_scroll_results%#etRo'MScountN%LM_V$R_DRV_V7%LM_!)T_(D%ValueQ 9L Set the Program (D for both 'orH fields L9 Srs_pResult%#etRo'MScountN%LM_)!T_3(_7R-%LM_PR#_(D%Value O Srs_scroll_results%#etRo'MScountN%LM_)!T_3(_7R-%LM_PR#_(D%ValueQ Srs_pResult%#etRo'MScountN%LM_PR#_TR"_7R-%LM_PR#_(D%Value O Srs_scroll_results%#etRo'MScountN%LM_)!T_3(_7R-%LM_PR#_(D%ValueQ 9LLL9 Srs_pResult%#etRo'MScountN%LM_)!T_3(_7R-%LM_PR#_T*P$%Value O Srs_scroll_results%#etRo'MScountN%LM_)!T_3(_7R-%LM_PR#_(D%ValueQ Srs_pResult%#etRo'MScountN%LM_)!T_3(_7R-%LM_PR#_)D%Value O Srs_scroll_results%#etRo'MScountN%LM_)!T_3(_7R-%LM_PR#_)D%ValueQ Srs_pResult%#etRo'MScountN%LM_)!T_3(_7R-%LM_)$RT_(D%Value O Srs_scroll_results%#etRo'MScountN%LM_)!T_3(_7R-%LM_)$RT_(D%ValueQ Srs_pResult%#etRo'MScountN%LM_)!T_3(_7R-%LM_!LL&7_7!(V$R%Value O Srs_scroll_results%#etRo'MScountN%LM_)!T_3(_7R-%LM_!LL&7_7!(V$R%ValueQ Srs_pResult%#etRo'MScountN%LM_V$R_DRV_V7%LM_ST!RT_DT%Value O Srs_scroll_results%#etRo'MScountN%LM_V$R_DRV_V7%LM_ST!RT_DT%ValueQ Srs_pResult%#etRo'MScountN%LM_V$R_DRV_V7%LM_)RS$_)&D$%Value O Srs_scroll_results%#etRo'MScountN%LM_V$R_DRV_V7%LM_)RS$_)&D$%ValueQ Srs_pResult%#etRo'MScountN%LM_)!T_3(_7R-%LM_2)LT*_V$R%Value O Srs_scroll_results%#etRo'MScountN%LM_)!T_3(_7R-%LM_2)LT*_V$R%ValueQ Srs_pResult%#etRo'MScountN%LM_)!T_3(_7R-%LM_DMT D_T*P$_(D%Value O Srs_scroll_results%#etRo'MScountN%LM_)!T_3(_7R-%LM_DMT D_T*P$_(D%ValueQ 9L"08>D;G;6 Display Start Date in Search )atalogL9 Srs_pResult%#etRo'MScountN%LM_V$R_DRV_V7%LM_D(SP_D!T$S%Value O Srs_scroll_results%#etRo'MScountN%LM_V$R_DRV_V7%LM_D(SP_D!T$S%ValueQ 9L"08>D;G;6 $ndsL9 (f !llMSrs_scroll_results%#etRo'MScountN%LM_)!T_3(_7R-%LM_PR#_(D%ValueN Then Srs_pResult%#etRo'MScountN%LM_V$R_DRV_V7%LM_)S_L&"#_"M%Label O Srs_scroll_results%#etRo'MScountN%LM_V$R_DRV_V7%LM_)S_L&"#_"M%Value R P MP R Srs_scroll_results%#etRo'MScountN%LM_)!T_3(_7R-%LM_PR#_)D%Value R PNPQ (f !llMSrs_scroll_results%#etRo'MScountN%LM_)!T_3(_7R-%LM_PR#_T*P_D$S)R%ValueN Then 9L ReEcertification L9 Srs_pResult%#etRo'MScountN%LM_)!T_3(_7R-%LM_DM_D$S)R%Value O Srs_scroll_results%#etRo'MScountN%LM_)!T_3(_7R-%LM_PR#_T*P_D$S)R%ValueQ 9LLL9 $lse Srs_pResult%#etRo'MScountN%LM_)!T_3(_7R-%LM_DM_D$S)R%Value O Srs_scroll_results%#etRo'MScountN%LM_)!T_3(_7R-%LM_PR#_T*P$%LongTranslateValueQ $ndE(fQ Srs_pResult%#etRo'MScountN%LM_)!T_3(_7R-%LM_D3R"_D!*S%Value O Srs_scroll_results%#etRo'MScountN%LM_)!T_3(_7R-%LM_D3R"_D!*S%ValueQ Srs_pResult%#etRo'MScountN%LM_)!T_3(_7R-%LM_("T_PR()$%Value O Srs_scroll_results%#etRo'MScountN%LM_)!T_3(_7R-%LM_("T_PR()$%ValueQ Srs_pResult%#etRo'MScountN%LM_)!T_3(_7R-%LM_$5T_PR()$%Value O Srs_scroll_results%#etRo'MScountN%LM_)!T_3(_7R-%LM_$5T_PR()$%ValueQ Srs_pResult%#etRo'MScountN%LM_)!T_3(_7R-%LM_TR"#_3T%Value O Srs_scroll_results%#etRo'MScountN%LM_)!T_3(_7R-%LM_TR"#_3T%ValueQ Srs_pResult%#etRo'MScountN%LM_)!T_3(_7R-%)3RR$")*_)D%Value O Srs_scroll_results%#etRo'MScountN%LM_)!T_3(_7R-%)3RR$")*_)D%ValueQ /This%populateProgram!ttributesMScountK ScountNQ Srs_pResult%#etRo'MScountN%LM_)!T#_3(_7R-%LM_$"R&LL_0T"%Label O Srs_pResult%#etRo'MScountN%LM_)!T#_3(_7R-%LM_$"R&LL_0T"%#etLongLabelMP+,PNQ Srs_pResult%#etRo'MScountN%LM_)!T_3(_7R-%LM_DLVR*_ TML%Visible O TrueQ Srs_pResult%#etRo'MScountN%LM_)!T#_3(_7R-%LM_$"R&LL_0T"%Visible O TrueQ $lse Srs_pResult%#etRo'MScountN%LM_V$R_DRV_V7%LM_)S_L&"#_"M%Label O Srs_scroll_results%#etRo'MScountN%LM_V$R_DRV_V7%LM_)S_L&"#_"M%Value R P MP R

Srs_scroll_results%#etRo'MScountN%LM_V$R_DRV_V7%LM_)RS$_)&D$%Value R PNPQ Srs_pResult%#etRo'MScountN%LM_)!T#_3(_7R-%LM_$"R&LL_0T"%Label O Srs_pResult%#etRo'MScountN%LM_)!T#_3(_7R-%LM_$"R&LL_0T"%#etLongLabelMPLM_$"R&LL_0T "PNQ (f !llMSrs_pResult%#etRo'MScountN%LM_V$R_DRV_V7%LM_!)T_(D%ValueN Then Srs_pResult%#etRo'MScountN%LM_)!T_3(_7R-%LM_D3R"_D!*S%Value O Srs_scroll_results%#etRo'MScountN%LM_)!T_3(_7R-%LM_D3R"_D!*S%ValueQ Srs_pResult%#etRo'MScountN%LM_)!T_3(_7R-%LM_D3R"_ RS%Value O Srs_scroll_results%#etRo'MScountN%LM_)!T_3(_7R-%LM_D3R"_ RS%ValueQ Srs_pResult%#etRo'MScountN%LM_)!T_3(_7R-%LM_D3R"_M("S%Value O Srs_scroll_results%#etRo'MScountN%LM_)!T_3(_7R-%LM_D3R"_M("S%ValueQ Srs_pResult%#etRo'MScountN%LM_)!T_3(_7R-%LM_("T_PR()$%Value O Srs_scroll_results%#etRo'MScountN%LM_)!T_3(_7R-%LM_("T_PR()$%ValueQ Srs_pResult%#etRo'MScountN%LM_)!T_3(_7R-%LM_$5T_PR()$%Value O Srs_scroll_results%#etRo'MScountN%LM_)!T_3(_7R-%LM_$5T_PR()$%ValueQ Srs_pResult%#etRo'MScountN%LM_)!T_3(_7R-%LM_TR"#_3T%Value O Srs_scroll_results%#etRo'MScountN%LM_)!T_3(_7R-%LM_TR"#_3T%ValueQ Srs_pResult%#etRo'MScountN%LM_)!T_3(_7R-%)3RR$")*_)D%Value O Srs_scroll_results%#etRo'MScountN%LM_)!T_3(_7R-%)3RR$")*_)D%ValueQ (f Scount UI + Then Srs_LocLinH%(nsertRo'MScount E +NQ $ndE(fQ Srs_LocLinH%#etRo'MScountN%LM_!)T_V7%LM_!)T_(D%Value O Srs_scroll_results%#etRo'MScountN%LM_V$R_DRV_V7%LM_!)T_(D%ValueQ /This%populate!ctivity!ttributesMScountK ScountNQ (f Sob=_Srch)ontroller%is)lass!vailable2or$nrollmentMSrs_pResult%#etRo'MScountN%LM_V$ R_DRV_V7%LM_!)T_(D%ValueN Then Srs_pResult%#etRo'MScountN%LM_)!T#_3(_7R-%LM_$"R&LL_0T"%Visible O TrueQ $lse Srs_pResult%#etRo'MScountN%LM_)!T#_3(_7R-%LM_$"R&LL_0T"%Visible O 2alseQ $ndE(fQ Srs_pResult%#etRo'MScountN%LM_)!T_3(_7R-%LM_DLVR*_ TML%Visible O TrueQ $lse Srs_pResult%#etRo'MScountN%LM_)!T#_3(_7R-%LM_$"R&LL_0T"%Visible O TrueQ Srs_pResult%#etRo'MScountN%LM_)!T_3(_7R-%LM_DLVR*_ TML%Visible O 2alseQ 9L"08>D;,+6 Delivery Method should not be visible on Search Results for P!ll SearchPL9 Srs_pResult%#etRo'MScountN%LM_)!T_3(_7R-%LM_DM_D$S)R%Visible O 2alseQ 9L"08>D;,+6 $ndsL9 $ndE(fQ $ndE(fQ /This%set!ddToPlanLnHMSrs_pResult%#etRo'MScountNNQ (f MScount IO Snbr_pRo'sN &r MScount IO Snbr_totalN Then 0reaH $ndE(fQ $ndE2orQ Srs_pResult%SortMLM_V$R_DRV_V7%LM_)S_L&"#_"MK P!PNQ Return Srs_pResultQ endEmethodQ method set!ddToPlanLnH 9C Sro'_pResult as Ro' C9 Local Record Srec_lLM_V$R_DRV_V7 O Sro'_pResult%LM_V$R_DRV_V7Q Local Record SreclLM_!)T_3(_7R- O Sro'_pResult%LM_!)T_3(_7R-Q Local Record SreclLM_)!T#_3(_7R- O Sro'_pResult%LM_)!T#_3(_7R-Q Local Record Srec_lLM_)!T_3(_7R- O Sro'_pResult%LM_)!T_3(_7R-Q Local Record Srec_lLM_PR#_P#_7R- O Sro'_pResult%LM_PR#_P#_7R-Q

SreclLM_!)T_3(_7R-%LM_!DDPL!"_0T"%Visible O 2alseQ Srec_lLM_)!T_3(_7R-%LM_)(_!D_PL!"%Visible O 2alseQ Srec_lLM_PR#_P#_7R-%LM_PR#_PL!"_0T"%Visible O 2alseQ (f "ot SreclLM_)!T#_3(_7R-%LM_$"R&LL_0T"%Visible Then 9L Then $nroll linH is not displayed% ThereforeK the !dd To Plan is not needed also% L9 ReturnQ $ndE(fQ 9L (f this is the Learning Plan componentK the enroll9register button is not available% &nly display the !dd To Plan buttons L9 $valuate /)omponent 7hen )omponent%LM_LPL"_S$!R) SreclLM_)!T#_3(_7R-%LM_$"R&LL_0T"%Visible O 2alseQ (f !llMSrec_lLM_V$R_DRV_V7%LM_!)T_(D%ValueN !nd !llMSrec_lLM_V$R_DRV_V7%LM_)(_(D%ValueN Then SreclLM_!)T_3(_7R-%LM_!DDPL!"_0T"%Visible O TrueQ ReturnQ $ndE(fQ (f !llMSrec_lLM_V$R_DRV_V7%LM_)(_(D%ValueN !nd "oneMSrec_lLM_V$R_DRV_V7%LM_!)T_(D%ValueN Then Srec_lLM_)!T_3(_7R-%LM_)(_!D_PL!"%Visible O TrueQ $ndE(fQ (f "oneMSrec_lLM_V$R_DRV_V7%LM_!)T_(D%ValueN !nd "oneMSrec_lLM_V$R_DRV_V7%LM_)(_(D%ValueN Then Srec_lLM_PR#_P#_7R-%LM_PR#_PL!"_0T"%Visible O TrueQ ReturnQ $ndE(fQ 7henE&therQ $ndE$valuateQ endEmethodQ method run0asic!llSearch 9C Sstr_psrchType as String C9 Local Ro'set SrsK Sresult_rs;K Sresult_rs+Q Local L$)S8)ategory Sclass_)ategoryQ Local L$0L_S$!R) )!T!L&#8Search)atalog Sob=_srch)atgQ Local !pi&b=ect SSearchResults)ollaK SSearchResults)ollPQ Local !pi&b=ect SSearchResultQ Local boolean S$rrors2oundQ Local Ro'set Sdm_ro'setK Srs_L#RPK SRSRe.DescrsK Srs_tempQ Local array of number Sary_)atlg_(temsK Sary_pop_catlg_itemsQ Local string Sstr_instr_idK S0asic_TitleK S0asic_DescrK S!dv_TitleK S!dv_DescrK SLang_)dK S)ategoryK S&b=vK S(nsturctorK SLM_)S_D$S)RK SLM_!DV_D$S)RK SLM_0!S_D$S)RK SLM_DM_S RT_"MK SLM_)S_L&"#_"MK SurlstringK Sstr_catg_idK Sstr_Delivery_MethodK Sstr_ob=_idK Sstr_2acility_(DK Sstr_bas_actK Sstr_adv_actK Sstr_Lnr_#rpK SLM_)RS$_)&D$K Sstr_)rse_)odeK Sstr_act_typeQ Local date S2rom_DtK STo_DtQ Local number ScountK SLM_)(_(DK SPrev_LM_)(_(DK Snbr_ci_idK S@K SfullcountK SfullcountminusoneK Snbr_Delivery_MethodK SPrev_DMT DK SiK Snbr_TempRo'K Snbr_person_idQ Local Record Srec_L#RPK Srec_ciK Srec_'rHQ Local Ro' Sro'_L#RPK Sro'_resultsQ Local 2ield Sfld_lgrpQ Local number SLM_!)T_(DK Snbr_!ll)ountQ Local L$)S_S$!R) 8)atalogSearch)riteria0ean Sob=_)atalogSrch0eanQ Local L$M_3T(L(T($S83tility Sob=_3tilsQ Local string Sstr_srchTypeQ Local L$M_3T(L(T($S8String ashtable Sstr ash_lResult!ctivity(dsQ Local ob=ect SlTemp&b=ectQ rem Local L$M_3T(L(T($S8&b=ect ashtable Scls_cResult(tems ashQ Local L$)S_S$!R) 8Search)ontroller Sob=_Srch)ontrollerQ Sob=_Srch)ontroller O create L$)S_S$!R) 8Search)ontrollerMNQ

Scls_cResult(tems ash O create L$M_3T(L(T($S8&b=ect ashtableMNQ Sbol_l)(!ctivities)ached O TrueQ Sob=_3tils O create L$M_3T(L(T($S83tilityMNQ Sstr_srchType O /This%set)atalogTypeforSearchMNQ S$rrors2ound O 2alseQ 9L start code changes for Resolution >;DDGF L9 9L(f SSearch_Type O P0P ThenL9 9L end code changes for Resolution >;DDGF L9 Sob=_)atalogSrch0ean O /This%populate)atalog)riteria0ean)(MNQ 9L start code changes for Resolution >;DDGF L9 9L$lseL9 9LSob=_)atalogSrch0ean O /This%populate)atalog)riteria0eanMNQL9 9L$ndE(fQL9 9L end code changes for Resolution >;DDGF L9 S$rrors2ound O /This%validateSearch)riteriaMSob=_)atalogSrch0eanNQ (f "ot S$rrors2ound Then SSearchResults)olla O Sob=_Srch)ontroller%e@ecute)atalogSearchMSob=_)atalogSrch0eanNQ Sstr ash_lResult!ctivity(ds O create L$M_3T(L(T($S8String ashtableMNQ (f MSSearchResults)olla O "ullN Then SResults2ound O P"PQ $lse Srs_temp O /This%buildTempSearchResultRo'setMSSearchResults)ollaNQ SResult_rs O #etLevel,MNM+N%#etRo'setMScroll%LM_V$R_DRV_V7NQ SResult_rs%2lushMNQ Srs_scroll_results O )reateRo'setMSResult_rsNQ Srs_scroll_results%2lushMNQ Scount O ,Q SPrev_LM_)(_(D O ,Q Sary_)atlg_(tems O )reate!rrayReptM,K ,NQ Sfullcount O ,Q Scls_cResult(tems ash O create L$M_3T(L(T($S8&b=ect ashtableMNQ SResult_rs O /This%populateSearch!llResultRo'setMSrs_tempNQ (f SSearch_Type O P!P Then (f Sstr_psrchType O P!LLP Then LM_)R_7R-%LM_PR#_T*P$%Value O P!LPQ /This%run!llProgramSearchMNQ SSearchResults)ollP O Si_SearchResults)ollPQ Si_SearchResults)ollP O "ullQ $ndE(fQ $lse /This%run!llProgramSearchMNQ SSearchResults)ollP O Si_SearchResults)ollPQ Si_SearchResults)ollP O "ullQ $ndE(fQ (f SSearchResults)olla O "ull !nd SSearchResults)ollP O "ull Then SResults2ound O P"PQ $lse (f SSearchResults)olla UI "ull Then Snbr_!ll)ount O Snbr_!ll)ount C SSearchResults)olla%)ountQ $ndE(fQ (f SSearchResults)ollP UI "ull Then Snbr_!ll)ount O Snbr_!ll)ount C SSearchResults)ollP%)ountQ $ndE(fQ (f Snbr_!ll)ount I , Then SResult_rs O /This%populateDisplayResultRo'set!ctMSResult_rsK

Snbr_ro'sNQ

Snbr_min O +Q Snbr_ma@ O SResult_rs%!ctiveRo')ountQ #etLevel,MN M+N%#etRecordMRecord%LM_)!T_3(_7R-N%#et2ieldM2ield%LM_SR) _S)R&LLN%Value O /This%buildSearchResultsStringMSnbr_minK Snbr_ma@K Snbr_totalNQ

#etLevel,MN M+N%#etRecordMRecord%LM_)!T_3(_7R-N%#et2ieldM2ield%LM_SR) _PR$V(&3SN%$nabled O 2alseQ (f Snbr_ro's U Snbr_total Then #etLevel,MN M+N%#etRecordMRecord%LM_)!T_3(_7R-N%#et2ieldM2ield%LM_SR) _"$5TN%$nabled O TrueQ $lse #etLevel,MN M+N%#etRecordMRecord%LM_)!T_3(_7R-N%#et2ieldM2ield%LM_SR) _"$5TN%$nabled O 2alseQ $ndE(fQ 9LLL 5? bundle; J+6,GF,6,,;8 Ma@ Ro' is configurable and inform user if search returned ma@ ro' LLL9 (f SSearchResults)olla%)ount IO Snbr_ma@_ro's Then LM_SR) _7R-%LM_$RR_MS#%Visible O TrueQ LM_SR) _7R-%LM_(M!#$%Visible O TrueQ LM_SR) _7R-%LM_$RR_MS#%Value O Sc_ob=_Te@t)atalog%getTe@tMPLM_SR) _!LL_MS#PK StringMSnbr_ma@_ro's L ;NK PPK PPK PPK PPNQ $ndE(fQ 9LLL 5? bundle; J+6,GF,6,,;8 Ma@ Ro' is configurable and inform user if search returned ma@ ro' LLL9 SResults2ound O P*PQ $lse SResults2ound O P"PQ $ndE(fQ $ndE(fQ $ndE(fQ /This%setResults2oundMNQ (f SSearch_Type O P!P Then LM_SR) _7R-%LM_!DV_SR) _T(P%Visible O TrueQ /This%build!dvancedSearch)riteriaTipMNQ $lse LM_SR) _7R-%LM_!DV_SR) _T(P%Visible O 2alseQ $ndE(fQ $ndE(fQ endEmethodQ method populateSearch!llResultRo'set 9C Srs_pTemp as Ro'set C9 9C Returns Ro'set C9 Local number Snbr_TempRo'K ScountK SLM_!)T_(DK SLM_)(_(DK SPrev_LM_)(_(DK SPrev_DMT DK Snbr_Delivery_MethodQ Local Ro' Sro'_resultsQ Local Record Srec_'rHQ Local Ro'set Srs_ResultQ Local array of number Sary_)atlg_(temsQ Local L$M_3T(L(T($S8String ashtable Sstr ash_lResult!ctivity(dsQ Local ob=ect SlTemp&b=ectQ Scls_cResult(tems ash O create L$M_3T(L(T($S8&b=ect ashtableMNQ Srs_Result O #etLevel,MNM+N%#etRo'setMScroll%LM_V$R_DRV_V7NQ Sary_)atlg_(tems O )reate!rrayReptM,K ,NQ 2or Snbr_TempRo' O + To Srs_pTemp%Ro')ount Sro'_results O Srs_pTempMSnbr_TempRo'NQ Srec_'rH O Sro'_results%LM_3(_RSLTS_7R-Q SLM_!)T_(D O Srec_'rH%LM_!)T_(D%ValueQ SLM_)(_(D O Srec_'rH%LM_)(_(D%ValueQ Snbr_Delivery_Method O Srec_'rH%LM_DMT D_T*P$_(D%ValueQ Sary_)atlg_(tems%PushMSLM_)(_(DNQ (f SLM_)(_(D UI SPrev_LM_)(_(D Then Sstr ash_lResult!ctivity(ds O create L$M_3T(L(T($S8String ashtableMNQ

SlTemp&b=ect O Sstr ash_lResult!ctivity(dsQ Scls_cResult(tems ash%PutMStringMSLM_)(_(DNK SlTemp&b=ectNQ Scount O Scount C +Q (f Scount UI + Then Srs_Result%(nsertRo'MScount E +NQ $ndE(fQ Srs_Result%#etRo'MScountN%LM_V$R_DRV_V7%LM_)(_(D%Value O Srec_'rH%LM_)(_(D%ValueQ Srs_Result%#etRo'MScountN%LM_V$R_DRV_V7%LM_)S_D$S)R%Value O Srec_'rH%LM_)S_D$S)R%ValueQ Srs_Result%#etRo'MScountN%LM_V$R_DRV_V7%LM_)S_L&"#_"M%Value O Srec_'rH%LM_)S_L&"#_"M%ValueQ Srs_Result%#etRo'MScountN%LM_V$R_DRV_V7%LM_)S_L&"#_"M%Label O Srec_'rH%LM_)S_L&"#_"M%Value R P MP R Srec_'rH%LM_)RS$_)&D$%Value R PNPQ Srs_Result%#etRo'MScountN%LM_V$R_DRV_V7%LM_)RS$_)&D$%Value O Srec_'rH%LM_)RS$_)&D$%ValueQ Srs_Result%#etRo'MScountN%LM_)!T_3(_7R-%LM_DM_D$S)R%Value O Srec_'rH%LM_DM_L&"#_"M%ValueQ Srs_Result%#etRo'MScountN%LM_)!T_3(_7R-%LM_DMT D_T*P$_(D%Value O Snbr_Delivery_MethodQ $lse M<Start= (#$e (#mme"te$ t# 7%B t/e Date 7%lter %))ue %" re)#lut%#"R890TD5 (f SPrev_DMT D UI Snbr_Delivery_Method !nd SPrev_DMT D UI , Then 9L !0 E Resolution >>FF+G E !dded e@tra condition to also checH that SPrev_DMT D is not 1,1 L9 Scount O Scount C +Q (f Scount UI + Then Srs_Result%(nsertRo'MScount E +NQ $ndE(fQ Srs_Result%#etRo'MScountN%LM_V$R_DRV_V7%LM_)(_(D%Value O Srec_'rH%LM_)(_(D%ValueQ Srs_Result%#etRo'MScountN%LM_V$R_DRV_V7%LM_)S_D$S)R%Value O Srec_'rH%LM_)S_D$S)R%ValueQ Srs_Result%#etRo'MScountN%LM_V$R_DRV_V7%LM_)S_L&"#_"M%Value O Srec_'rH%LM_)S_L&"#_"M%ValueQ Srs_Result%#etRo'MScountN%LM_V$R_DRV_V7%LM_)S_L&"#_"M%Label O Srec_'rH%LM_)S_L&"#_"M%Value R P MP R Srec_'rH%LM_)RS$_)&D$%Value R PNPQ Srs_Result%#etRo'MScountN%LM_V$R_DRV_V7%LM_)RS$_)&D$%Value O Srec_'rH%LM_)RS$_)&D$%ValueQ Srs_Result%#etRo'MScountN%LM_)!T_3(_7R-%LM_DM_D$S)R%Value O Srec_'rH%LM_DM_L&"#_"M%ValueQ Srs_Result%#etRo'MScountN%LM_)!T_3(_7R-%LM_DMT D_T*P$_(D%Value O Snbr_Delivery_MethodQ $ndE(fQ E"$= (#$e (#mme"te$ t# 7%B t/e Date 7%lter %))ue %" re)#lut%#"R890TD5<L $ndE(fQ 9L store the activity id for the catalog item in the hashtable% L9 (f M!llMSLM_!)T_(DNN Then Sstr ash_lResult!ctivity(ds%PutMStringMSLM_!)T_(DNK StringMSLM_!)T_(DNNQ $ndE(fQ SPrev_DMT D O Snbr_Delivery_MethodQ SPrev_LM_)(_(D O SLM_)(_(DQ $ndE2orQ Return Srs_ResultQ endEmethodQ method run0asic)(Search Local Local Local Local Local Local Local Local Local Ro'set SrsK Sresult_rs;K Sresult_rs+Q L$)S8)ategory Sclass_)ategoryQ L$0L_S$!R) )!T!L&#8Search)atalog Sob=_srch)atgQ !pi&b=ect SSearchResults)ollaQ !pi&b=ect SSearchResultQ boolean S$rrors2oundQ Ro'set Sdm_ro'setK Srs_L#RPK SRSRe.DescrsK Srs_tempQ array of number Sary_)atlg_(temsK Sary_pop_catlg_itemsQ string Sstr_instr_idK S0asic_TitleK S0asic_DescrK S!dv_TitleK S!dv_DescrK

SLang_)dK S)ategoryK S&b=vK S(nsturctorK SLM_)S_D$S)RK SLM_!DV_D$S)RK SLM_0!S_D$S)RK SLM_DM_S RT_"MK SLM_)S_L&"#_"MK SurlstringK Sstr_catg_idK Sstr_Delivery_MethodK Sstr_ob=_idK Sstr_2acility_(DK Sstr_bas_actK Sstr_adv_actK Sstr_Lnr_#rpK SLM_)RS$_)&D$K Sstr_)rse_)odeK Sstr_act_typeQ Local date S2rom_DtK STo_DtQ Local number ScountK SLM_)(_(DK SPrev_LM_)(_(DK Snbr_ci_idK S@K SfullcountK SfullcountminusoneK Snbr_Delivery_MethodK SPrev_DMT DK SiK Snbr_TempRo'K Snbr_person_idQ Local Record Srec_L#RPK Srec_ciK Srec_'rHQ Local Ro' Sro'_L#RPK Sro'_resultsQ Local 2ield Sfld_lgrpQ Local number SLM_!)T_(DQ Local L$)S_S$!R) 8)atalogSearch)riteria0ean Sob=_)atalogSrch0eanQ Local Local Local Local L$M_3T(L(T($S83tility Sob=_3tilsQ string Sstr_srchTypeQ L$M_3T(L(T($S8String ashtable Sstr ash_lResult!ctivity(dsQ ob=ect SlTemp&b=ectQ

rem Local L$M_3T(L(T($S8&b=ect ashtable Scls_cResult(tems ashQ Local L$)S_S$!R) 8Search)ontroller Sob=_Srch)ontrollerQ Sob=_Srch)ontroller O create L$)S_S$!R) 8Search)ontrollerMNQ Scls_cResult(tems ash O create L$M_3T(L(T($S8&b=ect ashtableMNQ Sbol_l)(!ctivities)ached O TrueQ Sob=_3tils O create L$M_3T(L(T($S83tilityMNQ Sstr_srchType O /This%set)atalogTypeforSearchMNQ S$rrors2ound O 2alseQ Sob=_)atalogSrch0ean O /This%populate)atalog)riteria0ean)(MNQ S$rrors2ound O /This%validateSearch)riteriaMSob=_)atalogSrch0eanNQ (f "ot S$rrors2ound Then SSearchResults)olla O Sob=_Srch)ontroller%e@ecute)atalogSearchMSob=_)atalogSrch0eanNQ Sstr ash_lResult!ctivity(ds O create L$M_3T(L(T($S8String ashtableMNQ (f MSSearchResults)olla O "ullN Then SResults2ound O P"PQ $lse Srs_temp O /This%buildTempSearchResultRo'setMSSearchResults)ollaNQ SResult_rs O #etLevel,MNM+N%#etRo'setMScroll%LM_V$R_DRV_V7NQ SResult_rs%2lushMNQ Srs_scroll_results O )reateRo'setMSResult_rsNQ Srs_scroll_results%2lushMNQ Scount O ,Q SPrev_LM_)(_(D O ,Q Sary_)atlg_(tems O )reate!rrayReptM,K ,NQ Sfullcount O ,Q Scls_cResult(tems ash O create L$M_3T(L(T($S8&b=ect ashtableMNQ SResult_rs O /This%populateSearch)(ResultRo'setMSrs_tempNQ (f SSearchResults)olla O "ull Then SResults2ound O P"PQ $lse (f SSearchResults)olla%)ount I , Then Local number SnumDisplay O SResult_rs%!ctiveRo')ountQ SResult_rs O /This%populateDisplayResultRo'set!ctMSResult_rsK Snbr_ro'sNQ Snbr_min O +Q Snbr_ma@ O SResult_rs%!ctiveRo')ountQ #etLevel,MN M+N%#etRecordMRecord%LM_)!T_3(_7R-N%#et2ieldM2ield%LM_SR) _S)R&LLN%Value O /This%buildSearchResultsStringMSnbr_minK Snbr_ma@K Snbr_totalNQ #etLevel,MN M+N%#etRecordMRecord%LM_)!T_3(_7R-N%#et2ieldM2ield%LM_SR) _PR$V(&3SN%$nabled O 2alseQ (f Snbr_ro's U Snbr_total Then #etLevel,MN M+N%#etRecordMRecord%LM_)!T_3(_7R-N%#et2ieldM2ield%LM_SR) _"$5TN%$nabled O TrueQ

$lse #etLevel,MN M+N%#etRecordMRecord%LM_)!T_3(_7R-N%#et2ieldM2ield%LM_SR) _"$5TN%$nabled O 2alseQ $ndE(fQ SResults2ound O P*PQ 9LLL bundle; J+6,GF,6,,;8 Ma@ Ro' is configurable and inform user if search returned ma@ ro' LLL9 (f SSearchResults)olla%)ount IO Snbr_ma@_ro's Then LM_SR) _7R-%LM_$RR_MS#%Visible O TrueQ LM_SR) _7R-%LM_(M!#$%Visible O TrueQ LM_SR) _7R-%LM_$RR_MS#%Value O Sc_ob=_Te@t)atalog%getTe@tMPLM_SR) _)(_MS#PK StringMSnbr_ma@_ro'sNK StringMSnumDisplayNK PPK PPK PPNQ $ndE(fQ 9LLL bundle; J+6,GF,6,,;8 Ma@ Ro' is configurable and inform user if search returned ma@ ro' LLL9 $lse SResults2ound O P"PQ $ndE(fQ $ndE(fQ $ndE(fQ $ndE(fQ /This%setResults2oundMNQ (f SSearch_Type O P!P Then LM_SR) _7R-%LM_!DV_SR) _T(P%Visible O TrueQ /This%build!dvancedSearch)riteriaTipMNQ $lse LM_SR) _7R-%LM_!DV_SR) _T(P%Visible O 2alseQ $ndE(fQ endEmethodQ method populateSearch)(ResultRo'set 9C Srs_pTemp as Ro'set C9 9C Returns Ro'set C9 Local number Snbr_TempRo'K ScountK SLM_!)T_(DK SLM_)(_(DK SPrev_LM_)(_(DK SPrev_DMT DK Snbr_Delivery_MethodQ Local Ro' Sro'_resultsQ Local Record Srec_'rHQ Local Ro'set Srs_ResultQ Local array of number Sary_)atlg_(temsQ Local L$M_3T(L(T($S8String ashtable Sstr ash_lResult!ctivity(dsQ Local ob=ect SlTemp&b=ectQ rem Local L$M_3T(L(T($S8&b=ect ashtable Scls_cResult(tems ashQ Scls_cResult(tems ash O create L$M_3T(L(T($S8&b=ect ashtableMNQ Srs_Result O #etLevel,MNM+N%#etRo'setMScroll%LM_V$R_DRV_V7NQ Sary_)atlg_(tems O )reate!rrayReptM,K ,NQ 2or Snbr_TempRo' O + To Srs_pTemp%Ro')ount Sro'_results O Srs_pTempMSnbr_TempRo'NQ Srec_'rH O Sro'_results%LM_3(_RSLTS_7R-Q SLM_!)T_(D O Srec_'rH%LM_!)T_(D%ValueQ SLM_)(_(D O Srec_'rH%LM_)(_(D%ValueQ Snbr_Delivery_Method O Srec_'rH%LM_DMT D_T*P$_(D%ValueQ Sary_)atlg_(tems%PushMSLM_)(_(DNQ (f SLM_)(_(D UI SPrev_LM_)(_(D Then Sstr ash_lResult!ctivity(ds O create L$M_3T(L(T($S8String ashtableMNQ SlTemp&b=ect O Sstr ash_lResult!ctivity(dsQ Scls_cResult(tems ash%PutMStringMSLM_)(_(DNK SlTemp&b=ectNQ Scount O Scount C +Q

(f Scount UI + Then Srs_Result%(nsertRo'MScount E +NQ $ndE(fQ Srs_Result%#etRo'MScountN%LM_V$R_DRV_V7%LM_)(_(D%Value O Srec_'rH%LM_)(_(D%ValueQ Srs_Result%#etRo'MScountN%LM_V$R_DRV_V7%LM_)S_D$S)R%Value O Srec_'rH%LM_)S_D$S)R%ValueQ Srs_Result%#etRo'MScountN%LM_V$R_DRV_V7%LM_)S_L&"#_"M%Value O Srec_'rH%LM_)S_L&"#_"M%ValueQ Srs_Result%#etRo'MScountN%LM_V$R_DRV_V7%LM_)S_L&"#_"M%Label O Srec_'rH%LM_)S_L&"#_"M%Value R P MP R Srec_'rH%LM_)RS$_)&D$%Value R PNPQ Srs_Result%#etRo'MScountN%LM_V$R_DRV_V7%LM_)RS$_)&D$%Value O Srec_'rH%LM_)RS$_)&D$%ValueQ rem Srs_Result%#etRo'MScountN%LM_)!T_3(_7R-%LM_DM_D$S)R%Value O Srec_'rH%LM_DM_L&"#_"M%ValueQ $ndE(fQ 9L store the activity id for the catalog item in the hashtable% L9 (f M!llMSLM_!)T_(DNN Then Sstr ash_lResult!ctivity(ds%PutMStringMSLM_!)T_(DNK StringMSLM_!)T_(DNNQ $ndE(fQ SPrev_DMT D O Snbr_Delivery_MethodQ SPrev_LM_)(_(D O SLM_)(_(DQ $ndE2orQ Return Srs_ResultQ endEmethodQ method runProgramSearch Local !pi&b=ect SSearchResults)ollPQ SSearchResults)ollP O /This%populateProgramsMNQ (f SResult_rs O "ull Then SResult_rs O #etLevel,MNM+N%#etRo'setMScroll%LM_V$R_DRV_V7NQ SResult_rs%2lushMNQ $ndE(fQ (f Srs_scroll_results O "ull Then Srs_scroll_results O )reateRo'setMSResult_rsNQ Srs_scroll_results%2lushMNQ $ndE(fQ (f MSSearchResults)ollP UI "ullN Then SResult_rs O /This%populateSearchPrgResultRo'setMSSearchResults)ollPNQ $ndE(fQ (f SSearchResults)ollP O "ull Then (f SResults2ound O P*P Then SResults2ound O P*PQ $lse SResults2ound O P"PQ $ndE(fQ $lse (f SSearchResults)ollP%)ount I , Then SResult_rs O /This%populateDisplayResultRo'set!ctMSResult_rsK Snbr_ro'sNQ Snbr_min O +Q Snbr_ma@ O SResult_rs%!ctiveRo')ountQ #etLevel,MN M+N%#etRecordMRecord%LM_)!T_3(_7R-N%#et2ieldM2ield%LM_SR) _S)R&LLN%Value O /This%buildSearchResultsStringMSnbr_minK Snbr_ma@K Snbr_totalNQ #etLevel,MN M+N%#etRecordMRecord%LM_)!T_3(_7R-N%#et2ieldM2ield%LM_SR) _PR$V(&3SN%$nabled O 2alseQ (f Snbr_ro's U Snbr_total Then #etLevel,MN M+N%#etRecordMRecord%LM_)!T_3(_7R-N%#et2ieldM2ield%LM_SR) _"$5TN%$nabled O TrueQ $lse #etLevel,MN M+N%#etRecordMRecord%LM_)!T_3(_7R-N%#et2ieldM2ield%LM_SR) _"$5TN%$nabled O 2alseQ $ndE(fQ SResults2ound O P*PQ

9LLL bundle; J+6,GF,6,,;8 Ma@ Ro' is configurable and inform user if search returned ma@ ro' LLL9 (f SSearchResults)ollP%)ount IO Snbr_ma@_ro's Then LM_SR) _7R-%LM_$RR_MS#%Visible O TrueQ LM_SR) _7R-%LM_(M!#$%Visible O TrueQ LM_SR) _7R-%LM_$RR_MS#%Value O Sc_ob=_Te@t)atalog%getTe@tMPLM_SR) _PR#_MS#PK StringMSnbr_ma@_ro'sNK PPK PPK PPK PPNQ $ndE(fQ 9LLL bundle; J+6,GF,6,,;8 Ma@ Ro' is configurable and inform user if search returned ma@ ro' LLL9 $lse (f SResults2ound O P*P Then SResults2ound O P*PQ $lse SResults2ound O P"PQ $ndE(fQ $ndE(fQ $ndE(fQ /This%setResults2oundMNQ (f SSearch_Type O P!P Then LM_SR) _7R-%LM_!DV_SR) _T(P%Visible O TrueQ /This%build!dvancedSearch)riteriaTipMNQ $lse LM_SR) _7R-%LM_!DV_SR) _T(P%Visible O 2alseQ $ndE(fQ endEmethodQ method populateSearchPrgResultRo'set 9C SSearchResults)ollP as !pi&b=ect C9 9C Returns Ro'set C9 Local !pi&b=ect SSrchRsltQ Local number ScountQ SSrchRslt O SSearchResults)ollP%firstMNQ Scount O ,Q (f SResult_rs O "ull Then SResult_rs O #etLevel,MNM+N%#etRo'setMScroll%LM_V$R_DRV_V7NQ SResult_rs%2lushMNQ $ndE(fQ 7hile MSSrchRslt UI "ullN (f SResult_rs%!ctiveRo')ount IO + !nd MSResult_rsM+N%LM_V$R_DRV_V7%LM_)(_(D%Value I , &r SResult_rsM+N%LM_)!T_3(_7R-%LM_PR#_(D%Value I ,N Then SResult_rs%(nsertRo'MSResult_rs%!ctiveRo')ountNQ $ndE(fQ SResult_rsMSResult_rs%!ctiveRo')ountN%LM_V$R_DRV_V7%LM_)S_L&"#_"M%Value O SSrchRslt%searchfields%itembynameMPLM_PR#_L&"#_"MPN%valueQ SResult_rsMSResult_rs%!ctiveRo')ountN%LM_)!T_3(_7R-%LM_PR#_(D%Value O SSrchRslt%searchfields%itembynameMPLM_PR#_(DPN%valueQ SResult_rsMSResult_rs%!ctiveRo')ountN%LM_)!T_3(_7R-%LM_)$RT_(D%Value O SSrchRslt%searchfields%itembynameMPLM_)$RT_(DPN%valueQ SResult_rsMSResult_rs%!ctiveRo')ountN%LM_)!T_3(_7R-%LM_PR#_T*P$%Value O SSrchRslt%searchfields%itembynameMPLM_PR#_T*P$PN%valueQ (f !llMSResult_rsMSResult_rs%!ctiveRo')ountN%LM_)!T_3(_7R-%LM_)$RT_(D%ValueN Then 9L ReEcertification L9

SResult_rsMSResult_rs%!ctiveRo')ountN%LM_)!T_3(_7R-%LM_PR#_T*P_D$S)R%Value O Msg#etTe@tM+>,G;K +,>6K PPNQ 9LLL9

$lse SResult_rsMSResult_rs%!ctiveRo')ountN%LM_)!T_3(_7R-%LM_PR#_T*P_D$S)R%Value O PPQ $ndE(fQ SResult_rsMSResult_rs%!ctiveRo')ountN%LM_)!T_3(_7R-%LM_PR#_)D%Value O SSrchRslt%searchfields%itembynameMPLM_PR#_)DPN%valueQ SResult_rsMSResult_rs%!ctiveRo')ountN%LM_V$R_DRV_V7%LM_)S_D$S)R%Value O SSrchRslt%searchfields%itembynameMPLM_PR#_D$S)RPN%valueQ SResult_rsMSResult_rs%!ctiveRo')ountN%LM_)!T_3(_7R-%LM_!LL&7_7!(V$R%Value O SSrchRslt%searchfields%itembynameMPLM_!LL&7_7!(V$RPN%valueQ SResult_rsMSResult_rs%!ctiveRo')ountN%LM_V$R_DRV_V7%LM_)S_L&"#_"M%Label O SSrchRslt%searchfields%itembynameMPLM_PR#_L&"#_"MPN%value R P MP R SSrchRslt%searchfields%itembynameMPLM_PR#_)DPN%value R PNPQ SResult_rsMSResult_rs%!ctiveRo')ountN%LM_)!T_3(_7R-%LM_D3R"_D!*S%Value O SSrchRslt%searchfields%itembynameMPLM_)MPL_PD_D!*SPN%valueQ SResult_rsMSResult_rs%!ctiveRo')ountN%LM_)!T_3(_7R-%LM_("T_PR()$%Value O SSrchRslt%searchfields%itembynameMPLM_("T_PR()$PN%valueQ SResult_rsMSResult_rs%!ctiveRo')ountN%LM_)!T_3(_7R-%LM_$5T_PR()$%Value O SSrchRslt%searchfields%itembynameMPLM_$5T_PR()$PN%valueQ SResult_rsMSResult_rs%!ctiveRo')ountN%LM_)!T_3(_7R-%LM_TR"#_3T%Value O SSrchRslt%searchfields%itembynameMPLM_TR"#_3TPN%valueQ SResult_rsMSResult_rs%!ctiveRo')ountN%LM_)!T_3(_7R-%)3RR$")*_)D%Value O SSrchRslt%searchfields%itembynameMP)3RR$")*_)DPN%valueQ SSrchRslt O SSearchResults)ollP%ne@tMNQ $ndE7hileQ Return SResult_rsQ endEmethodQ method populate"e@tPage Local number ScountK Snbr_TempRo'Q Local L$)S_S$!R) 8Search)ontroller Sob=_Srch)ontrollerQ Local Ro'set Srs_LocLinHQ Local number ScntQ Srs_LocLinH O #etRo'setMScroll%LM_!)T_V7NQ Srs_LocLinH%2lushMNQ Sob=_Srch)ontroller O create L$)S_S$!R) 8Search)ontrollerMNQ SResult_rs%2lushMNQ Scount O ,Q Snbr_min O Snbr_ma@ C +Q 2or Snbr_TempRo' O + To Snbr_ro's Snbr_ma@ O Snbr_ma@ C +Q Scount O Scount C +Q (f Scount UI + Then SResult_rs%(nsertRo'MScount E +NQ $ndE(fQ SResult_rs%#etRo'MScountN%LM_)!T_3(_7R-%LM_DLVR*_ TML%Value O Srs_scroll_results%#etRo'MSnbr_ma@N%LM_)!T_3(_7R-%LM_DLVR*_ TML%ValueQ SResult_rs%#etRo'MScountN%LM_V$R_DRV_V7%LM_)(_(D%Value O Srs_scroll_results%#etRo'MSnbr_ma@N%LM_V$R_DRV_V7%LM_)(_(D%ValueQ SResult_rs%#etRo'MScountN%LM_V$R_DRV_V7%LM_)S_D$S)R%Value O Srs_scroll_results%#etRo'MSnbr_ma@N%LM_V$R_DRV_V7%LM_)S_D$S)R%ValueQ SResult_rs%#etRo'MScountN%LM_V$R_DRV_V7%LM_)S_L&"#_"M%Value O Srs_scroll_results%#etRo'MSnbr_ma@N%LM_V$R_DRV_V7%LM_)S_L&"#_"M%ValueQ SResult_rs%#etRo'MScountN%LM_)!T_3(_7R-%LM_DM_D$S)R%Value O Srs_scroll_results%#etRo'MSnbr_ma@N%LM_)!T_3(_7R-%LM_DM_D$S)R%ValueQ SResult_rs%#etRo'MScountN%LM_V$R_DRV_V7%LM_!)T_(D%Value O Srs_scroll_results%#etRo'MSnbr_ma@N%LM_V$R_DRV_V7%LM_!)T_(D%ValueQ SResult_rs%#etRo'MScountN%LM_)!T_3(_7R-%LM_PR#_(D%Value O Srs_scroll_results%#etRo'MSnbr_ma@N%LM_)!T_3(_7R-%LM_PR#_(D%ValueQ SResult_rs%#etRo'MScountN%LM_)!T_3(_7R-%LM_PR#_T*P$%Value O Srs_scroll_results%#etRo'MSnbr_ma@N%LM_)!T_3(_7R-%LM_PR#_(D%ValueQ SResult_rs%#etRo'MScountN%LM_)!T_3(_7R-%LM_PR#_)D%Value O

Srs_scroll_results%#etRo'MSnbr_ma@N%LM_)!T_3(_7R-%LM_PR#_)D%ValueQ SResult_rs%#etRo'MScountN%LM_)!T_3(_7R-%LM_)$RT_(D%Value O Srs_scroll_results%#etRo'MSnbr_ma@N%LM_)!T_3(_7R-%LM_)$RT_(D%ValueQ SResult_rs%#etRo'MScountN%LM_)!T_3(_7R-%LM_!LL&7_7!(V$R%Value O Srs_scroll_results%#etRo'MSnbr_ma@N%LM_)!T_3(_7R-%LM_!LL&7_7!(V$R%ValueQ SResult_rs%#etRo'MScountN%LM_V$R_DRV_V7%LM_ST!RT_DT%Value O Srs_scroll_results%#etRo'MSnbr_ma@N%LM_V$R_DRV_V7%LM_ST!RT_DT%ValueQ SResult_rs%#etRo'MScountN%LM_V$R_DRV_V7%LM_)RS$_)&D$%Value O Srs_scroll_results%#etRo'MSnbr_ma@N%LM_V$R_DRV_V7%LM_)RS$_)&D$%ValueQ SResult_rs%#etRo'MScountN%LM_)!T_3(_7R-%LM_2)LT*_V$R%Value O Srs_scroll_results%#etRo'MSnbr_ma@N%LM_)!T_3(_7R-%LM_2)LT*_V$R%ValueQ 9LStart code changes for resolution >FF<4;L9 SResult_rs%#etRo'MScountN%LM_V$R_DRV_V7%LM_D(SP_D!T$S%Value O Srs_scroll_results%#etRo'MSnbr_ma@N%LM_V$R_DRV_V7%LM_D(SP_D!T$S%ValueQ 9L$nd code changes for resolution >FF<4;L9 (f !llMSrs_scroll_results%#etRo'MSnbr_ma@N%LM_)!T_3(_7R-%LM_PR#_(D%ValueN Then SResult_rs%#etRo'MScountN%LM_V$R_DRV_V7%LM_)S_L&"#_"M%Label O Srs_scroll_results%#etRo'MSnbr_ma@N%LM_V$R_DRV_V7%LM_)S_L&"#_"M%Value R P MP R Srs_scroll_results%#etRo'MSnbr_ma@N%LM_)!T_3(_7R-%LM_PR#_)D%Value R PNPQ (f !llMSrs_scroll_results%#etRo'MSnbr_ma@N%LM_)!T_3(_7R-%LM_PR#_T*P_D$S)R%ValueN Then 9L ReEcertification L9 SResult_rs%#etRo'MScountN%LM_)!T_3(_7R-%LM_DM_D$S)R%Value O Srs_scroll_results%#etRo'MSnbr_ma@N%LM_)!T_3(_7R-%LM_PR#_T*P_D$S)R%ValueQ 9LLL9 $lse SResult_rs%#etRo'MScountN%LM_)!T_3(_7R-%LM_DM_D$S)R%Value O Srs_scroll_results%#etRo'MSnbr_ma@N%LM_)!T_3(_7R-%LM_PR#_T*P$%LongTranslateValueQ $ndE(fQ SResult_rs%#etRo'MScountN%LM_)!T_3(_7R-%LM_D3R"_D!*S%Value O Srs_scroll_results%#etRo'MSnbr_ma@N%LM_)!T_3(_7R-%LM_D3R"_D!*S%ValueQ SResult_rs%#etRo'MScountN%LM_)!T_3(_7R-%LM_("T_PR()$%Value O Srs_scroll_results%#etRo'MSnbr_ma@N%LM_)!T_3(_7R-%LM_("T_PR()$%ValueQ SResult_rs%#etRo'MScountN%LM_)!T_3(_7R-%LM_$5T_PR()$%Value O Srs_scroll_results%#etRo'MSnbr_ma@N%LM_)!T_3(_7R-%LM_$5T_PR()$%ValueQ SResult_rs%#etRo'MScountN%LM_)!T_3(_7R-%LM_TR"#_3T%Value O Srs_scroll_results%#etRo'MSnbr_ma@N%LM_)!T_3(_7R-%LM_TR"#_3T%ValueQ SResult_rs%#etRo'MScountN%LM_)!T_3(_7R-%)3RR$")*_)D%Value O Srs_scroll_results%#etRo'MSnbr_ma@N%LM_)!T_3(_7R-%)3RR$")*_)D%ValueQ /This%populateProgram!ttributesMScountK Snbr_ma@NQ SResult_rs%#etRo'MScountN%LM_)!T#_3(_7R-%LM_$"R&LL_0T"%Label O SResult_rs%#etRo'MScountN%LM_)!T#_3(_7R-%LM_$"R&LL_0T"%#etLongLabelMP+,PNQ SResult_rs%#etRo'MScountN%LM_)!T_3(_7R-%LM_DLVR*_ TML%Visible O TrueQ SResult_rs%#etRo'MScountN%LM_)!T#_3(_7R-%LM_$"R&LL_0T"%Visible O TrueQ $lse SResult_rs%#etRo'MScountN%LM_V$R_DRV_V7%LM_)S_L&"#_"M%Label O Srs_scroll_results%#etRo'MSnbr_ma@N%LM_V$R_DRV_V7%LM_)S_L&"#_"M%Value R P MP R Srs_scroll_results%#etRo'MSnbr_ma@N%LM_V$R_DRV_V7%LM_)RS$_)&D$%Value R PNPQ SResult_rs%#etRo'MScountN%LM_)!T#_3(_7R-%LM_$"R&LL_0T"%Label O SResult_rs%#etRo'MScountN%LM_)!T#_3(_7R-%LM_$"R&LL_0T"%#etLongLabelMPLM_$"R&LL_0T" PNQ (f !llMSResult_rs%#etRo'MScountN%LM_V$R_DRV_V7%LM_!)T_(D%ValueN Then SResult_rs%#etRo'MScountN%LM_)!T_3(_7R-%LM_D3R"_D!*S%Value O Srs_scroll_results%#etRo'MSnbr_ma@N%LM_)!T_3(_7R-%LM_D3R"_D!*S%ValueQ SResult_rs%#etRo'MScountN%LM_)!T_3(_7R-%LM_D3R"_ RS%Value O Srs_scroll_results%#etRo'MSnbr_ma@N%LM_)!T_3(_7R-%LM_D3R"_ RS%ValueQ SResult_rs%#etRo'MScountN%LM_)!T_3(_7R-%LM_D3R"_M("S%Value O Srs_scroll_results%#etRo'MSnbr_ma@N%LM_)!T_3(_7R-%LM_D3R"_M("S%ValueQ SResult_rs%#etRo'MScountN%LM_)!T_3(_7R-%LM_("T_PR()$%Value O Srs_scroll_results%#etRo'MSnbr_ma@N%LM_)!T_3(_7R-%LM_("T_PR()$%ValueQ SResult_rs%#etRo'MScountN%LM_)!T_3(_7R-%LM_$5T_PR()$%Value O Srs_scroll_results%#etRo'MSnbr_ma@N%LM_)!T_3(_7R-%LM_$5T_PR()$%ValueQ SResult_rs%#etRo'MScountN%LM_)!T_3(_7R-%LM_TR"#_3T%Value O Srs_scroll_results%#etRo'MSnbr_ma@N%LM_)!T_3(_7R-%LM_TR"#_3T%ValueQ SResult_rs%#etRo'MScountN%LM_)!T_3(_7R-%)3RR$")*_)D%Value O Srs_scroll_results%#etRo'MSnbr_ma@N%LM_)!T_3(_7R-%)3RR$")*_)D%ValueQ (f Scount UI + Then

Srs_LocLinH%(nsertRo'MScount E +NQ $ndE(fQ Srs_LocLinH%#etRo'MScountN%LM_!)T_V7%LM_!)T_(D%Value O Srs_scroll_results%#etRo'MSnbr_ma@N%LM_V$R_DRV_V7%LM_!)T_(D%ValueQ /This%populate!ctivity!ttributesMScountK Snbr_ma@NQ (f Sob=_Srch)ontroller%is)lass!vailable2or$nrollmentMSResult_rs%#etRo'MScountN%LM_V$R _DRV_V7%LM_!)T_(D%ValueN Then SResult_rs%#etRo'MScountN%LM_)!T#_3(_7R-%LM_$"R&LL_0T"%Visible O TrueQ $lse SResult_rs%#etRo'MScountN%LM_)!T#_3(_7R-%LM_$"R&LL_0T"%Visible O 2alseQ $ndE(fQ SResult_rs%#etRo'MScountN%LM_)!T_3(_7R-%LM_DLVR*_ TML%Visible O TrueQ $lse SResult_rs%#etRo'MScountN%LM_)!T#_3(_7R-%LM_$"R&LL_0T"%Visible O TrueQ SResult_rs%#etRo'MScountN%LM_)!T_3(_7R-%LM_DLVR*_ TML%Visible O 2alseQ ULStartEDelivery method should not be display 'hen search type is P!LLP ResolutionJ>>F;>+LI SResult_rs%#etRo'MScountN%LM_)!T_3(_7R-%LM_DM_D$S)R%Visible O 2alseQ UL$ndEDelivery method should not be display 'hen search type is P!LLP ResolutionJ>>F;>+LI $ndE(fQ $ndE(fQ /This%set!ddToPlanLnHMSResult_rs%#etRo'MScountNNQ (f MScount IO Snbr_ro'sN &r MSnbr_ma@ IO Snbr_totalN Then 0reaH $ndE(fQ $ndE2orQ #etLevel,MN M+N%#etRecordMRecord%LM_)!T_3(_7R-N%#et2ieldM2ield%LM_SR) _S)R&LLN%Value O /This%buildSearchResultsStringMSnbr_minK Snbr_ma@K Snbr_totalNQ #etLevel,MN M+N%#etRecordMRecord%LM_)!T_3(_7R-N%#et2ieldM2ield%LM_SR) _PR$V(&3SN%$nabled O TrueQ (f Snbr_ma@ U Snbr_total Then #etLevel,MN M+N%#etRecordMRecord%LM_)!T_3(_7R-N%#et2ieldM2ield%LM_SR) _"$5TN%$nabled O TrueQ $lse #etLevel,MN M+N%#etRecordMRecord%LM_)!T_3(_7R-N%#et2ieldM2ield%LM_SR) _"$5TN%$nabled O 2alseQ $ndE(fQ endEmethodQ method populatePreviousPage Local number ScountK Snbr_TempRo'Q Local L$)S_S$!R) 8Search)ontroller Sob=_Srch)ontrollerQ Local Ro'set Srs_LocLinHQ Srs_LocLinH O #etRo'setMScroll%LM_!)T_V7NQ Srs_LocLinH%2lushMNQ Sob=_Srch)ontroller O create L$)S_S$!R) 8Search)ontrollerMNQ SResult_rs%2lushMNQ Scount O ,Q Snbr_ma@ O Snbr_min E +Q Snbr_min O Snbr_min E Snbr_ro'sQ (f Snbr_min U + Then Snbr_min O +Q $ndE(fQ 2or Snbr_TempRo' O + To Snbr_ro's

Scount O Scount C +Q (f Scount UI + Then SResult_rs%(nsertRo'MScount E +NQ $ndE(fQ SResult_rs%#etRo'MScountN%LM_)!T_3(_7R-%LM_DLVR*_ TML%Value O Srs_scroll_results%#etRo'MSnbr_min C Scount E +N%LM_)!T_3(_7R-%LM_DLVR*_ TML%ValueQ SResult_rs%#etRo'MScountN%LM_V$R_DRV_V7%LM_)(_(D%Value O Srs_scroll_results%#etRo'MSnbr_min C Scount E +N%LM_V$R_DRV_V7%LM_)(_(D%ValueQ SResult_rs%#etRo'MScountN%LM_V$R_DRV_V7%LM_)S_D$S)R%Value O Srs_scroll_results%#etRo'MSnbr_min C Scount E +N%LM_V$R_DRV_V7%LM_)S_D$S)R%ValueQ SResult_rs%#etRo'MScountN%LM_V$R_DRV_V7%LM_)S_L&"#_"M%Value O Srs_scroll_results%#etRo'MSnbr_min C Scount E +N%LM_V$R_DRV_V7%LM_)S_L&"#_"M%ValueQ SResult_rs%#etRo'MScountN%LM_)!T_3(_7R-%LM_DM_D$S)R%Value O Srs_scroll_results%#etRo'MSnbr_min C Scount E +N%LM_)!T_3(_7R-%LM_DM_D$S)R%ValueQ SResult_rs%#etRo'MScountN%LM_V$R_DRV_V7%LM_!)T_(D%Value O Srs_scroll_results%#etRo'MSnbr_min C Scount E +N%LM_V$R_DRV_V7%LM_!)T_(D%ValueQ SResult_rs%#etRo'MScountN%LM_)!T_3(_7R-%LM_PR#_(D%Value O Srs_scroll_results%#etRo'MSnbr_min C Scount E +N%LM_)!T_3(_7R-%LM_PR#_(D%ValueQ SResult_rs%#etRo'MScountN%LM_)!T_3(_7R-%LM_PR#_T*P$%Value O Srs_scroll_results%#etRo'MSnbr_min C Scount E +N%LM_)!T_3(_7R-%LM_PR#_(D%ValueQ SResult_rs%#etRo'MScountN%LM_)!T_3(_7R-%LM_PR#_)D%Value O Srs_scroll_results%#etRo'MSnbr_min C Scount E +N%LM_)!T_3(_7R-%LM_PR#_)D%ValueQ SResult_rs%#etRo'MScountN%LM_)!T_3(_7R-%LM_)$RT_(D%Value O Srs_scroll_results%#etRo'MSnbr_min C Scount E +N%LM_)!T_3(_7R-%LM_)$RT_(D%ValueQ SResult_rs%#etRo'MScountN%LM_)!T_3(_7R-%LM_!LL&7_7!(V$R%Value O Srs_scroll_results%#etRo'MSnbr_min C Scount E +N%LM_)!T_3(_7R-%LM_!LL&7_7!(V$R%ValueQ SResult_rs%#etRo'MScountN%LM_V$R_DRV_V7%LM_ST!RT_DT%Value O Srs_scroll_results%#etRo'MSnbr_min C Scount E +N%LM_V$R_DRV_V7%LM_ST!RT_DT%ValueQ SResult_rs%#etRo'MScountN%LM_V$R_DRV_V7%LM_)RS$_)&D$%Value O Srs_scroll_results%#etRo'MSnbr_min C Scount E +N%LM_V$R_DRV_V7%LM_)RS$_)&D$%ValueQ SResult_rs%#etRo'MScountN%LM_)!T_3(_7R-%LM_2)LT*_V$R%Value O Srs_scroll_results%#etRo'MSnbr_min C Scount E +N%LM_)!T_3(_7R-%LM_2)LT*_V$R%ValueQ 9LStart code changes for resolution >FF<4;L9 SResult_rs%#etRo'MScountN%LM_V$R_DRV_V7%LM_D(SP_D!T$S%Value O Srs_scroll_results%#etRo'MSnbr_min C Scount E +N%LM_V$R_DRV_V7%LM_D(SP_D!T$S%ValueQ 9L$nd code changes for resolution >FF<4;L9 (f !llMSrs_scroll_results%#etRo'MSnbr_min C Scount E +N%LM_)!T_3(_7R-%LM_PR#_(D%ValueN Then SResult_rs%#etRo'MScountN%LM_V$R_DRV_V7%LM_)S_L&"#_"M%Label O Srs_scroll_results%#etRo'MSnbr_min C Scount E +N%LM_V$R_DRV_V7%LM_)S_L&"#_"M%Value R P MP R Srs_scroll_results%#etRo'MSnbr_min C Scount E +N%LM_)!T_3(_7R-%LM_PR#_)D%Value R PNPQ (f !llMSrs_scroll_results%#etRo'MSnbr_min C Scount E +N%LM_)!T_3(_7R-%LM_PR#_T*P_D$S)R%ValueN Then 9L ReEcertification L9 SResult_rs%#etRo'MScountN%LM_)!T_3(_7R-%LM_DM_D$S)R%Value O Srs_scroll_results%#etRo'MSnbr_min C Scount E +N%LM_)!T_3(_7R-%LM_PR#_T*P_D$S)R%ValueQ 9LLL9 $lse SResult_rs%#etRo'MScountN%LM_)!T_3(_7R-%LM_DM_D$S)R%Value O Srs_scroll_results%#etRo'MSnbr_min C Scount E +N%LM_)!T_3(_7R-%LM_PR#_T*P$%LongTranslateValueQ $ndE(fQ SResult_rs%#etRo'MScountN%LM_)!T_3(_7R-%LM_D3R"_D!*S%Value O Srs_scroll_results%#etRo'MSnbr_min C Scount E +N%LM_)!T_3(_7R-%LM_D3R"_D!*S%ValueQ SResult_rs%#etRo'MScountN%LM_)!T_3(_7R-%LM_("T_PR()$%Value O Srs_scroll_results%#etRo'MSnbr_min C Scount E +N%LM_)!T_3(_7R-%LM_("T_PR()$%ValueQ SResult_rs%#etRo'MScountN%LM_)!T_3(_7R-%LM_$5T_PR()$%Value O Srs_scroll_results%#etRo'MSnbr_min C Scount E +N%LM_)!T_3(_7R-%LM_$5T_PR()$%ValueQ SResult_rs%#etRo'MScountN%LM_)!T_3(_7R-%LM_TR"#_3T%Value O Srs_scroll_results%#etRo'MSnbr_min C Scount E +N%LM_)!T_3(_7R-%LM_TR"#_3T%ValueQ SResult_rs%#etRo'MScountN%LM_)!T_3(_7R-%)3RR$")*_)D%Value O Srs_scroll_results%#etRo'MSnbr_min C Scount E +N%LM_)!T_3(_7R-%)3RR$")*_)D%ValueQ

/This%populateProgram!ttributesMScountK Snbr_min C Scount E +NQ SResult_rs%#etRo'MScountN%LM_)!T#_3(_7R-%LM_$"R&LL_0T"%Label O SResult_rs%#etRo'MScountN%LM_)!T#_3(_7R-%LM_$"R&LL_0T"%#etLongLabelMP+,PNQ SResult_rs%#etRo'MScountN%LM_)!T_3(_7R-%LM_DLVR*_ TML%Visible O TrueQ SResult_rs%#etRo'MScountN%LM_)!T#_3(_7R-%LM_$"R&LL_0T"%Visible O TrueQ $lse SResult_rs%#etRo'MScountN%LM_V$R_DRV_V7%LM_)S_L&"#_"M%Label O Srs_scroll_results%#etRo'MSnbr_min C Scount E +N%LM_V$R_DRV_V7%LM_)S_L&"#_"M%Value R P MP R Srs_scroll_results%#etRo'MSnbr_min C Scount E +N%LM_V$R_DRV_V7%LM_)RS$_)&D$%Value R PNPQ SResult_rs%#etRo'MScountN%LM_)!T#_3(_7R-%LM_$"R&LL_0T"%Label O SResult_rs%#etRo'MScountN%LM_)!T#_3(_7R-%LM_$"R&LL_0T"%#etLongLabelMPLM_$"R&LL_0T" PNQ (f !llMSResult_rs%#etRo'MScountN%LM_V$R_DRV_V7%LM_!)T_(D%ValueN Then SResult_rs%#etRo'MScountN%LM_)!T_3(_7R-%LM_D3R"_D!*S%Value O Srs_scroll_results%#etRo'MSnbr_min C Scount E +N%LM_)!T_3(_7R-%LM_D3R"_D!*S%ValueQ SResult_rs%#etRo'MScountN%LM_)!T_3(_7R-%LM_D3R"_ RS%Value O Srs_scroll_results%#etRo'MSnbr_min C Scount E +N%LM_)!T_3(_7R-%LM_D3R"_ RS%ValueQ SResult_rs%#etRo'MScountN%LM_)!T_3(_7R-%LM_D3R"_M("S%Value O Srs_scroll_results%#etRo'MSnbr_min C Scount E +N%LM_)!T_3(_7R-%LM_D3R"_M("S%ValueQ SResult_rs%#etRo'MScountN%LM_)!T_3(_7R-%LM_("T_PR()$%Value O Srs_scroll_results%#etRo'MSnbr_min C Scount E +N%LM_)!T_3(_7R-%LM_("T_PR()$%ValueQ SResult_rs%#etRo'MScountN%LM_)!T_3(_7R-%LM_$5T_PR()$%Value O Srs_scroll_results%#etRo'MSnbr_min C Scount E +N%LM_)!T_3(_7R-%LM_$5T_PR()$%ValueQ SResult_rs%#etRo'MScountN%LM_)!T_3(_7R-%LM_TR"#_3T%Value O Srs_scroll_results%#etRo'MSnbr_min C Scount E +N%LM_)!T_3(_7R-%LM_TR"#_3T%ValueQ SResult_rs%#etRo'MScountN%LM_)!T_3(_7R-%)3RR$")*_)D%Value O Srs_scroll_results%#etRo'MSnbr_min C Scount E +N%LM_)!T_3(_7R-%)3RR$")*_)D%ValueQ (f Scount UI + Then Srs_LocLinH%(nsertRo'MScount E +NQ $ndE(fQ Srs_LocLinH%#etRo'MScountN%LM_!)T_V7%LM_!)T_(D%Value O Srs_scroll_results%#etRo'MSnbr_min C Scount E +N%LM_V$R_DRV_V7%LM_!)T_(D%ValueQ /This%populate!ctivity!ttributesMScountK Snbr_min C Scount E +NQ (f Sob=_Srch)ontroller%is)lass!vailable2or$nrollmentMSResult_rs%#etRo'MScountN%LM_V$R _DRV_V7%LM_!)T_(D%ValueN Then SResult_rs%#etRo'MScountN%LM_)!T#_3(_7R-%LM_$"R&LL_0T"%Visible O TrueQ $lse SResult_rs%#etRo'MScountN%LM_)!T#_3(_7R-%LM_$"R&LL_0T"%Visible O 2alseQ $ndE(fQ SResult_rs%#etRo'MScountN%LM_)!T_3(_7R-%LM_DLVR*_ TML%Visible O TrueQ $lse SResult_rs%#etRo'MScountN%LM_)!T#_3(_7R-%LM_$"R&LL_0T"%Visible O TrueQ SResult_rs%#etRo'MScountN%LM_)!T_3(_7R-%LM_DLVR*_ TML%Visible O 2alseQ ULStartEDelivery method should not be display 'hen search type is P!LLP ResolutionJ>>F;>+LI SResult_rs%#etRo'MScountN%LM_)!T_3(_7R-%LM_DM_D$S)R%Visible O 2alseQ UL$ndEDelivery method should not be display 'hen search type is P!LLP ResolutionJ>>F;>+LI $ndE(fQ $ndE(fQ /This%set!ddToPlanLnHMSResult_rs%#etRo'MScountNNQ (f Scount IO Snbr_ro's Then 0reaH $ndE(fQ $ndE2orQ #etLevel,MN M+N%#etRecordMRecord%LM_)!T_3(_7R-N%#et2ieldM2ield%LM_SR) _S)R&LLN%Value O /This%buildSearchResultsStringMSnbr_minK Snbr_ma@K Snbr_totalNQ

#etLevel,MN M+N%#etRecordMRecord%LM_)!T_3(_7R-N%#et2ieldM2ield%LM_SR) _"$5TN%$nabled O TrueQ (f Snbr_min I + Then #etLevel,MN M+N%#etRecordMRecord%LM_)!T_3(_7R-N%#et2ieldM2ield%LM_SR) _PR$V(&3SN%$nabled O TrueQ $lse #etLevel,MN M+N%#etRecordMRecord%LM_)!T_3(_7R-N%#et2ieldM2ield%LM_SR) _PR$V(&3SN%$nabled O 2alseQ $ndE(fQ endEmethodQ method populate!ctivity!ttributes 9C Snbr_count as "umberK C9 9C Snbr_Source as "umber C9 Local string Sstr_Te@tStringK Sstr_Te@tString+K Sstr_DaysK Sstr_PriceK Sstr_Price2ormattedK Sstr_Te@tString;Q Local string Sstr_startDateK Sstr_Te@tString4K Sstr_Te@tString<K Sstr_LocnK Sstr_)urr)dK SurlstringK Slm_disp_datesQ Local number Snbr_PriceK Snbr_Trng3tQ Local L$0&_P$RS&"8Person)lass Sob=_PrsnQ Local date Sdt_startDateQ Local array of string Sary_LocationsQ Local L$0&_)&MM&"8Date2ormat Scls_lDate2ormat O create L$0&_)&MM&"8Date2ormatMNQ Local Ro'set Srs_currency O )reateRo'setMRecord%)3RR$")*_)D_T0LNQ Local integer Snbr)urrencyDecPrecisionQ Sob=_Prsn O create L$0&_P$RS&"8Person)lassMSi_nbr_Person(dNQ Sob=_Prsn%getPersonDetailsMNQ Sc_ob=_Te@t)atalog%LM_L$_(D O Si_nbr_L$(DQ Sstr_Te@tString O Sc_ob=_Te@t)atalog%getTe@tMPL$)S_SR) _("2&PK PPK PPK PPK PPK PPNQ Sdt_startDate O SResult_rs%#etRo'MSnbr_countN%LM_V$R_DRV_V7%LM_ST!RT_DT%ValueQ 9L"08>D;G;6 Display Start Date in Search )atalogL9 Slm_disp_dates O SResult_rs%#etRo'MSnbr_countN%LM_V$R_DRV_V7%LM_D(SP_D!T$S%ValueQ 9L"08>D;G;6 $ndsL9 (f !llMSdt_startDateN Then Sstr_startDate O DateTimeToLocaliTedStringMSdt_startDateK Scls_lDate2ormat%2ormatDateString2orPerson(dMSi_nbr_Person(dNNQ $ndE(fQ Sstr_Locn O SResult_rs%#etRo'MSnbr_countN%LM_)!T_3(_7R-%LM_2)LT*_V$R%ValueQ (f Sob=_Prsn%$@tPerson2lg O P"P Then Snbr_Price O SResult_rs%#etRo'MSnbr_countN%LM_)!T_3(_7R-%LM_("T_PR()$%ValueQ Sstr_)urr)d O SResult_rs%#etRo'MSnbr_countN%LM_)!T_3(_7R-%)3RR$")*_)D%ValueQ $lse Snbr_Price O SResult_rs%#etRo'MSnbr_countN%LM_)!T_3(_7R-%LM_$5T_PR()$%ValueQ Snbr_Trng3t O SResult_rs%#etRo'MSnbr_countN%LM_)!T_3(_7R-%LM_TR"#_3T%ValueQ Sstr_)urr)d O SResult_rs%#etRo'MSnbr_countN%LM_)!T_3(_7R-%)3RR$")*_)D%ValueQ $ndE(fQ Srs_currency%2illMP'here 2(LL%)3RR$")*_)D O 8+ and 2(LL%$22_ST!T3S O 1!1 and /$ffDt)hecHM)3RR$")*_)D_T0LK 2(LLK /)urrentDate(nNPK SResult_rs%#etRo'MSnbr_countN%LM_)!T_3(_7R-%)3RR$")*_)D%ValueNQ Snbr)urrencyDecPrecision O Srs_currency%#etRo'M+N%)3RR$")*_)D_T0L%D$)(M!L_P&S(T(&"S%ValueQ Sstr_Price2ormatted O "umberToDisplayStringMP/+6%LRvPK Snbr_PriceK Snbr)urrencyDecPrecisionNQ (f Snbr_Trng3t I , Then

Sstr_Price O PU0IP R Sstr_Price2ormatted R P P R Sstr_)urr)d R P U90I&r U0IP R StringMSnbr_Trng3tN R P U90ITraining 3nitsPQ $lse Sstr_Price O PU0IP R Sstr_Price2ormatted R P P R StringMSstr_)urr)dN R PU90IPQ $ndE(fQ (f !llMSdt_startDateN Then Sstr_Te@tString; O Sc_ob=_Te@t)atalog%getTe@tMPL$)S_SR) _PR()$PK Sstr_PriceK PPK PPK PPK PPNQ $lse Sstr_Te@tString; O Sc_ob=_Te@t)atalog%getTe@tMPL$)S_SR) _PR()$;PK Sstr_PriceK PPK PPK PPK PPNQ $ndE(fQ (f !llMSdt_startDateN Then 9L"08>D;G;6 Display Start Date in Search )atalogL9 (f Slm_disp_dates O P*P Then Sstr_Te@tString4 O Sc_ob=_Te@t)atalog%getTe@tMPL$)S_SR) _STDTPK StringMSstr_startDateNK PPK PPK PPK PPNQ $lse Sstr_Te@tString4 O Pcan be taHen anytimePQ $ndE(fQ 9L"08>D;G;6 $ndsL9 $ndE(fQ

Surlstring O P=avascript8submit!ction_'in,Mdocument%'in,K1LM_)!T_3(_7R-_LM_L&)_L"-XP R StringMSnbr_count E +N R P1NPQ (f !llMSstr_LocnN Then Sary_Locations O /This%buildLocation!rrayMSstr_LocnNQ (f Sary_Locations%Len I , !nd !llMSary_Locations A+BN Then (f !llMSdt_startDateN Then (f Sary_Locations%Len O + Then Sstr_Te@tString< O Sc_ob=_Te@t)atalog%getTe@tMPL$)S_SR) Sary_Locations A+BK SurlstringK PPK PPK PPNQ $lse Sstr_Te@tString< O Sc_ob=_Te@t)atalog%getTe@tMPL$)S_SR) Sary_Locations A+BK SurlstringK PPK PPK PPNQ $ndE(fQ $lse (f Sary_Locations%Len UO + Then Sstr_Te@tString< O Sc_ob=_Te@t)atalog%getTe@tMPL$)S_SR) Sary_Locations A+BK SurlstringK PPK PPK PPNQ $lse Sstr_Te@tString< O Sc_ob=_Te@t)atalog%getTe@tMPL$)S_SR) Sary_Locations A+BK SurlstringK PPK PPK PPNQ $ndE(fQ $ndE(fQ $ndE(fQ $lse $ndE(fQ _L&)PK _L&)<PK

_L&)+PK _L&)4PK

SResult_rs%#etRo'MSnbr_countN%LM_)!T_3(_7R-%LM_DLVR*_ TML%Visible O TrueQ (f !llMSResult_rs%#etRo'MSnbr_countN%LM_)!T_3(_7R-%LM_D3R"_D!*S%ValueN Then Sstr_Days O StringMSResult_rs%#etRo'MSnbr_countN%LM_)!T_3(_7R-%LM_D3R"_D!*S%ValueN R P P R SResult_rs%#etRo'MSnbr_countN%LM_)!T_3(_7R-%LM_D3R"_D!*S%#etShortLabelMPLM_D3R"_D! *SPNQ (f !llMSdt_startDateN &r !llMSstr_LocnN Then Sstr_Te@tString+ O Sc_ob=_Te@t)atalog%getTe@tMPL$)S_SR) _D3R"PK Sstr_DaysK PPK PPK PPK PPNQ

$lse Sstr_Te@tString+ O Sc_ob=_Te@t)atalog%getTe@tMPL$)S_SR) _D3R";PK Sstr_DaysK PPK PPK PPK PPNQ $ndE(fQ $ndE(fQ SResult_rs%#etRo'MSnbr_countN%LM_)!T_3(_7R-%LM_DLVR*_ TML%Value O PUspan classO1PST$5T1 IP R Sstr_Te@tString R P P R Sstr_Te@tString4 R P P R Sstr_Te@tString< R P P R Sstr_Te@tString+ R P P R Sstr_Te@tString; R PU9spanIPQ endEmethodQ method populateProgram!ttributes 9C Snbr_count as "umberK C9 9C Snbr_Source as "umber C9 Local string Sstr_Te@tStringK Sstr_Te@tString+K Sstr_DaysK Sstr_PriceK Sstr_Price2ormattedK Sstr_Te@tString;K Sstr_)urr)dK SurlstringQ Local number Snbr_PriceK Snbr_Trng3tQ Local L$0&_P$RS&"8Person)lass Sob=_PrsnQ Sob=_Prsn O create L$0&_P$RS&"8Person)lassMSi_nbr_Person(dNQ Sob=_Prsn%getPersonDetailsMNQ Local Ro'set Srs_currency O )reateRo'setMRecord%)3RR$")*_)D_T0LNQ Local integer Snbr)urrencyDecPrecisionQ Sc_ob=_Te@t)atalog%LM_L$_(D O Si_nbr_L$(DQ Sstr_Te@tString O Sc_ob=_Te@t)atalog%getTe@tMPL$)S_SR) _PR#PK PPK PPK PPK PPK PPNQ (f Sob=_Prsn%$@tPerson2lg O P"P Then Snbr_Price O SResult_rs%#etRo'MSnbr_countN%LM_)!T_3(_7R-%LM_("T_PR()$%ValueQ Sstr_)urr)d O SResult_rs%#etRo'MSnbr_countN%LM_)!T_3(_7R-%)3RR$")*_)D%ValueQ $lse Snbr_Price O SResult_rs%#etRo'MSnbr_countN%LM_)!T_3(_7R-%LM_$5T_PR()$%ValueQ Snbr_Trng3t O SResult_rs%#etRo'MSnbr_countN%LM_)!T_3(_7R-%LM_TR"#_3T%ValueQ Sstr_)urr)d O SResult_rs%#etRo'MSnbr_countN%LM_)!T_3(_7R-%)3RR$")*_)D%ValueQ $ndE(fQ Srs_currency%2illMP'here 2(LL%)3RR$")*_)D O 8+ and 2(LL%$22_ST!T3S O 1!1 and /$ffDt)hecHM)3RR$")*_)D_T0LK 2(LLK /)urrentDate(nNPK SResult_rs%#etRo'MSnbr_countN%LM_)!T_3(_7R-%)3RR$")*_)D%ValueNQ Snbr)urrencyDecPrecision O Srs_currency%#etRo'M+N%)3RR$")*_)D_T0L%D$)(M!L_P&S(T(&"S%ValueQ Sstr_Price2ormatted O "umberToDisplayStringMP/+6%LRvPK Snbr_PriceK Snbr)urrencyDecPrecisionNQ (f Snbr_Trng3t I , Then Sstr_Price O PU0IP R Sstr_Price2ormatted R P P R Sstr_)urr)d R PU90I &r U0IP R StringMSnbr_Trng3tN R P U90ITraining 3nitsPQ $lse Sstr_Price O PU0IP R Sstr_Price2ormatted R P P R Sstr_)urr)d R PU90IPQ $ndE(fQ SResult_rs%#etRo'MSnbr_countN%LM_)!T_3(_7R-%LM_DLVR*_ TML%Visible O TrueQ (f !llMSResult_rs%#etRo'MSnbr_countN%LM_)!T_3(_7R-%LM_D3R"_D!*S%ValueN Then Sstr_Days O PU0IP R StringMSResult_rs%#etRo'MSnbr_countN%LM_)!T_3(_7R-%LM_D3R"_D!*S%ValueN R P P R SResult_rs%#etRo'MSnbr_countN%LM_)!T_3(_7R-%LM_D3R"_D!*S%#etShortLabelMPLM_D3R"_D! *SPN R PU90IPQ Sstr_Te@tString+ O Sc_ob=_Te@t)atalog%getTe@tMPL$)S_SR) _D3R";PK Sstr_DaysK PPK PPK PPK PPNQ Sstr_Te@tString; O Sc_ob=_Te@t)atalog%getTe@tMPL$)S_SR) _PR()$PK Sstr_PriceK PPK PPK PPK PPNQ $lse Sstr_Te@tString; O Sc_ob=_Te@t)atalog%getTe@tMPL$)S_SR) _PR()$;PK Sstr_PriceK PPK PPK PPK PPNQ $ndE(fQ

SResult_rs%#etRo'MSnbr_countN%LM_)!T_3(_7R-%LM_DLVR*_ TML%Value O PUspan classO1PST$5T1 IP R Sstr_Te@tString R P P R Sstr_Te@tString+ R P P R Sstr_Te@tString; R PU9spanIPQ endEmethodQ method transferTo)atalogDetails (f /)omponent O PLM_S$!R) P Then /This%transferToLearnerDetailsMNQ $lse /This%transferToManagerDetailsMNQ $ndE(fQ endEmethodQ method transferTo!ctivityDetails Sstr_from_page O /PageQ #etLevel,MN%#etRo'M+N%LM_!)T_3(_7R-%LM_!)T_(D%Value O LM_!)T_)(_3(_V7%LM_!)T_(D%ValueQ #etLevel,MN%#etRo'M+N%LM_!)T_3(_7R-%LM_P$RS&"_(D%Value O Si_nbr_Person(dQ LM_!)T_3(_7R-%LM_!)T_DTL_PRVP#TL O Msg#etTe@tM+>,>>K +6<K PPNQ TransferPageMPage%LM_L$!R"_!)T_DTLNQ endEmethodQ method add(temToPlan Local Local Local Local Local Local L$$_$"R&LLM$"T8L$$_PL!"_0$!" Splan_beanQ L$$_$"R&LLM$"T8L$$_$"RLMT SenrlmtQ number SpersonidK Snbr_lPlanned(temQ boolean S(sSuccessQ L$0&_P$RS&"8Person)lass SpersonQ Record SR$)_$"RL_7R-Q

9L Variables needed for Learning Plans L9 Local L$LP_L$!R"("#_PL!"S8LearningPlanSelection3( Scls_lLearningPlanSelection3( O create L$LP_L$!R"("#_PL!"S8LearningPlanSelection3(MNQ Local L$LP_L$!R"("#_PL!"S8LearningPlan Scls_lLearningPlan O create L$LP_L$!R"("#_PL!"S8LearningPlanMNQ Local Ro'set Srs_lSelectedLearningPlansQ Local Ro'set Srs_lLearnerPlanned(tems O )reateRo'setMRecord%LM_LPL"_DTLNQ Local Record Srec_lLM_LPL"_DTL O )reateRecordMRecord%LM_LPL"_DTLNQ Local boolean Sbol_lLearningPlanSelectedQ 9LLL9 Sperson O create L$0&_P$RS&"8Person)lassMSi_nbr_Person(dNQ Sperson%getPersonDeptMNQ Splan_bean O create L$$_$"R&LLM$"T8L$$_PL!"_0$!"MNQ Senrlmt O create L$$_$"R&LLM$"T8L$$_$"RLMTM,NQ Splan_bean%set)urrent3ser(dMSi_nbr_Person(dNQ Splan_bean%setRe.uestor(dMSi_nbr_Person(dNQ Splan_bean%set(s!dminM 2alseNQ Splan_bean%set(sManagerM 2alseNQ Splan_bean%set(s(nstructorM 2alseNQ Splan_bean%set!ctRe.MP"PNQ (f !llMLM_(TM_3(_7R-%LM_)(_(DN Then 9L The catalog item (D is derived from the !ctivity Detail Page L9 Splan_bean%set)i(dMLM_(TM_3(_7R-%LM_)(_(DNQ $lse 9L The catalog item (D is derived from the Search )atalog Page% Record Verity (nde@ 0uild Driver vie' e@tracts catalog item id% L9 Splan_bean%set)i(dMLM_V$R_DRV_V7%LM_)(_(DNQ $ndE(fQ Splan_bean%set!ct(dM,NQ Splan_bean%setPerson(dMSi_nbr_Person(dNQ Splan_bean%set&rganiTation(dMSperson%&rganiTation(DNQ

9L Prompt to select a learning plan L9 Sbol_lLearningPlanSelected O Scls_lLearningPlanSelection3(%promptToSelectLearningPlansMSplan_bean%getRe.uestor( dMNK TrueNQ (f Sbol_lLearningPlanSelected Then 9L )ontinue processing% &ther'iseK no Learning Plan selected L9 $lse ReturnQ $ndE(fQ 9LLL9 S(sSuccess O Senrlmt%createPlanMSplan_beanK Snbr_lPlanned(temNQ (f "ot S(sSuccess Then $rror MSenrlmt%get$rrorMessageMNNQ $ndE(fQ 9L "o'K set the planned item for the learning plan L9 Srec_lLM_LPL"_DTL%SetDefaultMNQ Srec_lLM_LPL"_DTL%LM_P$RS&"_(D%Value O Splan_bean%getPerson(dMNQ Srec_lLM_LPL"_DTL%LM_$"RLMT_(D%Value O Snbr_lPlanned(temQ Scls_lLearningPlanSelection3(%setPlanned(temMSrs_lLearnerPlanned(temsK Srec_lLM_LPL"_DTLNQ Scls_lLearningPlan%addSelectedLearningPlansMSrs_lLearnerPlanned(temsNQ 9LLL9 (f S(sSuccess Then Local LM_3T(L(T($S8$LMTe@t)atalog Sob=_Te@t)atalog O create LM_3T(L(T($S8$LMTe@t)atalogMNQ Local string Sstr_Te@tStringQ LM_PR#_P#_7R-%LM_PR#_PL!"_#P0%Visible O TrueQ Sob=_Te@t)atalog%LM_L$_(D O Sperson%L$(DQ Sstr_Te@tString O Sob=_Te@t)atalog%getTe@tMPL$)R_PR#_!DDPL!"PK LM_)!T_3(_7R-%LM_)S_L&"#_"M%ValueK PPK PPK PPK PPNQ LM_PR#_P#_7R-%LM_PR#_PL!"_MS#%Value O Sstr_Te@tStringQ Set)ursorPosM/PageK LM_PR#_P#_7R-%LM_PR#_PL!"_MS#NQ $ndE(fQ endEmethodQ method addToPlan Local L$0&_P$RS&"8Person)lass SpersonQ Local L$$_$"R&LLM$"T8L$$_PL!"_0$!" Splan_beanQ Local L$$_$"R&LLM$"T8L$$_$"RLMT SenrlmtQ Local number SpersonidK Snbr_lPlanned(temQ Local boolean S(sSuccessQ Local string Sstr_Te@tStringQ Local LM_3T(L(T($S8$LMTe@t)atalog Sob=_Te@t)atalog O create LM_3T(L(T($S8$LMTe@t)atalogMNQ 9L Variables needed for Learning Plans L9 Local L$LP_L$!R"("#_PL!"S8LearningPlanSelection3( Scls_lLearningPlanSelection3( O create L$LP_L$!R"("#_PL!"S8LearningPlanSelection3(MNQ Local L$LP_L$!R"("#_PL!"S8LearningPlan Scls_lLearningPlan O create L$LP_L$!R"("#_PL!"S8LearningPlanMNQ Local Ro'set Srs_lSelectedLearningPlansQ Local Ro'set Srs_lLearnerPlanned(tems O )reateRo'setMRecord%LM_LPL"_DTLNQ Local Record Srec_lLM_LPL"_DTL O )reateRecordMRecord%LM_LPL"_DTLNQ Local boolean Sbol_lLearningPlanSelectedQ 9LLL9 SQL$@ecMPSelect LM_P$RS&"_(D 2R&M PS_LM_&PR(D_(D_V7 7 $R$ &PR(DO1P R /3ser(d R P1 PK SpersonidNQ Sperson O create L$0&_P$RS&"8Person)lassMSpersonidNQ Sperson%getPersonDeptMNQ Splan_bean O create L$$_$"R&LLM$"T8L$$_PL!"_0$!"MNQ Senrlmt O create L$$_$"R&LLM$"T8L$$_$"RLMTM,NQ Splan_bean%set)urrent3ser(dMSpersonidNQ

Splan_bean%setRe.uestor(dMSpersonidNQ Splan_bean%set(s!dminM 2alseNQ Splan_bean%set(sManagerM 2alseNQ Splan_bean%set(s(nstructorM 2alseNQ Splan_bean%set!ctRe.MP"PNQ (f !llMLM_(TM_3(_7R-%LM_)(_(DN Then 9L The catalog item (D is derived from the !ctivity Detail Page L9 Splan_bean%set)i(dMLM_(TM_3(_7R-%LM_)(_(DNQ $lse 9L The catalog item (D is derived from the )atalog Search Page L9 Splan_bean%set)i(dMLM_V$R_DRV_V7%LM_)(_(DNQ $ndE(fQ (f !llMLM_!)T_3(_7R-%LM_!)T_(DN Then 9L The activity item (D is derived from the !ctivity Detail Page L9 Splan_bean%set!ct(dMLM_!)T_3(_7R-%LM_!)T_(DNQ $lse 9L The activity item (D is derived from the )atalog Search Page L9 Splan_bean%set!ct(dMLM_V$R_DRV_V7%LM_!)T_(DNQ $ndE(fQ Splan_bean%setPerson(dMSpersonidNQ Splan_bean%set&rganiTation(dMSperson%&rganiTation(DNQ 9L Prompt to select a learning plan L9 Sbol_lLearningPlanSelected O Scls_lLearningPlanSelection3(%promptToSelectLearningPlansMSplan_bean%getRe.uestor( dMNK TrueNQ (f Sbol_lLearningPlanSelected Then 9L )ontinue processing% &ther'iseK no Learning Plan selected L9 $lse ReturnQ $ndE(fQ 9LLL9 S(sSuccess O Senrlmt%createPlanMSplan_beanK Snbr_lPlanned(temNQ (f "ot S(sSuccess Then $rror MSenrlmt%get$rrorMessageMNNQ $ndE(fQ LM_P$R_!)T_("2%LM_!)T_(D%Value O LM_!)T_3(_7R-%LM_!)T_(D%ValueQ LM_P$R_!)T_("2%LM_P$RS&"_(D%Value O SpersonidQ 9L "o'K set the planned item for the learning plan L9 Srec_lLM_LPL"_DTL%SetDefaultMNQ Srec_lLM_LPL"_DTL%LM_P$RS&"_(D%Value O Splan_bean%getPerson(dMNQ Srec_lLM_LPL"_DTL%LM_$"RLMT_(D%Value O Snbr_lPlanned(temQ Scls_lLearningPlanSelection3(%setPlanned(temMSrs_lLearnerPlanned(temsK Srec_lLM_LPL"_DTLNQ Scls_lLearningPlan%addSelectedLearningPlansMSrs_lLearnerPlanned(temsNQ 9LLL9 (f S(sSuccess Then 9LLM_PR#_P#_7R-%LM_PR#_PL!"_#P0%Visible O TrueQ Sob=_!dmin O create L$0&_P$RS&"8LearnerM/&perator(dNQ Sob=_!dmin%getLearnerDetailsMNQ Sob=_Te@t)atalog%LM_L$_(D O Sob=_!dmin%L$(DQL9 Sob=_Te@t)atalog%LM_L$_(D O Sperson%L$(DQ Sstr_Te@tString O Sob=_Te@t)atalog%getTe@tMPL$)R_PR#_!DDPL!"PK LM_$"RL_!)T_V7%LM_!)T_"!M$%ValueK PPK PPK PPK PPNQ LM_PR#_P#_7R-%LM_PR#_PL!"_MS#%Value O Sstr_Te@tStringQ LM_PR#_P#_7R-%LM_PR#_PL!"_#P0%Visible O TrueQ Set)ursorPosM/PageK LM_PR#_P#_7R-%LM_PR#_PL!"_#P0NQ $ndE(fQ endEmethodQ method get)ache&b=ect

Local L$)R_3T(L8Ro'set)ache Sob=_)acheQ Sob=_)ache O create L$)R_3T(L8Ro'set)acheMNQ Local Ro'set Srs_SrchRsltQ Srs_SrchRslt O Sob=_)ache%get)acheMPSR) )R(TPNQ Sc_rs_SrchRslt O Srs_SrchRsltQ endEmethodQ method buildLocation!rray 9C Sstr_locns as String C9 9C Returns !rray of String C9 Local array of string Sary_LocationsQ Local L$M_3T(L(T($S83tility Sob=_3tilsQ Local L$)S_S$!R) 8Search)ontroller Sob=_Srch)ontrollerQ Sob=_Srch)ontroller O create L$)S_S$!R) 8Search)ontrollerMNQ Sob=_3tils O create L$M_3T(L(T($S83tilityMNQ Sstr_locns O Sob=_3tils%ReplaceStringMSstr_locnsK P PK PKPNQ Sary_Locations O Sob=_Srch)ontroller%getLocationsMSstr_locnsNQ Return Sary_LocationsQ endEmethodQ method paintSessionPage Local Local Local Local Local L$)S_S$!R) 8Search)ontroller Sob=_Srch)ontrollerQ Ro'set Srs_SesK Srs_PgSesK Srs_Page2clty!ddresK Srs_2clty!ddressQ number SiQ string Sstr_Te@tStringK Sstr_addressQ $&8)!8!ddress Sob=_Loc!ddressQ

Sob=_Srch)ontroller O create L$)S_S$!R) 8Search)ontrollerMNQ Srs_Ses O Sob=_Srch)ontroller%getSession(nformationMSc_nbr_!ctivity(dNQ Sc_ob=_Te@t)atalog%LM_L$_(D O Si_nbr_L$(DQ Sstr_Te@tString O Sc_ob=_Te@t)atalog%getTe@tMPL$)S_S$S_PT(TL$PK PPK PPK PPK PPK PPNQ #etLevel,MNM+N%LM_)!T_3(_7R-%LM_P!#$_T(TL$%Value O Sstr_Te@tStringQ Srs_PgSes O #etRo'setMRecord%LM_S$S_V7NQ Srs_PgSes%2lushMNQ Srs_Ses%)opyToMSrs_PgSesNQ 2or Si O + To Srs_PgSes%!ctiveRo')ount Srs_PgSes%#etRo'MSiN%LM_)!T_3(_7R-%LM_SR) _S$S_("2&%Value O Sc_ob=_Te@t)atalog%getTe@tMPL$)S_SR) _S$S("2&PK StringMSiNK PPK PPK PPK PPNQ Srs_Page2clty!ddres O Srs_PgSes%#etRo'MSiN%#etRo'setMScroll%LM_2)LT*_T0LNQ Srs_2clty!ddress O Sob=_Srch)ontroller%get2acility!ddressMSrs_PgSes%#etRo'MSiN%LM_S$S_V7%LM_2)LT*_(D% ValueNQ Srs_2clty!ddress%)opyToMSrs_Page2clty!ddresNQ Sob=_Loc!ddress O create $&8)!8!ddressMSrs_Page2clty!ddresM+N%LM_2)LT*_T0LK "ullK "ullNQ Sstr_address O Sob=_Loc!ddress%!ddressDisplayMNQ Srs_PgSes%#etRo'MSiN%LM_)!T_3(_7R-%!DDR$SSL&"#%Value O Sstr_addressQ $ndE2orQ endEmethodQ method transferTo)atalog$nrollment 9C Sconte@t as StringK C9 9C Sprg(D as "umberK C9 9C Sact(D as "umberK C9 9C Sperson(D as "umberK C9 9C Sci(D as "umberK C9

9C Sact"ame as String C9 Local L$$_$"R&LLM$"T8L$$_3T(L(T* SutilityQ Sutility O create L$$_$"R&LLM$"T8L$$_3T(L(T*MNQ Local boolean Slearners$@ist O 2alseQ Local string Sgroup!ctionQ Local LM_3T(L(T($S8$LMTe@t)atalog Sob=_Te@t)atalog O create LM_3T(L(T($S8$LMTe@t)atalogMNQ Local string Sstr_Te@tStringK SnumQ Local L$0&_P$RS&"8Learner Sob=_!dminQ Local Ro'set SrsLearnersQ rem Local number Sperson_idactK Sperson_idci 9L Variable declared to fetch Person (d L9Q Local number Scount+Q 9L declared variable )ount+ Resolution >F,66F V#L9 Local string Snum_plannedQ 9L declared variable num_planned Resolution 8>F,66F V# L9 Local string Snum+Q 9L declared variable num+ Resolution 8>F,66F V# L9 Sutility%addPerson!ct(D)acheMSperson(DK Sact(DK Sci(DK Sprg(DNQ Slearners$@ist O Sutility%doLearners$@ist(n)acheMNQ Sgroup!ction O Sutility%get#roup!ction)acheMNQ Sutility%delete#roup!ction)acheMNQ (f Sprg(D I , Then Local L$)R_PR&#R!MS$L2S$RV()$8ProgramDetailsPage3tility Sob=_ProgramDetailsPage3tility O create L$)R_PR&#R!MS$L2S$RV()$8ProgramDetailsPage3tilityMNQ #etLevel,MNM+N%LM_PR#_TR"_7R-%LM_PR#_(D%Value O Sprg(DQ #etLevel,MNM+N%LM_PR#_TR"_7R-%LM_P$RS&"_(D%Value O Sperson(DQ (f Sconte@t O PM#RP Then (f Slearners$@ist O 2alse Then Sutility%add#roup!ction)acheMSgroup!ctionNQ 9L Transfer to select Learners page L9 TransferM 2alseK Menu"ame%LM_SS_M!"!#$RK 0ar"ame%3S$K (tem"ame%LM_SS_M!"!#$R_3(K Page%LM_T$!M_L$!R"$RK P3PK TrueNQ $lse Sutility%addLastPageTo)acheMPLM_S$!R) PNQ Sob=_ProgramDetailsPage3tility%RegisterProgram0tn)licHMNQ $ndE(fQ $lse Sutility%addLastPageTo)acheMPLM_S$!R) PNQ Sob=_ProgramDetailsPage3tility%RegisterProgram0tn)licHMNQ $ndE(fQ $lse LM_3(_SR) _7R-%LM_!)T_(D%Value O Sact(DQ LM_3(_SR) _7R-%LM_P$RS&"_(D%Value O Sperson(DQ LM_3(_SR) _7R-%LM_)(_(D O Sci(DQ (f Sact(D I , Then (f Sconte@t O PM#RP Then $valuate Sgroup!ction 7hen P+P 9L $nroll L9 (f Slearners$@ist O 2alse Then Sutility%add#roup!ction)acheMSgroup!ctionNQ 9L Transfer to select Learners page L9 TransferM 2alseK Menu"ame%LM_SS_M!"!#$RK 0ar"ame%3S$K (tem"ame%LM_SS_M!"!#$R_3(K Page%LM_T$!M_L$!R"$RK P3PK LM_3(_SR) _7R-%LM_P$RS&"_(DK LM_3(_SR) _7R-%LM_!)T_(DK TrueNQ $lse 9L Transfer to Manager enrollment component L9 Sutility%addLastPageTo)acheMPLM_S$!R) PNQ DoModal)omponentMMenu"ame%LM_$"RLMTK 0ar"ame%LM_$"RLMTK (tem"ame%LM_M#R_$"RLMTK Page%LM_R$V_$"RLMT_T$!MK P3PK Record%LM_(TM_3(_7R-NQ $ndE(fQ 0reaHQ 7hen P<P 9L !dd to Plan L9 (f Slearners$@ist O 2alse Then 9L Transfer to select Learners page L9 Sutility%add#roup!ction)acheMSgroup!ctionNQ

TransferM 2alseK Menu"ame%LM_SS_M!"!#$RK 0ar"ame%3S$K (tem"ame%LM_SS_M!"!#$R_3(K Page%LM_T$!M_L$!R"$RK P3PK LM_3(_SR) _7R-%LM_P$RS&"_(DK LM_3(_SR) _7R-%LM_!)T_(DK TrueNQ $lse SrsLearners O Sutility%getLearnersRS2rom)acheMNQ rem Snum O StringMSrsLearners%!ctiveRo')ountNQ 9L commented Resolution8 >F,66F V#L9 Sutility%addLearnerRSTo)acheMSrsLearnersNQ (f Sutility%process!ddToPlanMN Then LM_PR#_P#_7R-%LM_PR#_PL!"_#P0%Visible O TrueQ Sob=_!dmin O create L$0&_P$RS&"8LearnerM/&perator(dNQ Sob=_!dmin%getLearnerDetailsMNQ Sob=_Te@t)atalog%LM_L$_(D O Sob=_!dmin%L$(DQ 9L )&D$ )&MM$"T$D S(")$ )&3"T )!L)3L!T$D (S 2&R "3M0$R &2 L$!R"$RS !"D "&T L$!R"("# PL!"S8V#L9 UL Local string S@Q 9L )ode added to fetch the correct count of Plan 'hen learner is added to multiple Learning Plans L9 Sperson_idact O SrsLearnersM+N%LM_M#R_T$!M_7R-%LM_P$RS&"_(D%ValueQ SQL$@ecMPselect countMLN from ps_lm_lpln_dtl_v' 'here LM_!)T_(D O 8+ and lm_person_id O 8;PK LM_$"RL_!)T_V7%LM_!)T_(D%ValueK Sperson_idactK S@NQ Snum O S@Q LI 9L)ode $nd L9 Scount+ O LM_LRQ_#P!T_7R-%LM_)&3"TQ 9L assigned value of count+ 'ith derived record field Resolution 8>F,66FL9 Snum O StringMSrsLearners%!ctiveRo')ountNQ Snum_planned O StringMSrsLearners%!ctiveRo')ount E Scount+NQ 9L added Resolution 8>F,66F V# L9 Snum+ O StringMScount+NQ 9L added Resolution 8>F,66F V# L9 9LResolution 8>F,66F V# Start checH if already learnes did plan initially then display old message else display ne' message L9 (f MScount+ O ,N Then Sstr_Te@tString O Sob=_Te@t)atalog%getTe@tMPL$)R_PR#_M#R!DDPL!PK LM_$"RL_!)T_V7%LM_!)T_"!M$%ValueK SnumK PPK PPK PPNQ 9L commented Resolution 8>F,66FV#L9 $lse Sstr_Te@tString O Sob=_Te@t)atalog%getTe@tMPL$)R_PR#_M#RMS#PK LM_$"RL_!)T_V7%LM_!)T_"!M$%ValueK Snum_plannedK Snum+K SnumK PPNQ $ndE(fQ 9LResolution 8>F,66F V# $ndL9 not LM_PR#_P#_7R-%LM_PR#_PL!"_MS#%Value O Sstr_Te@tStringQ Set)ursorPosM/PageK LM_PR#_P#_7R-%LM_PR#_PL!"_MS#NQ $ndE(fQ $ndE(fQ 0reaHQ 7henE&ther (f Slearners$@ist O 2alse Then 9L Transfer to select Learners page L9 TransferM 2alseK Menu"ame%LM_SS_M!"!#$RK 0ar"ame%3S$K (tem"ame%LM_SS_M!"!#$R_3(K Page%LM_T$!M_L$!R"$RK P3PK LM_3(_SR) _7R-%LM_P$RS&"_(DK LM_3(_SR) _7R-%LM_!)T_(DK TrueNQ $lse Sutility%addLastPageTo)acheMPLM_S$!R) PNQ TransferM 2alseK Menu"ame%LM_$"RLMTK 0ar"ame%LM_$"RLMTK (tem"ame%LM_M#R_$"RLMTK Page%LM_R$V_$"RLMT_T$!MK P3PK TrueNQ $ndE(fQ 0reaHQ $ndE$valuateQ $lse TransferM 2alseK Menu"ame%LM_$"RLMTK 0ar"ame%LM_$"RLMTK

(tem"ame%LM_$"RLMTK Page%LM_R$V($7_$"RLMTK P3PK TrueNQ $ndE(f $lse (f Sci(D I , Then (f Sconte@t O PM#RP Then $valuate Sgroup!ction 7hen P<P 9L !dd to Plan L9 (f Slearners$@ist O 2alse Then Sutility%add#roup!ction)acheMSgroup!ctionNQ 9L Transfer to select Learners page L9 TransferM 2alseK Menu"ame%LM_SS_M!"!#$RK 0ar"ame%3S$K (tem"ame%LM_SS_M!"!#$R_3(K Page%LM_T$!M_L$!R"$RK P3PK LM_3(_SR) _7R-%LM_P$RS&"_(DK LM_3(_SR) _7R-%LM_!)T_(DK TrueNQ $lse SrsLearners O Sutility%getLearnersRS2rom)acheMNQ rem Snum O StringMSrsLearners%!ctiveRo')ountNQ 9L commented Resolution >F,66F V#L9 Sutility%addLearnerRSTo)acheMSrsLearnersNQ (f Sutility%process!ddToPlanMN Then LM_PR#_P#_7R-%LM_PR#_PL!"_#P0%Visible O TrueQ Sob=_!dmin O create L$0&_P$RS&"8LearnerM/&perator(dNQ Sob=_!dmin%getLearnerDetailsMNQ Sob=_Te@t)atalog%LM_L$_(D O Sob=_!dmin%L$(DQ 9L )&D$ )&MM$"T$D S(")$ )&3"T )!L)3L!T$D (S 2&R "3M0$R &2 L$!R"$RS !"D "&T L$!R"("# PL!"S8V#L9 UL 9L )ode added to fetch the correct count of Plan 'hen learner is added to multiple Learning Plans L9 Sperson_idci O SrsLearnersM+N%LM_M#R_T$!M_7R-%LM_P$RS&"_(D%ValueQ SQL$@ecMPselect countMLN from ps_lm_lpln_dtl_v' 'here LM_)(_(D O 8+ and lm_person_id O 8;PK LM_(TM_3(_7R-%LM_)(_(D%ValueK Sperson_idciK S@NQ Snum O S@Q LI 9L)ode $nd L9 Scount+ O LM_LRQ_#P!T_7R-%LM_)&3"TQ 9L assigned value of count+ 'ith derived record field Resolution >F,66F V#L9 Snum O StringMSrsLearners%!ctiveRo')ountNQ Snum_planned O StringMSrsLearners%!ctiveRo')ount E Scount+NQ 9L added Resolution 8>F,66F V# L9 Snum+ O StringMScount+NQ 9L added Resolution 8>F,66F V# L9 9LResolution 8>F,66F V# Start checH if already learnes did plan initially then display old message else display ne' message L9 (f MScount+ O ,N Then Sstr_Te@tString O Sob=_Te@t)atalog%getTe@tMPL$)R_PR#_M#R!DDPL!PK LM_)!T_3(_7R-%LM_)S_L&"#_"M%ValueK SnumK PPK PPK PPNQ 9L commented Resolution 8>F,66FV#L9 $lse Sstr_Te@tString O Sob=_Te@t)atalog%getTe@tMPL$)R_PR#_M#RMS#PK LM_)!T_3(_7R-%LM_)S_L&"#_"M%ValueK Snum_plannedK Snum+K SnumK PPNQ $ndE(fQ 9LResolution 8>F,66F V# $ndL9 not LM_PR#_P#_7R-%LM_PR#_PL!"_MS#%Value O Sstr_Te@tStringQ Set)ursorPosM/PageK LM_PR#_P#_7R-%LM_PR#_PL!"_MS#NQ $ndE(fQ $ndE(fQ 0reaHQ 7henE&ther (f Slearners$@ist O 2alse Then 9L Transfer to select Learners page

TransferM 2alseK Menu"ame%LM_SS_M!"!#$RK 0ar"ame%3S$K (tem"ame%LM_SS_M!"!#$R_3(K Page%LM_T$!M_L$!R"$RK P3PK LM_3(_SR) _7R-%LM_P$RS&"_(DK LM_3(_SR) _7R-%LM_!)T_(DK TrueNQ L9 (f /)omponent O PLM_0R&7S$_M!"!#$RP Then Sdelivery_method O ,Q $lse Sdelivery_method O #etRo'MN%LM_)!T_3(_7R-%LM_DMT D_T*P$_(D%ValueQ $ndE(fQ S(tem_Title O Sact"ameQ LM_(TM_3(_7R-%LM_)(_(D O Sci(DQ LM_3(_SR) _7R-%LM_PR$V_P!#$_"!M$ O /PageQ TransferPageMPage%LM_L$!R"_(TM_DTLNQ $lse (f /)omponent O PLM_0R&7S$_M!"!#$RP Then Sdelivery_method O ,Q $lse Sdelivery_method O #etRo'MN%LM_)!T_3(_7R-%LM_DMT D_T*P$_(D%ValueQ $ndE(fQ S(tem_Title O Sact"ameQ LM_(TM_3(_7R-%LM_)(_(D O Sci(DQ LM_3(_SR) _7R-%LM_PR$V_P!#$_"!M$ O /PageQ TransferPageMPage%LM_L$!R"_(TM_DTLNQ $ndE(fQ 0reaHQ $ndE$valuateQ $lse (f /)omponent O PLM_0R&7S$_L$!R"$RP Then Sdelivery_method O ,Q $lse Sdelivery_method O #etRo'MN%LM_)!T_3(_7R-%LM_DMT D_T*P$_(D%ValueQ $ndE(fQ S(tem_Title O Sact"ameQ LM_(TM_3(_7R-%LM_)(_(D O Sci(DQ LM_3(_SR) _7R-%LM_PR$V_P!#$_"!M$ O /PageQ TransferPageMPage%LM_L$!R"_(TM_DTLNQ $ndE(fQ $lse S(tem_Title O Sact"ameQ LM_(TM_3(_7R-%LM_)(_(D O Sci(DQ LM_3(_SR) _7R-%LM_PR$V_P!#$_"!M$ O /PageQ TransferPageMPage%LM_L$!R"_(TM_DTLNQ $ndE(fQ $ndE(fQ $ndE(fQ endEmethodQ

method transferToManagerDetails Local number SpersonidQ Local Record Srec_lLM_PR#_TR"_7R- O #etLevel,MNM+N%LM_PR#_TR"_7R-Q 9L 3se to determined the calling component% This is used later if the 'orH fields should be displayed or not% L9 (f /)omponent O )omponent%LM_LPL"_S$!R) Then Srec_lLM_PR#_TR"_7R-%LM_)!LL("#_)&MP"T%Value O )omponent%LM_LPL"_S$!R) Q $lse Srec_lLM_PR#_TR"_7R-%LM_)!LL("#_)&MP"T%Value O PPQ $ndE(fQ 9LLL9 (f #etRo'MN%LM_)!T_3(_7R-%LM_PR#_(D%Value I , Then #etLevel,MNM+N%LM_PR#_TR"_7R-%LM_PR#_(D%Value O #etRo'MN%LM_)!T_3(_7R-%LM_PR#_(D%ValueQ DoModal)omponentMMenu"ame%LM_)3RR()3L3MK 0ar"ame%3S$K

(tem"ame%LM_PR#_DTLS_MSSK Page%LM_PR#_S3MM_P#K P3PK Record%LM_PR#_TR"_7R-NQ (f Srec_lLM_PR#_TR"_7R-%LM_)!LL("#_)&MP"T%Value O )omponent%LM_LPL"_S$!R) Then $ndModal)omponentM,NQ $ndE(fQ $lse (f M#etRo'MN%LM_V$R_DRV_V7%LM_!)T_(D%Value I ,N !nd M#etRo'MN%LM_V$R_DRV_V7%LM_!)T_(D%Value UI GGGGGGGGGN Then Sstr_from_page O /PageQ #etLevel,MN%#etRo'M+N%LM_!)T_3(_7R-%LM_!)T_(D%Value O #etRo'MN%LM_V$R_DRV_V7%LM_!)T_(D%ValueQ #etLevel,MN%#etRo'M+N%LM_!)T_3(_7R-%LM_P$RS&"_(D%Value O Si_nbr_Person(dQ LM_!)T_3(_7R-%LM_!)T_DTL_PRVP#TL O Msg#etTe@tM+>,>>K +6<K PPNQ TransferPageMPage%LM_L$!R"_!)T_DTLNQ $lse S(tem_Title O #etRo'MN%LM_V$R_DRV_V7%LM_)S_L&"#_"M%ValueQ LM_(TM_3(_7R-%LM_)(_(D O #etRo'MN%LM_V$R_DRV_V7%LM_)(_(D%ValueQ LM_3(_SR) _7R-%LM_PR$V_P!#$_"!M$ O /PageQ TransferPageMPage%LM_L$!R"_(TM_DTLNQ $ndE(fQ $ndE(fQ endEmethodQ method transferToLearnerDetails Local number SpersonidQ (f #etRo'MN%LM_)!T_3(_7R-%LM_PR#_(D%Value I , Then #etLevel,MNM+N%LM_PR#_TR"_7R-%LM_PR#_(D%Value O #etRo'MN%LM_)!T_3(_7R-%LM_PR#_(D%ValueQ #etLevel,MNM+N%LM_PR#_TR"_7R-%LM_P$RS&"_(D%Value O LM_&PR(D_(D_V7%LM_P$RS&"_(D%ValueQ DoModal)omponentMMenu"ame%LM_)3RR()3L3MK 0ar"ame%3S$K (tem"ame%LM_PR#_DTLS_$SSK Page%LM_PR#_S3MM_P#K P3PK Record%LM_PR#_TR"_7R-NQ $lse (f #etRo'MN%LM_V$R_DRV_V7%LM_!)T_(D%Value I , Then Sstr_from_page O /PageQ #etLevel,MN%#etRo'M+N%LM_!)T_3(_7R-%LM_!)T_(D%Value O #etRo'MN%LM_V$R_DRV_V7%LM_!)T_(D%ValueQ #etLevel,MN%#etRo'M+N%LM_!)T_3(_7R-%LM_P$RS&"_(D%Value O Si_nbr_Person(dQ LM_!)T_3(_7R-%LM_!)T_DTL_PRVP#TL O Msg#etTe@tM+>,>>K +6<K PPNQ TransferPageMPage%LM_L$!R"_!)T_DTLNQ $lse S(tem_Title O #etRo'MN%LM_V$R_DRV_V7%LM_)S_L&"#_"M%ValueQ LM_(TM_3(_7R-%LM_)(_(D O #etRo'MN%LM_V$R_DRV_V7%LM_)(_(D%ValueQ LM_3(_SR) _7R-%LM_PR$V_P!#$_"!M$ O /PageQ TransferPageMPage%LM_L$!R"_(TM_DTLNQ $ndE(fQ $ndE(fQ endEmethodQ method set!dvancedSearch&ptions LM_SR) _7R-%LM_!DV_SR) _T(P%Visible O 2alseQ (f SSearch_Type O P!P Then LM_)!T_3(_7R-%LM_SR) _!DV_!)T%Value O LM_)!T_3(_7R-%LM_SR) _!DV_!)T%ValueQ LM_)!T_3(_7R-%LM_SR) _!DV_D$S)R%Value O LM_)!T_3(_7R-%LM_SR) _!DV_D$S)R%ValueQ SResults2ound O PPQ LM_)!T_3(_7R-%LM_SR) _0!S()_2L#%Visible O 2alseQ LM_)!T_3(_7R-%LM_SR) _!DV_2L#%Visible O TrueQ LM_)!T_3(_7R-%LM_SR) _03TT&"%Label O LM_)!T_3(_7R-%LM_SR) _03TT&"%#etShortLabelMPLM_SR) _03TT&"PNQ $lse LM_3(_SR) _7R-%LM_)!T#_(D O ,Q LM_3(_SR) _7R-%LM_&0:V_(D O ,Q

LM_3(_SR) _7R-%LM_("STR_(D O ,Q LM_3(_SR) _7R-%LM_DMT D_(D O ,Q LM_)!T_3(_7R-%L!"#3!#$_)D O PPQ SetDefaultMLM_)!T_3(_7R-%LM_SR) _2R&M_DTNQ SetDefaultMLM_)!T_3(_7R-%LM_SR) _T&_DTNQ (f !llMLM_)!T_3(_7R-%LM_SR) _0!S_!)T%ValueN Then LM_)!T_3(_7R-%LM_SR) _!DV_!)T%Value O LM_)!T_3(_7R-%LM_SR) _0!S_!)T%ValueQ LM_)!T_3(_7R-%LM_SR) _!DV_D$S)R%Value O LM_)!T_3(_7R-%LM_SR) _0!S_!)T%ValueQ $lse LM_)!T_3(_7R-%LM_SR) _!DV_!)T%Value O LM_)!T_3(_7R-%LM_SR) _!DV_!)T%ValueQ LM_)!T_3(_7R-%LM_SR) _!DV_D$S)R%Value O LM_)!T_3(_7R-%LM_SR) _!DV_D$S)R%ValueQ $ndE(fQ LM_)!T_3(_7R-%LM_SR) _0!S_!)T O PPQ LM_3(_SR) _7R-%LM_2)LT*_(D O ,Q SSearch_Type O P!PQ SResults2ound O PPQ LM_)!T_3(_7R-%LM_SR) _0!S()_2L#%Visible O 2alseQ LM_)!T_3(_7R-%LM_SR) _!DV_2L#%Visible O TrueQ LM_)!T_3(_7R-%LM_SR) _03TT&"%Label O LM_)!T_3(_7R-%LM_SR) _03TT&"%#etShortLabelMPLM_SR) _03TT&"PNQ $ndE(fQ endEmethodQ method setSearchType2rom)ache Local 2ield SfieldK Sfld_L#RPQ (f SSearch_Type O P!P Then Sfield O #et2ieldMLM_)!T_3(_7R-%LM_SR) _0!S()_2L#NQ Sfield%Visible O 2alseQ Sfield O #et2ieldMLM_)!T_3(_7R-%LM_SR) _!DV_2L#NQ Sfield%Visible O TrueQ LM_)!T_3(_7R-%LM_SR) _03TT&"%Label O LM_)!T_3(_7R-%LM_SR) _03TT&"%#etShortLabelMPLM_SR) _03TT&"PNQ Set)ursorPosM/PageK LM_)!T_3(_7R-%LM_SR) _!DV_!)TK )urrentRo'"umberMNNQ $lse (f SSearch_Type O P0P Then Sfield O #et2ieldMLM_)!T_3(_7R-%LM_SR) _0!S()_2L#NQ Sfield%Visible O TrueQ Sfield O #et2ieldMLM_)!T_3(_7R-%LM_SR) _!DV_2L#NQ Sfield%Visible O 2alseQ LM_)!T_3(_7R-%LM_SR) _2R&M_DT%Value O PPQ $lse (f SSearch_Type O P!P Then Sfield O #et2ieldMLM_)!T_3(_7R-%LM_SR) _0!S()_2L#NQ Sfield%Visible O 2alseQ Sfield O #et2ieldMLM_)!T_3(_7R-%LM_SR) _!DV_2L#NQ Sfield%Visible O TrueQ Set)ursorPosM/PageK LM_)!T_3(_7R-%LM_SR) _!DV_!)TK )urrentRo'"umberMNNQ $lse Sfield O #et2ieldMLM_)!T_3(_7R-%LM_SR) _0!S()_2L#NQ Sfield%Visible O TrueQ Sfield O #et2ieldMLM_)!T_3(_7R-%LM_SR) _!DV_2L#NQ Sfield%Visible O 2alseQ LM_)!T_3(_7R-%LM_SR) _2R&M_DT%Value O PPQ $ndE(fQ $ndE(fQ $ndE(fQ endEmethodQ method run!llProgramSearch

Local !pi&b=ect SSearchResults)ollPQ SSearchResults)ollP O /This%populateProgramsMNQ Si_SearchResults)ollP O SSearchResults)ollPQ (f SResult_rs O "ull Then SResult_rs O #etLevel,MNM+N%#etRo'setMScroll%LM_V$R_DRV_V7NQ SResult_rs%2lushMNQ $ndE(fQ (f Srs_scroll_results O "ull Then Srs_scroll_results O )reateRo'setMSResult_rsNQ Srs_scroll_results%2lushMNQ $ndE(fQ (f MSSearchResults)ollP UI "ullN Then SResult_rs O /This%populateSearchPrgResultRo'setMSSearchResults)ollPNQ $ndE(fQ endEmethodQ method populatePersonLearner#roups)( 9C Snbr_Person(d as "umber C9 9C Returns String C9 Local Local Local Local string Sstr_Lrnr#rpQ Ro' Sro'_L#RPQ Record Srec_L#RPQ number SiQ

9L start code changes for Resolution >4;>;F L9 Local Ro'set Srs_grpcritQ Local number ScmblrnrgpidQ Local number SresultpersQ Local Ro'set Srs_subgrpcritQ Local number S=K SHK Sn_andoperandQ Local string SandoperandQ 9L end code changes for Resolution >4;>;F L9 (f Sc_rs_PrsnLrnr#rp O "ull &r Sc_rs_PrsnLrnr#rpMSc_rs_PrsnLrnr#rp%!ctiveRo')ountN%LM_P$RS_L#RP_V7%LM_LR"R_#R&3P_ (D%Value I , Then Sc_rs_PrsnLrnr#rp O )reateRo'setMRecord%LM_P$RS_L#RP_V7NQ Local L$)S_S$!R) 8Search)ontroller Sob=_Srch)ontrollerQ Sob=_Srch)ontroller O create L$)S_S$!R) 8Search)ontrollerMNQ Sc_rs_PrsnLrnr#rp O Sob=_Srch)ontroller%getPersonLearner#roupsMSnbr_Person(dNQ $ndE(fQ 2or Si O + To Sc_rs_PrsnLrnr#rp%!ctiveRo')ount Sro'_L#RP O Sc_rs_PrsnLrnr#rpMSiNQ Srec_L#RP O Sro'_L#RP%LM_P$RS_L#RP_V7Q (f !llMSrec_L#RP%LM_LR"R_#R&3P_(D%ValueN Then (f Si O + Then Sstr_Lrnr#rp O Srec_L#RP%LM_LR"R_#R&3P_(D%ValueQ $lse Sstr_Lrnr#rp O Sstr_Lrnr#rp R PK P R Srec_L#RP%LM_LR"R_#R&3P_(D%ValueQ $ndE(fQ $ndE(fQ $ndE2orQ 9L start code changes for Resolution >4;>;F L9 Srs_grpcrit O )reateRo'setMRecord%LM_#R&3PS_)R(TNQ Srs_grpcrit%2illMP7 $R$ LM_2($LD"!M$ O 1LM_LR"R_#R&3P_(D1 !"D LM_)R(T$R(!_(D O +PNQ 2or Si O + To Srs_grpcrit%!ctiveRo')ount

Scmblrnrgpid O Srs_grpcrit%#etRo'MSiN%#etRecordMRecord%LM_#R&3PS_)R(TN%#et2ieldM2ield%LM_LR"R_#R& 3P_(DN%ValueQ Srs_subgrpcrit O )reateRo'setMRecord%LM_#R&3PS_)R(TNQ Srs_subgrpcrit%2illMP7 $R$ LM_LR"R_#R&3P_(D O 8+PK ScmblrnrgpidNQ SH O ,Q 2or S= O + To Srs_subgrpcrit%!ctiveRo')ount Sresultpers O ,Q SQL$@ecMPS$L$)T LM_)R(T$R(!_V!L3$ 2R&M PS_LM_#R&3PS_)R(T 7 $R$ LM_LR"R_#R&3P_(D O 8+ !"D LM_)R(T$R(!_(D O 8;PK ScmblrnrgpidK S=K SandoperandNQ Sn_andoperand O ValueMSandoperandNQ SQL$@ecMPS$L$)T LM_P$RS&"_(D 2R&M PS_LM_#R&3P_P$RS&" 7 $R$ LM_P$RS&"_(D O 8+ !"D LM_LR"R_#R&3P_(D O 8;PK Snbr_Person(dK Sn_andoperandK SresultpersNQ (f MSresultpers UI ,N Then SH O SH C +Q $ndE(fQ (f SH O Srs_subgrpcrit%!ctiveRo')ount Then Sstr_Lrnr#rp O Sstr_Lrnr#rp R PK P R ScmblrnrgpidQ $ndE(fQ $ndE2orQ $ndE2orQ 9L end code changes for Resolution >4;>;F L9 Sstr_Lrnr#rp O PMMP R Sstr_Lrnr#rp R PN U("I LM_3(_)(_L#NPQ Return Sstr_Lrnr#rpQ endEmethodQ method populate)atalog)riteria0ean)( 9C Returns L$)S_S$!R) 8)atalogSearch)riteria0ean C9 Local L$)S_S$!R) 8)atalogSearch)riteria0ean Sob=_)atalogSrch0eanQ Local string Sstr_Lnr_#rpQ Sob=_)atalogSrch0ean O create L$)S_S$!R) 8)atalogSearch)riteria0eanMNQ Sob=_)atalogSrch0ean%0asicSearchTitle O 3pperMLM_)!T_3(_7R-%LM_SR) _0!S_!)TNQ Sob=_)atalogSrch0ean%!dvancedSearchTitle O 3pperMLM_)!T_3(_7R-%LM_SR) _!DV_!)TNQ Sob=_)atalogSrch0ean%0asicDescription O 3pperMLM_)!T_3(_7R-%LM_SR) _0!S_!)TNQ Sob=_)atalogSrch0ean%!dvancedDescription O 3pperMLM_)!T_3(_7R-%LM_SR) _!DV_D$S)R%ValueNQ Sob=_)atalogSrch0ean%)ategory(d O LM_3(_SR) _7R-%LM_)!T#_(D%ValueQ Sob=_)atalogSrch0ean%&b=ective(d O LM_3(_SR) _7R-%LM_&0:V_(D%ValueQ Sob=_)atalogSrch0ean%Person(d O LM_3(_SR) _7R-%LM_("STR_(D%ValueQ Sob=_)atalogSrch0ean%DeliveryMethod O LM_3(_SR) _7R-%LM_DMT D_(D%ValueQ Sob=_)atalogSrch0ean%Language)d O 3pperMLM_)!T_3(_7R-%L!"#3!#$_)D%ValueNQ Sob=_)atalogSrch0ean%2romDate O LM_)!T_3(_7R-%LM_SR) _2R&M_DT%ValueQ Sob=_)atalogSrch0ean%ToDate O LM_)!T_3(_7R-%LM_SR) _T&_DT%ValueQ Sob=_)atalogSrch0ean%2acility(d O LM_3(_SR) _7R-%LM_2)LT*_(D%ValueQ Sob=_)atalogSrch0ean%)ourse)ode O 3pperMLM_)!T_3(_7R-%LM_)RS$_)&D$NQ Sob=_)atalogSrch0ean%)atalogType O LM_3(_SR) _7R-%LM_!)TPR#_T*P$%ValueQ Sob=_)atalogSrch0ean%Learner(d O LM_&PR(D_(D_V7%LM_P$RS&"_(D%ValueQ Sob=_)atalogSrch0ean%$nableLRQ O /This%$nableLRQQ Sob=_)atalogSrch0ean%SearchType O P)PQ 9L 5? 2i@ +6>6>;+,,, L9 Sstr_Lnr_#rp O /This%populatePersonLearner#roups)(MLM_&PR(D_(D_V7%LM_P$RS&"_(D%ValueNQ Sob=_)atalogSrch0ean%PersonLearner#roup O Sstr_Lnr_#rpQ Sob=_)atalogSrch0ean%SearchPage)hunH O Snbr_ma@_ro'sQ Sob=_)atalogSrch0ean%SearchStart"umber O +Q Return Sob=_)atalogSrch0eanQ endEmethodQ method delete)alendar(nfo 9C Snbr_personid as "umberK C9 9C Snbr_vendor(d as "umberK C9

9C Snbr_user(d as String C9 9C Returns "umber C9 Local Record Srec_user)alendarQ Local number SreturnQ Local LM_D08D0!ccess Sob=_D0!ccess O create LM_D08D0!ccessMNQ Srec_user)alendar O )reateRecordMRecord% RS_)!L_3S$RNQ Srec_user)alendar%LM_P$RS&"_(D%Value O Snbr_personidQ Srec_user)alendar% RS_V$"D&R_(D%Value O Snbr_vendor(dQ Srec_user)alendar%LM_3S$R(D%Value O Snbr_user(dQ (f Srec_user)alendar%Select0y-eyMN Then Sreturn O Sob=_D0!ccess%DeleteMSrec_user)alendarNQ $ndE(fQ Return SreturnQ endEmethodQ

Peo1 eCode &A11 P!c>!/e*: LECS_SEARCH:Veri$6C!$! o/Se!rc<Pro=ider;O"E@ec%$e


import import import import import L$)S_S$!R) 8)atalogSearch)riteria0eanQ L$)S_S$!R) 8Search3tilitiesQ LM_2L!TT$"_)!T#8LM_2L!TT$"_)!T#Q L$M_3T(L(T($S83tilityQ L$)S_S$!R) 8Search)ontrollerQ

class Verity)atalogSearchProvider method catalogSearchMSob=_)atalogSearch)riteria0ean !s L$)S_S$!R) 8)atalogSearch)riteria0eanN Returns !pi&b=ectQ method 0uild)atalogQueryTe@tMSob=_)atalogSearch)riteria0ean !s L$)S_S$!R) 8)atalogSearch)riteria0eanN Returns stringQ endEclassQ 9L2i@ for >6D+<4_"0 L9 )omponent string SSearch_TypeQ 9L2i@ for >6D+<4_"0 $ndsL9 method catalogSearch 9C Sob=_)atalogSearch)riteria0ean as L$)S_S$!R) 8)atalogSearch)riteria0ean C9 9C Returns !pi&b=ect C9 Local string Sstr_QueryTe@tK Sstr_0ooleanTe@tK Sstr_TypoK Sstr_7ild)ardK Sstr_SoundK Sstr_StemK Sstr_!"D&RK Sstr_&b=ect(dK Sstr_)atalog(dK Sstr_0asic!ctionK Sstr_Learner#roupK Sstr_!dvanced!ctionK Sstr_0asicDescriptionK Sstr_!dvancedDescriptionK Sstr_&neK Sstr_ThreeK Sstr_!ctivityStatusK Sstr_)(StatusK Sstr_!ctivityStatusciK Sstr_flagQ Local number Snbr_PositionK Snbr_SearchStart"umberK Snbr_SearchPage)hunHQ Local !pi&b=ect Sapi_SearchQueryK Sapi_SearchResults)ollectionQ Sstr_Typo O PPQ Sstr_7ild)ard O PLPQ Sstr_Sound O PPQ Sstr_Stem O PPQ Sstr_!"D&R O PU!"DIPQ Sstr_QueryTe@t O /This%0uild)atalogQueryTe@tMSob=_)atalogSearch)riteria0eanNQ Sstr_Learner#roup O Sob=_)atalogSearch)riteria0ean%PersonLearner#roupQ Snbr_SearchStart"umber O Sob=_)atalogSearch)riteria0ean%SearchStart"umberQ Snbr_SearchPage)hunH O Sob=_)atalogSearch)riteria0ean%SearchPage)hunHQ Sstr_&ne O P+PQ Sstr_Three O P4PQ

9L>4GG+6_StartsL9 9L00_>6<;6; !ll the !ctivities 'hich have the status !ctive or )losedL9 Sstr_!ctivityStatus O P MMP R Sstr_&ne R PKP R Sstr_Three R PK +,N U("I LM_!)T_ST!T3SNPQ 9L!ctivity Status should be limited to + 'hich corresponds to an !ctive StatusL9 rem Sstr_!ctivityStatus O P MMP R Sstr_&ne R PN U("I LM_!)T_ST!T3SNPQ 9L>4GG+6_$ndsL9 Sstr_)(Status O P MM+,N U("I LM_)(_ST!T3SNPQ 9L>4GG+6_StartsL9 Sstr_flag O PMM1*1N U("I LM_)(_2L!#NPQ 9L>4GG+6_$ndsL9 (f MSob=_)atalogSearch)riteria0ean%SearchType O P!PN Then Sstr_QueryTe@t O Sstr_QueryTe@t R P U!"DI P R Sstr_Learner#roup R P U!"DI P R Sstr_!ctivityStatus R P U!"DI P R Sstr_)(StatusQ $lse (f MSob=_)atalogSearch)riteria0ean%SearchType O P)PN Then 9L2i@ for >6D+<4_"0 L9 (f SSearch_Type O P!P !nd ;LM_*!_SRCC_%RK8LM_ CTPR)_T=PE8$alue HF B2B> Then HHLM_UI_SR(1_!R,ELM_A(TPR3_T2PEE alue ML S0S A"$ AllHLM_UI_SR(1_!R,ELM_A(TPR3_T2PEE alueKK Or 6<A:#*e=AND (#"$%t%#" A$$e$ t# 7%B t/e Du+l%cate (I %))ue %" t/e re)#lut%#mR890TD5<6 6<8900D3_R3 T# retr%e*e t/e (atal#4 Item) &/%c/ /a) t/e l#cat%#" ma++e$<6 LM_UI_SR(1_!R,ELM_-(LT2_IDE alue ML S0SK T/e" Sstr_QueryTe@t O Sstr_QueryTe@t R P U!"DI P R Sstr_Learner#roup R P U!"DI P R Sstr_)(StatusQ $lse 9L2i@ for >6D+<4_"0 $ndsL9 9L>4GG+6_StartsL9 UL Sstr_QueryTe@t O Sstr_QueryTe@t R P U!"DI P R Sstr_Learner#roup R P U!"DI P R Sstr_)(StatusQLI 9L)oncatenate Sstr_flag and Sstr_!ctivityStatus for )atalog (tems SearchL9 UL Sstr_QueryTe@t O Sstr_QueryTe@t R P U!"DI P R Sstr_Learner#roup R P U!"DI P R Sstr_)(Status R P U!"DI P R Sstr_flag R P U!"DI P R Sstr_!ctivityStatusQLI 9L00_>6<;6; 2or )( search typeKdont include Sstr_!ctivityStatus% &nly Sstr_flagL9 6<Start=(#$e A$$e$ t# 7%B t/e Date 7%letr cr%ter%a %))ue %" t/e re)#lut%#mR890TD5<6 I7 AllHLM_(AT_UI_!R,ELM_SR(1_-ROM_DTE alueK Or AllHLM_(AT_UI_!R,ELM_SR(1_TO_DTE alueK T/e" P)tr_'uerATeBt I P)tr_'uerATeBt U S MANDL S U P)tr_Lear"er3r#u+ U S MANDL S U P)tr_(IStatu)Q El)e 6<E"$=(#$e A$$e$ t# 7%B t/e Date 7%letr cr%ter%a %))ue %" t/e re)#lut%#mR890TD5<6 Sstr_QueryTe@t O Sstr_QueryTe@t R P U!"DI P R Sstr_Learner#roup R P U!"DI P R Sstr_)(Status R P U!"DI P R Sstr_flagQ 6<Start=(#$e A$$e$ t# 7%B t/e Date 7%letr cr%ter%a %))ue %" t/e re)#lut%#mR890TD5<6 E"$=I7Q 6<E"$=(#$e A$$e$ t# 7%B t/e Date 7%letr cr%ter%a %))ue %" t/e re)#lut%#mR890TD5<6 9L>4GG+6_$ndsL9 $ndE(fQ $ndE(fQ $ndE(fQ Sapi_SearchQuery O /Session%#etSearchQueryMNQ Sapi_SearchQuery%(nde@"ame O PLM_V$R_(D5PQ Sapi_SearchQuery%Language O /LanguageQ Sapi_SearchQuery%QueryTe@t O Sstr_QueryTe@tQ

Sapi_SearchResults)ollection O Sapi_SearchQuery%$@ecuteMSnbr_SearchStart"umberK Snbr_SearchPage)hunHNQ Return Sapi_SearchResults)ollectionQ endEmethodQ method 0uild)atalogQueryTe@t 9C Sob=_)atalogSearch)riteria0ean as L$)S_S$!R) 8)atalogSearch)riteria0ean C9 9C Returns String C9 Local string Sstr_0ooleanTe@tK Sstr_QueryTe@tK Sstr_DeliveryMethodK Sstr_&b=ect(dK Sstr_)atalog(dK Sstr_2acility(dK Sstr_Language)odeK Sstr_Person(dK Sstr_0asic!ctionK Sstr_!dvanced!ctionK Sstr_SearchDescrK Sstr_TypoK Sstr_7ild)ardK Sstr_SoundK Sstr_StemK Sstr_!"D&RK Sstr_TempQueryK Sstr_)opy&fS$!R) D$S)RK Sstr_QueryTe@t&utK Sstr_)ourse)odeK Sstr_0asicDescrK Sstr_!dvancedDescrQ Local number Snbr_)atalog(tem(dK Snbr_PositionK Snbr_)ategory(dK Snbr_&b=ective(dK Snbr_DeliveryMethodK Snbr_2acility(dK Snbr_Person(dK Snbr_Learner(dQ Local L$)S_S$!R) 8Search3tilities Sob=_Search3tilities O create L$)S_S$!R) 8Search3tilitiesMNQ Local L$)S_S$!R) 8Search)ontroller Sob=_Search)ontroller O create L$)S_S$!R) 8Search)ontrollerMNQ Local date Sdt_TodayK Sdt_2romDateK Sdt_ToDateQ Sdt_Today O /DateQ Local string Sstr_DispDt2lag O P"PQ Local string Sstr_"o2acility O P,PQ Local string Sstr_"o!ctivity O P,PQ 9L 5? J+6>6>;+,,,L9 Local array of number Sary_lSubcatsQ Local LM_2L!TT$"_)!T#8LM_2L!TT$"_)!T# Scls_l2latten)ategory O create LM_2L!TT$"_)!T#8LM_2L!TT$"_)!T#MNQQ Local L$M_3T(L(T($S83tility Sob=_3tils O create L$M_3T(L(T($S83tilityMNQ Local string Sstr_lSubQueryQ Local string Sstr_Srch&perK Sstr_SearchTypeQ Sstr_Srch&per O Sob=_Search)ontroller%getDefaultSearch&peratorMNQ Sob=_Search3tilities%DefaultSearch&perator O Sstr_Srch&perQ Sstr_Typo O PPQ Sstr_7ild)ard O PLPQ Sstr_Sound O PPQ Sstr_Stem O PPQ Sstr_!"D&R O PU!"DIPQ Sstr_0asic!ction O Sob=_)atalogSearch)riteria0ean%0asicSearchTitleQ Sstr_!dvanced!ction O Sob=_)atalogSearch)riteria0ean%!dvancedSearchTitleQ Sstr_0asicDescr O Sob=_)atalogSearch)riteria0ean%0asicDescriptionQ Sstr_!dvancedDescr O Sob=_)atalogSearch)riteria0ean%!dvancedDescriptionQ Snbr_)ategory(d O Sob=_)atalogSearch)riteria0ean%)ategory(dQ Snbr_&b=ective(d O Sob=_)atalogSearch)riteria0ean%&b=ective(dQ Snbr_DeliveryMethod O Sob=_)atalogSearch)riteria0ean%DeliveryMethodQ Snbr_Person(d O Sob=_)atalogSearch)riteria0ean%Person(dQ Snbr_2acility(d O Sob=_)atalogSearch)riteria0ean%2acility(dQ Snbr_Learner(d O Sob=_)atalogSearch)riteria0ean%Learner(dQ (f !llMSnbr_)ategory(dN Then Sary_lSubcats O Scls_l2latten)ategory%getSub)ategories2or3serMSnbr_)ategory(dK Snbr_Learner(dNQ Sstr_)atalog(d O PMP R Snbr_)ategory(dQ (f MSary_lSubcats UI "ull !nd Sary_lSubcats%Len I ,N Then Sstr_)atalog(d O Sstr_)atalog(d R PK P R Sob=_3tils%:oin"umbersMSary_lSubcatsK PKPNQ $ndE(fQ Sstr_)atalog(d O Sstr_)atalog(d R PNPQ $ndE(fQ (f !llMSnbr_&b=ective(dN Then Sstr_&b=ect(d O StringMSnbr_&b=ective(dNQ $ndE(fQ (f !llMSnbr_DeliveryMethodN Then Sstr_DeliveryMethod O StringMSnbr_DeliveryMethodNQ $ndE(fQ

(f !llMSnbr_2acility(dN Then Sstr_2acility(d O StringMSnbr_2acility(dNQ $ndE(fQ (f !llMSnbr_Person(dN Then Sstr_Person(d O StringMSnbr_Person(dNQ $ndE(fQ Sstr_Language)ode O Sob=_)atalogSearch)riteria0ean%Language)dQ Sdt_2romDate O Sob=_)atalogSearch)riteria0ean%2romDateQ Sdt_ToDate O Sob=_)atalogSearch)riteria0ean%ToDateQ Sstr_)ourse)ode O Sob=_)atalogSearch)riteria0ean%)ourse)odeQ Sstr_QueryTe@t O PPQ Sstr_0ooleanTe@t O P U&RI PQ (f "oneMSstr_QueryTe@tN Then Sstr_QueryTe@t O P M1"1 U("I LM_R$STR()T_T&_PR# N PQ $lse Sstr_QueryTe@t O Sstr_QueryTe@t R P U!"DI M 1"1 U("I LM_R$STR()T_T&_PR#N PQ $ndE(fQ (f "oneMSstr_QueryTe@tN Then 9L+F<6,;;,,, 0eginL9 (f MSob=_)atalogSearch)riteria0ean%SearchType O P)PN Then $lse Sstr_QueryTe@t O P MU"&TIML U("I LM_$"D_DTNP R P U&RI LM_$"D_DTIO P R Sdt_Today R PN PQ $ndE(fQ $lse (f MSob=_)atalogSearch)riteria0ean%SearchType O P)PN Then $lse Sstr_QueryTe@t O Sstr_QueryTe@t R P U!"DI MU"&TIML U("I LM_$"D_DTNP R P U&RI LM_$"D_DT IO P R Sdt_Today R PN PQ $ndE(fQ $ndE(fQ (f !llMSnbr_)atalog(tem(dN Then (f "oneMSstr_QueryTe@tN Then Sstr_QueryTe@t O P MP R Snbr_)atalog(tem(d R P U("I LM_)(_(DN PQ $lse Sstr_QueryTe@t O Sstr_QueryTe@t R P U!"DI MP R Snbr_)atalog(tem(d R P U("I LM_)(_(DN PQ $ndE(fQ $ndE(fQ (f !llMSstr_DeliveryMethodN Then (f "oneMSstr_QueryTe@tN Then Sstr_QueryTe@t O P MP R Sstr_DeliveryMethod R P U("I LM_DMT D_T*P$_(D N PQ $lse Sstr_QueryTe@t O Sstr_QueryTe@t R P U!"DI M P R Sstr_DeliveryMethod R P U("I LM_DMT D_T*P$_(D N PQ $ndE(fQ $ndE(fQ (f !llMSstr_&b=ect(dN Then (f "oneMSstr_QueryTe@tN Then Sstr_QueryTe@t O Sstr_&b=ect(d R P U("I LM_&0:V_(D PQ $lse Sstr_QueryTe@t O Sstr_QueryTe@t R P U!"DI MP R Sstr_&b=ect(d R P U("I LM_&0:V_(DN PQ $ndE(fQ $ndE(fQ (f !llMSstr_)atalog(dN Then (f "oneMSstr_QueryTe@tN Then Sstr_QueryTe@t O Sstr_)atalog(d R P U("I LM_)!T#_(D PQ $lse Sstr_QueryTe@t O Sstr_QueryTe@t R P U!"DI MP R Sstr_)atalog(d R P U("I LM_)!T#_(DN PQ $ndE(fQ

$ndE(fQ (f !llMSstr_2acility(dN Then (f "oneMSstr_QueryTe@tN Then Sstr_QueryTe@t O PM P R Sstr_2acility(d R P U("I LM_2)LT*_(D U&RI P R Sstr_"o2acility R P U("I LM_2)LT*_(D NPQ $lse ?0tr_7ueryTe&t 9 ?0tr_7ueryTe&t G B H NDF ;B G ?0tr_Facility!d G B H!NF LM_FCLT=_!D H-RF B G ?0tr_NoFacility G B H!NF LM_FCLT=_!D >BA 6<8900D3_R3 Be4%"=T# re)tr%ct t/e (atal#4 Item) %" t/e )earc/ re)ult) 7#r &/%c/ t/e 7ac%l%tA %) "#t ma++e$<6 rem P)tr_'uerATeBt I P)tr_'uerATeBt U S MANDL HS U P)tr_-ac%l%tAI$ U S MINL LM_-(LT2_ID MORL S U P)tr_N#-ac%l%tA U S MINL LM_-(LT2_ID KSQ P)tr_'uerATeBt I P)tr_'uerATeBt U S MANDL HS U P)tr_-ac%l%tAI$ U S MINL LM_-(LT2_IDKSQ 6<8900D3 E"$<6 $ndE(fQ $ndE(fQ (f !llMSstr_Language)odeN Then (f "oneMSstr_QueryTe@tN Then Sstr_QueryTe@t O P MP R Sstr_Language)ode R P U("I LM_L!"#3!#$_)DN PQ $lse Sstr_QueryTe@t O Sstr_QueryTe@t R P U!"DI MP R Sstr_Language)ode R P U("I LM_L!"#3!#$_)DN PQ $ndE(fQ $ndE(fQ (f !llMSstr_Person(dN Then (f "oneMSstr_QueryTe@tN Then Sstr_QueryTe@t O Sstr_Person(d R P U("I LM_("STR_(D PQ $lse Sstr_QueryTe@t O Sstr_QueryTe@t R P U!"DI MP R Sstr_Person(d R P U("I LM_("STR_(DN PQ $ndE(fQ $ndE(fQ (f !llMSdt_2romDateN Then (f "oneMSstr_QueryTe@tN Then Sstr_QueryTe@t O P MLM_ST!RT_DT IO P R Sdt_2romDate R P U&RI P R Sstr_DispDt2lag R P U("I LM_D(SP_D!T$SN PQ $lse Sstr_QueryTe@t O Sstr_QueryTe@t R P U!"DI MLM_ST!RT_DT IO P R Sdt_2romDate R P U&RI P R Sstr_DispDt2lag R P U("I LM_D(SP_D!T$SN PQ $ndE(fQ $ndE(fQ (f !llMSdt_ToDateN Then (f "oneMSstr_QueryTe@tN Then Sstr_QueryTe@t O P MLM_ST!RT_DT UO P R Sdt_ToDate R P U&RI P R Sstr_DispDt2lag R P U("I LM_D(SP_D!T$SN PQ $lse Sstr_QueryTe@t O Sstr_QueryTe@t R P U!"DI MLM_ST!RT_DT UO P R Sdt_ToDate R P U&RI P R Sstr_DispDt2lag R P U("I LM_D(SP_D!T$SN PQ $ndE(fQ $ndE(fQ (f !llMSstr_0asicDescrN Then Snbr_Position O 2indMP PK Sstr_0asicDescrNQ (f "oneMSstr_QueryTe@tN Then (f Snbr_Position I , Then Sstr_SearchDescr O Sstr_0asicDescrQ Sstr_)opy&fS$!R) D$S)R O Sstr_SearchDescrQ Sstr_QueryTe@t&ut O Sob=_Search3tilities%build2ieldQueryMSstr_SearchDescrK PLM_)S_D$S)RPK Sstr_TypoK Sstr_7ild)ardK Sstr_SoundK Sstr_StemK Sstr_!"D&RK Sstr_TempQueryNQ Sstr_QueryTe@t O Sstr_QueryTe@t R Sstr_!"D&R R P MMP R Sstr_QueryTe@t&ut R PNPQ Sstr_TempQuery O PPQ Sstr_QueryTe@t&ut O

Sob=_Search3tilities%build2ieldQueryMSstr_)opy&fS$!R) D$S)RK PLM_-7RDPK Sstr_TypoK Sstr_7ild)ardK Sstr_SoundK Sstr_StemK Sstr_!"D&RK Sstr_TempQueryNQ Sstr_QueryTe@t O Sstr_QueryTe@t R P U&RI MP R Sstr_QueryTe@t&ut R PN PQ Sstr_TempQuery O PPQ Sstr_QueryTe@t&ut O Sob=_Search3tilities%build2ieldQueryMSstr_)opy&fS$!R) D$S)RK PLM_)S_L&"#_"M_SR) PK Sstr_TypoK Sstr_7ild)ardK Sstr_SoundK Sstr_StemK Sstr_!"D&RK Sstr_TempQueryNQ Sstr_QueryTe@t O Sstr_QueryTe@t R P U&RI MP R Sstr_QueryTe@t&ut R PNN PQ $lse (f Sstr_Srch&per O PS30SP Then Sstr_QueryTe@t O P MMLM_)S_D$S)R US30STR("#I PPP R Sstr_0asicDescr R PPPNP R Sstr_0ooleanTe@t R PMLM_)S_L&"#_"M_SR) US30STR("#I PPP R Sstr_0asicDescr R PPPN P R Sstr_0ooleanTe@t R PMLM_-7RD US30STR("#I PPP R Sstr_0asicDescr R PPPNN PQ $lse Sstr_QueryTe@t O P MMP R Sstr_0asicDescr R P U("I LM_)S_D$S)R NP R Sstr_0ooleanTe@t R PM P R Sstr_0asicDescr R P U("I LM_)S_L&"#_"M_SR) N P R Sstr_0ooleanTe@t R PMP R Sstr_0asicDescr R P U("ILM_-7RDNN PQ $ndE(fQ $ndE(fQ $lse (f Snbr_Position I , Then Sstr_SearchDescr O Sstr_0asicDescrQ Sstr_)opy&fS$!R) D$S)R O Sstr_SearchDescrQ Sstr_QueryTe@t&ut O Sob=_Search3tilities%build2ieldQueryMSstr_SearchDescrK PLM_)S_D$S)RPK Sstr_TypoK Sstr_7ild)ardK Sstr_SoundK Sstr_StemK Sstr_!"D&RK Sstr_TempQueryNQ Sstr_QueryTe@t O Sstr_QueryTe@t R Sstr_!"D&R R P MMP R Sstr_QueryTe@t&ut R PNPQ Sstr_TempQuery O PPQ Sstr_QueryTe@t&ut O Sob=_Search3tilities%build2ieldQueryMSstr_)opy&fS$!R) D$S)RK PLM_-7RDPK Sstr_TypoK Sstr_7ild)ardK Sstr_SoundK Sstr_StemK Sstr_!"D&RK Sstr_TempQueryNQ Sstr_QueryTe@t O Sstr_QueryTe@t R P U&RI MP R Sstr_QueryTe@t&ut R PN PQ Sstr_TempQuery O PPQ Sstr_QueryTe@t&ut O Sob=_Search3tilities%build2ieldQueryMSstr_)opy&fS$!R) D$S)RK PLM_)S_L&"#_"M_SR) PK Sstr_TypoK Sstr_7ild)ardK Sstr_SoundK Sstr_StemK Sstr_!"D&RK Sstr_TempQueryNQ Sstr_QueryTe@t O Sstr_QueryTe@t R P U&RI MP R Sstr_QueryTe@t&ut R PNN PQ $lse (f Sstr_Srch&per O PS30SP Then Sstr_QueryTe@t O Sstr_QueryTe@t R Sstr_!"D&R R P MMLM_)S_D$S)R US30STR("#I PPP R Sstr_0asicDescr R PPPNP R Sstr_0ooleanTe@t R PMLM_)S_L&"#_"M_SR) US30STR("#I PPP R Sstr_0asicDescr R PPPN P R Sstr_0ooleanTe@t R PMLM_-7RD US30STR("#I PPP R Sstr_0asicDescr R PPPNN PQ $lse Sstr_QueryTe@t O Sstr_QueryTe@t R Sstr_!"D&R R P MMP R Sstr_0asicDescr R P U("I LM_)S_D$S)R NP R Sstr_0ooleanTe@t R PM P R Sstr_0asicDescr R P U("I LM_)S_L&"#_"M_SR) N P R Sstr_0ooleanTe@t R PMP R Sstr_0asicDescr R P U("I LM_-7RDNN PQ $ndE(fQ $ndE(fQ $ndE(fQ $ndE(fQ (f !llMSstr_!dvanced!ctionN Then Snbr_Position O 2indMP PK Sstr_!dvanced!ctionNQ (f "oneMSstr_QueryTe@tN Then (f Snbr_Position I , Then Sstr_SearchDescr O Sstr_!dvanced!ctionQ Sstr_QueryTe@t&ut O Sob=_Search3tilities%build2ieldQueryMSstr_SearchDescrK PLM_)S_L&"#_"M_SR) PK Sstr_TypoK Sstr_7ild)ardK Sstr_SoundK Sstr_StemK Sstr_!"D&RK Sstr_QueryTe@tNQ Sstr_QueryTe@t O Sstr_QueryTe@t&utQ $lse (f Sstr_Srch&per O PS30SP Then

Sstr_QueryTe@t O P MMLM_)S_L&"#_"M_SR) US30STR("#I PPP R Sstr_!dvanced!ction R PPPNN PQ $lse Sstr_QueryTe@t O P MMP R Sstr_!dvanced!ction R P U("I LM_)S_L&"#_"M_SR) NN PQ $ndE(fQ $ndE(fQ $lse (f Snbr_Position I , Then Sstr_SearchDescr O Sstr_!dvanced!ctionQ Sstr_QueryTe@t&ut O Sob=_Search3tilities%build2ieldQueryMSstr_SearchDescrK PLM_)S_L&"#_"M_SR) PK Sstr_TypoK Sstr_7ild)ardK Sstr_SoundK Sstr_StemK Sstr_!"D&RK Sstr_QueryTe@tNQ Sstr_QueryTe@t O Sstr_QueryTe@t&utQ $lse (f Sstr_Srch&per O PS30SP Then Sstr_QueryTe@t O Sstr_QueryTe@t R P U!"DI MMLM_)S_L&"#_"M_SR) US30STR("#I PPP R Sstr_!dvanced!ction R PPPNN PQ $lse Sstr_QueryTe@t O Sstr_QueryTe@t R P U!"DI MMP R Sstr_!dvanced!ction R P U("I LM_)S_L&"#_"M_SR) NN PQ $ndE(fQ $ndE(fQ $ndE(fQ $ndE(fQ (f !llMSstr_)ourse)odeN Then Snbr_Position O 2indMP PK Sstr_)ourse)odeNQ (f "oneMSstr_QueryTe@tN Then (f Snbr_Position I , Then Sstr_SearchDescr O Sstr_)ourse)odeQ Sstr_QueryTe@t&ut O Sob=_Search3tilities%build2ieldQueryMSstr_SearchDescrK PLM_)RS$_)&D$PK Sstr_TypoK Sstr_7ild)ardK Sstr_SoundK Sstr_StemK Sstr_!"D&RK Sstr_QueryTe@tNQ Sstr_QueryTe@t O Sstr_QueryTe@t&utQ $lse (f Sstr_Srch&per O PS30SP Then Sstr_QueryTe@t O P MMLM_)RS$_)&D$ US30STR("#I PPP R Sstr_)ourse)ode R PPPNN PQ $lse Sstr_QueryTe@t O P MMP R Sstr_)ourse)ode R P U("I LM_)RS$_)&D$ NN PQ $ndE(f $ndE(fQ $lse (f Snbr_Position I , Then Sstr_SearchDescr O Sstr_)ourse)odeQ Sstr_QueryTe@t&ut O Sob=_Search3tilities%build2ieldQueryMSstr_SearchDescrK PLM_)RS$_)&D$PK Sstr_TypoK Sstr_7ild)ardK Sstr_SoundK Sstr_StemK Sstr_!"D&RK Sstr_QueryTe@tNQ Sstr_QueryTe@t O Sstr_QueryTe@t&utQ $lse (f Sstr_Srch&per O PS30SP Then Sstr_QueryTe@t O Sstr_QueryTe@t R P U!"DI MMLM_)RS$_)&D$ US30STR("#I PPP R Sstr_)ourse)ode R PPPNN PQ $lse Sstr_QueryTe@t O Sstr_QueryTe@t R P U!"DI MMP R Sstr_)ourse)ode R P U("I LM_)RS$_)&D$ NN PQ $ndE(fQ $ndE(fQ $ndE(fQ $ndE(fQ (f !llMSstr_!dvancedDescrN Then Snbr_Position O 2indMP PK Sstr_!dvancedDescrNQ (f "oneMSstr_QueryTe@tN Then (f Snbr_Position I , Then Sstr_SearchDescr O Sstr_!dvancedDescrQ Sstr_)opy&fS$!R) D$S)R O Sstr_SearchDescrQ Sstr_QueryTe@t&ut O

Sob=_Search3tilities%build2ieldQueryMSstr_SearchDescrK PLM_)S_D$S)RPK Sstr_TypoK Sstr_7ild)ardK Sstr_SoundK Sstr_StemK Sstr_!"D&RK Sstr_TempQueryNQ Sstr_QueryTe@t O Sstr_QueryTe@t R Sstr_!"D&R R P MMP R Sstr_QueryTe@t&ut R PNPQ Sstr_TempQuery O PPQ Sstr_QueryTe@t&ut O Sob=_Search3tilities%build2ieldQueryMSstr_)opy&fS$!R) D$S)RK PLM_-7RDPK Sstr_TypoK Sstr_7ild)ardK Sstr_SoundK Sstr_StemK Sstr_!"D&RK Sstr_TempQueryNQ Sstr_QueryTe@t O Sstr_QueryTe@t R P U&RI MP R Sstr_QueryTe@t&ut R PNN PQ $lse (f Sstr_Srch&per O PS30SP Then Sstr_QueryTe@t O P MMLM_)S_D$S)R US30STR("#I PPP R Sstr_!dvancedDescr R PPPNP R Sstr_0ooleanTe@t R PMLM_-7RD US30STR("#I PPP R Sstr_!dvancedDescr R PPPNN PQ $lse Sstr_QueryTe@t O P MMP R Sstr_!dvancedDescr R P U("I LM_)S_D$S)R NP R Sstr_0ooleanTe@t R PMP R Sstr_!dvancedDescr R P U("I LM_-7RD NN PQ $ndE(fQ $ndE(fQ $lse (f Snbr_Position I , Then Sstr_SearchDescr O Sstr_!dvancedDescrQ Sstr_)opy&fS$!R) D$S)R O Sstr_SearchDescrQ Sstr_QueryTe@t&ut O Sob=_Search3tilities%build2ieldQueryMSstr_SearchDescrK PLM_)S_D$S)RPK Sstr_TypoK Sstr_7ild)ardK Sstr_SoundK Sstr_StemK Sstr_!"D&RK Sstr_TempQueryNQ Sstr_QueryTe@t O Sstr_QueryTe@t R Sstr_!"D&R R P MMP R Sstr_QueryTe@t&ut R PNPQ Sstr_TempQuery O PPQ Sstr_QueryTe@t&ut O Sob=_Search3tilities%build2ieldQueryMSstr_)opy&fS$!R) D$S)RK PLM_-7RDPK Sstr_TypoK Sstr_7ild)ardK Sstr_SoundK Sstr_StemK Sstr_!"D&RK Sstr_TempQueryNQ Sstr_QueryTe@t O Sstr_QueryTe@t R P U&RI MP R Sstr_QueryTe@t&ut R PNN PQ $lse (f Sstr_Srch&per O PS30SP Then Sstr_QueryTe@t O Sstr_QueryTe@t R P U!"DI MMLM_)S_D$S)R US30STR("#I PPP R Sstr_!dvancedDescr R PPPNP R Sstr_0ooleanTe@t R PMLM_-7RD US30STR("#I PPP R Sstr_!dvancedDescr R PPPNN PQ $lse Sstr_QueryTe@t O Sstr_QueryTe@t R P U!"DI MMP R Sstr_!dvancedDescr R P U("I LM_)S_D$S)R NP R Sstr_0ooleanTe@t R PMP R Sstr_!dvancedDescr R P U("I LM_-7RD NN PQ $ndE(fQ $ndE(fQ $ndE(fQ $ndE(fQ (f MSob=_)atalogSearch)riteria0ean%$nableLRQN Then Sstr_lSubQuery O P1*1 U("I LM_$"!0L$_LRQPQ (f M"oneMSstr_QueryTe@tNN Then Sstr_QueryTe@t O Sstr_lSubQueryQ $lse Sstr_QueryTe@t O Sstr_QueryTe@t R P U!"DI P R Sstr_lSubQueryQ $ndE(fQ $ndE(fQ 9LLL 5? ++9;G9,D 2i@ J+6>6>;+,,, (f it is !ctivity Search filter out all )(s that 'ith no activities LLL9 (f Sob=_)atalogSearch)riteria0ean%SearchType O P!P Then Sstr_QueryTe@t O Sstr_QueryTe@t R P U!"DI U"&TIM P R Sstr_"o!ctivity R P U("I LM_!)T_(D N PQ $ndE(fQ 9LLL 5? ++9;G9,D 2i@ J+6>6>;+,,, LLL9 Return Sstr_QueryTe@tQ endEmethodQ

Peo1 eCode &A11 P!c>!/e*: LEC_CATALOG_INTERFACE:M!"!/erP !"P!/eSe$%1;O"E@ec%$e


9LL L !pplication )lass ManagerPlanPageSetup8 This class L contains all the methods used to setup the L selfEservice My Team1s Learning Plan pages L9 import L$0L_3T(L(T($S8LQ import L$M_3T(L(T($S8LQ import L$)_)!T!L&#_("T$R2!)$8LearningPlanPageSetupQ import L$0&_)&MM&"8Date2ormatQ import L$0&_P$RS&"8Person)lassQ import L$)S_)&MM&"8DefaultsQ

class ManagerPlanPageSetup method ManagerPlanPageSetupMNQ method !ctivateManager)urrentPageMSstr_Page"ame !s stringK Sstr_Lm2ilter"ame !s stringK Snbr_LmManager(d !s numberK Snbr_LmPerson(d !s numberK Sle(D !s numberNQ endEclassQ method ManagerPlanPageSetup endEmethodQ method !ctivateManager)urrentPage 9C Sstr_Page"ame as StringK C9 9C Sstr_Lm2ilter"ame as StringK C9 9C Snbr_LmManager(d as "umberK C9 9C Snbr_LmPerson(d as "umberK C9 9C Sle(D as "umber C9 Local #rid S#ridQ Local Ro' Sro'_LmMgrPlanQ Local boolean Sbol_Ro'$mptyQ Local date SafterDateK SbeforeDateQ Local 2ield Sfld_LmMgrPlan_ciK Sfld_LmMgrPlan_ci_lnHQ Local 2ield Sfld_LmMgrPlan_goK Sfld_name_lnHK Sfld_LmMgr_Status_lnHK Sfld_sttsQ Local 2ield Sfld_LmPlan_StatusK Sfld_LmPlan_sourceK Sfld_sourceK Sfld_re.idK Sfld_DrctReptQ Local Ro'set Srs_tempLrnRe.)tK Srs_tempLQM#"L)iK Srs_tempLQM#"L)tK Srs_tempPlan!ct)iQ Local Ro'set Srs_LmMgrPlanK Srs_temp)urr!ctK Srs_tempProgramsK Srs_temp!dhocK Srs_tempLrnRe.)iQ Local Record Srec_LmMgrPlanK Srec_LmMgrPlan_'rHK Srec_temp)urr!ctK Srec_temp!dhocK Srec_temp)urrProgQ Local Record Srec_tempLrnRe.)iK Srec_tempLrnRe.)tK Srec_tempLQM#"L)iK Srec_tempLQM#"L)tK Srec_tempPlan!ct)iQ Local string SS.l!ctK SS.lProgK SS.l!dhocK SS.lLrnRe.K SS.lPln!ct)iK S(nValuesK Sfilter"ameQ Local string Sstr_fnameK Sstr_lnameK Sstr_nameK Sfld_first_nameK Sfld_last_nameK Sfld_nameK Sstr_MgrSttsQ Local number Snbr_tempLr.)iK Snbr_tempLr.)tK Snbr_tempLQM#"L)iK Snbr_tempLQM#"L)tK Snbr_tempPlan!ct)iK STeroQ Local number SiK S=K SgK Snbr_)()ountK Snbr_!dhoc)ountK Sdays"umberK Snbr_)()ount;K Snbr_)()ount4K Snbr_!dhc_loopQ Local L$0&_)&MM&"8Date2ormat Scls_lDate2ormat O create L$0&_)&MM&"8Date2ormatMNQ Local string Sstr_lDate2ormat O Scls_lDate2ormat%2ormatDateStringMNQ Local L$)_)!T!L&#_("T$R2!)$8LearningPlanPageSetup S2ilterDefn&b=Q Local L$0&_P$RS&"8Person)lass SpersonMgrQ Local string Smgr&pridQ STero O ,Q S2ilterDefn&b= O create L$)_)!T!L&#_("T$R2!)$8LearningPlanPageSetupMNQ Sstr_MgrStts O P1D$)L1K 1)!")1K 1)&MP1K 1$"RL1K 1(")&1K 1("P&1K 1P$!P1K 1P$P!1K 1PL!"1K 1PP*!1K K 17!(V1K 17TLT1K 1+1K 1;1K 141K 17!R"1K 1R$V-1K 1R$(S1K 1$5PR1PQ

Scroll2lushMRecord%LM_$"RLT_M#D_V7NQ Srs_LmMgrPlan O #etLevel,MNM+N%#etRo'setMScroll%LM_$"RLT_M#D_V7NQ Srs_tempLQM#"L)i O )reateRo'setMRecord%LM_LQM#"L_)(_V7NQ Srs_tempLQM#"L)t O )reateRo'setMRecord%LM_LQM#"L_)T_V7NQ 9L )hecH the Learning $nvironment if $nable 2rench 2eatures is s'itched on L9 Local L$)S_)&MM&"8Defaults Sle!ttributesQ Sle!ttributes O create L$)S_)&MM&"8DefaultsMSle(DNQ (f !llMSnbr_LmManager(dN Then Srs_temp)urr!ct O )reateRo'setMRecord%LM_$"RLT_M#D_V7NQ Srs_tempPlan!ct)i O )reateRo'setMRecord%LM_PL!"_M#D_V7NQ Srs_temp!dhoc O )reateRo'setMRecord%LM_M#R_!D )_V7NQ Srs_tempPrograms O )reateRo'setMRecord%LM_PR#R$#_M#_V7NQ Srs_tempLrnRe.)i O )reateRo'setMRecord%LM_LRQM#R_)(_V7NQ Srs_tempLrnRe.)t O )reateRo'setMRecord%LM_LRQM#R_)T_V7NQ SpersonMgr O create L$0&_P$RS&"8Person)lassMSnbr_LmManager(dNQ Smgr&prid O SpersonMgr%get&pridMNQ 9L(f Smgr&prid UI /3ser(d Then LM_)!T_3(_7R-%LM_DR)T_R$PT_!)T"%$nabled O 2alseQ $ndE(fQ L9 $lse Srs_temp)urr!ct O )reateRo'setMRecord%LM_$"RL_M#D_V7;NQ Srs_tempPlan!ct)i O )reateRo'setMRecord%LM_PL!"_M#D_V7;NQ Srs_temp!dhoc O )reateRo'setMRecord%LM_M#R_!D _V7;NQ Srs_tempPrograms O )reateRo'setMRecord%LM_PR#R$_M#_V7;NQ Srs_tempLrnRe.)i O )reateRo'setMRecord%LM_LRQM#_)(_V7;NQ Srs_tempLrnRe.)t O )reateRo'setMRecord%LM_LRQM#_)T_V7;NQ $ndE(fQ Srs_temp)urr!ct%2lushMNQ 9L #et SQL for 2ilter or #et all ro's if no 2ilter L9 (f !llMSnbr_LmManager(dN Then (f "oneMSstr_Lm2ilter"ameN Then (f "oneMSnbr_LmPerson(dN Then Snbr_)()ount O Srs_temp)urr!ct%2illMP7 $R$ &PR(D O 8+ !"D LM_M!"!#$R_(D O8; !"D LM_STTS in MP R Sstr_MgrStts R PNPK Smgr&pridK Snbr_LmManager(dNQ Snbr_)()ount; O Srs_tempPrograms%2illMP7 $R$ &PR(D O 8+ !"D LM_M!"!#$R_(D O8; !"D LM_PR#_STTS (" MP R Sstr_MgrStts R PNPK Smgr&pridK Snbr_LmManager(dNQ Snbr_)()ount4 O Srs_temp!dhoc%2illMP7 $R$ &PR(D O 8+ !"D LM_M!"!#$R_(D O8; !"D LM_!D )_LR"_STTS (" MP R Sstr_MgrStts R PNPK Smgr&pridK Snbr_LmManager(dNQ Snbr_tempLr.)i O Srs_tempLrnRe.)i%2illMP7 $R$ &PR(D O 8+ !"D LM_M!"!#$R_(D O8; !"D LM_LRQ_ST!T3S (" MP R Sstr_MgrStts R PNPK Smgr&pridK Snbr_LmManager(dNQ Snbr_tempLr.)t O Srs_tempLrnRe.)t%2illMP7 $R$ &PR(D O 8+ !"D LM_M!"!#$R_(D O8; !"D LM_LRQ_ST!T3S (" MP R Sstr_MgrStts R PNPK Smgr&pridK Snbr_LmManager(dNQ Snbr_tempLQM#"L)i O Srs_tempLQM#"L)i%2illMP7 $R$ &PR(D O 8+ !"D LM_M!"!#$R_(D O8; PK Smgr&pridK Snbr_LmManager(dNQ Snbr_tempLQM#"L)t O Srs_tempLQM#"L)t%2illMP7 $R$ &PR(D O 8+ !"D LM_M!"!#$R_(D O8; PK Smgr&pridK Snbr_LmManager(dNQ Snbr_tempPlan!ct)i O Srs_tempPlan!ct)i%2illMP7 $R$ &PR(D O 8+ !"D LM_M!"!#$R_(D O8; !"D LM_STTS in MP R Sstr_MgrStts R PNPK Smgr&pridK Snbr_LmManager(dNQ $lse Snbr_)()ount O Srs_temp)urr!ct%2illMP7 $R$ &PR(DO8+ !"D LM_M!"!#$R_(D O8; !"D LM_STTS in MP R Sstr_MgrStts R PN !"D LM_P$RS&"_(DO84 PK Smgr&pridK Snbr_LmManager(dK Snbr_LmPerson(dNQ Snbr_)()ount; O Srs_tempPrograms%2illMP7 $R$ &PR(DO8+ !"D LM_M!"!#$R_(D O8; !"D LM_PR#_STTS in MP R Sstr_MgrStts R PN !"D LM_P$RS&"_(DO84 PK Smgr&pridK Snbr_LmManager(dK Snbr_LmPerson(dNQ Snbr_)()ount4 O Srs_temp!dhoc%2illMP7 $R$ &PR(DO8+ !"D LM_M!"!#$R_(D O8; !"D LM_!D )_LR"_STTS in MP R Sstr_MgrStts R PN !"D LM_P$RS&"_(DO84 PK Smgr&pridK Snbr_LmManager(dK Snbr_LmPerson(dNQ Snbr_tempLr.)i O Srs_tempLrnRe.)i%2illMP7 $R$ &PR(DO8+ !"D LM_M!"!#$R_(D O8; !"D LM_LRQ_ST!T3S in MP R Sstr_MgrStts R PN !"D LM_P$RS&"_(DO84 PK Smgr&pridK Snbr_LmManager(dK Snbr_LmPerson(dNQ Snbr_tempLr.)t O Srs_tempLrnRe.)t%2illMP7 $R$ &PR(DO8+ !"D LM_M!"!#$R_(D O8; !"D LM_LRQ_ST!T3S in MP R Sstr_MgrStts R PN !"D LM_P$RS&"_(DO84

PK Smgr&pridK Snbr_LmManager(dK Snbr_LmPerson(dNQ Snbr_tempLQM#"L)i O ,Q Snbr_tempLQM#"L)t O ,Q Snbr_tempPlan!ct)i O Srs_tempPlan!ct)i%2illMP7 $R$ &PR(DO8+ !"D LM_M!"!#$R_(D O8; !"D LM_STTS in MP R Sstr_MgrStts R PN !"D LM_P$RS&"_(DO84 PK Smgr&pridK Snbr_LmManager(dK Snbr_LmPerson(dNQ $ndE(fQ $lse SS.l!ct O S2ilterDefn&b=%)reateSQL2or2ilterMSstr_Lm2ilter"ameK Sle(DK Sdays"umberK SafterDateK SbeforeDateK SS.lProgK SS.l!dhocK SS.lLrnRe.K SS.lPln!ct)iNQ (f "oneMSnbr_LmPerson(dN Then (f !llMSdays"umberN Then Snbr_)()ount O Srs_temp)urr!ct%2illMP7 $R$ &PR(D O 8+ P R SS.l!ct R P !"D LM_M!"!#$R_(D O 84PK Smgr&pridK Sdays"umberK Snbr_LmManager(dNQ Snbr_)()ount; O Srs_tempPrograms%2illMP7 $R$ &PR(D O 8+ P R SS.lProg R P !"D LM_M!"!#$R_(D O 84PK Smgr&pridK Sdays"umberK Snbr_LmManager(dNQ Snbr_)()ount4 O Srs_temp!dhoc%2illMP7 $R$ &PR(D O 8+ P R SS.l!dhoc R P !"D LM_M!"!#$R_(D O 84PK Smgr&pridK Sdays"umberK Snbr_LmManager(dNQ Snbr_tempLr.)i O Srs_tempLrnRe.)i%2illMP7 $R$ &PR(D O 8+ P R SS.lLrnRe. R P !"D LM_M!"!#$R_(D O 8;PK Smgr&pridK Snbr_LmManager(dNQ Snbr_tempLr.)t O Srs_tempLrnRe.)t%2illMP7 $R$ &PR(D O 8+ P R SS.lLrnRe. R P !"D LM_M!"!#$R_(D O 8;PK Smgr&pridK Snbr_LmManager(dNQ Snbr_tempLQM#"L)i O Srs_tempLQM#"L)i%2illMP7 $R$ &PR(D O 8+ P R SS.lLrnRe. R P !"D LM_M!"!#$R_(D O 8;PK Smgr&pridK Snbr_LmManager(dNQ Snbr_tempLQM#"L)t O Srs_tempLQM#"L)t%2illMP7 $R$ &PR(D O 8+ P R SS.lLrnRe. R P !"D LM_M!"!#$R_(D O 8;PK Smgr&pridK Snbr_LmManager(dNQ Snbr_tempPlan!ct)i O Srs_tempPlan!ct)i%2illMP7 $R$ &PR(D O 8+ P R SS.lPln!ct)i R P !"D LM_M!"!#$R_(D O 84PK Smgr&pridK Sdays"umberK Snbr_LmManager(dNQ $lse (f !llMSafterDateN !nd !llMSbeforeDateN Then Snbr_)()ount O Srs_temp)urr!ct%2illMP7 $R$ &PR(D O 8+ P R SS.l!ct R P !"D LM_M!"!#$R_(D O 8<PK Smgr&pridK SafterDateK SbeforeDateK Snbr_LmManager(dNQ Snbr_)()ount; O Srs_tempPrograms%2illMP7 $R$ &PR(D O 8+ P R SS.lProg R P !"D LM_M!"!#$R_(D O 8<PK Smgr&pridK SafterDateK SbeforeDateK Snbr_LmManager(dNQ Snbr_)()ount4 O Srs_temp!dhoc%2illMP7 $R$ &PR(D O 8+ P R SS.l!dhoc R P !"D LM_M!"!#$R_(D O 8<PK Smgr&pridK SafterDateK SbeforeDateK Snbr_LmManager(dNQ Snbr_tempLr.)i O Srs_tempLrnRe.)i%2illMP7 $R$ &PR(D O 8+ P R SS.lLrnRe. R P !"D LM_M!"!#$R_(D O 8;PK Smgr&pridK Snbr_LmManager(dNQ Snbr_tempLr.)t O Srs_tempLrnRe.)t%2illMP7 $R$ &PR(D O 8+ P R SS.lLrnRe. R P !"D LM_M!"!#$R_(D O 8;PK Smgr&pridK Snbr_LmManager(dNQ Snbr_tempLQM#"L)i O Srs_tempLQM#"L)i%2illMP7 $R$ &PR(D O 8+ P R SS.lLrnRe. R P !"D LM_M!"!#$R_(D O 8;PK Smgr&pridK Snbr_LmManager(dNQ Snbr_tempLQM#"L)t O Srs_tempLQM#"L)t%2illMP7 $R$ &PR(D O 8+ P R SS.lLrnRe. R P !"D LM_M!"!#$R_(D O 8;PK Smgr&pridK Snbr_LmManager(dNQ Snbr_tempPlan!ct)i O Srs_tempPlan!ct)i%2illMP7 $R$ &PR(D O 8+ P R SS.lPln!ct)i R P !"D LM_M!"!#$R_(D O 8<PK Smgr&pridK SafterDateK SbeforeDateK Snbr_LmManager(dNQ $lse (f !llMSafterDateN !nd "oneMSbeforeDateN Then Snbr_)()ount O Srs_temp)urr!ct%2illMP7 $R$ &PR(D O 8+ P R SS.l!ct R P !"D LM_M!"!#$R_(D O 84PK Smgr&pridK SafterDateK Snbr_LmManager(dNQ Snbr_)()ount; O Srs_tempPrograms%2illMP7 $R$ &PR(D O 8+ P R SS.lProg R P !"D LM_M!"!#$R_(D O 84PK Smgr&pridK SafterDateK Snbr_LmManager(dNQ Snbr_)()ount4 O Srs_temp!dhoc%2illMP7 $R$ &PR(D O 8+ P R SS.l!dhoc R P !"D LM_M!"!#$R_(D O 84PK Smgr&pridK SafterDateK Snbr_LmManager(dNQ Snbr_tempLr.)i O Srs_tempLrnRe.)i%2illMP7 $R$ &PR(D O 8+ P R SS.lLrnRe. R P !"D LM_M!"!#$R_(D O 8;PK Smgr&pridK Snbr_LmManager(dNQ Snbr_tempLr.)t O Srs_tempLrnRe.)t%2illMP7 $R$ &PR(D O 8+ P R SS.lLrnRe. R P !"D LM_M!"!#$R_(D O 8;PK Smgr&pridK Snbr_LmManager(dNQ Snbr_tempLQM#"L)i O Srs_tempLQM#"L)i%2illMP7 $R$ &PR(D O 8+ P R SS.lLrnRe. R P !"D LM_M!"!#$R_(D O 8;PK Smgr&pridK Snbr_LmManager(dNQ Snbr_tempLQM#"L)t O Srs_tempLQM#"L)t%2illMP7 $R$ &PR(D O 8+ P R SS.lLrnRe. R P !"D LM_M!"!#$R_(D O 8;PK Smgr&pridK Snbr_LmManager(dNQ Snbr_tempPlan!ct)i O Srs_tempPlan!ct)i%2illMP7 $R$ &PR(D O 8+

P R SS.lPln!ct)i R P !"D LM_M!"!#$R_(D O 84PK Smgr&pridK SafterDateK Snbr_LmManager(dNQ $lse (f "oneMSafterDateN !nd !llMSbeforeDateN Then Snbr_)()ount O Srs_temp)urr!ct%2illMP7 $R$ &PR(D O 8+ P R SS.l!ct R P !"D LM_M!"!#$R_(D O 84PK Smgr&pridK SbeforeDateK Snbr_LmManager(dNQ Snbr_)()ount; O Srs_tempPrograms%2illMP7 $R$ &PR(D O 8+ P R SS.lProg R P !"D LM_M!"!#$R_(D O 84PK Smgr&pridK SbeforeDateK Snbr_LmManager(dNQ Snbr_)()ount4 O Srs_temp!dhoc%2illMP7 $R$ &PR(D O 8+ P R SS.l!dhoc R P !"D LM_M!"!#$R_(D O 84PK Smgr&pridK SbeforeDateK Snbr_LmManager(dNQ Snbr_tempLr.)i O Srs_tempLrnRe.)i%2illMP7 $R$ &PR(D O 8+ P R SS.lLrnRe. R P !"D LM_M!"!#$R_(D O 8;PK Smgr&pridK Snbr_LmManager(dNQ Snbr_tempLr.)t O Srs_tempLrnRe.)t%2illMP7 $R$ &PR(D O 8+ P R SS.lLrnRe. R P !"D LM_M!"!#$R_(D O 8;PK Smgr&pridK Snbr_LmManager(dNQ Snbr_tempLQM#"L)i O Srs_tempLQM#"L)i%2illMP7 $R$ &PR(D O 8 + P R SS.lLrnRe. R P !"D LM_M!"!#$R_(D O 8;PK Smgr&pridK Snbr_LmManager(dNQ Snbr_tempLQM#"L)t O Srs_tempLQM#"L)t%2illMP7 $R$ &PR(D O 8 + P R SS.lLrnRe. R P !"D LM_M!"!#$R_(D O 8;PK Smgr&pridK Snbr_LmManager(dNQ Snbr_tempPlan!ct)i O Srs_tempPlan!ct)i%2illMP7 $R$ &PR(D O 8+ P R SS.lPln!ct)i R P !"D LM_M!"!#$R_(D O 84PK Smgr&pridK SbeforeDateK Snbr_LmManager(dNQ $lse Snbr_)()ount O Srs_temp)urr!ct%2illMP7 $R$ &PR(D O 8+ P R SS.l!ct R P !"D LM_M!"!#$R_(D O 8;PK Smgr&pridK Snbr_LmManager(dNQ Snbr_)()ount; O Srs_tempPrograms%2illMP7 $R$ &PR(D O 8+ P R SS.lProg R P !"D LM_M!"!#$R_(D O 8;PK Smgr&pridK Snbr_LmManager(dNQ Snbr_)()ount4 O Srs_temp!dhoc%2illMP7 $R$ &PR(D O 8+ P R SS.l!dhoc R P !"D LM_M!"!#$R_(D O 8;PK Smgr&pridK Snbr_LmManager(dNQ Snbr_tempLr.)i O Srs_tempLrnRe.)i%2illMP7 $R$ &PR(D O 8+ P R SS.lLrnRe. R P !"D LM_M!"!#$R_(D O 8;PK Smgr&pridK Snbr_LmManager(dNQ Snbr_tempLr.)t O Srs_tempLrnRe.)t%2illMP7 $R$ &PR(D O 8+ P R SS.lLrnRe. R P !"D LM_M!"!#$R_(D O 8;PK Smgr&pridK Snbr_LmManager(dNQ Snbr_tempLQM#"L)i O Srs_tempLQM#"L)i%2illMP7 $R$ &PR(D O 8 + P R SS.lLrnRe. R P !"D LM_M!"!#$R_(D O 8;PK Smgr&pridK Snbr_LmManager(dNQ Snbr_tempLQM#"L)t O Srs_tempLQM#"L)t%2illMP7 $R$ &PR(D O 8 + P R SS.lLrnRe. R P !"D LM_M!"!#$R_(D O 8;PK Smgr&pridK Snbr_LmManager(dNQ Snbr_tempPlan!ct)i O Srs_tempPlan!ct)i%2illMP7 $R$ &PR(D O 8+ P R SS.lPln!ct)i R P !"D LM_M!"!#$R_(D O 8;PK Smgr&pridK Snbr_LmManager(dNQ $ndE(fQ $ndE(fQ $ndE(fQ $ndE(fQ $lse (f !llMSdays"umberN Then Snbr_)()ount O Srs_temp)urr!ct%2illMP7 $R$ &PR(D O 8+ P R SS.l!ct R P !"D LM_M!"!#$R_(D O 84 !"D LM_P$RS&"_(D O 8< PK Smgr&pridK Sdays"umberK Snbr_LmManager(dK Snbr_LmPerson(dNQ Snbr_)()ount; O Srs_tempPrograms%2illMP7 $R$ &PR(D O 8+ P R SS.lProg R P !"D LM_M!"!#$R_(D O 84 !"D LM_P$RS&"_(D O 8< PK Smgr&pridK Sdays"umberK Snbr_LmManager(dK Snbr_LmPerson(dNQ Snbr_)()ount4 O Srs_temp!dhoc%2illMP7 $R$ &PR(D O 8+ P R SS.l!dhoc R P !"D LM_M!"!#$R_(D O 84 !"D LM_P$RS&"_(D O 8< PK Smgr&pridK Sdays"umberK Snbr_LmManager(dK Snbr_LmPerson(dNQ Snbr_tempLr.)i O Srs_tempLrnRe.)i%2illMP7 $R$ &PR(D O 8+ P R SS.lLrnRe. R P !"D LM_M!"!#$R_(D O 8; !"D LM_P$RS&"_(D O 84 PK Smgr&pridK Snbr_LmManager(dK Snbr_LmPerson(dNQ Snbr_tempLr.)t O Srs_tempLrnRe.)t%2illMP7 $R$ &PR(D O 8+ P R SS.lLrnRe. R P !"D LM_M!"!#$R_(D O 8; !"D LM_P$RS&"_(D O 84 PK Smgr&pridK Snbr_LmManager(dK Snbr_LmPerson(dNQ Snbr_tempLQM#"L)i O ,Q Snbr_tempLQM#"L)t O ,Q Snbr_tempPlan!ct)i O Srs_tempPlan!ct)i%2illMP7 $R$ &PR(D O 8+ P R SS.lPln!ct)i R P !"D LM_M!"!#$R_(D O 84 !"D LM_P$RS&"_(D O 8< PK Smgr&pridK Sdays"umberK Snbr_LmManager(dK Snbr_LmPerson(dNQ $lse (f !llMSafterDateN !nd !llMSbeforeDateN Then Snbr_)()ount O Srs_temp)urr!ct%2illMP7 $R$ &PR(D O 8+ P R SS.l!ct R P !"D LM_M!"!#$R_(D O 8< !"D LM_P$RS&"_(D O 86 PK Smgr&pridK SafterDateK SbeforeDateK Snbr_LmManager(dK Snbr_LmPerson(dNQ

Snbr_)()ount; O Srs_tempPrograms%2illMP7 $R$ &PR(D O 8+ P R SS.lProg R P !"D LM_M!"!#$R_(D O 8< !"D LM_P$RS&"_(D O 86 PK Smgr&pridK SafterDateK SbeforeDateK Snbr_LmManager(dK Snbr_LmPerson(dNQ Snbr_)()ount4 O Srs_temp!dhoc%2illMP7 $R$ &PR(D O 8+ P R SS.l!dhoc R P !"D LM_M!"!#$R_(D O 8< !"D LM_P$RS&"_(D O 86 PK Smgr&pridK SafterDateK SbeforeDateK Snbr_LmManager(dK Snbr_LmPerson(dNQ Snbr_tempLr.)i O Srs_tempLrnRe.)i%2illMP7 $R$ &PR(D O 8+ P R SS.lLrnRe. R P !"D LM_M!"!#$R_(D O 8; !"D LM_P$RS&"_(D O 84 PK Smgr&pridK Snbr_LmManager(dK Snbr_LmPerson(dNQ Snbr_tempLr.)t O Srs_tempLrnRe.)t%2illMP7 $R$ &PR(D O 8+ P R SS.lLrnRe. R P !"D LM_M!"!#$R_(D O 8; !"D LM_P$RS&"_(D O 84 PK Smgr&pridK Snbr_LmManager(dK Snbr_LmPerson(dNQ Snbr_tempLQM#"L)i O ,Q Snbr_tempLQM#"L)t O ,Q Snbr_tempPlan!ct)i O Srs_tempPlan!ct)i%2illMP7 $R$ &PR(D O 8+ P R SS.lPln!ct)i R P !"D LM_M!"!#$R_(D O 8< !"D LM_P$RS&"_(D O 86 PK Smgr&pridK SafterDateK SbeforeDateK Snbr_LmManager(dK Snbr_LmPerson(dNQ $lse (f !llMSafterDateN !nd "oneMSbeforeDateN Then Snbr_)()ount O Srs_temp)urr!ct%2illMP7 $R$ &PR(D O 8+ P R SS.l!ct R P !"D LM_M!"!#$R_(D O 84 !"D LM_P$RS&"_(D O 8< PK Smgr&pridK SafterDateK Snbr_LmManager(dK Snbr_LmPerson(dNQ Snbr_)()ount; O Srs_tempPrograms%2illMP7 $R$ &PR(D O 8+ P R SS.lProg R P !"D LM_M!"!#$R_(D O 84 !"D LM_P$RS&"_(D O 8< PK Smgr&pridK SafterDateK Snbr_LmManager(dK Snbr_LmPerson(dNQ Snbr_)()ount4 O Srs_temp!dhoc%2illMP7 $R$ &PR(D O 8+ P R SS.l!dhoc R P !"D LM_M!"!#$R_(D O 84 !"D LM_P$RS&"_(D O 8< PK Smgr&pridK SafterDateK Snbr_LmManager(dK Snbr_LmPerson(dNQ Snbr_tempLr.)i O Srs_tempLrnRe.)i%2illMP7 $R$ &PR(D O 8+ P R SS.lLrnRe. R P !"D LM_M!"!#$R_(D O 8; !"D LM_P$RS&"_(D O 84 PK Smgr&pridK Snbr_LmManager(dK Snbr_LmPerson(dNQ Snbr_tempLr.)t O Srs_tempLrnRe.)t%2illMP7 $R$ &PR(D O 8+ P R SS.lLrnRe. R P !"D LM_M!"!#$R_(D O 8; !"D LM_P$RS&"_(D O 84 PK Smgr&pridK Snbr_LmManager(dK Snbr_LmPerson(dNQ Snbr_tempLQM#"L)i O ,Q Snbr_tempLQM#"L)t O ,Q Snbr_tempPlan!ct)i O Srs_tempPlan!ct)i%2illMP7 $R$ &PR(D O 8+ P R SS.lPln!ct)i R P !"D LM_M!"!#$R_(D O 84 !"D LM_P$RS&"_(D O 8< PK Smgr&pridK SafterDateK Snbr_LmManager(dK Snbr_LmPerson(dNQ $lse (f "oneMSafterDateN !nd !llMSbeforeDateN Then Snbr_)()ount O Srs_temp)urr!ct%2illMP7 $R$ &PR(D O 8+ P R SS.l!ct R P !"D LM_M!"!#$R_(D O 84 !"D LM_P$RS&"_(D O 8< PK Smgr&pridK SbeforeDateK Snbr_LmManager(dK Snbr_LmPerson(dNQ Snbr_)()ount; O Srs_tempPrograms%2illMP7 $R$ &PR(D O 8+ P R SS.lProg R P !"D LM_M!"!#$R_(D O 84 !"D LM_P$RS&"_(D O 8< PK Smgr&pridK SbeforeDateK Snbr_LmManager(dK Snbr_LmPerson(dNQ Snbr_)()ount4 O Srs_temp!dhoc%2illMP7 $R$ &PR(D O 8+ P R SS.l!dhoc R P !"D LM_M!"!#$R_(D O 84 !"D LM_P$RS&"_(D O 8< PK Smgr&pridK SbeforeDateK Snbr_LmManager(dK Snbr_LmPerson(dNQ Snbr_tempLr.)i O Srs_tempLrnRe.)i%2illMP7 $R$ &PR(D O 8+ P R SS.lLrnRe. R P !"D LM_M!"!#$R_(D O 8; !"D LM_P$RS&"_(D O 84 PK Smgr&pridK Snbr_LmManager(dK Snbr_LmPerson(dNQ Snbr_tempLr.)t O Srs_tempLrnRe.)t%2illMP7 $R$ &PR(D O 8+ P R SS.lLrnRe. R P !"D LM_M!"!#$R_(D O 8; !"D LM_P$RS&"_(D O 84 PK Smgr&pridK Snbr_LmManager(dK Snbr_LmPerson(dNQ Snbr_tempLQM#"L)i O ,Q Snbr_tempLQM#"L)t O ,Q Snbr_tempPlan!ct)i O Srs_tempPlan!ct)i%2illMP7 $R$ &PR(D O 8+ P R SS.lPln!ct)i R P !"D LM_M!"!#$R_(D O 84 !"D LM_P$RS&"_(D O 8< PK Smgr&pridK SbeforeDateK Snbr_LmManager(dK Snbr_LmPerson(dNQ $lse Snbr_)()ount O Srs_temp)urr!ct%2illMP7 $R$ &PR(D O 8+ P R SS.l!ct R P !"D LM_M!"!#$R_(D O 8; !"D LM_P$RS&"_(D O 84 PK Smgr&pridK Snbr_LmManager(dK Snbr_LmPerson(dNQ Snbr_)()ount; O Srs_tempPrograms%2illMP7 $R$ &PR(D O 8+ P R SS.lProg R P !"D LM_M!"!#$R_(D O 8; !"D LM_P$RS&"_(D O 84 PK Smgr&pridK Snbr_LmManager(dK Snbr_LmPerson(dNQ Snbr_)()ount4 O Srs_temp!dhoc%2illMP7 $R$ &PR(D O 8+ P R

SS.l!dhoc R P !"D LM_M!"!#$R_(D O 8; !"D LM_P$RS&"_(D O 84 PK Smgr&pridK Snbr_LmManager(dK Snbr_LmPerson(dNQ Snbr_tempLr.)i O Srs_tempLrnRe.)i%2illMP7 $R$ &PR(D O 8+ P R SS.lLrnRe. R P !"D LM_M!"!#$R_(D O 8; !"D LM_P$RS&"_(D O 84 PK Smgr&pridK Snbr_LmManager(dK Snbr_LmPerson(dNQ Snbr_tempLr.)t O Srs_tempLrnRe.)t%2illMP7 $R$ &PR(D O 8+ P R SS.lLrnRe. R P !"D LM_M!"!#$R_(D O 8; !"D LM_P$RS&"_(D O 84 PK Smgr&pridK Snbr_LmManager(dK Snbr_LmPerson(dNQ Snbr_tempLQM#"L)i O ,Q Snbr_tempLQM#"L)t O ,Q Snbr_tempPlan!ct)i O Srs_tempPlan!ct)i%2illMP7 $R$ &PR(D O 8+ P R SS.lPln!ct)i R P !"D LM_M!"!#$R_(D O 8; !"D LM_P$RS&"_(D O 84 PK Smgr&pridK Snbr_LmManager(dK Snbr_LmPerson(dNQ $ndE(fQ $ndE(fQ $ndE(fQ $ndE(fQ $ndE(fQ $ndE(fQ $lse (f "oneMSstr_Lm2ilter"ameN Then Snbr_)()ount O Srs_temp)urr!ct%2illMP7 $R$ LM_STTS in MP R Sstr_MgrStts R PN !"D LM_P$RS&"_(DO8+ PK Snbr_LmPerson(dNQ Snbr_)()ount; O Srs_tempPrograms%2illMP7 $R$ LM_PR#_STTS in MP R Sstr_MgrStts R PN !"D LM_P$RS&"_(DO8+ PK Snbr_LmPerson(dNQ Snbr_)()ount4 O Srs_temp!dhoc%2illMP7 $R$ LM_!D )_LR"_STTS in MP R Sstr_MgrStts R PN !"D LM_P$RS&"_(DO8+ PK Snbr_LmPerson(dNQ Snbr_tempLr.)i O Srs_tempLrnRe.)i%2illMP7 $R$ LM_LRQ_ST!T3S in MP R Sstr_MgrStts R PN !"D LM_P$RS&"_(DO8+ PK Snbr_LmPerson(dNQ Snbr_tempLr.)t O Srs_tempLrnRe.)t%2illMP7 $R$ LM_LRQ_ST!T3S in MP R Sstr_MgrStts R PN !"D LM_P$RS&"_(DO8+ PK Snbr_LmPerson(dNQ Snbr_tempLQM#"L)i O ,Q Snbr_tempLQM#"L)t O ,Q Snbr_tempPlan!ct)i O Srs_tempPlan!ct)i%2illMP7 $R$ LM_STTS in MP R Sstr_MgrStts R PN !"D LM_P$RS&"_(DO8+ PK Snbr_LmPerson(dNQ $lse SS.l!ct O S2ilterDefn&b=%)reateSQL2or2ilterMSstr_Lm2ilter"ameK Sle(DK Sdays"umberK SafterDateK SbeforeDateK SS.lProgK SS.l!dhocK SS.lLrnRe.K SS.lPln!ct)iNQ (f !llMSdays"umberN Then Snbr_)()ount O Srs_temp)urr!ct%2illMP7 $R$ LM_P$RS&"_(D O 8+ P R SS.l!ctK Snbr_LmPerson(dK Sdays"umberNQ Snbr_)()ount; O Srs_tempPrograms%2illMP7 $R$ LM_P$RS&"_(D O 8+ P R SS.lProgK Snbr_LmPerson(dK Sdays"umberNQ Snbr_)()ount4 O Srs_temp!dhoc%2illMP7 $R$ LM_P$RS&"_(D O 8+ P R SS.l!dhocK Snbr_LmPerson(dK Sdays"umberNQ Snbr_tempLr.)i O Srs_tempLrnRe.)i%2illMP7 $R$ LM_P$RS&"_(D O 8+ P R SS.lLrnRe.K Snbr_LmPerson(dNQ Snbr_tempLr.)t O Srs_tempLrnRe.)t%2illMP7 $R$ LM_P$RS&"_(D O 8+ P R SS.lLrnRe.K Snbr_LmPerson(dNQ Snbr_tempLQM#"L)i O ,Q Snbr_tempLQM#"L)t O ,Q Snbr_tempPlan!ct)i O Srs_tempPlan!ct)i%2illMP7 $R$ LM_P$RS&"_(D O 8+ P R SS.lPln!ct)iK Snbr_LmPerson(dK Sdays"umberNQ $lse (f !llMSafterDateN !nd !llMSbeforeDateN Then Snbr_)()ount O Srs_temp)urr!ct%2illMP7 $R$ LM_P$RS&"_(D O 8+ P R SS.l!ctK Snbr_LmPerson(dK SafterDateK SbeforeDateNQ Snbr_)()ount; O Srs_tempPrograms%2illMP7 $R$ LM_P$RS&"_(D O 8+ P R SS.lProgK Snbr_LmPerson(dK SafterDateK SbeforeDateNQ Snbr_)()ount4 O Srs_temp!dhoc%2illMP7 $R$ LM_P$RS&"_(D O 8+ P R SS.l!dhocK Snbr_LmPerson(dK SafterDateK SbeforeDateNQ Snbr_tempLr.)i O Srs_tempLrnRe.)i%2illMP7 $R$ LM_P$RS&"_(D O 8+ P R SS.lLrnRe.K Snbr_LmPerson(dNQ Snbr_tempLr.)t O Srs_tempLrnRe.)t%2illMP7 $R$ LM_P$RS&"_(D O 8+ P R SS.lLrnRe.K Snbr_LmPerson(dNQ Snbr_tempLQM#"L)i O ,Q Snbr_tempLQM#"L)t O ,Q Snbr_tempPlan!ct)i O Srs_tempPlan!ct)i%2illMP7 $R$ LM_P$RS&"_(D O 8 + P R SS.lPln!ct)iK Snbr_LmPerson(dK SafterDateK SbeforeDateNQ

$lse (f !llMSafterDateN !nd "oneMSbeforeDateN Then Snbr_)()ount O Srs_temp)urr!ct%2illMP7 $R$ LM_P$RS&"_(D O 8+ P R SS.l!ctK Snbr_LmPerson(dK SafterDateNQ Snbr_)()ount; O Srs_tempPrograms%2illMP7 $R$ LM_P$RS&"_(D O 8+ P R SS.lProgK Snbr_LmPerson(dK SafterDateNQ Snbr_)()ount4 O Srs_temp!dhoc%2illMP7 $R$ LM_P$RS&"_(D O 8+ P R SS.l!dhocK Snbr_LmPerson(dK SafterDateNQ Snbr_tempLr.)i O Srs_tempLrnRe.)i%2illMP7 $R$ LM_P$RS&"_(D O 8+ P R SS.lLrnRe.K Snbr_LmPerson(dNQ Snbr_tempLr.)t O Srs_tempLrnRe.)t%2illMP7 $R$ LM_P$RS&"_(D O 8+ P R SS.lLrnRe.K Snbr_LmPerson(dNQ Snbr_tempLQM#"L)i O ,Q Snbr_tempLQM#"L)t O ,Q Snbr_tempPlan!ct)i O Srs_tempPlan!ct)i%2illMP7 $R$ LM_P$RS&"_(D O 8+ P R SS.lPln!ct)iK Snbr_LmPerson(dK SafterDateNQ $lse (f "oneMSafterDateN !nd !llMSbeforeDateN Then Snbr_)()ount O Srs_temp)urr!ct%2illMP7 $R$ LM_P$RS&"_(D O 8+ P R SS.l!ctK Snbr_LmPerson(dK SbeforeDateNQ Snbr_)()ount; O Srs_tempPrograms%2illMP7 $R$ LM_P$RS&"_(D O 8 + P R SS.lProgK Snbr_LmPerson(dK SbeforeDateNQ Snbr_)()ount4 O Srs_temp!dhoc%2illMP7 $R$ LM_P$RS&"_(D O 8+ P R SS.l!dhocK Snbr_LmPerson(dK SbeforeDateNQ Snbr_tempLr.)i O Srs_tempLrnRe.)i%2illMP7 $R$ LM_P$RS&"_(D O 8+ P R SS.lLrnRe.K Snbr_LmPerson(dNQ Snbr_tempLr.)t O Srs_tempLrnRe.)t%2illMP7 $R$ LM_P$RS&"_(D O 8+ P R SS.lLrnRe.K Snbr_LmPerson(dNQ Snbr_tempLQM#"L)i O ,Q Snbr_tempLQM#"L)t O ,Q Snbr_tempPlan!ct)i O Srs_tempPlan!ct)i%2illMP7 $R$ LM_P$RS&"_(D O 8+ P R SS.lPln!ct)iK Snbr_LmPerson(dK SbeforeDateNQ $lse Snbr_)()ount O Srs_temp)urr!ct%2illMP7 $R$ LM_P$RS&"_(D O 8+ P R SS.l!ctK Snbr_LmPerson(dNQ Snbr_)()ount; O Srs_tempPrograms%2illMP7 $R$ LM_P$RS&"_(D O 8 + P R SS.lProgK Snbr_LmPerson(dNQ Snbr_)()ount4 O Srs_temp!dhoc%2illMP7 $R$ LM_P$RS&"_(D O 8+ P R SS.l!dhocK Snbr_LmPerson(dNQ Snbr_tempLr.)i O Srs_tempLrnRe.)i%2illMP7 $R$ LM_P$RS&"_(D O 8+ P R SS.lLrnRe.K Snbr_LmPerson(dNQ Snbr_tempLr.)t O Srs_tempLrnRe.)t%2illMP7 $R$ LM_P$RS&"_(D O 8+ P R SS.lLrnRe.K Snbr_LmPerson(dNQ Snbr_tempLQM#"L)i O ,Q Snbr_tempLQM#"L)t O ,Q Snbr_tempPlan!ct)i O Srs_tempPlan!ct)i%2illMP7 $R$ LM_P$RS&"_(D O 8+ P R SS.lPln!ct)iK Snbr_LmPerson(dNQ $ndE(fQ $ndE(fQ $ndE(fQ $ndE(fQ $ndE(fQ $ndE(fQ 9L Load ro'set for grid on page 'ith !ctivity Learning L9 Srec_temp)urr!ct O )reateRecordMRecord%LM_$"RLT_M#D_V7NQ S= O +Q 2or Sg O + To Snbr_)()ount Srec_temp)urr!ct O Srs_temp)urr!ct%#etRo'MSgN%#etRecordM+NQ (f Srec_temp)urr!ct%LM_STTS%Value O P)!")P !nd Srec_temp)urr!ct%LM_T*P$%Value O PPL!"P Then $lse (f MS= UI +N Then Srs_LmMgrPlan%(nsertRo'MS= E +NQ $ndE(fQ Srec_temp)urr!ct%)opy2ieldsToMSrs_LmMgrPlan%#etRo'MS=N%#etRecordMRecord%LM_$"RLT_M #D_V7NNQ S= O S= C +Q

$ndE(fQ $ndE2orQ 9L Load ro'set for grid on page 'ith !dhoc Learning L9 Srec_temp!dhoc O )reateRecordMRecord%LM_M#R_!D )_V7NQ 2or Snbr_!dhc_loop O + To Snbr_)()ount4 Srec_temp!dhoc O Srs_temp!dhoc%#etRo'MSnbr_!dhc_loopN%#etRecordM+NQ (f MS= UI +N Then Srs_LmMgrPlan%(nsertRo'MS= E +NQ $ndE(fQ Srs_LmMgrPlan%#etRo'MS=N%#etRecordMRecord%LM_$"RLT_M#D_V7N%&PR(D%Value O /3ser(dQ Srs_LmMgrPlan%#etRo'MS=N%#etRecordMRecord%LM_$"RLT_M#D_V7N%LM_P$RS&"_(D%Value O Srec_temp!dhoc%LM_P$RS&"_(D%ValueQ Srs_LmMgrPlan%#etRo'MS=N%#etRecordMRecord%LM_$"RLT_M#D_V7N%LM_$"RLMT_(D%Value O Srec_temp!dhoc%LM_!D )_(D%ValueQ Srs_LmMgrPlan%#etRo'MS=N%#etRecordMRecord%LM_$"RLT_M#D_V7N%LM_!)T_(D%Value O Srec_temp!dhoc%LM_!D )_(D%ValueQ Srs_LmMgrPlan%#etRo'MS=N%#etRecordMRecord%LM_$"RLT_M#D_V7N%LM_!)T_R$Q%Value O Srec_temp!dhoc%LM_!)T_R$Q%ValueQ Srs_LmMgrPlan%#etRo'MS=N%#etRecordMRecord%LM_$"RLT_M#D_V7N%LM_T*P$_+,%Value O Srec_temp!dhoc%LM_!D )_T*P$%ValueQ Srs_LmMgrPlan%#etRo'MS=N%#etRecordMRecord%LM_$"RLT_M#D_V7N%LM_STTS%Value O Srec_temp!dhoc%LM_!D )_LR"_STTS%ValueQ Srs_LmMgrPlan%#etRo'MS=N%#etRecordMRecord%LM_$"RLT_M#D_V7N%LM_)S_L&"#_"M%Value O Srec_temp!dhoc%LM_P$R_TR"_"M%ValueQ Srs_LmMgrPlan%#etRo'MS=N%#etRecordMRecord%LM_$"RLT_M#D_V7N%LM_$"RL_DT%Value O Srec_temp!dhoc%LM_$"RL_DT%ValueQ Srs_LmMgrPlan%#etRo'MS=N%#etRecordMRecord%LM_$"RLT_M#D_V7N%LM_)&MPL_DT%Value O Srec_temp!dhoc%LM_)&MPL_DT%ValueQ Srs_LmMgrPlan%#etRo'MS=N%#etRecordMRecord%LM_$"RLT_M#D_V7N%LM_("(T(!T$D_DT%Value O Srec_temp!dhoc%LM_("(T(!T$D_DT%ValueQ Srs_LmMgrPlan%#etRo'MS=N%#etRecordMRecord%LM_$"RLT_M#D_V7N%LM_DP_DT%Value O Srec_temp!dhoc%LM_DR&P_DT%ValueQ Srs_LmMgrPlan%#etRo'MS=N%#etRecordMRecord%LM_$"RLT_M#D_V7N%LM_"!M$_D(SPL!*%Value O Srec_temp!dhoc%LM_"!M$_D(SPL!*%ValueQ 9L Setting this value to !D &) so 'hen ( come accross this ro' later ( Hno' 'hat type it is% L9 Srs_LmMgrPlan%#etRo'MS=N%#etRecordMRecord%LM_$"RLT_M#D_V7N%LM_S)&R$%Value O P!D &)PQ 9L LM_!D )_T*P$ of char 4, 'on1t fit into LM_T*P$ char < so ( put it in this unused filed 'hich is )har 4, L9 Srs_LmMgrPlan%#etRo'MS=N%#etRecordMRecord%LM_$"RLT_M#D_V7N%LM_#R!D$_L!0$L%Value O Srec_temp!dhoc%LM_!D )_T*P$%ValueQ Srs_LmMgrPlanMS=N%#etRecordMRecord%LM_$"RLT_M#D_V7N%LM_!D )_LR"_(D%Value O Srec_temp!dhoc%LM_!D )_LR"_(D%ValueQ S= O S= C +Q $ndE2orQ 9L Load ro'set for grid on page 'ith Planned )atalog (tems L9 Srec_tempPlan!ct)i O )reateRecordMRecord%LM_PL!"_M#D_V7NQ 2or Sg O + To Snbr_tempPlan!ct)i Srec_tempPlan!ct)i O Srs_tempPlan!ct)i%#etRo'MSgN%#etRecordM+NQ (f Srec_tempPlan!ct)i%LM_STTS%Value O P)!")P !nd Srec_tempPlan!ct)i%LM_T*P$%Value O PPL!"P Then $lse (f MS= UI +N Then Srs_LmMgrPlan%(nsertRo'MS= E +NQ $ndE(fQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%&PR(D%Value O /3ser(dQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_P$RS&"_(D%Value O Srec_tempPlan!ct)i%LM_P$RS&"_(D%ValueQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_$"RLMT_(D%Value O Srec_tempPlan!ct)i%LM_$"RLMT_(D%ValueQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_)(_(D%Value O

Srec_tempPlan!ct)i%LM_)(_(D%ValueQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_!)T_(D%Value O ,Q Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_!)T_R$Q%Value O Srec_tempPlan!ct)i%LM_!)T_R$Q%ValueQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_T*P$_+,%Value O PEEPQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_T*P$%Value O Srec_tempPlan!ct)i%LM_T*P$%ValueQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_STTS%Value O Srec_tempPlan!ct)i%LM_STTS%ValueQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_)S_L&"#_"M%Value O Srec_tempPlan!ct)i%LM_)S_L&"#_"M%ValueQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_)&MPL_DT%Value O Srec_tempPlan!ct)i%LM_)&MPL_DT%ValueQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_DP_DT%Value O Srec_tempPlan!ct)i%LM_DP_DT%ValueQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_("(T(!T$D_DT%Value O Srec_tempPlan!ct)i%LM_("(T(!T$D_DT%ValueQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_$"RL_DT%Value O Srec_tempPlan!ct)i%LM_$"RL_DT%ValueQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_"!M$_D(SPL!*%Value O Srec_tempPlan!ct)i%LM_"!M$_D(SPL!*%ValueQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_!)T_D(2_2L#%Value O Srec_tempPlan!ct)i%LM_!)T_D(2_2L#%ValueQ 9L Setting this value to PR&# so 'hen ( come accross this ro' later ( Hno' 'hat type it is% L9 Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_S)&R$%Value O P)!TPQ S= O S= C +Q $ndE(fQ $ndE2orQ 9L Load ro'set for grid on page 'ith Program Learning L9 Srec_temp)urrProg O )reateRecordMRecord%LM_PR#R$#_M#_V7NQ 2or Sg O + To Snbr_)()ount; Srec_temp)urrProg O Srs_tempPrograms%#etRo'MSgN%#etRecordM+NQ (f Srec_temp)urrProg%LM_PR#_STTS%Value O P)!")P !nd Srec_temp)urrProg%LM_T*P$%Value O PPL!"P Then $lse (f MS= UI +N Then Srs_LmMgrPlan%(nsertRo'MS= E +NQ $ndE(fQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%&PR(D%Value O /3ser(dQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_P$RS&"_(D%Value O Srec_temp)urrProg%LM_P$RS&"_(D%ValueQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_$"RLMT_(D%Value O Srec_temp)urrProg%LM_PR#_R$#_(D%ValueQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_!)T_(D%Value O Srec_temp)urrProg%LM_PR#_(D%ValueQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_!)T_R$Q%Value O PPQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_T*P$_+,%Value O Srec_temp)urrProg%LM_PR#_T*P$%ValueQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_T*P$%Value O Srec_temp)urrProg%LM_T*P$%ValueQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_STTS%Value O Srec_temp)urrProg%LM_PR#_STTS%ValueQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_)S_L&"#_"M%Value O Srec_temp)urrProg%LM_PR#_L&"#_"M%ValueQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_)&MPL_DT%Value O Srec_temp)urrProg%LM_STTS_) !"#$_DT%ValueQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_DP_DT%Value O Srec_temp)urrProg%LM_DP_DT%ValueQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_("(T(!T$D_DT%Value O Srec_temp)urrProg%LM_("(T(!T$D_DT%ValueQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_$"RL_DT%Value O Srec_temp)urrProg%LM_$"RL_DT%ValueQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_"!M$_D(SPL!*%Value O Srec_temp)urrProg%LM_"!M$_D(SPL!*%ValueQ Srs_LmMgrPlanMS=N%LM_)!T_3(_7R-%LM_)$RT_$22DT%Value O Srec_temp)urrProg%LM_)$RT_$22DT%ValueQ 9L Setting this value to PR&# so 'hen ( come accross this ro' later ( Hno' 'hat type it is% L9 Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_S)&R$%Value O PPR&#PQ

S= O S= C +Q $ndE(fQ $ndE2orQ 9L Load ro'set for grid on page 'ith Learning Re.uest for )(L9 Srec_tempLQM#"L)i O )reateRecordMRecord%LM_LQM#"L_)(_V7NQ 2or Sg O + To Snbr_tempLQM#"L)i Srec_tempLQM#"L)i O Srs_tempLQM#"L)i%#etRo'MSgN%#etRecordM+NQ (f MS= UI +N Then Srs_LmMgrPlan%(nsertRo'MS= E +NQ $ndE(fQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%&PR(D%Value O /3ser(dQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_$"RLMT_(D%Value O Srec_tempLQM#"L)i%LM_LRQ_(D%ValueQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_!)T_(D%Value O Srec_tempLQM#"L)i%LM_!)T_(D%ValueQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_!)T_R$Q%Value O PPQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_T*P$_+,%Value O Srec_tempLQM#"L)i%LM_LRQ_M$T &D%ValueQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_STTS%Value O Srec_tempLQM#"L)i%LM_LRQ_ST!T3S%ValueQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_)S_L&"#_"M%Value O Srec_tempLQM#"L)i%LM_)S_L&"#_"M%ValueQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_$"RL_DT%Value O Srec_tempLQM#"L)i%LM_STTS_) !"#$_DT%ValueQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_ST!RT_DT%Value O Srec_tempLQM#"L)i%LM_STTS_) !"#$_DT%ValueQ 9L3pdates the fieldE LM_"!M$_D(SPL!* to the available number of seats for the re.uestL9 (f Srec_tempLQM#"L)i%LM_S$!T_!VL%Value UI , Then Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_"!M$_D(SPL!*%Value O Srec_tempLQM#"L)i%LM_S$!T_!VL%Value R P P R Msg#etTe@tM+>,G4K ;DK P LearnersPNQ $lse Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_"!M$_D(SPL!*%Value O Srec_tempLQM#"L)i%LM_S$!T_R$Q%Value R P P R Msg#etTe@tM+>,G4K ;DK P LearnersPNQ $ndE(fQ Srs_LmMgrPlan%#etRo'MS=N%LM_)!T_3(_7R-%LM_L$!R"$R_L"-%$nabled O 2alseQ 9L Setting this value to LR" so 'hen ( come accross this ro' later ( Hno' 'hat type it is% L9 Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_S)&R$%Value O PLR"PQ S= O S= C +Q $ndE2orQ 9L Load ro'set for grid on page 'ith Learning Re.uest for )(L9 Srec_tempLQM#"L)t O )reateRecordMRecord%LM_LQM#"L_)T_V7NQ 2or Sg O + To Snbr_tempLQM#"L)t Srec_tempLQM#"L)t O Srs_tempLQM#"L)t%#etRo'MSgN%#etRecordM+NQ (f MS= UI +N Then Srs_LmMgrPlan%(nsertRo'MS= E +NQ $ndE(fQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%&PR(D%Value O /3ser(dQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_$"RLMT_(D%Value O Srec_tempLQM#"L)t%LM_LRQ_(D%ValueQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_!)T_(D%Value O Srec_tempLQM#"L)t%LM_!)T_(D%ValueQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_!)T_R$Q%Value O PPQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_T*P$_+,%Value O Srec_tempLQM#"L)t%LM_LRQ_M$T &D%ValueQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_STTS%Value O Srec_tempLQM#"L)t%LM_LRQ_ST!T3S%ValueQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_)S_L&"#_"M%Value O Srec_tempLQM#"L)t%LM_T(TL$%ValueQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_$"RL_DT%Value O Srec_tempLQM#"L)t%LM_STTS_) !"#$_DT%ValueQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_ST!RT_DT%Value O Srec_tempLQM#"L)t%LM_STTS_) !"#$_DT%ValueQ 9L3pdates the fieldE LM_"!M$_D(SPL!* to the available number of seats for the re.uestL9 (f Srec_tempLQM#"L)t%LM_S$!T_R$Q%Value UI , Then Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_"!M$_D(SPL!*%Value O Srec_tempLQM#"L)t%LM_S$!T_!VL%Value R P P R Msg#etTe@tM+>,G4K ;DK P LearnersPNQ

$lse Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_"!M$_D(SPL!*%Value O Srec_tempLQM#"L)t%LM_S$!T_R$Q%Value R P P R Msg#etTe@tM+>,G4K ;DK P LearnersPNQ $ndE(fQ Srs_LmMgrPlan%#etRo'MS=N%LM_)!T_3(_7R-%LM_L$!R"$R_L"-%$nabled O 2alseQ 9L Setting this value to LR" so 'hen ( come accross this ro' later ( Hno' 'hat type it is% L9 Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_S)&R$%Value O PLR"PQ S= O S= C +Q $ndE2orQ 9L Load ro'set for grid on page 'ith Learning Re.uest for )(L9 Srec_tempLrnRe.)i O )reateRecordMRecord%LM_LRQM#R_)(_V7NQ 2or Sg O + To Snbr_tempLr.)i Srec_tempLrnRe.)i O Srs_tempLrnRe.)i%#etRo'MSgN%#etRecordM+NQ (f MS= UI +N Then Srs_LmMgrPlan%(nsertRo'MS= E +NQ $ndE(fQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%&PR(D%Value O /3ser(dQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_P$RS&"_(D%Value O Srec_tempLrnRe.)i%LM_P$RS&"_(D%ValueQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_$"RLMT_(D%Value O Srec_tempLrnRe.)i%LM_LRQ_(D%ValueQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_!)T_(D%Value O Srec_tempLrnRe.)i%LM_!)T_(D%ValueQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_!)T_R$Q%Value O PPQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_T*P$_+,%Value O Srec_tempLrnRe.)i%LM_LRQ_M$T &D%ValueQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_STTS%Value O Srec_tempLrnRe.)i%LM_LRQ_ST!T3S%ValueQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_)S_L&"#_"M%Value O Srec_tempLrnRe.)i%LM_)S_L&"#_"M%ValueQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_$"RL_DT%Value O Srec_tempLrnRe.)i%LM_STTS_) !"#$_DT%ValueQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_ST!RT_DT%Value O Srec_tempLrnRe.)i%LM_STTS_) !"#$_DT%ValueQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_"!M$_D(SPL!*%Value O Srec_tempLrnRe.)i%LM_"!M$_D(SPL!*%ValueQ 9L Setting this value to LR" so 'hen ( come accross this ro' later ( Hno' 'hat type it is% L9 Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_S)&R$%Value O PLR"PQ S= O S= C +Q $ndE2orQ 9L Load ro'set for grid on page 'ith Learning Re.uest for )TL9 Srec_tempLrnRe.)i O )reateRecordMRecord%LM_LRQM#R_)T_V7NQ 2or Sg O + To Snbr_tempLr.)t Srec_tempLrnRe.)t O Srs_tempLrnRe.)t%#etRo'MSgN%#etRecordM+NQ (f MS= UI +N Then Srs_LmMgrPlan%(nsertRo'MS= E +NQ $ndE(fQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%&PR(D%Value O /3ser(dQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_P$RS&"_(D%Value O Srec_tempLrnRe.)t%LM_P$RS&"_(D%ValueQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_$"RLMT_(D%Value O Srec_tempLrnRe.)t%LM_LRQ_(D%ValueQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_!)T_R$Q%Value O PPQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_!)T_(D%Value O Srec_tempLrnRe.)t%LM_!)T_(D%ValueQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_T*P$_+,%Value O Srec_tempLrnRe.)t%LM_LRQ_M$T &D%ValueQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_STTS%Value O Srec_tempLrnRe.)t%LM_LRQ_ST!T3S%ValueQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_)S_L&"#_"M%Value O Srec_tempLrnRe.)t%LM_T(TL$%ValueQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_$"RL_DT%Value O Srec_tempLrnRe.)t%LM_STTS_) !"#$_DT%ValueQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_ST!RT_DT%Value O Srec_tempLrnRe.)t%LM_STTS_) !"#$_DT%ValueQ Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_"!M$_D(SPL!*%Value O Srec_tempLrnRe.)t%LM_"!M$_D(SPL!*%ValueQ

9L Setting this value to LR" so 'hen ( come accross this ro' later ( Hno' 'hat type it is% L9 Srs_LmMgrPlan%#etRo'MS=N%LM_$"RLT_M#D_V7%LM_S)&R$%Value O PLR"PQ S= O S= C +Q $ndE2orQ 9L Set column lablesL9 S#rid O #et#ridMVMSstr_Page"ameNK PLM_$"RLT_M#D_V7PNQ S#rid%#et)olumnMP!)T(V(T*PN%Label O Msg#etTe@tM+>,G+K >+K PPNQ S#rid%#et)olumnMPST!T3SPN%Label O Msg#etTe@tM+>,>>K <;K PPNQ S#rid%#et)olumnMPL$!R"$RPN%Label O Msg#etTe@tM+>,>>K <4K PPNQ S#rid%#et)olumnMPS&3R)$PN%Label O Msg#etTe@tM+>,G;K +,4GK PPNQ 9L SS >FGD4;8 )ode added to initialiTe the Label for the LM_DR&P!)T_P0 2ield L9 rem S#rid%#et)olumnMPDR&PPN%Label O P PQ S#rid%#et)olumnMPDR&PPN%Label O Msg#etTe@tM;,GK DD6K PPNQ 9L SS >FGD4;8 $nd of )ode changes L9 Local Local Local Local Local 2ield SlrnRe.Statusfld O Srec_tempLrnRe.)i%#et2ieldM2ield%LM_LRQ_ST!T3SNQ 2ield SlrnRe.Typefld O Srec_tempLrnRe.)i%#et2ieldM2ield%LM_LRQ_M$T &DNQ 2ield SprgType O Srec_temp)urrProg%#et2ieldM2ield%LM_PR#_T*P$NQ 2ield SprgStts O Srec_temp)urrProg%#et2ieldM2ield%LM_PR#_STTSNQ string SadhcstssQ 9Ldeclared string Resolution 8>F,>DD V#L9

9L Set display properties and attributes for program #rid% L9 2or Si O + To Srs_LmMgrPlan%Ro')ount Sro'_LmMgrPlan O Srs_LmMgrPlanMSiNQ Srec_LmMgrPlan O Sro'_LmMgrPlan%LM_$"RLT_M#D_V7Q Srec_LmMgrPlan_'rH O Sro'_LmMgrPlan%LM_)!T_3(_7R-Q Sfld_LmMgrPlan_ci_lnH O Srec_LmMgrPlan_'rH%LM_)S_L&"#_"MQ Sfld_LmMgrPlan_go O Srec_LmMgrPlan_'rH%LM_!)T_DTL_#&_0T"Q Sfld_LmMgr_Status_lnH O Srec_LmMgrPlan_'rH%LM_ST!T3SQ Sfld_stts O Srec_LmMgrPlan%LM_STTSQ Sfld_name_lnH O Srec_LmMgrPlan_'rH%LM_L$!R"$R_L"-Q Sfld_stts O Srec_LmMgrPlan%LM_STTSQ Sfld_source O Srec_LmMgrPlan_'rH%LM_3S$R_PR&2_L"-Q Sfld_re.id O Srec_LmMgrPlan%LM_R$Q3$ST&R_(DQ SlrnRe.Statusfld%Value O Srec_LmMgrPlan%LM_STTS%ValueQ SlrnRe.Typefld%Value O Srec_LmMgrPlan%LM_T*P$_+,%ValueQ (f Sle!ttributes%LM_$"!0L$_2R! O P*P Then Srec_LmMgrPlan_'rH%LM_!)T_D(2_2L#%Visible O TrueQ Srec_LmMgrPlan_'rH%LM_!)T_D(2_2L#%Value O Srec_LmMgrPlan%LM_!)T_D(2_2L#%ValueQ $lse Srec_LmMgrPlan_'rH%LM_!)T_D(2_2L#%Visible O 2alseQ $ndE(fQ (f !llMSrec_LmMgrPlan%LM_$"RLMT_(D%ValueN Then Srec_LmMgrPlan_'rH%LM_)S_L&"#_"M%Label O Srec_LmMgrPlan%LM_)S_L&"#_"M%ValueQ Sfld_name O Srec_LmMgrPlan%LM_"!M$_D(SPL!*%ValueQ Sfld_name_lnH%Label O Sfld_nameQ Sfld_name_lnH%Value O Sfld_nameQ Sfld_LmMgr_Status_lnH%Label O Sfld_stts%LongTranslateValueQ Sfld_LmMgr_Status_lnH%$nabled O 2alseQ $valuate Srec_LmMgrPlan%LM_S)&R$%Value 7hen P!D &)P Srec_LmMgrPlan_'rH%LM_DM_L&"#_"M%Value O Srec_LmMgrPlan%LM_#R!D$_L!0$L%ValueQ Srec_LmMgrPlan_'rH%LM_DR&P!)T_P0%Label O Msg#etTe@tMG6K +<<K PPNQ 9LStart 2etching longname from translate record for value PDR&PP using field PLM_!D )_LR"_STTSP Resolution 8>F,>DD V#L9 Local Ro'set S5LatStts O )reateRo'setMRecord%PS5L!T(T$MNQ S5LatStts%2illMP7 $R$ M2($LD"!M$ O 1LM_!D )_LR"_STTS1 !"D $22_ST!T3S O 1!1 !"D 2($LDV!L3$ (" M8+N !"D $22DT O M S$L$)T M!5M$22DTN 2R&M PS5L!T(T$M 7 $R$ 2($LDV!L3$ in M8+N!"D $22DT UO /)3RR$"TD!T$("NNPK Sfld_stts%ValueNQ Sadhcstss O S5LatStts%#etRo'M+N%#etRecordM+N%5L!TL&"#"!M$%ValueQ

Sfld_LmMgr_Status_lnH%Label O SadhcstssQ 9L$nd 2etching longname from translate record for value PDR&PP using field PLM_!D )_LR"_STTSP Resolution 8>F,>DD V#L9 0reaHQ 7hen PPR&#P SprgType%Value O Srec_LmMgrPlan%LM_T*P$_+,%ValueQ Srec_LmMgrPlan_'rH%LM_DM_L&"#_"M%Value O SprgType%LongTranslateValueQ SprgStts%Value O Srec_LmMgrPlan%LM_STTS%ValueQ Sfld_LmMgr_Status_lnH%Label O SprgStts%LongTranslateValueQ 0reaHQ 7hen PLR"P Sfld_LmMgr_Status_lnH%Label O SlrnRe.Statusfld%LongTranslateValueQ Srec_LmMgrPlan_'rH%LM_DM_L&"#_"M%Value O SlrnRe.Typefld%LongTranslateValueQ Srec_LmMgrPlan_'rH%LM_ST!RT_DT%Value O Srec_LmMgrPlan%LM_ST!RT_DT%ValueQ 0reaHQ 7hen P)!TP Srec_LmMgrPlan_'rH%LM_DM_L&"#_"M%Value O Msg#etTe@tM+>,G;K +,<;K PPNQ Srec_LmMgrPlan_'rH%LM_ST!RT_DT%Value O Srec_LmMgrPlan%LM_ST!RT_DT%ValueQ 0reaHQ 7henE&ther Srec_LmMgrPlan_'rH%LM_DM_L&"#_"M%Value O Srec_LmMgrPlan%LM_DM_L&"#_"M%ValueQ Srec_LmMgrPlan_'rH%LM_ST!RT_DT%Value O Srec_LmMgrPlan%LM_ST!RT_DT%ValueQ 0reaHQ $ndE$valuateQ (f !llMSrec_LmMgrPlan%LM_R$Q3$ST&R_(DN Then Sstr_name O Srec_LmMgrPlan%LM_R$Q3$ST&R_(D%Value $ndE(fQ Sfld_source%Label O Sstr_nameQ Sfld_source%Visible O 2alseQ (f Srec_LmMgrPlan%LM_R$Q3$ST&R_(D%Value O Srec_LmMgrPlan%LM_P$RS&"_(D%Value Then Sfld_source%$nabled O 2alseQ $lse Sfld_source%$nabled O TrueQ $ndE(fQ Sfld_LmMgrPlan_go%Label O Msg#etTe@tM+>,>>K 4DK PPNQ Sfld_LmMgrPlan_go%Visible O TrueQ #etLevel,MNM+N%LM_)!T_MS#_7R-%LM_PL!"_MS#_L"-%Visible O 2alseQ #etLevel,MNM+N%LM_)!T_MS#_7R-%LM_)!T_MS#_+%Visible O 2alseQ Srec_LmMgrPlan_'rH%LM_P$RS&"_(D%Value O Srec_LmMgrPlan%LM_P$RS&"_(D%ValueQ (f Srec_LmMgrPlan%LM_!)T_R$Q%Value O P*P Then Srec_LmMgrPlan_'rH%LM_R$Q3(R$D_T$5T%Value O Msg#etTe@tM+>,G;K +,G;K PPNQ PPNQ $lse Srec_LmMgrPlan_'rH%LM_R$Q3(R$D_T$5T%Value O Msg#etTe@tM+>,G;K +,G4K $ndE(fQ Srec_LmMgrPlan_'rH%LM_D$L$T$_L"-%Visible O 2alseQ Srec_LmMgrPlan_'rH%LM_(M!#$%$nabled O 2alseQ Srec_LmMgrPlan_'rH%LM_(M!#$%$nabled O 2alseQ Srec_LmMgrPlan_'rH%LM_ST!T3S%$nabled O 2alseQ $valuate Sfld_stts%Value 7hen P$"RLP 9L $nrolled L9 Srec_LmMgrPlan%LM_#R!D$_V!L_(D%Value O ;Q 9L 3sed to sort the ro'set by status L9 (f /)omponent O PLM_!DM("_L$!R"("#P Then (f (s3ser(nPermissionListMPLML$LMF;D,PN Then Srec_LmMgrPlan_'rH%LM_DR&P!)T_P0%Visible O TrueQ Srec_LmMgrPlan_'rH%LM_DR&P!)T_P0%Label O Msg#etTe@tM+>,G+K ++++K

PPNQ

PPNQ

$lse Srec_LmMgrPlan_'rH%LM_DR&P!)T_P0%Visible O 2alseQ $ndE(fQ $lse Srec_LmMgrPlan_'rH%LM_DR&P!)T_P0%Visible O TrueQ Srec_LmMgrPlan_'rH%LM_DR&P!)T_P0%Label O Msg#etTe@tM+>,G+K ++++K

$ndE(fQ (f Srec_LmMgrPlan%LM_S)&R$%Value O PPR&#P Then Sfld_LmMgr_Status_lnH%Label O Msg#etTe@tM+>,>GK +F4;K PPNQ $ndE(fQ Srec_LmMgrPlan_'rH%LM_ST!RT_DT%Value O Srec_LmMgrPlan%LM_$"RL_DT%ValueQ Srec_LmMgrPlan_'rH%LM_(M!#$%Label(mage O (mage%PS_ST!T3S_$"R&LL$D_()"Q 0reaHQ 7hen PPL!"P 9L Planned L9 Srec_LmMgrPlan%LM_#R!D$_V!L_(D%Value O FQ 9L 3sed to sort the ro'set by status L9 Srec_LmMgrPlan_'rH%LM_DR&P!)T_P0%Label O Msg#etTe@tM+>,G+K +++,K PPNQ Srec_LmMgrPlan_'rH%LM_D$L$T$_L"-%Visible O TrueQ Srec_LmMgrPlan_'rH%LM_(M!#$%Label(mage O (mage%PS_ST!T3S_PL!""$D_()"Q Srec_LmMgrPlan_'rH%LM_ST!RT_DT%Value O Srec_LmMgrPlan%LM_$"RL_DT%ValueQ 0reaHQ 7hen P("P&P 9L (n Progress L9 Srec_LmMgrPlan%LM_#R!D$_V!L_(D%Value O +Q 9L 3sed to sort the ro'set by status L9 (f /)omponent O PLM_!DM("_L$!R"("#P Then (f (s3ser(nPermissionListMPLML$LMF;D,PN Then Srec_LmMgrPlan_'rH%LM_DR&P!)T_P0%Visible O TrueQ Srec_LmMgrPlan_'rH%LM_DR&P!)T_P0%Label O Msg#etTe@tM+>,G+K ++++K PPNQ $lse Srec_LmMgrPlan_'rH%LM_DR&P!)T_P0%Visible O 2alseQ $ndE(fQ $lse Srec_LmMgrPlan_'rH%LM_DR&P!)T_P0%Visible O TrueQ Srec_LmMgrPlan_'rH%LM_DR&P!)T_P0%Label O Msg#etTe@tM+>,G+K ++++K PPNQ $ndE(fQ Srec_LmMgrPlan_'rH%LM_D$L$T$_L"-%Visible O 2alseQ Srec_LmMgrPlan_'rH%LM_(M!#$%Label(mage O (mage%PS_ST!T3S_("PR&#R$SS_()"Q Srec_LmMgrPlan_'rH%LM_ST!RT_DT%Value O Srec_LmMgrPlan%LM_("(T(!T$D_DT%ValueQ 0reaHQ 7hen P7TLTP 9L 7aitlist L9 Srec_LmMgrPlan%LM_#R!D$_V!L_(D%Value O 4Q 9L 3sed to sort the ro'set by status L9 Srec_LmMgrPlan_'rH%LM_DR&P!)T_P0%Visible O TrueQ Srec_LmMgrPlan_'rH%LM_DR&P!)T_P0%Label O Msg#etTe@tM+>,G+K ++++K PPNQ Srec_LmMgrPlan_'rH%LM_D$L$T$_L"-%Visible O 2alseQ Srec_LmMgrPlan_'rH%LM_(M!#$%Label(mage O (mage%PS_ST!T3S_7!(T_L(ST_()"Q Srec_LmMgrPlan_'rH%LM_ST!RT_DT%Value O Srec_LmMgrPlan%LM_$"RL_DT%ValueQ 0reaHQ 7hen P)&MPP 9L )ompleted L9 Srec_LmMgrPlan%LM_#R!D$_V!L_(D%Value O GQ 9L 3sed to sort the ro'set by status L9 Srec_LmMgrPlan_'rH%LM_D$L$T$_L"-%Visible O 2alseQ Srec_LmMgrPlan_'rH%LM_DR&P!)T_P0%Visible O 2alseQ Srec_LmMgrPlan_'rH%LM_(M!#$%Label(mage O (mage%PS_ST!T3S_)&MPL$T$D_()"Q Srec_LmMgrPlan_'rH%LM_ST!RT_DT%Value O Srec_LmMgrPlan%LM_)&MPL_DT%ValueQ 0reaHQ 7hen PP$!PP 9L Pending !pproval L9 Srec_LmMgrPlan%LM_#R!D$_V!L_(D%Value O DQ 9L 3sed to sort the ro'set by status L9

Srec_LmMgrPlan_'rH%LM_D$L$T$_L"-%Visible O 2alseQ Srec_LmMgrPlan_'rH%LM_DR&P!)T_P0%Visible O TrueQ Srec_LmMgrPlan_'rH%LM_DR&P!)T_P0%Label O Msg#etTe@tM+>,G+K ++++K PPNQ Srec_LmMgrPlan_'rH%LM_(M!#$%Label(mage O (mage%PS_ST!T3S_!PPR&V!L_P$"D("#_()"Q Srec_LmMgrPlan_'rH%LM_ST!RT_DT%Value O Srec_LmMgrPlan%LM_$"RL_DT%ValueQ 0reaHQ 7hen P(")&P 9L "ot )ompleted L9 Srec_LmMgrPlan%LM_#R!D$_V!L_(D%Value O +;Q 9L 3sed to sort the ro'set by status L9 Srec_LmMgrPlan_'rH%LM_D$L$T$_L"-%Visible O 2alseQ Srec_LmMgrPlan_'rH%LM_DR&P!)T_P0%Visible O 2alseQ Srec_LmMgrPlan_'rH%LM_(M!#$%Label(mage O (mage%PS_ST!T3S_"&T_)&MPL$T$D_()"Q Srec_LmMgrPlan_'rH%LM_ST!RT_DT%Value O Srec_LmMgrPlan%LM_)&MPL_DT%ValueQ 0reaHQ 7hen P)!")P 9L Dropped L9 Srec_LmMgrPlan%LM_#R!D$_V!L_(D%Value O ++Q 9L 3sed to sort the ro'set by status L9 Srec_LmMgrPlan_'rH%LM_D$L$T$_L"-%Visible O 2alseQ Srec_LmMgrPlan_'rH%LM_DR&P!)T_P0%Visible O 2alseQ Srec_LmMgrPlan_'rH%LM_(M!#$%Label(mage O (mage%PS_ST!T3S_DR&PP$D_()"Q ?rec_LmM(rPlan_Mr68LM_ST RT_DT8$alue 9 ?rec_LmM(rPlan8LM_ENRL_DT8$alueA rem Prec_LmM4rPla"_&r?ELM_START_DTE alue I Prec_LmM4rPla"ELM_ENRL_DTE alueQ 6< 3 c#mme"te$ Re)#lut%#"O889511 3<6 Prec_LmM4rPla"_&r?ELM_START_DTE alue I Prec_LmM4rPla"ELM_DP_DTE alueQ 6< 3 Re)#lut%#" O889511 Dr#+ $ate a))%4"e$ 3<6 0reaHQ 7hen PPP*!P 9L Payment !pproval L9 Srec_LmMgrPlan%LM_#R!D$_V!L_(D%Value O <Q 9L 3sed to sort the ro'set by status L9 Srec_LmMgrPlan_'rH%LM_D$L$T$_L"-%Visible O 2alseQ Srec_LmMgrPlan_'rH%LM_DR&P!)T_P0%Visible O TrueQ Srec_LmMgrPlan_'rH%LM_(M!#$%Label(mage O (mage%PS_ST!T3S_!PPR&V!L_P$"D("#_()"Q Srec_LmMgrPlan_'rH%LM_ST!RT_DT%Value O Srec_LmMgrPlan%LM_$"RL_DT%ValueQ 0reaHQ 7hen PP$P!P 9L Pending Payment L9 Srec_LmMgrPlan%LM_#R!D$_V!L_(D%Value O 6Q 9L 3sed to sort the ro'set by status L9 Srec_LmMgrPlan_'rH%LM_D$L$T$_L"-%Visible O 2alseQ Srec_LmMgrPlan_'rH%LM_DR&P!)T_P0%Visible O TrueQ Srec_LmMgrPlan_'rH%LM_(M!#$%Label(mage O (mage%PS_ST!T3S_!PPR&V!L_P$"D("#_()"Q (f "oneMSrec_LmMgrPlan_'rH%LM_ST!RT_DT%ValueN Then Srec_LmMgrPlan_'rH%LM_ST!RT_DT%Value O Srec_LmMgrPlan%LM_$"RL_DT%ValueQ $ndE(fQ 0reaHQ 7hen P7!(VP 9L 7aived L9 Srec_LmMgrPlan%LM_#R!D$_V!L_(D%Value O +,Q 9L 3sed to sort the ro'set by status L9 Srec_LmMgrPlan_'rH%LM_D$L$T$_L"-%Visible O 2alseQ Srec_LmMgrPlan_'rH%LM_DR&P!)T_P0%Visible O 2alseQ Srec_LmMgrPlan_'rH%LM_ST!RT_DT%Value O Srec_LmMgrPlan%LM_)&MPL_DT%ValueQ Srec_LmMgrPlan_'rH%LM_(M!#$%Label(mage O (mage%PS_ST!T3S_)&MPL$T$D_()"Q 0reaHQ 7hen P$5PRP 9L $@pired L9 Srec_LmMgrPlan%LM_#R!D$_V!L_(D%Value O +4Q 9L 3sed to sort the ro'set by status L9 Srec_LmMgrPlan_'rH%LM_D$L$T$_L"-%Visible O 2alseQ Srec_LmMgrPlan_'rH%LM_DR&P!)T_P0%Visible O 2alseQ Srec_LmMgrPlan_'rH%LM_ST!RT_DT%Value O Srec_LmMgrPlan%LM_)&MPL_DT%ValueQ Srec_LmMgrPlan_'rH%LM_(M!#$%Label(mage O (mage%PS_ST!T3S_$5P(R$D_()"Q

0reaHQ 7hen PR$(SP 9L Reissued L9 Srec_LmMgrPlan%LM_#R!D$_V!L_(D%Value O +4Q 9L 3sed to sort the ro'set by status L9 Srec_LmMgrPlan_'rH%LM_D$L$T$_L"-%Visible O 2alseQ Srec_LmMgrPlan_'rH%LM_DR&P!)T_P0%Visible O 2alseQ Srec_LmMgrPlan_'rH%LM_ST!RT_DT%Value O Srec_LmMgrPlan%LM_)&MPL_DT%ValueQ Srec_LmMgrPlan_'rH%LM_(M!#$%Label(mage O (mage%PS_ST!T3S_)&MPL$T$D_()"Q 0reaHQ 7hen PR$V-P 9L RevoHed L9 Srec_LmMgrPlan%LM_#R!D$_V!L_(D%Value O +4Q 9L 3sed to sort the ro'set by status L9 Srec_LmMgrPlan_'rH%LM_D$L$T$_L"-%Visible O 2alseQ Srec_LmMgrPlan_'rH%LM_DR&P!)T_P0%Visible O 2alseQ Srec_LmMgrPlan_'rH%LM_ST!RT_DT%Value O Srec_LmMgrPlan%LM_)&MPL_DT%ValueQ Srec_LmMgrPlan_'rH%LM_(M!#$%Label(mage O (mage%PS_ST!T3S_$5P(R$D_()"Q 0reaHQ 7hen P7!R"P 9L 7arning L9 Srec_LmMgrPlan%LM_#R!D$_V!L_(D%Value O +4Q 9L 3sed to sort the ro'set by status L9 Srec_LmMgrPlan_'rH%LM_D$L$T$_L"-%Visible O 2alseQ Srec_LmMgrPlan_'rH%LM_DR&P!)T_P0%Visible O 2alseQ Srec_LmMgrPlan_'rH%LM_ST!RT_DT%Value O Srec_LmMgrPlan%LM_)&MPL_DT%ValueQ Srec_LmMgrPlan_'rH%LM_(M!#$%Label(mage O (mage%PS_ST!T3S_$5P(R$_S&&"_()"Q 0reaHQ 7hen P+P 9L Lrn Re.uest !ctive L9 Srec_LmMgrPlan%LM_#R!D$_V!L_(D%Value O >Q 9L 3sed to sort the ro'set by status L9 Srec_LmMgrPlan_'rH%LM_DR&P!)T_P0%Label O Msg#etTe@tMG6K +<<K PPNQ Srec_LmMgrPlan_'rH%LM_D$L$T$_L"-%Visible O TrueQ Srec_LmMgrPlan_'rH%LM_(M!#$%Label(mage O (mage%PS_ST!T3S_R$Q3$ST_()"Q 0reaHQ 7hen P4P 9L Lrn Re.uest Satisfied L9 Srec_LmMgrPlan%LM_#R!D$_V!L_(D%Value O >Q 9L 3sed to sort the ro'set by status L9 Srec_LmMgrPlan_'rH%LM_DR&P!)T_P0%Label O Msg#etTe@tM+>,G;K +,>>K PPNQ Srec_LmMgrPlan_'rH%LM_D$L$T$_L"-%Visible O TrueQ Srec_LmMgrPlan_'rH%LM_(M!#$%Label(mage O (mage%PS_ST!T3S_R$Q3$ST_()"Q 0reaHQ 7hen PD$)LP 9L Declined L9 Srec_LmMgrPlan_'rH%LM_DR&P!)T_P0%Visible O 2alseQ Srec_LmMgrPlan_'rH%LM_D$L$T$_L"-%Visible O 2alseQ Srec_LmMgrPlan_'rH%LM_(M!#$%Label(mage O (mage%PS_ST!T3S_"&T_)&MPL$T$D_()"Q 7henE&ther Srec_LmMgrPlan%LM_#R!D$_V!L_(D%Value O >Q 9L 3sed to sort the ro'set by status L9 Srec_LmMgrPlan_'rH%LM_D$L$T$_L"-%Visible O 2alseQ Srec_LmMgrPlan_'rH%LM_DR&P!)T_P0%Visible O 2alseQ $ndE$valuateQ (f !llMSrec_LmMgrPlan_'rH%LM_ST!RT_DT%ValueN Then Srec_LmMgrPlan_'rH%LM_$"RL_STR_ST_DT%Value O DateTimeToLocaliTedStringMSrec_LmMgrPlan_'rH%LM_ST!RT_DT%ValueK Sstr_lDate2ormatNQ $lse Srec_LmMgrPlan_'rH%LM_$"RL_STR_ST_DT%Value O PEEPQ $ndE(fQ (f Srec_LmMgrPlan%LM_S)&R$%Value O P!D &)P Then !f ?fld_0tt08$alue 9 BDECLB Then I7 P7l$_)tt)E alue I SDE(LS Or P7l$_)tt)E alue I SDROPS T/e" 6<a$$e$ c#"$%t%#" 7#r SDROPS )tatu) t# /%$e t/e M#$%7A l%"? Re)#lut%#" 889DTT 3<6 Srec_LmMgrPlan_'rH%LM_DR&P!)T_P0%Visible O 2alseQ Srec_LmMgrPlan_'rH%LM_D$L$T$_L"-%Visible O 2alseQ

6<(#"$%t%#" t# c/ec? t/e )tatu) a"$ a))4%"%"4 t/e *alue 7#r %ma4e Re)#lut%#" 889DTT 3<6 I7 P7l$_)tt)E alue I SDE(LS T/e" Srec_LmMgrPlan_'rH%LM_(M!#$%Label(mage O (mage%PS_ST!T3S_"&T_)&MPL$T$D_()"Q $lse Prec_LmM4rPla"_&r?ELM_IMA3EELa:elIma4e I Ima4eEPS_STATUS_DROPPED_I(NQ E"$=I7Q 6<(#"$%t%#" t# c/ec? t/e )tatu) a"$ a))4%"%"4 t/e *alue 7#r %ma4e Re)#lut%#" 889DTT 3<6 El)e Srec_LmMgrPlan_'rH%LM_D$L$T$_L"-%Visible O 2alseQ Srec_LmMgrPlan_'rH%LM_DR&P!)T_P0%Visible O TrueQ Srec_LmMgrPlan_'rH%LM_DR&P!)T_P0%Label O Msg#etTe@tMG6K +<<K PPNQ $ndE(fQ (f Sfld_stts%Value O P("P&P Then Srec_LmMgrPlan_'rH%LM_$"RL_STR_ST_DT%Value O Srec_LmMgrPlan%LM_$"RL_DT%ValueQ $ndE(fQ $ndE(fQ $lse Sbol_Ro'$mpty O TrueQ 0reaHQ $ndE(fQ $ndE2orQ (f Sbol_Ro'$mpty Then #etLevel,MNM+N%LM_)!T_MS#_7R-%LM_PL!"_MS#_L"-%Visible O TrueQ #etLevel,MNM+N%LM_)!T_MS#_7R-%LM_)!T_MS#_+%Visible O TrueQ ideScrollMRecord%LM_$"RLT_M#D_V7NQ #etLevel,MNM+N%LM_)!T_MS#_7R-%LM_)!T_MS#_+%Value O Msg#etTe@tM+>,>GK +D<DK PPNQ $lse Srs_LmMgrPlan%SortMLM_$"RLT_M#D_V7%LM_#R!D$_V!L_(DK P!PNQ #etLevel,MNM+N%LM_)!T_MS#_7R-%LM_PL!"_MS#_L"-%Visible O 2alseQ $ndE(fQ Local Ro'set Srs_Team O )reateRo'setMRecord%LM_M#R_T$!M_V7NQ Local number Snbr_TeamSiTe O Srs_Team%2illMP7 $R$ LM_M!"!#$R_(D O8+ PK Snbr_LmManager(dNQ Sfld_DrctRept O #etRecordMRecord%LM_)!T_3(_7R-N%#et2ieldM2ield%LM_DR)T_R$PT_!)T"NQ Sfld_DrctRept%)learDropDo'nListMNQ Local string Scode(n O P,PQ Sfld_DrctRept%!ddDropDo'n(temMScode(nK Msg#etTe@tM+>,G;K +,66K PPNNQ 2or Si O + To Snbr_TeamSiTe Sfld_DrctRept%!ddDropDo'n(temMSrs_Team%#etRo'MSiN%LM_M#R_T$!M_V7%LM_P$RS&"_(D%Valu eK Srs_Team%#etRo'MSiN%LM_M#R_T$!M_V7%LM_"!M$_D(SPL!*%ValueNQ $ndE2orQ endEmethodQ

Peo1 eCode &A11 P!c>!/e*: LEE_ENROLLMENT:LEE_ENRLMT_ACTIONS;O"E@ec%$e


import import import import import import L$$_$"R&LLM$"T8L$$_$"RLMTQ L$$_$"R&LLM$"T8L$$_PL!"_0$!"Q L$)R8LM_PR#_PR&#R$SSQ L$0&_P$RS&"8Person)lassQ L$$!_$"R&LLM$"T8L$$!_$"R&LLM$"TQ LM_$"RLMT_!TTR08LM_!D &)_$"RLMT_0$!"Q

import import import %m+#rt

L$$_$"R&LLM$"T8L$$_3T(L(T*Q L$)S_S$!R) 8LQ L$)R_PR&#R!MS$L2S$RV()$8ProgramDetailsPage3tilityQ LEBL_A(TI IT2OAct%*%tAI"ter7aceQ

class L$$_$"RLMT_!)T(&"S method L$$_$"RLMT_!)T(&"SMNQ method ProcessLearning!ctionMNQ method TransferToProgramRegistrationMNQ method TransferToLearning(temDetailsMSro'_p(temDetails !s Ro'NQ 9L This is the 'orH record that is used for this class 'hen passing values L9 property Record recLm$nr!ctn7rHQ property property property property property Record Record Record Record Record recLm!ct3i7rHQ recLm3iSrch7rHQ recLmPrgTrn7rHQ recLm(tm3i7rHQ recLm$nrlmt7rHQ

property Record recLmLpln7rHQ property Record recLmLrnRe.7rHQ endEclassQ #lobal string Sstr_!ctPrg_gblQ )omponent string Sstr_from_pageQ method L$$_$"RLMT_!)T(&"S SrecLm$nr!ctn7rH O )reateRecordMRecord%LM_$"R_!)T"_7R-NQ SrecLm!ct3i7rH O #etLevel,MNM+N%LM_!)T_3(_7R-Q SrecLm3iSrch7rH O #etLevel,MNM+N%LM_3(_SR) _7R-Q SrecLmPrgTrn7rH O #etLevel,MNM+N%LM_PR#_TR"_7R-Q SrecLm(tm3i7rH O #etLevel,MNM+N%LM_(TM_3(_7R-Q SrecLm$nrlmt7rH O #etLevel,MNM+N%LM_$"RLMT_7R-Q endEmethodQ method ProcessLearning!ction Local L$0&_P$RS&"8Person)lass SpersonQ Local L$$_$"R&LLM$"T8L$$_PL!"_0$!" Splan_beanQ Local L$$_$"R&LLM$"T8L$$_$"RLMT SenrlmtQ Local L$$_$"R&LLM$"T8L$$_$"RLMT Senrlmt+Q Local L$$_$"R&LLM$"T8L$$_3T(L(T* SutilityQ Local LM_$"RLMT_!TTR08LM_!D &)_$"RLMT_0$!" Senrlmt_!dhc0eanQ Local L$$!_$"R&LLM$"T8L$$!_$"R&LLM$"T Senrlmt_!dhcQ Local string Sstr_cmplnceK Sstr_launch_urlK Sstr_page_nameQ Local boolean SSuccessQ Local number Snbr_lPerson(dK Snbr_l!ct(DK Snbr_l)i(DK Snbr_lPrg(DQ Local string Sstr_l$nrlmntStatusQ Local string Sstr_lRecname O SrecLm$nr!ctn7rH%"ameQ Sutility O create L$$_$"R&LLM$"T8L$$_3T(L(T*MNQ 9L (f Supplemental Learning then the button sho's Modify and 'e transfer to the Supplemental Learning Page L9 (f !llMSrecLm$nr!ctn7rH%LM_!D )_LR"_(D%ValueN Then SrecLm3iSrch7rH%LM_PR$V_P!#$_"!M$%Value O /PageQ SrecLm3iSrch7rH%LM_!D )_LR"_(D%Value O SrecLm$nr!ctn7rH%LM_!D )_LR"_(D%ValueQ DoModal)omponentMMenu"ame%LM_$"RLMTK 0ar"ame%LM_$"RLMTK (tem"ame%LM_!D )_3PDK Page%LM_!D )_LR"_P#K P3PK Record%LM_3(_SR) _7R-NQ ReturnQ $ndE(fQ

(f !llMSrecLm$nr!ctn7rH%LM_LPL"_DTL_STTS%ValueN Then 9L This is the status from the Learning Plan Details L9 Sstr_l$nrlmntStatus O SrecLm$nr!ctn7rH%LM_LPL"_DTL_STTS%ValueQ 9LLL9 $lse Sstr_l$nrlmntStatus O SrecLm$nr!ctn7rH%LM_STTS%ValueQ $ndE(fQ $valuate SrecLm$nr!ctn7rH%LM_LPL"_DTL_STTS%Value 7hen P$"RLP 9L $nrolled L9 7hen PR$#RP 9L Registered L9 7hen P("P&P 9L (n Progress L9 7hen PP$P!P 9L Pending Payment L9 7hen PP$!PP 9L Pending !pproval L9 7hen PPP*!P 9L Payment !pproval L9 7hen P7TLTP 9L 7aitlisted L9 Sutility O create L$$_$"R&LLM$"T8L$$_3T(L(T*MNQ Sutility%addLastPageTo)acheM/PageNQ 9L Drop L9 (f !llMSrecLm$nr!ctn7rH%LM_PR#_R$#_(D%ValueN Then Local L$)R8LM_PR#_PR&#R$SS Scls_prgProgress O create L$)R8LM_PR#_PR&#R$SSMNQ SrecLmPrgTrn7rH%LM_)!LL("#_)&MP"T%Value O SrecLm$nr!ctn7rH%LM_)!LL("#_)&MP"T%ValueQ SrecLmPrgTrn7rH%LM_PR#_R$#_(D%Value O SrecLm$nr!ctn7rH%LM_PR#_R$#_(D%ValueQ DoModal)omponentMMenu"ame%LM_$"RLMTK 0ar"ame%LM_$"RLMTK (tem"ame%LM_DP_R$#K Page%LM_DP_R$V7_R$#K P3PK Record%LM_PR#_TR"_7R-K LM_PR#_TR"_7R-%LM_PR#_R$#_(DNQ 0reaHQ $ndE(fQ (f !llMSrecLm$nr!ctn7rH%LM_$"RLMT_(D%ValueN Then SrecLm!ct3i7rH%LM_!)T_(D%Value O SrecLm$nr!ctn7rH%LM_!)T_(D%ValueQ SrecLm!ct3i7rH%LM_P$RS&"_(D%Value O SrecLm$nr!ctn7rH%LM_P$RS&"_(D%ValueQ SrecLm!ct3i7rH%LM_$"RLMT_(D%Value O SrecLm$nr!ctn7rH%LM_$"RLMT_(D%ValueQ SrecLm!ct3i7rH%LM_)!LL("#_)&MP"T%Value O SrecLm$nr!ctn7rH%LM_)!LL("#_)&MP"T%ValueQ DoModal)omponentMMenu"ame%LM_$"RLMTK 0ar"ame%LM_$"RLMTK (tem"ame%LM_DP_$"RLMTK Page%LM_DP_R$V7_$"RLMTK P3PK Record%LM_!)T_3(_7R-K LM_!)T_3(_7R-%LM_P$RS&"_(DK LM_!)T_3(_7R-%LM_!)T_(DK LM_!)T_3(_7R-%LM_$"RLMT_(DN $ndE(fQ 0reaHQ 7hen PPL!"P 9L Planned L9 9L $nroll L9 (f !llMSrecLm$nr!ctn7rH%LM_PR#_R$#_(D%ValueN Then Local L$)R_PR&#R!MS$L2S$RV()$8ProgramDetailsPage3tility Scls_lProgramDetailsPage3tility O create L$)R_PR&#R!MS$L2S$RV()$8ProgramDetailsPage3tilityMNQ /This%TransferToProgramRegistrationMNQ 0reaHQ $ndE(fQ (f !llMSrecLm$nr!ctn7rH%LM_$"RLMT_(D%ValueN Then SrecLm3iSrch7rH%LM_!)T_(D%Value O SrecLm$nr!ctn7rH%LM_!)T_(D%ValueQ SrecLm3iSrch7rH%LM_P$RS&"_(D%Value O SrecLm$nr!ctn7rH%LM_P$RS&"_(D%ValueQ SrecLm3iSrch7rH%LM_)(_(D%Value O SrecLm$nr!ctn7rH%LM_)(_(D%ValueQ SrecLm3iSrch7rH%LM_PR$V_P!#$_"!M$%Value O /PageQ SrecLm3iSrch7rH%LM_)!LL("#_)&MP"T%Value O SrecLm$nr!ctn7rH%LM_)!LL("#_)&MP"T%ValueQ (f "oneMSrecLm$nr!ctn7rH%LM_!)T_(D%ValueN Then SrecLm(tm3i7rH%LM_)(_(D%Value O SrecLm$nr!ctn7rH%LM_)(_(D%ValueQ SrecLm(tm3i7rH%LM_P$RS&"_(D%Value O SrecLm$nr!ctn7rH%LM_P$RS&"_(D%ValueQ SrecLm(tm3i7rH%LM_)!LL("#_)&MP"T%Value O SrecLm$nr!ctn7rH%LM_)!LL("#_)&MP"T%ValueQ DoModal)omponentMMenu"ame%LM_SS_L$!R"("#K 0ar"ame%3S$K (tem"ame%LM_SS_L$!R"("#_3(K Page%LM_L$!R"_(TM_DTLK P3PK Record%LM_(TM_3(_7R-NQ $lse

Snbr_lPerson(d O SrecLm$nr!ctn7rH%LM_P$RS&"_(D%ValueQ Snbr_l!ct(D O SrecLm$nr!ctn7rH%LM_!)T_(D%ValueQ Snbr_l)i(D O SrecLm$nr!ctn7rH%LM_)(_(D%ValueQ Snbr_lPrg(D O ,Q Sutility%addPerson!ct(D)acheMSnbr_lPerson(dK Snbr_l!ct(DK Snbr_l)i(DK Snbr_lPrg(DNQ 6<889TTD = )tart c#$e c/a"4e)<6 I7 .Me"u I SLM_SS_LEARNIN3S Or .Me"u I SLM_SS_MANA3ERS T/e" L#cal LEBL_A(TI IT2OAct%*%tAI"ter7ace Plmact I create LEBL_A(TI IT2OAct%*%tAI"ter7aceHP":r_lActIDKQ L#cal $ate Pe"$_$tJ Pl)t_E"rl_DtQ Pl)t_E"rl_Dt I PlmactE3etLa)tE"rlDateHKQ S'LEBecHSSELE(T .DATEOUTHLM_END_DTK -ROM PS_LM_A(T !1ERE LM_A(T_ID I O1 SJ P":r_lActIDJ Pe"$_$tKQ I7 HN#"eHPe"$_$tKK Or HPe"$_$t LI .DateK T/e" I7 HN#"eHPl)t_E"rl_DtKK Or HPl)t_E"rl_Dt LI .DateK T/e" 6<889TTD = e"$ c#$e c/a"4e)<6 DoModal)omponentMMenu"ame%LM_$"RLMTK 0ar"ame%LM_$"RLMTK (tem"ame%LM_$"RLMTK Page%LM_R$V($7_$"RLMTK P3PK Record%LM_3(_SR) _7R-NQ 6<889TTD = )tart c#$e c/a"4e)<6 El)e Me))a4eB#BH0J SSJ 18089J 139J SMe))a4e "#t 7#u"$SKQ $ndE(fQ El)e Me))a4eB#BH0J SSJ 18089J 139J SMe))a4e "#t 7#u"$SKQ $ndE(fQ El)e D#M#$al(#m+#"e"tHMe"uNameELM_ENRLMTJ BarNameELM_ENRLMTJ ItemNameELM_ENRLMTJ Pa4eELM_RE IE!_ENRLMTJ SUSJ Rec#r$ELM_UI_SR(1_!R,KQ E"$=I7Q 6<889TTD = e"$ c#$e c/a"4e)<6 E"$=I7Q E"$=I7Q 0reaHQ 7henE&therQ 0reaHQ $ndE$valuateQ endEmethodQ method TransferToProgramRegistration SrecLmLpln7rH O #etLevel,MNM+N%LM_LPL"_7R-Q SrecLm(tm3i7rH%LM_)!LL("#_)&MP"T%Value O SrecLm$nr!ctn7rH%LM_)!LL("#_)&MP"T%ValueQ SrecLmLpln7rH%LM_P$RS&"_(D%Value O SrecLm$nr!ctn7rH%LM_P$RS&"_(D%ValueQ SrecLmLpln7rH%LM_PR#_(D%Value O SrecLm$nr!ctn7rH%LM_PR#_(D%ValueQ DoModal)omponentMMenu"ame%LM_$"RLMTK 0ar"ame%LM_$"RLMTK (tem"ame%LM_R$#K Page%LM_R$V($7_R$#K P3PK Record%LM_(TM_3(_7R-K LM_LPL"_7R-%LM_P$RS&"_(DK LM_LPL"_7R-%LM_PR#_(DNQ endEmethodQ method TransferToLearning(temDetails 9C Sro'_p(temDetails as Ro' C9 Local string Sstr_l(temDetails O Sro'_p(temDetails%ParentRo'set%D0Record"ameQ Local Record Srec_l(temDetails O Sro'_p(temDetails%#etRecordMVMPRecord%P R Sstr_l(temDetailsNNQ Local Local Local Local Ro'set Srs_lLm)iV'; O )reateRo'setMRecord%LM_)(_V7;NQ Record Srec_lLm)at3i7rHQ string Sstr_page_nameQ date Sdt_l$nrlDateQ

Sstr_from_page O /PageQ Sstr_!ctPrg_gbl O /PageQ $valuate /Page 7hen O Page%LM_L$!R"("#_ M Sstr_page_name O Msg#etTe@tM+>,>>K >K PPNQ Srec_lLm)at3i7rH O Sro'_p(temDetails%LM_)!T_3(_7R-Q Sdt_l$nrlDate O Srec_lLm)at3i7rH%LM_$"RL_DT%ValueQ 0reaHQ 7hen O Page%LM_)3RR$"T_LR"# Sstr_page_name O Msg#etTe@tM+>,>>K 6;K PPNQ Srec_lLm)at3i7rH O Sro'_p(temDetails%LM_)!T_3(_7R-Q Sdt_l$nrlDate O Srec_lLm)at3i7rH%LM_$"RL_DT%ValueQ 0reaHQ 7henE&ther Srec_lLm)at3i7rH O #etLevel,MNM+N%LM_)!T_3(_7R-Q Sdt_l$nrlDate O Srec_l(temDetails%LM_$"RL_DT%ValueQ $ndE$valuateQ (f !llMSrec_l(temDetails%LM_!D )_LR"_(D%ValueN Then SrecLm3iSrch7rH%LM_PR$V_P!#$_"!M$%Value O /PageQ SrecLm3iSrch7rH%LM_!D )_LR"_(D%Value O Srec_l(temDetails%LM_!D )_LR"_(D%ValueQ (f LM_)3RR_!)TD_V7%LM_STTS%Value O PP$!PP &r LM_)3RR_!)TD_V7%LM_STTS%Value O P("P&P &r LM_)3RR_!)TD_V7%LM_STTS%Value O PPL!"P Then DoModal)omponentMMenu"ame%LM_$"RLMTK 0ar"ame%LM_$"RLMTK (tem"ame%LM_!D )_3PDK Page%LM_!D )_LR"_P#K P3PK Record%LM_3(_SR) _7R-NQ $lse DoModalComponent;MenuName8LM_ENRLMT< 1arName8LM_ENRLMT< !temName8LM_ DCC_M)R_*PD< Pa(e8LM_ DCC_*PD_P)< B*B< Record8LM_*!_SRCC_%RK>A 6< 3 889DTT -#r Lear"er) t/e c#"tr#l )/#ul$ rema%" &%t/%" Lear"er c#m+#"e"t /e"ce c#mme"t%"4 t/e :el#& c#$e a"$ a$$%"4 t/e "e& c#$e <6 REM D#M#$al(#m+#"e"tHMe"uNameELM_ENRLMTJ BarNameELM_ENRLMTJ ItemNameELM_AD1(_M3R_UPDJ Pa4eELM_AD1(_UPD_P3J SUSJ Rec#r$ELM_UI_SR(1_!R,KQ 6< 3<6 D#M#$al(#m+#"e"tHMe"uNameELM_ENRLMTJ BarNameELM_ENRLMTJ ItemNameELM_AD1(_UPDJ Pa4eELM_AD1(_UPD_P3J SUSJ Rec#r$ELM_UI_SR(1_!R,KQ 6< 3<6 6< 3 889DTT -#r Lear"er) t/e c#"tr#l )/#ul$ rema%" &%t/%" Lear"er c#m+#"e"t /e"ce c#mme"t%"4 t/e :el#& c#$e a"$ a$$%"4 t/e "e& c#$e <6 $ndE(fQ $lse (f Srec_l(temDetails%LM_S)&R$%Value O PPR&#P Then Local Record Srec_prgReg O )reateRecordMRecord%LM_PR#_R$#_V7NQ Local Ro'set Srs_prg O )reateRo'setMRecord%LM_PR#NQ Srec_prgReg%LM_PR#_R$#_(D%Value O Srec_l(temDetails%LM_$"RLMT_(D%ValueQ Srec_prgReg%Select0y-eyMNQ (f Srec_l(temDetails%LM_STTS%Value O PPL!"P Then 9L"08_Starts8Pass the ma@%effdt 'hich is less than current date 'hile fetching the curriculum details%L9 9L select the e@act effective dated ro' to retrieve for the transfer L9 ULSrs_prg%2illMP'here LM_PR#_(D O 8+ and /dateinM8;N bet'een $22DT and LM_$"D_$22DTPK Srec_l(temDetails%LM_!)T_(D%ValueK Sdt_l$nrlDateNQLI Srs_prg%2illMP7 $R$ LM_PR#_(D O 8+ !"D $22DT O MS$L$)T M!5M#%$22DTN 2R&M PS_LM_PR# # 7 $R$ #%LM_PR#_(D O 2(LL%LM_PR#_(D !"D #%$22DT UO /DateinM8;NNPK LM_)3RR_!)TD_V7%LM_!)T_(D%ValueK /DateNQ 9L"08><F64>_$ndsL9 SrecLmPrgTrn7rH%LM_P$RS&"_(D%Value O Srec_l(temDetails%LM_P$RS&"_(D%ValueQ SrecLmPrgTrn7rH%LM_PR#_(D%Value O Srec_l(temDetails%LM_!)T_(D%ValueQ SrecLmPrgTrn7rH%$22DT%Value O Srs_prgM+N%LM_PR#%$22DT%ValueQ SrecLmPrgTrn7rH%LM_PR$V_P!#$_"!M$%Value O /PageQ SrecLmPrgTrn7rH%LM_PR#_R$#_(D%Value O Srec_prgReg%LM_PR#_R$#_(D%ValueQ DoModal)omponentMMenu"ame%LM_)3RR()3L3MK 0ar"ame%3S$K (tem"ame%LM_PR#_DTLS_$SSK Page%LM_PR#_S3MM_P#K P3PK Record%LM_PR#_TR"_7R-NQ $lse 9L><F64>8"08Pass the ma@%effdt 'hich is less than current date 'hile fetching the curriculum details%L9 9L select the e@act effective dated ro' to retrieve for the transfer

L9

ULSrs_prg%2illMP'here LM_PR#_(D O 8+ and /dateinM8;N bet'een $22DT and LM_$"D_$22DTPK Srec_l(temDetails%LM_!)T_(D%ValueK Srec_l(temDetails%LM_)$RT_$22DT%ValueNQLI Srs_prg%2illMP7 $R$ LM_PR#_(D O 8+ !"D $22DT O MS$L$)T M!5M#%$22DTN 2R&M PS_LM_PR# # 7 $R$ #%LM_PR#_(D O 2(LL%LM_PR#_(D !"D #%$22DT UO /DateinM8;NNPK LM_)3RR_!)TD_V7%LM_!)T_(D%ValueK /DateNQ 9L"08><F64>_$ndsL9 SrecLmPrgTrn7rH%LM_P$RS&"_(D%Value O Srec_l(temDetails%LM_P$RS&"_(D%ValueQ SrecLmPrgTrn7rH%LM_PR#_(D%Value O Srec_l(temDetails%LM_!)T_(D%ValueQ SrecLmPrgTrn7rH%$22DT%Value O Srs_prgM+N%LM_PR#%$22DT%ValueQ SrecLmPrgTrn7rH%LM_PR$V_P!#$_"!M$%Value O /PageQ SrecLmPrgTrn7rH%LM_PR#_R$#_(D%Value O Srec_prgReg%LM_PR#_R$#_(D%ValueQ DoModal)omponentMMenu"ame%LM_)3RR()3L3MK 0ar"ame%3S$K (tem"ame%LM_PR#_PR#S_$SSK Page%LM_PR#_PR&#R$SSK P3PK Record%LM_PR#_TR"_7R-NQ $ndE(fQ $lse (f Srec_l(temDetails%LM_S)&R$%Value O PLR"P Then SrecLmLrnRe.7rH O #etLevel,MNM+N%#etRecordMRecord%LM_LR"_R$Q_7R-NQ SrecLmLrnRe.7rH%LM_P$RS&"_(D%Value O Srec_l(temDetails%LM_P$RS&"_(D%ValueQ SrecLmLrnRe.7rH%LM_LRQ_(D%Value O Srec_l(temDetails%LM_$"RLMT_(D%ValueQ DoModal)omponentMMenu"ame%LM_LR"_R$QK 0ar"ame%LM_SS_LR"_R$QK (tem"ame%LM_SS_LR"_R$QK Page%LM_SS_LR"_R$QK P3PK Record%LM_LR"_R$Q_7R-NQ $lse (f !llMSrec_l(temDetails%LM_!)T_(D%ValueN Then (f Srec_l(temDetails%LM_STTS%Value O PPL!"P Then SrecLm!ct3i7rH%LM_!)T_(D%Value O Srec_l(temDetails%LM_!)T_(D%ValueQ SrecLm!ct3i7rH%LM_P$RS&"_(D%Value O Srec_lLm)at3i7rH%LM_P$RS&"_(D%ValueQ SrecLm!ct3i7rH%LM_)&MP_&R(#%Value O /)omponentQ DoModal)omponentMMenu"ame%LM_SS_L$!R"("#K 0ar"ame%3S$K (tem"ame%LM_SS_L$!R"("#_3(K Page%LM_L$!R"_!)T_DTLK P3PK Record%LM_!)T_3(_7R-NQ $lse SrecLm$nrlmt7rH%LM_!)T_(D%Value O Srec_l(temDetails%LM_!)T_(D%ValueQ SrecLm$nrlmt7rH%LM_P$RS&"_(D%Value O Srec_l(temDetails%LM_P$RS&"_(D%ValueQ SrecLm$nrlmt7rH%LM_$"RLMT_(D%Value O Srec_l(temDetails%LM_$"RLMT_(D%ValueQ SrecLm$nrlmt7rH%LM_)&MP_&R(#%Value O /)omponentQ DoModal)omponentMMenu"ame%LM_SS_L$!R"("#K 0ar"ame%3S$K (tem"ame%LM_SS_!)T_PR&#K Page%LM_!)T_PR&#K P3PK Record%LM_$"RLMT_7R-NQ $ndE(fQ $lse SrecLm(tm3i7rH%LM_)(_(D%Value O Srec_l(temDetails%LM_)(_(D%ValueQ SrecLm3iSrch7rH%LM_PR$V_P!#$_"!M$%Value O /PageQ DoModal)omponentMMenu"ame%LM_SS_L$!R"("#K 0ar"ame%3S$K (tem"ame%LM_SS_L$!R"("#_3(K Page%LM_L$!R"_(TM_DTLK P3PK Record%LM_(TM_3(_7R-NQ $ndE(fQ $ndE(fQ $ndE(fQ $ndE(fQ endEmethodQ

Peo1 eCode &A11 P!c>!/e*: LELP_LEARNING_PLANS:Le!r"i"/P !"De$!i #UI;O"E@ec%$e


import L$LP_L$!R"("#_PL!"S8LQ import L$$_$"R&LLM$"T8L$$_$"RLMT_!)T(&"SQ class LearningPlanDetails3( method LearningPlanDetails3(MSnbr_pLearner(D !s numberK Snbr_pLearningPlan(D !s

numberNQ method method method method set eadingsMNQ set#rid eadingsMNQ displayLearningPlanDetailMessageMSbol_p!dded"e'Learning !s booleanNQ checH)alling)omponent"ameMNQ

method &nPage!ctivateMNQ method setLearningPlanDetailsMNQ method getLearningPlanDetailsMSbol_p2lushLearningPlanDetails !s booleanNQ method get&neLearningPlanDetailMSrec_pLearnerPlanned(tem !s RecordK Srec_pLearningPlanDetails !s Record outN Returns booleanQ method setProgramTypeMSro'_pLearningPlanDetails !s Ro'NQ method set!ction0uttonMSro'_pLearningPlanDetails !s Ro'NQ method enableLearningPlanDetailsMSro'_pLearningPlanDetails !s Ro'NQ method enable&therLearningPlanDetailsMSro'_pLearningPlanDetails !s Ro'NQ method add"e'LearningToPlanMN Returns booleanQ method clicH!ction0uttonMSrec_pLearningPlanDetails !s RecordNQ method transferToSupplementalLearning)omponentMSro'_pLearningPlanDetails !s Ro'K Smanager !s booleanNQ 9L !dded Manager 2lag ()$ ;,4+,4F,,, L9 method selectTitleLinHMSro'_pLearningPlanDetails !s Ro'K SM!"!#$R !s booleanNQ 9L !dded Manager 2lag ()$ ;,4+,4F,,, L9 method setToTrigger2ieldDefault&nLevel,MSbol_pTrigger2ieldDefault !s booleanNQ method trigger2ieldDefault&nLevel,MNQ method sho'MessageTe@tMSbol_pSho'MessageTe@t !s booleanK Snbr_pMsgSet !s numberK Snbr_pMsgSet"br !s numberNQ property number Learner(DQ property number LearningPlan(DQ private instance Ro'set Srs_mLearningPlanDetailsQ instance instance instance instance instance instance instance instance Record Record Record Record Record Record Record Record Srec_mLearningPlan7rHQ Srec_mSelectedLearningPlans7rHQ Srec_m3iSrch7rHQ Srec_mPrgTrn7rHQ Srec_mLmPage7rHQ Srec_m!ct3i7rHQ Srec_m$nrlmt7rHQ Srec_m(tm3i7rHQ

instance boolean Sbol_m(sLearnerQ instance boolean Sbol_m(sManagerQ instance boolean Sbol_m(s!dministratorQ instance number Snbr_mLearner(d&f&per(dQ )onstant Sstr_c!ction(nitiated O P*PQ endEclassQ 9L These global variables are used for the Learning Plan )omponents L9 #lobal number Sglb_nbrLPL"_!ct(dK Sglb_nbrLPL"_)i(dK Sglb_nbrLPL"_Prg(DQ 9LLL9 #lobal string SadminQ 9L Declared global variable admin Resolution >F+F>D V#L9 method LearningPlanDetails3( 9C Snbr_pLearner(D as "umberK C9 9C Snbr_pLearningPlan(D as "umber C9 Srs_mLearningPlanDetails O #etLevel,MNM+N%#etRo'setMScroll%LM_LPL"_DTL_V7NQ

Srec_mLearningPlan7rH O #etLevel,MNM+N%LM_LPL"_7R-Q Srec_mSelectedLearningPlans7rH O #etLevel,MNM+N%LM_LPL"_S$L_7R-Q Srec_m3iSrch7rH O #etLevel,MNM+N%LM_3(_SR) _7R-Q Srec_mPrgTrn7rH O #etLevel,MNM+N%LM_PR#_TR"_7R-Q Srec_mLmPage7rH O #etLevel,MNM+N%LM_P!#$_7R-Q Srec_m!ct3i7rH O #etLevel,MNM+N%LM_!)T_3(_7R-Q Srec_m$nrlmt7rH O #etLevel,MNM+N%LM_$"RLMT_7R-Q Srec_m(tm3i7rH O #etLevel,MNM+N%LM_(TM_3(_7R-Q /This%Learner(D O Snbr_pLearner(DQ /This%LearningPlan(D O Snbr_pLearningPlan(DQ endEmethodQ method set eadings Srec_mLmPage7rH%LM_P!#$_T(TL$%Value O Msg#etTe@tM+>+,,K 6K PMessage not foundPNQ Srec_mLearningPlan7rH%D$S)RL&"#%Value O Msg#et$@plainTe@tM+>+,,K 6K PMessage not foundPNQ (f Srec_mLearningPlan7rH%LM_LPL"_ST!T3S%Value O P)P &r Srec_mLearningPlan7rH%LM_LPL"_ST!T3S%Value O P(P Then 9L (f this is a Learning Plan istoryK status is )omplete or )urrent Learning Plan status is ("!)T(V$K there is no need to display 1!dd Learning To Plan1 linH L9 Srec_mLearningPlan7rH%LM_LPL"_!DD%Visible O 2alseQ $lse Srec_mLearningPlan7rH%LM_LPL"_!DD%Visible O TrueQ $ndE(fQ 9L This 'orH field is al'ays set to 1*1% (t is used 'hen passing the Level , as ro'set for the learner and it also indicates that this learner is selected% Since there is only one learner 'hen this Learning Plan Details component is invoHed% L9 Srec_mLearningPlan7rH%LM_LPL"_S$L$)T%Value O P*PQ 9LLL9 endEmethodQ method set#rid eadings Local #rid Sgrid_lLearningPlanDetailQ Sgrid_lLearningPlanDetail O #et#ridMPage%LM_LPL"_DTLK PLM_LPL"_DTL_V7PNQ Sgrid_lLearningPlanDetail%Label O Msg#etTe@tM+>+,,K 6K PMessage not foundPNQ Sgrid_lLearningPlanDetail%#et)olumnMPLM_!SS(#"$D_0*PN%Label O Srs_mLearningPlanDetails%#etRo'M+N%LM_LPL"_DTL_7R-%LM_"!M$_D(SPL!*%#etLongLabelMPL M_!SS(#"$D_0*PNQ Sgrid_lLearningPlanDetail%#et)olumnMPLM_LPL"_DTL_T(TL$PN%Label O Srs_mLearningPlanDetails%#etRo'M+N%LM_LPL"_DTL_7R-%LM_LPL"_DTL_T(TL$%#etShortLabel MPLM_LPL"_DTL_T(TL$PNQ Sgrid_lLearningPlanDetail%#et)olumnMPLM_DR&P!)T_P0PN%Label O Srs_mLearningPlanDetails%#etRo'M+N%LM_LPL"_DTL_7R-%LM_DR&P!)T_P0%#etShortLabelMPLM _LPL"_!)T(&"PNQ endEmethodQ method displayLearningPlanDetailMessage 9C Sbol_p!dded"e'Learning as 0oolean C9 9L (f there are ro's on Learning Plan DetailsK sho' the ro's% The Learning Plan Detail checHs for LM_P$RS&"_(D and not the Learning Plan (D% The Learning Plan (D is not populated 'hen ne'ly created% L9 (f !llMSrs_mLearningPlanDetails%#etRo'M+N%LM_LPL"_DTL_V7%LM_P$RS&"_(D%ValueN Then Srs_mLearningPlanDetails%Sho'!llRo'sMNQ (f Sbol_p!dded"e'Learning Then 9L (f ne'ly added learning itemK sho' a message that the learning item has been successfully added on learning plan L9

/This%sho'MessageTe@tM TrueK +>+,,K ;FNQ 9LLL9 $lse /This%sho'MessageTe@tM 2alseK ,K ,NQ $ndE(fQ $lse Srs_mLearningPlanDetails% ide!llRo'sMNQ /This%sho'MessageTe@tM TrueK +>+,,K +,NQ $ndE(fQ endEmethodQ method checH)alling)omponent"ame 9L )hecH 'ho is the calling component% The calling component can be Learner SelfEServiceK Manager SelfEServiceK or !dministrator% L9 Sbol_m(sLearner O 2alseQ Sbol_m(sManager O 2alseQ Sbol_m(s!dministrator O 2alseQ $valuate Srec_mLearningPlan7rH%LM_)!LL("#_)&MP"T%Value 7hen )omponent%LM_LPL" Sbol_m(sLearner O TrueQ 0reaHQ 7hen )omponent%LM_LPL"_M#R Sbol_m(sManager O TrueQ 0reaHQ 7hen )omponent%LM_LPL"_!DM Sbol_m(s!dministrator O TrueQ 0reaHQ 7henE&therQ $ndE$valuateQ endEmethodQ method &nPage!ctivate Local L$LP_L$!R"("#_PL!"S8LearningPlan)ommon Scls_lLearningPlan)ommon O create L$LP_L$!R"("#_PL!"S8LearningPlan)ommonMNQ 9L The learner1s id for the operator id is e@tracted% (t is needed because the Learning Plan Details component can be the learnerK managerK or an administrator% L9 Snbr_mLearner(d&f&per(d O Scls_lLearningPlan)ommon%getLearner(DMNQ 9LLL9 9L 2irstK checH the calling component if coming from learnerK manager or administrator% L9 /This%checH)alling)omponent"ameMNQ 9LLL9 /This%set eadingsMNQ /This%set#rid eadingsMNQ /This%getLearningPlanDetailsM TrueNQ /This%setLearningPlanDetailsMNQ /This%displayLearningPlanDetailMessageM 2alseNQ endEmethodQ method setLearningPlanDetails Local Local Local Local Ro'set Srs_lTempLearningPlanDetailsQQ Ro' Sro'_lLearningPlanDetailsQ Record Srec_lLM_LPL"_DTL_7R-K Srec_lLM_LPL"_DTL_V7Q integer SiQ

2or Si O + To Srs_mLearningPlanDetails%!ctiveRo')ount Sro'_lLearningPlanDetails O Srs_mLearningPlanDetails%#etRo'MSiNQ

Srec_lLM_LPL"_DTL_V7 O Sro'_lLearningPlanDetails%LM_LPL"_DTL_V7Q Srec_lLM_LPL"_DTL_7R- O Sro'_lLearningPlanDetails%LM_LPL"_DTL_7R-Q Srec_lLM_LPL"_DTL_7R-%LM_"!M$_D(SPL!*%Label O Srec_lLM_LPL"_DTL_V7%LM_!SS(#"$D_0*%#etRelatedMLM_LPL"_!S#"_V7%LM_"!M$_D(SPL!*N%Va lueQ Srec_lLM_LPL"_DTL_7R-%LM_LPL"_DTL_T(TL$%Label O Srec_lLM_LPL"_DTL_V7%LM_LPL"_DTL_T(TL$%ValueQ (f "oneMSrec_lLM_LPL"_DTL_V7%LM_!)T_(D%ValueN !nd !llMSrec_lLM_LPL"_DTL_V7%LM_)(_(D%ValueN Then 9L This is a )atalog (tem only L9 Srec_lLM_LPL"_DTL_V7%LM_LPL"_DTL_T*P$%Value O Msg#etTe@tM+>,G;K +,<;K PPNQ $ndE(fQ /This%setProgramTypeMSro'_lLearningPlanDetailsNQ /This%set!ction0uttonMSro'_lLearningPlanDetailsNQ /This%enableLearningPlanDetailsMSro'_lLearningPlanDetailsNQ /This%enable&therLearningPlanDetailsMSro'_lLearningPlanDetailsNQ $valuate Srec_lLM_LPL"_DTL_V7%LM_LPL"_DTL_STTS%Value 7hen P)!")P 7hen P)&MPP 7hen PD$)LP 7hen PDR&PP 7hen P$5PRP 7hen PR$V-P Srec_lLM_LPL"_DTL_V7%LM_PR(&R(T*%$nabled O 2alseQ Srec_lLM_LPL"_DTL_V7%LM_R$Q3(R$D%$nabled O 2alseQ Srec_lLM_LPL"_DTL_V7%LM_T!R#$T_D!T$%$nabled O 2alseQ 9LStart Resolution >F;+>G E )ode remarHed to delete the association of Dropped Learning from Learning Plan 8 2or status )ompleted the Delete button is hidden so belo' code is not re.uired V#L9 9L !0 >6>4FF E L$!R"$RS )!" PM&D(2*P &R PD$L$T$P )&MPL$T$D E 2(5$D L9 rem Srec_lLM_LPL"_DTL_7R-%LM_LPL"_D$L$T$%$nabled O 2alseQ 9L $nd E !0 >6>4FF E L$!R"$RS )!" PM&D(2*P &R PD$L$T$P )&MPL$T$D E 2(5$D L9 9L$nd Resolution >F;+>G L9 7henE&ther $ndE$valuateQ $ndE2orQ endEmethodQ method setProgramType 9C Sro'_pLearningPlanDetails as Ro' C9 Local Record Srec_lLearningPlanDetails O Sro'_pLearningPlanDetails%LM_LPL"_DTL_V7Q Local Record Srec_lLearningPlanDetails7rH O Sro'_pLearningPlanDetails%LM_LPL"_DTL_7R-Q (f !llMSrec_lLearningPlanDetails%LM_PR#_R$#_(D%ValueN Then 9L #et the translate value for the program type% )ontinue L9 $lse 9L This is not a program registration id% Do not continue L9 Return $ndE(fQ Srec_lLearningPlanDetails7rH%LM_PR#_T*P$%Value O 3pperMSrec_lLearningPlanDetails%LM_LPL"_DTL_T*P$%ValueNQ 9L !fter setting the program typeK reset the learning plan detail type based on the translate value L9 Srec_lLearningPlanDetails%LM_LPL"_DTL_T*P$%Value O Srec_lLearningPlanDetails7rH%LM_PR#_T*P$%LongTranslateValueQ endEmethodQ

method getLearningPlanDetails 9C Sbol_p2lushLearningPlanDetails as 0oolean C9 (f Sbol_p2lushLearningPlanDetails Then Srs_mLearningPlanDetails%2lushMNQ $ndE(fQ (f "oneMSrs_mLearningPlanDetailsM+N%LM_LPL"_DTL_V7%LM_LPL"_(D%ValueN Then Srs_mLearningPlanDetails%SelectMRecord%LM_LPL"_DTL_V7K P'here LM_P$RS&"_(D O 8+ and LM_LPL"_(D O 8;PK /This%Learner(DK /This%LearningPlan(DNQ $ndE(fQ endEmethodQ method get&neLearningPlanDetail 9C Srec_pLearnerPlanned(tem as RecordK C9 9C Srec_pLearningPlanDetails as Record out C9 9C Returns 0oolean C9 Local Ro'set Srs_lTempLearningPlanDetails O )reateRo'setMRecord%LM_LPL"_DTL_V7NQ Srs_lTempLearningPlanDetails%2illMP'here 2(LL%LM_LPL"_(D O 8+ and 2(LL%LM_P$RS&"_(D O 8; and 2(LL%LM_!D )_LR"_(D O 84 and 2(LL%LM_$"RLMT_(D O 8< and 2(LL%LM_PR#_R$#_(D O 86PK Srec_pLearnerPlanned(tem%LM_LPL"_(D%ValueK Srec_pLearnerPlanned(tem%LM_P$RS&"_(D%ValueK Srec_pLearnerPlanned(tem%LM_!D )_LR"_(D%ValueK Srec_pLearnerPlanned(tem%LM_$"RLMT_(D%ValueK Srec_pLearnerPlanned(tem%LM_PR#_R$#_(D%ValueNQ (f "oneMSrs_lTempLearningPlanDetailsM+N%LM_LPL"_DTL_V7%LM_LPL"_(D%ValueN Then Return 2alseQ $lse Srec_pLearningPlanDetails O Srs_lTempLearningPlanDetailsM+N%LM_LPL"_DTL_V7Q $ndE(fQ Return TrueQ endEmethodQ method set!ction0utton 9C Sro'_pLearningPlanDetails as Ro' C9 Local Record Srec_lLearningPlanDetails O Sro'_pLearningPlanDetails%LM_LPL"_DTL_V7Q Local Record Srec_lLearningPlanDetails7rH O Sro'_pLearningPlanDetails%LM_LPL"_DTL_7R-Q $valuate Srec_lLearningPlanDetails%LM_LPL"_DTL_STTS%Value 7hen P$"RLP 9L $nrolled L9 7hen PR$#RP 9L Program RegisterL9 (f Sbol_m(sLearner Then (f Srec_lLearningPlanDetails%LM_!)T_R$Q%Value O P*P &r Srec_mLearningPlan7rH%LM_R$Q3$ST&R_(D%Value UI Srec_lLearningPlanDetails%LM_P$RS&"_(D%Value Then Srec_lLearningPlanDetails7rH%LM_DR&P!)T_P0%Visible O 2alseQ $lse Srec_lLearningPlanDetails7rH%LM_DR&P!)T_P0%Visible O TrueQ Srec_lLearningPlanDetails7rH%LM_DR&P!)T_P0%Label O Msg#etTe@tM+>,G+K ++++K PPNQ $ndE(fQ $lse (f (s3ser(nPermissionListMPLML$LMF;D,PN Then 9L "eed to checH this permission list% "ot assigned to any menus L9 Srec_lLearningPlanDetails7rH%LM_DR&P!)T_P0%Visible O TrueQ Srec_lLearningPlanDetails7rH%LM_DR&P!)T_P0%Label O Msg#etTe@tM+>,G+K ++++K PPNQ $lse Srec_lLearningPlanDetails7rH%LM_DR&P!)T_P0%Visible O 2alseQ $ndE(fQ $ndE(fQ 0reaHQ

7hen PPL!"P 9L Planned L9 Srec_lLearningPlanDetails7rH%LM_DR&P!)T_P0%Visible O TrueQ (f !llMSrec_lLearningPlanDetails%LM_PR#_R$#_(D%ValueN Then Srec_lLearningPlanDetails7rH%LM_DR&P!)T_P0%Label O Msg#etTe@tM+>+,,K ;,K PPNQ $lse Srec_lLearningPlanDetails7rH%LM_DR&P!)T_P0%Label O Msg#etTe@tM+>,G+K +++,K PPNQ $ndE(fQ 0reaHQ 7hen P("P&P 9L (n Progress L9 (f Sbol_m(sLearner Then (f Srec_lLearningPlanDetails%LM_!)T_R$Q%Value O P*P &r Srec_mLearningPlan7rH%LM_R$Q3$ST&R_(D%Value UI Srec_lLearningPlanDetails%LM_P$RS&"_(D%Value Then Srec_lLearningPlanDetails7rH%LM_DR&P!)T_P0%Visible O 2alseQ $lse Srec_lLearningPlanDetails7rH%LM_DR&P!)T_P0%Visible O TrueQ Srec_lLearningPlanDetails7rH%LM_DR&P!)T_P0%Label O Msg#etTe@tM+>,G+K ++++K PPNQ $ndE(fQ $lse (f (s3ser(nPermissionListMPLML$LMF;D,PN Then Srec_lLearningPlanDetails7rH%LM_DR&P!)T_P0%Visible O TrueQ Srec_lLearningPlanDetails7rH%LM_DR&P!)T_P0%Label O Msg#etTe@tM+>,G+K ++++K PPNQ $lse Srec_lLearningPlanDetails7rH%LM_DR&P!)T_P0%Visible O 2alseQ $ndE(fQ $ndE(fQ 0reaHQ 7hen P7TLTP 9L 7aitlist L9 (f Sbol_m(sLearner Then (f Srec_lLearningPlanDetails%LM_!)T_R$Q%Value O P*P &r Srec_mLearningPlan7rH%LM_R$Q3$ST&R_(D%Value UI Srec_lLearningPlanDetails%LM_P$RS&"_(D%Value Then Srec_lLearningPlanDetails7rH%LM_DR&P!)T_P0%Visible O 2alseQ $lse Srec_lLearningPlanDetails7rH%LM_DR&P!)T_P0%Visible O TrueQ Srec_lLearningPlanDetails7rH%LM_DR&P!)T_P0%Label O Msg#etTe@tM+>,G+K ++++K PPNQ $ndE(fQ $lse Srec_lLearningPlanDetails7rH%LM_DR&P!)T_P0%Visible O TrueQ Srec_lLearningPlanDetails7rH%LM_DR&P!)T_P0%Label O Msg#etTe@tM+>,G+K ++++K PPNQ $ndE(fQ 0reaHQ 7hen P)&MPP 9L )ompleted L9 Srec_lLearningPlanDetails7rH%LM_DR&P!)T_P0%Visible O 2alseQ 0reaHQ 7hen PP$!PP 9L Pending !pproval L9 (f Sbol_m(sLearner Then (f Srec_lLearningPlanDetails%LM_!)T_R$Q%Value O P*P &r Srec_mLearningPlan7rH%LM_R$Q3$ST&R_(D%Value UI Srec_lLearningPlanDetails%LM_P$RS&"_(D%Value Then Srec_lLearningPlanDetails7rH%LM_DR&P!)T_P0%Visible O 2alseQ $lse Srec_lLearningPlanDetails7rH%LM_DR&P!)T_P0%Visible O TrueQ Srec_lLearningPlanDetails7rH%LM_DR&P!)T_P0%Label O Msg#etTe@tM+>,G+K ++++K PPNQ $ndE(fQ $lse Srec_lLearningPlanDetails7rH%LM_DR&P!)T_P0%Visible O TrueQ Srec_lLearningPlanDetails7rH%LM_DR&P!)T_P0%Label O Msg#etTe@tM+>,G+K ++++K PPNQ

$ndE(fQ 0reaHQ 7hen P(")&P 9L "ot )ompleted L9 Srec_lLearningPlanDetails7rH%LM_DR&P!)T_P0%Visible O 2alseQ 0reaHQ 7hen P)!")P 9L Dropped L9 Srec_lLearningPlanDetails7rH%LM_DR&P!)T_P0%Visible O 2alseQ 0reaHQ 7hen PPP*!P 9L Payment !pproval L9 (f Sbol_m(sLearner Then (f Srec_lLearningPlanDetails%LM_!)T_R$Q%Value O P*P &r Srec_mLearningPlan7rH%LM_R$Q3$ST&R_(D%Value UI Srec_lLearningPlanDetails%LM_P$RS&"_(D%Value Then Srec_lLearningPlanDetails7rH%LM_DR&P!)T_P0%Visible O 2alseQ $lse Srec_lLearningPlanDetails7rH%LM_DR&P!)T_P0%Visible O TrueQ Srec_lLearningPlanDetails7rH%LM_DR&P!)T_P0%Label O Msg#etTe@tM+>,G+K ++++K PPNQ $ndE(fQ $lse Srec_lLearningPlanDetails7rH%LM_DR&P!)T_P0%Visible O TrueQ $ndE(fQ 0reaHQ 7hen PP$P!P 9L Pending Payment L9 (f Sbol_m(sLearner Then (f Srec_lLearningPlanDetails%LM_!)T_R$Q%Value O P*P &r Srec_mLearningPlan7rH%LM_R$Q3$ST&R_(D%Value UI Srec_lLearningPlanDetails%LM_P$RS&"_(D%Value Then Srec_lLearningPlanDetails7rH%LM_DR&P!)T_P0%Visible O 2alseQ $lse Srec_lLearningPlanDetails7rH%LM_DR&P!)T_P0%Visible O TrueQ Srec_lLearningPlanDetails7rH%LM_DR&P!)T_P0%Label O Msg#etTe@tM+>,G+K ++++K PPNQ $ndE(fQ $lse Srec_lLearningPlanDetails7rH%LM_DR&P!)T_P0%Visible O TrueQ $ndE(fQ 0reaHQ 7hen P7!(VP (f Sbol_m(sLearner Then Srec_lLearningPlanDetails7rH%LM_DR&P!)T_P0%Visible O 2alseQ $lse Srec_lLearningPlanDetails7rH%LM_DR&P!)T_P0%Visible O 2alseQ $ndE(fQ 0reaHQ 7hen P$5PRP 9L $@pired L9 Srec_lLearningPlanDetails7rH%LM_DR&P!)T_P0%Visible O 2alseQ 0reaHQ 7hen PR$(SP 9L Reissued L9 Srec_lLearningPlanDetails7rH%LM_DR&P!)T_P0%Visible O 2alseQ 0reaHQ 7hen PR$V-P 9L RevoHed L9 Srec_lLearningPlanDetails7rH%LM_DR&P!)T_P0%Visible O 2alseQ 0reaHQ 7hen P7!R"P 9L 7arning L9 Srec_lLearningPlanDetails7rH%LM_DR&P!)T_P0%Visible O 2alseQ 0reaHQ 7hen P+P 9L Lrn Re.uest !ctive L9 Srec_lLearningPlanDetails7rH%LM_DR&P!)T_P0%Label O Msg#etTe@tMG6K +<<K PPNQ 0reaHQ

7hen P4P 9L Lrn Re.uest Satisfied L9 Srec_lLearningPlanDetails7rH%LM_DR&P!)T_P0%Label O Msg#etTe@tM+>,G;K +,>>K PPNQ 0reaHQ 7hen PD$)LP 9L Declined L9 Srec_lLearningPlanDetails7rH%LM_DR&P!)T_P0%Visible O 2alseQ 0reaHQ 7henE&ther Srec_lLearningPlanDetails7rH%LM_DR&P!)T_P0%Visible O 2alseQ $ndE$valuateQ 9L 2or Supplemental LearningK set the appropriate label button% L9 (f !llMSrec_lLearningPlanDetails%LM_!D )_LR"_(D%ValueN Then (f Srec_lLearningPlanDetails%LM_LPL"_DTL_STTS%Value O PD$)LP &r Srec_lLearningPlanDetails%LM_LPL"_DTL_STTS%Value O PDR&PP &r 9L!0 >6>4FF E L$!R"$RS )!" PM&D(2*P &R PD$L$T$P )&MPL$T$D E 2(5$D L9 ?rec_lLearnin(PlanDetail08LM_LPLN_DTL_STTS8$alue 9 BC-MPB Then HPrec_lLear"%"4Pla"Deta%l)ELM_LPLN_DTL_STTSE alue I S(OMPS A"$ P:#l_mI)Lear"er I TrueK T/e" 6< 3 889DTT ADDED c#"$%t%#" t# c/ec? 7#r lear"er c#m+#"e"t t/e" ma?e m#$%7A l%"? /%$$e" el)e %t &%ll :e a*a%la:le 7#r ma"a4er a"$ a$m%" <6 9L $nd E !0 >6>4FF E L$!R"$RS )!" PM&D(2*P &R PD$L$T$P )&MPL$T$D E 2(5$D L9 Srec_lLearningPlanDetails7rH%LM_DR&P!)T_P0%Visible O 2alseQ $lse Srec_lLearningPlanDetails7rH%LM_DR&P!)T_P0%Visible O TrueQ Srec_lLearningPlanDetails7rH%LM_DR&P!)T_P0%Label O Msg#etTe@tMG6K +<<K PPNQ $ndE(fQ $ndE(fQ endEmethodQ method enableLearningPlanDetails 9C Sro'_pLearningPlanDetails as Ro' C9 Local Record Srec_lLearningPlanDetails O Sro'_pLearningPlanDetails%LM_LPL"_DTL_V7Q Local Record Srec_lLearningPlanDetails7rH O Sro'_pLearningPlanDetails%LM_LPL"_DTL_7R-Q (f Snbr_mLearner(d&f&per(d O Srec_lLearningPlanDetails%LM_!SS(#"$D_0*%Value &r Sbol_m(s!dministrator Then 9L !0 >6>4FF E L$!R"$RS )!" PM&D(2*P &R PD$L$T$P )&MPL$T$D E 2(5$D L9 (f Srec_lLearningPlanDetails%LM_LPL"_DTL_STTS%Value UI P)&MPP Then 9L $nd E !0 >6>4FF E L$!R"$RS )!" PM&D(2*P &R PD$L$T$P )&MPL$T$D E 2(5$D Srec_lLearningPlanDetails7rH%LM_LPL"_D$L$T$%Visible O TrueQ Srec_lLearningPlanDetails%LM_PR(&R(T*%$nabled O TrueQ Srec_lLearningPlanDetails%LM_R$Q3(R$D%$nabled O TrueQ Srec_lLearningPlanDetails%LM_T!R#$T_D!T$%$nabled O TrueQ 9L !0 >6>4FF E L$!R"$RS )!" PM&D(2*P &R PD$L$T$P )&MPL$T$D E 2(5$D L9 $lse Srec_lLearningPlanDetails7rH%LM_LPL"_D$L$T$%Visible O 2alseQ Srec_lLearningPlanDetails%LM_PR(&R(T*%$nabled O 2alseQ Srec_lLearningPlanDetails%LM_R$Q3(R$D%$nabled O 2alseQ Srec_lLearningPlanDetails%LM_T!R#$T_D!T$%$nabled O 2alseQ $ndE(fQ 9L $nd E !0 >6>4FF E L$!R"$RS )!" PM&D(2*P &R PD$L$T$P )&MPL$T$D E 2(5$D L9 $lse Srec_lLearningPlanDetails7rH%LM_LPL"_D$L$T$%Visible O 2alseQ Srec_lLearningPlanDetails%LM_PR(&R(T*%$nabled O 2alseQ Srec_lLearningPlanDetails%LM_R$Q3(R$D%$nabled O 2alseQ Srec_lLearningPlanDetails%LM_T!R#$T_D!T$%$nabled O 2alseQ

L9

$ndE(fQ endEmethodQ method enable&therLearningPlanDetails 9C Sro'_pLearningPlanDetails as Ro' C9 Local Record Srec_lLearningPlanDetailsK Srec_lLearningPlanDetails7rHQ (f Srec_mLearningPlan7rH%LM_LPL"_ST!T3S%Value O P)P &r Srec_mLearningPlan7rH%LM_LPL"_ST!T3S%Value O P(P Then 9L )ontinue if learning plan status is )&MPL$T$ or ("!)T(V$% fields 'ill be disabled% L9 $lse ReturnQ $ndE(fQ

Some of the

Srec_lLearningPlanDetails O Sro'_pLearningPlanDetails%LM_LPL"_DTL_V7Q Srec_lLearningPlanDetails7rH O Sro'_pLearningPlanDetails%LM_LPL"_DTL_7R-Q Srec_lLearningPlanDetails%LM_PR(&R(T*%$nabled O 2alseQ Srec_lLearningPlanDetails%LM_R$Q3(R$D%$nabled O 2alseQ Srec_lLearningPlanDetails%LM_T!R#$T_D!T$%$nabled O 2alseQ (f Srec_mLearningPlan7rH%LM_LPL"_ST!T3S%Value O P)P Then Srec_lLearningPlanDetails7rH%LM_DR&P!)T_P0%Visible O 2alseQ Srec_lLearningPlanDetails7rH%LM_LPL"_D$L$T$%Visible O 2alseQ $ndE(fQ endEmethodQ method add"e'LearningToPlan 9C Returns 0oolean C9 Local L$LP_L$!R"("#_PL!"S8LearningPlan Scls_lLearningPlan O create L$LP_L$!R"("#_PL!"S8LearningPlanMNQ Local L$LP_L$!R"("#_PL!"S8LearningPlan$dits Scls_lLearningPlan$dits O create L$LP_L$!R"("#_PL!"S8LearningPlan$ditsMNQ Local Record Srec_lLearnerPlanned(temsQ Local Ro'set Srs_lLearnerPlanned(temsQ Local Ro'set Srs_lLearningPlanMessagesQ Local Record Srec_lLearningPlanDetailsK Srec_lTempLearningPlanDetailsQ Local boolean Sbol_lSaveLearnerPlanned(temsQ Local number SiQ 9L Set at temporary ro'set% This 'ill be used 'hen to add ne' learning to the learner% There 'ill al'ays be one ro' Mone LearnerN% L9 Local Ro'set Srs_lTempLearner O )reateRo'setMRecord%LM_LPL"_7R-NQ Local Record Srec_lTempLearner7rH O Srs_lTempLearnerM+N%LM_LPL"_7R-Q Srec_mLearningPlan7rH%)opy2ieldsToMSrec_lTempLearner7rHNQ 9LLL9 9L The follo'ing global variables are derived from the LM_LPL"_S$!R) component% Set the global variables before calling the Search )atalog component% These global variables are set on the Search )atalog component% L9 9L Sglb_nbrLPL"_!ct(d L9 9L Sglb_nbrLPL"_)i(d L9 9L Sglb_nbrLPL"_Prg(DQ L9 Sglb_nbrLPL"_!ct(d O ,Q Sglb_nbrLPL"_)i(d O ,Q Sglb_nbrLPL"_Prg(D O ,Q 9LLLLLLLLLLLLLLLLLLLLLLLLL9 9L Set the learning plan 'orH fields before transferring to the Search component% (f this is presentK the Search )atalog component 'ill prompt for this

one learning plan only% L9 Srec_mSelectedLearningPlans7rH%LM_LPL"_(D%Value O Srec_mLearningPlan7rH%LM_LPL"_(D%ValueQ Srec_mSelectedLearningPlans7rH%LM_LPL"_D$2!3LT%Value O Srec_mLearningPlan7rH%LM_LPL"_D$2!3LT%ValueQ Srec_mSelectedLearningPlans7rH%LM_LPL"_"!M$%Value O Srec_mLearningPlan7rH%LM_LPL"_"!M$%ValueQ Srec_mSelectedLearningPlans7rH%LM_!SS(#"$D_0*%Value O Srec_mLearningPlan7rH%LM_!SS(#"$D_0*%ValueQ 9LLL9 9L Set the LM_P$RS&"_(D 'hen transferring to the Search )atalog component% There is program logic on the Search )atalog )omponent based from 'ho is doing the search% L9 Srec_mSelectedLearningPlans7rH%LM_P$RS&"_(D%Value O Srec_mLearningPlan7rH%LM_P$RS&"_(D%ValueQ 9LLL9 9L Set the calling component to tracH 'hich component called the Search )atalog component L9 Srec_mSelectedLearningPlans7rH%LM_)!LL("#_)&MP"T%Value O )omponent%LM_LPL"_DTLQ 9LLL9 9L PS_LM_LPL"_S$L_7R- 'orH record is used to transfer fields from the calling component to the called component% L9 DoModal)omponentMVMPMenu"ame%P R /MenuNK 0ar"ame%3S$K (tem"ame%LM_LPL"_S$!R) K Page%LM_S$!R) K P3PK Record%LM_LPL"_S$L_7R-NQ (f !llMSglb_nbrLPL"_!ct(dN &r !llMSglb_nbrLPL"_)i(dN &r !llMSglb_nbrLPL"_Prg(DN Then Srec_mLearningPlan7rH%LM_!)T_(D%Value O Sglb_nbrLPL"_!ct(dQ Srec_mLearningPlan7rH%LM_)(_(D%Value O Sglb_nbrLPL"_)i(dQ Srec_mLearningPlan7rH%LM_PR#_(D%Value O Sglb_nbrLPL"_Prg(DQ $lse 9L Do not continue% There are no activityK catalog item or program selected% L9 Return 2alseQ $ndE(fQ 9L These methods 'ill Save the learner1s learning plan details% The Save is invoHed to update the table PS_LM_LPL"_DTL% L9 (f !llMSrec_mLearningPlan7rH%LM_PR#_(D%ValueN Then Sbol_lSaveLearnerPlanned(tems O Scls_lLearningPlan%addProgram(temsToLearningPlanMSrs_lTempLearnerK Srec_lTempLearner7rHK Srs_lLearnerPlanned(temsK Srs_lLearningPlanMessagesNQ $lse (f !llMSrec_mLearningPlan7rH%LM_!)T_(D%ValueN &r !llMSrec_mLearningPlan7rH%LM_)(_(D%ValueN &r !llMSrec_mLearningPlan7rH%LM_PR#_(D%ValueN Then Sbol_lSaveLearnerPlanned(tems O Scls_lLearningPlan%addLearning(temsToLearningPlanMSrs_lTempLearnerK Srec_lTempLearner7rHK Srs_lLearnerPlanned(temsK Srs_lLearningPlanMessagesNQ $ndE(fQ $ndE(fQ 9LLL9 (f !llMSrs_lLearningPlanMessagesM+N%#etRecordMVMPRecord%P R Srs_lLearningPlanMessages%D0Record"ameNN%M$SS!#$_S$T_"0R%ValueN Then $rror Srs_lLearningPlanMessagesM+N%#etRecordMVMPRecord%P R Srs_lLearningPlanMessages%D0Record"ameNN%M$SS!#$_T$5T%ValueQ $ndE(fQ (f !llMSrec_mLearningPlan7rH%LM_LPL"_(D%ValueN Then 9L The Learning Plan (D 'as already populated% ThereforeK no need to set the Learning Plan (D again% L9 $lse 9L 7hen method addLearning(temsToLearningPlanMN is calledK it 'ill al'ays have one Learning Plan (D% Set the property LearningPlan(D% The learning plan (D can be ne' or e@isting (D% L9 Srec_mLearningPlan7rH%LM_LPL"_(D%Value O

Srs_lLearnerPlanned(temsM+N%#etRecordMVMPRecord%P R Srs_lLearnerPlanned(tems%D0Record"ameNN%LM_LPL"_(D%ValueQ 9LLL9 $ndE(fQ /This%LearningPlan(D O Srec_mLearningPlan7rH%LM_LPL"_(D%ValueQ (f Sbol_lSaveLearnerPlanned(tems Then 2or Si O + To Srs_lLearnerPlanned(tems%!ctiveRo')ount Srec_lLearnerPlanned(tems O Srs_lLearnerPlanned(temsMSiN%#etRecordMVMPRecord%P R Srs_lLearnerPlanned(tems%D0Record"ameNNQ (f /This%get&neLearningPlanDetailMSrec_lLearnerPlanned(temsK Srec_lTempLearningPlanDetailsN Then (f Srs_mLearningPlanDetails%!ctiveRo')ount O + Then (f !llMSrs_mLearningPlanDetails%#etRo'M+N%LM_LPL"_DTL_V7%LM_LPL"_(D%ValueN Then Srs_mLearningPlanDetails%(nsertRo'M+NQ $ndE(f $lse Srs_mLearningPlanDetails%(nsertRo'MSrs_mLearningPlanDetails%!ctiveRo')ountNQ $ndE(fQ Srec_lLearningPlanDetails O Srs_mLearningPlanDetails%#etRo'MSrs_mLearningPlanDetails%!ctiveRo')ountN%LM_LPL"_D TL_V7Q Srec_lTempLearningPlanDetails%)opy2ieldsToMSrec_lLearningPlanDetailsNQ $ndE(fQ $ndE2orQ /This%setLearningPlanDetailsMNQ $ndE(fQ 9L Learning itemMsN has been added to the learning plan L9 Return Sbol_lSaveLearnerPlanned(temsQ 9LLL9 endEmethodQ method clicH!ction0utton 9C Srec_pLearningPlanDetails as Record C9 Local L$$_$"R&LLM$"T8L$$_$"RLMT_!)T(&"S Scls_l$nrollment!ctions O create L$$_$"R&LLM$"T8L$$_$"RLMT_!)T(&"SMNQ Local string Sstr_lTempLearningPlanDetails"ame O Srec_pLearningPlanDetails%"ameQ Local Ro'set Srs_lTempLearningPlanDetails O )reateRo'setMVMPRecord%P R Sstr_lTempLearningPlanDetails"ameNNQ Srec_pLearningPlanDetails%)opy2ieldsToMScls_l$nrollment!ctions%recLm$nr!ctn7rHNQ Scls_l$nrollment!ctions%recLm$nr!ctn7rH%LM_)!LL("#_)&MP"T%Value O )omponent%LM_LPL"_DTLQ Scls_l$nrollment!ctions%ProcessLearning!ctionMNQ 9L L9 Srec_mLearningPlan7rH%LM_DR&P!)T_P0%Value O Sstr_c!ction(nitiatedQ 9LLL9 /This%setToTrigger2ieldDefault&nLevel,M TrueNQ endEmethodQ method transferToSupplementalLearning)omponent 9C Sro'_pLearningPlanDetails as Ro'K C9 9C Smanager as 0oolean C9

Local Record Srec_lLearningPlanDetails O Sro'_pLearningPlanDetails%LM_LPL"_DTL_V7Q Local Record Srec_lLearningPlanDetails7rH O Sro'_pLearningPlanDetails%LM_LPL"_DTL_7R-Q Srec_m3iSrch7rH%LM_PR$V_P!#$_"!M$%Value O /PageQ Srec_m3iSrch7rH%LM_!D )_LR"_(D%Value O Srec_lLearningPlanDetails%LM_!D )_LR"_(D%ValueQ

9L()$ ;,4+,4F,,, E Menu9)omponent9Page Transfer changed for Manager EEL9 (f Smanager O 2alse Then 9L !0 >6>4FF E L$!R"$RS )!" PM&D(2*P &R PD$L$T$P )&MPL$T$D E 2(5$D L9 (f Srec_lLearningPlanDetails%LM_LPL"_DTL_STTS%Value O P)&MPP Then DoModal)omponentMMenu"ame%LM_$"RLMTK 0ar"ame%LM_$"RLMTK (tem"ame%LM_!D )_3PDK Page%LM_!D )_3PD_P#K P3PK Record%LM_3(_SR) _7R-NQ $lse 9L $nd E !0 >6>4FF E L$!R"$RS )!" PM&D(2*P &R PD$L$T$P )&MPL$T$D E 2(5$D L9 DoModal)omponentMMenu"ame%LM_$"RLMTK 0ar"ame%LM_$"RLMTK (tem"ame%LM_!D )_3PDK Page%LM_!D )_LR"_P#K P3PK Record%LM_3(_SR) _7R-NQ 9L !0 >6>4FF E L$!R"$RS )!" PM&D(2*P &R PD$L$T$P )&MPL$T$D E 2(5$D L9 $ndE(fQ 9L $nd E !0 >6>4FF E L$!R"$RS )!" PM&D(2*P &R PD$L$T$P )&MPL$T$D E 2(5$D L9 $lse 9L()$ ;,4+,4F,, , E Menu9)omponent9Page Transfer changed for Learner EEL9 9L checHed condition based on MenuK if Menu is for administartor then set admin flag to P*P 8Resolution >F+F>D V#L9 (f /Menu O Menu"ame%LM_!DM("(STR!T(V$ Then Sadmin O P*PQ $lse Sadmin O P"PQ $ndE(fQ 9L checHed condition based on MenuK if Menu is for administartor then set admin flag to P*P 8 Resolution >F+F>DV#L9 DoModal)omponentMMenu"ame%LM_$"RLMTK 0ar"ame%LM_$"RLMTK (tem"ame%LM_!D )_M#R_3PDK Page%LM_!D )_LR"_P#K P3PK Record%LM_3(_SR) _7R-NQ $ndE(fQ 9L()$ ;,4+,4F,,, )ode )ommented L9 rem DoModal)omponentMMenu"ame%LM_$"RLMTK 0ar"ame%LM_$"RLMTK (tem"ame%LM_!D )_3PDK Page%LM_!D )_LR"_P#K P3PK Record%LM_3(_SR) _7R-NQ 9L $nd L9 endEmethodQ method selectTitleLinH 9C Sro'_pLearningPlanDetails as Ro'K C9 9C SM!"!#$R as 0oolean C9 9L Selects the appropriate component to transfer 'hen the Learning Plan Title hyplerlinH is selected% (t can be Supplemental LearningK Programs or $nrollments% L9 Local Record Srec_lLearningPlanDetails O Sro'_pLearningPlanDetails%LM_LPL"_DTL_V7Q Local Record Srec_lLearningPlanDetails7rH O Sro'_pLearningPlanDetails%LM_LPL"_DTL_7R-Q

9LLLL 2or Supplemental Learning LLLL9 (f !llMLM_LPL"_DTL_V7%LM_!D )_LR"_(D%ValueN Then /This%transferToSupplementalLearning)omponentMSro'_pLearningPlanDetailsK SM!"!#$RNQ 9L !dded Manager 2lag ()$ ;,4+,4F,,, L9 ReturnQ $ndE(fQ 9LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL9 9LLLL 2or Programs LLLLLLLLLLLLLLLLL9 Local Record Srec_prgReg O )reateRecordMRecord%LM_PR#_R$#_V7NQ Local Ro'set Srs_prg O )reateRo'setMRecord%LM_PR#NQ (f !llMSrec_lLearningPlanDetails%LM_PR#_R$#_(D%ValueN Then Srec_prgReg%LM_PR#_R$#_(D%Value O Srec_lLearningPlanDetails%LM_PR#_R$#_(D%ValueQ Srec_prgReg%Select0y-eyMNQ 9L 0y setting this 'orH field to )omponent%LM_LPL"_DTLK some of the fields on the Program Details page 'ill be controlled% L9 Srec_mPrgTrn7rH%LM_)!LL("#_)&MP"T%Value O )omponent%LM_LPL"_DTLQ 9LLL9 (f Srec_lLearningPlanDetails%LM_LPL"_DTL_STTS%Value O PPL!"P Then 9L select the e@act effective dated ro' to retrieve for the transfer L9 Srs_prg%2illMP'here LM_PR#_(D O 8+ and /dateinM8;N bet'een $22DT and LM_$"D_$22DTPK Srec_lLearningPlanDetails%LM_PR#_(D%ValueK Srec_lLearningPlanDetails%$22DT%ValueNQ Srec_mPrgTrn7rH%LM_P$RS&"_(D%Value O Srec_lLearningPlanDetails%LM_P$RS&"_(D%ValueQ Srec_mPrgTrn7rH%LM_PR#_(D%Value O Srec_lLearningPlanDetails%LM_PR#_(D%ValueQ Srec_mPrgTrn7rH%$22DT%Value O Srs_prgM+N%LM_PR#%$22DT%ValueQ Srec_mPrgTrn7rH%LM_PR$V_P!#$_"!M$%Value O /PageQ Srec_mPrgTrn7rH%LM_PR#_R$#_(D%Value O Srec_prgReg%LM_PR#_R$#_(D%ValueQ DoModalComponent;MenuName8LM_C*RR!C*L*M< 1arName8*SE< !temName8LM_PR)_DTLS_MSS< Pa(e8LM_PR)_S*MM_P)< B*B< Record8LM_PR)_TRN_%RK>A rem D#M#$al(#m+#"e"tHMe"uNameELM_(URRI(ULUMJ BarNameEUSEJ ItemNameELM_PR3_DTLS_MSSJ Pa4eELM_PR3_SUMM_P3J SUSJ Rec#r$ELM_PR3_TRN_!R,KQ 6<Re)#lut%#" 8T99D8 O T/%) )c"ear%# %) alrea$A /a"$le$ %" :el#& %76el)e l#4%c /e"ce c#mme"t%"4 t/e c#$e /ere <6 9L!dded condition to redirect the page to manager or learner component based on Smanager flag Resolution >FG4F4 V#L9 (f SM!"!#$R O True Then DoModal)omponentMMenu"ame%LM_)3RR()3L3MK 0ar"ame%3S$K (tem"ame%LM_PR#_DTLS_MSSK Page%LM_PR#_S3MM_P#K P3PK Record%LM_PR#_TR"_7R-NQ $lse DoModal)omponentMMenu"ame%LM_)3RR()3L3MK 0ar"ame%3S$K (tem"ame%LM_PR#_DTLS_$SSK Page%LM_PR#_S3MM_P#K P3PK Record%LM_PR#_TR"_7R-NQ $ndE(fQ 9L!dded condition to redirect the page to manager or learner component based on Smanager flag Resolution >FG4F4 V#L9 $lse 9L select the e@act effective dated ro' to retrieve for the transfer L9 Srs_prg%2illMP'here LM_PR#_(D O 8+ and /dateinM8;N bet'een $22DT and LM_$"D_$22DTPK LM_LPL"_DTL_V7%LM_PR#_(D%ValueK LM_LPL"_DTL_V7%$22DT%ValueNQ Srec_mPrgTrn7rH%LM_P$RS&"_(D%Value O Srec_lLearningPlanDetails%LM_P$RS&"_(D%ValueQ Srec_mPrgTrn7rH%LM_PR#_(D%Value O Srec_lLearningPlanDetails%LM_PR#_(D%ValueQ Srec_mPrgTrn7rH%$22DT%Value O Srs_prgM+N%LM_PR#%$22DT%ValueQ Srec_mPrgTrn7rH%LM_PR$V_P!#$_"!M$%Value O /PageQ Srec_mPrgTrn7rH%LM_PR#_R$#_(D%Value O Srec_prgReg%LM_PR#_R$#_(D%ValueQ 9L!dded condition to redirect the page to manager or learner component based on Smanager flag Resolution >FG4F4 V#L9 (f SM!"!#$R O True Then rem DoModal)omponentMMenu"ame%LM_)3RR()3L3MK 0ar"ame%3S$K (tem"ame%LM_PR#_DTLS_MSSK Page%LM_PR#_S3MM_P#K P3PK Record%LM_PR#_TR"_7R-NQ DoModal)omponentMMenu"ame%LM_)3RR()3L3MK 0ar"ame%3S$K

(tem"ame%LM_PR#_PR#S_MSSK Page%LM_PR#_PR&#R$SSK P3PK Record%LM_PR#_TR"_7R-NQ $lse DoModal)omponentMMenu"ame%LM_)3RR()3L3MK 0ar"ame%3S$K (tem"ame%LM_PR#_PR#S_$SSK Page%LM_PR#_PR&#R$SSK P3PK Record%LM_PR#_TR"_7R-NQ 9L!dded condition to redirect the page to manager or learner component based on Smanager flag Resolution >FG4F4 V#L9 $ndE(fQ $ndE(fQ ReturnQ $ndE(fQ 9LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL9 9LLLL 2or $nrollments LLLLLLLLLLLLLL9 (f !llMSrec_lLearningPlanDetails%LM_$"RLMT_(D%ValueN Then (f !llMSrec_lLearningPlanDetails%LM_!)T_(D%ValueN Then (f Srec_lLearningPlanDetails%LM_LPL"_DTL_STTS%Value O PPL!"P Then Srec_m!ct3i7rH%LM_!)T_(D%Value O Srec_lLearningPlanDetails%LM_!)T_(D%ValueQ Srec_m!ct3i7rH%LM_P$RS&"_(D%Value O Srec_lLearningPlanDetails%LM_P$RS&"_(D%ValueQ Srec_m!ct3i7rH%LM_)&MP_&R(#%Value O /)omponentQ Srec_m!ct3i7rH%LM_3(_2R&M_M&D!L%Value O P*PQ 9L (f set to yesK the component is display mode only L9 DoModal)omponentMMenu"ame%LM_SS_L$!R"("#K 0ar"ame%3S$K (tem"ame%LM_SS_L$!R"("#_3(K Page%LM_L$!R"_!)T_DTLK P3PK Record%LM_!)T_3(_7R-NQ $lse Srec_m$nrlmt7rH%LM_!)T_(D%Value O Srec_lLearningPlanDetails%LM_!)T_(D%ValueQ Srec_m$nrlmt7rH%LM_P$RS&"_(D%Value O Srec_lLearningPlanDetails%LM_P$RS&"_(D%ValueQ Srec_m$nrlmt7rH%LM_$"RLMT_(D%Value O Srec_lLearningPlanDetails%LM_$"RLMT_(D%ValueQ Srec_m$nrlmt7rH%LM_)&MP_&R(#%Value O /)omponentQ DoModal)omponentMMenu"ame%LM_SS_L$!R"("#K 0ar"ame%3S$K (tem"ame%LM_SS_!)T_PR&#K Page%LM_!)T_PR&#K P3PK Record%LM_$"RLMT_7R-NQ $ndE(fQ $lse Srec_m(tm3i7rH%LM_)(_(D%Value O Srec_lLearningPlanDetails%LM_)(_(D%ValueQ 9LStartE)ode !dded so that !dmin can !ble to Register Learner from Maintain Learning Plans in ResolutionJ>F<DD,L9 (f !llMSrec_lLearningPlanDetails%LM_P$RS&"_(D%ValueN Then Srec_m3iSrch7rH%LM_P$RS&"_(D%Value O Srec_lLearningPlanDetails%LM_P$RS&"_(D%ValueQ $ndE(fQ 9L$ndE)ode !dded so that !dmin can !ble to Register Learner from Maintain Learning Plans in ResolutionJ>F<DD,L9 Srec_m3iSrch7rH%LM_PR$V_P!#$_"!M$%Value O /PageQ DoModal)omponentMMenu"ame%LM_SS_L$!R"("#K 0ar"ame%3S$K (tem"ame%LM_SS_L$!R"("#_3(K Page%LM_L$!R"_(TM_DTLK P3PK Record%LM_(TM_3(_7R-NQ $ndE(fQ $ndE(fQ 9LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL9 endEmethodQ method setToTrigger2ieldDefault&nLevel, 9C Sbol_pTrigger2ieldDefault as 0oolean C9 (f Sbol_pTrigger2ieldDefault Then Srec_mLearningPlan7rH%LM_TR(##$R_$V$"T%Value O PPQ $lse Srec_mLearningPlan7rH%LM_TR(##$R_$V$"T%Value O P"PQ $ndE(fQ endEmethodQ method trigger2ieldDefault&nLevel, 9L To change the current conte@t on Level +K this method is invoHed on Level , field LM_TR(##$R_$V$"T%2ieldDefault event% The field LM_TR(##$R_$V$"T is set to

blanHs to invoHe this method% L9 (f Srec_mLearningPlan7rH%LM_DR&P!)T_P0%Value O Sstr_c!ction(nitiated Then 9L The action on the learning plan details could have changed the learning items% The status could have changed or the enrollment 'as changed from planned to enrolled% 7hich means that ne' enrollment is created% ThereforeK flush the learning plan details and refresh the ro'set% L9 /This%getLearningPlanDetailsM TrueNQ Srec_mLearningPlan7rH%LM_DR&P!)T_P0%Value O PPQ 9LLL9 $ndE(fQ /This%setLearningPlanDetailsMNQ /This%displayLearningPlanDetailMessageM 2alseNQ /This%setToTrigger2ieldDefault&nLevel,M 2alseNQ endEmethodQ method sho'MessageTe@t 9C Sbol_pSho'MessageTe@t as 0ooleanK C9 9C Snbr_pMsgSet as "umberK C9 9C Snbr_pMsgSet"br as "umber C9 Srec_mLearningPlan7rH%LM_M$SS!#$_T$5T%Visible O Sbol_pSho'MessageTe@tQ (f Sbol_pSho'MessageTe@t Then Srec_mLearningPlan7rH%LM_M$SS!#$_T$5T%Value O Msg#etTe@tMSnbr_pMsgSetK Snbr_pMsgSet"brK PMessage not foundPNQ $lse Srec_mLearningPlan7rH%LM_M$SS!#$_T$5T%Value O PPQ $ndE(fQ endEmethodQ

Peo1 eCode &A11 P!c>!/e*: LERM_COST:Ac$i=i$6Co"$e"$Co#$Be!";O"E@ec%$e


import L$RM_)&ST8LQ import L$2R_)&ST8LQ

9LL LThis bean class handles )ontent activity costs% This calss contains specific method to Lcompute cost '9 specific rules% LThis class is an e@tension of the generic activity cost class LVversion +%, LVsee L$RM_)&ST8!ctivity)ost0ean L9 class !ctivity)ontent)ost0ean e@tends L$RM_)&ST8!ctivity)ost0ean method !ctivity)ontent)ost0eanMNQ method get)ost)ategoryMN Returns stringQ method getStudent)ost0eanMN Returns ob=ectQ method getRessource(DMN Returns stringQ method Refresh)ostMSint_cost(d !s numberN Returns integerQ endEclassQ 9L delcare functions L9 Declare 2unction Retrieve$@changeRate People)ode $5) _RT_7S0R%R!T$_M3LT 2ield2ormulaQ 9LL L)onstructor L9 method !ctivity)ontent)ost0ean

/Super O create L$RM_)&ST8!ctivity)ost0eanMNQ endEmethodQ 9LL LThis method return the category value for field LM_)&ST_)T#R* LVparam none LVreturn ,4 O )ontent category% L9 method get)ost)ategory 9C Returns String C9 9C $@tends9implements L$RM_)&ST8!ctivity)ost0ean%get)ost)ategory C9 Return P,DPQ endEmethodQ 9LL )reate an instance of !ctivity)ontent)ost0ean for the createStudent)ost method L Vparam none L Vreturn null because )ontent cost are not split L9 method getStudent)ost0ean 9C Returns &b=ect C9 9C $@tends9implements L$RM_)&ST8!ctivity)ost0ean%getStudent)ost0ean C9 Return "ullQ endEmethodQ method getRessource(D 9C Returns String C9 9C $@tends9implements L$RM_)&ST8!ctivity)ost0ean%getRessource(D C9 9LL )reate an instance of !ctivity)ontent)ost0ean for the createStudent)ost method L Vparam none L Vreturn the (D of the ressource L9 Return PPQ endEmethodQ 9LL load method loads all )ontent costs associated 'ith an activity L into the LM_!)T_)&ST table using LM_S*S_)&ST_V7% L This methods is ported from )ontent)ost class used into versions prior to $LM G% L Vparam Sint_cost(d as the uni.ue cost (D passed from a component variable L Vreturn integer as the updated cost (D L9 method Refresh)ost 9C Sint_cost(d as "umber C9 9C Returns (nteger C9 Local Local Local Local Local Local Local Local Local Ro'set Ro'set Record Record Record Record number number string Srs_act)ostQ Srs_installationQ Srec_actQ Srec_act)ostQ Srec_'rH)ostQ Srec_dmthQ Snbr_cnvrt!mtQ Snbr_rateMultK Snbr_rateDivQ Sstr_rateTypeQ

Srs_act)ost O #etLevel,MNM+N%#etRo'setMScroll%LM_S*S_)&ST_V7NQ Srec_act O /This%!ctivityMN%recordMNQ Srec_dmth O )reateRecordMRecord%LM_DMT D_T0LNQ Srec_dmth%LM_DMT D_T*P$_(D%Value O Srec_act%LM_DMT D_T*P$_(D%ValueQ Srec_dmth%LM_)(_(D%Value O Srec_act%LM_)(_(D%ValueQ Srec_dmth%LM_DMT D_(D%Value O Srec_act%LM_DMT D_(D%ValueQ Srec_dmth%Select0y-ey$ffDtM/DateNQ

9L get the installation rate type for currency conversion L9 Srs_installation O )reateRo'setMRecord%("ST!LL!T(&"NQ

Srs_installation%2illMNQ Sstr_rateType O Srs_installationM+N%("ST!LL!T(&"%$5) "#_T&_RT_T*P$%ValueQ 9L initialiTe variables L9 Snbr_rateMult O +Q Snbr_rateDiv O +Q 9L insert the e.uipment cost into the cost table if the insert flag is set to true L9 (f !llMSrec_dmth%LM_)&ST%ValueN Then (f Srs_act)ost%#etRo'M+N%(s)hanged Then Srs_act)ost%(nsertRo'M,NQ $ndE(fQ Srec_act)ost O Srs_act)ostM+N%LM_S*S_)&ST_V7Q Srec_'rH)ost O Srs_act)ostM+N%LM_RM_)&ST_7R-Q 9L load activity cost fields for the ne' cost ro' L9 Srec_act)ost%LM_)&ST_(D%Value O Sint_cost(dQ Srec_act)ost%LM_)&ST_)T#R*%Value O P,DPQ Srec_act)ost%LM_)&ST_D$S)R%Value O Msg#etTe@tM+>,G;K <DK PPNQ Srec_'rH)ost%LM_)&ST_D$S)R%Value O Msg#etTe@tM+>,G;K <DK PPNQ Srec_act)ost%LM_)&ST_T*P$%Value O P,<PQ Srec_act)ost%LM_)&ST_QT*%Value O +Q Srec_act)ost%LM_3"(T_)&ST_$"TR*%Value O Srec_dmth%LM_)&ST%ValueQ Srec_act)ost%LM_)3RR$")*_$"TR*%Value O Srec_dmth%)3RR$")*_)D%ValueQ 9L perform currency conversion if the currency codes are different L9 !f None;:Thi08 cti/ity;>8record;>8C*RRENC=_CD8$alue> Then M<Re)#lut%#"= 8910T9 Be4%")<L M< I7 N#"eH.T/%)EAct%*%tAHKErec#r$HKE(URREN(2_(DE alueK T/e" 7arning Msg#etM+>,GDK +6+K PMissing currency information%PNQ $@itQ E"$=I7Q<L I7 N#"eH.T/%)EAct%*%tAHKErec#r$HKE(URREN(2_(DE alueK Or N#"eHPrec_act(#)tELM_(URREN(2_ENTR2E alueK T/e" 6< Retur" )ame am#u"t )%"ce t/ere %) "#t/%"4 t# c#"*ertE <6 Retur" Prec_act(#)tELM_UNIT_(OST_ENTR2E alueQ $ndE(fQ M<Re)#lut%#"= 8910T9 E"$)<L (f Srec_act)ost%LM_)3RR$")*_$"TR*%Value UI /This%!ctivityMN%recordMN%)3RR$")*_)D%Value Then )onvert)urrencyMSrec_act)ost%LM_3"(T_)&ST_$"TR*%ValueK Srec_act)ost%LM_)3RR$")*_$"TR*%ValueK /This%!ctivityMN%recordMN%)3RR$")*_)D%ValueK Sstr_rateTypeK /DateK Snbr_cnvrt!mtK P(PK TrueNQ Retrieve$@changeRateMPPK Srec_act)ost%LM_)3RR$")*_$"TR*%ValueK /This%!ctivityMN%recordMN%)3RR$")*_)D%ValueK Sstr_rateTypeK /DateK Snbr_rateMultK Snbr_rateDivNQ (f "oneMSnbr_rateMultN Then Snbr_rateMult O +Q $ndE(fQ (f "oneMSnbr_rateDivN Then Snbr_rateDiv O +Q $ndE(fQ $lse Snbr_cnvrt!mt O Srec_act)ost%LM_3"(T_)&ST_$"TR*%ValueQ $ndE(fQ Srec_act)ost%LM_3"(T_)&ST%Value O Snbr_cnvrt!mtQ Srec_act)ost%)3RR$")*_)D%Value O Srec_act%)3RR$")*_)D%ValueQ Srec_act)ost%LM_!D &)_)&ST_*"%Value O P"PQ Srec_act)ost%LM_L("$_T*P$%Value O P+PQ 9L set the rate multiplier and rate divisor L9 Srec_act)ost%R!T$_M3LT%Value O Snbr_rateMultQ Srec_act)ost%R!T$_D(V%Value O Snbr_rateDivQ 9L calculate the line total L9 Srec_act)ost%LM_)&ST%Value O Srec_act)ost%LM_3"(T_)&ST%Value L

Srec_act)ost%LM_)&ST_QT*%ValueQ Sint_cost(d O Sint_cost(d C +Q Snbr_rateMult O +Q Snbr_rateDiv O +Q $ndE(fQ Return Sint_cost(dQ endEmethodQ

Per$ission #ist -etail


Per0i##io" Li#$: ALLPAGES
Description Time&ut "av% omepage Start !ppServer $mail Pass'ord Si(n3on Day Sunday Monday Tuesday 7ednesday Thursday 2riday Saturday Proce00 )roup !LLP!"LS !LLP"LS TLS!LL Component !nterface0 "ame8 )(_ )R_(0_MS#_03(LD$R )ancel )reate 2ind #et Save "ame8 )(_ )R_(0_&P$R!T(&"_V$R )ancel )reate 2ind #et Save "ame8 )(_ )R_(0_S$RV()$D$2" )ancel )reate 2ind #et Save NameO (I_1(R_IB_SER I(EDE-N_858 (a"cel Start ,,8,, ,,8,, ,,8,, ,,8,, ,,8,, ,,8,, ,,8,, End ;486G ;486G ;486G ;486G ;486G ;486G ;486G !ll pages and 'eblibs , "!V(#!T&R *es "o

2ull 2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull

-ull

(reate -%"$ 3et Sa*e "ame8 )(_ )R_(0_S$RV()$&P$R!T(&" )ancel )reate 2ind #et Save "ame8 )(_ )R_(0_SV)S$T3P )ancel 2ind #et Save "ame8 )(_ )R_(0_7S_!))$SS )ancel 2ind #et Save "ame8 )3RR$")* )ancel )reate 2ind #et Save "ame8 )3RR$")*_)D_)( )ancel )reate 2ind #et Save "ame8 RS_(0_"&D$ )ancel )reate 2ind #et Save "ame8 RS_(0_"&D$TR5 )ancel )reate 2ind #et Save "ame8 RS_(0_R&3T("#D$2"

-ull -ull -ull -ull

2ull 2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull

)ancel )reate 2ind #et (nvoHeSaveProcessing Save "ame8 RS_(0_S$RV()$

2ull 2ull 2ull 2ull 2ull 2ull 2ull

)ancel )reate 2ind

Full 2ull 2ull 2ull

#et (nvoHeSaveProcessing Save "ame8 RS_(0_S$RV()$D$2"

2ull 2ull 2ull

)ancel )reate 2ind #et Save NameO 1RS_IB_SER I(EDE-N_858 (a"cel (reate -%"$ 3et Sa*e NameO 1RS_IB_SER I(E_858 (a"cel (reate -%"$ 3et I"*#?eSa*ePr#ce))%"4 Sa*e "ame8 (0_S$RV()$_&P$R!T(&" )ancel )reate 2ind #et (nvoHeSaveProcessing Save "ame8 LM_!))&3"T_) !RT2($LD_S*") )ancel )reate 2ind #et Save "ame8 LM_03S_3"(T_#L_)( )ancel )reate 2ind #et Save "ame8 LM_03S_3"(T_ R_S*") )ancel )reate 2ind #et Save "ame8 LM_)2_!LT!))T_)( )ancel )reate 2ind #et Save "ame8 LM_)2_03D_R$2_)( )ancel )reate

2ull 2ull 2ull 2ull 2ull 2ull

-ull -ull -ull -ull -ull

-ull -ull -ull -ull -ull -ull

2ull 2ull 2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull

2ull 2ull

2ind #et Save "ame8 LM_)2_2($LD+_)( )ancel )reate 2ind #et Save "ame8 LM_)2_2($LD;_)( )ancel )reate 2ind #et Save "ame8 LM_)2_2($LD4_)( )ancel )reate 2ind #et Save "ame8 LM_)2_&P$R_3"(T_)( )ancel )reate 2ind #et Save "ame8 LM_)2_PR&D3)T_)( )ancel )reate 2ind #et Save "ame8 LM_)L!SS_)2_S*") )ancel )reate 2ind #et Save "ame8 LM_)&MP$T$")*_S*")+ )ancel )reate 2ind #et Save "ame8 LM_D$PT_S*") )ancel )reate 2ind #et Save "ame8 LM_$QP_T0L )ancel )reate 2ind #et Save

2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull

"ame8 LM_23"D_)2_S*") )ancel )reate 2ind #et Save "ame8 LM_:&0)&D$_S*") )ancel )reate 2ind #et Save "ame8 LM_:R"L#$"_TMPL_)( )ancel )reate 2ind #et Save "ame8 LM_M!T$R(!L_T0L )ancel )reate 2ind #et Save "ame8 LM_P$RS&"_)&MP$T$")*_S*") )ancel )reate 2ind #et Save "ame8 LM_P$RS&"_)&MP_S*") )ancel )reate 2ind #et Save "ame8 LM_P&S(T(&"_S*") )ancel )reate 2ind #et Save "ame8 LM_PR&#R!M_)2_S*") )ancel )reate 2ind #et Save "ame8 LM_PR&:$)T_S*") )ancel )reate 2ind #et Save "ame8 LM_R!T("#MDL_S*") )ancel

2ull 2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull

2ull

)reate 2ind #et Save "ame8 LM_R&L$_)&MP_S*") )ancel )reate 2ind #et Save "ame8 M&0(L$_PR$2S_)( )ancel 2ind #et Save "ame8 3S$RM!("T_S$L2 )ancel )hangePass'ord 2ind #et ResetPass'ord ResetPass'ord_!lpha"um Save "ame8 72_T(M$&3T_D!T! )ancel 2ind #et Save Monitor Channel )&M0&_)2_$D(T D$L$T$_R&L$ D$L$T$_3S$R_PR&2(L$ D(2_0!L!")$ $M!(L_) "L $"T$RPR(S$_S$T3P #L_S$T3P M)R_S&!P_) !""$L RS_P( R_S$T3P :&3R"!L_#$"$R!T&R LM_!))T#_$"TR* LM_L$!R"$R_&0:$)T(V$S LM_L$L7_MS#_) !""$L P$RS&"_D!T! P$RS&"_S$T3P P$RS&"_T(M$ PR&:$)TS_S$T3P PSR2_R$P&RT("#_2&LD$RS R!T("#_M&D$L R&L$S*") _) !""$L R&L$_M!("T SD-_03S_$5P_MS#_) "L ST3D$"T_)&ST T0LS$T_)&"TR&L TR!("("#_ &3R TR$$_M!("T 3S$R_PR&2(L$ 7&R-L(ST_) "L cce00 2ull Read&nly Read&nly 2ull Read&nly 2ull 2ull 2ull 2ull 2ull 2ull 2ull 2ull 2ull 2ull 2ull 2ull 2ull Read&nly 2ull Read&nly Read&nly Read&nly 2ull 2ull 2ull Read&nly 2ull Read&nly

2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull

%e' Li'rarie0 Lib8 7$0L(0_)T( (S)R(PT+%2ield2ormula%(Script_$@tPortal (S)R(PT+%2ield2ormula%(Script_$@tension

2ull 2ull

(S)R(PT+%2ield2ormula%(Script_Main (S)R(PT+%2ield2ormula%(Script_Submit$@t (S)R(PT+%2ield2ormula%(Script_7arning Lib8 7$0L(0_LM LM_(S)R(PT%2ield2ormula%(Script_#oTo Lib8 7$0L(0_LM_L$L7 LM_(S)R(PT%2ield2ormula%(Script_Message LM_(S)R(PT%2ield2ormula%(Script_7ebcastLaunch Lib8 7$0L(0_LM_L$M LM_(S)R(PT%2ield2ormula%(Script_D(SP_!())_2R!M$S$T LM_(S)R(PT%2ield2ormula%(Script_D(SP_!())_M$"3 LM_(S)R(PT%2ield2ormula%(Script_D(SP_M$"3_2R!M$S$T LM_(S)R(PT%2ield2ormula%(Script_D(SP_S)&_D!T!_2R!M$ LM_(S)R(PT%2ield2ormula%(Script_D(SP_S)&_M$"3_2R!M$ LM_(S)R(PT%2ield2ormula%(Script_ !)P_)&MM LM_(S)R(PT%2ield2ormula%(Script_-$$P!L(V$ LM_(S)R(PT%2ield2ormula%(Script_P$RS(ST_S)&_D!T! Lib8 7$0L(0_P&RT!L P&RT!L_!DM("%2ield2ormula%(Script_!dmin0readcrumbs P&RT!L_!DM("%2ield2ormula%(Script_!dminSibling"av P&RT!L_D*"_T$MP%2ield2ormula%(Script_Portal_Self_Dyn P&RT!L_ $!D$R%2ield2ormula%(Script_$@pPass'ord dr P&RT!L_ $!D$R%2ield2ormula%(Script_3ni eader P&RT!L_ $!D$R%2ield2ormula%(Script_3ni eader_2rame P&RT!L_ $!D$R%2ield2ormula%(Script_3ni eader_P(! P&RT!L_ &M$P!#$%2ield2ormula%(Script_)ategories P&RT!L_ &M$P!#$%2ield2ormula%(Script_Default P elp P&RT!L_ &M$P!#$%2ield2ormula%(Script_ P)omp$@pand P&RT!L_ &M$P!#$%2ield2ormula%(Script_ P)ompMinimiTe P&RT!L_ &M$P!#$%2ield2ormula%(Script_ P)ompRemove P&RT!L_ &M$P!#$%2ield2ormula%(Script_ PDefault)ategories P&RT!L_ &M$P!#$%2ield2ormula%(Script_ PDefault dr P&RT!L_ &M$P!#$%2ield2ormula%(Script_ PPo'ered0y P&RT!L_"!V%2ield2ormula%(Script_0readcrumbs P&RT!L_"!V%2ield2ormula%(Script_DrillDo'n P&RT!L_"!V%2ield2ormula%(Script_Portal_Trans_Dyn P&RT!L_"!V%2ield2ormula%(Script_Portal_3ni eader_Dyn Lib8 7$0L(0_PT_"!V (S)R(PT+%2ield2ormula%(Script_PT_"!V_("2R!M$ (S)R(PT+%2ield2ormula%(Script_PT_"!V_P!#$L$T (S)R(PT+%2ield2ormula%(Script_PT_"!V_TPL_2R!M$ (S)R(PT+%2ield2ormula%(Script_PT_"!V_TPL_2R!M$+ (S)R(PT+%2ield2ormula%(Script_PT_"!V_TPL_2R!M$; (S)R(PT+%2ield2ormula%(Script_PT_"!V_TPL_2R!M$4 (S)R(PT+%2ield2ormula%(Script_PT_"!V_TPL_P!#$ (S)R(PT+%2ield2ormula%(Script_PT_"!V_TPL_P!#$+ (S)R(PT+%2ield2ormula%(Script_PT_"!V_TPL_P!#$+, (S)R(PT+%2ield2ormula%(Script_PT_"!V_TPL_P!#$++ (S)R(PT+%2ield2ormula%(Script_PT_"!V_TPL_P!#$; (S)R(PT+%2ield2ormula%(Script_PT_"!V_TPL_P!#$4 (S)R(PT+%2ield2ormula%(Script_PT_"!V_TPL_P!#$< (S)R(PT+%2ield2ormula%(Script_PT_"!V_TPL_P!#$6 (S)R(PT+%2ield2ormula%(Script_PT_"!V_TPL_P!#$D (S)R(PT+%2ield2ormula%(Script_PT_"!V_TPL_P!#$F (S)R(PT+%2ield2ormula%(Script_PT_"!V_TPL_P!#$> (S)R(PT+%2ield2ormula%(Script_PT_"!V_TPL_P!#$G (S)R(PT+%2ield2ormula%(Script_3ni eader_2rame Lib8 7$0L(0_Q3$R* (S)R(PT+%2ield2ormula%(Script_To$@cel Lib8 7$0L(0_5MLL("-

2ull 2ull 2ull

2ull

2ull 2ull

2ull 2ull 2ull 2ull 2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull 2ull 2ull 2ull 2ull 2ull 2ull 2ull 2ull 2ull 2ull 2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull 2ull 2ull 2ull 2ull 2ull 2ull 2ull 2ull 2ull 2ull 2ull 2ull 2ull 2ull

2ull

5MLL("-%2ield2ormula%(Script_#etService(nfo 5MLL("-%2ield2ormula%(Script_#etp)ode2unction(nfo uthoriNed Menu Menu8 !DM("M&0(L$_M$"3 )omp8 MP_)&MP Page8 MP_#R&3P )omp8 S*")(D#$"_)&MP Page8 S*")(D#$"_!$_P!#$ )omp8 S*")(D#$"_P0_)&MP Page8 S*")(D#$"_P!#$ Menu8 !PPL()!T(&"_D$S(#"$R Page8 Page8 !))$SS_PR&2(L$ Page8 !)T(V(T*"!M$ Page8 !$!PPL()!T(&"(D Page8 !PPL()!T(&"_P!)-!#$ Page8 !PPRR3L$S$T Page8 03S("$SSPR&)$SS Page8 ) !"#$_)&"TR&L Page8 ) !""$L Page8 )&MP&"$"T Page8 )&MP&"$"T("T$R2!)$ Page8 D!T!_!DM("(STR!T(&" Page8 D02($LD Page8 2($LD_2&RM!T Page8 2(L$L!*&3T Page8 TML Page8 (M!#$ Page8 ("T$R2!)$_&0:$)T Page8 L!"#3!#$TR!"SL!T(&"S Page8 M$"3 Page8 M$SS!#$ Page8 M$SS!#$_"&D$ Page8 M&0(L$P!#$ Page8 P!#$ Page8 P)D$03##$R Page8 PR&0T*P$ Page8 PR&:$)T Page8 R$)&RD Page8 SQL Page8 ST*L$ Page8 ST*L$S $$T Page8 S*S)&L&R Page8 T&&L0!R Page8 3P#R!D$ Menu8 !PPL()!T(&"_$"#("$ )omp8 !$_&"L("$("ST Page8 !$_&"L("$("ST )omp8 !$_T$MPT0L_3S$ Page8 !$_T$MPT0L Page8 !$_T$MPT0L_P#M )omp8 R$Q3$ST Page8 R$Q3$ST )omp8 !$_M!"!#$_!0$"DS Page8 !$_M!"!#$_!0$"DS Menu8 !PPMS#M&"(T&R )omp8 !MM_D$T!(LS Page8 !MM_MS#$RR Page8 !MM_MS#PR&PS Page8 !MM_R!7"R5ML Page8 !MM_R!75ML )omp8 !MM_S*")D$T!(L Page8 !MM_S*")D$T!(L )omp8 $RR&R_"&T(2()!T(&" Page8 PT_$RR_R3")"TL ction0 3pdate !dd 3pdate 3pdate

2ull 2ull

3pdate 3pdate !dd 3pdate 3pdate

3pdate

3pdate !dd 3pdate

)omp8 R3"_!PMS#!R) Page8 R3"_!PMS#!R) )omp8 !PPMS#M&"(T&R Page8 !MM_) "L_ST!T3S Page8 !MM_M3LT(D&M Page8 !MM_"&D$_ST!T3S Page8 !MM_&V$RV($7 Page8 !MM_P30)&"L(ST Page8 !MM_P30L(ST Page8 !MM_S !R$D Page8 !MM_S30)&"L(ST Page8 !MM_S*")MS#L(ST Page8 PT_!PMS#QR*_P# Menu8 !R) (V("# )omp8 !R) _!3D(T Page8 !R) _!3D(T_("Q )omp8 !R) (V("#_(MP&RT Page8 !R) _(MP&RT )omp8 !R) (V("#_PR&)$SS Page8 !R) _RQST )omp8 !R) _2LT_RQST Page8 !R) _2LT_RQST )omp8 !R) _ ST_RQST Page8 !R) _ ST_RQST )omp8 !R) (V("#_R$P&RT Page8 !R) _RPT )omp8 !3D(T_RPT Page8 !R) _!3D(T_RPT )omp8 !R) _PR&: Page8 !R) _&T _)TRL Page8 !R) _PR&: Page8 !R) _SQL )omp8 !R) _S$)3R(T* Page8 !R) _S$)3R(T* )omp8 !R) _3T(LS Page8 !R) _3T(LS )omp8 D!T!_2("D$R Page8 R$)_)&3"T_P!"$L )omp8 D!T!_TR!"S2$R Page8 D!T!_TR!"S_("P3T Page8 D!T!_TR!"S_&3TP3T Menu8 )DM_RPT )omp8 )&"T$"T_L(ST Page8 )DM_RPT_("D$5 Menu8 )30$_M!"!#$R )omp8 !"!L*S(S_D0 Page8 !"!L*S(S_D0 Page8 )30$_!##R$#!T$ )omp8 03(LD_!"L_D0 Page8 )30$_03(LD_0("D Page8 R3"_M!-$_!"L_D0 )omp8 !"!L*S(S_M&D$L Page8 )30$_D$2 Page8 )30$_D$2_("P3TS )omp8 !TTR(03T$_"!M$ Page8 !TTR(03T$_"!M$ )omp8 D(M$"S(&"S Page8 D(M$"S(&" Page8 D(M_R&LL3P_("P3T Menu8 D!T!_M&V$R Page8 Menu8 $D(_M!"!#$R )omp8 !PPL()!T(&"_$RR&R_S3MM!R*

!dd 3pdate 3pdate

3pdate !dd 3pdate !dd 3pdate !dd 3pdate !dd 3pdate !dd 3pdate !dd 3pdate !dd 3pdate

3pdate 3pdate 3pdate 3pdate

3pdate

!dd 3pdate !dd 3pdate !dd 3pdate 3pdate !dd 3pdate

3pdate

Page8 $)_!PP$RR&R_,, )omp8 03S("$SS_D&)3M$"T_$RR&RS 3pdate Page8 03S("$SS_D&)3M$"T_D!T! Page8 03S("$SS_D&)3M$"T_D$T!(L )omp8 03S("$SS_D&)3M$"T_S3MM!R* 3pdate Page8 $)_03SD&)_,; Page8 S3MM!R* )omp8 P!)-!#$_L&#_S3MM!R* 3pdate Page8 P!)-!#$_L&#_S3MM!R* )omp8 TR!"S!)T(&"_#R&3P_L&#_S3MM 3pdate Page8 TR!"S!)T(&"_#R&3P_L&#_S3MM!R* )omp8 TR!"S!)T(&"_M!("T$"!") 3pdate Page8 $)_TR!"S_M!("T )omp8 ("0&3"D_$)_!#$"T !dd 3pdate Page8 R3"_)&"TR&L_P!R!M$T$RS )omp8 &3T0&3"D_DR(V$R_PR$P!R!T(& !dd 3pdate Page8 R3"_P!R!M$T$RS )omp8 &3T0&3"D_$)_!#$"T !dd 3pdate Page8 R3"_P!R!M$T$RS )omp8 !)T(&"_)&D$_D$2("(T(&" !dd 3pdate Page8 $)_!)T(&"_)&D$_D$2("(T(&" )omp8 03S_$"T(T*_D$2" !dd 3pdate Page8 $)_03S_$"T(T*_D$2 Page8 $)_$"T(T*)DS_7R)omp8 D!T!_M!PP("#_PR&2(L$_D$2" !dd 3pdate Page8 $)_M!P_PR&2(L$_D$2 )omp8 $)_D$L$T$ 3pdate Page8 $)_D$L$T$ )omp8 $"T(T*_)&D$_D$2("(T(&" !dd 3pdate Page8 $)_$"T(T*_)&D$_T0L )omp8 $5T$R"!L_P!RT"$R_D$2" !dd 3pdate Page8 $)_$"T(T*)DS_7RPage8 $)_$5T_P!RT"$R_D$2 )omp8 ("0&3"D_M!P_D$2("(T(&" !dd 3pdate Page8 03S("$SS_D&)3M$"T_L!*&3T Page8 D$S)R(PT(&" Page8 $)_("0&3"D_M!P_7RPage8 $)_("0&3"D_7R-_,+ Page8 $)_("0&3"D_7R-_,; Page8 T!R#$T_R$)&RDS )omp8 ("T$R"!L_P!RT"$R_D$2" !dd 3pdate Page8 $)_$"T(T*)DS_7RPage8 $)_("T_P!RT"$R_D$2 )omp8 &3T0&3"D_M!P_D$2("(T(&" !dd 3pdate Page8 D$S)R(PT(&" Page8 $)_("0&3"D_M!P_7RPage8 $)_&3T0&3"D_7R-_,; Page8 S&3R)$_R$)&RDS Page8 T!R#$T_03S("$SS_D&)_L!*&3T )omp8 P!RT"$R_PR&2(L$_D$2("(T(&" !dd 3pdate Page8 $)_TP_PR&2(L$_7RPage8 PR&2(L$_D$2!3LTS Page8 PR&2(L$_D$2("(T(&" )omp8 PR(M!R*_$V$"T_)&D$_D$2" !dd 3pdate Page8 $)_PR(_$V$"T_T!0L$ )omp8 S$)&"D!R*_$V$"T_)&D$_D$2" !dd 3pdate Page8 $)_S$)_$V$"T_T!0L$ )omp8 TP_)&"V$RS(&"_D!T! !dd 3pdate Page8 $)_$)TP)VT_V!L3$S Page8 $)_$)TP)VT_V!L_7R)omp8 TP_)&"V$RS(&"_D$2" !dd 3pdate Page8 $)_$)TP)VT )omp8 TR!"S!)T(&"_D$2("(T(&" !dd 3pdate Page8 $)_TR!"S_7RPage8 TR!"S!)T(&"_D$2("(T(&" Menu8 $(P_)!T!L&# )omp8 $(P_("Q3(R($S Page8 $&_$(P_($(P_P# )omp8 $&$(_(SR_)MP Page8 $&_$(P_(SR_P#

)orrect )orrect

)orrect )orrect

)orrect

3pdate 3pdate

)omp8 $&_$(P_(SR!_)MP Page8 $&_$(P_(SR!_P# )omp8 M$"3(T$MF Page8 $&_$(P_(!PP_P# )omp8 M$"3(T$M> Page8 $&_$(P_("&D$_P# )omp8 MS#_$(P Page8 $&_$(P_(M$P_P# )omp8 MS#_"&D$ Page8 $&_$(P_(MS#_P# )omp8 $&$(_)&P*_!PP_#RP Page8 $&$(_)&P*_!PP_#RP )omp8 $&$(_)&P*_$(P Page8 $&$(_)&P*_$(P )omp8 $&$(_L&!D_!PP_#0L Page8 $&$(_!PPLD_P# )omp8 $&$(_3P#R!D$_R$L Page8 $&$(_3P#R!D$_R$L )omp8 23LL_L&!D Page8 R3"_$DD23LL )omp8 (")R_L&!D Page8 R3"_$DD(")R )omp8 $(P_DP_M!("T Page8 $&_$(P_DP_D$2"_P# )omp8 $&_$(P_DP!T_)MP Page8 $&_$(P_DP!TT$R"_P# )omp8 $&_PR&D3)T_D0 Page8 $&_PR&D3)T_D0 )omp8 T$) _T*P$_D$2" Page8 $&_$(P_TT_D$2"_P# )omp8 !PPL()!T(&"_#R&3P Page8 $&_$(P_!#RP_P# )omp8 !PP_#R&3P_D$2 Page8 $&_$(P_!PP#_P# )omp8 )(_)MP Page8 $&_$(P_)(_D$T_P# )omp8 $(P_D$T!(LS Page8 $&_$(P_$0(_P# Page8 $&_$(P_$)(_P# Page8 $&_$(P_$$D_P# Page8 $&_$(P_$MS#_P# Page8 $&_$(P_$5L_P# )omp8 $&_$(P_!MS#_)MP Page8 $&_$(P_!MS#_D$T_P# Page8 $&_$(P_!MS#_S30 Page8 $&_$(P_5ML_S) $M! )omp8 $&_$(P_0(_)MP Page8 $&_$(P_0((_D$T_P# Page8 $&_$(P_0(&_D$T_P# )omp8 $&_$(P_2&RM_)MP Page8 $&_$(P_2&RM_#RP Page8 $&_$(P_2&RM_P# Page8 $&_$(P_R$L$!S$ )omp8 $&_$(P_#RP_)MP Page8 $&_$(P_#RP_P# )omp8 $&_$(P_S$"D_)MP Page8 $&_$(P_T0(_P# Page8 $&_$(P_T)(_P# Page8 $&_$(P_T$D_P# Page8 $&_$(P_TM#_P# Page8 $&_$(P_T5L_P# )omp8 $&_$(P_5L_)MP Page8 $&_$(P_5LP_D$T_P# Page8 $&_$(P_5LQ_D$T_P# )omp8 $&_"&D$ Page8 $&_"&D$ Page8 $&_"&D$)&"" Page8 $&_"&D$)&"T!)T Page8 $&_"&D$PR&P Page8 $&_"&D$TR5L(ST Page8 $&_"&D$3R(

3pdate 3pdate 3pdate 3pdate 3pdate 3pdate 3pdate 3pdate 3pdate !dd 3pdate !dd 3pdate !dd 3pdate 3pdate !dd 3pdate !dd 3pdate !dd 3pdate !dd 3pdate !dd 3pdate 3pdate 3pd!ll )orrect

3pdate

!dd 3pdate !dd 3pdate

!dd 3pdate 3pdate 3pd!ll )orrect

!dd 3pdate 3pd!ll !dd 3pdate 3pd!ll

)omp8 $&_"&D$TR5 Page8 $&_"&D$TR5 Page8 $&_"&D$TR5)&"" Page8 $&_"&D$TR5MS# )omp8 MS#_D$2" Page8 $&$(_MS#D2"_P# Menu8 $&_PR&2(L$ )omp8 $&_#!T$7!* Page8 (0_#!T$7!* )omp8 $&_"&D$TR5 Page8 $&_"&D$TR5 Page8 $&_"&D$TR5)&"" Page8 $&_"&D$TR5MS# )omp8 $&_"&D$_D$L$T$ Page8 $&_"&D$_D$L$T$ )omp8 $&_"&D$_R$"!M$ Page8 $&_"&D$_R$"!M$ )omp8 $&_"&D$_S!V$!S Page8 $&_"&D$_S!V$!S )omp8 (0_)&D$S$T Page8 (0_)&D$S$T )omp8 (0_)&D$S$T#R&3P Page8 (0_)&D$S$T#RPV!L )omp8 (0_)&D$S$TV!L Page8 (0_)&D$S$TV!L )omp8 (0_)&"" Page8 (0_)&""PR&P )omp8 (0_R$L!T(&"S (P Page8 (0_R$L!T)&"T!)T Page8 (0_R$L!T(&"PR&P Page8 (0_R$L!T(&"S (P Page8 (0_R$LTR5L(ST )omp8 (0_R$L!T(&"TR5 Page8 (0_R$L!T(&"TR5 Menu8 RS_ R&( )omp8 RS_DM_)!T_S$T3P Page8 RS_DM_)!T_-$*L(ST Page8 RS_DM_)!T_S$T3P Page8 RS_DM_)!T_V!LL(ST )omp8 RS_DM_M!PP("# Page8 RS_DM_M!P("#_D()T Page8 RS_DM_3"M!PP$D Page8 RS_DM_V!L3$ )omp8 RS_DM_M!P_S$T3P Page8 RS_DM_M!P_S$T3P )omp8 RS_ R&(_L&# Page8 RS_ R&(_L&# )omp8 RS_T#R&3P Page8 RS_T#R&3P )omp8 RS_V$"D&R Page8 RS_V$"D&R_2(L$ Page8 RS_V$"D&R_S$T3P )omp8 RS_!)T*P$ Page8 RS_!)T*P$ )omp8 RS_!PP)L!SS Page8 RS_!PP)L!SS Menu8 (0_PR&2(L$ )omp8 (0_)&D$S$T Page8 (0_)&D$S$T )omp8 (0_)&D$S$T#R&3P Page8 (0_)&D$S$T#RPV!L )omp8 (0_)&D$S$TV!L Page8 (0_)&D$S$TV!L )omp8 (0_)&"" Page8 (0_)&""PR&P )omp8 (0_#!T$7!* Page8 (0_#!T$7!*

!dd 3pdate 3pd!ll )orrect

3pdate

!dd 3pdate !dd 3pdate 3pd!ll )orrect

3pdate 3pdate 3pdate !dd 3pdate !dd 3pdate !dd 3pdate !dd 3pdate !dd 3pdate 3pd!ll )orrect

!dd 3pdate 3pd!ll )orrect

!dd 3pdate

!dd 3pdate

3pdate 3pdate !dd 3pdate !dd 3pdate !dd 3pdate !dd 3pdate

!dd 3pdate !dd 3pdate !dd 3pdate !dd 3pdate !dd 3pdate

)omp8 (0_"&D$ Page8 (0_"&D$ Page8 (0_"&D$)&"" Page8 (0_"&D$3R( )omp8 (0_"&D$_D$L$T$ Page8 (0_"&D$_D$L$T$ )omp8 (0_"&D$_R$"!M$ Page8 (0_"&D$_R$"!M$ )omp8 (0_"&D$_S!V$!S Page8 (0_"&D$_S!V$!S )omp8 (0_R$L!T(&"S (P Page8 (0_R$L!T)&"T!)T Page8 (0_R$L!T(&"PR&P Page8 (0_R$L!T(&"S (P Page8 (0_R$LTR5L(ST Menu8 LM_!DM("(STR!T(V$ )omp8 LM_!DM_P"D_D(2_R$Q Page8 LM_!DM_P"D_D(2_R$Q )omp8 LM_)!LL_)$"T$R Page8 LM_)!LL_)$"T$R_R$Q Page8 LM_)!LL_)TR_!)T Page8 LM_$"RL_P!*_DTLS Page8 LM_$"RL_7!R"("# Page8 LM_#RP_!L$RT_D$T Page8 LM_#RP_!L$RT_D$T_! Page8 LM_#RP_2("_LR"R Page8 LM_#RP_2"D_LR"R Page8 LM_#RP_PR&_LR"R Page8 LM_#RP_S$L_LR"R Page8 LM_M!SS_S$L_LR"R )omp8 LM_ RSTR-_V!L(D!T$ Page8 LM_TR-_ RS_SR) )omp8 LM_("STR3)T&R Page8 LM_!)T_R&ST$R Page8 LM_$"RLMT_)M"TS Page8 LM_R&ST$R_SR) )omp8 LM_LPL"_!DM Page8 LM_LPL"_!DM )omp8 LM_M!SS_$"RL_R")TL Page8 LM_M!SS_$"RL_R")TL )omp8 LM_M!SS_RQSTS Page8 LM_M!SS_RQST_D$T )omp8 LM_R&ST$R Page8 LM_!)T_R&ST$R Page8 LM_!DM_!PP_)2_$"R Page8 LM_!DM_!PP_R$V_$"R Page8 LM_!DM_DP_)&"2_$"R Page8 LM_!DM_DP_)&"5_$"R Page8 LM_!DM_DP_R$V7_$"R Page8 LM_!DM_DP_R$V5_$"R Page8 LM_!DM_$"RLMT_D$T Page8 LM_$"RLMT_)M"TS Page8 LM_R&ST$R_SR) )omp8 LM_7LT_TR LD_"&T(2 Page8 LM_7LT_TR LD_"&T(2 Menu8 LM_!DM("_ (DD$" )omp8 LM_!)T Page8 LM_!)T Page8 LM_!)T_)&ST Page8 LM_!)T_MTRL Page8 LM_L) Page8 LM_L)_)MPL )omp8 LM_DMT D_L! Page8 LM_DMT D_0!S_D!T! Page8 LM_DM_!)T(V(T*_P# Menu8 LM_!DM("_L$!R"("# )omp8 LM_!DM("_L$!R"("#

!dd 3pdate 3pd!ll )orrect

3pdate 3pdate 3pdate !dd 3pdate 3pd!ll )orrect

3pdate !dd 3pdate

3pdate 3pdate

3pdate !dd 3pdate 3pdate 3pdate

!dd 3pdate

!dd 3pdate

!dd 3pdate )orrect

!dd 3pdate

Page8 LM_!DM_2"D_LR"R Page8 LM_M#R_#RP_)3R"T Menu8 LM_0L$"D$D_L$!R"("# )omp8 LM_L)_!S#" Page8 LM_L)_!S#" )omp8 LM_L)_L7) Page8 LM_L)_L7) Page8 LM_L)_L7)_DTL Page8 LM_L)_PTR" Page8 LM_L)_S$S_L(ST )omp8 LM_L)_S$S Page8 LM_L)_PTR" Page8 LM_L)_S$S Page8 LM_L)_S$S_L(ST )omp8 LM_L)_T$ST Page8 LM_L)_T$ST )omp8 LM_L)_T*P$ Page8 LM_L)_T*P$ )omp8 LM_L)_7$0 Page8 LM_L)_7$0 )omp8 LM_P!SS_S) Page8 LM_P!SS_S) )omp8 LM_R)TL_0L"D!)T_RP Page8 R)TL_0L"D_!)T_RPT )omp8 LM_R3"_!)TPR&# Page8 LM_R3"_!)TPR&# )omp8 LM_S$S_L7) Page8 LM_S$S Page8 LM_S$S_L7)_DTL Menu8 LM_03S("$SS_&0:$)TS )omp8 LM_!LT_!))&3"T Page8 LM_!LT_!))&3"T )omp8 LM_03D#$T_R$2 Page8 LM_03D#$T_R$2 )omp8 LM_) !RT2($LD+ Page8 LM_) !RT2($LD+ )omp8 LM_) !RT2($LD; Page8 LM_) !RT2($LD; )omp8 LM_) !RT2($LD4 Page8 LM_) !RT2($LD4 )omp8 LM_)L!SS_)2 Page8 LM_)L!SS_)2 )omp8 LM_2("_03_)2 Page8 LM_2("_03_)2 )omp8 LM_23"D_)&D$ Page8 LM_23"D_)&D$ )omp8 LM_#L_!))&3"T Page8 LM_#L_!))&3"T )omp8 LM_&P$R!T("#_3"(T Page8 LM_&P$R!T("#_3"(T )omp8 LM_PR&D3)T Page8 LM_PR&D3)T )omp8 LM_PR&#R!M Page8 LM_PR&#R!M )omp8 LM_PR&:$)T Page8 LM_PR&:$)T )omp8 LM_R3")TL_LM0&,,+ Page8 LM_R3")TL_LM0&,,+ )omp8 LM_R3")TL_LM0&,,; Page8 LM_R3")TL_LM0&,,; )omp8 LM_R3")TL_LM0&,,4 Page8 LM_R3")TL_LM0&,,4 )omp8 LM_R3")TL_LM0&,,< Page8 LM_R3")TL_LM0&,,< )omp8 LM_R3")TL_LM0&,,6 Page8 LM_R3")TL_LM0&,,6 )omp8 LM_R3")TL_LM0&,,D Page8 LM_R3")TL_LM0&,,D

!dd 3pdate !dd 3pdate

!dd 3pdate

!dd 3pdate !dd 3pdate !dd 3pdate 3pdate !dd 3pdate !dd 3pdate !dd 3pdate

!dd 3pdate 3pd!ll )orrect !dd 3pdate 3pd!ll )orrect !dd 3pdate 3pd!ll )orrect !dd 3pdate 3pd!ll )orrect !dd 3pdate 3pd!ll )orrect !dd 3pdate 3pd!ll )orrect !dd 3pdate !dd 3pdate 3pd!ll )orrect !dd 3pdate 3pd!ll )orrect !dd 3pdate 3pd!ll )orrect !dd 3pdate 3pd!ll )orrect !dd 3pdate 3pd!ll )orrect !dd 3pdate 3pd!ll )orrect !dd 3pdate !dd 3pdate !dd 3pdate !dd 3pdate !dd 3pdate !dd 3pdate

)omp8 LM_R3")TL_LM0&,,F Page8 LM_R3")TL_LM0&,,F )omp8 LM_R3")TL_LM0&,,> Page8 LM_R3")TL_LM0&,,> )omp8 LM_!))&3"T_)2 Page8 LM_!))&3"T_)2 )omp8 LM_!DM(" Page8 LM_!DM(" )omp8 LM_!TTR(0S Page8 LM_!TTR(0S )omp8 LM_03S_3"(T_#L Page8 LM_03S_3"(T_#L )omp8 LM_03S_3"(T_ R Page8 LM_03S_3"(T_ R )omp8 LM_)!L$"D!R_R")TL Page8 LM_)!L$"D!R_R")TL )omp8 LM_)!L$"D!R_V($7 Page8 LM_D!(L*_V($7 Page8 LM_M&"T L*_V($7 Page8 LM_7$$-L*_V($7 )omp8 LM_)2_!LT!))T Page8 LM_)2_!LT!))T )omp8 LM_)2_03D_R$2 Page8 LM_)2_03D_R$2 )omp8 LM_)2_2($LD+ Page8 LM_)2_2($LD+ )omp8 LM_)2_2($LD; Page8 LM_)2_2($LD; )omp8 LM_)2_2($LD4 Page8 LM_)2_2($LD4 )omp8 LM_)2_"!M$S Page8 LM_)2_"!M$S )omp8 LM_)2_&P$R_3"(T Page8 LM_)2_&P$R_3"(T )omp8 LM_)2_PR&D3)T Page8 LM_)2_PR&D3)T )omp8 LM_) !RT_2LD_V!L3$ Page8 LM_)2_V!L3$S )omp8 LM_)L!SS_)2_T0L Page8 LM_)L!SS_)2_T0L )omp8 LM_)M_P3RP_T*P$ Page8 LM_)M_P3RP_T*P$ )omp8 LM_)3ST&M$R_M!(" Page8 LM_)3ST&M$R_M!("_4 Page8 LM_M&P_!DM("_S0P Page8 LM_&R#_!DDR; )omp8 LM_D$P!RTM$"T Page8 LM_D$P!RTM$"T )omp8 LM_2("_&R#_M!(" Page8 LM_2("_&R#_!DDR Page8 LM_2("_&R#_M!(" )omp8 LM_23"D_)2 Page8 LM_23"D_)2 )omp8 LM_:&0)&D$_T0L Page8 LM_:&0)&D$_T0L )omp8 LM_:R"L#$"_TMPL Page8 LM_:R"L#$"_TMPL )omp8 LM_L#_Q3$R* Page8 LM_L#_Q3$R* )omp8 LM_L#_S$!R) Page8 LM_L#_S$!R) )omp8 LM_LR"R#R_R3")"TL Page8 LM_LR"R#RP_R3")"TL )omp8 LM_LR"R_#R&3PS Page8 LM_!)T_L#_3S!#$ Page8 LM_!D )_L#_3S!#$ Page8 LM_)!T#_L#_3S!#$ Page8 LM_)(_L#_3S!#$ Page8 LM_L#_D$L_)&"2RM Page8 LM_LR"R_)R(T Page8 LM_LR"R_#R&3PS

!dd 3pdate !dd 3pdate !dd 3pdate 3pd!ll )orrect 3pdate !dd 3pdate !dd 3pdate 3pd!ll )orrect !dd 3pdate !dd 3pdate 3pdate

!dd 3pdate 3pd!ll )orrect !dd 3pdate 3pd!ll )orrect !dd 3pdate 3pd!ll )orrect !dd 3pdate 3pd!ll )orrect !dd 3pdate 3pd!ll )orrect !dd 3pdate !dd 3pdate 3pd!ll )orrect !dd 3pdate 3pd!ll )orrect 3pdate !dd 3pdate 3pd!ll )orrect !dd 3pdate !dd 3pdate )orrect

3pdate )orrect !dd 3pdate )orrect !dd 3pdate 3pd!ll )orrect !dd 3pdate !dd 3pdate 3pd!ll )orrect )orrect 3pdate !dd 3pdate !dd 3pdate

Page8 LM_PR&#_L#_3S!#$ )omp8 LM_M#RV7_R")TRL Page8 LM_M#RV7_R")TRL )omp8 LM_"!M$_T*P$ Page8 LM_"!M$_T*P$ )omp8 LM_P$RS&"!L_!DDR Page8 LM_D$L_)&"2(RM Page8 LM_P$RS&"!L_!DDR Page8 LM_PRS"!DDRS!V$_SS Page8 LM_S!V$_)&"2(RM )omp8 LM_P$RS&"!L_$M!(L Page8 LM_D$L_)&"2(RM Page8 LM_P$RS&"!L_$M!(L Page8 LM_S!V$_)&"2(RM )omp8 LM_P$RS&"!L_("2& Page8 LM_P$RS&"!L_("2& )omp8 LM_P$RS&"!L_"!M$ Page8 LM_$RR_)&"2(RM Page8 LM_P$RS&"!L_"!M$ Page8 LM_S!V$_)&"2(RM )omp8 LM_P$RS&"!L_P &"$ Page8 LM_D$L_)&"2(RM Page8 LM_P$RS&"!L_P &"$ Page8 LM_S!V$_)&"2(RM )omp8 LM_P$RS&"!L_PR$2 Page8 LM_)!TL#_SR) _D2LT )omp8 LM_P$RS&"_D$T!(L Page8 LM_P$RS&"_D$T!(L )omp8 LM_P$RS&"_$5T Page8 LM_LR"R_!TTR(0S Page8 LM_P$RS&" Page8 LM_P$RS&"_!DDR )omp8 LM_P$RS&"_("T Page8 LM_LR"R_!TTR(0S Page8 LM_P$RS&"_!DDR Page8 LM_P$RS&"_("T Page8 LM_PRS"_:&0D!T! )omp8 LM_P&S(T(&" Page8 LM_P&S(T(&" )omp8 LM_PR()("#_T*P$ Page8 LM_PR()("#_T*P$ )omp8 LM_PR&D_T*P$ Page8 LM_PR&D_T*P$ )omp8 LM_PR&#R!M_)2 Page8 LM_PR&#R!M_)2 )omp8 LM_PR&:$)T_)2 Page8 LM_PR&:$)T_)2 )omp8 LM_PRS"MD(SP_R")TL Page8 LM_PRS"MD(SP_R")TL )omp8 LM_R")TL_!S*") Page8 LM_R3")TL_!S*") )omp8 LM_R")TL_ST#_L&!D Page8 LM_R")TL_ST#_L&!D )omp8 LM_R3")TL_2(_$"RL Page8 LM_R3")TL_2(_$"RL )omp8 LM_R3")TL_#L_("T2) Page8 LM_R3")TL_2(_#L )omp8 LM_R3")TL_L$2R,,+ Page8 LM_R3")TL_L$2R,,+ )omp8 LM_R3")TL_L$2R,,; Page8 LM_R3")TL_L$2R,,; )omp8 LM_STD_)&TS_3PD Page8 LM_STD_)&ST_3PD )omp8 LM_S30L$D#$R_(D Page8 LM_S30L$D#$R_(D )omp8 LM_S30L$D#$R_("Q Page8 LM_S30L$D#$R_("Q )omp8 LM_S30L$D#$R_P*MT Page8 LM_S30LD#R_!)T_DP Page8 LM_S30LD#R_!)T_$"R Page8 LM_S30LD#R_)R$D(T

!dd 3pdate 3pdate )orrect

)orrect

)orrect )orrect

)orrect

3pdate 3pdate !dd 3pdate )orrect

!dd 3pdate )orrect

!dd 3pdate 3pdate 3pdate !dd 3pdate !dd 3pdate !dd 3pdate !dd 3pdate !dd 3pdate !dd 3pdate !dd 3pdate !dd 3pdate !dd 3pdate 3pdate !dd 3pdate 3pdate 3pdate

Page8 LM_S30LD#R_:R"L Page8 LM_S30LD#R_PR&#_DP Page8 LM_S30LD#R_PR&#_R# Page8 LM_S30LD#R_P*MT_)0 Page8 LM_S30LD#R_P*MT_)D Page8 LM_S30LD#R_P*MT_) Page8 LM_S30LD#R_P*MT_)Page8 LM_S30LD#R_P*MT_P& Page8 LM_S30LD#R_P*MT_T3 )omp8 LM_S30L$D#_3PDT Page8 LM_S30L$D#$R_3PD )omp8 LM_3"(TS Page8 LM_3"(TS_M$!S3R$ )omp8 LM_V$"&R_M!(" Page8 LM_V$"D&R_!DDR Page8 LM_V$"D&R_M!(" Page8 LM_V"DR_PR&D Menu8 LM_)"T_TMPL )omp8 LM_)"T_TMPL Page8 LM_)T_P!#$ )omp8 LM_)"T_TMPL_L!3") Page8 LM_)"T_TMPL_L!3") Page8 LM_)T_)&RR$)T )omp8 LM_)T_$5P&RT Page8 LM_)T_$5P&RT )omp8 LM_)T_L&!D Page8 LM_)T_L&!D Menu8 LM_)&3RS$STR3)T3R$ )omp8 ("ST!LL_D$2!3LTS Page8 LM_)"TR_S$T3P_P# Page8 LM_("_D2LT_!TT" Page8 LM_("_D2LT_D!S 0RD Page8 LM_("_D2LT_$"RLMT Page8 LM_("_D2LT_#$" Page8 LM_("_D2LT_PR# )omp8 -$*7&RD Page8 LM_-7RD_P# )omp8 L$!R"("#_$"V(R&"M$"T Page8 LM_L$_D2LT_P# Page8 LM_L$_P# Page8 LM_L$_R$L_P# )omp8 LM_)(_L! Page8 LM_)(_!TTR(0_P# Page8 LM_)(_0!S()DT!_P# Page8 LM_)(_DLVR*_P# Page8 LM_)(_$Q3(V_P# Page8 LM_)(_"!"D!_P# Page8 LM_)(_PR#_R$L Page8 LM_)(_PRQ_P# Page8 LM_L$_)(_P# )omp8 LM_DMT D_L! Page8 LM_DMT D_0!S_D!T! Page8 LM_DM_!)T(V(T*_P# )omp8 LM_DMT D_T*P$ Page8 LM_DMT D_T*P$ )omp8 LM_L!_)!T# Page8 LM_)!T#_0S)_P# Page8 LM_)!T#_R$L_L!_P# Page8 LM_)!T#_S$)3RT*_P# Menu8 LM_)3RR()3L3M )omp8 LM_)RT)MP_RPT Page8 LM_R3")TL_)RT)MP )omp8 LM_)3R)MP_RPT Page8 LM_R3")TL_)3R)MP )omp8 LM_PR#&0:_RPT Page8 LM_R3")TL_PR#&0: )omp8 LM_PR#R$#_RPT

!dd 3pdate 3pdate !dd 3pdate )orrect

!dd 3pdate )orrect !dd 3pdate 3pdate !dd 3pdate

3pdate

!dd 3pdate !dd 3pdate

!dd 3pdate 3pd!ll )orrect

!dd 3pdate )orrect !dd 3pdate !dd 3pdate

!dd 3pdate !dd 3pdate !dd 3pdate !dd 3pdate

Page8 LM_R3")TL_PR#R$# )omp8 LM_)$RT_$SS_ST!T3S Page8 LM_)$RT_ST!T3S Page8 LM_LR"R_R$)$RT )omp8 LM_)$RT_MSS_ST!T3S Page8 LM_M#R_)$RT_ (ST Page8 LM_M#R_)$RT_ST!T3S Page8 LM_M#R_R$)$RT )omp8 LM_)$RT_STTS_RS" Page8 LM_)$RT_RS" )omp8 LM_)$RT_TM_ST!T3S Page8 LM_)$RT_ (ST Page8 LM_LR"R_R$)$RT Page8 LM_TM_)$RT_STTS )omp8 LM_PR#_)L&"$ Page8 LM_PR#_)L&"$_P# )omp8 LM_PR#_DTLS_$SS Page8 LM_PR#_S3MM_P# )omp8 LM_PR#_DTLS_MSS Page8 LM_PR#_S3MM_P# Page8 LM_T$!M_L$!R"$R )omp8 LM_PR#_"&T(2 Page8 LM_PR#_"&T(2 )omp8 LM_PR#_PR#S_$SS Page8 LM_PR#_PR&#R$SS )omp8 LM_PR#_PR#S_MSS Page8 LM_PR#_PR&#R$SS )omp8 LM_PR#_R$#_DTL Page8 LM_PR#_R$#_DTL Page8 LM_R$#_!PPRVL_DTL )omp8 LM_PR#_SR) Page8 LM_PR#_SR) )omp8 LM_PR&# Page8 LM_PR#_!TTR(0_P# Page8 LM_PR#_$Q3(V_P# Page8 LM_PR#_"!"D!_P# Page8 LM_PR#_"$ST_R$L Page8 LM_PR#_P# Page8 LM_PR#_PRQ_P# Page8 LM_PR#_P3S Page8 LM_PR#_S)"_P# Page8 LM_PR#_S)"_R3L$ Page8 LM_PR#_S)"_R3L$_P# Page8 LM_PR#_S$)_P# )omp8 LM_R)TL_)3RR_"&T(2 Page8 R)TL_)3RR_"&T(2 )omp8 LM_R)TL_)3RR_ST!T Page8 LM_L$)R_R)TL_ST!T )omp8 LM_RS")D_T0L Page8 LM_RS")D_T0L )omp8 LM_R3")TL_R$#!3D Page8 LM_R3")TL_R$#!3D Menu8 LM_$"RLMT )omp8 LM_!D )_!PPRVL_DTL Page8 LM_!D )_!PPRVL_DTL )omp8 LM_!D )_M#R Page8 LM_!D )_)(_P# Page8 LM_!D )_LR"_P# Page8 LM_!D )_M#R_ M Page8 LM_!D )_&0:_P# Page8 LM_!D )_PR#_L-P Page8 LM_S$L_!D )_T*P$ )omp8 LM_!D )_M#R_3PD Page8 LM_!D )_)(_P# Page8 LM_!D )_LR"_P# Page8 LM_!D )_&0:_P# Page8 LM_!D )_PR#_L-P Page8 LM_!D )_3PD_P# )omp8 LM_!D )_S$T3P Page8 LM_!D )_L$_P#

3pdate 3pdate

3pdate 3pdate

)orrect 3pdate 3pdate 3pdate 3pdate 3pdate 3pdate 3pdate !dd 3pdate 3pd!ll )orrect

!dd 3pdate !dd 3pdate 3pdate !dd 3pdate

!dd 3pdate !dd

!dd 3pdate

!dd 3pdate 3pd!ll )orrect

Page8 LM_!D )_S$T3P_P# )omp8 LM_!D )_3PD Page8 LM_!D )_)(_P# Page8 LM_!D )_LR"_P# Page8 LM_!D )_&0:_P# Page8 LM_!D )_PR#_L-P Page8 LM_!D )_3PD_P# )omp8 LM_!DM_!D )_)MP Page8 LM_!D )_)(_P# Page8 LM_!D )_LR"_P# Page8 LM_!D )_&0:_P# Page8 LM_!D )_PR#_L-P Page8 LM_!DM_2"D_LR"R Page8 LM_S$L_!D )_T*P$ )omp8 LM_!DM_!PP_R$# Page8 LM_!DM_!PP_)2_R$# Page8 LM_!DM_!PP_R$V_R$# )omp8 LM_!DM_DP_R$# Page8 LM_DP_)&"2_R$# Page8 LM_DP_R$V7_R$# )omp8 LM_!DM_TR"_R$Q Page8 LM_D$)_TR"_R$S3LT Page8 LM_#RP_!L$RT_D$T Page8 LM_M#R_!PPR_R$S3LT Page8 LM_M#R_D$)_R$S3LT Page8 LM_P$"_TR"_R$Q )omp8 LM_!TT_S) $M$ Page8 LM_!TT_S) _P# )omp8 LM_!3T&!TTD_R3")TL Page8 LM_!3T&!TTD_R3")TL )omp8 LM_)M(T_2R$Q Page8 LM_)M(T_2R$Q_P# )omp8 LM_DP_$"RLMT Page8 LM_DP_)&"2_$"RLMT Page8 LM_DP_R$V7_$"RLMT )omp8 LM_DP_R$# Page8 LM_DP_)&"2_R$# Page8 LM_DP_R$V7_R$# )omp8 LM_$"RLMT Page8 LM_)&"2_$"RLMT Page8 LM_P*MT_$"RLMT Page8 LM_R$V($7_$"RLMT )omp8 LM_$"RLMT_"&T(2 Page8 LM_$"RLMT_"&T(2 )omp8 LM_#R!_S) $M$ Page8 LM_#RD_S) _P# )omp8 LM_#RP_R$# Page8 LM_)&"2_#RP_R$# Page8 LM_P*MT_#RP_R$# Page8 LM_R$V($7_#RP_R$# )omp8 LM_L)_R&ST$R Page8 LM_L)_R&ST$R )omp8 LM_LR"R_R&ST$R Page8 LM_LR"R_R&ST$R )omp8 LM_LR"_!DD_!D ) Page8 LM_!D )_)(_P# Page8 LM_!D )_LR"_P# Page8 LM_!D )_&0:_P# Page8 LM_!D )_PR#_L-P Page8 LM_S$L_!D )_T*P$ )omp8 LM_M#R_DP_$"RLMT Page8 LM_DP_)&"2_$"RLMT Page8 LM_DP_R$V7_$"RLMT )omp8 LM_M#R_DP_R$# Page8 LM_DP_)&"2_R$# Page8 LM_DP_R$V7_R$# )omp8 LM_M#R_$"RLMT Page8 LM_)&"2_$"RLT_T$!M Page8 LM_P*MT_$"RLMT Page8 LM_R$V_$"RLMT_T$!M )omp8 LM_M#R_$"RLMT_D$T

!dd 3pdate

!dd 3pdate

!dd 3pdate !dd 3pdate 3pdate

3pdate !dd 3pdate !dd 3pdate 3pdate !dd 3pdate 3pdate

3pdate 3pdate !dd 3pdate

3pdate 3pdate !dd

3pdate !dd 3pdate 3pdate

3pdate

Page8 LM_!PPRVL_DTLS Page8 LM_M#R_$"RLMT_D$T )omp8 LM_M#R_TR"_R$Q Page8 LM_!PPR_!L$RT_D$T Page8 LM_D$)_TR"_R$S3LT Page8 LM_M#R_!PPR_R$S3LT Page8 LM_M#R_D$)_R$S3LT Page8 LM_P$"_TR"_R$Q )omp8 LM_"&T(2*_R3")TL Page8 LM_"&T(2*_R3")TL )omp8 LM_PR#_RSTR_!DM(" Page8 LM_#RP_!)T_S3MM!R* Page8 LM_PR#_R$#_)&"2 Page8 LM_PR#_R&ST$R Page8 LM_PR#_RSTR_SR) Page8 LM_PR#_RST_#RP_!)T Page8 LM_RSTR_D$T )omp8 LM_P3R) !S$_&RD$RS Page8 LM_P3R) !S$_&RD$RS )omp8 LM_P*MT_DTLS_$"R Page8 LM_P*MT_DTLS_$"R )omp8 LM_P*MT_DTLS_R$# Page8 LM_P*MT_DTLS_R$# )omp8 LM_R$# Page8 LM_)&"2_R$# Page8 LM_P*MT_R$# Page8 LM_R$V($7_R$# )omp8 LM_R3"_PRQ_RPT Page8 LM_R3"_PRQ_RPT )omp8 LM_S*S_P*T_MT D_D2 Page8 LM_S*S_P*T_MT D_D2 )omp8 LM_T3_(T$MS Page8 LM_T3_(T$MS )omp8 R)TL_$"RT_)&MP_RPT Page8 R)TL_$"RT_)&MP_RPT )omp8 R)TL_$"RT_)&ST_RPT Page8 R)TL_$"RT_)&ST_RPT )omp8 R)TL_$"RT_ ST*_RPT Page8 R)TL_$"RT_ ST*_RPT )omp8 R)TL_$"RT_R&ST_RPT Page8 R)TL_$"RT_R&ST_RPT )omp8 R)TL_$"RT_TR"S_RPT Page8 R)TL_$"RT_TR"S_RPT Menu8 LM_$&_M!R-$T_R!T$S )omp8 )3RR$")*_)&D$ Page8 )3RR$")*_)&D$ )omp8 )3RR$")*_Q3&T$_M$T &D Page8 )3RR_Q3&T$_P"L )omp8 M!R-$T_R!T$S Page8 RT_R!T$_P"L )omp8 M!R-$T_R!T$_D$2("(T(&" Page8 RT_R!T$_D$2_T0L )omp8 M!R-$T_R!T$_("D$5 Page8 RT_("D$5_T0L )omp8 M!R-$T_R!T$_T*P$ Page8 RT_T*P$_T0L

3pdate

!dd 3pdate 3pdate

3pdate 3pdate 3pd!ll 3pdate !dd 3pdate

!dd 3pdate 3pdate 3pdate 3pd!ll )orrect !dd 3pdate !dd 3pdate !dd 3pdate !dd 3pdate !dd 3pdate

!dd 3pdate 3pd!ll )orrect !dd 3pdate 3pd!ll )orrect !dd 3pdate 3pd!ll )orrect 3pdate !dd 3pdate !dd 3pdate

Menu8 LM_$&_&0:$)TS )omp8 )&3"TR*_D$2" !dd 3pdate Page8 !DDR_2&RM!T_T!0L$ Page8 )&3"TR*_D$2" Page8 $&_!DDR_V!L(D!T )omp8 S!T$_D$2" !dd 3pdate Page8 ST!T$_&R_PR&V(")$_T!0L$ Menu8 LM_$_L$!R"("# )omp8 LM_L$L_)"T"T_RPT Page8 LM_L$L_R")TL_)"T"T )omp8 LM_L$L_PR#RS_RPT

!dd 3pdate !dd 3pdate

Page8 LM_L$L_R")TL_STD"T )omp8 L$L_S$T3P Page8 LM_L$L_S$T3P )omp8 LM_L$L_(MP&RT Page8 LM_$L_(MP&RT Menu8 LM_2(LT$R )omp8 LM_2(LT$R Page8 LM_2(LT$R Menu8 LM_L$!R"("#_M#MT )omp8 LM_R3")TL_S) $DTM Page8 LM_R3")TL_S) $DTM Menu8 LM_L$!R"("#_&0:$)T(V$S )omp8 R_L$!R"$R_)&MP$T$")* Page8 LM_LR"R_)&MP )omp8 LM_"&"P$RS_PR&2(L$ Page8 LM_"&"P$RS_PR&2(L$ )omp8 LM_P$RS&"_PR&2(L$ Page8 LM_P$RS&"_PR&2(L$ )omp8 LM_R!T("#MDL Page8 LM_RT"#_MDL_T0L )omp8 LM_R&L$_)&MPS Page8 LM_R&L$_)&MPS )omp8 LM_&0:V_LR"R_SS Page8 $&_D$L_)&"2(RM Page8 LM_&0:V_LR"R )omp8 LM_&0:_LR"_SS_ (ST Page8 LM_&0:V_LR"R_ (ST )omp8 LM_&0:V_M#R_SS Page8 $&_D$L_)&"2(RM Page8 LM_&0:V_M#R )omp8 LM_&0:V_MTM_SS Page8 $&_D$L_)&"2(RM Page8 LM_&0:V_MTM )omp8 LM_&0:_M#R_SS_ (ST Page8 LM_&0:V_M#R_ (ST )omp8 LM_&0:_MTM_SS_ (ST Page8 LM_&0:V_MTM_ (ST )omp8 LM_$5T_SR)_MS# Page8 LM_$5T_SR)_MS# )omp8 LM_&0:V_LR"R_MS# Page8 LM_&0:V_LR"R_MS# )omp8 LM_P$RS_)&MP_S*") Page8 LM_P$RS&"_)&MP )omp8 LM_R!T("#MDL_S*") Page8 LM_R!T("#M&D$LS )omp8 LM_R&L$_)&MP_S*") Page8 LM_R&L$)&MPS )omp8 LM_)!TS$T3P_T0L Page8 LM_)!TS$T3P_T0L )omp8 LM_$5T&0:V_R")TRL Page8 LM_$5T&0:V_R")TRL )omp8 LM_:&0_&0:V Page8 LM_:&0_&0:V_; )omp8 LM_M!P_)!T_(T$M Page8 L$L&_M!P_)!T_(T$M )omp8 LM_M!SS_!S#"_&0:V Page8 LM_!S#"_&0:V_&0:V Page8 LM_!S#"_&0:V_R$Q Page8 LM_!SS#"_S$L_LR"R Page8 LM_M!SS_&0:V_LR"R Page8 LM_&0:V_2"D_LR"R Page8 LM_&0:V_7!R"("# )omp8 LM_M!SS_&0:V_R")TL Page8 LM_M!SS_&0:V_R")TL )omp8 LM_&0:V!SS"_R")TRL Page8 LM_&0:V!SS"_R")TRL )omp8 LM_&0:V_$5T_STP

3pdate 3pdate

!dd 3pdate

!dd 3pdate

3pdate 3pdate 3pdate !dd 3pdate 3pd!ll )orrect 3pdate 3pdate 3pdate 3pdate 3pdate 3pdate 3pdate !dd 3pdate 3pd!ll )orrect !dd !dd 3pdate !dd 3pdate !dd 3pdate !dd 3pdate !dd 3pdate 3pdate 3pd!ll )orrect !dd 3pdate !dd 3pdate

!dd 3pdate !dd 3pdate !dd 3pdate

Page8 LM_&0:V_$5T_STP )omp8 LM_P&S(T(&"_&0:V Page8 LM_P&S(T(&"_&0:V_; )omp8 LM_R3")TL_$(P Page8 LM_$5T$(P_ST# Page8 LM_R3")TL_$(P )omp8 LM_R3")TL_&0:V Page8 LM_P$RS)&MP_ST# Page8 LM_P$RS)&MP_ST#; Page8 LM_R3")TL_&0:V )omp8 LM_R3")TL_&0:V_P# Page8 LM_R3")TL_&0:V_P# )omp8 &0:$)T(V$S_S$T3P_T0L Page8 LM_&0:V_)(_M!P Page8 LM_&0:V_:&0_M!P Page8 LM_&0:V_P&S"_M!P Page8 LM_&0:V_PR#M_M!P Page8 LM_&0:V_T0L )omp8 LM_&0:V_!DD_&0:V Page8 LM_&0:V_!DD_)&"2RM Page8 LM_&0:V_!DD_&0:V )omp8 LM_&0:V_DTL Page8 LM_&0:V_DTL )omp8 LM_&0:V_M$T Page8 LM_&0:V_M$T Menu8 LM_L$LM )omp8 R_SST$5T_)2# Page8 R_SST$5T_)2# )omp8 R_SST$5T_L!"# Page8 R_SST$5T_L!"# Page8 R_SST$5T_L!"#; )omp8 R_SST$5T_T$ST Page8 R_SST$5T_!LL-$*S Page8 R_SST$5T_T$ST )omp8 R_SST$5T_T$5T Page8 R_SST$5T_!LL-$*S Page8 R_SST$5T_ TML Page8 R_SST$5T_T$5T Menu8 LM_L$L7 )omp8 LM_L$L7_("STR_ &M$ Page8 LM_L$L7_("STR_S) $ )omp8 LM_L$L7_MS#_L&# Page8 LM_L$L7_0!T_SR) Page8 LM_L$L7_MS#SS_L&# Page8 LM_L$L7_MS#_L&# Menu8 LM_L$L7_7$0)!ST )omp8 LM_L$L7_7$0)!ST Page8 LM_L$L7_$5TD_S$T3P Menu8 LM_LR"_R$Q )omp8 LM_!DM_LRQ_!SS#" Page8 LM_!DM_LRQ_LR"RS Page8 LM_!DM_"$7_LRQ_DTL Page8 LM_!D_LR"_R$Q_)&"2 Page8 LM_)(_S$!R) Page8 LM_LRQ_R$QSTR_SR) )omp8 LM_!DM_LRQ_SR) Page8 LM_!DM_!S#"_!)T_P# Page8 LM_!DM_LRQ_DTLS Page8 LM_!DM_LRQ_SR) Page8 LM_!DM_M$T &D_DTLS Page8 LM_)(_S$!R) )omp8 LM_LRQ_S$T3P Page8 LM_LRQ_S$T3P )omp8 LM_LRQ_TR LD_"&T(2 Page8 LM_LRQ_TR LD_"&T(2

3pdate 3pd!ll )orrect !dd 3pdate !dd 3pdate

!dd 3pdate !dd 3pdate )orrect

3pdate 3pdate 3pdate

!dd 3pdate )orrect )orrect !dd 3pdate 3pd!ll )orrect

!dd 3pdate 3pdate

!dd 3pdate 3pd!ll )orrect

!dd 3pdate

!dd 3pdate

!dd 3pdate !dd 3pdate

)omp8 LM_MSS_LR"_R$Q Page8 LM_)(_S$!R) Page8 LM_L$!R"_!)T_DTL Page8 LM_L$!R"_(TM_DTL Page8 LM_MSS_3PD_LR"RS Page8 LM_SS_LR"_R$Q Page8 LM_SS_LR"_R$Q_)&"2 Page8 LM_SS_LRQ_LR"RS )omp8 LM_SS_LR"_R$Q Page8 LM_)(_S$!R) Page8 LM_L$!R"_!)T_DTL Page8 LM_L$!R"_(TM_DTL Page8 LM_SS_LR"_R$Q Page8 LM_SS_LR"_R$Q_)&"2 Menu8 LM_M&R$_TMPL )omp8 LM_S$)_TMPL Page8 LM_S$)_TMPL Menu8 LM_"&T(2()!T(&"S )omp8 LM_"&T(2_!D &) Page8 LM_"&T(2_!D &) )omp8 LM_"&T(2_)&"2(# Page8 LM_"&T(2_)&"2(# )omp8 LM_"&T(2_TMPL Page8 LM_"&T(2_TMPL Menu8 LM_R$S&3R)$_M!"!#$M$"T )omp8 LM_R3")TL_!)T Page8 LM_R3")TL_!)T )omp8 LM_SS_("STR_PR$2 Page8 LM_SS_("STR )omp8 )&"T!)T_R&L$S Page8 LM_)"T)T_R&L$ )omp8 ("STR3)T&R_R&L$ Page8 LM_("STR_R&L$ )omp8 LM_!)MDT"_T0L Page8 LM_!)MDT"_T0L )omp8 LM_$QP_T*P$ Page8 LM_$QP_T*P$ )omp8 LM_ LD!*_S) $D Page8 LM_ LD!*_S) $D )omp8 LM_ &3R_T*P$ Page8 LM_ &3R_T*P$ )omp8 LM_MTRL_T*P$ Page8 LM_MTRL_T*P$ )omp8 LM_R&&M_T*P$ Page8 LM_R&&M_T*P$ )omp8 LM_TR!("("#_)L!SS Page8 LM_TR!("("#_)L!SS )omp8 LM_!)T Page8 LM_!)T Page8 LM_!)T_)&ST Page8 LM_!)T_MTRL Page8 LM_L) Page8 LM_L)_)MPL )omp8 LM_!)T_)L&"$ Page8 LM_!)T_)L&"$ )omp8 LM_!)T_)"2L Page8 LM_!)T_)"2L )omp8 LM_!)T_"&T(2 Page8 LM_!)T_"&T(2 )omp8 LM_)!L$"D!R_V($7 Page8 LM_D!(L*_V($7 Page8 LM_M&"T L*_V($7 Page8 LM_7$$-L*_V($7 )omp8 LM_$QP_)&P*_RSLT Page8 LM_$QP_)&P*_RSLT )omp8 LM_$QP_T0L Page8 LM_$QP_T0L

!dd 3pdate

!dd 3pdate

!dd 3pdate

3pdate 3pdate !dd 3pdate

!dd 3pdate 3pdate 3pdate 3pdate 3pdate 3pdate !dd 3pdate 3pdate 3pdate 3pdate 3pdate !dd 3pdate

3pdate 3pdate 3pdate 3pdate

3pdate !dd 3pdate

)omp8 LM_2)LT*_T0L Page8 LM_2)LT*_$QP Page8 LM_2)LT*_R&&M Page8 LM_2)LT*_T0L )omp8 LM_("STR Page8 LM_("STR )omp8 LM_MTRL_T0L Page8 LM_MTRL_T0L )omp8 LM_R&&M_T0L Page8 LM_R&&M_T0L )omp8 LM_RSRV_RM Page8 LM_RSRV_RM Page8 LM_RSRV_RM_DTL )omp8 LM_S$S Page8 LM_S$S )omp8 LM_TMPL Page8 LM_TMPL Menu8 LM_SS_L$!R"("# )omp8 R3"_LM,,+ Page8 R3")TL_LM,,+ )omp8 R3"_LM,,; Page8 R3")TL_LM,,; )omp8 LM_0R&7S$_L$!R"$R Page8 LM_0R&7S$ Page8 LM_0R&7S$; Page8 LM_L$!R"_!)T_DTL Page8 LM_L$!R"_(TM_DTL )omp8 LM_S$!R) Page8 LM_)!TL#_SR) _D2LT Page8 LM_)!TL#_SR) _T(PS Page8 LM_L$!R"_!)T_DTL Page8 LM_L$!R"_(TM_DTL Page8 LM_S$!R) )omp8 LM_SS_!)T_PR&# Page8 LM_!)T_PR&# Page8 LM_L)_!S#"_PR&# Page8 LM_L)_$S(#"_P# Page8 LM_L)_L7)_PR&# Page8 LM_L)_S$S_PR&# Page8 LM_L)_7$0_PR&# )omp8 LM_SS_L$!R"("#_3( Page8 $&_D$L_)&"2(RM Page8 LM_)!TL#_SR) _D2LT Page8 LM_)!TL#_SR) _T(PS Page8 LM_)3RR$"T_LR"# Page8 LM_L$!R"("#_ M Page8 LM_L$!R"_!)T_DTL Page8 LM_L$!R"_(TM_DTL )omp8 LM_TR!"S2$R_LP Page8 LM_TR!"S2$R_LP )omp8 LM_TR!"S2$R_S$T Page8 LM_TR!"S2$R_S$T )omp8 LM_TR!"S2$R_T(PS Page8 LM_TR!"S2$R_T(PS Menu8 LM_SS_M!"!#$R )omp8 LM_0R&7S$_M!"!#$R Page8 LM_0R&7S$ Page8 LM_0R&7S$; Page8 LM_L$!R"_!)T_DTL Page8 LM_L$!R"_(TM_DTL )omp8 LM_LPL"_M#R Page8 LM_LPL"_M#R_!LL Page8 LM_LPL"_M#R_S$L )omp8 LM_S$!R) _M#R Page8 LM_)!TL#_SR) _D2LT Page8 LM_)!TL#_SR) _T(PS Page8 LM_L$!R"_!)T_DTL Page8 LM_L$!R"_(TM_DTL

!dd 3pdate

!dd 3pdate !dd 3pdate 3pd!ll )orrect !dd 3pdate 3pdate !dd 3pdate !dd 3pdate

!dd 3pdate !dd 3pdate 3pdate

3pdate

3pdate

3pdate

3pdate 3pdate 3pdate

3pdate

3pdate 3pdate

Page8 LM_S$!R) )omp8 LM_SS_M!"!#$R_3( Page8 LM_)!TL#_SR) _D2LT Page8 LM_)!TL#_SR) _T(PS Page8 LM_D$)_TR"_R$S3LT Page8 LM_#RP_!L$RT_D$T Page8 LM_L$!R"_!)T_DTL Page8 LM_L$!R"_(TM_DTL Page8 LM_M!"!#$R_ M Page8 LM_M#R_!PPR_R$S3LT Page8 LM_M#R_D$)_R$S3LT Page8 LM_M#R_#RP_)3R"T Page8 LM_T$!M_L$!R"$R )omp8 LM_TR!"S2$R_ST Page8 LM_TR!"S2$R_M#R_ST )omp8 LM_TR!"S2$R_T$!M Page8 LM_TR!"S2$R_T$!M )omp8 LM_TR"S2R_M#R_)R"T Page8 LM_TR"S2R_M#R_)R"T )omp8 R3")TL_)!T(D5 Page8 R3")TL_)!T(D5 Menu8 LM_S3RV$* )omp8 LM_S3RV$* Page8 LM_S3RV$* Menu8 LM_TMPL )omp8 LM_S3RV$*_D$2" Page8 LM_S3RV$*_D$2" )omp8 LM_TMPL_S$T3P Page8 LM_TMPL_S$T3P )omp8 LM_TMPL_T*P$_S$T3P Page8 LM_TMPL_T*P$_S$)T Page8 LM_TMPL_T*P$_S$T3P Menu8 LM_TR"#_PL!" )omp8 LM_03D#$T_M&D$L Page8 LM_03D#$T_M&D$L )omp8 LM_2R!_TPL"_S$T3P Page8 LM_2R!_TPL"_S$T3P )omp8 LM_TR"#_PL!"_R)TL Page8 LM_TR"#_PL!"_R)TL )omp8 LM_TR"#_PL!"_S$T3P Page8 LM_TR"#_PL!"_S$T3P Menu8 M!("T!("_S$)3R(T* )omp8 M!("T_S$)_Q3$R($S Page8 M!("T_S$)_Q3$R($S )omp8 $5$)3T$R&L$R3L$ Page8 R&L$D*"L!3") )omp8 R3"_DSS) $M! Page8 DSS) $M!)!) $ )omp8 !))$SS_#RP_TR$$M#R Page8 PSTR$$M#R!)) Page8 PSTR$$M#R!))SR) Page8 PSTR$$M#R52$R )omp8 0*P!SS_T!0L$ Page8 0*P!SS_T!0L$ )omp8 )$RT(2()!T$S Page8 !DM("(ST$R_)$RTS )omp8 D(ST_3S$R_SR) _R$) Page8 3S$RM!("T_SR) R$) )omp8 DSP3R#$D(R(D Page8 DSP3R#$D(R(D )omp8 DSR&L$R3L$ Page8 DSS$)R&L$R3L$ )omp8 DSS$)M!P Page8 DSS$)M!PM!(" )omp8 DS3SRPR&2;

3pdate

3pdate 3pdate 3pdate !dd 3pdate

3pdate )orrect

!dd 3pdate !dd 3pdate !dd 3pdate

!dd 3pdate !dd 3pdate !dd 3pdate !dd 3pdate

3pdate 3pdate 3pdate !dd )orrect

3pdate 3pd!ll 3pdate 3pdate !dd 3pdate !dd 3pdate !dd 3pdate

Page8 DS3SRPR2LM!"M!P Page8 DS3SRPR2L&PTM!P )omp8 $M!(LT$5T Page8 $M!(LPS7DT$5T )omp8 $M!(L_ ("T_D$L Page8 $M!(L_ ("T_D$L )omp8 PSDSS$T3P Page8 DSD(RS$T3P Page8 DS$5T("ST!LL Page8 DSS$RV$R(D Page8 DSSR) RSLT )omp8 PSPS7D ("T Page8 PSPS7D ("T )omp8 Q3$R*_!))$SS_#RP Page8 !))$SS_#R&3P_T!0L$ Page8 PSTR$$M#R52$R )omp8 S$)_PS7D_R$STR; Page8 PS7D_R$STR()T )omp8 S$T3P_&T $R Page8 P$RML(ST_&T $R_M"T Page8 R&L$_&T $R_M"T Page8 3S$RSL2_&T $R_M"T Page8 3S$R_&T $R_M"T )omp8 S("#L$S(#"&" Page8 S("#L$_S(#"&" )omp8 3S$RT*P$S Page8 PS&PR!L(!ST*P$ )omp8 !))$SS_)"TRL_L(ST5 Page8 !)L_)&MP_("T$R2!)$ Page8 !)L_#$"$R!L Page8 !)L_M$"3; Page8 !)L_M$SS!#$M&"(T&R Page8 !)L_M(S)T&&LS Page8 !)L_PR&)$SS Page8 !)L_S(#"&"; Page8 !)L_7$0L(0S Page8 M)_&PR_S$)3R(T* Page8 P$RML(ST_!3D(T Page8 P$RML(ST_&T $R Page8 P$RML(ST_Q3$R* Page8 PL(ST_&PT" Page8 PL(ST_Q3$R($S )omp8 ) !"#$_P!SS7&RD Page8 ) !"#$_P!SS7&RD )omp8 $M!(L_PS7D Page8 $M!(L_PS7D )omp8 $5P(R$_) !"#$_PS7D Page8 ) !"#$_P!SS7&RD )omp8 P$RML(STS!V$!S Page8 P$RM(SS(&"_S!V$!S )omp8 P3R#$_P$RML(ST Page8 P3R#$_P$RML(ST )omp8 P3R#$_R&L$D$2" Page8 P3R#$_R&L$D$2" )omp8 P3R#$_3SR_PR&2(L$ Page8 P3R#$_3SR_PR&2(L$ )omp8 R&L$M!("T Page8 R&L$D$2" Page8 R&L$7R-2L&7 Page8 R&L$_!3D(T Page8 R&L$_)L!SS Page8 R&L$_D*"M$M0$R Page8 R&L$_#R!"T Page8 R&L$_M$M0$R Page8 R&L$_&T $R Page8 R&L$_Q3$R* )omp8 R&L$S!V$!S Page8 R&L$_S!V$!S )omp8 3S$RM!("T_D(ST Page8 PS&PR!L(!S Page8 3S$R_!3D(T

3pdate 3pdate !dd 3pdate

!dd 3pdate !dd 3pdate )orrect 3pdate 3pdate

3pdate !dd 3pdate !dd 3pdate

3pdate 3pdate 3pdate 3pdate 3pdate 3pdate 3pdate !dd 3pdate

3pdate !dd 3pdate

Page8 3S$R_#$"$R!L Page8 3S$R_&T $R Page8 3S$R_Q3$R* Page8 3S$R_R&L$S Page8 3S$R_7&R-2L&7 )omp8 3S$RM!("T_S$L2 Page8 3S$R_S$L2_S$RV()$ )omp8 3S$RPR&2(L$S Page8 PS&PR!L(!S Page8 3S$R_!3D(T Page8 3S$R_#$"$R!L Page8 3S$R_&T $R Page8 3S$R_Q3$R* Page8 3S$R_R&L$S Page8 3S$R_7&R-2L&7 )omp8 3S$R_S!V$!S Page8 3S$R_S!V$!S

3pdate !dd 3pdate

3pdate

Menu8 M!SS_) !"#$ )omp8 M!SS_) !"#$ !dd Page8 R3"_M!SS_) !"#$ )omp8 !R) (V$_D$2("(T(&" !dd Page8 D$2("(T(&" )omp8 M!SS_) !"#$_D!T$T(M$_P!RMS !dd Page8 M)_D!T$T(M$_P!RMS )omp8 M!SS_) !"#$_D$2("(T(&" !dd Page8 )R(T$R(!_!"D_D$2!3LTS Page8 D$S)R(PT(&" Page8 $5$)3T(&"_ (ST&R* Page8 #$"$R!T$_SQL )omp8 M!SS_) !"#$_#R&3P !dd Page8 #R&3P_D$2("(T(&" )omp8 M!SS_) !"#$_PR&MPT_R$)&RDS !dd Page8 PR&MPT_R$)&RDS )omp8 M!SS_) !"#$_T$MPL!T$ !dd Page8 )R(T$R(!_!"D_2($LDS Page8 D$S)R(PT(&" )omp8 M!SS_) !"#$_T*P$ !dd Page8 D$S)R(PT(&" Page8 2($LDS_!"D_7 $R$ Page8 2R$$_2&RM_SQL Page8 R$)&RDS_!"D_:&("_2($LDS Menu8 MP_M$"3 )omp8 MP_)&MP Page8 MP_#R&3P Menu8 "V(S(&" )omp8 D$2("$_L!*&3T Page8 D$2("$_L!*&3T )omp8 D$L$T$_R$P&RT Page8 D$L$T$_R$P&RT )omp8 D$L$T$_S)&P$ Page8 D$L$T$_S)&P$ )omp8 $D(T_R$P&RT Page8 $D(T_R$P&RT )omp8 $D(T_S)&P$ Page8 $D(T_S)&P$ )omp8 &P$"_R$P&RT Page8 &P$"_R$P&RT )omp8 &P$"_S)&P$ Page8 &P$"_S)&P$ )omp8 R3"_R$P&RT Page8 R3"_R$P&RT )omp8 S!V$_R$P&RT Page8 S!V$_R$P&RT )omp8 S!V$_S)&P$ Page8 S!V$_S)&P$

3pdate 3pdate 3pdate 3pdate

3pdate 3pdate 3pdate 3pdate

3pdate

3pdate 3pdate 3pdate 3pdate 3pdate 3pdate 3pdate 3pdate 3pdate 3pdate

Menu8 &0:$)T_S$)3R(T* Page8 Menu8 &PT(M(?!T(&" )omp8 !DM("_S&LV$R_L() Page8 PT&PT_S&LV$R_L() Menu8 P$RS&"!L(?!T(&" )omp8 PSL&)!L$D$2" Page8 PSL&)!L$D$2" )omp8 PSL&)!L$&PT"D2LTS Page8 PSL&)!L$&PT"D2LTS )omp8 PS3S$R&PT"D$2("$ Page8 PS3S$R&PT"D$2" )omp8 3S$R&PT"_)!T Page8 3S$R&PT"_)!T )omp8 3S$R&PT"_)!T_#RP Page8 3S$R&PT"_)!T_#RP )omp8 3S$R_S$L2_P$RS&"!L Page8 PS3S$RPRS"L)!T Menu8 P&RT!L_!DM(" )omp8 !DD2!V&R(T$S Page8 P&RT!L_!DD_2!V )omp8 $D(T2!V&R(T$S Page8 P&RT!L_$D(T_2!V )omp8 2&LD$R_)R$2_L(ST Page8 P&RT!L_&0:_L(ST )omp8 (0_"&D$ Page8 (0_"&D$ Page8 (0_"&D$)&"" Page8 (0_"&D$3R( )omp8 P&RT!L_)R$2S Page8 P&RT!L_)&P*_)"2 Page8 P&RT!L_)&P*_&0: Page8 P&RT!L_)R$2_!DM Page8 P&RT!L_)R$2_M&V$ Page8 P&RT!L_)R$2_S$) Page8 P&RT!L_RL"-_!DM Page8 P&RT!L_S!V$)&"2(RM Page8 P&RT!L_T!0_)&"_!DM Page8 P&RT!L_T!0_L!*_!DM )omp8 P&RT!L_2&LD$RS Page8 P&RT!L_)&P*_)"2 Page8 P&RT!L_)&P*_&0: Page8 P&RT!L_2LDR_!DM Page8 P&RT!L_2LDR_M&V$ Page8 P&RT!L_2LDR_S$) Page8 P&RT!L_S!V$)&"2(RM )omp8 P&RT!L_M$"3_$5P&RT Page8 P&RT!L_M$"3_$5P&RT )omp8 P&RT!L_R$#(STR* Page8 P&RT!L_R$#_!DM )omp8 P&RT!L_RL"-_+)&L Page8 P&RT!L_RL"-_+)&L )omp8 P&RT!L_RL"-_+)&L_ Page8 P&RT!L_RL"-_+)&L_ )omp8 P&RT!L_RL"-_4)&L Page8 P&RT!L_RL"-_4)&L )omp8 P&RT!L_S$!R) Page8 P&RT!L_SR) _PR$2S Page8 P&RT!L_SR) _R$S3LT Page8 P&RT!L_SR) _T(PS )omp8 P&RT!L_S$!R) _("D$5 Page8 P&RT!L_SR) _(D5 )omp8 P&RT!L_S$)_S*") Page8 P&RT!L_S$)_S*") Menu8 P&RT!L_P$RS_ &M$P!#$

!dd 3pdate

!dd 3pdate !dd 3pdate 3pdate !dd 3pdate !dd 3pdate 3pdate

3pdate 3pdate !dd 3pdate !dd 3pdate 3pd!ll )orrect

!dd 3pdate )orrect

!dd 3pdate )orrect

!dd 3pdate !dd 3pdate )orrect 3pdate 3pdate 3pdate 3pdate

!dd 3pdate !dd 3pdate

)omp8 P&RT!L_ P_R$M&V$ Page8 P&RT!L_ P_R$M&V$ )omp8 PSR2_P#L$T_&PT(&"S Page8 PSR2_P#LT_&PT(&"S )omp8 PSR2_R$PRT_P!#$L$T Page8 PSR2_R$P&RTS_P#LT Menu8 PR&)$SSM&"(T&R )omp8 PR&)$SSM&"(T&R Page8 PM"_PR)SL(ST Page8 PM"_SRVRL(ST

3pdate 3pdate 3pdate

3pdate

Menu8 PR&)$SS_S) $D3L$R )omp8 S!MPL$_PR&)$SS !dd 3pdate Page8 PR)SS!MPL$P"L+ Page8 PR)SS!MPL$P"L4 Page8 PR)SS!MPL$P"L< )omp8 0!TT(M("#S !dd 3pdate Page8 0!TR3")"TL )omp8 D!$M&"#R&3P !dd 3pdate Page8 D!$M&"#R&3P )omp8 D(ST"&D$_D$2("(T(&"S !dd 3pdate Page8 PR)SD(ST"&D$ Page8 PR)SD(ST"&D$; )omp8 :&0_D$2("(T(&"S !dd 3pdate Page8 :&0_D$2("(T(&" Page8 P!"$L_!"D_PR&)$SS_#R&3PS Page8 PR)S:&0)"TD(ST Page8 PR)S:&0M$SS!#$ Page8 PR)S:&0"&T(2* )omp8 PR)SR$)3RD$2" !dd 3pdate Page8 PR)SR$)3RD$2" Page8 PR)SR$)3R$5$MPT )omp8 PR&)$SS_D$2("(T(&"S !dd 3pdate Page8 P!"$L_TR!"S2$RS Page8 PR)SD$2")"TD(ST Page8 PR)SD$2""&T(2* Page8 PR)SD$2"&S4G,&PT Page8 PR&)$SS_D$2("(T(&"S Page8 PR&)$SS_D$2("(T(&"_&PT(&"S Page8 PR&)$SS_D$2("(T(&"_&V$RR(D$ )omp8 PR&)$SS_S$RV$RS !dd 3pdate Page8 S$RV$R)&"T$"T Page8 S$RV$RD!$M&" Page8 S$RV$R"&T(2* Page8 S$RV$R&PRT" Page8 S$RV$R_D$2("(T(&" )omp8 PR&)$SS_S*ST$M 3pdate Page8 PR)S)DM2(L$ Page8 PR)S&3TD$STT*P$LST Page8 PR)S&3TP3TS$TT("#S Page8 PR)SS*ST$MP3R#$ Page8 PR&)$SS_S*ST$M Page8 PSR2_2&LD$R_!DM )omp8 PR&)$SS_T*P$S !dd 3pdate Page8 PR)ST*P$D$2"&PT Page8 T*P$_D$2("(T(&" )omp8 S) $D3L$_:&0D$2" !dd 3pdate Page8 S) DLD$2" Page8 S) DL(T$M Page8 S) DL_RQST_L(ST Menu8 PT_)T( )omp8 )T(_!#$"T)&"2(# Page8 PT_)T(_!#$"T Page8 PT_)T(_!#$"T#3( Page8 PT_)T(_P"!#$"T )omp8 )T(_!#$"T("2& Page8 PT_)T(_!#$"T("2& )omp8 )T(_)&"2(#

!dd 3pdate 3pd!ll )orrect

3pdate !dd 3pdate )orrect

Page8 PT_)T(_)&"2(# Page8 PT_)T(_P")T( )omp8 )T(_D$M&&3T0 Page8 PT_)T(_D$M&&3T0&3" )omp8 )T(_M(S) Page8 PT_)T(_M(S) )omp8 )T(_Q3$3$)&"2(# Page8 PT_)T(_Q3$3$ Menu8 Q3$R* Page8 Menu8 Q3$R*_M!"!#$R )omp8 S) $DQ3$R* Page8 Q3$R*_R3"_)&"TR&L )omp8 S) $DQ3$R*; Page8 Q3$R*_R3"_)&"TR&L Page8 Q3$R*_R3"_52$R_7R)omp8 Q3$R*V($7$R Page8 QR*_V($7$R_SR) Page8 Q3$R*_V($7$R )omp8 Q3$R*_M!"!#$R Page8 PSTR$$V($7$R7RPage8 QR*_)R(T$R(! Page8 QR*_$5PR$SS(&"S Page8 QR*_2($LDS Page8 QR*_ !V("# Page8 QR*_PR&MPT Page8 QR*_Q3$R* Page8 QR*_R$)&RDS Page8 QR*_S$L$)T Page8 QR*_SQL Page8 Q3$R*_V($7$R Menu8 R$P&RT_0&&-S )omp8 DR(LLD&7"R$#(ST$R Page8 ()_DR(LL_L!*&3TS )omp8 ()_R$P&RT0&&Page8 ()_"VS0&&)omp8 ()_R3"_DR(LL Page8 ()_R3"_DR(LLD&7" )omp8 "VS_R$P&RT_R$Q3$ST Page8 "VS_R$P&RT_RQST Page8 "VS_R$P&RT_RQST4 Page8 "VS_RQST_03)P*_S0P Page8 "VS_RQST_$M!(L_S0P Page8 "VS_RQST_2(L$_S0P Page8 "VS_RQST_T$MPL_S0P Page8 "VS_RQST_7$0_S0P )omp8 "VS_S)&P$ Page8 "VS_S)&P$_D$2" Menu8 R$P&RT_M!"!#$R )omp8 )&"T$"T_L(ST Page8 )DM_)&"TL(ST Page8 )DM_)&"TL(ST_!R) Page8 PSR2_R$P&RTS_) R&" Page8 PSR2_R$P&RT_V($7$R Menu8 S$!R) )omp8 2(L$S*S)&LL Page8 S(D_2#7 Page8 S(D_7 !TT&("D$5 )omp8 TTP)&LL Page8 S(D_ #7 Page8 S(D_7 !TT&("D$5 )omp8 R$)&RD)&LL Page8 S(D_R#7

3pdate 3pdate !dd 3pdate

!dd 3pdate !dd 3pdate 3pdate 3pdate

3pdate !dd 3pdate !dd 3pdate !dd 3pdate

!dd 3pdate

3pdate

!dd 3pdate !dd 3pdate !dd 3pdate

Menu8 S$!R) !DM(" )omp8 !DM("(D5 Page8 S(!_!DM("(ST$R Menu8 S$T3P_ RMS )omp8 )S)_2("D_"!V Page8 )S)_2("D_"!V )omp8 M)R_)&"T$"T_!DM(" Page8 M)R_)&"T$"T_!DM(" )omp8 M)R_(2)_R$#(STR* Page8 M)R_(2)_R$#(STR* )omp8 M)R_7?_R$#SRV Page8 M)R_(2)_R$#(STR* Page8 M)R_7?_ST$P+ Page8 M)R_7?_ST$P; Page8 M)R_7?_ST$P4 )omp8 MT2_TR2_R$#(STR* Page8 MT2_TR2_R$#(STR* )omp8 MT2_7?_TR2 Page8 MT2_7?_ST$P+ Menu8 TR!"SL!T$ )omp8 P!"$L_T$5T_("Q Page8 P!"$L_T$5T_("Q )omp8 TS_!LL Page8 TS_!LL Page8 TS_MS#_D(SP )omp8 TS_PR&2(L$_("Q Page8 TS_PR&2(L$_("Q )omp8 TS_SR) _&"L* Page8 TS_MS#_D(SP Page8 TS_SR) _&"L* )omp8 TS_R3"_RPL) Page8 TS_R3"_RPL) )omp8 TS_R3"_SR) Page8 TS_R3"_SR) )omp8 TS_R3"_3"D& Page8 TS_R3"_3"D& )omp8 TR!"SL!T$_!$!PPL Page8 TR!"SL!T$_!$!PPL )omp8 TR!"SL!T$_03S("TLPage8 TR!"SL!T$_03S("TL)omp8 TR!"SL!T$_)MP("T2) Page8 TR!"SL!T$_)MP("T2) )omp8 TR!"SL!T$_)&MP"$"T Page8 TR!"SL!T$_)&MP"$"T )omp8 TR!"SL!T$_M$"3 Page8 TR!"SL!T$_M$"3S )omp8 TR!"SL!T$_M$"3(T$M Page8 TR!"SL!T$_M$"3(T$MS )omp8 TR!"SL!T$_MS#)!T Page8 TR!"SL!T$_MS#)!T )omp8 TR!"SL!T$_MS#D$2" Page8 TR!"SL!T$_MS#D$2" )omp8 TR!"SL!T$_P&RT!L Page8 TR!"SL!T$_P&RT!L )omp8 TR!"SL!T$_PR)SD$2" Page8 TR!"SL!T$_PR)SD$2" )omp8 TR!"SL!T$_Q3$R* Page8 TR!"SL!T$_Q3$R* )omp8 TR!"SL!T$_R$)&RDS Page8 TR!"SL!T$_R$)&RD )omp8 TS_&PR_D$2!3LTS Page8 TS_&PR_D$2!3LTS )omp8 TS_PR&2(L$ Page8 TS_PR&2(L$ )omp8 TS_R$)&RDS Page8 TS_R$)&RDS )omp8 TS_R$PL!)$

3pdate

3pdate 3pdate 3pdate 3pdate

3pdate 3pdate

3pdate 3pdate 3pdate 3pdate !dd 3pdate !dd 3pdate !dd 3pdate 3pdate 3pdate 3pdate 3pdate 3pdate 3pdate 3pdate 3pdate 3pdate 3pdate 3pdate 3pdate !dd 3pdate !dd 3pdate 3pdate 3pdate

Page8 TS_MS#_D(SP Page8 TS_R$PL!)$ )omp8 TS_3"D& Page8 TS_MS#_D(SP Page8 TS_3"D& Menu8 TR$$M!"!#$R )omp8 TR$$0!T) R$P&RTS Page8 PS0!T) R$P&RT )omp8 STR3)T3R$ Page8 PSTR$$STR)TD$2" Page8 PSTR$$STR)TD$TL Page8 PSTR$$STR)TL$VL Page8 PSTR$$STR)T"&D$ )omp8 TR$$M!("T$"!")$ Page8 PSTR$$M!("T Page8 PSTR$$STR)TM!("T Page8 PSTR$$V($7$R7R)omp8 (MP&RTTR$$ Page8 R3"_TR$$M&V$R_(MP )omp8 R3"TR$$!3D(TS Page8 R3"_TR$$_3T(L(T($S )omp8 TR$$M&V$R$5P&RT Page8 R3"_TR$$M&V$R_$5P )omp8 TR$$3T(L(T($S Page8 R3"_TR$$_3T(L(T($S )omp8 D$PT"&D$ Page8 D$PT_"&D$_T0L )omp8 TR$$_L$V$L_P(! Page8 PSTR$$M#R52$R Page8 TR$$_L$V$L_P(! )omp8 TR$$_L$V$L_P(!_; Page8 PSTR$$M#R52$R Page8 TR$$_L$V$L_P(!_; )omp8 TR$$_M!"!#$R_P(! Page8 PSTR$$M#R Page8 PSTR$$M#R52$R )omp8 TR$$_"&D$_P(! Page8 PSTR$$M#R52$R Page8 TR$$_"&D$_P(! )omp8 TR$$_"&D$_P(!_; Page8 PSTR$$M#R52$R Page8 TR$$_"&D$_P(!_; )omp8 TR$$_V($7$R_P(! Page8 PSTR$$M#R Page8 PSTR$$M#R52$R Menu8 3P#_D$2("$_D$2!3LTS )omp8 3P#_D!T!)&"V Page8 3P#_D!T!)&"V Menu8 3T(L(T($S )omp8 M!("T$"!")$_L&# Page8 M!("T$"!")$_L&# )omp8 M!("TL&#R$LL!0$L Page8 M!("TL&#R$LL!0$L )omp8 )&"V$RT_P!"$LS_T&_P!#$S Page8 ()&"V_R3")"TL+ Page8 ()&"V_R3")"TL; )omp8 ("T$R"!T(&"!L_2($LD_S(?$ Page8 ("TL_2LDS(?$_T0L )omp8 L&!D)!) $ Page8 R3"_L&!D)!) $ )omp8 P&RT!L_M$"3_(MP&RT Page8 P&RT!L_M$"3_$5P&RT )omp8 PT_R$PL!* Page8 PT_R$PL!* )omp8 R3"_!3DTR#S Page8 R3"_!3DTR#S )omp8 S*ST$M_!3D(T

3pdate

3pdate !dd 3pdate

3pdate

!dd 3pdate !dd 3pdate !dd 3pdate !dd 3pdate !dd 3pdate 3pd!ll )orrect !dd 3pdate 3pd!ll )orrect !dd 3pdate 3pd!ll )orrect !dd )orrect !dd 3pdate 3pd!ll )orrect !dd 3pdate 3pd!ll )orrect 3pdate

!dd 3pdate

3pdate 3pdate !dd 3pdate 3pdate !dd 3pdate 3pdate 3pdate !dd 3pdate !dd 3pdate

Page8 S*S!3D(T_D$2" )omp8 DDL_M&D$L_D$2!3LTS 3pdate Page8 DDL_M&D$L_D$2!3LTS )omp8 ("T$R"!T(&"!L_PR$2$R$")$S 3pdate Page8 ("T$R"!TL_PR$2 )omp8 M$"3(T$M+, 3pdate Page8 L!"#3!#$_P!#$ )omp8 M$R) !"T)!TT0L !dd 3pdate 3pd!ll )orrect Page8 M$R) !"T)!TT0L )omp8 M$R) !"T(D !dd 3pdate 3pd!ll )orrect Page8 M$R) !"T!PP!TTRS Page8 M$R) !"T!T " Page8 M$R) !"T0(P!RMS Page8 M$R) !"T)!T Page8 M$R) !"T(D )omp8 M$SS!#$_)!T!L&# !dd 3pdate Page8 M$SS!#$_)!T!L&# )omp8 P$&PL$T&&LS_&PT(&"S 3pdate Page8 PS&PT(&"S )omp8 P&RT!L_D$2("(T(&"S 3pdate Page8 P&RT!L_D$2("(T(&"S Page8 P&RT!L_D$2"_!DD Page8 P&RT!L_D$2"_D$L )omp8 PS!R) (V$_52$R 3pdate Page8 PS!R) (V$52$R )omp8 PST$ST_3T(L(T($S 3pdate Page8 PST$ST_3T(L(T($S )omp8 PS5L!TM!("T 3pdate 3pd!ll )orrect Page8 PS5L!TM!("T )omp8 R$)&RD_)R&SS_R$2$R$")$ 3pdate Page8 P!#$S_V($7S_S$!R) _R$)&RDS Page8 PR&MPTS_D$2!3LTS_P$&PL$)&D$ )omp8 R$)&RD_#R&3P !dd 3pdate Page8 R$)_#R&3P_T!0L$ )omp8 S(#"&"PP)_P!#$_)&M 3pdate Page8 S(#"&"PP)_P!#$ )omp8 STR("#S_T!0L$ !dd 3pdate Page8 STR("#S_T!0L$ )omp8 T!0L$S$T_)&"TR&L !dd 3pdate Page8 S$T_)"TRL_T!0L$+ Page8 S$T_)"TRL_T!0L$; )omp8 T!0L$S$T_(D !dd 3pdate Page8 S$T(D_T!0L$ )omp8 T!0L$SP!)$_M!"!#$M$"T !dd 3pdate Page8 PST0LSP)DDL Page8 PST0LSP)D$2" Page8 PST0LSP)L(ST )omp8 T!0L$SP!)$_3T(L(T($S 3pdate Page8 PST0LSP)D$2" )omp8 T(M$?&"$P"L#RP 3pdate Page8 DSTD!T! Page8 T(M$?&"$D!T! )omp8 TR!)$_P!"$L 3pdate Page8 P!"$L_TR!)$ )omp8 TR!)$_P$&PL$)&D$ 3pdate Page8 P$&PL$)&D$_TR!)$ )omp8 TR!)$_SQL 3pdate Page8 SQL_TR!)$ )omp8 TR(##$R!3D(T !dd 3pdate Page8 TR(#!3DP"L )omp8 3RL_T!0L$ !dd 3pdate Page8 3RL_T!0L$ )omp8 5MLL("-_P"L#RP !dd 3pdate Page8 5MLL("-_P!#$ Menu8 7&R-2L&7_!DM("(STR!T&R )omp8 !PPR&V!L_("ST!")$_L&# Page8 !PPR&V!L_("ST!")$ )omp8 R&L$_3S$R_S$!R) Page8 )R(T$R(! Page8 3S$R_L(ST

3pdate 3pdate

Page8 7&R)omp8 7L_R(M$RR Page8 7L_R(M$RR )omp8 7&R-L(ST_M&"(T&R Page8 S$!R) _)R(T$R(! Page8 7&R-L(ST_$"TR($S )omp8 7&R-L(ST_M&"(T&R_V(!_)&"T$ Page8 S$!R) _)R(T$R(! Page8 7&R-L(ST_$"TR($S )omp8 R$P&RT_D$L(V$R*_D0!# Page8 D$L(V$R* )omp8 T(M$&3T_$5)$PT(&"S Page8 R3" )omp8 7L_R(MR$SP Page8 7L_R(M_R3"_)"TL )omp8 7L_T$MPL_D$L$T$ Page8 7L_T$MPL_D$L$T$ )omp8 7&R-L(ST_!V$R!#$S Page8 R3" )omp8 7&R-L(ST_M&"(T&R_D0!# Page8 "&T(2()!T(&" )omp8 7&R-L(ST_R$PL()!T$ Page8 72_7L_R$PL()!T$ )omp8 7&R-L(ST_T&T!LS Page8 R3" )omp8 7&R-L(ST_V&L3M$_M&"(T&R Page8 R3" )omp8 !PPR&V!L_ST$P_M!("T Page8 !PPR_ST$P_M!("T )omp8 "&T(2()!T(&" Page8 PT_72_"&T(2* )omp8 R$)$(V$_"&T(2()!T(&" Page8 PT_72_"&T(2*_R$)V )omp8 R&3T$_)&"TR&L_PR&2(L$ Page8 PR&2(L$ )omp8 R&3T$_)&"TR&L_T*P$ Page8 T*P$ )omp8 72_T(M$&3T_D!T! Page8 72_T(M$&3T_,+ )omp8 7&R-2L&7_S*ST$M_D$2!3LTS Page8 D$2!3LTS )omp8 7&R-L(ST_$"TR*_3PD!T$ Page8 3PD!T$ )omp8 7&R-L(ST_M&"(T&R_"&T(2()!T Page8 "&T(2* )omp8 7&R-L(ST_M&"(T&R_S$T3P Page8 S$T3P )omp8 7&R-L(ST_&R_$M!(L_D$2!3LT_ Page8 D$2("(T(&" )omp8 7&R-L(ST_&R_$M!(L_M$SS!#$ Page8 M$SS!#$ Page8 72_7&R)omp8 7&R-L(ST_&R_$M!(L_R$PL* Page8 2&R7!RD_M$SS!#$ Page8 R$)$(V$_M$SS!#$ Page8 R$PL*_T&_M$SS!#$ Page8 72_7&RMenu8 7&R-L(ST )omp8 7&R-L(ST Page8 7&R-L(ST )omp8 7&R-L(ST_D$T!(LS Page8 7&R-L(ST_D$T!(LS Mo'ile Pa(e )3RR$")*_)D_MP

3pdate 3pdate 3pdate !dd 3pdate )orrect !dd 3pdate !dd 3pdate 3pdate !dd 3pdate !dd 3pdate )orrect !dd 3pdate !dd 3pdate !dd 3pdate )orrect 3pdate 3pdate !dd 3pdate !dd 3pdate 3pdate 3pdate 3pdate 3pdate !dd 3pdate !dd 3pdate !dd 3pdate 3pdate

3pdate 3pdate

Per0i##io" Li#$: LMLELM(3((

Description Time&ut "av% omepage Start !ppServer $mail Pass'ord Start ,,8,, ,,8,, ,,8,, ,,8,, ,,8,, ,,8,, ,,8,, End ;486G ;486G ;486G ;486G ;486G ;486G ;486G

Learner Self Service , "o "o

Si(n3on Day Sunday Monday Tuesday 7ednesday Thursday 2riday Saturday

%e' Li'rarie0 Lib8 7$0L(0_$&!7 $&!7_!P_03(LD$R%2ield2ormula%(Script_$&!7_03(LD$R $&!7_!P_03(LD$R%2ield2ormula%(Script_$&!7_03(LD$R_SV# $&!7_M&"_!D &)%2ield2ormula%(Script_!dhoc_$ntry $&!7_M&"_!D &)%2ield2ormula%(Script_!dhoc_2orm_Proc $&!7_M&"_!D &)%2ield2ormula%(Script_!dhoc_LooHup $&!7_M&"_!PPRS%2ield2ormula%(Script_approver(nfoLooHup $&!7_M&"_!PPRS%2ield2ormula%iScript_SetModalDomain Lib8 7$0L(0_LM_L$M LM_(S)R(PT%2ield2ormula%(Script_D(SP_;,,<M$"3_2R!M$S$T LM_(S)R(PT%2ield2ormula%(Script_D(SP_;,,<_D!T!_2R!M$ LM_(S)R(PT%2ield2ormula%(Script_D(SP_;,,<_M$"3_2R!M$ LM_(S)R(PT%2ield2ormula%(Script_D(SP_;,,<_3(_2R!M$ LM_(S)R(PT%2ield2ormula%(Script_D(SP_!())_2R!M$S$T LM_(S)R(PT%2ield2ormula%(Script_D(SP_!())_M$"3 LM_(S)R(PT%2ield2ormula%(Script_D(SP_M$"3_2R!M$S$T LM_(S)R(PT%2ield2ormula%(Script_D(SP_S)&_D!T!_2R!M$ LM_(S)R(PT%2ield2ormula%(Script_D(SP_S)&_M$"3_2R!M$ LM_(S)R(PT%2ield2ormula%(Script_ !)P_)&MM LM_(S)R(PT%2ield2ormula%(Script_-$$P!L(V$ LM_(S)R(PT%2ield2ormula%(Script_P$RS(ST_;,,<_D!T! LM_(S)R(PT%2ield2ormula%(Script_P$RS(ST_S)&_D!T! Lib8 7$0L(0_PT!2 PT!2!7_!P_03(LD$R%2ield2ormula%(Script_PT!2_03(LD$R PT!2!7_!P_03(LD$R%2ield2ormula%(Script_PT!2_03(LD$R_SV# PT!2!7_M&"_!D &)%2ield2ormula%(Script_!dhoc_$ntry PT!2!7_M&"_!D &)%2ield2ormula%(Script_!dhoc_2orm_Proc PT!2!7_M&"_!D &)%2ield2ormula%(Script_!dhoc_LooHup PT!2!7_M&"_!PPRS%2ield2ormula%(Script_approver(nfoLooHup PT!2!7_M&"_!PPRS%2ield2ormula%iScript_SetModalDomain uthoriNed Menu Menu8 LM_03S("$SS_&0:$)TS )omp8 LM_)!L$"D!R_V($7 Page8 LM_D!(L*_V($7 Page8 LM_M&"T L*_V($7 Page8 LM_7$$-L*_V($7 Menu8 LM_)3RR()3L3M )omp8 LM_)$RT_$SS_ST!T3S Page8 LM_)$RT_ST!T3S Page8 LM_LR"R_R$)$RT Menu8 LM_$"RLMT (#m+O LM_AD1(_UPD Pa4eO LM_AD1(_(I_P3 Pa4eO LM_AD1(_LRN_P3 ction0 3pdate

2ull 2ull 2ull 2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull 2ull 2ull 2ull 2ull 2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull 2ull 2ull

3pdate

A$$ U+$ate

Pa4eO LM_AD1(_OB@_P3 Pa4eO LM_AD1(_PR3_L,P Pa4eO LM_AD1(_UPD_P3 Pa4eO LM_ADM_AD1(_DTLS )omp8 LM_LR"_!DD_!D ) Page8 LM_!D )_)(_P# Page8 LM_!D )_LR"_P# Page8 LM_!D )_&0:_P# Page8 LM_!D )_PR#_L-P Page8 LM_S$L_!D )_T*P$ Menu8 LM_LR"_R$Q )omp8 LM_SS_LR"_R$Q Page8 LM_)(_S$!R) Page8 LM_L$!R"_!)T_DTL Page8 LM_L$!R"_(TM_DTL Page8 LM_SS_LR"_R$Q Page8 LM_SS_LR"_R$Q_)&"2 Menu8 LM_SS_L$!R"("# )omp8 LM_0R&7S$_L$!R"$R Page8 LM_0R&7S$ Page8 LM_0R&7S$; Page8 LM_L$!R"_!)T_DTL Page8 LM_L$!R"_(TM_DTL )omp8 LM_LPL" Page8 LM_LPL" )omp8 LM_LPL"_DTL Page8 LM_LPL"_DTL )omp8 LM_LPL"_S$!R) Page8 LM_)!TL#_SR) _D2LT Page8 LM_)!TL#_SR) _T(PS Page8 LM_L$!R"_!)T_DTL Page8 LM_L$!R"_(TM_DTL Page8 LM_S$!R) )omp8 LM_S$!R) Page8 LM_)!TL#_SR) _D2LT Page8 LM_)!TL#_SR) _T(PS Page8 LM_L$!R"_!)T_DTL Page8 LM_L$!R"_(TM_DTL Page8 LM_S$!R) )omp8 LM_SS_!)T_PR&# Page8 LM_!)T_PR&# Page8 LM_L)_!S#"_PR&# Page8 LM_L)_$S(#"_P# Page8 LM_L)_L7)_PR&# Page8 LM_L)_S$S_PR&# Page8 LM_L)_7$0_PR&# )omp8 LM_SS_L$!R"("#_3( Page8 $&_D$L_)&"2(RM Page8 LM_)!TL#_SR) _D2LT Page8 LM_)!TL#_SR) _T(PS Page8 LM_)3RR$"T_LR"# Page8 LM_L$!R"("#_ M Page8 LM_L$!R"_!)T_DTL Page8 LM_L$!R"_(TM_DTL )omp8 LM_TR!"S2$R_LP Page8 LM_TR!"S2$R_LP )omp8 LM_TR!"S2$R_S$T Page8 LM_TR!"S2$R_S$T )omp8 LM_TR!"S2$R_T(PS Page8 LM_TR!"S2$R_T(PS Menu8 LM_S3RV$* )omp8 LM_S3RV$* Page8 LM_S3RV$*

!dd

!dd 3pdate

3pdate

3pdate 3pdate 3pdate

3pdate

3pdate

3pdate

3pdate 3pdate 3pdate

3pdate )orrect

Per0i##io" Li#$: LMLELM'(1(

Description Time&ut "av% omepage Start !ppServer $mail Pass'ord Start ,,8,, ,,8,, ,,8,, ,,8,, ,,8,, ,,8,, ,,8,, End ;486G ;486G ;486G ;486G ;486G ;486G ;486G

Standard )omponent (nterfaces , "o "o

Si(n3on Day Sunday Monday Tuesday 7ednesday Thursday 2riday Saturday

Component !nterface0 "ame8 )(_ )R_(0_MS#_03(LD$R )ancel )reate 2ind #et Save "ame8 )(_ )R_(0_&P$R!T(&"_V$R )ancel )reate 2ind #et Save "ame8 )(_ )R_(0_S$RV()$D$2" )ancel )reate 2ind #et Save NameO (I_1(R_IB_SER I(EDE-N_858 (a"cel (reate -%"$ 3et Sa*e "ame8 )(_ )R_(0_S$RV()$&P$R!T(&" )ancel )reate 2ind #et Save "ame8 )(_ )R_(0_SV)S$T3P )ancel 2ind #et Save "ame8 )(_ )R_(0_7S_!))$SS )ancel 2ind #et Save "ame8 RS_(0_!)L_7S_!))$SS

2ull 2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull

-ull -ull -ull -ull -ull

2ull 2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull

)ancel 2ind #et Save "ame8 RS_(0_"&D$ )ancel )reate 2ind #et Save "ame8 RS_(0_"&D$TR5 )ancel )reate 2ind #et Save "ame8 RS_(0_"&D$TR5_><F )ancel )reate 2ind #et Save "ame8 RS_(0_"&D$_><F )ancel )reate 2ind #et Save "ame8 RS_(0_R&3T("#D$2" )ancel )reate 2ind #et (nvoHeSaveProcessing Save "ame8 RS_(0_S$RV()$ )ancel )reate 2ind #et (nvoHeSaveProcessing Save "ame8 RS_(0_S$RV()$D$2" )ancel )reate 2ind #et Save NameO 1RS_IB_SER I(EDE-N_858 (a"cel (reate -%"$ 3et Sa*e NameO 1RS_IB_SER I(E_858 (a"cel (reate

2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull

-ull -ull -ull -ull -ull

-ull -ull

-%"$ 3et I"*#?eSa*ePr#ce))%"4 Sa*e "ame8 (0_S$RV()$_&P$R!T(&" )ancel )reate 2ind #et (nvoHeSaveProcessing Save "ame8 LM_!))&3"T_) !RT2($LD_S*") )ancel )reate 2ind #et Save "ame8 LM_03S_3"(T_ R_S*") )ancel )reate 2ind #et Save "ame8 LM_)L!SS_)2_S*") )ancel )reate 2ind #et Save "ame8 LM_)&MP$T$")*_S*")+ )ancel )reate 2ind #et Save "ame8 LM_23"D_)2_S*") )ancel )reate 2ind #et Save "ame8 LM_:&0)&D$_S*") )ancel )reate 2ind #et Save "ame8 LM_P$RS&"_)&MP$T$")*_S*") )ancel )reate 2ind #et Save "ame8 LM_P$RS&"_)&MP_S*") )ancel )reate 2ind

-ull -ull -ull -ull

2ull 2ull 2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull

2ull 2ull 2ull

#et Save "ame8 LM_P&S(T(&"_S*") )ancel )reate 2ind #et Save "ame8 LM_PR&#R!M_)2_S*") )ancel )reate 2ind #et Save "ame8 LM_PR&:$)T_S*") )ancel )reate 2ind #et Save "ame8 LM_R!T("#MDL_S*") )ancel )reate 2ind #et Save "ame8 LM_R&L$_)&MP_S*") )ancel )reate 2ind #et Save

2ull 2ull

2ull 2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull

Per0i##io" Li#$: LMLELM'(5(

Description Time&ut "av% omepage Start !ppServer $mail Pass'ord Start ,,8,, ,,8,, ,,8,, ,,8,, ,,8,, ,,8,, ,,8,, End ;486G ;486G ;486G ;486G ;486G ;486G ;486G

Standard Message )hannel , "o "o

Si(n3on Day Sunday Monday Tuesday 7ednesday Thursday 2riday Saturday

Component !nterface0 "ame8 )(_ )R_(0_MS#_03(LD$R )ancel )reate 2ind #et Save "ame8 RS_(0_!)L_7S_!))$SS

2ull 2ull 2ull 2ull 2ull

)ancel 2ind #et Save "ame8 RS_(0_"&D$ )ancel )reate 2ind #et Save "ame8 RS_(0_"&D$TR5 )ancel )reate 2ind #et Save "ame8 RS_(0_"&D$TR5_><F )ancel )reate 2ind #et Save "ame8 RS_(0_R&3T("#D$2" )ancel )reate 2ind #et (nvoHeSaveProcessing Save "ame8 RS_(0_S$RV()$ )ancel )reate 2ind #et (nvoHeSaveProcessing Save "ame8 RS_(0_S$RV()$D$2" )ancel )reate 2ind #et Save NameO 1RS_IB_SER I(EDE-N_858 (a"cel (reate -%"$ 3et Sa*e NameO 1RS_IB_SER I(E_858 (a"cel (reate -%"$ 3et I"*#?eSa*ePr#ce))%"4 Sa*e Monitor Channel )&M0&_)2_$D(T cce00 2ull

2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull 2ull

2ull 2ull 2ull 2ull 2ull

-ull -ull -ull -ull -ull

-ull -ull -ull -ull -ull -ull

D(2_0!L!")$ $"T$RPR(S$_S$T3P #L_S$T3P M)R_S&!P_) !""$L RS_P( R_S$T3P LM_!))T#_$"TR* LM_L$!R"$R_&0:$)T(V$S LM_L$L7_MS#_) !""$L P$RS&"_D!T! P$RS&"_S$T3P P$RS&"_T(M$ PR&:$)TS_S$T3P R!T("#_M&D$L ST3D$"T_)&ST T0LS$T_)&"TR&L TR!("("#_ &3R

2ull 2ull 2ull 2ull 2ull 2ull 2ull 2ull 2ull 2ull 2ull 2ull 2ull 2ull 2ull 2ull 2ull

Vous aimerez peut-être aussi