Sie sind auf Seite 1von 644

[DERIVED_SSR_FL.SSR_CL_DTLS_LFF.

FieldChange]
import SSR_MANAGE_CLASSES:UTIL:ClassInformation;

ComponentLife SSR_MANAGE_CLASSES:UTIL:ClassInformation &classInfo;

Evaluate %Component
When Component.SSR_CRSE_INFO_FL;
&classInfo.DERIVED_SSR_FL__SSR_CL_DTLS_LFF_FieldChange();
End-Evaluate;

[DERIVED_SSR_FL.SSR_CL_DTLS_OPT.FieldChange]
import SSR_MANAGE_CLASSES:UTIL:ClassInformation;

ComponentLife SSR_MANAGE_CLASSES:UTIL:ClassInformation &classInfo;

Evaluate %Component
When Component.SSR_CRSE_INFO_FL;
&classInfo.DERIVED_SSR_FL__SSR_CL_DTLS_OPT_FieldChange();
End-Evaluate;

[DERIVED_SSR_FL.SSR_INSTR_FL.FieldChange]
import SSR_MANAGE_CLASSES:UTIL:ClassInformation;

ComponentLife SSR_MANAGE_CLASSES:UTIL:ClassInformation &classInfo;

Evaluate %Component
When Component.SSR_CRSE_INFO_FL;
&classInfo.DERIVED_SSR_FL__SSR_INSTR_FL_FieldChange();
End-Evaluate;

[DERIVED_SSR_FL.SSR_INSTR_NME_FL.FieldChange]
import SSR_MANAGE_CLASSES:UTIL:ClassInformation;

ComponentLife SSR_MANAGE_CLASSES:UTIL:ClassInformation &classInfo;

Evaluate %Component
When Component.SSR_CRSE_INFO_FL;
&classInfo.DERIVED_SSR_FL__SSR_INSTR_NME_FL_FieldChange();
End-Evaluate;

[SSR_CLSRCH_FLDS.PTS_SHOWFACETSML.FieldChange]
import PTS_SEARCH:BaseSearch;
import PTS_SEARCH:SesSearch;

import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_ES_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_ES_FL &objClassSearchES;

ComponentLife string &sSrchRecName;


ComponentLife PTS_SEARCH:BaseSearch &srch;
ComponentLife PTS_SEARCH:SesSearch &srchSes;
Local string &TEMP = &srch.sSrchPageName;

Local string &PopupOptions = "bFullScreen@1";


&srch.SetSearchPageName("SSR_FCTS_PHONE");
REM AD i2 x Local any &rc = DoModalPopup(&PopupOptions, " ", False, False,
Page.SSR_FCTS_PHONE_SCF, " ", - 1, - 1);
REM AD i2-s;
Local any &rc = DoModalPopup(&PopupOptions, " ", False, False,
Page.SSR_FCTS_PHONE_SCF, MsgGetText(14770, 880, "Message not found."), - 1, - 1);
REM AD i2-e;

&srch.SetSearchPageName(&TEMP);
&srch.bInFacetModal = False;

If &srch.SearchType = "S" Then


&srch.refreshResults();
Else
&any = &srch.DoSearch();
End-If;

&objClassSearchES.SortFilterResults(" ");

[SSR_DER1_MTG_FL.SSR_MTGINFO_DATA.FieldChange]
import SSR_MANAGE_CLASSES:UTIL:ClassInformation;

ComponentLife SSR_MANAGE_CLASSES:UTIL:ClassInformation &classInfo;

Evaluate %Component
When Component.SSR_CRSE_INFO_FL;
&classInfo.SSR_DER1_MTG_FL__SSR_MTGINFO_DATA_FieldChange();
End-Evaluate;

[SSR_FCT_CAF_ATT.SSR_REFRESH.SavePreChange]
REM AD i2-s;
<*
import SSR_MANAGE_CLASSES:SEARCH:RefreshListOfValues;

ComponentLife SSR_MANAGE_CLASSES:SEARCH:RefreshListOfValues &RefreshLOV;

&RefreshLOV = create SSR_MANAGE_CLASSES:SEARCH:RefreshListOfValues();

Local Rowset &rs = GetLevel0()(1).GetRowset(Scroll.SSR_FCT_CAF_ATT);


rem ag Get Grid Row Value;
Local Record &recCAF = GetRow().SSR_FCT_CAF_ATT;
Local number &nSeqNum = &recCAF.SCC_CAF_ATTR_SEQ.Value;
Local string &sAttribName = &recCAF.SCC_CAF_ATTRIB_NM.Value;
Local string &sRefresh = &recCAF.SSR_REFRESH.Value;

If &sRefresh = "Y" Then


rem &RefreshLOV.PreProcCleanUp(&nSeqNum);
&RefreshLOV.RefreshLOV(&nSeqNum, &sAttribName);
End-If;
REM AD i2-e; *>

[SSR_CLASSDTL_SCF.Activate]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_DROP_SELECT_FL;
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_SELECT_FL;
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL;
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;
import SSR_MANAGE_CLASSES:UTIL:ClassInformation;
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL;
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_ALTCLS_FL;
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_SUBMIT_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_DROP_SELECT_FL
&oSelectClassesToDrop;
ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_SELECT_FL
&oReviewClassSelection;
ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL &objManageClasses;
ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;
ComponentLife SSR_MANAGE_CLASSES:UTIL:ClassInformation &classInfo;
ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL &objEditClasses;
ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_ALTCLS_FL
&objEditAltClasses;
ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_SUBMIT_FL
&objEditSubmitClasses;

Evaluate %Component
When Component.SSR_DROP_SELECT_FL
&oSelectClassesToDrop.SSR_CLASSDTL_SCF_Activate();
Break;

When Component.SSR_COMPONENT_FL
&objManageClasses.SSR_CLASSDTL_SCF_Activate();
Break;

When Component.SSR_SHOP_CART_FL
&objShopCart.SSR_CLASSDTL_SCF_Activate();
Break;

When Component.SSR_CRSE_INFO_FL;
&classInfo.SSR_CLASSDTL_SCF_Activate();
Break;

When Component.SSR_ENRL_SELECT_FL
&oReviewClassSelection.SSR_CLASSDTL_SCF_Activate();
Break;

When Component.SSR_EDIT_CLASS_FL
&objEditClasses.SSR_CLASSDTL_SCF_Activate();
Break;

When Component.SSR_EDIT_ALTCLS_FL
&objEditAltClasses.SSR_CLASSDTL_SCF_Activate();
Break;

When Component.SSR_EDIT_REVIEW_FL
&objEditSubmitClasses.SSR_CLASSDTL_SCF_Activate();
Break;

End-Evaluate;

[SSR_CLSDTL_LF_SCF.Activate]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL;
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_DROP_SELECT_FL;
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_SELECT_FL;
import SSR_MANAGE_CLASSES:UTIL:ClassInformation;
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL;
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_ALTCLS_FL;
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_SUBMIT_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;


ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL &objManageClasses;
ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_DROP_SELECT_FL
&oSelectClassesToDrop;
ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_SELECT_FL
&oReviewClassSelection;
ComponentLife SSR_MANAGE_CLASSES:UTIL:ClassInformation &classInfo;
ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL &objEditClasses;
ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_ALTCLS_FL
&objEditAltClasses;
ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_SUBMIT_FL
&objEditSubmitClasses;

Evaluate %Component
When Component.SSR_COMPONENT_FL
&objManageClasses.SSR_CLSDTL_LF_SCF__Activate();
Break;

When Component.SSR_SHOP_CART_FL
&objShopCart.SSR_CLSDTL_LF_SCF__Activate();
Break;

When Component.SSR_DROP_SELECT_FL
&oSelectClassesToDrop.SSR_CLSDTL_LF_SCF__Activate();
Break;

When Component.SSR_ENRL_SELECT_FL
&oReviewClassSelection.SSR_CLSDTL_LF_SCF__Activate();
Break;

When Component.SSR_EDIT_CLASS_FL
&objEditClasses.SSR_CLSDTL_LF_SCF__Activate();
Break;

When Component.SSR_EDIT_ALTCLS_FL
&objEditAltClasses.SSR_CLSDTL_LF_SCF__Activate();
Break;

When Component.SSR_CRSE_INFO_FL;
&classInfo.SSR_CLSDTL_LF_SCF_Activate();
Break;

When Component.SSR_EDIT_REVIEW_FL
&objEditSubmitClasses.SSR_CLSDTL_LF_SCF__Activate();
Break;
End-Evaluate;

[SSR_CLSRCH_ES_FL.Activate]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_ES_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_ES_FL &objClassSearchES;

&objClassSearchES.SSR_CLSRCH_ES_FL_Activate();

[SSR_CLSRCH_MAIN_FL.Activate]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_MAIN_FL;
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SWAP_CLSRCH_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_MAIN_FL &objClassSearch;


ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SWAP_CLSRCH_FL
&oSwapClasses_ClassSearch;

Evaluate %Component
When Component.SSR_CLSRCH_MAIN_FL
&objClassSearch.SSR_CLSRCH_MAIN_FL_Activate();
Break;

When Component.SSR_SWAP_CLSRCH_FL
&oSwapClasses_ClassSearch.SSR_CLSRCH_MAIN_FL_Activate();
Break;

End-Evaluate;

[SSR_CLS_PREF_SCF.Activate]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.SSR_CLS_PREF_SCF_Activate();

[SSR_CRSE_DTL_FL.Activate]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CRSE_DTL_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_CRSE_DTL_FL &oCourseDetails;

&oCourseDetails.SSR_CRSE_DTL_FL_Activate();

[SSR_CRSE_INFO_FL.Activate]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CRSE_INFO_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_CRSE_INFO_FL &objCourseInfo;

&objCourseInfo.SSR_CRSE_INFO_FL_Activate();

[SSR_DROP_CONFRM_FL.Activate]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_DROP_CLASS_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_DROP_CLASS_FL &oDropClasses;


&oDropClasses.SSR_DROP_CONFRM_FL_Activate();

[SSR_DROP_REVIEW_FL.Activate]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_DROP_REVIEW_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_DROP_REVIEW_FL
&oReviewClassesToDrop;

&oReviewClassesToDrop.SSR_DROP_REVIEW_FL_Activate();

[SSR_DROP_SELECT_FL.Activate]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_DROP_SELECT_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_DROP_SELECT_FL
&oSelectClassesToDrop;

&oSelectClassesToDrop.SSR_DROP_SELECT_FL_Activate();

[SSR_DROP_TERM_FL.Activate]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_DROP_CLASS_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_DROP_CLASS_FL &oDropClasses;

&oDropClasses.SSR_DROP_TERM_FL_Activate();

[SSR_EDIT_SUBMIT_FL.Activate]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_SUBMIT_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_SUBMIT_FL
&objEditSubmitClasses;

&objEditSubmitClasses.SSR_EDIT_SUBMIT_FL_Activate();

[SSR_EDIT_TERM_FL.Activate]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL &objEditClasses;

&objEditClasses.SSR_EDIT_TERM_FL_Activate();

[SSR_ED_ALTCLS_FL.Activate]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_ALTCLS_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_ALTCLS_FL
&objEditAltClasses;

&objEditAltClasses.SSR_ED_ALTCLS_FL_Activate();
[SSR_ED_CLASS_FL.Activate]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL &objEditClasses;

&objEditClasses.SSR_EDIT_SELECT_FL_Activate();

[SSR_ED_PREF_FL.Activate]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_CLSPRF_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_CLSPRF_FL
&objEditPrefClasses;

&objEditPrefClasses.SSR_ED_PREF_FL_Activate();

[SSR_ENRL_ACAR_FL.Activate]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_ACAR_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_ACAR_FL
&oSelectAcademicCareer;

&oSelectAcademicCareer.SSR_ENRL_ACAR_FL_Activate();

[SSR_ENRL_CART_FL.Activate]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_CART_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_CART_FL
&oEnrollOrAddToCart;

&oEnrollOrAddToCart.SSR_ENRL_CART_FL_Activate();

[SSR_ENRL_CONFRM_FL.Activate]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_MAIN_FL;
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SWAP_CLASS_FL;
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;


ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_MAIN_FL &objClassSearch;
ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SWAP_CLASS_FL &oSwapClasses;
ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL &objEditClasses;

Evaluate %Component
When Component.SSR_SHOP_CART_FL
&objShopCart.SSR_ENRL_CONFRM_FL_Activate();
Break;

When Component.SSR_CLSRCH_MAIN_FL
&objClassSearch.SSR_ENRL_CONFRM_FL_Activate();
Break;
When Component.SSR_SWAP_CLASS_FL
&oSwapClasses.SSR_ENRL_CONFRM_FL_Activate();
Break;

When Component.SSR_EDIT_CLASS_FL
&objEditClasses.SSR_ENRL_CONFRM_FL_Activate();
Break;

End-Evaluate;

[SSR_ENRL_DL_SCF.Activate]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL &objManageClasses;

&objManageClasses.SSR_ENRL_DL_SCF__Activate();

[SSR_ENRL_PREF_FL.Activate]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_PREF_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_PREF_FL
&oReviewEnrollmentPreferences;

&oReviewEnrollmentPreferences.SSR_ENRL_PREF_FL_Activate();

[SSR_ENRL_SELECT_FL.Activate]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_SELECT_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_SELECT_FL
&oReviewClassSelection;

&oReviewClassSelection.SSR_ENRL_SELECT_FL_Activate();

[SSR_ENRL_SUBMIT_FL.Activate]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_SUBMIT_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_SUBMIT_FL
&oReviewAndSubmit;

&oReviewAndSubmit.SSR_ENRL_SUBMIT_FL_Activate();

[SSR_FCTS_PHONE_SCF.Activate]
import PTS_SEARCH:BaseSearch;
import PTS_NUI:FacetNode;

REM AD i2-s;
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_ES_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_ES_FL &objClassSearchES;


REM AD i2-e;
ComponentLife PTS_SEARCH:BaseSearch &srch;

ComponentLife Record &c_SrchRec;

&srch.bInFacetModal = True;
&srch.bShowFiltersSubPageExists = False;

If &srch.BreadCrumb <> Null And


&srch.BreadCrumb.BreadCrumbIndex = 0 Then
&srch.BreadCrumb.Hide();
Else
If Not &srch.bViewerMode And
&srch.SearchType <> "R" Then
&srch.BreadCrumb.Clear();
For &i = 1 To &srch.BreadCrumbsApplied.Len
&srch.BreadCrumb.Add(&srch.BreadCrumbsApplied [&i].Name,
&srch.BreadCrumbsApplied [&i].Path, &srch.BreadCrumbsApplied [&i].Value,
&srch.BreadCrumbsApplied [&i].DisplayValue, False);
End-For;
End-If;
End-If;
&srch.fillFacetArea();

PTS_SRCH.PTS_BREADCRUMB_GB.SetGroupletMOptions("sStyle@ps_popup-
menu;bAutoClose@1;bTail@1;bMask@1;sMaskStyle@ps_masktrans;bVertical@1;bHeader@0;");

REM AD r1-s;
&objClassSearchES.ManipulateFacetRow(1, 1, 1, Null, "N");
REM AD r1-e;

[SSR_HEADER_SBF.Activate]
<*import SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL &objManageClasses;

&objManageClasses.SSR_HEADER_SBF_Activate();*>

[SSR_INFO_ICON_SCF.Activate]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_PREF_FL;
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_CLSPRF_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;


ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_PREF_FL
&oReviewEnrollmentPreferences;
ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_CLSPRF_FL
&objEditPrefClasses;

Evaluate %Component
When Component.SSR_SHOP_CART_FL
&objShopCart.SSR_INFO_ICON_SCF_Activate();
Break;

When Component.SSR_ENRL_PREF_FL
&oReviewEnrollmentPreferences.SSR_INFO_ICON_SCF_Activate();
Break;

When Component.SSR_EDIT_CLSPRF_FL
&objEditPrefClasses.SSR_INFO_ICON_SCF_Activate();
Break;

End-Evaluate;

[SSR_INSTDTL_LF_SCF.Activate]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL;
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_DROP_SELECT_FL;
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_SELECT_FL;
import SSR_MANAGE_CLASSES:UTIL:ClassInformation;
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL;
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_ALTCLS_FL;
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_SUBMIT_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL &objManageClasses;


ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;
ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_DROP_SELECT_FL
&oSelectClassesToDrop;
ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_SELECT_FL
&oReviewClassSelection;
ComponentLife SSR_MANAGE_CLASSES:UTIL:ClassInformation &classInfo;
ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL &objEditClasses;
ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_ALTCLS_FL
&objEditAltClasses;
ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_SUBMIT_FL
&objEditSubmitClasses;

Evaluate %Component
When Component.SSR_COMPONENT_FL
&objManageClasses.SSR_INSTDTL_LF_SCF_Activate();
Break;

When Component.SSR_SHOP_CART_FL
&objShopCart.SSR_INSTDTL_LF_SCF_Activate();
Break;

When Component.SSR_ENRL_SELECT_FL
&oReviewClassSelection.SSR_INSTDTL_LF_SCF_Activate();
Break;

When Component.SSR_DROP_SELECT_FL
&oSelectClassesToDrop.SSR_INSTDTL_LF_SCF_Activate();
Break;

When Component.SSR_CRSE_INFO_FL
&classInfo.SSR_INSTDTL_LF_SCF_Activate();
Break;

When Component.SSR_EDIT_CLASS_FL
&objEditClasses.SSR_INSTDTL_LF_SCF_Activate();
Break;

When Component.SSR_EDIT_ALTCLS_FL
&objEditAltClasses.SSR_INSTDTL_LF_SCF_Activate();
Break;

When Component.SSR_EDIT_REVIEW_FL
&objEditSubmitClasses.SSR_INSTDTL_LF_SCF_Activate();
Break;

End-Evaluate;

[SSR_INSTRDTL_SCF.Activate]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL;
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_DROP_SELECT_FL;
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_SELECT_FL;
import SSR_MANAGE_CLASSES:UTIL:ClassInformation;
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL;
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_ALTCLS_FL;
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_SUBMIT_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL &objManageClasses;


ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;
ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_DROP_SELECT_FL
&oSelectClassesToDrop;
ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_SELECT_FL
&oReviewClassSelection;
ComponentLife SSR_MANAGE_CLASSES:UTIL:ClassInformation &classInfo;
ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL &objEditClasses;
ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_ALTCLS_FL
&objEditAltClasses;
ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_SUBMIT_FL
&objEditSubmitClasses;

Evaluate %Component
When Component.SSR_COMPONENT_FL
&objManageClasses.SSR_INSTRDTL_SCF_Activate();
Break;

When Component.SSR_SHOP_CART_FL
&objShopCart.SSR_INSTRDTL_SCF_Activate();
Break;

When Component.SSR_DROP_SELECT_FL
&oSelectClassesToDrop.SSR_INSTRDTL_SCF_Activate();
Break;

When Component.SSR_ENRL_SELECT_FL
&oReviewClassSelection.SSR_INSTRDTL_SCF_Activate();
Break;

When Component.SSR_CRSE_INFO_FL
&classInfo.SSR_INSTRDTL_SCF_Activate();
Break;

When Component.SSR_EDIT_CLASS_FL
&objEditClasses.SSR_INSTRDTL_SCF_Activate();
Break;

When Component.SSR_EDIT_ALTCLS_FL
&objEditAltClasses.SSR_INSTRDTL_SCF_Activate();
Break;

When Component.SSR_EDIT_REVIEW_FL
&objEditSubmitClasses.SSR_INSTRDTL_SCF_Activate();
Break;

End-Evaluate;

[SSR_SEL_FLTRS_SCF.Activate]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CRSE_INFO_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_CRSE_INFO_FL &objCourseInfo;

&objCourseInfo.SSR_SEL_FLTRS_SCF_Activate();

[SSR_SHOP_CART_FL.Activate]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.SSR_SHOP_CART_FL__Activate();

[SSR_SHOP_CONFRM_FL.Activate]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.SSR_SHOP_CONFRM_FL__Activate();

[SSR_START_PAGE_FL.Activate]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_START_PAGE_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_START_PAGE_FL &objStartPage;

/* Assign default stylesheet for the navigation tabs and execute javascript onload
functions */
If All(&objStartPage) Then
&objStartPage.InitializeNavigationPanel();
End-If;

[SSR_SWAP_CONFRM_FL.Activate]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_SWAP_CONFRM_FL;
ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_SWAP_CONFRM_FL
&oConfirmSwapClass;

&oConfirmSwapClass.SSR_SWAP_CONFRM_FL_Activate();

[SSR_SWAP_ENRL_FL.Activate]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SWAP_CLASS_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SWAP_CLASS_FL &oSwapClasses;

&oSwapClasses.SSR_SWAP_ENRL_FL_Activate();

[SSR_SWAP_TERM_FL.Activate]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SWAP_CLASS_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SWAP_CLASS_FL &oSwapClasses;

&oSwapClasses.SSR_SWAP_TERM_FL_Activate();

[SSR_TERM_STA1_FL.Activate]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL &objManageClasses;

&objManageClasses.SSR_SEL_STA1_FL_Activate();

[SSR_TERM_STA1_SCF.Activate]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL;
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL;
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SWAP_CLASS_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL &objManageClasses;


ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL &objEditClasses;
ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SWAP_CLASS_FL &oSwapClasses;

Evaluate %Component
When Component.SSR_COMPONENT_FL
&objManageClasses.SSR_SEL_STA1_SFL_Activate();
Break;

When Component.SSR_EDIT_CLASS_FL
&objEditClasses.SSR_SEL_STA1_SCF_Activate();
Break;

When Component.SSR_SWAP_CLASS_FL
&oSwapClasses.SSR_TERM_STA1_SCF_Activate();
Break;

End-Evaluate;

[SSR_TERM_STA2_FL.Activate]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_MAIN_FL;
ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_MAIN_FL &objClassSearch;

&objClassSearch.SSR_TERM_STA2_FL_Activate();

[SSR_TERM_STA2_SCF.Activate]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_MAIN_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_MAIN_FL &objClassSearch;

&objClassSearch.SSR_TERM_STA2_FL_Activate();

[SSR_TERM_STA3_FL.Activate]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.SSR_SEL_STA3_FL_Activate();

[SSR_TERM_STA3_SCF.Activate]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.SSR_SEL_STA3_SFL_Activate();

[SSR_VW_CLASS_FL.Activate]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL &objManageClasses;

&objManageClasses.SSR_VW_CLASS_FL_Activate();

[SSR_CLSRCH_ES_FL.GBL.PostBuild]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_ES_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_ES_FL &objClassSearchES;

&objClassSearchES.PostBuild();

[SSR_CLSRCH_ES_FL.GBL.PreBuild]
rem import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_MAIN_FL;
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_ES_FL;

rem ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_MAIN_FL &objClassSearch;


ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_ES_FL &objClassSearchES;

rem &objClassSearch = create SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_MAIN_FL();


&objClassSearchES = create SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_ES_FL();

[SSR_CLSRCH_FLT_FL.GBL.SavePostChange]
REM AD i2-s;
import SSR_MANAGE_CLASSES:SEARCH:RefreshListOfValues;

&RefreshLOV = create SSR_MANAGE_CLASSES:SEARCH:RefreshListOfValues();

Local Rowset &rsCAFHdr = CreateRowset(Record.SSR_FCT_CAFHDR);


Local Rowset &rsCAFDtl;
Local number &iHdr, &iDtl;
Local date &dMinDt;

&rsCAFHdr.Fill();

If &rsCAFHdr.ActiveRowCount > 1 Then


REM "Find date to eliminate entries no longer being used";
SQLExec("SELECT MIN(%DateOut(A.TERM_BEGIN_DT)) FROM PS_TERM_TBL A,
PS_TERM_VAL_TBL B WHERE A.STRM = B.STRM AND B.SSR_SSCLS_STD_BDT <= %CurrentDateIn
AND B.SSR_SSCLS_STD_EDT >= %CurrentDateIn", &dMinDt);
End-If;

REM "Delete all LOVs";


SQLExec("DELETE FROM PS_SSR_CS_CAF_LOV");

REM "Generate all LOVs based on effective date";


For &iHdr = 1 To &rsCAFHdr.ActiveRowCount
If (&rsCAFHdr(&iHdr).SSR_FCT_CAFHDR.EFFDT.Value >= %Date) Or
(None(&dMinDt)) Or
(&rsCAFHdr(&iHdr).SSR_FCT_CAFHDR.EFFDT.Value >= &dMinDt) Then

&rsCAFDtl = CreateRowset(Record.SSR_FCT_CAF_ATT);

&rsCAFDtl.Fill("WHERE EFFDT = %DateIn(:1)",


&rsCAFHdr(&iHdr).SSR_FCT_CAFHDR.EFFDT.Value);

For &iDtl = 1 To &rsCAFDtl.ActiveRowCount


Local Record &recCAFAttrb = CreateRecord(Record.SCC_CAF_ATTRIBS);
&recCAFAttrb.SCC_CAF_ATTRIB_NM.Value =
&rsCAFDtl(&iDtl).SSR_FCT_CAF_ATT.SCC_CAF_ATTRIB_NM.Value;
If &recCAFAttrb.SelectByKey() Then
If &recCAFAttrb.SCC_CAF_ATTR_TYPE.Value = "LO" Then

&RefreshLOV.RefreshLOV2(&rsCAFDtl(&iDtl).SSR_FCT_CAF_ATT.SCC_CAF_ATTR_SEQ.Value,
&rsCAFDtl(&iDtl).SSR_FCT_CAF_ATT.SCC_CAF_ATTRIB_NM.Value,
&rsCAFDtl(&iDtl).SSR_FCT_CAF_ATT.EFFDT.Value);
End-If;
End-If;
End-For;

End-If;

End-For;
REM AD i2-e;

[SSR_CLSRCH_MAIN_FL.GBL.DERIVED_SSR_FL.SSR_CHANGE_BTN.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_MAIN_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_MAIN_FL &objClassSearch;

&objClassSearch.DERIVED_SSR_FL__SSR_CHANGE_BTN_FieldChange();
[SSR_CLSRCH_MAIN_FL.GBL.DERIVED_SSR_FL.SSR_RETURN_PB_FL.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_MAIN_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_MAIN_FL &objClassSearch;

&objClassSearch.DERIVED_SSR_FL__SSR_RETURN_PB_FL_FieldChange();

[SSR_CLSRCH_MAIN_FL.GBL.PostBuild]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_MAIN_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_MAIN_FL &objClassSearch;

&objClassSearch.PostBuild();

[SSR_CLSRCH_MAIN_FL.GBL.PreBuild]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_MAIN_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_MAIN_FL &objClassSearch;

&objClassSearch = create SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_MAIN_FL();

&objClassSearch.PreBuild();

[SSR_CLSRCH_MAIN_FL.GBL.SSR_CLSRCH_FLDS.PTS_SRCH_BTN.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_MAIN_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_MAIN_FL &objClassSearch;

&objClassSearch.SSR_CLSRCH_FLDS__PTS_SRCH_BTN_FieldChange();

[SSR_CLSRCH_MAIN_FL.GBL.SSR_CLSRCH_F_WK.SSR_DELETE_ALL.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_MAIN_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_MAIN_FL &objClassSearch;

&objClassSearch.SSR_CLSRCH_F_WK__SSR_DELETE_ALL_FieldChange();

[SSR_CLSRCH_MAIN_FL.GBL.SSR_CLSRCH_F_WK.SSR_DELETE_ALL2.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_MAIN_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_MAIN_FL &objClassSearch;

&objClassSearch.SSR_CLSRCH_F_WK__SSR_DELETE_ALL2_FieldChange();

[SSR_CLSRCH_MAIN_FL.GBL.SSR_CLSRCH_F_WK.SSR_DELETE_SELCTD.FieldChange]
<*import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_MAIN_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_MAIN_FL &objClassSearch;

&objClassSearch.SSR_CLSRCH_F_WK__SSR_DELETE_SELCTD_FieldChange();
*>
[SSR_CLSRCH_MAIN_FL.GBL.SSR_CLSRCH_F_WK.SSR_DELETE_SELCTD2.FieldChange]
<*import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_MAIN_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_MAIN_FL &objClassSearch;

&objClassSearch.SSR_CLSRCH_F_WK__SSR_DELETE_SELCTD2_FieldChange();
*>

[SSR_CLSRCH_MAIN_FL.GBL.SSR_CLSRCH_WRK.SSS_SUBJ_CATLG.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_MAIN_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_MAIN_FL &objClassSearch;

&objClassSearch.SSR_CLSRCH_WRK__SSS_SUBJ_CATLG_FieldChange();

[SSR_CLSRCH_MAIN_FL.GBL.SSR_CSTRMCUR_VW.DESCR.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_MAIN_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_MAIN_FL &objClassSearch;

&objClassSearch.DERIVED_SSR_FL__MORE_BUTTON_FieldChange("C");

[SSR_CLSRCH_MAIN_FL.GBL.SSR_CSTRMPRV_VW.DESCR.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_MAIN_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_MAIN_FL &objClassSearch;

&objClassSearch.DERIVED_SSR_FL__MORE_BUTTON_FieldChange("P");

[SSR_COMPONENT_FL.GBL.DERIVED_SSR_FL.SSR_CANCEL_BTN.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL &objManageClasses;

&objManageClasses.DERIVED_SSR_FL_SSR_CANCEL_BTN__FieldChange();

[SSR_COMPONENT_FL.GBL.DERIVED_SSR_FL.SSR_CHANGE_BTN.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL &objManageClasses;

&objManageClasses.DERIVED_SSR_FL__SSR_CHANGE_BTN_FieldChange();

[SSR_COMPONENT_FL.GBL.DERIVED_SSR_FL.SSR_CLASS_DTL_BTN.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL &objManageClasses;

&objManageClasses.DERIVED_SSR_FL__SSR_CLASS_DTL_BTN_FieldChange();

[SSR_COMPONENT_FL.GBL.DERIVED_SSR_FL.SSR_CL_DTLS_LFF.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL &objManageClasses;

&objManageClasses.DERIVED_SSR_FL_SSR_CL_DTLS_LFF__FieldChange();

[SSR_COMPONENT_FL.GBL.DERIVED_SSR_FL.SSR_CL_DTLS_OPT.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL &objManageClasses;

&objManageClasses.DERIVED_SSR_FL__SSR_CL_DTLS_OPT_FieldChange();

[SSR_COMPONENT_FL.GBL.DERIVED_SSR_FL.SSR_DONE_BTN.FieldChange]
<* import SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL &objManageClasses;

&objManageClasses.SavePreChange();
*>

import SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL &objManageClasses;

&objManageClasses.DERIVED_SSR_FL_SSR_DONE_BTN__FieldChange();

[SSR_COMPONENT_FL.GBL.DERIVED_SSR_FL.SSR_DROPPED.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL &objManageClasses;

&objManageClasses.DERIVED_SSR_FL__SSR_ENROLLED_WAIT_DROPPED_FieldChange();

[SSR_COMPONENT_FL.GBL.DERIVED_SSR_FL.SSR_ENRL_DCW.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL &objManageClasses;

&objManageClasses.DERIVED_SSR_FL_SSR_ENRL_DCW__FieldChange();

[SSR_COMPONENT_FL.GBL.DERIVED_SSR_FL.SSR_ENRL_DL.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL &objManageClasses;

&objManageClasses.DERIVED_SSR_FL_SSR_ENRL_DL__FieldChange();

[SSR_COMPONENT_FL.GBL.DERIVED_SSR_FL.SSR_ENROLLED.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL &objManageClasses;


&objManageClasses.DERIVED_SSR_FL__SSR_ENROLLED_WAIT_DROPPED_FieldChange();

[SSR_COMPONENT_FL.GBL.DERIVED_SSR_FL.SSR_GRPSBJ_LBL.FieldEdit]
<*import SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL &objManageClasses;

&objManageClasses.DERIVED_SSR_FL__SSR_GRPSBJ_LBL_FieldChange();*>

[SSR_COMPONENT_FL.GBL.DERIVED_SSR_FL.SSR_INSTR_FL.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL &objManageClasses;

&objManageClasses.DERIVED_SSR_FL_SSR_INSTR_FL__FieldChange();

[SSR_COMPONENT_FL.GBL.DERIVED_SSR_FL.SSR_INSTR_NME_FL.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL &objManageClasses;

&objManageClasses.DERIVED_SSR_FL_SSR_INSTR_NME_FL__FieldChange();

[SSR_COMPONENT_FL.GBL.DERIVED_SSR_FL.SSR_SBJ_CAT_NBR.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL &objManageClasses;

&objManageClasses.DERIVED_SSR_FL__SSR_CLASS_DTL_BTN_FieldChange();

[SSR_COMPONENT_FL.GBL.DERIVED_SSR_FL.SSR_SCRTAB_BTN.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL &objManageClasses;

&objManageClasses.DERIVED_SSR_FL__SSR_SCRTAB_BTN_FieldChange();

[SSR_COMPONENT_FL.GBL.DERIVED_SSR_FL.SSR_VW_CLSCHD_OPT.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL &objManageClasses;

&objManageClasses.DERIVED_SSR_FL_SSR_VW_CLSCHD_OPT__FieldChange();

[SSR_COMPONENT_FL.GBL.DERIVED_SSR_FL.SSR_WAIT.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL &objManageClasses;

&objManageClasses.DERIVED_SSR_FL__SSR_ENROLLED_WAIT_DROPPED_FieldChange();
[SSR_COMPONENT_FL.GBL.PostBuild]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL &objManageClasses;

&objManageClasses.PostBuild();

[SSR_COMPONENT_FL.GBL.PreBuild]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL &objManageClasses;

&objManageClasses = create SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL( True);

[SSR_COMPONENT_FL.GBL.SSR_CLSRCH_WRK.SSR_ADD_TO_FAV_LNK.FieldChange]
REM AC PI03 import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_FL;

REM AC PI03 ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_FL


&objClassSearch;

REM AC PI03 &objClassSearch.SSR_CLSRCH_WRK__SSR_ADD_TO_FAV_LNK_FieldChange();

[SSR_COMPONENT_FL.GBL.SSR_CLSRCH_WRK.SSR_PB_GO.FieldChange]
REM AC PI03 import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_FL;

REM AC PI03 ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_FL


&objClassSearch;

REM AC PI03 &objClassSearch.SSR_CLSRCH_WRK__SSR_PB_GO_FieldChange();

[SSR_COMPONENT_FL.GBL.SSR_CLSRCH_WRK.SSS_SUBJ_CATLG.FieldChange]
REM AC PI03 import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_FL;

REM AC PI03 ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_FL


&objClassSearch;

REM AC PI03 &objClassSearch.SSR_CLSRCH_WRK__SSS_SUBJ_CATLG_FieldChange();

[SSR_COMPONENT_FL.GBL.SSR_CSTRMCUR_VW.DESCR.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL &objManageClasses;

&objManageClasses.DERIVED_SSR_FL__MORE_BUTTON_FieldChange("C");

[SSR_COMPONENT_FL.GBL.SSR_CSTRMPRV_VW.DESCR.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL &objManageClasses;

&objManageClasses.DERIVED_SSR_FL__MORE_BUTTON_FieldChange("P");
[SSR_COMPONENT_FL.GBL.SSR_CSTRMSTD2VW.DESCR.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL &objManageClasses;

&objManageClasses.DERIVED_SSR_FL__MORE_BUTTON_FieldChange("P");

[SSR_COMPONENT_FL.GBL.SSR_DER0_CAL_FL.SSR_FROM_DATE.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL &objManageClasses;

&objManageClasses.SSR_DER0_CAL_FL_SSR_FROM_DATE__FieldChange();

[SSR_COMPONENT_FL.GBL.SSR_DER0_CAL_FL.SSR_TO_DATE.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL &objManageClasses;

&objManageClasses.SSR_DER0_CAL_FL_SSR_TO_DATE__FieldChange();

[SSR_COMPONENT_FL.GBL.SSR_DER1_MTG_FL.SSR_MTGINFO_DATA.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL;
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;


ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL &objManageClasses;

Evaluate %Component
When Component.SSR_COMPONENT_FL
&objManageClasses.SSR_DER1_MTG_FL_SSR_MTGINFO_DATA__FieldChange();
When Component.SSR_SHOP_CART_FL
&objShopCart.SSR_DER1_MTG_FL_SSR_MTGINFO_DATA__FieldChange();
End-Evaluate;

[SSR_COMPONENT_FL.GBL.SSR_DER2_CAL_FL.SSR_CLASS_DTL_BTN.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL &objManageClasses;

&objManageClasses.SSR_DER2_CAL_FL_SSR_CLASS_DTL_BTN__FieldChange();

[SSR_COMPONENT_FL.GBL.SSR_DER2_CAL_FL.SSR_DESCR80.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL &objManageClasses;

&objManageClasses.SSR_DER2_CAL_FL_SSR_CLASS_DTL_BTN__FieldChange();

[SSR_COMPONENT_FL.GBL.SSR_ENTRMCUR_VW.TERM_DESCR30.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL &objManageClasses;


&objManageClasses.DERIVED_SSR_FL__MORE_BUTTON_FieldChange("C");

[SSR_COMPONENT_FL.GBL.SSR_ENTRMPRV_VW.TERM_DESCR30.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL &objManageClasses;

&objManageClasses.DERIVED_SSR_FL__MORE_BUTTON_FieldChange("P");

[SSR_COMPONENT_FL.GBL.SSR_ENTRMSTD_VW.TERM_DESCR30.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL &objManageClasses;

&objManageClasses.DERIVED_SSR_FL__MORE_BUTTON_FieldChange("I");

[SSR_CRSE_DTL_FL.GBL.PostBuild]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CRSE_DTL_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_CRSE_DTL_FL &oCourseDetails;

&oCourseDetails.PostBuild();

[SSR_CRSE_DTL_FL.GBL.PreBuild]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CRSE_DTL_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_CRSE_DTL_FL &oCourseDetails;

&oCourseDetails = create SSR_MANAGE_CLASSES:COMPONENTS:SSR_CRSE_DTL_FL();

[SSR_CRSE_INFO_FL.GBL.PostBuild]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CRSE_INFO_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_CRSE_INFO_FL &objCourseInfo;

&objCourseInfo.PostBuild();

[SSR_CRSE_INFO_FL.GBL.PreBuild]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CRSE_INFO_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_CRSE_INFO_FL &objCourseInfo;

&objCourseInfo = create SSR_MANAGE_CLASSES:COMPONENTS:SSR_CRSE_INFO_FL();

&objCourseInfo.PreBuild();

[SSR_CRSE_INFO_FL.GBL.SSR_CLSRCH_F_WK.SSR_ADD_TO_FAV_LNK.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CRSE_INFO_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_CRSE_INFO_FL &objCourseInfo;


&objCourseInfo.SSR_CLSRCH_F_WK__SSR_ADD_TO_FAV_LNK_FieldChange();

[SSR_CRSE_INFO_FL.GBL.SSR_CLSRCH_F_WK.SSR_CMPNT_DESCR_1.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CRSE_INFO_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_CRSE_INFO_FL &objCourseInfo;

&objCourseInfo.SSR_CLSRCH_F_WK__SSR_CMPNT_DESCR_1_FieldChange();

[SSR_CRSE_INFO_FL.GBL.SSR_CLSRCH_F_WK.SSR_CMPNT_DESCR_2.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CRSE_INFO_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_CRSE_INFO_FL &objCourseInfo;

&objCourseInfo.SSR_CLSRCH_F_WK__SSR_CMPNT_DESCR_2_FieldChange();

[SSR_CRSE_INFO_FL.GBL.SSR_CLSRCH_F_WK.SSR_CMPNT_DESCR_3.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CRSE_INFO_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_CRSE_INFO_FL &objCourseInfo;

&objCourseInfo.SSR_CLSRCH_F_WK__SSR_CMPNT_DESCR_3_FieldChange();

[SSR_CRSE_INFO_FL.GBL.SSR_CLSRCH_F_WK.SSR_CMPNT_DESCR_4.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CRSE_INFO_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_CRSE_INFO_FL &objCourseInfo;

&objCourseInfo.SSR_CLSRCH_F_WK__SSR_CMPNT_DESCR_4_FieldChange();

[SSR_CRSE_INFO_FL.GBL.SSR_CLSRCH_F_WK.SSR_CMPNT_DESCR_5.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CRSE_INFO_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_CRSE_INFO_FL &objCourseInfo;

&objCourseInfo.SSR_CLSRCH_F_WK__SSR_CMPNT_DESCR_5_FieldChange();

[SSR_CRSE_INFO_FL.GBL.SSR_CLSRCH_F_WK.SSR_CNTRLFIELD.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CRSE_INFO_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_CRSE_INFO_FL &objCourseInfo;

&objCourseInfo.SSR_CLSRCH_F_WK__SSR_CNTRLFIELD_FieldChange();

[SSR_CRSE_INFO_FL.GBL.SSR_CLSRCH_F_WK.SSR_MUL_MTG_LNK_1.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CRSE_INFO_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_CRSE_INFO_FL &objCourseInfo;

&objCourseInfo.SSR_CLSRCH_F_WK__SSR_MUL_MTG_LNK_1_FieldChange();
[SSR_CRSE_INFO_FL.GBL.SSR_CLSRCH_F_WK.SSR_MUL_MTG_LNK_2.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CRSE_INFO_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_CRSE_INFO_FL &objCourseInfo;

&objCourseInfo.SSR_CLSRCH_F_WK__SSR_MUL_MTG_LNK_2_FieldChange();

[SSR_CRSE_INFO_FL.GBL.SSR_CLSRCH_F_WK.SSR_MUL_MTG_LNK_3.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CRSE_INFO_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_CRSE_INFO_FL &objCourseInfo;

&objCourseInfo.SSR_CLSRCH_F_WK__SSR_MUL_MTG_LNK_3_FieldChange();

[SSR_CRSE_INFO_FL.GBL.SSR_CLSRCH_F_WK.SSR_MUL_MTG_LNK_4.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CRSE_INFO_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_CRSE_INFO_FL &objCourseInfo;

&objCourseInfo.SSR_CLSRCH_F_WK__SSR_MUL_MTG_LNK_4_FieldChange();

[SSR_CRSE_INFO_FL.GBL.SSR_CLSRCH_F_WK.SSR_MUL_MTG_LNK_5.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CRSE_INFO_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_CRSE_INFO_FL &objCourseInfo;

&objCourseInfo.SSR_CLSRCH_F_WK__SSR_MUL_MTG_LNK_5_FieldChange();

[SSR_CRSE_INFO_FL.GBL.SSR_CLSRCH_F_WK.SSR_OPTION_DESCR.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CRSE_INFO_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_CRSE_INFO_FL &objCourseInfo;

&objCourseInfo.SSR_CLSRCH_F_WK__SSR_OPTION_DESCR_FieldChange();

[SSR_CRSE_INFO_FL.GBL.SSR_CLSRCH_F_WK.SSR_SELECTED_FLTRS.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CRSE_INFO_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_CRSE_INFO_FL &objCourseInfo;

&objCourseInfo.SSR_CLSRCH_F_WK__SSR_SELECTED_FLTRS_FieldChange();

[SSR_CS_IDX_FULL_FL.GBL.PostBuild]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CS_IDX_FULL_FL:*;

&obj_SSR_CS_IDX_FULL_FL = create
SSR_MANAGE_CLASSES:COMPONENTS:SSR_CS_IDX_FULL_FL();

&obj_SSR_CS_IDX_FULL_FL.Postbuild();

[SSR_CS_IDX_FULL_FL.GBL.SSR_DER_CS_IDX.SSR_PB_RUN.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CS_IDX_FULL_FL:*;
&obj_SSR_CS_IDX_FULL_FL = create
SSR_MANAGE_CLASSES:COMPONENTS:SSR_CS_IDX_FULL_FL();

&obj_SSR_CS_IDX_FULL_FL.SSR_DER_CS_IDX__SSR_PB_RUN__FieldChange();

[SSR_CS_IDX_GEN_FL.GBL.SSR_CS_INDX_GEN.RowInit]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CS_IDX_GEN_FL:*;

&obj_SSR_CS_IDX_GEN_FL = create SSR_MANAGE_CLASSES:Components:SSR_CS_IDX_GEN_FL();

&obj_SSR_CS_IDX_GEN_FL.SSR_CS_IDX_GEN_FL__RowInit();

[SSR_CS_IDX_GEN_FL.GBL.SSR_CS_INDX_GEN.SSR_CS_IDX_ACTN.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CS_IDX_GEN_FL:*;

&obj_SSR_CS_IDX_GEN_FL = create SSR_MANAGE_CLASSES:Components:SSR_CS_IDX_GEN_FL();

&obj_SSR_CS_IDX_GEN_FL.SSR_CS_INDX_GEN__SSR_CS_IDX_ACTN__FieldChange();

[SSR_CS_IDX_STAT_FL.GBL.PostBuild]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CS_IDX_STAT_FL:*;

&obj_SSR_CS_IDX_STAT_FL = create
SSR_MANAGE_CLASSES:COMPONENTS:SSR_CS_IDX_STAT_FL();

&obj_SSR_CS_IDX_STAT_FL.Postbuild();

[SSR_CS_IDX_STAT_FL.GBL.SSR_DER1_CS_IDX.SSR_DETAIL_LINK.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CS_IDX_STAT_FL:*;

&obj_SSR_CS_IDX_STAT_FL = create
SSR_MANAGE_CLASSES:COMPONENTS:SSR_CS_IDX_STAT_FL();

&obj_SSR_CS_IDX_STAT_FL.SSR_DER1_CS_IDX__SSR_DETAIL_LINK__FieldChange();

[SSR_CS_IDX_STAT_FL.GBL.SSR_DER_CS_IDX.SSR_BY_CAT_NBR.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CS_IDX_STAT_FL:*;

&obj_SSR_CS_IDX_STAT_FL = create
SSR_MANAGE_CLASSES:COMPONENTS:SSR_CS_IDX_STAT_FL();

&obj_SSR_CS_IDX_STAT_FL.RefreshDetailOptions(" ");

[SSR_CS_IDX_STAT_FL.GBL.SSR_DER_CS_IDX.SSR_BY_CLASS.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CS_IDX_STAT_FL:*;

&obj_SSR_CS_IDX_STAT_FL = create
SSR_MANAGE_CLASSES:COMPONENTS:SSR_CS_IDX_STAT_FL();

&obj_SSR_CS_IDX_STAT_FL.RefreshDetailOptions("CLASS_NBR");
[SSR_CS_IDX_STAT_FL.GBL.SSR_DER_CS_IDX.SSR_BY_CRSE_CAREER.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CS_IDX_STAT_FL:*;

&obj_SSR_CS_IDX_STAT_FL = create
SSR_MANAGE_CLASSES:COMPONENTS:SSR_CS_IDX_STAT_FL();

&obj_SSR_CS_IDX_STAT_FL.RefreshDetailOptions(" ");

[SSR_CS_IDX_STAT_FL.GBL.SSR_DER_CS_IDX.SSR_BY_SESSION.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CS_IDX_STAT_FL:*;

&obj_SSR_CS_IDX_STAT_FL = create
SSR_MANAGE_CLASSES:COMPONENTS:SSR_CS_IDX_STAT_FL();

&obj_SSR_CS_IDX_STAT_FL.RefreshDetailOptions(" ");

[SSR_CS_IDX_STAT_FL.GBL.SSR_DER_CS_IDX.SSR_BY_SUBJECT.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CS_IDX_STAT_FL:*;

&obj_SSR_CS_IDX_STAT_FL = create
SSR_MANAGE_CLASSES:COMPONENTS:SSR_CS_IDX_STAT_FL();

&obj_SSR_CS_IDX_STAT_FL.RefreshDetailOptions(" ");

[SSR_CS_IDX_STAT_FL.GBL.SSR_DER_CS_IDX.SSR_CS_IDX_FF.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CS_IDX_STAT_FL:*;

&obj_SSR_CS_IDX_STAT_FL = create
SSR_MANAGE_CLASSES:COMPONENTS:SSR_CS_IDX_STAT_FL();

&obj_SSR_CS_IDX_STAT_FL.SSR_DER_CS_IDX__SSR_CS_IDX_FF__FieldChange();

[SSR_CS_IDX_STAT_FL.GBL.SSR_DER_CS_IDX.SSR_GO_BTN.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CS_IDX_STAT_FL:*;

&obj_SSR_CS_IDX_STAT_FL = create
SSR_MANAGE_CLASSES:COMPONENTS:SSR_CS_IDX_STAT_FL();

&obj_SSR_CS_IDX_STAT_FL.SSR_DER_CS_IDX__SSR_GO_BTN__FieldChange();

[SSR_CS_IDX_STAT_FL.GBL.SSR_DER_CS_IDX.SSR_ONLY_REFRESH.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CS_IDX_STAT_FL:*;

&obj_SSR_CS_IDX_STAT_FL = create
SSR_MANAGE_CLASSES:COMPONENTS:SSR_CS_IDX_STAT_FL();

&obj_SSR_CS_IDX_STAT_FL.SSR_DER_CS_IDX__SSR_REFRESH__FieldChange();

[SSR_CS_IDX_STAT_FL.GBL.SSR_DER_CS_IDX.SSR_PB_RUN.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CS_IDX_STAT_FL:*;

&obj_SSR_CS_IDX_STAT_FL = create
SSR_MANAGE_CLASSES:COMPONENTS:SSR_CS_IDX_STAT_FL();
&obj_SSR_CS_IDX_STAT_FL.SSR_DER_CS_IDX__SSR_PB_RUN__FieldChange();

[SSR_CS_IDX_STAT_FL.GBL.SSR_DER_CS_IDX.SSR_SHOW_PENDING.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CS_IDX_STAT_FL:*;

&obj_SSR_CS_IDX_STAT_FL = create
SSR_MANAGE_CLASSES:COMPONENTS:SSR_CS_IDX_STAT_FL();

&obj_SSR_CS_IDX_STAT_FL.SSR_DER_CS_IDX__SSR_SHOW_PENDING__FieldChange();

[SSR_DROP_CLASS_FL.GBL.DERIVED_SSR_FL.SSR_RETURN_PB_FL.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_DROP_CLASS_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_DROP_CLASS_FL &oDropClasses;

&oDropClasses.DERIVED_SSR_FL__SSR_RETURN_PB_FL_FieldChange();

[SSR_DROP_CLASS_FL.GBL.DERIVED_SSS_SCT.SSS_TERM_LINK.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_DROP_CLASS_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_DROP_CLASS_FL &oDropClasses;

&oDropClasses.DERIVED_SSS_SCT_SSR_TERM_LINK_FieldChange();

[SSR_DROP_CLASS_FL.GBL.PostBuild]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_DROP_CLASS_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_DROP_CLASS_FL &oDropClasses;

&oDropClasses.Postbuild();

[SSR_DROP_CLASS_FL.GBL.PreBuild]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_DROP_CLASS_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_DROP_CLASS_FL &oDropClasses;

&oDropClasses = create SSR_MANAGE_CLASSES:COMPONENTS:SSR_DROP_CLASS_FL( True);

[SSR_DROP_REVIEW_FL.GBL.DERIVED_SSR_FL.SSR_DROPPED.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_DROP_REVIEW_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_DROP_REVIEW_FL
&oReviewClassesToDrop;

&oReviewClassesToDrop.DERIVED_SSR_FL_SSR_DROPPED_FieldChange();

[SSR_DROP_REVIEW_FL.GBL.ENRL_REQ_HEADER.SavePreChange]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_DROP_REVIEW_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_DROP_REVIEW_FL
&oReviewClassesToDrop;

&oReviewClassesToDrop.ENRL_REQ_HEADER_SavePreChange();

[SSR_DROP_REVIEW_FL.GBL.PreBuild]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_DROP_REVIEW_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_DROP_REVIEW_FL
&oReviewClassesToDrop;

&oReviewClassesToDrop = create
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_DROP_REVIEW_FL();

[SSR_DROP_SELECT_FL.GBL.DERIVED_REGFRM1.SSR_SELECT.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_DROP_SELECT_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_DROP_SELECT_FL
&oSelectClassesToDrop;

&oSelectClassesToDrop.DERIVED_REGFRM1_SSR_SELECT_FieldChange();

[SSR_DROP_SELECT_FL.GBL.DERIVED_SSR_FL.SSR_CLASSNAME_LONG.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_DROP_SELECT_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_DROP_SELECT_FL
&oSelectClassesToDrop;

&oSelectClassesToDrop.DERIVED_SSR_FL_SSR_CLASSNAME_LONG__FieldChange();

[SSR_DROP_SELECT_FL.GBL.DERIVED_SSR_FL.SSR_CL_DTLS_LFF.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_DROP_SELECT_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_DROP_SELECT_FL
&oSelectClassesToDrop;

&oSelectClassesToDrop.DERIVED_SSR_FL_SSR_CL_DTLS_LFF__FieldChange();

[SSR_DROP_SELECT_FL.GBL.DERIVED_SSR_FL.SSR_CL_DTLS_OPT.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_DROP_SELECT_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_DROP_SELECT_FL
&oSelectClassesToDrop;

&oSelectClassesToDrop.DERIVED_SSR_FL__SSR_CL_DTLS_OPT_FieldChange();

[SSR_DROP_SELECT_FL.GBL.DERIVED_SSR_FL.SSR_INSTR_FL.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_DROP_SELECT_FL;
ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_DROP_SELECT_FL
&oSelectClassesToDrop;

&oSelectClassesToDrop.DERIVED_SSR_FL_SSR_INSTR_FL__FieldChange();

[SSR_DROP_SELECT_FL.GBL.DERIVED_SSR_FL.SSR_INSTR_NME_FL.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_DROP_SELECT_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_DROP_SELECT_FL
&oSelectClassesToDrop;

&oSelectClassesToDrop.DERIVED_SSR_FL_SSR_INSTR_NME_FL__FieldChange();

[SSR_DROP_SELECT_FL.GBL.DERIVED_SSR_FL.SSR_MORE_CLASS_FL.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_DROP_SELECT_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_DROP_SELECT_FL
&oSelectClassesToDrop;

&oSelectClassesToDrop.DERIVED_SSR_FL_SSR_MORE_CLASS_FL__FieldChange();

[SSR_DROP_SELECT_FL.GBL.PreBuild]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_DROP_SELECT_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_DROP_SELECT_FL
&oSelectClassesToDrop;

&oSelectClassesToDrop = create
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_DROP_SELECT_FL();

[SSR_DROP_SELECT_FL.GBL.SSR_DER1_MTG_FL.SSR_MTGINFO_DATA.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_DROP_SELECT_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_DROP_SELECT_FL
&oSelectClassesToDrop;

&oSelectClassesToDrop.SSR_DER1_MTG_FL_SSR_MTGINFO_DATA__FieldChange();

[SSR_EDIT_ALTCLS_FL.GBL.DERIVED_SSR_FL.SSR_CL_DTLS_LFF.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_ALTCLS_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_ALTCLS_FL
&objEditAltClasses;

&objEditAltClasses.DERIVED_SSR_FL_SSR_CL_DTLS_LFF__FieldChange();
[SSR_EDIT_ALTCLS_FL.GBL.DERIVED_SSR_FL.SSR_CL_DTLS_OPT.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_ALTCLS_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_ALTCLS_FL
&objEditAltClasses;

&objEditAltClasses.DERIVED_SSR_FL__SSR_CL_DTLS_OPT_FieldChange();

[SSR_EDIT_ALTCLS_FL.GBL.DERIVED_SSR_FL.SSR_INSTR_FL.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_ALTCLS_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_ALTCLS_FL
&objEditAltClasses;

&objEditAltClasses.DERIVED_SSR_FL_SSR_INSTR_FL__FieldChange();

[SSR_EDIT_ALTCLS_FL.GBL.DERIVED_SSR_FL.SSR_INSTR_NME_FL.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_ALTCLS_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_ALTCLS_FL
&objEditAltClasses;

&objEditAltClasses.DERIVED_SSR_FL_SSR_INSTR_NME_FL__FieldChange();

[SSR_EDIT_ALTCLS_FL.GBL.DERIVED_SSR_FL.SSR_SELECT.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_ALTCLS_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_ALTCLS_FL
&objEditAltClasses;

&objEditAltClasses.DERIVED_SSR_FL_SSR_SELECT__FieldChange();

[SSR_EDIT_ALTCLS_FL.GBL.PostBuild]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_ALTCLS_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_ALTCLS_FL
&objEditAltClasses;

&objEditAltClasses.Postbuild();

[SSR_EDIT_ALTCLS_FL.GBL.PreBuild]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_ALTCLS_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_ALTCLS_FL
&objEditAltClasses;

&objEditAltClasses = create
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_ALTCLS_FL( True);
[SSR_EDIT_ALTCLS_FL.GBL.SSR_DER1_MTG_FL.SSR_MTGINFO_DATA.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_ALTCLS_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_ALTCLS_FL
&objEditAltClasses;

&objEditAltClasses.SSR_DER1_MTG_FL_SSR_MTGINFO_DATA__FieldChange();

[SSR_EDIT_ALTCLS_FL.GBL.SSR_REGFORM_WRK.SSR_MORE_CLASS_FL.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_ALTCLS_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_ALTCLS_FL
&objEditAltClasses;

&objEditAltClasses.DERIVED_SSR_FL_SSR_MORE_CLASS_FL__FieldChange();

[SSR_EDIT_ALTCLS_FL.GBL.SSR_REGFORM_WRK.SSR_SBJ_CAT_NBR.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_ALTCLS_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_ALTCLS_FL
&objEditAltClasses;

Local integer &classnbr = SSR_DER_CS_GRP.CLASS_NBR.Value;

rem &objEditAltClasses.SSR_ED_CLASS_FL_SSR_CLASSNAME_LONG__FieldChange(&classnbr);
&objEditAltClasses.DERIVED_SSR_FL_SSR_CLASSNAME_LONG__FieldChange();

[SSR_EDIT_CLASS_FL.GBL.DERIVED_SSR_FL.SSR_CHANGE_BTN.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL &objEditClasses;

&objEditClasses.DERIVED_SSR_FL__SSR_CHANGE_BTN_FieldChange();

[SSR_EDIT_CLASS_FL.GBL.DERIVED_SSR_FL.SSR_CL_DTLS_LFF.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL &objEditClasses;

&objEditClasses.DERIVED_SSR_FL_SSR_CL_DTLS_LFF__FieldChange();

[SSR_EDIT_CLASS_FL.GBL.DERIVED_SSR_FL.SSR_INSTR_FL.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL &objEditClasses;

&objEditClasses.DERIVED_SSR_FL_SSR_INSTR_FL__FieldChange();
[SSR_EDIT_CLASS_FL.GBL.DERIVED_SSR_FL.SSR_INSTR_NME_FL.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL &objEditClasses;

&objEditClasses.DERIVED_SSR_FL_SSR_INSTR_NME_FL__FieldChange();

[SSR_EDIT_CLASS_FL.GBL.DERIVED_SSR_FL.SSR_RETURN_PB_FL.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL &objEditClasses;

&objEditClasses.DERIVED_SSR_FL__SSR_RETURN_PB_FL_FieldChange();

[SSR_EDIT_CLASS_FL.GBL.DERIVED_SSR_FL.SSR_SBJ_CAT_NBR.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL &objEditClasses;

&objEditClasses.SSR_ED_CLASS_FL_SSR_CLASSNAME_LONG__FieldChange(STDNT_ENRL_SSVW.CLA
SS_NBR.Value);

[SSR_EDIT_CLASS_FL.GBL.DERIVED_SSS_SCT.SSS_TERM_LINK.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL &objEditClasses;

&objEditClasses.DERIVED_SSS_SCT_SSR_TERM_LINK_FieldChange();

[SSR_EDIT_CLASS_FL.GBL.PostBuild]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL &objEditClasses;

&objEditClasses.Postbuild();

[SSR_EDIT_CLASS_FL.GBL.PreBuild]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL &objEditClasses;

&objEditClasses = create SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL( True);

[SSR_EDIT_CLASS_FL.GBL.SSR_ED_CLASS_FL.SSR_CLASS_LONG1.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL &objEditClasses;

&objEditClasses.SSR_ED_CLASS_FL_SSR_CLASSNAME_LONG__FieldChange(Value(SSR_ED_CLASS_
FL.SSR_CLASS_LONG1.Value));

[SSR_EDIT_CLASS_FL.GBL.SSR_ED_CLASS_FL.SSR_CLASS_LONG2.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL &objEditClasses;

&objEditClasses.SSR_ED_CLASS_FL_SSR_CLASSNAME_LONG__FieldChange(Value(SSR_ED_CLASS_
FL.SSR_CLASS_LONG2.Value));

[SSR_EDIT_CLASS_FL.GBL.SSR_ED_CLASS_FL.SSR_CLASS_LONG3.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL &objEditClasses;

&objEditClasses.SSR_ED_CLASS_FL_SSR_CLASSNAME_LONG__FieldChange(Value(SSR_ED_CLASS_
FL.SSR_CLASS_LONG3.Value));

[SSR_EDIT_CLASS_FL.GBL.SSR_ED_CLASS_FL.SSR_CLASS_LONG4.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL &objEditClasses;

&objEditClasses.SSR_ED_CLASS_FL_SSR_CLASSNAME_LONG__FieldChange(Value(SSR_ED_CLASS_
FL.SSR_CLASS_LONG4.Value));

[SSR_EDIT_CLASS_FL.GBL.SSR_ED_CLASS_FL.SSR_CLASS_LONG5.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL &objEditClasses;

&objEditClasses.SSR_ED_CLASS_FL_SSR_CLASSNAME_LONG__FieldChange(Value(SSR_ED_CLASS_
FL.SSR_CLASS_LONG5.Value));

[SSR_EDIT_CLASS_FL.GBL.SSR_ED_CLASS_FL.SSR_CLASS_MAIN.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL &objEditClasses;

&objEditClasses.SSR_ED_CLASS_FL_SSR_CLASS_MAIN__FieldChange();

[SSR_EDIT_CLASS_FL.GBL.SSR_ED_CLASS_FL.SSR_CLASS_MAIN_SFF.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL &objEditClasses;

&objEditClasses.SSR_ED_CLASS_FL_SSR_CLASS_MAIN__FieldChange();

[SSR_EDIT_CLASS_FL.GBL.SSR_ED_CLASS_FL.SSR_MORE_CLASS1_FL.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL &objEditClasses;

&objEditClasses.SSR_ED_CLASS_FL_SSR_MORE_CLASS_FL__FieldChange(Value(SSR_ED_CLASS_F
L.SSR_CLASS_LONG1.Value));
[SSR_EDIT_CLASS_FL.GBL.SSR_ED_CLASS_FL.SSR_MORE_CLASS2_FL.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL &objEditClasses;

&objEditClasses.SSR_ED_CLASS_FL_SSR_MORE_CLASS_FL__FieldChange(Value(SSR_ED_CLASS_F
L.SSR_CLASS_LONG2.Value));

[SSR_EDIT_CLASS_FL.GBL.SSR_ED_CLASS_FL.SSR_MORE_CLASS3_FL.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL &objEditClasses;

&objEditClasses.SSR_ED_CLASS_FL_SSR_MORE_CLASS_FL__FieldChange(Value(SSR_ED_CLASS_F
L.SSR_CLASS_LONG3.Value));

[SSR_EDIT_CLASS_FL.GBL.SSR_ED_CLASS_FL.SSR_MORE_CLASS4_FL.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL &objEditClasses;

&objEditClasses.SSR_ED_CLASS_FL_SSR_MORE_CLASS_FL__FieldChange(Value(SSR_ED_CLASS_F
L.SSR_CLASS_LONG4.Value));

[SSR_EDIT_CLASS_FL.GBL.SSR_ED_CLASS_FL.SSR_MORE_CLASS5_FL.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL &objEditClasses;

&objEditClasses.SSR_ED_CLASS_FL_SSR_MORE_CLASS_FL__FieldChange(Value(SSR_ED_CLASS_F
L.SSR_CLASS_LONG5.Value));

[SSR_EDIT_CLASS_FL.GBL.SSR_ENTRMCUR_VW.TERM_DESCR30.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL &objEditClasses;

&objEditClasses.SSR_ENTRMCUR_VW_TERM_DESCR30__FieldChange();

[SSR_EDIT_CLASS_FL.GBL.SSR_STENRL_SSV2.CLASS_NBR.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_EDIT_CLASS_FL &objEditClasses;

&objEditClasses.SSR_ED_CLASS_FL_SSR_CLASS_MAIN__FieldChange();

[SSR_EDIT_CLSPRF_FL.GBL.DERIVED_SSR_FL.SSR_SELECT.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_CLSPRF_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_CLSPRF_FL
&objEditPrefClasses;
&objEditPrefClasses.DERIVED_SSR_FL_SSR_SELECT_FieldChange();

[SSR_EDIT_CLSPRF_FL.GBL.PostBuild]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_CLSPRF_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_CLSPRF_FL
&objEditPrefClasses;

&objEditPrefClasses.Postbuild();

[SSR_EDIT_CLSPRF_FL.GBL.PreBuild]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_CLSPRF_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_CLSPRF_FL
&objEditPrefClasses;

&objEditPrefClasses = create
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_CLSPRF_FL( True);

[SSR_EDIT_CLSPRF_FL.GBL.SSR_ENRL_FL_WRK.SSR_PERM_NBR_INFO.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_CLSPRF_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_CLSPRF_FL
&objEditPrefClasses;

&objEditPrefClasses.SSR_ENRL_FL_WRK_SSR_PERM_NBR_INFO_FieldChange();

[SSR_EDIT_CLSPRF_FL.GBL.SSR_ENRL_FL_WRK.SSR_WAIT_LIST_INFO.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_CLSPRF_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_CLSPRF_FL
&objEditPrefClasses;

&objEditPrefClasses.SSR_ENRL_FL_WRK_SSR_WAIT_LIST_INFO_FieldChange();

[SSR_EDIT_REVIEW_FL.GBL.DERIVED_SSR_FL.SSR_CL_DTLS_LFF.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_SUBMIT_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_SUBMIT_FL
&objEditSubmitClasses;

&objEditSubmitClasses.DERIVED_SSR_FL_SSR_CL_DTLS_LFF__FieldChange();

[SSR_EDIT_REVIEW_FL.GBL.DERIVED_SSR_FL.SSR_CL_DTLS_OPT.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_SUBMIT_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_SUBMIT_FL
&objEditSubmitClasses;

&objEditSubmitClasses.DERIVED_SSR_FL__SSR_CL_DTLS_OPT_FieldChange();

[SSR_EDIT_REVIEW_FL.GBL.DERIVED_SSR_FL.SSR_INSTR_FL.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_SUBMIT_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_SUBMIT_FL
&objEditSubmitClasses;

&objEditSubmitClasses.DERIVED_SSR_FL_SSR_INSTR_FL__FieldChange();

[SSR_EDIT_REVIEW_FL.GBL.DERIVED_SSR_FL.SSR_INSTR_NME_FL.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_SUBMIT_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_SUBMIT_FL
&objEditSubmitClasses;

&objEditSubmitClasses.DERIVED_SSR_FL_SSR_INSTR_NME_FL__FieldChange();

[SSR_EDIT_REVIEW_FL.GBL.ENRL_REQ_HEADER.SavePreChange]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_SUBMIT_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_SUBMIT_FL
&objEditSubmitClasses;

&objEditSubmitClasses.ENRL_REQ_HEADER_SavePreChange();

[SSR_EDIT_REVIEW_FL.GBL.PostBuild]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_SUBMIT_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_SUBMIT_FL
&objEditSubmitClasses;

&objEditSubmitClasses.PostBuild();

[SSR_EDIT_REVIEW_FL.GBL.PreBuild]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_SUBMIT_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_SUBMIT_FL
&objEditSubmitClasses;

&objEditSubmitClasses = create
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_SUBMIT_FL();

[SSR_EDIT_REVIEW_FL.GBL.SSR_DER1_MTG_FL.SSR_MTGINFO_DATA.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_SUBMIT_FL;
ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_SUBMIT_FL
&objEditSubmitClasses;

&objEditSubmitClasses.SSR_DER1_MTG_FL_SSR_MTGINFO_DATA__FieldChange();

[SSR_EDIT_REVIEW_FL.GBL.SSR_ENRL_FL_WRK.SUBMIT_PB.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_SUBMIT_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_EDIT_SUBMIT_FL
&objEditSubmitClasses;

&objEditSubmitClasses.SSR_ENRL_FL_WRK__SUBMIT_PB_FieldChange();

[SSR_ENRL_ACAR_FL.GBL.DERIVED_SSR_FL.SSR_SELECT.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_ACAR_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_ACAR_FL
&oSelectAcademicCareer;

&oSelectAcademicCareer.DERIVED_SSR_FL__SSR_SELECT_FieldChange();

[SSR_ENRL_ACAR_FL.GBL.PreBuild]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_ACAR_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_ACAR_FL
&oSelectAcademicCareer;

&oSelectAcademicCareer = create
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_ACAR_FL();

[SSR_ENRL_ACAR_FL.GBL.SavePreChange]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_ACAR_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_ACAR_FL
&oSelectAcademicCareer;

&oSelectAcademicCareer.SavePreChange();

[SSR_ENRL_CART_FL.GBL.PreBuild]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_CART_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_CART_FL
&oEnrollOrAddToCart;

&oEnrollOrAddToCart = create
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_CART_FL();
[SSR_ENRL_CART_FL.GBL.SSR_ENRL_FL_WRK.SSR_ENRL_OPTN.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_CART_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_CART_FL
&oEnrollOrAddToCart;

&oEnrollOrAddToCart.SSR_ENRL_FL_WRK_SSR_ENRL_OPTN_FieldChange();

[SSR_ENRL_PREF_FL.GBL.DERIVED_CLS_DTL.ACAD_PROG.FieldEdit]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_PREF_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_PREF_FL
&oReviewEnrollmentPreferences;

&oReviewEnrollmentPreferences.DERIVED_CLS_DTL_ACAD_PROG_FieldEdit();

[SSR_ENRL_PREF_FL.GBL.DERIVED_CLS_DTL.CLASS_PRMSN_NBR.FieldEdit]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_PREF_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_PREF_FL
&oReviewEnrollmentPreferences;

&oReviewEnrollmentPreferences.DERIVED_CLS_DTL_CLASS_PRMSN_NBR_FieldEdit();

[SSR_ENRL_PREF_FL.GBL.DERIVED_CLS_DTL.INSTRUCTOR_ID.FieldEdit]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_PREF_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_PREF_FL
&oReviewEnrollmentPreferences;

&oReviewEnrollmentPreferences.DERIVED_CLS_DTL_INSTRUCTOR_ID_FieldEdit();

[SSR_ENRL_PREF_FL.GBL.DERIVED_CLS_DTL.RQMNT_DESIGNTN_OPT.FieldEdit]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_PREF_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_PREF_FL
&oReviewEnrollmentPreferences;

&oReviewEnrollmentPreferences.DERIVED_CLS_DTL_RQMNT_DESIGNTN_OPT_FieldEdit();

[SSR_ENRL_PREF_FL.GBL.DERIVED_CLS_DTL.SSR_GRADE_BASIS_SS.FieldEdit]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_PREF_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_PREF_FL
&oReviewEnrollmentPreferences;

&oReviewEnrollmentPreferences.DERIVED_CLS_DTL_SSR_GRADE_BASIS_SS_FieldEdit();
[SSR_ENRL_PREF_FL.GBL.DERIVED_CLS_DTL.SSR_UNT_TAKEN_CHAR.FieldEdit]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_PREF_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_PREF_FL
&oReviewEnrollmentPreferences;

&oReviewEnrollmentPreferences.DERIVED_CLS_DTL_SSR_UNT_TAKEN_CHAR_FieldEdit();

[SSR_ENRL_PREF_FL.GBL.DERIVED_CLS_DTL.START_DT.FieldEdit]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_PREF_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_PREF_FL
&oReviewEnrollmentPreferences;

&oReviewEnrollmentPreferences.DERIVED_CLS_DTL_START_DT_FieldEdit();

[SSR_ENRL_PREF_FL.GBL.DERIVED_CLS_DTL.WAIT_LIST_OKAY.FieldEdit]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_PREF_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_PREF_FL
&oReviewEnrollmentPreferences;

&oReviewEnrollmentPreferences.DERIVED_CLS_DTL_WAIT_LIST_OKAY_FieldEdit();

[SSR_ENRL_PREF_FL.GBL.DERIVED_SSR_FL.SSR_SELECT.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_PREF_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_PREF_FL
&oReviewEnrollmentPreferences;

&oReviewEnrollmentPreferences.DERIVED_SSR_FL_SSR_SELECT_FieldChange();

[SSR_ENRL_PREF_FL.GBL.PreBuild]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_PREF_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_PREF_FL
&oReviewEnrollmentPreferences;

&oReviewEnrollmentPreferences = create
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_PREF_FL();

[SSR_ENRL_PREF_FL.GBL.SSR_ENRL_FL_WRK.SSR_PERM_NBR_INFO.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_PREF_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_PREF_FL
&oReviewEnrollmentPreferences;
&oReviewEnrollmentPreferences.SSR_ENRL_FL_WRK_SSR_PERM_NBR_INFO_FieldChange();

[SSR_ENRL_PREF_FL.GBL.SSR_ENRL_FL_WRK.SSR_WAIT_LIST_INFO.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_PREF_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_PREF_FL
&oReviewEnrollmentPreferences;

&oReviewEnrollmentPreferences.SSR_ENRL_FL_WRK_SSR_WAIT_LIST_INFO_FieldChange();

[SSR_ENRL_SELECT_FL.GBL.DERIVED_SSR_FL.SSR_CL_DTLS_LFF.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_SELECT_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_SELECT_FL
&oReviewClassSelection;

&oReviewClassSelection.DERIVED_SSR_FL_SSR_CL_DTLS_LFF__FieldChange();

[SSR_ENRL_SELECT_FL.GBL.DERIVED_SSR_FL.SSR_CL_DTLS_OPT.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_SELECT_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_SELECT_FL
&oReviewClassSelection;

&oReviewClassSelection.DERIVED_SSR_FL__SSR_CL_DTLS_OPT_FieldChange();

[SSR_ENRL_SELECT_FL.GBL.DERIVED_SSR_FL.SSR_INSTR_FL.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_SELECT_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_SELECT_FL
&oReviewClassSelection;

&oReviewClassSelection.DERIVED_SSR_FL_SSR_INSTR_FL__FieldChange();

[SSR_ENRL_SELECT_FL.GBL.DERIVED_SSR_FL.SSR_INSTR_NME_FL.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_SELECT_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_SELECT_FL
&oReviewClassSelection;

&oReviewClassSelection.DERIVED_SSR_FL_SSR_INSTR_NME_FL__FieldChange();

[SSR_ENRL_SELECT_FL.GBL.DERIVED_SSR_FL.SSR_MORE_CLASS_FL.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_SELECT_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_SELECT_FL
&oReviewClassSelection;

&oReviewClassSelection.DERIVED_SSR_FL_SSR_MORE_CLASS_FL__FieldChange();

[SSR_ENRL_SELECT_FL.GBL.DERIVED_SSR_FL.SSR_SBJ_CAT_NBR.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_SELECT_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_SELECT_FL
&oReviewClassSelection;

&oReviewClassSelection.DERIVED_SSR_FL_SSR_SBJ_CAT_NBR_FieldChange();

[SSR_ENRL_SELECT_FL.GBL.PreBuild]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_SELECT_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_SELECT_FL
&oReviewClassSelection;

&oReviewClassSelection = create
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_SELECT_FL();

[SSR_ENRL_SELECT_FL.GBL.SSR_DER1_MTG_FL.SSR_MTGINFO_DATA.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_SELECT_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_SELECT_FL
&oReviewClassSelection;

&oReviewClassSelection.SSR_DER1_MTG_FL_SSR_MTGINFO_DATA__FieldChange();

[SSR_ENRL_SUBMIT_FL.GBL.ENRL_REQ_HEADER.SavePreChange]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_SUBMIT_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_SUBMIT_FL
&oReviewAndSubmit;

&oReviewAndSubmit.ENRL_REQ_HEADER_SavePreChange();

[SSR_ENRL_SUBMIT_FL.GBL.PostBuild]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_SUBMIT_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_SUBMIT_FL
&oReviewAndSubmit;

&oReviewAndSubmit.PostBuild();

[SSR_ENRL_SUBMIT_FL.GBL.PreBuild]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_SUBMIT_FL;
ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_SUBMIT_FL
&oReviewAndSubmit;

&oReviewAndSubmit = create
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_SUBMIT_FL();

[SSR_ENRL_SUBMIT_FL.GBL.SSR_ENRL_FL_WRK.SUBMIT_PB.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_SUBMIT_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_ENRL_SUBMIT_FL
&oReviewAndSubmit;

&oReviewAndSubmit.SSR_ENRL_FL_WRK__SUBMIT_PB_FieldChange();

[SSR_MD_CLS_SRCH_FL.GBL.PostBuild]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_MD_CLS_SRCH_FL;

Component SSR_MANAGE_CLASSES:COMPONENTS:SSR_MD_CLS_SRCH_FL &oClassSearchMD;

&oClassSearchMD.PostBuild();

[SSR_MD_CLS_SRCH_FL.GBL.PreBuild]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_MD_CLS_SRCH_FL;

Component SSR_MANAGE_CLASSES:COMPONENTS:SSR_MD_CLS_SRCH_FL &oClassSearchMD;

&oClassSearchMD = create SSR_MANAGE_CLASSES:COMPONENTS:SSR_MD_CLS_SRCH_FL();

[SSR_MD_CRSEINFO_FL.GBL.PostBuild]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_MD_CRSEINFO_FL;

Component SSR_MANAGE_CLASSES:COMPONENTS:SSR_MD_CRSEINFO_FL &oCourseInformationMD;

&oCourseInformationMD.PostBuild();

[SSR_MD_CRSEINFO_FL.GBL.PreBuild]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_MD_CRSEINFO_FL;

Component SSR_MANAGE_CLASSES:COMPONENTS:SSR_MD_CRSEINFO_FL &oCourseInformationMD;

&oCourseInformationMD = create SSR_MANAGE_CLASSES:COMPONENTS:SSR_MD_CRSEINFO_FL();

[SSR_MD_SP_FL.GBL.PostBuild]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_MD_SP_FL;

Component SSR_MANAGE_CLASSES:COMPONENTS:SSR_MD_SP_FL &objMDStartPage;

&objMDStartPage.PostBuild();

[SSR_MD_SP_FL.GBL.PreBuild]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_MD_SP_FL;

Component SSR_MANAGE_CLASSES:COMPONENTS:SSR_MD_SP_FL &objMDStartPage;

&objMDStartPage = create SSR_MANAGE_CLASSES:COMPONENTS:SSR_MD_SP_FL();

[SSR_SHOP_CART_FL.GBL.DERIVED_REGFRM1.SSR_CLASSNAME_35.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.DERIVED_REGFRM1_SSR_CLASSNAME_35__FieldChange();

[SSR_SHOP_CART_FL.GBL.DERIVED_SSR_FL.SSR_CANCEL_BTN.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.DERIVED_SSR_FL_SSR_CANCEL_BTN__FieldChange();

[SSR_SHOP_CART_FL.GBL.DERIVED_SSR_FL.SSR_CHANGE_BTN.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL;
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;


ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL &objManageClasses;

Evaluate %Component
When Component.SSR_COMPONENT_FL
&objManageClasses.DERIVED_SSR_FL__SSR_CHANGE_BTN_FieldChange();
When Component.SSR_SHOP_CART_FL
&objShopCart.DERIVED_SSR_FL__SSR_CHANGE_BTN_FieldChange();
End-Evaluate;

[SSR_SHOP_CART_FL.GBL.DERIVED_SSR_FL.SSR_CLASSNAME_LONG.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.DERIVED_SSR_FL_SSR_CLASSNAME_LONG__FieldChange();

[SSR_SHOP_CART_FL.GBL.DERIVED_SSR_FL.SSR_CLASS_DTL_BTN.FieldChange]
<*import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.DERIVED_SSR_FL__SSR_CLASS_DTL_BTN_FieldChange();*>

[SSR_SHOP_CART_FL.GBL.DERIVED_SSR_FL.SSR_CL_DTLS_LFF.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;


&objShopCart.DERIVED_SSR_FL_SSR_CL_DTLS_LFF__FieldChange();

[SSR_SHOP_CART_FL.GBL.DERIVED_SSR_FL.SSR_CL_DTLS_OPT.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.DERIVED_SSR_FL__SSR_CL_DTLS_OPT_FieldChange();

[SSR_SHOP_CART_FL.GBL.DERIVED_SSR_FL.SSR_DELETE_FL.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.DERIVED_SSR_FL_SSR_DELETE_BTN__FieldChange();

[SSR_SHOP_CART_FL.GBL.DERIVED_SSR_FL.SSR_DONE_BTN.FieldChange]
<* import SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL &objManageClasses;

&objManageClasses.SavePreChange();
*>

import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.DERIVED_SSR_FL_SSR_DONE_BTN_FieldChange();

[SSR_SHOP_CART_FL.GBL.DERIVED_SSR_FL.SSR_ENRL_DCW.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.DERIVED_SSR_FL_SSR_ENRL_DCW__FieldChange();

[SSR_SHOP_CART_FL.GBL.DERIVED_SSR_FL.SSR_ENROLL_FL.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.DERIVED_SSR_FL_SSR_ENROLL_FL__FieldChange();

[SSR_SHOP_CART_FL.GBL.DERIVED_SSR_FL.SSR_GRPSBJ_LBL.FieldEdit]
<*import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objManageClasses.DERIVED_SSR_FL__SSR_GRPSBJ_LBL_FieldChange();*>
[SSR_SHOP_CART_FL.GBL.DERIVED_SSR_FL.SSR_INSTR_FL.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.DERIVED_SSR_FL_SSR_INSTR_FL__FieldChange();

[SSR_SHOP_CART_FL.GBL.DERIVED_SSR_FL.SSR_INSTR_NME_FL.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.DERIVED_SSR_FL_SSR_INSTR_NME_FL__FieldChange();

[SSR_SHOP_CART_FL.GBL.DERIVED_SSR_FL.SSR_MORE_CLASS_FL.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.DERIVED_SSR_FL_SSR_MORE_CLASS_FL__FieldChange();

[SSR_SHOP_CART_FL.GBL.DERIVED_SSR_FL.SSR_RETURN_PB_FL.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.DERIVED_SSR_FL__SSR_RETURN_PB_FL_FieldChange();

[SSR_SHOP_CART_FL.GBL.DERIVED_SSR_FL.SSR_SBJ_CAT_NBR.FieldChange]
<*import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.DERIVED_SSR_FL__SSR_CLASS_DTL_BTN_FieldChange();
*>

[SSR_SHOP_CART_FL.GBL.DERIVED_SSR_FL.SSR_SELECT.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.DERIVED_SSR_FL__SSR_SELECT_FieldChange();

[SSR_SHOP_CART_FL.GBL.DERIVED_SSR_FL.SSR_VALIDATE_FL.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.DERIVED_SSR_FL_SSR_VALIDATE_FL__FieldChange();

[SSR_SHOP_CART_FL.GBL.ENRL_REQ_HEADER.SavePreChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.ENRL_REQ_HEADER_SavePreChange();

[SSR_SHOP_CART_FL.GBL.PostBuild]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.PostBuild();

[SSR_SHOP_CART_FL.GBL.PreBuild]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart = create SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL( True);

[SSR_SHOP_CART_FL.GBL.SSR_CART_TRM_FL.TERM_DESCR30.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.SSR_CART_TRM_FL_TERM_DESCR30__FieldChange();

[SSR_SHOP_CART_FL.GBL.SSR_CLS_PREF_WK.SSR_MUL_MTG_LNK.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.SSR_CLS_PREF_WK__SSR_MUL_MTG_LINK_FieldChange();

[SSR_SHOP_CART_FL.GBL.SSR_CSTRMCUR_VW.DESCR.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.DERIVED_SSR_FL__MORE_BUTTON_FieldChange("C");

[SSR_SHOP_CART_FL.GBL.SSR_CSTRMPRV_VW.DESCR.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.DERIVED_SSR_FL__MORE_BUTTON_FieldChange("P");

[SSR_SHOP_CART_FL.GBL.SSR_CSTRMSTD2VW.DESCR.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;


&objShopCart.DERIVED_SSR_FL__MORE_BUTTON_FieldChange("P");

[SSR_SHOP_CART_FL.GBL.SSR_DER1_MTG_FL.SSR_MTGINFO_DATA.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.SSR_DER1_MTG_FL_SSR_MTGINFO_DATA__FieldChange();

[SSR_SHOP_CART_FL.GBL.SSR_ENRL_FL_WRK.SSR_PERM_NBR_INFO.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.SSR_ENRL_FL_WRK_SSR_PERM_NBR_INFO_FieldChange();

[SSR_SHOP_CART_FL.GBL.SSR_ENRL_FL_WRK.SSR_WAIT_LIST_INFO.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.SSR_ENRL_FL_WRK_SSR_WAIT_LIST_INFO_FieldChange();

[SSR_SHOP_CART_FL.GBL.SSR_ENTRMCUR_VW.TERM_DESCR30.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.DERIVED_SSR_FL__MORE_BUTTON_FieldChange("C");

[SSR_SHOP_CART_FL.GBL.SSR_ENTRMPRV_VW.TERM_DESCR30.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.DERIVED_SSR_FL__MORE_BUTTON_FieldChange("P");

[SSR_SHOP_CART_FL.GBL.SSR_ENTRMSTD_VW.TERM_DESCR30.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.DERIVED_SSR_FL__MORE_BUTTON_FieldChange("I");

[SSR_SHOP_CART_FL.GBL.SSR_REGFORM_WRK.SSR_CLASSNAME_35.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.SSR_REGFORM_WRK_SSR_CLASSNAME_35__FieldChange();
[SSR_SHOP_CART_FL.GBL.SSR_REGFORM_WRK.SSR_MORE_CLASS_FL.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.SSR_REGFORM_WRK__SSR_MORE_CLASS_FL_FieldChange();

[SSR_SHOP_CART_FL.GBL.SSR_REGFORM_WRK.SSR_SBJ_CAT_NBR.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.SSR_REGFORM_WRK__SSR_SBJ_CAT_NBR_FieldChange();

[SSR_SHOP_CART_FL1.GBL.DERIVED_REGFRM1.SSR_CLASSNAME_35.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.DERIVED_REGFRM1_SSR_CLASSNAME_35__FieldChange();

[SSR_SHOP_CART_FL1.GBL.DERIVED_SSR_FL.SSR_CANCEL_BTN.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.DERIVED_SSR_FL_SSR_CANCEL_BTN__FieldChange();

[SSR_SHOP_CART_FL1.GBL.DERIVED_SSR_FL.SSR_CHANGE_BTN.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL;
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;


ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL &objManageClasses;

Evaluate %Component
When Component.SSR_COMPONENT_FL
&objManageClasses.DERIVED_SSR_FL__SSR_CHANGE_BTN_FieldChange();
When Component.SSR_SHOP_CART_FL
&objShopCart.DERIVED_SSR_FL__SSR_CHANGE_BTN_FieldChange();
End-Evaluate;

[SSR_SHOP_CART_FL1.GBL.DERIVED_SSR_FL.SSR_CLASSNAME_LONG.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.DERIVED_SSR_FL_SSR_CLASSNAME_LONG__FieldChange();

[SSR_SHOP_CART_FL1.GBL.DERIVED_SSR_FL.SSR_CLASS_DTL_BTN.FieldChange]
<*import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;
ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.DERIVED_SSR_FL__SSR_CLASS_DTL_BTN_FieldChange();*>

[SSR_SHOP_CART_FL1.GBL.DERIVED_SSR_FL.SSR_CL_DTLS_LFF.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.DERIVED_SSR_FL_SSR_CL_DTLS_LFF__FieldChange();

[SSR_SHOP_CART_FL1.GBL.DERIVED_SSR_FL.SSR_CL_DTLS_OPT.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.DERIVED_SSR_FL__SSR_CL_DTLS_OPT_FieldChange();

[SSR_SHOP_CART_FL1.GBL.DERIVED_SSR_FL.SSR_DELETE_FL.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.DERIVED_SSR_FL_SSR_DELETE_BTN__FieldChange();

[SSR_SHOP_CART_FL1.GBL.DERIVED_SSR_FL.SSR_DONE_BTN.FieldChange]
<* import SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_COMPONENT_FL &objManageClasses;

&objManageClasses.SavePreChange();
*>

import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.DERIVED_SSR_FL_SSR_DONE_BTN_FieldChange();

[SSR_SHOP_CART_FL1.GBL.DERIVED_SSR_FL.SSR_ENRL_DCW.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.DERIVED_SSR_FL_SSR_ENRL_DCW__FieldChange();

[SSR_SHOP_CART_FL1.GBL.DERIVED_SSR_FL.SSR_ENROLL_FL.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;


&objShopCart.DERIVED_SSR_FL_SSR_ENROLL_FL__FieldChange();

[SSR_SHOP_CART_FL1.GBL.DERIVED_SSR_FL.SSR_GRPSBJ_LBL.FieldEdit]
<*import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objManageClasses.DERIVED_SSR_FL__SSR_GRPSBJ_LBL_FieldChange();*>

[SSR_SHOP_CART_FL1.GBL.DERIVED_SSR_FL.SSR_INSTR_FL.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.DERIVED_SSR_FL_SSR_INSTR_FL__FieldChange();

[SSR_SHOP_CART_FL1.GBL.DERIVED_SSR_FL.SSR_INSTR_NME_FL.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.DERIVED_SSR_FL_SSR_INSTR_NME_FL__FieldChange();

[SSR_SHOP_CART_FL1.GBL.DERIVED_SSR_FL.SSR_MORE_CLASS_FL.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.DERIVED_SSR_FL_SSR_MORE_CLASS_FL__FieldChange();

[SSR_SHOP_CART_FL1.GBL.DERIVED_SSR_FL.SSR_RETURN_PB_FL.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.DERIVED_SSR_FL__SSR_RETURN_PB_FL_FieldChange();

[SSR_SHOP_CART_FL1.GBL.DERIVED_SSR_FL.SSR_SBJ_CAT_NBR.FieldChange]
<*import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.DERIVED_SSR_FL__SSR_CLASS_DTL_BTN_FieldChange();
*>

[SSR_SHOP_CART_FL1.GBL.DERIVED_SSR_FL.SSR_SELECT.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.DERIVED_SSR_FL__SSR_SELECT_FieldChange();
[SSR_SHOP_CART_FL1.GBL.DERIVED_SSR_FL.SSR_VALIDATE_FL.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.DERIVED_SSR_FL_SSR_VALIDATE_FL__FieldChange();

[SSR_SHOP_CART_FL1.GBL.ENRL_REQ_HEADER.SavePreChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.ENRL_REQ_HEADER_SavePreChange();

[SSR_SHOP_CART_FL1.GBL.PostBuild]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.PostBuild();

[SSR_SHOP_CART_FL1.GBL.PreBuild]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart = create SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL( True);

[SSR_SHOP_CART_FL1.GBL.SSR_CART_TRM_FL.TERM_DESCR30.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.SSR_CART_TRM_FL_TERM_DESCR30__FieldChange();

[SSR_SHOP_CART_FL1.GBL.SSR_CLS_PREF_WK.SSR_MUL_MTG_LNK.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.SSR_CLS_PREF_WK__SSR_MUL_MTG_LINK_FieldChange();

[SSR_SHOP_CART_FL1.GBL.SSR_CSTRMCUR_VW.DESCR.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.DERIVED_SSR_FL__MORE_BUTTON_FieldChange("C");

[SSR_SHOP_CART_FL1.GBL.SSR_CSTRMPRV_VW.DESCR.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;
ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.DERIVED_SSR_FL__MORE_BUTTON_FieldChange("P");

[SSR_SHOP_CART_FL1.GBL.SSR_CSTRMSTD2VW.DESCR.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.DERIVED_SSR_FL__MORE_BUTTON_FieldChange("P");

[SSR_SHOP_CART_FL1.GBL.SSR_DER1_MTG_FL.SSR_MTGINFO_DATA.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.SSR_DER1_MTG_FL_SSR_MTGINFO_DATA__FieldChange();

[SSR_SHOP_CART_FL1.GBL.SSR_ENRL_FL_WRK.SSR_PERM_NBR_INFO.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.SSR_ENRL_FL_WRK_SSR_PERM_NBR_INFO_FieldChange();

[SSR_SHOP_CART_FL1.GBL.SSR_ENRL_FL_WRK.SSR_WAIT_LIST_INFO.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.SSR_ENRL_FL_WRK_SSR_WAIT_LIST_INFO_FieldChange();

[SSR_SHOP_CART_FL1.GBL.SSR_ENTRMCUR_VW.TERM_DESCR30.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.DERIVED_SSR_FL__MORE_BUTTON_FieldChange("C");

[SSR_SHOP_CART_FL1.GBL.SSR_ENTRMPRV_VW.TERM_DESCR30.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.DERIVED_SSR_FL__MORE_BUTTON_FieldChange("P");

[SSR_SHOP_CART_FL1.GBL.SSR_ENTRMSTD_VW.TERM_DESCR30.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;


&objShopCart.DERIVED_SSR_FL__MORE_BUTTON_FieldChange("I");

[SSR_SHOP_CART_FL1.GBL.SSR_REGFORM_WRK.SSR_CLASSNAME_35.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.SSR_REGFORM_WRK_SSR_CLASSNAME_35__FieldChange();

[SSR_SHOP_CART_FL1.GBL.SSR_REGFORM_WRK.SSR_MORE_CLASS_FL.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.SSR_REGFORM_WRK__SSR_MORE_CLASS_FL_FieldChange();

[SSR_SHOP_CART_FL1.GBL.SSR_REGFORM_WRK.SSR_SBJ_CAT_NBR.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SHOP_CART_FL &objShopCart;

&objShopCart.SSR_REGFORM_WRK__SSR_SBJ_CAT_NBR_FieldChange();

[SSR_START_PAGE_FL.GBL.DERIVED_SSR_FL.SSR_BTN1_FL.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_START_PAGE_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_START_PAGE_FL &objStartPage;

&objStartPage.DERIVED_SSR_FL_SSR_BTN1_FL_FieldChange();

[SSR_START_PAGE_FL.GBL.PostBuild]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_START_PAGE_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_START_PAGE_FL &objStartPage;

&objStartPage.PostBuild();

[SSR_START_PAGE_FL.GBL.PreBuild]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_START_PAGE_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_START_PAGE_FL &objStartPage;

&objStartPage = create SSR_MANAGE_CLASSES:COMPONENTS:SSR_START_PAGE_FL();

[SSR_START_PAGE_FL.GBL.SCC_LO_FL_WRK.SCC_VIEW_BTN.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_START_PAGE_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_START_PAGE_FL &objStartPage;

&objStartPage.SCC_LO_FL_WRK_SCC_VIEW_BTN_FieldChange();
[SSR_SWAP_CLASS_FL.GBL.DERIVED_REGFRM1.SSR_CLASSNAME_35.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SWAP_CLASS_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SWAP_CLASS_FL &oSwapClasses;

&oSwapClasses.DERIVED_REGFRM1__SSR_CLASSNAME_35_FieldChange();

[SSR_SWAP_CLASS_FL.GBL.DERIVED_SSR_FL.SSR_CHANGE_BTN.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SWAP_CLASS_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SWAP_CLASS_FL &oSwapClasses;

&oSwapClasses.DERIVED_SSR_FL__SSR_CHANGE_BTN_FieldChange();

[SSR_SWAP_CLASS_FL.GBL.DERIVED_SSR_FL.SSR_CLS_SRCH_TYPE.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SWAP_CLASS_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SWAP_CLASS_FL &oSwapClasses;

&oSwapClasses.DERIVED_SSR_FL__SSR_CLS_SRCH_TYPE_FieldChange();

[SSR_SWAP_CLASS_FL.GBL.DERIVED_SSR_FL.SSR_RETURN_PB_FL.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SWAP_CLASS_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SWAP_CLASS_FL &oSwapClasses;

&oSwapClasses.DERIVED_SSR_FL__SSR_RETURN_PB_FL_FieldChange();

[SSR_SWAP_CLASS_FL.GBL.DERIVED_SSS_SCT.SSS_TERM_LINK.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SWAP_CLASS_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SWAP_CLASS_FL &oSwapClasses;

&oSwapClasses.DERIVED_SSS_SCR__SSS_TERM_LINK_FieldChange();

[SSR_SWAP_CLASS_FL.GBL.PostBuild]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SWAP_CLASS_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SWAP_CLASS_FL &oSwapClasses;

&oSwapClasses.PostBuild();

[SSR_SWAP_CLASS_FL.GBL.PreBuild]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SWAP_CLASS_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SWAP_CLASS_FL &oSwapClasses;

&oSwapClasses = create SSR_MANAGE_CLASSES:COMPONENTS:SSR_SWAP_CLASS_FL();

&oSwapClasses.PreBuild();

[SSR_SWAP_CLASS_FL.GBL.SSR_ENTRMCUR_VW.TERM_DESCR30.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SWAP_CLASS_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SWAP_CLASS_FL &oSwapClasses;

&oSwapClasses.SSR_ENTRMCUR_VW__TERM_DESCR30_FieldChange();

[SSR_SWAP_CLASS_FL.GBL.SSR_SWAP_FL_WRK.SSR_PB_SRCH.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SWAP_CLASS_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SWAP_CLASS_FL &oSwapClasses;

&oSwapClasses.SSR_SWAP_FL_WRK__SSR_PB_SRCH_FieldChange();

[SSR_SWAP_CLSRCH_FL.GBL.PostBuild]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SWAP_CLSRCH_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SWAP_CLSRCH_FL
&oSwapClasses_ClassSearch;

&oSwapClasses_ClassSearch.PostBuild();

[SSR_SWAP_CLSRCH_FL.GBL.PreBuild]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SWAP_CLSRCH_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SWAP_CLSRCH_FL
&oSwapClasses_ClassSearch;

&oSwapClasses_ClassSearch = create
SSR_MANAGE_CLASSES:COMPONENTS:SSR_SWAP_CLSRCH_FL();

&oSwapClasses_ClassSearch.PreBuild();

[SSR_SWAP_CLSRCH_FL.GBL.SSR_CLSRCH_FLDS.PTS_SRCH_BTN.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SWAP_CLSRCH_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SWAP_CLSRCH_FL
&oSwapClasses_ClassSearch;

&oSwapClasses_ClassSearch.SSR_CLSRCH_FLDS__PTS_SRCH_BTN_FieldChange();

[SSR_SWAP_CLSRCH_FL.GBL.SSR_CLSRCH_F_WK.SSR_DELETE_ALL.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SWAP_CLSRCH_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SWAP_CLSRCH_FL
&oSwapClasses_ClassSearch;

&oSwapClasses_ClassSearch.SSR_CLSRCH_F_WK__SSR_DELETE_ALL_FieldChange();

[SSR_SWAP_CLSRCH_FL.GBL.SSR_CLSRCH_F_WK.SSR_DELETE_ALL2.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SWAP_CLSRCH_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SWAP_CLSRCH_FL
&oSwapClasses_ClassSearch;
&oSwapClasses_ClassSearch.SSR_CLSRCH_F_WK__SSR_DELETE_ALL2_FieldChange();

[SSR_SWAP_CLSRCH_FL.GBL.SSR_CLSRCH_WRK.SSS_SUBJ_CATLG.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_SWAP_CLSRCH_FL;

ComponentLife SSR_MANAGE_CLASSES:COMPONENTS:SSR_SWAP_CLSRCH_FL
&oSwapClasses_ClassSearch;

&oSwapClasses_ClassSearch.SSR_CLSRCH_WRK__SSS_SUBJ_CATLG_FieldChange();

[SSR_SWAP_CONFRM_FL.GBL.ENRL_REQ_HEADER.SavePreChange]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_SWAP_CONFRM_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_SWAP_CONFRM_FL
&oConfirmSwapClass;

&oConfirmSwapClass.ENRL_REQ_HEADER_SavePreChange();

[SSR_SWAP_CONFRM_FL.GBL.PostBuild]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_SWAP_CONFRM_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_SWAP_CONFRM_FL
&oConfirmSwapClass;

&oConfirmSwapClass.PostBuild();

[SSR_SWAP_CONFRM_FL.GBL.PreBuild]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_SWAP_CONFRM_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_SWAP_CONFRM_FL
&oConfirmSwapClass;

&oConfirmSwapClass = create
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_SWAP_CONFRM_FL();

[SSR_SWAP_CONFRM_FL.GBL.SSR_ENRL_FL_WRK.SUBMIT_PB.FieldChange]
import SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_SWAP_CONFRM_FL;

ComponentLife
SSR_MANAGE_CLASSES:COMPONENTS:ActivityGuide_ActionItems:SSR_SWAP_CONFRM_FL
&oConfirmSwapClass;

&oConfirmSwapClass.SSR_ENRL_FL_WRK__SUBMIT_PB_FieldChange();

[SSR_AG_DROP_CLASSES_FL.PageletProcessingAdapter.PageletNavigationButtonAdapter.OnE
xecute]
import PTAI_ACTION_ITEMS:AGInterface;
import PTAI_ACTION_ITEMS:List;
import SSR_MANAGE_CLASSES:UTIL:GlobalVariables;
class PageletNavigationButtonAdapter implements PTAI_ACTION_ITEMS:AGInterface
method ExitAGProcess(&list_id As string);
end-class;

Global SSR_MANAGE_CLASSES:UTIL:GlobalVariables &oManageClassesGlobalVars;

method ExitAGProcess
/+ &list_id as String +/
Local PTAI_ACTION_ITEMS:List &list = create PTAI_ACTION_ITEMS:List();
Local PTAI_ACTION_ITEMS:List &ObjList;
Local boolean &bDeleted;

&list.open(&list_id);

&ObjList = create PTAI_ACTION_ITEMS:List();


&ObjList.open(&list_id);

&bDeleted = &ObjList.delete();

&oManageClassesGlobalVars.sTabID = ""; /* So that it defaults to View My Classes


tab */

end-method;

[SSR_AG_EDIT_CLASSES_FL.ActionItemProcessingAdapter.ReviewClassesToEdit.OnExecute]
import PTAI_ACTION_ITEMS:AGInterface;
import PTAI_ACTION_ITEMS:ActionItem;
import PTAI_ACTION_ITEMS:Constants;
import PTAI_ACTION_ITEMS:List;
import SSR_MANAGE_CLASSES:UTIL:GlobalVariables;

class ReviewClassesToEdit implements PTAI_ACTION_ITEMS:AGInterface


method ItemPostProcess(&list_id As string, &item_id As string, &Nodename As
string);
end-class;

Global SSR_MANAGE_CLASSES:UTIL:GlobalVariables &oManageClassesGlobalVars;

method ItemPostProcess
/+ &list_id as String, +/
/+ &item_id as String, +/
/+ &Nodename as String +/
/+ Extends/implements PTAI_ACTION_ITEMS:AGInterface.ItemPostProcess +/
Local PTAI_ACTION_ITEMS:Constants &PTAI_CONSTANTS = create
PTAI_ACTION_ITEMS:Constants();
Local PTAI_ACTION_ITEMS:List &list = create PTAI_ACTION_ITEMS:List();
Local PTAI_ACTION_ITEMS:ActionItem &item = create
PTAI_ACTION_ITEMS:ActionItem();
Local boolean &item_ret, &list_ret;

&list.open(&list_id);
&item_id = &list.getCurrentItem();
&item.open(&item_id);

If &oManageClassesGlobalVars.sIsActionItemMarkedAsComplete Then
&item.Status = &PTAI_CONSTANTS.STATUS_COMPLETED;
Else
&item.Status = &PTAI_CONSTANTS.STATUS_IN_PROGRESS;
End-If;

&item_ret = &item.save();

end-method;

[SSR_AG_EDIT_CLASSES_FL.PageletProcessingAdapter.PageletNavigationButtonAdapter.OnE
xecute]
import PTAI_ACTION_ITEMS:AGInterface;
import PTAI_ACTION_ITEMS:List;
import SSR_MANAGE_CLASSES:UTIL:GlobalVariables;

class PageletNavigationButtonAdapter implements PTAI_ACTION_ITEMS:AGInterface


method ExitAGProcess(&list_id As string);
end-class;

Global SSR_MANAGE_CLASSES:UTIL:GlobalVariables &oManageClassesGlobalVars;

method ExitAGProcess
/+ &list_id as String +/
Local PTAI_ACTION_ITEMS:List &list = create PTAI_ACTION_ITEMS:List();
Local PTAI_ACTION_ITEMS:List &ObjList;
Local boolean &bDeleted;

&list.open(&list_id);

&ObjList = create PTAI_ACTION_ITEMS:List();


&ObjList.open(&list_id);

&bDeleted = &ObjList.delete();
&oManageClassesGlobalVars.sTransferToURL = "";
&oManageClassesGlobalVars.sTransferFromURL =
&oManageClassesGlobalVars.sEditClassesURL;
end-method;

[SSR_AG_EDIT_CLASSES_FL.TaskProcessingAdapter.PrerequisiteProcessingAdapter.OnExecu
te]
import PTAI_ACTION_ITEMS:AGInterface;
import PTAI_ACTION_ITEMS:List;
import PTAI_ACTION_ITEMS:Constants;
import PTAI_ACTION_ITEMS:ActionItem;
import PTAI_COLLECTION:Collection;
import PTAI_ACTION_ITEMS:Member;
import SSR_MANAGE_CLASSES:UTIL:ClassOptions;
import SSR_MANAGE_CLASSES:UTIL:GlobalVariables;

class PrerequisiteProcessingAdapter implements PTAI_ACTION_ITEMS:AGInterface


method InstanceCreation(&list As PTAI_ACTION_ITEMS:List);

method GetClassOptions() Returns Rowset;

private
end-class;

Global SSR_MANAGE_CLASSES:UTIL:GlobalVariables &oManageClassesGlobalVars;

method InstanceCreation
/+ &list as PTAI_ACTION_ITEMS:List +/
/+ Extends/implements PTAI_ACTION_ITEMS:AGInterface.InstanceCreation +/
Local PTAI_ACTION_ITEMS:Constants &PTAI_CONSTANTS = create
PTAI_ACTION_ITEMS:Constants();
Local PTAI_ACTION_ITEMS:ActionItem &item;
Local PTAI_ACTION_ITEMS:Member &member;
Local PTAI_COLLECTION:Collection &members;
Local string &ItemId;

Local boolean &return;


Local string &templateID, &templatelabel;
Local array of string &childItemIds;
Local integer &i;
Local string &ptai_mbr_name, &ptai_mbr_type, &ptai_privset_ID;
Local Rowset &rs_AlternativeClasses;

&list.open(&list.ListId);
&list.Status = &PTAI_CONSTANTS.LIST_IN_PROGRESS;
&return = &list.save();

SQLExec("Select PTAI_PARENT_TMPL From PS_PTAI_LIST Where PTAI_LIST_ID = :1 ",


&list.ListId, &templateID);
SQLExec("Select PTAI_LABEL From PS_PTAI_LIST Where PTAI_LIST_ID = :1 ",
&templateID, &templatelabel);

&list.Label = &templatelabel;
&return = &list.save();

&childItemIds = &list.getActionItems();
Local boolean &item1check = False;
Local string &refererUrl = %Request.GetHeader("Referer");

Local integer &charIndex = Find("?", &refererUrl);

If &charIndex > 0 Then

Local string &queryString = Substring(&refererUrl, &charIndex + 1,


Len(&refererUrl) - &charIndex);

Local array of string &params = Split(&queryString, "&");

Local integer &paramIndex;

While &params.Next(&paramIndex)

Local array of string &values = Split(&params [&paramIndex], "=");


If &values.Len >= 2 Then

If &values [1] = "GoTo" Then

Local string &sGoTo = &values [2];

Break;

End-If;

End-If;

End-While;

End-If;

For &i = 1 To &childItemIds.Len


&item = create PTAI_ACTION_ITEMS:ActionItem();
&item.open(&childItemIds [&i]);

&ItemId = Substring(&childItemIds [&i], 1, 11);

If &i = 1 Then
&rs_AlternativeClasses = %This.GetClassOptions();

<*---------------------------------*>

If &rs_AlternativeClasses.ActiveRowCount > 1 Then


If &rs_AlternativeClasses(1).SSR_DER_CS_GRP.SSR_OPTION_NBR.Value = 0
Then
&item.Status = &PTAI_CONSTANTS.STATUS_CANCELLED;
&item1check = True;

Else

Evaluate &sGoTo
When "ClassPreferences"
&item.CurrentStep = False;
&item.Status = &PTAI_CONSTANTS.STATUS_COMPLETED;
When-Other
&item.CurrentStep = True;
&item.Status = &PTAI_CONSTANTS.STATUS_ASSIGNED;
End-Evaluate
End-If;

Else

&item.Status = &PTAI_CONSTANTS.STATUS_CANCELLED;
&item1check = True;
End-If;

<*---------------------------------*>
Else
If &ItemId = "SR_EDT_FL22" And
&sGoTo = "ClassPreferences" Then
&item.CurrentStep = True;
&item.Status = &PTAI_CONSTANTS.STATUS_IN_PROGRESS;
Else
&item.CurrentStep = False;
&item.Status = &PTAI_CONSTANTS.STATUS_ASSIGNED;
End-If;

End-If;

&item.AssignedToOprid = %OperatorId;
&item.AssignType = "USER";
&return = &item.save();
End-For;

/* Save the logged in User ID for security and privileges */


&members = create PTAI_COLLECTION:Collection();

&members = &list.getMembers();
&ptai_mbr_name = %UserId;
&ptai_mbr_type = "USER";

SQLExec("SELECT PTAI_PRIVSET_ID FROM PS_PTAI_PRIVSET WHERE DESCR = 'Contributor'


AND PTAI_FEATURE = 'AI' AND ACTIVE_FLAG = 'A' AND PTAI_SYSTEM_ITEM = 'Y' ",
&ptai_privset_ID);

&member = create PTAI_ACTION_ITEMS:Member(&ptai_mbr_name, &ptai_mbr_type);


&member.PrivilegeSetID = &ptai_privset_ID;
&members.InsertItem(&member);
&list.saveMembers(&members);

end-method;

method GetClassOptions
/+ Returns Rowset +/
Local SSR_MANAGE_CLASSES:UTIL:ClassOptions &oClassOptions = create
SSR_MANAGE_CLASSES:UTIL:ClassOptions();
Local Rowset &rs_ClsGrpOptns;
Local number &nAutoEnrlClassNbr1, &nAutoEnrlClassNbr2;
Local number &nRelateClassNbr1, &nRelateClassNbr2;
Local Record &rec_getrelateclass, &rec_getrelateclass1;
Local Rowset &rs_getrelateclass;
Local integer &classnbrctr, &i;
Local integer &k, &j;

Local Rowset &rsavailOptions, &rsclassOptions;

&rs_getrelateclass = CreateRowset(Record.STDNT_ENRL_SSVW);
&rec_getrelateclass = CreateRecord(Record.SSR_STENRL_SSV2);
&rs_ClsGrpOptns = CreateRowset(Record.SSR_DER_CS_FLTR);
&rs_ClsGrpOptns(1).SSR_DER_CS_FLTR.CLASS_NBR.Value =
&oManageClassesGlobalVars.sEditClasses_Class_nbr;
&rs_ClsGrpOptns(1).SSR_DER_CS_FLTR.STRM.Value =
&oManageClassesGlobalVars.AGTerm;
&rs_ClsGrpOptns(1).SSR_DER_CS_FLTR.INSTITUTION.Value =
&oManageClassesGlobalVars.AGInst;
&nAutoEnrlClassNbr2 = 0;
&nAutoEnrlClassNbr1 = 0;
&rec_getrelateclass.EMPLID.Value = &oManageClassesGlobalVars.AGEmplId;
&rec_getrelateclass.INSTITUTION.Value = &oManageClassesGlobalVars.AGInst;
&rec_getrelateclass.ACAD_CAREER.Value = &oManageClassesGlobalVars.AGCar;
&rec_getrelateclass.STRM.Value = &oManageClassesGlobalVars.AGTerm;
&rec_getrelateclass.CLASS_NBR.Value =
&oManageClassesGlobalVars.sEditClasses_Class_nbr;

If &rec_getrelateclass.SelectByKey() Then

&classnbrctr = &rs_getrelateclass.Fill("WHERE EMPLID = :1 AND INSTITUTION = :


2 AND ACAD_CAREER = :3 AND STRM = :4 AND SUBJECT = :5 AND CATALOG_NBR = :6 AND
CLASS_NBR = :7", &oManageClassesGlobalVars.AGEmplId,
&oManageClassesGlobalVars.AGInst, &oManageClassesGlobalVars.AGCar,
&oManageClassesGlobalVars.AGTerm, &rec_getrelateclass.SUBJECT.Value,
&rec_getrelateclass.CATALOG_NBR.Value, &rec_getrelateclass.CLASS_NBR.Value);

If &classnbrctr > 0 Then


&nRelateClassNbr1 =
&rs_getrelateclass(&classnbrctr).STDNT_ENRL_SSVW.RELATE_CLASS_NBR_1.Value;
&nRelateClassNbr2 =
&rs_getrelateclass(&classnbrctr).STDNT_ENRL_SSVW.RELATE_CLASS_NBR_2.Value;
&rs_ClsGrpOptns(1).SSR_DER_CS_FLTR.RELATE_CLASS_NBR_1.Value =
&rs_getrelateclass(&classnbrctr).STDNT_ENRL_SSVW.RELATE_CLASS_NBR_1.Value;
&rs_ClsGrpOptns(1).SSR_DER_CS_FLTR.RELATE_CLASS_NBR_2.Value =
&rs_getrelateclass(&classnbrctr).STDNT_ENRL_SSVW.RELATE_CLASS_NBR_2.Value;
End-If;

&classnbrctr = &rs_getrelateclass.Fill("WHERE EMPLID = :1 AND INSTITUTION = :


2 AND ACAD_CAREER = :3 AND STRM = :4 AND SUBJECT = :5 AND CATALOG_NBR = :6 AND
CLASS_NBR != :7 AND CLASS_NBR != :8 AND CLASS_NBR != :9",
&oManageClassesGlobalVars.AGEmplId, &oManageClassesGlobalVars.AGInst,
&oManageClassesGlobalVars.AGCar, &oManageClassesGlobalVars.AGTerm,
&rec_getrelateclass.SUBJECT.Value, &rec_getrelateclass.CATALOG_NBR.Value,
&rec_getrelateclass.CLASS_NBR.Value, &nRelateClassNbr1, &nRelateClassNbr2);

If &classnbrctr = 1 Then
&nAutoEnrlClassNbr1 =
&rs_getrelateclass(&classnbrctr).STDNT_ENRL_SSVW.CLASS_NBR.Value;
&rs_ClsGrpOptns(1).SSR_DER_CS_FLTR.SSR_AUTOENRL_CLS_1.Value =
&rs_getrelateclass(1).STDNT_ENRL_SSVW.CLASS_NBR.Value;
&rs_ClsGrpOptns(1).SSR_DER_CS_FLTR.SSR_AUTOENRL_CLS_2.Value =
&nAutoEnrlClassNbr2;
End-If;

If &classnbrctr = 2 Then
&nAutoEnrlClassNbr1 =
&rs_getrelateclass(1).STDNT_ENRL_SSVW.CLASS_NBR.Value;
&rs_ClsGrpOptns(1).SSR_DER_CS_FLTR.SSR_AUTOENRL_CLS_1.Value =
&rs_getrelateclass(1).STDNT_ENRL_SSVW.CLASS_NBR.Value;
&nAutoEnrlClassNbr2 =
&rs_getrelateclass(2).STDNT_ENRL_SSVW.CLASS_NBR.Value;
&rs_ClsGrpOptns(1).SSR_DER_CS_FLTR.SSR_AUTOENRL_CLS_2.Value =
&rs_getrelateclass(2).STDNT_ENRL_SSVW.CLASS_NBR.Value;
End-If;

End-If;

Return &oClassOptions.GetClassOptions("SC", "Y", &rs_ClsGrpOptns, Null, Null);


end-method;

[SSR_AG_ENRL_CLASSES_FL.PageletProcessingAdapter.PageletNavigationButtonAdapter.OnE
xecute]
import PTAI_ACTION_ITEMS:AGInterface;
import PTAI_ACTION_ITEMS:List;
import SSR_MANAGE_CLASSES:UTIL:GlobalVariables;

class PageletNavigationButtonAdapter implements PTAI_ACTION_ITEMS:AGInterface


method ExitAGProcess(&list_id As string);
end-class;

Global SSR_MANAGE_CLASSES:UTIL:GlobalVariables &oManageClassesGlobalVars;

method ExitAGProcess
/+ &list_id as String +/
Local PTAI_ACTION_ITEMS:List &list = create PTAI_ACTION_ITEMS:List();
Local PTAI_ACTION_ITEMS:List &ObjList;
Local boolean &bDeleted;

&list.open(&list_id);

&ObjList = create PTAI_ACTION_ITEMS:List();


&ObjList.open(&list_id);

&bDeleted = &ObjList.delete();

If %Request.BrowserDeviceFormFactor <> %FormFactor_Small Then

&oManageClassesGlobalVars.sTransferFromURL =
&oManageClassesGlobalVars.sCourseInfoURL;
&oManageClassesGlobalVars.sTransferToURL = "";

End-If;

end-method;

[SSR_AG_ENRL_CLASSES_FL.TaskProcessingAdapter.PrerequisiteProcessingAdapter.OnExecu
te]
import PTAI_ACTION_ITEMS:ActionItem;
import PTAI_ACTION_ITEMS:AGInterface;
import PTAI_ACTION_ITEMS:Constants;
import PTAI_ACTION_ITEMS:List;
import PTAI_COLLECTION:Collection;
import PTAI_ACTION_ITEMS:Member;
import SSR_MANAGE_CLASSES:UTIL:ClassPreferences;
import SSR_MANAGE_CLASSES:UTIL:GlobalVariables;

class PrerequisiteProcessingAdapter implements PTAI_ACTION_ITEMS:AGInterface


method InstanceCreation(&list As PTAI_ACTION_ITEMS:List);
end-class;
Global SSR_MANAGE_CLASSES:UTIL:GlobalVariables &oManageClassesGlobalVars;

method InstanceCreation
/+ &list as PTAI_ACTION_ITEMS:List +/
/+ Extends/implements PTAI_ACTION_ITEMS:AGInterface.InstanceCreation +/

Local array of string &childItemIds;


Local integer &i;
Local string &templateID, &templatelabel;
Local boolean &return;
Local PTAI_ACTION_ITEMS:Constants &PTAI_CONSTANTS = create
PTAI_ACTION_ITEMS:Constants();

&list.Status = &PTAI_CONSTANTS.LIST_IN_PROGRESS;

SQLExec("SELECT PTAI_PARENT_TMPL FROM PS_PTAI_LIST WHERE PTAI_LIST_ID = :1",


&list.ListId, &templateID);

/* Get the template label */


SQLExec("SELECT PTAI_LABEL FROM PS_PTAI_LIST WHERE PTAI_LIST_ID = :1",
&templateID, &templatelabel);

&list.Label = &templatelabel;
&return = &list.save();

&childItemIds = &list.getActionItems();

Local PTAI_ACTION_ITEMS:ActionItem &oActionItem = create


PTAI_ACTION_ITEMS:ActionItem();
Local string &ItemId;

Local string &refererUrl = %Request.GetHeader("Referer");


Local integer &charIndex = Find("?", &refererUrl);

If &charIndex > 0 Then


Local string &queryString = Substring(&refererUrl, &charIndex + 1,
Len(&refererUrl) - &charIndex);
Local array of string &params = Split(&queryString, "&");

Local integer &paramIndex;

While &params.Next(&paramIndex)
Local array of string &values = Split(&params [&paramIndex], "=");

If &values.Len >= 2 Then


If &values [1] = "GoTo" Then
Local string &sGoTo = &values [2];
Break;
End-If;
End-If;
End-While;

End-If;

For &i = 1 To &childItemIds.Len

&oActionItem.open(&childItemIds [&i]);
&ItemId = Substring(&childItemIds [&i], 1, 11);

If &sGoTo = "ClassPreferences" Then


If &ItemId = "SR_ENRL_FL2" Then
&oActionItem.CurrentStep = True;
&oActionItem.Status = &PTAI_CONSTANTS.STATUS_IN_PROGRESS;
Else
&oActionItem.CurrentStep = False;
&oActionItem.Status = &PTAI_CONSTANTS.STATUS_COMPLETED;
End-If;
Else
&oActionItem.Status = &PTAI_CONSTANTS.STATUS_ASSIGNED;
End-If;

&oActionItem.AssignedToOprid = %OperatorId;
&oActionItem.AssignType = "USER";
&return = &oActionItem.save();

End-For;

/* Check for Available Class Preferences */


Local boolean &DisplayClassPreferences;
Local Record &recClsPrefWk_IN;
Local Rowset &rs_ClassTable;

&recClsPrefWk_IN = CreateRecord(Record.SSR_CLS_PREF_WK);

&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.CopyFieldsTo(&recClsPrefWk_
IN);

Local SSR_MANAGE_CLASSES:UTIL:ClassPreferences &oClassPreferences = create


SSR_MANAGE_CLASSES:UTIL:ClassPreferences();

&DisplayClassPreferences =
&oClassPreferences.CheckForClassPreferences(&recClsPrefWk_IN);

/* Hide 'Shopping Cart' if 'Enrollment Only' is allowed */


Local string &AddClassOptions;

SQLExec("SELECT SSR_CS_ADD_OPTN FROM PS_SSR_CS_GEN_OPTS", &AddClassOptions);

/* Check for multiple academic careers */


If &oManageClassesGlobalVars.count_AcademicCareers > 1 Then
Local boolean &IsMultipleCareer = True;
End-If;

&childItemIds = &list.getActionItems();

For &i = 1 To &childItemIds.Len


&oActionItem = create PTAI_ACTION_ITEMS:ActionItem();

&oActionItem.open(&childItemIds [&i]);

&ItemId = Substring(&childItemIds [&i], 1, 11);

Evaluate &ItemId
When "SR_ENRL_FL5" /* Select Academic Career */
If Not (&IsMultipleCareer) Then
&oActionItem.IsActive = False;
&return = &oActionItem.save();
End-If;
Break;

When "SR_ENRL_FL2" /* Review Class Preferences */


If Not &DisplayClassPreferences Then
&oActionItem.IsActive = False;
&return = &oActionItem.save();
End-If;
Break;

When "SR_ENRL_FL3" /* Enroll or Add to Cart */


If &AddClassOptions = "E" Or
&AddClassOptions = "S" Then
&oActionItem.IsActive = False;
&return = &oActionItem.save();
End-If;
Break;

End-Evaluate;

End-For;

&return = &list.save();

Local string &ptai_mbr_name, &ptai_mbr_type, &ptai_privset_ID;

/* Save the logged in UserID for security and privileges */


Local PTAI_COLLECTION:Collection &members = create PTAI_COLLECTION:Collection();

&members = &list.getMembers();
&ptai_mbr_name = %UserId;
&ptai_mbr_type = "USER";

SQLExec("SELECT PTAI_PRIVSET_ID FROM PS_PTAI_PRIVSET WHERE DESCR = 'Contributor'


AND PTAI_FEATURE = 'AI' AND ACTIVE_FLAG = 'A' AND PTAI_SYSTEM_ITEM = 'Y'",
&ptai_privset_ID);

Local PTAI_ACTION_ITEMS:Member &member = create


PTAI_ACTION_ITEMS:Member(&ptai_mbr_name, &ptai_mbr_type);

&member.PrivilegeSetID = &ptai_privset_ID;
&members.InsertItem(&member);
&list.saveMembers(&members);

end-method;

[SSR_AG_SWAP_CLASSES_FL.PageletProcessingAdapter.PageletNavigationButtonAdapter.OnE
xecute]
import PTAI_ACTION_ITEMS:AGInterface;
import PTAI_ACTION_ITEMS:List;
import SSR_MANAGE_CLASSES:UTIL:GlobalVariables;

class PageletNavigationButtonAdapter implements PTAI_ACTION_ITEMS:AGInterface


method ExitAGProcess(&list_id As string);
end-class;
Global SSR_MANAGE_CLASSES:UTIL:GlobalVariables &oManageClassesGlobalVars;

method ExitAGProcess
/+ &list_id as String +/
Local PTAI_ACTION_ITEMS:List &list = create PTAI_ACTION_ITEMS:List();
Local PTAI_ACTION_ITEMS:List &ObjList;
Local boolean &bDeleted;

&list.open(&list_id);

&ObjList = create PTAI_ACTION_ITEMS:List();


&ObjList.open(&list_id);

&bDeleted = &ObjList.delete();

If %Request.BrowserDeviceFormFactor <> %FormFactor_Small Then

Evaluate &oManageClassesGlobalVars.sSwapOption
When &oManageClassesGlobalVars.swapOption_sClassSearch
When &oManageClassesGlobalVars.swapOption_sClassNumber
&oManageClassesGlobalVars.sTransferFromURL =
&oManageClassesGlobalVars.sCourseInfoURL;
Break;
When &oManageClassesGlobalVars.swapOption_sShoppingCart
&oManageClassesGlobalVars.sTransferFromURL =
&oManageClassesGlobalVars.sSwapClassesURL;
Break;
End-Evaluate;

&oManageClassesGlobalVars.sTransferToURL = "";

End-If;

end-method;

[SSR_AG_SWAP_CLASSES_FL.TaskProcessingAdapter.PrerequisiteProcessingAdapter.OnExecu
te]
import PTAI_ACTION_ITEMS:ActionItem;
import PTAI_ACTION_ITEMS:AGInterface;
import PTAI_ACTION_ITEMS:Constants;
import PTAI_ACTION_ITEMS:List;
import PTAI_COLLECTION:Collection;
import PTAI_ACTION_ITEMS:Member;
import SSR_MANAGE_CLASSES:UTIL:ClassPreferences;
import SSR_MANAGE_CLASSES:UTIL:GlobalVariables;

class PrerequisiteProcessingAdapter implements PTAI_ACTION_ITEMS:AGInterface


method InstanceCreation(&list As PTAI_ACTION_ITEMS:List);
end-class;

Global SSR_MANAGE_CLASSES:UTIL:GlobalVariables &oManageClassesGlobalVars;

method InstanceCreation
/+ &list as PTAI_ACTION_ITEMS:List +/
/+ Extends/implements PTAI_ACTION_ITEMS:AGInterface.InstanceCreation +/

Local array of string &childItemIds;


Local integer &i;
Local string &templateID, &templatelabel;
Local boolean &return;
Local PTAI_ACTION_ITEMS:Constants &PTAI_CONSTANTS = create
PTAI_ACTION_ITEMS:Constants();

&list.Status = &PTAI_CONSTANTS.LIST_IN_PROGRESS;

SQLExec("SELECT PTAI_PARENT_TMPL FROM PS_PTAI_LIST WHERE PTAI_LIST_ID = :1",


&list.ListId, &templateID);

/* Get the template label */


SQLExec("SELECT PTAI_LABEL FROM PS_PTAI_LIST WHERE PTAI_LIST_ID = :1",
&templateID, &templatelabel);

&list.Label = &templatelabel;
&return = &list.save();

&childItemIds = &list.getActionItems();

Local PTAI_ACTION_ITEMS:ActionItem &oActionItem = create


PTAI_ACTION_ITEMS:ActionItem();
Local string &ItemId;

Local string &refererUrl = %Request.GetHeader("Referer");


Local integer &charIndex = Find("?", &refererUrl);

If &charIndex > 0 Then


Local string &queryString = Substring(&refererUrl, &charIndex + 1,
Len(&refererUrl) - &charIndex);
Local array of string &params = Split(&queryString, "&");

Local integer &paramIndex;

While &params.Next(&paramIndex)
Local array of string &values = Split(&params [&paramIndex], "=");

If &values.Len >= 2 Then


If &values [1] = "GoTo" Then
Local string &sGoTo = &values [2];
Break;
End-If;
End-If;
End-While;

End-If;

For &i = 1 To &childItemIds.Len

&oActionItem.open(&childItemIds [&i]);

&ItemId = Substring(&childItemIds [&i], 1, 11);

If All(&sGoTo) Then
Evaluate &sGoTo
When "ClassPreferences"
If &ItemId = "SR_SWAP_FL2" Then
&oActionItem.CurrentStep = True;
&oActionItem.Status = &PTAI_CONSTANTS.STATUS_IN_PROGRESS;
Else
&oActionItem.CurrentStep = False;
&oActionItem.Status = &PTAI_CONSTANTS.STATUS_COMPLETED;
End-If;
Break;

When "Confirmation"
If &ItemId = "SR_SWAP_FL3" Then
&oActionItem.CurrentStep = True;
&oActionItem.Status = &PTAI_CONSTANTS.STATUS_IN_PROGRESS;
Else
&oActionItem.CurrentStep = False;
&oActionItem.Status = &PTAI_CONSTANTS.STATUS_COMPLETED;
End-If;
Break;

End-Evaluate;
Else
&oActionItem.Status = &PTAI_CONSTANTS.STATUS_ASSIGNED;
End-If;

&oActionItem.AssignedToOprid = %OperatorId;
&oActionItem.AssignType = "USER";
&return = &oActionItem.save();

End-For;

/* Check for Available Class Preferences */


Local Record &recClsPrefWk_IN = CreateRecord(Record.SSR_CLS_PREF_WK);

&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.CopyFieldsTo(&recClsPrefWk_
IN);

Local SSR_MANAGE_CLASSES:UTIL:ClassPreferences &oClassPreferences = create


SSR_MANAGE_CLASSES:UTIL:ClassPreferences();
Local boolean &DisplayClassPreferences =
&oClassPreferences.CheckForClassPreferences(&recClsPrefWk_IN);

&childItemIds = &list.getActionItems();

For &i = 1 To &childItemIds.Len


&oActionItem = create PTAI_ACTION_ITEMS:ActionItem();
&oActionItem.open(&childItemIds [&i]);

&ItemId = Substring(&childItemIds [&i], 1, 11);

If &ItemId = "SR_SWAP_FL2" Then /* Review Class Preferences */


If Not &DisplayClassPreferences Then
&oActionItem.IsActive = False;
&return = &oActionItem.save();
End-If;
End-If;

End-For;

&return = &list.save();
Local string &ptai_mbr_name, &ptai_mbr_type, &ptai_privset_ID;

/* Save the logged in UserID for security and privileges */


Local PTAI_COLLECTION:Collection &members = create PTAI_COLLECTION:Collection();

&members = &list.getMembers();
&ptai_mbr_name = %UserId;
&ptai_mbr_type = "USER";

SQLExec("SELECT PTAI_PRIVSET_ID FROM PS_PTAI_PRIVSET WHERE DESCR = 'Contributor'


AND PTAI_FEATURE = 'AI' AND ACTIVE_FLAG = 'A' AND PTAI_SYSTEM_ITEM = 'Y'",
&ptai_privset_ID);

Local PTAI_ACTION_ITEMS:Member &member = create


PTAI_ACTION_ITEMS:Member(&ptai_mbr_name, &ptai_mbr_type);

&member.PrivilegeSetID = &ptai_privset_ID;
&members.InsertItem(&member);
&list.saveMembers(&members);

end-method;

[SSR_MANAGE_CLASSES.COMPONENTS.ActivityGuide_ActionItems.SSR_DROP_REVIEW_FL.OnExecu
te]
import SCC_FLUID:MODEL:Component;
import SCC_FLUID:MODEL:Panel;
import SCC_FLUID:UTIL:URL;
import SSR_MANAGE_CLASSES:UTIL:Installation;
import SSR_MANAGE_CLASSES:UTIL:DropClasses;
import SSR_MANAGE_CLASSES:UTIL:GlobalVariables;
import SSR_ENROLLMENT:EVENT:EnrollmentEventNotification;

class SSR_DROP_REVIEW_FL extends SCC_FLUID:MODEL:Component


method SSR_DROP_REVIEW_FL();
method SSR_DROP_REVIEW_FL_Activate();
method DERIVED_SSR_FL_SSR_DROPPED_FieldChange();
method ENRL_REQ_HEADER_SavePreChange();
protected
property SCC_FLUID:MODEL:Panel Panel;
private
instance string &recEmplId, &recInst, &recCar, &recTerm;
instance boolean &IsEnrlRequestIdAssignedOnce;
instance string &sEnrlRequestId;
instance SSR_MANAGE_CLASSES:UTIL:DropClasses &oDropClasses;
end-class;

Declare Function isValidSessionAppt PeopleCode FUNCLIB_SSTS_PL.APPOINTMENT_NBR


FieldFormula;

Global SSR_MANAGE_CLASSES:UTIL:GlobalVariables &oManageClassesGlobalVars;


Global boolean &IsFromDropClassesAG;
Global string &sDropClasses_EnrlRequestId;
Global string &sDropClasses_StudentId, &sDropClasses_Institution,
&sDropClasses_AcademicCareer, &sDropClasses_Term;
Global boolean &LoadConfirmationMessageOnce;
method SSR_DROP_REVIEW_FL
%Super = create SCC_FLUID:MODEL:Component();
end-method;

method SSR_DROP_REVIEW_FL_Activate

&Panel = %This.CreatePanel();
%This.Render();

Local SSR_MANAGE_CLASSES:UTIL:Installation &utilMethods = create


SSR_MANAGE_CLASSES:UTIL:Installation();
Local boolean &bool_recSingleInst = &utilMethods.IsSingleInstitution();
Local boolean &bool_recMultiInst;

If &bool_recSingleInst = True Then


&bool_recMultiInst = False;
Else
&bool_recMultiInst = True;
End-If;

Local Grid &cls_grid;

&recEmplId = &sDropClasses_StudentId;
&recInst = &sDropClasses_Institution;
&recCar = &sDropClasses_AcademicCareer;
&recTerm = &sDropClasses_Term;

&oDropClasses = create SSR_MANAGE_CLASSES:UTIL:DropClasses(&recEmplId, &recCar,


&recInst, &recTerm);

DERIVED_SSR_FL.SSR_CHANGE_BTN.Visible = False;
DERIVED_SSR_FL.INSTITUTION = &recInst;
DERIVED_SSR_FL.ACAD_CAREER = &recCar;
DERIVED_SSR_FL.STRM = &recTerm;

INSTITUTION_TBL.DESCRFORMAL.Visible = &bool_recMultiInst;

&cls_grid = GetGrid(%Page, "STDNT_ENRL_SSV1");


&cls_grid.GetColumn("P_CLASS_NAME").Label = MsgGetText(14690, 405, "Message not
found");

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then


&oDropClasses.LoadEnrlReqGrid_Drop_Sff();
Else
Page.SSR_DROP_FOOTR_FFL.Visible = False;

&oDropClasses.LoadEnrlReqGrid_Drop();
End-If;

end-method;

method DERIVED_SSR_FL_SSR_DROPPED_FieldChange
Local integer &RC;
Local string &sConfirmMsg;

&sConfirmMsg = MsgGetText(14770, 1010, "Message Not Found"); /* Confirm that the


following class(es) are to be dropped */

&RC = MessageBox(%MsgStyle_YesNo, "", 0, 0, &sConfirmMsg);


Evaluate &RC
When 6 /* Yes */
Local Rowset &rs_EnrlReqHdr;

&rs_EnrlReqHdr = GetLevel0()(1).GetRowset(Scroll.ENRL_REQ_HEADER);
&rs_EnrlReqHdr.Flush();
&rs_EnrlReqHdr(1).ENRL_REQ_HEADER.ENRL_REQUEST_ID.Value = "0000000000";
&rs_EnrlReqHdr(1).ENRL_REQ_HEADER.OPRID.Value = %UserId;
&rs_EnrlReqHdr(1).ENRL_REQ_HEADER.ENRL_REQ_PROC_ST.Value = "P";

If %Request.BrowserDeviceFormFactor <> %FormFactor_Small Then


&rs_EnrlReqHdr(1).ENRL_REQ_HEADER.ENRL_REQ_SOURCE.Value = "FX"; /* Fluid
Self Service LFF */
Else
&rs_EnrlReqHdr(1).ENRL_REQ_HEADER.ENRL_REQ_SOURCE.Value = "FS"; /* Fluid
Self Service SFF */
End-If;

&rs_EnrlReqHdr(1).ENRL_REQ_HEADER.DTTM_STAMP_SEC.Value = %Datetime;

DoSaveNow();
Local string &Enrl_Req_ID;

&Enrl_Req_ID = &rs_EnrlReqHdr(1).ENRL_REQ_HEADER.ENRL_REQUEST_ID.Value;

&sDropClasses_EnrlRequestId = &Enrl_Req_ID;

Local Rowset &rs_EnrlReqDtl, &rs_StdntEnrlV1, &rs_StdntEnrlV2;


Local integer &ERD_count, &i, &j, &ERD_row;
Local Record &rec_fr, &rec_to;
Local boolean &IsDeleted;

&rs_EnrlReqDtl = GetRowset(Scroll.ENRL_REQ_DETAIL);
&ERD_count = &rs_EnrlReqDtl.RowCount;

&rs_StdntEnrlV1 = GetRowset(Scroll.STDNT_ENRL_SSV1);

Local Rowset &rs_AcadCarTbl, &rs_EnrlReqLog;

&rs_AcadCarTbl = CreateRowset(Record.ACAD_CAR_TBL);
&rs_AcadCarTbl.Flush();
&rs_AcadCarTbl.Fill("WHERE FILL.INSTITUTION=:1 AND FILL.ACAD_CAREER=:2 AND
FILL.EFFDT = (SELECT MAX(A.EFFDT) FROM PS_ACAD_CAR_TBL A WHERE A.INSTITUTION =
FILL.INSTITUTION AND A.ACAD_CAREER = FILL.ACAD_CAREER AND A.EFFDT <=
%CurrentDateIn) AND FILL.EFF_STATUS = 'A'", &recInst, &recCar);

If %Request.BrowserDeviceFormFactor <> %FormFactor_Small Then

For &i = 1 To &rs_StdntEnrlV1.RowCount

If &rs_StdntEnrlV1(&i).DERIVED_REGFRM1.SSR_SELECT.Value = "Y" Then


If &ERD_count = 1 And
&rs_EnrlReqDtl(1).ENRL_REQ_DETAIL.CLASS_NBR.Value = 0 Then
&ERD_row = 1;
Else
&rs_EnrlReqDtl.InsertRow(&ERD_count);
&ERD_row = &ERD_count + 1;
End-If;
&rec_fr = &rs_StdntEnrlV1(&i).GetRecord(Record.STDNT_ENRL_SSV1);
&rec_to =
&rs_EnrlReqDtl(&ERD_row).GetRecord(Record.ENRL_REQ_DETAIL);
&rec_fr.CopyFieldsTo(&rec_to);
&ERD_count = &ERD_row;

&rs_EnrlReqDtl(&ERD_row).ENRL_REQ_DETAIL.ENRL_REQUEST_ID.Value =
&Enrl_Req_ID;
&rs_EnrlReqDtl(&ERD_row).ENRL_REQ_DETAIL.ENRL_REQ_ACTION.Value =
"D";

/* is online appointment checking enforced? */


If &rs_AcadCarTbl(1).ACAD_CAR_TBL.SS_ENRL_APPT_CHKPT.Value = "O"
Then

If Not isValidSessionAppt(&recEmplId, &recCar, &recInst,


&recTerm, &rs_StdntEnrlV1(&i).STDNT_ENRL_SSV1.SESSION_CODE.Value,
&rs_StdntEnrlV1(&i).STDNT_ENRL_SSV1.CRSE_CAREER.Value) Then

/* do not submit to the engine if student has no appt anyway


*/

&rs_EnrlReqDtl(&ERD_row).ENRL_REQ_DETAIL.ENRL_REQ_DETL_STAT.Value = "X";

&rs_EnrlReqLog =
&rs_EnrlReqDtl(&ERD_row).GetRowset(Scroll.ENRL_MSG_LOG);
&rs_EnrlReqLog(1).ENRL_MSG_LOG.MESSAGE_SEQ.Value = 1;
&rs_EnrlReqLog(1).ENRL_MSG_LOG.MESSAGE_SET_NBR.Value = 14641;
&rs_EnrlReqLog(1).ENRL_MSG_LOG.MESSAGE_NBR.Value = 215;
&rs_EnrlReqLog(1).ENRL_MSG_LOG.MSG_SEVERITY.Value = "E";
&rs_EnrlReqLog(1).ENRL_MSG_LOG.DTTM_STAMP_SEC.Value =
%Datetime;

End-If;
End-If;
End-If;
End-For;
Else
For &i = 1 To &rs_StdntEnrlV1.RowCount

&rs_StdntEnrlV2 =
&rs_StdntEnrlV1(&i).GetRowset(Scroll.STDNT_ENRL_SSV1);

For &j = 1 To &rs_StdntEnrlV2.RowCount

If &rs_StdntEnrlV2(&j).DERIVED_REGFRM1.SSR_SELECT.Value = "Y" Then

If &ERD_count = 1 And
&rs_EnrlReqDtl(1).ENRL_REQ_DETAIL.CLASS_NBR.Value = 0 Then
&ERD_row = 1;
Else
&rs_EnrlReqDtl.InsertRow(&ERD_count);
&ERD_row = &ERD_count + 1;
End-If;

&rec_fr = &rs_StdntEnrlV2(&j).GetRecord(Record.STDNT_ENRL_SSV1);
&rec_to =
&rs_EnrlReqDtl(&ERD_row).GetRecord(Record.ENRL_REQ_DETAIL);
&rec_fr.CopyFieldsTo(&rec_to);
&ERD_count = &ERD_row;

&rs_EnrlReqDtl(&ERD_row).ENRL_REQ_DETAIL.ENRL_REQUEST_ID.Value =
&Enrl_Req_ID;
&rs_EnrlReqDtl(&ERD_row).ENRL_REQ_DETAIL.ENRL_REQ_ACTION.Value =
"D";

/* is online appointment checking enforced? */


If &rs_AcadCarTbl(1).ACAD_CAR_TBL.SS_ENRL_APPT_CHKPT.Value = "O"
Then

If Not isValidSessionAppt(&recEmplId, &recCar, &recInst,


&recTerm, &rs_StdntEnrlV1(&i).STDNT_ENRL_SSV1.SESSION_CODE.Value,
&rs_StdntEnrlV1(&i).STDNT_ENRL_SSV1.CRSE_CAREER.Value) Then

/* do not submit to the engine if student has no appt


anyway */

&rs_EnrlReqDtl(&ERD_row).ENRL_REQ_DETAIL.ENRL_REQ_DETL_STAT.Value = "X";

&rs_EnrlReqLog =
&rs_EnrlReqDtl(&ERD_row).GetRowset(Scroll.ENRL_MSG_LOG);
&rs_EnrlReqLog(1).ENRL_MSG_LOG.MESSAGE_SEQ.Value = 1;
&rs_EnrlReqLog(1).ENRL_MSG_LOG.MESSAGE_SET_NBR.Value =
14641;
&rs_EnrlReqLog(1).ENRL_MSG_LOG.MESSAGE_NBR.Value = 215;
&rs_EnrlReqLog(1).ENRL_MSG_LOG.MSG_SEVERITY.Value = "E";
&rs_EnrlReqLog(1).ENRL_MSG_LOG.DTTM_STAMP_SEC.Value =
%Datetime;

End-If;
End-If;
End-If;
End-For;
End-For;
End-If;

DoSaveNow();

Local integer &RETCODE;

RemoteCall("PSRCCBL", "PSCOBOLPROG", "SRPCERC", "ENRL-REQUEST-ID",


&Enrl_Req_ID, "RC", &RETCODE);

If &RETCODE = 12 Then
WinMessage(MsgGet(14640, 82, "The Enrollment Process Engine encountered a
fatal error. Contact your administrator."), 64);
Else
/* fire SSR_ENROLLMENT_SYNC if service operation is active */
Local Message &msg = CreateMessage(Operation.SSR_ENROLLMENT_SYNC);
If &msg.IsOperationActive Then
Local SSR_ENROLLMENT:EVENT:EnrollmentEventNotification
&enrollmentEvent;
Local Rowset &levelZeroRowset = GetLevel0();
Local string &compName = %Component;
&enrollmentEvent = create
SSR_ENROLLMENT:EVENT:EnrollmentEventNotification(&levelZeroRowset, &compName,
Operation.SSR_ENROLLMENT_SYNC);
Local Message &temp = &enrollmentEvent.execute();
End-If;

&LoadConfirmationMessageOnce = True;

&oDropClasses.DeleteAGInstance("SR_DROP_FL");

If %Request.BrowserDeviceFormFactor <> %FormFactor_Small Then

Local SCC_FLUID:UTIL:URL &url = create SCC_FLUID:UTIL:URL();

&oManageClassesGlobalVars.sTransferFromURL = "";
&oManageClassesGlobalVars.sTransferToURL =
GenerateComponentContentURL(%Portal, %Node, MenuName.SSR_STUDENT_FL, %Market,
Component.SSR_DROP_CLASS_FL, Page.SSR_DROP_CONFRM_FL, %Action_UpdateDisplay);
&oManageClassesGlobalVars.sTabID = Page.SSR_DROP_TERM_FL;

%Response.RedirectURL(&url.GetContentReferenceURL("CS_SSR_MANAGE_CLASSES_FL"));
Else
Transfer( False, MenuName.SSR_STUDENT_FL, BarName.USE,
ItemName.SSR_DROP_CLASS_FL, Page.SSR_DROP_CONFRM_FL, "U");
End-If;

End-If;

When 7 /* No */
End-Evaluate;
end-method;

method ENRL_REQ_HEADER_SavePreChange
Local number &Length, &nEnrlReqIdLast;

If Not &IsEnrlRequestIdAssignedOnce Then


&nEnrlReqIdLast =
GetNextNumberWithGapsCommit(ENRL_REQ_ID_TBL.ENRL_REQ_ID_LAST, 9999999999, 1);

Evaluate &nEnrlReqIdLast
When - 1
Error MsgGet(14600, 780, "No Message Found", "ENRL_REQ_ID_LAST",
"ENRL_REQ_ID_TBL");
Break;
When - 2
Error MsgGet(14600, 214, "No Message Found", "ENRL_REQ_ID_LAST",
"ENRL_REQ_ID_TBL");
Break;
When - 3
Error MsgGet(14600, 781, "No Message Found", "ENRL_REQ_ID_LAST",
"ENRL_REQ_ID_TBL");
Break;
When-Other
&sEnrlRequestId = Rept("0", &Length - Len(String(&nEnrlReqIdLast))) |
String(&nEnrlReqIdLast);
Break;
End-Evaluate;
ENRL_REQ_HEADER.ENRL_REQUEST_ID = &sEnrlRequestId;

&IsEnrlRequestIdAssignedOnce = True;
End-If;
end-method;

[SSR_MANAGE_CLASSES.COMPONENTS.ActivityGuide_ActionItems.SSR_DROP_SELECT_FL.OnExecu
te]
import SCC_FLUID:MODEL:Component;
import SCC_FLUID:MODEL:Panel;
import SSR_MANAGE_CLASSES:UTIL:Installation;
import SSR_MANAGE_CLASSES:UTIL:DropClasses;
import SSR_MANAGE_CLASSES:UTIL:ClassInformation;

class SSR_DROP_SELECT_FL extends SCC_FLUID:MODEL:Component


method SSR_DROP_SELECT_FL();
method SSR_DROP_SELECT_FL_Activate();
method DERIVED_REGFRM1_SSR_SELECT_FieldChange();
method SSR_CLSDTL_LF_SCF__Activate();
method DERIVED_SSR_FL_SSR_CL_DTLS_LFF__FieldChange();
method DERIVED_SSR_FL_SSR_CLASSNAME_LONG__FieldChange();
method DERIVED_SSR_FL_SSR_INSTR_NME_FL__FieldChange();
method DERIVED_SSR_FL_SSR_INSTR_FL__FieldChange();
method DERIVED_SSR_FL_SSR_MORE_CLASS_FL__FieldChange();
method SSR_CLASSDTL_SCF_Activate();
method SSR_INSTDTL_LF_SCF_Activate();
method SSR_INSTRDTL_SCF_Activate();
method DERIVED_SSR_FL__SSR_CL_DTLS_OPT_FieldChange();
method SSR_DER1_MTG_FL_SSR_MTGINFO_DATA__FieldChange();

protected
property SCC_FLUID:MODEL:Panel Panel;

private
instance SSR_MANAGE_CLASSES:UTIL:ClassInformation &oClassInformation;
instance string &recEmplId, &recInst, &recCar, &recTerm;
instance date &recTermBeginDt;
instance integer &iRefRow;
instance string &status;
end-class;

Global string &sDropClasses_StudentId, &sDropClasses_Institution,


&sDropClasses_AcademicCareer, &sDropClasses_Term;
Global date &sDropClasses_TermBeginDt;
Global Rowset &rs_SelectedClassesToDrop;
Global boolean &sIsActionItemMarkedAsComplete;

method SSR_DROP_SELECT_FL
%Super = create SCC_FLUID:MODEL:Component();
end-method;

method SSR_DROP_SELECT_FL_Activate

&Panel = %This.CreatePanel();
%This.Render();

Local SSR_MANAGE_CLASSES:UTIL:Installation &utilMethods = create


SSR_MANAGE_CLASSES:UTIL:Installation();
Local boolean &bool_recSingleInst = &utilMethods.IsSingleInstitution();
Local boolean &bool_recMultiInst;
If &bool_recSingleInst = True Then
&bool_recMultiInst = False;
Else
&bool_recMultiInst = True;
End-If;

Local SSR_MANAGE_CLASSES:UTIL:DropClasses &oDropClasses;


Local Grid &cls_grid;
Local string &sTable;

AddStyleSheet(StyleSheet.SSR_SS);

&oClassInformation = create SSR_MANAGE_CLASSES:UTIL:ClassInformation();

&recEmplId = &sDropClasses_StudentId;
&recInst = &sDropClasses_Institution;
&recCar = &sDropClasses_AcademicCareer;
&recTerm = &sDropClasses_Term;
&recTermBeginDt = &sDropClasses_TermBeginDt;

&oDropClasses = create SSR_MANAGE_CLASSES:UTIL:DropClasses(&recEmplId, &recCar,


&recInst, &recTerm);

DERIVED_SSR_FL.SSR_CHANGE_BTN.Visible = False;
DERIVED_SSR_FL.INSTITUTION = &recInst;
DERIVED_SSR_FL.ACAD_CAREER = &recCar;
DERIVED_SSR_FL.STRM = &recTerm;

DERIVED_SSR_FL.ACAD_CAREER.Label =
DERIVED_SSR_FL.ACAD_CAREER.GetLongLabel("ACAD_CAREER");
INSTITUTION_TBL.DESCRFORMAL.Label =
DERIVED_SSR_FL.INSTITUTION.GetLongLabel("INSTITUTION3");
INSTITUTION_TBL.DESCRFORMAL.Visible = &bool_recMultiInst;

&cls_grid = GetGrid(%Page, "STDNT_ENRL_SSV1");


&cls_grid.GetColumn("P_CLASS_NAME").Label = MsgGetText(14690, 405, "Message not
found");

&iRefRow = 0;

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then


&oDropClasses.LoadEnrlReqGrid_Drop_Sff();
Else
&oDropClasses.LoadEnrlReqGrid_Drop();
End-If;

end-method;

method DERIVED_REGFRM1_SSR_SELECT_FieldChange
Local integer &i;

If DERIVED_REGFRM1.SSR_SELECT = "Y" Then


&rs_SelectedClassesToDrop.InsertRow(&iRefRow);
&rs_SelectedClassesToDrop(&iRefRow + 1).SSR_CLS_SEL_WRK.SSR_SELECT.Value =
DERIVED_REGFRM1.SSR_SELECT;
&rs_SelectedClassesToDrop(&iRefRow + 1).SSR_CLS_SEL_WRK.CLASS_NBR.Value =
STDNT_ENRL_SSV1.CLASS_NBR;
&rs_SelectedClassesToDrop(&iRefRow + 1).SSR_CLS_SEL_WRK.CRSE_ID.Value =
STDNT_ENRL_SSV1.CRSE_ID;
&rs_SelectedClassesToDrop(&iRefRow + 1).SSR_CLS_SEL_WRK.CRSE_OFFER_NBR.Value
= STDNT_ENRL_SSV1.CRSE_OFFER_NBR;
&rs_SelectedClassesToDrop(&iRefRow + 1).SSR_CLS_SEL_WRK.SESSION_CODE.Value =
STDNT_ENRL_SSV1.SESSION_CODE;
&rs_SelectedClassesToDrop(&iRefRow +
1).SSR_CLS_SEL_WRK.ASSOCIATED_CLASS.Value = STDNT_ENRL_SSV1.ASSOCIATED_CLASS;
&rs_SelectedClassesToDrop(&iRefRow +
1).SSR_CLS_SEL_WRK.STDNT_ENRL_STATUS.Value = STDNT_ENRL_SSV1.STDNT_ENRL_STATUS;
Else
For &i = 1 To &rs_SelectedClassesToDrop.ActiveRowCount
If &rs_SelectedClassesToDrop(&i).SSR_CLS_SEL_WRK.CLASS_NBR.Value =
STDNT_ENRL_SSV1.CLASS_NBR Then
&rs_SelectedClassesToDrop.DeleteRow(&i);
Break;
End-If;
End-For;
End-If;

&iRefRow = &rs_SelectedClassesToDrop.ActiveRowCount;

Local Rowset &rs_StdntEnrlV1, &rs_StdntEnrlV2;


Local integer &j, &k;

&rs_StdntEnrlV1 = GetLevel0()(1).GetRowset(Scroll.STDNT_ENRL_SSV1);

&sIsActionItemMarkedAsComplete = False;

If %Request.BrowserDeviceFormFactor <> %FormFactor_Small Then


For &j = 1 To &rs_StdntEnrlV1.ActiveRowCount
If &rs_StdntEnrlV1(&j).DERIVED_REGFRM1.SSR_SELECT.Value = "Y" Then
&sIsActionItemMarkedAsComplete = True;
Break;
End-If;
End-For;
Else
For &j = 1 To &rs_StdntEnrlV1.ActiveRowCount
&rs_StdntEnrlV2 = &rs_StdntEnrlV1(&j).GetRowset(Scroll.STDNT_ENRL_SSV1);
For &k = 1 To &rs_StdntEnrlV2.ActiveRowCount
If &rs_StdntEnrlV2(&k).DERIVED_REGFRM1.SSR_SELECT.Value = "Y" Then
&sIsActionItemMarkedAsComplete = True;
Break;
End-If;
End-For;
End-For;
End-If;

SetComponentChanged();
DoSaveNow(); /* Triggers Activity Guide's Action Item Post Process */
end-method;

method SSR_CLSDTL_LF_SCF__Activate
&oClassInformation.SSR_CLSDTL_LF_SCF_Activate();
end-method;

method DERIVED_SSR_FL_SSR_CL_DTLS_LFF__FieldChange
&oClassInformation.DERIVED_SSR_FL__SSR_CL_DTLS_LFF_FieldChange();
end-method;

method DERIVED_SSR_FL_SSR_CLASSNAME_LONG__FieldChange
If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then
&oClassInformation.DefaultTab = "MD"; /* Default to Meeting Details tab */
Else
&oClassInformation.DefaultTab = "CD"; /* Default to Class Details tab */
End-If;

&oClassInformation.recEmplId = &recEmplId;
&oClassInformation.recInst = &recInst;
&oClassInformation.recCar = &recCar;
&oClassInformation.recTerm = &recTerm;
&oClassInformation.recTermBeginDt = &recTermBeginDt;
&oClassInformation.subject = STDNT_ENRL_SSV1.SUBJECT;
&oClassInformation.catalog_nbr = STDNT_ENRL_SSV1.CATALOG_NBR;
&oClassInformation.associated_class = STDNT_ENRL_SSV1.ASSOCIATED_CLASS;
&oClassInformation.sCourseTitle = STDNT_ENRL_SSV1.DESCR;
&oClassInformation.status = &status;
&oClassInformation.class_nbr = STDNT_ENRL_SSV1.CLASS_NBR;
&oClassInformation.ssr_component = STDNT_ENRL_SSV1.SSR_COMPONENT;

If STDNT_ENRL_SSV1.CLASS_TYPE = "E" Then


&oClassInformation.sgrading_basis = STDNT_ENRL_SSV1.GRADING_BASIS_ENRL;
&oClassInformation.sunt_taken = NumberToString("%6.2",
STDNT_ENRL_SSV1.UNT_TAKEN);
Else
&oClassInformation.sgrading_basis = "NON";
&oClassInformation.sunt_taken = "0.00";
End-If;

&oClassInformation.crse_id = STDNT_ENRL_SSV1.CRSE_ID;
&oClassInformation.crse_offer_nbr = STDNT_ENRL_SSV1.CRSE_OFFER_NBR;
&oClassInformation.session_code = STDNT_ENRL_SSV1.SESSION_CODE;
&oClassInformation.class_section = STDNT_ENRL_SSV1.CLASS_SECTION;

&oClassInformation.Instantiate();
end-method;

method DERIVED_SSR_FL_SSR_INSTR_NME_FL__FieldChange
&oClassInformation.DERIVED_SSR_FL__SSR_INSTR_NME_FL_FieldChange();
end-method;

method DERIVED_SSR_FL_SSR_INSTR_FL__FieldChange
&oClassInformation.DERIVED_SSR_FL__SSR_INSTR_FL_FieldChange();
end-method;

method SSR_CLASSDTL_SCF_Activate
&oClassInformation.SSR_CLASSDTL_SCF_Activate();
end-method;

method DERIVED_SSR_FL__SSR_CL_DTLS_OPT_FieldChange
&oClassInformation.DERIVED_SSR_FL__SSR_CL_DTLS_OPT_FieldChange();
end-method;

method SSR_DER1_MTG_FL_SSR_MTGINFO_DATA__FieldChange
&oClassInformation.SSR_DER1_MTG_FL__SSR_MTGINFO_DATA_FieldChange();
end-method;

method SSR_INSTDTL_LF_SCF_Activate
&oClassInformation.SSR_INSTDTL_LF_SCF_Activate();
end-method;

method SSR_INSTRDTL_SCF_Activate
&oClassInformation.SSR_INSTRDTL_SCF_Activate();
end-method;

method DERIVED_SSR_FL_SSR_MORE_CLASS_FL__FieldChange

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then


&oClassInformation.DefaultTab = "MD"; /* Default to Meeting Details tab */
Else
&oClassInformation.DefaultTab = "MI"; /* Default to Meeting Information tab
*/
End-If;

&oClassInformation.recEmplId = &recEmplId;
&oClassInformation.recInst = &recInst;
&oClassInformation.recCar = &recCar;
&oClassInformation.recTerm = &recTerm;
&oClassInformation.recTermBeginDt = &recTermBeginDt;
&oClassInformation.subject = STDNT_ENRL_SSV1.SUBJECT;
&oClassInformation.catalog_nbr = STDNT_ENRL_SSV1.CATALOG_NBR;
&oClassInformation.associated_class = STDNT_ENRL_SSV1.ASSOCIATED_CLASS;
&oClassInformation.sCourseTitle = STDNT_ENRL_SSV1.DESCR;
&oClassInformation.status = &status;
&oClassInformation.class_nbr = STDNT_ENRL_SSV1.CLASS_NBR;
&oClassInformation.ssr_component = STDNT_ENRL_SSV1.SSR_COMPONENT;

If STDNT_ENRL_SSV1.CLASS_TYPE = "E" Then


&oClassInformation.sgrading_basis = STDNT_ENRL_SSV1.GRADING_BASIS_ENRL;
&oClassInformation.sunt_taken = NumberToString("%6.2",
STDNT_ENRL_SSV1.UNT_TAKEN);
Else
&oClassInformation.sgrading_basis = "NON";
&oClassInformation.sunt_taken = "0.00";
End-If;

&oClassInformation.crse_id = STDNT_ENRL_SSV1.CRSE_ID;
&oClassInformation.crse_offer_nbr = STDNT_ENRL_SSV1.CRSE_OFFER_NBR;
&oClassInformation.session_code = STDNT_ENRL_SSV1.SESSION_CODE;
&oClassInformation.class_section = STDNT_ENRL_SSV1.CLASS_SECTION;

&oClassInformation.Instantiate();
end-method;

[SSR_MANAGE_CLASSES.COMPONENTS.ActivityGuide_ActionItems.SSR_EDIT_ALTCLS_FL.OnExecu
te]
import SCC_FLUID:MODEL:Component;
import SCC_FLUID:UTIL:CSSClass;
import SCC_FLUID:MODEL:Panel;
import SSR_MANAGE_CLASSES:UTIL:Installation;
import SCC_FLUID:UTIL:Popup;
import SSR_CLASS:Components:Utility:SSR_CLSRCH_CONFIG_Util;
import SSR_STUDENT_RECORDS:SR_StudentData:StudentTerms;
import SSR_MANAGE_CLASSES:UTIL:EditClasses;
import SSR_MANAGE_CLASSES:UTIL:Confirmation;
import SSR_MANAGE_CLASSES:UTIL:Formatter;
import SSR_MANAGE_CLASSES:UTIL:ClassInformation;
import SSR_STUDENT_RECORDS:SR_ClassData:ClassDetail;
import SSR_STUDENT_RECORDS:SR_ClassData:ClassInfo;
import SSR_MANAGE_CLASSES:UTIL:MeetingDetails;
import SSR_MANAGE_CLASSES:UTIL:ClassOptions;
import SSR_MANAGE_CLASSES:UTIL:ClassPreferences;
import SSR_MANAGE_CLASSES:UTIL:GlobalVariables;

class SSR_EDIT_ALTCLS_FL extends SCC_FLUID:MODEL:Component


/* Main Method */
method SSR_EDIT_ALTCLS_FL(&bIsMDComponent As boolean);
method Postbuild();
method SSR_ED_ALTCLS_FL_Activate();

/* Select alternative class Page - Open Class Details Secondary Page */


method SSR_CLASSDTL_SCF_Activate();

/* Select alternative class Page - Open Change Term Secondary Page */


method SSR_CLSDTL_LF_SCF__Activate();

method DERIVED_SSR_FL_SSR_CLASSNAME_LONG__FieldChange();
method DERIVED_SSR_FL_SSR_SELECT__FieldChange();
method GetClassOptions() Returns Rowset;
method LoadAlternativeClasses();
method LoadAlternativeClasses_sff();
method alignLinesInFlexGrid(&initialLoad As boolean);
method LoadMeetingPattern(&termcheck As string, &classnbrcheck As integer)
Returns string;
method LoadRoomDetail(&crse_idcheck As string, &crse_offer_nbrcheck As integer,
&termcheck As string, &session_codecheck As string, &class_sectioncheck As string,
&ntgpatcheck As integer) Returns string;

/* Class/Instructor details Secondary page Utilities */


method SSR_ED_CLASS_FL_SSR_CLASSNAME_LONG__FieldChange(&classnbr As integer);
method SSR_DER1_MTG_FL_SSR_MTGINFO_DATA__FieldChange();
method SSR_INSTDTL_LF_SCF_Activate();
method SSR_INSTRDTL_SCF_Activate();
method DERIVED_SSR_FL_SSR_CL_DTLS_LFF__FieldChange();
method DERIVED_SSR_FL__SSR_CL_DTLS_OPT_FieldChange();
method DERIVED_SSR_FL_SSR_INSTR_NME_FL__FieldChange();
method DERIVED_SSR_FL_SSR_INSTR_FL__FieldChange();
method DERIVED_SSR_FL_SSR_MORE_CLASS_FL__FieldChange();
method DERIVED_SSR_FL_SSR_NEXT_FL__FieldChange();

protected
property SCC_FLUID:MODEL:Panel Panel;

private

instance boolean &bIsMD;


instance string &recEmplId, &recTerm, &recCar, &recInst, &recPage, &gotopage,
&recChangeTerm;
instance date &recTermBeginDt;
instance string &setId;
instance string &sConfirmationMessageDetail;
instance string &sEnrlRequestId, &sEnrlReqDetlStat;
instance number &nEnrlReqDetlSeq, &nEnrlMessageSeq;
instance SSR_MANAGE_CLASSES:UTIL:EditClasses &oEditClasses;

instance SSR_MANAGE_CLASSES:UTIL:ClassInformation &oClassInformation;

instance string &pref_Component1, &pref_Component2, &msg_optclass;

instance Rowset &rs_AlternativeClasses;

instance integer &row_level1, &roomdetails_cnt;

instance string &sWaitListOkayLabel, &sInformationMessage;

instance boolean &bool_classoptionsflag, &bool_recMultiInst,


&booClassInfoLoaded, &booEnrollInfoLoaded, &roomdetails_tag, &patternend,
&bMoreclass;

instance string &roomdetails, &crse_id, &crse_offer_nbr, &session_code,


&assoc_class, &class_component, &sTime, &sMessageEnd;

instance Rowset &rs_regform_view, &rs_regform_main, &rs_RegformVw1;


instance integer &iCurrentRowNumber;
instance string &sScrollRecord, &roomdetails2, &startenddate;
instance array of number &iEditClasses_Class_nbr;

end-class;

Global SSR_MANAGE_CLASSES:UTIL:GlobalVariables &oManageClassesGlobalVars;

method SSR_EDIT_ALTCLS_FL
/+ &bIsMDComponent as Boolean +/
%Super = create SCC_FLUID:MODEL:Component();
&bIsMD = &bIsMDComponent;
end-method;

method Postbuild

Local SCC_FLUID:UTIL:CSSClass &objCSS, &objCSS1;

&objCSS = create SCC_FLUID:UTIL:CSSClass();

&objCSS.AddStyleSheet(StyleSheet.SSR_SS);

&Panel = %This.CreatePanel();
%This.Render();

Local Record &getemplid, &getsetid;

&getemplid = CreateRecord(Record.PSOPRDEFN);
&getsetid = CreateRecord(Record.OPR_DEF_TBL_CS);

&getemplid.OPRID.Value = %OperatorId;
&bool_classoptionsflag = False;
If &getemplid.SelectByKey() Then
&recEmplId = &getemplid.EMPLID.Value;
End-If;

&getsetid.OPRID.Value = %OperatorId;
If &getsetid.SelectByKey() Then
&setId = &getsetid.SETID.Value;
End-If;

Local SSR_MANAGE_CLASSES:UTIL:Installation &utilMethods = create


SSR_MANAGE_CLASSES:UTIL:Installation();
Local boolean &bool_recSingleInst = &utilMethods.IsSingleInstitution();

If &bool_recSingleInst = True Then


&bool_recMultiInst = False;
Else
&bool_recMultiInst = True;
End-If;

&oManageClassesGlobalVars.rs_SelectedClassesToEdit =
CreateRowset(Record.SSR_CLS_SEL_WRK);

If %Request.BrowserDeviceFormFactor <> %FormFactor_Small Then;


%This.alignLinesInFlexGrid( True);
End-If;

end-method;

method alignLinesInFlexGrid
/+ &initialLoad as Boolean +/

If %Request.BrowserDeviceFormFactor <> %FormFactor_Small Then;


If &initialLoad Then;
AddJavaScript(HTML.SSR_ALIGN_LINES_ED_FLEXGRID_JS);

AddOnLoadScript("if (typeof alignLinesInFlexGrid == 'function')


{ alignLinesInFlexGrid(); window.addEventListener('resize',
alignLinesInFlexGrid); }");
Else
AddOnLoadScript("if (typeof alignLinesInFlexGrid == 'function')
{ alignLinesInFlexGrid(); }");
End-If;
End-If;

end-method;

method SSR_ED_ALTCLS_FL_Activate

AddStyleSheet(StyleSheet.SSR_SHOPPING_CART_FL);
AddStyleSheet(StyleSheet.SSR_DROP_CLASSES_FL);
AddStyleSheet(StyleSheet.SSR_EDIT_SS);
AddStyleSheet(StyleSheet.SSR_SS);

&recCar = &oManageClassesGlobalVars.AGCar;
&recTerm = &oManageClassesGlobalVars.AGTerm;
&recInst = &oManageClassesGlobalVars.AGInst;
&recTermBeginDt = &oManageClassesGlobalVars.AGTermBeginDt;
&oClassInformation = create SSR_MANAGE_CLASSES:UTIL:ClassInformation();
DERIVED_SSR_FL.SSR_CHANGE_BTN.Visible = False;
INSTITUTION_TBL.DESCRFORMAL.Label = MsgGetText(14770, 802, "Message not
found.");
&oManageClassesGlobalVars.sIsActionItemMarkedAsComplete = False;

If %Page = Page.SSR_ED_ALTCLS_FL Then


/********************** Alternative Classes **********************/
Local Grid &Grid;

&Grid = GetGrid(%Page, "SSR_DUMMY_RECV2");


&oManageClassesGlobalVars.sIsActionItemMarkedAsComplete = False;
&Grid.GetColumn("SEATS").Label = MsgGetText(14770, 609, "Message not
found.");

&iEditClasses_Class_nbr = CreateArrayRept(0, 4);

&iEditClasses_Class_nbr [1] =
&oManageClassesGlobalVars.aEditClasses_Class_nbr [1];
&iEditClasses_Class_nbr [2] =
&oManageClassesGlobalVars.aEditClasses_Class_nbr [2];
&iEditClasses_Class_nbr [3] =
&oManageClassesGlobalVars.aEditClasses_Class_nbr [3];
&iEditClasses_Class_nbr [4] =
&oManageClassesGlobalVars.aEditClasses_Class_nbr [4];

&oManageClassesGlobalVars.aEditClasses_Class_nbr [1] =
&oManageClassesGlobalVars.tEditClasses_Class_nbr [1];
&oManageClassesGlobalVars.aEditClasses_Class_nbr [2] =
&oManageClassesGlobalVars.tEditClasses_Class_nbr [2];
&oManageClassesGlobalVars.aEditClasses_Class_nbr [3] =
&oManageClassesGlobalVars.tEditClasses_Class_nbr [3];
&oManageClassesGlobalVars.aEditClasses_Class_nbr [4] =
&oManageClassesGlobalVars.tEditClasses_Class_nbr [4];

&rs_AlternativeClasses = %This.GetClassOptions();

&row_level1 = 1;
DERIVED_SSR_FL.SSR_DESCR80_3.Value =
&oManageClassesGlobalVars.sEditClasses_Class_desc;
&rs_RegformVw1 = GetLevel0()(1).GetRowset(Scroll.SSR_DUMMY_RECV1);
&rs_RegformVw1.Flush();

&oManageClassesGlobalVars.sIsActionItemMarkedAsComplete = False;
DERIVED_SSR_FL.INSTITUTION.Value = &recInst;
DERIVED_SSR_FL.ACAD_CAREER.Value = &recCar;
DERIVED_SSR_FL.STRM.Value = &recTerm;

If &rs_AlternativeClasses.ActiveRowCount = 1 Then
If &rs_AlternativeClasses(1).SSR_DER_CS_GRP.SSR_OPTION_NBR.Value = 0 Then
/* No Alternative Classes available */

DERIVED_SSR_FL.SSR_GRPLFF_FL.Visible = False;
&oManageClassesGlobalVars.sIsActionItemMarkedAsComplete = True;
Else
DERIVED_SSR_FL.SSR_GRPLFF_FL.Visible = True;
If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then
%This.LoadAlternativeClasses_sff();
Else
%This.LoadAlternativeClasses_sff();
End-If;
End-If;
Else
DERIVED_SSR_FL.SSR_GRPLFF_FL.Visible = True;
If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then
%This.LoadAlternativeClasses_sff();
Else
%This.LoadAlternativeClasses_sff();
End-If;
End-If;

End-If;

end-method;

method SSR_CLSDTL_LF_SCF__Activate

&oClassInformation.SSR_CLSDTL_LF_SCF_Activate();
end-method;

method DERIVED_SSR_FL_SSR_CLASSNAME_LONG__FieldChange
If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then
/* Default to Meeting Details tab */
&oClassInformation.DefaultTab = "CD";
Else
/* Default to Class Details tab */
&oClassInformation.DefaultTab = "CD";
End-If;

Local Record &recclasstblvw = CreateRecord(Record.CLASS_TBL_VW);


&oClassInformation.recEmplId = &recEmplId;
&oClassInformation.recInst = &recInst;
&oClassInformation.recCar = &recCar;
&oClassInformation.recTerm = &recTerm;
&oClassInformation.recTermBeginDt = &recTermBeginDt;

&recclasstblvw.INSTITUTION.Value = &recInst;
&recclasstblvw.STRM.Value = &recTerm;

&recclasstblvw.CLASS_NBR.Value = SSR_DER_CS_GRP.CLASS_NBR.Value;

If &recclasstblvw.SelectByKey() Then

&oClassInformation.subject = &recclasstblvw.SUBJECT.Value;
&oClassInformation.catalog_nbr = &recclasstblvw.CATALOG_NBR.Value;
&oClassInformation.associated_class = &recclasstblvw.ASSOCIATED_CLASS.Value;
&oClassInformation.sCourseTitle = &recclasstblvw.DESCR.Value;

&oClassInformation.crse_id = &recclasstblvw.CRSE_ID.Value;
&oClassInformation.crse_offer_nbr = &recclasstblvw.CRSE_OFFER_NBR.Value;
&oClassInformation.session_code = &recclasstblvw.SESSION_CODE.Value;
&oClassInformation.class_section = &recclasstblvw.CLASS_SECTION.Value;

&oClassInformation.class_nbr = &recclasstblvw.CLASS_NBR.Value;
&oClassInformation.ssr_component = &recclasstblvw.SSR_COMPONENT.Value;

If &recclasstblvw.CLASS_TYPE.Value = "E" Then


&oClassInformation.sgrading_basis = SSR_DER_CS_GRP.GRADING_BASIS;
&oClassInformation.sunt_taken = NumberToString("%6.2",
SSR_DER_CS_GRP.UNITS_MINIMUM.Value);
Else
&oClassInformation.sgrading_basis = "NON";
&oClassInformation.sunt_taken = "0.00";
End-If;

End-If;

&oClassInformation.Instantiate();
end-method;

method SSR_CLASSDTL_SCF_Activate
&oClassInformation.SSR_CLASSDTL_SCF_Activate();
end-method;

method SSR_DER1_MTG_FL_SSR_MTGINFO_DATA__FieldChange
&oClassInformation.SSR_DER1_MTG_FL__SSR_MTGINFO_DATA_FieldChange();
end-method;

method SSR_INSTDTL_LF_SCF_Activate

&oClassInformation.SSR_INSTDTL_LF_SCF_Activate();
end-method;

method SSR_INSTRDTL_SCF_Activate
&oClassInformation.SSR_INSTRDTL_SCF_Activate();
end-method;

method DERIVED_SSR_FL_SSR_CL_DTLS_LFF__FieldChange
&oClassInformation.DERIVED_SSR_FL__SSR_CL_DTLS_LFF_FieldChange();
end-method;

method DERIVED_SSR_FL_SSR_INSTR_NME_FL__FieldChange
&oClassInformation.DERIVED_SSR_FL__SSR_INSTR_NME_FL_FieldChange();
end-method;

method DERIVED_SSR_FL_SSR_INSTR_FL__FieldChange
&oClassInformation.DERIVED_SSR_FL__SSR_INSTR_FL_FieldChange();
end-method;

method DERIVED_SSR_FL_SSR_MORE_CLASS_FL__FieldChange
If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then
rem &classdtlcheck = "MD"; /* Default to Meeting Details tab */
&oClassInformation.DefaultTab = "MD";
Else
rem &classdtlcheck = "MI"; /* Default to Meeting Information tab */
&oClassInformation.DefaultTab = "MI";
End-If;

Local Record &recclasstblvw = CreateRecord(Record.CLASS_TBL_VW);


&oClassInformation.recEmplId = &recEmplId;
&oClassInformation.recInst = &recInst;
&oClassInformation.recCar = &recCar;
&oClassInformation.recTerm = &recTerm;
&oClassInformation.recTermBeginDt = &recTermBeginDt;

&recclasstblvw.INSTITUTION.Value = &recInst;
&recclasstblvw.STRM.Value = &recTerm;
&recclasstblvw.CLASS_NBR.Value = SSR_DER_CS_GRP.CLASS_NBR.Value;

If &recclasstblvw.SelectByKey() Then
&oClassInformation.subject = &recclasstblvw.SUBJECT.Value;
&oClassInformation.catalog_nbr = &recclasstblvw.CATALOG_NBR.Value;
&oClassInformation.associated_class = &recclasstblvw.ASSOCIATED_CLASS.Value;
&oClassInformation.sCourseTitle = &recclasstblvw.DESCR.Value;

&oClassInformation.crse_id = &recclasstblvw.CRSE_ID.Value;
&oClassInformation.crse_offer_nbr = &recclasstblvw.CRSE_OFFER_NBR.Value;
&oClassInformation.session_code = &recclasstblvw.SESSION_CODE.Value;
&oClassInformation.class_section = &recclasstblvw.CLASS_SECTION.Value;

&oClassInformation.class_nbr = &recclasstblvw.CLASS_NBR.Value;
&oClassInformation.ssr_component = &recclasstblvw.SSR_COMPONENT.Value;

If &recclasstblvw.CLASS_TYPE.Value = "E" Then


&oClassInformation.sgrading_basis = SSR_DER_CS_GRP.GRADING_BASIS;
&oClassInformation.sunt_taken = NumberToString("%6.2",
SSR_DER_CS_GRP.UNITS_MINIMUM.Value);
Else
&oClassInformation.sgrading_basis = "NON";
&oClassInformation.sunt_taken = "0.00";
End-If;

End-If;

&oClassInformation.Instantiate();

end-method;

method DERIVED_SSR_FL_SSR_NEXT_FL__FieldChange

If %Page = Page.SSR_ED_ALTCLS_FL Then

TransferPage(Page.SSR_ED_PREF_FL);
Else
Local Rowset &rs_RegformVw2;
Local integer &i, &j, &AssignOnce;

&rs_RegformVw2 = GetLevel0()(1).GetRowset(Scroll.SSR_STENRL_SSV2);

For &i = 1 To &rs_RegformVw2.ActiveRowCount

If &rs_RegformVw2(&i).DERIVED_REGFRM1.SSR_SELECT.Visible And
&rs_RegformVw2(&i).DERIVED_REGFRM1.SSR_SELECT.Value = "Y" Then
&oManageClassesGlobalVars.sEditClasses_Class_nbr =
&rs_RegformVw2(&i).SSR_STENRL_SSV2.CLASS_NBR.Value;
Break;
End-If;

End-For;

TransferPage(Page.SSR_ED_ALTCLS_FL);
End-If;
end-method;

method GetClassOptions
/+ Returns Rowset +/

Local SSR_MANAGE_CLASSES:UTIL:ClassOptions &oClassOptions = create


SSR_MANAGE_CLASSES:UTIL:ClassOptions();
Local Rowset &rs_ClsGrpOptns;
Local number &nAutoEnrlClassNbr1, &nAutoEnrlClassNbr2;
Local number &nRelateClassNbr1, &nRelateClassNbr2;
Local Record &rec_getrelateclass, &rec_getrelateclass1;
Local Rowset &rs_getrelateclass;
Local integer &classnbrctr, &i;

&rs_getrelateclass = CreateRowset(Record.STDNT_ENRL_SSVW);
&rec_getrelateclass = CreateRecord(Record.SSR_STENRL_SSV2);
&rs_ClsGrpOptns = CreateRowset(Record.SSR_DER_CS_FLTR);
&rs_ClsGrpOptns(1).SSR_DER_CS_FLTR.CLASS_NBR.Value =
&oManageClassesGlobalVars.sEditClasses_Class_nbr;
&rs_ClsGrpOptns(1).SSR_DER_CS_FLTR.STRM.Value = &recTerm;
&rs_ClsGrpOptns(1).SSR_DER_CS_FLTR.INSTITUTION.Value = &recInst;
&nAutoEnrlClassNbr2 = 0;
&nAutoEnrlClassNbr1 = 0;

&rec_getrelateclass.EMPLID.Value = &recEmplId;
&rec_getrelateclass.INSTITUTION.Value = &recInst;
&rec_getrelateclass.ACAD_CAREER.Value = &recCar;
&rec_getrelateclass.STRM.Value = &recTerm;
&rec_getrelateclass.CLASS_NBR.Value =
&oManageClassesGlobalVars.sEditClasses_Class_nbr;
Local integer &assClass;
Local string &crseid, &crseoffr_nbr, &std_enrl_Status;
If &rec_getrelateclass.SelectByKey() Then

&classnbrctr = &rs_getrelateclass.Fill("WHERE EMPLID = :1 AND INSTITUTION = :


2 AND ACAD_CAREER = :3 AND STRM = :4 AND SUBJECT = :5 AND CATALOG_NBR = :6 AND
CLASS_NBR = :7", &recEmplId, &recInst, &recCar, &recTerm,
&rec_getrelateclass.SUBJECT.Value, &rec_getrelateclass.CATALOG_NBR.Value,
&rec_getrelateclass.CLASS_NBR.Value);

If &classnbrctr > 0 Then


&nRelateClassNbr1 =
&rs_getrelateclass(&classnbrctr).STDNT_ENRL_SSVW.RELATE_CLASS_NBR_1.Value;
&nRelateClassNbr2 =
&rs_getrelateclass(&classnbrctr).STDNT_ENRL_SSVW.RELATE_CLASS_NBR_2.Value;
&rs_ClsGrpOptns(1).SSR_DER_CS_FLTR.RELATE_CLASS_NBR_1.Value =
&rs_getrelateclass(&classnbrctr).STDNT_ENRL_SSVW.RELATE_CLASS_NBR_1.Value;
&rs_ClsGrpOptns(1).SSR_DER_CS_FLTR.RELATE_CLASS_NBR_2.Value =
&rs_getrelateclass(&classnbrctr).STDNT_ENRL_SSVW.RELATE_CLASS_NBR_2.Value;
&assClass =
&rs_getrelateclass(&classnbrctr).STDNT_ENRL_SSVW.ASSOCIATED_CLASS.Value;
&crseid = &rs_getrelateclass(&classnbrctr).STDNT_ENRL_SSVW.CRSE_ID.Value;
&crseoffr_nbr =
&rs_getrelateclass(&classnbrctr).STDNT_ENRL_SSVW.CRSE_OFFER_NBR.Value;
&std_enrl_Status =
&rs_getrelateclass(&classnbrctr).STDNT_ENRL_SSVW.STDNT_ENRL_STATUS.Value;
End-If;
&classnbrctr = &rs_getrelateclass.Fill("WHERE EMPLID = :1 AND INSTITUTION = :
2 AND ACAD_CAREER = :3 AND STRM = :4 AND CRSE_ID = :5 AND CRSE_OFFER_NBR = :6 AND
CLASS_NBR != :7 AND CLASS_NBR != :8 AND CLASS_NBR != :9 AND (ASSOCIATED_CLASS =
:10 OR ASSOCIATED_CLASS = 9999) AND STDNT_ENRL_STATUS = :11", &recEmplId, &recInst,
&recCar, &recTerm, &crseid, &crseoffr_nbr, &rec_getrelateclass.CLASS_NBR.Value,
&nRelateClassNbr1, &nRelateClassNbr2, &assClass, &std_enrl_Status);

If &classnbrctr = 1 Then
&nAutoEnrlClassNbr1 =
&rs_getrelateclass(&classnbrctr).STDNT_ENRL_SSVW.CLASS_NBR.Value;
&rs_ClsGrpOptns(1).SSR_DER_CS_FLTR.SSR_AUTOENRL_CLS_1.Value =
&rs_getrelateclass(1).STDNT_ENRL_SSVW.CLASS_NBR.Value;
&rs_ClsGrpOptns(1).SSR_DER_CS_FLTR.SSR_AUTOENRL_CLS_2.Value =
&nAutoEnrlClassNbr2;

End-If;

If &classnbrctr = 2 Then

&nAutoEnrlClassNbr1 =
&rs_getrelateclass(1).STDNT_ENRL_SSVW.CLASS_NBR.Value;
&rs_ClsGrpOptns(1).SSR_DER_CS_FLTR.SSR_AUTOENRL_CLS_1.Value =
&rs_getrelateclass(1).STDNT_ENRL_SSVW.CLASS_NBR.Value;
&nAutoEnrlClassNbr2 =
&rs_getrelateclass(2).STDNT_ENRL_SSVW.CLASS_NBR.Value;
&rs_ClsGrpOptns(1).SSR_DER_CS_FLTR.SSR_AUTOENRL_CLS_2.Value =
&rs_getrelateclass(2).STDNT_ENRL_SSVW.CLASS_NBR.Value;

End-If;

End-If;

Return &oClassOptions.GetClassOptions("SC", "Y", &rs_ClsGrpOptns, Null, Null);


end-method;

method LoadAlternativeClasses_sff
Local integer &i, &j, &k;
Local number &curr_OptionNbr, &prev_OptionNbr;

For &i = 1 To &rs_AlternativeClasses.ActiveRowCount

&curr_OptionNbr =
&rs_AlternativeClasses(&i).SSR_DER_CS_GRP.SSR_OPTION_NBR.Value;

If &curr_OptionNbr <> &prev_OptionNbr Then

&rs_RegformVw1.InsertRow(&row_level1);
&row_level1 = &row_level1 + 1;
&rs_RegformVw1(&row_level1).DERIVED_SSR_FL.SSR_CLASSNAME_LONG.Value =
MsgGetText(14770, 577, "Message Not Found") | " " | &curr_OptionNbr | " - " |
&rs_AlternativeClasses(&i).SSR_DER_CS_GRP.SSR_OPTION_STAT.LongTranslateValue;
&rs_RegformVw1(&row_level1).SSR_DER_CS_GRP.SSR_OPTION_NBR.Value =
&curr_OptionNbr;

&prev_OptionNbr = &curr_OptionNbr;
End-If;

End-For;

&rs_RegformVw1.DeleteRow(1); /* Delete empty row */

Local integer &count_AltClasses, &row_level2, &AvailableSeats, &OptionsInstance,


&optionselect;
Local Rowset &rs_RegformVw2;
Local Row &row_RegformVw2;
Local string &sBgnCssConstructor, &sEndCssConstructor, &sStyleConstructor;

&sBgnCssConstructor = GetHTMLText(HTML.SSR_CSS_BGN_CONSTRUCTOR_FL);
&sStyleConstructor = "";

Local SSR_STUDENT_RECORDS:SR_ClassData:ClassDetail &classdetails = create


SSR_STUDENT_RECORDS:SR_ClassData:ClassDetail();
Local SSR_MANAGE_CLASSES:UTIL:MeetingDetails &oMeetingDetails = create
SSR_MANAGE_CLASSES:UTIL:MeetingDetails();
Local boolean &classreturn;

&oMeetingDetails.sInstitution = &recInst;
&oMeetingDetails.sAcademicCareer = &recCar;
&oMeetingDetails.sTerm = &recTerm;
&oMeetingDetails.Instantiate("EditClasses");
&optionselect = 1;

For &j = 1 To &rs_RegformVw1.ActiveRowCount

&row_level2 = 1;

For &k = 1 To &rs_AlternativeClasses.ActiveRowCount

If &rs_AlternativeClasses(&k).SSR_DER_CS_GRP.SSR_OPTION_NBR.Value =
&rs_RegformVw1(&j).SSR_DER_CS_GRP.SSR_OPTION_NBR.Value Then

&rs_RegformVw2 = &rs_RegformVw1(&j).GetRowset(Scroll.SSR_DUMMY_RECV2);

&rs_RegformVw2.InsertRow(&row_level2);

&row_level2 = &row_level2 + 1;

&row_RegformVw2 = &rs_RegformVw2.GetRow(&row_level2);

&row_RegformVw2.SSR_DER_CS_GRP.SSR_OPTION_NBR.Value =
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.SSR_OPTION_NBR.Value;
&row_RegformVw2.SSR_DER_CS_GRP.CLASS_NBR.Value =
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.CLASS_NBR.Value;
&row_RegformVw2.SSR_DER_CS_GRP.SSR_AUTO_ENRL_SW.Value =
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.SSR_AUTO_ENRL_SW.Value;
&row_RegformVw2.SSR_DER_CS_GRP.SSR_SEQ_NBR.Value =
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.SSR_SEQ_NBR.Value;
&row_RegformVw2.SSR_DER_CS_GRP.GRADING_BASIS.Value =
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.GRADING_BASIS.Value;
&row_RegformVw2.SSR_DER_CS_GRP.UNITS_MINIMUM.Value =
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.UNITS_MINIMUM.Value;

&row_RegformVw2.SSR_REGFORM_WRK.SSR_SBJ_CAT_NBR.Value =
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.SSR_COMPONENT.LongTranslateValue | " " |
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.CLASS_NBR.Value;
&row_RegformVw2.SSR_REGFORM_WRK.SSR_SBJ_CAT_NBR.Label =
&row_RegformVw2.SSR_REGFORM_WRK.SSR_SBJ_CAT_NBR.Value;

&row_RegformVw2.DERIVED_SSR_FL.SSR_STD_ENR_STAT.Value =
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.ENRL_STAT.Value;

Evaluate &row_RegformVw2.DERIVED_SSR_FL.SSR_STD_ENR_STAT.Value
When "O"
&row_RegformVw2.DERIVED_SSR_FL.SSR_SEATS_AVL.Value =
MsgGetText(14770, 527, "Message not found.",
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.ENRL_CAP.Value -
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.ENRL_TOT.Value,
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.ENRL_CAP.Value);
&row_RegformVw2.DERIVED_SSR_FL.SSR_DESCR50.Value = MsgGetText(14770,
607, "Message not found") | " " |
&row_RegformVw2.DERIVED_SSR_FL.SSR_SEATS_AVL.Value;
When "W"
&row_RegformVw2.DERIVED_SSR_FL.SSR_SEATS_AVL.Value =
MsgGetText(14770, 527, "Message not found.",
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.WAIT_CAP.Value -
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.WAIT_TOT.Value,
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.WAIT_CAP.Value);
&row_RegformVw2.DERIVED_SSR_FL.SSR_DESCR50.Value = MsgGetText(14770,
608, "Message not found") | " " |
&row_RegformVw2.DERIVED_SSR_FL.SSR_SEATS_AVL.Value;
When "C"
&row_RegformVw2.DERIVED_SSR_FL.SSR_SEATS_AVL.Value = "--";
&row_RegformVw2.DERIVED_SSR_FL.SSR_DESCR50.Value = MsgGetText(14770,
573, "Message not found");
End-Evaluate;

&row_RegformVw2.DERIVED_SSR_FL.SSR_DESCR50.Label = MsgGetText(14770,
609, "Message not found");

&classreturn =
&classdetails.LoadClassDetail(&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.CRSE_ID.Val
ue, &rs_AlternativeClasses(&k).SSR_DER_CS_GRP.CRSE_OFFER_NBR.Value,
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.STRM.Value,
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.SESSION_CODE.Value,
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.CLASS_SECTION.Value);

&row_RegformVw2.SSR_ED_CLASS_FL.SSR_ST_END_DT1.Value =
&classdetails.ClassDates;
&oMeetingDetails.LoadMeetingSchedule(&row_level2,
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.CLASS_NBR.Value, &row_RegformVw2);

&row_RegformVw2.SSR_REGFORM_WRK.SSR_MORE_CLASS_FL.Label =
&oMeetingDetails.sMaxHasReachedMessage;
&row_RegformVw2.SSR_REGFORM_WRK.SSR_MORE_CLASS_FL.Visible =
&oMeetingDetails.IsMoreDetailsAvailable;

If &row_level2 > 2 Then


&row_RegformVw2.DERIVED_SSR_FL.SSR_SELECT.Visible = False;
End-If;

If &oManageClassesGlobalVars.optionnmbrcheck > 0 Then


If &row_RegformVw2.SSR_DER_CS_GRP.SSR_OPTION_NBR.Value =
&oManageClassesGlobalVars.optionnmbrcheck Then

&row_RegformVw2.DERIVED_SSR_FL.SSR_SELECT.Value = "Y";
&oManageClassesGlobalVars.aEditClasses_Class_nbr [1] =
&iEditClasses_Class_nbr [1];
&oManageClassesGlobalVars.aEditClasses_Class_nbr [2] =
&iEditClasses_Class_nbr [2];
&oManageClassesGlobalVars.aEditClasses_Class_nbr [3] =
&iEditClasses_Class_nbr [3];
&oManageClassesGlobalVars.aEditClasses_Class_nbr [4] =
&iEditClasses_Class_nbr [4];

End-If;
End-If;

&OptionsInstance = &OptionsInstance + 1;

End-If;
End-For;
If &OptionsInstance > 0 Then
&rs_RegformVw2.DeleteRow(1);
End-If;
End-For;

If &OptionsInstance = 0 Then

/* No Alternative Classes available */


SSR_CLS_PREF_WK.GROUPBOX1.Visible = False;
SSR_CLS_PREF_WK.GROUPBOX2.Visible = False;
SSR_CLS_PREF_WK.GROUPBOX3.Visible = True;
End-If;

end-method;

method LoadAlternativeClasses
Local integer &i, &j, &k;
Local number &curr_OptionNbr, &prev_OptionNbr;

For &i = 1 To &rs_AlternativeClasses.ActiveRowCount

&curr_OptionNbr =
&rs_AlternativeClasses(&i).SSR_DER_CS_GRP.SSR_OPTION_NBR.Value;

If &curr_OptionNbr <> &prev_OptionNbr Then

&rs_RegformVw1.InsertRow(&row_level1);
&row_level1 = &row_level1 + 1;
&rs_RegformVw1(&row_level1).DERIVED_SSR_FL.SSR_CLASSNAME_LONG.Value =
MsgGetText(14770, 577, "Message Not Found") | " " | &curr_OptionNbr | " - " |
&rs_AlternativeClasses(&i).SSR_DER_CS_GRP.SSR_OPTION_STAT.LongTranslateValue;
&rs_RegformVw1(&row_level1).SSR_DER_CS_GRP.SSR_OPTION_NBR.Value =
&curr_OptionNbr;

&prev_OptionNbr = &curr_OptionNbr;

End-If;
End-For;

&rs_RegformVw1.DeleteRow(1); /* Delete empty row */

Local integer &count_AltClasses, &row_level2, &AvailableSeats, &OptionsInstance,


&optionselect;
Local Rowset &rs_RegformVw2;
Local Row &row_RegformVw2;
Local string &sBgnCssConstructor, &sEndCssConstructor, &sStyleConstructor;

&sBgnCssConstructor = GetHTMLText(HTML.SSR_CSS_BGN_CONSTRUCTOR_FL);
&sStyleConstructor = "";

Local SSR_MANAGE_CLASSES:UTIL:MeetingDetails &oMeetingDetails = create


SSR_MANAGE_CLASSES:UTIL:MeetingDetails();
Local Record &recTranslate = CreateRecord(Record.PSXLATITEM);
Local Record &classtblvw = CreateRecord(Record.CLASS_TBL_VW);
Local SSR_MANAGE_CLASSES:UTIL:Formatter &formatter1 = create
SSR_MANAGE_CLASSES:UTIL:Formatter();

&optionselect = 1;

For &j = 1 To &rs_RegformVw1.ActiveRowCount

&row_level2 = 1;

For &k = 1 To &rs_AlternativeClasses.ActiveRowCount

If &rs_AlternativeClasses(&k).SSR_DER_CS_GRP.SSR_OPTION_NBR.Value =
&rs_RegformVw1(&j).SSR_DER_CS_GRP.SSR_OPTION_NBR.Value Then

&rs_RegformVw2 = &rs_RegformVw1(&j).GetRowset(Scroll.SSR_DUMMY_RECV2);

&rs_RegformVw2.InsertRow(&row_level2);

&row_level2 = &row_level2 + 1;

&row_RegformVw2 = &rs_RegformVw2.GetRow(&row_level2);

&row_RegformVw2.SSR_DER_CS_GRP.SSR_OPTION_NBR.Value =
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.SSR_OPTION_NBR.Value;
&row_RegformVw2.SSR_DER_CS_GRP.CLASS_NBR.Value =
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.CLASS_NBR.Value;
&row_RegformVw2.SSR_DER_CS_GRP.SSR_AUTO_ENRL_SW.Value =
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.SSR_AUTO_ENRL_SW.Value;
&row_RegformVw2.SSR_DER_CS_GRP.SSR_SEQ_NBR.Value =
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.SSR_SEQ_NBR.Value;
&row_RegformVw2.SSR_DER_CS_GRP.GRADING_BASIS.Value =
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.GRADING_BASIS.Value;
&row_RegformVw2.SSR_DER_CS_GRP.UNITS_MINIMUM.Value =
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.UNITS_MINIMUM.Value;

&row_RegformVw2.SSR_REGFORM_WRK.SSR_SBJ_CAT_NBR.Value =
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.SSR_COMPONENT.LongTranslateValue | " - "
| MsgGetText(14770, 1006, "Message not found") | " " |
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.CLASS_NBR.Value;
&row_RegformVw2.SSR_REGFORM_WRK.SSR_SBJ_CAT_NBR.Label =
&row_RegformVw2.SSR_REGFORM_WRK.SSR_SBJ_CAT_NBR.Value;
&row_RegformVw2.DERIVED_SSR_FL.SSR_STD_ENR_STAT.Value =
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.ENRL_STAT.Value;

Evaluate &row_RegformVw2.DERIVED_SSR_FL.SSR_STD_ENR_STAT.Value
When "O"
&row_RegformVw2.DERIVED_SSR_FL.SSR_SEATS_AVL.Value =
MsgGetText(14770, 527, "Message not found.",
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.ENRL_CAP.Value -
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.ENRL_TOT.Value,
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.ENRL_CAP.Value);
&row_RegformVw2.DERIVED_SSR_FL.SSR_DESCR50.Value = MsgGetText(14770,
607, "Message not found") | " " |
&row_RegformVw2.DERIVED_SSR_FL.SSR_SEATS_AVL.Value;
When "W"
&row_RegformVw2.DERIVED_SSR_FL.SSR_SEATS_AVL.Value =
MsgGetText(14770, 527, "Message not found.",
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.WAIT_CAP.Value -
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.WAIT_TOT.Value,
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.WAIT_CAP.Value);
&row_RegformVw2.DERIVED_SSR_FL.SSR_DESCR50.Value = MsgGetText(14770,
608, "Message not found") | " " |
&row_RegformVw2.DERIVED_SSR_FL.SSR_SEATS_AVL.Value;
When "C"
&row_RegformVw2.DERIVED_SSR_FL.SSR_SEATS_AVL.Value = "--";
&row_RegformVw2.DERIVED_SSR_FL.SSR_DESCR50.Value = MsgGetText(14770,
573, "Message not found");
End-Evaluate;

&row_RegformVw2.DERIVED_SSR_FL.SSR_DESCR50.Label = MsgGetText(14770,
609, "Message not found");

&bMoreclass = False;
&sMessageEnd = "";
&row_RegformVw2.SSR_MTG_PAT_WRK.SSR_MTG_SCHED1.Value =
%This.LoadMeetingPattern(&recTerm,
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.CLASS_NBR.Value);

&classtblvw.STRM.Value = &recTerm;
&classtblvw.INSTITUTION.Value = &recInst;
&classtblvw.CLASS_NBR.Value =
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.CLASS_NBR.Value;
If &classtblvw.SelectByKey() Then
&row_RegformVw2.DERIVED_SSR_FL.SSR_ST_END_DT.Value =
&formatter1.FormatDate(&classtblvw.START_DT.Value) | " - " |
&formatter1.FormatDate(&classtblvw.END_DT.Value);
End-If;

&row_RegformVw2.SSR_REGFORM_WRK.SSR_MORE_CLASS_FL.Label = &sMessageEnd;
&row_RegformVw2.SSR_REGFORM_WRK.SSR_MORE_CLASS_FL.Visible =
&bMoreclass;

&row_RegformVw2.SSR_MTG_PAT_WRK.SSR_ROOM1.Value = &roomdetails;

If &row_level2 > 2 Then


&row_RegformVw2.DERIVED_SSR_FL.SSR_SELECT.Visible = False;
End-If;
If &oManageClassesGlobalVars.optionnmbrcheck > 0 Then
If &row_RegformVw2.SSR_DER_CS_GRP.SSR_OPTION_NBR.Value =
&oManageClassesGlobalVars.optionnmbrcheck Then

&row_RegformVw2.DERIVED_SSR_FL.SSR_SELECT.Value = "Y";
&oManageClassesGlobalVars.aEditClasses_Class_nbr [1] =
&iEditClasses_Class_nbr [1];
&oManageClassesGlobalVars.aEditClasses_Class_nbr [2] =
&iEditClasses_Class_nbr [2];
&oManageClassesGlobalVars.aEditClasses_Class_nbr [3] =
&iEditClasses_Class_nbr [3];
&oManageClassesGlobalVars.aEditClasses_Class_nbr [4] =
&iEditClasses_Class_nbr [4];

End-If;
End-If;

&OptionsInstance = &OptionsInstance + 1;

End-If;
End-For;
If &OptionsInstance > 0 Then
&rs_RegformVw2.DeleteRow(1);
End-If;
End-For;

If &OptionsInstance = 0 Then

/* No Alternative Classes available */


SSR_CLS_PREF_WK.GROUPBOX1.Visible = False;
SSR_CLS_PREF_WK.GROUPBOX2.Visible = False;
SSR_CLS_PREF_WK.GROUPBOX3.Visible = True;
End-If;

end-method;

method DERIVED_SSR_FL_SSR_SELECT__FieldChange
Local Rowset &rsavailOptions, &rsclassOptions;
Local integer &i, &j;
Local integer &optionselected, &position1;
Local string &partialString;

If DERIVED_SSR_FL.SSR_SELECT.Value = "Y" Then


&oManageClassesGlobalVars.optionnmbrcheck =
SSR_DER_CS_GRP.SSR_OPTION_NBR.Value;
&position1 = Find("-", DERIVED_SSR_FL.SSR_CLASSNAME_LONG.Value);
&partialString = Substring(DERIVED_SSR_FL.SSR_CLASSNAME_LONG.Value,
&position1 + 2, Len(DERIVED_SSR_FL.SSR_CLASSNAME_LONG.Value) - &position1);
&oManageClassesGlobalVars.newstatus = &partialString;
Else
&oManageClassesGlobalVars.newstatus = "";
&oManageClassesGlobalVars.optionnmbrcheck = 0;
&oManageClassesGlobalVars.altclasscheck = False;
End-If;

&rsavailOptions = GetLevel0()(1).GetRowset(Scroll.SSR_DUMMY_RECV1);
&optionselected = 0;
For &i = 1 To &rsavailOptions.ActiveRowCount

&rsclassOptions = &rsavailOptions(&i).GetRowset(Scroll.SSR_DUMMY_RECV2);
If &oManageClassesGlobalVars.optionnmbrcheck <> &i Then
&rsclassOptions(1).DERIVED_SSR_FL.SSR_SELECT.Value = "N";
Else
If &rsclassOptions(1).DERIVED_SSR_FL.SSR_SELECT.Value = "Y" Then
&optionselected = 1;
&oManageClassesGlobalVars.altclasscheck = True;
&oManageClassesGlobalVars.aEditClasses_Class_nbr [1] = 0;
&oManageClassesGlobalVars.aEditClasses_Class_nbr [2] = 0;
&oManageClassesGlobalVars.aEditClasses_Class_nbr [3] = 0;
&oManageClassesGlobalVars.aEditClasses_Class_nbr [4] = 0;

For &j = 1 To
&rsavailOptions(&i).GetRowset(Scroll.SSR_DUMMY_RECV2).ActiveRowCount

If &j >= 2 Then

If &rsavailOptions(&i).GetRowset(Scroll.SSR_DUMMY_RECV2)
(&j).SSR_DER_CS_GRP.SSR_AUTO_ENRL_SW.Value = "N" Then

If &oManageClassesGlobalVars.aEditClasses_Class_nbr [3] = 0
Then
&oManageClassesGlobalVars.aEditClasses_Class_nbr [3] =
&rsavailOptions(&i).GetRowset(Scroll.SSR_DUMMY_RECV2)
(&j).SSR_DER_CS_GRP.CLASS_NBR.Value;
Else
&oManageClassesGlobalVars.aEditClasses_Class_nbr [4] =
&rsavailOptions(&i).GetRowset(Scroll.SSR_DUMMY_RECV2)
(&j).SSR_DER_CS_GRP.CLASS_NBR.Value;
End-If;
Else
If &oManageClassesGlobalVars.aEditClasses_Class_nbr [1] = 0
Then
&oManageClassesGlobalVars.aEditClasses_Class_nbr [1] =
&rsavailOptions(&i).GetRowset(Scroll.SSR_DUMMY_RECV2)
(&j).SSR_DER_CS_GRP.CLASS_NBR.Value;
Else
&oManageClassesGlobalVars.aEditClasses_Class_nbr [2] =
&rsavailOptions(&i).GetRowset(Scroll.SSR_DUMMY_RECV2)
(&j).SSR_DER_CS_GRP.CLASS_NBR.Value;
End-If;
End-If;
End-If;

End-For;

Else

&oManageClassesGlobalVars.aEditClasses_Class_nbr [1] =
&iEditClasses_Class_nbr [1];
&oManageClassesGlobalVars.aEditClasses_Class_nbr [2] =
&iEditClasses_Class_nbr [2];
&oManageClassesGlobalVars.aEditClasses_Class_nbr [3] =
&iEditClasses_Class_nbr [3];
&oManageClassesGlobalVars.aEditClasses_Class_nbr [4] =
&iEditClasses_Class_nbr [4];
End-If;
End-If;
End-For;

If &optionselected = 0 Then
&oManageClassesGlobalVars.bChangeclass = False;
&oManageClassesGlobalVars.aEditClasses_Class_nbr [1] =
&oManageClassesGlobalVars.tEditClasses_Class_nbr [1];
&oManageClassesGlobalVars.aEditClasses_Class_nbr [2] =
&oManageClassesGlobalVars.tEditClasses_Class_nbr [2];
&oManageClassesGlobalVars.aEditClasses_Class_nbr [3] =
&oManageClassesGlobalVars.tEditClasses_Class_nbr [3];
&oManageClassesGlobalVars.aEditClasses_Class_nbr [4] =
&oManageClassesGlobalVars.tEditClasses_Class_nbr [4];
Else
&oManageClassesGlobalVars.bChangeclass = True;
End-If;

end-method;

method SSR_ED_CLASS_FL_SSR_CLASSNAME_LONG__FieldChange
/+ &classnbr as Integer +/
If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then
&oClassInformation.DefaultTab = "CD"; /* Default to Meeting Details tab */
Else
&oClassInformation.DefaultTab = "CD"; /* Default to Class Details tab */
End-If;

Local Record &recclasstblvw = CreateRecord(Record.CLASS_TBL_VW);


&oClassInformation.recEmplId = &recEmplId;
&oClassInformation.recInst = &recInst;
&oClassInformation.recCar = &recCar;
&oClassInformation.recTerm = &recTerm;
&oClassInformation.recTermBeginDt = &recTermBeginDt;

&recclasstblvw.INSTITUTION.Value = &recInst;
&recclasstblvw.STRM.Value = &recTerm;

&recclasstblvw.CLASS_NBR.Value = &classnbr;

If &recclasstblvw.SelectByKey() Then

&oClassInformation.subject = &recclasstblvw.SUBJECT.Value;
&oClassInformation.catalog_nbr = &recclasstblvw.CATALOG_NBR.Value;
&oClassInformation.associated_class = &recclasstblvw.ASSOCIATED_CLASS.Value;
&oClassInformation.sCourseTitle = &recclasstblvw.DESCR.Value;

&oClassInformation.crse_id = &recclasstblvw.CRSE_ID.Value;
&oClassInformation.crse_offer_nbr = &recclasstblvw.CRSE_OFFER_NBR.Value;
&oClassInformation.session_code = &recclasstblvw.SESSION_CODE.Value;
&oClassInformation.class_section = &recclasstblvw.CLASS_SECTION.Value;

&oClassInformation.class_nbr = &recclasstblvw.CLASS_NBR.Value;
&oClassInformation.ssr_component = &recclasstblvw.SSR_COMPONENT.Value;

If &recclasstblvw.CLASS_TYPE.Value = "E" Then


&oClassInformation.sgrading_basis =
RTrim(LTrim(STDNT_ENRL_SSVW.GRADING_BASIS_ENRL.Value));
&oClassInformation.sunt_taken = SSR_ED_CLASS_FL.SSR_UNITS_LBL.Value;
Else
&oClassInformation.sgrading_basis = "NON";
&oClassInformation.sunt_taken = "0.00";
End-If;

End-If;

&oClassInformation.Instantiate();
end-method;

method DERIVED_SSR_FL__SSR_CL_DTLS_OPT_FieldChange

&oClassInformation.DERIVED_SSR_FL__SSR_CL_DTLS_OPT_FieldChange();

end-method;

method LoadMeetingPattern
/+ &termcheck as String, +/
/+ &classnbrcheck as Integer +/
/+ Returns String +/

Local SSR_MANAGE_CLASSES:UTIL:MeetingDetails &oMeetingDetails = create


SSR_MANAGE_CLASSES:UTIL:MeetingDetails();
Local integer &cntpattern, &i, &j, &cntClsSchedOpt;
Local string &meetingpat;
Local Rowset &rsmeetpattern;

Local SSR_MANAGE_CLASSES:UTIL:Formatter &formatter = create


SSR_MANAGE_CLASSES:UTIL:Formatter();
&rsmeetpattern = CreateRowset(Record.CLASS_MTG_PT_VW);
&cntpattern = &rsmeetpattern.Fill("Where strm = :1 and class_nbr =:2",
&termcheck, &classnbrcheck);
&roomdetails = "";
&roomdetails_tag = False;
&roomdetails_cnt = 1;
&roomdetails2 = "";
If &cntpattern > 0 Then

Local string &sMon =


&rsmeetpattern(&cntpattern).CLASS_MTG_PT_VW.MON.GetLongLabel("MON");
Local string &sTues =
&rsmeetpattern(&cntpattern).CLASS_MTG_PT_VW.TUES.GetLongLabel("TUES");
Local string &sWed =
&rsmeetpattern(&cntpattern).CLASS_MTG_PT_VW.WED.GetLongLabel("WED");
Local string &sThurs =
&rsmeetpattern(&cntpattern).CLASS_MTG_PT_VW.THURS.GetLongLabel("THURS");
Local string &sFri =
&rsmeetpattern(&cntpattern).CLASS_MTG_PT_VW.FRI.GetLongLabel("FRI");
Local string &sSat =
&rsmeetpattern(&cntpattern).CLASS_MTG_PT_VW.SAT.GetLongLabel("SAT");
Local string &sSun =
&rsmeetpattern(&cntpattern).CLASS_MTG_PT_VW.SUN.GetLongLabel("SUN");

&oMeetingDetails.sInstitution = &recInst;
&oMeetingDetails.sAcademicCareer = &recCar;
&oMeetingDetails.sTerm = &recTerm;
&oMeetingDetails.Instantiate("EditClasses");

For &i = 1 To &cntpattern


&patternend = False;
If &i <= &oMeetingDetails.iMaxSchedToDisplay Then

/* Days */
Local string &sday = "";
Local boolean &bConscDaysBrkn = False;
Local integer &iConscDaysCtr = 0;
Local string &sFirstDay = " ";
Local string &sLastDay = " ";
Local string &sPrevDay = " ";

If &rsmeetpattern(&i).CLASS_MTG_PT_VW.MON.Value Then
&sday = &sday |
&rsmeetpattern(&i).CLASS_MTG_PT_VW.MON.GetLongLabel("MON") | " ";
&sFirstDay = &sMon;
&sPrevDay = &sMon;
&iConscDaysCtr = &iConscDaysCtr + 1;
End-If;

If &rsmeetpattern(&i).CLASS_MTG_PT_VW.TUES.Value Then
&sday = &sday |
&rsmeetpattern(&i).CLASS_MTG_PT_VW.TUES.GetLongLabel("TUES") | " ";
If &sPrevDay = &sMon Then
&iConscDaysCtr = &iConscDaysCtr + 1;
&sLastDay = &sTues;
Else
&iConscDaysCtr = 1;
&sFirstDay = &sTues;
&sLastDay = " ";
End-If;
&sPrevDay = &sTues;
End-If;

If &rsmeetpattern(&i).CLASS_MTG_PT_VW.WED.Value Then
&sday = &sday |
&rsmeetpattern(&i).CLASS_MTG_PT_VW.WED.GetLongLabel("WED") | " ";
If &sPrevDay = &sTues Then
&iConscDaysCtr = &iConscDaysCtr + 1;
&sLastDay = &sWed;
Else
If &iConscDaysCtr <> 0 Then
&bConscDaysBrkn = True;
Else
&iConscDaysCtr = 1;
&sFirstDay = &sWed;
&sLastDay = " ";
End-If;
End-If;
&sPrevDay = &sWed;
End-If;

If &rsmeetpattern(&i).CLASS_MTG_PT_VW.THURS.Value Then
&sday = &sday |
&rsmeetpattern(&i).CLASS_MTG_PT_VW.THURS.GetLongLabel("THURS") | " ";
If Not &bConscDaysBrkn Then
If &sPrevDay = &sWed Then
&iConscDaysCtr = &iConscDaysCtr + 1;
&sLastDay = &sThurs;
Else
If &iConscDaysCtr <> 0 Then
&bConscDaysBrkn = True;
Else
&iConscDaysCtr = 1;
&sFirstDay = &sThurs;
&sLastDay = " ";
End-If;
End-If;
&sPrevDay = &sThurs;
End-If;
End-If;

If &rsmeetpattern(&i).CLASS_MTG_PT_VW.FRI.Value Then
&sday = &sday |
&rsmeetpattern(&i).CLASS_MTG_PT_VW.FRI.GetLongLabel("FRI") | " ";
If Not &bConscDaysBrkn Then
If &sPrevDay = &sThurs Then
&iConscDaysCtr = &iConscDaysCtr + 1;
&sLastDay = &sFri;
Else
If &iConscDaysCtr <> 0 Then
&bConscDaysBrkn = True;
Else
&iConscDaysCtr = 0;
&sFirstDay = " ";
&sLastDay = " ";
End-If;
End-If;
&sPrevDay = &sFri;
End-If;
End-If;

If &rsmeetpattern(&i).CLASS_MTG_PT_VW.SAT.Value Then
&sday = &sday |
&rsmeetpattern(&i).CLASS_MTG_PT_VW.SAT.GetLongLabel("SAT") | " ";
If Not &bConscDaysBrkn Then
If &sPrevDay = &sFri Then
&iConscDaysCtr = &iConscDaysCtr + 1;
&sLastDay = &sSat;
Else
If &iConscDaysCtr <> 0 Then
&bConscDaysBrkn = True;
Else
&iConscDaysCtr = 0;
&sFirstDay = " ";
&sLastDay = " ";
End-If;
End-If;
&sPrevDay = &sSat;
End-If;
End-If;

If &rsmeetpattern(&i).CLASS_MTG_PT_VW.SUN.Value Then
&sday = &sday |
&rsmeetpattern(&i).CLASS_MTG_PT_VW.SUN.GetLongLabel("SUN") | " ";
If Not &bConscDaysBrkn Then
If &sPrevDay = &sSat Then
&iConscDaysCtr = &iConscDaysCtr + 1;
&sLastDay = &sSun;
Else
If &iConscDaysCtr <> 0 Then
&bConscDaysBrkn = True;
Else
&iConscDaysCtr = 0;
&iConscDaysCtr = 0;
&sFirstDay = " ";
&sLastDay = " ";
End-If;
End-If;
&sPrevDay = &sSun;
End-If;
End-If;

If &sday = "" Then


&sday = MsgGetText(14770, 543, "Message Not Found");
Else
If ( Not &bConscDaysBrkn) And
(&iConscDaysCtr > 3) Then
&sday = MsgGetText(14770, 708, "Message not found.", &sFirstDay,
&sLastDay);
End-If;
End-If;

/* Time */
&sTime = "";
If (&rsmeetpattern(&i).CLASS_MTG_PT_VW.MEETING_TIME_START.Value <>
0.00) And
(&rsmeetpattern(&i).CLASS_MTG_PT_VW.MEETING_TIME_START.Value <>
Time("")) Then
Local string &L_NewTime1 =
&formatter.FormatTime(&rsmeetpattern(&i).CLASS_MTG_PT_VW.START_DT.Value,
&rsmeetpattern(&i).CLASS_MTG_PT_VW.MEETING_TIME_START.Value);
Local string &L_NewTime2 =
&formatter.FormatTime(&rsmeetpattern(&i).CLASS_MTG_PT_VW.START_DT.Value,
&rsmeetpattern(&i).CLASS_MTG_PT_VW.MEETING_TIME_END.Value);
&sTime = MsgGetText(14770, 708, "Message not found.", &L_NewTime1,
&L_NewTime2);
End-If;

If &sTime = "" Then


&sTime = MsgGetText(14770, 543, "Message Not Found");
End-If;

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then


&meetingpat = &meetingpat | Char(10) | Char(13) | MsgGetText(14770,
514, "Message Not Found") | ": " | &sday | Char(10) | Char(13) | MsgGetText(14770,
515, "Message Not Found") | ": " | &sTime;
&roomdetails = &roomdetails | Char(10) | Char(13) |
%This.LoadRoomDetail(&rsmeetpattern(&i).CLASS_MTG_PT_VW.CRSE_ID.Value,
&rsmeetpattern(&i).CLASS_MTG_PT_VW.CRSE_OFFER_NBR.Value, &recTerm,
&rsmeetpattern(&i).CLASS_MTG_PT_VW.SESSION_CODE.Value,
&rsmeetpattern(&i).CLASS_MTG_PT_VW.CLASS_SECTION.Value, &i);
If &roomdetails_cnt = 1 Then
&roomdetails2 =
%This.LoadRoomDetail(&rsmeetpattern(&i).CLASS_MTG_PT_VW.CRSE_ID.Value,
&rsmeetpattern(&i).CLASS_MTG_PT_VW.CRSE_OFFER_NBR.Value, &recTerm,
&rsmeetpattern(&i).CLASS_MTG_PT_VW.SESSION_CODE.Value,
&rsmeetpattern(&i).CLASS_MTG_PT_VW.CLASS_SECTION.Value, &i);
&roomdetails_cnt = &roomdetails_cnt + 1;
Else
If &roomdetails2 =
%This.LoadRoomDetail(&rsmeetpattern(&i).CLASS_MTG_PT_VW.CRSE_ID.Value,
&rsmeetpattern(&i).CLASS_MTG_PT_VW.CRSE_OFFER_NBR.Value, &recTerm,
&rsmeetpattern(&i).CLASS_MTG_PT_VW.SESSION_CODE.Value,
&rsmeetpattern(&i).CLASS_MTG_PT_VW.CLASS_SECTION.Value, &i) And
&roomdetails2 = MsgGetText(14770, 543, "Message Not Found")
Then
&roomdetails_tag = False;
Else
&roomdetails_tag = True;
End-If;
&roomdetails_cnt = &roomdetails_cnt + 1;
End-If;
Else

If &sTime <> &sday Then


&meetingpat = &meetingpat | Char(10) | Char(13) | &sday | " " |
&sTime;
Else
&meetingpat = &meetingpat | Char(10) | Char(13) | &sday;
End-If;

&roomdetails = &roomdetails | Char(10) | Char(13) |


%This.LoadRoomDetail(&rsmeetpattern(&i).CLASS_MTG_PT_VW.CRSE_ID.Value,
&rsmeetpattern(&i).CLASS_MTG_PT_VW.CRSE_OFFER_NBR.Value, &recTerm,
&rsmeetpattern(&i).CLASS_MTG_PT_VW.SESSION_CODE.Value,
&rsmeetpattern(&i).CLASS_MTG_PT_VW.CLASS_SECTION.Value, &i);
If &roomdetails_cnt = 1 Then
&roomdetails2 =
%This.LoadRoomDetail(&rsmeetpattern(&i).CLASS_MTG_PT_VW.CRSE_ID.Value,
&rsmeetpattern(&i).CLASS_MTG_PT_VW.CRSE_OFFER_NBR.Value, &recTerm,
&rsmeetpattern(&i).CLASS_MTG_PT_VW.SESSION_CODE.Value,
&rsmeetpattern(&i).CLASS_MTG_PT_VW.CLASS_SECTION.Value, &i);
&roomdetails_cnt = &roomdetails_cnt + 1;
Else

If &roomdetails2 =
%This.LoadRoomDetail(&rsmeetpattern(&i).CLASS_MTG_PT_VW.CRSE_ID.Value,
&rsmeetpattern(&i).CLASS_MTG_PT_VW.CRSE_OFFER_NBR.Value, &recTerm,
&rsmeetpattern(&i).CLASS_MTG_PT_VW.SESSION_CODE.Value,
&rsmeetpattern(&i).CLASS_MTG_PT_VW.CLASS_SECTION.Value, &i) And
&roomdetails2 = MsgGetText(14770, 543, "Message Not Found")
Then
&roomdetails_tag = False;

Else
&roomdetails_tag = True;
End-If;
&roomdetails_cnt = &roomdetails_cnt + 1;
End-If;
End-If;

Else
&patternend = True;
If &i = &oMeetingDetails.iMaxSchedToDisplay + 1 Then
If %Request.BrowserDeviceFormFactor <> %FormFactor_Small Then
&meetingpat = &meetingpat;
&bMoreclass = True;
&sMessageEnd = &oMeetingDetails.sMaxHasReachedMessage;
Break;
Else
&meetingpat = &meetingpat | Char(10) | Char(13) |
&oMeetingDetails.sMaxHasReachedMessage;

End-If;
End-If;
Break;
End-If;
End-For;

If Not &roomdetails_tag Then


&roomdetails = &roomdetails2;
End-If;

Return &meetingpat;
Else
&patternend = False;

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then


&roomdetails = MsgGetText(14770, 516, "Message not found.") | " " |
MsgGetText(14770, 543, "Message Not Found");
Return (MsgGetText(14770, 514, "Message not found.") | " " |
MsgGetText(14770, 543, "Message Not Found"));

Else
&roomdetails = MsgGetText(14770, 543, "Message Not Found");
Return MsgGetText(14770, 543, "Message Not Found");

End-If;

End-If;

end-method;

method LoadRoomDetail
/+ &crse_idcheck as String, +/
/+ &crse_offer_nbrcheck as Integer, +/
/+ &termcheck as String, +/
/+ &session_codecheck as String, +/
/+ &class_sectioncheck as String, +/
/+ &ntgpatcheck as Integer +/
/+ Returns String +/

Local integer &cntgetsetid, &cntmtgpatternroom;


Local Rowset &rsgetsetid;
Local Record &recfacility, &recmtgpatternroom;
&recfacility = CreateRecord(Record.FACILITY_TBL);
&rsgetsetid = CreateRowset(Record.SET_CNTRL_REC);
&cntgetsetid = &rsgetsetid.Fill("WHERE RECNAME = 'FACILITY_TBL' AND
SETCNTRLVALUE = :1", &recInst);
&setId = &rsgetsetid(&cntgetsetid).SET_CNTRL_REC.SETID.Value;
&recmtgpatternroom = CreateRecord(Record.CLASS_MTG_VW);

&recmtgpatternroom.CRSE_ID.Value = &crse_idcheck;
&recmtgpatternroom.CRSE_OFFER_NBR.Value = &crse_offer_nbrcheck;
&recmtgpatternroom.STRM.Value = &termcheck;
&recmtgpatternroom.SESSION_CODE.Value = &session_codecheck;
&recmtgpatternroom.CLASS_SECTION.Value = &class_sectioncheck;
&recmtgpatternroom.CLASS_MTG_NBR.Value = &ntgpatcheck;

If &recmtgpatternroom.SelectByKey() Then
&recfacility.FACILITY_ID.Value = &recmtgpatternroom.FACILITY_ID.Value;
&recfacility.SETID.Value = &setId;
If &recfacility.SelectByKeyEffDt(&recTermBeginDt) Then
Return &recfacility.DESCR.Value;
Else
Return MsgGetText(14770, 543, "Message Not Found");
End-If;
Else
Return MsgGetText(14770, 543, "Message Not Found");
End-If;

end-method;

[SSR_MANAGE_CLASSES.COMPONENTS.ActivityGuide_ActionItems.SSR_EDIT_CLSPRF_FL.OnExecu
te]
import SCC_FLUID:MODEL:Component;
import SCC_FLUID:UTIL:CSSClass;
import SCC_FLUID:MODEL:Panel;
import SSR_MANAGE_CLASSES:UTIL:Installation;
import SCC_FLUID:UTIL:Popup;
import SSR_CLASS:Components:Utility:SSR_CLSRCH_CONFIG_Util;
import SSR_STUDENT_RECORDS:SR_StudentData:StudentTerms;
import SSR_MANAGE_CLASSES:UTIL:EditClasses;
import SSR_MANAGE_CLASSES:UTIL:Confirmation;
import SSR_MANAGE_CLASSES:UTIL:Formatter;
import SSR_MANAGE_CLASSES:UTIL:ClassInformation;
import SSR_STUDENT_RECORDS:SR_ClassData:ClassInfo;
import SSR_MANAGE_CLASSES:UTIL:MeetingDetails;
import SSR_MANAGE_CLASSES:UTIL:ClassOptions;
import SSR_MANAGE_CLASSES:UTIL:ClassPreferences;
import SCC_FLUID:MODEL:AGComponent;
import SSR_MANAGE_CLASSES:UTIL:GlobalVariables;

class SSR_EDIT_CLSPRF_FL extends SCC_FLUID:MODEL:Component


method SSR_EDIT_CLSPRF_FL(&bIsMDComponent As boolean);
method Postbuild();

method SSR_CLSDTL_LF_SCF__Activate();
method SSR_ED_PREF_FL_Activate();

method DERIVED_SSR_FL_SSR_CLASSNAME_LONG__FieldChange();
method DERIVED_REGFRM1__SSR_SELECT_FieldChange();
method GetClassOptions() Returns Rowset;
method LoadAlternativeClasses();

method SSR_CLASSDTL_SCF_Activate();
method SSR_DER1_MTG_FL_SSR_MTGINFO_DATA__FieldChange();
method SSR_INSTDTL_LF_SCF_Activate();
method SSR_INSTRDTL_SCF_Activate();
method DERIVED_SSR_FL_SSR_CL_DTLS_LFF__FieldChange();
method DERIVED_SSR_FL_SSR_INSTR_NME_FL__FieldChange();
method DERIVED_SSR_FL_SSR_INSTR_FL__FieldChange();
method DERIVED_SSR_FL_SSR_MORE_CLASS_FL__FieldChange();
method DERIVED_SSR_FL_SSR_NEXT_FL__FieldChange();
method DERIVED_SSR_FL_SSR_SELECT_FieldChange();

/* Load Information Page */


method SSR_ENRL_FL_WRK_SSR_WAIT_LIST_INFO_FieldChange();
method SSR_ENRL_FL_WRK_SSR_PERM_NBR_INFO_FieldChange();

method SSR_INFO_ICON_SCF_Activate();

protected
property SCC_FLUID:MODEL:Panel Panel;

private

instance boolean &bIsMD;


instance string &recEmplId, &recTerm, &recCar, &recInst, &recPage, &gotopage,
&recChangeTerm;
instance date &recTermBeginDt;
instance string &setId;
instance string &sConfirmationMessageDetail;
instance string &sEnrlRequestId, &sEnrlReqDetlStat;
instance number &nEnrlReqDetlSeq, &nEnrlMessageSeq;
instance SSR_MANAGE_CLASSES:UTIL:EditClasses &oEditClasses;

instance SSR_MANAGE_CLASSES:UTIL:ClassInformation &oClassInformation;

instance string &pref_Component1, &pref_Component2, &msg_optclass;

instance Rowset &rs_AlternativeClasses;

instance integer &row_level1;

instance string &sWaitListOkayLabel, &sInformationMessage;

instance boolean &bool_classoptionsflag, &bool_recMultiInst,


&booClassInfoLoaded, &booEnrollInfoLoaded;

instance string &roomdetails, &crse_id, &crse_offer_nbr, &session_code,


&assoc_class, &class_component;
instance string &sTime;

instance SSR_STUDENT_RECORDS:SR_ClassData:ClassInfo &obj_ClassInfo;

instance Rowset &rs_regform_view, &rs_regform_main, &rs_RegformVw1;


instance integer &iCurrentRowNumber;
instance string &sScrollRecord;

instance boolean &bDisplay_WaitList, &bDisplay_PermissionNumber,


&bDisplay_GradingBasis, &bDisplay_Units, &bDisplay_Instructor, &bDisplay_Program,
&bDisplay_RequirementDesignation;

end-class;
Global SSR_MANAGE_CLASSES:UTIL:GlobalVariables &oManageClassesGlobalVars;

Global integer &optionlength;

method SSR_EDIT_CLSPRF_FL
/+ &bIsMDComponent as Boolean +/
%Super = create SCC_FLUID:MODEL:Component();
&bIsMD = &bIsMDComponent;

end-method;

method Postbuild

Local SCC_FLUID:UTIL:CSSClass &objCSS, &objCSS1;

&objCSS = create SCC_FLUID:UTIL:CSSClass();

&objCSS.AddStyleSheet(StyleSheet.SSR_SS);

&Panel = %This.CreatePanel();
%This.Render();

Local Record &getemplid, &getsetid;

&getemplid = CreateRecord(Record.PSOPRDEFN);
&getsetid = CreateRecord(Record.OPR_DEF_TBL_CS);

&getemplid.OPRID.Value = %OperatorId;
&bool_classoptionsflag = False;
If &getemplid.SelectByKey() Then
&recEmplId = &getemplid.EMPLID.Value;
End-If;

&getsetid.OPRID.Value = %OperatorId;

If &getsetid.SelectByKey() Then
&setId = &getsetid.SETID.Value;
End-If;

Local SSR_MANAGE_CLASSES:UTIL:Installation &utilMethods = create


SSR_MANAGE_CLASSES:UTIL:Installation();
Local boolean &bool_recSingleInst = &utilMethods.IsSingleInstitution();

If &bool_recSingleInst = True Then


&bool_recMultiInst = False;
Else
&bool_recMultiInst = True;
End-If;

&oManageClassesGlobalVars.rs_SelectedClassesToEdit =
CreateRowset(Record.SSR_CLS_SEL_WRK);

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then


Page.SSR_EDIT_FTP_FFL.Visible = True;
Else
Page.SSR_EDIT_FTP_FFL.Visible = False;
End-If;

end-method;
method SSR_ED_PREF_FL_Activate

Local SSR_MANAGE_CLASSES:UTIL:ClassPreferences &oClassPreferences = create


SSR_MANAGE_CLASSES:UTIL:ClassPreferences();

&obj_ClassInfo = create SSR_STUDENT_RECORDS:SR_ClassData:ClassInfo();

AddStyleSheet(StyleSheet.SSR_SS);

&oManageClassesGlobalVars.sIsActionItemMarkedAsComplete = False;

&optionlength = &optionlength + 1;
&oManageClassesGlobalVars.IsClassPreferencesAvailable = True;

&oManageClassesGlobalVars.rec_ClassEditDetailsAET =
CreateRecord(Record.SSR_ENRL_AET_WK);
&recTerm = &oManageClassesGlobalVars.AGTerm;
&recCar = &oManageClassesGlobalVars.AGCar;
&recInst = &oManageClassesGlobalVars.AGInst;
&recTermBeginDt = &oManageClassesGlobalVars.AGTermBeginDt;

DERIVED_SSR_FL.INSTITUTION.Value = &recInst;
DERIVED_SSR_FL.ACAD_CAREER.Value = &recCar;
DERIVED_SSR_FL.STRM.Value = &recTerm;
DERIVED_SSR_FL.SSR_CHANGE_BTN.Visible = False;

&oManageClassesGlobalVars.rec_ClassEditDetailsAET.INSTITUTION.Value =
&oManageClassesGlobalVars.AGInst;
&oManageClassesGlobalVars.rec_ClassEditDetailsAET.ACAD_CAREER.Value =
&oManageClassesGlobalVars.AGCar;
&oManageClassesGlobalVars.rec_ClassEditDetailsAET.STRM.Value =
&oManageClassesGlobalVars.AGTerm;
&oManageClassesGlobalVars.rec_ClassEditDetailsAET.EMPLID.Value =
&oManageClassesGlobalVars.AGEmplId;
&oManageClassesGlobalVars.rec_ClassEditDetailsAET.CLASS_NBR.Value =
&oManageClassesGlobalVars.sEditClasses_Class_nbr;

&obj_ClassInfo.LoadClassInfo(&oManageClassesGlobalVars.AGInst,
&oManageClassesGlobalVars.AGTerm,
&oManageClassesGlobalVars.sEditClasses_Class_nbr);
Local Record &recclasstbl = CreateRecord(Record.CLASS_TBL_VW1);
Local Record &recstdntenrl = CreateRecord(Record.STDNT_ENRL_SSVW);
Local Record &recstdntenrl2 = CreateRecord(Record.STDNT_ENRL_SSV2);
&recclasstbl.INSTITUTION.Value = &oManageClassesGlobalVars.AGInst;
&recclasstbl.STRM.Value = &oManageClassesGlobalVars.AGTerm;
&recclasstbl.CLASS_NBR.Value = &oManageClassesGlobalVars.sEditClasses_Class_nbr;
If &recclasstbl.SelectByKey() Then

&oManageClassesGlobalVars.rec_ClassEditDetailsAET.AUTO_CLASS_NBR_1.Value =
&oManageClassesGlobalVars.aEditClasses_Class_nbr [1];
&oManageClassesGlobalVars.rec_ClassEditDetailsAET.AUTO_CLASS_NBR_2.Value =
&oManageClassesGlobalVars.aEditClasses_Class_nbr [2];
&recstdntenrl.EMPLID.Value = &recEmplId;
&recstdntenrl.INSTITUTION.Value = &recInst;
&recstdntenrl.ACAD_CAREER.Value = &recCar;
&recstdntenrl.STRM.Value = &recTerm;
&recstdntenrl.SUBJECT.Value = &recclasstbl.SUBJECT.Value;
&recstdntenrl.CATALOG_NBR.Value = &recclasstbl.CATALOG_NBR.Value;
&recstdntenrl.ASSOCIATED_CLASS.Value = &recclasstbl.ASSOCIATED_CLASS.Value;
&recstdntenrl.CLASS_NBR.Value =
&oManageClassesGlobalVars.sEditClasses_Class_nbr;
If &recstdntenrl.SelectByKey() Then
&oManageClassesGlobalVars.rec_ClassEditDetailsAET.RELATE_CLASS_NBR_1.Value
= &oManageClassesGlobalVars.aEditClasses_Class_nbr [3];
&oManageClassesGlobalVars.rec_ClassEditDetailsAET.RELATE_CLASS_NBR_2.Value
= &oManageClassesGlobalVars.aEditClasses_Class_nbr [4];
&oManageClassesGlobalVars.rec_ClassEditDetailsAET.START_DT.Value =
&recstdntenrl.START_DT.Value;
End-If;

&recstdntenrl2.EMPLID.Value = &recEmplId;
&recstdntenrl2.INSTITUTION.Value = &recInst;
&recstdntenrl2.ACAD_CAREER.Value = &recCar;
&recstdntenrl2.STRM.Value = &recTerm;
&recstdntenrl2.SUBJECT.Value = &recclasstbl.SUBJECT.Value;
&recstdntenrl2.CATALOG_NBR.Value = &recclasstbl.CATALOG_NBR.Value;
&recstdntenrl2.ASSOCIATED_CLASS.Value = &recclasstbl.ASSOCIATED_CLASS.Value;
&recstdntenrl2.CLASS_NBR.Value =
&oManageClassesGlobalVars.sEditClasses_Class_nbr;
If &recstdntenrl2.SelectByKey() Then
&oManageClassesGlobalVars.rec_ClassEditDetailsAET.INSTRUCTOR_ID.Value =
&recstdntenrl2.INSTRUCTOR_ID.Value;
&oManageClassesGlobalVars.rec_ClassEditDetailsAET.SSR_DESC_RQMT_DSGN.Value
= &recstdntenrl2.RQMNT_DESIGNTN.Value;
&oManageClassesGlobalVars.rec_ClassEditDetailsAET.RQMNT_DESIGNTN_OPT.Value
= &recstdntenrl2.RQMNT_DESIGNTN_OPT.Value;
&oManageClassesGlobalVars.rec_ClassEditDetailsAET.SSR_UNT_TAKEN_CHAR.Value
= String(&recstdntenrl2.UNT_TAKEN.Value);
&oManageClassesGlobalVars.rec_ClassEditDetailsAET.SSR_GRADE_BASIS_SS.Value
= &recstdntenrl2.GRADING_BASIS_ENRL.Value;
&oManageClassesGlobalVars.rec_ClassEditDetailsAET.ACAD_PROG.Value =
&recstdntenrl2.ACAD_PROG.Value;
End-If;

End-If;

&oManageClassesGlobalVars.rec_ClassEditDetailsAET.CRSE_COUNT.Value =
&obj_ClassInfo.Assoc_CrseCount;

&oManageClassesGlobalVars.rec_ClassEditDetailsAET.SSR_SBJ_CAT_NBR.Value =
&oManageClassesGlobalVars.sEditClasses_Class_desc;
DERIVED_SSR_FL.SSR_CHANGE_BTN_GBX.Visible = False;

If %Request.BrowserDeviceFormFactor <> %FormFactor_Small Then


SCC_LO_FL_WRK.SCC_GROUP_BOX_7.Visible = True;
Else
SCC_LO_FL_WRK.SCC_GROUP_BOX_7.Visible = False;
End-If;

Local Record &recClsPrefWk;

If None(&oManageClassesGlobalVars.rec_ClassEditDetailsAET.WAIT_LIST_OKAY.Value)
Then
&oManageClassesGlobalVars.rec_ClassEditDetailsAET.WAIT_LIST_OKAY.Value = "N";
End-If;
&recClsPrefWk =
&oClassPreferences.LoadClassPreferences(&oManageClassesGlobalVars.rec_ClassEditDeta
ilsAET);
&recClsPrefWk.CopyFieldsTo(&oManageClassesGlobalVars.rec_ClassEditDetailsAET);

Local Record &rec_RDT = CreateRecord(Record.RQMNT_DESIG_TBL);


&rec_RDT.RQMNT_DESIGNTN.Value =
&oManageClassesGlobalVars.rec_ClassEditDetailsAET.RQMNT_DESIGNTN.Value;

If &rec_RDT.SelectByKeyEffDt(%Date) Then
&oManageClassesGlobalVars.rec_ClassEditDetailsAET.SSR_DESC_RQMT_DSGN.Value =
&rec_RDT.DESCRFORMAL.Value;
End-If;

DERIVED_CLS_DTL.ACAD_PROG.Visible = False;

If &oManageClassesGlobalVars.mainstatus = "Waiting" Or
Not &oManageClassesGlobalVars.bChangeclass Then

DERIVED_CLS_DTL.WAIT_LIST_OKAY.Visible = False;
SSR_CLS_PREF_WK.SSR_DESC_WAIT_LIST.Visible = False;
SSR_ENRL_FL_WRK.SSR_WAIT_LIST_INFO.Visible = False;
End-If;

&oManageClassesGlobalVars.bDisplay_WaitList =
&recClsPrefWk.WAIT_LIST_OKAY.Visible;
&oManageClassesGlobalVars.bDisplay_PermissionNumber =
&recClsPrefWk.CLASS_PRMSN_NBR.Visible;
&oManageClassesGlobalVars.bDisplay_GradingBasis =
&recClsPrefWk.SSR_GRADE_BASIS_SS.Visible;
&oManageClassesGlobalVars.bDisplay_Units =
&recClsPrefWk.SSR_UNT_TAKEN_CHAR.Visible;
&oManageClassesGlobalVars.bDisplay_Instructor =
&recClsPrefWk.INSTRUCTOR_ID.Visible;
&oManageClassesGlobalVars.bDisplay_Program = &recClsPrefWk.ACAD_PROG.Visible;
&oManageClassesGlobalVars.bDisplay_RequirementDesignation =
&recClsPrefWk.RQMNT_DESIGNTN.Visible;
&oManageClassesGlobalVars.bDisplay_StartDate = &recClsPrefWk.START_DT.Visible;

If &oManageClassesGlobalVars.bAcceptflag = 1 Then

DERIVED_CLS_DTL.WAIT_LIST_OKAY.Value = &oManageClassesGlobalVars.cClassPref
[1];
DERIVED_CLS_DTL.CLASS_PRMSN_NBR.Value = &oManageClassesGlobalVars.cClassPref
[2];
DERIVED_CLS_DTL.SSR_GRADE_BASIS_SS.Value =
&oManageClassesGlobalVars.cClassPref [3];
DERIVED_CLS_DTL.SSR_UNT_TAKEN_CHAR.Value =
&oManageClassesGlobalVars.cClassPref [4];
DERIVED_CLS_DTL.INSTRUCTOR_ID.Value = &oManageClassesGlobalVars.cClassPref
[5];
DERIVED_CLS_DTL.ACAD_PROG.Value = &oManageClassesGlobalVars.cClassPref [6];
DERIVED_CLS_DTL.RQMNT_DESIGNTN.Value = &oManageClassesGlobalVars.cClassPref
[7];
DERIVED_CLS_DTL.RQMNT_DESIGNTN_OPT.Value =
&oManageClassesGlobalVars.cClassPref [8];
DERIVED_CLS_DTL.START_DT.Value = &oManageClassesGlobalVars.cClassPref [9];
Else

If Find(".", &recClsPrefWk.SSR_UNT_TAKEN_CHAR.Value) = 0 Then


&recClsPrefWk.SSR_UNT_TAKEN_CHAR.Value =
&recClsPrefWk.SSR_UNT_TAKEN_CHAR.Value | ".00";
Else
If Len(&recClsPrefWk.SSR_UNT_TAKEN_CHAR.Value) - Find(".",
&recClsPrefWk.SSR_UNT_TAKEN_CHAR.Value) = 1 Then
&recClsPrefWk.SSR_UNT_TAKEN_CHAR.Value =
&recClsPrefWk.SSR_UNT_TAKEN_CHAR.Value | "0";
End-If;
End-If;

&oManageClassesGlobalVars.cClassPref [1] =
&recClsPrefWk.WAIT_LIST_OKAY.Value;
&oManageClassesGlobalVars.cClassPref [2] =
&recClsPrefWk.CLASS_PRMSN_NBR.Value;
&oManageClassesGlobalVars.cClassPref [3] =
&recClsPrefWk.SSR_GRADE_BASIS_SS.Value;
&oManageClassesGlobalVars.cClassPref [4] =
&recClsPrefWk.SSR_UNT_TAKEN_CHAR.Value;
&oManageClassesGlobalVars.cClassPref [5] = &recClsPrefWk.INSTRUCTOR_ID.Value;
&oManageClassesGlobalVars.cClassPref [6] = &recClsPrefWk.ACAD_PROG.Value;
&oManageClassesGlobalVars.cClassPref [7] =
&recClsPrefWk.RQMNT_DESIGNTN.Value;
&oManageClassesGlobalVars.cClassPref [8] =
&recClsPrefWk.RQMNT_DESIGNTN_OPT.Value;
&oManageClassesGlobalVars.cClassPref [9] = &recClsPrefWk.START_DT.Value;

&oManageClassesGlobalVars.pClassPref [1] =
&recClsPrefWk.WAIT_LIST_OKAY.Value;
&oManageClassesGlobalVars.pClassPref [2] =
&recClsPrefWk.CLASS_PRMSN_NBR.Value;
&oManageClassesGlobalVars.pClassPref [3] =
&recClsPrefWk.SSR_GRADE_BASIS_SS.Value;
&oManageClassesGlobalVars.pClassPref [4] =
&recClsPrefWk.SSR_UNT_TAKEN_CHAR.Value;
&oManageClassesGlobalVars.pClassPref [5] = &recClsPrefWk.INSTRUCTOR_ID.Value;
&oManageClassesGlobalVars.pClassPref [6] = &recClsPrefWk.ACAD_PROG.Value;
&oManageClassesGlobalVars.pClassPref [7] =
&recClsPrefWk.RQMNT_DESIGNTN.Value;
&oManageClassesGlobalVars.pClassPref [8] =
&recClsPrefWk.RQMNT_DESIGNTN_OPT.Value;
&oManageClassesGlobalVars.pClassPref [9] = &recClsPrefWk.START_DT.Value;
&oManageClassesGlobalVars.bAcceptflag = 1;
End-If;

end-method;

method DERIVED_REGFRM1__SSR_SELECT_FieldChange
Local Rowset &rs_RegformVw2;
Local integer &i, &j, &AssignOnce;

Local integer &nSelectedOptionNbr = DERIVED_REGFRM1.SSR_REF_ROW;

&rs_RegformVw2 = GetLevel0()(1).GetRowset(Scroll.SSR_STENRL_SSV2);
Local boolean &nextflag = False;

For &i = 1 To &rs_RegformVw2.ActiveRowCount


If &rs_RegformVw2(&i).DERIVED_REGFRM1.SSR_SELECT.Visible And
&nSelectedOptionNbr <>
&rs_RegformVw2(&i).DERIVED_REGFRM1.SSR_REF_ROW.Value Then
&rs_RegformVw2(&i).DERIVED_REGFRM1.SSR_SELECT.Value = "N";
If Not &nextflag Then
&oManageClassesGlobalVars.sIsActionItemMarkedAsComplete = True;
End-If;
End-If;

If &rs_RegformVw2(&i).DERIVED_REGFRM1.SSR_SELECT.Visible And
&nSelectedOptionNbr =
&rs_RegformVw2(&i).DERIVED_REGFRM1.SSR_REF_ROW.Value And
&rs_RegformVw2(&i).DERIVED_REGFRM1.SSR_SELECT.Value = "N" Then

&nextflag = True;
&oManageClassesGlobalVars.sIsActionItemMarkedAsComplete = False;
End-If;

If &rs_RegformVw2(&i).DERIVED_REGFRM1.SSR_SELECT.Visible And
&nSelectedOptionNbr =
&rs_RegformVw2(&i).DERIVED_REGFRM1.SSR_REF_ROW.Value And
&rs_RegformVw2(&i).DERIVED_REGFRM1.SSR_SELECT.Value = "Y" Then

&oManageClassesGlobalVars.sEditClasses_Class_nbr =
SSR_STENRL_SSV2.CLASS_NBR;
End-If;

End-For;

SetComponentChanged();
DoSaveNow(); /* Triggers Activity Guide's Action Item Post Process */

end-method;

method SSR_CLSDTL_LF_SCF__Activate
&oClassInformation.SSR_CLSDTL_LF_SCF_Activate();
end-method;

method DERIVED_SSR_FL_SSR_CLASSNAME_LONG__FieldChange
If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then
/* Default to Meeting Details tab */
&oClassInformation.DefaultTab = "MD";
Else
/* Default to Class Details tab */
&oClassInformation.DefaultTab = "CD";
End-If;

Local Record &recclasstblvw = CreateRecord(Record.CLASS_TBL_VW);


&oClassInformation.recEmplId = &recEmplId;
&oClassInformation.recInst = &recInst;
&oClassInformation.recCar = &recCar;
&oClassInformation.recTerm = &recTerm;
&oClassInformation.recTermBeginDt = &recTermBeginDt;

&recclasstblvw.INSTITUTION.Value = &recInst;
&recclasstblvw.STRM.Value = &recTerm;

&recclasstblvw.CLASS_NBR.Value = SSR_STENRL_SSV2.CLASS_NBR.Value;
If &recclasstblvw.SelectByKey() Then

&oClassInformation.subject = &recclasstblvw.SUBJECT.Value;
&oClassInformation.catalog_nbr = &recclasstblvw.CATALOG_NBR.Value;
&oClassInformation.associated_class = &recclasstblvw.ASSOCIATED_CLASS.Value;
&oClassInformation.sCourseTitle = &recclasstblvw.DESCR.Value;

&oClassInformation.crse_id = &recclasstblvw.CRSE_ID.Value;
&oClassInformation.crse_offer_nbr = &recclasstblvw.CRSE_OFFER_NBR.Value;
&oClassInformation.session_code = &recclasstblvw.SESSION_CODE.Value;
&oClassInformation.class_section = &recclasstblvw.CLASS_SECTION.Value;

&oClassInformation.class_nbr = &recclasstblvw.CLASS_NBR.Value;
&oClassInformation.ssr_component = &recclasstblvw.SSR_COMPONENT.Value;

If &recclasstblvw.CLASS_TYPE.Value = "E" Then


&oClassInformation.sgrading_basis = SSR_STENRL_SSV2.GRADING_BASIS_ENRL;
&oClassInformation.sunt_taken = NumberToString("%6.2",
SSR_STENRL_SSV2.UNT_TAKEN.Value);
Else
&oClassInformation.sgrading_basis = "NON";
&oClassInformation.sunt_taken = "0.00";
End-If;

End-If;

&oClassInformation.Instantiate();
end-method;

method SSR_CLASSDTL_SCF_Activate
&oClassInformation.SSR_CLASSDTL_SCF_Activate();
end-method;

method SSR_DER1_MTG_FL_SSR_MTGINFO_DATA__FieldChange
&oClassInformation.SSR_DER1_MTG_FL__SSR_MTGINFO_DATA_FieldChange();
end-method;

method SSR_INSTDTL_LF_SCF_Activate

&oClassInformation.SSR_INSTDTL_LF_SCF_Activate();
end-method;

method SSR_INSTRDTL_SCF_Activate
&oClassInformation.SSR_INSTRDTL_SCF_Activate();
end-method;

method DERIVED_SSR_FL_SSR_CL_DTLS_LFF__FieldChange
&oClassInformation.DERIVED_SSR_FL__SSR_CL_DTLS_LFF_FieldChange();
end-method;

method DERIVED_SSR_FL_SSR_INSTR_NME_FL__FieldChange
&oClassInformation.DERIVED_SSR_FL__SSR_INSTR_NME_FL_FieldChange();
end-method;

method DERIVED_SSR_FL_SSR_INSTR_FL__FieldChange
&oClassInformation.DERIVED_SSR_FL__SSR_INSTR_FL_FieldChange();
end-method;
method DERIVED_SSR_FL_SSR_MORE_CLASS_FL__FieldChange
If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then
/* Default to Meeting Details tab */
&oClassInformation.DefaultTab = "MD";
Else
/* Default to Meeting Information tab */
&oClassInformation.DefaultTab = "MI";
End-If;

Local Record &recclasstblvw = CreateRecord(Record.CLASS_TBL_VW);


&oClassInformation.recEmplId = &recEmplId;
&oClassInformation.recInst = &recInst;
&oClassInformation.recCar = &recCar;
&oClassInformation.recTerm = &recTerm;
&oClassInformation.recTermBeginDt = &recTermBeginDt;

&recclasstblvw.INSTITUTION.Value = &recInst;
&recclasstblvw.STRM.Value = &recTerm;

&recclasstblvw.CLASS_NBR.Value = SSR_STENRL_SSV2.CLASS_NBR.Value;

If &recclasstblvw.SelectByKey() Then
&oClassInformation.subject = &recclasstblvw.SUBJECT.Value;
&oClassInformation.catalog_nbr = &recclasstblvw.CATALOG_NBR.Value;
&oClassInformation.associated_class = &recclasstblvw.ASSOCIATED_CLASS.Value;
&oClassInformation.sCourseTitle = &recclasstblvw.DESCR.Value;

&oClassInformation.crse_id = &recclasstblvw.CRSE_ID.Value;
&oClassInformation.crse_offer_nbr = &recclasstblvw.CRSE_OFFER_NBR.Value;
&oClassInformation.session_code = &recclasstblvw.SESSION_CODE.Value;
&oClassInformation.class_section = &recclasstblvw.CLASS_SECTION.Value;

&oClassInformation.class_nbr = &recclasstblvw.CLASS_NBR.Value;
&oClassInformation.ssr_component = &recclasstblvw.SSR_COMPONENT.Value;

If &recclasstblvw.CLASS_TYPE.Value = "E" Then


&oClassInformation.sgrading_basis = SSR_STENRL_SSV2.GRADING_BASIS_ENRL;
&oClassInformation.sunt_taken = NumberToString("%6.2",
SSR_STENRL_SSV2.UNT_TAKEN.Value);
Else
&oClassInformation.sgrading_basis = "NON";
&oClassInformation.sunt_taken = "0.00";
End-If;

End-If;

&oClassInformation.Instantiate();

end-method;

method DERIVED_SSR_FL_SSR_NEXT_FL__FieldChange

If %Page = Page.SSR_ED_ALTCLS_FL Then

TransferPage(Page.SSR_ED_PREF_FL);
Else
Local Rowset &rs_RegformVw2;
Local integer &i, &j, &AssignOnce;

&rs_RegformVw2 = GetLevel0()(1).GetRowset(Scroll.SSR_STENRL_SSV2);

For &i = 1 To &rs_RegformVw2.ActiveRowCount

If &rs_RegformVw2(&i).DERIVED_REGFRM1.SSR_SELECT.Visible And
&rs_RegformVw2(&i).DERIVED_REGFRM1.SSR_SELECT.Value = "Y" Then
&oManageClassesGlobalVars.sEditClasses_Class_nbr =
&rs_RegformVw2(&i).SSR_STENRL_SSV2.CLASS_NBR.Value;
Break;
End-If;

End-For;

TransferPage(Page.SSR_ED_ALTCLS_FL);
End-If;

end-method;

method GetClassOptions
/+ Returns Rowset +/
Local SSR_MANAGE_CLASSES:UTIL:ClassOptions &oClassOptions = create
SSR_MANAGE_CLASSES:UTIL:ClassOptions();
Local Rowset &rs_ClsGrpOptns;
Local number &nAutoEnrlClassNbr1, &nAutoEnrlClassNbr2;
Local number &nRelateClassNbr1, &nRelateClassNbr2;
Local Record &rec_getrelateclass, &rec_getrelateclass1;
Local Rowset &rs_getrelateclass;
Local integer &classnbrctr, &i;

&rs_getrelateclass = CreateRowset(Record.STDNT_ENRL_SSVW);
&rec_getrelateclass = CreateRecord(Record.SSR_STENRL_SSV2);
&rs_ClsGrpOptns = CreateRowset(Record.SSR_DER_CS_FLTR);
&rs_ClsGrpOptns(1).SSR_DER_CS_FLTR.CLASS_NBR.Value =
&oManageClassesGlobalVars.sEditClasses_Class_nbr;
&rs_ClsGrpOptns(1).SSR_DER_CS_FLTR.STRM.Value = &recTerm;
&rs_ClsGrpOptns(1).SSR_DER_CS_FLTR.INSTITUTION.Value = &recInst;
&nAutoEnrlClassNbr2 = 0;
&nAutoEnrlClassNbr1 = 0;

&rec_getrelateclass.EMPLID.Value = &recEmplId;
&rec_getrelateclass.INSTITUTION.Value = &recInst;
&rec_getrelateclass.ACAD_CAREER.Value = &recCar;
&rec_getrelateclass.STRM.Value = &recTerm;
&rec_getrelateclass.CLASS_NBR.Value =
&oManageClassesGlobalVars.sEditClasses_Class_nbr;
If &rec_getrelateclass.SelectByKey() Then

&classnbrctr = &rs_getrelateclass.Fill("WHERE EMPLID = :1 AND INSTITUTION = :


2 AND ACAD_CAREER = :3 AND STRM = :4 AND SUBJECT = :5 AND CATALOG_NBR = :6 AND
CLASS_NBR = :7", &recEmplId, &recInst, &recCar, &recTerm,
&rec_getrelateclass.SUBJECT.Value, &rec_getrelateclass.CATALOG_NBR.Value,
&rec_getrelateclass.CLASS_NBR.Value);

If &classnbrctr > 0 Then


&nRelateClassNbr1 =
&rs_getrelateclass(&classnbrctr).STDNT_ENRL_SSVW.RELATE_CLASS_NBR_1.Value;
&nRelateClassNbr2 =
&rs_getrelateclass(&classnbrctr).STDNT_ENRL_SSVW.RELATE_CLASS_NBR_2.Value;
&rs_ClsGrpOptns(1).SSR_DER_CS_FLTR.RELATE_CLASS_NBR_1.Value =
&rs_getrelateclass(&classnbrctr).STDNT_ENRL_SSVW.RELATE_CLASS_NBR_1.Value;
&rs_ClsGrpOptns(1).SSR_DER_CS_FLTR.RELATE_CLASS_NBR_2.Value =
&rs_getrelateclass(&classnbrctr).STDNT_ENRL_SSVW.RELATE_CLASS_NBR_2.Value;
End-If;

&classnbrctr = &rs_getrelateclass.Fill("WHERE EMPLID = :1 AND INSTITUTION = :


2 AND ACAD_CAREER = :3 AND STRM = :4 AND SUBJECT = :5 AND CATALOG_NBR = :6 AND
CLASS_NBR != :7 AND CLASS_NBR != :8 AND CLASS_NBR != :9", &recEmplId, &recInst,
&recCar, &recTerm, &rec_getrelateclass.SUBJECT.Value,
&rec_getrelateclass.CATALOG_NBR.Value, &rec_getrelateclass.CLASS_NBR.Value,
&nRelateClassNbr1, &nRelateClassNbr2);

If &classnbrctr = 1 Then
&nAutoEnrlClassNbr1 =
&rs_getrelateclass(&classnbrctr).STDNT_ENRL_SSVW.CLASS_NBR.Value;
&rs_ClsGrpOptns(1).SSR_DER_CS_FLTR.SSR_AUTOENRL_CLS_1.Value =
&rs_getrelateclass(1).STDNT_ENRL_SSVW.CLASS_NBR.Value;
&rs_ClsGrpOptns(1).SSR_DER_CS_FLTR.SSR_AUTOENRL_CLS_2.Value =
&nAutoEnrlClassNbr2;
End-If;

If &classnbrctr = 2 Then
&nAutoEnrlClassNbr1 =
&rs_getrelateclass(1).STDNT_ENRL_SSVW.CLASS_NBR.Value;
&rs_ClsGrpOptns(1).SSR_DER_CS_FLTR.SSR_AUTOENRL_CLS_1.Value =
&rs_getrelateclass(1).STDNT_ENRL_SSVW.CLASS_NBR.Value;
&nAutoEnrlClassNbr2 =
&rs_getrelateclass(2).STDNT_ENRL_SSVW.CLASS_NBR.Value;
&rs_ClsGrpOptns(1).SSR_DER_CS_FLTR.SSR_AUTOENRL_CLS_2.Value =
&rs_getrelateclass(2).STDNT_ENRL_SSVW.CLASS_NBR.Value;
End-If;
End-If;

Return &oClassOptions.GetClassOptions("SC", "Y", &rs_ClsGrpOptns, Null, Null);


end-method;

method LoadAlternativeClasses
Local integer &i, &j, &k;
Local number &curr_OptionNbr, &prev_OptionNbr;

For &i = 1 To &rs_AlternativeClasses.ActiveRowCount

&curr_OptionNbr =
&rs_AlternativeClasses(&i).SSR_DER_CS_GRP.SSR_OPTION_NBR.Value;

If &curr_OptionNbr <> &prev_OptionNbr Then

&rs_RegformVw1.InsertRow(&row_level1);
&row_level1 = &row_level1 + 1;
&rs_RegformVw1(&row_level1).DERIVED_SSR_FL.SSR_CLASSNAME_LONG.Value =
MsgGetText(14770, 577, "Message Not Found") | " " | &curr_OptionNbr | " - " |
&rs_AlternativeClasses(&i).SSR_DER_CS_GRP.SSR_OPTION_STAT.LongTranslateValue;
&rs_RegformVw1(&row_level1).SSR_DER_CS_GRP.SSR_OPTION_NBR.Value =
&curr_OptionNbr;

&prev_OptionNbr = &curr_OptionNbr;
End-If;
End-For;

&rs_RegformVw1.DeleteRow(1); /* Delete empty row */

Local integer &count_AltClasses, &row_level2, &AvailableSeats, &OptionsInstance;


Local Rowset &rs_RegformVw2;
Local Row &row_RegformVw2;
Local string &sBgnCssConstructor, &sEndCssConstructor, &sStyleConstructor;

&sBgnCssConstructor = GetHTMLText(HTML.SSR_CSS_BGN_CONSTRUCTOR_FL);
&sStyleConstructor = "";

Local SSR_MANAGE_CLASSES:UTIL:MeetingDetails &oMeetingDetails = create


SSR_MANAGE_CLASSES:UTIL:MeetingDetails();

&oMeetingDetails.sInstitution = &recInst;
&oMeetingDetails.sAcademicCareer = &recCar;
&oMeetingDetails.sTerm = &recTerm;
&oMeetingDetails.Instantiate("EditClasses");

For &j = 1 To &rs_RegformVw1.ActiveRowCount

&row_level2 = 1;

For &k = 1 To &rs_AlternativeClasses.ActiveRowCount

If &rs_AlternativeClasses(&k).SSR_DER_CS_GRP.SSR_OPTION_NBR.Value =
&rs_RegformVw1(&j).SSR_DER_CS_GRP.SSR_OPTION_NBR.Value Then

&rs_RegformVw2 = &rs_RegformVw1(&j).GetRowset(Scroll.SSR_DUMMY_RECV2);

&rs_RegformVw2.InsertRow(&row_level2);

&row_level2 = &row_level2 + 1;

&row_RegformVw2 = &rs_RegformVw2.GetRow(&row_level2);

&row_RegformVw2.SSR_DER_CS_GRP.SSR_OPTION_NBR.Value =
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.SSR_OPTION_NBR.Value;
&row_RegformVw2.SSR_DER_CS_GRP.CLASS_NBR.Value =
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.CLASS_NBR.Value;
&row_RegformVw2.SSR_DER_CS_GRP.SSR_AUTO_ENRL_SW.Value =
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.SSR_AUTO_ENRL_SW.Value;
&row_RegformVw2.SSR_DER_CS_GRP.SSR_SEQ_NBR.Value =
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.SSR_SEQ_NBR.Value;
&row_RegformVw2.SSR_DER_CS_GRP.GRADING_BASIS.Value =
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.GRADING_BASIS.Value;
&row_RegformVw2.SSR_DER_CS_GRP.UNITS_MINIMUM.Value =
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.UNITS_MINIMUM.Value;

&row_RegformVw2.SSR_REGFORM_WRK.SSR_SBJ_CAT_NBR.Value =
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.SSR_COMPONENT.LongTranslateValue | " - "
| MsgGetText(14770, 1006, "Message not found") | " " |
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.CLASS_NBR.Value;
&row_RegformVw2.SSR_REGFORM_WRK.SSR_SBJ_CAT_NBR.Label =
&row_RegformVw2.SSR_REGFORM_WRK.SSR_SBJ_CAT_NBR.Value;
&row_RegformVw2.DERIVED_SSR_FL.SSR_STD_ENR_STAT.Value =
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.ENRL_STAT.Value;

Evaluate &row_RegformVw2.DERIVED_SSR_FL.SSR_STD_ENR_STAT.Value
When "O"
&row_RegformVw2.DERIVED_SSR_FL.SSR_SEATS_AVL.Value =
MsgGetText(14770, 527, "Message not found.",
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.ENRL_CAP.Value -
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.ENRL_TOT.Value,
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.ENRL_CAP.Value);
&row_RegformVw2.DERIVED_SSR_FL.SSR_DESCR50.Value = MsgGetText(14770,
607, "Message not found") | " " |
&row_RegformVw2.DERIVED_SSR_FL.SSR_SEATS_AVL.Value;
When "W"
&row_RegformVw2.DERIVED_SSR_FL.SSR_SEATS_AVL.Value =
MsgGetText(14770, 527, "Message not found.",
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.WAIT_CAP.Value -
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.WAIT_TOT.Value,
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.WAIT_CAP.Value);
&row_RegformVw2.DERIVED_SSR_FL.SSR_DESCR50.Value = MsgGetText(14770,
608, "Message not found") | " " |
&row_RegformVw2.DERIVED_SSR_FL.SSR_SEATS_AVL.Value;
When "C"
&row_RegformVw2.DERIVED_SSR_FL.SSR_SEATS_AVL.Value = "--";
&row_RegformVw2.DERIVED_SSR_FL.SSR_DESCR50.Value = MsgGetText(14770,
573, "Message not found");
End-Evaluate;

&row_RegformVw2.DERIVED_SSR_FL.SSR_DESCR50.Label = MsgGetText(14770,
609, "Message not found");

&oMeetingDetails.LoadMeetingSchedule(&row_level2,
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.CLASS_NBR.Value, &row_RegformVw2);

&row_RegformVw2.DERIVED_SSR_FL.SSR_MORE_CLASS_FL.Label =
&oMeetingDetails.sMaxHasReachedMessage;
&row_RegformVw2.DERIVED_SSR_FL.SSR_MORE_CLASS_FL.Visible =
&oMeetingDetails.IsMoreDetailsAvailable;

If &row_level2 > 2 Then


&row_RegformVw2.DERIVED_SSR_FL.SSR_SELECT.Visible = False;
End-If;

&OptionsInstance = &OptionsInstance + 1;

End-If;
End-For;
If &OptionsInstance > 0 Then
&rs_RegformVw2.DeleteRow(1);
End-If;
End-For;

If &OptionsInstance = 0 Then

/* No Alternative Classes available */


SSR_CLS_PREF_WK.GROUPBOX1.Visible = False;
SSR_CLS_PREF_WK.GROUPBOX2.Visible = False;
SSR_CLS_PREF_WK.GROUPBOX3.Visible = True;
End-If;
end-method;

method SSR_ENRL_FL_WRK_SSR_WAIT_LIST_INFO_FieldChange
Local string &sModalOptions;

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then


&sModalOptions = GetHTMLText(HTML.SCC_MO_FULLSCREEN_FL);
Else
If %Request.BrowserDeviceType = "tablet" Then
&sModalOptions = GetHTMLText(HTML.SCC_MO_FULLSCREEN_FL);
Else
&sModalOptions = GetHTMLText(HTML.SCC_MO_POPUP_FL) |
"width@500;height@200;";
End-If;
End-If;

&sWaitListOkayLabel = MsgGetText(14770, 1001, "Message not found");


&sInformationMessage = MsgGetExplainText(14770, 1001, "Message not found");

DoModalPopup(&sModalOptions, "", False, False, Page.SSR_INFO_ICON_SCF,


&sWaitListOkayLabel, - 1, - 1, 0);
end-method;

method SSR_ENRL_FL_WRK_SSR_PERM_NBR_INFO_FieldChange
Local string &sModalOptions, &sPermissionNumberLabel;

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then


&sModalOptions = GetHTMLText(HTML.SCC_MO_FULLSCREEN_FL);
Else
If %Request.BrowserDeviceType = "tablet" Then
&sModalOptions = GetHTMLText(HTML.SCC_MO_FULLSCREEN_FL);
Else
&sModalOptions = GetHTMLText(HTML.SCC_MO_POPUP_FL) |
"width@400;height@200;";
End-If;
End-If;

&sPermissionNumberLabel = MsgGetText(14770, 1002, "Message not found");


&sInformationMessage = MsgGetExplainText(14770, 1002, "Message not found");

DoModalPopup(&sModalOptions, "", False, False, Page.SSR_INFO_ICON_SCF,


&sPermissionNumberLabel, - 1, - 1, 0);
end-method;

method SSR_INFO_ICON_SCF_Activate
DERIVED_REGFRM1.SS_MESSAGE_LONG = &sInformationMessage;
end-method;

method DERIVED_SSR_FL_SSR_SELECT_FieldChange
/* Triggers Activity Guide's Action Item Post Process */

&oManageClassesGlobalVars.sIsActionItemMarkedAsComplete = True;
SetComponentChanged();

&oManageClassesGlobalVars.bAcceptflag = 1;
&oManageClassesGlobalVars.cClassPref [1] = DERIVED_CLS_DTL.WAIT_LIST_OKAY.Value;
&oManageClassesGlobalVars.cClassPref [2] =
DERIVED_CLS_DTL.CLASS_PRMSN_NBR.Value;
&oManageClassesGlobalVars.cClassPref [3] =
DERIVED_CLS_DTL.SSR_GRADE_BASIS_SS.Value;
&oManageClassesGlobalVars.cClassPref [4] =
DERIVED_CLS_DTL.SSR_UNT_TAKEN_CHAR.Value;
&oManageClassesGlobalVars.cClassPref [5] = DERIVED_CLS_DTL.INSTRUCTOR_ID.Value;
&oManageClassesGlobalVars.cClassPref [6] = DERIVED_CLS_DTL.ACAD_PROG.Value;
&oManageClassesGlobalVars.cClassPref [7] = DERIVED_CLS_DTL.RQMNT_DESIGNTN.Value;
&oManageClassesGlobalVars.cClassPref [8] =
DERIVED_CLS_DTL.RQMNT_DESIGNTN_OPT.Value;
&oManageClassesGlobalVars.cClassPref [9] = DERIVED_CLS_DTL.START_DT.Value;

&oManageClassesGlobalVars.rec_ClassEditDetailsAET.CLASS_PRMSN_NBR.Value =
DERIVED_CLS_DTL.CLASS_PRMSN_NBR.Value;
&oManageClassesGlobalVars.rec_ClassEditDetailsAET.WAIT_LIST_OKAY.Value =
DERIVED_CLS_DTL.WAIT_LIST_OKAY.Value;
&oManageClassesGlobalVars.rec_ClassEditDetailsAET.SSR_GRADE_BASIS_SS.Value =
DERIVED_CLS_DTL.SSR_GRADE_BASIS_SS.Value;
&oManageClassesGlobalVars.rec_ClassEditDetailsAET.SSR_UNT_TAKEN_CHAR.Value =
Value(DERIVED_CLS_DTL.SSR_UNT_TAKEN_CHAR.Value);
&oManageClassesGlobalVars.rec_ClassEditDetailsAET.INSTRUCTOR_ID.Value =
DERIVED_CLS_DTL.INSTRUCTOR_ID.Value;
&oManageClassesGlobalVars.rec_ClassEditDetailsAET.ACAD_PROG.Value =
DERIVED_CLS_DTL.ACAD_PROG.Value;
&oManageClassesGlobalVars.rec_ClassEditDetailsAET.RQMNT_DESIGNTN_OPT.Value =
DERIVED_CLS_DTL.RQMNT_DESIGNTN_OPT.Value;
&oManageClassesGlobalVars.rec_ClassEditDetailsAET.START_DT.Value =
DERIVED_CLS_DTL.START_DT.Value;
&oManageClassesGlobalVars.rec_ClassEditDetailsAET.SSR_DESC_RQMT_DSGN.Value =
DERIVED_CLS_DTL.RQMNT_DESIGNTN.Value;

Local SCC_FLUID:MODEL:AGComponent &oAGComponent = create


SCC_FLUID:MODEL:AGComponent();
&oAGComponent.ProceedToNextStep();
end-method;

[SSR_MANAGE_CLASSES.COMPONENTS.ActivityGuide_ActionItems.SSR_EDIT_SUBMIT_FL.OnExecu
te]
import SSR_MANAGE_CLASSES:UTIL:ClassSelection;
import SSR_ENROLLMENT:EVENT:EnrollmentEventNotification;
import SSR_MANAGE_CLASSES:UTIL:ClassPreferences;
import SSR_MANAGE_CLASSES:UTIL:Formatter;
import SSR_MANAGE_CLASSES:UTIL:Instructor;
import SSR_MANAGE_CLASSES:UTIL:MeetingDetails;
import SSR_STUDENT_RECORDS:SR_ClassData:ClassDetail;
import SSR_STUDENT_RECORDS:SR_ClassData:ClassStatus;
import SSR_MANAGE_CLASSES:UTIL:ClassInformation;
import SCC_FLUID:UTIL:CSSClass;
import SSR_MANAGE_CLASSES:UTIL:GlobalVariables;

class SSR_EDIT_SUBMIT_FL
method PostBuild();
method SSR_EDIT_SUBMIT_FL_Activate();
method ENRL_REQ_HEADER_SavePreChange();
method SSR_ENRL_FL_WRK__SUBMIT_PB_FieldChange();
method SSR_ED_CLASS_FL_SSR_CLASSNAME_LONG__FieldChange(&classnbr As integer);
/* Select alternative class Page - Open Class Details Secondary Page */
method SSR_CLASSDTL_SCF_Activate();

/* Select alternative class Page - Open Change Term Secondary Page */


method SSR_CLSDTL_LF_SCF__Activate();

method SSR_DER1_MTG_FL_SSR_MTGINFO_DATA__FieldChange();
method SSR_INSTDTL_LF_SCF_Activate();
method SSR_INSTRDTL_SCF_Activate();
method DERIVED_SSR_FL_SSR_CL_DTLS_LFF__FieldChange();
method DERIVED_SSR_FL__SSR_CL_DTLS_OPT_FieldChange();
method DERIVED_SSR_FL_SSR_INSTR_NME_FL__FieldChange();
method DERIVED_SSR_FL_SSR_INSTR_FL__FieldChange();
method DERIVED_SSR_FL_SSR_MORE_CLASS_FL__FieldChange();

private
method Enroll();
method TransferToConfirmationPage();
method LoadClassDetails_sff();
method LoadClassDetails();

instance string &IsShopCartEnabled, &sEnrlRequestId;


instance integer &iEnrlReqDetlSeq;
instance boolean &IsEnrlRequestIdAssignedOnce;
instance string &AddClassOptions, &sStudentId, &sTerm, &sAcademicCareer,
&sInstitution;
instance number &nClassNbr;
instance Rowset &rsSelectedClass, &rsSelectedClass2;
instance SSR_MANAGE_CLASSES:UTIL:ClassSelection &oClassSelection;
instance SSR_MANAGE_CLASSES:UTIL:ClassInformation &oClassInformation;
end-class;

Global SSR_MANAGE_CLASSES:UTIL:GlobalVariables &oManageClassesGlobalVars;

method PostBuild
Local string &local_AddClassOptions;

Local SCC_FLUID:UTIL:CSSClass &objCSS, &objCSS1;

&objCSS = create SCC_FLUID:UTIL:CSSClass();

&objCSS.AddStyleSheet(StyleSheet.SSR_SS);

&objCSS1 = create SCC_FLUID:UTIL:CSSClass();

&objCSS1.AddStyleSheet(StyleSheet.SSR_EDIT_SS);

SQLExec("SELECT SSR_CS_ADD_OPTN FROM PS_SSR_CS_GEN_OPTS",


&local_AddClassOptions);

&AddClassOptions = &local_AddClassOptions;

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then


Page.SSR_EDIT_FTS_FFL.Visible = True;
/* Accept Class Preferences */
Else
Page.SSR_EDIT_FTS_FFL.Visible = False;
End-If;
end-method;

method SSR_EDIT_SUBMIT_FL_Activate

&oClassInformation = create SSR_MANAGE_CLASSES:UTIL:ClassInformation();

AddStyleSheet(StyleSheet.SSR_SS);
AddStyleSheet(StyleSheet.SSR_EDIT_SS);
AddStyleSheet(StyleSheet.SSR_CLASS_PREFERENCES_FL);

/* Keys - Enrollment */
&sStudentId = &oManageClassesGlobalVars.rec_ClassEditDetailsAET.EMPLID.Value;
&sTerm = &oManageClassesGlobalVars.rec_ClassEditDetailsAET.STRM.Value;
&sAcademicCareer =
&oManageClassesGlobalVars.rec_ClassEditDetailsAET.ACAD_CAREER.Value;
&sInstitution =
&oManageClassesGlobalVars.rec_ClassEditDetailsAET.INSTITUTION.Value;
&nClassNbr = &oManageClassesGlobalVars.rec_ClassEditDetailsAET.CLASS_NBR.Value;

Local SSR_STUDENT_RECORDS:SR_ClassData:ClassStatus &classttuscheck;

If %Request.BrowserDeviceFormFactor <> %FormFactor_Small Then


SCC_LO_FL_WRK.SCC_GROUP_BOX_7.Visible = True;
Else
SCC_LO_FL_WRK.SCC_GROUP_BOX_7.Visible = False;
End-If;

/* Keys - Header */
DERIVED_SSR_FL.STRM.Value = &sTerm;
DERIVED_SSR_FL.ACAD_CAREER.Value = &sAcademicCareer;
DERIVED_SSR_FL.INSTITUTION.Value = &sInstitution;
DERIVED_SSR_FL.SSR_CHANGE_BTN_GBX.Visible = False;

DERIVED_SSR_FL.STRM.Label = MsgGetText(14770, 4, "Message not found.");


DERIVED_SSR_FL.ACAD_CAREER.Label = MsgGetText(14770, 801, "Message not found.");
DERIVED_SSR_FL.INSTITUTION.Label = MsgGetText(14770, 802, "Message not found.");

&oClassSelection = create SSR_MANAGE_CLASSES:UTIL:ClassSelection();

<***************** PI05 *****************>

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then


If &oManageClassesGlobalVars.bChangeclass Then
%This.LoadClassDetails();
Else
SSR_ED_CLASS_FL.GROUPBOX1.Visible = False;
%This.LoadClassDetails();
End-If;
Else

If &oManageClassesGlobalVars.bChangeclass Then
%This.LoadClassDetails();
Else
SSR_ED_CLASS_FL.GROUPBOX1.Visible = False;
%This.LoadClassDetails();
End-If;
End-If;
<***************** PI05 *****************>

Local SSR_MANAGE_CLASSES:UTIL:ClassPreferences &oClassPreferences = create


SSR_MANAGE_CLASSES:UTIL:ClassPreferences();

If Not (&oManageClassesGlobalVars.IsClassPreferencesAvailable) Then


SSR_ENRL_GBX_WK.GROUPBOX1.Visible = False;

Local Record &recClsPrefWk;

&recClsPrefWk =
&oClassPreferences.LoadClassPreferences(&oManageClassesGlobalVars.rec_ClassEditDeta
ilsAET);

&recClsPrefWk.CopyFieldsTo(&oManageClassesGlobalVars.rec_ClassEditDetailsAET);

Else

SSR_ENRL_GBX_WK.GROUPBOX1.Visible = True;
SSR_ENRL_GBX_WK.GROUPBOX1.Label = MsgGetText(14770, 700, "Message not
found.");

<***************** wait list option start *****************>


SSR_CLS_PREF_WK.SSR_DESC_WAIT_LIST.Label = MsgGetText(14770, 1001, "Message
not found.");
If &oManageClassesGlobalVars.cClassPref [1] = "N" Then
SSR_CLS_PREF_WK.SSR_DESC_WAIT_LIST = MsgGetText(156, 3, "Message not
found.");
Else
SSR_CLS_PREF_WK.SSR_DESC_WAIT_LIST = MsgGetText(156, 2, "Message not
found.");
End-If;
SSR_CLS_PREF_WK.SSR_DESC_WAIT_LIST.Visible =
&oManageClassesGlobalVars.bDisplay_WaitList;

<***************** wait list option end *****************>

<***************** Permission number option start *****************>


SSR_CLS_PREF_WK.SSR_DESC_PER_NBR.Label = MsgGetText(14770, 1002, "Message not
found.");

If Value(&oManageClassesGlobalVars.cClassPref [2]) > 0 Then


SSR_CLS_PREF_WK.SSR_DESC_PER_NBR = &oManageClassesGlobalVars.cClassPref
[2];
SSR_CLS_PREF_WK.SSR_DESC_PER_NBR.Visible = True;
Else
SSR_CLS_PREF_WK.SSR_DESC_PER_NBR = "None";
SSR_CLS_PREF_WK.SSR_DESC_PER_NBR.Visible = True;
End-If;
<***************** Permission number option end *****************>

<***************** Grading Basis option start *****************>


Local string &sXlatLongName;
SQLExec("SELECT A.XLATLONGNAME FROM PSXLATITEM A WHERE A.FIELDNAME = :1 AND
A.FIELDVALUE = :2 AND A.EFFDT = (SELECT MAX(A1.EFFDT) FROM PSXLATITEM A1 WHERE
A1.FIELDNAME = A.FIELDNAME AND A1.FIELDVALUE = A.FIELDVALUE AND A1.EFFDT <=
%DateIn(:3)) AND A.EFF_STATUS = 'A'", "GRADING_BASIS",
&oManageClassesGlobalVars.cClassPref [3], %Date, &sXlatLongName);

SSR_CLS_PREF_WK.SSR_DESC_GRD_BSIS.Label = MsgGetText(14770, 1011, "Message


not found.");
SSR_CLS_PREF_WK.SSR_DESC_GRD_BSIS = &sXlatLongName;
SSR_CLS_PREF_WK.SSR_DESC_GRD_BSIS.Visible =
&oManageClassesGlobalVars.bDisplay_GradingBasis;
<***************** Grading Basis option end *****************>

<***************** Units option start *****************>


SSR_CLS_PREF_WK.SSR_DESC_UNITS.Label = MsgGetText(14770, 566, "Message not
found.");

SSR_CLS_PREF_WK.SSR_DESC_UNITS = &oManageClassesGlobalVars.cClassPref [4];


SSR_CLS_PREF_WK.SSR_DESC_UNITS.Visible =
&oManageClassesGlobalVars.bDisplay_Units;
<***************** Units option end *****************>

<***************** Instructor option start *****************>


Local SSR_MANAGE_CLASSES:UTIL:Instructor &oInstructor = create
SSR_MANAGE_CLASSES:UTIL:Instructor();
Local string &sInstructorName =
&oInstructor.GetDisplayName(&oManageClassesGlobalVars.cClassPref [5]); /* Try to
modify utility and add a diff name format */

SSR_CLS_PREF_WK.SSR_DESC_INSTRUCTR.Label = MsgGetText(14770, 523, "Message


not found.");
SSR_CLS_PREF_WK.SSR_DESC_INSTRUCTR = &sInstructorName;
SSR_CLS_PREF_WK.SSR_DESC_INSTRUCTR.Visible =
&oManageClassesGlobalVars.bDisplay_Instructor;
<***************** Instructor option end *****************>

<***************** Academic Program option start *****************>


Local string &sAcadProgDescr;
SQLExec("SELECT A.DESCR FROM PS_ACAD_PROG_TBL A WHERE A.INSTITUTION = :1 AND
A.ACAD_PROG = :2 AND A.EFFDT = (SELECT MAX(A1.EFFDT) FROM PS_ACAD_PROG_TBL A1 WHERE
A1.INSTITUTION = A.INSTITUTION AND A1.ACAD_PROG = A.ACAD_PROG AND A1.EFFDT <=
%DateIn(:3)) AND A.EFF_STATUS = 'A'", &oManageClassesGlobalVars.cClassPref [6],
&oManageClassesGlobalVars.rec_ClassEditDetailsAET.ACAD_PROG.Value, %Date,
&sAcadProgDescr);

SSR_CLS_PREF_WK.SSR_DESC_ACAD_PROG.Label = MsgGetText(14770, 1012, "Message


not found.");
SSR_CLS_PREF_WK.SSR_DESC_ACAD_PROG = &sAcadProgDescr;
SSR_CLS_PREF_WK.SSR_DESC_ACAD_PROG.Visible =
&oManageClassesGlobalVars.bDisplay_Program;
SSR_CLS_PREF_WK.SSR_DESC_ACAD_PROG.Visible = False;
<***************** Academic Program option end *****************>

<***************** Requirement Designation option start *****************>


If &oManageClassesGlobalVars.cClassPref [7] = "N" Then
SSR_CLS_PREF_WK.SSR_DESC_TKE_RQDSG = MsgGetText(156, 3, "Message not
found.");
Else
SSR_CLS_PREF_WK.SSR_DESC_TKE_RQDSG = MsgGetText(156, 2, "Message not
found.");
End-If;

Local Record &recrqmt_descr = CreateRecord(Record.RQMNT_DESIG_TBL);


&recrqmt_descr.RQMNT_DESIGNTN.Value =
&oManageClassesGlobalVars.rec_ClassEditDetailsAET.SSR_DESC_RQMT_DSGN.Value;
If &recrqmt_descr.SelectByKeyEffDt(%Date) Then
SSR_CLS_PREF_WK.SSR_DESC_TKE_RQDSG.Label = MsgGetText(14770, 803, "Message
not found.") | " - " | &recrqmt_descr.DESCRFORMAL.Value;
End-If;
SSR_CLS_PREF_WK.SSR_DESC_TKE_RQDSG.Visible =
&oManageClassesGlobalVars.bDisplay_RequirementDesignation;
<***************** Requirement Designation option end *****************>

<***************** Start Date option start *****************>


If All(&oManageClassesGlobalVars.rec_ClassEditDetailsAET.START_DT.Value) Then
DERIVED_CLS_DTL.START_DT =
&oManageClassesGlobalVars.rec_ClassEditDetailsAET.START_DT.Value;
DERIVED_CLS_DTL.START_DT.Visible = False;
Else
DERIVED_CLS_DTL.START_DT.Visible = False;
End-If;
<***************** Start Date option end *****************>
End-If;

SSR_ENRL_FL_WRK.GROUPBOX.Visible = False;

If &oManageClassesGlobalVars.pClassPref [1] =
&oManageClassesGlobalVars.cClassPref [1] And
&oManageClassesGlobalVars.pClassPref [2] =
&oManageClassesGlobalVars.cClassPref [2] And
&oManageClassesGlobalVars.pClassPref [3] =
&oManageClassesGlobalVars.cClassPref [3] And
&oManageClassesGlobalVars.pClassPref [4] =
&oManageClassesGlobalVars.cClassPref [4] And
&oManageClassesGlobalVars.pClassPref [5] =
&oManageClassesGlobalVars.cClassPref [5] And
&oManageClassesGlobalVars.pClassPref [6] =
&oManageClassesGlobalVars.cClassPref [6] And
&oManageClassesGlobalVars.pClassPref [7] =
&oManageClassesGlobalVars.cClassPref [7] And
&oManageClassesGlobalVars.pClassPref [8] =
&oManageClassesGlobalVars.cClassPref [8] And
&oManageClassesGlobalVars.pClassPref [9] =
&oManageClassesGlobalVars.cClassPref [9] And
Not &oManageClassesGlobalVars.bChangeclass Then
SSR_ENRL_FL_WRK.SUBMIT_PB.Enabled = False;
SSR_ED_CLASS_FL.GROUPBOX2.Visible = True;
SSR_ED_CLASS_FL.STATEMENT.Visible = True;
SSR_ED_CLASS_FL.STATEMENT.Value = MsgGetExplainText(14770, 1108, "Message Not
Found");
SSR_ED_CLASS_FL.HTMLAREA.Value = GetHTMLText(HTML.SSR_MNG_CLS_STAT_IMG_FL,
"%Image(PTADS_WARNING_ICN)", MsgGetText(14770, 1108, "Message not found."));
Else
SSR_ENRL_FL_WRK.SUBMIT_PB.Enabled = True;
SSR_ED_CLASS_FL.GROUPBOX2.Visible = False;
SSR_ED_CLASS_FL.STATEMENT.Visible = False;
SSR_ED_CLASS_FL.STATEMENT.Value = MsgGetExplainText(14770, 1108, "Message Not
Found");
SSR_ED_CLASS_FL.HTMLAREA.Value = GetHTMLText(HTML.SSR_MNG_CLS_STAT_IMG_FL,
"%Image(PTADS_WARNING_ICN)", MsgGetText(14770, 1108, "Message not found."));
End-If;

end-method;

method SSR_ENRL_FL_WRK__SUBMIT_PB_FieldChange

/* Are you sure you want to submit? */


If MessageBox(%MsgStyle_YesNo, "", 14770, 723, "Message Not Found") = 6 Then

/* Edit Only */

&oManageClassesGlobalVars.rec_ClassEditDetailsAET.SSR_ENRL_OPTN.Value =
"ENRL";
%This.Enroll();

&oManageClassesGlobalVars.bDisplay_WaitList = False;
&oManageClassesGlobalVars.bDisplay_PermissionNumber = False;
&oManageClassesGlobalVars.bDisplay_GradingBasis = False;
&oManageClassesGlobalVars.bDisplay_Units = False;
&oManageClassesGlobalVars.bDisplay_Instructor = False;
&oManageClassesGlobalVars.bDisplay_Program = False;
&oManageClassesGlobalVars.bDisplay_RequirementDesignation = False;
&oManageClassesGlobalVars.bDisplay_StartDate = False;
&oManageClassesGlobalVars.bLoadEditClassesConfirmation = True;

End-If;

end-method;

method ENRL_REQ_HEADER_SavePreChange
Local string &local_sEnrlRequestId;
Local number &Length, &nEnrlReqIdLast;

If Not &IsEnrlRequestIdAssignedOnce Then


&nEnrlReqIdLast =
GetNextNumberWithGapsCommit(ENRL_REQ_ID_TBL.ENRL_REQ_ID_LAST, 9999999999, 1);

Evaluate &nEnrlReqIdLast
When - 1
Error MsgGet(14600, 780, "No Message Found", "ENRL_REQ_ID_LAST",
"ENRL_REQ_ID_TBL");
Break;
When - 2
Error MsgGet(14600, 214, "No Message Found", "ENRL_REQ_ID_LAST",
"ENRL_REQ_ID_TBL");
Break;
When - 3
Error MsgGet(14600, 781, "No Message Found", "ENRL_REQ_ID_LAST",
"ENRL_REQ_ID_TBL");
Break;
When-Other
&local_sEnrlRequestId = Rept("0", &Length - Len(String(&nEnrlReqIdLast)))
| String(&nEnrlReqIdLast);
Break;
End-Evaluate;
ENRL_REQ_HEADER.ENRL_REQUEST_ID = &local_sEnrlRequestId;

&IsEnrlRequestIdAssignedOnce = True;
End-If;
end-method;

method Enroll
Local Rowset &rsEnrlReqHdr, &rsEnrlReqDetail;
Local Record &recTo;

&rsEnrlReqHdr = GetLevel0()(1).GetRowset(Scroll.ENRL_REQ_HEADER);
&rsEnrlReqHdr.Flush();

&rsEnrlReqHdr(1).ENRL_REQ_HEADER.ENRL_REQUEST_ID.Value = "0000000000";
&rsEnrlReqHdr(1).ENRL_REQ_HEADER.OPRID.Value = %UserId;
&rsEnrlReqHdr(1).ENRL_REQ_HEADER.ENRL_REQ_PROC_ST.Value = "P";

If %Request.BrowserDeviceFormFactor <> %FormFactor_Small Then


&rsEnrlReqHdr(1).ENRL_REQ_HEADER.ENRL_REQ_SOURCE.Value = "FE"; /* Non-SFF
Class Search Enrollment */
Else
&rsEnrlReqHdr(1).ENRL_REQ_HEADER.ENRL_REQ_SOURCE.Value = "FF"; /* SFF Class
Search Enrollment */
End-If;

&rsEnrlReqHdr(1).ENRL_REQ_HEADER.DTTM_STAMP_SEC.Value = %Datetime;

&IsEnrlRequestIdAssignedOnce = False;

DoSaveNow();

&sEnrlRequestId = &rsEnrlReqHdr(1).ENRL_REQ_HEADER.ENRL_REQUEST_ID.Value;

&rsEnrlReqDetail = GetLevel0()(1).GetRowset(Scroll.ENRL_REQ_DETAIL);
&rsEnrlReqDetail.Flush();

&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.ENRL_REQUEST_ID.Value = &sEnrlRequestId;
&oManageClassesGlobalVars.rec_ClassEditDetailsAET.ENRL_REQUEST_ID.Value =
&sEnrlRequestId;

&recTo = &rsEnrlReqDetail(1).GetRecord(Record.ENRL_REQ_DETAIL);
&oManageClassesGlobalVars.rec_ClassEditDetailsAET.CopyFieldsTo(&recTo);

&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.UNT_TAKEN.Value =
Value(&oManageClassesGlobalVars.rec_ClassEditDetailsAET.SSR_UNT_TAKEN_CHAR.Value);
&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.GRADING_BASIS_ENRL.Value =
&oManageClassesGlobalVars.rec_ClassEditDetailsAET.SSR_GRADE_BASIS_SS.Value;

/* Start - PI05 */
/* check if any of the classes is already in STDNT_ENRL */
Local boolean &bool_Exists = False;
Local integer &i;
Local Rowset &rs_StdntEnrlVw = CreateRowset(Record.STDNT_ENRL);
Local Record &rec_StdntEnrl = CreateRecord(Record.STDNT_ENRL);

&rs_StdntEnrlVw.Flush();
&rs_StdntEnrlVw.Fill("WHERE EMPLID=:1 AND ACAD_CAREER=:2 AND INSTITUTION=:3 AND
STRM=:4", &sStudentId, &sAcademicCareer, &sInstitution, &sTerm);

For &i = 1 To &rs_StdntEnrlVw.RowCount


If (&rs_StdntEnrlVw(&i).STDNT_ENRL.CLASS_NBR.Value = &nClassNbr Or
&rs_StdntEnrlVw(&i).STDNT_ENRL.CLASS_NBR.Value =
&oManageClassesGlobalVars.rec_ClassEditDetailsAET.RELATE_CLASS_NBR_1.Value Or
&rs_StdntEnrlVw(&i).STDNT_ENRL.CLASS_NBR.Value =
&oManageClassesGlobalVars.rec_ClassEditDetailsAET.RELATE_CLASS_NBR_2.Value) And
&rs_StdntEnrlVw(&i).STDNT_ENRL.STDNT_ENRL_STATUS.Value <> "D" Then
&bool_Exists = True;
Break;
End-If;
End-For;

&rec_StdntEnrl.EMPLID.Value =
&oManageClassesGlobalVars.rec_ClassEditDetailsAET.EMPLID.Value;
&rec_StdntEnrl.INSTITUTION.Value =
&oManageClassesGlobalVars.rec_ClassEditDetailsAET.INSTITUTION.Value;
&rec_StdntEnrl.ACAD_CAREER.Value =
&oManageClassesGlobalVars.rec_ClassEditDetailsAET.ACAD_CAREER.Value;
&rec_StdntEnrl.STRM.Value =
&oManageClassesGlobalVars.rec_ClassEditDetailsAET.STRM.Value;
&rec_StdntEnrl.CLASS_NBR.Value =
&oManageClassesGlobalVars.rec_ClassEditDetailsAET.CLASS_NBR.Value;

Local string &AllowDropIfEnroll = "N";


Local string &SwapAction;

If &rec_StdntEnrl.SelectByKey() And
((&rec_StdntEnrl.RELATE_CLASS_NBR_1.Value <>
&oManageClassesGlobalVars.rec_ClassEditDetailsAET.RELATE_CLASS_NBR_1.Value And
&rec_StdntEnrl.RELATE_CLASS_NBR_2.Value <>
&oManageClassesGlobalVars.rec_ClassEditDetailsAET.RELATE_CLASS_NBR_2.Value) Or
(&rec_StdntEnrl.RELATE_CLASS_NBR_1.Value <>
&oManageClassesGlobalVars.rec_ClassEditDetailsAET.RELATE_CLASS_NBR_2.Value And
&rec_StdntEnrl.RELATE_CLASS_NBR_2.Value <>
&oManageClassesGlobalVars.rec_ClassEditDetailsAET.RELATE_CLASS_NBR_1.Value)) And
&oManageClassesGlobalVars.altclasscheck Then
&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.ENRL_REQ_ACTION.Value = "S";
&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.CLASS_NBR_CHG_TO.Value = &nClassNbr;

/* check self-service swap option on which action to use */


SQLExec("SELECT SSR_SS_DROP_IF_ENR FROM PS_SSR_SS_ENRL_OPT",
&AllowDropIfEnroll);

If (&AllowDropIfEnroll = "Y") Then


Local integer &EnrolledClass = 1;
Local integer &SwapClass = 1;
If &rec_StdntEnrl.RELATE_CLASS_NBR_1.Value > 0 Then
&EnrolledClass = &EnrolledClass + 1;
End-If;
If &rec_StdntEnrl.RELATE_CLASS_NBR_2.Value > 0 Then
&EnrolledClass = &EnrolledClass + 1;
End-If;

If
&oManageClassesGlobalVars.rec_ClassEditDetailsAET.RELATE_CLASS_NBR_1.Value > 0 Then
&SwapClass = &SwapClass + 1;
End-If;
If
&oManageClassesGlobalVars.rec_ClassEditDetailsAET.RELATE_CLASS_NBR_2.Value > 0 Then
&SwapClass = &SwapClass + 1;
End-If;
If &EnrolledClass <> &SwapClass Then

&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.ENRL_REQ_ACTION.Value = "E";
&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.DROP_CLASS_IF_ENRL.Value =
&nClassNbr;

End-If;
End-If;

Else
&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.ENRL_REQ_ACTION.Value = "M";

End-If;

/* End - PI05 */

/* Set required field defaults */

&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.UNT_TAKEN.Value =
Value(&oManageClassesGlobalVars.cClassPref [4]);
&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.GRADING_BASIS_ENRL.Value =
&oManageClassesGlobalVars.cClassPref [3];

/* Set required field defaults */


&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.ENRL_REQ_DETL_SEQ.Value = 1;
&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.OVRD_CLASS_LIMIT.Value = "N";
&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.OVRD_GRADING_BASIS.Value = "N";
&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.OVRD_CLASS_UNITS.Value = "N";
&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.OVRD_UNIT_LOAD.Value = "N";
&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.OVRD_CLASS_LINKS.Value = "N";
&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.OVRD_CLASS_PRMSN.Value = "N";
&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.OVRD_REQUISITES.Value = "N";
&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.OVRD_TIME_CNFLCT.Value = "N";
&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.OVRD_CAREER.Value = "N";
&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.OVRD_ENRL_ACTN_DT.Value = "N";
&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.OVRD_RQMNT_DESIG.Value = "N";
&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.OVRD_SRVC_INDIC.Value = "N";
&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.OVRD_APPT.Value = "N";
&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.ENRL_REQ_DETL_STAT.Value = "P";
&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.TSCRPT_NOTE_EXISTS.Value = "N";

DoSaveNow();

Local number &RETCODE;


Local Message &msg, &temp;
Local Rowset &levelZeroRowset;
Local string &compName;
Local SSR_ENROLLMENT:EVENT:EnrollmentEventNotification &enrollmentEvent;

RemoteCall("PSRCCBL", "PSCOBOLPROG", "SRPCERC", "ENRL-REQUEST-ID",


&sEnrlRequestId, "RC", &RETCODE);

If &RETCODE = 12 Then
WinMessage(MsgGet(14640, 82, "The Enrollment Process Engine encountered a
fatal error. Contact your administrator."), 64);
Else
/* fire SSR_ENROLLMENT_SYNC if service operation is active */
&msg = CreateMessage(Operation.SSR_ENROLLMENT_SYNC);
If &msg.IsOperationActive Then

&levelZeroRowset = GetLevel0();
&compName = %Component;
&enrollmentEvent = create
SSR_ENROLLMENT:EVENT:EnrollmentEventNotification(&levelZeroRowset, &compName,
Operation.SSR_ENROLLMENT_SYNC);
&temp = &enrollmentEvent.execute();
End-If;

%This.TransferToConfirmationPage();

End-If;
end-method;

method TransferToConfirmationPage

&oClassSelection.DeleteAGInstance("SR_EDIT_FL");

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then


&oManageClassesGlobalVars.sTransferFromURL = "";
&oManageClassesGlobalVars.sTransferToURL =
GenerateComponentContentURL(%Portal, %Node, MenuName.SSR_STUDENT_FL, %Market,
Component.SSR_EDIT_CLASS_FL, Page.SSR_ENRL_CONFRM_FL, %Action_UpdateDisplay);
&oManageClassesGlobalVars.sMDComponent = ""; /* Use default MD component */

%Response.RedirectURL(GenerateComponentContentURL(%Portal, %Node,
MenuName.SSR_STUDENT_FL, %Market, Component.SSR_EDIT_CLASS_FL,
Page.SSR_ENRL_CONFRM_FL, %Action_UpdateDisplay));

Else
Local ApiObject &CRefLink, &Portal;
Local string &sUrl;
&oManageClassesGlobalVars.sTabID = Page.SSR_EDIT_TERM_FL;
&Portal = %Session.GetPortalRegistry();
If &Portal.Open(%Portal) Then
&CRefLink = &Portal.FindCRefByName("CS_SSR_MANAGE_CLASSES_FL");
&sUrl = &CRefLink.AbsoluteContentURL;
End-If;
&Portal.Close();

&oManageClassesGlobalVars.sTransferFromURL = "";
&oManageClassesGlobalVars.sTransferToURL =
GenerateComponentContentURL(%Portal, %Node, MenuName.SSR_STUDENT_FL, %Market,
Component.SSR_EDIT_CLASS_FL, Page.SSR_ENRL_CONFRM_FL, %Action_UpdateDisplay);
&oManageClassesGlobalVars.sMDComponent = ""; /* Use default MD component */

%Response.RedirectURL(&sUrl);
End-If;
end-method;

method LoadClassDetails_sff
end-method;

method LoadClassDetails

Local integer &cArr_Count, &cArr_Count2, &cClass_Count, &cClass_Count2;


&cClass_Count = 1;

&rsSelectedClass = GetRowset(Scroll.SSR_DUMMY_REC);
Local Record &recsubcomp, &recsubcomp2;
Local boolean &bReturnload;
Local Record &recTranslate = CreateRecord(Record.PSXLATITEM);

If &oManageClassesGlobalVars.bChangeclass Then
&recsubcomp = CreateRecord(Record.CLASS_TBL);
Local Record &recsubsect = CreateRecord(Record.CLASS_TBL_2_VW);
&recsubcomp2 = CreateRecord(Record.STDNT_ENRL_SSVW);
&rsSelectedClass2 = GetRowset(Scroll.SSR_DUMMY_RECV1);
&rsSelectedClass2.Flush();
&cClass_Count2 = 1;
SSR_ED_CLASS_FL.SSR_STD_ENR_STAT.Visible = True;
SSR_ED_CLASS_FL.SSR_STATUS_LBL.Visible = True;
Else
SSR_ED_CLASS_FL.SSR_STD_ENR_STAT.Visible = False;
SSR_ED_CLASS_FL.SSR_STATUS_LBL.Visible = False;
If &oManageClassesGlobalVars.altclasscheck = True And
&oManageClassesGlobalVars.classprefcheck = True Then
SSR_ENRL_FL_WRK.DESCR50.Value = "No Alternative Class selected";
SSR_ENRL_FL_WRK.DESCR50.Visible = False;
Else
SSR_ENRL_FL_WRK.DESCR50.Visible = False;
End-If;
SSR_SWAP_FL_WRK.DESCR50.Visible = False;
&recsubcomp = CreateRecord(Record.STDNT_ENRL_SSVW);
&recsubcomp2 = CreateRecord(Record.STDNT_ENRL_SSVW);
End-If;

&rsSelectedClass.Flush();

Local Record &rec_maincomp = CreateRecord(Record.SSR_STENRL_SSV2);


Local SSR_MANAGE_CLASSES:UTIL:MeetingDetails &oMeetingpat;
Local SSR_STUDENT_RECORDS:SR_ClassData:ClassStatus &obj_EditClassStatus;
Local SSR_STUDENT_RECORDS:SR_ClassData:ClassDetail &obj_EditClassDetail;
Local boolean &retLoadDetails;

&obj_EditClassDetail = create SSR_STUDENT_RECORDS:SR_ClassData:ClassDetail();

&oMeetingpat = create SSR_MANAGE_CLASSES:UTIL:MeetingDetails();

&oMeetingpat.sInstitution = &oManageClassesGlobalVars.AGInst;
&oMeetingpat.sAcademicCareer = &oManageClassesGlobalVars.AGCar;
&oMeetingpat.sTerm = &oManageClassesGlobalVars.AGTerm;
&oMeetingpat.Instantiate("EditClasses");

&rec_maincomp.EMPLID.Value = &sStudentId;
&rec_maincomp.INSTITUTION.Value = &sInstitution;
&rec_maincomp.ACAD_CAREER.Value = &sAcademicCareer;
&rec_maincomp.STRM.Value = &sTerm;
&rec_maincomp.CLASS_NBR.Value = &nClassNbr;

If &rec_maincomp.SelectByKey() Then

SSR_SWAP_FL_WRK.SSR_SBJ_CAT_NBR.Value =
&oManageClassesGlobalVars.sEditClasses_Class_desc;
<************* Main Component start ************>
If &oManageClassesGlobalVars.bChangeclass Then

SSR_ED_CLASS_FL.SSR_STD_ENR_STAT.Value =
&oManageClassesGlobalVars.mainstatus;
SSR_ED_CLASS_FL.SSR_STATUS_LBL.Value =
&oManageClassesGlobalVars.newstatus;
SSR_ED_CLASS_FL.SSR_STD_ENR_STAT.Label = MsgGetText(14770, 1105, "Message
Not Found");
SSR_ED_CLASS_FL.SSR_STATUS_LBL.Label = MsgGetText(14770, 1106, "Message
Not Found");
&rsSelectedClass(&cClass_Count).SSR_ENRL_GBX_WK.GROUPBOX2.Label =
MsgGetText(14770, 5, "Message Not Found");
&rsSelectedClass(&cClass_Count).SSR_ENRL_GBX_WK.GROUPBOX7.Label =
MsgGetText(14770, 718, "Message Not Found");
&rsSelectedClass(&cClass_Count).SSR_ENRL_GBX_WK.GROUPBOX1.Label =
MsgGetText(14770, 579, "Message Not Found");
&rsSelectedClass(&cClass_Count).SSR_ENRL_GBX_WK.GROUPBOX3.Label =
MsgGetText(14770, 584, "Message Not Found");
&rsSelectedClass(&cClass_Count).SSR_ENRL_GBX_WK.GROUPBOX4.Label =
MsgGetText(14770, 516, "Message Not Found");
If %Request.BrowserDeviceFormFactor <> %FormFactor_Small Then
&rsSelectedClass(&cClass_Count).SSR_ENRL_GBX_WK.GROUPBOX5.Label =
MsgGetText(14770, 609, "Message Not Found");
End-If;
&rsSelectedClass2(&cClass_Count2).SSR_ENRL_GBX_WK.GROUPBOX2.Label =
MsgGetText(14770, 5, "Message Not Found");
&rsSelectedClass2(&cClass_Count2).SSR_ENRL_GBX_WK.GROUPBOX7.Label =
MsgGetText(14770, 718, "Message Not Found");

&rsSelectedClass2(&cClass_Count2).SSR_ENRL_GBX_WK.GROUPBOX1.Label =
MsgGetText(14770, 579, "Message Not Found");

&rsSelectedClass2(&cClass_Count2).SSR_ENRL_GBX_WK.GROUPBOX3.Label =
MsgGetText(14770, 584, "Message Not Found");

&rsSelectedClass2(&cClass_Count2).SSR_ENRL_GBX_WK.GROUPBOX4.Label =
MsgGetText(14770, 516, "Message Not Found");
If %Request.BrowserDeviceFormFactor <> %FormFactor_Small Then
&rsSelectedClass2(&cClass_Count2).SSR_ENRL_GBX_WK.GROUPBOX5.Label =
MsgGetText(14770, 609, "Message Not Found");
End-If;
End-If;

&recsubcomp2.EMPLID.Value = &rec_maincomp.EMPLID.Value;
&recsubcomp2.INSTITUTION.Value = &rec_maincomp.INSTITUTION.Value;
&recsubcomp2.ACAD_CAREER.Value = &rec_maincomp.ACAD_CAREER.Value;
&recsubcomp2.STRM.Value = &rec_maincomp.STRM.Value;
&recsubcomp2.CLASS_NBR.Value = &nClassNbr;
&recsubcomp2.SUBJECT.Value = &rec_maincomp.SUBJECT.Value;
&recsubcomp2.CATALOG_NBR.Value = &rec_maincomp.CATALOG_NBR.Value;
&recsubcomp2.ASSOCIATED_CLASS.Value = &rec_maincomp.ASSOCIATED_CLASS.Value;

If &recsubcomp2.SelectByKey() Then

&recTranslate.FIELDNAME.Value = "SESSION_CODE";
&recTranslate.FIELDVALUE.Value = &recsubcomp2.SESSION_CODE.Value;
If &recTranslate.SelectByKeyEffDt(%Date) Then
If &oManageClassesGlobalVars.bChangeclass Then

&rsSelectedClass2(&cClass_Count2).DERIVED_SSR_FL.SSR_CART_SESSION.Value =
&recTranslate.XLATLONGNAME.Value;
End-If;
&rsSelectedClass(&cClass_Count).DERIVED_SSR_FL.SSR_CART_SESSION.Value =
&recTranslate.XLATLONGNAME.Value;
End-If;

&recTranslate.FIELDNAME.Value = "SSR_COMPONENT";
&recTranslate.FIELDVALUE.Value = &recsubcomp2.SSR_COMPONENT.Value;
If &recTranslate.SelectByKeyEffDt(%Date) Then
If &oManageClassesGlobalVars.bChangeclass Then

&rsSelectedClass2(&cClass_Count2).DERIVED_SSR_FL.SSR_SBJ_CAT_NBR.Label =
&recTranslate.XLATLONGNAME.Value | " " | &nClassNbr;

&rsSelectedClass2(&cClass_Count2).DERIVED_SSR_FL.SSR_SBJ_CAT_NBR.Value =
&nClassNbr;

&rsSelectedClass2(&cClass_Count2).DERIVED_SSR_FL.SSR_MORE_CLASS_FL.Visible = False;
End-If;
&rsSelectedClass(&cClass_Count).DERIVED_SSR_FL.SSR_SBJ_CAT_NBR.Label =
&recTranslate.XLATLONGNAME.Value | " " | &nClassNbr;
&rsSelectedClass(&cClass_Count).DERIVED_SSR_FL.SSR_SBJ_CAT_NBR.Value =
&nClassNbr;

&rsSelectedClass(&cClass_Count).DERIVED_SSR_FL.SSR_MORE_CLASS_FL.Visible = False;
End-If;

&oMeetingpat.Instantiate("EditClasses");
If &oManageClassesGlobalVars.bChangeclass Then
&oMeetingpat.LoadMeetingSchedule(&cClass_Count2, &nClassNbr,
&rsSelectedClass2(&cClass_Count2));
End-If;
&oMeetingpat.LoadMeetingSchedule(&cClass_Count, &nClassNbr,
&rsSelectedClass(&cClass_Count));
&obj_EditClassStatus = create
SSR_STUDENT_RECORDS:SR_ClassData:ClassStatus(&oManageClassesGlobalVars.AGInst,
&oManageClassesGlobalVars.AGTerm, &recsubcomp2.SESSION_CODE.Value, &nClassNbr);
&retLoadDetails =
&obj_EditClassDetail.LoadClassDetail(&recsubcomp2.CRSE_ID.Value,
&recsubcomp2.CRSE_OFFER_NBR.Value, &recsubcomp2.STRM.Value,
&recsubcomp2.SESSION_CODE.Value, &recsubcomp2.CLASS_SECTION.Value);

Evaluate &obj_EditClassStatus.Class_Stat
When "O"
If &oManageClassesGlobalVars.bChangeclass Then
&rsSelectedClass2(&cClass_Count2).SSR_ENRL_FL_WRK.ENRL_STATUS.Value
= MsgGetText(14770, 607, "Message not found");
&rsSelectedClass2(&cClass_Count2).DERIVED_SSR_FL.SSR_DESCR50.Value =
MsgGetText(14770, 607, "Message not found") | " " | MsgGetText(14770, 527, "Message
not found.", &obj_EditClassDetail.EnrlCap - &obj_EditClassDetail.EnrlTot,
&obj_EditClassDetail.EnrlCap);
End-If;

&rsSelectedClass(&cClass_Count).SSR_ENRL_FL_WRK.ENRL_STATUS.Value =
MsgGetText(14770, 607, "Message not found");
&rsSelectedClass(&cClass_Count).DERIVED_SSR_FL.SSR_DESCR50.Value =
MsgGetText(14770, 607, "Message not found") | " " | MsgGetText(14770, 527, "Message
not found.", &obj_EditClassDetail.EnrlCap - &obj_EditClassDetail.EnrlTot,
&obj_EditClassDetail.EnrlCap);

When "W"
If &oManageClassesGlobalVars.bChangeclass Then
&rsSelectedClass2(&cClass_Count2).SSR_ENRL_FL_WRK.ENRL_STATUS.Value
= MsgGetText(14770, 608, "Message not found");
&rsSelectedClass2(&cClass_Count2).DERIVED_SSR_FL.SSR_DESCR50.Value =
MsgGetText(14770, 608, "Message not found") | " " | MsgGetText(14770, 527, "Message
not found.", &obj_EditClassDetail.WaitCap - &obj_EditClassDetail.WaitTot,
&obj_EditClassDetail.WaitCap);
End-If;

&rsSelectedClass(&cClass_Count).SSR_ENRL_FL_WRK.ENRL_STATUS.Value =
MsgGetText(14770, 608, "Message not found");
&rsSelectedClass(&cClass_Count).DERIVED_SSR_FL.SSR_DESCR50.Value =
MsgGetText(14770, 608, "Message not found") | " " | MsgGetText(14770, 527, "Message
not found.", &obj_EditClassDetail.WaitCap - &obj_EditClassDetail.WaitTot,
&obj_EditClassDetail.WaitCap);

When "C"
If &oManageClassesGlobalVars.bChangeclass Then
&rsSelectedClass2(&cClass_Count2).SSR_ENRL_FL_WRK.ENRL_STATUS.Value
= "--";
&rsSelectedClass2(&cClass_Count2).DERIVED_SSR_FL.SSR_DESCR50.Value =
MsgGetText(14770, 573, "Message not found");
End-If;
&rsSelectedClass(&cClass_Count).SSR_ENRL_FL_WRK.ENRL_STATUS.Value =
"--";
&rsSelectedClass(&cClass_Count).DERIVED_SSR_FL.SSR_DESCR50.Value =
MsgGetText(14770, 573, "Message not found");
End-Evaluate;

End-If;

&cClass_Count = &cClass_Count + 1;
&cClass_Count2 = &cClass_Count2 + 1;

<************* Main Component end ************>

<************* Sub Component start ************>

For &cArr_Count = 1 To 4

If &oManageClassesGlobalVars.bChangeclass Then
&recsubcomp2.EMPLID.Value = &rec_maincomp.EMPLID.Value;
&recsubcomp2.INSTITUTION.Value = &rec_maincomp.INSTITUTION.Value;
&recsubcomp2.ACAD_CAREER.Value = &rec_maincomp.ACAD_CAREER.Value;
&recsubcomp2.STRM.Value = &rec_maincomp.STRM.Value;
&recsubcomp2.CLASS_NBR.Value =
&oManageClassesGlobalVars.tEditClasses_Class_nbr [&cArr_Count];
&recsubcomp2.SUBJECT.Value = &rec_maincomp.SUBJECT.Value;
&recsubcomp2.CATALOG_NBR.Value = &rec_maincomp.CATALOG_NBR.Value;
&recsubcomp2.ASSOCIATED_CLASS.Value =
&rec_maincomp.ASSOCIATED_CLASS.Value;

If &oManageClassesGlobalVars.tEditClasses_Class_nbr [&cArr_Count] > 0


Then

If &cClass_Count2 > 1 Then


&rsSelectedClass2.InsertRow(&cClass_Count2 - 1);

End-If;

GetGrid(Page.SSR_EDIT_SUBMIT_FL,
"SSR_DUMMY_RECV1").GetColumn("SESSION_DT2").Visible = False;

If &recsubcomp2.SelectByKey() Then

&recTranslate.FIELDNAME.Value = "SESSION_CODE";
&recTranslate.FIELDVALUE.Value = &recsubcomp2.SESSION_CODE.Value;
If &recTranslate.SelectByKeyEffDt(%Date) Then

&rsSelectedClass2(&cClass_Count2).DERIVED_SSR_FL.SSR_CART_SESSION.Value =
&recTranslate.XLATLONGNAME.Value;

End-If;

&rsSelectedClass2(&cClass_Count2).DERIVED_SSR_FL.SSR_MORE_CLASS_FL.Visible = False;
&recTranslate.FIELDNAME.Value = "SSR_COMPONENT";
&recTranslate.FIELDVALUE.Value =
&recsubcomp2.SSR_COMPONENT.Value;
If &recTranslate.SelectByKeyEffDt(%Date) Then

&rsSelectedClass2(&cClass_Count2).DERIVED_SSR_FL.SSR_SBJ_CAT_NBR.Label =
&recTranslate.XLATLONGNAME.Value | " " |
&oManageClassesGlobalVars.tEditClasses_Class_nbr [&cArr_Count];

&rsSelectedClass2(&cClass_Count2).DERIVED_SSR_FL.SSR_SBJ_CAT_NBR.Value =
&oManageClassesGlobalVars.tEditClasses_Class_nbr [&cArr_Count];
End-If;

&oMeetingpat.Instantiate("EditClasses");
&oMeetingpat.LoadMeetingSchedule(&cClass_Count2,
&oManageClassesGlobalVars.tEditClasses_Class_nbr [&cArr_Count],
&rsSelectedClass2(&cClass_Count2));

&obj_EditClassStatus = create
SSR_STUDENT_RECORDS:SR_ClassData:ClassStatus(&oManageClassesGlobalVars.AGInst,
&oManageClassesGlobalVars.AGTerm, &recsubcomp2.SESSION_CODE.Value,
&oManageClassesGlobalVars.tEditClasses_Class_nbr [&cArr_Count]);
&retLoadDetails =
&obj_EditClassDetail.LoadClassDetail(&recsubcomp2.CRSE_ID.Value,
&recsubcomp2.CRSE_OFFER_NBR.Value, &recsubcomp2.STRM.Value,
&recsubcomp2.SESSION_CODE.Value, &recsubcomp2.CLASS_SECTION.Value);

Evaluate &obj_EditClassStatus.Class_Stat
When "O"

&rsSelectedClass2(&cClass_Count2).SSR_ENRL_FL_WRK.ENRL_STATUS.Value =
MsgGetText(14770, 607, "Message not found");

&rsSelectedClass2(&cClass_Count2).DERIVED_SSR_FL.SSR_DESCR50.Value =
MsgGetText(14770, 607, "Message not found") | " " | MsgGetText(14770, 527, "Message
not found.", &obj_EditClassDetail.EnrlCap - &obj_EditClassDetail.EnrlTot,
&obj_EditClassDetail.EnrlCap);

When "W"

&rsSelectedClass2(&cClass_Count2).SSR_ENRL_FL_WRK.ENRL_STATUS.Value =
MsgGetText(14770, 608, "Message not found");

&rsSelectedClass2(&cClass_Count2).DERIVED_SSR_FL.SSR_DESCR50.Value =
MsgGetText(14770, 608, "Message not found") | " " | MsgGetText(14770, 527, "Message
not found.", &obj_EditClassDetail.WaitCap - &obj_EditClassDetail.WaitTot,
&obj_EditClassDetail.WaitCap);

When "C"

&rsSelectedClass2(&cClass_Count2).SSR_ENRL_FL_WRK.ENRL_STATUS.Value = "--";

&rsSelectedClass2(&cClass_Count2).DERIVED_SSR_FL.SSR_DESCR50.Value =
MsgGetText(14770, 573, "Message not found");
End-Evaluate;

End-If;
&cClass_Count2 = &cClass_Count2 + 1;
End-If;

End-If;

End-For;

<************* sub Component end ************>

For &cArr_Count = 1 To 4
If &oManageClassesGlobalVars.aEditClasses_Class_nbr [&cArr_Count] > 0 Then

If &oManageClassesGlobalVars.bChangeclass Then

&recsubsect.INSTITUTION.Value = &rec_maincomp.INSTITUTION.Value;
&recsubsect.STRM.Value = &rec_maincomp.STRM.Value;
&recsubsect.SESSION_CODE.Value = &rec_maincomp.SESSION_CODE.Value;
&recsubsect.CLASS_NBR.Value =
&oManageClassesGlobalVars.aEditClasses_Class_nbr [&cArr_Count];
If &recsubsect.SelectByKey() Then

&recsubcomp.CRSE_ID.Value = &rec_maincomp.CRSE_ID.Value;
&recsubcomp.CRSE_OFFER_NBR.Value =
&rec_maincomp.CRSE_OFFER_NBR.Value;
&recsubcomp.STRM.Value = &rec_maincomp.STRM.Value;
&recsubcomp.SESSION_CODE.Value =
&rec_maincomp.SESSION_CODE.Value;
&recsubcomp.CLASS_SECTION.Value =
&recsubsect.CLASS_SECTION.Value;
End-If;

Else
&recsubcomp.EMPLID.Value = &rec_maincomp.EMPLID.Value;
&recsubcomp.INSTITUTION.Value = &rec_maincomp.INSTITUTION.Value;
&recsubcomp.ACAD_CAREER.Value = &rec_maincomp.ACAD_CAREER.Value;
&recsubcomp.STRM.Value = &rec_maincomp.STRM.Value;
&recsubcomp.CLASS_NBR.Value =
&oManageClassesGlobalVars.aEditClasses_Class_nbr [&cArr_Count];
&recsubcomp.SUBJECT.Value = &rec_maincomp.SUBJECT.Value;
&recsubcomp.CATALOG_NBR.Value = &rec_maincomp.CATALOG_NBR.Value;
&recsubcomp.ASSOCIATED_CLASS.Value =
&rec_maincomp.ASSOCIATED_CLASS.Value;
End-If;

If &cClass_Count > 1 Then


&rsSelectedClass.InsertRow(&cClass_Count - 1);
End-If;

If &recsubcomp.SelectByKey() Then

&rsSelectedClass(&cClass_Count).SSR_ENRL_GBX_WK.GROUPBOX7.Label =
MsgGetText(14770, 718, "Message Not Found");
&rsSelectedClass(&cClass_Count).SSR_ENRL_GBX_WK.GROUPBOX1.Label =
MsgGetText(14770, 579, "Message Not Found");
&rsSelectedClass(&cClass_Count).SSR_ENRL_GBX_WK.GROUPBOX3.Label =
MsgGetText(14770, 716, "Message Not Found");
&rsSelectedClass(&cClass_Count).SSR_ENRL_GBX_WK.GROUPBOX4.Label =
MsgGetText(14770, 516, "Message Not Found");
GetGrid(Page.SSR_EDIT_SUBMIT_FL,
"SSR_DUMMY_REC").GetColumn("SESSION_DT").Visible = False;

&recTranslate.FIELDNAME.Value = "SESSION_CODE";
&recTranslate.FIELDVALUE.Value = &recsubcomp.SESSION_CODE.Value;
If &recTranslate.SelectByKeyEffDt(%Date) Then

&rsSelectedClass(&cClass_Count).DERIVED_SSR_FL.SSR_CART_SESSION.Value =
&recTranslate.XLATLONGNAME.Value;
End-If;

&recTranslate.FIELDNAME.Value = "SSR_COMPONENT";
&recTranslate.FIELDVALUE.Value = &recsubcomp.SSR_COMPONENT.Value;
If &recTranslate.SelectByKeyEffDt(%Date) Then

&rsSelectedClass(&cClass_Count).DERIVED_SSR_FL.SSR_SBJ_CAT_NBR.Label =
&recTranslate.XLATLONGNAME.Value | " " |
&oManageClassesGlobalVars.aEditClasses_Class_nbr [&cArr_Count];

&rsSelectedClass(&cClass_Count).DERIVED_SSR_FL.SSR_SBJ_CAT_NBR.Value =
&oManageClassesGlobalVars.aEditClasses_Class_nbr [&cArr_Count];
End-If;

&rsSelectedClass(&cClass_Count).DERIVED_SSR_FL.SSR_MORE_CLASS_FL.Visible = False;
&oMeetingpat.Instantiate("EditClasses");
&oMeetingpat.LoadMeetingSchedule(&cClass_Count,
&oManageClassesGlobalVars.aEditClasses_Class_nbr [&cArr_Count],
&rsSelectedClass(&cClass_Count));

&obj_EditClassStatus = create
SSR_STUDENT_RECORDS:SR_ClassData:ClassStatus(&oManageClassesGlobalVars.AGInst,
&oManageClassesGlobalVars.AGTerm, &recsubcomp.SESSION_CODE.Value,
&oManageClassesGlobalVars.aEditClasses_Class_nbr [&cArr_Count]);
&retLoadDetails =
&obj_EditClassDetail.LoadClassDetail(&recsubcomp.CRSE_ID.Value,
&recsubcomp.CRSE_OFFER_NBR.Value, &recsubcomp.STRM.Value,
&recsubcomp.SESSION_CODE.Value, &recsubcomp.CLASS_SECTION.Value);
Evaluate &obj_EditClassStatus.Class_Stat
When "O"
&rsSelectedClass(&cClass_Count).SSR_ENRL_FL_WRK.ENRL_STATUS.Value
= MsgGetText(14770, 607, "Message not found");
&rsSelectedClass(&cClass_Count).DERIVED_SSR_FL.SSR_DESCR50.Value
= MsgGetText(14770, 607, "Message not found") | " " | MsgGetText(14770, 527,
"Message not found.", &obj_EditClassDetail.EnrlCap - &obj_EditClassDetail.EnrlTot,
&obj_EditClassDetail.EnrlCap);

When "W"
&rsSelectedClass(&cClass_Count).SSR_ENRL_FL_WRK.ENRL_STATUS.Value
= MsgGetText(14770, 608, "Message not found");
&rsSelectedClass(&cClass_Count).DERIVED_SSR_FL.SSR_DESCR50.Value
= MsgGetText(14770, 608, "Message not found") | " " | MsgGetText(14770, 527,
"Message not found.", &obj_EditClassDetail.WaitCap - &obj_EditClassDetail.WaitTot,
&obj_EditClassDetail.WaitCap);

When "C"
&rsSelectedClass(&cClass_Count).SSR_ENRL_FL_WRK.ENRL_STATUS.Value
= "--";
&rsSelectedClass(&cClass_Count).DERIVED_SSR_FL.SSR_DESCR50.Value
= MsgGetText(14770, 573, "Message not found");
End-Evaluate;

End-If;
&cClass_Count = &cClass_Count + 1;
End-If;
End-For;

End-If;

If &oManageClassesGlobalVars.bChangeclass Then
If &rsSelectedClass2.ActiveRowCount > 1 Then
SSR_ENRL_FL_WRK.DESCR50.Value = MsgGetText(14770, 899, "Message not
found");
Else
SSR_ENRL_FL_WRK.DESCR50.Value = MsgGetText(14770, 901, "Message not
found");
End-If;
SSR_SWAP_FL_WRK.DESCR50.Visible = True;

If &rsSelectedClass.ActiveRowCount > 1 Then


SSR_SWAP_FL_WRK.DESCR50.Value = MsgGetText(14770, 902, "Message not
found");
Else
SSR_SWAP_FL_WRK.DESCR50.Value = MsgGetText(14770, 903, "Message not
found");
End-If;
End-If;

end-method;

method SSR_ED_CLASS_FL_SSR_CLASSNAME_LONG__FieldChange
/+ &classnbr as Integer +/
If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then
&oClassInformation.DefaultTab = "MD"; /* Default to Meeting Details tab */
Else
&oClassInformation.DefaultTab = "CD"; /* Default to Class Details tab */
End-If;

Local Record &recclasstblvw = CreateRecord(Record.CLASS_TBL_VW);


Local Record &recstdntEnrl = CreateRecord(Record.STDNT_ENRL);

&oClassInformation.recEmplId = &oManageClassesGlobalVars.AGEmplId;
&oClassInformation.recInst = &oManageClassesGlobalVars.AGInst;
&oClassInformation.recCar = &oManageClassesGlobalVars.AGCar;
&oClassInformation.recTerm = &oManageClassesGlobalVars.AGTerm;
&oClassInformation.recTermBeginDt = &oManageClassesGlobalVars.AGTermBeginDt;

&recclasstblvw.INSTITUTION.Value = &oManageClassesGlobalVars.AGInst;
&recclasstblvw.STRM.Value = &oManageClassesGlobalVars.AGTerm;

&recclasstblvw.CLASS_NBR.Value = &classnbr;

If &recclasstblvw.SelectByKey() Then

&oClassInformation.subject = &recclasstblvw.SUBJECT.Value;
&oClassInformation.catalog_nbr = &recclasstblvw.CATALOG_NBR.Value;
&oClassInformation.associated_class = &recclasstblvw.ASSOCIATED_CLASS.Value;
&oClassInformation.sCourseTitle = &recclasstblvw.DESCR.Value;

&oClassInformation.crse_id = &recclasstblvw.CRSE_ID.Value;
&oClassInformation.crse_offer_nbr = &recclasstblvw.CRSE_OFFER_NBR.Value;
&oClassInformation.session_code = &recclasstblvw.SESSION_CODE.Value;
&oClassInformation.class_section = &recclasstblvw.CLASS_SECTION.Value;

&oClassInformation.class_nbr = &recclasstblvw.CLASS_NBR.Value;
&oClassInformation.ssr_component = &recclasstblvw.SSR_COMPONENT.Value;

&recstdntEnrl.EMPLID.Value = &oManageClassesGlobalVars.AGEmplId;
&recstdntEnrl.INSTITUTION.Value = &oManageClassesGlobalVars.AGInst;
&recstdntEnrl.ACAD_CAREER.Value = &oManageClassesGlobalVars.AGCar;
&recstdntEnrl.STRM.Value = &oManageClassesGlobalVars.AGTerm;
&recstdntEnrl.CLASS_NBR.Value = &classnbr;

If &recstdntEnrl.SelectByKey() Then
&oClassInformation.sgrading_basis =
&recstdntEnrl.GRADING_BASIS_ENRL.LongTranslateValue;
&oClassInformation.sunt_taken = NumberToString("%6.2",
&recstdntEnrl.UNT_TAKEN.Value);
End-If;
End-If;

&oClassInformation.Instantiate();
end-method;

method SSR_CLASSDTL_SCF_Activate
&oClassInformation.SSR_CLASSDTL_SCF_Activate();
end-method;

method SSR_DER1_MTG_FL_SSR_MTGINFO_DATA__FieldChange
&oClassInformation.SSR_DER1_MTG_FL__SSR_MTGINFO_DATA_FieldChange();
end-method;

method SSR_INSTDTL_LF_SCF_Activate

&oClassInformation.SSR_INSTDTL_LF_SCF_Activate();
end-method;

method SSR_INSTRDTL_SCF_Activate
&oClassInformation.SSR_INSTRDTL_SCF_Activate();
end-method;

method DERIVED_SSR_FL_SSR_CL_DTLS_LFF__FieldChange
&oClassInformation.DERIVED_SSR_FL__SSR_CL_DTLS_LFF_FieldChange();
end-method;

method DERIVED_SSR_FL_SSR_INSTR_NME_FL__FieldChange
&oClassInformation.DERIVED_SSR_FL__SSR_INSTR_NME_FL_FieldChange();
end-method;

method DERIVED_SSR_FL_SSR_INSTR_FL__FieldChange
&oClassInformation.DERIVED_SSR_FL__SSR_INSTR_FL_FieldChange();
end-method;

method DERIVED_SSR_FL_SSR_MORE_CLASS_FL__FieldChange
If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then
REM &classdtlcheck = "MD"; /* Default to Meeting Details tab */
&oClassInformation.DefaultTab = "MD";
Else
REM &classdtlcheck = "MI"; /* Default to Meeting Information tab */
&oClassInformation.DefaultTab = "MI";
End-If;

Local Record &recclasstblvw = CreateRecord(Record.CLASS_TBL_VW);


&oClassInformation.recEmplId = &oManageClassesGlobalVars.AGEmplId;
&oClassInformation.recInst = &oManageClassesGlobalVars.AGInst;
&oClassInformation.recCar = &oManageClassesGlobalVars.AGCar;
&oClassInformation.recTerm = &oManageClassesGlobalVars.AGTerm;
&oClassInformation.recTermBeginDt = &oManageClassesGlobalVars.AGTermBeginDt;

&recclasstblvw.INSTITUTION.Value = &oManageClassesGlobalVars.AGInst;
&recclasstblvw.STRM.Value = &oManageClassesGlobalVars.AGTerm;

If &recclasstblvw.SelectByKey() Then
&oClassInformation.subject = &recclasstblvw.SUBJECT.Value;
&oClassInformation.catalog_nbr = &recclasstblvw.CATALOG_NBR.Value;
&oClassInformation.associated_class = &recclasstblvw.ASSOCIATED_CLASS.Value;
&oClassInformation.sCourseTitle = &recclasstblvw.DESCR.Value;

&oClassInformation.crse_id = &recclasstblvw.CRSE_ID.Value;
&oClassInformation.crse_offer_nbr = &recclasstblvw.CRSE_OFFER_NBR.Value;
&oClassInformation.session_code = &recclasstblvw.SESSION_CODE.Value;
&oClassInformation.class_section = &recclasstblvw.CLASS_SECTION.Value;

&oClassInformation.class_nbr = &recclasstblvw.CLASS_NBR.Value;
&oClassInformation.ssr_component = &recclasstblvw.SSR_COMPONENT.Value;

If &recclasstblvw.CLASS_TYPE.Value = "E" Then


&oClassInformation.sgrading_basis = SSR_DER_CS_GRP.GRADING_BASIS;
&oClassInformation.sunt_taken = NumberToString("%6.2",
SSR_DER_CS_GRP.UNITS_MINIMUM.Value);
Else
&oClassInformation.sgrading_basis = "NON";
&oClassInformation.sunt_taken = "0.00";
End-If;
End-If;

&oClassInformation.Instantiate();

end-method;

method DERIVED_SSR_FL__SSR_CL_DTLS_OPT_FieldChange

&oClassInformation.DERIVED_SSR_FL__SSR_CL_DTLS_OPT_FieldChange();

end-method;

method SSR_CLSDTL_LF_SCF__Activate

&oClassInformation.SSR_CLSDTL_LF_SCF_Activate();
end-method;

[SSR_MANAGE_CLASSES.COMPONENTS.ActivityGuide_ActionItems.SSR_ENRL_ACAR_FL.OnExecute
]
import SCC_FLUID:MODEL:AGComponent;
import SCC_FLUID:MODEL:Component;
import SCC_FLUID:MODEL:Panel;
import SSR_MANAGE_CLASSES:UTIL:GlobalVariables;

class SSR_ENRL_ACAR_FL extends SCC_FLUID:MODEL:Component


method SSR_ENRL_ACAR_FL();
method SavePreChange();
method SSR_ENRL_ACAR_FL_Activate();
method DERIVED_SSR_FL__SSR_SELECT_FieldChange();

protected
property SCC_FLUID:MODEL:Panel Panel;

private
instance Rowset &rs_AcadCareers;

end-class;

Global SSR_MANAGE_CLASSES:UTIL:GlobalVariables &oManageClassesGlobalVars;

method SSR_ENRL_ACAR_FL

%Super = create SCC_FLUID:MODEL:Component();

end-method;

method SSR_ENRL_ACAR_FL_Activate

&Panel = %This.CreatePanel();
%This.Render();

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then


SCC_LO_FL_WRK.SCC_GROUP_BOX_7.Visible = False; /* apps header */
Page.SSR_ENRL_FOOTR_FFL.Visible = True;
SSR_ENRL_FL_WRK.SUBMIT_PB.Visible = False; /* Submit Class Enrollment */
INSTITUTION_TBL.DESCRFORMAL.Label = MsgGetText(14770, 802, "Message not
found.");
Else
SCC_LO_FL_WRK.SCC_GROUP_BOX_7.Visible = True;
Page.SSR_ENRL_FOOTR_FFL.Visible = False;
DERIVED_SSR_FL.ACAD_CAREER.Visible = False;
DERIVED_SSR_FL.SSR_CHANGE_BTN_GBX.Visible = False;
End-If;

AddStyleSheet(StyleSheet.SSR_CLASS_ENROLLMENT_FL);

Local string &sTerm, &sInstitution, &sCourseCareer, &selected_sAcadCareer;

&sTerm = &oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.STRM.Value;
&sInstitution =
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.INSTITUTION.Value;
&sCourseCareer =
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.CRSE_CAREER.Value;
&selected_sAcadCareer =
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.ACAD_CAREER.Value;

/* Keys - Header */
DERIVED_SSR_FL.STRM.Value = &sTerm;
DERIVED_SSR_FL.INSTITUTION.Value = &sInstitution;
DERIVED_SSR_FL.ACAD_CAREER.Value = &sCourseCareer;

Local integer &i, &j;


Local Rowset &rs_Temp;

&rs_AcadCareers = GetLevel0()(1).GetRowset(Scroll.SSR_DUMMY_RECV1);
&rs_AcadCareers.Flush();

&rs_Temp = CreateRowset(Record.DERIVED_SSR_FL);
&rs_Temp.Flush();

For &i = 1 To &oManageClassesGlobalVars.arr_AcademicCareers.Len


&rs_Temp.InsertRow(&i);
&rs_Temp(&i + 1).DERIVED_SSR_FL.ACAD_CAREER.Value =
&oManageClassesGlobalVars.arr_AcademicCareers [&i];
End-For;

&rs_Temp.DeleteRow(1); /* Delete empty row */


&rs_Temp.Sort(DERIVED_SSR_FL.ACAD_CAREER, "A");

/* Sort out duplicate careers */


Local Record &rec_AcadCareers, &rec_Temp;
Local string &acad_career, &prev_career;
Local integer &k = &rs_AcadCareers.ActiveRowCount;

&acad_career = "";
&prev_career = "";

For &j = 1 To &rs_Temp.ActiveRowCount

&acad_career = &rs_Temp(&j).DERIVED_SSR_FL.ACAD_CAREER.Value;
If &acad_career <> &prev_career Then

&rec_Temp = &rs_Temp(&j).GetRecord(Record.DERIVED_SSR_FL);

&rs_AcadCareers.InsertRow(&k);
&rec_AcadCareers = &rs_AcadCareers(&k +
1).GetRecord(Record.DERIVED_SSR_FL);

&rec_Temp.CopyFieldsTo(&rec_AcadCareers);

&k = &k + 1;

End-If;

&prev_career = &acad_career;

End-For;

&rs_AcadCareers.DeleteRow(1); /* Delete empty row */

Local integer &l;

If All(&selected_sAcadCareer) Then
For &l = 1 To &rs_AcadCareers.ActiveRowCount
If &rs_AcadCareers(&l).DERIVED_SSR_FL.ACAD_CAREER.Value =
&selected_sAcadCareer Then
&rs_AcadCareers(&l).Selected = True;
Break;
End-If;
End-For;
Else
/* Default Academic Career to first row when coming from Course Information
*/
&rs_AcadCareers(1).Selected = True;
End-If;

end-method;

method SavePreChange

Local integer &i;

For &i = 1 To &rs_AcadCareers.ActiveRowCount

If &rs_AcadCareers(&i).Selected = True Then


&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.ACAD_CAREER.Value
= &rs_AcadCareers(&i).DERIVED_SSR_FL.ACAD_CAREER.Value;
Break;
End-If;

End-For;

end-method;

method DERIVED_SSR_FL__SSR_SELECT_FieldChange
/* Triggers Activity Guide's Action Item Post Process */
SetComponentChanged();
DoSaveNow();

Local SCC_FLUID:MODEL:AGComponent &oAGComponent = create


SCC_FLUID:MODEL:AGComponent();

&oAGComponent.ProceedToNextStep();
end-method;

[SSR_MANAGE_CLASSES.COMPONENTS.ActivityGuide_ActionItems.SSR_ENRL_CART_FL.OnExecute
]
import SCC_FLUID:MODEL:Component;
import SCC_FLUID:MODEL:Panel;
import SSR_MANAGE_CLASSES:UTIL:Formatter;
import SSR_MANAGE_CLASSES:UTIL:GlobalVariables;

class SSR_ENRL_CART_FL extends SCC_FLUID:MODEL:Component


method SSR_ENRL_CART_FL();
method SSR_ENRL_CART_FL_Activate();
method SSR_ENRL_FL_WRK_SSR_ENRL_OPTN_FieldChange();

protected
property SCC_FLUID:MODEL:Panel Panel;

end-class;

Global SSR_MANAGE_CLASSES:UTIL:GlobalVariables &oManageClassesGlobalVars;

method SSR_ENRL_CART_FL

%Super = create SCC_FLUID:MODEL:Component();

end-method;

method SSR_ENRL_CART_FL_Activate

&Panel = %This.CreatePanel();
%This.Render();

DERIVED_SSR_FL.STRM.Value =
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.STRM.Value;
DERIVED_SSR_FL.ACAD_CAREER.Value =
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.ACAD_CAREER.Value;
DERIVED_SSR_FL.INSTITUTION.Value =
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.INSTITUTION.Value;

DERIVED_SSR_FL.SSR_CHANGE_BTN_GBX.Visible = False;

If %Request.BrowserDeviceFormFactor <> %FormFactor_Small Then


SCC_LO_FL_WRK.SCC_GROUP_BOX_7.Visible = True;
Else
SCC_LO_FL_WRK.SCC_GROUP_BOX_7.Visible = False;
End-If;
/* Set Default */
If
None(&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.SSR_ENRL_OPTN.Value)
Then
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.SSR_ENRL_OPTN.Value =
"ENRL";
End-If;

SSR_ENRL_FL_WRK.SSR_ENRL_OPTN.Value =
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.SSR_ENRL_OPTN.Value;

end-method;

method SSR_ENRL_FL_WRK_SSR_ENRL_OPTN_FieldChange

&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.SSR_ENRL_OPTN.Value =
SSR_ENRL_FL_WRK.SSR_ENRL_OPTN.Value;

end-method;

[SSR_MANAGE_CLASSES.COMPONENTS.ActivityGuide_ActionItems.SSR_ENRL_PREF_FL.OnExecute
]
import SCC_FLUID:MODEL:Component;
import SCC_FLUID:MODEL:Panel;
import SCC_FLUID:MODEL:AGComponent;
import SSR_MANAGE_CLASSES:UTIL:ClassPreferences;
import SSR_MANAGE_CLASSES:UTIL:GlobalVariables;

class SSR_ENRL_PREF_FL extends SCC_FLUID:MODEL:Component


method SSR_ENRL_PREF_FL();
method SSR_ENRL_PREF_FL_Activate();

/* Load Information Page */


method SSR_ENRL_FL_WRK_SSR_WAIT_LIST_INFO_FieldChange();
method SSR_ENRL_FL_WRK_SSR_PERM_NBR_INFO_FieldChange();

method SSR_ENRL_INFO_SCF_Activate();
method SSR_INFO_ICON_SCF_Activate();

/* Accept Class Preferences */


method DERIVED_SSR_FL_SSR_SELECT_FieldChange();

/* Load Class Preferences to Global Variables */


method DERIVED_CLS_DTL_WAIT_LIST_OKAY_FieldEdit();
method DERIVED_CLS_DTL_CLASS_PRMSN_NBR_FieldEdit();
method DERIVED_CLS_DTL_SSR_GRADE_BASIS_SS_FieldEdit();
method DERIVED_CLS_DTL_SSR_UNT_TAKEN_CHAR_FieldEdit();
method DERIVED_CLS_DTL_INSTRUCTOR_ID_FieldEdit();
method DERIVED_CLS_DTL_ACAD_PROG_FieldEdit();
method DERIVED_CLS_DTL_RQMNT_DESIGNTN_OPT_FieldEdit();
method DERIVED_CLS_DTL_START_DT_FieldEdit();

protected
property SCC_FLUID:MODEL:Panel Panel;

private
instance string &sInformationMessage;
instance string &sWaitListOkayLabel;
end-class;

Global SSR_MANAGE_CLASSES:UTIL:GlobalVariables &oManageClassesGlobalVars;

method SSR_ENRL_PREF_FL

%Super = create SCC_FLUID:MODEL:Component();

end-method;

method SSR_ENRL_PREF_FL_Activate

&Panel = %This.CreatePanel();
%This.Render();

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then


Page.SSR_ENRL_FOOTR_FFL.Visible = True;
SSR_ENRL_FL_WRK.SUBMIT_PB.Visible = False; /* Submit Class Enrollment */
Else
Page.SSR_ENRL_FOOTR_FFL.Visible = False;
End-If;

Local SSR_MANAGE_CLASSES:UTIL:ClassPreferences &oClassPreferences = create


SSR_MANAGE_CLASSES:UTIL:ClassPreferences();

AddStyleSheet(StyleSheet.SSR_CLASS_ENROLLMENT_FL);

&oManageClassesGlobalVars.bIsClassPreferencesAvailable = True;

DERIVED_SSR_FL.STRM.Value =
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.STRM.Value;
DERIVED_SSR_FL.ACAD_CAREER.Value =
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.ACAD_CAREER.Value;
DERIVED_SSR_FL.INSTITUTION.Value =
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.INSTITUTION.Value;

DERIVED_SSR_FL.SSR_CHANGE_BTN_GBX.Visible = False;

If %Request.BrowserDeviceFormFactor <> %FormFactor_Small Then


SCC_LO_FL_WRK.SCC_GROUP_BOX_7.Visible = True;
Else
SCC_LO_FL_WRK.SCC_GROUP_BOX_7.Visible = False;
End-If;

Local Record &recClsPrefWk;

If
None(&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.WAIT_LIST_OKAY.Value)
Then
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.WAIT_LIST_OKAY.Value
= "N";
End-If;

&recClsPrefWk =
&oClassPreferences.LoadClassPreferences(&oManageClassesGlobalVars.rec_ClassEnrollme
ntDetailsAET);

&recClsPrefWk.CopyFieldsTo(&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET)
;

Local Record &rec_RDT = CreateRecord(Record.RQMNT_DESIG_TBL);


&rec_RDT.RQMNT_DESIGNTN.Value =
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.RQMNT_DESIGNTN.Value;

If &rec_RDT.SelectByKeyEffDt(%Date) Then

&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.SSR_DESC_RQMT_DSGN.Value =
&rec_RDT.DESCRFORMAL.Value;
End-If;

&oManageClassesGlobalVars.bDisplay_WaitList =
&recClsPrefWk.WAIT_LIST_OKAY.Visible;
&oManageClassesGlobalVars.bDisplay_PermissionNumber =
&recClsPrefWk.CLASS_PRMSN_NBR.Visible;
&oManageClassesGlobalVars.bDisplay_GradingBasis =
&recClsPrefWk.SSR_GRADE_BASIS_SS.Visible;
&oManageClassesGlobalVars.bDisplay_Units =
&recClsPrefWk.SSR_UNT_TAKEN_CHAR.Visible;
&oManageClassesGlobalVars.bDisplay_Instructor =
&recClsPrefWk.INSTRUCTOR_ID.Visible;
&oManageClassesGlobalVars.bDisplay_Program = &recClsPrefWk.ACAD_PROG.Visible;
&oManageClassesGlobalVars.bDisplay_RequirementDesignation =
&recClsPrefWk.RQMNT_DESIGNTN.Visible;

end-method;

method SSR_ENRL_INFO_SCF_Activate
SSR_ENRL_FL_WRK.DESCRLONG = &sInformationMessage;
end-method;

method DERIVED_CLS_DTL_CLASS_PRMSN_NBR_FieldEdit
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.CLASS_PRMSN_NBR.Value =
DERIVED_CLS_DTL.CLASS_PRMSN_NBR.Value;
end-method;

method DERIVED_CLS_DTL_WAIT_LIST_OKAY_FieldEdit
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.WAIT_LIST_OKAY.Value =
DERIVED_CLS_DTL.WAIT_LIST_OKAY.Value;
end-method;

method DERIVED_CLS_DTL_SSR_GRADE_BASIS_SS_FieldEdit
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.SSR_GRADE_BASIS_SS.Value
= DERIVED_CLS_DTL.SSR_GRADE_BASIS_SS.Value;
end-method;

method DERIVED_CLS_DTL_SSR_UNT_TAKEN_CHAR_FieldEdit
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.SSR_UNT_TAKEN_CHAR.Value
= Value(DERIVED_CLS_DTL.SSR_UNT_TAKEN_CHAR.Value);
end-method;

method DERIVED_CLS_DTL_INSTRUCTOR_ID_FieldEdit
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.INSTRUCTOR_ID.Value =
DERIVED_CLS_DTL.INSTRUCTOR_ID.Value
end-method;

method DERIVED_CLS_DTL_ACAD_PROG_FieldEdit
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.ACAD_PROG.Value =
DERIVED_CLS_DTL.ACAD_PROG.Value
end-method;

method DERIVED_CLS_DTL_RQMNT_DESIGNTN_OPT_FieldEdit
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.RQMNT_DESIGNTN_OPT.Value
= DERIVED_CLS_DTL.RQMNT_DESIGNTN_OPT.Value
end-method;

method DERIVED_CLS_DTL_START_DT_FieldEdit
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.START_DT.Value =
DERIVED_CLS_DTL.START_DT.Value;
end-method;

method SSR_ENRL_FL_WRK_SSR_WAIT_LIST_INFO_FieldChange
Local string &sModalOptions;

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then


&sModalOptions = GetHTMLText(HTML.SCC_MO_FULLSCREEN_FL);
Else
If %Request.BrowserDeviceType = "tablet" Then
&sModalOptions = GetHTMLText(HTML.SCC_MO_FULLSCREEN_FL);
Else
&sModalOptions = GetHTMLText(HTML.SCC_MO_POPUP_FL) |
"width@500;height@200;";
End-If;
End-If;

&sWaitListOkayLabel = MsgGetText(14770, 1001, "Message not found");


&sInformationMessage = MsgGetExplainText(14770, 1001, "Message not found");

DoModalPopup(&sModalOptions, "", False, False, Page.SSR_INFO_ICON_SCF,


&sWaitListOkayLabel, - 1, - 1, 0);
end-method;

method SSR_ENRL_FL_WRK_SSR_PERM_NBR_INFO_FieldChange
Local string &sModalOptions, &sPermissionNumberLabel;

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then


&sModalOptions = GetHTMLText(HTML.SCC_MO_FULLSCREEN_FL);
Else
If %Request.BrowserDeviceType = "tablet" Then
&sModalOptions = GetHTMLText(HTML.SCC_MO_FULLSCREEN_FL);
Else
&sModalOptions = GetHTMLText(HTML.SCC_MO_POPUP_FL) |
"width@400;height@200;";
End-If;
End-If;

&sPermissionNumberLabel = MsgGetText(14770, 1002, "Message not found");


&sInformationMessage = MsgGetExplainText(14770, 1002, "Message not found");

DoModalPopup(&sModalOptions, "", False, False, Page.SSR_INFO_ICON_SCF,


&sPermissionNumberLabel, - 1, - 1, 0);
end-method;
method SSR_INFO_ICON_SCF_Activate
DERIVED_REGFRM1.SS_MESSAGE_LONG = &sInformationMessage;
end-method;

method DERIVED_SSR_FL_SSR_SELECT_FieldChange
/* Triggers Activity Guide's Action Item Post Process */
SetComponentChanged();
DoSaveNow();

Local SCC_FLUID:MODEL:AGComponent &oAGComponent = create


SCC_FLUID:MODEL:AGComponent();

&oAGComponent.ProceedToNextStep();
end-method;

[SSR_MANAGE_CLASSES.COMPONENTS.ActivityGuide_ActionItems.SSR_ENRL_SELECT_FL.OnExecu
te]
import SCC_FLUID:MODEL:Component;
import SCC_FLUID:MODEL:Panel;
import SSR_MANAGE_CLASSES:UTIL:ClassSelection;
import SSR_MANAGE_CLASSES:UTIL:ClassInformation;
import SSR_MANAGE_CLASSES:UTIL:GlobalVariables;

class SSR_ENRL_SELECT_FL extends SCC_FLUID:MODEL:Component


method SSR_ENRL_SELECT_FL();
method SSR_ENRL_SELECT_FL_Activate();
method SSR_CLSDTL_LF_SCF__Activate();
method SSR_CLASSDTL_SCF_Activate();
method SSR_INSTRDTL_SCF_Activate();
method SSR_INSTDTL_LF_SCF_Activate();
method DERIVED_SSR_FL_SSR_SBJ_CAT_NBR_FieldChange();
method DERIVED_SSR_FL_SSR_INSTR_NME_FL__FieldChange();
method DERIVED_SSR_FL_SSR_CL_DTLS_LFF__FieldChange();
method DERIVED_SSR_FL_SSR_MORE_CLASS_FL__FieldChange();
method DERIVED_SSR_FL__SSR_CL_DTLS_OPT_FieldChange();
method SSR_DER1_MTG_FL_SSR_MTGINFO_DATA__FieldChange();
method DERIVED_SSR_FL_SSR_INSTR_FL__FieldChange();

protected
property SCC_FLUID:MODEL:Panel Panel;

private
method LoadClassInformation();

instance SSR_MANAGE_CLASSES:UTIL:ClassInformation &oClassInformation;


instance string &sStudentId, &sTerm, &sAcademicCareer, &sInstitution;
instance date &dTermBeginDt;
instance string &recCar, &recInst, &recTerm;
end-class;

Global SSR_MANAGE_CLASSES:UTIL:GlobalVariables &oManageClassesGlobalVars;

method SSR_ENRL_SELECT_FL

%Super = create SCC_FLUID:MODEL:Component();


end-method;

method SSR_ENRL_SELECT_FL_Activate

&Panel = %This.CreatePanel();
%This.Render();

Local SSR_MANAGE_CLASSES:UTIL:ClassSelection &oClassSelection;


Local string &sCourseCareer, &sCareer;
Local number &nClassNbr;
Local Rowset &rs_TermTable;

AddStyleSheet(StyleSheet.SSR_CLASS_ENROLLMENT_FL);

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then


SetTransferAttributes( False, False, "");
End-If;

/* Keys - Enrollment */
&sStudentId =
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.EMPLID.Value;
&sTerm = &oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.STRM.Value;
&sAcademicCareer =
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.ACAD_CAREER.Value;
&sCourseCareer =
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.CRSE_CAREER.Value;
&sInstitution =
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.INSTITUTION.Value;
&nClassNbr =
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.CLASS_NBR.Value;

&sCareer = &sAcademicCareer;

If %Request.BrowserDeviceFormFactor <> %FormFactor_Small Then


SCC_LO_FL_WRK.SCC_GROUP_BOX_7.Visible = True;

Local Grid &gDummyRec = GetGrid(%Page, Record.SSR_DUMMY_REC);


&gDummyRec.GetColumn("SESSION_DT").Label = MsgGetText(14770, 538, "Message
not found.");
&gDummyRec.GetColumn("CLASS_NUMBER").Label = MsgGetText(14770, 1006, "Message
not found.");
&gDummyRec.GetColumn("SESSION").Label = MsgGetText(14770, 718, "Message not
found.");
&gDummyRec.GetColumn("DAYS").Label = MsgGetText(14770, 716, "Message not
found.");
&gDummyRec.GetColumn("SEATS").Label = MsgGetText(14770, 609, "Message not
found.");;
&gDummyRec.GetColumn("TIMES").Visible = False;

Else
SCC_LO_FL_WRK.SCC_GROUP_BOX_7.Visible = False;
End-If;

SSR_ENRL_FL_WRK.DESCR50 = MsgGetText(14770, 807, "Message not found."); /* You


have selected */
SSR_ENRL_FL_WRK.DESCRLONG.Visible = True;
SSR_ENRL_FL_WRK.DESCRLONG = MsgGetText(14770, 809, "Message not found."); /*
Select a class to display additional enrollment information */

Local string &AddClassOptions;

SQLExec("SELECT SSR_CS_ADD_OPTN FROM PS_SSR_CS_GEN_OPTS", &AddClassOptions);


/* Assign default value */
Evaluate &AddClassOptions
When "E"
/* Enrollment Only */
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.SSR_ENRL_OPTN.Value =
"ENRL";
When "S"
/* Add to Cart Only */
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.SSR_ENRL_OPTN.Value =
"CART";
When-Other
/* Enrollment or Add to Cart */
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.SSR_ENRL_OPTN.Value =
"ENRL";
End-Evaluate;

/* Get Term Begin Date */


&rs_TermTable = CreateRowset(Record.TERM_TBL);
&rs_TermTable.Fill("WHERE INSTITUTION=:1 AND ACAD_CAREER=:2 AND STRM=:3",
&sInstitution, &sAcademicCareer, &sTerm);
&dTermBeginDt = &rs_TermTable(1).TERM_TBL.TERM_BEGIN_DT.Value;

/* Keys - Header */
DERIVED_SSR_FL.STRM.Value = &sTerm;
DERIVED_SSR_FL.ACAD_CAREER.Value = &sCareer;
DERIVED_SSR_FL.INSTITUTION.Value = &sInstitution;
DERIVED_SSR_FL.SSR_CHANGE_BTN_GBX.Visible = False;

&recCar = &sCareer;
&recInst = &sInstitution;
&recTerm = &sTerm;

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then


DERIVED_SSR_FL.STRM.Label = MsgGetText(14770, 4, "Message not found.");
DERIVED_SSR_FL.ACAD_CAREER.Label = MsgGetText(14770, 801, "Message not
found.");
INSTITUTION_TBL.DESCRFORMAL.Label = MsgGetText(14770, 802, "Message not
found.");
End-If;

&oClassSelection = create SSR_MANAGE_CLASSES:UTIL:ClassSelection();

&oClassSelection.ReviewClassSelection(&sInstitution, &sAcademicCareer, &sTerm,


&nClassNbr, Record.SSR_DUMMY_REC,
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET);

&oClassInformation = create SSR_MANAGE_CLASSES:UTIL:ClassInformation();

end-method;

method DERIVED_SSR_FL_SSR_SBJ_CAT_NBR_FieldChange
If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then
&oClassInformation.DefaultTab = "CD"; /* Set default tab to 'Class Details'
*/
Else
&oClassInformation.DefaultTab = "EI"; /* Set default tab to 'Enrollment
Information' */
End-If;

%This.LoadClassInformation();
end-method;

method DERIVED_SSR_FL_SSR_INSTR_NME_FL__FieldChange
&oClassInformation.DERIVED_SSR_FL__SSR_INSTR_NME_FL_FieldChange();
end-method;

method SSR_CLSDTL_LF_SCF__Activate
&oClassInformation.SSR_CLSDTL_LF_SCF_Activate();
end-method;

method DERIVED_SSR_FL_SSR_CL_DTLS_LFF__FieldChange
&oClassInformation.DERIVED_SSR_FL__SSR_CL_DTLS_LFF_FieldChange();
end-method;

method DERIVED_SSR_FL_SSR_MORE_CLASS_FL__FieldChange
If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then
&oClassInformation.DefaultTab = "MD"; /* Default to Meeting Details tab */
Else
&oClassInformation.DefaultTab = "MI"; /* Default to Meeting Information tab
*/
End-If;

%This.LoadClassInformation();

end-method;

method LoadClassInformation
&oClassInformation.recEmplId = &sStudentId;
&oClassInformation.recInst = &recInst;
&oClassInformation.recCar = &recCar;
&oClassInformation.recTerm = &recTerm;
&oClassInformation.recTermBeginDt = &dTermBeginDt;

&oClassInformation.subject = SSR_CLS_KEYS_WK.SUBJECT;
&oClassInformation.catalog_nbr = SSR_CLS_KEYS_WK.CATALOG_NBR;
&oClassInformation.associated_class = SSR_CLS_KEYS_WK.ASSOCIATED_CLASS;
&oClassInformation.sCourseTitle = SSR_CLS_KEYS_WK.DESCR;

&oClassInformation.crse_id = SSR_CLS_KEYS_WK.CRSE_ID;
&oClassInformation.crse_offer_nbr = SSR_CLS_KEYS_WK.CRSE_OFFER_NBR;
&oClassInformation.session_code = SSR_CLS_KEYS_WK.SESSION_CODE;
&oClassInformation.class_section = SSR_CLS_KEYS_WK.CLASS_SECTION;
&oClassInformation.class_nbr = SSR_CLS_KEYS_WK.CLASS_NBR;
&oClassInformation.ssr_component = SSR_CLS_KEYS_WK.SSR_COMPONENT;

Local Rowset &rs_ClassAssocVw;


&rs_ClassAssocVw = CreateRowset(Record.CLASS_ASSOC_VW);
&rs_ClassAssocVw.Flush();
&rs_ClassAssocVw.Fill("WHERE CRSE_ID=:1 AND CRSE_OFFER_NBR=:2 AND STRM=:3 AND
SESSION_CODE=:4 AND ASSOCIATED_CLASS=:5", SSR_CLS_KEYS_WK.CRSE_ID,
SSR_CLS_KEYS_WK.CRSE_OFFER_NBR, &recTerm, SSR_CLS_KEYS_WK.SESSION_CODE,
SSR_CLS_KEYS_WK.ASSOCIATED_CLASS);
If SSR_CLS_KEYS_WK.CLASS_TYPE = "E" Then
&oClassInformation.sgrading_basis =
&rs_ClassAssocVw(1).CLASS_ASSOC_VW.GRADING_BASIS.Value;
&oClassInformation.sunt_taken = NumberToString("%6.2",
&rs_ClassAssocVw(1).CLASS_ASSOC_VW.UNITS_MINIMUM.Value);
Else
&oClassInformation.sgrading_basis = "NON";
&oClassInformation.sunt_taken = "0.00";
End-If;

&oClassInformation.Instantiate();
end-method;

method SSR_CLASSDTL_SCF_Activate
&oClassInformation.SSR_CLASSDTL_SCF_Activate();
end-method;

method DERIVED_SSR_FL__SSR_CL_DTLS_OPT_FieldChange
&oClassInformation.DERIVED_SSR_FL__SSR_CL_DTLS_OPT_FieldChange();
end-method;

method SSR_DER1_MTG_FL_SSR_MTGINFO_DATA__FieldChange
&oClassInformation.SSR_DER1_MTG_FL__SSR_MTGINFO_DATA_FieldChange();
end-method;

method SSR_INSTRDTL_SCF_Activate
&oClassInformation.SSR_INSTRDTL_SCF_Activate();
end-method;

method SSR_INSTDTL_LF_SCF_Activate
&oClassInformation.SSR_INSTDTL_LF_SCF_Activate();
end-method;

method DERIVED_SSR_FL_SSR_INSTR_FL__FieldChange
&oClassInformation.DERIVED_SSR_FL__SSR_INSTR_FL_FieldChange();
end-method;

[SSR_MANAGE_CLASSES.COMPONENTS.ActivityGuide_ActionItems.SSR_ENRL_SUBMIT_FL.OnExecu
te]
import SCC_FLUID:MODEL:Component;
import SCC_FLUID:MODEL:Panel;
import SCC_FLUID:UTIL:URL;
import SSR_MANAGE_CLASSES:UTIL:ClassSelection;
import SSR_MANAGE_CLASSES:UTIL:Instructor;
import SSR_ENROLLMENT:EVENT:EnrollmentEventNotification;
import SSR_MANAGE_CLASSES:UTIL:ClassPreferences;
import SSR_MANAGE_CLASSES:UTIL:GlobalVariables;

class SSR_ENRL_SUBMIT_FL extends SCC_FLUID:MODEL:Component


method SSR_ENRL_SUBMIT_FL();
method PostBuild();
method SSR_ENRL_SUBMIT_FL_Activate();
method ENRL_REQ_HEADER_SavePreChange();
method SSR_ENRL_FL_WRK__SUBMIT_PB_FieldChange();
protected
property SCC_FLUID:MODEL:Panel Panel;
private
method Enroll();
method AddToCart();
method TransferToConfirmationPage();
instance string &IsShopCartEnabled;
instance string &sEnrlRequestId;
instance integer &iEnrlReqDetlSeq;
instance boolean &IsEnrlRequestIdAssignedOnce;
instance SSR_MANAGE_CLASSES:UTIL:ClassSelection &oClassSelection;
end-class;

Global SSR_MANAGE_CLASSES:UTIL:GlobalVariables &oManageClassesGlobalVars;

method SSR_ENRL_SUBMIT_FL
%Super = create SCC_FLUID:MODEL:Component();
end-method;

method PostBuild
&Panel = %This.CreatePanel();
%This.Render();

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then


Page.SSR_ENRL_FOOTR_FFL.Visible = True;
DERIVED_SSR_FL.SSR_SELECT.Visible = False; /* Accept Class Preferences */
Else
Page.SSR_ENRL_FOOTR_FFL.Visible = False;
End-If;
end-method;

method SSR_ENRL_SUBMIT_FL_Activate
Local string &sStudentId, &sTerm, &sAcademicCareer, &sInstitution;
Local number &nClassNbr;

AddStyleSheet(StyleSheet.SSR_CLASS_ENROLLMENT_FL);

/* Keys - Enrollment */
&sStudentId =
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.EMPLID.Value;
&sTerm = &oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.STRM.Value;
&sAcademicCareer =
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.ACAD_CAREER.Value;
&sInstitution =
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.INSTITUTION.Value;
&nClassNbr =
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.CLASS_NBR.Value;

If %Request.BrowserDeviceFormFactor <> %FormFactor_Small Then


Local Grid &gDummyRec = GetGrid(%Page, Record.SSR_DUMMY_REC);
&gDummyRec.GetColumn("SESSION_DT").Label = MsgGetText(14770, 538, "Message
not found.");
&gDummyRec.GetColumn("CLASS_NUMBER").Label = MsgGetText(14770, 1006, "Message
not found.");
&gDummyRec.GetColumn("SESSION").Label = MsgGetText(14770, 718, "Message not
found.");
&gDummyRec.GetColumn("DAYS").Label = MsgGetText(14770, 716, "Message not
found.");
&gDummyRec.GetColumn("SEATS").Label = MsgGetText(14770, 609, "Message not
found.");;
&gDummyRec.GetColumn("TIMES").Visible = False;
&gDummyRec.GetColumn("MORE_MTG_SCHED").Visible = False;

SCC_LO_FL_WRK.SCC_GROUP_BOX_7.Visible = True;
Else
SCC_LO_FL_WRK.SCC_GROUP_BOX_7.Visible = False;
End-If;

If &oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.SSR_ENRL_OPTN.Value =
"ENRL" Then
SSR_ENRL_FL_WRK.DESCR50 = MsgGetText(14770, 808, "Message not found."); /*
You have selected to enroll in */
Else
SSR_ENRL_FL_WRK.DESCR50 = MsgGetText(14770, 886, "Message not found."); /*
You have selected to add to your shopping cart */
End-If;

/* Keys - Header */
DERIVED_SSR_FL.STRM.Value = &sTerm;
DERIVED_SSR_FL.ACAD_CAREER.Value = &sAcademicCareer;
DERIVED_SSR_FL.INSTITUTION.Value = &sInstitution;
DERIVED_SSR_FL.SSR_CHANGE_BTN_GBX.Visible = False;

DERIVED_SSR_FL.STRM.Label = MsgGetText(14770, 4, "Message not found.");


DERIVED_SSR_FL.ACAD_CAREER.Label = MsgGetText(14770, 801, "Message not found.");
DERIVED_SSR_FL.INSTITUTION.Label = MsgGetText(14770, 802, "Message not found.");

&oClassSelection = create SSR_MANAGE_CLASSES:UTIL:ClassSelection();


&oClassSelection.ReviewClassSelection(&sInstitution, &sAcademicCareer, &sTerm,
&nClassNbr, Record.SSR_DUMMY_REC,
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET);

Local SSR_MANAGE_CLASSES:UTIL:ClassPreferences &oClassPreferences = create


SSR_MANAGE_CLASSES:UTIL:ClassPreferences();

If Not (&oManageClassesGlobalVars.bIsClassPreferencesAvailable) Or
(&oManageClassesGlobalVars.bDisplay_PermissionNumber And

&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.CLASS_PRMSN_NBR.Value < 1
And
( Not (&oManageClassesGlobalVars.bDisplay_WaitList) And
Not (&oManageClassesGlobalVars.bDisplay_GradingBasis) And
Not (&oManageClassesGlobalVars.bDisplay_Units) And
Not (&oManageClassesGlobalVars.bDisplay_Instructor) And
Not (&oManageClassesGlobalVars.bDisplay_Program) And
Not (&oManageClassesGlobalVars.bDisplay_RequirementDesignation) And
Not (&oManageClassesGlobalVars.bDisplay_StartDate))) Then

SSR_ENRL_GBX_WK.GROUPBOX1.Visible = False;

Local Record &recClsPrefWk;

&recClsPrefWk =
&oClassPreferences.LoadClassPreferences(&oManageClassesGlobalVars.rec_ClassEnrollme
ntDetailsAET);
&recClsPrefWk.CopyFieldsTo(&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET)
;

Else
SSR_ENRL_GBX_WK.GROUPBOX1.Visible = True;
SSR_ENRL_GBX_WK.GROUPBOX1.Label = MsgGetText(14770, 700, "Message not
found.");

SSR_CLS_PREF_WK.SSR_DESC_WAIT_LIST.Label = MsgGetText(14770, 1001, "Message


not found.");
If
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.WAIT_LIST_OKAY.Value = "N"
Then
SSR_CLS_PREF_WK.SSR_DESC_WAIT_LIST = MsgGetText(156, 3, "Message not
found.");
Else
SSR_CLS_PREF_WK.SSR_DESC_WAIT_LIST = MsgGetText(156, 2, "Message not
found.");
End-If;
SSR_CLS_PREF_WK.SSR_DESC_WAIT_LIST.Visible =
&oManageClassesGlobalVars.bDisplay_WaitList;

SSR_CLS_PREF_WK.SSR_DESC_PER_NBR.Label = MsgGetText(14770, 1002, "Message not


found.");

If
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.CLASS_PRMSN_NBR.Value > 0
Then
SSR_CLS_PREF_WK.SSR_DESC_PER_NBR =
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.CLASS_PRMSN_NBR.Value;
SSR_CLS_PREF_WK.SSR_DESC_PER_NBR.Visible = True;
Else
SSR_CLS_PREF_WK.SSR_DESC_PER_NBR =
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.CLASS_PRMSN_NBR.Value;
SSR_CLS_PREF_WK.SSR_DESC_PER_NBR.Visible = False;
End-If;

Local string &sXlatLongName;


SQLExec("SELECT A.XLATLONGNAME FROM PSXLATITEM A WHERE A.FIELDNAME = :1 AND
A.FIELDVALUE = :2 AND A.EFFDT = (SELECT MAX(A1.EFFDT) FROM PSXLATITEM A1 WHERE
A1.FIELDNAME = A.FIELDNAME AND A1.FIELDVALUE = A.FIELDVALUE AND A1.EFFDT <=
%DateIn(:3)) AND A.EFF_STATUS = 'A'", "GRADING_BASIS",
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.SSR_GRADE_BASIS_SS.Value,
%Date, &sXlatLongName);

SSR_CLS_PREF_WK.SSR_DESC_GRD_BSIS.Label = MsgGetText(14770, 1011, "Message


not found.");
SSR_CLS_PREF_WK.SSR_DESC_GRD_BSIS = &sXlatLongName;
SSR_CLS_PREF_WK.SSR_DESC_GRD_BSIS.Visible =
&oManageClassesGlobalVars.bDisplay_GradingBasis;

SSR_CLS_PREF_WK.SSR_DESC_UNITS.Label = MsgGetText(14770, 566, "Message not


found.");

SSR_CLS_PREF_WK.SSR_DESC_UNITS =
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.SSR_UNT_TAKEN_CHAR.Value;
SSR_CLS_PREF_WK.SSR_DESC_UNITS.Visible =
&oManageClassesGlobalVars.bDisplay_Units;
Local SSR_MANAGE_CLASSES:UTIL:Instructor &oInstructor = create
SSR_MANAGE_CLASSES:UTIL:Instructor();
Local string &sInstructorName =
&oInstructor.GetDisplayName(&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET
.INSTRUCTOR_ID.Value); /* Try to modify utility and add a diff name format */

SSR_CLS_PREF_WK.SSR_DESC_INSTRUCTR.Label = MsgGetText(14770, 523, "Message


not found.");
SSR_CLS_PREF_WK.SSR_DESC_INSTRUCTR = &sInstructorName;
SSR_CLS_PREF_WK.SSR_DESC_INSTRUCTR.Visible =
&oManageClassesGlobalVars.bDisplay_Instructor;

Local string &sAcadProgDescr;


SQLExec("SELECT A.DESCR FROM PS_ACAD_PROG_TBL A WHERE A.INSTITUTION = :1 AND
A.ACAD_PROG = :2 AND A.EFFDT = (SELECT MAX(A1.EFFDT) FROM PS_ACAD_PROG_TBL A1 WHERE
A1.INSTITUTION = A.INSTITUTION AND A1.ACAD_PROG = A.ACAD_PROG AND A1.EFFDT <=
%DateIn(:3)) AND A.EFF_STATUS = 'A'",
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.INSTITUTION.Value,
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.ACAD_PROG.Value, %Date,
&sAcadProgDescr);

SSR_CLS_PREF_WK.SSR_DESC_ACAD_PROG.Label = MsgGetText(14770, 1012, "Message


not found.");
SSR_CLS_PREF_WK.SSR_DESC_ACAD_PROG = &sAcadProgDescr;
SSR_CLS_PREF_WK.SSR_DESC_ACAD_PROG.Visible =
&oManageClassesGlobalVars.bDisplay_Program;

If
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.RQMNT_DESIGNTN_OPT.Value =
"N" Then
SSR_CLS_PREF_WK.SSR_DESC_TKE_RQDSG = MsgGetText(156, 3, "Message not
found.");
Else
SSR_CLS_PREF_WK.SSR_DESC_TKE_RQDSG = MsgGetText(156, 2, "Message not
found.");
End-If;

SSR_CLS_PREF_WK.SSR_DESC_TKE_RQDSG.Label = MsgGetText(14770, 803, "Message


not found.") | " - " |
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.SSR_DESC_RQMT_DSGN.Value;
SSR_CLS_PREF_WK.SSR_DESC_TKE_RQDSG.Visible =
&oManageClassesGlobalVars.bDisplay_RequirementDesignation;

If
All(&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.START_DT.Value) Then
DERIVED_CLS_DTL.START_DT =
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.START_DT.Value;
DERIVED_CLS_DTL.START_DT.Visible = True;
Else
DERIVED_CLS_DTL.START_DT.Visible = False;
End-If;

End-If;

SSR_ENRL_FL_WRK.GROUPBOX.Visible = False;

end-method;
method SSR_ENRL_FL_WRK__SUBMIT_PB_FieldChange
/* Are you sure you want to submit? */
If MessageBox(%MsgStyle_YesNo, "", 14770, 723, "Message Not Found") = 6 Then

Evaluate
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.SSR_ENRL_OPTN.Value
When "ENRL"
%This.Enroll();
When "CART"
%This.AddToCart();
End-Evaluate;

&oManageClassesGlobalVars.bDisplay_WaitList = False;
&oManageClassesGlobalVars.bDisplay_PermissionNumber = False;
&oManageClassesGlobalVars.bDisplay_GradingBasis = False;
&oManageClassesGlobalVars.bDisplay_Units = False;
&oManageClassesGlobalVars.bDisplay_Instructor = False;
&oManageClassesGlobalVars.bDisplay_Program = False;
&oManageClassesGlobalVars.bDisplay_RequirementDesignation = False;
&oManageClassesGlobalVars.bDisplay_StartDate = False;

End-If;

end-method;

method ENRL_REQ_HEADER_SavePreChange
Local string &local_sEnrlRequestId;
Local number &Length, &nEnrlReqIdLast;

If Not &IsEnrlRequestIdAssignedOnce Then


&nEnrlReqIdLast =
GetNextNumberWithGapsCommit(ENRL_REQ_ID_TBL.ENRL_REQ_ID_LAST, 9999999999, 1);

Evaluate &nEnrlReqIdLast
When - 1
Error MsgGet(14600, 780, "No Message Found", "ENRL_REQ_ID_LAST",
"ENRL_REQ_ID_TBL");
Break;
When - 2
Error MsgGet(14600, 214, "No Message Found", "ENRL_REQ_ID_LAST",
"ENRL_REQ_ID_TBL");
Break;
When - 3
Error MsgGet(14600, 781, "No Message Found", "ENRL_REQ_ID_LAST",
"ENRL_REQ_ID_TBL");
Break;
When-Other
&local_sEnrlRequestId = Rept("0", &Length - Len(String(&nEnrlReqIdLast)))
| String(&nEnrlReqIdLast);
Break;
End-Evaluate;
ENRL_REQ_HEADER.ENRL_REQUEST_ID = &local_sEnrlRequestId;

&IsEnrlRequestIdAssignedOnce = True;
End-If;
end-method;
method Enroll
Local Rowset &rsEnrlReqHdr, &rsEnrlReqDetail;
Local Record &recTo;

&rsEnrlReqHdr = GetLevel0()(1).GetRowset(Scroll.ENRL_REQ_HEADER);
&rsEnrlReqHdr.Flush();

&rsEnrlReqHdr(1).ENRL_REQ_HEADER.ENRL_REQUEST_ID.Value = "0000000000";
&rsEnrlReqHdr(1).ENRL_REQ_HEADER.OPRID.Value = %UserId;
&rsEnrlReqHdr(1).ENRL_REQ_HEADER.ENRL_REQ_PROC_ST.Value = "P";

If %Request.BrowserDeviceFormFactor <> %FormFactor_Small Then


&rsEnrlReqHdr(1).ENRL_REQ_HEADER.ENRL_REQ_SOURCE.Value = "FE"; /* Non-SFF
Class Search Enrollment */
Else
&rsEnrlReqHdr(1).ENRL_REQ_HEADER.ENRL_REQ_SOURCE.Value = "FF"; /* SFF Class
Search Enrollment */
End-If;

&rsEnrlReqHdr(1).ENRL_REQ_HEADER.DTTM_STAMP_SEC.Value = %Datetime;

&IsEnrlRequestIdAssignedOnce = False;

DoSaveNow();

&sEnrlRequestId = &rsEnrlReqHdr(1).ENRL_REQ_HEADER.ENRL_REQUEST_ID.Value;

&rsEnrlReqDetail = GetLevel0()(1).GetRowset(Scroll.ENRL_REQ_DETAIL);
&rsEnrlReqDetail.Flush();

&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.ENRL_REQUEST_ID.Value = &sEnrlRequestId;
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.ENRL_REQUEST_ID.Value =
&sEnrlRequestId;

&recTo = &rsEnrlReqDetail(1).GetRecord(Record.ENRL_REQ_DETAIL);
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.CopyFieldsTo(&recTo);

&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.UNT_TAKEN.Value =
Value(&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.SSR_UNT_TAKEN_CHAR.Va
lue);
&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.GRADING_BASIS_ENRL.Value =
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.SSR_GRADE_BASIS_SS.Value;

/* Set required field defaults */


&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.ENRL_REQ_DETL_SEQ.Value = 1;
&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.ENRL_REQ_ACTION.Value = "E";
&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.OVRD_CLASS_LIMIT.Value = "N";
&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.OVRD_GRADING_BASIS.Value = "N";
&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.OVRD_CLASS_UNITS.Value = "N";
&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.OVRD_UNIT_LOAD.Value = "N";
&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.OVRD_CLASS_LINKS.Value = "N";
&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.OVRD_CLASS_PRMSN.Value = "N";
&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.OVRD_REQUISITES.Value = "N";
&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.OVRD_TIME_CNFLCT.Value = "N";
&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.OVRD_CAREER.Value = "N";
&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.OVRD_ENRL_ACTN_DT.Value = "N";
&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.OVRD_RQMNT_DESIG.Value = "N";
&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.OVRD_SRVC_INDIC.Value = "N";
&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.OVRD_APPT.Value = "N";
&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.ENRL_REQ_DETL_STAT.Value = "P";
&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.TSCRPT_NOTE_EXISTS.Value = "N";

DoSaveNow();

Local number &RETCODE;


Local Message &msg, &temp;
Local Rowset &levelZeroRowset;
Local string &compName;
Local SSR_ENROLLMENT:EVENT:EnrollmentEventNotification &enrollmentEvent;

RemoteCall("PSRCCBL", "PSCOBOLPROG", "SRPCERC", "ENRL-REQUEST-ID",


&sEnrlRequestId, "RC", &RETCODE);

If &RETCODE = 12 Then
WinMessage(MsgGet(14640, 82, "The Enrollment Process Engine encountered a
fatal error. Contact your administrator."), 64);
Else
/* fire SSR_ENROLLMENT_SYNC if service operation is active */
&msg = CreateMessage(Operation.SSR_ENROLLMENT_SYNC);
If &msg.IsOperationActive Then

&levelZeroRowset = GetLevel0();
&compName = %Component;
&enrollmentEvent = create
SSR_ENROLLMENT:EVENT:EnrollmentEventNotification(&levelZeroRowset, &compName,
Operation.SSR_ENROLLMENT_SYNC);
&temp = &enrollmentEvent.execute();
End-If;

%This.TransferToConfirmationPage();

End-If;
end-method;

method AddToCart
Local Record &recRegForm;

&recRegForm = CreateRecord(Record.SSR_REGFORM);

&recRegForm.EMPLID.Value =
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.EMPLID.Value;
&recRegForm.ACAD_CAREER.Value =
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.ACAD_CAREER.Value;
&recRegForm.INSTITUTION.Value =
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.INSTITUTION.Value;
&recRegForm.STRM.Value =
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.STRM.Value;
&recRegForm.CLASS_NBR.Value =
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.CLASS_NBR.Value;

If &recRegForm.SelectByKey() Then

/* Classes already added to Shopping Cart */


&oManageClassesGlobalVars.bIsClassAlreadyInShoppingCart = True;
Else
&oManageClassesGlobalVars.bIsClassAlreadyInShoppingCart = False;

&recRegForm.ENRL_REQ_DETL_STAT.Value = "P";
&recRegForm.USERID.Value = %UserId;
&recRegForm.DTTM_STAMP_SEC.Value = %Datetime;
&recRegForm.SSR_VALIDATE.Value = "N";

&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.CopyFieldsTo(&recRegForm);

&recRegForm.GRADING_BASIS_ENRL.Value =
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.SSR_GRADE_BASIS_SS.Value;
&recRegForm.UNT_TAKEN.Value =
Value(&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.SSR_UNT_TAKEN_CHAR.Va
lue);

/* Audit */
&recRegForm.SCC_ROW_UPD_OPRID.Value = %UserId;
&recRegForm.SCC_ROW_UPD_DTTM.Value = %Datetime;
&recRegForm.SCC_ROW_ADD_OPRID.Value = %UserId;
&recRegForm.SCC_ROW_ADD_DTTM.Value = %Datetime;

&recRegForm.Insert();

End-If;

%This.TransferToConfirmationPage();

end-method;

method TransferToConfirmationPage

&oClassSelection.DeleteAGInstance("SR_ENRL_FL");

&oManageClassesGlobalVars.sTransferFromURL = "";
&oManageClassesGlobalVars.sTransferToURL = GenerateComponentContentURL(%Portal,
%Node, MenuName.SSR_STUDENT_FL, %Market, Component.SSR_CLSRCH_MAIN_FL,
Page.SSR_ENRL_CONFRM_FL, %Action_UpdateDisplay);
&oManageClassesGlobalVars.sMDComponent = ""; /* Use default MD component */

If %Request.BrowserDeviceFormFactor <> %FormFactor_Small Then

Local SCC_FLUID:UTIL:URL &url = create SCC_FLUID:UTIL:URL();

%Response.RedirectURL(&url.GetContentReferenceURL("CS_SSR_MANAGE_CLASSES_FL"));

Else
%Response.RedirectURL(&oManageClassesGlobalVars.sTransferToURL);
End-If;

end-method;

[SSR_MANAGE_CLASSES.COMPONENTS.ActivityGuide_ActionItems.SSR_SWAP_CONFRM_FL.OnExecu
te]
import SCC_FLUID:MODEL:Component;
import SCC_FLUID:MODEL:Panel;
import SSR_STUDENT_RECORDS:SR_ClassData:ClassInfo;
import SSR_STUDENT_RECORDS:SR_ClassData:ClassStatus;
import SSR_MANAGE_CLASSES:UTIL:ClassSelection;
import SSR_MANAGE_CLASSES:UTIL:ClassPreferences;
import SSR_MANAGE_CLASSES:UTIL:Instructor;
import SSR_MANAGE_CLASSES:UTIL:GlobalVariables;
import SCC_FLUID:UTIL:URL;
import SSR_ENROLLMENT:EVENT:EnrollmentEventNotification;

class SSR_SWAP_CONFRM_FL extends SCC_FLUID:MODEL:Component


method SSR_SWAP_CONFRM_FL();
method PostBuild();
method SSR_SWAP_CONFRM_FL_Activate();
method ENRL_REQ_HEADER_SavePreChange();
method SSR_ENRL_FL_WRK__SUBMIT_PB_FieldChange();

protected
property SCC_FLUID:MODEL:Panel Panel;

private
method SwapClasses();
method TransferToConfirmationPage();

instance SSR_MANAGE_CLASSES:UTIL:ClassSelection &oClassSelection;

instance string &sStudentId, &sTerm, &sAcademicCareer, &sInstitution;


instance number &nSwapClassNbr, &nClassNbr;
instance string &IsShopCartEnabled;
instance string &sEnrlRequestId;
instance integer &iEnrlReqDetlSeq;
instance boolean &IsEnrlRequestIdAssignedOnce;

end-class;

Global SSR_MANAGE_CLASSES:UTIL:GlobalVariables &oManageClassesGlobalVars;

method SSR_SWAP_CONFRM_FL

%Super = create SCC_FLUID:MODEL:Component();

end-method;

method PostBuild

&Panel = %This.CreatePanel();
%This.Render();

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then


Page.SSR_ENRL_FOOTR_FFL.Visible = True;
DERIVED_SSR_FL.SSR_SELECT.Visible = False; /* Accept Class Preferences */
Else
Page.SSR_ENRL_FOOTR_FFL.Visible = False;
End-If;
end-method;
method SSR_SWAP_CONFRM_FL_Activate

AddStyleSheet(StyleSheet.SSR_CLASS_ENROLLMENT_FL);

/* Keys - Enrollment */
&sStudentId =
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.EMPLID.Value;
&sTerm = &oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.STRM.Value;
&sAcademicCareer =
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.ACAD_CAREER.Value;
&sInstitution =
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.INSTITUTION.Value;
&nClassNbr =
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.CLASS_NBR.Value;
&nSwapClassNbr = Value(&oManageClassesGlobalVars.swapClasses_nClassNbr);

If %Request.BrowserDeviceFormFactor <> %FormFactor_Small Then


SCC_LO_FL_WRK.SCC_GROUP_BOX_7.Visible = True; /* app header */

Local Grid &gDummyRec2, &gDummyRec1;


/* You are replacing this class */
&gDummyRec1 = GetGrid(%Page, Record.SSR_DUMMY_RECV1);
&gDummyRec1.GetColumn("SESSION_DT1").Label = MsgGetText(14770, 538, "Message
not found.");
&gDummyRec1.GetColumn("CLASS_NUMBER1").Label = MsgGetText(14770, 1006,
"Message not found.");
&gDummyRec1.GetColumn("SESSION1").Label = MsgGetText(14770, 718, "Message not
found.");
&gDummyRec1.GetColumn("DAYS1").Label = MsgGetText(14770, 716, "Message not
found.");
&gDummyRec1.GetColumn("SEATS1").Label = MsgGetText(14770, 609, "Message not
found.");
&gDummyRec1.GetColumn("TIMES1").Visible = False;
&gDummyRec1.GetColumn("MORE_MTG_SCHED1").Visible = False;

/* With this class */


&gDummyRec2 = GetGrid(%Page, Record.SSR_DUMMY_RECV2);
&gDummyRec2.GetColumn("SESSION_DT2").Label = MsgGetText(14770, 538, "Message
not found.");
&gDummyRec2.GetColumn("CLASS_NUMBER2").Label = MsgGetText(14770, 1006,
"Message not found.");
&gDummyRec2.GetColumn("SESSION2").Label = MsgGetText(14770, 718, "Message not
found.");
&gDummyRec2.GetColumn("DAYS2").Label = MsgGetText(14770, 716, "Message not
found.");
&gDummyRec2.GetColumn("SEATS2").Label = MsgGetText(14770, 609, "Message not
found.");
&gDummyRec2.GetColumn("TIMES2").Visible = False;
&gDummyRec2.GetColumn("MORE_MTG_SCHED2").Visible = False;

Else
SCC_LO_FL_WRK.SCC_GROUP_BOX_7.Visible = False; /* app header */
End-If;

/* Keys - Header */
DERIVED_SSR_FL.STRM.Value = &sTerm;
DERIVED_SSR_FL.ACAD_CAREER.Value = &sAcademicCareer;
DERIVED_SSR_FL.INSTITUTION.Value = &sInstitution;
DERIVED_SSR_FL.SSR_CHANGE_BTN_GBX.Visible = False;
&oClassSelection = create SSR_MANAGE_CLASSES:UTIL:ClassSelection();

/* You are replacing this class */


Local Record &rec_SwapClassesAET;

&rec_SwapClassesAET = CreateRecord(Record.SSR_SWAP_AET_WK);

&rec_SwapClassesAET.INSTITUTION.Value = &sInstitution;
&rec_SwapClassesAET.ACAD_CAREER.Value = &sAcademicCareer;
&rec_SwapClassesAET.STRM.Value = &sTerm;
&rec_SwapClassesAET.CLASS_NBR.Value = &nSwapClassNbr;

Local SSR_STUDENT_RECORDS:SR_ClassData:ClassInfo &obj_EnrlClassInfo = create


SSR_STUDENT_RECORDS:SR_ClassData:ClassInfo();
&obj_EnrlClassInfo.LoadClassInfo(&sInstitution, &sTerm, &nSwapClassNbr);

Local SSR_STUDENT_RECORDS:SR_ClassData:ClassStatus &obj_ClassStatus = create


SSR_STUDENT_RECORDS:SR_ClassData:ClassStatus(&sInstitution, &sTerm,
&obj_EnrlClassInfo.Class_Session, &nSwapClassNbr);
&rec_SwapClassesAET.ENRL_STAT_1.Value = &obj_ClassStatus.Class_Stat;

Local Rowset &rs_ClassTable = CreateRowset(Record.CLASS_TBL);


&rs_ClassTable.Flush();
&rs_ClassTable.Fill("WHERE STRM=:1 AND CLASS_NBR=:2", &sTerm, &nSwapClassNbr);

SSR_SWAP_FL_WRK.SSR_SBJ_CAT_NBR.Value =
&rs_ClassTable(1).CLASS_TBL.SUBJECT.Value | " " |
&rs_ClassTable(1).CLASS_TBL.CATALOG_NBR.Value | " " |
&rs_ClassTable(1).CLASS_TBL.DESCR.Value;

Local Rowset &rs_StdntEnrlSsVw;


Local integer &i, &cnt_StdntEnrl;

&rs_StdntEnrlSsVw = CreateRowset(Record.STDNT_ENRL_SSVW);
&cnt_StdntEnrl = &rs_StdntEnrlSsVw.Fill("where EMPLID=:1 and ACAD_CAREER=:2 and
INSTITUTION=:3 and STRM=:4 and CRSE_ID=:5 and CRSE_OFFER_NBR=:6 and SESSION_CODE=:7
and (ASSOCIATED_CLASS=:8 or ASSOCIATED_CLASS=9999) and STDNT_ENRL_STATUS='E' AND
CLASS_NBR <> :9", &sStudentId, &sAcademicCareer, &sInstitution, &sTerm,
&rs_ClassTable(1).CLASS_TBL.CRSE_ID.Value,
&rs_ClassTable(1).CLASS_TBL.CRSE_OFFER_NBR.Value,
&rs_ClassTable(1).CLASS_TBL.SESSION_CODE.Value,
&rs_ClassTable(1).CLASS_TBL.ASSOCIATED_CLASS.Value, &nSwapClassNbr);

Local string &sEnrlStatFld;

If &cnt_StdntEnrl > 0 Then

For &i = 1 To &cnt_StdntEnrl

Evaluate &i
When 1
&rec_SwapClassesAET.AUTO_CLASS_NBR_1.Value =
&rs_StdntEnrlSsVw(&i).STDNT_ENRL_SSVW.CLASS_NBR.Value;
&sEnrlStatFld = Field.ENRL_STAT_2;
Break;
When 2
&rec_SwapClassesAET.AUTO_CLASS_NBR_2.Value =
&rs_StdntEnrlSsVw(&i).STDNT_ENRL_SSVW.CLASS_NBR.Value;
&sEnrlStatFld = Field.ENRL_STAT_3;
Break;
When 3
&rec_SwapClassesAET.RELATE_CLASS_NBR_1.Value =
&rs_StdntEnrlSsVw(&i).STDNT_ENRL_SSVW.CLASS_NBR.Value;
&sEnrlStatFld = Field.ENRL_STAT_4;
Break;
When 4
&rec_SwapClassesAET.RELATE_CLASS_NBR_2.Value =
&rs_StdntEnrlSsVw(&i).STDNT_ENRL_SSVW.CLASS_NBR.Value;
&sEnrlStatFld = Field.ENRL_STAT_5;
Break;
When-Other
Break;
End-Evaluate;

&obj_EnrlClassInfo.LoadClassInfo(&sInstitution, &sTerm,
&rs_StdntEnrlSsVw(&i).STDNT_ENRL_SSVW.CLASS_NBR.Value);
&obj_ClassStatus = create
SSR_STUDENT_RECORDS:SR_ClassData:ClassStatus(&sInstitution, &sTerm,
&obj_EnrlClassInfo.Class_Session,
&rs_StdntEnrlSsVw(&i).STDNT_ENRL_SSVW.CLASS_NBR.Value);

If All(&sEnrlStatFld) Then
&rec_SwapClassesAET.GetField(@("Field." | &sEnrlStatFld)).Value =
&obj_ClassStatus.Class_Stat;
End-If;

End-For;

End-If;

&oClassSelection.ReviewClassSelection(&sInstitution, &sAcademicCareer, &sTerm,


&nSwapClassNbr, Record.SSR_DUMMY_RECV1, &rec_SwapClassesAET);

Local Rowset &rs_SwapClass1 = GetLevel0()(1).GetRowset(Scroll.SSR_DUMMY_RECV1);

If &rs_SwapClass1.ActiveRowCount > 1 Then


SSR_ENRL_FL_WRK.DESCR50 = MsgGetText(14770, 899, "Message not found."); /*
You are replacing these Classes */
Else
SSR_ENRL_FL_WRK.DESCR50 = MsgGetText(14770, 901, "Message not found."); /*
You are replacing this Class */
End-If;

/* With this class */


&oClassSelection.ReviewClassSelection(&sInstitution, &sAcademicCareer, &sTerm,
&nClassNbr, Record.SSR_DUMMY_RECV2,
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET);

Local Rowset &rs_SwapClass2 = GetLevel0()(1).GetRowset(Scroll.SSR_DUMMY_RECV2);

If &rs_SwapClass2.ActiveRowCount > 1 Then


SSR_SWAP_FL_WRK.DESCR50 = MsgGetText(14770, 902, "Message not found."); /*
With these Classes */
Else
SSR_SWAP_FL_WRK.DESCR50 = MsgGetText(14770, 903, "Message not found."); /*
With this Class */
End-If;
/* Class Preferences */
Local SSR_MANAGE_CLASSES:UTIL:ClassPreferences &oClassPreferences = create
SSR_MANAGE_CLASSES:UTIL:ClassPreferences();
Local boolean &IsClassPreferencesAvailable =
&oClassPreferences.CheckForClassPreferences(&oManageClassesGlobalVars.rec_ClassEnro
llmentDetailsAET);

If Not (&IsClassPreferencesAvailable) Or
(&oManageClassesGlobalVars.bDisplay_PermissionNumber And

&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.CLASS_PRMSN_NBR.Value < 1
And
( Not (&oManageClassesGlobalVars.bDisplay_WaitList) And
Not (&oManageClassesGlobalVars.bDisplay_GradingBasis) And
Not (&oManageClassesGlobalVars.bDisplay_Units) And
Not (&oManageClassesGlobalVars.bDisplay_Instructor) And
Not (&oManageClassesGlobalVars.bDisplay_Program) And
Not (&oManageClassesGlobalVars.bDisplay_RequirementDesignation) And
Not (&oManageClassesGlobalVars.bDisplay_StartDate))) Then

SSR_ENRL_GBX_WK.GROUPBOX1.Visible = False;

Else
SSR_ENRL_GBX_WK.GROUPBOX1.Visible = True;
SSR_ENRL_GBX_WK.GROUPBOX1.Label = MsgGetText(14770, 700, "Message not
found.");

SSR_CLS_PREF_WK.SSR_DESC_WAIT_LIST.Label = MsgGetText(14770, 1001, "Message


not found.");
If
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.WAIT_LIST_OKAY.Value = "N"
Then
SSR_CLS_PREF_WK.SSR_DESC_WAIT_LIST = MsgGetText(156, 3, "Message not
found.");
Else
SSR_CLS_PREF_WK.SSR_DESC_WAIT_LIST = MsgGetText(156, 2, "Message not
found.");
End-If;
SSR_CLS_PREF_WK.SSR_DESC_WAIT_LIST.Visible =
&oManageClassesGlobalVars.bDisplay_WaitList;

SSR_CLS_PREF_WK.SSR_DESC_PER_NBR.Label = MsgGetText(14770, 1002, "Message not


found.");

If &oManageClassesGlobalVars.bDisplay_PermissionNumber Then
If
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.CLASS_PRMSN_NBR.Value > 0
Then
SSR_CLS_PREF_WK.SSR_DESC_PER_NBR =
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.CLASS_PRMSN_NBR.Value;
SSR_CLS_PREF_WK.SSR_DESC_PER_NBR.Visible = True;
Else
SSR_CLS_PREF_WK.SSR_DESC_PER_NBR = "";
SSR_CLS_PREF_WK.SSR_DESC_PER_NBR.Visible = False;
End-If;
Else
SSR_CLS_PREF_WK.SSR_DESC_PER_NBR = "";
SSR_CLS_PREF_WK.SSR_DESC_PER_NBR.Visible = False;
End-If;

Local string &sXlatLongName;


SQLExec("SELECT A.XLATLONGNAME FROM PSXLATITEM A WHERE A.FIELDNAME = :1 AND
A.FIELDVALUE = :2 AND A.EFFDT = (SELECT MAX(A1.EFFDT) FROM PSXLATITEM A1 WHERE
A1.FIELDNAME = A.FIELDNAME AND A1.FIELDVALUE = A.FIELDVALUE AND A1.EFFDT <=
%DateIn(:3)) AND A.EFF_STATUS = 'A'", "GRADING_BASIS",
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.SSR_GRADE_BASIS_SS.Value,
%Date, &sXlatLongName);

SSR_CLS_PREF_WK.SSR_DESC_GRD_BSIS.Label = MsgGetText(14770, 1011, "Message


not found.");
SSR_CLS_PREF_WK.SSR_DESC_GRD_BSIS = &sXlatLongName;
SSR_CLS_PREF_WK.SSR_DESC_GRD_BSIS.Visible =
&oManageClassesGlobalVars.bDisplay_GradingBasis;

SSR_CLS_PREF_WK.SSR_DESC_UNITS.Label = MsgGetText(14770, 566, "Message not


found.");
SSR_CLS_PREF_WK.SSR_DESC_UNITS =
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.SSR_UNT_TAKEN_CHAR.Value;
SSR_CLS_PREF_WK.SSR_DESC_UNITS.Visible =
&oManageClassesGlobalVars.bDisplay_Units;

Local SSR_MANAGE_CLASSES:UTIL:Instructor &oInstructor = create


SSR_MANAGE_CLASSES:UTIL:Instructor();
Local string &sInstructorName =
&oInstructor.GetDisplayName(&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET
.INSTRUCTOR_ID.Value); /* Try to modify utility and add a diff name format */

SSR_CLS_PREF_WK.SSR_DESC_INSTRUCTR.Label = MsgGetText(14770, 523, "Message


not found.");
SSR_CLS_PREF_WK.SSR_DESC_INSTRUCTR = &sInstructorName;
SSR_CLS_PREF_WK.SSR_DESC_INSTRUCTR.Visible =
&oManageClassesGlobalVars.bDisplay_Instructor;

Local string &sAcadProgDescr;


SQLExec("SELECT A.DESCR FROM PS_ACAD_PROG_TBL A WHERE A.INSTITUTION = :1 AND
A.ACAD_PROG = :2 AND A.EFFDT = (SELECT MAX(A1.EFFDT) FROM PS_ACAD_PROG_TBL A1 WHERE
A1.INSTITUTION = A.INSTITUTION AND A1.ACAD_PROG = A.ACAD_PROG AND A1.EFFDT <=
%DateIn(:3)) AND A.EFF_STATUS = 'A'",
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.INSTITUTION.Value,
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.ACAD_PROG.Value, %Date,
&sAcadProgDescr);

SSR_CLS_PREF_WK.SSR_DESC_ACAD_PROG.Label = MsgGetText(14770, 1012, "Message


not found.");
SSR_CLS_PREF_WK.SSR_DESC_ACAD_PROG = &sAcadProgDescr;
SSR_CLS_PREF_WK.SSR_DESC_ACAD_PROG.Visible =
&oManageClassesGlobalVars.bDisplay_Program;

If
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.RQMNT_DESIGNTN_OPT.Value =
"N" Then
SSR_CLS_PREF_WK.SSR_DESC_TKE_RQDSG = MsgGetText(156, 3, "Message not
found.");
Else
SSR_CLS_PREF_WK.SSR_DESC_TKE_RQDSG = MsgGetText(156, 2, "Message not
found.");
End-If;

SSR_CLS_PREF_WK.SSR_DESC_TKE_RQDSG.Label = MsgGetText(14770, 803, "Message


not found.") | " - " |
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.SSR_DESC_RQMT_DSGN.Value;
SSR_CLS_PREF_WK.SSR_DESC_TKE_RQDSG.Visible =
&oManageClassesGlobalVars.bDisplay_RequirementDesignation;

If
All(&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.START_DT.Value) Then
DERIVED_CLS_DTL.START_DT =
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.START_DT.Value;
DERIVED_CLS_DTL.START_DT.Visible = True;
Else
DERIVED_CLS_DTL.START_DT.Visible = False;
End-If;

End-If;

end-method;

method SSR_ENRL_FL_WRK__SUBMIT_PB_FieldChange
/* Are you sure you want to submit? */
If MessageBox(%MsgStyle_YesNo, "", 14770, 723, "Message Not Found") = 6 Then

&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.SSR_ENRL_OPTN.Value =
"ENRL";
%This.SwapClasses();

End-If;

end-method;

method ENRL_REQ_HEADER_SavePreChange
Local string &local_sEnrlRequestId;
Local number &Length, &nEnrlReqIdLast;

If Not &IsEnrlRequestIdAssignedOnce Then


&nEnrlReqIdLast =
GetNextNumberWithGapsCommit(ENRL_REQ_ID_TBL.ENRL_REQ_ID_LAST, 9999999999, 1);

Evaluate &nEnrlReqIdLast
When - 1
Error MsgGet(14600, 780, "No Message Found", "ENRL_REQ_ID_LAST",
"ENRL_REQ_ID_TBL");
Break;
When - 2
Error MsgGet(14600, 214, "No Message Found", "ENRL_REQ_ID_LAST",
"ENRL_REQ_ID_TBL");
Break;
When - 3
Error MsgGet(14600, 781, "No Message Found", "ENRL_REQ_ID_LAST",
"ENRL_REQ_ID_TBL");
Break;
When-Other
&local_sEnrlRequestId = Rept("0", &Length - Len(String(&nEnrlReqIdLast)))
| String(&nEnrlReqIdLast);
Break;
End-Evaluate;
ENRL_REQ_HEADER.ENRL_REQUEST_ID = &local_sEnrlRequestId;

&IsEnrlRequestIdAssignedOnce = True;
End-If;
end-method;

method SwapClasses
Local Rowset &rsEnrlReqHdr, &rsEnrlReqDetail;
Local Record &recTo;

&rsEnrlReqHdr = GetLevel0()(1).GetRowset(Scroll.ENRL_REQ_HEADER);
&rsEnrlReqHdr.Flush();

&rsEnrlReqHdr(1).ENRL_REQ_HEADER.ENRL_REQUEST_ID.Value = "0000000000";
&rsEnrlReqHdr(1).ENRL_REQ_HEADER.OPRID.Value = %UserId;
&rsEnrlReqHdr(1).ENRL_REQ_HEADER.ENRL_REQ_PROC_ST.Value = "P";

If %Request.BrowserDeviceFormFactor <> %FormFactor_Small Then


If &oManageClassesGlobalVars.bIsSwapClassesFromCart Then
&rsEnrlReqHdr(1).ENRL_REQ_HEADER.ENRL_REQ_SOURCE.Value = "FX"; /* Non-SFF
Enrollment from Shopping Cart */
&oManageClassesGlobalVars.bIsSwapClassesFromCart = False;
Else
&rsEnrlReqHdr(1).ENRL_REQ_HEADER.ENRL_REQ_SOURCE.Value = "FE"; /* Non-SFF
Class Search Enrollment */
End-If;
Else
If &oManageClassesGlobalVars.bIsSwapClassesFromCart Then
&rsEnrlReqHdr(1).ENRL_REQ_HEADER.ENRL_REQ_SOURCE.Value = "FS"; /* SFF
Enrollment from Shopping Cart */
&oManageClassesGlobalVars.bIsSwapClassesFromCart = False;
Else
&rsEnrlReqHdr(1).ENRL_REQ_HEADER.ENRL_REQ_SOURCE.Value = "FF"; /* SFF
Class Search Enrollment */
End-If;
End-If;

&rsEnrlReqHdr(1).ENRL_REQ_HEADER.DTTM_STAMP_SEC.Value = %Datetime;

&IsEnrlRequestIdAssignedOnce = False;

DoSaveNow();

&sEnrlRequestId = &rsEnrlReqHdr(1).ENRL_REQ_HEADER.ENRL_REQUEST_ID.Value;

&rsEnrlReqDetail = GetLevel0()(1).GetRowset(Scroll.ENRL_REQ_DETAIL);
&rsEnrlReqDetail.Flush();

&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.ENRL_REQUEST_ID.Value = &sEnrlRequestId;
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.ENRL_REQUEST_ID.Value =
&sEnrlRequestId;

&recTo = &rsEnrlReqDetail(1).GetRecord(Record.ENRL_REQ_DETAIL);
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.CopyFieldsTo(&recTo);

&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.UNT_TAKEN.Value =
Value(&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.SSR_UNT_TAKEN_CHAR.Va
lue);
&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.GRADING_BASIS_ENRL.Value =
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.SSR_GRADE_BASIS_SS.Value;

/* check if any of the classes is already in STDNT_ENRL */


Local boolean &bool_Exists = False;
Local integer &i;
Local Rowset &rs_StdntEnrlVw = CreateRowset(Record.STDNT_ENRL);
&rs_StdntEnrlVw.Flush();
&rs_StdntEnrlVw.Fill("WHERE EMPLID=:1 AND ACAD_CAREER=:2 AND INSTITUTION=:3 AND
STRM=:4", &sStudentId, &sAcademicCareer, &sInstitution, &sTerm);

For &i = 1 To &rs_StdntEnrlVw.RowCount


If (&rs_StdntEnrlVw(&i).STDNT_ENRL.CLASS_NBR.Value = &nClassNbr Or
&rs_StdntEnrlVw(&i).STDNT_ENRL.CLASS_NBR.Value =
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.RELATE_CLASS_NBR_1.Value Or
&rs_StdntEnrlVw(&i).STDNT_ENRL.CLASS_NBR.Value =
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.RELATE_CLASS_NBR_2.Value)
And
&rs_StdntEnrlVw(&i).STDNT_ENRL.STDNT_ENRL_STATUS.Value <> "D" Then
&bool_Exists = True;
Break;
End-If;
End-For;

Local string &AllowDropIfEnroll = "N";

/* check self-service swap option on which action to use*/


SQLExec("SELECT SSR_SS_DROP_IF_ENR FROM PS_SSR_SS_ENRL_OPT",
&AllowDropIfEnroll);

If &AllowDropIfEnroll = "Y" And


Not &bool_Exists Then

/* drop if enroll */
&oManageClassesGlobalVars.sSwapAction = "D";

&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.ENRL_REQ_ACTION.Value = "E";
&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.DROP_CLASS_IF_ENRL.Value =
&nSwapClassNbr;
Else
/* swap */
&oManageClassesGlobalVars.sSwapAction = "S";

&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.ENRL_REQ_ACTION.Value = "S";
&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.CLASS_NBR.Value = &nSwapClassNbr;
&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.CLASS_NBR_CHG_TO.Value = &nClassNbr;
End-If;

/* Set required field defaults */


&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.ENRL_REQ_DETL_SEQ.Value = 1;
&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.OVRD_CLASS_LIMIT.Value = "N";
&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.OVRD_GRADING_BASIS.Value = "N";
&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.OVRD_CLASS_UNITS.Value = "N";
&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.OVRD_UNIT_LOAD.Value = "N";
&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.OVRD_CLASS_LINKS.Value = "N";
&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.OVRD_CLASS_PRMSN.Value = "N";
&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.OVRD_REQUISITES.Value = "N";
&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.OVRD_TIME_CNFLCT.Value = "N";
&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.OVRD_CAREER.Value = "N";
&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.OVRD_ENRL_ACTN_DT.Value = "N";
&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.OVRD_RQMNT_DESIG.Value = "N";
&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.OVRD_SRVC_INDIC.Value = "N";
&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.OVRD_APPT.Value = "N";
&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.ENRL_REQ_DETL_STAT.Value = "P";
&rsEnrlReqDetail(1).ENRL_REQ_DETAIL.TSCRPT_NOTE_EXISTS.Value = "N";

DoSaveNow();

Local number &RETCODE;


Local Message &msg, &temp;
Local Rowset &levelZeroRowset;
Local string &compName;
Local SSR_ENROLLMENT:EVENT:EnrollmentEventNotification &enrollmentEvent;

RemoteCall("PSRCCBL", "PSCOBOLPROG", "SRPCERC", "ENRL-REQUEST-ID",


&sEnrlRequestId, "RC", &RETCODE);

If &RETCODE = 12 Then
WinMessage(MsgGet(14640, 82, "The Enrollment Process Engine encountered a
fatal error. Contact your administrator."), 64);
Else
/* fire SSR_ENROLLMENT_SYNC if service operation is active */
&msg = CreateMessage(Operation.SSR_ENROLLMENT_SYNC);
If &msg.IsOperationActive Then

&levelZeroRowset = GetLevel0();
&compName = %Component;
&enrollmentEvent = create
SSR_ENROLLMENT:EVENT:EnrollmentEventNotification(&levelZeroRowset, &compName,
Operation.SSR_ENROLLMENT_SYNC);
&temp = &enrollmentEvent.execute();
End-If;

%This.TransferToConfirmationPage();

End-If;
end-method;

method TransferToConfirmationPage

&oClassSelection.DeleteAGInstance("SR_SWAP_FL");

&oManageClassesGlobalVars.sTransferFromURL = "";
&oManageClassesGlobalVars.sTransferToURL = GenerateComponentContentURL(%Portal,
%Node, MenuName.SSR_STUDENT_FL, %Market, Component.SSR_SWAP_CLASS_FL,
Page.SSR_ENRL_CONFRM_FL, %Action_UpdateDisplay);
&oManageClassesGlobalVars.sMDComponent = ""; /* Use default MD component */

If %Request.BrowserDeviceFormFactor <> %FormFactor_Small Then


Local SCC_FLUID:UTIL:URL &oUrl = create SCC_FLUID:UTIL:URL();
Local string &crefUrl =
&oUrl.GetContentReferenceURL("CS_SSR_MANAGE_CLASSES_FL");

%Response.RedirectURL(&crefUrl);

Else

%Response.RedirectURL(&oManageClassesGlobalVars.sTransferToURL);

End-If;

end-method;

[SSR_MANAGE_CLASSES.COMPONENTS.SSR_CLSRCH_ES_FL.OnExecute]
import SCC_FLUID:MODEL:Component;
import SCC_FLUID:MODEL:Panel;
import SSR_MANAGE_CLASSES:UTIL:ClassOptions;
import SSR_MANAGE_CLASSES:UTIL:Formatter;
import SSR_MANAGE_CLASSES:UTIL:GlobalVariables;

import PT_SEARCH:SearchResultCollection;
import PTS_SEARCH:BaseSearch;
import PTS_SEARCH:SesSearch;
import PTUS:Util;
import PTS_SEARCH:Factory:DeviceSearchFactory;
import PT_SEARCH:SearchQuery;
import PT_SEARCH:SearchFilterGenerator;
import PT_SEARCH:SearchCategory;
import PTUS:SearchGroup;
import PTS_NUI:SearchPromptFilter;

import SSR_MANAGE_CLASSES:SEARCH:SSRSesSearch;
import SSR_MANAGE_CLASSES:SEARCH:FACTORY:DeviceSearchFactory;
import SSR_MANAGE_CLASSES:SETUP:ClassSearchOptions;

class SSR_CLSRCH_ES_FL extends SCC_FLUID:MODEL:Component


method SSR_CLSRCH_ES_FL();
method PostBuild();

method SSR_CLSRCH_ES_FL_Activate();

method ManipulateFacetRow(&p_iOpenClasses As integer, &p_iWaitlistClasses As


integer, &p_iClosedClasses As integer, &p_rsAllFacet As Rowset, &p_sChkFacet As
string);
method SetUpAdditionalFilters();
method AdditionalFilters(&sFilterName As string, &sFilterValue As string,
&sFilterOperator As string);
method SortFilterResults(&p_Keywords As string);
method GetUrlValue(&sPtsUrl As string, &sPtsUrlVal As string) Returns string;
method AvailableClasses(&sPtsSummary As string, &iNumOfClass As integer,
&iClassNbrSearch As integer, &sTopicSrchPerCrse As string) Returns string;
method MaxCoursesToDisplay() Returns number;
method IncludeCrseTopic() Returns boolean;
method DefltOpenClasses() Returns boolean;
method IsAdvSrch() Returns boolean;
method AdvSrchFldVal(&sAdvSrchFld As string) Returns string;
method AdvSrchFldOP(&sAdvSrchOP As string) Returns string;
method BuildCAFLabels();
method BuildRowsetFilters(&p_ClassNbrSearch As integer, &p_TopicSearch As
string);
method GetTermBeginDt() Returns date;
method DetermineCAFFilter(&p_iCAFSeq As integer, &p_sFacetValue As string);

protected
property SCC_FLUID:MODEL:Panel Panel;

private
method getLOVValue(&attribSeq As number, &attribName As string, &facetValue As
string) Returns string;
method populateFromAdhoc(&adhocRecord As string, &adhocLOVUID As string,
&facetValue As string) Returns string;
method populateFromPromptTable(&lovSccEditTable As string, &lovSccPromptField As
string, &lovSccFieldNameDescr As string, &facetValue As string) Returns string;
method populateFromTransTable(&lovSccEditTable As string, &lovPromptField As
string, &lovSccPromptField As string, &lovSccFieldNameDescr As string, &facetValue
As string) Returns string;

instance Rowset &rsXlat;


instance Record &recXlat;

instance SSR_MANAGE_CLASSES:UTIL:ClassOptions &obj_ClassOptions;


instance integer &iCAF;

instance string &sMsgOptionAvailClassNbr, &sMsgOptionsAvailClassNbr;


instance string &sMsgOptionAvailKeyword, &sMsgOptionsAvailKeyword;
instance string &sMsgOptionAvailGen, &sMsgOptionsAvailGen;
instance string &sMsgOptionAvailTopic;

instance string &Access;

end-class;

Global PTS_SEARCH:SesSearch &gSrchSesAgain;


Global PT_SEARCH:SearchResultCollection &gRSCollection;
Global SSR_MANAGE_CLASSES:SEARCH:SSRSesSearch &srchSesLocal;
Global SSR_MANAGE_CLASSES:UTIL:GlobalVariables &oManageClassesGlobalVars;

Component PTS_SEARCH:BaseSearch &srch;


Component PTS_SEARCH:SesSearch &srchSes;
Component PT_SEARCH:SearchQuery &Qry;
Component boolean &bRelActionsExists;
Component boolean &bBulkRelActionsExists;
Component string &sSrchPageName;
Component string &sIsHomePage, &sNode, &sWorkCenterId;
Component string &sMenuName;
Component string &sMarketName;
Component string &sComponent;
Component string &sPage;
Component string &sSrchGrpName;
Component string &sNodeName;
Component string &sCompSrchGrpName;
Component boolean &cIs2PanelFramework;
Component string &recEmplId, &setId, &sTime, &sDate, &session, &sFacility,
&sPrimInstr, &sSecInstr;
Component boolean &bool_recMultiInst;
Component date &recTermBeginDt;
Component string &recPage, &recTerm, &recCar, &recInst;
Component string &sSrchStrm, &sSrchInst, &sKeywords;
Component string &sSrchAdv, &sAdvSrchSubject, &sAdvSrchCatalogNbr,
&sAdvSrchLastName, &sAdvKeywordsOP, &sAdvSubjectOP, &sAdvCatalogNbrOP,
&sAdvLastNameOP;
Component string &sHdrTerm, &sHdrInst;
Component string &sMsg, &sText;
Component integer &iNumberofClasses;

Declare Function SetGlobalSearchMode PeopleCode PTS_SRCH.PTS_SRCH_BTN FieldFormula;


Declare Function HideLeftPane PeopleCode PTS_SRCH.PTS_SRCH_BTN FieldFormula;
Declare Function setContentPanelInfo PeopleCode PT_TWOPNL_WORK.BUTTON FieldFormula;
Declare Function setNavigationPanelInfo PeopleCode PT_TWOPNL_WORK.BUTTON
FieldFormula;
Declare Function setTwoPanelField PeopleCode PT_TWOPNL_WORK.BUTTON FieldFormula;
Declare Function setTwoPanelButton PeopleCode PT_TWOPNL_WORK.BUTTON FieldFormula;
Declare Function initializeTwoPanel PeopleCode PT_TWOPNL_WORK.BUTTON FieldFormula;

Declare Function DoSearch PeopleCode PTS_SRCH.PTS_SRCH_BTN FieldFormula;


Declare Function SetPromptRowFilter PeopleCode PTS_FILTER.PTS_PROMPT1 FieldFormula;
Declare Function SetPromptRowNoOpFilter PeopleCode PTS_FILTER.PTS_PROMPT1
FieldFormula;

method SSR_CLSRCH_ES_FL
%Super = create SCC_FLUID:MODEL:Component();
end-method;

method PostBuild

GetLevel0().GetRow(1).PTS_SRCH.PTS_BREADCRUMB_GB.SetGroupletMOptions("sStyle@ps_pop
up-menu ps_menutype-act;sTitle@Selected
Filters;bAutoClose@1;bMask@1;sMaskStyle@ps_masktrans;bVertical@1;bHeader@0;");

GetLevel0().GetRow(1).PTS_SRCH_PHONE.PTS_SHOWFCTSFLTRS.SetGroupletMOptions("sStyle@
ps_popup-menu ps_menutype-
act;sTitle@Filters;bAutoClose@1;bMask@1;sMaskStyle@ps_masktrans;bVertical@1;bHeader
@0;");

&Access = GetUserOption("PPTL", "ACCESS");

&Panel = %This.CreatePanel();
%This.Render();

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then


If &oManageClassesGlobalVars.bIsFromConfirmation Then
&oManageClassesGlobalVars.bIsFromConfirmation = False;
AddJavaScript(HTML.SSR_MANAGE_CLASSES_JS);
AddOnLoadScript("goBackToManageClassesMenu();");
End-If;
End-If;
end-method;

method SSR_CLSRCH_ES_FL_Activate

Local PTS_SEARCH:Factory:DeviceSearchFactory &deviceFactory = create


PTS_SEARCH:Factory:DeviceSearchFactory();
Local SSR_MANAGE_CLASSES:SEARCH:FACTORY:DeviceSearchFactory &ssrDeviceFactory =
create SSR_MANAGE_CLASSES:SEARCH:FACTORY:DeviceSearchFactory();

AddStyleSheet(StyleSheet.PTS_NUI_FFSTYLE);
AddStyleSheet(StyleSheet.SSR_CLSRCH_FFSTYLE);

&oManageClassesGlobalVars.bReturnToClassSearchResults = True;

Local string &contentURL = GenerateComponentContentURL(%Portal, %Node,


@("MenuName." | %Menu), %Market, @("Component." | %Component), @("Page." | %Page),
%Action_UpdateDisplay);
&contentURL = &contentURL | "&" | %Request.QueryString;
&oManageClassesGlobalVars.sClassSearchResultsURL = &contentURL;

If &oManageClassesGlobalVars.sTabID <> "" Then

Local string &sLabelID;

Evaluate &oManageClassesGlobalVars.sTabID
When Page.SSR_SWAP_TERM_FL
&sLabelID = MsgGetText(14770, 904, "Message not found."); /* Swap Classes
*/
Break;

When Page.SSR_CLSRCH_MAIN_FL
&sLabelID = MsgGetText(14770, 541, "Message not found."); /* Class Search
*/
Break;

End-Evaluate;

AddJavaScript(HTML.SSR_MANAGE_CLASSES_JS);
AddOnLoadScript("renameBackButtonLabel('" | &sLabelID | "')");

If &oManageClassesGlobalVars.sTabID = Page.SSR_SWAP_TERM_FL Then


&oManageClassesGlobalVars.sTransferFromURL =
&oManageClassesGlobalVars.sSwapClassSearchURL;
&oManageClassesGlobalVars.sTransferToURL = "";
End-If;

End-If;

PTS_SRCH_PHONE.PTS_DONE.Visible = False;

try
SetSaveWarningFilter( True);
&sSrchPageName = %Page;

&cIs2PanelFramework = True;

/* Set Search page title */


setContentPanelInfo(MsgGetText(280, 59, "Message not found 280,59 - View
Search Results"));
Local Record &recSrch = GetRecord(Record.PTS_SRCH);
Local Record &recTwoPnlWrk = GetRecord(Record.PTS_TWOPNL_WORK);
Local Field &fldShowFilters = &recSrch.GetField(Field.PTS_SHOWFILTERS);
setTwoPanelButton(&fldShowFilters);
Local Field &fldPnlContain = &recTwoPnlWrk.GetField(Field.PTS_GROUPBOX1);
setTwoPanelField(&fldPnlContain);
Local string &sShowLabel = MsgGetText(280, 51, "Show filters");
Local string &sHideLabel = MsgGetText(280, 52, "Hide filters");
setNavigationPanelInfo(&sShowLabel, MsgGetText(280, 3, "Apply filters"));
initializeTwoPanel(0, False, Null, 0);

AddOnLoadScript("updatePanelBtnHref('PT_SIDE$PIMG', '" | &sShowLabel | "', '"


| &sHideLabel | "');");

&sSrchGrpName = %Request.GetParameter("SEARCH_GROUP");

&sSrchStrm = %Request.GetParameter("ES_STRM");
&sSrchInst = %Request.GetParameter("ES_INST");
&sSrchAdv = %Request.GetParameter("ES_ADV");

If &sSrchAdv = "Y" Then


&sAdvSrchSubject = %Request.GetParameter("ES_SUB");
&sAdvSrchCatalogNbr = %Request.GetParameter("ES_CNBR");
&sAdvSrchLastName = %Request.GetParameter("ES_LNAME");
&sAdvKeywordsOP = %Request.GetParameter("KeywordsOP");
&sAdvSubjectOP = %Request.GetParameter("SubjectOP");
&sAdvCatalogNbrOP = %Request.GetParameter("CatalogNbrOP");
&sAdvLastNameOP = %Request.GetParameter("LastNameOP");
End-If;

Local string &sDfltSearchText = %Request.GetParameter("DEFAULT_SRCHTXT");


Local string &sSearchKey = %Request.GetParameter("SEARCH_TEXT");
If &sDfltSearchText = "Y" Or
RTrim(&sSearchKey) = "" Then
&sSearchKey = "";
End-If;

&sText = &sSearchKey;

Local string &sSearchType, &sIsAdvancedSearch;

&sIsHomePage = %Request.GetParameter("PTUS_ISHOMEPAGE");
&sNode = %Request.GetParameter("PTUS_NODE");
&sWorkCenterId = %Request.GetParameter("PTUS_WORKCENTERID");
/* SEARCH_TYPE is BASIC or SEARCHAGAIN or ADVANCED OR MENUSEARCH */
&sSearchType = %Request.GetParameter("SEARCH_TYPE");
&sIsAdvancedSearch = %Request.GetParameter("ADVSRCH");

/* defaultsrchgrp is used by clear in filters page */


Local PTUS:Util &util = create PTUS:Util();
Local string &sDefaultSrchGrp = &util.GetDefaultContextGroup("N",
&sNode).SearchGroupName;

SetGlobalSearchMode();

/* Check if current component has Related Actions and Bulk Related Actions */
try
PTS_SRCH.PTS_BULKMODE = "N";
&bBulkRelActionsExists = False;
&bRelActionsExists = False;
PTS_SRCH.PTS_BULKMODE_GB.Visible = &bBulkRelActionsExists;
PTS_SRCH.PTS_PHONEHDR_GB.Visible = False;
catch Exception &ex
end-try;

If ((&sSearchType = "SEARCHAGAIN") And


(&gSrchSesAgain <> Null)) Then
&sSrchGrpName = &gSrchSesAgain.GetSearchGroupName();
&sSearchKey = &gSrchSesAgain.GetQueryText();
&gSrchSesAgain.bIsPersistentSearch = False;
Else
If (&sSearchType = "MENUSEARCH") Then
&sSrchGrpName = %Request.GetParameter("MENU_SEARCH_CAT");
End-If;
End-If;
If None(&sSrchGrpName) Then
&sSrchGrpName = "PTUS_ALL";
End-If;

Local boolean &bRet;

If ((&sSearchType = "SEARCHAGAIN") And


(&gSrchSesAgain <> Null)) Then
&srchSes = &gSrchSesAgain;
&srch = &srchSesLocal;

&srchSesLocal.ReInitiatePersSrch();
&srchSesLocal.Prompt.PopulatePrompts(&srchSesLocal.PromptFields,
&srchSesLocal, False);
&srchSesLocal.Prompt.PopulateNoOpPrompts(&srchSesLocal.NoOpPromptFields,
&srchSesLocal, False);
If ( Not &srchSesLocal.IsAdvancedSearch) Then
PTS_SRCH.PTS_FLTROP_GB.Visible = False;
End-If;
Else
&srchSes = &deviceFactory.GetSESSearchObject(&sSrchGrpName, "");

&srchSesLocal = &ssrDeviceFactory.GetSESSearchObject( Null, &sSrchGrpName,


"");
&srch = &srchSesLocal;

&srchSesLocal.SetGlobalSearch( True);
&srchSesLocal.SetKeywordsRequired( False);
&srchSesLocal.Keywords = &sSearchKey;
&srchSesLocal.SetSearchPageName(&sSrchPageName);
&srchSesLocal.SetRelActionsExists(&bRelActionsExists);
&srchSesLocal.SetBulkRelActionsExists(&bBulkRelActionsExists);
&srchSesLocal.Initiate();
&srchSesLocal.SetQueryText(&sSearchKey);

&gSrchSesAgain = &srchSesLocal;

&srchSesLocal.Prompt.SetDefaultSrchGrp(&sDefaultSrchGrp);
End-If;

&sMenuName = %Request.GetParameter("MNU");
&sMarketName = %Request.GetParameter("MKT");
&sComponent = %Request.GetParameter("COMP");
&sPage = %Request.GetParameter("PAGENAME");
&sNodeName = %Request.GetParameter("PTUS_NODE");
&sCompSrchGrpName = %Request.GetParameter("SEARCH_GROUP");

/* Set Filters */
If (&sSearchType <> "SEARCHAGAIN") Then;
%This.SetUpAdditionalFilters();

%This.AdditionalFilters("STRM", &sSrchStrm, "EQ");


%This.AdditionalFilters("INSTITUTION", &sSrchInst, "EQ");

If &sSrchAdv = "Y" Then


&sText = "";
If (Len(&sAdvSrchSubject) > 0) Then
&sText = &sText | &sAdvSrchSubject | " ";
%This.AdditionalFilters("SUBJECT", &sAdvSrchSubject,
&sAdvSubjectOP);
End-If;
If (Len(&sAdvSrchCatalogNbr) > 0) Then
&sText = &sText | &sAdvSrchCatalogNbr | " ";
%This.AdditionalFilters("CATALOG_NBR", &sAdvSrchCatalogNbr,
&sAdvCatalogNbrOP);
End-If;
If (Len(&sAdvSrchLastName) > 0) Then
&sText = &sText | &sAdvSrchLastName | " ";
%This.AdditionalFilters("LAST_NAME_SRCH", Upper(&sAdvSrchLastName),
&sAdvLastNameOP);
End-If;
End-If;

End-If;

/* To filter Open Only Classes as initial search results */

&recXlat = CreateRecord(Record.PSXLATITEM);
&recXlat.FIELDNAME.Value = "SSR_CLSRCH_QRY_VAL";
&recXlat.FIELDVALUE.Value = "O";
If &recXlat.SelectByKeyEffDt(%Date) Then
Local string &sOpenClassesOnly = &recXlat.XLATLONGNAME.Value;
Else
&sOpenClassesOnly = MsgGetText(14770, 867, "Message not found.");
End-If;

If (%This.DefltOpenClasses()) And
(&sSearchType <> "SEARCHAGAIN") Then
&srchSesLocal.AddFacetFilter("SSR_CLASS_STAT_ES", &sOpenClassesOnly,
&sOpenClassesOnly, &sOpenClassesOnly);
End-If;

If (Len(&sSearchKey) > 0) Then


&srch.bOnLoadSearch = True;

&bRet = &srchSesLocal.DoSearch();

If Not &bRet Then


&sSearchKey = &sSearchKey | "*";
&srchSesLocal.SetQueryText(&sSearchKey);
&bRet = &srchSesLocal.DoSearch();
End-If;

If ((&sSearchType = "SEARCHAGAIN") And


(&gSrchSesAgain <> Null)) Then
&srchSesLocal.UpdateBreadcrumbs();
End-If;

Local Rowset &rsFacet = GetLevel0()(1).GetRowset(Scroll.PTS_FACET);


Local Rowset &rsFacetValues;
Local string &sfacetName, &sfacetDispVal;
Local number &nFacetIdx, &nFacetValuesIdx;
Local boolean &bOpenClasses = False;

If (%This.DefltOpenClasses()) And
(&sSearchType <> "SEARCHAGAIN") Then;
For &nFacetIdx = 1 To &rsFacet.ActiveRowCount
Local Row &rowFacet = &rsFacet(&nFacetIdx);
&rsFacetValues = &rowFacet.GetRowset(Scroll.PTS_FACETVALUES);
For &nFacetValuesIdx = 1 To &rsFacetValues.ActiveRowCount
&sfacetName =
&rsFacetValues(&nFacetValuesIdx).PTS_FACETVALUES.PTS_FACET_NAME.Value;
&sfacetDispVal =
&rsFacetValues(&nFacetValuesIdx).PTS_FACETVALUES.PTS_FACET_DISPVAL.Value;
If &sfacetName = "SSR_CLASS_STAT_ES" Then
If &sfacetDispVal = &sOpenClassesOnly And
&rsFacetValues(&nFacetValuesIdx).Visible = True Then
&bOpenClasses = True;
&nFacetValuesIdx = &rsFacetValues.ActiveRowCount;
&nFacetIdx = &rsFacet.ActiveRowCount;
End-If;
End-If;
End-For;
End-For;

If ( Not &bOpenClasses) And


(%Request.BrowserDeviceFormFactor <> %FormFactor_Small) Then
/* To filter Open Only Classes as initial search results */
&srchSesLocal.RemoveFacetFilter("SSR_CLASS_STAT_ES",
&sOpenClassesOnly);
&bRet = &srchSesLocal.DoSearch();
End-If;
&srchSesLocal.UpdateBreadcrumbs();
End-If;

&srch.bOnLoadSearch = False;
End-If;

/* if there are no results or if searchkey is blank, clearResults page */


If Not &bRet Then
&srchSesLocal.bResultsCleared = False;
&srchSesLocal.ClearResults();
End-If;

If (&bRet) Then
HideLeftPane(&srchSesLocal.bUsePhoneLayout);
Else
If &srchSesLocal.bUsePhoneLayout Then;
&srch.showPromptsFromLeftPanel();
Else
HideLeftPane( False);
End-If;
End-If;

/* Hide New Search Box */


GetField(PTS_SRCH.PTS_FILTERS_GB).Visible = False;

&srchSesLocal.Prompt.Collapse(&bRet);

&srch.InitializeUI();

catch Exception &exGblSrch


WriteToLog(%ApplicationLogFence_Level1, &exGblSrch.ToString());
end-try;

Local Rowset &rsBreadCrumb;


Local integer &nBreadIdx;
&rsBreadCrumb = GetLevel0()(1).GetRowset(Scroll.PTS_BREADCRUMB);
For &nBreadIdx = 1 To &rsBreadCrumb.ActiveRowCount
End-For;

end-method;

method ManipulateFacetRow
/+ &p_iOpenClasses as Integer, +/
/+ &p_iWaitlistClasses as Integer, +/
/+ &p_iClosedClasses as Integer, +/
/+ &p_rsAllFacet as Rowset, +/
/+ &p_sChkFacet as String +/

Local Rowset &rsFacet = GetLevel0()(1).GetRowset(Scroll.PTS_FACET);


Local Rowset &rsFacetValues;
Local Rowset &rsWork, &rsIdxWork, &rsSort;

Local Record &recSort, &recFrom, &recTo;

Local number &iIdxWk, &iSort, &iWork;


Local number &nFacetIdx, &nFacetValuesIdx, &nFacetCount;
Local number &iSvNotSpec, &iNewLoc, &iNotSpec;
Local string &sfacetName, &sfacetDispVal;

Local boolean &bMatched;

&recXlat = CreateRecord(Record.PSXLATITEM);
&recXlat.FIELDNAME.Value = "SSR_CLSRCH_QRY_VAL";
&recXlat.FIELDVALUE.Value = "NS";
If &recXlat.SelectByKeyEffDt(%Date) Then
Local string &sNotSpecified = &recXlat.XLATLONGNAME.Value;
Else
&sNotSpecified = MsgGetText(14770, 866, "Message not found.");
End-If;

Local date &termBeginDt = %This.GetTermBeginDt();

%This.BuildCAFLabels();
Local Rowset &rsAllFacet = CreateRowset(Record.SSR_DER_CS_FACT);
&rsAllFacet = &p_rsAllFacet;
Local number &x;

For &nFacetIdx = 1 To &rsFacet.ActiveRowCount


&nFacetCount = 0;
Local Row &rowFacet = &rsFacet(&nFacetIdx);
&rsFacetValues = &rowFacet.GetRowset(Scroll.PTS_FACETVALUES);
&iSvNotSpec = 0;

For &nFacetValuesIdx = 1 To &rsFacetValues.ActiveRowCount

&rsFacetValues(&nFacetValuesIdx).PTS_FACETVALUES.PTS_FACET_DV_COUNT.HtmlAttributes
= "title='" | "'";

&sfacetName =
&rsFacetValues(&nFacetValuesIdx).PTS_FACETVALUES.PTS_FACET_NAME.Value;
&sfacetDispVal =
&rsFacetValues(&nFacetValuesIdx).PTS_FACETVALUES.PTS_FACET_DISPVAL.Value;
&nFacetCount = &nFacetCount + 1;

&recXlat = CreateRecord(Record.PSXLATITEM);
&recXlat.FIELDNAME.Value = "SSR_CLSRCH_QRY_VAL";
&recXlat.FIELDVALUE.Value = "O";
If &recXlat.SelectByKeyEffDt(%Date) Then
Local string &sOpenClassesOnly = &recXlat.XLATLONGNAME.Value;
Else
&sOpenClassesOnly = MsgGetText(14770, 867, "Message not found.");
End-If;
&recXlat.FIELDVALUE.Value = "W";
If &recXlat.SelectByKeyEffDt(%Date) Then
Local string &sWaitListClassesOnly = &recXlat.XLATLONGNAME.Value;
Else
&sWaitListClassesOnly = MsgGetText(14770, 868, "Message not found.");
End-If;
&recXlat.FIELDVALUE.Value = "C";
If &recXlat.SelectByKeyEffDt(%Date) Then
Local string &sClosedClassesOnly = &recXlat.XLATLONGNAME.Value;
Else
&sClosedClassesOnly = MsgGetText(14770, 869, "Message not found.");
End-If;

Evaluate &sfacetName
When "SSR_CLASS_STAT_ES"
/* Start Enrollment Status Facet */
If &nFacetValuesIdx = 1 Then
Local number &nSortSeq, &nSortCtr;
&iSort = 0;
&rsSort = CreateRowset(Record.SSR_DER_CS_SORT);
End-If;

&nSortSeq = 0;
Evaluate &sfacetDispVal
When &sOpenClassesOnly
&nSortCtr = &nSortCtr + 1;
If &p_iOpenClasses = 0 Then
&nSortSeq = 10;
Else
&nSortSeq = 1;
End-If;
Break;

When &sWaitListClassesOnly
&nSortCtr = &nSortCtr + 1;
If &p_iWaitlistClasses = 0 Then
&nSortSeq = 20;
Else
&nSortSeq = 2;
End-If;
Break;

When &sClosedClassesOnly
&nSortCtr = &nSortCtr + 1;
If &p_iClosedClasses = 0 Then
&nSortSeq = 30;
Else
&nSortSeq = 3;
End-If;
Break;
End-Evaluate;

If &nSortSeq <> 0 Then


If &iSort <> 0 Then
&rsSort.InsertRow(&iSort);
End-If;
&iSort = &iSort + 1;
&recSort = &rsSort(&iSort).GetRecord(Record.SSR_DER_CS_SORT);
&recSort.SSR_DESCR.Value = &sfacetDispVal;
&recSort.SSR_CAF_ATTR_NVAL.Value = &nSortSeq;
End-If;

If (&nFacetValuesIdx = &rsFacetValues.ActiveRowCount) And


(&nSortCtr > 1) Then
&rsSort.Sort(SSR_DER_CS_SORT.SSR_CAF_ATTR_NVAL, "A");

&rsIdxWork = CreateRowset(Record.PTS_FACETVALUES);
&rsFacetValues.CopyTo(&rsIdxWork);

Local array of number &aHide = CreateArrayRept(0, 0);

For &iSort = 1 To &rsSort.ActiveRowCount;


For &iIdxWk = 1 To &rsIdxWork.ActiveRowCount;
If &rsIdxWork(&iIdxWk).PTS_FACETVALUES.PTS_FACET_DISPVAL.Value
= &rsSort(&iSort).SSR_DER_CS_SORT.SSR_DESCR.Value Then
&recFrom =
&rsIdxWork(&iIdxWk).GetRecord(Record.PTS_FACETVALUES);
&recTo =
&rsFacetValues(&iSort).GetRecord(Record.PTS_FACETVALUES);
&recFrom.CopyFieldsTo(&recTo);

&rsFacetValues(&iSort).PTS_FACETVALUES.PTS_FACET_DV_COUNT.Label =
&rsFacetValues(&iSort).PTS_FACETVALUES.PTS_FACET_DISPVAL.Value;
If &rsSort(&iSort).SSR_DER_CS_SORT.SSR_CAF_ATTR_NVAL.Value
>= 10 Then
&aHide.Push(&iSort);
End-If;
&iIdxWk = &rsIdxWork.ActiveRowCount;
End-If;
End-For;
End-For;

If &aHide.Len <> 0 Then


For &iSort = &aHide.Len To 1 Step - 1
&rsFacetValues(&aHide [&iSort]).Visible = False;
End-For;
End-If;

End-If;
Break;
/* End Enrollment Status Facet */

When "CLASS_MTG_DAYS"
/* Start Meeting Days */
If &rsFacetValues.ActiveRowCount > 1 Then
If &nFacetValuesIdx = 1 Then
&rsWork = CreateRowset(Record.SSR_FACET_DAYS);
&rsWork.Fill("WHERE %EffDtCheck(SSR_FACET_DAYS, FILL, :1)",
&termBeginDt);
&iSort = 0;
&rsSort = CreateRowset(Record.SSR_DER_CS_SORT);
End-If;
If All(&rsWork(1).SSR_FACET_DAYS.DESCR.Value) Then
&bMatched = False;
For &iWork = 1 To &rsWork.ActiveRowCount
If &rsWork(&iWork).SSR_FACET_DAYS.DESCR.Value = &sfacetDispVal
Then
If &iSort <> 0 Then
&rsSort.InsertRow(&iSort);
End-If;
&iSort = &iSort + 1;
&recSort =
&rsSort(&iSort).GetRecord(Record.SSR_DER_CS_SORT);
&recSort.SSR_DESCR.Value = &sfacetDispVal;
&recSort.SSR_CAF_ATTR_NVAL.Value =
&rsWork(&iWork).SSR_FACET_DAYS.SSR_SEQ_NBR.Value;
&iWork = &rsWork.ActiveRowCount;
&bMatched = True;
End-If;
End-For;
If Not &bMatched Then
If &iSort <> 0 Then
&rsSort.InsertRow(&iSort);
End-If;
&iSort = &iSort + 1;
&recSort = &rsSort(&iSort).GetRecord(Record.SSR_DER_CS_SORT);
&recSort.SSR_DESCR.Value = &sfacetDispVal;
&recSort.SSR_CAF_ATTR_NVAL.Value = 99999;
End-If;

If &nFacetValuesIdx = &rsFacetValues.ActiveRowCount Then


&rsSort.Sort(SSR_DER_CS_SORT.SSR_CAF_ATTR_NVAL, "A");

&rsIdxWork = CreateRowset(Record.PTS_FACETVALUES);
&rsFacetValues.CopyTo(&rsIdxWork);
For &iSort = 1 To &rsSort.ActiveRowCount
For &iIdxWk = 1 To &rsIdxWork.ActiveRowCount
If
&rsIdxWork(&iIdxWk).PTS_FACETVALUES.PTS_FACET_DISPVAL.Value =
&rsSort(&iSort).SSR_DER_CS_SORT.SSR_DESCR.Value Then
&recFrom =
&rsIdxWork(&iIdxWk).GetRecord(Record.PTS_FACETVALUES);
&recTo =
&rsFacetValues(&iSort).GetRecord(Record.PTS_FACETVALUES);
&recFrom.CopyFieldsTo(&recTo);

&rsFacetValues(&iSort).PTS_FACETVALUES.PTS_FACET_DV_COUNT.Label =
&rsFacetValues(&iSort).PTS_FACETVALUES.PTS_FACET_DISPVAL.Value;
&iIdxWk = &rsIdxWork.ActiveRowCount;
End-If;
End-For;
End-For;
End-If;
End-If;
End-If;
/* End Meeting Days */
Break;

When "SSR_NUM_UNITS_ES"
/* Start Class Units */
If &rsFacetValues.ActiveRowCount > 1 Then
If &nFacetValuesIdx = 1 Then
&rsWork = CreateRowset(Record.SSR_FACET_UNITS);
&rsWork.Fill("WHERE %EffDtCheck(SSR_FACET_UNITS, FILL, :1)",
&termBeginDt);
&iSort = 0;
&rsSort = CreateRowset(Record.SSR_DER_CS_SORT);
End-If;
If All(&rsWork(1).SSR_FACET_UNITS.DESCR.Value) Then
&bMatched = False;
For &iWork = 1 To &rsWork.ActiveRowCount
If &rsWork(&iWork).SSR_FACET_UNITS.DESCR.Value =
&sfacetDispVal Then
If &iSort <> 0 Then
&rsSort.InsertRow(&iSort);
End-If;
&iSort = &iSort + 1;
&recSort =
&rsSort(&iSort).GetRecord(Record.SSR_DER_CS_SORT);
&recSort.SSR_DESCR.Value = &sfacetDispVal;
&recSort.SSR_CAF_ATTR_NVAL.Value =
&rsWork(&iWork).SSR_FACET_UNITS.SSR_SEQ_NBR.Value;
&iWork = &rsWork.ActiveRowCount;
&bMatched = True;
End-If;
End-For;
If Not &bMatched Then
If &iSort <> 0 Then
&rsSort.InsertRow(&iSort);
End-If;
&iSort = &iSort + 1;
&recSort = &rsSort(&iSort).GetRecord(Record.SSR_DER_CS_SORT);
&recSort.SSR_DESCR.Value = &sfacetDispVal;
&recSort.SSR_CAF_ATTR_NVAL.Value = 99999;
End-If;

If &nFacetValuesIdx = &rsFacetValues.ActiveRowCount Then


&rsSort.Sort(SSR_DER_CS_SORT.SSR_CAF_ATTR_NVAL, "A");

&rsIdxWork = CreateRowset(Record.PTS_FACETVALUES);
&rsFacetValues.CopyTo(&rsIdxWork);
For &iSort = 1 To &rsSort.ActiveRowCount
For &iIdxWk = 1 To &rsIdxWork.ActiveRowCount
If
&rsIdxWork(&iIdxWk).PTS_FACETVALUES.PTS_FACET_DISPVAL.Value =
&rsSort(&iSort).SSR_DER_CS_SORT.SSR_DESCR.Value Then
&recFrom =
&rsIdxWork(&iIdxWk).GetRecord(Record.PTS_FACETVALUES);
&recTo =
&rsFacetValues(&iSort).GetRecord(Record.PTS_FACETVALUES);
&recFrom.CopyFieldsTo(&recTo);

&rsFacetValues(&iSort).PTS_FACETVALUES.PTS_FACET_DV_COUNT.Label =
&rsFacetValues(&iSort).PTS_FACETVALUES.PTS_FACET_DISPVAL.Value;
&iIdxWk = &rsIdxWork.ActiveRowCount;
End-If;
End-For;
End-For;
End-If;
End-If;
End-If;
/* End Class Units */
Break;

When "SSR_START_TIMES_ES"
/* Start Class Start Times */
If &rsFacetValues.ActiveRowCount > 1 Then
If &nFacetValuesIdx = 1 Then
&rsWork = CreateRowset(Record.SSR_FACET_STIME);
&rsWork.Fill("WHERE %EffDtCheck(SSR_FACET_STIME, FILL, :1)",
&termBeginDt);
&rsWork.Sort(SSR_FACET_STIME.MEETING_TIME_START, "A",
SSR_FACET_STIME.MEETING_TIME_END, "A");
&iSort = 0;
&rsSort = CreateRowset(Record.SSR_DER_CS_SORT);
End-If;
If All(&rsWork(1).SSR_FACET_STIME.DESCR.Value) Then
&bMatched = False;
For &iWork = 1 To &rsWork.ActiveRowCount
If &rsWork(&iWork).SSR_FACET_STIME.DESCR.Value =
&sfacetDispVal Then
If &iSort <> 0 Then
&rsSort.InsertRow(&iSort);
End-If;
&iSort = &iSort + 1;
&recSort =
&rsSort(&iSort).GetRecord(Record.SSR_DER_CS_SORT);
&recSort.SSR_DESCR.Value = &sfacetDispVal;
&recSort.SSR_CAF_ATTR_NVAL.Value = &iWork;
&iWork = &rsWork.ActiveRowCount;
&bMatched = True;
End-If;
End-For;
If Not &bMatched Then
If &iSort <> 0 Then
&rsSort.InsertRow(&iSort);
End-If;
&iSort = &iSort + 1;
&recSort = &rsSort(&iSort).GetRecord(Record.SSR_DER_CS_SORT);
&recSort.SSR_DESCR.Value = &sfacetDispVal;
&recSort.SSR_CAF_ATTR_NVAL.Value = 99999;
End-If;

If &nFacetValuesIdx = &rsFacetValues.ActiveRowCount Then


&rsSort.Sort(SSR_DER_CS_SORT.SSR_CAF_ATTR_NVAL, "A");

&rsIdxWork = CreateRowset(Record.PTS_FACETVALUES);
&rsFacetValues.CopyTo(&rsIdxWork);
For &iSort = 1 To &rsSort.ActiveRowCount
For &iIdxWk = 1 To &rsIdxWork.ActiveRowCount
If
&rsIdxWork(&iIdxWk).PTS_FACETVALUES.PTS_FACET_DISPVAL.Value =
&rsSort(&iSort).SSR_DER_CS_SORT.SSR_DESCR.Value Then
&recFrom =
&rsIdxWork(&iIdxWk).GetRecord(Record.PTS_FACETVALUES);
&recTo =
&rsFacetValues(&iSort).GetRecord(Record.PTS_FACETVALUES);
&recFrom.CopyFieldsTo(&recTo);

&rsFacetValues(&iSort).PTS_FACETVALUES.PTS_FACET_DV_COUNT.Label =
&rsFacetValues(&iSort).PTS_FACETVALUES.PTS_FACET_DISPVAL.Value;
&iIdxWk = &rsIdxWork.ActiveRowCount;
End-If;
End-For;
End-For;
End-If;
End-If;
End-If;
/* End Class Start Times */
Break;

When "SSR_END_TIMES_ES"
/* Start Class End Times */
If &rsFacetValues.ActiveRowCount > 1 Then
If &nFacetValuesIdx = 1 Then
&rsWork = CreateRowset(Record.SSR_FACET_ETIME);
&rsWork.Fill("WHERE %EffDtCheck(SSR_FACET_ETIME, FILL, :1)",
&termBeginDt);
&rsWork.Sort(SSR_FACET_ETIME.MEETING_TIME_START, "A",
SSR_FACET_ETIME.MEETING_TIME_END, "A");
&iSort = 0;
&rsSort = CreateRowset(Record.SSR_DER_CS_SORT);
End-If;
If All(&rsWork(1).SSR_FACET_ETIME.DESCR.Value) Then
&bMatched = False;
For &iWork = 1 To &rsWork.ActiveRowCount
If &rsWork(&iWork).SSR_FACET_ETIME.DESCR.Value =
&sfacetDispVal Then
If &iSort <> 0 Then
&rsSort.InsertRow(&iSort);
End-If;
&iSort = &iSort + 1;
&recSort =
&rsSort(&iSort).GetRecord(Record.SSR_DER_CS_SORT);
&recSort.SSR_DESCR.Value = &sfacetDispVal;
&recSort.SSR_CAF_ATTR_NVAL.Value = &iWork;
&iWork = &rsWork.ActiveRowCount;
&bMatched = True;
End-If;
End-For;
If Not &bMatched Then
If &iSort <> 0 Then
&rsSort.InsertRow(&iSort);
End-If;
&iSort = &iSort + 1;
&recSort = &rsSort(&iSort).GetRecord(Record.SSR_DER_CS_SORT);
&recSort.SSR_DESCR.Value = &sfacetDispVal;
&recSort.SSR_CAF_ATTR_NVAL.Value = 99999;
End-If;

If &nFacetValuesIdx = &rsFacetValues.ActiveRowCount Then


&rsSort.Sort(SSR_DER_CS_SORT.SSR_CAF_ATTR_NVAL, "A");

&rsIdxWork = CreateRowset(Record.PTS_FACETVALUES);
&rsFacetValues.CopyTo(&rsIdxWork);
For &iSort = 1 To &rsSort.ActiveRowCount
For &iIdxWk = 1 To &rsIdxWork.ActiveRowCount
If
&rsIdxWork(&iIdxWk).PTS_FACETVALUES.PTS_FACET_DISPVAL.Value =
&rsSort(&iSort).SSR_DER_CS_SORT.SSR_DESCR.Value Then
&recFrom =
&rsIdxWork(&iIdxWk).GetRecord(Record.PTS_FACETVALUES);
&recTo =
&rsFacetValues(&iSort).GetRecord(Record.PTS_FACETVALUES);
&recFrom.CopyFieldsTo(&recTo);

&rsFacetValues(&iSort).PTS_FACETVALUES.PTS_FACET_DV_COUNT.Label =
&rsFacetValues(&iSort).PTS_FACETVALUES.PTS_FACET_DISPVAL.Value;
&iIdxWk = &rsIdxWork.ActiveRowCount;
End-If;
End-For;
End-For;
End-If;
End-If;
End-If;
/* End Class End Times */
Break;

When "SSR_CAF_DESCR1"
Local number &nCAFSeq = 1;
When "SSR_CAF_DESCR2"
&nCAFSeq = 2;
When "SSR_CAF_DESCR3"
&nCAFSeq = 3;
When "SSR_CAF_DESCR4"
&nCAFSeq = 4;
When "SSR_CAF_DESCR5"
&nCAFSeq = 5;

When "SSR_CAF_DESCR1"
When "SSR_CAF_DESCR2"
When "SSR_CAF_DESCR3"
When "SSR_CAF_DESCR4"
When "SSR_CAF_DESCR5"
/* Start CAFs */

If &rsFacetValues.ActiveRowCount > 0 Then


If &nFacetValuesIdx = 1 Then
Local string &sAttrType = " ";
&rsWork = CreateRowset(Record.SSR_FCT_CAF_ATT);
Local Record &recCAFFilter;
&rsWork.Fill("WHERE FILL.SCC_CAF_ATTR_SEQ=:1", &nCAFSeq);
If All(&rsWork(1).SSR_FCT_CAF_ATT.SCC_CAF_ATTRIB_NM.Value) Then
Local Record &recCAFAttrb =
CreateRecord(Record.SCC_CAF_ATTRIBS);
&recCAFAttrb.SCC_CAF_ATTRIB_NM.Value =
&rsWork(1).SSR_FCT_CAF_ATT.SCC_CAF_ATTRIB_NM.Value;
If &recCAFAttrb.SelectByKey() Then
&sAttrType = &recCAFAttrb.SCC_CAF_ATTR_TYPE.Value;
End-If;
End-If;
End-If;

Evaluate &sAttrType
When "04"
/* Start CAF By NUMERIC VALUE */
If &nFacetValuesIdx = 1 Then
&iSort = 0;
&rsSort = CreateRowset(Record.SSR_DER_CS_SORT);
End-If;
If &iSort <> 0 Then
&rsSort.InsertRow(&iSort);
End-If;
&iSort = &iSort + 1;
&recSort = &rsSort(&iSort).GetRecord(Record.SSR_DER_CS_SORT);
&recSort.SSR_DESCR.Value = &sfacetDispVal;
&recSort.SSR_CAF_ATTR_NVAL.Value = Value(&sfacetDispVal);

If &nFacetValuesIdx = &rsFacetValues.ActiveRowCount Then


&rsSort.Sort(SSR_DER_CS_SORT.SSR_CAF_ATTR_NVAL, "A");

&rsIdxWork = CreateRowset(Record.PTS_FACETVALUES);
&rsFacetValues.CopyTo(&rsIdxWork);
For &iSort = 1 To &rsSort.ActiveRowCount
For &iIdxWk = 1 To &rsIdxWork.ActiveRowCount
If
&rsIdxWork(&iIdxWk).PTS_FACETVALUES.PTS_FACET_DISPVAL.Value =
&rsSort(&iSort).SSR_DER_CS_SORT.SSR_DESCR.Value Then
&recFrom =
&rsIdxWork(&iIdxWk).GetRecord(Record.PTS_FACETVALUES);
&recTo =
&rsFacetValues(&iSort).GetRecord(Record.PTS_FACETVALUES);
&recFrom.CopyFieldsTo(&recTo);

&rsFacetValues(&iSort).PTS_FACETVALUES.PTS_FACET_DV_COUNT.Label =
&rsFacetValues(&iSort).PTS_FACETVALUES.PTS_FACET_DISPVAL.Value;
&iIdxWk = &rsIdxWork.ActiveRowCount;
End-If;
End-For;
End-For;
End-If;
/* End CAF By NUMERIC VALUE */
Break;

When "05"
/* Start CAF By DATE */
If &nFacetValuesIdx = 1 Then
&iSort = 0;
&rsSort = CreateRowset(Record.SSR_DER_CS_SORT);
End-If;
If &iSort <> 0 Then
&rsSort.InsertRow(&iSort);
End-If;
&iSort = &iSort + 1;
&recSort = &rsSort(&iSort).GetRecord(Record.SSR_DER_CS_SORT);
&recSort.SSR_DESCR.Value = &sfacetDispVal;

&recSort.SSR_DATE.Value = Date(&sfacetDispVal);

If &nFacetValuesIdx = &rsFacetValues.ActiveRowCount Then


&rsSort.Sort(SSR_DER_CS_SORT.SSR_DATE, "A");

&rsIdxWork = CreateRowset(Record.PTS_FACETVALUES);
&rsFacetValues.CopyTo(&rsIdxWork);
For &iSort = 1 To &rsSort.ActiveRowCount
For &iIdxWk = 1 To &rsIdxWork.ActiveRowCount
If
&rsIdxWork(&iIdxWk).PTS_FACETVALUES.PTS_FACET_DISPVAL.Value =
&rsSort(&iSort).SSR_DER_CS_SORT.SSR_DESCR.Value Then
&recFrom =
&rsIdxWork(&iIdxWk).GetRecord(Record.PTS_FACETVALUES);
&recTo =
&rsFacetValues(&iSort).GetRecord(Record.PTS_FACETVALUES);
&recFrom.CopyFieldsTo(&recTo);
Local SSR_MANAGE_CLASSES:UTIL:Formatter &oFormatter =
create SSR_MANAGE_CLASSES:UTIL:Formatter();
Local date &dTempDate =
(&rsFacetValues(&iSort).PTS_FACETVALUES.PTS_FACET_DISPVAL.Value);

&rsFacetValues(&iSort).PTS_FACETVALUES.PTS_FACET_DISPVAL.Value =
&oFormatter.FormatDate(&dTempDate);

&rsFacetValues(&iSort).PTS_FACETVALUES.PTS_FACET_DV_COUNT.Label =
&rsFacetValues(&iSort).PTS_FACETVALUES.PTS_FACET_DISPVAL.Value;

&rsFacetValues(&iSort).PTS_FACETVALUES.PTS_FCT_DV_DIS.Value =
&rsFacetValues(&iSort).PTS_FACETVALUES.PTS_FACET_DISPVAL.Value;
&iIdxWk = &rsIdxWork.ActiveRowCount;
End-If;
End-For;
End-For;
End-If;
/* End CAF By DATE */
Break;

When "06"
/* Start CAF By TIME */
If &nFacetValuesIdx = 1 Then
&iSort = 0;
&rsSort = CreateRowset(Record.SSR_DER_CS_SORT);
End-If;
If &iSort <> 0 Then
&rsSort.InsertRow(&iSort);
End-If;
&iSort = &iSort + 1;
&recSort = &rsSort(&iSort).GetRecord(Record.SSR_DER_CS_SORT);
&recSort.SSR_DESCR.Value = &sfacetDispVal;
&recSort.SSR_TIME.Value = TimeValue(&sfacetDispVal);

If &nFacetValuesIdx = &rsFacetValues.ActiveRowCount Then


&rsSort.Sort(SSR_DER_CS_SORT.SSR_TIME, "A");

&rsIdxWork = CreateRowset(Record.PTS_FACETVALUES);
&rsFacetValues.CopyTo(&rsIdxWork);
For &iSort = 1 To &rsSort.ActiveRowCount
For &iIdxWk = 1 To &rsIdxWork.ActiveRowCount
If
&rsIdxWork(&iIdxWk).PTS_FACETVALUES.PTS_FACET_DISPVAL.Value =
&rsSort(&iSort).SSR_DER_CS_SORT.SSR_DESCR.Value Then
&recFrom =
&rsIdxWork(&iIdxWk).GetRecord(Record.PTS_FACETVALUES);
&recTo =
&rsFacetValues(&iSort).GetRecord(Record.PTS_FACETVALUES);
&recFrom.CopyFieldsTo(&recTo);

&rsFacetValues(&iSort).PTS_FACETVALUES.PTS_FACET_DV_COUNT.Label =
&rsFacetValues(&iSort).PTS_FACETVALUES.PTS_FACET_DISPVAL.Value;
&oFormatter = create
SSR_MANAGE_CLASSES:UTIL:Formatter();

&rsFacetValues(&iSort).PTS_FACETVALUES.PTS_FACET_DISPVAL.Value =
&oFormatter.FormatTimeSS(%Date, &rsSort(&iSort).SSR_DER_CS_SORT.SSR_TIME.Value);

&rsFacetValues(&iSort).PTS_FACETVALUES.PTS_FACET_DV_COUNT.Label =
&rsFacetValues(&iSort).PTS_FACETVALUES.PTS_FACET_DISPVAL.Value;

&rsFacetValues(&iSort).PTS_FACETVALUES.PTS_FCT_DV_DIS.Value =
&rsFacetValues(&iSort).PTS_FACETVALUES.PTS_FACET_DISPVAL.Value;
&iIdxWk = &rsIdxWork.ActiveRowCount;
End-If;
End-For;
End-For;
End-If;
/* End CAF By TIME */
Break;

When "07"
/* Start CAF By YES/NO */
If All(&rsWork(1).SSR_FCT_CAF_ATT.SSR_DESCR.Value) Then
Local string &sYNOLbl = """*" |
&rsWork(1).SSR_FCT_CAF_ATT.SSR_DESCR.Value | """";
Local string &sYNOFacetValue = LTrim(&sfacetDispVal,
&sYNOLbl);
&sYNOFacetValue = LTrim(&sYNOFacetValue, " (");
&sYNOFacetValue = RTrim(&sYNOFacetValue, ")");
Else
&sYNOFacetValue = &sfacetDispVal;
End-If;

If &nFacetValuesIdx = 1 Then
&iSort = 0;
&rsSort = CreateRowset(Record.SSR_DER_CS_SORT);
End-If;
If &iSort <> 0 Then
&rsSort.InsertRow(&iSort);
End-If;
&iSort = &iSort + 1;
&recSort = &rsSort(&iSort).GetRecord(Record.SSR_DER_CS_SORT);
&recSort.SSR_DESCR.Value = &sfacetDispVal;
&recSort.SSR_CAF_YNO_XLAT.Value = &sYNOFacetValue;

If &nFacetValuesIdx = &rsFacetValues.ActiveRowCount Then


&rsSort.Sort(SSR_DER_CS_SORT.SSR_CAF_YNO_XLAT, "D");

&rsIdxWork = CreateRowset(Record.PTS_FACETVALUES);
&rsFacetValues.CopyTo(&rsIdxWork);
For &iSort = 1 To &rsSort.ActiveRowCount
For &iIdxWk = 1 To &rsIdxWork.ActiveRowCount
If
&rsIdxWork(&iIdxWk).PTS_FACETVALUES.PTS_FACET_DISPVAL.Value =
&rsSort(&iSort).SSR_DER_CS_SORT.SSR_DESCR.Value Then
&recFrom =
&rsIdxWork(&iIdxWk).GetRecord(Record.PTS_FACETVALUES);
&recTo =
&rsFacetValues(&iSort).GetRecord(Record.PTS_FACETVALUES);
&recFrom.CopyFieldsTo(&recTo);

&rsFacetValues(&iSort).PTS_FACETVALUES.PTS_FACET_DV_COUNT.Label =
&rsFacetValues(&iSort).PTS_FACETVALUES.PTS_FACET_DISPVAL.Value;
&iIdxWk = &rsIdxWork.ActiveRowCount;
End-If;
End-For;
End-For;
End-If;
/* End CAF By YES/NO */
Break;

When "LO"
/* Start CAF By LIST OF VALUES */
&rsFacetValues.Sort(PTS_FACETVALUES.PTS_FACET_DISPVAL, "A");
Break;

End-Evaluate;

End-If;
/* End CAFs */
Break;

End-Evaluate;

If (&rsFacetValues.ActiveRowCount > 1) And


(&sfacetDispVal = &sNotSpecified) Then
&rsFacetValues(&nFacetValuesIdx).Visible = False;
End-If;

End-For;
If (&nFacetCount = 1) And
(&sfacetDispVal = &sNotSpecified) Then
&rsFacet(&nFacetIdx).PTS_FACET.PTS_GROUP_BOX.FreeFormStyleName =
"psc_hidden";
End-If;
End-For;

end-method;

method SetUpAdditionalFilters
If (&srch.SearchType = "S") Then
&srchSesLocal.fg = create PT_SEARCH:SearchFilterGenerator();
&srchSesLocal.bUseFilterGen = False;
&srchSesLocal.AddAdditionalSearchCriteriaToFilterGen();

If (&srchSesLocal.NeedPortalNameFilter()) Then
Local boolean &bFltr = &srchSesLocal.SetCurrentPortalFilter();
&srchSesLocal.bUseFilterGen = True;
End-If;
End-If;
end-method;

method AdditionalFilters
/+ &sFilterName as String, +/
/+ &sFilterValue as String, +/
/+ &sFilterOperator as String +/
Local integer &i;
Local Row &row;

Local string &sLabelOperator;


Evaluate &sFilterOperator
When "CT"
&recXlat = CreateRecord(Record.PSXLATITEM);
&recXlat.FIELDNAME.Value = "SSR_CLSRCH_QRY_VAL";
&recXlat.FIELDVALUE.Value = "CT";
If &recXlat.SelectByKeyEffDt(%Date) Then
&sLabelOperator = " " | &recXlat.XLATLONGNAME.Value;
Else
&sLabelOperator = " (" | MsgGetText(14770, 870, "Message not found.") |
")";
End-If;
When "EQ"
&sLabelOperator = " (=)";
When "NE"
&recXlat = CreateRecord(Record.PSXLATITEM);
&recXlat.FIELDNAME.Value = "SSR_CLSRCH_QRY_VAL";
&recXlat.FIELDVALUE.Value = "NE";
If &recXlat.SelectByKeyEffDt(%Date) Then
&sLabelOperator = " " | &recXlat.XLATLONGNAME.Value;
Else
&sLabelOperator = " (not=)";
End-If;
End-Evaluate;

try
If (&srch.SearchType = "S") Then
Local string &label = &sFilterName | &sLabelOperator;
Local string &type = "CHAR";
Local string &filterOp = &sFilterOperator;
Local PTS_NUI:SearchPromptFilter &srchPromptFilter = create
PTS_NUI:SearchPromptFilter(&sFilterName, &label, &type, &filterOp);

&srchPromptFilter.SearchField.Value = &sFilterValue;
If (&srch.SearchType = "R") Then
&srch.ClearAllFacetFilters();
End-If;
&srch.AddPromptFilter(&srchPromptFilter);

End-If;
catch Exception &e
end-try;

try
Local Rowset &rsNoOpFilters = GetLevel0()
(1).GetRowset(Scroll.PTS_FILTER_NOOP);
For &i = 1 To &rsNoOpFilters.ActiveRowCount
&row = &rsNoOpFilters.GetRow(&i);
If (&row.PTS_FILTER_NOOP.PTS_APPLY_CHANGE.Value = "Y") Then
SetPromptRowNoOpFilter(&row);
End-If;
End-For;
catch Exception &e2
end-try;

try
If ((&srch.SearchType = "S") And
( Not &srch.bIsPersistentSearch)) Then
&srchSesLocal.SetQueryText(PTS_SRCH.PTS_KEYWORDS.Value);
End-If;
catch Exception &e3
end-try;

If (&srch.SearchType = "A") Then


try
PTS_SRCH.PTS_SHOWFILTERS.Visible = True;
catch Exception &ex
end-try;
Else
If (&srch.Facet <> Null) And
(&srch.bFacetsSubPageExists) Then
&srch.Facet.ResetShowMoreValuesFlags();
End-If;
End-If;

end-method;
method SortFilterResults
/+ &p_Keywords as String +/

Local Rowset &rsResults = GetLevel0()(1).GetRowset(Scroll.PTS_RSLT_LIST);


Local integer &i, &i2, &iTotalRows, &iNumClasses;
Local string &sClassType1, &sClassType2;

Local boolean &bFirstMultiComp = True;

Local boolean &bTopicSearchEnd;


Local string &sTopicSearch = " ";

If &Access = "A" Then


AddJavaScript(HTML.SSR_MANAGE_CLASSES_JS);
AddOnLoadScript("hideGridChevron();");
End-If;

For &i = 1 To &rsResults.ActiveRowCount


Local Record &recResults = &rsResults(&i).GetRecord(Record.PTS_RSLT_LIST);
&recResults.PTS_LIST_TITLE.Value = &recResults.PTS_KEYVALUES.Value |
&recResults.PTS_LIST_TITLE.Value;
&recResults.PTS_KEYVALUES.Value =
StripOffHtmlTags(&recResults.PTS_LIST_TITLE.Value);

/* To be able to properly sort search results using Grid Sort Button */


&recResults.PTS_LIST_TITLE.Value = "<p hidden>" |
&recResults.PTS_KEYVALUES.Value | "</p>" | &recResults.PTS_LIST_TITLE.Value;

/* Check if the keyword search is for class number */


If &i = 1 Then
Local string &sFindKeywords = &p_Keywords;
If IsNumber(&sFindKeywords) Then
Local integer &iClassNbrSearch = Value(LTrim(&sFindKeywords));
&bTopicSearchEnd = True;
Else
&iClassNbrSearch = 0;
End-If;

/* Check if the keyword search found classes using topic */


If Not (&bTopicSearchEnd) Then
Local boolean &bUseTopics = %This.IncludeCrseTopic();
If Not &bUseTopics Then
&bTopicSearchEnd = True;
End-If;
End-If;

End-If;

If Not (&bTopicSearchEnd) Then


If &i = 1 Then
&sFindKeywords = RTrim(&sFindKeywords, "*%1234567890");
&sFindKeywords = "%" | &sFindKeywords | "%";
End-If;
Local string &sKeyStrings = &recResults.PTS_KEYVALUES.Value | " " |
StripOffHtmlTags(&recResults.PTS_LIST_SUMMARY.Value);
If DBPatternMatch(&sKeyStrings, &sFindKeywords, False) Then
Else
&sTopicSearch = RTrim(&p_Keywords, "*%");
&bTopicSearchEnd = True;
End-If;
End-If;

End-For;

&rsResults.Sort(PTS_RSLT_LIST.PTS_KEYVALUES, "A");

/* Build the Rowset Filters */


%This.BuildRowsetFilters(&iClassNbrSearch, &sTopicSearch);

&obj_ClassOptions = create SSR_MANAGE_CLASSES:UTIL:ClassOptions();

Local string &sSvKeyValues, &sSvComponent;


Local integer &iS, &iE;

Local array of number &aClassRslt;

Local boolean &bMultiComp = False;

If &rsResults.ActiveRowCount <> 0 Then


&i = &rsResults.ActiveRowCount;
&iE = &rsResults.ActiveRowCount;
&sSvKeyValues = &rsResults(&i).PTS_RSLT_LIST.PTS_KEYVALUES.Value;
&sSvComponent = %This.GetUrlValue(&rsResults(&i).PTS_RSLT_LIST.PTS_URL.Value,
"SSR_COMPONENT");
&aClassRslt = CreateArrayRept(0, 0);
End-If;

Local array of string &aDelete = CreateArrayRept(" ", 0);


Local number &nCourseCnt, &iBump;
Local Rowset &rsFilter = &oManageClassesGlobalVars.rsFilter;
Local Record &recFilter = &rsFilter(1).GetRecord(Record.SSR_DER_CS_FLTR);
&sSvKeyValues = " ";
&sSvComponent = " ";

Local integer &iOpenClasses;


Local integer &iWaitlistClasses;
Local integer &iClosedClasses;

For &i = 1 To &rsResults.ActiveRowCount


&iBump = 0;
If &sSvKeyValues <> &rsResults(&i).PTS_RSLT_LIST.PTS_KEYVALUES.Value Then
&aDelete.Push("N");
&sSvKeyValues = &rsResults(&i).PTS_RSLT_LIST.PTS_KEYVALUES.Value;
&sSvComponent =
%This.GetUrlValue(&rsResults(&i).PTS_RSLT_LIST.PTS_URL.Value, "SSR_COMPONENT");
&bMultiComp = False;
&aClassRslt = CreateArrayRept(0, 0);
Local integer &iClassNbr =
Value(LTrim(%This.GetUrlValue(&rsResults(&i).PTS_RSLT_LIST.PTS_URL.Value,
"CLASS_NBR")));
&aClassRslt.Push(&iClassNbr);

For &i2 = (&i + 1) To &rsResults.ActiveRowCount


If &sSvKeyValues = &rsResults(&i2).PTS_RSLT_LIST.PTS_KEYVALUES.Value
Then
&iClassNbr =
Value(LTrim(%This.GetUrlValue(&rsResults(&i2).PTS_RSLT_LIST.PTS_URL.Value,
"CLASS_NBR")));
If &aClassRslt.Find(&iClassNbr) = 0 Then
&aClassRslt.Push(&iClassNbr);
End-If;
&aDelete.Push("Y");
&iBump = &i2;
If ( Not &bMultiComp) And
(&sSvComponent <>
%This.GetUrlValue(&rsResults(&i2).PTS_RSLT_LIST.PTS_URL.Value, "SSR_COMPONENT"))
Then
&bMultiComp = True;
End-If;
Else
&i2 = &rsResults.ActiveRowCount;
End-If;
End-For;

&recFilter.CRSE_ID.Value =
%This.GetUrlValue(&rsResults(&i).PTS_RSLT_LIST.PTS_URL.Value, "CRSE_ID");
&recFilter.CRSE_OFFER_NBR.Value =
Value(LTrim(%This.GetUrlValue(&rsResults(&i).PTS_RSLT_LIST.PTS_URL.Value,
"CRSE_OFFER_NBR")));

Local integer &iClassOptionsCtr, &iClassNbrSearchOk;


Local array of number &aClassOptionsResult = CreateArrayRept(0, 0);

If &bMultiComp Then
Local string &sMultiComp = "Y";
Else
&sMultiComp = "N";
End-If;

&aClassOptionsResult = &obj_ClassOptions.GetClassOptionCounts("CS",
&sMultiComp, &oManageClassesGlobalVars.rsFilter,
&oManageClassesGlobalVars.rsCAFFilter, &aClassRslt, Null);
&iClassOptionsCtr = &aClassOptionsResult [1];

If &iClassOptionsCtr = 0 Then
&aDelete [&i] = "Y";
Else

&nCourseCnt = &nCourseCnt + 1;
If &aClassOptionsResult [2] = 0 Then
&iClassNbrSearchOk = 0;
Else
&iClassNbrSearchOk = &recFilter.CLASS_NBR.Value;
End-If;

If &aClassOptionsResult [3] = 0 Then


Local string &sTopicSrchPerCrse = " ";
&recFilter.SSR_TOPIC_SEARCH.Value = " ";
Else
&sTopicSrchPerCrse = &recFilter.SSR_TOPIC_SEARCH.Value;
End-If;

If &iOpenClasses = 0 Then
&iOpenClasses = &aClassOptionsResult [4];
End-If;
If &iWaitlistClasses = 0 Then
&iWaitlistClasses = &aClassOptionsResult [5];
End-If;

If &iClosedClasses = 0 Then
&iClosedClasses = &aClassOptionsResult [6];
End-If;

&rsResults(&i).PTS_RSLT_LIST.PTS_LIST_SUMMARY.Value =
%This.AvailableClasses(&rsResults(&i).PTS_RSLT_LIST.PTS_LIST_SUMMARY.Value,
&iClassOptionsCtr, &iClassNbrSearchOk, &sTopicSrchPerCrse);

End-If;

If &nCourseCnt >= %This.MaxCoursesToDisplay() Then


If &iBump = 0 Then
&i2 = &i + 1;
Else
&i2 = &iBump + 1;
End-If;

For &i2 = &i2 To &rsResults.ActiveRowCount


&aDelete.Push("Y");
End-For;

&i = &rsResults.ActiveRowCount;

Local number &nMsgSet, &nMsgNbr;


Local Rowset &rsMsgSetSrchOpt = CreateRowset(Record.SSR_CS_GEN_OPTS);
&rsMsgSetSrchOpt.Fill();
&nMsgSet = &rsMsgSetSrchOpt(1).SSR_CS_GEN_OPTS.MESSAGE_SET_NBR.Value;
&nMsgNbr = &rsMsgSetSrchOpt(1).SSR_CS_GEN_OPTS.MESSAGE_NBR.Value;

Local string &sExceedLimitMsg = " <br><b><font color = red>" |


MsgGetExplainText(&nMsgSet, &nMsgNbr, "Your search results have exceeded the search
limit. Please use the filters to reduce the number of search results, and to
identify the course(s) you wish to consider") | "</font></b>";

If &iOpenClasses = 0 Then
&iOpenClasses = 1;
End-If;
If &iWaitlistClasses = 0 Then
&iWaitlistClasses = 1;
End-If;
If &iClosedClasses = 0 Then
&iClosedClasses = 1;
End-If;

Else

If &iBump > 0 Then


&i = &iBump;
End-If;

End-If;
End-If;
End-For;
If &aDelete.Len <> 0 Then
For &i = &rsResults.ActiveRowCount To 1 Step - 1
If &aDelete [&i] = "Y" Then
&rsResults.DeleteRow(&i);
End-If;
End-For;
End-If;

/* Set Filter button to Selected */


If (%This.DefltOpenClasses()) And
(&srch.BreadCrumb.BreadCrumbIndex > 0) Then
GetField(PTS_SRCH_PHONE.PTS_SHOWFCTSFLTRS).FreeFormStyleName =
"psc_selected";
Else
GetField(PTS_SRCH_PHONE.PTS_SHOWFCTSFLTRS).FreeFormStyleName = "";
End-If;

If &Access = "A" Then


PTS_SRCH_PHONE.PTS_SHOWFCTSFLTRS.Label = MsgGetText(14770, 137, "Message not
found.");
End-If;

If (&rsResults.ActiveRowCount = 1) And
(None(&rsResults(1).PTS_RSLT_LIST.PTS_KEYVALUES.Value)) Then
&sMsg = "<b>" | MsgGetText(14770, 1037, "No Courses available for the
selected filters") | "</b>";
GetField(PTS_SRCH.PTS_RSLTS_LIST_GB).Visible = False;
Else
If (&rsResults.ActiveRowCount = 1) Then
&sMsg = "<b>" | &rsResults.ActiveRowCount | "</b> " | MsgGetText(14770,
1038, "Course with keyword:") | &sText | &sExceedLimitMsg;
Else
&sMsg = "<b>" | &rsResults.ActiveRowCount | "</b> " | MsgGetText(14770,
1039, "Course with keyword:") | &sText | &sExceedLimitMsg;
End-If;
End-If;

PTS_SRCH.PTS_PHONE_RSLT.Value = &sMsg;

%This.ManipulateFacetRow(&iOpenClasses, &iWaitlistClasses, &iClosedClasses,


Null, "Y");

end-method;

method GetUrlValue
/+ &sPtsUrl as String, +/
/+ &sPtsUrlVal as String +/
/+ Returns String +/

Local array of string &arrayURL, &arrayValue;


Local integer &iArrayIdx;
Local string &sCrseID, &sCrseOffrNbr, &sClassSection, &sClassType, &sUrlValue;

&arrayURL = Split(&sPtsUrl, "&");

For &iArrayIdx = 1 To &arrayURL.Len


&arrayValue = Split(&arrayURL [&iArrayIdx], "=");
If &arrayValue.Len > 1 Then
Evaluate &arrayValue [1]
When = &sPtsUrlVal
&sUrlValue = &arrayValue [2];
When-Other;
End-Evaluate;
End-If;
End-For;

Return &sUrlValue;
end-method;

method AvailableClasses
/+ &sPtsSummary as String, +/
/+ &iNumOfClass as Integer, +/
/+ &iClassNbrSearch as Integer, +/
/+ &sTopicSrchPerCrse as String +/
/+ Returns String +/

If &sMsgOptionAvailClassNbr = "" Or
&sMsgOptionAvailClassNbr = " " Then
&sMsgOptionAvailClassNbr = MsgGetText(14770, 1040, "Option Available for
Class Number");
End-If;
If &sMsgOptionsAvailClassNbr = "" Or
&sMsgOptionsAvailClassNbr = " " Then
&sMsgOptionsAvailClassNbr = MsgGetText(14770, 1041, "Option Available for
Class Number");
End-If;

If &sMsgOptionAvailKeyword = "" Or
&sMsgOptionAvailKeyword = " " Then
&sMsgOptionAvailKeyword = MsgGetText(14770, 1042, "Option Available with
keyword");
End-If;
If &sMsgOptionsAvailKeyword = "" Or
&sMsgOptionsAvailKeyword = " " Then
&sMsgOptionsAvailKeyword = MsgGetText(14770, 1043, "Options Available with
keyword");
End-If;

If &sMsgOptionAvailGen = "" Or
&sMsgOptionAvailGen = " " Then
&sMsgOptionAvailGen = MsgGetText(14770, 1044, "Class Option Available");
End-If;
If &sMsgOptionsAvailGen = "" Or
&sMsgOptionsAvailGen = " " Then
&sMsgOptionsAvailGen = MsgGetText(14770, 1045, "Class Options Available");
End-If;

If &sMsgOptionAvailTopic = "" Or
&sMsgOptionAvailTopic = " " Then
&sMsgOptionAvailTopic = MsgGetText(14770, 1051, "found in class topic");
End-If;

Local string &sSummary;


If &iClassNbrSearch > 0 Then
/* By Class Number */
If &iNumOfClass = 1 Then
If %Request.BrowserDeviceFormFactor <> %FormFactor_Small Then
&sPtsSummary = Substitute(&sPtsSummary, "<br/>", "<p>" | &iNumOfClass |
" " | &sMsgOptionAvailClassNbr | " " | "<b>" | &iClassNbrSearch | "</p><br/>");
Else
&sPtsSummary = &sPtsSummary | "<p>" | &iNumOfClass | " " |
&sMsgOptionAvailClassNbr | " " | "<b>" | &iClassNbrSearch | "</p>";
End-If;
Else
If %Request.BrowserDeviceFormFactor <> %FormFactor_Small Then
&sPtsSummary = Substitute(&sPtsSummary, "<br/>", "<p>" | &iNumOfClass |
" " | &sMsgOptionsAvailClassNbr | " " | "<b>" | &iClassNbrSearch | "</p><br/>");
Else
&sPtsSummary = &sPtsSummary | "<p>" | &iNumOfClass | " " |
&sMsgOptionsAvailClassNbr | " " | "<b>" | &iClassNbrSearch | "</p>";
End-If;
End-If;
End-If;

If All(&sTopicSrchPerCrse) Then
/* By Class Topic */
If &iNumOfClass = 1 Then
If %Request.BrowserDeviceFormFactor <> %FormFactor_Small Then
&sPtsSummary = Substitute(&sPtsSummary, "<br/>", "<p>" | &iNumOfClass |
" " | &sMsgOptionAvailKeyword | " " | "<b>" | """" | &sTopicSrchPerCrse | """" |
"</b>" | " " | &sMsgOptionAvailTopic | "</p>");
Else
&sPtsSummary = &sPtsSummary | "<p>" | &iNumOfClass | " " |
&sMsgOptionAvailKeyword | " " | "<b>" | """" | &sTopicSrchPerCrse | """" | "</b>" |
" " | &sMsgOptionAvailTopic | "</p>";
End-If;
Else
If %Request.BrowserDeviceFormFactor <> %FormFactor_Small Then
&sPtsSummary = Substitute(&sPtsSummary, "<br/>", "<p>" | &iNumOfClass |
" " | &sMsgOptionsAvailKeyword | " " | "<b>" | """" | &sTopicSrchPerCrse | """" |
"</b>" | " " | &sMsgOptionAvailTopic | "</p>");
Else
&sPtsSummary = &sPtsSummary | "<p>" | &iNumOfClass | " " |
&sMsgOptionsAvailKeyword | " " | "<b>" | """" | &sTopicSrchPerCrse | """" | "</b>"
| " " | &sMsgOptionAvailTopic | "</p>";
End-If;
End-If;
End-If;

If &iClassNbrSearch = 0 And
(None(&sTopicSrchPerCrse)) Then
/* By standard search */
If &iNumOfClass = 1 Then
If %Request.BrowserDeviceFormFactor <> %FormFactor_Small Then
&sPtsSummary = Substitute(&sPtsSummary, "<br/>", "<p>" | &iNumOfClass |
" " | &sMsgOptionAvailGen | "</p><br/>");
Else
&sPtsSummary = &sPtsSummary | "<p>" | &iNumOfClass | " " |
&sMsgOptionAvailGen | "</p>";
End-If;
Else
If %Request.BrowserDeviceFormFactor <> %FormFactor_Small Then
&sPtsSummary = Substitute(&sPtsSummary, "<br/>", "<p>" | &iNumOfClass |
" " | &sMsgOptionsAvailGen | "</p><br/>");
Else
&sPtsSummary = &sPtsSummary | "<p>" | &iNumOfClass | " " |
&sMsgOptionsAvailGen | "</p>";
End-If;
End-If;
End-If;

Return &sPtsSummary;
end-method;

method MaxCoursesToDisplay
/+ Returns Number +/
Local number &nMaxCourseDisplay;
Local Rowset &rsSrchOpt = CreateRowset(Record.SSR_CS_GEN_OPTS);
&rsSrchOpt.Fill();
&nMaxCourseDisplay = &rsSrchOpt(1).SSR_CS_GEN_OPTS.SSR_CLSRCH_MAXCRS.Value;

Return &nMaxCourseDisplay;

end-method;

method IncludeCrseTopic
/+ Returns Boolean +/
Local string &sInclTopic;
Local Rowset &rsSrchOpt = CreateRowset(Record.SSR_CS_GEN_OPTS);
&rsSrchOpt.Fill();
&sInclTopic = &rsSrchOpt(1).SSR_CS_GEN_OPTS.SSR_CLSCFG_TOPIC.Value;

If &sInclTopic = "Y" Then


Return True;
Else
Return False;
End-If;
end-method;

method DefltOpenClasses
/+ Returns Boolean +/
Local string &sDefltOpenClasses;
Local Rowset &rsSrchOpt = CreateRowset(Record.SSR_CS_GEN_OPTS);
&rsSrchOpt.Fill();
&sDefltOpenClasses = &rsSrchOpt(1).SSR_CS_GEN_OPTS.SSR_CS_DEFLT_OPEN.Value;
If &sDefltOpenClasses = "Y" Then
Return True;
Else
Return False;
End-If;
end-method;

method BuildCAFLabels
Local Rowset &rsWork;
&rsWork = CreateRowset(Record.SSR_FCT_CAF_ATT);
&rsWork.Fill();
Local Rowset &rsFacetLbl = GetLevel0()(1).GetRowset(Scroll.PTS_FACET);
Local number &nFacetIdx;
For &nFacetIdx = 1 To &rsFacetLbl.ActiveRowCount
Local string &facetNameLbl =
&rsFacetLbl(&nFacetIdx).PTS_FACET.PTS_FACET_NAME.Value;
Local integer &iCafSeq = 0;
Evaluate &facetNameLbl
When Field.SSR_CAF_DESCR1
&iCafSeq = 1;
When Field.SSR_CAF_DESCR2
&iCafSeq = 2;
When Field.SSR_CAF_DESCR3
&iCafSeq = 3;
When Field.SSR_CAF_DESCR4
&iCafSeq = 4;
When Field.SSR_CAF_DESCR5
&iCafSeq = 5;
End-Evaluate;
If &iCafSeq > 0 Then
Local integer &i;
For &i = 1 To &rsWork.ActiveRowCount
If &rsWork(&i).SSR_FCT_CAF_ATT.SCC_CAF_ATTR_SEQ.Value = &iCafSeq Then
&rsFacetLbl(&nFacetIdx).PTS_FACET.PTS_GROUP_BOX.Label =
&rsWork(&i).SSR_FCT_CAF_ATT.SSR_CAF_LABEL.Value;
&i = &rsWork.ActiveRowCount;
End-If;
End-For;
End-If;
End-For;
end-method;

method BuildRowsetFilters
/+ &p_ClassNbrSearch as Integer, +/
/+ &p_TopicSearch as String +/

If &oManageClassesGlobalVars.rsFilter = Null Then


&oManageClassesGlobalVars.rsFilter = CreateRowset(Record.SSR_DER_CS_FLTR);
Else
/* Clear all previously-selected filters */
&oManageClassesGlobalVars.rsFilter.Flush();
End-If;

If &oManageClassesGlobalVars.rsCAFFilter = Null Then


&oManageClassesGlobalVars.rsCAFFilter = CreateRowset(Record.SSR_DER_CAFFLTR);
Else
/* Clear all previously-selected filters */
&oManageClassesGlobalVars.rsCAFFilter.Flush();
End-If;

&iCAF = 0;

Local Rowset &rsWork;


Local Rowset &rsFilter = &oManageClassesGlobalVars.rsFilter;
Local Record &recFilter = &rsFilter(1).GetRecord(Record.SSR_DER_CS_FLTR);

&recFilter.INSTITUTION.Value = &sSrchInst;
&recFilter.STRM.Value = &sSrchStrm;
&recFilter.SSR_FILTER_CTR.Value = 0;
&recFilter.SSR_DAYS_FACET_SW.Value = "N";
&recFilter.SSR_UNITS_FACET_SW.Value = "N";

If All(&sAdvSrchLastName) Then
&recFilter.LAST_NAME.Value = &sAdvSrchLastName;
&recFilter.SSR_SRCH_OPERATOR.Value = &sAdvLastNameOP;
&recFilter.SSR_FILTER_CTR.Value = &recFilter.SSR_FILTER_CTR.Value + 1;
End-If;

&recFilter.CLASS_NBR.Value = &p_ClassNbrSearch;
If &recFilter.CLASS_NBR.Value <> 0 Then
&recFilter.SSR_FILTER_CTR.Value = &recFilter.SSR_FILTER_CTR.Value + 1;
End-If;

&recFilter.SSR_TOPIC_SEARCH.Value = &p_TopicSearch;
If All(&recFilter.SSR_TOPIC_SEARCH.Value) Then
&recFilter.SSR_FILTER_CTR.Value = &recFilter.SSR_FILTER_CTR.Value + 1;
End-If;

Local integer &iBreadIdx;


Local integer &cnt;

Local SSR_MANAGE_CLASSES:SETUP:ClassSearchOptions &objClassSearchOptions =


create SSR_MANAGE_CLASSES:SETUP:ClassSearchOptions();

Local date &termBeginDt = %This.GetTermBeginDt();

For &iBreadIdx = 1 To &srchSesLocal.BreadCrumbsApplied.Len;

If &iBreadIdx = 1 Then
&recXlat = CreateRecord(Record.PSXLATITEM);
&recXlat.FIELDNAME.Value = "SSR_CLSRCH_QRY_VAL";
&recXlat.FIELDVALUE.Value = "NS";
If &recXlat.SelectByKeyEffDt(%Date) Then
Local string &sNotSpecified = &recXlat.XLATLONGNAME.Value;
Else
&sNotSpecified = MsgGetText(14770, 866, "Message not found.");
End-If;
End-If;

Local string &facetName = &srchSesLocal.BreadCrumbsApplied [&iBreadIdx].Name;


Local string &facetValue = &srchSesLocal.BreadCrumbsApplied
[&iBreadIdx].Value;

If All(&facetName) Then;
&recFilter.SSR_FILTER_CTR.Value = &recFilter.SSR_FILTER_CTR.Value + 1;

Evaluate &facetName
When "SSR_CAMPUS_ES"

&rsWork = CreateRowset(Record.CAMPUS_TBL);

&rsWork.Fill("WHERE FILL.INSTITUTION=:1 AND %EffDtCheck(CAMPUS_TBL A,


FILL, %Datein(:2)) AND FILL.EFF_STATUS=:3 AND FILL.DESCR=:4", &sSrchInst,
&termBeginDt, "A", &facetValue);

&recFilter.CAMPUS.Value = &rsWork(1).CAMPUS_TBL.CAMPUS.Value;
Break;
When "SSR_CLS_ATTR_FL2"

Local array of string &crseAttrValue = Split(&facetValue, "/");


Local string &crseAttrDescr = "";
Local string &crseAttrValueDescr = "";

If &objClassSearchOptions.IncludeCourseAttributeValue Then;
&rsWork = CreateRowset(Record.CRSE_ATTR_VALUE);

If &crseAttrValue.Len >= 2 Then;


&crseAttrDescr = LTrim(RTrim(&crseAttrValue [1]));
&crseAttrValueDescr = LTrim(RTrim(&crseAttrValue [2]));

&cnt = &rsWork.Fill(", %Table(CRSE_ATTR_TBL) B WHERE


%Join(COMMON_KEYS, CRSE_ATTR_VALUE FILL, CRSE_ATTR_TBL B) AND FILL.DESCR=:1 AND
%EffDtCheck(CRSE_ATTR_VALUE A, FILL, %DateIn(:2)) AND B.DESCR=:3 AND
B.EFF_STATUS=:4", &crseAttrValueDescr, &termBeginDt, &crseAttrDescr, "A");
Else
&crseAttrValueDescr = &crseAttrValue [1];

&cnt = &rsWork.Fill("WHERE FILL.DESCR=:1 AND


%EffDtCheck(CRSE_ATTR_VALUE A, FILL, %Datein(:2))", &crseAttrValueDescr,
&termBeginDt);
End-If;

&recFilter.CRSE_ATTR.Value =
&rsWork(1).CRSE_ATTR_VALUE.CRSE_ATTR.Value;
&recFilter.CRSE_ATTR_VALUE.Value =
&rsWork(1).CRSE_ATTR_VALUE.CRSE_ATTR_VALUE.Value;
Else
&rsWork = CreateRowset(Record.CRSE_ATTR_TBL);

If &crseAttrValue.Len >= 2 Then;


&crseAttrDescr = LTrim(RTrim(&crseAttrValue [1]));
&crseAttrValueDescr = LTrim(RTrim(&crseAttrValue [2]));
Else
&crseAttrDescr = &crseAttrValue [1];
End-If;

&cnt = &rsWork.Fill("WHERE FILL.DESCR=:1 AND


%EffDtCheck(CRSE_ATTR_TBL A, FILL, %Datein(:2)) AND EFF_STATUS=:3", &crseAttrDescr,
&termBeginDt, "A");

&recFilter.CRSE_ATTR.Value =
&rsWork(1).CRSE_ATTR_TBL.CRSE_ATTR.Value;
End-If;

Break;

When "SSR_CRSE_CAREER_ES"
&rsXlat = CreateRowset(Record.PSXLATITEM);
&cnt = &rsXlat.Fill("WHERE FILL.FIELDNAME=:1 AND
%EffDtCheck(PSXLATITEM, FILL, :2) AND FILL.EFF_STATUS=:3 AND FILL.XLATLONGNAME=:4",
Field.ACAD_CAREER, %Date, "A", &facetValue);
&recFilter.CRSE_CAREER.Value = &rsXlat(1).PSXLATITEM.FIELDVALUE.Value;
Break;

When "SSR_CLASS_STAT_ES"
&rsXlat = CreateRowset(Record.PSXLATITEM);
&cnt = &rsXlat.Fill("WHERE FILL.FIELDNAME=:1 AND
%EffDtCheck(PSXLATITEM, FILL, :2) AND FILL.EFF_STATUS=:3 AND FILL.XLATLONGNAME=:4",
Field.SSR_CLSRCH_QRY_VAL, %Date, "A", &facetValue);
&recFilter.ENRL_STAT.Value = &rsXlat(1).PSXLATITEM.FIELDVALUE.Value;
Break;

When "SSR_INSTR_MODE_ES"
&rsWork = CreateRowset(Record.INSTRUCT_MODE);
&cnt = &rsWork.Fill("WHERE FILL.INSTITUTION=:1 AND
%EffDtCheck(INSTRUCT_MODE, FILL, %Datein(:2)) AND FILL.EFF_STATUS=:3 AND
FILL.DESCR=:4", &sSrchInst, &termBeginDt, "A", &facetValue);
&recFilter.INSTRUCTION_MODE.Value =
&rsWork(1).INSTRUCT_MODE.INSTRUCTION_MODE.Value;
Break;

When "DESCR_LOCATION"
Local string &locationSetId = GetSetId(Field.BUSINESS_UNIT, &sSrchInst,
Record.LOCATION_TBL, "");

&rsWork = CreateRowset(Record.LOCATION_TBL);

&cnt = &rsWork.Fill("WHERE FILL.SETID=:1 AND %EffDtCheck(LOCATION_TBL,


FILL, %Datein(:2)) AND FILL.EFF_STATUS=:3 AND FILL.DESCR=:4", &locationSetId,
&termBeginDt, "A", &facetValue);

&recFilter.LOCATION.Value = &rsWork(1).LOCATION_TBL.LOCATION.Value;
Break;

When "SSR_REQ_DESIG_ES"
&rsWork = CreateRowset(Record.RQMNT_DESIG_TBL);

&cnt = &rsWork.Fill("WHERE FILL.DESCR=:1 AND


%EffDtCheck(RQMNT_DESIG_TBL, FILL, %Datein(:2)) AND FILL.EFF_STATUS=:3",
&facetValue, &termBeginDt, "A");

&recFilter.RQMNT_DESIGNTN.Value =
&rsWork(1).RQMNT_DESIG_TBL.RQMNT_DESIGNTN.Value;
Break;

When "SSR_SESS_CODE_ES"
&rsXlat = CreateRowset(Record.PSXLATITEM);

&cnt = &rsXlat.Fill("WHERE FILL.FIELDNAME=:1 AND


%EffDtCheck(PSXLATITEM, FILL, :2) AND FILL.EFF_STATUS=:3 AND FILL.XLATLONGNAME=:4",
Field.SESSION_CODE, %Date, "A", &facetValue);

&recFilter.SESSION_CODE.Value = &rsXlat(1).PSXLATITEM.FIELDVALUE.Value;
Break;

When "SSR_CLASS_COMPO_ES"
&rsXlat = CreateRowset(Record.PSXLATITEM);

&cnt = &rsXlat.Fill("WHERE FILL.FIELDNAME=:1 AND


%EffDtCheck(PSXLATITEM, FILL, :2) AND FILL.EFF_STATUS=:3 AND FILL.XLATLONGNAME=:4",
Field.SSR_COMPONENT, %Date, "A", &facetValue);

&recFilter.SSR_COMPONENT.Value =
&rsXlat(1).PSXLATITEM.FIELDVALUE.Value;
Break;

When "CLASS_MTG_DAYS"
If &facetValue = &sNotSpecified Then
&recFilter.SSR_DAYS_FACET_SW.Value = "Y";
Else
&rsWork = CreateRowset(Record.SSR_FACET_DAYS);
&cnt = &rsWork.Fill("WHERE FILL.DESCR=:1 AND
%EffDtCheck(SSR_FACET_DAYS, FILL, %Datein(:2))", &facetValue, &termBeginDt);
&recFilter.SSR_DAYS_FACET_SW.Value = "Y";
&recFilter.MON.Value = &rsWork(1).SSR_FACET_DAYS.MON.Value;
&recFilter.TUES.Value = &rsWork(1).SSR_FACET_DAYS.TUES.Value;
&recFilter.WED.Value = &rsWork(1).SSR_FACET_DAYS.WED.Value;
&recFilter.THURS.Value = &rsWork(1).SSR_FACET_DAYS.THURS.Value;
&recFilter.FRI.Value = &rsWork(1).SSR_FACET_DAYS.FRI.Value;
&recFilter.SAT.Value = &rsWork(1).SSR_FACET_DAYS.SAT.Value;
&recFilter.SUN.Value = &rsWork(1).SSR_FACET_DAYS.SUN.Value;
End-If;
Break;

When "SSR_END_TIMES_ES"
&rsWork = CreateRowset(Record.SSR_FACET_ETIME);
&cnt = &rsWork.Fill("WHERE FILL.DESCR=:1 AND
%EffDtCheck(SSR_FACET_ETIME, FILL, %Datein(:2))", &facetValue, &termBeginDt);
&recFilter.SSR_MTGEND_TIME_FR.Value =
&rsWork(1).SSR_FACET_ETIME.MEETING_TIME_START.Value;
&recFilter.SSR_MTGEND_TIME_TO.Value =
&rsWork(1).SSR_FACET_ETIME.MEETING_TIME_END.Value;
Break;

When "SSR_START_TIMES_ES"
&rsWork = CreateRowset(Record.SSR_FACET_STIME);
&cnt = &rsWork.Fill("WHERE FILL.DESCR=:1 AND
%EffDtCheck(SSR_FACET_STIME, FILL, %Datein(:2))", &facetValue, &termBeginDt);
&recFilter.SSR_MTGSTR_TIME_FR.Value =
&rsWork(1).SSR_FACET_STIME.MEETING_TIME_START.Value;
&recFilter.SSR_MTGSTR_TIME_TO.Value =
&rsWork(1).SSR_FACET_STIME.MEETING_TIME_END.Value;
Break;

When "SSR_SHIFT_ES"
&rsWork = CreateRowset(Record.SSR_SHIFT_TBL);
&cnt = &rsWork.Fill("WHERE FILL.INSTITUTION=:1 AND
%EffDtCheck(SSR_SHIFT_TBL, FILL, %Datein(:2)) AND FILL.EFF_STATUS=:3 AND
FILL.DESCR=:4", &sSrchInst, &termBeginDt, "A", &facetValue);
&recFilter.SSR_SHIFT.Value = &rsWork(1).SSR_SHIFT_TBL.SSR_SHIFT.Value;
Break;

When "SSR_NUM_UNITS_ES"
&rsWork = CreateRowset(Record.SSR_FACET_UNITS);
&cnt = &rsWork.Fill("WHERE FILL.DESCR=:1 AND
%EffDtCheck(SSR_FACET_UNITS, FILL, %Datein(:2))", &facetValue, &termBeginDt);
&recFilter.SSR_UNITS_FACET_SW.Value = "Y";
&recFilter.UNITS_MINIMUM.Value =
&rsWork(1).SSR_FACET_UNITS.UNITS_MINIMUM.Value;
&recFilter.UNITS_MAXIMUM.Value =
&rsWork(1).SSR_FACET_UNITS.UNITS_MAXIMUM.Value;
Break;
When "SSR_SUBJ_DESC50_ES"
&rsWork = CreateRowset(Record.SUBJECT_TBL);

Local array of string &SubjectValue = Split(&facetValue, "/");


&recFilter.SUBJECT.Value = LTrim(RTrim(&SubjectValue [1]));
Break;

When "SSR_CAF_DESCR1"
%This.DetermineCAFFilter(1, &facetValue);
Break;
When "SSR_CAF_DESCR2"
%This.DetermineCAFFilter(2, &facetValue);
Break;
When "SSR_CAF_DESCR3"
%This.DetermineCAFFilter(3, &facetValue);
Break;
When "SSR_CAF_DESCR4"
%This.DetermineCAFFilter(4, &facetValue);
Break;
When "SSR_CAF_DESCR5"
%This.DetermineCAFFilter(5, &facetValue);
Break;

End-Evaluate;
End-If;
End-For;

end-method;

method GetTermBeginDt
/+ Returns Date +/

Local Rowset &rsWork;


Local date &TermBeginDt;

&rsWork = CreateRowset(Record.TERM_TBL);
&rsWork.Fill("WHERE FILL.INSTITUTION = :1 AND FILL.STRM = :2 AND
FILL.TERM_BEGIN_DT = (SELECT MIN(X.TERM_BEGIN_DT) FROM PS_TERM_TBL X WHERE
X.INSTITUTION = FILL.INSTITUTION AND X.STRM = FILL.STRM)", &sSrchInst, &sSrchStrm);
If All(&rsWork(1).TERM_TBL.TERM_BEGIN_DT.Value) Then
&TermBeginDt = &rsWork(1).TERM_TBL.TERM_BEGIN_DT.Value;
Else
&TermBeginDt = %Date;
End-If;

Return &TermBeginDt;

end-method;

method IsAdvSrch
/+ Returns Boolean +/
If &sSrchAdv = "Y" Then
Return True;
Else
Return False
End-If;
end-method;
method AdvSrchFldVal
/+ &sAdvSrchFld as String +/
/+ Returns String +/

Evaluate &sAdvSrchFld
When "SUBJECT"
Return &sAdvSrchSubject;
When "CATALOG_NBR"
Return &sAdvSrchCatalogNbr;
When "LAST_NAME"
Return &sAdvSrchLastName;
End-Evaluate;

end-method;

method AdvSrchFldOP
/+ &sAdvSrchOP as String +/
/+ Returns String +/

Evaluate &sAdvSrchOP
When "SUBJECT"
Return &sAdvSubjectOP;
When "CATALOG_NBR"
Return &sAdvCatalogNbrOP;
When "LAST_NAME"
Return &sAdvLastNameOP;
End-Evaluate;

end-method;

method DetermineCAFFilter
/+ &p_iCAFSeq as Integer, +/
/+ &p_sFacetValue as String +/

Local Rowset &rsWork = CreateRowset(Record.SSR_FCT_CAF_ATT);


Local Record &recCAFFilter;

&rsWork.Fill("WHERE FILL.SCC_CAF_ATTR_SEQ=:1", &p_iCAFSeq);

If All(&rsWork(1).SSR_FCT_CAF_ATT.SCC_CAF_ATTRIB_NM.Value) Then
Local Record &recCAFAttrb = CreateRecord(Record.SCC_CAF_ATTRIBS);

&recCAFAttrb.SCC_CAF_ATTRIB_NM.Value =
&rsWork(1).SSR_FCT_CAF_ATT.SCC_CAF_ATTRIB_NM.Value;

If &recCAFAttrb.SelectByKey() Then
If &iCAF <> 0 Then
&oManageClassesGlobalVars.rsCAFFilter.InsertRow(&iCAF);
End-If;

&iCAF = &iCAF + 1;
Local Rowset &rsCAFFilter = &oManageClassesGlobalVars.rsCAFFilter;
&recCAFFilter = &rsCAFFilter(&iCAF).GetRecord(Record.SSR_DER_CAFFLTR);

&recCAFFilter.SCC_CAF_ATTR_SEQ.Value =
&rsWork(1).SSR_FCT_CAF_ATT.SCC_CAF_ATTR_SEQ.Value;
&recCAFFilter.SCC_CAF_ATTRIB_NM.Value =
&rsWork(1).SSR_FCT_CAF_ATT.SCC_CAF_ATTRIB_NM.Value;
&recCAFFilter.SCC_CAF_ATTR_TYPE.Value =
&recCAFAttrb.SCC_CAF_ATTR_TYPE.Value;

Local string &sFacetValue;


Evaluate &recCAFAttrb.SCC_CAF_ATTR_TYPE.Value
When "01" /* Short Text */
&recCAFFilter.SCC_CAF_ATTR_SVAL.Value = &p_sFacetValue;
Break;
When "02" /* Text */
&recCAFFilter.SCC_CAF_ATTR_TVAL.Value = &p_sFacetValue;
Break;
When "03" /* Long Text */
&recCAFFilter.SCC_CAF_ATTR_LVAL.Value = LTrim(&p_sFacetValue);
Break;
When "04" /* Number */
&recCAFFilter.SCC_CAF_ATTR_NVAL.Value = &p_sFacetValue;
Break;
When "05" /* Date */
&recCAFFilter.SCC_CAF_ATTR_DVAL.Value = Date(&p_sFacetValue);
Break;
When "06" /* Time */
&recCAFFilter.SCC_CAF_ATTR_TIME.Value = TimeValue(&p_sFacetValue);
Break;
When "07" /* Yes/No */
If All(&rsWork(1).SSR_FCT_CAF_ATT.SSR_DESCR.Value) Then
Local string &sYNOLbl = """*" |
&rsWork(1).SSR_FCT_CAF_ATT.SSR_DESCR.Value | """";
Local string &sYNOFacetValue = LTrim(&p_sFacetValue, &sYNOLbl);
&sYNOFacetValue = LTrim(&sYNOFacetValue, " (");
&sYNOFacetValue = RTrim(&sYNOFacetValue, ")");
Else
&sYNOFacetValue = &p_sFacetValue;
End-If;

&recXlat = CreateRecord(Record.PSXLATITEM);
&rsXlat = CreateRowset(Record.PSXLATITEM);
&rsXlat.Fill("WHERE FILL.FIELDNAME=:1 AND %EffDtCheck(PSXLATITEM, FILL,
:2) AND FILL.EFF_STATUS=:3 AND FILL.XLATSHORTNAME=:4", Field.SSR_CAF_YNO_XLAT,
%Date, "A", &sYNOFacetValue);
&recCAFFilter.SCC_CAF_ATTR_YNO.Value =
&rsXlat(1).PSXLATITEM.FIELDVALUE.Value;
Break;
When "LO" /* List of Values */
&sFacetValue = LTrim(&p_sFacetValue);
&recCAFFilter.SCC_CAF_ATTR_VAL.Value =
%This.getLOVValue(&recCAFFilter.SCC_CAF_ATTR_SEQ.Value,
&recCAFFilter.SCC_CAF_ATTRIB_NM.Value, &sFacetValue);
Break;
End-Evaluate;

End-If;
End-If;

end-method;
method getLOVValue
/+ &attribSeq as Number, +/
/+ &attribName as String, +/
/+ &facetValue as String +/
/+ Returns String +/

Local string &lovValue = &facetValue;

Local Rowset &rstCAFAttribs = CreateRowset(Record.SCC_CAF_ATTRIBS);

Local integer &cntAttribNames = &rstCAFAttribs.Fill("WHERE SCC_CAF_ATTRIB_NM = :


1", &attribName);

If &cntAttribNames = 1 Then;
Local string &attribType =
&rstCAFAttribs(&cntAttribNames).SCC_CAF_ATTRIBS.SCC_CAF_ATTR_TYPE.Value;
Local string &attribLOVUId =
&rstCAFAttribs(&cntAttribNames).SCC_CAF_ATTRIBS.SCC_LOV_UID.Value;

If &attribType = "LO" Then;


Local integer &cntTranslateValues = 0;

SQLExec("SELECT COUNT(*) FROM %Table(:1) A WHERE FIELDNAME=:2 AND


%EffDtCheck(:1 A1, A, %CurrentDateIn) AND EFF_STATUS=:3", Record.PSXLATITEM,
&attribName, "A", &cntTranslateValues);

Local Rowset &rstLOVHdr = CreateRowset(Record.SCC_SL_LOV_HDR);

Local integer &cntLOVValues = 0;


Local integer &ctrLOVValue;

If &cntTranslateValues > 0 Then;


&cntLOVValues = &rstLOVHdr.Fill("WHERE SCC_LOV_UID=:1 AND
PROMPTFIELD=:2", &attribLOVUId, &attribName);
Else
&cntLOVValues = &rstLOVHdr.Fill("WHERE SCC_LOV_UID=:1", &attribLOVUId);
End-If;

For &ctrLOVValue = 1 To &cntLOVValues;


Local string &lovType =
&rstLOVHdr(&ctrLOVValue).SCC_SL_LOV_HDR.SCC_LOV_TYPE.Value;
Local string &lovSccEditTable =
&rstLOVHdr(&ctrLOVValue).SCC_SL_LOV_HDR.SCC_EDITTABLE.Value;
Local string &lovPromptField =
&rstLOVHdr(&ctrLOVValue).SCC_SL_LOV_HDR.PROMPTFIELD.Value;
Local string &lovSccPromptField =
&rstLOVHdr(&ctrLOVValue).SCC_SL_LOV_HDR.SCC_PROMPTFIELD.Value;
Local string &lovSccFieldNameDescr =
&rstLOVHdr(&ctrLOVValue).SCC_SL_LOV_HDR.SCC_FIELDNAME_DESC.Value;

Evaluate &lovType
When "01"
&lovValue = %This.populateFromAdhoc(Record.SCC_LOV_ADHOC,
&attribLOVUId, &facetValue);
If %UserId = "PSx" Then
MessageBox(0, " ", 0, - 1, "&lovSccEditTable = " |
&lovSccEditTable | " / &lovValue = " | &lovValue);
End-If;
When "02"
&lovValue = %This.populateFromPromptTable(&lovSccEditTable,
&lovSccPromptField, &lovSccFieldNameDescr, &facetValue);
When "03"
&lovValue = %This.populateFromTransTable(&lovSccEditTable,
&lovPromptField, &lovSccPromptField, &lovSccFieldNameDescr, &facetValue);
End-Evaluate;
End-For;
End-If;
End-If;

Return &lovValue;
end-method;

method populateFromAdhoc
/+ &adhocRecord as String, +/
/+ &adhocLOVUID as String, +/
/+ &facetValue as String +/
/+ Returns String +/

Local string &lovValue = &facetValue;

SQLExec("SELECT SCC_SL_LOV_VALUE FROM %Table(:1) WHERE SCC_LOV_UID=:2 AND


DESCR100=:3", @("Record." | &adhocRecord), &adhocLOVUID, &facetValue, &lovValue);

Return &lovValue;

end-method;

method populateFromPromptTable
/+ &lovSccEditTable as String, +/
/+ &lovSccPromptField as String, +/
/+ &lovSccFieldNameDescr as String, +/
/+ &facetValue as String +/
/+ Returns String +/

Local string &lovValue = &facetValue;

SQLExec("SELECT " | @("Field." | &lovSccPromptField) | " FROM %Table(:1) WHERE "


| @("Field." | &lovSccFieldNameDescr) | "=:2", @("Record." | &lovSccEditTable),
&facetValue, &lovValue);

Return &lovValue;

end-method;

method populateFromTransTable
/+ &lovSccEditTable as String, +/
/+ &lovPromptField as String, +/
/+ &lovSccPromptField as String, +/
/+ &lovSccFieldNameDescr as String, +/
/+ &facetValue as String +/
/+ Returns String +/

Local string &lovValue = &facetValue;

SQLExec("SELECT " | @("Field." | &lovSccPromptField) | " FROM %Table(:1) A WHERE


FIELDNAME=:2 AND " | @("Field." | &lovSccFieldNameDescr) | "=:3 AND %EffDtCheck(:1
A1, A, %CurrentDateIn) AND EFF_STATUS=:4", @("Record." | &lovSccEditTable),
&lovPromptField, &facetValue, "A", &lovValue);

Return &lovValue;

end-method;

[SSR_MANAGE_CLASSES.COMPONENTS.SSR_CLSRCH_MAIN_FL.OnExecute]
import SCC_FLUID:MODEL:Component;
import SCC_FLUID:MODEL:Panel;
import SCC_FLUID:UTIL:Constants;
import SCC_FLUID:UTIL:CSSClass;
import SCC_FLUID:UTIL:Popup;
import SCC_FLUID:UTIL:URL;
import SSR_CLASS:Components:Utility:SSR_CLSRCH_CONFIG_Util;
import SSR_ENROLLMENT:EVENT:EnrollmentEventNotification;
import SSR_MANAGE_CLASSES:SETUP:ClassSearchOptions;
import SSR_MANAGE_CLASSES:UTIL:ClassOptions;
import SSR_MANAGE_CLASSES:UTIL:Confirmation;
import SSR_MANAGE_CLASSES:UTIL:GlobalVariables;
import SSR_MANAGE_CLASSES:UTIL:Navigation;

class SSR_CLSRCH_MAIN_FL extends SCC_FLUID:MODEL:Component


method SSR_CLSRCH_MAIN_FL();

method PreBuild();
method PostBuild();

method SSR_CLSRCH_MAIN_FL_Activate();
method SSR_TERM_STA2_FL_Activate();
method SSR_ENRL_CONFRM_FL_Activate();

method DERIVED_SSR_FL__SSR_CHANGE_BTN_FieldChange();
method DERIVED_SSR_FL__MORE_BUTTON_FieldChange(&pageCheck As string);
method SSR_CLSRCH_WRK__SSS_SUBJ_CATLG_FieldChange();
method SSR_CLSRCH_F_WK__SSR_DELETE_ALL_FieldChange();
method SSR_CLSRCH_F_WK__SSR_DELETE_ALL2_FieldChange();
method DERIVED_SSR_FL__SSR_RETURN_PB_FL_FieldChange();
method SSR_CLSRCH_FLDS__PTS_SRCH_BTN_FieldChange();

protected
property SCC_FLUID:MODEL:Panel Panel;

private
method selectTerm();
method populateRecentlyViewedAndFavorites(&institution As string, &sTrm As
string);
method deleteAllRecentlyViewedOrFavorites(&recordingType As string);
method RedirectToStartPage();

instance string &sConfirmationMessageDetail;


instance SCC_FLUID:UTIL:Constants &FluidConstants;
instance integer &favoriteCount;
instance integer &recentlyViewedCount;
end-class;

Declare Function UpdateAuditDetailsByRecord PeopleCode


SCC_AUDIT_SBR.SCC_ROW_ADD_OPRID FieldFormula;

Global SSR_MANAGE_CLASSES:UTIL:GlobalVariables &oManageClassesGlobalVars;

Component string &sAcademicCareer, &sInstitution, &sTerm;


Component date &recTermBeginDt;

method SSR_CLSRCH_MAIN_FL

%Super = create SCC_FLUID:MODEL:Component();

&FluidConstants = create SCC_FLUID:UTIL:Constants();

end-method;

method PreBuild

Local SSR_MANAGE_CLASSES:UTIL:Navigation &oNavigationSR = create


SSR_MANAGE_CLASSES:UTIL:Navigation();
&oNavigationSR.ResetToHomepage();

&oManageClassesGlobalVars.sTabID = Page.SSR_CLSRCH_MAIN_FL;

&sAcademicCareer = &oManageClassesGlobalVars.selectedCareer;
&sInstitution = &oManageClassesGlobalVars.selectedInstitution;
&sTerm = &oManageClassesGlobalVars.selectedTerm;

end-method;

method PostBuild

Local SCC_FLUID:UTIL:CSSClass &objCSS;

&objCSS = create SCC_FLUID:UTIL:CSSClass();

&objCSS.AddStyleSheet(StyleSheet.SSR_SS);

GetLevel0().GetRow(1).SSR_CLSRCH_FLDS.INFORMATION.SetGroupletMOptions("sPopupParent
Id@" | Record.SSR_CLSRCH_FLDS | "_" | Field.INFORMATION |
"$PIMG;bPIA@1;bPopup@1;bMask@1;bClose@1;bHeader@0;bCache@1;sMaskStyle@ps_masktrans;
");

Local string &sInclTopic;


Local Rowset &rsSrchOpt = CreateRowset(Record.SSR_CS_GEN_OPTS);
&rsSrchOpt.Fill();
&sInclTopic = &rsSrchOpt(1).SSR_CS_GEN_OPTS.SSR_CLSCFG_TOPIC.Value;

If &sInclTopic = "Y" Then


GetLevel0().GetRow(1).SSR_CLSRCH_FLDS.PTS_KEYWORDS.PlaceholderText =
MsgGetExplainText(14770, 1035, "Search Tips");
GetLevel0().GetRow(1).SSR_CLSRCH_FLDS.SSR_MSG_TEXT.Value =
MsgGetExplainText(14770, 1036, "Search Tips");
Else
GetLevel0().GetRow(1).SSR_CLSRCH_FLDS.PTS_KEYWORDS.PlaceholderText =
MsgGetExplainText(14770, 1047, "Search Tips");
GetLevel0().GetRow(1).SSR_CLSRCH_FLDS.SSR_MSG_TEXT.Value =
MsgGetExplainText(14770, 1046, "Search Tips");
End-If;

&Panel = %This.CreatePanel();
%This.Render();

&oManageClassesGlobalVars.sClassSearchMainURL =
GenerateComponentContentURL(%Portal, %Node, MenuName.SSR_STUDENT_FL, %Market,
Component.SSR_CLSRCH_MAIN_FL, Page.SSR_CLSRCH_MAIN_FL, %Action_UpdateDisplay);
&oManageClassesGlobalVars.sCourseInfoFrom =
&oManageClassesGlobalVars.courseInfoFrom_sClassSearchMain;

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then


If &oManageClassesGlobalVars.bIsFromConfirmation Then
&oManageClassesGlobalVars.bIsFromConfirmation = False;
AddJavaScript(HTML.SSR_MANAGE_CLASSES_JS);
AddOnLoadScript("goBackToManageClassesMenu();");
End-If;
End-If;

end-method;

method SSR_CLSRCH_MAIN_FL_Activate
&Panel.SetPanelTitle(MsgGetText(14770, 541, "Message not found.")); /* Class
Search */

If Not DERIVED_CLSRCH.SSR_GROUP_BOX_3.Visible Then;


&Panel.SetPageTitle(MsgGetText(14770, 126, "Message not found.")); /* Course
Information */
End-If;

If None(&sInstitution) And
None(&sTerm) Then
TransferPage(Page.SSR_TERM_STA2_FL);

Else

DERIVED_SSR_FL.STRM.Value = &sTerm;

Evaluate &oManageClassesGlobalVars.sTabID
When Page.SSR_CLSRCH_MAIN_FL
&oManageClassesGlobalVars.selectedInstitution = &sInstitution;
&oManageClassesGlobalVars.selectedTerm = &sTerm;
DERIVED_SSR_FL.ACAD_CAREER.Visible = False;
When Page.SSR_SWAP_TERM_FL
/* &sAcademicCareer is instantiated in SSR_SWAP_CLSRCH_FL */
DERIVED_SSR_FL.ACAD_CAREER.Value = &sAcademicCareer;
DERIVED_SSR_FL.ACAD_CAREER.Visible = True;
End-Evaluate;

DERIVED_SSR_FL.INSTITUTION.Value = &sInstitution;

%This.populateRecentlyViewedAndFavorites(&sInstitution, &sTerm);
Local Record &recClassSearchDerived = GetLevel0().GetRow(1).DERIVED_CLSRCH;

/* If there are no Recently Viewed courses, expand Favorites */


If &recentlyViewedCount = 0 Then;
If &favoriteCount = 0 Then;
&recClassSearchDerived.SSR_GROUP_BOX_2.DataAreaCollapsed = True;
Else
&recClassSearchDerived.SSR_GROUP_BOX_2.DataAreaCollapsed = False;
End-If;
&recClassSearchDerived.SSR_GROUP_BOX_1.DataAreaCollapsed = True;
Else
/* If there are Recently Viewed courses, and only 3 or less Favorite
courses, expand Favorites AND Recently Viewed */
If &favoriteCount > 0 And
&favoriteCount <= 3 Then;
&recClassSearchDerived.SSR_GROUP_BOX_2.DataAreaCollapsed = False;
&recClassSearchDerived.SSR_GROUP_BOX_1.DataAreaCollapsed = False;
Else /* If there are Recently Viewed courses, and none or more than 3
Favorite courses, expand Recently Viewed */
&recClassSearchDerived.SSR_GROUP_BOX_2.DataAreaCollapsed = True;
&recClassSearchDerived.SSR_GROUP_BOX_1.DataAreaCollapsed = False;
End-If;
End-If;

/* Display Advanced Search link for non-SFF */


SSR_CLSRCH_FLDS.PTS_ADV_SRCH.Visible = True;
SSR_CLSRCH_FLDS.PTS_ADV_SRCH.Label = MsgGetText(14770, 1052, "Additional ways
to search");
SSR_CLSRCH_FLDS.PTS_ADV_SRCH.HoverText = MsgGetText(14770, 1052, "Additional
ways to search") | " ";

End-If;

end-method;

method SSR_TERM_STA2_FL_Activate

<*If Not (IsModal()) Then


&Panel.SetPageTitle(MsgGetText(14770, 513, "Message not found.")); /* Select
a Value */
End-If;*>

Local Rowset &rstInstTerms = CreateRowset(Record.SSR_STRMLST_VW);


Local integer &cntTerms;

Evaluate %Page
/* When called from Change Institution/Term button on header, remove the
currently-selected Institution/Term combo from Select a Value list */
When Page.SSR_TERM_STA2_SCF
&cntTerms = &rstInstTerms.Fill("WHERE INSTITUTION<>:1 OR STRM<>:2 ORDER BY
SSR_END_DT_MAX, STRM, DESCRFORMAL", &sInstitution, &sTerm);
Break;
/* When called from initial load of Class Search, include all
Institution/Term combos in Select a Value list */
When-Other
&cntTerms = &rstInstTerms.Fill("ORDER BY SSR_END_DT_MAX, STRM, DESCRFORMAL");
Break;
End-Evaluate;

Local Rowset &rstInstTermsPrev = GetRowset(Scroll.SSR_CSTRMPRV_VW);


Local Rowset &rstInstTermsCurr = GetRowset(Scroll.SSR_CSTRMCUR_VW);

If &cntTerms = 0 Then;

If %Page = Page.SSR_TERM_STA2_FL Then;


DERIVED_SSR_FL.SSR_NOCLASSES_MSG.Visible = True;
DERIVED_SSR_FL.SSR_NOCLASSES_MSG.Value = MsgGetText(14770, 884, "Message
Not Found");
End-If;

&rstInstTermsPrev.HideAllRows();
&rstInstTermsCurr.HideAllRows();

DERIVED_SSR_FL.SSR_CSTRMPRV_GRP.Visible = False;
DERIVED_SSR_FL.SSR_CSTRMCUR_GRP.Visible = False;

Else

If %Page = Page.SSR_TERM_STA2_FL Then;


&Panel.SetPageTitle(MsgGetText(14770, 513, "Message not found.")); /*
Select a Value */
DERIVED_SSR_FL.SSR_NOCLASSES_MSG.Visible = False;
End-If;

&rstInstTermsPrev.Flush();
&rstInstTermsCurr.Flush();

Local integer &i;


Local integer &prev = 1;
Local integer &curr = 1;

For &i = 1 To &cntTerms;


Local Record &recInstTerm = &rstInstTerms(&i).SSR_STRMLST_VW;

If &recInstTerm.SSR_END_DT_MAX.Value < %Date Then;

&rstInstTermsPrev.InsertRow(&prev);

Local Record &recInstTermPrev =


&rstInstTermsPrev(&prev).SSR_CSTRMPRV_VW;

&recInstTermPrev.STRM.Value = &recInstTerm.STRM.Value;
&recInstTermPrev.DESCR.Value = &recInstTerm.DESCR.Value;
&recInstTermPrev.INSTITUTION.Value = &recInstTerm.INSTITUTION.Value;
&recInstTermPrev.DESCRFORMAL.Value = &recInstTerm.DESCRFORMAL.Value;
&recInstTermPrev.DESCR50.Value = Upper(&recInstTerm.DESCRFORMAL.Value);
&recInstTermPrev.TERM_BEGIN_DT.Value =
&recInstTerm.SSR_START_DT_MAX.Value;
&recInstTermPrev.DESCR.Label = &recInstTerm.DESCR.Value;

&prev = &prev + 1;

Else

&rstInstTermsCurr.InsertRow(&curr);
Local Record &recInstTermCurr =
&rstInstTermsCurr(&curr).SSR_CSTRMCUR_VW;

&recInstTermCurr.STRM.Value = &recInstTerm.STRM.Value;
&recInstTermCurr.DESCR.Value = &recInstTerm.DESCR.Value;
&recInstTermCurr.INSTITUTION.Value = &recInstTerm.INSTITUTION.Value;
&recInstTermCurr.DESCRFORMAL.Value = &recInstTerm.DESCRFORMAL.Value;
&recInstTermCurr.DESCR50.Value = Upper(&recInstTerm.DESCRFORMAL.Value);
&recInstTermCurr.TERM_BEGIN_DT.Value =
&recInstTerm.SSR_START_DT_MAX.Value;
&recInstTermCurr.DESCR.Label = &recInstTerm.DESCR.Value;

&curr = &curr + 1;

End-If;
End-For;

&rstInstTermsPrev.DeleteRow(&prev);
&rstInstTermsPrev.Sort(SSR_CSTRMPRV_VW.TERM_BEGIN_DT, "D",
SSR_CSTRMPRV_VW.DESCR, "A", SSR_CSTRMPRV_VW.DESCR50, "A");

&rstInstTermsCurr.DeleteRow(&curr);
&rstInstTermsCurr.Sort(SSR_CSTRMCUR_VW.TERM_BEGIN_DT, "A",
SSR_CSTRMCUR_VW.DESCR, "A", SSR_CSTRMCUR_VW.DESCR50, "A");

DERIVED_SSR_FL.SSR_CSTRMPRV_GRP.Label = MsgGetText(14770, 506, "Message not


found.", &rstInstTermsCurr(1).SSR_CSTRMCUR_VW.DESCR.Label);
DERIVED_SSR_FL.SSR_CSTRMCUR_GRP.Label = MsgGetText(14770, 505, "Message not
found.", &rstInstTermsCurr(1).SSR_CSTRMCUR_VW.DESCR.Label);

If None(&rstInstTermsPrev(1).SSR_CSTRMPRV_VW.DESCR.Value) Then
&rstInstTermsPrev.HideAllRows();
Else
&rstInstTermsPrev.ShowAllRows();
End-If;

If None(&rstInstTermsCurr(1).SSR_CSTRMCUR_VW.DESCR.Value) Then
&rstInstTermsCurr.HideAllRows();
Else
&rstInstTermsCurr.ShowAllRows();
End-If;

DERIVED_SSR_FL.SSR_CSTRMPRV_GRP.DataAreaCollapsed = True;
DERIVED_SSR_FL.SSR_CSTRMCUR_GRP.DataAreaCollapsed = False;
End-If;

end-method;

method DERIVED_SSR_FL__SSR_CHANGE_BTN_FieldChange

%This.selectTerm();

&sTerm = DERIVED_SSR_FL.STRM.Value;
&sInstitution = DERIVED_SSR_FL.INSTITUTION.Value;

end-method;
method DERIVED_SSR_FL__MORE_BUTTON_FieldChange
/+ &pageCheck as String +/

Evaluate %Page
When Page.SSR_TERM_STA2_FL
If &pageCheck = "C" Then
&sTerm = SSR_CSTRMCUR_VW.STRM.Value;
&sInstitution = SSR_CSTRMCUR_VW.INSTITUTION.Value;
&recTermBeginDt = SSR_CSTRMCUR_VW.TERM_BEGIN_DT.Value;
Else
If &pageCheck = "P" Then
&sTerm = SSR_CSTRMPRV_VW.STRM.Value;
&sInstitution = SSR_CSTRMPRV_VW.INSTITUTION.Value;
&recTermBeginDt = SSR_CSTRMPRV_VW.TERM_BEGIN_DT.Value;
End-If;
End-If;

TransferPage(Page.SSR_CLSRCH_MAIN_FL);

Break;

When Page.SSR_TERM_STA2_SCF
If &pageCheck = "C" Then
&sTerm = SSR_CSTRMCUR_VW.STRM.Value;
&sInstitution = SSR_CSTRMCUR_VW.INSTITUTION.Value;
Else
If &pageCheck = "P" Then
&sTerm = SSR_CSTRMPRV_VW.STRM.Value;
&sInstitution = SSR_CSTRMPRV_VW.INSTITUTION.Value;
End-If;
End-If;

EndModal(0);

Break;

End-Evaluate;

end-method;

method SSR_CLSRCH_WRK__SSS_SUBJ_CATLG_FieldChange

/* Pass relevant fields from selected grid row to Level 0 record in


SSR_CRSE_INFO_FL page */
Local Record &recKeyList = CreateRecord(Record.SSR_CRSE_INFO_V);

Local Record &recKeys1 = GetLevel0().GetRow(1).GetRecord(Record.DERIVED_SSR_FL);


Local Record &recKeys2 = GetRecord();

&recKeys1.CopyFieldsTo(&recKeyList);
&recKeys2.CopyFieldsTo(&recKeyList);

&oManageClassesGlobalVars.rec_CourseInformationSearchKeys =
CreateRecord(Record.SSR_CRSE_INFO_V);

&recKeyList.CopyFieldsTo(&oManageClassesGlobalVars.rec_CourseInformationSearchKeys)
;
Local string &contentURL = GenerateComponentContentURL(%Portal, %Node,
MenuName.SSR_STUDENT_FL, %Market, Component.SSR_CRSE_INFO_FL,
Page.SSR_CRSE_INFO_FL, %Action_UpdateDisplay, &recKeyList);

&oManageClassesGlobalVars.bReturnToClassSearchResults = False;

/* RVF_SW=1 parameter signals that request came from row click in Recently
Viewed/Favorites grid */
If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then
ViewURL(&contentURL | "&RVF_SW=1", False);
Else
&contentURL = &contentURL | "&RVF_SW=1";

&oManageClassesGlobalVars.sCourseInfoURL = &contentURL;
&oManageClassesGlobalVars.sTransferToURL =
&oManageClassesGlobalVars.sCourseInfoURL;
&oManageClassesGlobalVars.sCourseInfoFrom =
&oManageClassesGlobalVars.courseInfoFrom_sClassSearchMain;
&oManageClassesGlobalVars.sMDComponent = Component.SSR_MD_CRSEINFO_FL;

Local SCC_FLUID:UTIL:URL &oUrl = create SCC_FLUID:UTIL:URL();


Local string &crefUrl =
&oUrl.GetContentReferenceURL("CS_SSR_MANAGE_CLASSES_FL");

%Response.RedirectURL(&crefUrl);

End-If;

end-method;

method SSR_CLSRCH_F_WK__SSR_DELETE_ALL_FieldChange

/* Delete all courses from Recently Viewed */


%This.deleteAllRecentlyViewedOrFavorites("R");
%This.populateRecentlyViewedAndFavorites(&sInstitution, &sTerm);

end-method;

method SSR_CLSRCH_F_WK__SSR_DELETE_ALL2_FieldChange

/* Delete all courses from Favorites */


%This.deleteAllRecentlyViewedOrFavorites("F");
%This.populateRecentlyViewedAndFavorites(&sInstitution, &sTerm);

end-method;

/* Private methods */
method populateRecentlyViewedAndFavorites
/+ &institution as String, +/
/+ &sTrm as String +/

Local SSR_MANAGE_CLASSES:SETUP:ClassSearchOptions &objClassSearchOptions =


create SSR_MANAGE_CLASSES:SETUP:ClassSearchOptions();
Local SSR_MANAGE_CLASSES:UTIL:ClassOptions &objClassOptions = create
SSR_MANAGE_CLASSES:UTIL:ClassOptions();
Local array of number &aClassOptionsResult = CreateArrayRept(0, 0);
Local integer &cntClassOptions = 0;
Local integer &iClassNbrSearch;

Local boolean &isAccessibilityMode = (GetUserOption("PPTL", "ACCESS") = "A");

Local Rowset &rstClassSearchRecording = CreateRowset(Record.SSR_CLSRCH_R_VW);


Local integer &rowCtr;

Local Record &recClassSearchDerived = GetLevel0().GetRow(1).DERIVED_CLSRCH;

Local Rowset &rstSavedFilters = CreateRowset(Record.SSR_CLSRCH_RVF);


Local Rowset &rstSavedCAFFilters = CreateRowset(Record.SSR_CLSRCH_RVFC);
Local Rowset &rstActiveFilters = CreateRowset(Record.SSR_DER_CS_FLTR);
Local Rowset &rstActiveCAFFilters = CreateRowset(Record.SSR_DER_CAFFLTR);

&recentlyViewedCount = &rstClassSearchRecording.Fill("WHERE EMPLID=:1 AND


INSTITUTION=:2 AND STRM=:3 AND SSR_CLSRCH_RECTYPE=:4", %EmployeeId, &institution,
&sTrm, "R");

/* Limit recently-viewed courses to display to maximum specified in Class Search


Options */
Local integer &maxRecentlyViewedCount =
&objClassSearchOptions.MaximumRecentlyViewedCoursesToDisplay;

If &recentlyViewedCount > &maxRecentlyViewedCount Then;


&recentlyViewedCount = &maxRecentlyViewedCount;
End-If;

Local boolean &hasRecentlyViewed = (&recentlyViewedCount > 0);

Local Rowset &rstRecentlyViewed =


GetLevel0().GetRow(1).GetRowset(Scroll.SSR_DUMMY_RECV1);
&rstRecentlyViewed.Flush();

If &hasRecentlyViewed Then
&rstClassSearchRecording.Sort(SSR_CLSRCH_R_VW.SCC_ROW_UPD_DTTM, "D");

For &rowCtr = 1 To &recentlyViewedCount;


If &rowCtr > 1 Then;
&rstRecentlyViewed.InsertRow(&rowCtr - 1);
End-If;

&rstClassSearchRecording.GetRow(&rowCtr).GetRecord(Record.SSR_CLSRCH_R_VW).CopyFiel
dsTo(&rstRecentlyViewed.GetRow(&rowCtr).GetRecord(Record.SSR_CLSRCH_WRK));

Local Row &rowRecentlyViewed = &rstRecentlyViewed.GetRow(&rowCtr);

If &isAccessibilityMode Then
&rowRecentlyViewed.FreeFormStyleName =
&rowRecentlyViewed.FreeFormStyleName | " psc_disabled";
End-If;

&rowRecentlyViewed.SSR_CLSRCH_WRK.SSS_SUBJ_CATLG.Value =
RTrim(&rowRecentlyViewed.SSR_CLSRCH_WRK.SUBJECT.Value) | " " |
LTrim(&rowRecentlyViewed.SSR_CLSRCH_WRK.CATALOG_NBR.Value);
&rowRecentlyViewed.SSR_CLSRCH_WRK.SSS_SUBJ_CATLG.Label =
&rowRecentlyViewed.SSR_CLSRCH_WRK.SSS_SUBJ_CATLG.Value;
&rstSavedFilters.Fill("WHERE EMPLID=:1 AND INSTITUTION=:2 AND
ACAD_CAREER=:3 AND STRM=:4 AND SSR_CLSRCH_RECTYPE=:5 AND CRSE_ID=:6 AND
CRSE_OFFER_NBR=:7", %EmployeeId, &institution,
&rowRecentlyViewed.SSR_CLSRCH_WRK.ACAD_CAREER.Value, &sTrm, "R",
&rowRecentlyViewed.SSR_CLSRCH_WRK.CRSE_ID.Value,
&rowRecentlyViewed.SSR_CLSRCH_WRK.CRSE_OFFER_NBR.Value);
&rstSavedCAFFilters.Fill("WHERE EMPLID=:1 AND INSTITUTION=:2 AND
ACAD_CAREER=:3 AND STRM=:4 AND SSR_CLSRCH_RECTYPE=:5 AND CRSE_ID=:6 AND
CRSE_OFFER_NBR=:7", %EmployeeId, &institution,
&rowRecentlyViewed.SSR_CLSRCH_WRK.ACAD_CAREER.Value, &sTrm, "R",
&rowRecentlyViewed.SSR_CLSRCH_WRK.CRSE_ID.Value,
&rowRecentlyViewed.SSR_CLSRCH_WRK.CRSE_OFFER_NBR.Value);

&rstSavedFilters.CopyTo(&rstActiveFilters, Record.SSR_CLSRCH_RVF,
Record.SSR_DER_CS_FLTR);
&rstSavedCAFFilters.CopyTo(&rstActiveCAFFilters, Record.SSR_CLSRCH_RVFC,
Record.SSR_DER_CAFFLTR);

&aClassOptionsResult = &objClassOptions.GetClassOptionCounts("FR", "N",


&rstActiveFilters, &rstActiveCAFFilters, Null, Null);

&cntClassOptions = &aClassOptionsResult [1];


&iClassNbrSearch = &aClassOptionsResult [2];

If &iClassNbrSearch = 0 Then
If &cntClassOptions = 1 Or
&cntClassOptions = 0 Then
&rowRecentlyViewed.SSR_CLSRCH_WRK.DESCR100.Value = MsgGetText(14770,
860, "Message not found.", &cntClassOptions);
Else
&rowRecentlyViewed.SSR_CLSRCH_WRK.DESCR100.Value = MsgGetText(14770,
861, "Message not found.", &cntClassOptions);
End-If;
Else
If &cntClassOptions = 1 Or
&cntClassOptions = 0 Then
&rowRecentlyViewed.SSR_CLSRCH_WRK.DESCR100.Value = MsgGetText(14770,
862, "Message not found.", &cntClassOptions,
&rstActiveFilters(1).SSR_DER_CS_FLTR.CLASS_NBR.Value);
Else
&rowRecentlyViewed.SSR_CLSRCH_WRK.DESCR100.Value = MsgGetText(14770,
863, "Message not found.", &cntClassOptions,
&rstActiveFilters(1).SSR_DER_CS_FLTR.CLASS_NBR.Value);
End-If;
End-If;
End-For;

&rstRecentlyViewed.ShowAllRows();

&recClassSearchDerived.SSR_GROUP_BOX_1.Visible = True;
Else
&rstRecentlyViewed.HideAllRows();

If &maxRecentlyViewedCount = 0 Then;
&recClassSearchDerived.SSR_GROUP_BOX_1.Visible = False;
Else
&recClassSearchDerived.SSR_GROUP_BOX_1.Visible = True;
End-If;
End-If;

GetLevel0().GetRow(1).SSR_CLSRCH_F_WK.SSR_DELETE_ALL.Visible =
&hasRecentlyViewed;

&recClassSearchDerived.SSR_GROUP_BOX_1.Label = MsgGetText(14770, 125, "Message


not found.");

&favoriteCount = &rstClassSearchRecording.Fill("WHERE EMPLID=:1 AND


INSTITUTION=:2 AND STRM=:3 AND SSR_CLSRCH_RECTYPE=:4", %EmployeeId, &institution,
&sTrm, "F");

/* Limit favorite courses to display to maximum specified in Class Search


Options */
Local integer &maxFavoriteCount =
&objClassSearchOptions.MaximumFavoriteCoursesToDisplay;

If &favoriteCount > &maxFavoriteCount Then;


&favoriteCount = &maxFavoriteCount;
End-If;

Local boolean &hasFavorites = (&favoriteCount > 0);

Local Rowset &rstFavorites =


GetLevel0().GetRow(1).GetRowset(Scroll.SSR_DUMMY_RECV2);
&rstFavorites.Flush();

If &oManageClassesGlobalVars.sTabID = Page.SSR_SWAP_TERM_FL Then

/* Hide Favorites section when coming from Swap Classes */


&rstFavorites.HideAllRows();
&recClassSearchDerived.SSR_GROUP_BOX_2.Visible = False;
GetLevel0().GetRow(1).SSR_CLSRCH_F_WK.SSR_DELETE_ALL2.Visible = False;

Else

If &hasFavorites Then
&rstClassSearchRecording.Sort(SSR_CLSRCH_R_VW.SUBJECT, "A",
SSR_CLSRCH_R_VW.CATALOG_NBR, "A");

For &rowCtr = 1 To &favoriteCount;


If &rowCtr > 1 Then;
&rstFavorites.InsertRow(&rowCtr - 1);
End-If;

&rstClassSearchRecording.GetRow(&rowCtr).GetRecord(Record.SSR_CLSRCH_R_VW).CopyFiel
dsTo(&rstFavorites.GetRow(&rowCtr).GetRecord(Record.SSR_CLSRCH_WRK));

Local Row &rowFavorites = &rstFavorites.GetRow(&rowCtr);

If &isAccessibilityMode Then
&rowFavorites.FreeFormStyleName = &rowFavorites.FreeFormStyleName |
" psc_disabled";
End-If;

&rowFavorites.SSR_CLSRCH_WRK.SSS_SUBJ_CATLG.Value =
RTrim(&rowFavorites.SSR_CLSRCH_WRK.SUBJECT.Value) | " " |
LTrim(&rowFavorites.SSR_CLSRCH_WRK.CATALOG_NBR.Value);
&rowFavorites.SSR_CLSRCH_WRK.SSS_SUBJ_CATLG.Label =
&rowFavorites.SSR_CLSRCH_WRK.SSS_SUBJ_CATLG.Value;

&rstSavedFilters.Fill("WHERE EMPLID=:1 AND INSTITUTION=:2 AND


ACAD_CAREER=:3 AND STRM=:4 AND SSR_CLSRCH_RECTYPE=:5 AND CRSE_ID=:6 AND
CRSE_OFFER_NBR=:7", %EmployeeId, &institution,
&rowFavorites.SSR_CLSRCH_WRK.ACAD_CAREER.Value, &sTrm, "F",
&rowFavorites.SSR_CLSRCH_WRK.CRSE_ID.Value,
&rowFavorites.SSR_CLSRCH_WRK.CRSE_OFFER_NBR.Value);
&rstSavedCAFFilters.Fill("WHERE EMPLID=:1 AND INSTITUTION=:2 AND
ACAD_CAREER=:3 AND STRM=:4 AND SSR_CLSRCH_RECTYPE=:5 AND CRSE_ID=:6 AND
CRSE_OFFER_NBR=:7", %EmployeeId, &institution,
&rowFavorites.SSR_CLSRCH_WRK.ACAD_CAREER.Value, &sTrm, "F",
&rowFavorites.SSR_CLSRCH_WRK.CRSE_ID.Value,
&rowFavorites.SSR_CLSRCH_WRK.CRSE_OFFER_NBR.Value);

&rstSavedFilters.CopyTo(&rstActiveFilters, Record.SSR_CLSRCH_RVF,
Record.SSR_DER_CS_FLTR);
&rstSavedCAFFilters.CopyTo(&rstActiveCAFFilters,
Record.SSR_CLSRCH_RVFC, Record.SSR_DER_CAFFLTR);

&aClassOptionsResult = &objClassOptions.GetClassOptionCounts("FR", "N",


&rstActiveFilters, &rstActiveCAFFilters, Null, Null);

&cntClassOptions = &aClassOptionsResult [1];


&iClassNbrSearch = &aClassOptionsResult [2];

If &iClassNbrSearch = 0 Then
If &cntClassOptions = 1 Or
&cntClassOptions = 0 Then;
&rowFavorites.SSR_CLSRCH_WRK.DESCR100.Value = MsgGetText(14770,
860, "Message not found.", &cntClassOptions);
Else
&rowFavorites.SSR_CLSRCH_WRK.DESCR100.Value = MsgGetText(14770,
861, "Message not found.", &cntClassOptions);
End-If;
Else
If &cntClassOptions = 1 Or
&cntClassOptions = 0 Then;
&rowFavorites.SSR_CLSRCH_WRK.DESCR100.Value = MsgGetText(14770,
862, "Message not found.", &cntClassOptions,
&rstActiveFilters(1).SSR_DER_CS_FLTR.CLASS_NBR.Value);
Else
&rowFavorites.SSR_CLSRCH_WRK.DESCR100.Value = MsgGetText(14770,
863, "Message not found.", &cntClassOptions,
&rstActiveFilters(1).SSR_DER_CS_FLTR.CLASS_NBR.Value);
End-If;
End-If;
End-For;

&rstFavorites.ShowAllRows();

&recClassSearchDerived.SSR_GROUP_BOX_2.Visible = True;
Else
&rstFavorites.HideAllRows();

If &maxFavoriteCount = 0 Then;
&recClassSearchDerived.SSR_GROUP_BOX_2.Visible = False;
Else
&recClassSearchDerived.SSR_GROUP_BOX_2.Visible = True;
End-If;
End-If;

GetLevel0().GetRow(1).SSR_CLSRCH_F_WK.SSR_DELETE_ALL2.Visible =
&hasFavorites;

&recClassSearchDerived.SSR_GROUP_BOX_2.Label = MsgGetText(14770, 124,


"Message not found.");

End-If;

end-method;

method selectTerm

Local SCC_FLUID:UTIL:Popup &oPopup;


Local boolean &REC1;
Local string &recmodalpage, &sModalOptions;
Local integer &retCode;

&oPopup = create SCC_FLUID:UTIL:Popup();

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Or
%Request.BrowserDeviceFormFactor = %FormFactor_Medium Then
&sModalOptions = GetHTMLText(HTML.SCC_MO_FULLSCREEN_FL);
Else
&sModalOptions = GetHTMLText(HTML.SCC_MO_POPUP_FL) |
";width@550;height@600;";
End-If;

&retCode = DoModalPopup(&sModalOptions, "", False, False,


Page.SSR_TERM_STA2_SCF, MsgGetText(14770, 513, "Message not found."), - 1, - 1, 0);

DERIVED_SSR_FL.ACAD_CAREER.Value = &sAcademicCareer;
DERIVED_SSR_FL.INSTITUTION.Value = &sInstitution;
DERIVED_SSR_FL.STRM.Value = &sTerm;

TransferPage(Page.SSR_CLSRCH_MAIN_FL);

end-method;

method deleteAllRecentlyViewedOrFavorites
/+ &recordingType as String +/

Local array of any &bindValues = CreateArrayAny();

&bindValues.Push(%EmployeeId);
&bindValues.Push(DERIVED_SSR_FL.INSTITUTION.Value);
&bindValues.Push(DERIVED_SSR_FL.ACAD_CAREER.Value); /* Dummy */
&bindValues.Push(DERIVED_SSR_FL.STRM.Value);
&bindValues.Push(&recordingType);

Local SQL &sqlDeleteRecentlyViewed = CreateSQL(SQL.SSR_DELETE_ALL_RVF);

If &sqlDeleteRecentlyViewed.Execute(&bindValues) Then
End-If;

&sqlDeleteRecentlyViewed.Close();

end-method;

method DERIVED_SSR_FL__SSR_RETURN_PB_FL_FieldChange

&oManageClassesGlobalVars.bIsFromConfirmation = True;

Evaluate DERIVED_SSR_FL.SSR_RETURN_PB_FL
When "CLPF" /* Class Preferences */
Local string &url = GenerateComponentContentURL(%Portal, %Node,
MenuName.NUI_FRAMEWORK, %Market, Component.PT_AGSTARTPAGE_NUI,
Page.PT_AGSTARTPAGE_NUI, %Action_UpdateDisplay);

Local array of string &params = CreateArrayRept("", 0);

&params.Push(""); /* Required for initial ampersand */


&params.Push("CONTEXTIDPARAMS=" | "TEMPLATE_ID" | ":" | "SR_ENRL_FL");
&params.Push("CONTEXTIDPARAMS=" | "OPRID" | ":" | %OperatorId);
&params.Push("replaceCurrentTopWindow=Y");
&params.Push("fmode=1");
&params.Push("GoTo=ClassPreferences");

&url = &url | &params.Join("&", "", "");

%Response.RedirectURL(&url);

Break;

When "CSRH" /* Class Search Results */


%Response.RedirectURL(&oManageClassesGlobalVars.sClassSearchResultsURL);
Break;

When "KSRH" /* Keyword Search Page */


If %Request.BrowserDeviceFormFactor <> %FormFactor_Small Then
%This.RedirectToStartPage();
Else
%Response.RedirectURL(&oManageClassesGlobalVars.sClassSearchMainURL);
End-If;
Break;

When "MNGC" /* Manage Classes Menu */


%This.RedirectToStartPage();
Break;

When "VCLS" /* View My Classes */


Transfer( False, MenuName.SSR_STUDENT_FL, BarName.USE,
ItemName.SSR_COMPONENT_FL, Page.SSR_TERM_STA1_FL, "U");
Break;

When "MCRT" /* Shopping Cart */


Transfer( False, MenuName.SSR_STUDENT_FL, BarName.USE,
ItemName.SSR_SHOP_CART_FL, Page.SSR_SHOP_CART_FL, "U");
Break;
End-Evaluate;

end-method;

method SSR_ENRL_CONFRM_FL_Activate

AddStyleSheet(StyleSheet.SSR_CONFIRMATION_FL);

Local SSR_MANAGE_CLASSES:UTIL:Confirmation &oConfirmation = create


SSR_MANAGE_CLASSES:UTIL:Confirmation();

&oConfirmation.LoadConfirmationMessages(&oManageClassesGlobalVars.rec_ClassEnrollme
ntDetailsAET.EMPLID.Value,
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.ACAD_CAREER.Value,
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.INSTITUTION.Value,
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.STRM.Value,
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.ENRL_REQUEST_ID.Value);

&sConfirmationMessageDetail = &oConfirmation.sConfirmationMessage;

&Panel = %This.CreatePanel();
&Panel.SetPageTitle(MsgGetText(14770, 815, "Message not found.")); /*
Confirmation */
&Panel.SetConfirmationMessage(&sConfirmationMessageDetail, False);

Local Rowset &rsLinkTable;


Local integer &i;

&i = 1;

&rsLinkTable = GetRowset(Scroll.SSR_DUMMY_REC);
&rsLinkTable.Flush();

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then


&rsLinkTable.InsertRow(&i);
&i = &i + 1;
&rsLinkTable(&i).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Value = "MNGC";
&rsLinkTable(&i).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Label = MsgGetText(14770,
813, "Message not found."); /* Return to Manage Classes Menu */
&rsLinkTable(&i).DERIVED_SSR_FL.IMAGE_FIELD.Value = Image.PS_SCHEDULE_L_FL;
&rsLinkTable(&i).DERIVED_SSR_FL.IMAGE_FIELD.Label =
&rsLinkTable(&i).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Label;
End-If;

If &oConfirmation.ShowReturnToClassPreferencesLink Then
&rsLinkTable.InsertRow(&i);
&i = &i + 1;
&rsLinkTable(&i).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Value = "CLPF";
&rsLinkTable(&i).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Label = MsgGetText(14770,
804, "Message not found."); /* Return to Class Preferences */
&rsLinkTable(&i).DERIVED_SSR_FL.IMAGE_FIELD.Value =
Image.PS_PREFERENCES_L_FL;
&rsLinkTable(&i).DERIVED_SSR_FL.IMAGE_FIELD.Label =
&rsLinkTable(&i).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Label;
End-If;

If &oManageClassesGlobalVars.bReturnToClassSearchResults Then
&oManageClassesGlobalVars.bReturnToClassSearchResults = False;
&rsLinkTable.InsertRow(&i);
&i = &i + 1;
&rsLinkTable(&i).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Value = "CSRH";
&rsLinkTable(&i).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Label = MsgGetText(14770,
805, "Message not found."); /* Return to Class Search Results */
&rsLinkTable(&i).DERIVED_SSR_FL.IMAGE_FIELD.Value =
Image.PS_SAVED_SEARCHES_M_FL;
&rsLinkTable(&i).DERIVED_SSR_FL.IMAGE_FIELD.Label =
&rsLinkTable(&i).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Label;
End-If;

&rsLinkTable.InsertRow(&i);
&i = &i + 1;
&rsLinkTable(&i).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Value = "KSRH";
&rsLinkTable(&i).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Label = MsgGetText(14770, 806,
"Message not found."); /* Return to Keyword Search Page */
&rsLinkTable(&i).DERIVED_SSR_FL.IMAGE_FIELD.Value = Image.EOPC_TURN_FRONT_S_FL;
&rsLinkTable(&i).DERIVED_SSR_FL.IMAGE_FIELD.Label =
&rsLinkTable(&i).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Label;

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then

&rsLinkTable.InsertRow(&i);
&i = &i + 1;
&rsLinkTable(&i).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Value = "VCLS";
&rsLinkTable(&i).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Label = MsgGetText(14770,
576, "Message not found."); /* View My Classes */
&rsLinkTable(&i).DERIVED_SSR_FL.IMAGE_FIELD.Value =
Image.PS_APPR_THISWEEK_M_FL;
&rsLinkTable(&i).DERIVED_SSR_FL.IMAGE_FIELD.Label =
&rsLinkTable(&i).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Label;

If
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.SSR_ENRL_OPTN.Value =
"CART" Then

/* Hide 'Shopping Cart' if 'Enrollment Only' is allowed */


Local string &AddClassOptions;

SQLExec("SELECT SSR_CS_ADD_OPTN FROM PS_SSR_CS_GEN_OPTS",


&AddClassOptions);

If &AddClassOptions <> "E" Then


&rsLinkTable.InsertRow(&i);
&i = &i + 1;
&rsLinkTable(&i).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Value = "MCRT";
&rsLinkTable(&i).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Label =
MsgGetText(14770, 601, "Message not found."); /* Shopping Cart */
&rsLinkTable(&i).DERIVED_SSR_FL.IMAGE_FIELD.Value =
Image.PS_SHOPPING_CART_M_FL;
&rsLinkTable(&i).DERIVED_SSR_FL.IMAGE_FIELD.Label =
&rsLinkTable(&i).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Label;
End-If;

End-If;

/* Return back to Class Search Keyword Search page */


AddJavaScript(HTML.SCC_NAVIGATION_JS);
AddOnLoadScript("removeComponentFromHistoryStack('" |
Component.PT_AGSTARTPAGE_NUI | "');");
AddOnLoadScript("removeComponentFromHistoryStack('" |
Component.SSR_CRSE_INFO_FL | "');");
AddOnLoadScript("removeComponentFromHistoryStack('" |
Component.SSR_CLSRCH_ES_FL | "');");

Else
&oManageClassesGlobalVars.sTransferToURL = "";
&oManageClassesGlobalVars.sTransferFromURL = "";

AddJavaScript(HTML.SSR_MANAGE_CLASSES_JS);
AddOnLoadScript("goBackToHomepage();");
End-If;

&rsLinkTable.DeleteRow(1); /* Delete empty row */

end-method;

method SSR_CLSRCH_FLDS__PTS_SRCH_BTN_FieldChange
Local string &sUrl;
Local string &sKeywords = GetRow().SSR_CLSRCH_FLDS.PTS_KEYWORDS.Value;
Local string &sSTRM = GetRow().DERIVED_SSR_FL.STRM.Value;
Local string &sINST = GetRow().DERIVED_SSR_FL.INSTITUTION.Value;
Local string &sSelectedSGrpName;

If %Request.BrowserDeviceFormFactor <> %FormFactor_Small Then


&sSelectedSGrpName = "SSR_CLASS_SEARCH_LFF";
Else
&sSelectedSGrpName = "SSR_CLASS_SEARCH_SFF";
End-If;

If Len(&sKeywords) > 0 Then


&sUrl = GenerateComponentContentURL(%Portal, %Node, MenuName.SSR_STUDENT_FL,
%Market, Component.SSR_CLSRCH_ES_FL, Page.SSR_CLSRCH_ES_FL, "");
&sUrl = &sUrl | "&SEARCH_GROUP=" | &sSelectedSGrpName | "&SEARCH_TEXT=" |
&sKeywords | "&ES_INST=" | &sINST | "&ES_STRM=" | &sSTRM | "&ES_ADV=N";
&sUrl = &sUrl | "&INVOKE_SEARCHAGAIN=" | Component.PTSF_GBLSRCH_FLUID;
%Response.RedirectURL(&sUrl);
Else
&Panel.SetConfirmationMessage(MsgGetText(14770, 887, "Message not found."),
False); /* Please enter a keyword to search */
End-If;

end-method;

method RedirectToStartPage

Local SCC_FLUID:UTIL:URL &oUrl = create SCC_FLUID:UTIL:URL();

Local string &crefUrl =


&oUrl.GetContentReferenceURL("CS_SSR_MANAGE_CLASSES_FL");

%Response.RedirectURL(&crefUrl);
end-method;
[SSR_MANAGE_CLASSES.COMPONENTS.SSR_COMPONENT_FL.OnExecute]
import SCC_FLUID:MODEL:Component;
import SCC_FLUID:MODEL:Panel;
import SCC_FLUID:MODEL:Navigation;
import SCC_FLUID:MODEL:NavigationTab;
import SCC_FLUID:MODEL:NavigationParams;
import SCC_FLUID:UTIL:Popup;
import SCC_FLUID:UTIL:CSSClass;
import SCC_FLUID:UTIL:Constants;
import SSR_STUDENT_RECORDS:SR_StudentData:StudentAcadProfile;
import SSR_STUDENT_RECORDS:SR_ClassData:ClassInfo;
import SSR_STUDENT_RECORDS:SR_SetupData:GradingBasisTbl;
import SSR_STUDENT_RECORDS:SR_StudentData:StudentActivePrograms;
import SSR_STUDENT_RECORDS:SR_ClassData:ClassStatus;
import SSR_MANAGE_CLASSES:UTIL:ClassInformation;
import SSR_MANAGE_CLASSES:UTIL:GlobalVariables;
import SSR_MANAGE_CLASSES:UTIL:Navigation;
import SSR_MANAGE_CLASSES:UTIL:InitializeSidePanel;
import SSR_MANAGE_CLASSES:UTIL:Installation;
import SSR_MANAGE_CLASSES:UTIL:Formatter;
import SSR_MANAGE_CLASSES:UTIL:CheckValidUserAction;

class SSR_COMPONENT_FL extends SCC_FLUID:MODEL:Component


method SSR_COMPONENT_FL(&bIsMDComponent As boolean);
method PostBuild();

method SSR_CLASSDTL_SCF_Activate();
method SSR_CLSDTL_LF_SCF__Activate();
method SSR_SEL_STA1_FL_Activate();
method SSR_SEL_STA1_SFL_Activate();
method SSR_VW_CLASS_FL_Activate();
method SSR_INSTRDTL_SCF_Activate();
method SSR_ENRL_DL_SCF__Activate();
method SSR_INSTDTL_LF_SCF_Activate();

method DERIVED_SSR_FL_SSR_INSTR_FL__FieldChange();

/* Term Selection */
method DERIVED_SSR_FL__MORE_BUTTON_FieldChange(&pagecheck As string);

/* Update Tabs options for Class Details SFF */


method DERIVED_SSR_FL__SSR_CL_DTLS_OPT_FieldChange();

/* Class Details to open secondary page for SFF and LFF */


method DERIVED_SSR_FL__SSR_CLASS_DTL_BTN_FieldChange();
method SSR_DER2_CAL_FL_SSR_CLASS_DTL_BTN__FieldChange();

/* Update Tabs options for Class Details LFF */


method DERIVED_SSR_FL_SSR_CL_DTLS_LFF__FieldChange();

/* Change Term Button to open secondary page */


method DERIVED_SSR_FL__SSR_CHANGE_BTN_FieldChange();

method DERIVED_SSR_FL__SSR_ENRL_STAT_FieldChange();
method DERIVED_SSR_FL__SSR_ENROLLED_WAIT_DROPPED_FieldChange();
method DERIVED_SSR_FL__SSR_SCRTAB_BTN_FieldChange();
method DERIVED_SSR_FL_SSR_VW_CLSCHD_OPT__FieldChange();
/* Secondary page custom exit buttons */
method DERIVED_SSR_FL_SSR_CANCEL_BTN__FieldChange();
method DERIVED_SSR_FL_SSR_DONE_BTN__FieldChange();

/* Instructor Details Secondary Page - SFF */


method SSR_DER1_MTG_FL_SSR_MTGINFO_DATA__FieldChange();
method DERIVED_SSR_FL_SSR_INSTR_NME_FL__FieldChange();

/* Enrollment Deadline Link to open secondary page */


method DERIVED_SSR_FL_SSR_ENRL_DL__FieldChange();

/* Update Tabs options for Enrollment Deadline LFF */


method DERIVED_SSR_FL_SSR_ENRL_DCW__FieldChange();

/* Update grid contents on By Date tab */


method SSR_DER0_CAL_FL_SSR_FROM_DATE__FieldChange();
method SSR_DER0_CAL_FL_SSR_TO_DATE__FieldChange();

method DetermineEnrollStatusToUse() Returns string;

method Refresh_StudentTerms_lff(&selectstatus As string);


method Refresh_StudentTerms_Datesff(&selectstatus As string);
method Refresh_StudentTerms_sff(&selectstatus As string);
method SelectTerm();

method CheckAllowedUserAction() Returns boolean;


method waitlist_okay() Returns boolean;

property string sEnrlRequestId;


property integer iEnrlReqDetlSeq;

protected
property SCC_FLUID:MODEL:Panel Panel;
property SCC_FLUID:MODEL:Navigation Navigation;

private
instance SCC_FLUID:UTIL:Constants &FluidConstants;
instance boolean &bIsMD;

instance string &str_StdntID;


instance string &recChangeTerm;
instance string &recChangeCar;
instance string &recChangeInst;
instance array of array of string &arr_StudentTerms;

instance Rowset &rs_regform_main;


instance Record &rec_EnrlReqHeader;
instance Rowset &rs_EnrlReqDtl;
instance integer &row_SP;
instance Record &recRegForm;

instance boolean &fl_Error, &binfoflag;


instance SSR_STUDENT_RECORDS:SR_ClassData:ClassInfo &obj_ClassInfo;
instance SSR_STUDENT_RECORDS:SR_SetupData:GradingBasisTbl &obj_GradingBasisTbl;
instance SSR_STUDENT_RECORDS:SR_StudentData:StudentActivePrograms
&obj_StdntProgs;
instance array of array of string &arr_StdntProgs;
instance string &sWaitListOkayLabel;
instance string &sInformationMessage;
instance Rowset &rsClassTblVw1;
instance string &sClassEditSource;
instance SSR_MANAGE_CLASSES:UTIL:ClassInformation &oClassInformation;

instance string &recEmplId, &setId, &sTime, &sFacility, &sStEnddate, &session;


instance string &subject, &catalog_nbr, &sClassSpecs, &session_code, &acadprog,
&crse_id, &class_section;
instance string &class_nbr, &crse_offer_nbr, &associated_class;
instance boolean &bool_recMultiInst, &bool_classoptionsflag;
instance string &VIEW_TYPE;

end-class;

Declare Function get_person_name PeopleCode FUNCLIB_NAME.PERSON_NAME FieldFormula;


Declare Function check_gb_exc PeopleCode FUNCLIB_CS.ENRL_REQ_ACTION FieldFormula;
Declare Function get_dflt_gb_choice PeopleCode FUNCLIB_CS.ENRL_REQ_ACTION
FieldFormula;
Declare Function SetupMsgArea PeopleCode FUNCLIB_SSTS_PL.SSR_MSG_PB FieldFormula;
Declare Function InsertMsg PeopleCode FUNCLIB_SSTS_PL.SSR_MSG_PB FieldFormula;
Declare Function WriteMsg PeopleCode FUNCLIB_SSTS_PL.SSR_MSG_PB FieldFormula;

Global SSR_MANAGE_CLASSES:UTIL:GlobalVariables &oManageClassesGlobalVars;

Component string &recPage, &recTerm, &recCar, &recInst, &gotopage, &instrcheck;


Component integer &instrpagecheck;
Component date &recTermBeginDt;
Component boolean &datefromflag, &datetoflag;
Component boolean &booMtgInfoLoaded, &booClassInfoLoaded, &booEnrollInfoLoaded,
&booClassAvlLoaded, &bootxtbkInfoLoaded;
Component boolean &booByClassLoaded, &booByDateLoaded;

method SSR_COMPONENT_FL
/+ &bIsMDComponent as Boolean +/

%Super = create SCC_FLUID:MODEL:Component();


&bIsMD = &bIsMDComponent;

end-method;

method PostBuild

&oManageClassesGlobalVars.sTabID = Page.SSR_VW_CLASS_FL;
&oManageClassesGlobalVars.sTransferFromURL = "";
&oManageClassesGlobalVars.sTransferToURL = "";
&oManageClassesGlobalVars.sMDComponent = "";

Local SSR_MANAGE_CLASSES:UTIL:Navigation &oNavigationSR = create


SSR_MANAGE_CLASSES:UTIL:Navigation();
&oNavigationSR.ResetToHomepage();

Local SCC_FLUID:UTIL:CSSClass &objCSS, &objCSS1;

&objCSS = create SCC_FLUID:UTIL:CSSClass();


&objCSS.AddStyleSheet(StyleSheet.SSR_SS);
&Panel = %This.CreatePanel();
%This.Render();

Local SSR_MANAGE_CLASSES:UTIL:InitializeSidePanel &oInitializeSidePanel = create


SSR_MANAGE_CLASSES:UTIL:InitializeSidePanel();

Local Record &getemplid, &getsetid;

&getemplid = CreateRecord(Record.PSOPRDEFN);
&getsetid = CreateRecord(Record.OPR_DEF_TBL_CS);

&getemplid.OPRID.Value = %OperatorId;
&bool_classoptionsflag = False;
If &getemplid.SelectByKey() Then
&recEmplId = &getemplid.EMPLID.Value;
End-If;

&getsetid.OPRID.Value = %OperatorId;

If &getsetid.SelectByKey() Then
&setId = &getsetid.SETID.Value;
End-If;

Local boolean &bool_isMultiCareer, &bool_isMultiInst;

Local SSR_MANAGE_CLASSES:UTIL:Installation &utilMethods = create


SSR_MANAGE_CLASSES:UTIL:Installation();
Local boolean &bool_recSingleInst = &utilMethods.IsSingleInstitution();

If &bool_recSingleInst = True Then


&bool_recMultiInst = False;
Else
&bool_recMultiInst = True;
End-If;

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then


If &oManageClassesGlobalVars.bIsFromConfirmation Then
&oManageClassesGlobalVars.bIsFromConfirmation = False;
AddJavaScript(HTML.SSR_MANAGE_CLASSES_JS);
AddOnLoadScript("goBackToManageClassesMenu();");
End-If;
End-If;

end-method;

method SSR_SEL_STA1_FL_Activate

Local Rowset &rs_CarInstTerm, &reclevel1, &rs_CarInstTermCurr,


&rs_CarInstTermPrev;
Local integer &i, &prev, &curr, &cntCarInstTermCurr, &cntCarInstTermPrev;
Local string &str_TermDescr, &prev_Career, &prev_Inst, &prev_Term;
Local boolean &fl_curr = False;
Local date &termbegindt;

AddJavaScript(HTML.SCC_NAVIGATION_JS);
AddOnLoadScript("setComponentHistoryToValid('SSR_MD_SP_FL')");

&rs_CarInstTermCurr = GetRowset(Scroll.SSR_ENTRMCUR_VW);
&rs_CarInstTermPrev = GetRowset(Scroll.SSR_ENTRMPRV_VW);
&rs_CarInstTermPrev.Flush();
&rs_CarInstTermCurr.Flush();
&cntCarInstTermCurr = &rs_CarInstTermCurr.Select(Record.SSR_ENTRMSTD_VW, "WHERE
EMPLID = :1 AND (TERM_BEGIN_DT >= %CurrentDateIn OR TERM_END_DT >= %CurrentDateIn)
ORDER BY TERM_BEGIN_DT, ACAD_CAREER", &recEmplId);
DERIVED_SSR_FL.SSR_ENTRMPRV_GRP.Visible = False;
If &cntCarInstTermCurr = 1 Then
DERIVED_SSR_FL.SSR_CHANGE_BTN.Visible = False;
End-If;

If &cntCarInstTermCurr = 0 And
&cntCarInstTermPrev = 0 Then

DERIVED_SSR_FL.SSR_NOCLASSES_MSG.Visible = True;
DERIVED_SSR_FL.SSR_NOCLASSES_MSG.Value = MsgGetText(14770, 504, "Message Not
Found");
&rs_CarInstTermCurr.HideAllRows();
Else

&Panel.SetPageTitle(MsgGetText(14770, 513, "Message not found.")); /* Select


a Value */

DERIVED_SSR_FL.SSR_NOCLASSES_MSG.Visible = False;

If &cntCarInstTermCurr > 1 Then


For &i = 1 To &cntCarInstTermCurr
&rs_CarInstTermCurr(&i).SSR_ENTRMCUR_VW.TERM_DESCR30.Label =
&rs_CarInstTermCurr(&i).SSR_ENTRMCUR_VW.TERM_DESCR30.Value;
&rs_CarInstTermCurr(&i).SSR_ENTRMCUR_VW.INSTITUTION_DESCR.Visible =
&bool_recMultiInst;
End-For;
Else

&recPage = %Page;
&recTerm = &rs_CarInstTermCurr(1).SSR_ENTRMCUR_VW.STRM.Value;
&recCar = &rs_CarInstTermCurr(1).SSR_ENTRMCUR_VW.ACAD_CAREER.Value;
&recInst = &rs_CarInstTermCurr(1).SSR_ENTRMCUR_VW.INSTITUTION.Value;
&recTermBeginDt =
&rs_CarInstTermCurr(1).SSR_ENTRMCUR_VW.TERM_BEGIN_DT.Value;
TransferPage(Page.SSR_VW_CLASS_FL);
End-If;

End-If;

end-method;

method SSR_VW_CLASS_FL_Activate

&booByClassLoaded = False;
&booByDateLoaded = False;

AddJavaScript(HTML.SCC_NAVIGATION_JS);
AddOnLoadScript("setComponentHistoryToValid('SSR_MD_SP_FL')");

&oClassInformation = create SSR_MANAGE_CLASSES:UTIL:ClassInformation();

Local integer &iClsSchedOpt;


Local Rowset &rsClsSchedOpt = CreateRowset(Record.SSR_CLSCHOPT_FL);
&rsClsSchedOpt.Fill();

If All(&rsClsSchedOpt(1).SSR_CLSCHOPT_FL.SSR_VW_CLSCHD_OPT.Value) Then
DERIVED_SSR_FL.SSR_VW_CLSCHD_OPT =
&rsClsSchedOpt(1).SSR_CLSCHOPT_FL.SSR_VW_CLSCHD_OPT.Value;
Else
DERIVED_SSR_FL.SSR_VW_CLSCHD_OPT = "L";
End-If;

Local Rowset &rsstatcheck;


Local integer &cntstatEcheck, &cntstatWcheck, &cntstatDcheck;
&rsstatcheck = CreateRowset(Record.STD_STAT_FL_VW);

If &recPage = "" Then


&recChangeTerm = "";
&recPage = %Page;
TransferPage(Page.SSR_TERM_STA1_FL);
End-If;

&Panel.SetPageTitle(MsgGetText(14770, 576, "Message not found.")); /* View My


Classes */
&Panel.SetPanelTitle(" ");

DERIVED_SSR_FL.INSTITUTION.Value = &recInst;
DERIVED_SSR_FL.ACAD_CAREER.Value = &recCar;
DERIVED_SSR_FL.STRM.Value = &recTerm;

INSTITUTION_TBL.DESCRFORMAL.Visible = &bool_recMultiInst;

&cntstatEcheck = &rsstatcheck.Fill("WHERE EMPLID=:1 AND STRM=:2 AND


ACAD_CAREER=:3 AND INSTITUTION=:4 AND STDNT_ENRL_STATUS = 'E' and ENRL_DROP_DT is
Null", &recEmplId, DERIVED_SSR_FL.STRM.Value, DERIVED_SSR_FL.ACAD_CAREER.Value,
DERIVED_SSR_FL.INSTITUTION.Value);
&cntstatWcheck = &rsstatcheck.Fill("WHERE EMPLID=:1 AND STRM=:2 AND
ACAD_CAREER=:3 AND INSTITUTION=:4 AND STDNT_ENRL_STATUS = 'W'", &recEmplId,
DERIVED_SSR_FL.STRM.Value, DERIVED_SSR_FL.ACAD_CAREER.Value,
DERIVED_SSR_FL.INSTITUTION.Value);
&cntstatDcheck = &rsstatcheck.Fill("WHERE EMPLID=:1 AND STRM=:2 AND
ACAD_CAREER=:3 AND INSTITUTION=:4 AND ((STDNT_ENRL_STATUS = 'E' and
(ENRL_STATUS_REASON = 'DROP' OR (ENRL_STATUS_REASON = 'WDRW' OR ENRL_STATUS_REASON
= 'WDR'))) OR STDNT_ENRL_STATUS = 'D' or ENRL_DROP_DT <> Null)", &recEmplId,
DERIVED_SSR_FL.STRM.Value, DERIVED_SSR_FL.ACAD_CAREER.Value,
DERIVED_SSR_FL.INSTITUTION.Value);

DERIVED_SSR_FL.SSR_ENROLLED.Value = "N";
DERIVED_SSR_FL.SSR_WAIT.Value = "N";
DERIVED_SSR_FL.SSR_DROPPED.Value = "N";

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then


DERIVED_SSR_FL.SSR_ENROLLED.Label = MsgGetText(14770, 507, "Message not
found");
DERIVED_SSR_FL.SSR_WAIT.Label = MsgGetText(14770, 508, "Message not found");
DERIVED_SSR_FL.SSR_DROPPED.Label = MsgGetText(14770, 509, "Message not
found");
Else
DERIVED_SSR_FL.SSR_ENROLLED.Label = MsgGetText(14770, 510, "Message not
found");
DERIVED_SSR_FL.SSR_WAIT.Label = MsgGetText(14770, 511, "Message not found");
DERIVED_SSR_FL.SSR_DROPPED.Label = MsgGetText(14770, 512, "Message not
found");
End-If;
DERIVED_SSR_FL.SSR_ENROLLED.Enabled = False;
DERIVED_SSR_FL.SSR_WAIT.Enabled = False;
DERIVED_SSR_FL.SSR_DROPPED.Enabled = False;

If &cntstatEcheck > 0 Then


DERIVED_SSR_FL.SSR_ENROLLED.Value = "Y";
If &cntstatDcheck = 0 And
&cntstatWcheck = 0 Then
DERIVED_SSR_FL.SSR_ENROLLED.Enabled = False;
Else
DERIVED_SSR_FL.SSR_ENROLLED.Enabled = True;
End-If;
End-If;

If &cntstatDcheck > 0 Then


DERIVED_SSR_FL.SSR_DROPPED.Value = "Y";
If &cntstatEcheck = 0 And
&cntstatWcheck = 0 Then
DERIVED_SSR_FL.SSR_DROPPED.Enabled = False;
Else
DERIVED_SSR_FL.SSR_DROPPED.Enabled = True;
End-If;
End-If;

If &cntstatWcheck > 0 Then


DERIVED_SSR_FL.SSR_WAIT.Value = "Y";
If &cntstatDcheck = 0 And
&cntstatEcheck = 0 Then
DERIVED_SSR_FL.SSR_WAIT.Enabled = False;
Else
DERIVED_SSR_FL.SSR_WAIT.Enabled = True;
End-If;
End-If;

If DERIVED_SSR_FL.SSR_VW_CLSCHD_OPT = "L" Then


SSR_DER0_CAL_FL.SSR_GRPSFF2_FL.Visible = False;
SSR_DER0_CAL_FL.SSR_GRPSFF_FL.Visible = True;
&booByClassLoaded = True;

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then


%This.Refresh_StudentTerms_sff("A");
Else
%This.Refresh_StudentTerms_lff("A");
End-If;
Else
SSR_DER0_CAL_FL.SSR_GRPSFF_FL.Visible = False;
SSR_DER0_CAL_FL.SSR_GRPSFF2_FL.Visible = True;
SSR_DER0_CAL_FL.SSR_FROM_DATE.Value = &recTermBeginDt;
SSR_DER0_CAL_FL.SSR_TO_DATE.Value = Date("");
&datefromflag = False;
&booByDateLoaded = True;
%This.Refresh_StudentTerms_Datesff("A");
End-If;

end-method;
method Refresh_StudentTerms_lff
/+ &selectstatus as String +/

Local integer &cntStdntEnrl, &i, &cntlevel2, &TEST1, &TEST2, &cntdatetime,


&cntinstructor, &cntinstrTemp, &cntfacility, &cntroom, &cntmtgpattern,
&cntpatterncheck, &cntenrolloptions, &cntgetsetid;
Local Rowset &recmtgnumber, &recmtgpattern, &rstStdntEnrl, &rsInstructor,
&rsenrolloptions, &rsgetsetid;
Local Record &recinstructor, &recfacility;
Local string &date, &stemp, &stempinstr;
Local Row &rowStdntEnrlLevel1, &rowStdntEnrlLevel2;

&rstStdntEnrl = GetRowset(Scroll.STD_ENR_FL_SSVW);
&rsenrolloptions = CreateRowset(Record.SSR_SS_ENRL_OPT);
&rsInstructor = CreateRowset(Record.CLASS_INSTR_VW);
&rsgetsetid = CreateRowset(Record.SET_CNTRL_REC);

&rstStdntEnrl.Flush();
&cntStdntEnrl = 0;

If &selectstatus = "A" Then

&cntStdntEnrl = &rstStdntEnrl.Select(Record.STD_ENR_FL_SSVW, "WHERE EMPLID=:1


AND STRM=:2 AND ACAD_CAREER=:3 AND INSTITUTION=:4 ORDER BY SSR_STAT_CHK_SORT,
SUBJECT, CATALOG_NBR", &recEmplId, DERIVED_SSR_FL.STRM.Value,
DERIVED_SSR_FL.ACAD_CAREER.Value, DERIVED_SSR_FL.INSTITUTION.Value);

Else
If &selectstatus = "E" Then
&cntStdntEnrl = &rstStdntEnrl.Select(Record.STD_ENR_FL_SSVW, "WHERE
EMPLID=:1 AND STRM=:2 AND ACAD_CAREER=:3 AND INSTITUTION=:4 AND STDNT_ENRL_STATUS =
'E' and ENRL_DROP_DT is Null ORDER BY SSR_STAT_CHK_SORT, SUBJECT, CATALOG_NBR",
&recEmplId, DERIVED_SSR_FL.STRM.Value, DERIVED_SSR_FL.ACAD_CAREER.Value,
DERIVED_SSR_FL.INSTITUTION.Value);
Else
If &selectstatus = "W" Then
&cntStdntEnrl = &rstStdntEnrl.Select(Record.STD_ENR_FL_SSVW, "WHERE
EMPLID=:1 AND STRM=:2 AND ACAD_CAREER=:3 AND INSTITUTION=:4 AND STDNT_ENRL_STATUS =
'W' ORDER BY SSR_STAT_CHK_SORT, SUBJECT, CATALOG_NBR", &recEmplId,
DERIVED_SSR_FL.STRM.Value, DERIVED_SSR_FL.ACAD_CAREER.Value,
DERIVED_SSR_FL.INSTITUTION.Value);
Else
If &selectstatus = "D" Then
&cntStdntEnrl = &rstStdntEnrl.Select(Record.STD_ENR_FL_SSVW, "WHERE
EMPLID=:1 AND STRM=:2 AND ACAD_CAREER=:3 AND INSTITUTION=:4 AND ((STDNT_ENRL_STATUS
= 'E' and (ENRL_STATUS_REASON = 'DROP' OR (ENRL_STATUS_REASON = 'WDRW' OR
ENRL_STATUS_REASON = 'WDR'))) OR STDNT_ENRL_STATUS = 'D' or ENRL_DROP_DT <> Null)
ORDER BY SSR_STAT_CHK_SORT, SUBJECT, CATALOG_NBR", &recEmplId,
DERIVED_SSR_FL.STRM.Value, DERIVED_SSR_FL.ACAD_CAREER.Value,
DERIVED_SSR_FL.INSTITUTION.Value);
Else
If &selectstatus = "EW" Then
&cntStdntEnrl = &rstStdntEnrl.Select(Record.STD_ENR_FL_SSVW,
"WHERE EMPLID=:1 AND STRM=:2 AND ACAD_CAREER=:3 AND INSTITUTION=:4 AND
((STDNT_ENRL_STATUS = 'E' and ENRL_DROP_DT is Null) OR (STDNT_ENRL_STATUS = 'W'))
ORDER BY SSR_STAT_CHK_SORT, SUBJECT, CATALOG_NBR", &recEmplId,
DERIVED_SSR_FL.STRM.Value, DERIVED_SSR_FL.ACAD_CAREER.Value,
DERIVED_SSR_FL.INSTITUTION.Value);
Else
If &selectstatus = "ED" Then
&cntStdntEnrl = &rstStdntEnrl.Select(Record.STD_ENR_FL_SSVW,
"WHERE EMPLID=:1 AND STRM=:2 AND ACAD_CAREER=:3 AND INSTITUTION=:4 AND
((STDNT_ENRL_STATUS = 'E' and ENRL_DROP_DT is Null) OR ((STDNT_ENRL_STATUS = 'E'
and (ENRL_STATUS_REASON = 'DROP' OR (ENRL_STATUS_REASON = 'WDRW' OR
ENRL_STATUS_REASON = 'WDR'))) OR STDNT_ENRL_STATUS = 'D' or ENRL_DROP_DT <> Null))
ORDER BY SSR_STAT_CHK_SORT, SUBJECT, CATALOG_NBR", &recEmplId,
DERIVED_SSR_FL.STRM.Value, DERIVED_SSR_FL.ACAD_CAREER.Value,
DERIVED_SSR_FL.INSTITUTION.Value);
Else
If &selectstatus = "WD" Then
&cntStdntEnrl =
&rstStdntEnrl.Select(Record.STD_ENR_FL_SSVW, "WHERE EMPLID=:1 AND STRM=:2 AND
ACAD_CAREER=:3 AND INSTITUTION=:4 AND (((STDNT_ENRL_STATUS = 'E' and
(ENRL_STATUS_REASON = 'DROP' OR (ENRL_STATUS_REASON = 'WDRW' OR ENRL_STATUS_REASON
= 'WDR'))) OR STDNT_ENRL_STATUS = 'D' or ENRL_DROP_DT <> Null) OR STDNT_ENRL_STATUS
= 'W') ORDER BY SSR_STAT_CHK_SORT, SUBJECT, CATALOG_NBR", &recEmplId,
DERIVED_SSR_FL.STRM.Value, DERIVED_SSR_FL.ACAD_CAREER.Value,
DERIVED_SSR_FL.INSTITUTION.Value);
End-If;
End-If;
End-If;
End-If;
End-If;
End-If;
End-If;

DERIVED_SSR_FL.SSR_WAIT.Visible = %This.waitlist_okay();

If &cntStdntEnrl > 0 Then


Local Record &recgradebasis = CreateRecord(Record.GRADE_BASIS_TBL);
Local integer &iClsSchedOpt;
Local Rowset &rsClsSchedOpt = CreateRowset(Record.SSR_CLSCHDOP_FL);
&rsClsSchedOpt.Fill();

For &iClsSchedOpt = 1 To &rsClsSchedOpt.ActiveRowCount


If (&rsClsSchedOpt(&iClsSchedOpt).SSR_CLSCHDOP_FL.SSR_FRMFACTYP_FL.Value =
"AL") Or

(&rsClsSchedOpt(&iClsSchedOpt).SSR_CLSCHDOP_FL.SSR_FRMFACTYP_FL.Value = "LF") Then


Local integer &MaxSched =
&rsClsSchedOpt(&iClsSchedOpt).SSR_CLSCHDOP_FL.SSR_RANGE_MAX.Value;
Local string &MaxSchedMsg =
&rsClsSchedOpt(&iClsSchedOpt).SSR_CLSCHDOP_FL.SSR_DESCR80.Value;
&iClsSchedOpt = &rsClsSchedOpt.ActiveRowCount;
Local boolean &bMaxSchedOk = True;
End-If;
End-For;
If Not &bMaxSchedOk Then
&MaxSched = 10;
End-If;

Local SSR_MANAGE_CLASSES:UTIL:Formatter &formatter = create


SSR_MANAGE_CLASSES:UTIL:Formatter();

DERIVED_SSR_FL.SSR_GRPLFF_FL.Visible = True;

&rstStdntEnrl.ShowAllRows();
&recmtgpattern = CreateRowset(Record.CLASS_MTG_VW);
&recinstructor = CreateRecord(Record.PERSONAL_DATA);
&recfacility = CreateRecord(Record.FACILITY_TBL_VW);
Local string &Access = GetUserOption("PPTL", "ACCESS");
Local boolean &baccessibility;
If &Access = "A" Then
&baccessibility = False;
Else
&baccessibility = True;
End-If;

For &i = 1 To &cntStdntEnrl


If &rstStdntEnrl(&i).STD_ENR_FL_SSVW.STDNT_ENRL_STATUS.Value = "E" And
(&rstStdntEnrl(&i).STD_ENR_FL_SSVW.ENRL_STATUS_REASON.Value = "DROP"
Or
(&rstStdntEnrl(&i).STD_ENR_FL_SSVW.ENRL_STATUS_REASON.Value =
"WDR" Or
&rstStdntEnrl(&i).STD_ENR_FL_SSVW.ENRL_STATUS_REASON.Value =
"WDRW")) Then
&rstStdntEnrl(&i).DERIVED_SSR_FL.SSR_DRV_STAT.Value =
&rstStdntEnrl(&i).DERIVED_SSR_FL.SSR_DRV_STAT.GetShortLabel("SSR_WITHDRAWN");
Else
&rstStdntEnrl(&i).DERIVED_SSR_FL.SSR_DRV_STAT.Value =
&rstStdntEnrl(&i).STD_ENR_FL_SSVW.STDNT_ENRL_STATUS.LongTranslateValue;
End-If;

&rstStdntEnrl(&i).DERIVED_SSR_FL.SSR_SBJ_CAT_NBR.Value =
&rstStdntEnrl(&i).STD_ENR_FL_SSVW.SUBJECT.Value | " " |
&rstStdntEnrl(&i).STD_ENR_FL_SSVW.CATALOG_NBR.Value | " " |
&rstStdntEnrl(&i).STD_ENR_FL_SSVW.DESCR.Value;
&rstStdntEnrl(&i).DERIVED_SSR_FL.SSR_SCRTAB_DTLS.Label =
&rstStdntEnrl(&i).STD_ENR_FL_SSVW.SUBJECT.Value | " " |
&rstStdntEnrl(&i).STD_ENR_FL_SSVW.CATALOG_NBR.Value | " " |
&rstStdntEnrl(&i).STD_ENR_FL_SSVW.DESCR.Value;
&rstStdntEnrl(&i).DERIVED_SSR_FL.SSR_STATUS_LBL.Value = MsgGetText(14770,
524, "Message Not Found");
&rstStdntEnrl(&i).DERIVED_SSR_FL.SSR_UNITS_LBL.Value = MsgGetText(14770,
566, "Message Not Found");
&rstStdntEnrl(&i).GetRowset(Scroll.STDNT_ENRL_SSV1).Flush();

&TEST1 =
&rstStdntEnrl(&i).GetRowset(Scroll.STDNT_ENRL_SSV1).Select(Record.STDNT_ENRL_SSV1,
"WHERE EMPLID=:1 AND STRM=:2 AND ACAD_CAREER=:3 AND INSTITUTION=:4 AND CLASS_NBR
= :5", &recEmplId, DERIVED_SSR_FL.STRM.Value, DERIVED_SSR_FL.ACAD_CAREER.Value,
DERIVED_SSR_FL.INSTITUTION.Value,
&rstStdntEnrl(&i).STD_ENR_FL_SSVW.CLASS_NBR.Value);
&rstStdntEnrl(&i).GetRowset(Scroll.STDNT_ENRL_SSV1)
(1).DERIVED_SSR_FL.SSR_DRV_STAT.Value =
&rstStdntEnrl(&i).DERIVED_SSR_FL.SSR_DRV_STAT.Value;

For &cntlevel2 = 1 To &TEST1


&rowStdntEnrlLevel1 =
&rstStdntEnrl(&i).GetRowset(Scroll.STDNT_ENRL_SSV1)(&cntlevel2);

&cntgetsetid = &rsgetsetid.Fill("WHERE RECNAME = 'GRADE_BASIS_TBL' AND


SETCNTRLVALUE = :1", &recInst);
&setId = &rsgetsetid(&cntgetsetid).SET_CNTRL_REC.SETID.Value;

&recgradebasis.GRADING_SCHEME.Value =
&rowStdntEnrlLevel1.STDNT_ENRL_SSV1.GRADING_SCHEME_ENR.Value;
&recgradebasis.SETID.Value = &setId;
&recgradebasis.GRADING_BASIS.Value =
&rowStdntEnrlLevel1.STDNT_ENRL_SSV1.GRADING_BASIS_ENRL.Value;
If &recgradebasis.SelectByKeyEffDt(&recTermBeginDt) Then
&rowStdntEnrlLevel1.DERIVED_SSR_FL.SSR_GRD_BASIS_ENRL.Value =
&recgradebasis.DESCRFORMAL.Value;
End-If;

End-For;

&TEST2 =
&rstStdntEnrl(&i).GetRowset(Scroll.STDNT_ENRL_SSVW).Select(Record.STDNT_ENRL_SSVW,
"WHERE EMPLID=:1 AND STRM=:2 AND ACAD_CAREER=:3 AND INSTITUTION=:4 AND CRSE_ID = :5
AND CRSE_OFFER_NBR = :6 AND STDNT_ENRL_STATUS = :7", &recEmplId,
DERIVED_SSR_FL.STRM.Value, DERIVED_SSR_FL.ACAD_CAREER.Value,
DERIVED_SSR_FL.INSTITUTION.Value, &rstStdntEnrl(&i).STD_ENR_FL_SSVW.CRSE_ID.Value,
&rstStdntEnrl(&i).STD_ENR_FL_SSVW.CRSE_OFFER_NBR.Value,
&rstStdntEnrl(&i).STD_ENR_FL_SSVW.STDNT_ENRL_STATUS.Value);
For &cntlevel2 = 1 To &TEST2
&rowStdntEnrlLevel2 =
&rstStdntEnrl(&i).GetRowset(Scroll.STDNT_ENRL_SSVW)(&cntlevel2);

&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_SBJ_CAT_NBR.Label =
&rowStdntEnrlLevel2.STDNT_ENRL_SSVW.CLASS_NBR.Value;

&cntmtgpattern = &recmtgpattern.Fill("WHERE CRSE_ID = :1 AND


CRSE_OFFER_NBR = :2 AND STRM = :3 AND SESSION_CODE = :4 AND CLASS_SECTION = :5",
&rowStdntEnrlLevel2.STDNT_ENRL_SSVW.CRSE_ID.Value,
&rowStdntEnrlLevel2.STDNT_ENRL_SSVW.CRSE_OFFER_NBR.Value, &recTerm,
&rowStdntEnrlLevel2.STDNT_ENRL_SSVW.SESSION_CODE.Value,
&rowStdntEnrlLevel2.STDNT_ENRL_SSVW.CLASS_SECTION.Value);

&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS1.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS2.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS3.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS4.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS5.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS6.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS7.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS8.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS9.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS10.Visible = False;

&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES1.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES2.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES3.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES4.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES5.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES6.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES7.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES8.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES9.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES10.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DESCR80.Visible = False;

&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM1.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM2.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM3.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM4.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM5.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM6.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM7.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM8.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM9.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM10.Visible = False;

&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_ST_END_DT1.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_ST_END_DT2.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_ST_END_DT3.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_ST_END_DT4.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_ST_END_DT5.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_ST_END_DT6.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_ST_END_DT7.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_ST_END_DT8.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_ST_END_DT9.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_ST_END_DT10.Visible = False;

&rowStdntEnrlLevel2.DERIVED_SSR_FL.FILLER_FIELD1.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.FILLER_FIELD2.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.FILLER_FIELD3.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.FILLER_FIELD4.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.FILLER_FIELD5.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.FILLER_FIELD6.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.FILLER_FIELD7.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.FILLER_FIELD8.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.FILLER_FIELD9.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.FILLER_FIELD10.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.FILLER_FIELD.Visible = False;

Local string &sTO =


&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS1.GetShortLabel("SSR_TO");
Local string &sSchedule =
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS1.GetShortLabel("SSR_SCHEDULE");

&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_ST_END_DT.Value =
&formatter.FormatDate(&rowStdntEnrlLevel2.STDNT_ENRL_SSVW.START_DT.Value) | " - " |
&formatter.FormatDate(&rowStdntEnrlLevel2.STDNT_ENRL_SSVW.END_DT.Value);

If &cntmtgpattern = 0 Then
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS1.Value = &sSchedule | ":
" | MsgGetText(14770, 543, "Message Not Found");
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS1.Visible = True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM1.Value =
MsgGetText(14770, 543, "Message Not Found");
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM1.Visible = True;
Else
&cntpatterncheck = 1;
Local string &sMon =
&recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.MON.GetLongLabel("MON");
Local string &sTues =
&recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.TUES.GetLongLabel("TUES");
Local string &sWed =
&recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.WED.GetLongLabel("WED");
Local string &sThurs =
&recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.THURS.GetLongLabel("THURS");
Local string &sFri =
&recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.FRI.GetLongLabel("FRI");
Local string &sSat =
&recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.SAT.GetLongLabel("SAT");
Local string &sSun =
&recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.SUN.GetLongLabel("SUN");
End-If;

For &cntpatterncheck = 1 To &cntmtgpattern


If &cntpatterncheck <= &MaxSched Then

Local string &sday = "";

Local boolean &bConscDaysBrkn = False;


Local integer &iConscDaysCtr = 0;
Local string &sFirstDay = " ";
Local string &sLastDay = " ";
Local string &sPrevDay = " ";

If &recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.MON.Value Then
&sday = &sday |
&recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.MON.GetLongLabel("MON") | " ";
&sFirstDay = &sMon;
&sPrevDay = &sMon;
&iConscDaysCtr = &iConscDaysCtr + 1;
End-If;

If &recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.TUES.Value Then
&sday = &sday |
&recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.TUES.GetLongLabel("TUES") | " ";
If &sPrevDay = &sMon Then
&iConscDaysCtr = &iConscDaysCtr + 1;
&sLastDay = &sTues;
Else
&iConscDaysCtr = 1;
&sFirstDay = &sTues;
&sLastDay = " ";
End-If;
&sPrevDay = &sTues;
End-If;

If &recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.WED.Value Then
&sday = &sday |
&recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.WED.GetLongLabel("WED") | " ";
If &sPrevDay = &sTues Then
&iConscDaysCtr = &iConscDaysCtr + 1;
&sLastDay = &sWed;
Else
If &iConscDaysCtr <> 0 Then
&bConscDaysBrkn = True;
Else
&iConscDaysCtr = 1;
&sFirstDay = &sWed;
&sLastDay = " ";
End-If;
End-If;
&sPrevDay = &sWed;
End-If;

If &recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.THURS.Value Then
&sday = &sday |
&recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.THURS.GetLongLabel("THURS") | " ";
If Not &bConscDaysBrkn Then
If &sPrevDay = &sWed Then
&iConscDaysCtr = &iConscDaysCtr + 1;
&sLastDay = &sThurs;
Else
If &iConscDaysCtr <> 0 Then
&bConscDaysBrkn = True;
Else
&iConscDaysCtr = 1;
&sFirstDay = &sThurs;
&sLastDay = " ";
End-If;
End-If;
&sPrevDay = &sThurs;
End-If;
End-If;

If &recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.FRI.Value Then
&sday = &sday |
&recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.FRI.GetLongLabel("FRI") | " ";
If Not &bConscDaysBrkn Then
If &sPrevDay = &sThurs Then
&iConscDaysCtr = &iConscDaysCtr + 1;
&sLastDay = &sFri;
Else
If &iConscDaysCtr <> 0 Then
&bConscDaysBrkn = True;
Else
&iConscDaysCtr = 0;
&sFirstDay = " ";
&sLastDay = " ";
End-If;
End-If;
&sPrevDay = &sFri;
End-If;
End-If;

If &recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.SAT.Value Then
&sday = &sday |
&recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.SAT.GetLongLabel("SAT") | " ";
If Not &bConscDaysBrkn Then
If &sPrevDay = &sFri Then
&iConscDaysCtr = &iConscDaysCtr + 1;
&sLastDay = &sSat;
Else
If &iConscDaysCtr <> 0 Then
&bConscDaysBrkn = True;
Else
&iConscDaysCtr = 0;
&sFirstDay = " ";
&sLastDay = " ";
End-If;
End-If;
&sPrevDay = &sSat;
End-If;
End-If;
If &recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.SUN.Value Then
&sday = &sday |
&recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.SUN.GetLongLabel("SUN") | " ";
If Not &bConscDaysBrkn Then
If &sPrevDay = &sSat Then
&iConscDaysCtr = &iConscDaysCtr + 1;
&sLastDay = &sSun;
Else
If &iConscDaysCtr <> 0 Then
&bConscDaysBrkn = True;
Else
&iConscDaysCtr = 0;
&iConscDaysCtr = 0;
&sFirstDay = " ";
&sLastDay = " ";
End-If;
End-If;
&sPrevDay = &sSun;
End-If;
End-If;

If &sday = "" Then


&sday = MsgGetText(14770, 543, "Message Not Found");
Local boolean &bdayExist = False;
Else
&bdayExist = True;
If ( Not &bConscDaysBrkn) And
(&iConscDaysCtr > 3) Then
&sday = &sFirstDay | " " | &sTO | " " | &sLastDay;
End-If;
End-If;

&sTime = "";
If
(&recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.MEETING_TIME_START.Value <> 0.00)
And

(&recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.MEETING_TIME_START.Value <>
Time("")) Then
Local string &L_NewTime =
&formatter.FormatTime(&rowStdntEnrlLevel2.STDNT_ENRL_SSVW.START_DT.Value,
&recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.MEETING_TIME_START.Value);

&sTime = &L_NewTime | " " | &sTO | " ";

&L_NewTime =
&formatter.FormatTime(&rowStdntEnrlLevel2.STDNT_ENRL_SSVW.START_DT.Value,
&recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.MEETING_TIME_END.Value);
&sTime = &sTime | &L_NewTime;
End-If;

If &sTime = "" Then


&sTime = MsgGetText(14770, 543, "Message Not Found");
Local boolean &bTimeExist = False;
Else
&bTimeExist = True;
End-If;

&cntgetsetid = &rsgetsetid.Fill("WHERE RECNAME = 'FACILITY_TBL'


AND SETCNTRLVALUE = :1", &recInst);
&setId = &rsgetsetid(&cntgetsetid).SET_CNTRL_REC.SETID.Value;
&recfacility.FACILITY_ID.Value =
&recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.FACILITY_ID.Value;
&recfacility.SETID.Value = &setId;
If &recfacility.SelectByKeyEffDt(&recTermBeginDt) Then
&sFacility = &recfacility.DESCR.Value;
Local boolean &bRoomExist = True;
Else
&sFacility = MsgGetText(14770, 543, "Message Not Found");
&bRoomExist = False;
End-If;
&sStEnddate =
&formatter.FormatDate(&recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.START_DT.Value)
| " - " |
&formatter.FormatDate(&recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.END_DT.Value);

Evaluate &cntpatterncheck
When 1
If ( Not &bdayExist) And
( Not &bTimeExist) And
( Not &bRoomExist) Then
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS1.Value =
MsgGetText(14770, 539, "Message Not Found") | ": " | MsgGetText(14770, 543,
"Message Not Found");
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS1.Visible =
True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM1.Value =
MsgGetText(14770, 543, "Message Not Found");
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM1.Visible =
True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_ST_END_DT.Visible =
True;
Else
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS1.Value =
MsgGetText(14770, 514, "Message Not Found") | ": " | &sday;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES1.Value =
MsgGetText(14770, 515, "Message Not Found") | ": " | &sTime;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM1.Value =
&sFacility;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_ST_END_DT1.Value =
&sStEnddate;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM1.Visible =
True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS1.Visible =
True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.FILLER_FIELD1.Visible =
True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES1.Visible =
True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_ST_END_DT1.Visible =
True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_ST_END_DT.Visible =
False;
End-If;
When 2
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS2.Value =
MsgGetText(14770, 514, "Message Not Found") | ": " | &sday;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES2.Value =
MsgGetText(14770, 515, "Message Not Found") | ": " | &sTime;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM2.Value =
&sFacility;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_ST_END_DT2.Value =
&sStEnddate;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM2.Visible =
True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS2.Visible = True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.FILLER_FIELD2.Visible =
True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES2.Visible =
True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_ST_END_DT2.Visible =
True;
When 3
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS3.Value =
MsgGetText(14770, 514, "Message Not Found") | ": " | &sday;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES3.Value =
MsgGetText(14770, 515, "Message Not Found") | ": " | &sTime;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM3.Value =
&sFacility;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_ST_END_DT3.Value =
&sStEnddate;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM3.Visible =
True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS3.Visible = True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.FILLER_FIELD3.Visible =
True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES3.Visible =
True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_ST_END_DT3.Visible =
True;
When 4
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS4.Value =
MsgGetText(14770, 514, "Message Not Found") | ": " | &sday;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES4.Value =
MsgGetText(14770, 515, "Message Not Found") | ": " | &sTime;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM4.Value =
&sFacility;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_ST_END_DT4.Value =
&sStEnddate;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM4.Visible =
True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS4.Visible = True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.FILLER_FIELD4.Visible =
True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES4.Visible =
True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_ST_END_DT4.Visible =
True;
When 5
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS5.Value =
MsgGetText(14770, 514, "Message Not Found") | ": " | &sday;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES5.Value =
MsgGetText(14770, 515, "Message Not Found") | ": " | &sTime;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM5.Value =
&sFacility;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_ST_END_DT5.Value =
&sStEnddate;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM5.Visible =
True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS5.Visible = True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.FILLER_FIELD5.Visible =
True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES5.Visible =
True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_ST_END_DT5.Visible =
True;
When 6
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS6.Value =
MsgGetText(14770, 514, "Message Not Found") | ": " | &sday;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES6.Value =
MsgGetText(14770, 515, "Message Not Found") | ": " | &sTime;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM6.Value =
&sFacility;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_ST_END_DT6.Value =
&sStEnddate;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM6.Visible =
True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS6.Visible = True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.FILLER_FIELD6.Visible =
True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES6.Visible =
True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_ST_END_DT6.Visible =
True;
When 7
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS7.Value =
MsgGetText(14770, 514, "Message Not Found") | ": " | &sday;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES7.Value =
MsgGetText(14770, 515, "Message Not Found") | ": " | &sTime;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM7.Value =
&sFacility;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_ST_END_DT7.Value =
&sStEnddate;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM7.Visible =
True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS7.Visible = True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.FILLER_FIELD7.Visible =
True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES7.Visible =
True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_ST_END_DT7.Visible =
True;
When 8
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS8.Value =
MsgGetText(14770, 514, "Message Not Found") | ": " | &sday;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES8.Value =
MsgGetText(14770, 515, "Message Not Found") | ": " | &sTime;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM8.Value =
&sFacility;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_ST_END_DT8.Value =
&sStEnddate;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM8.Visible =
True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS8.Visible = True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.FILLER_FIELD8.Visible =
True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES8.Visible =
True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_ST_END_DT8.Visible =
True;
When 9
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS9.Value =
MsgGetText(14770, 514, "Message Not Found") | ": " | &sday;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES9.Value =
MsgGetText(14770, 515, "Message Not Found") | ": " | &sTime;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM9.Value =
&sFacility;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_ST_END_DT9.Value =
&sStEnddate;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM9.Visible =
True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS9.Visible = True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.FILLER_FIELD9.Visible =
True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES9.Visible =
True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_ST_END_DT9.Visible =
True;
When 10
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS10.Value =
MsgGetText(14770, 514, "Message Not Found") | ": " | &sday;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES10.Value =
MsgGetText(14770, 515, "Message Not Found") | ": " | &sTime;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM10.Value =
&sFacility;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_ST_END_DT10.Value =
&sStEnddate;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM10.Visible =
True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS10.Visible = True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.FILLER_FIELD10.Visible =
True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES10.Visible =
True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_ST_END_DT10.Visible =
True;
End-Evaluate;

End-If;

&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_SCRTAB_MORE.Visible =
&baccessibility;

End-For;

If (&cntmtgpattern > &MaxSched) And


(All(&MaxSchedMsg)) Then
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DESCR80.Visible = True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DESCR80.Value = &MaxSchedMsg;
End-If;

End-For;

End-For;
Else

DERIVED_SSR_FL.SSR_GRPLFF_FL.Visible = False;

End-If;

end-method;

method Refresh_StudentTerms_sff
/+ &selectstatus as String +/

Local integer &cntStdntEnrl, &i, &cntlevel2, &TEST1, &TEST2, &cntdatetime,


&cntinstructor, &cntinstrTemp, &cntfacility, &cntroom, &cntmtgpattern,
&cntpatterncheck, &cntenrolloptions, &cntgetsetid;
Local Rowset &recmtgnumber, &recmtgpattern, &rstStdntEnrl, &rsInstructor,
&rsenrolloptions, &rsgetsetid;
Local Record &recinstructor, &recfacility;
Local string &date, &stemp, &stempinstr;
Local Row &rowStdntEnrlLevel1, &rowStdntEnrlLevel2;

&rstStdntEnrl = GetRowset(Scroll.STD_ENR_FL_SSVW);
&rsenrolloptions = CreateRowset(Record.SSR_SS_ENRL_OPT);
&rsInstructor = CreateRowset(Record.CLASS_INSTR_VW);
&rsgetsetid = CreateRowset(Record.SET_CNTRL_REC);

&rstStdntEnrl.Flush();
&cntStdntEnrl = 0;

If &selectstatus = "A" Then

&cntStdntEnrl = &rstStdntEnrl.Select(Record.STD_ENR_FL_SSVW, "WHERE EMPLID=:1


AND STRM=:2 AND ACAD_CAREER=:3 AND INSTITUTION=:4 ORDER BY SSR_STAT_CHK_SORT,
SUBJECT, CATALOG_NBR", &recEmplId, DERIVED_SSR_FL.STRM.Value,
DERIVED_SSR_FL.ACAD_CAREER.Value, DERIVED_SSR_FL.INSTITUTION.Value);

Else
If &selectstatus = "E" Then
&cntStdntEnrl = &rstStdntEnrl.Select(Record.STD_ENR_FL_SSVW, "WHERE
EMPLID=:1 AND STRM=:2 AND ACAD_CAREER=:3 AND INSTITUTION=:4 AND STDNT_ENRL_STATUS =
'E' and ENRL_DROP_DT is Null ORDER BY SSR_STAT_CHK_SORT, SUBJECT, CATALOG_NBR",
&recEmplId, DERIVED_SSR_FL.STRM.Value, DERIVED_SSR_FL.ACAD_CAREER.Value,
DERIVED_SSR_FL.INSTITUTION.Value);
Else
If &selectstatus = "W" Then
&cntStdntEnrl = &rstStdntEnrl.Select(Record.STD_ENR_FL_SSVW, "WHERE
EMPLID=:1 AND STRM=:2 AND ACAD_CAREER=:3 AND INSTITUTION=:4 AND STDNT_ENRL_STATUS =
'W' ORDER BY SSR_STAT_CHK_SORT, SUBJECT, CATALOG_NBR", &recEmplId,
DERIVED_SSR_FL.STRM.Value, DERIVED_SSR_FL.ACAD_CAREER.Value,
DERIVED_SSR_FL.INSTITUTION.Value);
Else
If &selectstatus = "D" Then
&cntStdntEnrl = &rstStdntEnrl.Select(Record.STD_ENR_FL_SSVW, "WHERE
EMPLID=:1 AND STRM=:2 AND ACAD_CAREER=:3 AND INSTITUTION=:4 AND ((STDNT_ENRL_STATUS
= 'E' and (ENRL_STATUS_REASON = 'DROP' OR (ENRL_STATUS_REASON = 'WDRW' OR
ENRL_STATUS_REASON = 'WDR'))) OR STDNT_ENRL_STATUS = 'D' or ENRL_DROP_DT <> Null)
ORDER BY SSR_STAT_CHK_SORT, SUBJECT, CATALOG_NBR", &recEmplId,
DERIVED_SSR_FL.STRM.Value, DERIVED_SSR_FL.ACAD_CAREER.Value,
DERIVED_SSR_FL.INSTITUTION.Value);
Else
If &selectstatus = "EW" Then
&cntStdntEnrl = &rstStdntEnrl.Select(Record.STD_ENR_FL_SSVW,
"WHERE EMPLID=:1 AND STRM=:2 AND ACAD_CAREER=:3 AND INSTITUTION=:4 AND
((STDNT_ENRL_STATUS = 'E' and ENRL_DROP_DT is Null) OR (STDNT_ENRL_STATUS = 'W'))
ORDER BY SSR_STAT_CHK_SORT, SUBJECT, CATALOG_NBR", &recEmplId,
DERIVED_SSR_FL.STRM.Value, DERIVED_SSR_FL.ACAD_CAREER.Value,
DERIVED_SSR_FL.INSTITUTION.Value);
Else
If &selectstatus = "ED" Then
&cntStdntEnrl = &rstStdntEnrl.Select(Record.STD_ENR_FL_SSVW,
"WHERE EMPLID=:1 AND STRM=:2 AND ACAD_CAREER=:3 AND INSTITUTION=:4 AND
((STDNT_ENRL_STATUS = 'E' and ENRL_DROP_DT is Null) OR ((STDNT_ENRL_STATUS = 'E'
and (ENRL_STATUS_REASON = 'DROP' OR (ENRL_STATUS_REASON = 'WDRW' OR
ENRL_STATUS_REASON = 'WDR'))) OR STDNT_ENRL_STATUS = 'D' or ENRL_DROP_DT <> Null))
ORDER BY SSR_STAT_CHK_SORT, SUBJECT, CATALOG_NBR", &recEmplId,
DERIVED_SSR_FL.STRM.Value, DERIVED_SSR_FL.ACAD_CAREER.Value,
DERIVED_SSR_FL.INSTITUTION.Value);
Else
If &selectstatus = "WD" Then
&cntStdntEnrl =
&rstStdntEnrl.Select(Record.STD_ENR_FL_SSVW, "WHERE EMPLID=:1 AND STRM=:2 AND
ACAD_CAREER=:3 AND INSTITUTION=:4 AND (((STDNT_ENRL_STATUS = 'E' and
(ENRL_STATUS_REASON = 'DROP' OR (ENRL_STATUS_REASON = 'WDRW' OR ENRL_STATUS_REASON
= 'WDR'))) OR STDNT_ENRL_STATUS = 'D' or ENRL_DROP_DT <> Null) OR STDNT_ENRL_STATUS
= 'W') ORDER BY SSR_STAT_CHK_SORT, SUBJECT, CATALOG_NBR", &recEmplId,
DERIVED_SSR_FL.STRM.Value, DERIVED_SSR_FL.ACAD_CAREER.Value,
DERIVED_SSR_FL.INSTITUTION.Value);
End-If;
End-If;
End-If;
End-If;
End-If;
End-If;
End-If;

DERIVED_SSR_FL.SSR_WAIT.Visible = %This.waitlist_okay();

If &cntStdntEnrl > 0 Then

Local integer &iClsSchedOpt;


Local Rowset &rsClsSchedOpt = CreateRowset(Record.SSR_CLSCHDOP_FL);
&rsClsSchedOpt.Fill();

For &iClsSchedOpt = 1 To &rsClsSchedOpt.ActiveRowCount


If (&rsClsSchedOpt(&iClsSchedOpt).SSR_CLSCHDOP_FL.SSR_FRMFACTYP_FL.Value =
"AL") Or

(&rsClsSchedOpt(&iClsSchedOpt).SSR_CLSCHDOP_FL.SSR_FRMFACTYP_FL.Value = "SF") Then


Local integer &MaxSched =
&rsClsSchedOpt(&iClsSchedOpt).SSR_CLSCHDOP_FL.SSR_RANGE_MAX.Value;
Local string &MaxSchedMsg =
&rsClsSchedOpt(&iClsSchedOpt).SSR_CLSCHDOP_FL.SSR_DESCR80.Value;
&iClsSchedOpt = &rsClsSchedOpt.ActiveRowCount;
Local boolean &bMaxSchedOk = True;
End-If;
End-For;
If Not &bMaxSchedOk Then
&MaxSched = 10;
End-If;

Local SSR_MANAGE_CLASSES:UTIL:Formatter &formatter = create


SSR_MANAGE_CLASSES:UTIL:Formatter();

DERIVED_SSR_FL.SSR_GRPSFF_FL.Visible = True;

&rstStdntEnrl.ShowAllRows();
&recmtgpattern = CreateRowset(Record.CLASS_MTG_VW);
&recinstructor = CreateRecord(Record.PERSONAL_DATA);
&recfacility = CreateRecord(Record.FACILITY_TBL_VW);

For &i = 1 To &cntStdntEnrl


If &rstStdntEnrl(&i).STD_ENR_FL_SSVW.STDNT_ENRL_STATUS.Value = "E" And
(&rstStdntEnrl(&i).STD_ENR_FL_SSVW.ENRL_STATUS_REASON.Value = "DROP"
Or
(&rstStdntEnrl(&i).STD_ENR_FL_SSVW.ENRL_STATUS_REASON.Value =
"WDR" Or
&rstStdntEnrl(&i).STD_ENR_FL_SSVW.ENRL_STATUS_REASON.Value =
"WDRW")) Then
&rstStdntEnrl(&i).DERIVED_SSR_FL.SSR_DRV_STAT.Value =
&rstStdntEnrl(&i).DERIVED_SSR_FL.SSR_DRV_STAT.GetShortLabel("SSR_WITHDRAWN");
Else
&rstStdntEnrl(&i).DERIVED_SSR_FL.SSR_DRV_STAT.Value =
&rstStdntEnrl(&i).STD_ENR_FL_SSVW.STDNT_ENRL_STATUS.LongTranslateValue;
End-If;

&rstStdntEnrl(&i).DERIVED_SSR_FL.SSR_DESCR30_2.Value =
&rstStdntEnrl(&i).STD_ENR_FL_SSVW.SUBJECT.Value | " " |
&rstStdntEnrl(&i).STD_ENR_FL_SSVW.CATALOG_NBR.Value;
&rstStdntEnrl(&i).DERIVED_SSR_FL.SSR_SBJ_CAT_NBR.Value =
&rstStdntEnrl(&i).STD_ENR_FL_SSVW.DESCR.Value;
&rstStdntEnrl(&i).DERIVED_SSR_FL.SSR_FILLER_FIELD1.Value = " ";
&rstStdntEnrl(&i).DERIVED_SSR_FL.SSR_STATUS_LBL.Value = MsgGetText(14770,
524, "Message Not Found");
&rstStdntEnrl(&i).DERIVED_SSR_FL.SSR_UNITS_LBL.Value = MsgGetText(14770,
566, "Message Not Found");
&rstStdntEnrl(&i).GetRowset(Scroll.STDNT_ENRL_SSV1).Flush();

&TEST1 =
&rstStdntEnrl(&i).GetRowset(Scroll.STDNT_ENRL_SSV1).Select(Record.STDNT_ENRL_SSV1,
"WHERE EMPLID=:1 AND STRM=:2 AND ACAD_CAREER=:3 AND INSTITUTION=:4 AND CLASS_NBR
= :5", &recEmplId, DERIVED_SSR_FL.STRM.Value, DERIVED_SSR_FL.ACAD_CAREER.Value,
DERIVED_SSR_FL.INSTITUTION.Value,
&rstStdntEnrl(&i).STD_ENR_FL_SSVW.CLASS_NBR.Value);

&TEST2 =
&rstStdntEnrl(&i).GetRowset(Scroll.STDNT_ENRL_SSVW).Select(Record.STDNT_ENRL_SSVW,
"WHERE EMPLID=:1 AND STRM=:2 AND ACAD_CAREER=:3 AND INSTITUTION=:4 AND CRSE_ID = :5
AND CRSE_OFFER_NBR = :6", &recEmplId, DERIVED_SSR_FL.STRM.Value,
DERIVED_SSR_FL.ACAD_CAREER.Value, DERIVED_SSR_FL.INSTITUTION.Value,
&rstStdntEnrl(&i).STD_ENR_FL_SSVW.CRSE_ID.Value,
&rstStdntEnrl(&i).STD_ENR_FL_SSVW.CRSE_OFFER_NBR.Value);
For &cntlevel2 = 1 To &TEST2
&rowStdntEnrlLevel2 =
&rstStdntEnrl(&i).GetRowset(Scroll.STDNT_ENRL_SSVW)(&cntlevel2);

&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_SBJ_CAT_NBR.Label =
&rowStdntEnrlLevel2.STDNT_ENRL_SSVW.SSR_COMPONENT.LongTranslateValue | " " |
&rowStdntEnrlLevel2.STDNT_ENRL_SSVW.SSR_COMPONENT.GetShortLabel("SSR_CLASS") | " "
| &rowStdntEnrlLevel2.STDNT_ENRL_SSVW.CLASS_NBR.Value;

&cntmtgpattern = &recmtgpattern.Fill("WHERE CRSE_ID = :1 AND


CRSE_OFFER_NBR = :2 AND STRM = :3 AND SESSION_CODE = :4 AND CLASS_SECTION = :5",
&rowStdntEnrlLevel2.STDNT_ENRL_SSVW.CRSE_ID.Value,
&rowStdntEnrlLevel2.STDNT_ENRL_SSVW.CRSE_OFFER_NBR.Value, &recTerm,
&rowStdntEnrlLevel2.STDNT_ENRL_SSVW.SESSION_CODE.Value,
&rowStdntEnrlLevel2.STDNT_ENRL_SSVW.CLASS_SECTION.Value);

&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS1.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS2.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS3.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS4.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS5.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS6.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS7.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS8.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS9.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS10.Visible = False;

&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES1.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES2.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES3.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES4.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES5.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES6.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES7.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES8.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES9.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES10.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DESCR80.Visible = False;

&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM1.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM2.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM3.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM4.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM5.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM6.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM7.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM8.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM9.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM10.Visible = False;

&rowStdntEnrlLevel2.DERIVED_SSR_FL.FILLER_FIELD1.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.FILLER_FIELD2.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.FILLER_FIELD3.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.FILLER_FIELD4.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.FILLER_FIELD5.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.FILLER_FIELD6.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.FILLER_FIELD7.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.FILLER_FIELD8.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.FILLER_FIELD9.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.FILLER_FIELD10.Visible = False;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.FILLER_FIELD.Visible = False;
Local string &sTO =
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS1.GetShortLabel("SSR_TO");
Local string &sSchedule =
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS1.GetShortLabel("SSR_SCHEDULE");

If &cntmtgpattern = 0 Then
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS1.Value = &sSchedule | ":
" | MsgGetText(14770, 543, "Message Not Found");
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS1.Visible = True;
Else
&cntpatterncheck = 1;
Local string &sMon =
&recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.MON.GetLongLabel("MON");
Local string &sTues =
&recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.TUES.GetLongLabel("TUES");
Local string &sWed =
&recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.WED.GetLongLabel("WED");
Local string &sThurs =
&recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.THURS.GetLongLabel("THURS");
Local string &sFri =
&recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.FRI.GetLongLabel("FRI");
Local string &sSat =
&recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.SAT.GetLongLabel("SAT");
Local string &sSun =
&recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.SUN.GetLongLabel("SUN");
End-If;

For &cntpatterncheck = 1 To &cntmtgpattern


If &cntpatterncheck <= &MaxSched Then

Local string &sday = "";

Local boolean &bConscDaysBrkn = False;


Local integer &iConscDaysCtr = 0;
Local string &sFirstDay = " ";
Local string &sLastDay = " ";
Local string &sPrevDay = " ";

If &recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.MON.Value Then
&sday = &sday |
&recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.MON.GetLongLabel("MON") | " ";
&sFirstDay = &sMon;
&sPrevDay = &sMon;
&iConscDaysCtr = &iConscDaysCtr + 1;
End-If;

If &recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.TUES.Value Then
&sday = &sday |
&recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.TUES.GetLongLabel("TUES") | " ";
If &sPrevDay = &sMon Then
&iConscDaysCtr = &iConscDaysCtr + 1;
&sLastDay = &sTues;
Else
&iConscDaysCtr = 1;
&sFirstDay = &sTues;
&sLastDay = " ";
End-If;
&sPrevDay = &sTues;
End-If;

If &recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.WED.Value Then
&sday = &sday |
&recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.WED.GetLongLabel("WED") | " ";
If &sPrevDay = &sTues Then
&iConscDaysCtr = &iConscDaysCtr + 1;
&sLastDay = &sWed;
Else
If &iConscDaysCtr <> 0 Then
&bConscDaysBrkn = True;
Else
&iConscDaysCtr = 1;
&sFirstDay = &sWed;
&sLastDay = " ";
End-If;
End-If;
&sPrevDay = &sWed;
End-If;

If &recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.THURS.Value Then
&sday = &sday |
&recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.THURS.GetLongLabel("THURS") | " ";
If Not &bConscDaysBrkn Then
If &sPrevDay = &sWed Then
&iConscDaysCtr = &iConscDaysCtr + 1;
&sLastDay = &sThurs;
Else
If &iConscDaysCtr <> 0 Then
&bConscDaysBrkn = True;
Else
&iConscDaysCtr = 1;
&sFirstDay = &sThurs;
&sLastDay = " ";
End-If;
End-If;
&sPrevDay = &sThurs;
End-If;
End-If;

If &recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.FRI.Value Then
&sday = &sday |
&recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.FRI.GetLongLabel("FRI") | " ";
If Not &bConscDaysBrkn Then
If &sPrevDay = &sThurs Then
&iConscDaysCtr = &iConscDaysCtr + 1;
&sLastDay = &sFri;
Else
If &iConscDaysCtr <> 0 Then
&bConscDaysBrkn = True;
Else
&iConscDaysCtr = 0;
&sFirstDay = " ";
&sLastDay = " ";
End-If;
End-If;
&sPrevDay = &sFri;
End-If;
End-If;
If &recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.SAT.Value Then
&sday = &sday |
&recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.SAT.GetLongLabel("SAT") | " ";
If Not &bConscDaysBrkn Then
If &sPrevDay = &sFri Then
&iConscDaysCtr = &iConscDaysCtr + 1;
&sLastDay = &sSat;
Else
If &iConscDaysCtr <> 0 Then
&bConscDaysBrkn = True;
Else
&iConscDaysCtr = 0;
&sFirstDay = " ";
&sLastDay = " ";
End-If;
End-If;
&sPrevDay = &sSat;
End-If;
End-If;

If &recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.SUN.Value Then
&sday = &sday |
&recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.SUN.GetLongLabel("SUN") | " ";
If Not &bConscDaysBrkn Then
If &sPrevDay = &sSat Then
&iConscDaysCtr = &iConscDaysCtr + 1;
&sLastDay = &sSun;
Else
If &iConscDaysCtr <> 0 Then
&bConscDaysBrkn = True;
Else
&iConscDaysCtr = 0;
&iConscDaysCtr = 0;
&sFirstDay = " ";
&sLastDay = " ";
End-If;
End-If;
&sPrevDay = &sSun;
End-If;
End-If;

If &sday = "" Then


&sday = MsgGetText(14770, 543, "Message Not Found");
Local boolean &bdayExist = False;
Else
&bdayExist = True;
If ( Not &bConscDaysBrkn) And
(&iConscDaysCtr > 3) Then
&sday = &sFirstDay | " " | &sTO | " " | &sLastDay;
End-If;
End-If;

&sTime = "";
If
(&recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.MEETING_TIME_START.Value <> 0.00)
And

(&recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.MEETING_TIME_START.Value <>
Time("")) Then
Local string &L_NewTime =
&formatter.FormatTime(&rowStdntEnrlLevel2.STDNT_ENRL_SSVW.START_DT.Value,
&recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.MEETING_TIME_START.Value);

&sTime = &L_NewTime | " " | &sTO | " ";

&L_NewTime =
&formatter.FormatTime(&rowStdntEnrlLevel2.STDNT_ENRL_SSVW.START_DT.Value,
&recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.MEETING_TIME_END.Value);
&sTime = &sTime | &L_NewTime;
End-If;

If &sTime = "" Then


&sTime = MsgGetText(14770, 543, "Message Not Found");
Local boolean &bTimeExist = False;
Else
&bTimeExist = True;
End-If;

&cntgetsetid = &rsgetsetid.Fill("WHERE RECNAME = 'FACILITY_TBL'


AND SETCNTRLVALUE = :1", &recInst);
&setId = &rsgetsetid(&cntgetsetid).SET_CNTRL_REC.SETID.Value;
&recfacility.FACILITY_ID.Value =
&recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.FACILITY_ID.Value;
&recfacility.SETID.Value = &setId;
If &recfacility.SelectByKeyEffDt(&recTermBeginDt) Then
&sFacility = &recfacility.DESCR.Value;
Local boolean &bRoomExist = True;
Else
&sFacility = MsgGetText(14770, 543, "Message Not Found");
&bRoomExist = False;
End-If;

Evaluate &cntpatterncheck
When 1
If ( Not &bdayExist) And
( Not &bTimeExist) And
( Not &bRoomExist) Then
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS1.Value =
MsgGetText(14770, 539, "Message Not Found") | ": " | MsgGetText(14770, 543,
"Message Not Found");
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS1.Visible =
True;
Else
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS1.Value =
MsgGetText(14770, 514, "Message Not Found") | ": " | &sday;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES1.Value =
MsgGetText(14770, 515, "Message Not Found") | ": " | &sTime;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM1.Value =
MsgGetText(14770, 516, "Message Not Found") | ": " | &sFacility;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM1.Visible =
True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS1.Visible =
True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES1.Visible =
True;
End-If;
When 2
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS2.Value =
MsgGetText(14770, 514, "Message Not Found") | ": " | &sday;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES2.Value =
MsgGetText(14770, 515, "Message Not Found") | ": " | &sTime;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM2.Value =
MsgGetText(14770, 516, "Message Not Found") | ": " | &sFacility;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM2.Visible =
True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS2.Visible = True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES2.Visible =
True;
When 3
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS3.Value =
MsgGetText(14770, 514, "Message Not Found") | ": " | &sday;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES3.Value =
MsgGetText(14770, 515, "Message Not Found") | ": " | &sTime;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM3.Value =
MsgGetText(14770, 516, "Message Not Found") | ": " | &sFacility;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM3.Visible =
True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS3.Visible = True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES3.Visible =
True;
When 4
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS4.Value =
MsgGetText(14770, 514, "Message Not Found") | ": " | &sday;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES4.Value =
MsgGetText(14770, 515, "Message Not Found") | ": " | &sTime;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM4.Value =
MsgGetText(14770, 516, "Message Not Found") | ": " | &sFacility;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM4.Visible =
True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS4.Visible = True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES4.Visible =
True;
When 5
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS5.Value =
MsgGetText(14770, 514, "Message Not Found") | ": " | &sday;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES5.Value =
MsgGetText(14770, 515, "Message Not Found") | ": " | &sTime;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM5.Value =
MsgGetText(14770, 516, "Message Not Found") | ": " | &sFacility;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM5.Visible =
True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS5.Visible = True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES5.Visible =
True;
When 6
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS6.Value =
MsgGetText(14770, 514, "Message Not Found") | ": " | &sday;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES6.Value =
MsgGetText(14770, 515, "Message Not Found") | ": " | &sTime;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM6.Value =
MsgGetText(14770, 516, "Message Not Found") | ": " | &sFacility;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM6.Visible =
True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS6.Visible = True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES6.Visible =
True;
When 7
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS7.Value =
MsgGetText(14770, 514, "Message Not Found") | ": " | &sday;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES7.Value =
MsgGetText(14770, 515, "Message Not Found") | ": " | &sTime;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM7.Value =
MsgGetText(14770, 516, "Message Not Found") | ": " | &sFacility;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM7.Visible =
True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS7.Visible = True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES7.Visible =
True;
When 8
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS8.Value =
MsgGetText(14770, 514, "Message Not Found") | ": " | &sday;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES8.Value =
MsgGetText(14770, 515, "Message Not Found") | ": " | &sTime;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM8.Value =
MsgGetText(14770, 516, "Message Not Found") | ": " | &sFacility;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM8.Visible =
True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS8.Visible = True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES8.Visible =
True;
When 9
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS9.Value =
MsgGetText(14770, 514, "Message Not Found") | ": " | &sday;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES9.Value =
MsgGetText(14770, 515, "Message Not Found") | ": " | &sTime;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM9.Value =
MsgGetText(14770, 516, "Message Not Found") | ": " | &sFacility;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM9.Visible =
True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS9.Visible = True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES9.Visible =
True;
When 10
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS10.Value =
MsgGetText(14770, 514, "Message Not Found") | ": " | &sday;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES10.Value =
MsgGetText(14770, 515, "Message Not Found") | ": " | &sTime;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM10.Value =
MsgGetText(14770, 516, "Message Not Found") | ": " | &sFacility;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DRV_ROOM10.Visible =
True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYS10.Visible = True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DAYSTIMES10.Visible =
True;
End-Evaluate;

End-If;

End-For;

If (&cntmtgpattern > &MaxSched) And


(All(&MaxSchedMsg)) Then
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DESCR80.Visible = True;
&rowStdntEnrlLevel2.DERIVED_SSR_FL.SSR_DESCR80.Value = &MaxSchedMsg;
End-If;
End-For;

End-For;

Else

DERIVED_SSR_FL.SSR_GRPSFF_FL.Visible = False;

End-If;

end-method;

method DERIVED_SSR_FL__SSR_CHANGE_BTN_FieldChange

%This.SelectTerm();

end-method;

method DERIVED_SSR_FL__MORE_BUTTON_FieldChange
/+ &pagecheck as String +/

Evaluate %Page
When Page.SSR_TERM_STA1_FL
&gotopage = &recPage;
&recPage = %Page;
If &pagecheck = "C" Then
&recTerm = SSR_ENTRMCUR_VW.STRM.Value;
&recCar = SSR_ENTRMCUR_VW.ACAD_CAREER.Value;
&recInst = SSR_ENTRMCUR_VW.INSTITUTION.Value;
&recTermBeginDt = SSR_ENTRMCUR_VW.TERM_BEGIN_DT.Value;

&recChangeTerm = SSR_ENTRMCUR_VW.STRM.Value;
&recChangeCar = SSR_ENTRMCUR_VW.ACAD_CAREER.Value;
&recChangeInst = SSR_ENTRMCUR_VW.INSTITUTION.Value;
Else
If &pagecheck = "P" Then
&recTerm = SSR_ENTRMPRV_VW.STRM.Value;
&recCar = SSR_ENTRMPRV_VW.ACAD_CAREER.Value;
&recInst = SSR_ENTRMPRV_VW.INSTITUTION.Value;
&recTermBeginDt = SSR_ENTRMPRV_VW.TERM_BEGIN_DT.Value;

&recChangeTerm = SSR_ENTRMPRV_VW.STRM.Value;
&recChangeCar = SSR_ENTRMPRV_VW.ACAD_CAREER.Value;
&recChangeInst = SSR_ENTRMPRV_VW.INSTITUTION.Value;
End-If
End-If;

TransferPage(Page.SSR_VW_CLASS_FL);

Break;
When Page.SSR_TERM_STA1_SCF

&gotopage = &recPage;
&recPage = %Page;
If &pagecheck = "C" Then
&recChangeTerm = SSR_ENTRMCUR_VW.STRM.Value;
&recChangeCar = SSR_ENTRMCUR_VW.ACAD_CAREER.Value;
&recChangeInst = SSR_ENTRMCUR_VW.INSTITUTION.Value;
&recTermBeginDt = SSR_ENTRMCUR_VW.TERM_BEGIN_DT.Value;
Else
If &pagecheck = "P" Then
&recChangeTerm = SSR_ENTRMPRV_VW.STRM.Value;
&recChangeCar = SSR_ENTRMPRV_VW.ACAD_CAREER.Value;
&recChangeInst = SSR_ENTRMPRV_VW.INSTITUTION.Value;
&recTermBeginDt = SSR_ENTRMPRV_VW.TERM_BEGIN_DT.Value;
End-If;
End-If;

&booByClassLoaded = False;
&booByDateLoaded = False;

EndModal(0);

Break;

End-Evaluate;

end-method;

method SelectTerm

Local SCC_FLUID:UTIL:Popup &oPopup;


Local boolean &REC1;
Local string &sModalOptions;
Local Page &recmodalpage;
Local integer &retCode;

&oPopup = create SCC_FLUID:UTIL:Popup();

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Or
%Request.BrowserDeviceType = "tablet" Then
&sModalOptions = GetHTMLText(HTML.SCC_MO_FULLSCREEN_FL);
Else
&sModalOptions = GetHTMLText(HTML.SCC_MO_POPUP_FL) |
";width@550;height@600;";
End-If;
Local string &rempage;

If %Page = Page.SSR_VW_CLASS_FL Then


&retCode = DoModalPopup(&sModalOptions, "", False, False,
Page.SSR_TERM_STA1_SCF, MsgGetText(14770, 513, "Message not found."), - 1, - 1, 0);
&rempage = Page.SSR_VW_CLASS_FL;

End-If;
SSR_DER0_CAL_FL.SSR_TO_DATE.Value = Date("");
If DERIVED_SSR_FL.ACAD_CAREER.Value <> &recChangeCar Or
DERIVED_SSR_FL.INSTITUTION.Value <> &recChangeInst Or
DERIVED_SSR_FL.STRM.Value <> &recChangeTerm Then

&recTerm = &recChangeTerm;
&recInst = &recChangeInst;
&recCar = &recChangeCar;

&oManageClassesGlobalVars.selectedInstitution = &recChangeInst;
&oManageClassesGlobalVars.selectedCareer = &recChangeCar;
&oManageClassesGlobalVars.selectedTerm = &recChangeTerm;

DERIVED_SSR_FL.ACAD_CAREER.Value = &recCar;
DERIVED_SSR_FL.INSTITUTION.Value = &recInst;
DERIVED_SSR_FL.STRM.Value = &recTerm;
TransferPage(@("page." | &rempage));
Else
TransferPage(@("page." | &rempage));
End-If;

end-method;

method DERIVED_SSR_FL__SSR_ENRL_STAT_FieldChange
If DERIVED_SSR_FL.SSR_ENRL_STAT.Value = "E" Then
DERIVED_SSR_FL.SSR_ENROLLED.Visible = True;
DERIVED_SSR_FL.SSR_DROPPED.Visible = False;
DERIVED_SSR_FL.SSR_WAIT.Visible = False;
Else
If DERIVED_SSR_FL.SSR_ENRL_STAT.Value = "W" Then
DERIVED_SSR_FL.SSR_ENROLLED.Visible = False;
DERIVED_SSR_FL.SSR_DROPPED.Visible = False;
DERIVED_SSR_FL.SSR_WAIT.Visible = True;
Else
DERIVED_SSR_FL.SSR_ENROLLED.Visible = False;
DERIVED_SSR_FL.SSR_DROPPED.Visible = True;
DERIVED_SSR_FL.SSR_WAIT.Visible = False;
End-If;
End-If;
end-method;

method DERIVED_SSR_FL__SSR_SCRTAB_BTN_FieldChange

If DERIVED_SSR_FL.SSR_SCRTAB_DTLS.Visible = False Then


DERIVED_SSR_FL.SSR_SCRTAB_DTLS.Visible = True;
Else
DERIVED_SSR_FL.SSR_SCRTAB_DTLS.Visible = False
End-If;
end-method;

method SSR_SEL_STA1_SFL_Activate

Local Record &labelrec;


Local Rowset &rs_CarInstTerm, &reclevel1, &rs_CarInstTermCurr,
&rs_CarInstTermPrev;
Local number &i, &prev, &curr;
Local string &str_TermDescr, &prev_Career, &prev_Inst, &prev_Term;
Local boolean &fl_curr = False;
Local date &termbegindt;

&labelrec = CreateRecord(Record.TERM_TBL);
&labelrec.INSTITUTION.Value = &recInst;
&labelrec.ACAD_CAREER.Value = &recCar;
&labelrec.STRM.Value = &recTerm;

If &labelrec.SelectByKey() Then
&termbegindt = &labelrec.TERM_BEGIN_DT.Value
End-If;

&reclevel1 = CreateRowset(Record.SSR_ENTRMSTD_VW);
&reclevel1.Fill("WHERE EMPLID = :1 AND ((STRM <> :2 AND ACAD_CAREER = :3) OR
(STRM = :2 AND ACAD_CAREER <> :3) OR (STRM = :2 AND ACAD_CAREER = :3 AND
INSTITUTION <> :4)) AND (TERM_BEGIN_DT >= %CurrentDateIn OR TERM_END_DT >=
%CurrentDateIn) ORDER BY TERM_BEGIN_DT", &recEmplId, &recTerm, &recCar, &recInst);

&rs_CarInstTermCurr = GetRowset(Scroll.SSR_ENTRMCUR_VW);
&rs_CarInstTermPrev = GetRowset(Scroll.SSR_ENTRMPRV_VW);
&rs_CarInstTermPrev.Flush();
&rs_CarInstTermCurr.Flush();

&prev = 1;
&curr = 1;

For &i = 1 To &reclevel1.ActiveRowCount

&rs_CarInstTermCurr.InsertRow(&curr);
&rs_CarInstTermCurr(&curr).SSR_ENTRMCUR_VW.STRM.Value =
&reclevel1(&i).SSR_ENTRMSTD_VW.STRM.Value;
&rs_CarInstTermCurr(&curr).SSR_ENTRMCUR_VW.TERM_DESCR30.Value =
&reclevel1(&i).SSR_ENTRMSTD_VW.TERM_DESCR30.Value;
&rs_CarInstTermCurr(&curr).SSR_ENTRMCUR_VW.INSTITUTION.Value =
&reclevel1(&i).SSR_ENTRMSTD_VW.INSTITUTION.Value;
&rs_CarInstTermCurr(&curr).SSR_ENTRMCUR_VW.INSTITUTION_DESCR.Value =
&reclevel1(&i).SSR_ENTRMSTD_VW.INSTITUTION_DESCR.Value;
&rs_CarInstTermCurr(&curr).SSR_ENTRMCUR_VW.ACAD_CAREER.Value =
&reclevel1(&i).SSR_ENTRMSTD_VW.ACAD_CAREER.Value;
&rs_CarInstTermCurr(&curr).SSR_ENTRMCUR_VW.ACAD_CAREER_DESCR.Value =
&reclevel1(&i).SSR_ENTRMSTD_VW.ACAD_CAREER_DESCR.Value;
&rs_CarInstTermCurr(&curr).SSR_ENTRMCUR_VW.TERM_BEGIN_DT.Value =
&reclevel1(&i).SSR_ENTRMSTD_VW.TERM_BEGIN_DT.Value;
&rs_CarInstTermCurr(&curr).SSR_ENTRMCUR_VW.TERM_DESCR30.Label =
&reclevel1(&i).SSR_ENTRMSTD_VW.TERM_DESCR30.Value;

&rs_CarInstTermCurr(&curr).SSR_ENTRMCUR_VW.INSTITUTION_DESCR.Visible =
&bool_recMultiInst;

&curr = &curr + 1;
End-For;
&rs_CarInstTermCurr.DeleteRow(&curr);

&rs_CarInstTermPrev.HideAllRows();
&rs_CarInstTermPrev.ShowAllRows();

If &rs_CarInstTermCurr(1).SSR_ENTRMCUR_VW.TERM_DESCR30.Label = "" Then


&rs_CarInstTermCurr.HideAllRows();
Else
&rs_CarInstTermCurr.ShowAllRows();
End-If;

end-method;
method DERIVED_SSR_FL__SSR_ENROLLED_WAIT_DROPPED_FieldChange
Local string &enrollstatus = %This.DetermineEnrollStatusToUse();

&booByClassLoaded = False;
&booByDateLoaded = False;

If DERIVED_SSR_FL.SSR_VW_CLSCHD_OPT.Value = "L" Then

SSR_DER0_CAL_FL.SSR_GRPSFF2_FL.Visible = False;
SSR_DER0_CAL_FL.SSR_GRPSFF_FL.Visible = True;
&booByClassLoaded = True;

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then


%This.Refresh_StudentTerms_sff(&enrollstatus);
Else

%This.Refresh_StudentTerms_lff(&enrollstatus);
End-If;
Else
If DERIVED_SSR_FL.SSR_VW_CLSCHD_OPT.Value = "D" Then

SSR_DER0_CAL_FL.SSR_GRPSFF_FL.Visible = False;
SSR_DER0_CAL_FL.SSR_GRPSFF2_FL.Visible = True;
SSR_DER0_CAL_FL.SSR_FROM_DATE.Value = &recTermBeginDt;
&datefromflag = False;
&booByDateLoaded = True;
%This.Refresh_StudentTerms_Datesff(&enrollstatus);

End-If;
End-If;

end-method;

method SSR_CLSDTL_LF_SCF__Activate

&oClassInformation.SSR_CLSDTL_LF_SCF_Activate();
end-method;

method DERIVED_SSR_FL__SSR_CL_DTLS_OPT_FieldChange

&oClassInformation.DERIVED_SSR_FL__SSR_CL_DTLS_OPT_FieldChange();

end-method;

method DERIVED_SSR_FL__SSR_CLASS_DTL_BTN_FieldChange

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then


&oClassInformation.DefaultTab = "MD"; /* Default to Meeting Details tab */
Else
&oClassInformation.DefaultTab = "CD"; /* Default to Class Details tab */
End-If;

&oClassInformation.recEmplId = &recEmplId;
&oClassInformation.recInst = &recInst;
&oClassInformation.recCar = &recCar;
&oClassInformation.recTerm = &recTerm;
&oClassInformation.recTermBeginDt = &recTermBeginDt;
&oClassInformation.subject = STDNT_ENRL_SSVW.SUBJECT.Value;
&oClassInformation.catalog_nbr = STDNT_ENRL_SSVW.CATALOG_NBR.Value;
&oClassInformation.associated_class = STDNT_ENRL_SSVW.ASSOCIATED_CLASS.Value;
&oClassInformation.sCourseTitle = STDNT_ENRL_SSVW.DESCR.Value;

&oClassInformation.crse_id = STDNT_ENRL_SSVW.CRSE_ID;
&oClassInformation.crse_offer_nbr = STDNT_ENRL_SSVW.CRSE_OFFER_NBR;
&oClassInformation.session_code = STDNT_ENRL_SSVW.SESSION_CODE;
&oClassInformation.class_section = STDNT_ENRL_SSVW.CLASS_SECTION;

&oClassInformation.class_nbr = STDNT_ENRL_SSVW.CLASS_NBR.Value;
&oClassInformation.ssr_component = STDNT_ENRL_SSVW.SSR_COMPONENT.Value;

If STDNT_ENRL_SSVW.CLASS_TYPE = "E" Then


&oClassInformation.sgrading_basis = STDNT_ENRL_SSVW.GRADING_BASIS_ENRL;
&oClassInformation.sunt_taken = NumberToString("%6.2",
STDNT_ENRL_SSVW.UNT_TAKEN);
Else
&oClassInformation.sgrading_basis = "NON";
&oClassInformation.sunt_taken = "0.00";
End-If;

&oClassInformation.Instantiate();
end-method;

method Refresh_StudentTerms_Datesff
/+ &selectstatus as String +/

Local integer &cntStdntEnrl, &i, &cntlevel2, &TEST1, &TEST2, &cntdatetime,


&cntinstructor, &cntinstrTemp, &cntfacility, &cntroom, &cntmtgpattern,
&cntpatterncheck, &cntstatDcheck, &cntstatEcheck, &cntstatWcheck,
&cntenrolloptions, &cntgetsetid;
Local Rowset &recmtgnumber, &recmtgpattern, &rstStdntEnrl, &rsInstructor,
&rsstatcheck, &rsgetsetid, &rsenrolloptions;
Local Record &recinstructor, &recfacility, &recStdntEnrl;
Local string &date, &stemp, &stempinstr;
Local Row &rowStdntEnrlLevel1, &rowStdntEnrlLevel2;

SSR_DER0_CAL_FL.SSR_FROM_DATE.Enabled = True;
SSR_DER0_CAL_FL.SSR_TO_DATE.Enabled = True;

Local integer &iStatusSelectCtr = 0;

If DERIVED_SSR_FL.SSR_ENROLLED.Value = "Y" Then


&iStatusSelectCtr = &iStatusSelectCtr + 1;
End-If;

If DERIVED_SSR_FL.SSR_WAIT.Value = "Y" Then


&iStatusSelectCtr = &iStatusSelectCtr + 1;
End-If;

If DERIVED_SSR_FL.SSR_DROPPED.Value = "Y" Then


&iStatusSelectCtr = &iStatusSelectCtr + 1;
End-If;

&rstStdntEnrl = CreateRowset(Record.STDNT_ENRL_SSVW);
&rsstatcheck = CreateRowset(Record.STD_STAT_FL_VW);
&rsenrolloptions = CreateRowset(Record.SSR_SS_ENRL_OPT);
&rsgetsetid = CreateRowset(Record.SET_CNTRL_REC);

&rstStdntEnrl.Flush();
&cntStdntEnrl = 0;

&cntstatEcheck = &rsstatcheck.Fill("WHERE EMPLID=:1 AND STRM=:2 AND


ACAD_CAREER=:3 AND INSTITUTION=:4 AND STDNT_ENRL_STATUS = 'E' and ENRL_DROP_DT is
Null", &recEmplId, DERIVED_SSR_FL.STRM.Value, DERIVED_SSR_FL.ACAD_CAREER.Value,
DERIVED_SSR_FL.INSTITUTION.Value);
&cntstatWcheck = &rsstatcheck.Fill("WHERE EMPLID=:1 AND STRM=:2 AND
ACAD_CAREER=:3 AND INSTITUTION=:4 AND STDNT_ENRL_STATUS = 'W'", &recEmplId,
DERIVED_SSR_FL.STRM.Value, DERIVED_SSR_FL.ACAD_CAREER.Value,
DERIVED_SSR_FL.INSTITUTION.Value);
&cntstatDcheck = &rsstatcheck.Fill("WHERE EMPLID=:1 AND STRM=:2 AND
ACAD_CAREER=:3 AND INSTITUTION=:4 AND ((STDNT_ENRL_STATUS = 'E' and
(ENRL_STATUS_REASON = 'DROP' OR (ENRL_STATUS_REASON = 'WDRW' OR ENRL_STATUS_REASON
= 'WDR') )) OR STDNT_ENRL_STATUS = 'D' or ENRL_DROP_DT <> Null)", &recEmplId,
DERIVED_SSR_FL.STRM.Value, DERIVED_SSR_FL.ACAD_CAREER.Value,
DERIVED_SSR_FL.INSTITUTION.Value);
If &selectstatus = "A" Then
&cntStdntEnrl = &rstStdntEnrl.Fill("WHERE EMPLID=:1 AND STRM=:2 AND
ACAD_CAREER=:3 AND INSTITUTION=:4", &recEmplId, DERIVED_SSR_FL.STRM.Value,
DERIVED_SSR_FL.ACAD_CAREER.Value, DERIVED_SSR_FL.INSTITUTION.Value);
Else
If &selectstatus = "E" Then
&cntStdntEnrl = &rstStdntEnrl.Fill("WHERE EMPLID=:1 AND STRM=:2 AND
ACAD_CAREER=:3 AND INSTITUTION=:4 AND STDNT_ENRL_STATUS = 'E' and ENRL_DROP_DT is
Null", &recEmplId, DERIVED_SSR_FL.STRM.Value, DERIVED_SSR_FL.ACAD_CAREER.Value,
DERIVED_SSR_FL.INSTITUTION.Value);
Else
If &selectstatus = "W" Then
&cntStdntEnrl = &rstStdntEnrl.Fill("WHERE EMPLID=:1 AND STRM=:2 AND
ACAD_CAREER=:3 AND INSTITUTION=:4 AND STDNT_ENRL_STATUS = 'W'", &recEmplId,
DERIVED_SSR_FL.STRM.Value, DERIVED_SSR_FL.ACAD_CAREER.Value,
DERIVED_SSR_FL.INSTITUTION.Value);
Else
If &selectstatus = "D" Then
&cntStdntEnrl = &rstStdntEnrl.Fill("WHERE EMPLID=:1 AND STRM=:2 AND
ACAD_CAREER=:3 AND INSTITUTION=:4 AND ((STDNT_ENRL_STATUS = 'E' and
(ENRL_STATUS_REASON = 'DROP' OR (ENRL_STATUS_REASON = 'WDRW' OR ENRL_STATUS_REASON
= 'WDR'))) OR STDNT_ENRL_STATUS = 'D' or ENRL_DROP_DT <> Null)", &recEmplId,
DERIVED_SSR_FL.STRM.Value, DERIVED_SSR_FL.ACAD_CAREER.Value,
DERIVED_SSR_FL.INSTITUTION.Value);
Else
If &selectstatus = "EW" Then
&cntStdntEnrl = &rstStdntEnrl.Fill("WHERE EMPLID=:1 AND STRM=:2
AND ACAD_CAREER=:3 AND INSTITUTION=:4 AND ((STDNT_ENRL_STATUS = 'E' and
ENRL_DROP_DT is Null) OR (STDNT_ENRL_STATUS = 'W'))", &recEmplId,
DERIVED_SSR_FL.STRM.Value, DERIVED_SSR_FL.ACAD_CAREER.Value,
DERIVED_SSR_FL.INSTITUTION.Value);
Else
If &selectstatus = "ED" Then
&cntStdntEnrl = &rstStdntEnrl.Fill("WHERE EMPLID=:1 AND
STRM=:2 AND ACAD_CAREER=:3 AND INSTITUTION=:4 AND ((STDNT_ENRL_STATUS = 'E' and
ENRL_DROP_DT is Null) OR ((STDNT_ENRL_STATUS = 'E' and (ENRL_STATUS_REASON =
'DROP' OR (ENRL_STATUS_REASON = 'WDRW' OR ENRL_STATUS_REASON = 'WDR'))) OR
STDNT_ENRL_STATUS = 'D' or ENRL_DROP_DT <> Null))", &recEmplId,
DERIVED_SSR_FL.STRM.Value, DERIVED_SSR_FL.ACAD_CAREER.Value,
DERIVED_SSR_FL.INSTITUTION.Value);
Else
If &selectstatus = "WD" Then
&cntStdntEnrl = &rstStdntEnrl.Fill("WHERE EMPLID=:1 AND
STRM=:2 AND ACAD_CAREER=:3 AND INSTITUTION=:4 AND (((STDNT_ENRL_STATUS = 'E' and
(ENRL_STATUS_REASON = 'DROP' OR (ENRL_STATUS_REASON = 'WDRW' OR ENRL_STATUS_REASON
= 'WDR'))) OR STDNT_ENRL_STATUS = 'D' or ENRL_DROP_DT <> Null) OR STDNT_ENRL_STATUS
= 'W')", &recEmplId, DERIVED_SSR_FL.STRM.Value, DERIVED_SSR_FL.ACAD_CAREER.Value,
DERIVED_SSR_FL.INSTITUTION.Value);
End-If;
End-If;
End-If;
End-If;
End-If;
End-If;
End-If;

DERIVED_SSR_FL.SSR_WAIT.Visible = %This.waitlist_okay();

If &cntstatEcheck > 0 Then

If &cntstatDcheck = 0 And
&cntstatWcheck = 0 Then
DERIVED_SSR_FL.SSR_ENROLLED.Enabled = False;
Else
DERIVED_SSR_FL.SSR_ENROLLED.Enabled = True;
End-If;
End-If;

If &cntstatDcheck > 0 Then

If &cntstatEcheck = 0 And
&cntstatWcheck = 0 Then
DERIVED_SSR_FL.SSR_DROPPED.Enabled = False;
Else
DERIVED_SSR_FL.SSR_DROPPED.Enabled = True;
End-If;
End-If;

If &cntstatWcheck > 0 Then

If &cntstatDcheck = 0 And
&cntstatEcheck = 0 Then
DERIVED_SSR_FL.SSR_WAIT.Enabled = False;
Else
DERIVED_SSR_FL.SSR_WAIT.Enabled = True;
End-If;
End-If;

Local Rowset &Level0 = GetLevel0();


Local Row &Level0_Row = &Level0(1);
Local Rowset &rsDateList = &Level0_Row.GetRowset(Scroll.SSR_DUMMY_RECV1);

Local Record &recClasscheck, &recclassStat;


&recClasscheck = CreateRecord(Record.CLASS_TBL_VW);
&recclassStat = CreateRecord(Record.STDNT_ENRL_SSVW);
Local string &statperschedule;

&rsDateList.Flush();
Local integer &iDateList, &iTimeList, &iTimeListWk;

Local date &dStart, &dEnd;

&recmtgpattern = CreateRowset(Record.CLASS_MTG_VW);
Local Grid &grd_bydate1;
If &cntStdntEnrl > 0 Then

&grd_bydate1 = GetGrid(%Page, "STDNT_ENRL_SSVW1");


&grd_bydate1.FreeFormStyleName = "psa_grid-columns4";

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then


DERIVED_SSR_FL.SSR_GRPSFF_FL.Visible = True;
Else
DERIVED_SSR_FL.SSR_GRPLFF_FL.Visible = True;
End-If;

For &i = 1 To &cntStdntEnrl;


&recStdntEnrl = &rstStdntEnrl(&i).GetRecord(Record.STDNT_ENRL_SSVW);

&recmtgpattern.Flush();
&cntmtgpattern = &recmtgpattern.Fill("WHERE FILL.CRSE_ID = :1 AND
FILL.CRSE_OFFER_NBR = :2 AND FILL.STRM = :3 AND FILL.SESSION_CODE = :4 AND
FILL.CLASS_SECTION = :5 AND FILL.START_DT = (SELECT MIN(X.START_DT) FROM
PS_CLASS_MTG_VW X WHERE X.CRSE_ID = FILL.CRSE_ID AND X.CRSE_OFFER_NBR =
FILL.CRSE_OFFER_NBR AND X.STRM = FILL.STRM AND X.SESSION_CODE = FILL.SESSION_CODE
AND X.CLASS_SECTION = FILL.CLASS_SECTION)", &recStdntEnrl.CRSE_ID.Value,
&recStdntEnrl.CRSE_OFFER_NBR.Value, &recTerm, &recStdntEnrl.SESSION_CODE.Value,
&recStdntEnrl.CLASS_SECTION.Value);

If &cntmtgpattern > 0 Then


If None(&dStart) Then
&dStart = &recmtgpattern(1).CLASS_MTG_VW.START_DT.Value;
End-If;
If &recmtgpattern(1).CLASS_MTG_VW.START_DT.Value < &dStart Then
&dStart = &recmtgpattern(1).CLASS_MTG_VW.START_DT.Value;
End-If;
End-If;

End-For;

If %Date >= &dStart Then


If Not &datefromflag Then
SSR_DER0_CAL_FL.SSR_FROM_DATE = %Date;
&datefromflag = False;
End-If;
Else
If SSR_DER0_CAL_FL.SSR_FROM_DATE < &dStart Then;
SSR_DER0_CAL_FL.SSR_FROM_DATE = &dStart;
End-If;
End-If;

If (None(SSR_DER0_CAL_FL.SSR_TO_DATE)) Or
(SSR_DER0_CAL_FL.SSR_FROM_DATE > SSR_DER0_CAL_FL.SSR_TO_DATE) Then

SSR_DER0_CAL_FL.SSR_TO_DATE = AddToDate(SSR_DER0_CAL_FL.SSR_FROM_DATE, 0,
0, 6);
Local integer &iNumOfDays = 7;
Else
If SSR_DER0_CAL_FL.SSR_FROM_DATE = SSR_DER0_CAL_FL.SSR_TO_DATE Then
&iNumOfDays = 1;

Else
rem SSR_DER0_CAL_FL.SSR_TO_DATE =
AddToDate(SSR_DER0_CAL_FL.SSR_FROM_DATE, 0, 0, 6);
&iNumOfDays = (Days(SSR_DER0_CAL_FL.SSR_TO_DATE) -
Days(SSR_DER0_CAL_FL.SSR_FROM_DATE)) + 1;
End-If;
End-If;

Local SSR_MANAGE_CLASSES:UTIL:Formatter &formatter = create


SSR_MANAGE_CLASSES:UTIL:Formatter();

&recfacility = CreateRecord(Record.FACILITY_TBL_VW);

Local integer &iDay;


Local date &dCalDate = SSR_DER0_CAL_FL.SSR_FROM_DATE;

Local boolean &bSchedFound = False;

For &iDay = 1 To &iNumOfDays


Local boolean &bDateListed = False;
&iTimeList = 0;
If &iDay <> 1 Then
&dCalDate = AddToDate(&dCalDate, 0, 0, 1);
End-If;

Local integer &iWeekday = Weekday(&dCalDate);

For &i = 1 To &cntStdntEnrl;

&recStdntEnrl = &rstStdntEnrl(&i).GetRecord(Record.STDNT_ENRL_SSVW);

&recmtgpattern.Flush();

If Not (&bSchedFound) Then


&cntmtgpattern = &recmtgpattern.Fill("WHERE CRSE_ID = :1 AND
CRSE_OFFER_NBR = :2 AND STRM = :3 AND SESSION_CODE = :4 AND CLASS_SECTION = :5",
&recStdntEnrl.CRSE_ID.Value, &recStdntEnrl.CRSE_OFFER_NBR.Value, &recTerm,
&recStdntEnrl.SESSION_CODE.Value, &recStdntEnrl.CLASS_SECTION.Value);
If (&cntmtgpattern = 0) Or
((&cntmtgpattern = 1) And
(&recmtgpattern(1).CLASS_MTG_VW.MEETING_TIME_START.Value =
0.00 Or
&recmtgpattern(1).CLASS_MTG_VW.MEETING_TIME_START.Value
= Time("")) And
(&recmtgpattern(1).CLASS_MTG_VW.SUN.Value <> "Y") And
(&recmtgpattern(1).CLASS_MTG_VW.MON.Value <> "Y") And
(&recmtgpattern(1).CLASS_MTG_VW.TUES.Value <> "Y") And
(&recmtgpattern(1).CLASS_MTG_VW.WED.Value <> "Y") And
(&recmtgpattern(1).CLASS_MTG_VW.THURS.Value <> "Y") And
(&recmtgpattern(1).CLASS_MTG_VW.FRI.Value <> "Y") And
(&recmtgpattern(1).CLASS_MTG_VW.SAT.Value <> "Y")) Then
&cntmtgpattern = 0;
Else
&bSchedFound = True;

&cntmtgpattern = &recmtgpattern.Fill("WHERE CRSE_ID = :1 AND


CRSE_OFFER_NBR = :2 AND STRM = :3 AND SESSION_CODE = :4 AND CLASS_SECTION = :5 AND
%DateIn(:6) BETWEEN START_DT AND END_DT", &recStdntEnrl.CRSE_ID.Value,
&recStdntEnrl.CRSE_OFFER_NBR.Value, &recTerm, &recStdntEnrl.SESSION_CODE.Value,
&recStdntEnrl.CLASS_SECTION.Value, &dCalDate);
End-If;
Else
&cntmtgpattern = &recmtgpattern.Fill("WHERE CRSE_ID = :1 AND
CRSE_OFFER_NBR = :2 AND STRM = :3 AND SESSION_CODE = :4 AND CLASS_SECTION = :5 AND
%DateIn(:6) BETWEEN START_DT AND END_DT", &recStdntEnrl.CRSE_ID.Value,
&recStdntEnrl.CRSE_OFFER_NBR.Value, &recTerm, &recStdntEnrl.SESSION_CODE.Value,
&recStdntEnrl.CLASS_SECTION.Value, &dCalDate);
End-If;

For &cntpatterncheck = 1 To &cntmtgpattern

Local boolean &bSelected = False;

Evaluate &iWeekday
When 1

Local string &sday = "";


If &recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.SUN.Value = "Y"
Then
&bSelected = True;
End-If;

When 2
If &recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.MON.Value = "Y"
Then
&bSelected = True;
End-If;

When 3
If &recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.TUES.Value = "Y"
Then
&bSelected = True;
End-If;

When 4
If &recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.WED.Value = "Y"
Then
&bSelected = True;
End-If;

When 5
If &recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.THURS.Value =
"Y" Then
&bSelected = True;
End-If;

When 6
If &recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.FRI.Value = "Y"
Then
&bSelected = True;
End-If;

When 7
If &recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.SAT.Value = "Y"
Then
&bSelected = True;
End-If;

End-Evaluate;

If &bSelected Then
If Not &bDateListed Then
&bDateListed = True;
If &iDateList <> 0 Then
&rsDateList.InsertRow(&iDateList);
End-If;
&iDateList = &iDateList + 1;

&rsDateList(&iDateList).SSR_DER1_CAL_FL.SSR_DESCR80.Value =
DateTimeToLocalizedString(&dCalDate, "EEEEE MMMMM d");
Local Rowset &rsTimeList =
&rsDateList(&iDateList).GetRowset(Scroll.SSR_DUMMY_RECV2);

&rsDateList(&iDateList).SSR_DER1_CAL_FL.SSR_DATE.Value =
&dCalDate;

End-If;

If &iTimeList <> 0 Then


&iTimeList = &rsTimeList.ActiveRowCount;
For &iTimeListWk = 1 To &rsTimeList.ActiveRowCount
If
&rsTimeList(&iTimeListWk).SSR_DER2_CAL_FL.MEETING_TIME_START.Value >
&recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.MEETING_TIME_START.Value And

(&recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.MEETING_TIME_START.Value <> 0.00)


And

(&recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.MEETING_TIME_START.Value <>
Time("")) Then
&iTimeList = &iTimeListWk - 1;
&iTimeListWk = &rsTimeList.ActiveRowCount;
End-If;
End-For;
If &iTimeList = 0 Then
&rsTimeList.InsertRow(1);
Local Record &rec_From =
&rsTimeList(1).GetRecord(Record.SSR_DUMMY_RECV2);
Local Record &rec_To =
&rsTimeList(2).GetRecord(Record.SSR_DUMMY_RECV2);
&rec_From.CopyFieldsTo(&rec_To);
&rec_From =
&rsTimeList(1).GetRecord(Record.SSR_DER2_CAL_FL);
&rec_To = &rsTimeList(2).GetRecord(Record.SSR_DER2_CAL_FL);
&rec_From.CopyFieldsTo(&rec_To);
&rsTimeList(2).SSR_DER2_CAL_FL.SSR_DESCR80.Label =
&rsTimeList(1).SSR_DER2_CAL_FL.SSR_DESCR80.Label;
&rsTimeList(2).SSR_DER2_CAL_FL.SSR_DESCR80_2.Visible =
&rsTimeList(1).SSR_DER2_CAL_FL.SSR_DESCR80_2.Visible;
&iTimeList = 0;
Else
&rsTimeList.InsertRow(&iTimeList);
End-If;
End-If;

&iTimeList = &iTimeList + 1;
&rsTimeList(&iTimeList).SSR_DER2_CAL_FL.SSR_DESCR80_2.Visible =
False;

&rsTimeList(&iTimeList).SSR_DER2_CAL_FL.CLASS_NBR.Value =
&recStdntEnrl.CLASS_NBR.Value;
&rsTimeList(&iTimeList).SSR_DER2_CAL_FL.MEETING_TIME_START.Value
= &recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.MEETING_TIME_START.Value;
&rsTimeList(&iTimeList).SSR_DER2_CAL_FL.MEETING_TIME_END.Value =
&recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.MEETING_TIME_END.Value;

If
(&recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.MEETING_TIME_START.Value <> 0.00)
And

(&recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.MEETING_TIME_START.Value <>
Time("")) Then
&rsTimeList(&iTimeList).SSR_DER2_CAL_FL.SSR_DESCR100.Value =
&formatter.FormatTime(&dCalDate,
&recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.MEETING_TIME_START.Value);
Else
&rsTimeList(&iTimeList).SSR_DER2_CAL_FL.SSR_DESCR100.Value =
MsgGetText(14770, 543, "Message Not Found");
End-If;

&rsTimeList(&iTimeList).SSR_DER2_CAL_FL.SSR_DESCR80.Label =
&recStdntEnrl.SUBJECT.Value | " " | &recStdntEnrl.CATALOG_NBR.Value | " " |
&recStdntEnrl.SSR_COMPONENT.LongTranslateValue;

If
All(&recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.FACILITY_ID.Value) Then
&recfacility = CreateRecord(Record.FACILITY_TBL_VW);
&cntgetsetid = &rsgetsetid.Fill("WHERE RECNAME =
'FACILITY_TBL' AND SETCNTRLVALUE = :1", &recInst);
&setId = &rsgetsetid(&cntgetsetid).SET_CNTRL_REC.SETID.Value;

&recfacility.SETID.Value = &setId;
&recfacility.FACILITY_ID.Value =
&recmtgpattern(&cntpatterncheck).CLASS_MTG_VW.FACILITY_ID.Value;
If &recfacility.SelectByKeyEffDt(&recTermBeginDt) Then
Local string &facility_descr = &recfacility.DESCR.Value;
Else
&facility_descr = MsgGetText(14740, 2134, "Message not
found.");
End-If;
Else
&facility_descr = MsgGetText(14770, 543, "Message Not Found");
End-If;
&rsTimeList(&iTimeList).SSR_DER2_CAL_FL.SSR_DESCR80_1.Value =
MsgGetText(14770, 516, "Message Not Found") | ": " | &facility_descr;
&recClasscheck.INSTITUTION.Value = &recInst;
&recClasscheck.STRM.Value = &recTerm;
&recClasscheck.CLASS_NBR.Value =
&rsTimeList(&iTimeList).SSR_DER2_CAL_FL.CLASS_NBR.Value;
If &recClasscheck.SelectByKey() Then
&recclassStat.EMPLID.Value = &recEmplId;
&recclassStat.ACAD_CAREER.Value =
&recClasscheck.ACAD_CAREER.Value;
&recclassStat.INSTITUTION.Value =
&recClasscheck.INSTITUTION.Value;
&recclassStat.STRM.Value = &recClasscheck.STRM.Value;
&recclassStat.SUBJECT.Value = &recClasscheck.SUBJECT.Value;
&recclassStat.CATALOG_NBR.Value =
&recClasscheck.CATALOG_NBR.Value;
&recclassStat.ASSOCIATED_CLASS.Value =
&recClasscheck.ASSOCIATED_CLASS.Value;
&recclassStat.CLASS_NBR.Value =
&recClasscheck.CLASS_NBR.Value;
If &recclassStat.SelectByKey() Then

If &recclassStat.STDNT_ENRL_STATUS.Value = "E" And


(&recclassStat.ENRL_STATUS_REASON.Value = "DROP" Or
(&recclassStat.ENRL_STATUS_REASON.Value = "WDR" Or
&recclassStat.ENRL_STATUS_REASON.Value =
"WDRW")) Then
&statperschedule = "Withdrawn";
Else
&statperschedule =
&recclassStat.STDNT_ENRL_STATUS.LongTranslateValue;
End-If;
End-If;
End-If;

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then


If &iStatusSelectCtr > 1 Then
&rsTimeList(&iTimeList).SSR_DER2_CAL_FL.SSR_DESCR80_2.Value
=
&rsTimeList(&iTimeList).SSR_DER2_CAL_FL.SSR_DESCR80_2.GetShortLabel("SSR_ENRL_STATU
S") | ":" | " " | &statperschedule;

&rsTimeList(&iTimeList).SSR_DER2_CAL_FL.SSR_DESCR80_2.Visible = True;
Else

&rsTimeList(&iTimeList).SSR_DER2_CAL_FL.SSR_DESCR80_2.Visible = False;
End-If;
Else
&rsTimeList(&iTimeList).SSR_DER2_CAL_FL.SSR_DESCR80_2.Value =
&rsTimeList(&iTimeList).SSR_DER2_CAL_FL.SSR_DESCR80_2.GetShortLabel("SSR_ENRL_STATU
S") | ":" | " " | &statperschedule;
&rsTimeList(&iTimeList).SSR_DER2_CAL_FL.SSR_DESCR80_2.Visible
= True;
End-If;

REM "Check for Time Conflict";


Local integer &L_i;
For &L_i = 1 To &rsTimeList.ActiveRowCount

If &L_i <> &iTimeList Then


If
(&rsTimeList(&iTimeList).SSR_DER2_CAL_FL.MEETING_TIME_START.Value >=
&rsTimeList(&L_i).SSR_DER2_CAL_FL.MEETING_TIME_START.Value) And

(&rsTimeList(&iTimeList).SSR_DER2_CAL_FL.MEETING_TIME_START.Value <
&rsTimeList(&L_i).SSR_DER2_CAL_FL.MEETING_TIME_END.Value) Then
If
&rsTimeList(&iTimeList).SSR_DER2_CAL_FL.SSR_TIME_CONFLICT.Value <> "Y" And

&rsTimeList(&iTimeList).SSR_DER2_CAL_FL.SSR_DESCR100.Value <> MsgGetText(14770,


543, "Message Not Found") Then

&rsTimeList(&iTimeList).SSR_DER2_CAL_FL.SSR_TIME_CONFLICT.Value = "Y";

&rsTimeList(&iTimeList).SSR_DER2_CAL_FL.SSR_STATUS_LONG.Value =
GetHTMLText(HTML.SSR_CLASS_STAT_IMG, "%Image(PS_WARN_S_FL)", "Error");

&rsTimeList(&iTimeList).SSR_DER2_CAL_FL.SSR_DESCR.Value =
&rsTimeList(&iTimeList).SSR_DER2_CAL_FL.SSR_DESCR.GetShortLabel("SSR_TIME_CONFLICT"
);

&rsTimeList(&iTimeList).SSR_DER2_CAL_FL.SSR_STATUS_LONG.Visible = True;

&rsTimeList(&iTimeList).SSR_DER2_CAL_FL.SSR_DESCR.Visible = True;

End-If;
If
&rsTimeList(&L_i).SSR_DER2_CAL_FL.SSR_TIME_CONFLICT.Value <> "Y" And

&rsTimeList(&L_i).SSR_DER2_CAL_FL.SSR_DESCR100.Value <> MsgGetText(14770, 543,


"Message Not Found") Then

&rsTimeList(&L_i).SSR_DER2_CAL_FL.SSR_TIME_CONFLICT.Value = "Y";

&rsTimeList(&L_i).SSR_DER2_CAL_FL.SSR_STATUS_LONG.Value =
GetHTMLText(HTML.SSR_CLASS_STAT_IMG, "%Image(PS_WARN_S_FL)", "Error");
&rsTimeList(&L_i).SSR_DER2_CAL_FL.SSR_DESCR.Value =
&rsTimeList(&iTimeList).SSR_DER2_CAL_FL.SSR_DESCR.GetShortLabel("SSR_TIME_CONFLICT"
);

&rsTimeList(&L_i).SSR_DER2_CAL_FL.SSR_STATUS_LONG.Visible = True;
&rsTimeList(&L_i).SSR_DER2_CAL_FL.SSR_DESCR.Visible =
True;

End-If;

End-If;

End-If;
End-For;
REM "Check for Time Conflict";

End-If;

End-For;
<* End of Meeting Sched *>

End-For;
<* End of Student Enroll *>
End-For;
<* End of Day 1 through 7 *>

If &iDateList = 0 Then
&rsTimeList = &rsDateList(1).GetRowset(Scroll.SSR_DUMMY_RECV2);
&rsTimeList(1).SSR_DER2_CAL_FL.SSR_CLASS_DTL_BTN.Enabled = False;
&rsTimeList(1).SSR_DER2_CAL_FL.SSR_GROUP1.Visible = False;
&rsTimeList(1).SSR_DER2_CAL_FL.SSR_GROUP2.Visible = False;
&rsTimeList(1).SSR_DER2_CAL_FL.SSR_DESCR100.FreeFormStyleName =
"psc_align-center";

Local Grid &grd_bydate = GetGrid(%Page, "STDNT_ENRL_SSVW1");


&grd_bydate.FreeFormStyleName = "ps_grid-norowborder";

If Not &bSchedFound Then


REM "To be Announced";
&rsTimeList(1).SSR_DER2_CAL_FL.SSR_DESCR100.Value = MsgGetText(14770,
543, "Message Not Found");
&rsTimeList(1).SSR_DER2_CAL_FL.SSR_DESCR80.Visible = False;
&rsTimeList(1).SSR_DER2_CAL_FL.SSR_DESCR80.Enabled = False;
SSR_DER0_CAL_FL.SSR_FROM_DATE.Value = Date("");
SSR_DER0_CAL_FL.SSR_FROM_DATE.Enabled = False;
SSR_DER0_CAL_FL.SSR_TO_DATE.Value = Date("");
SSR_DER0_CAL_FL.SSR_TO_DATE.Enabled = False;
Else
REM "No schedules in the date range";
&rsTimeList(1).SSR_DER2_CAL_FL.SSR_DESCR100.Value = MsgGetText(14770,
557, "Message Not Found");
&rsTimeList(1).SSR_DER2_CAL_FL.SSR_DESCR80.Visible = False;
&rsTimeList(1).SSR_DER2_CAL_FL.SSR_DESCR80.DisplayOnly = True;
&rsTimeList(1).SSR_DER2_CAL_FL.SSR_DESCR100.FreeFormStyleName =
"psc_align-center";

&grd_bydate1 = GetGrid(%Page, "STDNT_ENRL_SSVW1");


&grd_bydate1.FreeFormStyleName = "ps_grid-norowborder";

If %Request.BrowserDeviceFormFactor <> %FormFactor_Small Then


&grd_bydate1.FreeFormStyleName = "psa_grid_noclasses";
End-If;
End-If;
End-If;

Else
&rsTimeList = &rsDateList(1).GetRowset(Scroll.SSR_DUMMY_RECV2);
&rsTimeList(1).SSR_DER2_CAL_FL.SSR_CLASS_DTL_BTN.Enabled = False;
&rsTimeList(1).SSR_DER2_CAL_FL.SSR_DESCR80.DisplayOnly = True;
&rsTimeList(1).SSR_DER2_CAL_FL.SSR_GROUP1.Visible = False;
&rsTimeList(1).SSR_DER2_CAL_FL.SSR_GROUP2.Visible = False;
&rsTimeList(1).SSR_DER2_CAL_FL.SSR_DESCR100.FreeFormStyleName = "psc_align-
center";

&grd_bydate1 = GetGrid(%Page, "STDNT_ENRL_SSVW1");


&grd_bydate1.FreeFormStyleName = "ps_grid-norowborder";

If %Request.BrowserDeviceFormFactor <> %FormFactor_Small Then


&grd_bydate1.FreeFormStyleName = "psa_grid_noclasses";
End-If;
REM "To be Announced";
&rsTimeList(1).SSR_DER2_CAL_FL.SSR_DESCR100.Value = MsgGetText(14770, 557,
"Message Not Found");
&rsTimeList(1).SSR_DER2_CAL_FL.SSR_DESCR80.Visible = False;
SSR_DER0_CAL_FL.SSR_FROM_DATE.Value = Date("");
SSR_DER0_CAL_FL.SSR_FROM_DATE.Enabled = False;
SSR_DER0_CAL_FL.SSR_TO_DATE.Value = Date("");
SSR_DER0_CAL_FL.SSR_TO_DATE.Enabled = False;
End-If;

end-method;

method SSR_DER0_CAL_FL_SSR_FROM_DATE__FieldChange

Local string &enrollstatus = %This.DetermineEnrollStatusToUse();

If SSR_DER0_CAL_FL.SSR_FROM_DATE > SSR_DER0_CAL_FL.SSR_TO_DATE Then


SSR_DER0_CAL_FL.SSR_TO_DATE = Date("");
End-If;
&datefromflag = True;
%This.Refresh_StudentTerms_Datesff(&enrollstatus);

end-method;

method SSR_DER0_CAL_FL_SSR_TO_DATE__FieldChange

Local string &enrollstatus = %This.DetermineEnrollStatusToUse();


&datefromflag = True;
%This.Refresh_StudentTerms_Datesff(&enrollstatus);

end-method;

method SSR_DER2_CAL_FL_SSR_CLASS_DTL_BTN__FieldChange

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then


&oClassInformation.DefaultTab = "MD"; /* Default to Meeting Details tab */
Else
&oClassInformation.DefaultTab = "CD"; /* Default to Class Details tab */
End-If;

&oClassInformation.recEmplId = &recEmplId;
&oClassInformation.recInst = &recInst;
&oClassInformation.recCar = &recCar;
&oClassInformation.recTerm = &recTerm;
&oClassInformation.recTermBeginDt = &recTermBeginDt;

Local Record &recclassdtl = CreateRecord(Record.CLASS_TBL_VW);


Local Record &recstdclassenrl = CreateRecord(Record.STDNT_ENRL_SSVW);

&recclassdtl.INSTITUTION.Value = &recInst;
&recclassdtl.STRM.Value = &recTerm;
&recclassdtl.CLASS_NBR.Value = SSR_DER2_CAL_FL.CLASS_NBR.Value;

If &recclassdtl.SelectByKey() Then

&oClassInformation.subject = &recclassdtl.SUBJECT.Value;
&oClassInformation.catalog_nbr = &recclassdtl.CATALOG_NBR.Value;
&oClassInformation.associated_class = &recclassdtl.ASSOCIATED_CLASS.Value;
&oClassInformation.sCourseTitle = &recclassdtl.DESCR.Value;
&oClassInformation.class_nbr = &recclassdtl.CLASS_NBR.Value;
&oClassInformation.ssr_component = &recclassdtl.SSR_COMPONENT.Value;

&recstdclassenrl.EMPLID.Value = &recEmplId;
&recstdclassenrl.INSTITUTION.Value = &recInst;
&recstdclassenrl.ACAD_CAREER.Value = &recCar;
&recstdclassenrl.STRM.Value = &recTerm;
&recstdclassenrl.SUBJECT.Value = &recclassdtl.SUBJECT.Value;
&recstdclassenrl.CATALOG_NBR.Value = &recclassdtl.CATALOG_NBR.Value;
&recstdclassenrl.ASSOCIATED_CLASS.Value =
&recclassdtl.ASSOCIATED_CLASS.Value;
&recstdclassenrl.CLASS_NBR.Value = &recclassdtl.CLASS_NBR.Value;

If &recstdclassenrl.SelectByKey() Then
&oClassInformation.status = &recstdclassenrl.STDNT_ENRL_STATUS.Value;

If &recstdclassenrl.CLASS_TYPE.Value = "E" Then


&oClassInformation.sgrading_basis =
&recstdclassenrl.GRADING_BASIS_ENRL.Value;
&oClassInformation.sunt_taken = NumberToString("%6.2",
&recstdclassenrl.UNT_TAKEN.Value);
Else
&oClassInformation.sgrading_basis = "NON";
&oClassInformation.sunt_taken = "0.00";
End-If;

&oClassInformation.crse_id = &recstdclassenrl.CRSE_ID.Value;
&oClassInformation.crse_offer_nbr = &recstdclassenrl.CRSE_OFFER_NBR.Value;
&oClassInformation.session_code = &recstdclassenrl.SESSION_CODE.Value;
&oClassInformation.class_section = &recstdclassenrl.CLASS_SECTION.Value;
End-If;

End-If;

&oClassInformation.Instantiate();

end-method;

method DERIVED_SSR_FL_SSR_VW_CLSCHD_OPT__FieldChange

Local string &enrollstatus = %This.DetermineEnrollStatusToUse();

If DERIVED_SSR_FL.SSR_VW_CLSCHD_OPT.Value = "L" Then

SSR_DER0_CAL_FL.SSR_GRPSFF2_FL.Visible = False;
SSR_DER0_CAL_FL.SSR_GRPSFF_FL.Visible = True;

If Not &booByClassLoaded Then


&booByClassLoaded = True;

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then


%This.Refresh_StudentTerms_sff(&enrollstatus);
Else
%This.Refresh_StudentTerms_lff(&enrollstatus);
End-If;
End-If;
Else
If DERIVED_SSR_FL.SSR_VW_CLSCHD_OPT.Value = "D" Then

SSR_DER0_CAL_FL.SSR_GRPSFF_FL.Visible = False;
SSR_DER0_CAL_FL.SSR_GRPSFF2_FL.Visible = True;
&datefromflag = False;
If Not &booByDateLoaded Then
&booByDateLoaded = True;
%This.Refresh_StudentTerms_Datesff(&enrollstatus);
End-If;

End-If;
End-If;

end-method;

method DetermineEnrollStatusToUse
/+ Returns String +/
Local string &enrollstatus;

If DERIVED_SSR_FL.SSR_ENROLLED.Value = "Y" And


DERIVED_SSR_FL.SSR_WAIT.Value = "Y" And
DERIVED_SSR_FL.SSR_DROPPED.Value = "Y" Then
&enrollstatus = "A";
Else
If DERIVED_SSR_FL.SSR_ENROLLED.Value = "Y" And
DERIVED_SSR_FL.SSR_WAIT.Value = "N" And
DERIVED_SSR_FL.SSR_DROPPED.Value = "N" Then
&enrollstatus = "E";
Else
If DERIVED_SSR_FL.SSR_ENROLLED.Value = "N" And
DERIVED_SSR_FL.SSR_WAIT.Value = "Y" And
DERIVED_SSR_FL.SSR_DROPPED.Value = "N" Then
&enrollstatus = "W";
Else
If DERIVED_SSR_FL.SSR_ENROLLED.Value = "N" And
DERIVED_SSR_FL.SSR_WAIT.Value = "N" And
DERIVED_SSR_FL.SSR_DROPPED.Value = "Y" Then
&enrollstatus = "D";
Else
If DERIVED_SSR_FL.SSR_ENROLLED.Value = "Y" And
DERIVED_SSR_FL.SSR_WAIT.Value = "Y" And
DERIVED_SSR_FL.SSR_DROPPED.Value = "N" Then
&enrollstatus = "EW";
Else
If DERIVED_SSR_FL.SSR_ENROLLED.Value = "Y" And
DERIVED_SSR_FL.SSR_WAIT.Value = "N" And
DERIVED_SSR_FL.SSR_DROPPED.Value = "Y" Then
&enrollstatus = "ED";
Else
If DERIVED_SSR_FL.SSR_ENROLLED.Value = "N" And
DERIVED_SSR_FL.SSR_WAIT.Value = "Y" And
DERIVED_SSR_FL.SSR_DROPPED.Value = "Y" Then
&enrollstatus = "WD";
Else
&enrollstatus = "N";
End-If;
End-If;
End-If;
End-If;
End-If;
End-If;
End-If;

Return &enrollstatus
end-method;

method DERIVED_SSR_FL_SSR_CANCEL_BTN__FieldChange
&bool_classoptionsflag = False;
EndModal(0);
end-method;

method DERIVED_SSR_FL_SSR_DONE_BTN__FieldChange
&booClassInfoLoaded = False;
&bool_classoptionsflag = False;
&booEnrollInfoLoaded = False;
EndModal(0);
end-method;

method SSR_ENRL_DL_SCF__Activate

Local Record &REC;

DERIVED_SSR_FL.SSR_ENRL_DCW.Value = "D";
DERIVED_SSR_FL.SSR_GRPBOX_DROP.Visible = True;
DERIVED_SSR_FL.SSR_GRPBOX_CW.Visible = False;

Hide(ACAD_CAL_WRK.ACAD_CAL_SRCH_CRIT);

DERIVED_SSR_FL.SSR_SBJ_CAT_NBR.Value = &subject | " " | &catalog_nbr | " " |


&sClassSpecs;
DERIVED_SSR_FL.SSR_CLASS_SPECS.Value = MsgGetText(14770, 1006, "Message not
found.") | " " | &class_nbr;
DERIVED_SSR_FL.SSR_SESSION_TRAN.Value = &session;

Local string &user_name, &ACAD_CALENDAR_ID, &VisibleSw;


Local date &START_DT, &END_DT, &LST_DROP_DT_DEL, &LST_DROP_DT_RET,
&LST_DROP_DT_PEN, &LST_DROP_DT_PEN_2, &LST_WD_WO_PEN_DT, &LST_WD_W_PEN_DT,
&LST_WD_W_PEN2_DT, &LST_CANCEL_DT, &SSR_DYND_LDRP_DT;
/* There can be three different &VIEW_TYPES.
STDNT - for a Student view
ADMIN - for a Administrative view
DATA - for a data view (example - comming from Class Schedule */

/* Page PeopleCode for the name logic from Instr_Class */


&VIEW_TYPE = "STDNT";

Evaluate &VIEW_TYPE
When "STDNT"
&user_name = get_person_name(&recEmplId, "", "", "");
DERIVED_SR.EMPLNAME = &user_name;
DERIVED_SR.EMPLNAME.Style = "PALEVEL0PRIMARY";
TERM_TBL.DESCR.Style = "PALEVEL0PRIMARY";
Break;
When "ADMIN"
&REC = CreateRecord(Record.PERSONAL_VW2);
&REC.EMPLID.Value = ACAD_CAL_WRK.EMPLID;
&REC.SelectByKey();
DERIVED_SR.EMPLNAME = &REC.EMPLNAME.Value;
Break;
When "DATA"
End-Evaluate;
/* End Page PeopleCode for the name logic from Instr_Class */

/* Check to see if the class is Regular, Dynamic Date or OEE */


Local string &CLASS_TYPE_FLAG;
If &session_code <> "OEE" Then
Local Record &recgetclasstype;

&recgetclasstype = CreateRecord(Record.SESSION_TBL);
&recgetclasstype.INSTITUTION.Value = &recInst;
&recgetclasstype.ACAD_CAREER.Value = &recCar;
&recgetclasstype.STRM.Value = &recTerm;
&recgetclasstype.SESSION_CODE.Value = &session_code;
If &recgetclasstype.SelectByKey() Then

If &recgetclasstype.USE_DYN_CLASS_DATE.Value = "Y" Then


&CLASS_TYPE_FLAG = "DYN"
Else
&CLASS_TYPE_FLAG = "REG"
End-If;
End-If;
Else
&CLASS_TYPE_FLAG = "OEE";
End-If;

Evaluate &CLASS_TYPE_FLAG
When = "REG"

/* Get the ACAD_CALENDAR_ID */


SQLExec(SQL.ACAD_CAL_CALENDAR_ID, &recEmplId, &recCar, &acadprog,
&ACAD_CALENDAR_ID);

/* Get the All dates from the appropriate tables for the Traditional courses
*/
SQLExec(SQL.ACAD_CAL_DATES_REG, &crse_id, &crse_offer_nbr, &recTerm,
&session_code, &class_section, &ACAD_CALENDAR_ID, &recInst, &recCar, &START_DT,
&END_DT, &LST_DROP_DT_DEL, &LST_DROP_DT_RET, &LST_DROP_DT_PEN, &LST_DROP_DT_PEN_2,
&LST_WD_WO_PEN_DT, &LST_WD_W_PEN_DT, &LST_WD_W_PEN2_DT, &LST_CANCEL_DT);
ACAD_CAL_WRK.START_DT = &START_DT;
ACAD_CAL_WRK.END_DT = &END_DT;
ACAD_CAL_WRK.LST_DROP_DT_DEL = &LST_DROP_DT_DEL;
ACAD_CAL_WRK.LST_DROP_DT_RET = &LST_DROP_DT_RET;
ACAD_CAL_WRK.LST_DROP_DT_PEN = &LST_DROP_DT_PEN;
ACAD_CAL_WRK.LST_DROP_DT_PEN_2 = &LST_DROP_DT_PEN_2;
ACAD_CAL_WRK.LST_WD_WO_PEN_DT = &LST_WD_WO_PEN_DT;
ACAD_CAL_WRK.LST_WD_W_PEN_DT = &LST_WD_W_PEN_DT;
ACAD_CAL_WRK.LST_WD_W_PEN2_DT = &LST_WD_W_PEN2_DT;
ACAD_CAL_WRK.LST_CANCEL_DT = &LST_CANCEL_DT;

Break;
When = "DYN"

/* Get the All dates from the appropriate tables for the Dynamic Date courses
*/
SQLExec(SQL.ACAD_CAL_DATES_DYN, &crse_id, &crse_offer_nbr, &recTerm,
&session_code, &class_section, &recInst, &START_DT, &END_DT, &LST_DROP_DT_DEL,
&LST_DROP_DT_RET, &LST_DROP_DT_PEN, &LST_DROP_DT_PEN_2, &LST_WD_WO_PEN_DT,
&LST_WD_W_PEN_DT, &LST_WD_W_PEN2_DT, &LST_CANCEL_DT, &SSR_DYND_LDRP_DT);

ACAD_CAL_WRK.START_DT = &START_DT;
ACAD_CAL_WRK.END_DT = &END_DT;
ACAD_CAL_WRK.LST_DROP_DT_DEL = &LST_DROP_DT_DEL;
ACAD_CAL_WRK.LST_DROP_DT_RET = &LST_DROP_DT_RET;
ACAD_CAL_WRK.LST_DROP_DT_PEN = &LST_DROP_DT_PEN;
ACAD_CAL_WRK.LST_DROP_DT_PEN_2 = &LST_DROP_DT_PEN_2;
ACAD_CAL_WRK.LST_WD_WO_PEN_DT = &LST_WD_WO_PEN_DT;
ACAD_CAL_WRK.LST_WD_W_PEN_DT = &LST_WD_W_PEN_DT;
ACAD_CAL_WRK.LST_WD_W_PEN2_DT = &LST_WD_W_PEN2_DT;
ACAD_CAL_WRK.LST_CANCEL_DT = &LST_CANCEL_DT;
ACAD_CAL_WRK.SSR_DYND_LDRP_DT = &SSR_DYND_LDRP_DT;

Break;

When = "OEE"

/* Get the All dates from the appropriate tables for the OEE courses */
SQLExec(SQL.ACAD_CAL_DATES_OEE, &recEmplId, &recCar, &recInst, &recTerm,
&class_nbr, &START_DT, &END_DT, &LST_DROP_DT_DEL, &LST_DROP_DT_RET,
&LST_DROP_DT_PEN, &LST_DROP_DT_PEN_2, &LST_WD_WO_PEN_DT, &LST_WD_W_PEN_DT,
&LST_WD_W_PEN2_DT, &LST_CANCEL_DT, &SSR_DYND_LDRP_DT);

ACAD_CAL_WRK.START_DT = &START_DT;
ACAD_CAL_WRK.END_DT = &END_DT;
ACAD_CAL_WRK.LST_DROP_DT_DEL = &LST_DROP_DT_DEL;
ACAD_CAL_WRK.LST_DROP_DT_RET = &LST_DROP_DT_RET;
ACAD_CAL_WRK.LST_DROP_DT_PEN = &LST_DROP_DT_PEN;
ACAD_CAL_WRK.LST_DROP_DT_PEN_2 = &LST_DROP_DT_PEN_2;
ACAD_CAL_WRK.LST_WD_WO_PEN_DT = &LST_WD_WO_PEN_DT;
ACAD_CAL_WRK.LST_WD_W_PEN_DT = &LST_WD_W_PEN_DT;
ACAD_CAL_WRK.LST_WD_W_PEN2_DT = &LST_WD_W_PEN2_DT;
ACAD_CAL_WRK.LST_CANCEL_DT = &LST_CANCEL_DT;
ACAD_CAL_WRK.SSR_DYND_LDRP_DT = &SSR_DYND_LDRP_DT;

Break;

End-Evaluate;

/* Hide Drop Date if there is no information otherwise show the corresponding


message*/

/* Drop Delete */
&VisibleSw = "Y";
If None(ACAD_CAL_WRK.LST_DROP_DT_DEL) Then
&VisibleSw = "N"
Else
ACAD_CAL_WRK.SSR_DESCRLONG_01 = MsgGetExplainText(14601, 26, " ");
If None(ACAD_CAL_WRK.SSR_DESCRLONG_01) Then
&VisibleSw = "N"
End-If;
End-If;
If &VisibleSw = "N" Then
ACAD_CAL_WRK.LST_DROP_DT_DEL.Visible = False;
ACAD_CAL_WRK.SSR_DESCRLONG_01.Visible = False;
End-If;

/* Drop Retain */
&VisibleSw = "Y";
If None(ACAD_CAL_WRK.LST_DROP_DT_RET) Then
&VisibleSw = "N"
Else
ACAD_CAL_WRK.SSR_DESCRLONG_02 = MsgGetExplainText(14601, 27, " ");
If None(ACAD_CAL_WRK.SSR_DESCRLONG_02) Then
&VisibleSw = "N"
End-If;
End-If;
If &VisibleSw = "N" Then
ACAD_CAL_WRK.LST_DROP_DT_RET.Visible = False;
ACAD_CAL_WRK.SSR_DESCRLONG_02.Visible = False;
End-If;

/* Drop Penalty */
&VisibleSw = "Y";
If None(ACAD_CAL_WRK.LST_DROP_DT_PEN) Then
&VisibleSw = "N"
Else
ACAD_CAL_WRK.SSR_DESCRLONG_03 = MsgGetExplainText(14601, 28, " ");
If None(ACAD_CAL_WRK.SSR_DESCRLONG_03) Then
&VisibleSw = "N"
End-If;
End-If;
If &VisibleSw = "N" Then
ACAD_CAL_WRK.LST_DROP_DT_PEN.Visible = False;
ACAD_CAL_WRK.SSR_DESCRLONG_03.Visible = False;
End-If;

/* Drop Greater Penalty */


&VisibleSw = "Y";
If None(ACAD_CAL_WRK.LST_DROP_DT_PEN_2) Then
&VisibleSw = "N"
Else
ACAD_CAL_WRK.SSR_DESCRLONG_04 = MsgGetExplainText(14601, 29, " ");
If None(ACAD_CAL_WRK.SSR_DESCRLONG_04) Then
&VisibleSw = "N"
End-If;
End-If;
If &VisibleSw = "N" Then
ACAD_CAL_WRK.LST_DROP_DT_PEN_2.Visible = False;
ACAD_CAL_WRK.SSR_DESCRLONG_04.Visible = False;
End-If;

/* Last Drop Date */


&VisibleSw = "Y";
If None(ACAD_CAL_WRK.SSR_DYND_LDRP_DT) Then
&VisibleSw = "N"
Else
ACAD_CAL_WRK.SSR_DESCRLONG_05 = MsgGetExplainText(14601, 36, " ");
If None(ACAD_CAL_WRK.SSR_DESCRLONG_05) Then
&VisibleSw = "N"
End-If;
End-If;
If &VisibleSw = "N" Then
ACAD_CAL_WRK.SSR_DYND_LDRP_DT.Visible = False;
ACAD_CAL_WRK.SSR_DESCRLONG_05.Visible = False;
End-If;

/* Hide Cancel/Withdraw Date if there is no information otherwise show the


corresponding message*/

/* Cancel Date */
&VisibleSw = "Y";
If None(ACAD_CAL_WRK.LST_CANCEL_DT) Then
&VisibleSw = "N"
Else
ACAD_CAL_WRK.SSR_DESCRLONG_06 = MsgGetExplainText(14601, 30, " ");
If None(ACAD_CAL_WRK.SSR_DESCRLONG_03) Then
&VisibleSw = "N"
End-If;
End-If;
If &VisibleSw = "N" Then
ACAD_CAL_WRK.LST_CANCEL_DT.Visible = False;
ACAD_CAL_WRK.SSR_DESCRLONG_06.Visible = False;
End-If;

/* Withdrawal w/o Penalty */


&VisibleSw = "Y";
If None(ACAD_CAL_WRK.LST_WD_WO_PEN_DT) Then
&VisibleSw = "N"
Else
ACAD_CAL_WRK.SSR_DESCRLONG_07 = MsgGetExplainText(14601, 31, " ");
If None(ACAD_CAL_WRK.SSR_DESCRLONG_07) Then
&VisibleSw = "N"
End-If;
End-If;
If &VisibleSw = "N" Then
ACAD_CAL_WRK.LST_WD_WO_PEN_DT.Visible = False;
ACAD_CAL_WRK.SSR_DESCRLONG_07.Visible = False;
End-If;

/* Withdrawal with Penalty */


&VisibleSw = "Y";
If None(ACAD_CAL_WRK.LST_WD_W_PEN_DT) Then
&VisibleSw = "N"
Else
ACAD_CAL_WRK.SSR_DESCRLONG_08 = MsgGetExplainText(14601, 32, " ");
If None(ACAD_CAL_WRK.SSR_DESCRLONG_08) Then
&VisibleSw = "N"
End-If;
End-If;
If &VisibleSw = "N" Then
ACAD_CAL_WRK.LST_WD_W_PEN_DT.Visible = False;
ACAD_CAL_WRK.SSR_DESCRLONG_08.Visible = False;
End-If;

/* Withdrawal with greater Penalty */


&VisibleSw = "Y";
If None(ACAD_CAL_WRK.LST_WD_W_PEN2_DT) Then
&VisibleSw = "N"
Else
ACAD_CAL_WRK.SSR_DESCRLONG_09 = MsgGetExplainText(14601, 33, " ");
If None(ACAD_CAL_WRK.SSR_DESCRLONG_09) Then
&VisibleSw = "N"
End-If;
End-If;
If &VisibleSw = "N" Then
ACAD_CAL_WRK.LST_WD_W_PEN2_DT.Visible = False;
ACAD_CAL_WRK.SSR_DESCRLONG_09.Visible = False;
End-If;

end-method;

method DERIVED_SSR_FL_SSR_ENRL_DL__FieldChange
Local string &sModalOptions;
Local integer &ReturnCode;
Local Rowset &rsassocclass;
Local Record &recclass_Sec;

&recclass_Sec = CreateRecord(Record.STDNT_ENRL_SSVW);
&rsassocclass = CreateRowset(Record.STDNT_ENRL_SSV1);
&rsassocclass.Fill("WHERE EMPLID=:1 AND STRM=:2 AND ACAD_CAREER=:3 AND
INSTITUTION=:4 AND CLASS_NBR = :5", &recEmplId, DERIVED_SSR_FL.STRM.Value,
DERIVED_SSR_FL.ACAD_CAREER.Value, DERIVED_SSR_FL.INSTITUTION.Value,
STD_ENR_FL_SSVW.CLASS_NBR.Value);

&acadprog = STD_ENR_FL_SSVW.ACAD_PROG.Value;
&associated_class = &rsassocclass(1).STDNT_ENRL_SSV1.ASSOCIATED_CLASS.Value;

&subject = STD_ENR_FL_SSVW.SUBJECT.Value;
&catalog_nbr = STD_ENR_FL_SSVW.CATALOG_NBR.Value;
&class_nbr = STD_ENR_FL_SSVW.CLASS_NBR.Value;

&recclass_Sec.EMPLID.Value = &recEmplId;
&recclass_Sec.ACAD_CAREER.Value = &recCar;
&recclass_Sec.INSTITUTION.Value = &recInst;
&recclass_Sec.STRM.Value = &recTerm;
&recclass_Sec.SUBJECT.Value = &subject;
&recclass_Sec.CATALOG_NBR.Value = &catalog_nbr;
&recclass_Sec.ASSOCIATED_CLASS.Value = &associated_class;
&recclass_Sec.CLASS_NBR.Value = &class_nbr;

If &recclass_Sec.SelectByKey() Then
&crse_id = &recclass_Sec.CRSE_ID.Value;
&crse_offer_nbr = &recclass_Sec.CRSE_OFFER_NBR.Value;
&session_code = &recclass_Sec.SESSION_CODE.Value;
&session = &recclass_Sec.SESSION_CODE.LongTranslateValue;
&class_section = &recclass_Sec.CLASS_SECTION.Value;
&sClassSpecs = &recclass_Sec.DESCR.Value;
End-If;

&sModalOptions = GetHTMLText(HTML.SCC_MO_POPUP_FL) | ";width@1000;height@550;";

&ReturnCode = DoModalPopup(&sModalOptions, "", False, False,


Page.SSR_ENRL_DL_SCF, MsgGetText(14770, 606, "Message not found."), - 1, - 1, 0);
end-method;

method DERIVED_SSR_FL_SSR_ENRL_DCW__FieldChange
If DERIVED_SSR_FL.SSR_ENRL_DCW.Value = "C" Then

DERIVED_SSR_FL.SSR_GRPBOX_CW.Visible = True;
DERIVED_SSR_FL.SSR_GRPBOX_DROP.Visible = False;
Else

DERIVED_SSR_FL.SSR_GRPBOX_CW.Visible = False;
DERIVED_SSR_FL.SSR_GRPBOX_DROP.Visible = True;
End-If;
end-method;

method CheckAllowedUserAction
/+ Returns Boolean +/

Local SSR_MANAGE_CLASSES:UTIL:CheckValidUserAction &ValidUserAction = create


SSR_MANAGE_CLASSES:UTIL:CheckValidUserAction();

Local array of string &aSession = CreateArrayRept(" ", 0);

Local array of string &aCheckActions = CreateArrayRept(" ", 0);


<* Check if Enrollment to Classes is Allowed *>
&aCheckActions.Push("N");

<* Check if Waitlist to Classes is Allowed *>


&aCheckActions.Push("Y");

<* Check if Access to Classes in Shopping Cart is Allowed *>


&aCheckActions.Push("N");

<* Check if Validation of Classes in Shopping Cart is Allowed *>


&aCheckActions.Push("N");

Local array of string &aValidActions = CreateArrayRept(" ", 0);

Local integer &i;

Local Rowset &rsClassSessn = CreateRowset(Record.CLASS_TBL);


&rsClassSessn.Fill("WHERE Fill.STRM = :1 AND Fill.CLASS_NBR IN (SELECT
(X.CLASS_NBR) FROM PS_SSR_REGFORM X WHERE X.STRM = :1 AND X.EMPLID = :2 AND
X.ACAD_CAREER = :3 AND X.INSTITUTION = :4)", &recTerm, &recEmplId, &recCar,
&recInst);
&rsClassSessn.Sort(CLASS_TBL.SESSION_CODE, "A");
Local string &sSession;
For &i = 1 To &rsClassSessn.ActiveRowCount
If &rsClassSessn(&i).CLASS_TBL.SESSION_CODE.Value <> &sSession Then
&sSession = &rsClassSessn(&i).CLASS_TBL.SESSION_CODE.Value;
&aSession.Push(&sSession);
End-If;
End-For;

&aValidActions = &ValidUserAction.ValidUserAction(&aCheckActions, %OperatorId,


&recEmplId, &recCar, &recInst, &recTerm, &aSession, 0);
If &aValidActions [2] = "Y" Then
Return True;
Else
Return False;

End-If;

end-method;

method SSR_CLASSDTL_SCF_Activate
&oClassInformation.SSR_CLASSDTL_SCF_Activate();
end-method;

method SSR_DER1_MTG_FL_SSR_MTGINFO_DATA__FieldChange
&oClassInformation.SSR_DER1_MTG_FL__SSR_MTGINFO_DATA_FieldChange();
end-method;

method SSR_INSTDTL_LF_SCF_Activate

&oClassInformation.SSR_INSTDTL_LF_SCF_Activate();
end-method;

method SSR_INSTRDTL_SCF_Activate
&oClassInformation.SSR_INSTRDTL_SCF_Activate();
end-method;

method DERIVED_SSR_FL_SSR_CL_DTLS_LFF__FieldChange
&oClassInformation.DERIVED_SSR_FL__SSR_CL_DTLS_LFF_FieldChange();
end-method;

method DERIVED_SSR_FL_SSR_INSTR_NME_FL__FieldChange
&oClassInformation.DERIVED_SSR_FL__SSR_INSTR_NME_FL_FieldChange();
end-method;

method DERIVED_SSR_FL_SSR_INSTR_FL__FieldChange
&oClassInformation.DERIVED_SSR_FL__SSR_INSTR_FL_FieldChange();
end-method;

method waitlist_okay
/+ Returns Boolean +/

Local Rowset &rsenrolloptions = CreateRowset(Record.SSR_SS_ENRL_OPT);


Local integer &cntenrolloptions;

&rsenrolloptions.Fill();
&cntenrolloptions = &rsenrolloptions.Fill();

If &rsenrolloptions(&cntenrolloptions).SSR_SS_ENRL_OPT.WAIT_LIST_OKAY.Value Then
Return True;
Else
Return False;
End-If;

end-method;

[SSR_MANAGE_CLASSES.COMPONENTS.SSR_CRSE_DTL_FL.OnExecute]
import SCC_FLUID:MODEL:Component;
import SCC_FLUID:MODEL:Panel;
import SSR_MANAGE_CLASSES:UTIL:Installation;
import SSR_CLASS:Components:Utility:SSR_CLSRCH_CONFIG_Util;

class SSR_CRSE_DTL_FL extends SCC_FLUID:MODEL:Component


method SSR_CRSE_DTL_FL();
method PostBuild();
method SSR_CRSE_DTL_FL_Activate();

protected
property SCC_FLUID:MODEL:Panel Panel;

private

instance string &sCourseId, &sSubject, &sCatalogNbr;


instance number &nCrseTopicID, &nCrseOfferNbr;
instance boolean &bool_recMultiInst;

end-class;

Global string &courseDetails_sInstitution, &courseDetails_sCareer,


&courseDetails_sTerm;
Global boolean &courseDetails_bIsFromCourseDetails,
&courseDetails_bIsFromAcademicProgress, &courseDetails_bDisplayAcadProgHeader;

method SSR_CRSE_DTL_FL
%Super = create SCC_FLUID:MODEL:Component();
end-method;

method PostBuild

AddStyleSheet(StyleSheet.SSR_COURSE_DETAIL_FL);

&Panel = %This.CreatePanel();
%This.Render();

&sCourseId = SSR_CRSE_OFF_VW.CRSE_ID;
&sSubject = SSR_CRSE_OFF_VW.SUBJECT;
&sCatalogNbr = SSR_CRSE_OFF_VW.CATALOG_NBR;
&nCrseTopicID = SSR_CRSE_OFF_VW.CRS_TOPIC_ID;
&nCrseOfferNbr = SSR_CRSE_OFF_VW.CRSE_OFFER_NBR;

Local boolean &bool_isMultiCareer, &bool_isMultiInst;

Local SSR_MANAGE_CLASSES:UTIL:Installation &utilMethods = create


SSR_MANAGE_CLASSES:UTIL:Installation();
Local boolean &bool_recSingleInst = &utilMethods.IsSingleInstitution();

If &bool_recSingleInst = True Then


&bool_recMultiInst = False;
Else
&bool_recMultiInst = True;
End-If;

end-method;
method SSR_CRSE_DTL_FL_Activate

DERIVED_SSR_FL.INSTITUTION = &courseDetails_sInstitution;
DERIVED_SSR_FL.ACAD_CAREER = &courseDetails_sCareer;
DERIVED_SSR_FL.STRM = &courseDetails_sTerm;

INSTITUTION_TBL.DESCRFORMAL.Visible = &bool_recMultiInst;

&courseDetails_bIsFromCourseDetails = True;

If &courseDetails_bIsFromAcademicProgress Then

AddJavaScript(HTML.SSR_MANAGE_CLASSES_JS);
AddOnLoadScript("renameBackButtonLabel('" | MsgGetText(14770, 907, "Message
not found.") | "')"); /* Requirement Details */

/* Use Academic Progress header */


SCC_LO_FL_WRK.SCC_GROUP_BOX_1.Visible = False;

/* Display header for multiple institution/career */


If &courseDetails_bDisplayAcadProgHeader Then
&courseDetails_bDisplayAcadProgHeader = False;

SCC_LO_FL_WRK.SCC_GROUP_BOX_2.Visible = True;

If Not (&bool_recMultiInst) Then


DERIVED_SSR_FL.GROUPBOX.ReplaceFFClass("psc_margin-bottom7px",
"psc_margin-bottom15px", True);
DERIVED_SSR_FL.GROUPBOX.ReplaceFFClass("psc_margin-top7px",
"psc_margin-top15px", True);
End-If;

Else

SCC_LO_FL_WRK.SCC_GROUP_BOX_2.Visible = False;
SCC_LO_FL_WRK.SCC_GROUP_BOX_7.Visible = False; /* suppress app header
container */

End-If;

Else
/* Use Manage Classes header */
SCC_LO_FL_WRK.SCC_GROUP_BOX_1.Visible = True;
SCC_LO_FL_WRK.SCC_GROUP_BOX_2.Visible = False;

End-If;

&Panel.SetPageTitle(MsgGetText(14770, 908, "Message not found.")); /* Course


Detail */

Local string &sCourseListTitle = &sSubject | " " | &sCatalogNbr;

&Panel.SetPanelTitle(&sCourseListTitle);

Local date &CrseEffdt = %Date;

Local Record &rec_TermTbl = CreateRecord(Record.TERM_TBL_VW2);


&rec_TermTbl.INSTITUTION.Value = &courseDetails_sInstitution;
&rec_TermTbl.ACAD_CAREER.Value = &courseDetails_sCareer;
&rec_TermTbl.STRM.Value = &courseDetails_sTerm;

If &rec_TermTbl.SelectByKey() Then
&CrseEffdt = &rec_TermTbl.EFFDT.Value;
End-If;

Local Rowset &rs_CrseOffer;


Local Record &rec_CrseOffer, &rec_DerCrseCat;

&rs_CrseOffer = GetRowset(Scroll.SSR_CRSE_OFF_VW);
&rs_CrseOffer.Flush();
&rs_CrseOffer.Select(Record.SSR_CRSE_OFF_VW, "a where a.CRSE_ID=:1 and
a.CRSE_OFFER_NBR=:2 and %EffDtCheck(SSR_CRSE_OFF_VW a1, a, :3) and
a.EFF_STATUS='A'", &sCourseId, &nCrseOfferNbr, &CrseEffdt);
&rec_CrseOffer = &rs_CrseOffer(1).GetRecord(Record.SSR_CRSE_OFF_VW);
&rec_DerCrseCat = &rs_CrseOffer(1).GetRecord(Record.DERIVED_CRSECAT);

&rec_CrseOffer.GRADING_BASIS.Label = MsgGetText(14690, 506, "Message not


found.");

Local string &title;

If &sCourseId <> "" Then


Local Rowset &rs_CrsTopics = CreateRowset(Record.SSR_CRSTOPIC_V3);
Local integer &cnt_CrsTopics = &rs_CrsTopics.Fill("where FILL.CRSE_ID=:1 and
FILL.EFFDT=(select max(a.EFFDT) from PS_CRSE_CATALOG a where a.CRSE_ID=FILL.CRSE_ID
and a.EFFDT<=%DateIn(:2)) and FILL.CRS_TOPIC_ID=:3", &sCourseId, &CrseEffdt,
&nCrseTopicID);
If &cnt_CrsTopics > 0 Then
&title = RTrim(&rec_CrseOffer.COURSE_TITLE_LONG.Value) | " (" |
&rs_CrsTopics(1).SSR_CRSTOPIC_V3.DESCRFORMAL.Value | ")";
Else
&title = RTrim(&rec_CrseOffer.COURSE_TITLE_LONG.Value);
End-If;
Else
&title = RTrim(&rec_CrseOffer.COURSE_TITLE_LONG.Value);
End-If;

DERIVED_CRSECAT.DESCR200.Value = &title;

/*********************************************************/
/* Course Detail Section */
/*********************************************************/

/* Units */
Local string &crse_Units;

&rec_DerCrseCat.UNITS_RANGE.Visible = True;
If &rec_CrseOffer.UNITS_MINIMUM.Value = &rec_CrseOffer.UNITS_MAXIMUM.Value Then
&rec_DerCrseCat.UNITS_RANGE.Value = NumberToString("%#3.2",
&rec_CrseOffer.UNITS_MINIMUM.Value) | " " | &crse_Units;
Else
&rec_DerCrseCat.UNITS_RANGE.Value = NumberToString("%#3.2",
&rec_CrseOffer.UNITS_MINIMUM.Value) | " - " | NumberToString("%#3.2",
&rec_CrseOffer.UNITS_MAXIMUM.Value) | " " | &crse_Units;
End-If;

/* Course Components */
Local Rowset &rs_CrseComps = &rs_CrseOffer(1).GetRowset(Scroll.SSR_DUMMY_RECVW);
Local Rowset &rs_CrseCatalog, &rs_CrseComponent;
Local integer &i, &int_RowNbr, &cnt_CrseComponent;

&rs_CrseComps.Flush();

&rs_CrseCatalog = CreateRowset(Record.CRSE_CATALOG);
&rs_CrseCatalog.Fill("WHERE FILL.CRSE_ID=:1 AND %EffdtCheck(CRSE_CATALOG, FILL,
%DateIn(:2))", &rec_CrseOffer.CRSE_ID.Value, &CrseEffdt);

&rs_CrseComponent = CreateRowset(Record.CRSE_COMP_VW3);
&cnt_CrseComponent = &rs_CrseComponent.Fill("where CRSE_ID=:1 and EFFDT=(select
max(a.EFFDT) from %Table(CRSE_COMP_VW3) a where a.CRSE_ID=FILL.CRSE_ID and
a.EFFDT<=%DateIn(:2) AND FILL.SSR_COMPONENT <> :3)", &rec_CrseOffer.CRSE_ID.Value,
&CrseEffdt, &rs_CrseCatalog(1).CRSE_CATALOG.SSR_COMPONENT.Value);

&int_RowNbr = 1;
&rs_CrseComps(&int_RowNbr).DERIVED_CRSECAT.DESCR40.Value =
&rs_CrseCatalog(1).CRSE_CATALOG.SSR_COMPONENT.LongTranslateValue;

If &cnt_CrseComponent > 0 Then

&rs_CrseComps(&int_RowNbr).DERIVED_CRSECAT.DESCRSHORT.Value =
MsgGetText(14690, 417, "Message not found");

&rs_CrseComps(&int_RowNbr).DERIVED_CRSECAT.DESCR40.AddFFClass("psc_margin-
bottomnone");
&rs_CrseComps(&int_RowNbr).DERIVED_CRSECAT.DESCRSHORT.AddFFClass("psc_margin-
bottomnone");

&rs_CrseComponent.Sort(CRSE_COMP_VW3.OPTIONAL_SECTION, "A",
CRSE_COMP_VW3.SSR_COMPONENT, "A");

For &i = 1 To &cnt_CrseComponent

&rs_CrseComps.InsertRow(&int_RowNbr);
&int_RowNbr = &int_RowNbr + 1;

&rs_CrseComps(&int_RowNbr).DERIVED_CRSECAT.DESCR40.Value =
&rs_CrseComponent(&i).CRSE_COMP_VW3.SSR_COMPONENT.LongTranslateValue;

If &rs_CrseComponent(&i).CRSE_COMP_VW3.OPTIONAL_SECTION.Value = "Y" Then


&rs_CrseComps(&int_RowNbr).DERIVED_CRSECAT.DESCRSHORT.Value =
MsgGetText(14690, 416, "Message not found");
Else
&rs_CrseComps(&int_RowNbr).DERIVED_CRSECAT.DESCRSHORT.Value =
MsgGetText(14690, 417, "Message not found");
End-If;

If &i <> &cnt_CrseComponent Then

&rs_CrseComps(&int_RowNbr).DERIVED_CRSECAT.DESCR40.AddFFClass("psc_margin-
bottomnone");

&rs_CrseComps(&int_RowNbr).DERIVED_CRSECAT.DESCRSHORT.AddFFClass("psc_margin-
bottomnone");
End-If;

End-For;
End-If;

If &cnt_CrseComponent > 1 Then


&rs_CrseOffer(1).DERIVED_CRSECAT.DESCR.Value =
&rs_CrseOffer(1).SR_LBL_WRK.CRSE_COMPONENT_LBL.GetLongLabel("CRSE_COMP");
Else
&rs_CrseOffer(1).DERIVED_CRSECAT.DESCR.Value = MsgGetText(14601, 85, "Message
not found.");
End-If;

/* Campus */
If None(&rec_CrseOffer.CAMPUS.Value) Then
&rec_CrseOffer.CAMPUS.Visible = False;
&rec_CrseOffer.CAMPUS.GetRelated(CAMPUS_TBL.DESCR).Visible = False;
Else
&rec_CrseOffer.CAMPUS.GetRelated(CAMPUS_TBL.DESCR).Label =
&rec_CrseOffer.CAMPUS.GetLongLabel("CAMPUS");
End-If;

&rec_CrseOffer.ACAD_GROUP.GetRelated(ACAD_GROUP_TBL.DESCR).Label =
&rec_CrseOffer.ACAD_GROUP.GetLongLabel("ACAD_GROUP");
&rec_CrseOffer.ACAD_ORG.GetRelated(ACAD_ORG_TBL.DESCR).Label =
&rec_CrseOffer.ACAD_ORG.GetLongLabel("ACAD_ORG");

/***********************************************************************/
/* Enrollment Requirements Section */
/***********************************************************************/
Local Rowset &rs_SsEnrlOpt = CreateRowset(Record.SSR_SS_ENRL_OPT);
&rs_SsEnrlOpt.Flush();
&rs_SsEnrlOpt.Fill();

/* Typically Offered */
If &rs_SsEnrlOpt(1).SSR_SS_ENRL_OPT.SSR_SHOW_TYP_OFFR.Value = "Y" And
All(&rec_CrseOffer.SSR_CRSE_TYPOFF_CD.Value) Then

Local Record &rec_CrseTypOff;


&rec_CrseTypOff = CreateRecord(Record.SSR_CRSE_TYPOFF);
&rec_CrseTypOff.INSTITUTION.Value = &rec_CrseOffer.INSTITUTION.Value;
&rec_CrseTypOff.SSR_CRSE_TYPOFF_CD.Value =
&rec_CrseOffer.SSR_CRSE_TYPOFF_CD.Value;
If &rec_CrseTypOff.SelectByKeyEffDt(&CrseEffdt) And
&rec_CrseTypOff.EFF_STATUS.Value = "A" Then
&rec_DerCrseCat.SSR_TYP_OFFERED.Value = &rec_CrseTypOff.DESCR.Value;
&rec_DerCrseCat.SSR_TYP_OFFERED.Visible = True;
Else
&rec_DerCrseCat.SSR_TYP_OFFERED.Visible = False;
End-If;
Else
&rec_DerCrseCat.SSR_TYP_OFFERED.Visible = False;
End-If;

Local SSR_CLASS:Components:Utility:SSR_CLSRCH_CONFIG_Util &clscfg = create


SSR_CLASS:Components:Utility:SSR_CLSRCH_CONFIG_Util();
Local Record &ConfigTable = &clscfg.getConfigByMenu(%Menu);

/* Add Consent */
If &ConfigTable.SSR_CLSDTL_CONADD.Value = "Y" And
&rec_CrseOffer.CONSENT.Value <> "N" Then
&rec_CrseOffer.CONSENT.Visible = True;
Else
&rec_CrseOffer.CONSENT.Visible = False;
End-If;

/* Drop Consent */
If &ConfigTable.SSR_CLSDTL_CONDROP.Value = "Y" And
&rec_CrseOffer.SSR_DROP_CONSENT.Value <> "N" Then
&rec_CrseOffer.SSR_DROP_CONSENT.Visible = True;
Else
&rec_CrseOffer.SSR_DROP_CONSENT.Visible = False;
End-If;

/* Requirement Group */
If &ConfigTable.SSR_CLSDTL_REQ.Value = "Y" And
All(&rec_CrseOffer.RQRMNT_GROUP.Value) Then
Local Record &rec_RqGrpTbl;
&rec_RqGrpTbl = CreateRecord(Record.RQ_GRP_TBL_D_VW);
&rec_RqGrpTbl.RQRMNT_GROUP.Value = &rec_CrseOffer.RQRMNT_GROUP.Value;
If &rec_RqGrpTbl.SelectByKeyEffDt(&CrseEffdt) And
&rec_RqGrpTbl.EFF_STATUS.Value = "A" Then
&rec_DerCrseCat.DESCR254A.Value = &rec_RqGrpTbl.DESCR254A.Value;
&rec_DerCrseCat.DESCR254A.Visible = True;
&rec_DerCrseCat.DESCR254A.Label =
&rec_CrseOffer.RQRMNT_GROUP.GetLongLabel("ENRL_REQ");
&rec_CrseOffer.RQRMNT_GROUP.Visible = True;
Else
&rec_CrseOffer.RQRMNT_GROUP.Visible = False;
&rec_DerCrseCat.DESCR254A.Visible = False;
End-If;
Else
&rec_CrseOffer.RQRMNT_GROUP.Visible = False;
&rec_DerCrseCat.DESCR254A.Visible = False;
End-If;

/* Requirement Designation */
If &ConfigTable.SSR_CLSDTL_RQDESIG.Value = "Y" And
All(&rec_CrseOffer.RQMNT_DESIGNTN.Value) Then
Local Record &rec_RqDesigTbl;
&rec_RqDesigTbl = CreateRecord(Record.RQMNT_DESIG_TBL);
&rec_RqDesigTbl.RQMNT_DESIGNTN.Value = &rec_CrseOffer.RQMNT_DESIGNTN.Value;
If &rec_RqDesigTbl.SelectByKeyEffDt(&CrseEffdt) And
&rec_RqDesigTbl.EFF_STATUS.Value = "A" And
&rec_RqDesigTbl.CATALOG_PRINT.Value = "Y" Then
&rec_DerCrseCat.DESCRFORMAL.Value = &rec_RqDesigTbl.DESCRFORMAL.Value;
&rec_DerCrseCat.DESCRFORMAL.Visible = True;
Else
&rec_DerCrseCat.DESCRFORMAL.SetDefault();
&rec_DerCrseCat.DESCRFORMAL.Visible = False;
End-If;
Else
&rec_DerCrseCat.DESCRFORMAL.SetDefault();
&rec_DerCrseCat.DESCRFORMAL.Visible = False;
End-If;

/* Course Attributes */
&rec_DerCrseCat.SSR_CRSE_ATTR_LONG.SetDefault();
If &ConfigTable.SSR_CLSDTL_ATTR.Value = "Y" And
All(&rec_CrseOffer.CRSE_ID.Value) Then
Local Rowset &rs_CrseAttributes = CreateRowset(Record.CRSE_ATTRIBUTES);
Local integer &cnt_CrseAttributes = &rs_CrseAttributes.Fill("where
FILL.CRSE_ID=:1 and FILL.EFFDT= (select max(b.EFFDT) from %Table(CRSE_CATALOG) b
where b.CRSE_ID=FILL.CRSE_ID and b.EFFDT<=%DateIn(:2))",
&rec_CrseOffer.CRSE_ID.Value, &CrseEffdt);
If &cnt_CrseAttributes > 0 Then
For &i = 1 To &cnt_CrseAttributes
If All(&rs_CrseAttributes(&i).CRSE_ATTRIBUTES.CRSE_ATTR_VALUE.Value)
Then

Local Rowset &rs_CrseAttrValue =


CreateRowset(Record.CRSE_ATTR_VALUE);

[SSR_MANAGE_CLASSES.COMPONENTS.SSR_CRSE_INFO_FL.OnExecute]
import SCC_FLUID:MODEL:Component;
import SCC_FLUID:MODEL:Panel;
import SCC_FLUID:UTIL:CSSClass;
import SCC_FLUID:UTIL:URL;
import SSR_MANAGE_CLASSES:UTIL:Formatter;
import SSR_MANAGE_CLASSES:UTIL:Instructor;
import SSR_MANAGE_CLASSES:UTIL:ClassOptions;
import SSR_MANAGE_CLASSES:UTIL:ClassInformation;
import SSR_MANAGE_CLASSES:UTIL:ClassSelection;
import SSR_MANAGE_CLASSES:UTIL:CheckValidUserAction;
import SSR_MANAGE_CLASSES:SETUP:TimeConflictOptions;
import SSR_MANAGE_CLASSES:SETUP:ClassSearchOptions;
import SSR_MANAGE_CLASSES:SETUP:MeetingScheduleDisplayOptions;
import SCC_COMMON_ATTRIBUTE_FW:Components:SCC_CAF_SBP;
import SSR_MANAGE_CLASSES:UTIL:GlobalVariables;

class SSR_CRSE_INFO_FL extends SCC_FLUID:MODEL:Component


method SSR_CRSE_INFO_FL();

method PreBuild();
method PostBuild();

method SSR_CRSE_INFO_FL_Activate();
method SSR_SEL_FLTRS_SCF_Activate();

method SSR_CLSRCH_F_WK__SSR_ADD_TO_FAV_LNK_FieldChange();
method SSR_CLSRCH_F_WK__SSR_CNTRLFIELD_FieldChange();
method SSR_CLSRCH_F_WK__SSR_SELECTED_FLTRS_FieldChange();
method SSR_CLSRCH_F_WK__SSR_CMPNT_DESCR_1_FieldChange();
method SSR_CLSRCH_F_WK__SSR_CMPNT_DESCR_2_FieldChange();
method SSR_CLSRCH_F_WK__SSR_CMPNT_DESCR_3_FieldChange();
method SSR_CLSRCH_F_WK__SSR_CMPNT_DESCR_4_FieldChange();
method SSR_CLSRCH_F_WK__SSR_CMPNT_DESCR_5_FieldChange();
method SSR_CLSRCH_F_WK__SSR_MUL_MTG_LNK_1_FieldChange();
method SSR_CLSRCH_F_WK__SSR_MUL_MTG_LNK_2_FieldChange();
method SSR_CLSRCH_F_WK__SSR_MUL_MTG_LNK_3_FieldChange();
method SSR_CLSRCH_F_WK__SSR_MUL_MTG_LNK_4_FieldChange();
method SSR_CLSRCH_F_WK__SSR_MUL_MTG_LNK_5_FieldChange();
method SSR_CLSRCH_F_WK__SSR_OPTION_DESCR_FieldChange();

protected
property SCC_FLUID:MODEL:Panel Panel;
property string RecordingType get;

property integer MaxClassComponentCount readonly;


property integer MaxCAFFilterCount readonly;

/* Recording Type constants */


property string RecentlyViewed readonly;
property string Favorites readonly;

/* Actions for Favorites constants */


property string AddToFavorites readonly;
property string RemoveFromFavorites readonly;

/* Save Action constants */


property string SaveActionAdd readonly;
property string SaveActionUpdate readonly;
property string SaveActionDelete readonly;
property string SaveActionNone readonly;

private
method calculateUnitsRange(&unitsMinimum As number, &unitsMaximum As number)
Returns string;
method resolveRecordingType();
method continueLoading();
method alignLinesInFlexGrid(&initialLoad As boolean);
method saveFavorites();
method refreshAddToFavoritesLink();
method saveRecentlyViewed(&saveAction As string);
method populateClassesFromCourse();
method showClassInfoPopup(&index As integer, &defaultTab As string);
method isAllowedToEnroll(&p_sAcademicCareer As string, &p_sCourseCareer As
string, &p_sInstitution As string, &p_sTerm As string, &p_sSessionCode As string,
&p_nClassNbr As number) Returns boolean;
method allowDrillDownToEnrollmentAG(&acadCareer As string, &institution As
string, &term As string, &sessionCode As string, &classNbr As number) Returns
boolean;
method copyFiltersToRVF(&recClsrchRVF As Record);
method copyFiltersToRVFCAF(&recClsrchRVFCAF As Record);

method getLOVDescription(&attribSeq As number, &attribName As string, &lovValue


As string) Returns string;
method populateFromAdhoc(&adhocRecord As string, &adhocLOVUID As string,
&lovValue As string) Returns string;
method populateFromPromptTable(&lovSccEditTable As string, &lovSccPromptField As
string, &lovSccFieldNameDescr As string, &lovValue As string) Returns string;
method populateFromTransTable(&lovSccEditTable As string, &lovPromptField As
string, &lovSccPromptField As string, &lovSccFieldNameDescr As string, &lovValue As
string) Returns string;

instance SSR_MANAGE_CLASSES:UTIL:ClassInformation &classInfoTabCodes;


instance SSR_MANAGE_CLASSES:SETUP:ClassSearchOptions &classSearchOptions;
instance boolean &isFromRVF;
instance string &sAcademicCareer;

end-class;

Declare Function UpdateAuditDetailsByRecord PeopleCode


SCC_AUDIT_SBR.SCC_ROW_ADD_OPRID FieldFormula;
Declare Function RequiredFieldErrorMsg_CAF PeopleCode FUNCLIB_CS.ASSOCIATED_CLASS
FieldFormula;

Component date &recTermBeginDt;


Component SSR_MANAGE_CLASSES:UTIL:ClassInformation &classInfo;
Component SCC_COMMON_ATTRIBUTE_FW:Components:SCC_CAF_SBP &CAF_SBP;

Global SSR_MANAGE_CLASSES:UTIL:GlobalVariables &oManageClassesGlobalVars;

method SSR_CRSE_INFO_FL

%Super = create SCC_FLUID:MODEL:Component();

/* Initialize constants (protected properties) */


&MaxClassComponentCount = 5;
&MaxCAFFilterCount = 5;
&RecentlyViewed = "R";
&Favorites = "F";
&AddToFavorites = "A";
&RemoveFromFavorites = "R";
&SaveActionAdd = "A";
&SaveActionUpdate = "U";
&SaveActionDelete = "D";
&SaveActionNone = "N";

&classInfoTabCodes = create SSR_MANAGE_CLASSES:UTIL:ClassInformation();


&classSearchOptions = create SSR_MANAGE_CLASSES:SETUP:ClassSearchOptions();

end-method;

method PreBuild

If %Request.BrowserDeviceFormFactor <> %FormFactor_Small Then;


Local string &refererUrl = %Request.GetHeader("Referer");

/* If Course Info was requested from Class Search Results, redirect to Start
Page to wrap Course Info in MD Framework */
If Find(Component.SSR_CLSRCH_ES_FL | "." | %Market, &refererUrl) > 0 Then;

Local SCC_FLUID:UTIL:URL &url = create SCC_FLUID:UTIL:URL();

Local string &crefUrl =


&url.GetContentReferenceURL("CS_SSR_MANAGE_CLASSES_FL");
Local string &redirectUrl = "";

If Find("?", &crefUrl) = 0 Then;


&redirectUrl = &crefUrl | "?" | %Request.QueryString;
Else
&redirectUrl = &crefUrl | "&" | %Request.QueryString;
End-If;

Local string &contentURL = GenerateComponentContentURL(%Portal, %Node,


@("MenuName." | %Menu), %Market, @("Component." | %Component), @("Page." | %Page),
%Action_UpdateDisplay);
&contentURL = &contentURL | "&" | %Request.QueryString;
&oManageClassesGlobalVars.sCourseInfoURL = &contentURL;
&oManageClassesGlobalVars.sTransferToURL =
&oManageClassesGlobalVars.sCourseInfoURL;

If &oManageClassesGlobalVars.sTabID = Page.SSR_SWAP_TERM_FL Then


&oManageClassesGlobalVars.sMDComponent = Component.SSR_MD_CRSEINFO_FL;
End-If;

%Response.RedirectURL(&redirectUrl);

Else

&oManageClassesGlobalVars.sTransferToURL = "";

End-If;
End-If;

/* when request originates from row click in Recently Viewed/Favorites grid */


If %Request.GetParameter("RVF_SW") = "1" Then;
&isFromRVF = True;
End-If;

end-method;

method PostBuild

Local SCC_FLUID:UTIL:CSSClass &objCSS;

&objCSS = create SCC_FLUID:UTIL:CSSClass();

&objCSS.AddStyleSheet(StyleSheet.SSR_SS);

&Panel = %This.CreatePanel();
%This.Render();

DERIVED_SSR_FL.STRM.Value = SSR_CRSE_INFO_V.STRM.Value;

Evaluate &oManageClassesGlobalVars.sTabID
When Page.SSR_CLSRCH_MAIN_FL
&sAcademicCareer = "";
DERIVED_SSR_FL.ACAD_CAREER.Visible = False;
When Page.SSR_SWAP_TERM_FL
&sAcademicCareer = &oManageClassesGlobalVars.swapClasses_sCareer;
DERIVED_SSR_FL.ACAD_CAREER.Visible = True;
End-Evaluate;

DERIVED_SSR_FL.ACAD_CAREER.Value = &sAcademicCareer;
DERIVED_SSR_FL.INSTITUTION.Value = SSR_CRSE_INFO_V.INSTITUTION.Value;

Local Record &recKeyList = GetRecord(Record.SSR_CRSE_INFO_V);


&oManageClassesGlobalVars.rec_CourseInformationSearchKeys =
CreateRecord(Record.SSR_CRSE_INFO_V);

&recKeyList.CopyFieldsTo(&oManageClassesGlobalVars.rec_CourseInformationSearchKeys)
;

DERIVED_SSR_FL.SSR_CHANGE_BTN.Visible = False;
/* Get Term Begin Date */
Local Record &recTerm = CreateRecord(Record.TERM_TBL);

&recTerm.INSTITUTION.Value = DERIVED_SSR_FL.INSTITUTION.Value;
&recTerm.ACAD_CAREER.Value = DERIVED_SSR_FL.ACAD_CAREER.Value;
&recTerm.STRM.Value = DERIVED_SSR_FL.STRM.Value;

If &recTerm.SelectByKey() Then;
&recTermBeginDt = &recTerm.TERM_BEGIN_DT.Value;
Else
&recTermBeginDt = %Date;
End-If;

SSR_CRSE_INFO_V.SSS_SUBJ_CATLG.Value = RTrim(SSR_CRSE_INFO_V.SUBJECT.Value) | "


" | LTrim(SSR_CRSE_INFO_V.CATALOG_NBR.Value);

%This.resolveRecordingType();
%This.refreshAddToFavoritesLink();

If &isFromRVF Then;
%This.continueLoading();
End-If;

end-method;

method SSR_CLSRCH_F_WK__SSR_ADD_TO_FAV_LNK_FieldChange

/* Limit favorite courses to display to maximum specified in Class Search


Options */
Local integer &maxFavoriteCount =
&classSearchOptions.MaximumFavoriteCoursesToDisplay;
Local integer &favoriteCount = 0;

SQLExec("SELECT COUNT(*) FROM %Table(SSR_CLSRCH_R_VW) WHERE EMPLID=:1 AND


INSTITUTION=:2 AND STRM=:3 AND SSR_CLSRCH_RECTYPE=:4", %EmployeeId,
SSR_CRSE_INFO_V.INSTITUTION.Value, SSR_CRSE_INFO_V.STRM.Value, &Favorites,
&favoriteCount);

/* If course can be added to Favorites, i.e. SSR_ADD_TO_FAV_LNK.Value =


&AddToFavorites */
If GetRecord().SSR_ADD_TO_FAV_LNK.Value = &AddToFavorites Then;
If &favoriteCount < &maxFavoriteCount Then;
%This.saveFavorites();
Else /* Cannot add to Favorites; maximum number has been reached. */
%This.Panel.SetConfirmationMessage(MsgGetText(14770, 879, "Message not
found.", SSR_CRSE_INFO_V.SSS_SUBJ_CATLG.Value), False);
End-If;
Else /* If course can be removed from Favorites, i.e. SSR_ADD_TO_FAV_LNK.Value =
&RemoveFromFavorites */
%This.saveFavorites();
End-If;

end-method;

method SSR_CLSRCH_F_WK__SSR_OPTION_DESCR_FieldChange

Local Rowset &rstClassEnrollmentAET = CreateRowset(Record.SSR_ENRL_AET_WK);


If &rstClassEnrollmentAET.InsertRow(0) Then;
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET =
&rstClassEnrollmentAET(1).GetRecord(Record.SSR_ENRL_AET_WK);

Local Record &recSource = GetRow().GetRecord(Record.SSR_CLSRCH_F_WK);

&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.SSR_SBJ_CAT_NBR.Value
= SSR_CRSE_INFO_V.SSS_SUBJ_CATLG.Value;
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.EMPLID.Value =
%EmployeeId;
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.INSTITUTION.Value =
SSR_CRSE_INFO_V.INSTITUTION.Value;

If &sAcademicCareer <> "" Then /* Request came from Swap Classes */


&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.ACAD_CAREER.Value
= &sAcademicCareer;
Else
If &oManageClassesGlobalVars.count_AcademicCareers = 1 Then
If &oManageClassesGlobalVars.arr_AcademicCareers.Len = 1 Then
&sAcademicCareer = &oManageClassesGlobalVars.arr_AcademicCareers
[1];
End-If;
End-If;
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.ACAD_CAREER.Value
= &sAcademicCareer;
End-If;

&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.CRSE_CAREER.Value =
SSR_CRSE_INFO_V.ACAD_CAREER.Value;
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.STRM.Value =
SSR_CRSE_INFO_V.STRM.Value;
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.SSR_OPTION_STAT.Value
= GetRow().GetRecord(Record.SSR_DER_CS_GRP).SSR_OPTION_STAT.Value;
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.CLASS_NBR.Value =
&recSource.CLASS_NBR_1.Value;
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.ENRL_STAT_1.Value =
&recSource.ENRL_STAT_1.Value;

Local array of string &autoClassNbrs = CreateArrayRept("", 0);


Local array of string &relateClassNbrs = CreateArrayRept("", 0);

If All(&recSource.CLASS_NBR_2.Value) Then;
If &recSource.SSR_AUTO_ENRL_SW_2.Value = "Y" Then;
&autoClassNbrs.Push(&recSource.CLASS_NBR_2.Value,
&recSource.ENRL_STAT_2.Value);
Else
&relateClassNbrs.Push(&recSource.CLASS_NBR_2.Value,
&recSource.ENRL_STAT_2.Value);
End-If;
End-If;

If All(&recSource.CLASS_NBR_3.Value) Then;
If &recSource.SSR_AUTO_ENRL_SW_3.Value = "Y" Then;
&autoClassNbrs.Push(&recSource.CLASS_NBR_3.Value,
&recSource.ENRL_STAT_3.Value);
Else
&relateClassNbrs.Push(&recSource.CLASS_NBR_3.Value,
&recSource.ENRL_STAT_3.Value);
End-If;
End-If;

If All(&recSource.CLASS_NBR_4.Value) Then;
If &recSource.SSR_AUTO_ENRL_SW_4.Value = "Y" Then;
&autoClassNbrs.Push(&recSource.CLASS_NBR_4.Value,
&recSource.ENRL_STAT_4.Value);
Else
&relateClassNbrs.Push(&recSource.CLASS_NBR_4.Value,
&recSource.ENRL_STAT_4.Value);
End-If;
End-If;

If All(&recSource.CLASS_NBR_5.Value) Then;
If &recSource.SSR_AUTO_ENRL_SW_5.Value = "Y" Then;
&autoClassNbrs.Push(&recSource.CLASS_NBR_5.Value,
&recSource.ENRL_STAT_5.Value);
Else
&relateClassNbrs.Push(&recSource.CLASS_NBR_5.Value,
&recSource.ENRL_STAT_5.Value);
End-If;
End-If;

Local integer &classCtr = 0;


Local string &classNbr = "";
Local string &enrlStat = "";

For &classCtr = 1 To &autoClassNbrs.Len / 2;


&classNbr = &autoClassNbrs.Shift();
&enrlStat = &autoClassNbrs.Shift();

If All(&classNbr) Then;
try
/* For robustness, to prevent errors if &autoClassNbrs.Len > 2 */

&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.GetField(@("Field.AUTO_CLAS
S_NBR_" | &classCtr)).Value = &classNbr;

Evaluate &classCtr
When 1

&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.ENRL_STAT_2.Value =
&enrlStat;
Break;
When 2

&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.ENRL_STAT_3.Value =
&enrlStat;
Break;
End-Evaluate;
catch Exception &missingFieldEx1
end-try;
End-If;
End-For;

For &classCtr = 1 To &relateClassNbrs.Len / 2;


&classNbr = &relateClassNbrs.Shift();
&enrlStat = &relateClassNbrs.Shift();
If All(&classNbr) Then;
try
/* For robustness, to prevent errors if &relateClassNbrs.Len > 2 */

&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.GetField(@("Field.RELATE_CL
ASS_NBR_" | &classCtr)).Value = &classNbr;

Evaluate &classCtr
When 1

&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.ENRL_STAT_4.Value =
&enrlStat;
Break;
When 2

&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.ENRL_STAT_5.Value =
&enrlStat;
Break;
End-Evaluate;
catch Exception &missingFieldEx2
end-try;
End-If;
End-For;
End-If;

Local Record &recKeyList = CreateRecord(Record.SSR_CLSKEYS_WRK);

Local Record &recKeys1 = GetLevel0().GetRow(1).GetRecord(Record.DERIVED_SSR_FL);


Local Record &recKeys2 = GetRecord();

&recKeys1.CopyFieldsTo(&recKeyList);
&recKeys2.CopyFieldsTo(&recKeyList);

Local string &url = GenerateComponentContentURL(%Portal, %Node,


MenuName.NUI_FRAMEWORK, %Market, Component.PT_AGSTARTPAGE_NUI,
Page.PT_AGSTARTPAGE_NUI, %Action_UpdateDisplay, &recKeyList);

Local array of string &params = CreateArrayRept("", 0);

Local string &AGTemplateID;

If &oManageClassesGlobalVars.sTabID = Page.SSR_SWAP_TERM_FL Then


&AGTemplateID = "SR_SWAP_FL";
Else
&AGTemplateID = "SR_ENRL_FL";
End-If;

&params.Push(""); /* Required for initial ampersand */


&params.Push("CONTEXTIDPARAMS=" | "TEMPLATE_ID" | ":" | &AGTemplateID);
&params.Push("CONTEXTIDPARAMS=" | "OPRID" | ":" | %OperatorId);
&params.Push("replaceCurrentTopWindow=Y");
&params.Push("fmode=1");

&url = &url | &params.Join("&", "", "");

Local SSR_MANAGE_CLASSES:UTIL:ClassSelection &oClassSelection = create


SSR_MANAGE_CLASSES:UTIL:ClassSelection();

&oClassSelection.DeleteAGInstance(&AGTemplateID);
%Response.RedirectURL(&url);

end-method;

method SSR_CLSRCH_F_WK__SSR_SELECTED_FLTRS_FieldChange

Local string &sModalOptions;


Local integer &returnCode;

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Or
%Request.BrowserDeviceFormFactor = %FormFactor_Medium Then;
&sModalOptions = GetHTMLText(HTML.SCC_MO_FULLSCREEN_FL);
&returnCode = DoModalPopup(&sModalOptions, "", False, False,
Page.SSR_SEL_FLTRS_SCF, MsgGetText(14770, 880, "Message not found."), - 1, - 1, 0);
/* Class Search Filters */
Else
&sModalOptions = GetHTMLText(HTML.SCC_MO_POPUP_FL) |
";width@640;height@480;";
&returnCode = DoModalPopup(&sModalOptions, "", False, False,
Page.SSR_SEL_FLTRS_SCF, MsgGetText(14770, 880, "Message not found."), - 1, - 1, 0);
/* Class Search Filters */
End-If;

%This.alignLinesInFlexGrid( False);

end-method;

method SSR_CLSRCH_F_WK__SSR_CNTRLFIELD_FieldChange

Local string &saveAction = GetField().Value;

%This.saveRecentlyViewed(&saveAction);
%This.continueLoading();

end-method;

method SSR_CLSRCH_F_WK__SSR_CMPNT_DESCR_1_FieldChange

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then;


%This.showClassInfoPopup(1, &classInfoTabCodes.ClassDetails);
Else
%This.showClassInfoPopup(1, &classInfoTabCodes.EnrollmentInformation);
End-If;

%This.alignLinesInFlexGrid( False);

end-method;

method SSR_CLSRCH_F_WK__SSR_CMPNT_DESCR_2_FieldChange

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then;


%This.showClassInfoPopup(2, &classInfoTabCodes.ClassDetails);
Else
%This.showClassInfoPopup(2, &classInfoTabCodes.EnrollmentInformation);
End-If;

%This.alignLinesInFlexGrid( False);

end-method;

method SSR_CLSRCH_F_WK__SSR_CMPNT_DESCR_3_FieldChange

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then;


%This.showClassInfoPopup(3, &classInfoTabCodes.ClassDetails);
Else
%This.showClassInfoPopup(3, &classInfoTabCodes.EnrollmentInformation);
End-If;

%This.alignLinesInFlexGrid( False);

end-method;

method SSR_CLSRCH_F_WK__SSR_CMPNT_DESCR_4_FieldChange

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then;


%This.showClassInfoPopup(4, &classInfoTabCodes.ClassDetails);
Else
%This.showClassInfoPopup(4, &classInfoTabCodes.EnrollmentInformation);
End-If;

%This.alignLinesInFlexGrid( False);

end-method;

method SSR_CLSRCH_F_WK__SSR_CMPNT_DESCR_5_FieldChange

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then;


%This.showClassInfoPopup(5, &classInfoTabCodes.ClassDetails);
Else
%This.showClassInfoPopup(5, &classInfoTabCodes.EnrollmentInformation);
End-If;

%This.alignLinesInFlexGrid( False);

end-method;

method SSR_CLSRCH_F_WK__SSR_MUL_MTG_LNK_1_FieldChange

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then;


%This.showClassInfoPopup(1, &classInfoTabCodes.MeetingDetails);
Else
%This.showClassInfoPopup(1, &classInfoTabCodes.MeetingInformation);
End-If;

%This.alignLinesInFlexGrid( False);

end-method;
method SSR_CLSRCH_F_WK__SSR_MUL_MTG_LNK_2_FieldChange

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then;


%This.showClassInfoPopup(2, &classInfoTabCodes.MeetingDetails);
Else
%This.showClassInfoPopup(2, &classInfoTabCodes.MeetingInformation);
End-If;

%This.alignLinesInFlexGrid( False);

end-method;

method SSR_CLSRCH_F_WK__SSR_MUL_MTG_LNK_3_FieldChange

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then;


%This.showClassInfoPopup(3, &classInfoTabCodes.MeetingDetails);
Else
%This.showClassInfoPopup(3, &classInfoTabCodes.MeetingInformation);
End-If;

%This.alignLinesInFlexGrid( False);

end-method;

method SSR_CLSRCH_F_WK__SSR_MUL_MTG_LNK_4_FieldChange

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then;


%This.showClassInfoPopup(4, &classInfoTabCodes.MeetingDetails);
Else
%This.showClassInfoPopup(4, &classInfoTabCodes.MeetingInformation);
End-If;

%This.alignLinesInFlexGrid( False);

end-method;

method SSR_CLSRCH_F_WK__SSR_MUL_MTG_LNK_5_FieldChange

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then;


%This.showClassInfoPopup(5, &classInfoTabCodes.MeetingDetails);
Else
%This.showClassInfoPopup(5, &classInfoTabCodes.MeetingInformation);
End-If;

%This.alignLinesInFlexGrid( False);

end-method;

method SSR_CRSE_INFO_FL_Activate

&oManageClassesGlobalVars.sTransferTo = "";

AddJavaScript(HTML.SSR_MANAGE_CLASSES_JS);

Evaluate &oManageClassesGlobalVars.sCourseInfoFrom
When &oManageClassesGlobalVars.courseInfoFrom_sClassSearchMain
&oManageClassesGlobalVars.sTransferFromURL =
&oManageClassesGlobalVars.sClassSearchMainURL;
AddOnLoadScript("renameBackButtonLabel('" | MsgGetText(14770, 541, "Message
not found.") | "')"); /* Class Search */
Break;

When &oManageClassesGlobalVars.courseInfoFrom_sSwapClassSearch
&oManageClassesGlobalVars.sTransferFromURL =
&oManageClassesGlobalVars.sSwapClassSearchURL;
AddOnLoadScript("renameBackButtonLabel('" | MsgGetText(14770, 904, "Message
not found.") | "')"); /* Swap Classes */
Break;

When &oManageClassesGlobalVars.courseInfoFrom_sClassNumber
&oManageClassesGlobalVars.sTransferFromURL = "";
AddOnLoadScript("renameBackButtonLabel('" | MsgGetText(14770, 904, "Message
not found.") | "')"); /* Swap Classes */
Break;

End-Evaluate;

Local Grid &grdCourseInfo = GetGrid(Page.SSR_CRSE_INFO_FL,


Record.SSR_CLS_DTLS_VW);

Local Record &recDerived = CreateRecord(Record.SSR_CLSRCH_F_WK);

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then;


&grdCourseInfo.Layout = %ListGrid;
Else
&grdCourseInfo.Layout = %OriginalFlexGrid;

&grdCourseInfo.GetColumn("OPTION_SFF").Visible = False;
&grdCourseInfo.GetColumn("CMPNT_CLASS_ENRL_1").Visible = False;
&grdCourseInfo.GetColumn("CMPNT_CLASS_ENRL_2").Visible = False;
&grdCourseInfo.GetColumn("CMPNT_CLASS_ENRL_3").Visible = False;
&grdCourseInfo.GetColumn("CMPNT_CLASS_ENRL_4").Visible = False;
&grdCourseInfo.GetColumn("CMPNT_CLASS_ENRL_5").Visible = False;

&grdCourseInfo.GetColumn("CMPNT_CLASS_NBR").Label =
&recDerived.CLASS_NBR.GetShortLabel("SSR_CLASS");
&grdCourseInfo.GetColumn("DAYS_TIMES").Label =
&recDerived.SSR_MTG_SCHED_LONG.GetLongLabel("MTG_PAT2");
End-If;

SSR_CRSE_INFO_V.SSS_SUBJ_CATLG.SetCursorPos(%Page);

Local string &Access = GetUserOption("PPTL", "ACCESS");

If &Access = "A" Then


&grdCourseInfo.GetColumn("CHEVRON").Visible = False;
End-If;

end-method;

method SSR_SEL_FLTRS_SCF_Activate
/* Use saved filters; if none exist, display "No filters were previously
selected during Class Search" */
Local Record &recClsrchRVF = CreateRecord(Record.SSR_CLSRCH_RVF);

&recClsrchRVF.EMPLID.Value = %EmployeeId;
&recClsrchRVF.INSTITUTION.Value = SSR_CRSE_INFO_V.INSTITUTION.Value;
&recClsrchRVF.ACAD_CAREER.Value = SSR_CRSE_INFO_V.ACAD_CAREER.Value;
&recClsrchRVF.STRM.Value = SSR_CRSE_INFO_V.STRM.Value;
&recClsrchRVF.SSR_CLSRCH_RECTYPE.Value = %This.RecordingType;
&recClsrchRVF.CRSE_ID.Value = SSR_CRSE_INFO_V.CRSE_ID.Value;
&recClsrchRVF.CRSE_OFFER_NBR.Value = SSR_CRSE_INFO_V.CRSE_OFFER_NBR.Value;

If &recClsrchRVF.SelectByKey() Then;

If &recClsrchRVF.SSR_FILTER_CTR.Value = 0 Then;
SSR_CLSRCH_F_WK.SSR_CLSRCH_CRIT.Value = MsgGetText(14770, 881, "Message
not found."); /* No filters were previously selected during Class Search. */

GetLevel0().GetRow(1).SSR_CLSRCH_F_WK.GROUPBOX1.Visible = False;
Else
If &oManageClassesGlobalVars.sTabID = Page.SSR_SWAP_TERM_FL Then
SSR_CLSRCH_F_WK.SSR_CLSRCH_CRIT.Value = MsgGetExplainText(14770, 909,
"Message not found.");
Else
SSR_CLSRCH_F_WK.SSR_CLSRCH_CRIT.Value = MsgGetExplainText(14770, 881,
"Message not found.");
End-If;

Local Record &recFilters = CreateRecord(Record.SSR_DER_CS_FLTR);

&recClsrchRVF.CopyFieldsTo(&recFilters);

Local Rowset &rsWork;


Local Record &recLabelMaker;
Local Record &recFacetLabelMaker = CreateRecord(Record.SSR_FCT_ATT_WRK);

/* Seq 1. Class Status */


SSR_DER_CS_FLTR.ENRL_STAT.Label =
&recFacetLabelMaker.SSR_CLASS_STAT_ES.GetLongLabel("SSR_CLASS_STAT_ES");
SSR_DER_CS_FLTR.ENRL_STAT.Value = &recFilters.ENRL_STAT.Value;
SSR_DER_CS_FLTR.ENRL_STAT.Visible = False; /*
All(SSR_DER_CS_FLTR.ENRL_STAT.Value); */

&rsWork = CreateRowset(Record.PSXLATITEM);
&rsWork.Fill("WHERE FILL.FIELDNAME=:1 AND FILL.FIELDVALUE = :2 AND
%EffDtCheck(PSXLATITEM, FILL, :3) AND FILL.EFF_STATUS=:4",
Field.SSR_CLSRCH_QRY_VAL, "CO", %Date, "A");
Local string &appendedValue = " " |
&rsWork(1).PSXLATITEM.XLATLONGNAME.Value;

SSR_CLSRCH_F_WK.DESCR3.Label =
&recFacetLabelMaker.SSR_CLASS_STAT_ES.GetLongLabel("SSR_CLASS_STAT_ES");
SSR_CLSRCH_F_WK.DESCR3.Value = &recFilters.ENRL_STAT.LongTranslateValue |
&appendedValue;
SSR_CLSRCH_F_WK.DESCR3.Visible = All(SSR_DER_CS_FLTR.ENRL_STAT.Value);

/* Seq 2. Course Career */


SSR_DER_CS_FLTR.CRSE_CAREER.Value = &recFilters.CRSE_CAREER.Value;
SSR_DER_CS_FLTR.CRSE_CAREER.Visible =
All(SSR_DER_CS_FLTR.CRSE_CAREER.Value);

/* Seq 3. Subject */
&rsWork = CreateRowset(Record.SUBJECT_TBL);
&rsWork.Fill("WHERE FILL.INSTITUTION=:1 AND %EffDtCheck(SUBJECT_TBL, FILL,
%DateIn(:2)) AND FILL.EFF_STATUS=:3 AND FILL.SUBJECT=:4",
&recFilters.INSTITUTION.Value, &recTermBeginDt, "A", &recFilters.SUBJECT.Value);

SSR_CLSRCH_F_WK.DESCR40.Label =
&recFilters.SUBJECT.GetShortLabel(Field.SUBJECT);
SSR_CLSRCH_F_WK.DESCR40.Value = &recFilters.SUBJECT.Value | "/" |
&rsWork(1).SUBJECT_TBL.DESCR.Value;
SSR_CLSRCH_F_WK.DESCR40.Visible = (All(&recFilters.SUBJECT.Value) And
All(SSR_CLSRCH_F_WK.DESCR40.Value));

/* Seq 4. Number of Units */


If &recFilters.SSR_UNITS_FACET_SW.Value = "Y" Then;
&rsWork = CreateRowset(Record.SSR_FACET_UNITS);
&rsWork.Fill("WHERE FILL.UNITS_MINIMUM=:1 AND FILL.UNITS_MAXIMUM=:2 AND
%EffDtCheck(SSR_FACET_UNITS, FILL, :3)", &recFilters.UNITS_MINIMUM.Value,
&recFilters.UNITS_MAXIMUM.Value, &recTermBeginDt);

SSR_CLSRCH_F_WK.DESCR1.Label =
&recFacetLabelMaker.SSR_NUM_UNITS_ES.GetLongLabel("SSR_NUM_UNITS_ES");
SSR_CLSRCH_F_WK.DESCR1.Value = &rsWork(1).SSR_FACET_UNITS.DESCR.Value;
End-If;

SSR_CLSRCH_F_WK.DESCR1.Visible = All(SSR_CLSRCH_F_WK.DESCR1.Value);

/* Seq 5. Location */
Local string &locationSetId = GetSetId(Field.BUSINESS_UNIT,
&recFilters.INSTITUTION.Value, Record.LOCATION_TBL, "");

&rsWork = CreateRowset(Record.LOCATION_TBL);
&rsWork.Fill("WHERE FILL.SETID=:1 AND %EffDtCheck(LOCATION_TBL, FILL, :2)
AND FILL.LOCATION=:3", &locationSetId, %Date, &recFilters.LOCATION.Value);

SSR_CLSRCH_F_WK.DESCR_LOCATION.Label =
&rsWork(1).LOCATION_TBL.LOCATION.GetShortLabel(Field.LOCATION);
SSR_CLSRCH_F_WK.DESCR_LOCATION.Value =
&rsWork(1).LOCATION_TBL.DESCR.Value;
SSR_CLSRCH_F_WK.DESCR_LOCATION.Visible =
All(SSR_CLSRCH_F_WK.DESCR_LOCATION.Value);

/* Seq 6. Campus */
&rsWork = CreateRowset(Record.CAMPUS_TBL);
&rsWork.Fill("WHERE FILL.INSTITUTION=:1 AND %EffDtCheck(CAMPUS_TBL A,
FILL, :2) AND FILL.EFF_STATUS=:3 AND FILL.CAMPUS=:4",
&recFilters.INSTITUTION.Value, %Date, "A", &recFilters.CAMPUS.Value);

SSR_CLSRCH_F_WK.DESCR.Label =
&rsWork(1).CAMPUS_TBL.CAMPUS.GetShortLabel(Field.CAMPUS);
SSR_CLSRCH_F_WK.DESCR.Value = &rsWork(1).CAMPUS_TBL.DESCR.Value;
SSR_CLSRCH_F_WK.DESCR.Visible = All(SSR_CLSRCH_F_WK.DESCR.Value);

/* Seq 7. Meeting Days */


If &recFilters.SSR_DAYS_FACET_SW.Value = "Y" Then;
&rsWork = CreateRowset(Record.SSR_FACET_DAYS);
&rsWork.Fill("WHERE FILL.MON=:1 AND FILL.TUES=:2 AND FILL.WED=:3 AND
FILL.THURS=:4 AND FILL.FRI=:5 AND FILL.SAT=:6 AND FILL.SUN=:7 AND
%EffDtCheck(SSR_FACET_DAYS, FILL, :8)", &recFilters.MON.Value,
&recFilters.TUES.Value, &recFilters.WED.Value, &recFilters.THURS.Value,
&recFilters.FRI.Value, &recFilters.SAT.Value, &recFilters.SUN.Value,
&recTermBeginDt);

&recLabelMaker = CreateRecord(Record.DERIVED_SSE_DSP);

SSR_CLSRCH_F_WK.DESCR30.Label =
&recLabelMaker.CLASS_MTG_DAYS.GetLongLabel(Field.CLASS_MTG_DAYS);
SSR_CLSRCH_F_WK.DESCR30.Value = &rsWork(1).SSR_FACET_DAYS.DESCR.Value;
End-If;

SSR_CLSRCH_F_WK.DESCR30.Visible = All(SSR_CLSRCH_F_WK.DESCR30.Value);

/* Seq 8. Shift */
&rsWork = CreateRowset(Record.SSR_SHIFT_TBL);

&rsWork.Fill("WHERE FILL.INSTITUTION=:1 AND %EffDtCheck(SSR_SHIFT_TBL,


FILL, :2) AND FILL.EFF_STATUS=:3 AND FILL.SSR_SHIFT=:4",
&recFilters.INSTITUTION.Value, %Date, "A", &recFilters.SSR_SHIFT.Value);

SSR_CLSRCH_F_WK.DESCR_SHIFT.Value = &rsWork(1).SSR_SHIFT_TBL.DESCR.Value;
SSR_CLSRCH_F_WK.DESCR_SHIFT.Visible =
All(SSR_CLSRCH_F_WK.DESCR_SHIFT.Value);

/* Seq 9. Session Code */


SSR_DER_CS_FLTR.SESSION_CODE.Value = &recFilters.SESSION_CODE.Value;
SSR_DER_CS_FLTR.SESSION_CODE.Visible =
All(SSR_DER_CS_FLTR.SESSION_CODE.Value);

/* Seq 10. Class Start Times */


&rsWork = CreateRowset(Record.SSR_FACET_STIME);

&rsWork.Fill("WHERE FILL.MEETING_TIME_START=%TimeIn(:1) AND


FILL.MEETING_TIME_END=%TimeIn(:2) AND %EffDtCheck(SSR_FACET_STIME, FILL, :3)",
&recFilters.SSR_MTGSTR_TIME_FR.Value, &recFilters.SSR_MTGSTR_TIME_TO.Value,
&recTermBeginDt);

SSR_CLSRCH_F_WK.DESCR_FROM.Label =
&recFacetLabelMaker.SSR_START_TIMES_ES.GetLongLabel("SSR_START_TIMES_ES");
SSR_CLSRCH_F_WK.DESCR_FROM.Value = &rsWork(1).SSR_FACET_STIME.DESCR.Value;
SSR_CLSRCH_F_WK.DESCR_FROM.Visible =
All(SSR_CLSRCH_F_WK.DESCR_FROM.Value);

/* Seq 11. Class End Times */


&rsWork = CreateRowset(Record.SSR_FACET_ETIME);

&rsWork.Fill("WHERE FILL.MEETING_TIME_START=%TimeIn(:1) AND


FILL.MEETING_TIME_END=%TimeIn(:2) AND %EffDtCheck(SSR_FACET_ETIME, FILL, :3)",
&recFilters.SSR_MTGEND_TIME_FR.Value, &recFilters.SSR_MTGEND_TIME_TO.Value,
&recTermBeginDt);

SSR_CLSRCH_F_WK.DESCR_TO.Label =
&recFacetLabelMaker.SSR_END_TIMES_ES.GetLongLabel("SSR_END_TIMES_ES");
SSR_CLSRCH_F_WK.DESCR_TO.Value = &rsWork(1).SSR_FACET_ETIME.DESCR.Value;
SSR_CLSRCH_F_WK.DESCR_TO.Visible = All(SSR_CLSRCH_F_WK.DESCR_TO.Value);

/* Seq 12. Class Component */


SSR_DER_CS_FLTR.SSR_COMPONENT.Label =
&recFacetLabelMaker.SSR_CLASS_COMPO_ES.GetLongLabel("SSR_CLASS_COMPO_ES");
SSR_DER_CS_FLTR.SSR_COMPONENT.Value = &recFilters.SSR_COMPONENT.Value;
SSR_DER_CS_FLTR.SSR_COMPONENT.Visible =
All(SSR_DER_CS_FLTR.SSR_COMPONENT.Value);

/* Seq 13. Instruction Mode */


&rsWork = CreateRowset(Record.INSTRUCT_MODE);

&rsWork.Fill("WHERE FILL.INSTITUTION=:1 AND %EffDtCheck(INSTRUCT_MODE,


FILL, :2) AND FILL.EFF_STATUS=:3 AND FILL.INSTRUCTION_MODE=:4",
&recFilters.INSTITUTION.Value, %Date, "A", &recFilters.INSTRUCTION_MODE.Value);

SSR_CLSRCH_F_WK.DESCR_INSTR_MODE.Value =
&rsWork(1).INSTRUCT_MODE.DESCR.Value;
SSR_CLSRCH_F_WK.DESCR_INSTR_MODE.Visible =
All(SSR_CLSRCH_F_WK.DESCR_INSTR_MODE.Value);

/* Seq 14. Requirement Designation */


&rsWork = CreateRowset(Record.RQMNT_DESIG_TBL);

&rsWork.Fill("WHERE FILL.RQMNT_DESIGNTN=:1 AND


%EffDtCheck(RQMNT_DESIG_TBL, FILL, :2) AND FILL.EFF_STATUS=:3",
&recFilters.RQMNT_DESIGNTN.Value, %Date, "A");

SSR_CLSRCH_F_WK.DESCR_RQMNT_DESIGN.Value =
&rsWork(1).RQMNT_DESIG_TBL.DESCR.Value;
SSR_CLSRCH_F_WK.DESCR_RQMNT_DESIGN.Visible =
All(SSR_CLSRCH_F_WK.DESCR_RQMNT_DESIGN.Value);

/* Seq 15. Class Attribute */


Local string &crseAttrDescr = "";
Local string &crseAttrValueDescr = "";
Local string &crseAttrFieldLabel = "";
Local string &crseAttrFieldValue = "";
Local boolean &crseAttrFieldVisible = False;

If &classSearchOptions.IncludeCourseAttributeValue Then;
&rsWork = CreateRowset(Record.CRSE_ATTR_VALUE);
&rsWork.Fill("WHERE FILL.CRSE_ATTR=:1 AND %EffDtCheck(CRSE_ATTR_VALUE,
FILL, :2) AND FILL.CRSE_ATTR_VALUE=:3", &recFilters.CRSE_ATTR.Value, %Date,
&recFilters.CRSE_ATTR_VALUE.Value);

&crseAttrValueDescr = &rsWork(1).CRSE_ATTR_VALUE.DESCR.Value;
End-If;

&rsWork = CreateRowset(Record.CRSE_ATTR_TBL);
&rsWork.Fill("WHERE FILL.CRSE_ATTR=:1 AND %EffDtCheck(CRSE_ATTR_TBL A,
FILL, :2) AND EFF_STATUS=:3", &recFilters.CRSE_ATTR.Value, %Date, "A");

&crseAttrDescr = &rsWork(1).CRSE_ATTR_TBL.DESCR.Value;
&crseAttrFieldLabel =
&rsWork(1).CRSE_ATTR_TBL.CRSE_ATTR.GetLongLabel("CLASSATTRIBUTE");

If &classSearchOptions.IncludeCourseAttributeValue Then;
&crseAttrFieldValue = &crseAttrDescr | "/" | &crseAttrValueDescr;
&crseAttrFieldVisible = (All(&crseAttrDescr) And
All(&crseAttrValueDescr));
Else
&crseAttrFieldValue = &crseAttrDescr;
&crseAttrFieldVisible = All(&crseAttrDescr);
End-If;

SSR_CLSRCH_F_WK.DESCR100.Label = &crseAttrFieldLabel;
SSR_CLSRCH_F_WK.DESCR100.Value = &crseAttrFieldValue;
SSR_CLSRCH_F_WK.DESCR100.Visible = &crseAttrFieldVisible;

/* Seq 16. Class Topic */


&recLabelMaker = CreateRecord(Record.SSR_DER_CS_FLTR);

SSR_CLSRCH_F_WK.SSR_TOPIC_SEARCH.Label =
&recLabelMaker.CRS_TOPIC_ID.GetLongLabel(Field.CLASS_TOPIC);
SSR_CLSRCH_F_WK.SSR_TOPIC_SEARCH.Value =
&recFilters.SSR_TOPIC_SEARCH.Value;
SSR_CLSRCH_F_WK.SSR_TOPIC_SEARCH.Visible =
All(&recFilters.SSR_TOPIC_SEARCH.Value);

/* Seq 17. Class Number */


&recLabelMaker = CreateRecord(Record.SSR_DER_CS_FLTR);

SSR_CLSRCH_F_WK.CLASS_NBR.Label =
&recLabelMaker.CLASS_NBR.GetLongLabel("CLASSNUMBER");
SSR_CLSRCH_F_WK.CLASS_NBR.Value = &recFilters.CLASS_NBR.Value;
SSR_CLSRCH_F_WK.CLASS_NBR.Visible = All(&recFilters.CLASS_NBR.Value);

/* Seq 18. Instructor Last Name */


&appendedValue = " " | &recFilters.SSR_SRCH_OPERATOR.LongTranslateValue;

&recLabelMaker = CreateRecord(Record.SSR_CLSRCH_OPT);

SSR_CLSRCH_F_WK.LAST_NAME.Label =
&recLabelMaker.SSR_SSINSTR_LASTNM.GetLongLabel(Field.LAST_NAME) | &appendedValue;
SSR_CLSRCH_F_WK.LAST_NAME.Value = &recFilters.LAST_NAME.Value;
SSR_CLSRCH_F_WK.LAST_NAME.Visible = All(&recFilters.LAST_NAME.Value);

GetLevel0().GetRow(1).SSR_CLSRCH_F_WK.GROUPBOX1.Visible = True;
End-If;

Else

SSR_CLSRCH_F_WK.SSR_CLSRCH_CRIT.Value = MsgGetText(14770, 881, "Message not


found."); /* No filters were previously selected during Class Search. */

GetLevel0().GetRow(1).SSR_CLSRCH_F_WK.GROUPBOX1.Visible = False;

End-If;

/* CAF Values */
Local Rowset &rstCAF = GetLevel0().GetRow(1).GetRowset(Scroll.SSR_DUMMY_REC);
Local Rowset &rstCAFFilters = CreateRowset(Record.SSR_CLSRCH_RVFC);

Local integer &cntCAFFilters = &rstCAFFilters.Fill("WHERE %KeyEqual(:1)",


&recClsrchRVF);

&rstCAF.Flush();

/* Use saved CAF filters; if none exist, hide CAF filters */


If &cntCAFFilters > 0 Then;

If &oManageClassesGlobalVars.sTabID = Page.SSR_SWAP_TERM_FL Then


SSR_CLSRCH_F_WK.SSR_CLSRCH_CRIT.Value = MsgGetExplainText(14770, 909,
"Message not found.");
Else
SSR_CLSRCH_F_WK.SSR_CLSRCH_CRIT.Value = MsgGetExplainText(14770, 881,
"Message not found.");
End-If;

&rstCAFFilters.Sort(SSR_CLSRCH_RVFC.SCC_CAF_ATTR_SEQ, "A");
&rstCAFFilters.CopyTo(&rstCAF, Record.SSR_CLSRCH_RVFC,
Record.SSR_DER_CAFFLTR);

Local integer &rowCtr;

For &rowCtr = 1 To &rstCAF.ActiveRowCount;

Local Record &recCAF = &rstCAF.GetRow(&rowCtr).SSR_DER_CAFFLTR;


Local Record &recCAFDerived = &rstCAF.GetRow(&rowCtr).SCC_CAF_DERIVED;

&recCAF.SCC_CAF_ATTRIB_NM.Visible = False;
&recCAF.SCC_CAF_ATTR_SEQ.Visible = False;
&recCAF.SCC_CAF_ATTR_VAL.Visible = False;
&recCAF.SCC_CAF_ATTR_NVAL.Visible = False;
&recCAF.SCC_CAF_ATTR_DVAL.Visible = False;
&recCAF.SCC_CAF_ATTR_TVAL.Visible = False;
&recCAF.SCC_CAF_ATTR_LVAL.Visible = False;
&recCAF.SCC_CAF_ATTR_TIME.Visible = False;
&recCAF.SCC_CAF_ATTR_YNO.Visible = False;
&recCAFDerived.SCC_CAF_LOV_PRMT01.Visible = False;
&recCAFDerived.DESCR50.Visible = False;

&recCAF.SCC_CAF_ATTRIB_NM.DisplayOnly = True;
&recCAF.SCC_CAF_ATTR_SEQ.DisplayOnly = True;
&recCAF.SCC_CAF_ATTR_VAL.DisplayOnly = True;
&recCAF.SCC_CAF_ATTR_NVAL.DisplayOnly = True;
&recCAF.SCC_CAF_ATTR_DVAL.DisplayOnly = True;
&recCAF.SCC_CAF_ATTR_TVAL.DisplayOnly = True;
&recCAF.SCC_CAF_ATTR_LVAL.DisplayOnly = True;
&recCAF.SCC_CAF_ATTR_TIME.DisplayOnly = True;
&recCAF.SCC_CAF_ATTR_YNO.DisplayOnly = True;
&recCAFDerived.SCC_CAF_LOV_PRMT01.DisplayOnly = True;
&recCAFDerived.DESCR50.DisplayOnly = True;

Local string &attribName = &recCAF.SCC_CAF_ATTRIB_NM.Value;


Local string &attribType = &recCAF.SCC_CAF_ATTR_TYPE.Value;
Local integer &attribSeq = &recCAF.SCC_CAF_ATTR_SEQ.Value;
Local string &attribDescr = "";

SQLExec("SELECT SSR_CAF_LABEL FROM %Table(SSR_FCT_CAF_ATT) A WHERE


SCC_CAF_ATTRIB_NM=:1 AND %EffDtCheck(SSR_FCT_CAF_ATT, A, :2)", &attribName, %Date,
&attribDescr);

If None(&attribDescr) Then;
&attribDescr = &attribName;
End-If;

Evaluate &attribType
When "01" /* Short Text */
&recCAF.SCC_CAF_ATTR_SVAL.Visible = True;
&recCAF.SCC_CAF_ATTR_SVAL.Label = &attribDescr;
&recCAF.SCC_CAF_ATTR_SVAL.AddFFClass("psc_label-width40pct");
Break;
When "02" /* Text */
&recCAF.SCC_CAF_ATTR_TVAL.Visible = True;
&recCAF.SCC_CAF_ATTR_TVAL.Label = &attribDescr;
&recCAF.SCC_CAF_ATTR_TVAL.AddFFClass("psc_label-width40pct");
Break;
When "03" /* Long Text */
&recCAF.SCC_CAF_ATTR_LVAL.Visible = True;
&recCAF.SCC_CAF_ATTR_LVAL.Label = &attribDescr;
&recCAF.SCC_CAF_ATTR_LVAL.AddFFClass("psc_label-width40pct");
Break;
When "04" /* Number */
Local Record &recCAFSetup = CreateRecord(Record.SCC_CAF_ATTRIBS);

&recCAFSetup.SCC_CAF_ATTRIB_NM.Value = &attribName;

If &recCAFSetup.SelectByKey() Then
&recCAF.SCC_CAF_ATTR_NVAL.DecimalPosition =
&recCAFSetup.SCC_CAF_ATTR_DEC.Value;
&recCAF.SCC_CAF_ATTR_NVAL.Value = NumberToDisplayString("%*.*",
&recCAF.SCC_CAF_ATTR_NVAL.Value, &recCAFSetup.SCC_CAF_ATTR_INT.Value,
&recCAFSetup.SCC_CAF_ATTR_DEC.Value);
End-If;

&recCAF.SCC_CAF_ATTR_NVAL.Visible = True;
&recCAF.SCC_CAF_ATTR_NVAL.Label = &attribDescr;
&recCAF.SCC_CAF_ATTR_NVAL.AddFFClass("psc_label-width40pct");
Break;
When "05" /* Date */
&recCAF.SCC_CAF_ATTR_DVAL.Visible = True;
&recCAF.SCC_CAF_ATTR_DVAL.Label = &attribDescr;
&recCAF.SCC_CAF_ATTR_DVAL.AddFFClass("psc_label-width40pct");
Break;
When "06" /* Time */
&recCAF.SCC_CAF_ATTR_TIME.Visible = True;
&recCAF.SCC_CAF_ATTR_TIME.Label = &attribDescr;
&recCAF.SCC_CAF_ATTR_TIME.AddFFClass("psc_label-width40pct");
Break;
When "07" /* Yes/No */
Local Record &recDerived = CreateRecord(Record.DERIVED_SCC_SUM);
&recDerived.GetField(Field.PSYESNO).Value =
&recCAF.SCC_CAF_ATTR_YNO.Value;

&recCAF.SCC_CAF_ATTRIB_NM.Visible = True;
&recCAF.SCC_CAF_ATTRIB_NM.Label = &attribDescr;
&recCAF.SCC_CAF_ATTRIB_NM.AddFFClass("psc_label-width40pct");
&recCAF.SCC_CAF_ATTRIB_NM.ClearDropDownList();
&recCAF.SCC_CAF_ATTRIB_NM.AddDropDownItem(&attribName,
&recDerived.GetField(Field.PSYESNO).LongTranslateValue);
Break;
When "LO" /* List of Values */
&recCAFDerived.DESCR50.Visible = True;
&recCAFDerived.DESCR50.Label = &attribDescr;
&recCAFDerived.DESCR50.Value = %This.getLOVDescription(&attribSeq,
&attribName, &recCAF.SCC_CAF_ATTR_VAL.Value);
&recCAFDerived.DESCR50.AddFFClass("psc_label-width40pct");
Break;
End-Evaluate;

End-For;

GetLevel0().GetRow(1).SSR_CLSRCH_F_WK.GROUPBOX2.Visible = True;

&rstCAF.ShowAllRows();

Else

GetLevel0().GetRow(1).SSR_CLSRCH_F_WK.GROUPBOX2.Visible = False;

&rstCAF.HideAllRows();

End-If;

end-method;

/* Protected properties */
get RecordingType
/+ Returns String +/

/* If Add to Favorites link is tagged as can be added to Favorites, course is


Recently Viewed */
If GetLevel0().GetRow(1).SSR_CLSRCH_F_WK.SSR_ADD_TO_FAV_LNK.Value =
&AddToFavorites Then;
Return &RecentlyViewed;
Else /* If Add to Favorites link is tagged as can be removed from Favorites,
course is Favorite */
Return &Favorites;
End-If;

end-get;

/* Private methods */
method resolveRecordingType

/* Tag Recently Viewed and Favorites */


Local string &saveAction = "";

Local Field &fldAddToFavorites =


GetLevel0().GetRow(1).SSR_CLSRCH_F_WK.SSR_ADD_TO_FAV_LNK;

Local Record &recClsrchRVF = CreateRecord(Record.SSR_CLSRCH_RVF);

&recClsrchRVF.EMPLID.Value = %EmployeeId;
&recClsrchRVF.INSTITUTION.Value = DERIVED_SSR_FL.INSTITUTION.Value;
&recClsrchRVF.ACAD_CAREER.Value = SSR_CRSE_INFO_V.ACAD_CAREER.Value;
&recClsrchRVF.STRM.Value = DERIVED_SSR_FL.STRM.Value;
&recClsrchRVF.SSR_CLSRCH_RECTYPE.Value = &RecentlyViewed;
&recClsrchRVF.CRSE_ID.Value = SSR_CRSE_INFO_V.CRSE_ID.Value;
&recClsrchRVF.CRSE_OFFER_NBR.Value = SSR_CRSE_INFO_V.CRSE_OFFER_NBR.Value;

/* If already Recently Viewed, course can be added to Favorites; need to update


course Last Update Date/Time in Recently Viewed */
If &recClsrchRVF.SelectByKey() Then;
&fldAddToFavorites.Value = &AddToFavorites;
&saveAction = &SaveActionUpdate;
Else
&recClsrchRVF.EMPLID.Value = %EmployeeId;
&recClsrchRVF.INSTITUTION.Value = DERIVED_SSR_FL.INSTITUTION.Value;
&recClsrchRVF.ACAD_CAREER.Value = SSR_CRSE_INFO_V.ACAD_CAREER.Value;
&recClsrchRVF.STRM.Value = DERIVED_SSR_FL.STRM.Value;
&recClsrchRVF.SSR_CLSRCH_RECTYPE.Value = &Favorites;
&recClsrchRVF.CRSE_ID.Value = SSR_CRSE_INFO_V.CRSE_ID.Value;
&recClsrchRVF.CRSE_OFFER_NBR.Value = SSR_CRSE_INFO_V.CRSE_OFFER_NBR.Value;

/* If not Recently Viewed, and currently a Favorite, course can be removed


from Favorites; no need to add course to Recently Viewed */
If &recClsrchRVF.SelectByKey() Then;
&fldAddToFavorites.Value = &RemoveFromFavorites;
&saveAction = &SaveActionUpdate;
Else
/* If not Recently Viewed, and currently not a Favorite, course can be
added to Favorites; NEED to add course to Recently Viewed */
&fldAddToFavorites.Value = &AddToFavorites;
&saveAction = &SaveActionAdd;
End-If;
End-If;

/* When redirecting from SSR_CRSE_INFO_FL component to MD Framework, JavaScript


in HTML area could not be read anymore;
/* needed to transfer it to <head> tag via AddJavaScript, and hence, use hard-
coded/static page and field names/values. */
AddJavaScript(HTML.SSR_SAVE_RECENTLY_VIEWED_JS);

/* Add course to Recently Viewed */


/* Call JavaScript to invoke FieldChange of SSR_CNTRLFIELD; PeopleSoft doesn't
allow saving to DB on PostBuild or Activate */
AddOnLoadScript("if (typeof saveRecentlyViewed == 'function')
{ saveRecentlyViewed(" | Quote(&saveAction) | "); }");

end-method;

method continueLoading

/* Add psc_invisible initially to grid via PeopleCode to disguise the process of


aligning lines; psc_invisible will be removed from within alignLinesInFlexGrid JS
*/
Local Grid &grdCourseInfo = GetGrid(Page.SSR_CRSE_INFO_FL,
Record.SSR_CLS_DTLS_VW);

If %Request.BrowserDeviceFormFactor <> %FormFactor_Small Then;


&grdCourseInfo.FreeFormStyleName = "psc_invisible";
End-If;

GetLevel0().GetRow(1).SSR_CLSRCH_F_WK.SSR_GROUP_BOX_4.DataAreaCollapsed = False;

%This.populateClassesFromCourse();

/* Set up modal options for Select a class option popup */

GetLevel0().GetRow(1).SSR_CLSRCH_F_WK.SSR_GROUP_BOX_2.SetGroupletMOptions("sPopupPa
rentId@" | Record.SSR_CLSRCH_F_WK | "_" | Field.SSR_GROUP_BOX_2 |
"$PIMG;bPIA@1;bPopup@1;bMask@1;bClose@1;bHeader@0;bCache@1;sMaskStyle@ps_masktrans;
");
GetLevel0().GetRow(1).SSR_CLSRCH_F_WK.SSR_GROUP_BOX_2.Label = MsgGetText(14770,
850, "Message not found");

GetLevel0().GetRow(1).SSR_CLSRCH_F_WK.SSR_CLASS_INFO.Value =
MsgGetExplainText(14770, 850, "Message not found");

If %Request.BrowserDeviceFormFactor <> %FormFactor_Small Then;


%This.alignLinesInFlexGrid( True);
End-If;

end-method;

method alignLinesInFlexGrid
/+ &initialLoad as Boolean +/

If %Request.BrowserDeviceFormFactor <> %FormFactor_Small Then;


If &initialLoad Then;
AddJavaScript(HTML.SSR_ALIGN_LINES_IN_FLEXGRID_JS);

AddOnLoadScript("if (typeof alignLinesInFlexGrid == 'function')


{ alignLinesInFlexGrid(); window.addEventListener('resize',
alignLinesInFlexGrid); }");
Else
AddOnLoadScript("if (typeof alignLinesInFlexGrid == 'function')
{ alignLinesInFlexGrid(); }");
End-If;
End-If;

end-method;

method saveFavorites

Local Record &recKeysClsrchRVF = CreateRecord(Record.SSR_CLSRCH_RVF);


Local Record &recClsrchRVF = CreateRecord(Record.SSR_CLSRCH_RVF);

&recKeysClsrchRVF.EMPLID.Value = %EmployeeId;
&recKeysClsrchRVF.INSTITUTION.Value = DERIVED_SSR_FL.INSTITUTION.Value;
&recKeysClsrchRVF.ACAD_CAREER.Value = SSR_CRSE_INFO_V.ACAD_CAREER.Value;
&recKeysClsrchRVF.STRM.Value = DERIVED_SSR_FL.STRM.Value;
&recKeysClsrchRVF.SSR_CLSRCH_RECTYPE.Value = &RecentlyViewed;
&recKeysClsrchRVF.CRSE_ID.Value = SSR_CRSE_INFO_V.CRSE_ID.Value;
&recKeysClsrchRVF.CRSE_OFFER_NBR.Value = SSR_CRSE_INFO_V.CRSE_OFFER_NBR.Value;

&recKeysClsrchRVF.CopyFieldsTo(&recClsrchRVF);

UpdateAuditDetailsByRecord(&SaveActionUpdate, &recClsrchRVF);

If &recClsrchRVF.SelectByKey() Then;
%This.Panel.SetConfirmationMessage(MsgGetText(14770, 882, "Message not
found.", SSR_CRSE_INFO_V.SSS_SUBJ_CATLG.Value), False); /* added to Favorites */
GetRecord().SSR_ADD_TO_FAV_LNK.Value = &RemoveFromFavorites;

%This.refreshAddToFavoritesLink();
&recClsrchRVF.SSR_CLSRCH_RECTYPE.Value = &Favorites;

If &recClsrchRVF.Update(&recKeysClsrchRVF) Then;

End-If;

SQLExec("UPDATE %Table(:1) SET SSR_CLSRCH_RECTYPE=:2 WHERE %KeyEqual(:3)",


Record.SSR_CLSRCH_RVFC, &Favorites, &recKeysClsrchRVF);
Else
%This.Panel.SetConfirmationMessage(MsgGetText(14770, 883, "Message not
found.", SSR_CRSE_INFO_V.SSS_SUBJ_CATLG.Value), False); /* removed from Favorites
*/
GetRecord().SSR_ADD_TO_FAV_LNK.Value = &AddToFavorites;

%This.refreshAddToFavoritesLink();

&recKeysClsrchRVF.CopyFieldsTo(&recClsrchRVF);

&recClsrchRVF.SSR_CLSRCH_RECTYPE.Value = &Favorites;

If &recClsrchRVF.SelectByKey() Then;
If &recKeysClsrchRVF.Update(&recClsrchRVF) Then;

End-If;
End-If;

SQLExec("UPDATE %Table(:1) SET SSR_CLSRCH_RECTYPE=:2 WHERE %KeyEqual(:3)",


Record.SSR_CLSRCH_RVFC, &RecentlyViewed, &recClsrchRVF);
End-If;

end-method;

method refreshAddToFavoritesLink

Local Field &fldAddToFavorites =


GetLevel0().GetRow(1).SSR_CLSRCH_F_WK.SSR_ADD_TO_FAV_LNK;

If &oManageClassesGlobalVars.sTabID = Page.SSR_SWAP_TERM_FL Then

/* Hide 'Add to favorite courses' link when coming from Swap Classes */
&fldAddToFavorites.Visible = False;

Else

Local integer &maxFavoriteCount =


&classSearchOptions.MaximumFavoriteCoursesToDisplay;

If &maxFavoriteCount = 0 Then;
&fldAddToFavorites.Visible = False;
Else
&fldAddToFavorites.Visible = True;

If &fldAddToFavorites.Value = &RemoveFromFavorites Then;


&fldAddToFavorites.LabelImage = Image.PS_CD_FAVORITE_COLOR_S_FL;
&fldAddToFavorites.Label =
&fldAddToFavorites.GetLongLabel("REMOVE_FR_FAV");
&fldAddToFavorites.HoverText =
&fldAddToFavorites.GetLongLabel("REMOVE_FR_FAV");
Else
&fldAddToFavorites.LabelImage = Image.PS_CD_FAVORITE_GRAY_S_FL;
&fldAddToFavorites.Label =
&fldAddToFavorites.GetLongLabel("ADD_TO_FAV");
&fldAddToFavorites.HoverText =
&fldAddToFavorites.GetLongLabel("ADD_TO_FAV");
End-If;
End-If;

End-If;

end-method;

method saveRecentlyViewed
/+ &saveAction as String +/

Local Record &recKeysClsrchRVF = CreateRecord(Record.SSR_CLSRCH_RVF);


Local Record &recClsrchRVF = CreateRecord(Record.SSR_CLSRCH_RVF);
Local Record &recClsrchRVFCAF = CreateRecord(Record.SSR_CLSRCH_RVFC);

&recKeysClsrchRVF.EMPLID.Value = %EmployeeId;
&recKeysClsrchRVF.INSTITUTION.Value = DERIVED_SSR_FL.INSTITUTION.Value;
&recKeysClsrchRVF.ACAD_CAREER.Value = SSR_CRSE_INFO_V.ACAD_CAREER.Value;
&recKeysClsrchRVF.STRM.Value = DERIVED_SSR_FL.STRM.Value;
&recKeysClsrchRVF.SSR_CLSRCH_RECTYPE.Value = &RecentlyViewed;
&recKeysClsrchRVF.CRSE_ID.Value = SSR_CRSE_INFO_V.CRSE_ID.Value;
&recKeysClsrchRVF.CRSE_OFFER_NBR.Value = SSR_CRSE_INFO_V.CRSE_OFFER_NBR.Value;

&recKeysClsrchRVF.CopyFieldsTo(&recClsrchRVF);
&recKeysClsrchRVF.CopyFieldsTo(&recClsrchRVFCAF);

Evaluate &saveAction
When &SaveActionUpdate
If &recClsrchRVF.SelectByKey() Then;
If Not &isFromRVF Then;
%This.copyFiltersToRVF(&recClsrchRVF);
%This.copyFiltersToRVFCAF(&recClsrchRVFCAF);
End-If;

UpdateAuditDetailsByRecord(&saveAction, &recClsrchRVF);

If &recClsrchRVF.Update() Then;
/* Update course in Recently Viewed */
End-If;
Else
&recKeysClsrchRVF.CopyFieldsTo(&recClsrchRVF);

&recClsrchRVF.SSR_CLSRCH_RECTYPE.Value = &Favorites;
&recClsrchRVFCAF.SSR_CLSRCH_RECTYPE.Value = &Favorites;

If &recClsrchRVF.SelectByKey() Then;
If Not &isFromRVF Then;
%This.copyFiltersToRVF(&recClsrchRVF);
%This.copyFiltersToRVFCAF(&recClsrchRVFCAF);
End-If;

UpdateAuditDetailsByRecord(&saveAction, &recClsrchRVF);
If &recClsrchRVF.Update() Then;
/* Update re-searched course already in Favorites */
End-If;
End-If;
End-If;

Break;
When &SaveActionAdd
%This.copyFiltersToRVF(&recClsrchRVF);
%This.copyFiltersToRVFCAF(&recClsrchRVFCAF);

UpdateAuditDetailsByRecord(&saveAction, &recClsrchRVF);

If &recClsrchRVF.Insert() Then;
/* Add course to Recently Viewed */
End-If;

Break;
When &SaveActionDelete
If &recClsrchRVF.Delete() Then;
/* Remove course from Recently Viewed */
&recClsrchRVFCAF.SSR_CLSRCH_RECTYPE.Value = &Favorites;

If &recClsrchRVFCAF.Update() Then;
End-If;
End-If;

Break;
End-Evaluate;

end-method;

method copyFiltersToRVF
/+ &recClsrchRVF as Record +/

If &oManageClassesGlobalVars.rsFilter <> Null Then;


Local Rowset &rsFilter = &oManageClassesGlobalVars.rsFilter;
Local Record &recFilters = &rsFilter.GetRow(1).SSR_DER_CS_FLTR;

&recClsrchRVF.SSR_FILTER_CTR.Value = &recFilters.SSR_FILTER_CTR.Value;

&recClsrchRVF.CAMPUS.Value = &recFilters.CAMPUS.Value;
&recClsrchRVF.CLASS_NBR.Value = &recFilters.CLASS_NBR.Value;

&recClsrchRVF.CRSE_ATTR.Value = &recFilters.CRSE_ATTR.Value;
&recClsrchRVF.CRSE_ATTR_VALUE.Value = &recFilters.CRSE_ATTR_VALUE.Value;

&recClsrchRVF.CRSE_CAREER.Value = &recFilters.CRSE_CAREER.Value;
&recClsrchRVF.ENRL_STAT.Value = &recFilters.ENRL_STAT.Value;
&recClsrchRVF.INSTRUCTION_MODE.Value = &recFilters.INSTRUCTION_MODE.Value;
&recClsrchRVF.LAST_NAME.Value = &recFilters.LAST_NAME.Value;
&recClsrchRVF.LOCATION.Value = &recFilters.LOCATION.Value;
&recClsrchRVF.RQMNT_DESIGNTN.Value = &recFilters.RQMNT_DESIGNTN.Value;
&recClsrchRVF.SESSION_CODE.Value = &recFilters.SESSION_CODE.Value;
&recClsrchRVF.SSR_COMPONENT.Value = &recFilters.SSR_COMPONENT.Value;
&recClsrchRVF.SUBJECT.Value = &recFilters.SUBJECT.Value;

&recClsrchRVF.SSR_MTGEND_TIME_FR.Value =
&recFilters.SSR_MTGEND_TIME_FR.Value;
&recClsrchRVF.SSR_MTGEND_TIME_TO.Value =
&recFilters.SSR_MTGEND_TIME_TO.Value;
&recClsrchRVF.SSR_MTGSTR_TIME_FR.Value =
&recFilters.SSR_MTGSTR_TIME_FR.Value;
&recClsrchRVF.SSR_MTGSTR_TIME_TO.Value =
&recFilters.SSR_MTGSTR_TIME_TO.Value;

&recClsrchRVF.SSR_SHIFT.Value = &recFilters.SSR_SHIFT.Value;
&recClsrchRVF.SSR_SRCH_OPERATOR.Value = &recFilters.SSR_SRCH_OPERATOR.Value;
&recClsrchRVF.SSR_TOPIC_SEARCH.Value = &recFilters.SSR_TOPIC_SEARCH.Value;

&recClsrchRVF.SSR_UNITS_FACET_SW.Value =
&recFilters.SSR_UNITS_FACET_SW.Value;
&recClsrchRVF.UNITS_MINIMUM.Value = &recFilters.UNITS_MINIMUM.Value;
&recClsrchRVF.UNITS_MAXIMUM.Value = &recFilters.UNITS_MAXIMUM.Value;

&recClsrchRVF.SSR_DAYS_FACET_SW.Value = &recFilters.SSR_DAYS_FACET_SW.Value;
&recClsrchRVF.MON.Value = &recFilters.MON.Value;
&recClsrchRVF.TUES.Value = &recFilters.TUES.Value;
&recClsrchRVF.WED.Value = &recFilters.WED.Value;
&recClsrchRVF.THURS.Value = &recFilters.THURS.Value;
&recClsrchRVF.FRI.Value = &recFilters.FRI.Value;
&recClsrchRVF.SAT.Value = &recFilters.SAT.Value;
&recClsrchRVF.SUN.Value = &recFilters.SUN.Value;
End-If;

end-method;

method copyFiltersToRVFCAF
/+ &recClsrchRVFCAF as Record +/

If &oManageClassesGlobalVars.rsCAFFilter <> Null Then;


Local Record &recClsrchRVF = CreateRecord(Record.SSR_CLSRCH_RVF);

&recClsrchRVFCAF.CopyFieldsTo(&recClsrchRVF);

/* To simplify things, delete all previously-saved CAF from Recently Viewed


first */
SQLExec("DELETE FROM %Table(:1) WHERE %KeyEqual(:2)", Record.SSR_CLSRCH_RVFC,
&recClsrchRVF);

Local integer &ctrCAF;

For &ctrCAF = 1 To &oManageClassesGlobalVars.rsCAFFilter.ActiveRowCount;


If &ctrCAF > &MaxCAFFilterCount Then;
Break;
End-If;
Local Rowset &rsCAFFilter = &oManageClassesGlobalVars.rsCAFFilter;
Local Record &recCAFFilters =
&oManageClassesGlobalVars.rsCAFFilter.GetRow(&ctrCAF).SSR_DER_CAFFLTR;

If None(&recCAFFilters.SCC_CAF_ATTR_TYPE.Value) Then;
Break;
End-If;

Local Record &recClsrchRVFCAFClone = CreateRecord(Record.SSR_CLSRCH_RVFC);


&recClsrchRVFCAF.CopyFieldsTo(&recClsrchRVFCAFClone);
&recCAFFilters.CopyFieldsTo(&recClsrchRVFCAF);

/* To simplify things, delete all previously-saved CAF from Recently


Viewed first to ensure all new CAF will be inserted */
If &recClsrchRVFCAF.Insert() Then;
/* Add CAF to Recently Viewed */
End-If;
End-For;
End-If;

end-method;

method calculateUnitsRange
/+ &unitsMinimum as Number, +/
/+ &unitsMaximum as Number +/
/+ Returns String +/

If None(&unitsMinimum) Then;
Return NumberToDisplayString("%3.2", &unitsMinimum);
Else
If None(&unitsMaximum) Then;
Return NumberToDisplayString("%3.2", &unitsMinimum);
Else
If &unitsMinimum = &unitsMaximum Then;
Return NumberToDisplayString("%3.2", &unitsMinimum);
Else
Return NumberToDisplayString("%3.2", &unitsMinimum) | " - " |
NumberToDisplayString("%3.2", &unitsMaximum);
End-If;
End-If;
End-If;

end-method;

method populateClassesFromCourse

Local SSR_MANAGE_CLASSES:UTIL:Formatter &formatter = create


SSR_MANAGE_CLASSES:UTIL:Formatter();
Local SSR_MANAGE_CLASSES:UTIL:Instructor &instructorUtil = create
SSR_MANAGE_CLASSES:UTIL:Instructor();
Local SSR_MANAGE_CLASSES:UTIL:ClassOptions &classOptions = create
SSR_MANAGE_CLASSES:UTIL:ClassOptions();
Local SSR_MANAGE_CLASSES:SETUP:TimeConflictOptions &timeConflictOptions = create
SSR_MANAGE_CLASSES:SETUP:TimeConflictOptions();
Local SSR_MANAGE_CLASSES:SETUP:MeetingScheduleDisplayOptions
&meetingSchedDisplayOptions = create
SSR_MANAGE_CLASSES:SETUP:MeetingScheduleDisplayOptions();

Evaluate &oManageClassesGlobalVars.sTabID
When Page.SSR_CLSRCH_MAIN_FL

&meetingSchedDisplayOptions.Instantiate(&meetingSchedDisplayOptions.ClassSearch);
When Page.SSR_SWAP_TERM_FL

&meetingSchedDisplayOptions.Instantiate(&meetingSchedDisplayOptions.SwapClasses);
End-Evaluate;
Local array of string &uniqueComponents = CreateArrayRept("", 0);
Local array of string &uniqueOptionalComponents = CreateArrayRept("", 0);
Local array of string &uniqueGradingBases = CreateArrayRept("", 0);
Local array of number &uniqueUnitsMin = CreateArrayRept(0, 0);
Local array of number &uniqueUnitsMax = CreateArrayRept(0, 0);

/* Determine if UNITS_MINIMUM and UNITS_MAXIMUM are the same across all classes
in all sessions */
Local integer &cntUniqueUnitsMinMax = 0;

SQLExec("SELECT COUNT(*) FROM (SELECT 'X' FROM %Table(CLASS_ASSOC) WHERE


CRSE_ID=:1 AND CRSE_OFFER_NBR=:2 AND STRM=:3 GROUP BY UNITS_MINIMUM, UNITS_MAXIMUM)
A", SSR_CRSE_INFO_V.CRSE_ID.Value, SSR_CRSE_INFO_V.CRSE_OFFER_NBR.Value,
SSR_CRSE_INFO_V.STRM.Value, &cntUniqueUnitsMinMax);

Local Rowset &rstSavedFilters = CreateRowset(Record.SSR_CLSRCH_RVF);


Local Rowset &rstSavedCAFFilters = CreateRowset(Record.SSR_CLSRCH_RVFC);
Local Rowset &rstActiveFilters = CreateRowset(Record.SSR_DER_CS_FLTR);
Local Rowset &rstActiveCAFFilters = CreateRowset(Record.SSR_DER_CAFFLTR);

&rstSavedFilters.Fill("WHERE EMPLID=:1 AND INSTITUTION=:2 AND ACAD_CAREER=:3 AND


STRM=:4 AND SSR_CLSRCH_RECTYPE=:5 AND CRSE_ID=:6 AND CRSE_OFFER_NBR=:7",
%EmployeeId, SSR_CRSE_INFO_V.INSTITUTION.Value, SSR_CRSE_INFO_V.ACAD_CAREER.Value,
SSR_CRSE_INFO_V.STRM.Value, %This.RecordingType, SSR_CRSE_INFO_V.CRSE_ID.Value,
SSR_CRSE_INFO_V.CRSE_OFFER_NBR.Value);
&rstSavedCAFFilters.Fill("WHERE EMPLID=:1 AND INSTITUTION=:2 AND ACAD_CAREER=:3
AND STRM=:4 AND SSR_CLSRCH_RECTYPE=:5 AND CRSE_ID=:6 AND CRSE_OFFER_NBR=:7",
%EmployeeId, SSR_CRSE_INFO_V.INSTITUTION.Value, SSR_CRSE_INFO_V.ACAD_CAREER.Value,
SSR_CRSE_INFO_V.STRM.Value, %This.RecordingType, SSR_CRSE_INFO_V.CRSE_ID.Value,
SSR_CRSE_INFO_V.CRSE_OFFER_NBR.Value);

&rstSavedFilters.CopyTo(&rstActiveFilters, Record.SSR_CLSRCH_RVF,
Record.SSR_DER_CS_FLTR);
&rstSavedCAFFilters.CopyTo(&rstActiveCAFFilters, Record.SSR_CLSRCH_RVFC,
Record.SSR_DER_CAFFLTR);

Local Rowset &rstClasses = &classOptions.GetClassOptions("CI", "N",


&rstActiveFilters, &rstActiveCAFFilters, Null);

Local Rowset &rstClassDetails =


GetLevel0().GetRow(1).GetRowset(Scroll.SSR_DUMMY_REC);

&rstClassDetails.Flush();

&rstClasses.CopyTo(&rstClassDetails);

Local integer &cntScheduledClasses = &rstClassDetails.ActiveRowCount;

If None(&rstClasses.GetRow(1).SSR_DER_CS_GRP.SSR_OPTION_NBR.Value) Then;
&cntScheduledClasses = 0;
End-If;

If &cntScheduledClasses > 0 Then;


Local integer &ctrScheduledClass = 0;
Local integer &ctrAnchorRow = 1;
Local number &prevOptionNbr = 0;

Local boolean &hasRoom = False;


Local boolean &hasTopic = False;
Local boolean &hasInstructor = False;

Local array of number &rowIndexesToDelete = CreateArrayRept(0, 0);


Local array of string &fieldNames = CreateArrayRept("", 0);
Local array of string &uniqueMeetingDates = CreateArrayRept("", 0);

&fieldNames.Push(Field.SSR_CMPNT_DESCR);
&fieldNames.Push(Field.UNITS_RANGE);
&fieldNames.Push(Field.SESSION_CODE);
&fieldNames.Push(Field.SSR_MTG_SCHED_L);
&fieldNames.Push(Field.SSR_MTG_LOC_LONG);
&fieldNames.Push(Field.SSR_MTG_DT_LONG);
&fieldNames.Push(Field.SSR_TOPIC_LONG);
&fieldNames.Push(Field.SSR_INSTR_LONG);
&fieldNames.Push(Field.SSR_DESCR50);
&fieldNames.Push(Field.ENRL_STAT);
&fieldNames.Push(Field.SSR_GROUP_BOX);
&fieldNames.Push(Field.SSR_MUL_MTG_LNK);

Local boolean &isAccessibilityMode = (GetUserOption("PPTL", "ACCESS") = "A");

&oManageClassesGlobalVars.arr_AcademicCareers = CreateArrayRept("", 0);


&oManageClassesGlobalVars.count_AcademicCareers = 1;

For &ctrScheduledClass = 1 To &cntScheduledClasses;


Local Record &recClassDetails =
&rstClassDetails.GetRow(&ctrScheduledClass).SSR_DER_CS_GRP;
Local Record &recDerived;
Local string &fieldName = "";

Local number &currOptionNbr =


&rstClasses.GetRow(&ctrScheduledClass).SSR_DER_CS_GRP.SSR_OPTION_NBR.Value;

If &prevOptionNbr <> &currOptionNbr Then;


Local integer &fieldCtr = 0;
Local integer &indexCtr = 0;

If &uniqueMeetingDates.Len = 1 Then;
Local integer &startIndex;

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then;


&startIndex = 1;
Else
&startIndex = 2;
End-If;

For &indexCtr = &startIndex To &MaxClassComponentCount;


&fieldName = "Field." | Field.SSR_MTG_DT_LONG | "_" | &indexCtr;

/* &ctrAnchorRow here contains value for previous anchor row */

&rstClassDetails.GetRow(&ctrAnchorRow).SSR_CLSRCH_F_WK.GetField(@&fieldName).Visibl
e = False;
End-For;
Else

&rstClassDetails.GetRow(&ctrAnchorRow).SSR_CLSRCH_F_WK.GetField(Field.SSR_MTG_DT_LO
NG).Visible = False;
End-If;

/* Clear &uniqueMeetingDates in preparation for next grouping option */


&uniqueMeetingDates = CreateArrayRept("", 0);

&ctrAnchorRow = &ctrScheduledClass;

&recDerived =
&rstClassDetails.GetRow(&ctrScheduledClass).SSR_CLSRCH_F_WK;

/* Initialize all fields to be invisible; they will be made visible


accordingly throughout the class processing below */
For &fieldCtr = 1 To &fieldNames.Len
For &indexCtr = 1 To &MaxClassComponentCount;
&fieldName = "Field." | &fieldNames [&fieldCtr] | "_" |
&indexCtr;
&recDerived.GetField(@&fieldName).Visible = False;
End-For;
End-For;

/* Show/hide chevron based on whether enrollment/waitlist/shopping cart


is allowed */
Local boolean &allowDrillDown =
%This.isAllowedToEnroll(&sAcademicCareer, SSR_CRSE_INFO_V.ACAD_CAREER.Value,
SSR_CRSE_INFO_V.INSTITUTION.Value, SSR_CRSE_INFO_V.STRM.Value,
&recClassDetails.SESSION_CODE.Value, &recClassDetails.CLASS_NBR.Value);

If &allowDrillDown Then;
/* Allow drilldown if student is not yet enrolled in class */
&allowDrillDown = (&recClassDetails.SSR_STDNT_OPTNSTAT.Value <>
"E");
End-If;

If &isAccessibilityMode Or
Not &allowDrillDown Then;

&rstClassDetails.GetRow(&ctrAnchorRow).SSR_DUMMY_REC.FILLER_FIELD.Visible = False;
&rstClassDetails.GetRow(&ctrAnchorRow).FreeFormStyleName =
&rstClassDetails.GetRow(&ctrAnchorRow).FreeFormStyleName | " psc_disabled";
&recDerived.SSR_OPTION_DESCR.Enabled = &allowDrillDown;
End-If;

Else
&recDerived = &rstClassDetails.GetRow(&ctrAnchorRow).SSR_CLSRCH_F_WK;

&rowIndexesToDelete.Push(&ctrScheduledClass);
End-If;

Local boolean &timeConflictExists =


(&timeConflictOptions.TimeConflictDisplayPreference =
&timeConflictOptions.CheckAndDisplay And
&recClassDetails.GetField(Field.SSR_TIME_CONFLICT).Value = "Y");

If &timeConflictExists Then;

&rstClassDetails.GetRow(&ctrAnchorRow).SSR_DUMMY_REC.FILLER_FIELD.Visible = False;
&rstClassDetails.GetRow(&ctrAnchorRow).FreeFormStyleName =
&rstClassDetails.GetRow(&ctrAnchorRow).FreeFormStyleName | " psc_disabled";
&recDerived.SSR_OPTION_DESCR.Enabled = False;
End-If;

Local integer &ctrIndex = &ctrScheduledClass - &ctrAnchorRow + 1;

/* Currently, only 5 distinct class components are allowed, i.e.


&MaxClassComponentCount = 5. */
/* Ignore/discard current row if current class component has &ctrIndex >
&MaxClassComponentCount */
If &ctrIndex <= &MaxClassComponentCount Then;
&recDerived.DESCR.Label = "Days";

Local Rowset &rstMeetingDates = CreateRowset(Record.SSR_CLS_MTNG_VW);

Local integer &cntMeetingDates = &rstMeetingDates.Fill("WHERE


CRSE_ID=:1 AND CRSE_OFFER_NBR=:2 AND STRM=:3 AND SESSION_CODE=:4 AND
CLASS_SECTION=:5", SSR_CRSE_INFO_V.CRSE_ID.Value,
SSR_CRSE_INFO_V.CRSE_OFFER_NBR.Value, SSR_CRSE_INFO_V.STRM.Value,
&recClassDetails.SESSION_CODE.Value, &recClassDetails.CLASS_SECTION.Value);

If &cntMeetingDates > 0 Then;


Local date &dteStartDate =
&rstMeetingDates.GetRow(1).SSR_CLS_MTNG_VW.START_DT.Value;
Local date &dteEndDate =
&rstMeetingDates.GetRow(1).SSR_CLS_MTNG_VW.END_DT.Value;
Local string &meetingDates = &formatter.FormatDate(&dteStartDate) |
"-" | &formatter.FormatDate(&dteEndDate);

/* Determine if START_DT and END_DT are the same across all classes
in a grouping option */
If &uniqueMeetingDates.Find(&meetingDates) = 0 Then;
&uniqueMeetingDates.Push(&meetingDates);
End-If;
End-If;

Local Rowset &rstMeetingPatterns =


CreateRowset(Record.SSR_CLS_MPAT_VW);

Local integer &cntMeetingPatterns = &rstMeetingPatterns.Fill("WHERE


CRSE_ID=:1 AND CRSE_OFFER_NBR=:2 AND STRM=:3 AND SESSION_CODE=:4 AND
CLASS_SECTION=:5", SSR_CRSE_INFO_V.CRSE_ID.Value,
SSR_CRSE_INFO_V.CRSE_OFFER_NBR.Value, SSR_CRSE_INFO_V.STRM.Value,
&recClassDetails.SESSION_CODE.Value, &recClassDetails.CLASS_SECTION.Value);

/* Either one or more meeting patterns exist */


If &cntMeetingPatterns > 0 Then;
Local integer &ctrMeetingPatterns;
Local array of string &daysOfWeekLong;
Local array of string &daysOfWeekShort;
Local array of string &meetingPatterns = CreateArrayRept("", 0);

For &ctrMeetingPatterns = 1 To &cntMeetingPatterns


Local Record &recMeetingPattern =
&rstMeetingPatterns.GetRow(&ctrMeetingPatterns).SSR_CLS_MPAT_VW;

Local time &tmeMeetingStart =


&recMeetingPattern.MEETING_TIME_START.Value;
Local time &tmeMeetingEnd =
&recMeetingPattern.MEETING_TIME_END.Value;
&daysOfWeekLong = CreateArrayRept("", 0);
&daysOfWeekShort = CreateArrayRept("", 0);

If &recMeetingPattern.MON.Value = "Y" Then;

&daysOfWeekLong.Push(&recMeetingPattern.MON.GetLongLabel("MON"));

&daysOfWeekShort.Push(&recMeetingPattern.MON.GetShortLabel("MON"));
End-If;

If &recMeetingPattern.TUES.Value = "Y" Then;

&daysOfWeekLong.Push(&recMeetingPattern.TUES.GetLongLabel("TUE"));

&daysOfWeekShort.Push(&recMeetingPattern.TUES.GetShortLabel("TUE"));
End-If;

If &recMeetingPattern.WED.Value = "Y" Then;

&daysOfWeekLong.Push(&recMeetingPattern.WED.GetLongLabel("WED"));

&daysOfWeekShort.Push(&recMeetingPattern.WED.GetShortLabel("WED"));
End-If;

If &recMeetingPattern.THURS.Value = "Y" Then;

&daysOfWeekLong.Push(&recMeetingPattern.THURS.GetLongLabel("THU"));

&daysOfWeekShort.Push(&recMeetingPattern.THURS.GetShortLabel("THU"));
End-If;

If &recMeetingPattern.FRI.Value = "Y" Then;

&daysOfWeekLong.Push(&recMeetingPattern.FRI.GetLongLabel("FRI"));

&daysOfWeekShort.Push(&recMeetingPattern.FRI.GetShortLabel("FRI"));
End-If;

If &recMeetingPattern.SAT.Value = "Y" Then;

&daysOfWeekLong.Push(&recMeetingPattern.SAT.GetLongLabel("SAT"));

&daysOfWeekShort.Push(&recMeetingPattern.SAT.GetShortLabel("SAT"));
End-If;

If &recMeetingPattern.SUN.Value = "Y" Then;

&daysOfWeekLong.Push(&recMeetingPattern.SUN.GetLongLabel("SUN"));

&daysOfWeekShort.Push(&recMeetingPattern.SUN.GetShortLabel("SUN"));
End-If;

If &daysOfWeekLong.Len > 0 Then;


Local string &daysOfWeekJoined = "";

/* Spelled-out days of the week (long descriptions) cater to


accessibility */
If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then;
&daysOfWeekJoined = &daysOfWeekLong.Join(" ", "", "",
&recDerived.DESCR.FieldLength);
Else
&daysOfWeekJoined = &daysOfWeekLong.Join(" ", "", "",
&recDerived.DESCR.FieldLength);
End-If;

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then;


&meetingPatterns.Push(&daysOfWeekJoined | " " |
MsgGetText(14770, 708, "Message not found.", &formatter.FormatTime(Date3(1900, 1,
1), &tmeMeetingStart), &formatter.FormatTime(Date3(1900, 1, 1), &tmeMeetingEnd)));
Else
&meetingPatterns.Push(&daysOfWeekJoined | Char(13) |
Char(10) | MsgGetText(14770, 708, "Message not found.",
&formatter.FormatTime(Date3(1900, 1, 1), &tmeMeetingStart),
&formatter.FormatTime(Date3(1900, 1, 1), &tmeMeetingEnd)));
End-If;
Else
&meetingPatterns.Push(MsgGetText(14770, 871, "Message not
found.")); /* To be announced */
End-If;
End-For;

/* One meeting pattern exists */


If &cntMeetingPatterns = 1 Then;
&fieldName = "Field." | Field.SSR_MTG_SCHED_L | "_" | &ctrIndex;

&recDerived.GetField(@&fieldName).Value = &meetingPatterns [1];

If &timeConflictExists Then;
If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then;
&recDerived.GetField(@&fieldName).Value = ""; /* Set to
empty string to override single meeting pattern */
&recDerived.GetField(@&fieldName).Visible = True;
&recDerived.GetField(@&fieldName).AddFFClass("psc_display-
inlineblock ps_box-label psc_halign-left psc_valign-baseline psa_value-none");
Else
&recDerived.GetField(@&fieldName).Visible = False;
End-If;
Else
&recDerived.GetField(@&fieldName).Visible = True;

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then;


&recDerived.GetField(@&fieldName).AddFFClass("ps_box-
longedit psc_disabled psc_wrappable psc_has_value");
End-If;
End-If;

&fieldName = "Field." | Field.SSR_MUL_MTG_LNK | "_" | &ctrIndex;

If &timeConflictExists Then;
&recDerived.GetField(@&fieldName).Label = MsgGetText(14770,
800, "Message not found."); /* Time Conflict */
&recDerived.GetField(@&fieldName).LabelImage =
Image.PS_WARN_S_FL;
&recDerived.GetField(@&fieldName).Visible = True;

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then;


&recDerived.GetField(@&fieldName).AddFFClass("psc_display-
inlineblock");
Else
&recDerived.GetField(@&fieldName).AddFFClass("psc_display-
block");
End-If;
End-If;

&fieldName = "Field." | Field.SSR_INSTR_LONG | "_" | &ctrIndex;

Local Rowset &rstInstructors =


CreateRowset(Record.CLASS_INSTR_VW);

Local integer &cntInstructors = &rstInstructors.Fill("WHERE


CRSE_ID=:1 AND CRSE_OFFER_NBR=:2 AND STRM=:3 AND SESSION_CODE=:4 AND
CLASS_SECTION=:5 AND CLASS_MTG_NBR=:6 AND INSTR_ROLE=:7",
SSR_CRSE_INFO_V.CRSE_ID.Value, SSR_CRSE_INFO_V.CRSE_OFFER_NBR.Value,
SSR_CRSE_INFO_V.STRM.Value, &recClassDetails.SESSION_CODE.Value,
&recClassDetails.CLASS_SECTION.Value, &recMeetingPattern.CLASS_MTG_NBR.Value,
"PI");

If &cntInstructors > 0 Then;


Local integer &ctrInstructors;
Local array of string &instructorNames = CreateArrayRept("",
0);

For &ctrInstructors = 1 To &cntInstructors


Local string &instructorName =
&instructorUtil.GetDisplayName(&rstInstructors(&ctrInstructors).CLASS_INSTR_VW.EMPL
ID.Value);

If All(&instructorName) Then;
&instructorNames.Push(&instructorName);
End-If;
End-For;

&recDerived.GetField(@&fieldName).Value =
&instructorNames.Join(Char(13) | Char(10), "", "");
Else
&recDerived.GetField(@&fieldName).Value = "";
End-If;

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then;


&recDerived.GetField(@&fieldName).Visible =
All(&recDerived.GetField(@&fieldName).Value);
Else
If All(&recDerived.GetField(@&fieldName).Value) Then;
&hasInstructor = True;
End-If;

&recDerived.GetField(@&fieldName).Visible = True;
End-If;

&fieldName = "Field." | Field.SSR_MTG_DT_LONG | "_" | &ctrIndex;


&recDerived.GetField(@&fieldName).Value =
&formatter.FormatDate(&dteStartDate) | Char(160) | "-" | Char(32) |
&formatter.FormatDate(&dteEndDate);
&recDerived.GetField(@&fieldName).Visible =
All(&recDerived.GetField(@&fieldName).Value);

&recDerived.GetField(Field.SSR_MTG_DT_LONG).Value =
&recDerived.GetField(@&fieldName).Value;
&recDerived.GetField(Field.SSR_MTG_DT_LONG).Visible =
All(&recDerived.GetField(@&fieldName).Value);

&fieldName = "Field." | Field.SSR_MTG_LOC_LONG | "_" | &ctrIndex;

Local string &setId = GetSetId(Field.BUSINESS_UNIT,


SSR_CRSE_INFO_V.INSTITUTION, Record.FACILITY_TBL, "");

Local Record &recFacility = CreateRecord(Record.FACILITY_TBL);

/* Lookup description of Meeting Pattern Room */


&recFacility.SETID.Value = &setId;
&recFacility.FACILITY_ID.Value =
&recMeetingPattern.FACILITY_ID.Value;

If &recFacility.SelectByKeyEffDt(&recTermBeginDt) Then;
&recDerived.GetField(@&fieldName).Value =
&recFacility.DESCR.Value;
Else
If &timeConflictExists Then;
&recDerived.GetField(@&fieldName).Value = "";
Else
&recDerived.GetField(@&fieldName).Value = MsgGetText(14770,
871, "Message not found."); /* To be announced */
End-If;
End-If;

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then;


&recDerived.GetField(@&fieldName).Visible =
All(&recDerived.GetField(@&fieldName).Value);
Else
If All(&recDerived.GetField(@&fieldName).Value) Then;
&hasRoom = True;
End-If;

&recDerived.GetField(@&fieldName).Visible = True;
End-If;

&fieldName = "Field." | Field.SSR_TOPIC_LONG | "_" | &ctrIndex;

Local Record &recTopic = CreateRecord(Record.CRSE_TOPICS);

/* Lookup description of Class Topic */


&recTopic.CRSE_ID.Value = SSR_CRSE_INFO_V.CRSE_ID.Value;
&recTopic.CRS_TOPIC_ID.Value =
&recClassDetails.CRS_TOPIC_ID.Value;

If &recTopic.SelectByKeyEffDt(&recTermBeginDt) Then;
&recDerived.GetField(@&fieldName).Value =
&recTopic.DESCR.Value;
Else
&recDerived.GetField(@&fieldName).Value = "";
End-If;

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then;


&recDerived.GetField(@&fieldName).Visible =
All(&recDerived.GetField(@&fieldName).Value);
Else
If All(&recDerived.GetField(@&fieldName).Value) Then;
&hasTopic = True;
End-If;

&recDerived.GetField(@&fieldName).Visible = True;
End-If;
Else /* More than one meeting pattern exists */
&fieldName = "Field." | Field.SSR_MTG_SCHED_L | "_" | &ctrIndex;

Local array of string &meetingPatternsMaxToDisplay =


&meetingPatterns.Subarray(1, Min(&cntMeetingPatterns,
&meetingSchedDisplayOptions.MaximumRowsToDisplay));

Local string &meetingPatternsJoined =


&meetingPatternsMaxToDisplay.Join(Char(13) | Char(10), "", "");

If &timeConflictExists Then;
&recDerived.GetField(@&fieldName).Value = ""; /* Insignificant
because invisible; set to empty string */
Else
&recDerived.GetField(@&fieldName).Value =
&meetingPatternsJoined;
End-If;

If &timeConflictExists Then;
If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then;
&recDerived.GetField(@&fieldName).Value = ""; /* Set to
empty string to override multiple meeting patterns */
&recDerived.GetField(@&fieldName).Visible = True;
&recDerived.GetField(@&fieldName).AddFFClass("psc_display-
inlineblock ps_box-label psc_halign-left psc_valign-baseline psa_value-none");
Else
&recDerived.GetField(@&fieldName).Visible = False;
End-If;
Else
If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then;
&recDerived.GetField(@&fieldName).Visible = True;
Else
&recDerived.GetField(@&fieldName).Visible =
All(&recDerived.GetField(@&fieldName).Value);
End-If;

If (&cntMeetingPatterns >
&meetingSchedDisplayOptions.MaximumRowsToDisplay) Then;
&recDerived.GetField(@&fieldName).AddFFClass("psc_margin-
bottomnone");

If &meetingSchedDisplayOptions.MaximumRowsToDisplay > 0
Then;
&recDerived.GetField(@&fieldName).AddFFClass("psa_sched-
with-link");
End-If;
End-If;

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then;


If &meetingSchedDisplayOptions.MaximumRowsToDisplay > 0
Then;
&recDerived.GetField(@&fieldName).AddFFClass("ps_box-
longedit psc_disabled psc_wrappable psc_has_value");
Else

&recDerived.GetField(@&fieldName).AddFFClass("psc_display-inlineblock ps_box-label
psc_halign-left psc_valign-top psa_value-none");
End-If;
End-If;
End-If;

&fieldName = "Field." | Field.SSR_MUL_MTG_LNK | "_" | &ctrIndex;

If &timeConflictExists Then;
&recDerived.GetField(@&fieldName).Label = MsgGetText(14770,
800, "Message not found."); /* Time Conflict */
&recDerived.GetField(@&fieldName).LabelImage =
Image.PS_WARN_S_FL;
&recDerived.GetField(@&fieldName).Visible = True;
Else
&recDerived.GetField(@&fieldName).Label =
&meetingSchedDisplayOptions.MaximumRowsReachedMessageToDisplay;
&recDerived.GetField(@&fieldName).LabelImage = "";
&recDerived.GetField(@&fieldName).Visible =
(&cntMeetingPatterns > &meetingSchedDisplayOptions.MaximumRowsToDisplay);
End-If;

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then;


&recDerived.GetField(@&fieldName).AddFFClass("psc_display-
inlineblock");

If Not &timeConflictExists Then;


If &meetingSchedDisplayOptions.MaximumRowsToDisplay > 0
Then;

&recDerived.GetField(@&fieldName).AddFFClass("psc_label_filler");
Else
&recDerived.GetField(@&fieldName).AddFFClass("psc_width-
67pct");
End-If;
End-If;
Else
If &timeConflictExists Then;
&recDerived.GetField(@&fieldName).AddFFClass("psc_display-
block");
Else
&recDerived.GetField(@&fieldName).AddFFClass("psc_display-
block");

If &meetingSchedDisplayOptions.MaximumRowsToDisplay > 0
Then;
&recDerived.GetField(@&fieldName).AddFFClass("psa_sched-
link");
End-If;
End-If;
End-If;

&fieldName = "Field." | Field.SSR_MTG_DT_LONG | "_" | &ctrIndex;


&recDerived.GetField(@&fieldName).Value =
&formatter.FormatDate(&dteStartDate) | Char(160) | "-" | Char(32) |
&formatter.FormatDate(&dteEndDate);
&recDerived.GetField(@&fieldName).Visible =
All(&recDerived.GetField(@&fieldName).Value);

&recDerived.GetField(Field.SSR_MTG_DT_LONG).Value =
&recDerived.GetField(@&fieldName).Value;
&recDerived.GetField(Field.SSR_MTG_DT_LONG).Visible =
All(&recDerived.GetField(@&fieldName).Value);

&fieldName = "Field." | Field.SSR_MTG_LOC_LONG | "_" | &ctrIndex;


&recDerived.GetField(@&fieldName).Value = "";

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then;


&recDerived.GetField(@&fieldName).Visible =
All(&recDerived.GetField(@&fieldName).Value);
Else
If All(&recDerived.GetField(@&fieldName).Value) Then;
&hasRoom = True;
End-If;

&recDerived.GetField(@&fieldName).Visible = True;
End-If;

&fieldName = "Field." | Field.SSR_TOPIC_LONG | "_" | &ctrIndex;

&recTopic = CreateRecord(Record.CRSE_TOPICS);

/* Lookup description of Class Topic */


&recTopic.CRSE_ID.Value = SSR_CRSE_INFO_V.CRSE_ID.Value;
&recTopic.CRS_TOPIC_ID.Value =
&recClassDetails.CRS_TOPIC_ID.Value;

If &recTopic.SelectByKeyEffDt(&recTermBeginDt) Then;
&recDerived.GetField(@&fieldName).Value =
&recTopic.DESCR.Value;
Else
&recDerived.GetField(@&fieldName).Value = "";
End-If;

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then;


&recDerived.GetField(@&fieldName).Visible =
All(&recDerived.GetField(@&fieldName).Value);
Else
If All(&recDerived.GetField(@&fieldName).Value) Then;
&hasTopic = True;
End-If;

&recDerived.GetField(@&fieldName).Visible = True;
End-If;

&fieldName = "Field." | Field.SSR_INSTR_LONG | "_" | &ctrIndex;


&recDerived.GetField(@&fieldName).Value = "";

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then;


&recDerived.GetField(@&fieldName).Visible =
All(&recDerived.GetField(@&fieldName).Value);
Else
&recDerived.GetField(@&fieldName).Visible = True;
End-If;
End-If;
Else /* No meeting patterns exist */
&fieldName = "Field." | Field.SSR_MTG_SCHED_L | "_" | &ctrIndex;

&recDerived.GetField(@&fieldName).Value = MsgGetText(14770, 872,


"Message not found."); /* No meeting schedules */
&recDerived.GetField(@&fieldName).Visible = True;
If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then;
&recDerived.GetField(@&fieldName).AddFFClass("ps_box-longedit
psc_disabled psc_wrappable psc_has_value");
End-If;

&fieldName = "Field." | Field.SSR_MUL_MTG_LNK | "_" | &ctrIndex;

&recDerived.GetField(@&fieldName).Visible = False;

&fieldName = "Field." | Field.SSR_MTG_DT_LONG | "_" | &ctrIndex;


&recDerived.GetField(@&fieldName).Value =
&formatter.FormatDate(&dteStartDate) | Char(160) | "-" | Char(32) |
&formatter.FormatDate(&dteEndDate);
&recDerived.GetField(@&fieldName).Visible =
All(&recDerived.GetField(@&fieldName).Value);

&recDerived.GetField(Field.SSR_MTG_DT_LONG).Value =
&recDerived.GetField(@&fieldName).Value;
&recDerived.GetField(Field.SSR_MTG_DT_LONG).Visible =
All(&recDerived.GetField(@&fieldName).Value);

&fieldName = "Field." | Field.SSR_MTG_LOC_LONG | "_" | &ctrIndex;


&recDerived.GetField(@&fieldName).Value = "";

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then;


&recDerived.GetField(@&fieldName).Visible =
All(&recDerived.GetField(@&fieldName).Value);
Else
If All(&recDerived.GetField(@&fieldName).Value) Then;
&hasRoom = True;
End-If;

&recDerived.GetField(@&fieldName).Visible = True;
End-If;

&fieldName = "Field." | Field.SSR_TOPIC_LONG | "_" | &ctrIndex;

&recTopic = CreateRecord(Record.CRSE_TOPICS);

/* Lookup description of Class Topic */


&recTopic.CRSE_ID.Value = SSR_CRSE_INFO_V.CRSE_ID.Value;
&recTopic.CRS_TOPIC_ID.Value = &recClassDetails.CRS_TOPIC_ID.Value;

If &recTopic.SelectByKeyEffDt(&recTermBeginDt) Then;
&recDerived.GetField(@&fieldName).Value = &recTopic.DESCR.Value;
Else
&recDerived.GetField(@&fieldName).Value = "";
End-If;

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then;


&recDerived.GetField(@&fieldName).Visible =
All(&recDerived.GetField(@&fieldName).Value);
Else
If All(&recDerived.GetField(@&fieldName).Value) Then;
&hasTopic = True;
End-If;

&recDerived.GetField(@&fieldName).Visible = True;
End-If;

&fieldName = "Field." | Field.SSR_INSTR_LONG | "_" | &ctrIndex;


&recDerived.GetField(@&fieldName).Value = "";

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then;


&recDerived.GetField(@&fieldName).Visible =
All(&recDerived.GetField(@&fieldName).Value);
Else
&recDerived.GetField(@&fieldName).Visible = True;
End-If;
End-If;

&fieldName = "Field." | Field.CLASS_SECTION | "_" | &ctrIndex;

&recDerived.GetField(@&fieldName).Value =
&recClassDetails.CLASS_SECTION.Value;

&fieldName = "Field." | Field.CLASS_NBR | "_" | &ctrIndex;

&recDerived.GetField(@&fieldName).Value =
&recClassDetails.CLASS_NBR.Value;

&fieldName = "Field." | Field.SSR_AUTO_ENRL_SW | "_" | &ctrIndex;

&recDerived.GetField(@&fieldName).Value =
&recClassDetails.SSR_AUTO_ENRL_SW.Value;

&fieldName = "Field." | Field.SSR_COMPONENT | "_" | &ctrIndex;

&recDerived.GetField(@&fieldName).Value =
&recClassDetails.SSR_COMPONENT.Value;

&fieldName = "Field." | Field.SSR_CMPNT_DESCR | "_" | &ctrIndex;

Local string &longTranslateValue =


&recClassDetails.SSR_COMPONENT.LongTranslateValue;

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then;


&recDerived.GetField(@&fieldName).Value = &longTranslateValue | " -
" | &recClassDetails.CLASS_NBR.GetShortLabel(Field.SSR_CLASS) | " " |
&recClassDetails.CLASS_NBR.Value;
Else
&recDerived.GetField(@&fieldName).Value = &longTranslateValue | " "
| &recClassDetails.CLASS_NBR.Value;
End-If;

&recDerived.GetField(@&fieldName).Label =
&recDerived.GetField(@&fieldName).Value;
&recDerived.GetField(@&fieldName).Visible =
All(&recDerived.GetField(@&fieldName).Value);

If All(&longTranslateValue) Then;
If &uniqueComponents.Find(&longTranslateValue) = 0 Then;
&uniqueComponents.Push(&longTranslateValue);
End-If;

If &uniqueOptionalComponents.Find(&longTranslateValue) = 0 And
&recClassDetails.OPTIONAL_SECTION.Value = "Y" Then;
&uniqueOptionalComponents.Push(&longTranslateValue);
End-If;
End-If;

/* Copy the grading basis of the graded component to the anchor row */
If All(&recClassDetails.GRADING_BASIS.Value) Then;
&rstClassDetails(&ctrAnchorRow).SSR_DER_CS_GRP.GRADING_BASIS.Value =
&recClassDetails.GRADING_BASIS.Value;

/* Only the graded component is assigned number of units by the


ClassOptions utility */
/* Removed All() because 0 is a valid value for UNITS_MINIMUM
If All(&recClassDetails.UNITS_MINIMUM.Value) And */
If &uniqueUnitsMin.Find(&recClassDetails.UNITS_MINIMUM.Value) = 0
Then;
&uniqueUnitsMin.Push(&recClassDetails.UNITS_MINIMUM.Value);
End-If;

/* Removed All() because 0 is a valid value for UNITS_MAXIMUM


If All(&recClassDetails.UNITS_MINIMUM.Value) And */
If &uniqueUnitsMax.Find(&recClassDetails.UNITS_MAXIMUM.Value) = 0
Then;
&uniqueUnitsMax.Push(&recClassDetails.UNITS_MAXIMUM.Value);
End-If;
End-If;

If &recClassDetails.GRADING_BASIS.Value <> "NON" Then;


&longTranslateValue =
&recClassDetails.GRADING_BASIS.LongTranslateValue;

If All(&longTranslateValue) And
&uniqueGradingBases.Find(&longTranslateValue) = 0 Then;
&uniqueGradingBases.Push(&longTranslateValue);
End-If;
End-If;

&fieldName = "Field." | Field.UNITS_RANGE | "_" | &ctrIndex;

&recDerived.GetField(@&fieldName).Value =
%This.calculateUnitsRange(&rstClassDetails(&ctrAnchorRow).SSR_DER_CS_GRP.UNITS_MINI
MUM.Value, &rstClassDetails(&ctrAnchorRow).SSR_DER_CS_GRP.UNITS_MAXIMUM.Value);

If &cntUniqueUnitsMinMax = 1 Then;
/* Display course-level UNITS_RANGE after processing all classes */
&recDerived.GetField(Field.UNITS_RANGE).Value = ""; /*
Insignificant; set to empty string */
&recDerived.GetField(Field.UNITS_RANGE).Visible = False;
&recDerived.GetField(@&fieldName).Visible = False;
Else
/* Display course-level UNITS_RANGE after processing all classes */
&recDerived.GetField(Field.UNITS_RANGE).Value =
&recDerived.GetField(@&fieldName).Value;
&recDerived.GetField(Field.UNITS_RANGE).Visible = True;
&recDerived.GetField(@&fieldName).Visible = False;
End-If;
&fieldName = "Field." | Field.SESSION_CODE | "_" | &ctrIndex;

&recDerived.GetField(@&fieldName).Value =
&recClassDetails.SESSION_CODE.Value;
&recDerived.GetField(@&fieldName).Visible =
All(&recDerived.GetField(@&fieldName).Value);

&fieldName = "Field." | Field.ENRL_STAT | "_" | &ctrIndex;

&recDerived.GetField(@&fieldName).Value =
&recClassDetails.ENRL_STAT.Value;
&recDerived.GetField(@&fieldName).Visible =
All(&recDerived.GetField(@&fieldName).Value);

&fieldName = "Field." | Field.SSR_DESCR50 | "_" | &ctrIndex;

Evaluate &recClassDetails.SSR_OPTION_STAT.Value
When "C"
Evaluate &recClassDetails.ENRL_STAT.Value
When "C"
&recDerived.GetField(@&fieldName).Visible = True;
&recDerived.GetField(@&fieldName).Value = MsgGetText(14770, 573,
"Message not found."); /* Closed */

Break;
When "O"
When "X"
&recDerived.GetField(@&fieldName).Visible = True;
&recDerived.GetField(@&fieldName).Value = MsgGetText(14770, 873,
"Message not found.", (&recClassDetails.ENRL_CAP.Value -
&recClassDetails.ENRL_TOT.Value), &recClassDetails.ENRL_CAP.Value); /* Open Seats
*/

Break;
When "W"
&recDerived.GetField(@&fieldName).Visible = True;
&recDerived.GetField(@&fieldName).Value = MsgGetText(14770, 874,
"Message not found.", (&recClassDetails.WAIT_CAP.Value -
&recClassDetails.WAIT_TOT.Value), &recClassDetails.WAIT_CAP.Value); /* Waitlist
Available Places */

Break;
End-Evaluate;

Break;
When "O"
Evaluate &recClassDetails.ENRL_STAT.Value
When "C"
/* Shouldn't happen */
Break;
When "O"
When "X"
&recDerived.GetField(@&fieldName).Visible = True;
&recDerived.GetField(@&fieldName).Label = MsgGetText(14770, 609,
"Message not found."); /* Seats */
&recDerived.GetField(@&fieldName).Value = MsgGetText(14770, 873,
"Message not found.", (&recClassDetails.ENRL_CAP.Value -
&recClassDetails.ENRL_TOT.Value), &recClassDetails.ENRL_CAP.Value); /* Open Seats
*/

Break;
When "W"
/* Shouldn't happen */
Break;
End-Evaluate;

Break;
When "W"
Evaluate &recClassDetails.ENRL_STAT.Value
When "C"
/* Shouldn't happen */
Break;
When "O"
When "X"
&recDerived.GetField(@&fieldName).Visible = True;
&recDerived.GetField(@&fieldName).Label = MsgGetText(14770, 609,
"Message not found."); /* Seats */
&recDerived.GetField(@&fieldName).Value = MsgGetText(14770, 873,
"Message not found.", (&recClassDetails.ENRL_CAP.Value -
&recClassDetails.ENRL_TOT.Value), &recClassDetails.ENRL_CAP.Value); /* Open Seats
*/

Break;
When "W"
&recDerived.GetField(@&fieldName).Visible = True;
&recDerived.GetField(@&fieldName).Label = MsgGetText(14770, 875,
"Message not found."); /* Waitlist Total/Capacity */
&recDerived.GetField(@&fieldName).Value = MsgGetText(14770, 874,
"Message not found.", (&recClassDetails.WAIT_CAP.Value -
&recClassDetails.WAIT_TOT.Value), &recClassDetails.WAIT_CAP.Value); /* Waitlist
Available Places */

Break;
End-Evaluate;

Break;
End-Evaluate;

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then;


&recDerived.DESCR40.Value =
&recClassDetails.SSR_OPTION_NBR.GetShortLabel(Field.SSR_OPTION_NBR) | " " |
&recClassDetails.SSR_OPTION_NBR.Value | " - " |
&recClassDetails.SSR_OPTION_STAT.LongTranslateValue;
&recDerived.SSR_OPTION_DESCR.Label = &recDerived.DESCR40.Value;

&fieldName = "Field.SSR_GROUP_BOX" | "_" | &ctrIndex;

&recDerived.GetField(@&fieldName).Visible = True;
Else
If &isAccessibilityMode Then;
&recDerived.SSR_OPTION_DESCR.Label =
&recDerived.SSR_OPTION_DESCR.GetShortLabel(Field.SSR_OPTION_DESCR) | " " |
&recClassDetails.SSR_OPTION_NBR.Value;
Else
&recDerived.SSR_OPTION_DESCR.Label =
&recClassDetails.SSR_OPTION_NBR.Value;
End-If;
End-If;
End-If;

&prevOptionNbr = &currOptionNbr;
End-For;

/* Wrap up hiding of repeated meeting dates for last grouping option */


If &uniqueMeetingDates.Len = 1 Then;
If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then;
&startIndex = 1;
Else
&startIndex = 2;
End-If;

For &indexCtr = &startIndex To &MaxClassComponentCount;


&fieldName = "Field." | Field.SSR_MTG_DT_LONG | "_" | &indexCtr;

/* &ctrAnchorRow here contains value for previous anchor row */

&rstClassDetails.GetRow(&ctrAnchorRow).SSR_CLSRCH_F_WK.GetField(@&fieldName).Visibl
e = False;
End-For;
Else

&rstClassDetails.GetRow(&ctrAnchorRow).SSR_CLSRCH_F_WK.GetField(Field.SSR_MTG_DT_LO
NG).Visible = False;
End-If;

For &ctrScheduledClass = &rowIndexesToDelete.Len To 1 Step - 1;


&rstClassDetails.DeleteRow(&rowIndexesToDelete [&ctrScheduledClass]);
End-For;

If &prevOptionNbr = 1 Then;
GetLevel0().GetRow(1).SSR_CLSRCH_F_WK.SSR_MSG_TEXT.Value =
MsgGetText(14770, 876, "Message not found.", &prevOptionNbr);
Else
GetLevel0().GetRow(1).SSR_CLSRCH_F_WK.SSR_MSG_TEXT.Value =
MsgGetText(14770, 877, "Message not found.", &prevOptionNbr);
End-If;

If %Request.BrowserDeviceFormFactor <> %FormFactor_Small Then;


Local Grid &grdCourseInfo = GetGrid(Page.SSR_CRSE_INFO_FL,
Record.SSR_CLS_DTLS_VW);

/* Show Room (or Topic or Instructor) for non-SFF if at least one value is
present */
&grdCourseInfo.GetColumn("ROOM").Visible = &hasRoom;
&grdCourseInfo.GetColumn("TOPIC").Visible = &hasTopic;
&grdCourseInfo.GetColumn("INSTRUCTOR").Visible = &hasInstructor;
End-If;
Else
&rstClassDetails.HideAllRows();

GetLevel0().GetRow(1).SSR_CLSRCH_F_WK.SSR_MSG_TEXT.Value = MsgGetText(14770,
878, "Message not found."); /* No scheduled classes */

Local Rowset &rstUniqueComponents = CreateRowset(Record.CRSE_COMPONENT);

Local integer &cntUniqueComponents = &rstUniqueComponents.Fill("WHERE


CRSE_ID=:1 AND %EffDtCheck(CRSE_COMPONENT, FILL, :2)",
SSR_CRSE_INFO_V.CRSE_ID.Value, &recTermBeginDt);
Local integer &ctrUniqueComponent;

For &ctrUniqueComponent = 1 To &cntUniqueComponents;


&longTranslateValue =
&rstUniqueComponents(&ctrUniqueComponent).CRSE_COMPONENT.SSR_COMPONENT.LongTranslat
eValue;

If All(&longTranslateValue) And
&uniqueComponents.Find(&longTranslateValue) = 0 Then;
&uniqueComponents.Push(&longTranslateValue);
End-If;
End-For;

Local Rowset &rstUniqueGradingBases = CreateRowset(Record.CRSE_CATALOG);

Local integer &cntUniqueGradingBases = &rstUniqueGradingBases.Fill("WHERE


CRSE_ID=:1 AND %EffDtCheck(CRSE_CATALOG, FILL, :2) AND EFF_STATUS=:3",
SSR_CRSE_INFO_V.CRSE_ID.Value, &recTermBeginDt, "A");
Local integer &ctrUniqueGradingBases;

For &ctrUniqueGradingBases = 1 To &cntUniqueGradingBases;


If
&rstUniqueGradingBases(&ctrUniqueGradingBases).CRSE_CATALOG.GRADING_BASIS.Value <>
"NON" Then;
&longTranslateValue =
&rstUniqueGradingBases(&ctrUniqueGradingBases).CRSE_CATALOG.GRADING_BASIS.LongTrans
lateValue;

If All(&longTranslateValue) And
&uniqueGradingBases.Find(&longTranslateValue) = 0 Then;
&uniqueGradingBases.Push(&longTranslateValue);
End-If;
End-If;
End-For;

&uniqueUnitsMin.Push(SSR_CRSE_INFO_V.UNITS_MINIMUM.Value);
&uniqueUnitsMax.Push(SSR_CRSE_INFO_V.UNITS_MAXIMUM.Value);
End-If;

/* Populate course information with accumulated unique values of course/class


components and grading bases */
GetLevel0().GetRow(1).SSR_CLSRCH_F_WK.SSR_COMPONENT_LONG.Value =
&uniqueComponents.Join(", ", "", "");
GetLevel0().GetRow(1).SSR_CLSRCH_F_WK.SSR_GRAD_BASIS_LNG.Value =
&uniqueGradingBases.Join(", ", "", "");

/* Populate instructional message with listing of all optional components */


If &uniqueOptionalComponents.Len = 0 Then;
GetLevel0().GetRow(1).SSR_CLSRCH_F_WK.SSR_CLSRCH_TEXT.Visible = False;
Else
Local integer &messageNbr;
Local string &optionalComponents;
Local string &lastOptionalComponent;

If &uniqueOptionalComponents.Len = 1 Then;
&messageNbr = 852;
&lastOptionalComponent = "";
Else
&messageNbr = 851;
&lastOptionalComponent = &uniqueOptionalComponents.Pop();
End-If;

&optionalComponents = &uniqueOptionalComponents.Join(", ", "", "");

GetLevel0().GetRow(1).SSR_CLSRCH_F_WK.SSR_CLSRCH_TEXT.Visible = True;
GetLevel0().GetRow(1).SSR_CLSRCH_F_WK.SSR_CLSRCH_TEXT.Value =
MsgGetExplainText(14770, &messageNbr, "Message not found", &optionalComponents,
&lastOptionalComponent);
End-If;

If &uniqueUnitsMin.Len = 0 Then;
&uniqueUnitsMin.Push(0);
End-If;

If &uniqueUnitsMax.Len = 0 Then;
&uniqueUnitsMax.Push(0);
End-If;

/* Populate course information with accumulated unique min/max values of units


*/
&uniqueUnitsMin.Sort("A");
&uniqueUnitsMax.Sort("D");

GetLevel0().GetRow(1).SSR_CLSRCH_F_WK.UNITS_RANGE.Value =
%This.calculateUnitsRange(&uniqueUnitsMin [1], &uniqueUnitsMax [1]);
GetLevel0().GetRow(1).SSR_CLSRCH_F_WK.UNITS_RANGE.Visible = True;

Local string &crseDescrLong = LTrim(RTrim(SSR_CRSE_INFO_V.DESCRLONG.Value));

SSR_CRSE_INFO_V.DESCRLONG.Visible = All(&crseDescrLong);

end-method;

method showClassInfoPopup
/+ &index as Integer, +/
/+ &defaultTab as String +/

If None(&classInfo) Then;
&classInfo = create SSR_MANAGE_CLASSES:UTIL:ClassInformation();
End-If;

&classInfo.DefaultTab = &defaultTab;

Local Record &recClassInfo = GetRow().GetRecord(Record.SSR_CLSRCH_F_WK);


Local Record &recGroupInfo = GetRow().GetRecord(Record.SSR_DER_CS_GRP);

&classInfo.recEmplId = %EmployeeId;
&classInfo.recInst = SSR_CRSE_INFO_V.INSTITUTION.Value;
&classInfo.recCar = SSR_CRSE_INFO_V.ACAD_CAREER.Value; /* FOR CHECKING */
&classInfo.recTerm = SSR_CRSE_INFO_V.STRM.Value;
&classInfo.recTermBeginDt = &recTermBeginDt;
&classInfo.subject = SSR_CRSE_INFO_V.SUBJECT.Value;
&classInfo.catalog_nbr = SSR_CRSE_INFO_V.CATALOG_NBR.Value;

&classInfo.associated_class = &recGroupInfo.ASSOCIATED_CLASS.Value;
&classInfo.sCourseTitle = SSR_CRSE_INFO_V.COURSE_TITLE_LONG.Value;

&classInfo.crse_id = SSR_CRSE_INFO_V.CRSE_ID.Value;
&classInfo.crse_offer_nbr = SSR_CRSE_INFO_V.CRSE_OFFER_NBR.Value;

&classInfo.session_code = &recClassInfo.GetField(@("Field." | Field.SESSION_CODE


| "_" | &index)).Value;
&classInfo.class_section = &recClassInfo.GetField(@("Field." |
Field.CLASS_SECTION | "_" | &index)).Value;

&classInfo.class_nbr = &recClassInfo.GetField(@("Field." | Field.CLASS_NBR | "_"


| &index)).Value;
&classInfo.ssr_component = &recClassInfo.GetField(@("Field." |
Field.SSR_COMPONENT | "_" | &index)).Value;

&classInfo.sgrading_basis = &recGroupInfo.GetField(@("Field." |
Field.GRADING_BASIS)).Value;
&classInfo.sunt_taken = &recClassInfo.GetField(@("Field." | Field.UNITS_RANGE |
"_" | &index)).Value;

&classInfo.Instantiate();

end-method;

method allowDrillDownToEnrollmentAG
/+ &acadCareer as String, +/
/+ &institution as String, +/
/+ &term as String, +/
/+ &sessionCode as String, +/
/+ &classNbr as Number +/
/+ Returns Boolean +/

Local SSR_MANAGE_CLASSES:UTIL:CheckValidUserAction &validUserAction = create


SSR_MANAGE_CLASSES:UTIL:CheckValidUserAction();

Local array of string &checkActions = CreateArrayRept("", 0);

&checkActions.Push("Y"); /* Check if Enrollment to Classes is allowed */


&checkActions.Push("N"); /* Check if Waitlist to Classes is allowed */
&checkActions.Push("N"); /* Check if Access to Classes in Shopping Cart is
allowed */
&checkActions.Push("N"); /* Check if Validation of Classes in Shopping Cart is
allowed */

Local array of string &validActions = CreateArrayRept("", 0);


Local array of string &sessions = CreateArray(&sessionCode);

&validActions = &validUserAction.ValidUserAction(&checkActions, %OperatorId,


%EmployeeId, &acadCareer, &institution, &term, &sessions, &classNbr);

/* If Enrollment to Classes is allowed */


If &validActions [1] = "Y" Then;
Return True;
Else
Return False;
End-If;

end-method;
method getLOVDescription
/+ &attribSeq as Number, +/
/+ &attribName as String, +/
/+ &lovValue as String +/
/+ Returns String +/

Local string &lovDescr = &lovValue;

Local Rowset &rstCAFAttribs = CreateRowset(Record.SCC_CAF_ATTRIBS);

Local integer &cntAttribNames = &rstCAFAttribs.Fill("WHERE SCC_CAF_ATTRIB_NM = :


1", &attribName);

If &cntAttribNames = 1 Then;
Local string &attribType =
&rstCAFAttribs(&cntAttribNames).SCC_CAF_ATTRIBS.SCC_CAF_ATTR_TYPE.Value;
Local string &attribLOVUId =
&rstCAFAttribs(&cntAttribNames).SCC_CAF_ATTRIBS.SCC_LOV_UID.Value;

If &attribType = "LO" Then;


Local integer &cntTranslateValues = 0;

SQLExec("SELECT COUNT(*) FROM %Table(:1) A WHERE FIELDNAME=:2 AND


%EffDtCheck(:1 A1, A, %CurrentDateIn) AND EFF_STATUS=:3", Record.PSXLATITEM,
&attribName, "A", &cntTranslateValues);

Local Rowset &rstLOVHdr = CreateRowset(Record.SCC_SL_LOV_HDR);

Local integer &cntLOVValues = 0;


Local integer &ctrLOVValue;

If &cntTranslateValues > 0 Then;


&cntLOVValues = &rstLOVHdr.Fill("WHERE SCC_LOV_UID=:1 AND
PROMPTFIELD=:2", &attribLOVUId, &attribName);
Else
&cntLOVValues = &rstLOVHdr.Fill("WHERE SCC_LOV_UID=:1", &attribLOVUId);
End-If;

For &ctrLOVValue = 1 To &cntLOVValues;


Local string &lovType =
&rstLOVHdr(&ctrLOVValue).SCC_SL_LOV_HDR.SCC_LOV_TYPE.Value;
Local string &lovSccEditTable =
&rstLOVHdr(&ctrLOVValue).SCC_SL_LOV_HDR.SCC_EDITTABLE.Value;
Local string &lovPromptField =
&rstLOVHdr(&ctrLOVValue).SCC_SL_LOV_HDR.PROMPTFIELD.Value;
Local string &lovSccPromptField =
&rstLOVHdr(&ctrLOVValue).SCC_SL_LOV_HDR.SCC_PROMPTFIELD.Value;
Local string &lovSccFieldNameDescr =
&rstLOVHdr(&ctrLOVValue).SCC_SL_LOV_HDR.SCC_FIELDNAME_DESC.Value;

Evaluate &lovType
When "01"
&lovDescr = %This.populateFromAdhoc(Record.SCC_LOV_ADHOC,
&attribLOVUId, &lovValue);
When "02"
&lovDescr = %This.populateFromPromptTable(&lovSccEditTable,
&lovSccPromptField, &lovSccFieldNameDescr, &lovValue);
When "03"
&lovDescr = %This.populateFromTransTable(&lovSccEditTable,
&lovPromptField, &lovSccPromptField, &lovSccFieldNameDescr, &lovValue);
End-Evaluate;
End-For;
End-If;
End-If;

Return &lovDescr;
end-method;

method populateFromAdhoc
/+ &adhocRecord as String, +/
/+ &adhocLOVUID as String, +/
/+ &lovValue as String +/
/+ Returns String +/

Local string &lovDescr = &lovValue;

SQLExec("SELECT DESCR100 FROM %Table(:1) WHERE SCC_LOV_UID=:2 AND


SCC_SL_LOV_VALUE=:3", @("Record." | &adhocRecord), &adhocLOVUID, &lovValue,
&lovDescr);

Return &lovDescr;

end-method;

method populateFromPromptTable
/+ &lovSccEditTable as String, +/
/+ &lovSccPromptField as String, +/
/+ &lovSccFieldNameDescr as String, +/
/+ &lovValue as String +/
/+ Returns String +/

Local string &lovDescr = &lovValue;

SQLExec("SELECT " | @("Field." | &lovSccFieldNameDescr) | " FROM %Table(:1)


WHERE " | @("Field." | &lovSccPromptField) | "=:2", @("Record." |
&lovSccEditTable), &lovValue, &lovDescr);

Return &lovDescr;

end-method;

method populateFromTransTable
/+ &lovSccEditTable as String, +/
/+ &lovPromptField as String, +/
/+ &lovSccPromptField as String, +/
/+ &lovSccFieldNameDescr as String, +/
/+ &lovValue as String +/
/+ Returns String +/

Local string &lovDescr = &lovValue;

SQLExec("SELECT " | @("Field." | &lovSccFieldNameDescr) | " FROM %Table(:1) A


WHERE FIELDNAME=:2 AND " | @("Field." | &lovSccPromptField) | "=:3 AND
%EffDtCheck(:1 A1, A, %CurrentDateIn) AND EFF_STATUS=:4", @("Record." |
&lovSccEditTable), &lovPromptField, &lovValue, "A", &lovDescr);

Return &lovDescr;

end-method;

method isAllowedToEnroll
/+ &p_sAcademicCareer as String, +/
/+ &p_sCourseCareer as String, +/
/+ &p_sInstitution as String, +/
/+ &p_sTerm as String, +/
/+ &p_sSessionCode as String, +/
/+ &p_nClassNbr as Number +/
/+ Returns Boolean +/

Local SSR_MANAGE_CLASSES:UTIL:ClassOptions &oClassOptions = create


SSR_MANAGE_CLASSES:UTIL:ClassOptions();
Local integer &instance_IsAllowedToEnroll = 0;

If None(&p_sAcademicCareer) Then

Local Rowset &rs_StdntCarTerm;


Local integer &count_AcadCareer, &i, &j;

/* Get Student's academic careers */


&rs_StdntCarTerm = CreateRowset(Record.STDNT_CAR_TERM);
&rs_StdntCarTerm.Flush();
&count_AcadCareer = &rs_StdntCarTerm.Fill("WHERE EMPLID = :1 AND INSTITUTION
= :2 AND STRM = :3 AND ELIG_TO_ENROLL = 'Y'", %EmployeeId, &p_sInstitution,
&p_sTerm);

If &count_AcadCareer > 0 Then

For &i = 1 To &count_AcadCareer

Local string &acad_career =


&rs_StdntCarTerm(&i).STDNT_CAR_TERM.ACAD_CAREER.Value;

/* Check if the Course Career is allowed to be enrolled on any of the


Student's Academic Careers */
If &oClassOptions.IsCourseCareerAllowedToEnroll(&acad_career,
&p_sCourseCareer, &p_sInstitution, &p_sTerm) Then
&instance_IsAllowedToEnroll = &instance_IsAllowedToEnroll + 1;
End-If;

/* Check for valid user action */


If %This.allowDrillDownToEnrollmentAG(&acad_career, &p_sInstitution,
&p_sTerm, &p_sSessionCode, &p_nClassNbr) Then
&instance_IsAllowedToEnroll = &instance_IsAllowedToEnroll + 1;
End-If;

If &instance_IsAllowedToEnroll > 0 Then

If &oManageClassesGlobalVars.arr_AcademicCareers.Len > 0 Then


For &j = 1 To &oManageClassesGlobalVars.arr_AcademicCareers.Len
If &oManageClassesGlobalVars.arr_AcademicCareers [&j] =
&acad_career Then
Break;
Else
&oManageClassesGlobalVars.count_AcademicCareers =
&oManageClassesGlobalVars.count_AcademicCareers + 1;

&oManageClassesGlobalVars.arr_AcademicCareers.Push(&acad_career);
End-If;
End-For;
Else
&oManageClassesGlobalVars.arr_AcademicCareers.Push(&acad_career);
End-If;
End-If;

End-For;

End-If;

Else

/* Check if the Course Career is allowed to be enrolled on Student's selected


Academic Career */
If &oClassOptions.IsCourseCareerAllowedToEnroll(&p_sAcademicCareer,
&p_sCourseCareer, &p_sInstitution, &p_sTerm) Then
&instance_IsAllowedToEnroll = &instance_IsAllowedToEnroll + 1;
End-If;

/* Check for valid user action */


If %This.allowDrillDownToEnrollmentAG(&p_sAcademicCareer, &p_sInstitution,
&p_sTerm, &p_sSessionCode, &p_nClassNbr) Then
&instance_IsAllowedToEnroll = &instance_IsAllowedToEnroll + 1;
End-If;

End-If;

If &instance_IsAllowedToEnroll > 0 Then


Return True;
Else
Return False;
End-If;

end-method;

[SSR_MANAGE_CLASSES.COMPONENTS.SSR_CS_IDX_FULL_FL.OnExecute]
import SSR_MANAGE_CLASSES:SEARCH:RefreshListOfValues;

class SSR_CS_IDX_FULL_FL
method BuildCAFLOV();
method IndexedByTerm();
method Postbuild();

method SSR_DER_CS_IDX__SSR_PB_RUN__FieldChange();

private

instance SSR_MANAGE_CLASSES:SEARCH:RefreshListOfValues &RefreshLOV;


instance Rowset &rsLevel0;
instance Rowset &rsWork1, &rsWork2;
instance Record &recWork1;

instance integer &i;

end-class;

REM "********** BuildCAFLOV **********";


method BuildCAFLOV

&RefreshLOV = create SSR_MANAGE_CLASSES:SEARCH:RefreshListOfValues();

Local Rowset &rsCAFHdr = CreateRowset(Record.SSR_FCT_CAFHDR);


Local Rowset &rsCAFDtl;
Local number &iHdr, &iDtl;
Local date &dMinDt;

&rsCAFHdr.Fill();

REM AD i2-s;
<*
If &rsCAFHdr.ActiveRowCount > 1 Then
REM "Remove date entry if no longer being used";
For &iHdr = &rsCAFHdr.ActiveRowCount To 1 Step - 1
If &rsCAFHdr(&iHdr).SSR_FCT_CAFHDR.EFFDT.Value < %Date Then
If None(&dMinDt) Then
SQLExec("SELECT MIN(%DateOut(A.TERM_BEGIN_DT)) FROM PS_TERM_TBL A,
PS_TERM_VAL_TBL B WHERE A.STRM = B.STRM AND B.SSR_SSCLS_STD_BDT <= %CurrentDateIn
AND B.SSR_SSCLS_STD_EDT >= %CurrentDateIn", &dMinDt);
End-If;
If &rsCAFHdr(&iHdr).SSR_FCT_CAFHDR.EFFDT.Value < &dMinDt Then
&rsCAFHdr.DeleteRow(&iHdr);
End-If;
End-If;
End-For;
REM "END - Remove date entry if no longer being used";
End-If;

REM "Delete all LOVs for based on effective date";


For &iHdr = 1 To &rsCAFHdr.ActiveRowCount
SQLExec("DELETE FROM PS_SSR_CS_CAF_LOV WHERE EFFDT = %DateIn(:1)",
&rsCAFHdr(&iHdr).SSR_FCT_CAFHDR.EFFDT.Value);
End-For;

REM "Generate all LOVs for based on effective date";


For &iHdr = 1 To &rsCAFHdr.ActiveRowCount
&rsCAFDtl = CreateRowset(Record.SSR_FCT_CAF_ATT);
&rsCAFDtl.Fill("WHERE EFFDT = %DateIn(:1)",
&rsCAFHdr(&iHdr).SSR_FCT_CAFHDR.EFFDT.Value);

For &iDtl = 1 To &rsCAFDtl.ActiveRowCount


Local Record &recCAFAttrb = CreateRecord(Record.SCC_CAF_ATTRIBS);
&recCAFAttrb.SCC_CAF_ATTRIB_NM.Value =
&rsCAFDtl(&iDtl).SSR_FCT_CAF_ATT.SCC_CAF_ATTRIB_NM.Value;
If &recCAFAttrb.SelectByKey() Then
If &recCAFAttrb.SCC_CAF_ATTR_TYPE.Value = "LO" Then
&RefreshLOV.RefreshLOV2(&rsCAFDtl(&iDtl).SSR_FCT_CAF_ATT.SCC_CAF_ATTR_SEQ.Value,
&rsCAFDtl(&iDtl).SSR_FCT_CAF_ATT.SCC_CAF_ATTRIB_NM.Value,
&rsCAFDtl(&iDtl).SSR_FCT_CAF_ATT.EFFDT.Value);
End-If;
End-If;
End-For;
End-For;
REM AD i2-e; *>

REM AD i2-s;
If &rsCAFHdr.ActiveRowCount > 1 Then
REM "Find date to eliminate entries no longer being used";
SQLExec("SELECT MIN(%DateOut(A.TERM_BEGIN_DT)) FROM PS_TERM_TBL A,
PS_TERM_VAL_TBL B WHERE A.STRM = B.STRM AND B.SSR_SSCLS_STD_BDT <= %CurrentDateIn
AND B.SSR_SSCLS_STD_EDT >= %CurrentDateIn", &dMinDt);
End-If;

REM "Delete all LOVs";


SQLExec("DELETE FROM PS_SSR_CS_CAF_LOV");
REM AD i2-e;

REM "Generate all LOVs based on effective date";


For &iHdr = 1 To &rsCAFHdr.ActiveRowCount
If (&rsCAFHdr(&iHdr).SSR_FCT_CAFHDR.EFFDT.Value >= %Date) Or
(None(&dMinDt)) Or
(&rsCAFHdr(&iHdr).SSR_FCT_CAFHDR.EFFDT.Value >= &dMinDt) Then

&rsCAFDtl = CreateRowset(Record.SSR_FCT_CAF_ATT);

&rsCAFDtl.Fill("WHERE EFFDT = %DateIn(:1)",


&rsCAFHdr(&iHdr).SSR_FCT_CAFHDR.EFFDT.Value);

For &iDtl = 1 To &rsCAFDtl.ActiveRowCount


Local Record &recCAFAttrb = CreateRecord(Record.SCC_CAF_ATTRIBS);
&recCAFAttrb.SCC_CAF_ATTRIB_NM.Value =
&rsCAFDtl(&iDtl).SSR_FCT_CAF_ATT.SCC_CAF_ATTRIB_NM.Value;
If &recCAFAttrb.SelectByKey() Then
If &recCAFAttrb.SCC_CAF_ATTR_TYPE.Value = "LO" Then

&RefreshLOV.RefreshLOV2(&rsCAFDtl(&iDtl).SSR_FCT_CAF_ATT.SCC_CAF_ATTR_SEQ.Value,
&rsCAFDtl(&iDtl).SSR_FCT_CAF_ATT.SCC_CAF_ATTRIB_NM.Value,
&rsCAFDtl(&iDtl).SSR_FCT_CAF_ATT.EFFDT.Value);
End-If;
End-If;
End-For;

End-If;

End-For;

end-method;

REM "********** END - BuildCAFLOV **********";

REM "********** IndexedByTerm **********";


method IndexedByTerm
&rsWork1 = GetRowset(Scroll.SSR_CSIDX_TRMVW);
&rsWork1.Flush();
&rsWork1.Select(Record.SSR_CSIDX_TRMVW);

&recWork1 = CreateRecord(Record.SSR_CSIDX_TR1VW);

SSR_DER_CS_IDX.SSR_COUNTER = 0;
Local integer &L_Ctr;
For &i = &rsWork1.ActiveRowCount To 1 Step - 1
&recWork1.STRM.Value = &rsWork1(&i).SSR_CSIDX_TRMVW.STRM.Value;
If &recWork1.SelectByKey() Then
&rsWork1(&i).SSR_DER1_CS_IDX.SSR_LAST_UPD_DTTM.Value =
&recWork1.SSR_LAST_UPD_DTTM.Value;
SQLExec("SELECT COUNT(*) FROM PS_SSR_CSIDX_DTLVW WHERE STRM = :1",
&rsWork1(&i).SSR_CSIDX_TRMVW.STRM.Value, &L_Ctr);
&rsWork1(&i).SSR_DER1_CS_IDX.SSR_COUNTER.Value = &L_Ctr;
SSR_DER_CS_IDX.SSR_COUNTER = SSR_DER_CS_IDX.SSR_COUNTER + &L_Ctr;
End-If;
End-For;

end-method;

REM "********** END - IndexedByTerm **********";

REM "********** Postbuild **********";


method Postbuild

SSR_DER_CS_IDX.SSR_CS_IDX_SFF = "Y";
SSR_DER_CS_IDX.SSR_CS_IDX_NSFF = "Y";

SSR_DER_CS_IDX.PTSF_SBO_NAME = "SSR_CLASS_SEARCH_SFF";
SSR_DERB_CS_IDX.PTSF_SBO_NAME = "SSR_CLASS_SEARCH_LFF";

&recWork1 = CreateRecord(Record.PTSF_SCHED_STAT);
&recWork1.PTSF_SBO_NAME.Value = SSR_DER_CS_IDX.PTSF_SBO_NAME;
&recWork1.PTSF_SRCH_ENG_INS.Value = "PTSF_DEFAULT";
If &recWork1.SelectByKey() Then
SSR_DER_CS_IDX.RUNDTTM = &recWork1.PTSF_NEXTEXEC_DTTM.Value;
SSR_DER_CS_IDX.OPRID = &recWork1.OPRID.Value;
SSR_DER_CS_IDX.PTSF_RECRAWL_MODE = &recWork1.PTSF_RECRAWL_MODE.Value;
End-If;

&recWork1.PTSF_SBO_NAME.Value = SSR_DERB_CS_IDX.PTSF_SBO_NAME;
&recWork1.PTSF_SRCH_ENG_INS.Value = "PTSF_DEFAULT";
If &recWork1.SelectByKey() Then
SSR_DERB_CS_IDX.RUNDTTM = &recWork1.PTSF_NEXTEXEC_DTTM.Value;
SSR_DERB_CS_IDX.OPRID = &recWork1.OPRID.Value;
SSR_DERB_CS_IDX.PTSF_RECRAWL_MODE = &recWork1.PTSF_RECRAWL_MODE.Value;
End-If;

%This.IndexedByTerm();

end-method;

REM "********** END - Postbuild **********";


REM "********** SSR_DER_CS_IDX__SSR_PB_RUN__FieldChange **********";
method SSR_DER_CS_IDX__SSR_PB_RUN__FieldChange

DoSaveNow();

REM "Delete all "DELETE" Rows from SSR_CLS_TBL_ES";


SQLExec("DELETE FROM PS_SSR_CLS_TBL_ES WHERE AUDIT_ACTN = :1", "D");

%This.BuildCAFLOV();

Local ProcessRequest &RQST1, &RQST2;


Local number &iProcessInstance;
Local number &iProcessStatus;

Local string &sUrl;

Local Record &recRunControl = CreateRecord(Record.PTSF_SCHEDULE);

Local boolean &bInsertRun;

&recRunControl.OPRID.Value = %OperatorId;
&recRunControl.PTSF_SRCH_ENG_INS.Value = "PTSF_DEFAULT";

&recRunControl.PTSF_SBO_NAME.Value = "SSR_CLASS_SEARCH_SFF";
&recRunControl.RUN_CNTL_ID.Value = "SSR_CLASS_SEARCH_SFF_FULL";
If &recRunControl.SelectByKey() Then
&bInsertRun = False;
Else
&bInsertRun = True;
End-If;

&recRunControl.PTSF_RECRAWL_MODE.Value = "Y";
&recRunControl.PTSF_LANGUAGE.Value = SSR_DER_CS_IDX.PTSF_LANGUAGE.Value;
&recRunControl.PTSF_RESUME_SCHED.Value = "S";

If &bInsertRun Then
REM AG Need to set the values to the key fields again;
&recRunControl.OPRID.Value = %OperatorId;
&recRunControl.PTSF_SRCH_ENG_INS.Value = "PTSF_DEFAULT";
&recRunControl.PTSF_SBO_NAME.Value = "SSR_CLASS_SEARCH_SFF";
&recRunControl.RUN_CNTL_ID.Value = "SSR_CLASS_SEARCH_SFF_FULL";

&recRunControl.Insert();
Else
&recRunControl.Update();
End-If;

&RQST1 = CreateProcessRequest();
&RQST1.ProcessType = "Application Engine";
&RQST1.ProcessName = "PTSF_GENFEED";

&RQST1.RunControlID = "SSR_CLASS_SEARCH_SFF_FULL";

&RQST1.RunLocation = "SERVER";

&RQST1.OutDestType = "6";
&RQST1.OutDestFormat = "14";

&RQST1.RunDateTime = %Datetime;
&RQST1.TimeZone = %ServerTimeZone;

&RQST1.Schedule();
&iProcessStatus = &RQST1.Status;
If &iProcessStatus = 0 Then
&iProcessInstance = &RQST1.ProcessInstance;
End-If;

&recRunControl.PTSF_SBO_NAME.Value = "SSR_CLASS_SEARCH_LFF";
&recRunControl.RUN_CNTL_ID.Value = "SSR_CLASS_SEARCH_LFF_FULL";
&recRunControl.PTSF_SRCH_ENG_INS.Value = "PTSF_DEFAULT";
If &recRunControl.SelectByKey() Then
&bInsertRun = False;
Else
&bInsertRun = True;
End-If;

&recRunControl.PTSF_RECRAWL_MODE.Value = "Y";
&recRunControl.PTSF_LANGUAGE.Value = SSR_DER_CS_IDX.PTSF_LANGUAGE.Value;
&recRunControl.PTSF_RESUME_SCHED.Value = "S";

If &bInsertRun Then
REM AG Need to set the values to the key fields again;
&recRunControl.OPRID.Value = %OperatorId;
&recRunControl.PTSF_SBO_NAME.Value = "SSR_CLASS_SEARCH_LFF";
&recRunControl.RUN_CNTL_ID.Value = "SSR_CLASS_SEARCH_LFF_FULL";
&recRunControl.PTSF_SRCH_ENG_INS.Value = "PTSF_DEFAULT";

&recRunControl.Insert();
Else
&recRunControl.Update();
End-If;

&RQST2 = CreateProcessRequest();
&RQST2.ProcessType = "Application Engine";
&RQST2.ProcessName = "PTSF_GENFEED";

&RQST2.RunControlID = "SSR_CLASS_SEARCH_LFF_FULL";

&RQST2.RunLocation = "SERVER";

&RQST2.OutDestType = "6";
&RQST2.OutDestFormat = "14";

&RQST2.RunDateTime = %Datetime;
&RQST2.TimeZone = %ServerTimeZone;

&RQST2.Schedule();
&iProcessStatus = &RQST2.Status;
If &iProcessStatus = 0 Then
&iProcessInstance = &RQST2.ProcessInstance;
End-If;

REM AD i2 x MessageBox(0, " ", 0, - 1, MsgGet(14770, 116, "Full Build Index For
Small Form Factor & Non-Small Form Factors Submitted"));
REM AD i2-s;
MessageBox(0, " ", 0, - 1, MsgGet(14770, 888, "No Message Found (14770, 118)",
&RQST1.ProcessName, &RQST1.RunControlID, &RQST2.RunControlID));
REM AD i2-e;

SSR_DER_CS_IDX.PTSF_LANGUAGE.Enabled = False;
SSR_DER_CS_IDX.SSR_PB_RUN.Enabled = False;

end-method;

REM "********** END - SSR_DER_CS_IDX__SSR_PB_RUN__FieldChange **********";

[SSR_MANAGE_CLASSES.COMPONENTS.SSR_DROP_CLASS_FL.OnExecute]
import SCC_FLUID:MODEL:Component;
import SCC_FLUID:UTIL:CSSClass;
import SCC_FLUID:MODEL:Panel;
import SSR_MANAGE_CLASSES:UTIL:Installation;
import SCC_FLUID:UTIL:Popup;
import SSR_CLASS:Components:Utility:SSR_CLSRCH_CONFIG_Util;
import SSR_STUDENT_RECORDS:SR_StudentData:StudentTerms;
import SSR_MANAGE_CLASSES:UTIL:DropClasses;
import SSR_MANAGE_CLASSES:UTIL:Confirmation;
import SSR_MANAGE_CLASSES:UTIL:GlobalVariables;
import SSR_MANAGE_CLASSES:UTIL:Navigation;

class SSR_DROP_CLASS_FL extends SCC_FLUID:MODEL:Component


method SSR_DROP_CLASS_FL(&bIsMDComponent As boolean);
method Postbuild();
method SSR_DROP_TERM_FL_Activate();
method SSR_DROP_CONFRM_FL_Activate();
method DERIVED_SSS_SCT_SSR_TERM_LINK_FieldChange();
method DERIVED_SSR_FL__SSR_RETURN_PB_FL_FieldChange();
protected
property SCC_FLUID:MODEL:Panel Panel;
private
method TransferToDropClassesAG();
method GetEnrollmentMessages(&p_EnrlRequestId As string, &p_EnrlReqDetlSeq As
number) Returns string;
instance boolean &bIsMD;
instance string &recEmplId, &recTerm, &recCar, &recInst, &recPage, &gotopage,
&recChangeTerm;
instance date &recTermBeginDt;
instance boolean &bool_classoptionsflag;
instance string &setId;
instance boolean &bool_recMultiInst;
instance string &sConfirmationMessageDetail;
instance string &sEnrlRequestId, &sEnrlReqDetlStat;
instance number &nEnrlReqDetlSeq, &nEnrlMessageSeq;
instance SSR_MANAGE_CLASSES:UTIL:DropClasses &oDropClasses;
end-class;

Global SSR_MANAGE_CLASSES:UTIL:GlobalVariables &oManageClassesGlobalVars;

Global Rowset &rs_SelectedClassesToDrop;


Global string &sDropClasses_EnrlRequestId;
Global string &sDropClasses_StudentId, &sDropClasses_Institution,
&sDropClasses_AcademicCareer, &sDropClasses_Term;
Global date &sDropClasses_TermBeginDt;
Global boolean &LoadConfirmationMessageOnce;

method SSR_DROP_CLASS_FL
/+ &bIsMDComponent as Boolean +/
%Super = create SCC_FLUID:MODEL:Component();
&bIsMD = &bIsMDComponent;
end-method;

method Postbuild

&oManageClassesGlobalVars.sTabID = Page.SSR_DROP_TERM_FL;
&oManageClassesGlobalVars.sTransferFromURL = "";
&oManageClassesGlobalVars.sTransferToURL = "";
&oManageClassesGlobalVars.sMDComponent = "";

Local SSR_MANAGE_CLASSES:UTIL:Navigation &oNavigationSR = create


SSR_MANAGE_CLASSES:UTIL:Navigation();
&oNavigationSR.ResetToHomepage();

Local SCC_FLUID:UTIL:CSSClass &objCSS, &objCSS1;

&objCSS = create SCC_FLUID:UTIL:CSSClass();

&objCSS.AddStyleSheet(StyleSheet.SSR_SS);

&Panel = %This.CreatePanel();
%This.Render();

Local Record &getemplid, &getsetid;

&getemplid = CreateRecord(Record.PSOPRDEFN);
&getsetid = CreateRecord(Record.OPR_DEF_TBL_CS);

&getemplid.OPRID.Value = %OperatorId;
&bool_classoptionsflag = False;
If &getemplid.SelectByKey() Then
&recEmplId = &getemplid.EMPLID.Value;
End-If;

&sDropClasses_StudentId = &recEmplId;

&getsetid.OPRID.Value = %OperatorId;

If &getsetid.SelectByKey() Then
&setId = &getsetid.SETID.Value;
End-If;

Local SSR_MANAGE_CLASSES:UTIL:Installation &utilMethods = create


SSR_MANAGE_CLASSES:UTIL:Installation();
Local boolean &bool_recSingleInst = &utilMethods.IsSingleInstitution();

If &bool_recSingleInst = True Then


&bool_recMultiInst = False;
Else
&bool_recMultiInst = True;
End-If;

&oDropClasses = create SSR_MANAGE_CLASSES:UTIL:DropClasses(&recEmplId, &recCar,


&recInst, &recTerm);

&rs_SelectedClassesToDrop = CreateRowset(Record.SSR_CLS_SEL_WRK);
If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then
If &oManageClassesGlobalVars.bIsFromConfirmation Then
&oManageClassesGlobalVars.bIsFromConfirmation = False;
AddJavaScript(HTML.SSR_MANAGE_CLASSES_JS);
AddOnLoadScript("goBackToManageClassesMenu();");
End-If;
End-If;

end-method;

method SSR_DROP_CONFRM_FL_Activate

INSTITUTION_TBL.DESCRFORMAL.Visible = &bool_recMultiInst;

Local SSR_MANAGE_CLASSES:UTIL:Confirmation &oConfirmation = create


SSR_MANAGE_CLASSES:UTIL:Confirmation();

&oConfirmation.LoadConfirmationMessages(&sDropClasses_StudentId,
&sDropClasses_AcademicCareer, &sDropClasses_Institution, &sDropClasses_Term,
&sDropClasses_EnrlRequestId);

&Panel.SetPageTitle(MsgGetText(14770, 815, "Message not found.")); /*


Confirmation */

If &LoadConfirmationMessageOnce Then
&LoadConfirmationMessageOnce = False;

&sConfirmationMessageDetail = &oConfirmation.sConfirmationMessage;

&Panel = %This.CreatePanel();

&Panel.SetConfirmationMessage(&sConfirmationMessageDetail, False);
End-If;

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then

AddStyleSheet(StyleSheet.SSR_CONFIRMATION_FL);

Local Rowset &rsLinkTable;


Local integer &i;

&i = 1;

&rsLinkTable = GetRowset(Scroll.SSR_DUMMY_REC);
&rsLinkTable.Flush();

&rsLinkTable.InsertRow(&i);
&i = &i + 1;
&rsLinkTable(&i).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Value = "MNGC";
&rsLinkTable(&i).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Label = MsgGetText(14770,
813, "Message not found."); /* Return to Manage Classes Menu */
&rsLinkTable(&i).DERIVED_SSR_FL.IMAGE_FIELD.Value = Image.PS_SCHEDULE_L_FL;
&rsLinkTable(&i).DERIVED_SSR_FL.IMAGE_FIELD.Label =
&rsLinkTable(&i).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Label;

&rsLinkTable.InsertRow(&i);
&i = &i + 1;
&rsLinkTable(&i).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Value = "DCLS";
&rsLinkTable(&i).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Label = MsgGetText(14770,
814, "Message not found."); /* Return to Drop Classes */
&rsLinkTable(&i).DERIVED_SSR_FL.IMAGE_FIELD.Value = Image.PS_REMOVE_ALL_M_FL;
&rsLinkTable(&i).DERIVED_SSR_FL.IMAGE_FIELD.Label =
&rsLinkTable(&i).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Label;

&rsLinkTable.InsertRow(&i);
&i = &i + 1;
&rsLinkTable(&i).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Value = "VCLS";
&rsLinkTable(&i).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Label = MsgGetText(14770,
576, "Message not found."); /* View My Classes */
&rsLinkTable(&i).DERIVED_SSR_FL.IMAGE_FIELD.Value =
Image.PS_APPR_THISWEEK_M_FL;
&rsLinkTable(&i).DERIVED_SSR_FL.IMAGE_FIELD.Label =
&rsLinkTable(&i).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Label;

&rsLinkTable.DeleteRow(1); /* Delete empty row */

AddJavaScript(HTML.SCC_NAVIGATION_JS);
AddOnLoadScript("removeComponentFromHistoryStack('PT_AGSTARTPAGE_NUI');");
Else
AddJavaScript(HTML.SSR_MANAGE_CLASSES_JS);
AddOnLoadScript("goBackToHomepage();");
DERIVED_SSR_FL.SSR_RETURN_PB_GBX.Visible = False;
End-If;
end-method;

method SSR_DROP_TERM_FL_Activate

Local Rowset &rs_CarInstTerm, &reclevel1, &rs_CarInstTermCurr,


&rs_CarInstTermPrev;
Local integer &i, &prev, &curr, &cntCarInstTermCurr, &cntCarInstTermPrev;
Local string &str_TermDescr, &prev_Career, &prev_Inst, &prev_Term;
Local boolean &IsEnrolled;
Local date &termbegindt;
Local number &nDropClassesFound;

Local Rowset &rs_StdntEnrlTerms;


Local Record &rec_TermTbl = CreateRecord(Record.TERM_TBL);
Local SSR_STUDENT_RECORDS:SR_StudentData:StudentTerms &obj_StudentTerms = create
SSR_STUDENT_RECORDS:SR_StudentData:StudentTerms(&recEmplId);
Local array of array of string &arr_IDTerms =
&obj_StudentTerms.getStudentTerms();
Local integer &j, &instance_ClassesEnrolled, &instance_ClassesToDrop;
Local string &IsEnrolledInAClass, &IsThereClassesToDrop;

&j = 0;
&instance_ClassesEnrolled = 0;
&instance_ClassesToDrop = 0;

&rs_StdntEnrlTerms = GetRowset(Scroll.SSR_DUMMY_RECV1);
&rs_StdntEnrlTerms.Flush();

For &i = 1 To &arr_IDTerms.Len

&rec_TermTbl.INSTITUTION.Value = &arr_IDTerms [&i][3] | Rept(" ", 5 -


Len(&arr_IDTerms [&i][3]));
&rec_TermTbl.ACAD_CAREER.Value = &arr_IDTerms [&i][2] | Rept(" ", 4 -
Len(&arr_IDTerms [&i][2]));
&rec_TermTbl.STRM.Value = &arr_IDTerms [&i][4] | Rept(" ", 4 -
Len(&arr_IDTerms [&i][4]));

If &rec_TermTbl.SelectByKey() Then

If &rec_TermTbl.SSR_SSENRLDISP_BDT.Value <= %Date And


&rec_TermTbl.SSR_SSENRLDISP_EDT.Value >= %Date Then

&recCar = &rec_TermTbl.ACAD_CAREER.Value;
&recInst = &rec_TermTbl.INSTITUTION.Value;
&recTerm = &rec_TermTbl.STRM.Value;

SQLExec("SELECT 'Y' FROM PS_STDNT_ENRL_SSV1 WHERE EMPLID=:1 AND


ACAD_CAREER=:2 AND INSTITUTION=:3 AND STRM=:4", &recEmplId, &recCar, &recInst,
&recTerm, &IsEnrolledInAClass);

If &IsEnrolledInAClass = "Y" Then

&instance_ClassesEnrolled = &instance_ClassesEnrolled + 1;

SQLExec("SELECT 'Y' FROM PS_STDNT_ENRL_SSV1 WHERE EMPLID=:1 AND


ACAD_CAREER=:2 AND INSTITUTION=:3 AND STRM=:4 AND ((STDNT_ENRL_STATUS='E' AND
ENRL_STATUS_REASON <> 'WDRW' AND ENRL_STATUS_REASON <> 'DROP') OR
STDNT_ENRL_STATUS='W') AND CRSE_GRADE_INPUT=' '", &recEmplId, &recCar, &recInst,
&recTerm, &IsThereClassesToDrop);

If &IsThereClassesToDrop = "Y" Then

&instance_ClassesToDrop = &instance_ClassesToDrop + 1;

If &j > 0 Then


&rs_StdntEnrlTerms.InsertRow(&j);
End-If;

&j = &j + 1;

&rs_StdntEnrlTerms(&j).DERIVED_SSS_SCT.EMPLID.Value = &recEmplId;
&rs_StdntEnrlTerms(&j).DERIVED_SSS_SCT.ACAD_CAREER.Value =
&recCar;
&rs_StdntEnrlTerms(&j).DERIVED_SSS_SCT.INSTITUTION.Value =
&recInst;
&rs_StdntEnrlTerms(&j).DERIVED_SSS_SCT.STRM.Value = &recTerm;
&rs_StdntEnrlTerms(&j).DERIVED_SSS_SCT.SSS_TERM_LINK.Label =
&rs_StdntEnrlTerms(&j).TERM_TBL.DESCR.Value;

&rs_StdntEnrlTerms(&j).INSTITUTION_TBL.DESCRFORMAL.Visible =
&bool_recMultiInst;

End-If;
End-If;
End-If;
End-If;
End-For;

DERIVED_SSR_FL.SSR_GRPBOX_TERM.Visible = True;
DERIVED_SSR_FL.SSR_GRPBOX_TRM2.Visible = False;

If &rs_StdntEnrlTerms.ActiveRowCount = 1 Then
If None(&rs_StdntEnrlTerms(1).DERIVED_SSS_SCT.STRM.Value) Then
&Panel.SetPageTitle(MsgGetText(14770, 602, "Message not found.")); /* Drop
Classes */

DERIVED_SSR_FL.SSR_GRPBOX_TERM.Visible = False;
DERIVED_SSR_FL.SSR_GRPBOX_TRM2.Visible = True;

If &instance_ClassesEnrolled > 0 And


&instance_ClassesToDrop = 0 Then
/* None of your classes can be dropped at this time */
DERIVED_SSR_FL.SSR_NOCLASSES_MSG.Value = MsgGetText(14770, 1009,
"Message Not Found");
Else
/* You are not registered in any classes at this time */
DERIVED_SSR_FL.SSR_NOCLASSES_MSG.Value = MsgGetText(14770, 504,
"Message Not Found");
End-If;
Else
&recTerm = &rs_StdntEnrlTerms(1).DERIVED_SSS_SCT.STRM.Value;
&recInst = &rs_StdntEnrlTerms(1).DERIVED_SSS_SCT.INSTITUTION.Value;
&recCar = &rs_StdntEnrlTerms(1).DERIVED_SSS_SCT.ACAD_CAREER.Value;

&rs_StdntEnrlTerms(1).INSTITUTION_TBL.DESCRFORMAL.Visible =
&bool_recMultiInst;

Local Rowset &rs_TermTbl;


&rs_TermTbl = CreateRowset(Record.TERM_TBL);
&rs_TermTbl.Flush();
&rs_TermTbl.Fill("WHERE INSTITUTION=:1 AND ACAD_CAREER=:2 AND STRM=:3",
&recInst, &recCar, &recTerm);

&recTermBeginDt = &rs_TermTbl(1).TERM_TBL.TERM_BEGIN_DT.Value;

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then


%This.TransferToDropClassesAG();
Else
&Panel.SetPageTitle(MsgGetText(14770, 602, "Message not found."));
DERIVED_SSR_FL.SSR_GRPBOX_TERM.AddFFClass("psa_visib-hid");
AddJavaScript(HTML.SSR_MANAGE_CLASSES_JS);
AddOnLoadScript("launchLink()");
End-If;

End-If;
End-If;

end-method;

method DERIVED_SSS_SCT_SSR_TERM_LINK_FieldChange

&recInst = DERIVED_SSS_SCT.INSTITUTION;
&recCar = DERIVED_SSS_SCT.ACAD_CAREER;
&recTerm = DERIVED_SSS_SCT.STRM;
&recTermBeginDt = TERM_TBL.TERM_BEGIN_DT;

&oDropClasses.DeleteAGInstance("SR_DROP_FL");

%This.TransferToDropClassesAG();
end-method;

method TransferToDropClassesAG
Local string &url;
Local string &sAgTemplateId;

&sDropClasses_Institution = &recInst;
&sDropClasses_AcademicCareer = &recCar;
&sDropClasses_Term = &recTerm;
&sDropClasses_TermBeginDt = &recTermBeginDt;

&sAgTemplateId = "SR_DROP_FL";

&url = GenerateComponentContentURL(%Portal, %Node, MenuName.NUI_FRAMEWORK,


%Market, Component.PT_AGSTARTPAGE_NUI, Page.PT_AGSTARTPAGE_NUI, "U");
&url = &url | "&" | "CONTEXTIDPARAMS=" | "TEMPLATE_ID" | ":" | &sAgTemplateId |
"&" | "CONTEXTIDPARAMS=" | "OPRID" | ":" | %OperatorId |
"&replaceCurrentTopWindow=Y&fmode=1";

%Response.RedirectURL(&url);
end-method;

method DERIVED_SSR_FL__SSR_RETURN_PB_FL_FieldChange

&oManageClassesGlobalVars.bIsFromConfirmation = True;

Evaluate DERIVED_SSR_FL.SSR_RETURN_PB_FL
When "MNGC"

&oManageClassesGlobalVars.bIsGoToManageClassesMenu = True;

Local ApiObject &CRefLink, &Portal;


Local string &sUrl;

&Portal = %Session.GetPortalRegistry();

If &Portal.Open(%Portal) Then
&CRefLink = &Portal.FindCRefByName("CS_SSR_MANAGE_CLASSES_FL");
&sUrl = &CRefLink.AbsoluteContentURL;
End-If;

&Portal.Close();

%Response.RedirectURL(&sUrl);

When "DCLS"

[SSR_MANAGE_CLASSES.COMPONENTS.SSR_EDIT_CLASS_FL.OnExecute]
import SCC_FLUID:MODEL:Component;
import SCC_FLUID:UTIL:CSSClass;
import SCC_FLUID:MODEL:Panel;
import SSR_MANAGE_CLASSES:UTIL:Installation;
import SCC_FLUID:UTIL:Popup;
import SSR_CLASS:Components:Utility:SSR_CLSRCH_CONFIG_Util;
import SSR_STUDENT_RECORDS:SR_StudentData:StudentTerms;
import SSR_MANAGE_CLASSES:UTIL:Confirmation;
import SSR_MANAGE_CLASSES:UTIL:Formatter;
import SSR_MANAGE_CLASSES:UTIL:ClassInformation;
import SSR_STUDENT_RECORDS:SR_ClassData:ClassInfo;
import SSR_MANAGE_CLASSES:UTIL:MeetingDetails;
import SSR_MANAGE_CLASSES:UTIL:ClassOptions;
import SSR_MANAGE_CLASSES:UTIL:Instructor;
import SSR_STUDENT_RECORDS:SR_SetupData:GradingBasisTbl;
import SSR_MANAGE_CLASSES:UTIL:CheckValidUserAction;
import SSR_MANAGE_CLASSES:UTIL:EditClasses;
import SSR_MANAGE_CLASSES:UTIL:GlobalVariables;
import SSR_MANAGE_CLASSES:UTIL:Navigation;

class SSR_EDIT_CLASS_FL extends SCC_FLUID:MODEL:Component


/* Main Method */
method SSR_EDIT_CLASS_FL(&bIsMDComponent As boolean);
method Postbuild();
method SSR_EDIT_TERM_FL_Activate();
method SSR_ENRL_CONFRM_FL_Activate();
method SSR_EDIT_SELECT_FL_Activate();
method SSR_SEL_STA1_SCF_Activate();

/* Open Class Details tab SFF */


method SSR_CLASSDTL_SCF_Activate();

/* Open Class Details tab Non-SFF */


method SSR_CLSDTL_LF_SCF__Activate();

/* Update Tabs options for Class Details SFF */


method DERIVED_SSR_FL__SSR_CL_DTLS_OPT_FieldChange();

/* Term Page Select Term Button */


method DERIVED_SSS_SCT_SSR_TERM_LINK_FieldChange();

/* Select a Class to update Page - Open Class Details Secondary Page */


method SSR_ED_CLASS_FL_SSR_CLASSNAME_LONG__FieldChange(&classnbr As integer);

/* Select a Class to update Page - Open Activity Guide */


method SSR_ED_CLASS_FL_SSR_CLASS_MAIN__FieldChange();

/* Select a Class to update Page - Open Change Term Secondary Page */


method DERIVED_SSR_FL__SSR_CHANGE_BTN_FieldChange();

/* Confirmation Page - Other links button */


method DERIVED_SSR_FL__SSR_RETURN_PB_FL_FieldChange();

/* Select Term sub Page */


method SSR_ENTRMCUR_VW_TERM_DESCR30__FieldChange();

/* Update Classes Utilities */


method alignLinesInFlexGrid(&initialLoad As boolean);
method LoadEnrlReqGrid_Edit();
method LoadEnrlReqGrid_Edit_sff();
method SelectTerm();
method LoadMeetingPattern(&termcheck As string, &classnbrcheck As integer)
Returns string;
method LoadMeetingPattern_sff(&termcheck As string, &classnbrcheck As integer,
&recordcheck As Record, &compnumcheck As integer);
method LoadRoomDetail(&crse_idcheck As string, &crse_offer_nbrcheck As integer,
&termcheck As string, &session_codecheck As string, &class_sectioncheck As string,
&ntgpatcheck As integer) Returns string;
method GetClassOptions() Returns Rowset;
method AssocOptions(&class_nbrcheck As number) Returns boolean;
method TransferToDropClassesAG();
/* Class/Instructor details Secondary page Utilities */
method SSR_DER1_MTG_FL_SSR_MTGINFO_DATA__FieldChange();
method SSR_INSTDTL_LF_SCF_Activate();
method SSR_INSTRDTL_SCF_Activate();
method DERIVED_SSR_FL_SSR_CL_DTLS_LFF__FieldChange();
method DERIVED_SSR_FL_SSR_INSTR_NME_FL__FieldChange();
method DERIVED_SSR_FL_SSR_INSTR_FL__FieldChange();
method SSR_ED_CLASS_FL_SSR_MORE_CLASS_FL__FieldChange(&classnbr As integer);

protected
property SCC_FLUID:MODEL:Panel Panel;

private

instance boolean &bIsMD;


instance string &recPage, &gotopage;

instance string &setId;

instance string &sEnrlRequestId, &sEnrlReqDetlStat, &recterm, &recinst, &reccar,


&recEmplId;
instance number &nEnrlReqDetlSeq, &nEnrlMessageSeq;
instance SSR_MANAGE_CLASSES:UTIL:EditClasses &oEditClasses;
instance date &recTermBeginDt;

instance SSR_MANAGE_CLASSES:UTIL:ClassInformation &oClassInformation;

instance Rowset &rs_AlternativeClasses;


instance boolean &patternend, &roomdetails_tag;
instance integer &row_level1, &roomdetails_cnt;

instance boolean &bool_classoptionsflag, &bool_recMultiInst;

instance string &roomdetails, &roomdetails2, &crse_id, &crse_offer_nbr,


&session_code, &assoc_class, &class_component;
instance string &sTime;

instance Rowset &rs_regform_view, &rs_regform_main, &rs_RegformVw1;


instance integer &iCurrentRowNumber;
instance string &sScrollRecord, &recChangeTerm, &recChangeCar, &recChangeInst;
end-class;

Global SSR_MANAGE_CLASSES:UTIL:GlobalVariables &oManageClassesGlobalVars;

method SSR_EDIT_CLASS_FL
/+ &bIsMDComponent as Boolean +/
%Super = create SCC_FLUID:MODEL:Component();
&bIsMD = &bIsMDComponent;

end-method;

method Postbuild

&oManageClassesGlobalVars.sTabID = Page.SSR_EDIT_TERM_FL;

Local SSR_MANAGE_CLASSES:UTIL:Navigation &oNavigationSR = create


SSR_MANAGE_CLASSES:UTIL:Navigation();
&oNavigationSR.ResetToHomepage();
Local SCC_FLUID:UTIL:CSSClass &objCSS, &objCSS1;

&objCSS = create SCC_FLUID:UTIL:CSSClass();

&objCSS.AddStyleSheet(StyleSheet.SSR_SS);

&objCSS1 = create SCC_FLUID:UTIL:CSSClass();

&objCSS1.AddStyleSheet(StyleSheet.SSR_EDIT_SS);

&Panel = %This.CreatePanel();
%This.Render();

Local Record &getemplid, &getsetid;

&getemplid = CreateRecord(Record.PSOPRDEFN);
&getsetid = CreateRecord(Record.OPR_DEF_TBL_CS);

&getemplid.OPRID.Value = %OperatorId;
&bool_classoptionsflag = False;
If &getemplid.SelectByKey() Then
&recEmplId = &getemplid.EMPLID.Value;
&oManageClassesGlobalVars.AGEmplId = &getemplid.EMPLID.Value;
End-If;

&getsetid.OPRID.Value = %OperatorId;

If &getsetid.SelectByKey() Then
&setId = &getsetid.SETID.Value;
End-If;

Local SSR_MANAGE_CLASSES:UTIL:Installation &utilMethods = create


SSR_MANAGE_CLASSES:UTIL:Installation();
Local boolean &bool_recSingleInst = &utilMethods.IsSingleInstitution();

If &bool_recSingleInst = True Then


&bool_recMultiInst = False;
Else
&bool_recMultiInst = True;
End-If;

If %Request.BrowserDeviceFormFactor <> %FormFactor_Small Then


%This.alignLinesInFlexGrid( True);
End-If;

end-method;

method alignLinesInFlexGrid
/+ &initialLoad as Boolean +/

If %Request.BrowserDeviceFormFactor <> %FormFactor_Small Then;


If &initialLoad Then;
AddJavaScript(HTML.SSR_ALIGN_LINES_ED_FLEXGRID_JS);

AddOnLoadScript("if (typeof alignLinesInFlexGrid == 'function')


{ alignLinesInFlexGrid(); window.addEventListener('resize',
alignLinesInFlexGrid); }");
Else
AddOnLoadScript("if (typeof alignLinesInFlexGrid == 'function')
{ alignLinesInFlexGrid(); }");
End-If;
End-If;

end-method;

method SSR_EDIT_TERM_FL_Activate

Local Rowset &rs_CarInstTerm, &reclevel1, &rs_CarInstTermCurr,


&rs_CarInstTermPrev;
Local integer &i, &prev, &curr, &cntCarInstTermCurr, &cntCarInstTermPrev;
Local string &str_TermDescr, &prev_Career, &prev_Inst, &prev_Term;
Local boolean &IsEnrolled;
Local date &termbegindt;
Local number &nEditClassesFound;

&oManageClassesGlobalVars.sEditClasses_Class_nbr = 0;
Local Rowset &rs_StdntEnrlTerms;
Local Record &rec_TermTbl = CreateRecord(Record.TERM_TBL);
Local SSR_STUDENT_RECORDS:SR_StudentData:StudentTerms &obj_StudentTerms = create
SSR_STUDENT_RECORDS:SR_StudentData:StudentTerms(&oManageClassesGlobalVars.AGEmplId)
;
Local array of array of string &arr_IDTerms =
&obj_StudentTerms.getStudentTerms();
Local integer &j, &instance_ClassesEnrolled, &instance_ClassesToEdit, &k;
Local string &IsEnrolledInAClass, &IsThereClassesToEdit;

Local array of array of string &arr_CComp;


Local Rowset &rs_StdntEnrlV0 = CreateRowset(Record.SSR_STENRL_SSV2);
Local integer &curr_rowcount;
Local integer &curr_ClassNbr;
Local SSR_STUDENT_RECORDS:SR_ClassData:ClassInfo &obj_EnrlClassInfo = create
SSR_STUDENT_RECORDS:SR_ClassData:ClassInfo();

&j = 0;
&instance_ClassesEnrolled = 0;
&instance_ClassesToEdit = 0;

&rs_StdntEnrlTerms = GetRowset(Scroll.SSR_DUMMY_RECV1);
&rs_StdntEnrlTerms.Flush();

For &i = 1 To &arr_IDTerms.Len

&rec_TermTbl.INSTITUTION.Value = &arr_IDTerms [&i][3] | Rept(" ", 5 -


Len(&arr_IDTerms [&i][3]));
&rec_TermTbl.ACAD_CAREER.Value = &arr_IDTerms [&i][2] | Rept(" ", 4 -
Len(&arr_IDTerms [&i][2]));
&rec_TermTbl.STRM.Value = &arr_IDTerms [&i][4] | Rept(" ", 4 -
Len(&arr_IDTerms [&i][4]));

If &rec_TermTbl.SelectByKey() Then

If &rec_TermTbl.SSR_SSENRLDISP_BDT.Value <= %Date And


&rec_TermTbl.SSR_SSENRLDISP_EDT.Value >= %Date Then
&reccar = &rec_TermTbl.ACAD_CAREER.Value;
&recinst = &rec_TermTbl.INSTITUTION.Value;
&recterm = &rec_TermTbl.STRM.Value;

SQLExec("SELECT 'Y' FROM PS_SSR_STENRL_SSV2 WHERE EMPLID=:1 AND


ACAD_CAREER=:2 AND INSTITUTION=:3 AND STRM=:4", &recEmplId, &reccar, &recinst,
&recterm, &IsEnrolledInAClass);

If &IsEnrolledInAClass = "Y" Then

&instance_ClassesEnrolled = &instance_ClassesEnrolled + 1;

SQLExec("SELECT 'Y' FROM PS_SSR_STENRL_SSV2 WHERE EMPLID=:1 AND


ACAD_CAREER=:2 AND INSTITUTION=:3 AND STRM=:4 AND ((STDNT_ENRL_STATUS='E' AND
ENRL_STATUS_REASON <> 'WDRW' AND ENRL_STATUS_REASON <> 'DROP') OR
STDNT_ENRL_STATUS='W') AND CRSE_GRADE_INPUT=' '", &recEmplId, &reccar, &recinst,
&recterm, &IsThereClassesToEdit);

If &IsThereClassesToEdit = "Y" Then

&curr_rowcount = &rs_StdntEnrlV0.Fill(" WHERE EMPLID=:1 AND


ACAD_CAREER=:2 AND INSTITUTION=:3 AND STRM=:4", &recEmplId, &reccar, &recinst,
&recterm);
For &k = 1 To &curr_rowcount
If &k <= &curr_rowcount Then

&curr_ClassNbr =
&rs_StdntEnrlV0(&k).SSR_STENRL_SSV2.CLASS_NBR.Value;
&obj_EnrlClassInfo.LoadClassInfo(&recinst, &recterm,
&curr_ClassNbr);

/* Are there related sections? */


&arr_CComp = &obj_EnrlClassInfo.Class_Components_Elect();

/* select classes with updateable attributes */


If &arr_CComp.Len = 0 Then
If Not %This.AssocOptions(&curr_ClassNbr) Then
&rs_StdntEnrlV0.DeleteRow(&k);
&k = &k - 1;
&curr_rowcount = &curr_rowcount - 1;
End-If;
End-If;
End-If;
End-For;

If &curr_rowcount > 0 Then


&instance_ClassesToEdit = &instance_ClassesToEdit + 1;

If &j > 0 Then


&rs_StdntEnrlTerms.InsertRow(&j);
End-If;

&j = &j + 1;

&rs_StdntEnrlTerms(&j).DERIVED_SSS_SCT.EMPLID.Value =
&recEmplId;
&rs_StdntEnrlTerms(&j).DERIVED_SSS_SCT.ACAD_CAREER.Value =
&reccar;
&rs_StdntEnrlTerms(&j).DERIVED_SSS_SCT.INSTITUTION.Value =
&recinst;
&rs_StdntEnrlTerms(&j).DERIVED_SSS_SCT.STRM.Value = &recterm;
&rs_StdntEnrlTerms(&j).DERIVED_SSS_SCT.SSS_TERM_LINK.Label =
&rs_StdntEnrlTerms(&j).TERM_TBL.DESCR.Value;

&rs_StdntEnrlTerms(&j).INSTITUTION_TBL.DESCRFORMAL.Visible =
&bool_recMultiInst;
End-If;
End-If;
End-If;
End-If;
End-If;
End-For;

DERIVED_SSR_FL.SSR_GRPBOX_TERM.Visible = True;
DERIVED_SSR_FL.SSR_GRPBOX_TRM2.Visible = False;
&oManageClassesGlobalVars.bMultipleTerm = True;

If &rs_StdntEnrlTerms.ActiveRowCount = 1 Then

If None(&rs_StdntEnrlTerms(1).DERIVED_SSS_SCT.STRM.Value) Then

&Panel.SetPageTitle(MsgGetText(14770, 1103, "Message not found.")); /*


Update Classes */

DERIVED_SSR_FL.SSR_GRPBOX_TERM.Visible = False;
DERIVED_SSR_FL.SSR_GRPBOX_TRM2.Visible = True;

If &instance_ClassesEnrolled > 0 And


&instance_ClassesToEdit = 0 Then
/* None of your classes can be dropped at this time */
DERIVED_SSR_FL.SSR_NOCLASSES_MSG.Value = MsgGetText(14770, 1100,
"Message Not Found");
Else
/* You are not registered in any classes at this time */
DERIVED_SSR_FL.SSR_NOCLASSES_MSG.Value = MsgGetText(14770, 504,
"Message Not Found");
End-If;
Else

&oManageClassesGlobalVars.AGInst =
&rs_StdntEnrlTerms(1).DERIVED_SSS_SCT.INSTITUTION.Value;
&oManageClassesGlobalVars.AGCar =
&rs_StdntEnrlTerms(1).DERIVED_SSS_SCT.ACAD_CAREER.Value;
&oManageClassesGlobalVars.AGTerm =
&rs_StdntEnrlTerms(1).DERIVED_SSS_SCT.STRM.Value;

If &rs_StdntEnrlTerms.ActiveRowCount < 2 Then


DERIVED_SSR_FL.SSR_CHANGE_BTN.Visible = False;
&oManageClassesGlobalVars.bMultipleTerm = False;
End-If;

&rs_StdntEnrlTerms(1).INSTITUTION_TBL.DESCRFORMAL.Visible =
&bool_recMultiInst;

Local Rowset &rs_TermTbl;


&rs_TermTbl = CreateRowset(Record.TERM_TBL);
&rs_TermTbl.Flush();
&rs_TermTbl.Fill("WHERE INSTITUTION=:1 AND ACAD_CAREER=:2 AND STRM=:3",
&recinst, &reccar, &recterm);

&oManageClassesGlobalVars.AGTermBeginDt =
&rs_TermTbl(1).TERM_TBL.TERM_BEGIN_DT.Value;
If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then
TransferPage(Page.SSR_ED_CLASS_FL);

Else

&Panel.SetPageTitle(MsgGetText(14770, 1103, "Message Not Found"));


DERIVED_SSR_FL.SSR_GRPBOX_TERM.AddFFClass("psa_visib-hid");

TransferPage(Page.SSR_ED_CLASS_FL);
End-If;

End-If;
End-If;

end-method;

method DERIVED_SSS_SCT_SSR_TERM_LINK_FieldChange

&oManageClassesGlobalVars.AGInst = DERIVED_SSS_SCT.INSTITUTION.Value;
&oManageClassesGlobalVars.AGCar = DERIVED_SSS_SCT.ACAD_CAREER.Value;
&oManageClassesGlobalVars.AGTerm = DERIVED_SSS_SCT.STRM.Value;
&oManageClassesGlobalVars.AGTermBeginDt = TERM_TBL.TERM_BEGIN_DT.Value;

TransferPage(Page.SSR_ED_CLASS_FL);
end-method;

method TransferToDropClassesAG
Local string &url;
Local string &sAgTemplateId;

&sAgTemplateId = "SR_EDIT_FL";

&url = GenerateComponentContentURL(%Portal, %Node, MenuName.NUI_FRAMEWORK,


%Market, Component.PT_AGSTARTPAGE_NUI, Page.PT_AGSTARTPAGE_NUI, "U");
&url = &url | "&" | "CONTEXTIDPARAMS=" | "TEMPLATE_ID" | ":" | &sAgTemplateId |
"&" | "CONTEXTIDPARAMS=" | "OPRID" | ":" | %OperatorId |
"&replaceCurrentTopWindow=Y&fmode=1";

%Response.RedirectURL(&url);
end-method;

method DERIVED_SSR_FL__SSR_RETURN_PB_FL_FieldChange

&oManageClassesGlobalVars.bIsFromConfirmation = True;

Evaluate DERIVED_SSR_FL.SSR_RETURN_PB_FL
When "MNGC"
&oManageClassesGlobalVars.bIsGoToManageClassesMenu = True;

Local ApiObject &CRefLink, &Portal;


Local string &sUrl;
&Portal = %Session.GetPortalRegistry();

If &Portal.Open(%Portal) Then
&CRefLink = &Portal.FindCRefByName("CS_SSR_MANAGE_CLASSES_FL");
&sUrl = &CRefLink.AbsoluteContentURL;
End-If;

&Portal.Close();

%Response.RedirectURL(&sUrl);

When "VCLS"
Transfer( False, MenuName.SSR_STUDENT_FL, BarName.USE,
ItemName.SSR_COMPONENT_FL, Page.SSR_TERM_STA1_FL, "U");

When "CLPF" /* Class Prferences */

Local string &url = GenerateComponentContentURL(%Portal, %Node,


MenuName.NUI_FRAMEWORK, %Market, Component.PT_AGSTARTPAGE_NUI,
Page.PT_AGSTARTPAGE_NUI, %Action_UpdateDisplay);

Local array of string &params = CreateArrayRept("", 0);

&params.Push(""); /* Required for initial ampersand */


&params.Push("CONTEXTIDPARAMS=" | "TEMPLATE_ID" | ":" | "SR_EDIT_FL");
&params.Push("CONTEXTIDPARAMS=" | "OPRID" | ":" | %OperatorId);
&params.Push("replaceCurrentTopWindow=Y");
&params.Push("fmode=1");
&params.Push("GoTo=ClassPreferences");

&url = &url | &params.Join("&", "", "");

%Response.RedirectURL(&url);

End-Evaluate;

end-method;

method SSR_EDIT_SELECT_FL_Activate

Local Grid &cls_grid;


Local string &sTable;
Local integer &iRefRow;

DERIVED_SSR_FL.STRM.Value = &oManageClassesGlobalVars.AGTerm;
DERIVED_SSR_FL.ACAD_CAREER.Value = &oManageClassesGlobalVars.AGCar;
DERIVED_SSR_FL.INSTITUTION.Value = &oManageClassesGlobalVars.AGInst;

If Not &oManageClassesGlobalVars.bMultipleTerm Then


DERIVED_SSR_FL.SSR_CHANGE_BTN.Visible = False;
End-If;

If %Request.BrowserDeviceFormFactor <> %FormFactor_Small Then


%This.alignLinesInFlexGrid( True);
End-If;
&oManageClassesGlobalVars.sEditClassesURL = GenerateComponentContentURL(%Portal,
%Node, MenuName.SSR_STUDENT_FL, %Market, Component.SSR_EDIT_CLASS_FL,
Page.SSR_ED_CLASS_FL, "");
&oManageClassesGlobalVars.AGEmplId = &recEmplId;
&recterm = &oManageClassesGlobalVars.AGTerm;
&reccar = &oManageClassesGlobalVars.AGCar;
&recinst = &oManageClassesGlobalVars.AGInst;
&recTermBeginDt = &oManageClassesGlobalVars.AGTermBeginDt;

AddStyleSheet(StyleSheet.SSR_SS);
AddStyleSheet(StyleSheet.SSR_EDIT_SS);

&Panel.SetPageTitle(MsgGetText(14770, 1103, "Message not found."));


&oClassInformation = create SSR_MANAGE_CLASSES:UTIL:ClassInformation();
&Panel.SetPanelTitle(MsgGetText(14770, 1107, "Message not found."));

DERIVED_SSR_FL.ACAD_CAREER.Label =
DERIVED_SSR_FL.ACAD_CAREER.GetLongLabel("ACAD_CAREER");
INSTITUTION_TBL.DESCRFORMAL.Label =
DERIVED_SSR_FL.INSTITUTION.GetLongLabel("INSTITUTION3");
INSTITUTION_TBL.DESCRFORMAL.Visible = &bool_recMultiInst;

&iRefRow = 0;
&oManageClassesGlobalVars.aEditClasses_Class_nbr = CreateArrayRept(0, 4);
If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then
%This.LoadEnrlReqGrid_Edit_sff();

Else
%This.LoadEnrlReqGrid_Edit();

End-If;

&oManageClassesGlobalVars.cClassPref = CreateArrayRept("", 9);


&oManageClassesGlobalVars.pClassPref = CreateArrayRept("", 9);

end-method;

method LoadEnrlReqGrid_Edit
Local SSR_STUDENT_RECORDS:SR_ClassData:ClassInfo &obj_EnrlClassInfo = create
SSR_STUDENT_RECORDS:SR_ClassData:ClassInfo();
Local SSR_MANAGE_CLASSES:UTIL:MeetingDetails &oMeetingDetails = create
SSR_MANAGE_CLASSES:UTIL:MeetingDetails();
Local SSR_MANAGE_CLASSES:UTIL:Installation &utilMethods = create
SSR_MANAGE_CLASSES:UTIL:Installation();
Local Grid &cls_grid;
Local Rowset &rs_StdntEnrlV1, &rs_StdntEnrlV0;
Local integer &int_RsCount, &i, &j, &k;
Local SSR_MANAGE_CLASSES:UTIL:Instructor &oUtilInstructor = create
SSR_MANAGE_CLASSES:UTIL:Instructor();
Local string &sBgnCssConstructor, &sStyleConstructor, &sEndCssConstructor;
Local array of array of string &arr_CComp;

DERIVED_SSR_FL.GROUPBOX.Visible = True;
Local Grid &Grid = GetGrid(%Page, "SSR_STENRL_SSV221");

&rs_StdntEnrlV0 = GetRowset(Scroll.SSR_STENRL_SSV2);
&rs_StdntEnrlV0.Flush();

&rs_StdntEnrlV1 = CreateRowset(Record.STDNT_ENRL_SSVW);
&rs_StdntEnrlV1.Flush();
Local string &Access = GetUserOption("PPTL", "ACCESS");

If &Access = "A" Then


&Grid.GetColumn("CHEVRON").Visible = False;
End-If;

&Grid.GetColumn("ROOM").Visible = False;
&Grid.GetColumn("INSTRUCTOR").Visible = False;

&int_RsCount = &rs_StdntEnrlV0.Select(Record.SSR_STENRL_SSV2, "WHERE EMPLID=:1


AND ACAD_CAREER=:2 AND INSTITUTION=:3 AND STRM=:4 AND ((STDNT_ENRL_STATUS='E' AND
ENRL_STATUS_REASON <> 'WDRW' AND ENRL_STATUS_REASON <> 'DROP') OR
STDNT_ENRL_STATUS='W') AND CRSE_GRADE_INPUT=' ' ", &recEmplId, &reccar, &recinst,
&recterm);

&rs_StdntEnrlV0.Sort(SSR_STENRL_SSV2.SUBJECT, "A", SSR_STENRL_SSV2.CATALOG_NBR,


"A", SSR_STENRL_SSV2.CLASS_TYPE, "A", SSR_STENRL_SSV2.CLASS_SECTION, "A");

If &int_RsCount = 0 Then
&rs_StdntEnrlV0.HideAllRows();

Else

&rs_StdntEnrlV0.ShowAllRows();

Local number &curr_ClassNbr, &DisplayClassPreferencesCounter;


Local Record &recClsPrefWk_IN;

&recClsPrefWk_IN = CreateRecord(Record.SSR_CLS_PREF_WK);
&oManageClassesGlobalVars.rec_ClassEditDetailsAET =
CreateRecord(Record.SSR_ENRL_AET_WK);

Local integer &curr_rowcount = &rs_StdntEnrlV0.RowCount;


For &i = 1 To &curr_rowcount
If &i <= &curr_rowcount Then

&curr_ClassNbr = &rs_StdntEnrlV0(&i).SSR_STENRL_SSV2.CLASS_NBR.Value;
&obj_EnrlClassInfo.LoadClassInfo(&recinst, &recterm, &curr_ClassNbr);

/* Are there related sections? */


&arr_CComp = &obj_EnrlClassInfo.Class_Components_Elect();

/* select classes with updateable attributes */


If &arr_CComp.Len = 0 Then
If Not %This.AssocOptions(&curr_ClassNbr) Then
&rs_StdntEnrlV0.DeleteRow(&i);
&i = &i - 1;
&curr_rowcount = &curr_rowcount - 1;
End-If;
End-If;
End-If;
End-For;

Local string &sel_Name;


Local string &curr_CrseId, &prev_CrseId;
Local integer &GridRow;

Local string &sClassStatDescr;


&curr_CrseId = "";
&prev_CrseId = "";
&GridRow = 0;

&oMeetingDetails.sInstitution = &recinst;
&oMeetingDetails.sAcademicCareer = &reccar;
&oMeetingDetails.sTerm = &recterm;
&oMeetingDetails.Instantiate("EditClasses");

&sBgnCssConstructor = GetHTMLText(HTML.SSR_CSS_BGN_CONSTRUCTOR_FL);
&sStyleConstructor = "";

For &i = 1 To &int_RsCount


Local Row &row_StdntEnrlV1;

Local integer &classcompcnt = &rs_StdntEnrlV1.Fill("WHERE EMPLID=:1 AND


ACAD_CAREER=:2 AND INSTITUTION=:3 AND STRM=:4 AND SUBJECT = :5 AND CATALOG_NBR = :6
AND ASSOCIATED_CLASS = :7 AND ((STDNT_ENRL_STATUS='E' AND ENRL_STATUS_REASON <>
'WDRW' AND ENRL_STATUS_REASON <> 'DROP') OR STDNT_ENRL_STATUS='W') AND
CRSE_GRADE_INPUT=' ' ", &recEmplId, &reccar, &recinst, &recterm,
&rs_StdntEnrlV0(&i).SSR_STENRL_SSV2.SUBJECT.Value,
&rs_StdntEnrlV0(&i).SSR_STENRL_SSV2.CATALOG_NBR.Value,
&rs_StdntEnrlV0(&i).SSR_STENRL_SSV2.ASSOCIATED_CLASS.Value);
&k = 2;
&obj_EnrlClassInfo.LoadClassInfo(&recinst, &recterm,
&rs_StdntEnrlV0(&i).SSR_STENRL_SSV2.CLASS_NBR.Value);
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_CLASS_MAIN.Label =
&obj_EnrlClassInfo.Class_SubjCatNbr | " " | &obj_EnrlClassInfo.Class_Descr;

&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_GRADE_BASIS_SS.Value =
&rs_StdntEnrlV0(&i).SSR_STENRL_SSV2.GRADING_BASIS_ENRL.Value;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.FILLER_FIELD1.Visible = False;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.FILLER_FIELD2.Visible = False;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.FILLER_FIELD3.Visible = False;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.FILLER_FIELD4.Visible = False;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_CLASS_LONG2.Visible = False;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_CLASS_LONG3.Visible = False;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_CLASS_LONG4.Visible = False;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_CLASS_LONG5.Visible = False;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_DAY_LONG2.Visible = False;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_DAY_LONG3.Visible = False;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_DAY_LONG4.Visible = False;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_DAY_LONG5.Visible = False;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_INSTR_LONG_5.Visible = False;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_MORE_CLASS1_FL.Visible = False;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_MORE_CLASS2_FL.Visible = False;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_MORE_CLASS3_FL.Visible = False;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_MORE_CLASS4_FL.Visible = False;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_MORE_CLASS5_FL.Visible = False;

Local boolean &bcheckSFF;


For &j = 1 To &classcompcnt

&obj_EnrlClassInfo.LoadClassInfo(&recinst, &recterm,
&rs_StdntEnrlV1(&j).STDNT_ENRL_SSVW.CLASS_NBR.Value);

If &rs_StdntEnrlV1(&j).STDNT_ENRL_SSVW.CLASS_TYPE.Value = "E" Then

&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_CLASS_LONG1.Value =
&rs_StdntEnrlV1(&j).STDNT_ENRL_SSVW.CLASS_NBR.Value;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_CLASS_LONG1.Label =
&rs_StdntEnrlV1(&j).STDNT_ENRL_SSVW.SSR_COMPONENT.LongTranslateValue | " " |
&rs_StdntEnrlV1(&j).STDNT_ENRL_SSVW.CLASS_NBR.Value;
If RTrim(LTrim(&obj_EnrlClassInfo.Class_Meeting_List)) = "" Or
&obj_EnrlClassInfo.Class_Meeting_List = "TBA" Then
If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_DAY_LONG1.Value =
MsgGetText(14770, 539, "Message not found.") | ": " | MsgGetText(14770, 543,
"Message not found.");
Else
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_DAY_LONG1.Value =
MsgGetText(14770, 543, "Message not found.");
End-If;

Else
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_DAY_LONG1.Value =
%This.LoadMeetingPattern(&recterm,
&rs_StdntEnrlV1(&j).STDNT_ENRL_SSVW.CLASS_NBR.Value);
If &patternend Then

&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_CLASS_LONG1.AddFFClass("psc_margin-standard
");

&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_DAY_LONG1.AddFFClass("psa_sched-with-link
psc_margin-bottomnone");

&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_MORE_CLASS1_FL.AddFFClass("psa_sched-link
");
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_MORE_CLASS1_FL.Visible
= True;
Else
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_MORE_CLASS1_FL.Visible
= False;
End-If;
End-If;

&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_ST_END_DT1.Value =
&obj_EnrlClassInfo.Class_Dates;

&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_UNITS_LBL.Value =
NumberToString("%6.2", &rs_StdntEnrlV0(&i).SSR_STENRL_SSV2.UNT_TAKEN.Value);

&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_STATUS_LBL.Value =
&rs_StdntEnrlV0(&i).SSR_STENRL_SSV2.STDNT_ENRL_STATUS.LongTranslateValue;

&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.STATEMENT.Value =
MsgGetText(14770, 1023, "Message not found.") | ": " |
&rs_StdntEnrlV0(&i).SSR_STENRL_SSV2.STDNT_ENRL_STATUS.LongTranslateValue | "
" | MsgGetText(14770, 566, "Message not found.") | ": " | NumberToString("%6.2",
&rs_StdntEnrlV0(&i).SSR_STENRL_SSV2.UNT_TAKEN.Value);
Else
If &k = 2 Then
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_CLASS_LONG2.Value =
&rs_StdntEnrlV1(&j).STDNT_ENRL_SSVW.CLASS_NBR.Value;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_CLASS_LONG2.Label =
&rs_StdntEnrlV1(&j).STDNT_ENRL_SSVW.SSR_COMPONENT.LongTranslateValue | " " |
&rs_StdntEnrlV1(&j).STDNT_ENRL_SSVW.CLASS_NBR.Value;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_CLASS_LONG2.Visible =
True;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.FILLER_FIELD1.Visible = True;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_DAY_LONG2.Visible = True;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_ROOM_LONG2.Visible =
True;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_INSTR_LONG_2.Visible =
True;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_ST_END_DT2.Visible =
True;

If RTrim(LTrim(&obj_EnrlClassInfo.Class_Meeting_List)) = "" Or
&obj_EnrlClassInfo.Class_Meeting_List = "TBA" Then
If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_DAY_LONG2.Value =
MsgGetText(14770, 539, "Message not found.") | ": " | MsgGetText(14770, 543,
"Message not found.");
Else
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_DAY_LONG2.Value =
MsgGetText(14770, 543, "Message not found.");
End-If;

Else
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_DAY_LONG2.Value =
%This.LoadMeetingPattern(&recterm,
&rs_StdntEnrlV1(&j).STDNT_ENRL_SSVW.CLASS_NBR.Value);
If &patternend Then

&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_CLASS_LONG2.AddFFClass("psc_margin-
standard");

&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_DAY_LONG2.AddFFClass("psa_sched-with-link
psc_margin-bottomnone");

&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_MORE_CLASS2_FL.AddFFClass("psa_sched-link
");

&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_MORE_CLASS2_FL.Visible = True;
Else

&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_MORE_CLASS2_FL.Visible = False;
End-If;
End-If;

&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_ST_END_DT2.Value =
&obj_EnrlClassInfo.Class_Dates;

If RTrim(LTrim(&roomdetails)) = "" Or
MsgGetText(14770, 543, "Message not found.") =
RTrim(LTrim(&roomdetails)) Then
If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_ROOM_LONG2.Value =
MsgGetText(14770, 516, "Message not found.") | ": " | MsgGetText(14770, 543,
"Message not found.");
Else
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_ROOM_LONG2.Value =
MsgGetText(14770, 543, "Message not found.");
End-If;

Else
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_ROOM_LONG2.Value =
&roomdetails;
End-If;

If
RTrim(LTrim(&rs_StdntEnrlV1(&j).STDNT_ENRL_SSVW.INSTRUCTOR_ID.Value)) = "" Then
If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_INSTR_LONG_2.Value
= MsgGetText(14770, 523, "Message not found.") | ": " | MsgGetText(14770, 543,
"Message not found.");
Else
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_INSTR_LONG_2.Value
= MsgGetText(14770, 543, "Message not found.");
End-If;

Else
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_INSTR_LONG_2.Value =
&oUtilInstructor.GetDisplayName(&rs_StdntEnrlV1(&j).STDNT_ENRL_SSVW.INSTRUCTOR_ID.V
alue);
End-If;

End-If;

If &k = 3 Then
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_CLASS_LONG3.Value =
&rs_StdntEnrlV1(&j).STDNT_ENRL_SSVW.CLASS_NBR.Value;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_CLASS_LONG3.Label =
&rs_StdntEnrlV1(&j).STDNT_ENRL_SSVW.SSR_COMPONENT.LongTranslateValue | " " |
&rs_StdntEnrlV1(&j).STDNT_ENRL_SSVW.CLASS_NBR.Value;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_CLASS_LONG3.Visible =
True;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.FILLER_FIELD2.Visible = True;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_DAY_LONG3.Visible = True;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_ROOM_LONG3.Visible =
True;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_INSTR_LONG_3.Visible =
True;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_ST_END_DT3.Visible =
True;

If RTrim(LTrim(&obj_EnrlClassInfo.Class_Meeting_List)) = "" Or
&obj_EnrlClassInfo.Class_Meeting_List = "TBA" Then
If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_DAY_LONG3.Value =
MsgGetText(14770, 539, "Message not found.") | ": " | MsgGetText(14770, 543,
"Message not found.");
Else
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_DAY_LONG3.Value =
MsgGetText(14770, 543, "Message not found.");
End-If;
Else
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_DAY_LONG3.Value =
%This.LoadMeetingPattern(&recterm,
&rs_StdntEnrlV1(&j).STDNT_ENRL_SSVW.CLASS_NBR.Value);
If &patternend Then

&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_CLASS_LONG3.AddFFClass("psc_margin-
standard");

&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_DAY_LONG3.AddFFClass("psa_sched-with-link
psc_margin-bottomnone");

&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_MORE_CLASS3_FL.AddFFClass("psa_sched-link
");

&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_MORE_CLASS3_FL.Visible = True;
Else

&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_MORE_CLASS3_FL.Visible = False;
End-If;
End-If;

&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_ST_END_DT3.Value =
&obj_EnrlClassInfo.Class_Dates;

If RTrim(LTrim(&roomdetails)) = "" Or
MsgGetText(14770, 543, "Message not found.") =
RTrim(LTrim(&roomdetails)) Then
If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_ROOM_LONG3.Value =
MsgGetText(14770, 516, "Message not found.") | ": " | MsgGetText(14770, 543,
"Message not found.");
Else
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_ROOM_LONG3.Value =
MsgGetText(14770, 543, "Message not found.");
End-If;

Else
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_ROOM_LONG3.Value =
&roomdetails;
End-If;

If
RTrim(LTrim(&rs_StdntEnrlV1(&j).STDNT_ENRL_SSVW.INSTRUCTOR_ID.Value)) = "" Then
If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_INSTR_LONG_3.Value
= MsgGetText(14770, 523, "Message not found.") | ": " | MsgGetText(14770, 543,
"Message not found.");
Else
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_INSTR_LONG_3.Value
= MsgGetText(14770, 543, "Message not found.");
End-If;

Else
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_INSTR_LONG_3.Value =
&oUtilInstructor.GetDisplayName(&rs_StdntEnrlV1(&j).STDNT_ENRL_SSVW.INSTRUCTOR_ID.V
alue);
End-If;
End-If;

If &k = 4 Then
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_CLASS_LONG4.Value =
&rs_StdntEnrlV1(&j).STDNT_ENRL_SSVW.CLASS_NBR.Value;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_CLASS_LONG4.Label =
&rs_StdntEnrlV1(&j).STDNT_ENRL_SSVW.SSR_COMPONENT.LongTranslateValue | " " |
&rs_StdntEnrlV1(&j).STDNT_ENRL_SSVW.CLASS_NBR.Value;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_CLASS_LONG4.Visible =
True;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.FILLER_FIELD3.Visible = True;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_DAY_LONG4.Visible = True;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_ROOM_LONG4.Visible =
True;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_INSTR_LONG_4.Visible =
True;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_ST_END_DT4.Visible =
True;

If RTrim(LTrim(&obj_EnrlClassInfo.Class_Meeting_List)) = "" Or
&obj_EnrlClassInfo.Class_Meeting_List = "TBA" Then
If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_DAY_LONG4.Value =
MsgGetText(14770, 539, "Message not found.") | ": " | MsgGetText(14770, 543,
"Message not found.");
Else
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_DAY_LONG4.Value =
MsgGetText(14770, 543, "Message not found.");
End-If;

Else
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_DAY_LONG4.Value =
%This.LoadMeetingPattern(&recterm,
&rs_StdntEnrlV1(&j).STDNT_ENRL_SSVW.CLASS_NBR.Value);
If &patternend Then

&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_CLASS_LONG4.AddFFClass("psc_margin-
standard");

&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_DAY_LONG4.AddFFClass("psa_sched-with-link
psc_margin-bottomnone");

&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_MORE_CLASS4_FL.AddFFClass("psa_sched-link
");

&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_MORE_CLASS4_FL.Visible = True;
Else

&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_MORE_CLASS4_FL.Visible = False;
End-If;
End-If;

&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_ST_END_DT4.Value =
&obj_EnrlClassInfo.Class_Dates;

If RTrim(LTrim(&roomdetails)) = "" Or
MsgGetText(14770, 543, "Message not found.") =
RTrim(LTrim(&roomdetails)) Then
If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_ROOM_LONG4.Value =
MsgGetText(14770, 516, "Message not found.") | ": " | MsgGetText(14770, 543,
"Message not found.");
Else
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_ROOM_LONG4.Value =
MsgGetText(14770, 543, "Message not found.");
End-If;

Else
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_ROOM_LONG4.Value =
&roomdetails;
End-If;

If
RTrim(LTrim(&rs_StdntEnrlV1(&j).STDNT_ENRL_SSVW.INSTRUCTOR_ID.Value)) = "" Then
If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_INSTR_LONG_4.Value
= MsgGetText(14770, 523, "Message not found.") | ": " | MsgGetText(14770, 543,
"Message not found.");
Else
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_INSTR_LONG_4.Value
= MsgGetText(14770, 543, "Message not found.");
End-If;

Else
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_INSTR_LONG_4.Value =
&oUtilInstructor.GetDisplayName(&rs_StdntEnrlV1(&j).STDNT_ENRL_SSVW.INSTRUCTOR_ID.V
alue);
End-If;

End-If;

If &k = 5 Then
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_CLASS_LONG5.Value =
&rs_StdntEnrlV1(&j).STDNT_ENRL_SSVW.CLASS_NBR.Value;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_CLASS_LONG5.Label =
&rs_StdntEnrlV1(&j).STDNT_ENRL_SSVW.SSR_COMPONENT.LongTranslateValue | " " |
&rs_StdntEnrlV1(&j).STDNT_ENRL_SSVW.CLASS_NBR.Value;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_CLASS_LONG5.Visible =
True;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.FILLER_FIELD4.Visible = True;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_DAY_LONG5.Visible = True;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_ROOM_LONG5.Visible =
True;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_INSTR_LONG_5.Visible =
True;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_ST_END_DT5.Visible =
True;

If RTrim(LTrim(&obj_EnrlClassInfo.Class_Meeting_List)) = "" Or
&obj_EnrlClassInfo.Class_Meeting_List = "TBA" Then
If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_DAY_LONG5.Value =
MsgGetText(14770, 539, "Message not found.") | ": " | MsgGetText(14770, 543,
"Message not found.");
Else
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_DAY_LONG5.Value =
MsgGetText(14770, 543, "Message not found.");
End-If;

Else
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_DAY_LONG5.Value =
%This.LoadMeetingPattern(&recterm,
&rs_StdntEnrlV1(&j).STDNT_ENRL_SSVW.CLASS_NBR.Value);
If &patternend Then

&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_CLASS_LONG5.AddFFClass("psc_margin-
standard");

&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_DAY_LONG5.AddFFClass("psa_sched-with-link
psc_margin-bottomnone");

&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_MORE_CLASS5_FL.AddFFClass("psa_sched-link
");

&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_MORE_CLASS5_FL.Visible = True;
Else

&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_MORE_CLASS5_FL.Visible = False;
End-If;
End-If;

&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_ST_END_DT5.Value =
&obj_EnrlClassInfo.Class_Dates;

If RTrim(LTrim(&roomdetails)) = "" Or
MsgGetText(14770, 543, "Message not found.") =
RTrim(LTrim(&roomdetails)) Then
If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_ROOM_LONG5.Value =
MsgGetText(14770, 516, "Message not found.") | ": " | MsgGetText(14770, 543,
"Message not found.");
Else
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_ROOM_LONG5.Value =
MsgGetText(14770, 516, "Message not found.") | ": " | MsgGetText(14770, 543,
"Message not found.");
End-If;

Else
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_ROOM_LONG5.Value =
&roomdetails;
End-If;

If
RTrim(LTrim(&rs_StdntEnrlV1(&j).STDNT_ENRL_SSVW.INSTRUCTOR_ID.Value)) = "" Then
If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_INSTR_LONG_5.Value
= MsgGetText(14770, 523, "Message not found.") | ": " | MsgGetText(14770, 543,
"Message not found.");
Else
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_INSTR_LONG_5.Value
= MsgGetText(14770, 543, "Message not found.");
End-If;

Else
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_INSTR_LONG_5.Value =
&oUtilInstructor.GetDisplayName(&rs_StdntEnrlV1(&j).STDNT_ENRL_SSVW.INSTRUCTOR_ID.V
alue);

End-If;

End-If;
&k = &k + 1;
End-If;
End-For;
End-For;
End-If;

end-method;

method LoadEnrlReqGrid_Edit_sff
Local SSR_STUDENT_RECORDS:SR_ClassData:ClassInfo &obj_EnrlClassInfo = create
SSR_STUDENT_RECORDS:SR_ClassData:ClassInfo();
Local SSR_MANAGE_CLASSES:UTIL:MeetingDetails &oMeetingDetails = create
SSR_MANAGE_CLASSES:UTIL:MeetingDetails();
Local SSR_MANAGE_CLASSES:UTIL:Installation &utilMethods = create
SSR_MANAGE_CLASSES:UTIL:Installation();
Local Grid &cls_grid;
Local Rowset &rs_StdntEnrlV1, &rs_StdntEnrlV0;
Local integer &int_RsCount, &i, &j, &k;
Local SSR_MANAGE_CLASSES:UTIL:Instructor &oUtilInstructor = create
SSR_MANAGE_CLASSES:UTIL:Instructor();
Local string &sBgnCssConstructor, &sStyleConstructor, &sEndCssConstructor;
Local array of array of string &arr_CComp;
Local Grid &Grid;

DERIVED_SSR_FL.GROUPBOX.Visible = True;
If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then
&Grid = GetGrid(%Page, "SSR_STENRL_SSV22");
Else
&Grid = GetGrid(%Page, "SSR_STENRL_SSV22");
End-If;

&rs_StdntEnrlV0 = GetRowset(Scroll.SSR_STENRL_SSV2);
&rs_StdntEnrlV0.Flush();

&rs_StdntEnrlV1 = CreateRowset(Record.STDNT_ENRL_SSVW);
&rs_StdntEnrlV1.Flush();

&int_RsCount = &rs_StdntEnrlV0.Select(Record.SSR_STENRL_SSV2, "WHERE EMPLID=:1


AND ACAD_CAREER=:2 AND INSTITUTION=:3 AND STRM=:4 AND ((STDNT_ENRL_STATUS='E' AND
ENRL_STATUS_REASON <> 'WDRW' AND ENRL_STATUS_REASON <> 'DROP') OR
STDNT_ENRL_STATUS='W') AND CRSE_GRADE_INPUT=' ' ", &recEmplId, &reccar, &recinst,
&recterm);

&rs_StdntEnrlV0.Sort(SSR_STENRL_SSV2.SUBJECT, "A", SSR_STENRL_SSV2.CATALOG_NBR,


"A", SSR_STENRL_SSV2.CLASS_TYPE, "A", SSR_STENRL_SSV2.CLASS_SECTION, "A");

If &int_RsCount = 0 Then
&rs_StdntEnrlV0.HideAllRows();

Else

&rs_StdntEnrlV0.ShowAllRows();

Local number &curr_ClassNbr, &DisplayClassPreferencesCounter;


Local Record &recClsPrefWk_IN;

&recClsPrefWk_IN = CreateRecord(Record.SSR_CLS_PREF_WK);
&oManageClassesGlobalVars.rec_ClassEditDetailsAET =
CreateRecord(Record.SSR_ENRL_AET_WK);

Local integer &curr_rowcount = &rs_StdntEnrlV0.RowCount;


For &i = 1 To &curr_rowcount
If &i <= &curr_rowcount Then

&curr_ClassNbr = &rs_StdntEnrlV0(&i).SSR_STENRL_SSV2.CLASS_NBR.Value;
&obj_EnrlClassInfo.LoadClassInfo(&recinst, &recterm, &curr_ClassNbr);

/* Are there related sections? */


&arr_CComp = &obj_EnrlClassInfo.Class_Components_Elect();

/* select classes with updateable attributes */


If &arr_CComp.Len = 0 Then
If Not %This.AssocOptions(&curr_ClassNbr) Then
&rs_StdntEnrlV0.DeleteRow(&i);
&i = &i - 1;
&curr_rowcount = &curr_rowcount - 1;
End-If;
End-If;
End-If;
End-For;

Local string &sel_Name;


Local string &curr_CrseId, &prev_CrseId;
Local integer &GridRow;
Local integer &fstnum, &secnum;
Local string &sClassStatDescr;

&curr_CrseId = "";
&prev_CrseId = "";
&GridRow = 0;

&oMeetingDetails.sInstitution = &recinst;
&oMeetingDetails.sAcademicCareer = &reccar;
&oMeetingDetails.sTerm = &recterm;
&oMeetingDetails.Instantiate("EditClasses");

&sBgnCssConstructor = GetHTMLText(HTML.SSR_CSS_BGN_CONSTRUCTOR_FL);
&sStyleConstructor = "";

For &i = 1 To &int_RsCount


Local Row &row_StdntEnrlV1;

Local integer &classcompcnt = &rs_StdntEnrlV1.Fill("WHERE EMPLID=:1 AND


ACAD_CAREER=:2 AND INSTITUTION=:3 AND STRM=:4 AND SUBJECT = :5 AND CATALOG_NBR = :6
AND ASSOCIATED_CLASS = :7 AND ((STDNT_ENRL_STATUS='E' AND ENRL_STATUS_REASON <>
'WDRW' AND ENRL_STATUS_REASON <> 'DROP') OR STDNT_ENRL_STATUS='W') AND
CRSE_GRADE_INPUT=' ' ", &recEmplId, &reccar, &recinst, &recterm,
&rs_StdntEnrlV0(&i).SSR_STENRL_SSV2.SUBJECT.Value,
&rs_StdntEnrlV0(&i).SSR_STENRL_SSV2.CATALOG_NBR.Value,
&rs_StdntEnrlV0(&i).SSR_STENRL_SSV2.ASSOCIATED_CLASS.Value);
&k = 2;
&obj_EnrlClassInfo.LoadClassInfo(&recinst, &recterm,
&rs_StdntEnrlV0(&i).SSR_STENRL_SSV2.CLASS_NBR.Value);
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_CLASS_MAIN.Label =
&obj_EnrlClassInfo.Class_SubjCatNbr | " - " | &obj_EnrlClassInfo.Class_Descr;

&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_GRADE_BASIS_SS.Value =
&rs_StdntEnrlV0(&i).SSR_STENRL_SSV2.GRADING_BASIS_ENRL.Value;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.FILLER_FIELD1.Visible = False;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.FILLER_FIELD2.Visible = False;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.FILLER_FIELD3.Visible = False;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.FILLER_FIELD4.Visible = False;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_CLASS_LONG2.Visible = False;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_CLASS_LONG3.Visible = False;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_CLASS_LONG4.Visible = False;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_CLASS_LONG5.Visible = False;

&rs_StdntEnrlV0(&i).SSR_SEL_CLAS_FL.SSR_DAY_LONG12.Visible = False;
&rs_StdntEnrlV0(&i).SSR_SEL_CLAS_FL.SSR_DAY_LONG13.Visible = False;
&rs_StdntEnrlV0(&i).SSR_SEL_CLAS_FL.SSR_DAY_LONG14.Visible = False;
&rs_StdntEnrlV0(&i).SSR_SEL_CLAS_FL.SSR_DAY_LONG15.Visible = False;
&rs_StdntEnrlV0(&i).SSR_SEL_CLAS_FL.SSR_DAY_LONG16.Visible = False;
&rs_StdntEnrlV0(&i).SSR_SEL_CLAS_FL.SSR_DAY_LONG17.Visible = False;
&rs_StdntEnrlV0(&i).SSR_SEL_CLAS_FL.SSR_DAY_LONG18.Visible = False;
&rs_StdntEnrlV0(&i).SSR_SEL_CLAS_FL.SSR_DAY_LONG19.Visible = False;
&rs_StdntEnrlV0(&i).SSR_SEL_CLAS_FL.SSR_DAY_LONG10.Visible = False;

For &fstnum = 1 To 5
For &secnum = 0 To 9
&rs_StdntEnrlV0(&i).SSR_SEL_CLAS_FL.GetField(@("Field.SSR_DAY_LONG"
| &fstnum | &secnum)).Visible = False;
&rs_StdntEnrlV0(&i).SSR_SEL_CLAS_FL.GetField(@("Field.SSR_ROOM_LONG"
| &fstnum | &secnum)).Visible = False;

&rs_StdntEnrlV0(&i).SSR_SEL_CLAS_FL.GetField(@("Field.SSR_INSTR_LONG" | &fstnum |
&secnum)).Visible = False;
&rs_StdntEnrlV0(&i).SSR_SEL_CLAS_FL.GetField(@("Field.SSR_TIME_LONG"
| &fstnum | &secnum)).Visible = False;

End-For;
End-For;

&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_MORE_CLASS1_FL.Visible = False;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_MORE_CLASS2_FL.Visible = False;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_MORE_CLASS3_FL.Visible = False;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_MORE_CLASS4_FL.Visible = False;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_MORE_CLASS5_FL.Visible = False;

Local boolean &bcheckSFF;

For &j = 1 To &classcompcnt


&obj_EnrlClassInfo.LoadClassInfo(&recinst, &recterm,
&rs_StdntEnrlV1(&j).STDNT_ENRL_SSVW.CLASS_NBR.Value);
If &rs_StdntEnrlV1(&j).STDNT_ENRL_SSVW.CLASS_TYPE.Value = "E" Then
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_CLASS_LONG1.Value =
&rs_StdntEnrlV1(&j).STDNT_ENRL_SSVW.CLASS_NBR.Value;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_CLASS_LONG1.Label =
&rs_StdntEnrlV1(&j).STDNT_ENRL_SSVW.SSR_COMPONENT.LongTranslateValue | " " |
&rs_StdntEnrlV1(&j).STDNT_ENRL_SSVW.CLASS_NBR.Value;

If RTrim(LTrim(&obj_EnrlClassInfo.Class_Meeting_List)) = "" Or
&obj_EnrlClassInfo.Class_Meeting_List = "TBA" Then
&rs_StdntEnrlV0(&i).SSR_SEL_CLAS_FL.SSR_DAY_LONG11.Visible =
True;
&rs_StdntEnrlV0(&i).SSR_SEL_CLAS_FL.SSR_DAY_LONG11.Value =
MsgGetText(14770, 543, "Message not found.");
&rs_StdntEnrlV0(&i).SSR_SEL_CLAS_FL.SSR_DAY_LONG11.Label =
MsgGetText(14770, 539, "Message not found.");

&rs_StdntEnrlV0(&i).SSR_SEL_CLAS_FL.SSR_DAY_LONG11.AddFFClass("psc_margin-
standard");

Else
%This.LoadMeetingPattern_sff(&recterm,
&rs_StdntEnrlV1(&j).STDNT_ENRL_SSVW.CLASS_NBR.Value,
&rs_StdntEnrlV0(&i).SSR_SEL_CLAS_FL, &j);

If &patternend Then
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_MORE_CLASS1_FL.Visible
= True;
Else
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_MORE_CLASS1_FL.Visible
= False;
End-If;
End-If;

&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_UNITS_LBL.Value =
NumberToString("%6.2", &rs_StdntEnrlV0(&i).SSR_STENRL_SSV2.UNT_TAKEN.Value);

&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_STATUS_LBL.Value =
&rs_StdntEnrlV0(&i).SSR_STENRL_SSV2.STDNT_ENRL_STATUS.LongTranslateValue;

&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.STATEMENT.Value =
MsgGetText(14770, 1023, "Message not found.") | ": " |
&rs_StdntEnrlV0(&i).SSR_STENRL_SSV2.STDNT_ENRL_STATUS.LongTranslateValue | "
" | MsgGetText(14770, 566, "Message not found.") | ": " |
RTrim(LTrim(NumberToString("%6.2",
&rs_StdntEnrlV0(&i).SSR_STENRL_SSV2.UNT_TAKEN.Value)));
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.STATEMENT.Label =
MsgGetText(14770, 1023, "Message not found.") | " and " | MsgGetText(14770, 566,
"Message not found.");

Else
If &k = 2 Then

&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_CLASS_LONG2.Value =
&rs_StdntEnrlV1(&j).STDNT_ENRL_SSVW.CLASS_NBR.Value;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_CLASS_LONG2.Label =
&rs_StdntEnrlV1(&j).STDNT_ENRL_SSVW.SSR_COMPONENT.LongTranslateValue | " " |
&rs_StdntEnrlV1(&j).STDNT_ENRL_SSVW.CLASS_NBR.Value;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_CLASS_LONG2.Visible =
True;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.FILLER_FIELD1.Visible = True;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_DAY_LONG2.Visible = True;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_INSTR_LONG_2.Visible =
True;

If RTrim(LTrim(&obj_EnrlClassInfo.Class_Meeting_List)) = "" Or
&obj_EnrlClassInfo.Class_Meeting_List = "TBA" Then
&rs_StdntEnrlV0(&i).SSR_SEL_CLAS_FL.SSR_DAY_LONG21.Visible =
True;
&rs_StdntEnrlV0(&i).SSR_SEL_CLAS_FL.SSR_DAY_LONG21.Value =
MsgGetText(14770, 543, "Message not found.");
&rs_StdntEnrlV0(&i).SSR_SEL_CLAS_FL.SSR_DAY_LONG21.Label =
MsgGetText(14770, 539, "Message not found.");

&rs_StdntEnrlV0(&i).SSR_SEL_CLAS_FL.SSR_DAY_LONG21.AddFFClass("psc_margin-
standard");

Else
%This.LoadMeetingPattern_sff(&recterm,
&rs_StdntEnrlV1(&j).STDNT_ENRL_SSVW.CLASS_NBR.Value,
&rs_StdntEnrlV0(&i).SSR_SEL_CLAS_FL, &j);
If &patternend Then

&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_MORE_CLASS2_FL.Visible = True;
Else

&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_MORE_CLASS2_FL.Visible = False;
End-If;
End-If;

End-If;

If &k = 3 Then

&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_CLASS_LONG3.Value =
&rs_StdntEnrlV1(&j).STDNT_ENRL_SSVW.CLASS_NBR.Value;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_CLASS_LONG3.Label =
&rs_StdntEnrlV1(&j).STDNT_ENRL_SSVW.SSR_COMPONENT.LongTranslateValue | " " |
&rs_StdntEnrlV1(&j).STDNT_ENRL_SSVW.CLASS_NBR.Value;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_CLASS_LONG3.Visible =
True;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.FILLER_FIELD2.Visible = True;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_DAY_LONG3.Visible = True;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_INSTR_LONG_3.Visible =
True;

If RTrim(LTrim(&obj_EnrlClassInfo.Class_Meeting_List)) = "" Or
&obj_EnrlClassInfo.Class_Meeting_List = "TBA" Then
&rs_StdntEnrlV0(&i).SSR_SEL_CLAS_FL.SSR_DAY_LONG31.Visible =
True;
&rs_StdntEnrlV0(&i).SSR_SEL_CLAS_FL.SSR_DAY_LONG31.Value =
MsgGetText(14770, 543, "Message not found.");
&rs_StdntEnrlV0(&i).SSR_SEL_CLAS_FL.SSR_DAY_LONG31.Label =
MsgGetText(14770, 539, "Message not found.");

&rs_StdntEnrlV0(&i).SSR_SEL_CLAS_FL.SSR_DAY_LONG31.AddFFClass("psc_margin-
standard");
Else
%This.LoadMeetingPattern_sff(&recterm,
&rs_StdntEnrlV1(&j).STDNT_ENRL_SSVW.CLASS_NBR.Value,
&rs_StdntEnrlV0(&i).SSR_SEL_CLAS_FL, &j);
If &patternend Then

&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_MORE_CLASS3_FL.Visible = True;
Else

&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_MORE_CLASS3_FL.Visible = False;
End-If;
End-If;
End-If;

If &k = 4 Then

&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_CLASS_LONG4.Value =
&rs_StdntEnrlV1(&j).STDNT_ENRL_SSVW.CLASS_NBR.Value;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_CLASS_LONG4.Label =
&rs_StdntEnrlV1(&j).STDNT_ENRL_SSVW.SSR_COMPONENT.LongTranslateValue | " " |
&rs_StdntEnrlV1(&j).STDNT_ENRL_SSVW.CLASS_NBR.Value;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_CLASS_LONG4.Visible =
True;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.FILLER_FIELD3.Visible = True;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_DAY_LONG4.Visible = True;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_INSTR_LONG_4.Visible =
True;

If RTrim(LTrim(&obj_EnrlClassInfo.Class_Meeting_List)) = "" Or
&obj_EnrlClassInfo.Class_Meeting_List = "TBA" Then
&rs_StdntEnrlV0(&i).SSR_SEL_CLAS_FL.SSR_DAY_LONG41.Visible =
True;
&rs_StdntEnrlV0(&i).SSR_SEL_CLAS_FL.SSR_DAY_LONG41.Value =
MsgGetText(14770, 543, "Message not found.");
&rs_StdntEnrlV0(&i).SSR_SEL_CLAS_FL.SSR_DAY_LONG41.Label =
MsgGetText(14770, 539, "Message not found.");

&rs_StdntEnrlV0(&i).SSR_SEL_CLAS_FL.SSR_DAY_LONG41.AddFFClass("psc_margin-
standard");

Else
%This.LoadMeetingPattern_sff(&recterm,
&rs_StdntEnrlV1(&j).STDNT_ENRL_SSVW.CLASS_NBR.Value,
&rs_StdntEnrlV0(&i).SSR_SEL_CLAS_FL, &j);
If &patternend Then

&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_MORE_CLASS4_FL.Visible = True;
Else

&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_MORE_CLASS4_FL.Visible = False;
End-If;
End-If;

End-If;

If &k = 5 Then

&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_CLASS_LONG5.Value =
&rs_StdntEnrlV1(&j).STDNT_ENRL_SSVW.CLASS_NBR.Value;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_CLASS_LONG5.Label =
&rs_StdntEnrlV1(&j).STDNT_ENRL_SSVW.SSR_COMPONENT.LongTranslateValue | " " |
&rs_StdntEnrlV1(&j).STDNT_ENRL_SSVW.CLASS_NBR.Value;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_CLASS_LONG5.Visible =
True;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.FILLER_FIELD4.Visible = True;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_DAY_LONG5.Visible = True;
&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_INSTR_LONG_5.Visible =
True;

If RTrim(LTrim(&obj_EnrlClassInfo.Class_Meeting_List)) = "" Or
&obj_EnrlClassInfo.Class_Meeting_List = "TBA" Then
&rs_StdntEnrlV0(&i).SSR_SEL_CLAS_FL.SSR_DAY_LONG51.Visible =
True;
&rs_StdntEnrlV0(&i).SSR_SEL_CLAS_FL.SSR_DAY_LONG51.Value =
MsgGetText(14770, 543, "Message not found.");
&rs_StdntEnrlV0(&i).SSR_SEL_CLAS_FL.SSR_DAY_LONG51.Label =
MsgGetText(14770, 539, "Message not found.");

&rs_StdntEnrlV0(&i).SSR_SEL_CLAS_FL.SSR_DAY_LONG51.AddFFClass("psc_margin-
standard");

Else
%This.LoadMeetingPattern_sff(&recterm,
&rs_StdntEnrlV1(&j).STDNT_ENRL_SSVW.CLASS_NBR.Value,
&rs_StdntEnrlV0(&i).SSR_SEL_CLAS_FL, &j);
If &patternend Then

&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_MORE_CLASS5_FL.Visible = True;
Else

&rs_StdntEnrlV0(&i).SSR_ED_CLASS_FL.SSR_MORE_CLASS5_FL.Visible = False;
End-If;
End-If;
End-If;
&k = &k + 1;
End-If;
End-For;
End-For;
End-If;

end-method;

method DERIVED_SSR_FL__SSR_CHANGE_BTN_FieldChange
%This.SelectTerm();

end-method;

method SelectTerm

Local SCC_FLUID:UTIL:Popup &oPopup;


Local boolean &REC1;
Local string &sModalOptions;
Local Page &recmodalpage;
Local integer &retCode;

&oPopup = create SCC_FLUID:UTIL:Popup();


If %Request.BrowserDeviceFormFactor = %FormFactor_Small Or
%Request.BrowserDeviceType = "tablet" Then
&sModalOptions = GetHTMLText(HTML.SCC_MO_FULLSCREEN_FL);
Else
&sModalOptions = GetHTMLText(HTML.SCC_MO_POPUP_FL) |
";width@550;height@600;";
End-If;
Local string &rempage;

If %Page = Page.SSR_VW_CLASS_FL Or
%Page = Page.SSR_ED_CLASS_FL Then
&retCode = DoModalPopup(&sModalOptions, "", False, False,
Page.SSR_TERM_STA1_SCF, MsgGetText(14770, 513, "Message not found."), - 1, - 1, 0);
&rempage = Page.SSR_ED_CLASS_FL;

End-If;

If DERIVED_SSR_FL.ACAD_CAREER.Value <> &recChangeCar Or


DERIVED_SSR_FL.INSTITUTION.Value <> &recChangeInst Or
DERIVED_SSR_FL.STRM.Value <> &recChangeTerm Then

&recterm = &recChangeTerm;
&recinst = &recChangeInst;
&reccar = &recChangeCar;

DERIVED_SSR_FL.ACAD_CAREER.Value = &reccar;
DERIVED_SSR_FL.INSTITUTION.Value = &recinst;
DERIVED_SSR_FL.STRM.Value = &recterm;
TransferPage(@("page." | &rempage));
Else
TransferPage(@("page." | &rempage));
End-If;
end-method;

method LoadMeetingPattern
/+ &termcheck as String, +/
/+ &classnbrcheck as Integer +/
/+ Returns String +/

Local SSR_MANAGE_CLASSES:UTIL:MeetingDetails &oMeetingDetails = create


SSR_MANAGE_CLASSES:UTIL:MeetingDetails();
Local integer &cntpattern, &i, &j, &cntClsSchedOpt;
Local string &meetingpat;
Local Rowset &rsmeetpattern;

Local SSR_MANAGE_CLASSES:UTIL:Formatter &formatter = create


SSR_MANAGE_CLASSES:UTIL:Formatter();
&rsmeetpattern = CreateRowset(Record.CLASS_MTG_PT_VW);
&cntpattern = &rsmeetpattern.Fill("Where strm = :1 and class_nbr =:2",
&termcheck, &classnbrcheck);
&roomdetails = "";
&roomdetails_tag = False;
&roomdetails_cnt = 1;
&roomdetails2 = "";
If &cntpattern > 0 Then

Local string &sMon =


&rsmeetpattern(&cntpattern).CLASS_MTG_PT_VW.MON.GetLongLabel("MON");
Local string &sTues =
&rsmeetpattern(&cntpattern).CLASS_MTG_PT_VW.TUES.GetLongLabel("TUES");
Local string &sWed =
&rsmeetpattern(&cntpattern).CLASS_MTG_PT_VW.WED.GetLongLabel("WED");
Local string &sThurs =
&rsmeetpattern(&cntpattern).CLASS_MTG_PT_VW.THURS.GetLongLabel("THURS");
Local string &sFri =
&rsmeetpattern(&cntpattern).CLASS_MTG_PT_VW.FRI.GetLongLabel("FRI");
Local string &sSat =
&rsmeetpattern(&cntpattern).CLASS_MTG_PT_VW.SAT.GetLongLabel("SAT");
Local string &sSun =
&rsmeetpattern(&cntpattern).CLASS_MTG_PT_VW.SUN.GetLongLabel("SUN");

&oMeetingDetails.sInstitution = &recinst;
&oMeetingDetails.sAcademicCareer = &reccar;
&oMeetingDetails.sTerm = &recterm;
&oMeetingDetails.Instantiate("EditClasses");

For &i = 1 To &cntpattern


&patternend = False;
If &i <= &oMeetingDetails.iMaxSchedToDisplay Then

/* Days */
Local string &sday = "";
Local boolean &bConscDaysBrkn = False;
Local integer &iConscDaysCtr = 0;
Local string &sFirstDay = " ";
Local string &sLastDay = " ";
Local string &sPrevDay = " ";

If &rsmeetpattern(&i).CLASS_MTG_PT_VW.MON.Value Then
&sday = &sday |
&rsmeetpattern(&i).CLASS_MTG_PT_VW.MON.GetLongLabel("MON") | " ";
&sFirstDay = &sMon;
&sPrevDay = &sMon;
&iConscDaysCtr = &iConscDaysCtr + 1;
End-If;

If &rsmeetpattern(&i).CLASS_MTG_PT_VW.TUES.Value Then
&sday = &sday |
&rsmeetpattern(&i).CLASS_MTG_PT_VW.TUES.GetLongLabel("TUES") | " ";
If &sPrevDay = &sMon Then
&iConscDaysCtr = &iConscDaysCtr + 1;
&sLastDay = &sTues;
Else
&iConscDaysCtr = 1;
&sFirstDay = &sTues;
&sLastDay = " ";
End-If;
&sPrevDay = &sTues;
End-If;

If &rsmeetpattern(&i).CLASS_MTG_PT_VW.WED.Value Then
&sday = &sday |
&rsmeetpattern(&i).CLASS_MTG_PT_VW.WED.GetLongLabel("WED") | " ";
If &sPrevDay = &sTues Then
&iConscDaysCtr = &iConscDaysCtr + 1;
&sLastDay = &sWed;
Else
If &iConscDaysCtr <> 0 Then
&bConscDaysBrkn = True;
Else
&iConscDaysCtr = 1;
&sFirstDay = &sWed;
&sLastDay = " ";
End-If;
End-If;
&sPrevDay = &sWed;
End-If;

If &rsmeetpattern(&i).CLASS_MTG_PT_VW.THURS.Value Then
&sday = &sday |
&rsmeetpattern(&i).CLASS_MTG_PT_VW.THURS.GetLongLabel("THURS") | " ";
If Not &bConscDaysBrkn Then
If &sPrevDay = &sWed Then
&iConscDaysCtr = &iConscDaysCtr + 1;
&sLastDay = &sThurs;
Else
If &iConscDaysCtr <> 0 Then
&bConscDaysBrkn = True;
Else
&iConscDaysCtr = 1;
&sFirstDay = &sThurs;
&sLastDay = " ";
End-If;
End-If;
&sPrevDay = &sThurs;
End-If;
End-If;

If &rsmeetpattern(&i).CLASS_MTG_PT_VW.FRI.Value Then
&sday = &sday |
&rsmeetpattern(&i).CLASS_MTG_PT_VW.FRI.GetLongLabel("FRI") | " ";
If Not &bConscDaysBrkn Then
If &sPrevDay = &sThurs Then
&iConscDaysCtr = &iConscDaysCtr + 1;
&sLastDay = &sFri;
Else
If &iConscDaysCtr <> 0 Then
&bConscDaysBrkn = True;
Else
&iConscDaysCtr = 0;
&sFirstDay = " ";
&sLastDay = " ";
End-If;
End-If;
&sPrevDay = &sFri;
End-If;
End-If;

If &rsmeetpattern(&i).CLASS_MTG_PT_VW.SAT.Value Then
&sday = &sday |
&rsmeetpattern(&i).CLASS_MTG_PT_VW.SAT.GetLongLabel("SAT") | " ";
If Not &bConscDaysBrkn Then
If &sPrevDay = &sFri Then
&iConscDaysCtr = &iConscDaysCtr + 1;
&sLastDay = &sSat;
Else
If &iConscDaysCtr <> 0 Then
&bConscDaysBrkn = True;
Else
&iConscDaysCtr = 0;
&sFirstDay = " ";
&sLastDay = " ";
End-If;
End-If;
&sPrevDay = &sSat;
End-If;
End-If;

If &rsmeetpattern(&i).CLASS_MTG_PT_VW.SUN.Value Then
&sday = &sday |
&rsmeetpattern(&i).CLASS_MTG_PT_VW.SUN.GetLongLabel("SUN") | " ";
If Not &bConscDaysBrkn Then
If &sPrevDay = &sSat Then
&iConscDaysCtr = &iConscDaysCtr + 1;
&sLastDay = &sSun;
Else
If &iConscDaysCtr <> 0 Then
&bConscDaysBrkn = True;
Else
&iConscDaysCtr = 0;
&iConscDaysCtr = 0;
&sFirstDay = " ";
&sLastDay = " ";
End-If;
End-If;
&sPrevDay = &sSun;
End-If;
End-If;

If &sday = "" Then


&sday = MsgGetText(14770, 543, "Message Not Found");
Else
If ( Not &bConscDaysBrkn) And
(&iConscDaysCtr > 3) Then
&sday = MsgGetText(14770, 708, "Message not found.", &sFirstDay,
&sLastDay);
End-If;
End-If;

/* Time */
&sTime = "";
If (&rsmeetpattern(&i).CLASS_MTG_PT_VW.MEETING_TIME_START.Value <>
0.00) And
(&rsmeetpattern(&i).CLASS_MTG_PT_VW.MEETING_TIME_START.Value <>
Time("")) Then
Local string &L_NewTime1 =
&formatter.FormatTime(&rsmeetpattern(&i).CLASS_MTG_PT_VW.START_DT.Value,
&rsmeetpattern(&i).CLASS_MTG_PT_VW.MEETING_TIME_START.Value);
Local string &L_NewTime2 =
&formatter.FormatTime(&rsmeetpattern(&i).CLASS_MTG_PT_VW.START_DT.Value,
&rsmeetpattern(&i).CLASS_MTG_PT_VW.MEETING_TIME_END.Value);
&sTime = MsgGetText(14770, 708, "Message not found.", &L_NewTime1,
&L_NewTime2);
End-If;
If &sTime = "" Then
&sTime = MsgGetText(14770, 543, "Message Not Found");
End-If;

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then


&meetingpat = &meetingpat | Char(10) | Char(13) | MsgGetText(14770,
514, "Message Not Found") | ": " | &sday | Char(10) | Char(13) | MsgGetText(14770,
515, "Message Not Found") | ": " | &sTime;
&roomdetails = &roomdetails | Char(10) | Char(13) |
%This.LoadRoomDetail(&rsmeetpattern(&i).CLASS_MTG_PT_VW.CRSE_ID.Value,
&rsmeetpattern(&i).CLASS_MTG_PT_VW.CRSE_OFFER_NBR.Value, &recterm,
&rsmeetpattern(&i).CLASS_MTG_PT_VW.SESSION_CODE.Value,
&rsmeetpattern(&i).CLASS_MTG_PT_VW.CLASS_SECTION.Value, &i);
If &roomdetails_cnt = 1 Then
&roomdetails2 =
%This.LoadRoomDetail(&rsmeetpattern(&i).CLASS_MTG_PT_VW.CRSE_ID.Value,
&rsmeetpattern(&i).CLASS_MTG_PT_VW.CRSE_OFFER_NBR.Value, &recterm,
&rsmeetpattern(&i).CLASS_MTG_PT_VW.SESSION_CODE.Value,
&rsmeetpattern(&i).CLASS_MTG_PT_VW.CLASS_SECTION.Value, &i);
&roomdetails_cnt = &roomdetails_cnt + 1;
Else
If &roomdetails2 =
%This.LoadRoomDetail(&rsmeetpattern(&i).CLASS_MTG_PT_VW.CRSE_ID.Value,
&rsmeetpattern(&i).CLASS_MTG_PT_VW.CRSE_OFFER_NBR.Value, &recterm,
&rsmeetpattern(&i).CLASS_MTG_PT_VW.SESSION_CODE.Value,
&rsmeetpattern(&i).CLASS_MTG_PT_VW.CLASS_SECTION.Value, &i) And
&roomdetails2 = MsgGetText(14770, 543, "Message Not Found")
Then
&roomdetails_tag = False;
Else
&roomdetails_tag = True;
End-If;
&roomdetails_cnt = &roomdetails_cnt + 1;
End-If;
Else

If &sTime <> &sday Then


If &sTime = MsgGetText(14770, 543, "Message Not Found") Then
&meetingpat = &meetingpat | Char(10) | Char(13) | &sday;
Else
&meetingpat = &meetingpat | Char(10) | Char(13) | &sday | " "
| &sTime;
End-If;
Else
&meetingpat = &meetingpat | Char(10) | Char(13) | &sday;
End-If;

&roomdetails = &roomdetails | Char(10) | Char(13) |


%This.LoadRoomDetail(&rsmeetpattern(&i).CLASS_MTG_PT_VW.CRSE_ID.Value,
&rsmeetpattern(&i).CLASS_MTG_PT_VW.CRSE_OFFER_NBR.Value, &recterm,
&rsmeetpattern(&i).CLASS_MTG_PT_VW.SESSION_CODE.Value,
&rsmeetpattern(&i).CLASS_MTG_PT_VW.CLASS_SECTION.Value, &i);
If &roomdetails_cnt = 1 Then
&roomdetails2 =
%This.LoadRoomDetail(&rsmeetpattern(&i).CLASS_MTG_PT_VW.CRSE_ID.Value,
&rsmeetpattern(&i).CLASS_MTG_PT_VW.CRSE_OFFER_NBR.Value, &recterm,
&rsmeetpattern(&i).CLASS_MTG_PT_VW.SESSION_CODE.Value,
&rsmeetpattern(&i).CLASS_MTG_PT_VW.CLASS_SECTION.Value, &i);
&roomdetails_cnt = &roomdetails_cnt + 1;
Else

If &roomdetails2 =
%This.LoadRoomDetail(&rsmeetpattern(&i).CLASS_MTG_PT_VW.CRSE_ID.Value,
&rsmeetpattern(&i).CLASS_MTG_PT_VW.CRSE_OFFER_NBR.Value, &recterm,
&rsmeetpattern(&i).CLASS_MTG_PT_VW.SESSION_CODE.Value,
&rsmeetpattern(&i).CLASS_MTG_PT_VW.CLASS_SECTION.Value, &i) And
&roomdetails2 = MsgGetText(14770, 543, "Message Not Found")
Then
&roomdetails_tag = False;

Else
&roomdetails_tag = True;
End-If;
&roomdetails_cnt = &roomdetails_cnt + 1;
End-If;
End-If;

Else
&patternend = True;
If &i = &oMeetingDetails.iMaxSchedToDisplay + 1 Then
If %Request.BrowserDeviceFormFactor <> %FormFactor_Small Then
&meetingpat = &meetingpat;
Break;
Else
&meetingpat = &meetingpat | Char(10) | Char(13) |
&oMeetingDetails.sMaxHasReachedMessage;

End-If;
End-If;
Break;
End-If;
End-For;

If Not &roomdetails_tag Then


&roomdetails = &roomdetails2;
End-If;

Return &meetingpat;
Else
&patternend = False;

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then


&roomdetails = MsgGetText(14770, 516, "Message not found.") | " " |
MsgGetText(14770, 543, "Message Not Found");
Return (MsgGetText(14770, 514, "Message not found.") | " " |
MsgGetText(14770, 543, "Message Not Found"));

Else
&roomdetails = MsgGetText(14770, 543, "Message Not Found");
Return MsgGetText(14770, 543, "Message Not Found");

End-If;

End-If;

end-method;
method LoadRoomDetail
/+ &crse_idcheck as String, +/
/+ &crse_offer_nbrcheck as Integer, +/
/+ &termcheck as String, +/
/+ &session_codecheck as String, +/
/+ &class_sectioncheck as String, +/
/+ &ntgpatcheck as Integer +/
/+ Returns String +/

Local integer &cntgetsetid, &cntmtgpatternroom;


Local Rowset &rsgetsetid;
Local Record &recfacility, &recmtgpatternroom;
&recfacility = CreateRecord(Record.FACILITY_TBL);
&rsgetsetid = CreateRowset(Record.SET_CNTRL_REC);
&cntgetsetid = &rsgetsetid.Fill("WHERE RECNAME = 'FACILITY_TBL' AND
SETCNTRLVALUE = :1", &recinst);
&setId = &rsgetsetid(&cntgetsetid).SET_CNTRL_REC.SETID.Value;

&recmtgpatternroom = CreateRecord(Record.CLASS_MTG_VW);

&recmtgpatternroom.CRSE_ID.Value = &crse_idcheck;
&recmtgpatternroom.CRSE_OFFER_NBR.Value = &crse_offer_nbrcheck;
&recmtgpatternroom.STRM.Value = &termcheck;
&recmtgpatternroom.SESSION_CODE.Value = &session_codecheck;
&recmtgpatternroom.CLASS_SECTION.Value = &class_sectioncheck;
&recmtgpatternroom.CLASS_MTG_NBR.Value = &ntgpatcheck;

If &recmtgpatternroom.SelectByKey() Then
&recfacility.FACILITY_ID.Value = &recmtgpatternroom.FACILITY_ID.Value;
&recfacility.SETID.Value = &setId;
If &recfacility.SelectByKeyEffDt(&recTermBeginDt) Then
Return &recfacility.DESCR.Value;
Else
Return MsgGetText(14770, 543, "Message Not Found");
End-If;
Else
Return MsgGetText(14770, 543, "Message Not Found");
End-If;

end-method;

method SSR_CLSDTL_LF_SCF__Activate

&oClassInformation.SSR_CLSDTL_LF_SCF_Activate();
end-method;

method SSR_CLASSDTL_SCF_Activate
&oClassInformation.SSR_CLASSDTL_SCF_Activate();
end-method;

method SSR_DER1_MTG_FL_SSR_MTGINFO_DATA__FieldChange
&oClassInformation.SSR_DER1_MTG_FL__SSR_MTGINFO_DATA_FieldChange();
end-method;

method SSR_INSTDTL_LF_SCF_Activate

&oClassInformation.SSR_INSTDTL_LF_SCF_Activate();
end-method;
method SSR_INSTRDTL_SCF_Activate
&oClassInformation.SSR_INSTRDTL_SCF_Activate();
end-method;

method DERIVED_SSR_FL_SSR_CL_DTLS_LFF__FieldChange
&oClassInformation.DERIVED_SSR_FL__SSR_CL_DTLS_LFF_FieldChange();
end-method;

method DERIVED_SSR_FL_SSR_INSTR_NME_FL__FieldChange
&oClassInformation.DERIVED_SSR_FL__SSR_INSTR_NME_FL_FieldChange();
end-method;

method DERIVED_SSR_FL_SSR_INSTR_FL__FieldChange
&oClassInformation.DERIVED_SSR_FL__SSR_INSTR_FL_FieldChange();
end-method;

method DERIVED_SSR_FL__SSR_CL_DTLS_OPT_FieldChange

&oClassInformation.DERIVED_SSR_FL__SSR_CL_DTLS_OPT_FieldChange();

end-method;

method SSR_ED_CLASS_FL_SSR_CLASSNAME_LONG__FieldChange
/+ &classnbr as Integer +/

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then


&oClassInformation.DefaultTab = "MD"; /* Default to Meeting Details tab */
Else
&oClassInformation.DefaultTab = "CD"; /* Default to Class Details tab */
End-If;

Local Record &recclasstblvw = CreateRecord(Record.CLASS_TBL_VW);


&oClassInformation.recEmplId = &recEmplId;
&oClassInformation.recInst = &recinst;
&oClassInformation.recCar = &reccar;
&oClassInformation.recTerm = &recterm;
&oClassInformation.recTermBeginDt = &recTermBeginDt;

&recclasstblvw.INSTITUTION.Value = &recinst;
&recclasstblvw.STRM.Value = &recterm;

Evaluate &classnbr
When 1
&recclasstblvw.CLASS_NBR.Value = SSR_ED_CLASS_FL.SSR_CLASS_LONG1.Value;
When 2
&recclasstblvw.CLASS_NBR.Value = SSR_ED_CLASS_FL.SSR_CLASS_LONG2.Value;
When 3
&recclasstblvw.CLASS_NBR.Value = SSR_ED_CLASS_FL.SSR_CLASS_LONG3.Value;
When 4
&recclasstblvw.CLASS_NBR.Value = SSR_ED_CLASS_FL.SSR_CLASS_LONG4.Value;
When 5
&recclasstblvw.CLASS_NBR.Value = SSR_ED_CLASS_FL.SSR_CLASS_LONG5.Value;
End-Evaluate;

&recclasstblvw.CLASS_NBR.Value = &classnbr;

If &recclasstblvw.SelectByKey() Then
&oClassInformation.subject = &recclasstblvw.SUBJECT.Value;
&oClassInformation.catalog_nbr = &recclasstblvw.CATALOG_NBR.Value;
&oClassInformation.associated_class = &recclasstblvw.ASSOCIATED_CLASS.Value;
&oClassInformation.sCourseTitle = &recclasstblvw.DESCR.Value;

&oClassInformation.crse_id = &recclasstblvw.CRSE_ID.Value;
&oClassInformation.crse_offer_nbr = &recclasstblvw.CRSE_OFFER_NBR.Value;
&oClassInformation.session_code = &recclasstblvw.SESSION_CODE.Value;
&oClassInformation.class_section = &recclasstblvw.CLASS_SECTION.Value;

&oClassInformation.class_nbr = &recclasstblvw.CLASS_NBR.Value;
&oClassInformation.ssr_component = &recclasstblvw.SSR_COMPONENT.Value;

If &recclasstblvw.CLASS_TYPE.Value = "E" Then


&oClassInformation.sgrading_basis =
RTrim(LTrim(SSR_ED_CLASS_FL.SSR_GRADE_BASIS_SS.Value));
&oClassInformation.sunt_taken = SSR_ED_CLASS_FL.SSR_UNITS_LBL.Value;
Else
&oClassInformation.sgrading_basis = "NON";
&oClassInformation.sunt_taken = "0.00";
End-If;

End-If;

&oClassInformation.Instantiate();
end-method;

method SSR_ED_CLASS_FL_SSR_CLASS_MAIN__FieldChange

&oManageClassesGlobalVars.aEditClasses_Class_nbr = CreateArrayRept(0, 4);


&oManageClassesGlobalVars.tEditClasses_Class_nbr = CreateArrayRept(0, 4);
&oManageClassesGlobalVars.optionnmbrcheck = 0;
&oManageClassesGlobalVars.aEditClasses_Class_nbr [1] = 0;
&oManageClassesGlobalVars.aEditClasses_Class_nbr [2] = 0;
&oManageClassesGlobalVars.aEditClasses_Class_nbr [3] = 0;
&oManageClassesGlobalVars.aEditClasses_Class_nbr [4] = 0;
&oManageClassesGlobalVars.bChangeclass = False;
&oManageClassesGlobalVars.altclasscheck = False;
&oManageClassesGlobalVars.classprefcheck = False;
Local Record &recAutoClass = CreateRecord(Record.CLASS_TBL);
Local Rowset &rsSelectClass = CreateRowset(Record.STDNT_ENRL_SSVW);
Local Record &recOptions = CreateRecord(Record.CLASS_TBL_VW);
Local integer &i, &j, &cntComp;
Local integer &classnbrcheck;
Local boolean &selectcheck = False;

&oManageClassesGlobalVars.sEditClasses_Class_nbr =
SSR_ED_CLASS_FL.SSR_CLASS_LONG1.Value;
&oManageClassesGlobalVars.sEditClasses_Class_desc =
Substitute(SSR_ED_CLASS_FL.SSR_CLASS_MAIN.Label, "-", " ");
&oEditClasses = create SSR_MANAGE_CLASSES:UTIL:EditClasses(&recEmplId, &reccar,
&recinst, &recterm);
&classnbrcheck = SSR_STENRL_SSV2.CLASS_NBR.Value;
&oManageClassesGlobalVars.mainstatus = SSR_ED_CLASS_FL.SSR_STATUS_LBL.Value;
&selectcheck = True;

If &selectcheck Then
&cntComp = &rsSelectClass.Fill("Where EMPLID = :1 AND STRM = :2 AND
INSTITUTION = :3 AND ACAD_CAREER = :4 AND CLASS_NBR = :5", &recEmplId, &recterm,
&recinst, &reccar, &classnbrcheck);
If &cntComp > 0 Then
If &rsSelectClass(&cntComp).STDNT_ENRL_SSVW.RELATE_CLASS_NBR_1.Value > 0
Then

&oManageClassesGlobalVars.aEditClasses_Class_nbr [3] =
&rsSelectClass(&cntComp).STDNT_ENRL_SSVW.RELATE_CLASS_NBR_1.Value;

End-If;

If &rsSelectClass(&cntComp).STDNT_ENRL_SSVW.RELATE_CLASS_NBR_2.Value > 0
Then

&oManageClassesGlobalVars.aEditClasses_Class_nbr [4] =
&rsSelectClass(&cntComp).STDNT_ENRL_SSVW.RELATE_CLASS_NBR_2.Value;

End-If;

&recOptions.INSTITUTION.Value = &recinst;
&recOptions.STRM.Value = &recterm;
&recOptions.CLASS_NBR.Value = &classnbrcheck;
If &recOptions.SelectByKey() Then
If &recOptions.AUTO_ENROLL_SECT_1.Value <> "" Then
&recAutoClass.CRSE_ID.Value = &recOptions.CRSE_ID.Value;
&recAutoClass.CRSE_OFFER_NBR.Value =
&recOptions.CRSE_OFFER_NBR.Value;
&recAutoClass.STRM.Value = &recOptions.CRSE_ID.Value;
&recAutoClass.SESSION_CODE.Value = &recOptions.CRSE_ID.Value;
&recAutoClass.CLASS_SECTION.Value =
&recOptions.AUTO_ENROLL_SECT_1.Value;
If &recAutoClass.SelectByKey() Then
&oManageClassesGlobalVars.aEditClasses_Class_nbr [1] =
&recAutoClass.CLASS_NBR.Value;
End-If;
End-If;

If &recOptions.AUTO_ENROLL_SECT_2.Value <> "" Then


&recAutoClass.CRSE_ID.Value = &recOptions.CRSE_ID.Value;
&recAutoClass.CRSE_OFFER_NBR.Value = &recOptions.CRSE_ID.Value;
&recAutoClass.STRM.Value = &recOptions.CRSE_ID.Value;
&recAutoClass.SESSION_CODE.Value = &recOptions.CRSE_ID.Value;
&recAutoClass.CLASS_SECTION.Value =
&recOptions.AUTO_ENROLL_SECT_2.Value;
If &recAutoClass.SelectByKey() Then
&oManageClassesGlobalVars.aEditClasses_Class_nbr [2] =
&recAutoClass.CLASS_NBR.Value;
End-If;
End-If;
End-If;

&oManageClassesGlobalVars.tEditClasses_Class_nbr [1] =
&oManageClassesGlobalVars.aEditClasses_Class_nbr [1];
&oManageClassesGlobalVars.tEditClasses_Class_nbr [2] =
&oManageClassesGlobalVars.aEditClasses_Class_nbr [2];
&oManageClassesGlobalVars.tEditClasses_Class_nbr [3] =
&oManageClassesGlobalVars.aEditClasses_Class_nbr [3];
&oManageClassesGlobalVars.tEditClasses_Class_nbr [4] =
&oManageClassesGlobalVars.aEditClasses_Class_nbr [4];
&oManageClassesGlobalVars.bAcceptflag = 0;

&oEditClasses.DeleteAGInstance("SR_EDIT_FL");

%This.TransferToDropClassesAG();

Else
&Panel.SetConfirmationMessage(MsgGetText(158, 20151, "Message not
found."), False);
End-If;

Else
&Panel.SetConfirmationMessage(MsgGetText(14770, 1100, "Message not found."),
False);
End-If;

end-method;

method GetClassOptions
/+ Returns Rowset +/

Local SSR_MANAGE_CLASSES:UTIL:ClassOptions &oClassOptions = create


SSR_MANAGE_CLASSES:UTIL:ClassOptions();
Local Rowset &rs_ClsGrpOptns;
Local number &nAutoEnrlClassNbr1, &nAutoEnrlClassNbr2;
Local number &nRelateClassNbr1, &nRelateClassNbr2;
Local Record &rec_getrelateclass, &rec_getrelateclass1;
Local Rowset &rs_getrelateclass;
Local integer &classnbrctr, &i;
Local integer &k, &j;

Local Rowset &rsavailOptions, &rsclassOptions;

&rs_getrelateclass = CreateRowset(Record.STDNT_ENRL_SSVW);
&rec_getrelateclass = CreateRecord(Record.SSR_STENRL_SSV2);
&rs_ClsGrpOptns = CreateRowset(Record.SSR_DER_CS_FLTR);
&rs_ClsGrpOptns(1).SSR_DER_CS_FLTR.CLASS_NBR.Value =
&oManageClassesGlobalVars.sEditClasses_Class_nbr;
&rs_ClsGrpOptns(1).SSR_DER_CS_FLTR.STRM.Value =
&oManageClassesGlobalVars.AGTerm;
&rs_ClsGrpOptns(1).SSR_DER_CS_FLTR.INSTITUTION.Value =
&oManageClassesGlobalVars.AGInst;
&nAutoEnrlClassNbr2 = 0;
&nAutoEnrlClassNbr1 = 0;

&rec_getrelateclass.EMPLID.Value = &oManageClassesGlobalVars.AGEmplId;
&rec_getrelateclass.INSTITUTION.Value = &oManageClassesGlobalVars.AGInst;
&rec_getrelateclass.ACAD_CAREER.Value = &oManageClassesGlobalVars.AGCar;
&rec_getrelateclass.STRM.Value = &oManageClassesGlobalVars.AGTerm;
&rec_getrelateclass.CLASS_NBR.Value =
&oManageClassesGlobalVars.sEditClasses_Class_nbr;

If &rec_getrelateclass.SelectByKey() Then

&classnbrctr = &rs_getrelateclass.Fill("WHERE EMPLID = :1 AND INSTITUTION = :


2 AND ACAD_CAREER = :3 AND STRM = :4 AND SUBJECT = :5 AND CATALOG_NBR = :6 AND
CLASS_NBR = :7", &oManageClassesGlobalVars.AGEmplId,
&oManageClassesGlobalVars.AGInst, &oManageClassesGlobalVars.AGCar,
&oManageClassesGlobalVars.AGTerm, &rec_getrelateclass.SUBJECT.Value,
&rec_getrelateclass.CATALOG_NBR.Value, &rec_getrelateclass.CLASS_NBR.Value);

If &classnbrctr > 0 Then


&nRelateClassNbr1 =
&rs_getrelateclass(&classnbrctr).STDNT_ENRL_SSVW.RELATE_CLASS_NBR_1.Value;
&nRelateClassNbr2 =
&rs_getrelateclass(&classnbrctr).STDNT_ENRL_SSVW.RELATE_CLASS_NBR_2.Value;
&rs_ClsGrpOptns(1).SSR_DER_CS_FLTR.RELATE_CLASS_NBR_1.Value =
&rs_getrelateclass(&classnbrctr).STDNT_ENRL_SSVW.RELATE_CLASS_NBR_1.Value;
&rs_ClsGrpOptns(1).SSR_DER_CS_FLTR.RELATE_CLASS_NBR_2.Value =
&rs_getrelateclass(&classnbrctr).STDNT_ENRL_SSVW.RELATE_CLASS_NBR_2.Value;
End-If;

&classnbrctr = &rs_getrelateclass.Fill("WHERE EMPLID = :1 AND INSTITUTION = :


2 AND ACAD_CAREER = :3 AND STRM = :4 AND SUBJECT = :5 AND CATALOG_NBR = :6 AND
CLASS_NBR != :7 AND CLASS_NBR != :8 AND CLASS_NBR != :9",
&oManageClassesGlobalVars.AGEmplId, &oManageClassesGlobalVars.AGInst,
&oManageClassesGlobalVars.AGCar, &oManageClassesGlobalVars.AGTerm,
&rec_getrelateclass.SUBJECT.Value, &rec_getrelateclass.CATALOG_NBR.Value,
&rec_getrelateclass.CLASS_NBR.Value, &nRelateClassNbr1, &nRelateClassNbr2);

If &classnbrctr = 1 Then
&nAutoEnrlClassNbr1 =
&rs_getrelateclass(&classnbrctr).STDNT_ENRL_SSVW.CLASS_NBR.Value;
&rs_ClsGrpOptns(1).SSR_DER_CS_FLTR.SSR_AUTOENRL_CLS_1.Value =
&rs_getrelateclass(1).STDNT_ENRL_SSVW.CLASS_NBR.Value;
&rs_ClsGrpOptns(1).SSR_DER_CS_FLTR.SSR_AUTOENRL_CLS_2.Value =
&nAutoEnrlClassNbr2;
End-If;

If &classnbrctr = 2 Then
&nAutoEnrlClassNbr1 =
&rs_getrelateclass(1).STDNT_ENRL_SSVW.CLASS_NBR.Value;
&rs_ClsGrpOptns(1).SSR_DER_CS_FLTR.SSR_AUTOENRL_CLS_1.Value =
&rs_getrelateclass(1).STDNT_ENRL_SSVW.CLASS_NBR.Value;
&nAutoEnrlClassNbr2 =
&rs_getrelateclass(2).STDNT_ENRL_SSVW.CLASS_NBR.Value;
&rs_ClsGrpOptns(1).SSR_DER_CS_FLTR.SSR_AUTOENRL_CLS_2.Value =
&rs_getrelateclass(2).STDNT_ENRL_SSVW.CLASS_NBR.Value;
End-If;

End-If;

Return &oClassOptions.GetClassOptions("SC", "Y", &rs_ClsGrpOptns, Null, Null);

end-method;

method AssocOptions
/+ &class_nbrcheck as Number +/
/+ Returns Boolean +/

Local boolean &OptFound = False;


Local SSR_STUDENT_RECORDS:SR_ClassData:ClassInfo &obj_EnrlClassInfo = create
SSR_STUDENT_RECORDS:SR_ClassData:ClassInfo();
/* used in Edit mode to determine is a class is updateable */
Local string &class_career, &career_scheme, &class_GB, &class_GBElective,
&ReqDes, &RD_AtStdntOption;
Local Record &rec_CareerTbl, &rec_RDT;
Local SSR_STUDENT_RECORDS:SR_SetupData:GradingBasisTbl &obj_GradingBasisTbl;

&obj_EnrlClassInfo.LoadClassInfo(&recinst, &recterm, &class_nbrcheck);

Local string &planner_check = "Y";

&setId = GetSetId("INSTITUTION", &recinst, Record.GRADE_BASIS_TBL, "");


&class_career = &obj_EnrlClassInfo.Class_Career;

&career_scheme = "";
&rec_CareerTbl = CreateRecord(Record.ACAD_CAR_TBL);
&rec_CareerTbl.INSTITUTION.Value = &recinst;
&rec_CareerTbl.ACAD_CAREER.Value = &reccar;
If &rec_CareerTbl.SelectByKeyEffDt(%Date) Then
&career_scheme = &rec_CareerTbl.GRADING_SCHEME.Value;
End-If;
&class_GB = &obj_EnrlClassInfo.Assoc_Grading;

Local Rowset &rsSessionVw = CreateRowset(Record.SSR_SESSION_VW);


&rsSessionVw.Flush();

<*** Check permission number and start date ***>


Local Record &recClassTblVw1 = CreateRecord(Record.CLASS_TBL_VW1);

&recClassTblVw1.INSTITUTION.Value = &recinst;
&recClassTblVw1.STRM.Value = &recterm;
&recClassTblVw1.CLASS_NBR.Value = &class_nbrcheck;
If &recClassTblVw1.SelectByKey() Then
If &recClassTblVw1.STDNT_SPEC_PERM.Value = "Y" Then
&OptFound = True;

End-If;

If &recClassTblVw1.SESSION_CODE.Value = "OEE" Then


&rsSessionVw.Fill("WHERE INSTITUTION=:1 AND CRSE_CAREER=:2 AND STRM=:3 AND
SESSION_CODE=:4", &recClassTblVw1.INSTITUTION.Value, &reccar,
&recClassTblVw1.STRM.Value, &recClassTblVw1.SESSION_CODE.Value);
If &rsSessionVw(1).SSR_SESSION_VW.LAST_ENRL_DT.Value < %Date Then
&OptFound = True;

End-If;
End-If;
End-If;

<*** Check waitlist ***>


Local SSR_MANAGE_CLASSES:UTIL:CheckValidUserAction &ValidUserAction = create
SSR_MANAGE_CLASSES:UTIL:CheckValidUserAction();

Local array of string &aSession = CreateArrayRept(" ", 0);

Local array of string &aCheckActions = CreateArrayRept(" ", 0);


<* Check if Enrollment to Classes is Allowed *>
&aCheckActions.Push("N");

<* Check if Waitlist to Classes is Allowed *>


&aCheckActions.Push("Y");

<* Check if Access to Classes in Shopping Cart is Allowed *>


&aCheckActions.Push("N");

<* Check if Validation of Classes in Shopping Cart is Allowed *>


&aCheckActions.Push("N");

Local array of string &aValidActions = CreateArrayRept(" ", 0);

Local integer &i;

Local Rowset &rsClassSessn = CreateRowset(Record.CLASS_TBL);


&rsClassSessn.Flush();
&rsClassSessn.Fill("WHERE Fill.STRM = :1 AND Fill.CLASS_NBR IN (SELECT
(X.CLASS_NBR) FROM PS_SSR_REGFORM X WHERE X.STRM = :1 AND X.EMPLID = :2 AND
X.ACAD_CAREER = :3 AND X.INSTITUTION = :4)", &recterm, &recEmplId, &reccar,
&recinst);
&rsClassSessn.Sort(CLASS_TBL.SESSION_CODE, "A");
Local string &sSession;
For &i = 1 To &rsClassSessn.ActiveRowCount
If &rsClassSessn(&i).CLASS_TBL.SESSION_CODE.Value <> &sSession Then
&sSession = &rsClassSessn(&i).CLASS_TBL.SESSION_CODE.Value;
&aSession.Push(&sSession);
End-If;
End-For;

&aValidActions = &ValidUserAction.ValidUserAction(&aCheckActions, %OperatorId,


&recEmplId, &reccar, &recinst, &recterm, &aSession, 0);

<*** "Check Enrollment Action"; ***>


If &aValidActions [2] = "Y" Then
&OptFound = True;

End-If;
<******************************>

<*** Check Academic Program ***>


Local Rowset &rsInstitutionTbl = CreateRowset(Record.INSTITUTION_TBL);
&rsInstitutionTbl.Flush();
&rsInstitutionTbl.Fill("WHERE FILL.INSTITUTION=:1 AND FILL.EFFDT = (SELECT
MAX(A.EFFDT) FROM PS_INSTITUTION_TBL A WHERE A.INSTITUTION = FILL.INSTITUTION AND
A.EFFDT <= %CurrentDateIn) AND FILL.EFF_STATUS = 'A'", &recinst);

Local Rowset &rsAcadCarTbl = CreateRowset(Record.ACAD_CAR_TBL);


&rsAcadCarTbl.Flush();

Local string &where_clause = "WHERE FILL.INSTITUTION='" | &recinst | "' AND


FILL.ACAD_CAREER=:1 AND FILL.EFFDT = (SELECT MAX(A.EFFDT) FROM PS_ACAD_CAR_TBL A
WHERE A.INSTITUTION = FILL.INSTITUTION AND A.ACAD_CAREER = FILL.ACAD_CAREER AND
A.EFFDT <= %CurrentDateIn) AND FILL.EFF_STATUS = 'A'";

&rsAcadCarTbl.Fill(&where_clause, &reccar);

If %Component <> Component.SSR_EDIT_CLASS_FL And


(&rsAcadCarTbl(1).ACAD_CAR_TBL.SSR_ALLOW_PROG_IN.Value = "Y" Or
&rsInstitutionTbl(1).INSTITUTION_TBL.SSR_ENBL_ACAD_PROG.Value = "Y")
Then
&OptFound = True;

End-If;

<*** Check Grading basis ***>


Local Record &rec_GBT1 = CreateRecord(Record.GRADE_BASIS_TBL);
&rec_GBT1.SETID.Value = &setId;
&rec_GBT1.GRADING_SCHEME.Value = &career_scheme;
&rec_GBT1.GRADING_BASIS.Value = &class_GB;
If &rec_GBT1.SelectByKeyEffDt(%Date) Then

Local string &str_o_Elective = &rec_GBT1.ELECT_GRADE_BASIS.Value;

End-If;

&class_GBElective = &str_o_Elective;
If &class_GBElective = "Y" Then
&OptFound = True;

End-If;

<*** Check units ***>


If &obj_EnrlClassInfo.Assoc_UnitMin <> &obj_EnrlClassInfo.Assoc_UnitMax Then
&OptFound = True;
End-If;

<*** Check instructor edit ***>


If &obj_EnrlClassInfo.Assoc_InstrEdit <> "N" Then
&OptFound = True;
End-If;

<*** Check check if Requirement Designation is optional ***>


&ReqDes = &obj_EnrlClassInfo.Assoc_ReqDes;
If All(&ReqDes) Then
&rec_RDT = CreateRecord(Record.RQMNT_DESIG_TBL);
&rec_RDT.RQMNT_DESIGNTN.Value = &ReqDes;
If &rec_RDT.SelectByKeyEffDt(%Date) Then
&RD_AtStdntOption = &rec_RDT.AT_STDNT_OPTION.Value;

If &RD_AtStdntOption = "Y" Then


&OptFound = True;
End-If;
End-If;

End-If;

Return &OptFound;

end-method;

method SSR_SEL_STA1_SCF_Activate

Local Record &labelrec;


Local Rowset &rs_CarInstTerm, &reclevel1, &rs_CarInstTermCurr,
&rs_CarInstTermPrev;
Local number &i, &prev, &curr;
Local string &str_TermDescr, &prev_Career, &prev_Inst, &prev_Term;
Local boolean &fl_curr = False;
Local date &termbegindt;
&labelrec = CreateRecord(Record.TERM_TBL);
&labelrec.INSTITUTION.Value = &recinst;
&labelrec.ACAD_CAREER.Value = &reccar;
&labelrec.STRM.Value = &recterm;

If &labelrec.SelectByKey() Then
&termbegindt = &labelrec.TERM_BEGIN_DT.Value
End-If;

&reclevel1 = CreateRowset(Record.SSR_ENTRMSTD_VW);
&reclevel1.Fill("WHERE EMPLID = :1 AND ((STRM <> :2 AND ACAD_CAREER = :3) OR
(STRM = :2 AND ACAD_CAREER <> :3) OR (STRM = :2 AND ACAD_CAREER = :3 AND
INSTITUTION <> :4)) AND (TERM_BEGIN_DT >= %CurrentDateIn OR TERM_END_DT >=
%CurrentDateIn) ORDER BY TERM_BEGIN_DT", &recEmplId, &recterm, &reccar, &recinst);

DERIVED_SSR_FL.SSR_ENTRMPRV_GRP.Visible = False;

&rs_CarInstTermCurr = GetRowset(Scroll.SSR_ENTRMCUR_VW);
&rs_CarInstTermPrev = GetRowset(Scroll.SSR_ENTRMPRV_VW);
&rs_CarInstTermPrev.Flush();
&rs_CarInstTermCurr.Flush();

&prev = 1;
&curr = 1;

For &i = 1 To &reclevel1.ActiveRowCount

&rs_CarInstTermCurr.InsertRow(&curr);
&rs_CarInstTermCurr(&curr).SSR_ENTRMCUR_VW.STRM.Value =
&reclevel1(&i).SSR_ENTRMSTD_VW.STRM.Value;
&rs_CarInstTermCurr(&curr).SSR_ENTRMCUR_VW.TERM_DESCR30.Value =
&reclevel1(&i).SSR_ENTRMSTD_VW.TERM_DESCR30.Value;
&rs_CarInstTermCurr(&curr).SSR_ENTRMCUR_VW.INSTITUTION.Value =
&reclevel1(&i).SSR_ENTRMSTD_VW.INSTITUTION.Value;
&rs_CarInstTermCurr(&curr).SSR_ENTRMCUR_VW.INSTITUTION_DESCR.Value =
&reclevel1(&i).SSR_ENTRMSTD_VW.INSTITUTION_DESCR.Value;
&rs_CarInstTermCurr(&curr).SSR_ENTRMCUR_VW.ACAD_CAREER.Value =
&reclevel1(&i).SSR_ENTRMSTD_VW.ACAD_CAREER.Value;
&rs_CarInstTermCurr(&curr).SSR_ENTRMCUR_VW.ACAD_CAREER_DESCR.Value =
&reclevel1(&i).SSR_ENTRMSTD_VW.ACAD_CAREER_DESCR.Value;
&rs_CarInstTermCurr(&curr).SSR_ENTRMCUR_VW.TERM_BEGIN_DT.Value =
&reclevel1(&i).SSR_ENTRMSTD_VW.TERM_BEGIN_DT.Value;
&rs_CarInstTermCurr(&curr).SSR_ENTRMCUR_VW.TERM_DESCR30.Label =
&reclevel1(&i).SSR_ENTRMSTD_VW.TERM_DESCR30.Value;

&rs_CarInstTermCurr(&curr).SSR_ENTRMCUR_VW.INSTITUTION_DESCR.Visible =
&bool_recMultiInst;

&curr = &curr + 1;
End-For;
&rs_CarInstTermCurr.DeleteRow(&curr);

&rs_CarInstTermPrev.HideAllRows();
&rs_CarInstTermPrev.ShowAllRows();

If &rs_CarInstTermCurr(1).SSR_ENTRMCUR_VW.TERM_DESCR30.Label = "" Then


&rs_CarInstTermCurr.HideAllRows();
Else
&rs_CarInstTermCurr.ShowAllRows();
End-If;

end-method;

method SSR_ENRL_CONFRM_FL_Activate

AddStyleSheet(StyleSheet.SSR_CONFIRMATION_FL);

Local SSR_MANAGE_CLASSES:UTIL:Confirmation &oConfirmation = create


SSR_MANAGE_CLASSES:UTIL:Confirmation();

&oConfirmation.LoadConfirmationMessages(&oManageClassesGlobalVars.rec_ClassEditDeta
ilsAET.EMPLID.Value,
&oManageClassesGlobalVars.rec_ClassEditDetailsAET.ACAD_CAREER.Value,
&oManageClassesGlobalVars.rec_ClassEditDetailsAET.INSTITUTION.Value,
&oManageClassesGlobalVars.rec_ClassEditDetailsAET.STRM.Value,
&oManageClassesGlobalVars.rec_ClassEditDetailsAET.ENRL_REQUEST_ID.Value);
Local string &sConfirmationMessageDetail = &oConfirmation.sConfirmationMessage;

&Panel = %This.CreatePanel();
&Panel.SetPageTitle(MsgGetText(14770, 815, "Message not found.")); /*
Confirmation */
&Panel.SetConfirmationMessage(&sConfirmationMessageDetail, False);

Local Rowset &rsLinkTable;


Local integer &i;

&i = 1;

&rsLinkTable = GetRowset(Scroll.SSR_DUMMY_REC);
&rsLinkTable.Flush();

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then


&rsLinkTable.InsertRow(&i);
&i = &i + 1;
&rsLinkTable(&i).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Value = "MNGC";
&rsLinkTable(&i).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Label = MsgGetText(14770,
813, "Message not found."); /* Return to Manage Classes Menu */
&rsLinkTable(&i).DERIVED_SSR_FL.IMAGE_FIELD.Value = Image.PS_SCHEDULE_L_FL;
&rsLinkTable(&i).DERIVED_SSR_FL.IMAGE_FIELD.Label =
&rsLinkTable(&i).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Label;
End-If;

If &oConfirmation.ShowReturnToClassPreferencesLink Then
&rsLinkTable.InsertRow(&i);
&i = &i + 1;
&rsLinkTable(&i).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Value = "CLPF";
&rsLinkTable(&i).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Label = MsgGetText(14770,
804, "Message not found."); /* Return to Class Preferences */
&rsLinkTable(&i).DERIVED_SSR_FL.IMAGE_FIELD.Value =
Image.PS_PREFERENCES_L_FL;
&rsLinkTable(&i).DERIVED_SSR_FL.IMAGE_FIELD.Label =
&rsLinkTable(&i).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Label;
End-If;

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then


&rsLinkTable.InsertRow(&i);
&i = &i + 1;
&rsLinkTable(&i).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Value = "VCLS";
&rsLinkTable(&i).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Label = MsgGetText(14770,
576, "Message not found."); /* View My Classes */
&rsLinkTable(&i).DERIVED_SSR_FL.IMAGE_FIELD.Value =
Image.PS_APPR_THISWEEK_M_FL;
&rsLinkTable(&i).DERIVED_SSR_FL.IMAGE_FIELD.Label =
&rsLinkTable(&i).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Label;

/* Hide 'Shopping Cart' if 'Enrollment Only' is allowed */


Local string &AddClassOptions;

SQLExec("SELECT SSR_CS_ADD_OPTN FROM PS_SSR_CS_GEN_OPTS", &AddClassOptions);

AddJavaScript(HTML.SCC_NAVIGATION_JS);
AddOnLoadScript("removeComponentFromHistoryStack('PT_AGSTARTPAGE_NUI');");

Else
AddJavaScript(HTML.SSR_MANAGE_CLASSES_JS);
AddOnLoadScript("goBackToHomepage();");
&oManageClassesGlobalVars.sTransferFromURL = "";
&oManageClassesGlobalVars.sTransferToURL = "";
End-If;

&rsLinkTable.DeleteRow(1); /* Delete empty row */

If &rsLinkTable.ActiveRowCount = 1 And
&rsLinkTable(1).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Value = "" Then
DERIVED_SSR_FL.GROUPBOX.Visible = False;
End-If;

end-method;

method SSR_ED_CLASS_FL_SSR_MORE_CLASS_FL__FieldChange
/+ &classnbr as Integer +/
If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then
&oClassInformation.DefaultTab = "MD";

Else
&oClassInformation.DefaultTab = "MI";

End-If;

Local Record &recclasstblvw = CreateRecord(Record.CLASS_TBL_VW);


&oClassInformation.recEmplId = &recEmplId;
&oClassInformation.recInst = &recinst;
&oClassInformation.recCar = &reccar;
&oClassInformation.recTerm = &recterm;
&oClassInformation.recTermBeginDt = &recTermBeginDt;

&recclasstblvw.INSTITUTION.Value = &recinst;
&recclasstblvw.STRM.Value = &recterm;

&recclasstblvw.CLASS_NBR.Value = &classnbr;

If &recclasstblvw.SelectByKey() Then
&oClassInformation.subject = &recclasstblvw.SUBJECT.Value;
&oClassInformation.catalog_nbr = &recclasstblvw.CATALOG_NBR.Value;
&oClassInformation.associated_class = &recclasstblvw.ASSOCIATED_CLASS.Value;
&oClassInformation.sCourseTitle = &recclasstblvw.DESCR.Value;

&oClassInformation.crse_id = &recclasstblvw.CRSE_ID.Value;
&oClassInformation.crse_offer_nbr = &recclasstblvw.CRSE_OFFER_NBR.Value;
&oClassInformation.session_code = &recclasstblvw.SESSION_CODE.Value;
&oClassInformation.class_section = &recclasstblvw.CLASS_SECTION.Value;

&oClassInformation.class_nbr = &recclasstblvw.CLASS_NBR.Value;
&oClassInformation.ssr_component = &recclasstblvw.SSR_COMPONENT.Value;

If &recclasstblvw.CLASS_TYPE.Value = "E" Then


Local Record &recgradebasis = CreateRecord(Record.SSR_STENRL_SSV2);
&recgradebasis.EMPLID.Value = &recEmplId;
&recgradebasis.INSTITUTION.Value = &recinst;
&recgradebasis.ACAD_CAREER.Value = &reccar;
&recgradebasis.STRM.Value = &recterm;
&recgradebasis.CLASS_NBR.Value = &classnbr;

If &recgradebasis.SelectByKey() Then
&oClassInformation.sgrading_basis =
&recgradebasis.GRADING_BASIS_ENRL.Value;
&oClassInformation.sunt_taken = NumberToString("%6.2",
&recgradebasis.UNT_TAKEN.Value);
End-If;
Else
&oClassInformation.sgrading_basis = "NON";
&oClassInformation.sunt_taken = "0.00";
End-If;

End-If;

&oClassInformation.Instantiate();

end-method;

method LoadMeetingPattern_sff
/+ &termcheck as String, +/
/+ &classnbrcheck as Integer, +/
/+ &recordcheck as Record, +/
/+ &compnumcheck as Integer +/

Local SSR_MANAGE_CLASSES:UTIL:MeetingDetails &oMeetingDetails = create


SSR_MANAGE_CLASSES:UTIL:MeetingDetails();
Local integer &cntpattern, &i, &j, &cntClsSchedOpt, &rowcheck;
Local string &meetingpat;
Local Rowset &rsmeetpattern;

Local SSR_MANAGE_CLASSES:UTIL:Formatter &formatter = create


SSR_MANAGE_CLASSES:UTIL:Formatter();
&rsmeetpattern = CreateRowset(Record.CLASS_MTG_PT_VW);
&cntpattern = &rsmeetpattern.Fill("Where strm = :1 and class_nbr =:2",
&termcheck, &classnbrcheck);
&roomdetails = "";
&roomdetails_tag = False;
&roomdetails_cnt = 1;
&roomdetails2 = "";
If &cntpattern > 0 Then

Local string &sMon =


&rsmeetpattern(&cntpattern).CLASS_MTG_PT_VW.MON.GetLongLabel("MON");
Local string &sTues =
&rsmeetpattern(&cntpattern).CLASS_MTG_PT_VW.TUES.GetLongLabel("TUES");
Local string &sWed =
&rsmeetpattern(&cntpattern).CLASS_MTG_PT_VW.WED.GetLongLabel("WED");
Local string &sThurs =
&rsmeetpattern(&cntpattern).CLASS_MTG_PT_VW.THURS.GetLongLabel("THURS");
Local string &sFri =
&rsmeetpattern(&cntpattern).CLASS_MTG_PT_VW.FRI.GetLongLabel("FRI");
Local string &sSat =
&rsmeetpattern(&cntpattern).CLASS_MTG_PT_VW.SAT.GetLongLabel("SAT");
Local string &sSun =
&rsmeetpattern(&cntpattern).CLASS_MTG_PT_VW.SUN.GetLongLabel("SUN");

&oMeetingDetails.sInstitution = &recinst;
&oMeetingDetails.sAcademicCareer = &reccar;
&oMeetingDetails.sTerm = &recterm;
&oMeetingDetails.Instantiate("EditClasses");

For &i = 1 To &cntpattern


&patternend = False;
If &i <= &oMeetingDetails.iMaxSchedToDisplay Then

/* Days */
Local string &sday = "";
Local boolean &bConscDaysBrkn = False;
Local integer &iConscDaysCtr = 0;
Local string &sFirstDay = " ";
Local string &sLastDay = " ";
Local string &sPrevDay = " ";

If &rsmeetpattern(&i).CLASS_MTG_PT_VW.MON.Value Then
&sday = &sday |
&rsmeetpattern(&i).CLASS_MTG_PT_VW.MON.GetLongLabel("MON") | " ";
&sFirstDay = &sMon;
&sPrevDay = &sMon;
&iConscDaysCtr = &iConscDaysCtr + 1;
End-If;

If &rsmeetpattern(&i).CLASS_MTG_PT_VW.TUES.Value Then
&sday = &sday |
&rsmeetpattern(&i).CLASS_MTG_PT_VW.TUES.GetLongLabel("TUES") | " ";
If &sPrevDay = &sMon Then
&iConscDaysCtr = &iConscDaysCtr + 1;
&sLastDay = &sTues;
Else
&iConscDaysCtr = 1;
&sFirstDay = &sTues;
&sLastDay = " ";
End-If;
&sPrevDay = &sTues;
End-If;

If &rsmeetpattern(&i).CLASS_MTG_PT_VW.WED.Value Then
&sday = &sday |
&rsmeetpattern(&i).CLASS_MTG_PT_VW.WED.GetLongLabel("WED") | " ";
If &sPrevDay = &sTues Then
&iConscDaysCtr = &iConscDaysCtr + 1;
&sLastDay = &sWed;
Else
If &iConscDaysCtr <> 0 Then
&bConscDaysBrkn = True;
Else
&iConscDaysCtr = 1;
&sFirstDay = &sWed;
&sLastDay = " ";
End-If;
End-If;
&sPrevDay = &sWed;
End-If;

If &rsmeetpattern(&i).CLASS_MTG_PT_VW.THURS.Value Then
&sday = &sday |
&rsmeetpattern(&i).CLASS_MTG_PT_VW.THURS.GetLongLabel("THURS") | " ";
If Not &bConscDaysBrkn Then
If &sPrevDay = &sWed Then
&iConscDaysCtr = &iConscDaysCtr + 1;
&sLastDay = &sThurs;
Else
If &iConscDaysCtr <> 0 Then
&bConscDaysBrkn = True;
Else
&iConscDaysCtr = 1;
&sFirstDay = &sThurs;
&sLastDay = " ";
End-If;
End-If;
&sPrevDay = &sThurs;
End-If;
End-If;

If &rsmeetpattern(&i).CLASS_MTG_PT_VW.FRI.Value Then
&sday = &sday |
&rsmeetpattern(&i).CLASS_MTG_PT_VW.FRI.GetLongLabel("FRI") | " ";
If Not &bConscDaysBrkn Then
If &sPrevDay = &sThurs Then
&iConscDaysCtr = &iConscDaysCtr + 1;
&sLastDay = &sFri;
Else
If &iConscDaysCtr <> 0 Then
&bConscDaysBrkn = True;
Else
&iConscDaysCtr = 0;
&sFirstDay = " ";
&sLastDay = " ";
End-If;
End-If;
&sPrevDay = &sFri;
End-If;
End-If;

If &rsmeetpattern(&i).CLASS_MTG_PT_VW.SAT.Value Then
&sday = &sday |
&rsmeetpattern(&i).CLASS_MTG_PT_VW.SAT.GetLongLabel("SAT") | " ";
If Not &bConscDaysBrkn Then
If &sPrevDay = &sFri Then
&iConscDaysCtr = &iConscDaysCtr + 1;
&sLastDay = &sSat;
Else
If &iConscDaysCtr <> 0 Then
&bConscDaysBrkn = True;
Else
&iConscDaysCtr = 0;
&sFirstDay = " ";
&sLastDay = " ";
End-If;
End-If;
&sPrevDay = &sSat;
End-If;
End-If;

If &rsmeetpattern(&i).CLASS_MTG_PT_VW.SUN.Value Then
&sday = &sday |
&rsmeetpattern(&i).CLASS_MTG_PT_VW.SUN.GetLongLabel("SUN") | " ";
If Not &bConscDaysBrkn Then
If &sPrevDay = &sSat Then
&iConscDaysCtr = &iConscDaysCtr + 1;
&sLastDay = &sSun;
Else
If &iConscDaysCtr <> 0 Then
&bConscDaysBrkn = True;
Else
&iConscDaysCtr = 0;
&iConscDaysCtr = 0;
&sFirstDay = " ";
&sLastDay = " ";
End-If;
End-If;
&sPrevDay = &sSun;
End-If;
End-If;

If &sday = "" Then


&sday = MsgGetText(14770, 543, "Message Not Found");
Else
If ( Not &bConscDaysBrkn) And
(&iConscDaysCtr > 3) Then
&sday = MsgGetText(14770, 708, "Message not found.", &sFirstDay,
&sLastDay);
End-If;
End-If;

/* Time */
&sTime = "";
If (&rsmeetpattern(&i).CLASS_MTG_PT_VW.MEETING_TIME_START.Value <>
0.00) And
(&rsmeetpattern(&i).CLASS_MTG_PT_VW.MEETING_TIME_START.Value <>
Time("")) Then
Local string &L_NewTime1 =
&formatter.FormatTime(&rsmeetpattern(&i).CLASS_MTG_PT_VW.START_DT.Value,
&rsmeetpattern(&i).CLASS_MTG_PT_VW.MEETING_TIME_START.Value);
Local string &L_NewTime2 =
&formatter.FormatTime(&rsmeetpattern(&i).CLASS_MTG_PT_VW.START_DT.Value,
&rsmeetpattern(&i).CLASS_MTG_PT_VW.MEETING_TIME_END.Value);
&sTime = MsgGetText(14770, 708, "Message not found.", &L_NewTime1,
&L_NewTime2);
End-If;

If &sTime = "" Then


&sTime = MsgGetText(14770, 543, "Message Not Found");
End-If;

rem &cntpattern;
rem WinMessage(&classnbrcheck);
If &i = 10 Then
&rowcheck = 0;
Else
&rowcheck = &i;
End-If;
&recordcheck.GetField(@("Field.SSR_DAY_LONG" | &compnumcheck |
&rowcheck)).Visible = True;
&recordcheck.GetField(@("Field.SSR_TIME_LONG" | &compnumcheck |
&rowcheck)).Visible = True;

&recordcheck.GetField(@("Field.SSR_DAY_LONG" | &compnumcheck |
&rowcheck)).Value = &sday;
&recordcheck.GetField(@("Field.SSR_TIME_LONG" | &compnumcheck |
&rowcheck)).Value = &sTime;

Else
&patternend = True;

Break;
End-If;
End-For;

Else
&patternend = False;

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then


&roomdetails = MsgGetText(14770, 516, "Message not found.") | " " |
MsgGetText(14770, 543, "Message Not Found");

Else
&roomdetails = MsgGetText(14770, 543, "Message Not Found");

End-If;

End-If;

end-method;

method SSR_ENTRMCUR_VW_TERM_DESCR30__FieldChange

&oManageClassesGlobalVars.AGTerm = SSR_ENTRMCUR_VW.STRM.Value;
&oManageClassesGlobalVars.AGCar = SSR_ENTRMCUR_VW.ACAD_CAREER.Value;
&oManageClassesGlobalVars.AGInst = SSR_ENTRMCUR_VW.INSTITUTION.Value;
&oManageClassesGlobalVars.AGTermBeginDt = SSR_ENTRMCUR_VW.TERM_BEGIN_DT.Value;

&recChangeTerm = SSR_ENTRMCUR_VW.STRM.Value;
&recChangeCar = SSR_ENTRMCUR_VW.ACAD_CAREER.Value;
&recChangeInst = SSR_ENTRMCUR_VW.INSTITUTION.Value;

EndModal(0);

end-method;

[SSR_MANAGE_CLASSES.COMPONENTS.SSR_MD_CLS_SRCH_FL.OnExecute]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_MD_SP_FL;

class SSR_MD_CLS_SRCH_FL extends SSR_MANAGE_CLASSES:COMPONENTS:SSR_MD_SP_FL


method SSR_MD_CLS_SRCH_FL();
end-class;

method SSR_MD_CLS_SRCH_FL

%Super = create SSR_MANAGE_CLASSES:COMPONENTS:SSR_MD_SP_FL();

end-method;

[SSR_MANAGE_CLASSES.COMPONENTS.SSR_MD_CRSEINFO_FL.OnExecute]
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_MD_SP_FL;

class SSR_MD_CRSEINFO_FL extends SSR_MANAGE_CLASSES:COMPONENTS:SSR_MD_SP_FL


method SSR_MD_CRSEINFO_FL();
end-class;

method SSR_MD_CRSEINFO_FL

%Super = create SSR_MANAGE_CLASSES:COMPONENTS:SSR_MD_SP_FL();

end-method;

[SSR_MANAGE_CLASSES.COMPONENTS.SSR_MD_SP_FL.OnExecute]
import SCC_FLUID:MODEL:Component;
import SCC_FLUID:MODEL:Panel;
import SSR_MANAGE_CLASSES:UTIL:InitializeSidePanel;

class SSR_MD_SP_FL extends SCC_FLUID:MODEL:Component


method SSR_MD_SP_FL();
method PostBuild();

protected
property SCC_FLUID:MODEL:Panel Panel;

end-class;

method SSR_MD_SP_FL

%Super = create SCC_FLUID:MODEL:Component();


end-method;

method PostBuild

&Panel = %This.CreatePanel();
%This.InitializeMDComponent();
%This.Render();

Local SSR_MANAGE_CLASSES:UTIL:InitializeSidePanel &oInitializeSidePanel = create


SSR_MANAGE_CLASSES:UTIL:InitializeSidePanel();

end-method;

[SSR_MANAGE_CLASSES.COMPONENTS.SSR_SHOP_CART_FL.OnExecute]
import SCC_FLUID:MODEL:Component;
import SCC_FLUID:MODEL:Navigation;
import SCC_FLUID:MODEL:NavigationParams;
import SCC_FLUID:MODEL:NavigationTab;
import SCC_FLUID:MODEL:Panel;
import SCC_FLUID:UTIL:Constants;
import SCC_FLUID:UTIL:CSSClass;
import SCC_FLUID:UTIL:Popup;
import SSR_CLASS:Components:Utility:SSR_CLSRCH_CONFIG_Util;
import SSR_ENROLLMENT:EVENT:EnrollmentEventNotification;
import SSR_MANAGE_CLASSES:UTIL:CheckValidUserAction;
import SSR_MANAGE_CLASSES:UTIL:ClassInformation;
import SSR_MANAGE_CLASSES:UTIL:ClassOptions;
import SSR_MANAGE_CLASSES:UTIL:ClassPreferences;
import SSR_MANAGE_CLASSES:UTIL:Confirmation;
import SSR_MANAGE_CLASSES:UTIL:Formatter;
import SSR_MANAGE_CLASSES:UTIL:InitializeSidePanel;
import SSR_MANAGE_CLASSES:UTIL:Installation;
import SSR_MANAGE_CLASSES:UTIL:Instructor;
import SSR_MANAGE_CLASSES:UTIL:MeetingDetails;
import SSR_MANAGE_CLASSES:UTIL:GlobalVariables;
import SSR_MANAGE_CLASSES:UTIL:Navigation;
import SSR_STUDENT_RECORDS:SR_ClassData:ClassInfo;
import SSR_STUDENT_RECORDS:SR_ClassData:ClassStatus;
import SSR_STUDENT_RECORDS:SR_SetupData:GradingBasisTbl;
import SSR_STUDENT_RECORDS:SR_StudentData:StudentAcadProfile;
import SSR_STUDENT_RECORDS:SR_StudentData:StudentActivePrograms;
import SSR_MANAGE_CLASSES:SETUP:TimeConflictOptions;

class SSR_SHOP_CART_FL extends SCC_FLUID:MODEL:Component


method SSR_SHOP_CART_FL(&bIsMDComponent As boolean);
method PostBuild();

/* Load Select a Value page */


method SSR_SEL_STA3_FL_Activate();
method SSR_SEL_STA3_SFL_Activate();

/* Load Shopping Cart page */


method SSR_SHOP_CART_FL__Activate();

/* Load Class Information modal page */


method SSR_CLSDTL_LF_SCF__Activate(); /* Class Details - Non-SFF */
method SSR_CLASSDTL_SCF_Activate(); /* Class Details - SFF */
method SSR_INSTDTL_LF_SCF_Activate(); /* Instructor Details - Non-SFF */
method SSR_INSTRDTL_SCF_Activate(); /* Instructor Details - SFF */

/* Load Validation and Enrollment Confirmation Messages */


method SSR_SHOP_CONFRM_FL__Activate();
method SSR_ENRL_CONFRM_FL_Activate();

/* Load Alternative Classes modal page */


method SSR_CLS_PREF_SCF_Activate();

/* Load Information Icon modal page */


method SSR_INFO_ICON_SCF_Activate();

/* Go To Links */
method DERIVED_SSR_FL__SSR_RETURN_PB_FL_FieldChange();

/* Shop Cart Instructor Link Button for LFF to open instructor page */
method DERIVED_SSR_FL_SSR_INSTR_NME_FL__FieldChange();

/* Shop Cart Reload Instructor details for LFF */


method DERIVED_SSR_FL_SSR_INSTR_FL__FieldChange();

/* Term Selection */
method DERIVED_SSR_FL__MORE_BUTTON_FieldChange(&pagecheck As string);
method SSR_CART_TRM_FL_TERM_DESCR30__FieldChange();

/* Update Tabs options for Class Details SFF */


method DERIVED_SSR_FL__SSR_CL_DTLS_OPT_FieldChange();

/* Class Details to open secondary page LFF - Shopping Cart */


method DERIVED_SSR_FL_SSR_CLASSNAME_LONG__FieldChange();
method DERIVED_SSR_FL_SSR_MORE_CLASS_FL__FieldChange();

/* Update Tabs options for Class Details LFF */


method DERIVED_SSR_FL_SSR_CL_DTLS_LFF__FieldChange();

/* Change Term Button to open secondary page */


method DERIVED_SSR_FL__SSR_CHANGE_BTN_FieldChange();

/* Shop Cart Delete Button */


method DERIVED_SSR_FL_SSR_DELETE_BTN__FieldChange();

/* Shop Cart Validate Button */


method DERIVED_SSR_FL_SSR_VALIDATE_FL__FieldChange();

/* Shop Cart Enroll Button */


method DERIVED_SSR_FL_SSR_ENROLL_FL__FieldChange();

/* Secondary page custom exit buttons */


method DERIVED_SSR_FL_SSR_CANCEL_BTN__FieldChange();
method DERIVED_SSR_FL_SSR_DONE_BTN__FieldChange();

/* Activate Instructor Details page */


method SSR_DER1_MTG_FL_SSR_MTGINFO_DATA__FieldChange();

/* Update Tabs options for Enrollment Deadline LFF */


method DERIVED_SSR_FL_SSR_ENRL_DCW__FieldChange();
/* Shop Cart Class Preferences link Button for SFF and LFF */
method DERIVED_REGFRM1_SSR_CLASSNAME_35__FieldChange();
method SSR_REGFORM_WRK_SSR_CLASSNAME_35__FieldChange();

/* Shop Cart Done Button for SFF and LFF Secondary page from preferences */
method DERIVED_SSR_FL_SSR_DONE_BTN_FieldChange();

/* Select Alternative Classes */


method DERIVED_SSR_FL__SSR_SELECT_FieldChange();
method SSR_REGFORM_WRK__SSR_MORE_CLASS_FL_FieldChange();
method SSR_REGFORM_WRK__SSR_SBJ_CAT_NBR_FieldChange();
method SSR_CLS_PREF_WK__SSR_MUL_MTG_LINK_FieldChange();

/* Launch Information Icon modal pages */


method SSR_ENRL_FL_WRK_SSR_WAIT_LIST_INFO_FieldChange();
method SSR_ENRL_FL_WRK_SSR_PERM_NBR_INFO_FieldChange();

/* Assign New Enrollment Request ID */


method ENRL_REQ_HEADER_SavePreChange();

protected
property SCC_FLUID:MODEL:Panel Panel;
property SCC_FLUID:MODEL:Navigation Navigation;

private
method LoadEnrlCart_lff();
method LoadEnrlCart_sff();
method LoadMeetingPattern(&termcheck As string, &classnbrcheck As integer)
Returns string;
method LoadRoomDetail(&crse_idcheck As string, &crse_offer_nbrcheck As integer,
&termcheck As string, &session_codecheck As string, &class_sectioncheck As string,
&ntgpatcheck As integer) Returns string;
method getSessiondDesc(&session_codecheck As string) Returns string;
method Class_Instructor_List(&class_nbrcheck As integer, &termcheck As string,
&careercheck As string, &institutioncheck As string) Returns string;
method SelectTerm();
method CheckAllowedUserAction();
method LoadAlternativeClasses();
method AlternativeClasses_LoadClassInformation();
method GoToLinks();
method GetClassOptions() Returns Rowset;

instance SCC_FLUID:UTIL:Constants &FluidConstants;


instance boolean &bIsMD;

instance SSR_MANAGE_CLASSES:UTIL:ClassInformation &oClassInformation;


instance SSR_STUDENT_RECORDS:SR_ClassData:ClassInfo &obj_ClassInfo;

instance boolean &RefreshShoppingCart1, &RefreshShoppingCart2;


instance string &sScrollRecord;
instance Rowset &rs_regform_view, &rs_regform_main, &rs_RegformVw1;

instance boolean &patternend;

instance integer &row_SP;

instance boolean &IsEnrlRequestIdAssignedOnce;


instance string &sEnrlRequestId;
instance number &nClassNbr, &nRelateClassNbr1, &nRelateClassNbr2,
&New_nRelateClassNbr1, &New_nRelateClassNbr2;
instance number &nSelectedOptionNbr;
instance integer &iCurrentRowNumber;

instance boolean &IsClassOptionsUpdated;

instance Rowset &rs_AlternativeClasses;

instance integer &row_level1;

instance string &sWaitListOkayLabel, &sInformationMessage;

instance boolean &bool_classoptionsflag, &bool_recMultiInst,


&booClassInfoLoaded, &booEnrollInfoLoaded;

instance string &setId, &roomdetails, &crse_id, &crse_offer_nbr, &session_code,


&assoc_class, &class_component;
instance string &sConfirmationMessageDetail, &sTime;

instance string &descrmax;

instance boolean &IsAlternateOptionSelected;

end-class;

Declare Function EditApptExists PeopleCode FUNCLIB_SSTS_PL.APPOINTMENT_NBR


FieldFormula;
Declare Function isValidTermAppt PeopleCode FUNCLIB_SSTS_PL.APPOINTMENT_NBR
FieldFormula;

Global SSR_MANAGE_CLASSES:UTIL:GlobalVariables &oManageClassesGlobalVars;

Global string &recEmplId, &recPage, &recTerm, &recCar, &recInst, &gotopage,


&selectedInstitution, &selectedCareer, &selectedTerm;
Global date &recTermBeginDt;
Global boolean &bIsFromShoppingCart;
Global string &recChangeTerm, &recChangeCar, &recChangeInst;

method SSR_SHOP_CART_FL
/+ &bIsMDComponent as Boolean +/

%Super = create SCC_FLUID:MODEL:Component();


&bIsMD = &bIsMDComponent;

end-method;

method PostBuild

&oManageClassesGlobalVars.sTabID = Page.SSR_TERM_STA3_FL;
&oManageClassesGlobalVars.sTransferFromURL = "";
&oManageClassesGlobalVars.sTransferToURL = "";
&oManageClassesGlobalVars.sMDComponent = "";

Local SSR_MANAGE_CLASSES:UTIL:Navigation &oNavigationSR = create


SSR_MANAGE_CLASSES:UTIL:Navigation();
&oNavigationSR.ResetToHomepage();
Local SCC_FLUID:UTIL:CSSClass &objCSS, &objCSS1;

&objCSS = create SCC_FLUID:UTIL:CSSClass();

&objCSS.AddStyleSheet(StyleSheet.SSR_SS);
&objCSS.AddStyleSheet(StyleSheet.SSR_SHOPPING_CART_FL);

&Panel = %This.CreatePanel();
%This.Render();

Local SSR_MANAGE_CLASSES:UTIL:InitializeSidePanel &oInitializeSidePanel = create


SSR_MANAGE_CLASSES:UTIL:InitializeSidePanel();

Local Record &getemplid, &getsetid;

&getemplid = CreateRecord(Record.PSOPRDEFN);
&getsetid = CreateRecord(Record.OPR_DEF_TBL_CS);

&getemplid.OPRID.Value = %OperatorId;
&bool_classoptionsflag = False;
If &getemplid.SelectByKey() Then
&recEmplId = &getemplid.EMPLID.Value;
End-If;

&getsetid.OPRID.Value = %OperatorId;

If &getsetid.SelectByKey() Then
&setId = &getsetid.SETID.Value;
End-If;

Local boolean &bool_isMultiCareer, &bool_isMultiInst;

Local SSR_MANAGE_CLASSES:UTIL:Installation &utilMethods = create


SSR_MANAGE_CLASSES:UTIL:Installation();
Local boolean &bool_recSingleInst = &utilMethods.IsSingleInstitution();

If &bool_recSingleInst = True Then


&bool_recMultiInst = False;
Else
&bool_recMultiInst = True;
End-If;

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then


If &oManageClassesGlobalVars.bIsFromConfirmation Then
&oManageClassesGlobalVars.bIsFromConfirmation = False;
AddJavaScript(HTML.SSR_MANAGE_CLASSES_JS);
AddOnLoadScript("goBackToManageClassesMenu();");
End-If;
End-If;

end-method;

method SSR_SEL_STA3_FL_Activate

Local Rowset &rs_CarInstTerm, &reclevel1, &rs_CarInstTermCurr,


&rs_CarInstTermPrev;
Local integer &i, &prev, &curr, &cntCarInstTermCurr, &cntCarInstTermPrev;
Local string &str_TermDescr, &prev_Career, &prev_Inst, &prev_Term;
Local boolean &fl_curr = False;
Local date &termbegindt;

&rs_CarInstTermCurr = GetRowset(Scroll.SSR_CART_TRM_FL);
&rs_CarInstTermCurr.Flush();

AddJavaScript(HTML.SCC_NAVIGATION_JS);
AddOnLoadScript("setComponentHistoryToValid('SSR_MD_SP_FL')");

Page.SSR_SHOP_FOOTR_FFL.Visible = False;

&cntCarInstTermCurr = &rs_CarInstTermCurr.Select(Record.SSR_CART_TRM_FL, "WHERE


EMPLID = :1 AND %CurrentDateIn >= SSR_SSENRLDISP_BDT AND %CurrentDateIn <=
SSR_SSENRLDISP_EDT AND (ELIG_TO_ENROLL = 'Y' OR ELIG_TO_ENROLL <> NULL) ORDER BY
TERM_BEGIN_DT, ACAD_CAREER", &recEmplId);

If &cntCarInstTermCurr = 1 Then
DERIVED_SSR_FL.SSR_CHANGE_BTN.Visible = False;
End-If;

If &bIsFromShoppingCart Then
If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then
&bIsFromShoppingCart = False;
TransferPage(Page.SSR_SHOP_CART_FL);
End-If;
Else
If &cntCarInstTermCurr = 0 Then

&Panel.SetPageTitle(MsgGetText(14770, 601, "Message not found.")); /*


Shopping Cart */

DERIVED_SSR_FL.SSR_NOCLASSES_MSG.Visible = True;
DERIVED_SSR_FL.SSR_NOCLASSES_MSG.Value = MsgGetText(14770, 575, "Message
Not Found");
&rs_CarInstTermCurr.HideAllRows();
Else

DERIVED_SSR_FL.SSR_NOCLASSES_MSG.Visible = False;
If &cntCarInstTermCurr > 1 Then
For &i = 1 To &cntCarInstTermCurr
&rs_CarInstTermCurr(&i).SSR_CART_TRM_FL.TERM_DESCR30.Label =
&rs_CarInstTermCurr(&i).SSR_CART_TRM_FL.TERM_DESCR30.Value;
&rs_CarInstTermCurr(&i).INSTITUTION_TBL.DESCRFORMAL.Visible =
&bool_recMultiInst;
End-For;
Else

&recPage = %Page;

&recTerm = &rs_CarInstTermCurr(1).SSR_CART_TRM_FL.STRM.Value;
&recCar = &rs_CarInstTermCurr(1).SSR_CART_TRM_FL.ACAD_CAREER.Value;
&recInst = &rs_CarInstTermCurr(1).SSR_CART_TRM_FL.INSTITUTION.Value;
&recTermBeginDt =
&rs_CarInstTermCurr(1).SSR_CART_TRM_FL.TERM_BEGIN_DT.Value;

TransferPage(Page.SSR_SHOP_CART_FL);
End-If;

End-If;
End-If;

end-method;

method SSR_SEL_STA3_SFL_Activate

Local Rowset &rs_CarInstTerm, &reclevel1, &rs_CarInstTermCurr,


&rs_CarInstTermPrev;
Local integer &i, &prev, &curr, &cntCarInstTermCurr, &cntCarInstTermPrev;
Local string &str_TermDescr, &prev_Career, &prev_Inst, &prev_Term;
Local boolean &fl_curr = False;
Local date &termbegindt;

&rs_CarInstTermCurr = GetRowset(Scroll.SSR_CART_TRM_FL);
&rs_CarInstTermCurr.Flush();

&cntCarInstTermCurr = &rs_CarInstTermCurr.Select(Record.SSR_CART_TRM_FL, "WHERE


EMPLID = :1 AND STRM <> :2 or (STRM = :2 AND ACAD_CAREER <> :3) OR (STRM = :2 AND
ACAD_CAREER = :3 AND INSTITUTION <> :4) ORDER BY TERM_BEGIN_DT asc", &recEmplId,
&recChangeTerm, &recChangeCar, &recChangeInst);

If &cntCarInstTermCurr = 0 Then

DERIVED_SSR_FL.SSR_NOCLASSES_MSG.Visible = True;
DERIVED_SSR_FL.SSR_NOCLASSES_MSG.Value = MsgGetText(14770, 504, "Message Not
Found");
&rs_CarInstTermCurr.HideAllRows();
Else
DERIVED_SSR_FL.SSR_NOCLASSES_MSG.Visible = False;
If &cntCarInstTermCurr > 0 Then
For &i = 1 To &cntCarInstTermCurr
&rs_CarInstTermCurr(&i).SSR_CART_TRM_FL.TERM_DESCR30.Label =
&rs_CarInstTermCurr(&i).SSR_CART_TRM_FL.TERM_DESCR30.Value;
&rs_CarInstTermCurr(&i).INSTITUTION_TBL.DESCRFORMAL.Visible =
&bool_recMultiInst;
End-For;
End-If;

End-If;

end-method;

method SSR_SHOP_CART_FL__Activate
Local Grid &cls_grid, &cls2_grid;
Local Rowset &rs_regform_vw;

AddJavaScript(HTML.SCC_NAVIGATION_JS);
AddOnLoadScript("setComponentHistoryToValid('SSR_MD_SP_FL')");

&Panel.SetConfirmationMessage("", False); /* Clear any confirmation messages */


&Panel.SetPageTitle(MsgGetText(14770, 601, "Message not found.")); /* Shopping
Cart */

&oClassInformation = create SSR_MANAGE_CLASSES:UTIL:ClassInformation();

If &recPage = "" Then


&recChangeTerm = "";

&recPage = %Page;
TransferPage(Page.SSR_TERM_STA3_FL);
End-If;

DERIVED_SSR_FL.INSTITUTION.Value = &recInst;
DERIVED_SSR_FL.ACAD_CAREER.Value = &recCar;
DERIVED_SSR_FL.STRM.Value = &recTerm;

INSTITUTION_TBL.DESCRFORMAL.Visible = &bool_recMultiInst;

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then


Page.SSR_SHOP_FOOTR_FFL.Visible = True;

&RefreshShoppingCart1 = True;
%This.LoadEnrlCart_sff();
Else
/* Shopping Cart 1 */
&cls_grid = GetGrid(%Page, "SSR_REGFORM_VW");
&cls_grid.GetColumn("P_CLASS_OPTIONS").Label = MsgGetText(14770, 700,
"Message not found."); /* Class Preferences */

/* Shopping Cart 2 */
&cls2_grid = GetGrid(%Page, "SSR_REGFORM2_VW");
&cls2_grid.GetColumn("P_CLASS_OPTIONS1").Label = MsgGetText(14770, 700,
"Message not found."); /* Class Preferences */

&RefreshShoppingCart1 = True; /* On initial load */


Page.SSR_SHOP_FOOTR_FFL.Visible = False;
%This.LoadEnrlCart_lff();
End-If;

end-method;

method DERIVED_SSR_FL__SSR_CHANGE_BTN_FieldChange

%This.SelectTerm();

end-method;

method DERIVED_SSR_FL__MORE_BUTTON_FieldChange
/+ &pagecheck as String +/

Evaluate %Page
When Page.SSR_TERM_STA3_FL
&gotopage = &recPage;
&recPage = %Page;
If &pagecheck = "C" Then
&recTerm = SSR_ENTRMCUR_VW.STRM.Value;
&recCar = SSR_ENTRMCUR_VW.ACAD_CAREER.Value;
&recInst = SSR_ENTRMCUR_VW.INSTITUTION.Value;
&recTermBeginDt = SSR_ENTRMCUR_VW.TERM_BEGIN_DT.Value;

&recChangeTerm = SSR_ENTRMCUR_VW.STRM.Value;
&recChangeCar = SSR_ENTRMCUR_VW.ACAD_CAREER.Value;
&recChangeInst = SSR_ENTRMCUR_VW.INSTITUTION.Value;
Else
If &pagecheck = "P" Then
&recTerm = SSR_ENTRMPRV_VW.STRM.Value;
&recCar = SSR_ENTRMPRV_VW.ACAD_CAREER.Value;
&recInst = SSR_ENTRMPRV_VW.INSTITUTION.Value;
&recTermBeginDt = SSR_ENTRMPRV_VW.TERM_BEGIN_DT.Value;

&recChangeTerm = SSR_ENTRMPRV_VW.STRM.Value;
&recChangeCar = SSR_ENTRMPRV_VW.ACAD_CAREER.Value;
&recChangeInst = SSR_ENTRMPRV_VW.INSTITUTION.Value;
End-If
End-If;

TransferPage(Page.SSR_SHOP_CART_FL);

Break;

When Page.SSR_TERM_STA3_SCF
If &pagecheck = "C" Then
&recChangeTerm = SSR_CSTRMCUR_VW.STRM.Value;
&recChangeCar = SSR_CSTRMCUR_VW.ACAD_CAREER.Value;
&recChangeInst = SSR_CSTRMCUR_VW.INSTITUTION.Value;
Else
If &pagecheck = "P" Then
&recChangeTerm = SSR_CSTRMPRV_VW.STRM.Value;
&recChangeCar = SSR_CSTRMPRV_VW.ACAD_CAREER.Value;
&recChangeInst = SSR_CSTRMPRV_VW.INSTITUTION.Value;
End-If;
End-If;

EndModal(0);

Break;
End-Evaluate;

end-method;

method SelectTerm
Local boolean &REC1;
Local string &sModalOptions;
Local number &RETCODE;

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Or
%Request.BrowserDeviceType = "tablet" Then
&sModalOptions = GetHTMLText(HTML.SCC_MO_FULLSCREEN_FL);
Else
&sModalOptions = GetHTMLText(HTML.SCC_MO_POPUP_FL) | "width@550;height@600;";
End-If;

&RETCODE = DoModalPopup(&sModalOptions, "", False, False,


Page.SSR_TERM_STA3_SCF, MsgGetText(14770, 513, "Message not found."), - 1, - 1, 0);

If DERIVED_SSR_FL.ACAD_CAREER.Value <> &recChangeCar Or


DERIVED_SSR_FL.INSTITUTION.Value <> &recChangeInst Or
DERIVED_SSR_FL.STRM.Value <> &recChangeTerm Then

&recTerm = &recChangeTerm;
&recInst = &recChangeInst;
&recCar = &recChangeCar;
&selectedInstitution = &recChangeInst;
&selectedCareer = &recChangeCar;
&selectedTerm = &recChangeTerm;

DERIVED_SSR_FL.ACAD_CAREER.Value = &recCar;
DERIVED_SSR_FL.INSTITUTION.Value = &recInst;
DERIVED_SSR_FL.STRM.Value = &recTerm;

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then


&bIsFromShoppingCart = True;
Transfer( False, MenuName.SSR_STUDENT_FL, BarName.USE,
ItemName.SSR_SHOP_CART_FL, Page.SSR_TERM_STA3_FL, "U");
Else
TransferPage(Page.SSR_SHOP_CART_FL);
End-If;
End-If;

end-method;

method SSR_CLSDTL_LF_SCF__Activate
&oClassInformation.SSR_CLSDTL_LF_SCF_Activate();
end-method;

method DERIVED_SSR_FL__SSR_CL_DTLS_OPT_FieldChange
&oClassInformation.DERIVED_SSR_FL__SSR_CL_DTLS_OPT_FieldChange();
end-method;

method DERIVED_SSR_FL_SSR_CANCEL_BTN__FieldChange
&bool_classoptionsflag = False;
/* Do you want to save your changes? */
If MessageBox(%MsgStyle_YesNo, "", 124, 528, "Message Not Found") = 7 Then
/* No */
EndModal(0);
End-If;
end-method;

method DERIVED_SSR_FL_SSR_DONE_BTN__FieldChange
&booClassInfoLoaded = False;
&bool_classoptionsflag = False;
&booEnrollInfoLoaded = False;
EndModal(0);
end-method;

method DERIVED_SSR_FL_SSR_ENRL_DCW__FieldChange
If DERIVED_SSR_FL.SSR_ENRL_DCW.Value = "C" Then
DERIVED_SSR_FL.SSR_GRPBOX_CW.Visible = True;
DERIVED_SSR_FL.SSR_GRPBOX_DROP.Visible = False;
Else
DERIVED_SSR_FL.SSR_GRPBOX_CW.Visible = False;
DERIVED_SSR_FL.SSR_GRPBOX_DROP.Visible = True;
End-If;
end-method;

method LoadEnrlCart_lff
Local boolean &AllowValidation, &fromClassSearch, &allow;
Local integer &i, &j, &class_nbr_view, &class_nbr_main, &curr_ClassNbr, &cntset;
Local string &sel_Name;
Local array of string &array_classid;
Local Rowset &rsstdClassDtl;
Local Record &recclasstbl;
Local number &nseats;
Local SSR_MANAGE_CLASSES:UTIL:Instructor &instructorUtil = create
SSR_MANAGE_CLASSES:UTIL:Instructor();
Local SSR_STUDENT_RECORDS:SR_ClassData:ClassStatus &obj_ClassStatus;
&obj_ClassInfo = create SSR_STUDENT_RECORDS:SR_ClassData:ClassInfo();
&rsstdClassDtl = CreateRowset(Record.CLASS_TBL);
&fromClassSearch = False;

Local string &sPreferenceRecord;

If &RefreshShoppingCart1 Then
&sScrollRecord = Record.SSR_REGFORM_VW;
&sPreferenceRecord = Record.DERIVED_REGFRM1;
SSR_REGFORM_WRK.GROUPBOX1.Visible = True;
SSR_REGFORM_WRK.GROUPBOX2.Visible = False;
End-If;

If &RefreshShoppingCart2 Then
&sScrollRecord = Record.SSR_REGFORM2_VW;
&sPreferenceRecord = Record.SSR_REGFORM_WRK;
SSR_REGFORM_WRK.GROUPBOX1.Visible = False;
SSR_REGFORM_WRK.GROUPBOX2.Visible = True;
End-If;

&rs_regform_view = GetLevel0()(1).GetRowset(@("Scroll." | &sScrollRecord));


&rs_regform_view.Flush();
&rs_regform_view.Select(Record.SSR_REGFORM_VW, "where EMPLID=:1 and
ACAD_CAREER=:2 and INSTITUTION=:3 and STRM=:4 ORDER BY SUBJECT, CATALOG_NBR",
&recEmplId, DERIVED_SSR_FL.ACAD_CAREER, DERIVED_SSR_FL.INSTITUTION,
DERIVED_SSR_FL.STRM);
&rs_regform_view.Select(Record.SSR_REGFORM_A1, "where EMPLID=:1 and
ACAD_CAREER=:2 and INSTITUTION=:3 and STRM=:4 ORDER BY SUBJECT, CATALOG_NBR",
&recEmplId, DERIVED_SSR_FL.ACAD_CAREER, DERIVED_SSR_FL.INSTITUTION,
DERIVED_SSR_FL.STRM);
&rs_regform_view.Select(Record.SSR_REGFORM_A2, "where EMPLID=:1 and
ACAD_CAREER=:2 and INSTITUTION=:3 and STRM=:4 ORDER BY SUBJECT, CATALOG_NBR",
&recEmplId, DERIVED_SSR_FL.ACAD_CAREER, DERIVED_SSR_FL.INSTITUTION,
DERIVED_SSR_FL.STRM);
&rs_regform_view.Select(Record.SSR_REGFORM_R1, "where EMPLID=:1 and
ACAD_CAREER=:2 and INSTITUTION=:3 and STRM=:4 ORDER BY SUBJECT, CATALOG_NBR",
&recEmplId, DERIVED_SSR_FL.ACAD_CAREER, DERIVED_SSR_FL.INSTITUTION,
DERIVED_SSR_FL.STRM);
&rs_regform_view.Select(Record.SSR_REGFORM_R2, "where EMPLID=:1 and
ACAD_CAREER=:2 and INSTITUTION=:3 and STRM=:4 ORDER BY SUBJECT, CATALOG_NBR",
&recEmplId, DERIVED_SSR_FL.ACAD_CAREER, DERIVED_SSR_FL.INSTITUTION,
DERIVED_SSR_FL.STRM);

If &rs_regform_view(1).GetRecord(@("Record." |
&sScrollRecord)).CLASS_NBR_REQ.Value = 0 Then
TransferPage(Page.SSR_TERM_STA3_FL);

Else

&rs_regform_view.ShowAllRows();
Local string &sSortByClassNbrReq, &sortBysubjectCatnbr;

&sSortByClassNbrReq = &sScrollRecord | ".CLASS_NBR_REQ";


&sortBysubjectCatnbr = "DERIVED_SSR_FL.SSR_SBJ_CAT_NBR";

&rs_regform_view.Sort(@(&sSortByClassNbrReq), "A");

/* save matching main row */


&rs_regform_main = CreateRowset(Record.SSR_REGFORM);
&rs_regform_main.Fill("WHERE EMPLID = :1 AND STRM = :2 AND ACAD_CAREER = :3
AND INSTITUTION = :4", &recEmplId, &recTerm, &recCar, &recInst);
&rs_regform_main.Sort(SSR_REGFORM.CLASS_NBR, "A");

Local integer &last_main_row = 1;

For &i = 1 To &rs_regform_view.RowCount


&class_nbr_view = &rs_regform_view(&i).GetRecord(@("Record." |
&sScrollRecord)).CLASS_NBR_REQ.Value;
For &j = &last_main_row To &rs_regform_main.ActiveRowCount
&class_nbr_main = &rs_regform_main(&j).SSR_REGFORM.CLASS_NBR.Value;
If &class_nbr_main = &class_nbr_view Then
&rs_regform_view(&i).DERIVED_REGFRM1.SSR_REF_ROW.Value = &j;
&last_main_row = &j;
Break;
End-If;
End-For;
End-For;

Local string &sSortBySubject, &sSortByCatalogNbr, &sSortByClassType,


&sSortByClassSection, &sSortbyRefRow;

&sSortbyRefRow = "DERIVED_REGFRM1.SSR_REF_ROW";
&sSortBySubject = &sScrollRecord | ".SUBJECT";
&sSortByCatalogNbr = &sScrollRecord | ".CATALOG_NBR";
&sSortByClassType = &sScrollRecord | ".CLASS_TYPE";
&sSortByClassSection = &sScrollRecord | ".CLASS_SECTION";

&rs_regform_view.Sort(@(&sSortBySubject), "A", @(&sSortByCatalogNbr), "A",


@(&sSortbyRefRow), "A", @(&sSortByClassNbrReq), "A", @(&sSortByClassType), "A",
@(&sSortByClassSection), "A");

/* populate related fields in the grid */


Local number &curr_ClassNbrReq, &prev_ClassNbrReq;
Local integer &GridRow, &GbxRow;
Local string &sBgnCssConstructor, &sEndCssConstructor, &sStyleConstructor;

&GridRow = 0;
&GbxRow = 0;

&sBgnCssConstructor = GetHTMLText(HTML.SSR_CSS_BGN_CONSTRUCTOR_FL);
&sStyleConstructor = "";

For &i = 1 To &rs_regform_view.RowCount

&curr_ClassNbr = &rs_regform_view(&i).GetRecord(@("Record." |
&sScrollRecord)).CLASS_NBR.Value;
&obj_ClassInfo.LoadClassInfo(&recInst, &recTerm, &curr_ClassNbr);
&curr_ClassNbrReq = &rs_regform_view(&i).GetRecord(@("Record." |
&sScrollRecord)).CLASS_NBR_REQ.Value;

If &curr_ClassNbr <> &curr_ClassNbrReq Then

&rs_regform_view(&i).DERIVED_REGFRM1.SSR_SELECT.Visible = False;

&rs_regform_view(&i).GetRecord(@("Record." |
&sScrollRecord)).UNT_TAKEN.Value = 0;
&rs_regform_view(&i).DERIVED_SSR_FL.SSR_UNITS_LBL.Value = "";
&rs_regform_view(&i).DERIVED_SSR_FL.SSR_CLASSNAME_LONG.Label =
&obj_ClassInfo.Class_CompXlat | " " | &curr_ClassNbr;
Else
&rs_regform_view(&i).DERIVED_SSR_FL.SSR_SBJ_CAT_NBR.Value =
&obj_ClassInfo.Class_SubjCatNbr;
&rs_regform_view(&i).DERIVED_SSR_FL.SSR_CLASSNAME_LONG.Label =
&obj_ClassInfo.Class_CompXlat | " " | &curr_ClassNbr;
&rs_regform_view(&i).DERIVED_SSR_FL.SSR_UNITS_LBL.Value =
NumberToString("%6.2", &rs_regform_view(&i).GetRecord(@("Record." |
&sScrollRecord)).UNT_TAKEN.Value);
&rs_regform_view(&i).DERIVED_SSR_FL.SSR_DESCR80.Value =
&obj_ClassInfo.Class_SubjCatNbr | " " | &obj_ClassInfo.Class_Descr;

End-If;

/* Begin, Merged-Row Style */


If &i = 1 Then
&prev_ClassNbrReq = 0;
End-If;

If &prev_ClassNbrReq = &curr_ClassNbrReq Then


&GridRow = &i - 1;
&sStyleConstructor = &sStyleConstructor |
GetHTMLText(HTML.SSR_MERGE_ROWS_LFF_FL, &GridRow);
End-If;

If &prev_ClassNbrReq <> &curr_ClassNbrReq And


&i > 1 Then
&GbxRow = &i - 1;

&rs_regform_view(&GbxRow).DERIVED_SSR_FL.SSR_DESCR50.AddFFClass("psa_margin-
bottom0_8em");
End-If;

&prev_ClassNbrReq = &curr_ClassNbrReq;
/* End, Merged-Row Style */

&rs_regform_view(&i).DERIVED_SSR_FL.SSR_CLASSNAME_LONG.Value =
&obj_ClassInfo.Class_CodeNoComp;

&rs_regform_view(&i).DERIVED_REGFRM1.SSR_MTG_SCHED_LONG.Value =
%This.LoadMeetingPattern(&recTerm, &curr_ClassNbr);

&rs_regform_view(&i).DERIVED_SSR_FL.SSR_MORE_CLASS_FL.Visible =
&patternend;

If &patternend Then
&rs_regform_view(&i).DERIVED_SSR_FL.SSR_MORE_CLASS_FL.Label =
&descrmax;
End-If;

&rs_regform_view(&i).DERIVED_REGFRM1.SSR_MTG_LOC_LONG.Value =
&roomdetails;

&rs_regform_view(&i).DERIVED_REGFRM1.SSR_INSTR_LONG.Value =
%This.Class_Instructor_List(&curr_ClassNbr, &recTerm, &recCar, &recInst);

&obj_ClassStatus = create
SSR_STUDENT_RECORDS:SR_ClassData:ClassStatus(DERIVED_SSR_FL.INSTITUTION,
DERIVED_SSR_FL.STRM, &obj_ClassInfo.Class_Session, &curr_ClassNbr);

&cntset = &rsstdClassDtl.Fill("WHERE STRM = :1 AND CLASS_NBR = :2",


&recTerm, &rs_regform_view(&i).GetRecord(@("Record." |
&sScrollRecord)).CLASS_NBR.Value);
&crse_id = &rsstdClassDtl(1).CLASS_TBL.CRSE_ID.Value;
&crse_offer_nbr = &rsstdClassDtl(1).CLASS_TBL.CRSE_OFFER_NBR.Value;
&session_code = &rsstdClassDtl(1).CLASS_TBL.SESSION_CODE.Value;
&assoc_class = &rsstdClassDtl(1).CLASS_TBL.ASSOCIATED_CLASS.Value;
&class_component = &rsstdClassDtl(1).CLASS_TBL.SSR_COMPONENT.Value;

&rs_regform_view(&i).DERIVED_SSR_FL.SSR_CART_SESSION.Value =
%This.getSessiondDesc(&session_code);

/* Seats and Status */


Evaluate &obj_ClassStatus.Class_Stat
When "O"
&rs_regform_view(&i).DERIVED_REGFRM1.SSR_STATUS_LONG.Value =
MsgGetText(14690, 445, "Message not found.");
&rs_regform_view(&i).DERIVED_SSR_FL.SSR_SEATS_AVL.Value =
MsgGetText(14770, 527, "Message not found.",
&rsstdClassDtl(1).CLASS_TBL.ENRL_CAP.Value -
&rsstdClassDtl(1).CLASS_TBL.ENRL_TOT.Value,
&rsstdClassDtl(1).CLASS_TBL.ENRL_CAP.Value);
&rs_regform_view(&i).DERIVED_SSR_FL.SSR_DESCR50.Value =
MsgGetText(14770, 607, "Message not found.") | Char(10) | Char(13) |
&rs_regform_view(&i).DERIVED_SSR_FL.SSR_SEATS_AVL.Value; /* Open Seats */
When "W"
&rs_regform_view(&i).DERIVED_REGFRM1.SSR_STATUS_LONG.Value =
MsgGetText(14690, 447, "Message not found.");
&rs_regform_view(&i).DERIVED_SSR_FL.SSR_SEATS_AVL.Value =
MsgGetText(14770, 527, "Message not found.",
&rsstdClassDtl(1).CLASS_TBL.WAIT_CAP.Value -
&rsstdClassDtl(1).CLASS_TBL.WAIT_TOT.Value,
&rsstdClassDtl(1).CLASS_TBL.WAIT_CAP.Value);
&rs_regform_view(&i).DERIVED_SSR_FL.SSR_DESCR50.Value =
MsgGetText(14770, 608, "Message not found.") | Char(10) | Char(13) |
&rs_regform_view(&i).DERIVED_SSR_FL.SSR_SEATS_AVL.Value; /* Waitlist Available
Places */
When "C"
&rs_regform_view(&i).DERIVED_REGFRM1.SSR_STATUS_LONG.Value =
MsgGetText(14690, 446, "Message not found.");
&rs_regform_view(&i).DERIVED_SSR_FL.SSR_SEATS_AVL.Value = "--";
&rs_regform_view(&i).DERIVED_SSR_FL.SSR_DESCR50.Value =
MsgGetText(14690, 446, "Message not found.");
End-Evaluate;

&rs_regform_view(&i).DERIVED_REGFRM1.SSR_STATUS_LONG.Visible = False;
If &rsstdClassDtl(1).CLASS_TBL.CLASS_TYPE.Value = "E" Then
&rs_regform_view(&i).GetRecord(@("Record." |
&sPreferenceRecord)).SSR_CLASSNAME_35.Visible = True;
&rs_regform_view(&i).GetRecord(@("Record." |
&sPreferenceRecord)).SSR_CLASSNAME_35.Label = MsgGetText(14841, 35, "Message not
found.") | Char(10) | Char(13) | MsgGetText(14770, 701, "Message not found."); /*
Change Preferences */

/* Check for Available Class Preferences */


Local boolean &DisplayClassPreferences;
Local Record &recClsPrefWk_IN, &recClsPrefWk_OUT, &recRegformVw;
Local Rowset &rs_ClassTable;

&recRegformVw = &rs_regform_view(&i).GetRecord(@("Record." |
&sScrollRecord));

&recClsPrefWk_IN = CreateRecord(Record.SSR_CLS_PREF_WK);

&rs_ClassTable = CreateRowset(Record.CLASS_TBL);
&rs_ClassTable.Flush();
&rs_ClassTable.Fill("WHERE STRM=:1 AND CLASS_NBR=:2",
DERIVED_SSR_FL.STRM, &nClassNbr);

&recClsPrefWk_IN.SSR_SBJ_CAT_NBR.Value =
&rs_ClassTable(1).CLASS_TBL.SUBJECT.Value | " " |
&rs_ClassTable(1).CLASS_TBL.CATALOG_NBR.Value | " " |
&rs_ClassTable(1).CLASS_TBL.DESCR.Value;

&recRegformVw.CopyFieldsTo(&recClsPrefWk_IN);

Local SSR_MANAGE_CLASSES:UTIL:ClassPreferences &oClassPreferences =


create SSR_MANAGE_CLASSES:UTIL:ClassPreferences();

&DisplayClassPreferences =
&oClassPreferences.CheckForClassPreferences(&recClsPrefWk_IN);

/* Check for Available Alternative Classes */


Local boolean &DisplayAlternativeClasses = True;

&nClassNbr = &curr_ClassNbr;
&nRelateClassNbr1 = &rs_regform_view(&i).GetRecord(@("Record." |
&sScrollRecord)).RELATE_CLASS_NBR_1.Value;
&nRelateClassNbr2 = &rs_regform_view(&i).GetRecord(@("Record." |
&sScrollRecord)).RELATE_CLASS_NBR_2.Value;

&rs_AlternativeClasses = %This.GetClassOptions();

If &rs_AlternativeClasses.ActiveRowCount = 1 Then
If &rs_AlternativeClasses(1).SSR_DER_CS_GRP.SSR_OPTION_NBR.Value = 0
Then
/* No Alternative Classes available */
&DisplayAlternativeClasses = False;
End-If;
End-If;
&DisplayAlternativeClasses = True;
If Not (&DisplayClassPreferences) And
Not (&DisplayAlternativeClasses) Then
&rs_regform_view(&i).GetRecord(@("Record." |
&sPreferenceRecord)).SSR_CLASSNAME_35.Enabled = False;
&rs_regform_view(&i).GetRecord(@("Record." |
&sPreferenceRecord)).SSR_CLASSNAME_35.AddFFClass("psa_color-black");
Else
&rs_regform_view(&i).GetRecord(@("Record." |
&sPreferenceRecord)).SSR_CLASSNAME_35.Enabled = True;
End-If;
Else
&rs_regform_view(&i).GetRecord(@("Record." |
&sPreferenceRecord)).SSR_CLASSNAME_35.Visible = False;
End-If;

End-For;

&GbxRow = &i - 1;
&rs_regform_view(&GbxRow).DERIVED_SSR_FL.SSR_DESCR50.AddFFClass("psa_margin-
bottom0_8em");

&sEndCssConstructor = GetHTMLText(HTML.SSR_CSS_END_CONSTRUCTOR_FL);

SSR_REGFORM_WRK.HTMLAREA = &sBgnCssConstructor | &sStyleConstructor |


&sEndCssConstructor;

Local integer &statcheck = 0;


Local integer &statretain = 1;
Local string &statmain = "";

Local string &sOpenDescr, &sClosedDescr, &sWaitlistDescr;

&sOpenDescr = MsgGetText(14690, 445, "Message not found.");


&sClosedDescr = MsgGetText(14690, 446, "Message not found.");
&sWaitlistDescr = MsgGetText(14690, 508, "Message not found.");

For &i = 1 To &rs_regform_view.RowCount

If &statcheck <> &rs_regform_view(&i).DERIVED_REGFRM1.SSR_REF_ROW.Value


Then

&rs_regform_view(&statretain).DERIVED_SSR_FL.SSR_AVAIL_FL.Value =
&statmain;

&statcheck = &rs_regform_view(&i).DERIVED_REGFRM1.SSR_REF_ROW.Value;
&statmain = &rs_regform_view(&i).DERIVED_REGFRM1.SSR_STATUS_LONG.Value;

&statretain = &i;
End-If;

Evaluate &rs_regform_view(&i).DERIVED_REGFRM1.SSR_STATUS_LONG.Value
When &sOpenDescr
If &statmain <> &sOpenDescr Then
&statmain = &statmain;
End-If;
When &sWaitlistDescr
If &statmain <> &sClosedDescr Then
&statmain =
&rs_regform_view(&i).DERIVED_REGFRM1.SSR_STATUS_LONG.Value;
End-If;
When &sClosedDescr
&statmain = &rs_regform_view(&i).DERIVED_REGFRM1.SSR_STATUS_LONG.Value;
End-Evaluate;
End-For;

&rs_regform_view(&statretain).DERIVED_SSR_FL.SSR_AVAIL_FL.Value = &statmain;

/* Session */
&statcheck = &rs_regform_view(1).DERIVED_REGFRM1.SSR_REF_ROW.Value;
&statretain = 1;
Local integer &diffsession = 0;
Local integer &sessionstart = 1;
Local integer &sessionend = 1;
Local integer &sessionctr;
Local string &sessionmain;

For &i = 2 To &rs_regform_view.RowCount

If &statcheck <> &rs_regform_view(&i).DERIVED_REGFRM1.SSR_REF_ROW.Value


Then

If &sessionstart <> &sessionend Then


&diffsession = 0;
For &sessionctr = &sessionstart To &sessionend

If
&rs_regform_view(&sessionstart).DERIVED_SSR_FL.SSR_CART_SESSION.Value <>
&rs_regform_view(&sessionctr).DERIVED_SSR_FL.SSR_CART_SESSION.Value Then
&diffsession = &diffsession + 1;
End-If;

End-For;

If &diffsession = 0 Then
For &sessionctr = &sessionstart To &sessionend
If &sessionctr <> &sessionstart Then

&rs_regform_view(&sessionctr).DERIVED_SSR_FL.SSR_CART_SESSION.Value = "";
End-If;

End-For;
End-If;

End-If;

&sessionstart = &i;
&sessionend = &i;
&statcheck = &rs_regform_view(&i).DERIVED_REGFRM1.SSR_REF_ROW.Value;

Else
&sessionend = &i;
End-If;

End-For;

If &sessionstart <> &sessionend Then

For &sessionctr = &sessionstart To &sessionend


&diffsession = 0;
If
&rs_regform_view(&sessionstart).DERIVED_SSR_FL.SSR_CART_SESSION.Value <>
&rs_regform_view(&sessionctr).DERIVED_SSR_FL.SSR_CART_SESSION.Value Then
&diffsession = &diffsession + 1;
End-If;

End-For;

If &diffsession = 0 Then
For &sessionctr = &sessionstart To &sessionend
If &sessionctr <> &sessionstart Then

&rs_regform_view(&sessionctr).DERIVED_SSR_FL.SSR_CART_SESSION.Value = "";
End-If;

End-For;
End-If;

End-If;

/* End session */

/* Days */
&statcheck = &rs_regform_view(1).DERIVED_REGFRM1.SSR_REF_ROW.Value;
&statretain = 1;
Local integer &diffdays = 0;
Local integer &daysstart = 1;
Local integer &daysend = 1;
Local integer &daysctr;
Local string &daysmain;

For &i = 2 To &rs_regform_view.RowCount

If &statcheck <> &rs_regform_view(&i).DERIVED_REGFRM1.SSR_REF_ROW.Value


Then

If &daysstart <> &daysend Then


&diffsession = 0;
For &daysctr = &daysstart To &daysend

If
&rs_regform_view(&daysstart).DERIVED_REGFRM1.SSR_MTG_SCHED_LONG.Value <>
&rs_regform_view(&daysctr).DERIVED_REGFRM1.SSR_MTG_SCHED_LONG.Value Then
&diffsession = &diffsession + 1;
End-If;

End-For;

If &diffsession = 0 Then
For &daysctr = &daysstart To &daysend
If &daysctr <> &daysstart Then

&rs_regform_view(&daysctr).DERIVED_REGFRM1.SSR_MTG_SCHED_LONG.Value = "";
End-If;

End-For;
End-If;

End-If;
&daysstart = &i;
&daysend = &i;
&statcheck = &rs_regform_view(&i).DERIVED_REGFRM1.SSR_REF_ROW.Value;

Else
&daysend = &i;
End-If;

End-For;

If &daysstart <> &daysend Then

For &daysctr = &daysstart To &daysend


&diffsession = 0;
If
&rs_regform_view(&daysstart).DERIVED_REGFRM1.SSR_MTG_SCHED_LONG.Value <>
&rs_regform_view(&daysctr).DERIVED_REGFRM1.SSR_MTG_SCHED_LONG.Value Then
&diffsession = &diffsession + 1;
End-If;

End-For;

If &diffsession = 0 Then
For &daysctr = &daysstart To &daysend
If &daysctr <> &daysstart Then

&rs_regform_view(&daysctr).DERIVED_REGFRM1.SSR_MTG_SCHED_LONG.Value = "";
End-If;

End-For;
End-If;

End-If;

/* End Days */

/* Room */
&statcheck = &rs_regform_view(1).DERIVED_REGFRM1.SSR_REF_ROW.Value;
&statretain = 1;
Local integer &diffroom = 0;
Local integer &roomstart = 1;
Local integer &roomend = 1;
Local integer &roomctr;
Local string &roommain;

If Code(Substring(&rs_regform_view(1).DERIVED_REGFRM1.SSR_MTG_LOC_LONG.Value,
0, 1)) <> 10 Then
&rs_regform_view(1).DERIVED_REGFRM1.SSR_MTG_LOC_LONG.Value = Char(10) |
Char(13) | &rs_regform_view(1).DERIVED_REGFRM1.SSR_MTG_LOC_LONG.Value;
End-If;

For &i = 2 To &rs_regform_view.RowCount

If
Code(Substring(&rs_regform_view(&i).DERIVED_REGFRM1.SSR_MTG_LOC_LONG.Value, 0, 1))
<> 10 Then
&rs_regform_view(&i).DERIVED_REGFRM1.SSR_MTG_LOC_LONG.Value = Char(10)
| Char(13) | &rs_regform_view(&i).DERIVED_REGFRM1.SSR_MTG_LOC_LONG.Value;
End-If;

If &statcheck <> &rs_regform_view(&i).DERIVED_REGFRM1.SSR_REF_ROW.Value


Then

If &roomstart <> &roomend Then


&diffsession = 0;
For &roomctr = &roomstart To &roomend

If
&rs_regform_view(&roomstart).DERIVED_REGFRM1.SSR_MTG_LOC_LONG.Value <>
&rs_regform_view(&roomctr).DERIVED_REGFRM1.SSR_MTG_LOC_LONG.Value Then
&diffsession = &diffsession + 1;
End-If;

End-For;

If &diffsession = 0 Then
For &roomctr = &roomstart To &roomend
If &roomctr <> &roomstart Then

&rs_regform_view(&roomctr).DERIVED_REGFRM1.SSR_MTG_LOC_LONG.Value = "";
End-If;

End-For;
End-If;

End-If;

&roomstart = &i;
&roomend = &i;
&statcheck = &rs_regform_view(&i).DERIVED_REGFRM1.SSR_REF_ROW.Value;

Else
&roomend = &i;
End-If;

End-For;

If &roomstart <> &roomend Then

For &roomctr = &roomstart To &roomend


&diffsession = 0;
If &rs_regform_view(&roomstart).DERIVED_REGFRM1.SSR_MTG_LOC_LONG.Value
<> &rs_regform_view(&roomctr).DERIVED_REGFRM1.SSR_MTG_LOC_LONG.Value Then
&diffsession = &diffsession + 1;
End-If;

End-For;

If &diffsession = 0 Then
For &roomctr = &roomstart To &roomend
If &roomctr <> &roomstart Then
&rs_regform_view(&roomctr).DERIVED_REGFRM1.SSR_MTG_LOC_LONG.Value
= "";
End-If;

End-For;
End-If;

End-If;

/* End Room */

%This.CheckAllowedUserAction();

/* Validate button */
&AllowValidation = True;

Local Record &rsgetclassid;


&rsgetclassid = CreateRecord(Record.SA_SS_ENRL_PL);
&rsgetclassid.INSTITUTION.Value = &recInst;
If &rsgetclassid.SelectByKey() Then
Local string &enrl_classid = &rsgetclassid.CLASSID.Value;
End-If;
&array_classid = %PermissionLists;
&i = 0;
&allow = False;
While &array_classid.Next(&i);
If &array_classid [&i] = &enrl_classid Then
&allow = True;
Break;
End-If;
End-While;
If Not &allow Then
&AllowValidation = False;
Else
Local Rowset &rsenrolloptions = CreateRowset(Record.SSR_SS_ENRL_OPT);
Local integer &cntenrolloptions;

&rsenrolloptions.Fill();
&cntenrolloptions = &rsenrolloptions.Fill();

If EditApptExists(&recEmplId, &recCar, &recInst, &recTerm) Then


/* student has validation appt */
Else
If
&rsenrolloptions(&cntenrolloptions).SSR_SS_ENRL_OPT.SSR_SS_VAL_ON_APPT.Value = "Y"
Then
/* allow validation during enrollment */
If isValidTermAppt(&recEmplId, &recCar, &recInst, &recTerm) Then

Else
&AllowValidation = False;
End-If;
Else
&AllowValidation = False;
End-If;
End-If;

End-If;
End-If;

end-method;

method LoadEnrlCart_sff
Local boolean &AllowValidation, &fromClassSearch, &allow;
Local integer &i, &j, &k, &class_nbr_view, &class_nbr_main, &curr_ClassNbr,
&cntset, &cntset2;
Local string &sel_Name;
Local array of string &array_classid;
Local Rowset &rsstdClassDtl, &rs_regform_view_sff, &rscompdetails;
Local Record &recclasstbl;
Local number &nseats;
Local SSR_MANAGE_CLASSES:UTIL:Instructor &instructorUtil = create
SSR_MANAGE_CLASSES:UTIL:Instructor();
Local SSR_STUDENT_RECORDS:SR_ClassData:ClassStatus &obj_ClassStatus;
Local SSR_MANAGE_CLASSES:UTIL:MeetingDetails &oMeetingDetails = create
SSR_MANAGE_CLASSES:UTIL:MeetingDetails();
&obj_ClassInfo = create SSR_STUDENT_RECORDS:SR_ClassData:ClassInfo();
&rsstdClassDtl = CreateRowset(Record.CLASS_TBL);
&fromClassSearch = False;

Local string &sPreferenceRecord, &statmain;

AddStyleSheet(StyleSheet.SSR_SHOPPING_CART_FL);

Local Rowset &rs_regform_lvl2;


Local Row &row_regform_lvl2;

If &RefreshShoppingCart1 Then
&sScrollRecord = Record.SSR_REGFORM_VW;
&sPreferenceRecord = Record.DERIVED_REGFRM1;
SSR_REGFORM_WRK.GROUPBOX1.Visible = True;
SSR_REGFORM_WRK.GROUPBOX2.Visible = False;
End-If;

If &RefreshShoppingCart2 Then
&sScrollRecord = Record.SSR_REGFORM2_VW;
&sPreferenceRecord = Record.SSR_REGFORM_WRK;
SSR_REGFORM_WRK.GROUPBOX1.Visible = False;
SSR_REGFORM_WRK.GROUPBOX2.Visible = True;
End-If;

&rs_regform_view = GetLevel0()(1).GetRowset(@("Scroll." | &sScrollRecord));


&rs_regform_view.Flush();
&cntset = &rs_regform_view.Select(@("Record." | &sScrollRecord), "where
EMPLID=:1 and ACAD_CAREER=:2 and INSTITUTION=:3 and STRM=:4 and CLASS_NBR_REQ =
CLASS_NBR", &recEmplId, DERIVED_SSR_FL.ACAD_CAREER, DERIVED_SSR_FL.INSTITUTION,
DERIVED_SSR_FL.STRM);

Local string &sSortBySubject, &sSortByCatalogNbr;

&sSortBySubject = &sScrollRecord | ".SUBJECT";


&sSortByCatalogNbr = &sScrollRecord | ".CATALOG_NBR";

&rs_regform_view.Sort(@(&sSortBySubject), "A", @(&sSortByCatalogNbr), "A");

Local integer &last_main_row;


If &cntset > 0 Then

&oMeetingDetails.sInstitution = &recInst;
&oMeetingDetails.sAcademicCareer = &recCar;
&oMeetingDetails.sTerm = &recTerm;
&oMeetingDetails.Instantiate("ShopCart");

For &i = 1 To &cntset

/* Check for Available Class Preferences */


Local boolean &DisplayClassPreferences;
Local Record &recClsPrefWk_IN, &recClsPrefWk_OUT, &recRegformVw;
Local Rowset &rs_ClassTable;

&recRegformVw = &rs_regform_view(&i).GetRecord(@("Record." |
&sScrollRecord));

&recClsPrefWk_IN = CreateRecord(Record.SSR_CLS_PREF_WK);

&rs_ClassTable = CreateRowset(Record.CLASS_TBL);
&rs_ClassTable.Flush();
&rs_ClassTable.Fill("WHERE STRM=:1 AND CLASS_NBR=:2", DERIVED_SSR_FL.STRM,
&nClassNbr);

&recClsPrefWk_IN.SSR_SBJ_CAT_NBR.Value =
&rs_ClassTable(1).CLASS_TBL.SUBJECT.Value | " " |
&rs_ClassTable(1).CLASS_TBL.CATALOG_NBR.Value | " " |
&rs_ClassTable(1).CLASS_TBL.DESCR.Value;

&recRegformVw.CopyFieldsTo(&recClsPrefWk_IN);

Local SSR_MANAGE_CLASSES:UTIL:ClassPreferences &oClassPreferences = create


SSR_MANAGE_CLASSES:UTIL:ClassPreferences();

&DisplayClassPreferences =
&oClassPreferences.CheckForClassPreferences(&recClsPrefWk_IN);

/* Check for Available Alternative Classes */


Local boolean &DisplayAlternativeClasses = True;

&nClassNbr = &curr_ClassNbr;
&nRelateClassNbr1 = &rs_regform_view(&i).GetRecord(@("Record." |
&sScrollRecord)).RELATE_CLASS_NBR_1.Value;
&nRelateClassNbr2 = &rs_regform_view(&i).GetRecord(@("Record." |
&sScrollRecord)).RELATE_CLASS_NBR_2.Value;

&rs_AlternativeClasses = %This.GetClassOptions();

If &rs_AlternativeClasses.ActiveRowCount = 1 Then
If &rs_AlternativeClasses(1).SSR_DER_CS_GRP.SSR_OPTION_NBR.Value = 0
Then
/* No Alternative Classes available */
&DisplayAlternativeClasses = False;
End-If;
End-If;

If Not (&DisplayClassPreferences) And


Not (&DisplayAlternativeClasses) Then
&rs_regform_view(&i).GetRecord(@("Record." |
&sPreferenceRecord)).SSR_CLASSNAME_35.Visible = False;
Else
&rs_regform_view(&i).GetRecord(@("Record." |
&sPreferenceRecord)).SSR_CLASSNAME_35.Visible = True;
&rs_regform_view(&i).GetRecord(@("Record." |
&sPreferenceRecord)).SSR_CLASSNAME_35.Label = MsgGetText(14770, 719, "Message not
found."); /* Change Preferences */
End-If;

&rs_regform_view(&i).DERIVED_SSR_FL.SSR_AVAIL_LBL.Value =
MsgGetText(14770, 717, "Message not found."); /* Availability */

&rs_regform_lvl2 = &rs_regform_view(&i).GetRowset(@("Scroll." |
&sScrollRecord));

If &RefreshShoppingCart1 Then
&rs_regform_view(&i).DERIVED_SSR_FL.SSR_GRID_CART1.Visible = True;
&rs_regform_view(&i).DERIVED_SSR_FL.SSR_GRID_CART2.Visible = False;
End-If;

If &RefreshShoppingCart2 Then
&rs_regform_view(&i).DERIVED_SSR_FL.SSR_GRID_CART1.Visible = False;
&rs_regform_view(&i).DERIVED_SSR_FL.SSR_GRID_CART2.Visible = True;
End-If;

Local integer &nClassNbrReq;


&nClassNbrReq = &rs_regform_view(&i).GetRecord(@("Record." |
&sScrollRecord)).CLASS_NBR_REQ.Value;
&rs_regform_lvl2.Flush();
&rs_regform_lvl2.Select(@("Record." | &sScrollRecord), "where EMPLID=:1
and ACAD_CAREER=:2 and INSTITUTION=:3 and STRM=:4 and CLASS_NBR_REQ = :5",
&recEmplId, DERIVED_SSR_FL.ACAD_CAREER, DERIVED_SSR_FL.INSTITUTION,
DERIVED_SSR_FL.STRM, &nClassNbrReq);
&rs_regform_lvl2.Select(Record.SSR_REGFORM_A1, "where EMPLID=:1 and
ACAD_CAREER=:2 and INSTITUTION=:3 and STRM=:4 and CLASS_NBR_REQ = :5", &recEmplId,
DERIVED_SSR_FL.ACAD_CAREER, DERIVED_SSR_FL.INSTITUTION, DERIVED_SSR_FL.STRM,
&nClassNbrReq);
&rs_regform_lvl2.Select(Record.SSR_REGFORM_A2, "where EMPLID=:1 and
ACAD_CAREER=:2 and INSTITUTION=:3 and STRM=:4 and CLASS_NBR_REQ = :5", &recEmplId,
DERIVED_SSR_FL.ACAD_CAREER, DERIVED_SSR_FL.INSTITUTION, DERIVED_SSR_FL.STRM,
&nClassNbrReq);
&rs_regform_lvl2.Select(Record.SSR_REGFORM_R1, "where EMPLID=:1 and
ACAD_CAREER=:2 and INSTITUTION=:3 and STRM=:4 and CLASS_NBR_REQ = :5", &recEmplId,
DERIVED_SSR_FL.ACAD_CAREER, DERIVED_SSR_FL.INSTITUTION, DERIVED_SSR_FL.STRM,
&nClassNbrReq);
&rs_regform_lvl2.Select(Record.SSR_REGFORM_R2, "where EMPLID=:1 and
ACAD_CAREER=:2 and INSTITUTION=:3 and STRM=:4 and CLASS_NBR_REQ = :5", &recEmplId,
DERIVED_SSR_FL.ACAD_CAREER, DERIVED_SSR_FL.INSTITUTION, DERIVED_SSR_FL.STRM,
&nClassNbrReq);

&rs_regform_view(&i).DERIVED_SSR_FL.SSR_DESCR50_1.Value =
&rs_regform_view(&i).GetRecord(@("Record." | &sScrollRecord)).SUBJECT.Value |
&rs_regform_view(&i).GetRecord(@("Record." | &sScrollRecord)).CATALOG_NBR.Value | "
- " | &rs_regform_view(&i).CLASS_TBL_SC_VW.DESCR.Value;
&rs_regform_lvl2.ShowAllRows();

Local string &sSortByClassNbrReq;

&sSortByClassNbrReq = &sScrollRecord | ".CLASS_NBR_REQ";


&rs_regform_lvl2.Sort(@(&sSortByClassNbrReq), "A");

/* save matching main row */

&rs_regform_main = CreateRowset(Record.SSR_REGFORM);
Local integer &cntmain = &rs_regform_main.Fill("WHERE EMPLID = :1 AND STRM
= :2 AND ACAD_CAREER = :3 AND INSTITUTION = :4", &recEmplId, &recTerm, &recCar,
&recInst);
&rs_regform_main.Sort(SSR_REGFORM.CLASS_NBR, "A");

&last_main_row = 1;

For &j = 1 To &rs_regform_lvl2.RowCount


&class_nbr_view = &rs_regform_lvl2(&j).GetRecord(@("Record." |
&sScrollRecord)).CLASS_NBR_REQ.Value;
For &k = &last_main_row To &cntmain

&class_nbr_main = &rs_regform_main(&k).SSR_REGFORM.CLASS_NBR.Value;
If &class_nbr_main = &class_nbr_view Then
&rs_regform_lvl2(&j).DERIVED_REGFRM1.SSR_REF_ROW.Value = &k;
&last_main_row = &k;
Break;
End-If;
End-For;

End-For;

Local string &sSortByClassType, &sSortByClassSection, &sSortbyRefRow;

&sSortbyRefRow = &sPreferenceRecord | ".SSR_REF_ROW";


&sSortByClassType = &sScrollRecord | ".CLASS_TYPE";
&sSortByClassSection = &sScrollRecord | ".CLASS_SECTION";

&rs_regform_lvl2.Sort(@(&sSortBySubject), "A", @(&sSortByCatalogNbr), "A",


@(&sSortByClassNbrReq), "A", @(&sSortByClassType), "A", @(&sSortByClassSection),
"A");

/* populate related fields in the grid */


Local number &curr_ClassNbrReq, &prev_ClassNbrReq;
Local integer &GridRow;
Local string &sBgnCssConstructor, &sEndCssConstructor, &sStyleConstructor;

&GridRow = 0;

&sBgnCssConstructor = GetHTMLText(HTML.SSR_CSS_BGN_CONSTRUCTOR_FL);
&sStyleConstructor = "";

&statmain = "";

For &j = 1 To &rs_regform_lvl2.RowCount

&row_regform_lvl2 = &rs_regform_lvl2.GetRow(&j);

&curr_ClassNbr = &row_regform_lvl2.GetRecord(@("Record." |
&sScrollRecord)).CLASS_NBR.Value;
&obj_ClassInfo.LoadClassInfo(&recInst, &recTerm, &curr_ClassNbr);

&curr_ClassNbrReq = &row_regform_lvl2.GetRecord(@("Record." |
&sScrollRecord)).CLASS_NBR_REQ.Value;
If &curr_ClassNbr <> &curr_ClassNbrReq Then

&row_regform_lvl2.DERIVED_REGFRM1.SSR_SELECT.Visible = False;
&row_regform_lvl2.DERIVED_SSR_FL.SSR_SBJ_CAT_NBR.Visible = False;
&row_regform_lvl2.GetRecord(@("Record." |
&sScrollRecord)).UNT_TAKEN.Value = 0;
&row_regform_lvl2.DERIVED_SSR_FL.SSR_UNITS_LBL.Value = "";
&row_regform_lvl2.DERIVED_SSR_FL.SSR_UNITS_LBL.Visible = False;
&row_regform_lvl2.DERIVED_SSR_FL.SSR_CLASSNAME_LONG.Label =
&obj_ClassInfo.Class_CompXlat | " - " | MsgGetText(14770, 1006, "Message not
found.") | " " | &curr_ClassNbr;
&row_regform_lvl2.DERIVED_SSR_FL.SSR_SBJ_CAT_NBR.Visible = False;
&row_regform_lvl2.DERIVED_SSR_FL.SSR_DESCR80.Visible = False;
Else
&row_regform_lvl2.DERIVED_REGFRM1.SSR_SELECT.Visible = True;
&row_regform_lvl2.DERIVED_SSR_FL.SSR_SBJ_CAT_NBR.Visible = False;
&row_regform_lvl2.DERIVED_SSR_FL.SSR_CLASSNAME_LONG.Label =
&obj_ClassInfo.Class_CompXlat | " - " | MsgGetText(14770, 1006, "Message not
found.") | " " | &curr_ClassNbr;
&row_regform_lvl2.DERIVED_SSR_FL.SSR_UNITS_LBL.Value =
NumberToString("%6.2", &row_regform_lvl2.GetRecord(@("Record." |
&sScrollRecord)).UNT_TAKEN.Value);
&row_regform_lvl2.DERIVED_SSR_FL.SSR_DESCR80.Visible = False;

End-If;

&row_regform_lvl2.DERIVED_SSR_FL.SSR_CLASSNAME_LONG.Value =
&obj_ClassInfo.Class_CodeNoComp;

&oMeetingDetails.LoadMeetingSchedule(&j, &curr_ClassNbr,
&row_regform_lvl2);

/* Seats and Status */


&obj_ClassStatus = create
SSR_STUDENT_RECORDS:SR_ClassData:ClassStatus(DERIVED_SSR_FL.INSTITUTION,
DERIVED_SSR_FL.STRM, &obj_ClassInfo.Class_Session, &curr_ClassNbr);

&cntset2 = &rsstdClassDtl.Fill("WHERE STRM = :1 AND CLASS_NBR = :2",


&recTerm, &row_regform_lvl2.GetRecord(@("Record." |
&sScrollRecord)).CLASS_NBR.Value);
&crse_id = &rsstdClassDtl(1).CLASS_TBL.CRSE_ID.Value;
&crse_offer_nbr = &rsstdClassDtl(1).CLASS_TBL.CRSE_OFFER_NBR.Value;

Local string &sOpenDescr, &sClosedDescr, &sWaitlistDescr;

&sOpenDescr = MsgGetText(14690, 445, "Message not found.");


&sClosedDescr = MsgGetText(14690, 446, "Message not found.");
&sWaitlistDescr = MsgGetText(14690, 447, "Message not found.");

Evaluate &obj_ClassStatus.Class_Stat
When "O"
&row_regform_lvl2.DERIVED_REGFRM1.SSR_STATUS_LONG.Value =
MsgGetText(14770, 607, "Message not found.");
&row_regform_lvl2.DERIVED_SSR_FL.SSR_SEATS_AVL.Value =
MsgGetText(14770, 527, "Message not found.",
(&rsstdClassDtl(1).CLASS_TBL.ENRL_CAP.Value -
&rsstdClassDtl(1).CLASS_TBL.ENRL_TOT.Value),
&rsstdClassDtl(1).CLASS_TBL.ENRL_CAP.Value);
If &statmain = "" Or
&statmain = &sOpenDescr Then
&statmain = &sOpenDescr;
Else
&statmain = &statmain;
End-If;
&row_regform_lvl2.DERIVED_SSR_FL.SSR_DESCR50.Value =
&row_regform_lvl2.DERIVED_REGFRM1.SSR_STATUS_LONG.Value | " " |
&row_regform_lvl2.DERIVED_SSR_FL.SSR_SEATS_AVL.Value;
When "W"
&row_regform_lvl2.DERIVED_REGFRM1.SSR_STATUS_LONG.Value =
MsgGetText(14770, 608, "Message not found.");
&row_regform_lvl2.DERIVED_SSR_FL.SSR_SEATS_AVL.Value =
MsgGetText(14770, 527, "Message not found.",
(&rsstdClassDtl(1).CLASS_TBL.WAIT_CAP.Value -
&rsstdClassDtl(1).CLASS_TBL.WAIT_TOT.Value),
&rsstdClassDtl(1).CLASS_TBL.WAIT_CAP.Value);

If &statmain = "" Then


&statmain = &sWaitlistDescr;
Else
If &statmain <> &sClosedDescr Then
&statmain = &sWaitlistDescr;
End-If;
End-If;
&row_regform_lvl2.DERIVED_SSR_FL.SSR_DESCR50.Value =
&row_regform_lvl2.DERIVED_REGFRM1.SSR_STATUS_LONG.Value | " " |
&row_regform_lvl2.DERIVED_SSR_FL.SSR_SEATS_AVL.Value;
When "C"
&row_regform_lvl2.DERIVED_REGFRM1.SSR_STATUS_LONG.Value =
MsgGetText(14690, 446, "Message not found.");

&statmain = &sClosedDescr;
&row_regform_lvl2.DERIVED_SSR_FL.SSR_DESCR50.Value =
&row_regform_lvl2.DERIVED_REGFRM1.SSR_STATUS_LONG.Value;
End-Evaluate;

&row_regform_lvl2.DERIVED_SSR_FL.SSR_DESCR50.Label = MsgGetText(14770,
609, "Message not found.");

&row_regform_lvl2.DERIVED_SSR_FL.SSR_MORE_CLASS_FL.Label =
&oMeetingDetails.sMaxHasReachedMessage;
&row_regform_lvl2.DERIVED_SSR_FL.SSR_MORE_CLASS_FL.Visible =
&oMeetingDetails.IsMoreDetailsAvailable;

If &j = &rs_regform_lvl2.RowCount Then


&row_regform_lvl2.DERIVED_SSR_FL.FILLER_FIELD.Visible = False;
End-If;

End-For;

&rs_regform_view(&i).DERIVED_SSR_FL.SSR_AVAIL_FL.Value = &statmain;

End-For;

%This.CheckAllowedUserAction();

/* Validate button */
&AllowValidation = True;

/* check if user is allowed to submit enrollment transactions */


Local Record &rsgetclassid;
&rsgetclassid = CreateRecord(Record.SA_SS_ENRL_PL);
&rsgetclassid.INSTITUTION.Value = &recInst;
If &rsgetclassid.SelectByKey() Then
Local string &enrl_classid = &rsgetclassid.CLASSID.Value;
End-If;
&array_classid = %PermissionLists;
&i = 0;
&allow = False;
While &array_classid.Next(&i);
If &array_classid [&i] = &enrl_classid Then
&allow = True;
Break;
End-If;
End-While;
If Not &allow Then
&AllowValidation = False;
Else
Local Rowset &rsenrolloptions = CreateRowset(Record.SSR_SS_ENRL_OPT);
Local integer &cntenrolloptions;

&rsenrolloptions.Fill();
&cntenrolloptions = &rsenrolloptions.Fill();

If EditApptExists(&recEmplId, &recCar, &recInst, &recTerm) Then


/* student has validation appt */
Else
If
&rsenrolloptions(&cntenrolloptions).SSR_SS_ENRL_OPT.SSR_SS_VAL_ON_APPT.Value = "Y"
Then
/* allow validation during enrollment */
If isValidTermAppt(&recEmplId, &recCar, &recInst, &recTerm) Then

Else
&AllowValidation = False;
End-If;
Else
&AllowValidation = False;
End-If;
End-If;

End-If;

Else
TransferPage(Page.SSR_TERM_STA3_FL);
End-If;

end-method;

method DERIVED_SSR_FL_SSR_CLASSNAME_LONG__FieldChange
If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then
&oClassInformation.DefaultTab = "MD"; /* Default to Meeting Details tab */
Else
&oClassInformation.DefaultTab = "CD"; /* Default to Class Details tab */
End-If;
Local Record &recclasstblvw = CreateRecord(Record.CLASS_TBL_VW);
&oClassInformation.recEmplId = &recEmplId;
&oClassInformation.recInst = &recInst;
&oClassInformation.recCar = &recCar;
&oClassInformation.recTerm = &recTerm;
&oClassInformation.recTermBeginDt = &recTermBeginDt;

&recclasstblvw.INSTITUTION.Value = &recInst;
&recclasstblvw.STRM.Value = &recTerm;

If SSR_REGFORM_WRK.GROUPBOX1.Visible Then
&recclasstblvw.CLASS_NBR.Value = SSR_REGFORM_VW.CLASS_NBR.Value;
Else
&recclasstblvw.CLASS_NBR.Value = SSR_REGFORM2_VW.CLASS_NBR.Value;
End-If;

If &recclasstblvw.SelectByKey() Then
&oClassInformation.subject = &recclasstblvw.SUBJECT.Value;
&oClassInformation.catalog_nbr = &recclasstblvw.CATALOG_NBR.Value;
&oClassInformation.associated_class = &recclasstblvw.ASSOCIATED_CLASS.Value;
&oClassInformation.sCourseTitle = &recclasstblvw.DESCR.Value;

&oClassInformation.crse_id = &recclasstblvw.CRSE_ID.Value;
&oClassInformation.crse_offer_nbr = &recclasstblvw.CRSE_OFFER_NBR.Value;
&oClassInformation.session_code = &recclasstblvw.SESSION_CODE.Value;
&oClassInformation.class_section = &recclasstblvw.CLASS_SECTION.Value;

&oClassInformation.class_nbr = &recclasstblvw.CLASS_NBR.Value;
&oClassInformation.ssr_component = &recclasstblvw.SSR_COMPONENT.Value;

If SSR_REGFORM_WRK.GROUPBOX1.Visible Then
If &recclasstblvw.CLASS_TYPE.Value = "E" Then
&oClassInformation.sgrading_basis = SSR_REGFORM_VW.GRADING_BASIS_ENRL;
&oClassInformation.sunt_taken = NumberToString("%6.2",
SSR_REGFORM_VW.UNT_TAKEN.Value);
Else
&oClassInformation.sgrading_basis = "NON";
&oClassInformation.sunt_taken = "0.00";
End-If;
Else
If &recclasstblvw.CLASS_TYPE.Value = "E" Then
&oClassInformation.sgrading_basis = SSR_REGFORM2_VW.GRADING_BASIS_ENRL;
&oClassInformation.sunt_taken = NumberToString("%6.2",
SSR_REGFORM2_VW.UNT_TAKEN.Value);
Else
&oClassInformation.sgrading_basis = "NON";
&oClassInformation.sunt_taken = "0.00";
End-If;
End-If;
End-If;

&oClassInformation.Instantiate();
end-method;

method DERIVED_SSR_FL_SSR_DELETE_BTN__FieldChange

Local Rowset &rs_regform_vw, &rs_regform2_vw;


Local Record &recregform_vw1;
Local integer &i, &j, &k;
Local boolean &Delete;

If %Request.BrowserDeviceFormFactor <> %FormFactor_Small Then


&rs_regform_vw = GetLevel0()(1).GetRowset(@("Scroll." | &sScrollRecord));

&recregform_vw1 = CreateRecord(Record.SSR_REGFORM);

&Delete = False;

For &i = 1 To &rs_regform_vw.ActiveRowCount


If &rs_regform_vw(&i).DERIVED_REGFRM1.SSR_SELECT.Value = "Y" Then
&Delete = True;
Break;
End-If;
End-For;

If &Delete Then
/* Are you sure you want to delete the Class(es)? */
If MessageBox(%MsgStyle_YesNo, "", 14770, 574, "Message Not Found") = 6
Then
&j = 0;
For &i = &rs_regform_vw.ActiveRowCount To 1 Step - 1

If &rs_regform_vw(&i).DERIVED_REGFRM1.SSR_SELECT.Value = "Y" Then


&j = &j + 1;
&recregform_vw1.EMPLID.Value = &recEmplId;
&recregform_vw1.ACAD_CAREER.Value = &recCar;
&recregform_vw1.INSTITUTION.Value = &recInst;
&recregform_vw1.STRM.Value = &recTerm;
&recregform_vw1.CLASS_NBR.Value =
&rs_regform_vw(&i).GetRecord(@("Record." | &sScrollRecord)).CLASS_NBR.Value;

If &recregform_vw1.SelectByKey() Then
&recregform_vw1.Delete();
End-If;
End-If;
End-For;

&Panel.SetConfirmationMessage(MsgGetText(14770, 703, "Message not


found."), False); /* Class(es) Successfully Deleted */
%This.LoadEnrlCart_lff();
End-If;
Else
&Panel.SetConfirmationMessage(MsgGetText(14770, 706, "Message not
found."), False); /* No Selected Class(es) for deletion */
End-If;

Else

&rs_regform_vw = GetLevel0()(1).GetRowset(@("Scroll." | &sScrollRecord));

&recregform_vw1 = CreateRecord(Record.SSR_REGFORM);

&Delete = False;

For &i = 1 To &rs_regform_vw.ActiveRowCount


&rs_regform2_vw = &rs_regform_vw(&i).GetRowset(@("Scroll." |
&sScrollRecord));
For &k = 1 To &rs_regform2_vw.ActiveRowCount
If &rs_regform2_vw(&k).DERIVED_REGFRM1.SSR_SELECT.Value = "Y" Then
&Delete = True;
Break;
End-If;
End-For;
End-For;

If &Delete Then
/* Are you sure you want to delete the Class(es)? */
If MessageBox(%MsgStyle_YesNo, "", 14770, 574, "Message Not Found") = 6
Then
&j = 0;
For &i = &rs_regform_vw.ActiveRowCount To 1 Step - 1
&rs_regform2_vw = &rs_regform_vw(&i).GetRowset(@("Scroll." |
&sScrollRecord));
For &k = 1 To &rs_regform2_vw.RowCount
If &rs_regform2_vw(&k).DERIVED_REGFRM1.SSR_SELECT.Value = "Y"
Then
&j = &j + 1;
&recregform_vw1.EMPLID.Value = &recEmplId;
&recregform_vw1.ACAD_CAREER.Value = &recCar;
&recregform_vw1.INSTITUTION.Value = &recInst;
&recregform_vw1.STRM.Value = &recTerm;
&recregform_vw1.CLASS_NBR.Value =
&rs_regform2_vw(&k).GetRecord(@("Record." | &sScrollRecord)).CLASS_NBR.Value;

If &recregform_vw1.SelectByKey() Then
&recregform_vw1.Delete();
End-If;
End-If;
End-For;
End-For;

&Panel.SetConfirmationMessage(MsgGetText(14770, 703, "Message not


found."), False); /* Class(es) Successfully Deleted */
%This.LoadEnrlCart_sff();
End-If;
Else
&Panel.SetConfirmationMessage(MsgGetText(14770, 706, "Message not
found."), False); /* No Selected Class(es) for deletion */
End-If;

End-If;

end-method;

method DERIVED_SSR_FL_SSR_VALIDATE_FL__FieldChange
Local Rowset &rs_regform_vw;
Local number &i, &j;
Local boolean &Validate;
Local integer &selectcount = 0;
Local Record &rs_regform_main1 = CreateRecord(Record.SSR_REGFORM);
Local Rowset &rs_regform2_vw;

If %Request.BrowserDeviceFormFactor <> %FormFactor_Small Then

&rs_regform_vw = GetLevel0()(1).GetRowset(@("Scroll." | &sScrollRecord));

&Validate = False;
For &i = 1 To &rs_regform_vw.ActiveRowCount
If &rs_regform_vw(&i).DERIVED_REGFRM1.SSR_SELECT.Visible = True And
&rs_regform_vw(&i).DERIVED_REGFRM1.SSR_SELECT.Value = "Y" Then
&Validate = True;
Break;
End-If;
End-For;

If &Validate Then

For &i = 1 To &rs_regform_vw.ActiveRowCount

If &rs_regform_vw(&i).DERIVED_REGFRM1.SSR_SELECT.Visible = True Then

&rs_regform_main1.EMPLID.Value = &recEmplId;
&rs_regform_main1.STRM.Value = &recTerm;
&rs_regform_main1.ACAD_CAREER.Value = &recCar;
&rs_regform_main1.INSTITUTION.Value = &recInst;
&rs_regform_main1.CLASS_NBR.Value =
&rs_regform_vw(&i).GetRecord(@("Record." | &sScrollRecord)).CLASS_NBR.Value;

If &rs_regform_main1.SelectByKey() Then
&rs_regform_main1.SSR_VALIDATE.Value =
&rs_regform_vw(&i).DERIVED_REGFRM1.SSR_SELECT.Value;
&rs_regform_main1.Update();
End-If;
End-If;

End-For;

TransferPage(Page.SSR_SHOP_CONFRM_FL);

Else
&Panel.SetConfirmationMessage(MsgGetText(14770, 707, "Message not
found."), False); /* No Selected Class(es) for validation */
End-If;

Else

&rs_regform_vw = GetLevel0()(1).GetRowset(@("Scroll." | &sScrollRecord));

&Validate = False;

For &i = 1 To &rs_regform_vw.ActiveRowCount


&rs_regform2_vw = &rs_regform_vw(&i).GetRowset(@("Scroll." |
&sScrollRecord));
For &j = 1 To &rs_regform2_vw.ActiveRowCount
If &rs_regform2_vw(&j).DERIVED_REGFRM1.SSR_SELECT.Visible = True And
&rs_regform2_vw(&j).DERIVED_REGFRM1.SSR_SELECT.Value = "Y" Then
&Validate = True;
Break;
End-If;
End-For;
End-For;

If &Validate Then
For &i = 1 To &rs_regform_vw.RowCount
&rs_regform2_vw = &rs_regform_vw(&i).GetRowset(@("Scroll." |
&sScrollRecord));

For &j = 1 To &rs_regform2_vw.RowCount

If &rs_regform2_vw(&j).DERIVED_REGFRM1.SSR_SELECT.Visible = True
Then

&rs_regform_main1.EMPLID.Value = &recEmplId;
&rs_regform_main1.STRM.Value = &recTerm;
&rs_regform_main1.ACAD_CAREER.Value = &recCar;
&rs_regform_main1.INSTITUTION.Value = &recInst;
&rs_regform_main1.CLASS_NBR.Value =
&rs_regform2_vw(&j).GetRecord(@("Record." | &sScrollRecord)).CLASS_NBR.Value;

If &rs_regform_main1.SelectByKey() Then
&rs_regform_main1.SSR_VALIDATE.Value =
&rs_regform2_vw(&j).DERIVED_REGFRM1.SSR_SELECT.Value;
&rs_regform_main1.Update();
End-If;
End-If;
End-For;
End-For;

TransferPage(Page.SSR_SHOP_CONFRM_FL);
Else
&Panel.SetConfirmationMessage(MsgGetText(14770, 707, "Message not
found."), False); /* No Selected Class(es) for validation */
End-If;
End-If;

end-method;

method SSR_SHOP_CONFRM_FL__Activate
Local SSR_MANAGE_CLASSES:UTIL:Confirmation &oConfirmation = create
SSR_MANAGE_CLASSES:UTIL:Confirmation();
Local number &RETCODE;

Page.SSR_SHOP_FOOTR_FFL.Visible = False;

/* Perform Validation Process */


RemoteCall("PSRCCBL", "PSCOBOLPROG", "SRPCEVAL", "EMPLID", &recEmplId,
"ACAD_CAREER", &recCar, "INSTITUTION", &recInst, "STRM", &recTerm, "RC", &RETCODE);

&oConfirmation.LoadConfirmationMessages(&recEmplId, &recCar, &recInst, &recTerm,


"");

&sConfirmationMessageDetail = &oConfirmation.sConfirmationMessage;

&Panel.SetConfirmationMessage(&sConfirmationMessageDetail, False);

%This.GoToLinks();

end-method;

method LoadMeetingPattern
/+ &termcheck as String, +/
/+ &classnbrcheck as Integer +/
/+ Returns String +/
Local integer &cntpattern, &i, &j, &cntClsSchedOpt;
Local string &meetingpat;
Local Rowset &rsmeetpattern;

Local SSR_MANAGE_CLASSES:UTIL:Formatter &formatter = create


SSR_MANAGE_CLASSES:UTIL:Formatter();
&rsmeetpattern = CreateRowset(Record.CLASS_MTG_PT_VW);
&cntpattern = &rsmeetpattern.Fill("Where strm = :1 and class_nbr =:2",
&termcheck, &classnbrcheck);
&roomdetails = "";
If &cntpattern > 0 Then

&patternend = False;
Local Rowset &rsClsSchedOpt = CreateRowset(Record.SSR_MNSHOPOP_FL);
Local integer &maxvalue;
REM Local string &descrmax;
&cntClsSchedOpt = &rsClsSchedOpt.Fill();
For &j = 1 To &cntClsSchedOpt
If &rsClsSchedOpt(&j).SSR_MNSHOPOP_FL.SSR_FRMFACTYP_FL.Value = "LF" And
(%Request.BrowserDeviceFormFactor <> %FormFactor_Small) Then
&maxvalue = &rsClsSchedOpt(&j).SSR_MNSHOPOP_FL.SSR_RANGE_MAX.Value;
&descrmax = &rsClsSchedOpt(&j).SSR_MNSHOPOP_FL.SSR_DESCR80.Value;
Break;
Else
If &rsClsSchedOpt(&j).SSR_MNSHOPOP_FL.SSR_FRMFACTYP_FL.Value = "SF" And
(%Request.BrowserDeviceFormFactor = %FormFactor_Small) Then
&maxvalue = &rsClsSchedOpt(&j).SSR_MNSHOPOP_FL.SSR_RANGE_MAX.Value;
&descrmax = &rsClsSchedOpt(&j).SSR_MNSHOPOP_FL.SSR_DESCR80.Value;
Break;
End-If;
End-If;
End-For;

Local string &sMon =


&rsmeetpattern(&cntpattern).CLASS_MTG_PT_VW.MON.GetLongLabel("MON");
Local string &sTues =
&rsmeetpattern(&cntpattern).CLASS_MTG_PT_VW.TUES.GetLongLabel("TUES");
Local string &sWed =
&rsmeetpattern(&cntpattern).CLASS_MTG_PT_VW.WED.GetLongLabel("WED");
Local string &sThurs =
&rsmeetpattern(&cntpattern).CLASS_MTG_PT_VW.THURS.GetLongLabel("THURS");
Local string &sFri =
&rsmeetpattern(&cntpattern).CLASS_MTG_PT_VW.FRI.GetLongLabel("FRI");
Local string &sSat =
&rsmeetpattern(&cntpattern).CLASS_MTG_PT_VW.SAT.GetLongLabel("SAT");
Local string &sSun =
&rsmeetpattern(&cntpattern).CLASS_MTG_PT_VW.SUN.GetLongLabel("SUN");

For &i = 1 To &cntpattern

If &i <= &maxvalue Then


rem "Day" ;
Local string &sday = "";
Local boolean &bConscDaysBrkn = False;
Local integer &iConscDaysCtr = 0;
Local string &sFirstDay = " ";
Local string &sLastDay = " ";
Local string &sPrevDay = " ";
If &rsmeetpattern(&i).CLASS_MTG_PT_VW.MON.Value Then
&sday = &sday |
&rsmeetpattern(&i).CLASS_MTG_PT_VW.MON.GetLongLabel("MON") | " ";
&sFirstDay = &sMon;
&sPrevDay = &sMon;
&iConscDaysCtr = &iConscDaysCtr + 1;
End-If;

If &rsmeetpattern(&i).CLASS_MTG_PT_VW.TUES.Value Then
&sday = &sday |
&rsmeetpattern(&i).CLASS_MTG_PT_VW.TUES.GetLongLabel("TUES") | " ";
If &sPrevDay = &sMon Then
&iConscDaysCtr = &iConscDaysCtr + 1;
&sLastDay = &sTues;
Else
&iConscDaysCtr = 1;
&sFirstDay = &sTues;
&sLastDay = " ";
End-If;
&sPrevDay = &sTues;
End-If;

If &rsmeetpattern(&i).CLASS_MTG_PT_VW.WED.Value Then
&sday = &sday |
&rsmeetpattern(&i).CLASS_MTG_PT_VW.WED.GetLongLabel("WED") | " ";
If &sPrevDay = &sTues Then
&iConscDaysCtr = &iConscDaysCtr + 1;
&sLastDay = &sWed;
Else
If &iConscDaysCtr <> 0 Then
&bConscDaysBrkn = True;
Else
&iConscDaysCtr = 1;
&sFirstDay = &sWed;
&sLastDay = " ";
End-If;
End-If;
&sPrevDay = &sWed;
End-If;

If &rsmeetpattern(&i).CLASS_MTG_PT_VW.THURS.Value Then
&sday = &sday |
&rsmeetpattern(&i).CLASS_MTG_PT_VW.THURS.GetLongLabel("THURS") | " ";
If Not &bConscDaysBrkn Then
If &sPrevDay = &sWed Then
&iConscDaysCtr = &iConscDaysCtr + 1;
&sLastDay = &sThurs;
Else
If &iConscDaysCtr <> 0 Then
&bConscDaysBrkn = True;
Else
&iConscDaysCtr = 1;
&sFirstDay = &sThurs;
&sLastDay = " ";
End-If;
End-If;
&sPrevDay = &sThurs;
End-If;
End-If;

If &rsmeetpattern(&i).CLASS_MTG_PT_VW.FRI.Value Then
&sday = &sday |
&rsmeetpattern(&i).CLASS_MTG_PT_VW.FRI.GetLongLabel("FRI") | " ";
If Not &bConscDaysBrkn Then
If &sPrevDay = &sThurs Then
&iConscDaysCtr = &iConscDaysCtr + 1;
&sLastDay = &sFri;
Else
If &iConscDaysCtr <> 0 Then
&bConscDaysBrkn = True;
Else
&iConscDaysCtr = 0;
&sFirstDay = " ";
&sLastDay = " ";
End-If;
End-If;
&sPrevDay = &sFri;
End-If;
End-If;

If &rsmeetpattern(&i).CLASS_MTG_PT_VW.SAT.Value Then
&sday = &sday |
&rsmeetpattern(&i).CLASS_MTG_PT_VW.SAT.GetLongLabel("SAT") | " ";
If Not &bConscDaysBrkn Then
If &sPrevDay = &sFri Then
&iConscDaysCtr = &iConscDaysCtr + 1;
&sLastDay = &sSat;
Else
If &iConscDaysCtr <> 0 Then
&bConscDaysBrkn = True;
Else
&iConscDaysCtr = 0;
&sFirstDay = " ";
&sLastDay = " ";
End-If;
End-If;
&sPrevDay = &sSat;
End-If;
End-If;

If &rsmeetpattern(&i).CLASS_MTG_PT_VW.SUN.Value Then
&sday = &sday |
&rsmeetpattern(&i).CLASS_MTG_PT_VW.SUN.GetLongLabel("SUN") | " ";
If Not &bConscDaysBrkn Then
If &sPrevDay = &sSat Then
&iConscDaysCtr = &iConscDaysCtr + 1;
&sLastDay = &sSun;
Else
If &iConscDaysCtr <> 0 Then
&bConscDaysBrkn = True;
Else
&iConscDaysCtr = 0;
&iConscDaysCtr = 0;
&sFirstDay = " ";
&sLastDay = " ";
End-If;
End-If;
&sPrevDay = &sSun;
End-If;
End-If;

If &sday = "" Then


&sday = MsgGetText(14770, 543, "Message Not Found");
Else
If ( Not &bConscDaysBrkn) And
(&iConscDaysCtr > 3) Then
&sday = MsgGetText(14770, 708, "Message not found.", &sFirstDay,
&sLastDay);
End-If;
End-If;

rem "Time" ;
&sTime = "";
If (&rsmeetpattern(&i).CLASS_MTG_PT_VW.MEETING_TIME_START.Value <>
0.00) And
(&rsmeetpattern(&i).CLASS_MTG_PT_VW.MEETING_TIME_START.Value <>
Time("")) Then
Local string &L_NewTime1 =
&formatter.FormatTime(&rsmeetpattern(&i).CLASS_MTG_PT_VW.START_DT.Value,
&rsmeetpattern(&i).CLASS_MTG_PT_VW.MEETING_TIME_START.Value);
Local string &L_NewTime2 =
&formatter.FormatTime(&rsmeetpattern(&i).CLASS_MTG_PT_VW.START_DT.Value,
&rsmeetpattern(&i).CLASS_MTG_PT_VW.MEETING_TIME_END.Value);
&sTime = MsgGetText(14770, 708, "Message not found.", &L_NewTime1,
&L_NewTime2);
End-If;

If &sTime = "" Then


&sTime = MsgGetText(14770, 543, "Message Not Found");
End-If;
<*
If %Request.BrowserDeviceFormFactor = 0 Or
%Request.BrowserDeviceFormFactor = 1 Then
*>
If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then
&meetingpat = &meetingpat | Char(10) | Char(13) | &sday | Char(10) |
Char(13) | &sTime;
&roomdetails = &roomdetails | Char(10) | Char(13) |
%This.LoadRoomDetail(&rsmeetpattern(&i).CLASS_MTG_PT_VW.CRSE_ID.Value,
&rsmeetpattern(&i).CLASS_MTG_PT_VW.CRSE_OFFER_NBR.Value, &recTerm,
&rsmeetpattern(&i).CLASS_MTG_PT_VW.SESSION_CODE.Value,
&rsmeetpattern(&i).CLASS_MTG_PT_VW.CLASS_SECTION.Value, &i);

Else

If &sTime <> &sday Then


&meetingpat = &meetingpat | Char(10) | Char(13) | &sday | " " |
&sTime;
Else
&meetingpat = &meetingpat | Char(10) | Char(13) | &sday;
End-If;

&roomdetails = &roomdetails | Char(10) | Char(13) |


%This.LoadRoomDetail(&rsmeetpattern(&i).CLASS_MTG_PT_VW.CRSE_ID.Value,
&rsmeetpattern(&i).CLASS_MTG_PT_VW.CRSE_OFFER_NBR.Value, &recTerm,
&rsmeetpattern(&i).CLASS_MTG_PT_VW.SESSION_CODE.Value,
&rsmeetpattern(&i).CLASS_MTG_PT_VW.CLASS_SECTION.Value, &i);

End-If;

Else
&patternend = True;
If &i = &maxvalue + 1 Then
If %Request.BrowserDeviceFormFactor <> %FormFactor_Small Then
&meetingpat = &meetingpat;
Break;
Else
&meetingpat = &meetingpat | Char(10) | Char(13) | &descrmax;
End-If;
End-If;
Break;
End-If;
End-For;
Return &meetingpat;
Else
&patternend = False;

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then


&roomdetails = MsgGetText(14770, 516, "Message not found.") | " " |
MsgGetText(14770, 543, "Message Not Found");
Return (MsgGetText(14770, 514, "Message not found.") | " " |
MsgGetText(14770, 543, "Message Not Found"));

Else
&roomdetails = MsgGetText(14770, 543, "Message Not Found");
Return MsgGetText(14770, 543, "Message Not Found");

End-If;

End-If;

end-method;

method LoadRoomDetail
/+ &crse_idcheck as String, +/
/+ &crse_offer_nbrcheck as Integer, +/
/+ &termcheck as String, +/
/+ &session_codecheck as String, +/
/+ &class_sectioncheck as String, +/
/+ &ntgpatcheck as Integer +/
/+ Returns String +/
Local integer &cntgetsetid, &cntmtgpatternroom;
Local Rowset &rsgetsetid;
Local Record &recfacility, &recmtgpatternroom;
&recfacility = CreateRecord(Record.FACILITY_TBL);
&rsgetsetid = CreateRowset(Record.SET_CNTRL_REC);
&cntgetsetid = &rsgetsetid.Fill("WHERE RECNAME = 'FACILITY_TBL' AND
SETCNTRLVALUE = :1", &recInst);
&setId = &rsgetsetid(&cntgetsetid).SET_CNTRL_REC.SETID.Value;

&recmtgpatternroom = CreateRecord(Record.CLASS_MTG_VW);

&recmtgpatternroom.CRSE_ID.Value = &crse_idcheck;
&recmtgpatternroom.CRSE_OFFER_NBR.Value = &crse_offer_nbrcheck;
&recmtgpatternroom.STRM.Value = &termcheck;
&recmtgpatternroom.SESSION_CODE.Value = &session_codecheck;
&recmtgpatternroom.CLASS_SECTION.Value = &class_sectioncheck;
&recmtgpatternroom.CLASS_MTG_NBR.Value = &ntgpatcheck;

If &recmtgpatternroom.SelectByKey() Then
&recfacility.FACILITY_ID.Value = &recmtgpatternroom.FACILITY_ID.Value;
&recfacility.SETID.Value = &setId;
If &recfacility.SelectByKeyEffDt(&recTermBeginDt) Then
Return &recfacility.DESCR.Value;
Else
Return MsgGetText(14770, 543, "Message Not Found");
End-If;
Else
Return MsgGetText(14770, 543, "Message Not Found");
End-If;

end-method;

method DERIVED_SSR_FL_SSR_ENROLL_FL__FieldChange
Local Rowset &rsRegFormVw;
Local integer &i, &j, &row_ER;
Local Record &recRegForm, &recTo;
Local Rowset &rsEnrlReqHdr, &rsEnrlReqDetail;
Local Message &msg;
Local Message &temp;
Local SSR_ENROLLMENT:EVENT:EnrollmentEventNotification &enrollmentEvent;
Local string &compName;
Local integer &iInsertOnce;
Local boolean &Enroll;

Local Rowset &levelZeroRowset;

If %Request.BrowserDeviceFormFactor <> %FormFactor_Small Then


&rsRegFormVw = GetLevel0()(1).GetRowset(@("Scroll." | &sScrollRecord));

&rsEnrlReqDetail = GetLevel0()(1).GetRowset(Scroll.ENRL_REQ_DETAIL);

&row_ER = 0;
&iInsertOnce = 1;
&Enroll = False;

For &i = 1 To &rsRegFormVw.ActiveRowCount


If &rsRegFormVw(&i).DERIVED_REGFRM1.SSR_SELECT.Visible = True And
&rsRegFormVw(&i).DERIVED_REGFRM1.SSR_SELECT.Value = "Y" Then
&Enroll = True;
Break;
End-If;
End-For;

If &Enroll Then
/* Are you sure you want to enroll? */
If MessageBox(%MsgStyle_YesNo, "", 14770, 812, "Message not found.") = 6
Then
For &i = 1 To &rsRegFormVw.ActiveRowCount
If &rsRegFormVw(&i).DERIVED_REGFRM1.SSR_SELECT.Visible = True And
&rsRegFormVw(&i).DERIVED_REGFRM1.SSR_SELECT.Value = "Y" Then

&recRegForm = &rsRegFormVw(&i).GetRecord(@("Record." |
&sScrollRecord));

If &iInsertOnce = 1 Then

&rsEnrlReqHdr = GetLevel0()
(1).GetRowset(Scroll.ENRL_REQ_HEADER);
&rsEnrlReqHdr.Flush();

&rsEnrlReqHdr(1).ENRL_REQ_HEADER.ENRL_REQUEST_ID.Value =
"0000000000";
&rsEnrlReqHdr(1).ENRL_REQ_HEADER.OPRID.Value = %UserId;
&rsEnrlReqHdr(1).ENRL_REQ_HEADER.ENRL_REQ_PROC_ST.Value = "P";

&rsEnrlReqHdr(1).ENRL_REQ_HEADER.ENRL_REQ_SOURCE.Value = "FX";
/* Fluid Self Service LFF */

&rsEnrlReqHdr(1).ENRL_REQ_HEADER.DTTM_STAMP_SEC.Value =
%Datetime;

&IsEnrlRequestIdAssignedOnce = False;

DoSaveNow();

&sEnrlRequestId =
&rsEnrlReqHdr(1).ENRL_REQ_HEADER.ENRL_REQUEST_ID.Value;

&iInsertOnce = &iInsertOnce + 1;
End-If;

If &row_ER > 0 Then


&rsEnrlReqDetail.InsertRow(&row_ER);
End-If;
&row_ER = &row_ER + 1;

&rsEnrlReqDetail(&row_ER).ENRL_REQ_DETAIL.ENRL_REQUEST_ID.Value =
&sEnrlRequestId;
&rsEnrlReqDetail(&row_ER).ENRL_REQ_DETAIL.ENRL_REQ_ACTION.Value =
"E";

&recTo =
&rsEnrlReqDetail(&row_ER).GetRecord(Record.ENRL_REQ_DETAIL);

&recRegForm.CopyFieldsTo(&recTo);

End-If;
End-For;

DoSaveNow();

Local number &RETCODE;

RemoteCall("PSRCCBL", "PSCOBOLPROG", "SRPCERC", "ENRL-REQUEST-ID",


&sEnrlRequestId, "RC", &RETCODE);

If &RETCODE = 12 Then
WinMessage(MsgGet(14640, 82, "The Enrollment Process Engine
encountered a fatal error. Contact your administrator."), 64);
Else
/* fire SSR_ENROLLMENT_SYNC if service operation is active */
&msg = CreateMessage(Operation.SSR_ENROLLMENT_SYNC);
If &msg.IsOperationActive Then

&levelZeroRowset = GetLevel0();
&compName = %Component;
&enrollmentEvent = create
SSR_ENROLLMENT:EVENT:EnrollmentEventNotification(&levelZeroRowset, &compName,
Operation.SSR_ENROLLMENT_SYNC);
&temp = &enrollmentEvent.execute();
End-If;
TransferPage(Page.SSR_ENRL_CONFRM_FL);

End-If;

Else
EndModal(0);
End-If;

Else
&Panel.SetConfirmationMessage(MsgGetText(14770, 704, "Message not
found."), False); /* No Selected Class(es) for enrollment */
End-If;

Else /*********** %Request.BrowserDeviceFormFactor = %FormFactor_Small


***********/

&rsRegFormVw = GetLevel0()(1).GetRowset(@("Scroll." | &sScrollRecord));

&rsEnrlReqDetail = GetLevel0()(1).GetRowset(Scroll.ENRL_REQ_DETAIL);

&row_ER = 0;
&iInsertOnce = 1;
&Enroll = False;

Local Rowset &rsRegFormVw2;

For &i = 1 To &rsRegFormVw.ActiveRowCount


&rsRegFormVw2 = &rsRegFormVw(&i).GetRowset(@("Scroll." | &sScrollRecord));
For &j = 1 To &rsRegFormVw2.ActiveRowCount
If &rsRegFormVw2(&j).DERIVED_REGFRM1.SSR_SELECT.Visible = True And
&rsRegFormVw2(&j).DERIVED_REGFRM1.SSR_SELECT.Value = "Y" Then
&Enroll = True;
Break;
End-If;
End-For;
End-For;

If &Enroll Then
/* Are you sure you want to enroll? */
If MessageBox(%MsgStyle_YesNo, "", 14770, 812, "Message not found.") = 6
Then
For &i = 1 To &rsRegFormVw.ActiveRowCount

&rsRegFormVw2 = &rsRegFormVw(&i).GetRowset(@("Scroll." |
&sScrollRecord));

For &j = 1 To &rsRegFormVw2.ActiveRowCount

If &rsRegFormVw2(&j).DERIVED_REGFRM1.SSR_SELECT.Visible = True
And
&rsRegFormVw2(&j).DERIVED_REGFRM1.SSR_SELECT.Value = "Y"
Then

&recRegForm = &rsRegFormVw2(&j).GetRecord(@("Record." |
&sScrollRecord));

If &iInsertOnce = 1 Then

&rsEnrlReqHdr = GetLevel0()
(1).GetRowset(Scroll.ENRL_REQ_HEADER);
&rsEnrlReqHdr.Flush();

&rsEnrlReqHdr(1).ENRL_REQ_HEADER.ENRL_REQUEST_ID.Value =
"0000000000";
&rsEnrlReqHdr(1).ENRL_REQ_HEADER.OPRID.Value = %UserId;
&rsEnrlReqHdr(1).ENRL_REQ_HEADER.ENRL_REQ_PROC_ST.Value =
"P";

&rsEnrlReqHdr(1).ENRL_REQ_HEADER.ENRL_REQ_SOURCE.Value =
"FS"; /* Fluid Self Service SFF */

&rsEnrlReqHdr(1).ENRL_REQ_HEADER.DTTM_STAMP_SEC.Value =
%Datetime;
&IsEnrlRequestIdAssignedOnce = False;

DoSaveNow();

&sEnrlRequestId =
&rsEnrlReqHdr(1).ENRL_REQ_HEADER.ENRL_REQUEST_ID.Value;

&iInsertOnce = &iInsertOnce + 1;
End-If;

If &row_ER > 0 Then


&rsEnrlReqDetail.InsertRow(&row_ER);
End-If;
&row_ER = &row_ER + 1;

&rsEnrlReqDetail(&row_ER).ENRL_REQ_DETAIL.ENRL_REQUEST_ID.Value = &sEnrlRequestId;

&rsEnrlReqDetail(&row_ER).ENRL_REQ_DETAIL.ENRL_REQ_ACTION.Value = "E";

&recTo =
&rsEnrlReqDetail(&row_ER).GetRecord(Record.ENRL_REQ_DETAIL);

&recRegForm.CopyFieldsTo(&recTo);

End-If;
End-For;
End-For;

DoSaveNow();

RemoteCall("PSRCCBL", "PSCOBOLPROG", "SRPCERC", "ENRL-REQUEST-ID",


&sEnrlRequestId, "RC", &RETCODE);

If &RETCODE = 12 Then
WinMessage(MsgGet(14640, 82, "The Enrollment Process Engine
encountered a fatal error. Contact your administrator."), 64);
Else
/* fire SSR_ENROLLMENT_SYNC if service operation is active */
&msg = CreateMessage(Operation.SSR_ENROLLMENT_SYNC);
If &msg.IsOperationActive Then

&levelZeroRowset = GetLevel0();
&compName = %Component;
&enrollmentEvent = create
SSR_ENROLLMENT:EVENT:EnrollmentEventNotification(&levelZeroRowset, &compName,
Operation.SSR_ENROLLMENT_SYNC);
&temp = &enrollmentEvent.execute();
End-If;

TransferPage(Page.SSR_ENRL_CONFRM_FL);

End-If;
Else
EndModal(0);
End-If;
Else
&Panel.SetConfirmationMessage(MsgGetText(14770, 704, "Message not
found."), False); /* No Selected Class(es) for enrollment */
End-If;
End-If;
end-method;

method DERIVED_REGFRM1_SSR_CLASSNAME_35__FieldChange
Local SCC_FLUID:UTIL:Popup &oPopup;
Local string &sModalOptions;
Local Rowset &rs_classtbl, &rs_comp;
Local integer &comp_row;

&nClassNbr = SSR_REGFORM_VW.CLASS_NBR;
&nRelateClassNbr1 = SSR_REGFORM_VW.RELATE_CLASS_NBR_1;
&nRelateClassNbr2 = SSR_REGFORM_VW.RELATE_CLASS_NBR_2;

&iCurrentRowNumber = CurrentRowNumber();

&oPopup = create SCC_FLUID:UTIL:Popup();

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then


&sModalOptions = GetHTMLText(HTML.SCC_MO_FULLSCREEN_FL);
Else
If %Request.BrowserDeviceType = "tablet" Then
&sModalOptions = GetHTMLText(HTML.SCC_MO_FULLSCREEN_FL);
Else
&sModalOptions = GetHTMLText(HTML.SCC_MO_POPUP_FL) |
"width@500;height@550;";
End-If;
End-If;

DoModalPopup(&sModalOptions, "", False, False, Page.SSR_CLS_PREF_SCF,


MsgGetText(14770, 701, "Message not found."), - 1, - 1, 0);

If &IsClassOptionsUpdated Then
&Panel.SetConfirmationMessage(MsgGetText(14770, 702, "Message not found."),
False); /* Class Preferences Successfully Updated */
&IsClassOptionsUpdated = False;

&RefreshShoppingCart1 = False;
&RefreshShoppingCart2 = True;

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then


%This.LoadEnrlCart_sff();
Else
%This.LoadEnrlCart_lff();
End-If;

End-If;

end-method;

method SSR_REGFORM_WRK_SSR_CLASSNAME_35__FieldChange
Local SCC_FLUID:UTIL:Popup &oPopup;
Local string &sModalOptions;

&nClassNbr = SSR_REGFORM2_VW.CLASS_NBR;
&nRelateClassNbr1 = SSR_REGFORM2_VW.RELATE_CLASS_NBR_1;
&nRelateClassNbr2 = SSR_REGFORM2_VW.RELATE_CLASS_NBR_2;

&iCurrentRowNumber = CurrentRowNumber();

&oPopup = create SCC_FLUID:UTIL:Popup();

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then


&sModalOptions = GetHTMLText(HTML.SCC_MO_FULLSCREEN_FL);
Else
&sModalOptions = GetHTMLText(HTML.SCC_MO_POPUP_FL) | "width@550;height@600;";
End-If;

DoModalPopup(&sModalOptions, "", False, False, Page.SSR_CLS_PREF_SCF,


MsgGetText(14770, 701, "Message not found."), - 1, - 1, 0);

If &IsClassOptionsUpdated Then
&Panel.SetConfirmationMessage(MsgGetText(14770, 702, "Message not found."),
False); /* Class Preferences Successfully Updated */
&IsClassOptionsUpdated = False;

&RefreshShoppingCart1 = True;
&RefreshShoppingCart2 = False;

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then


%This.LoadEnrlCart_sff();
Else
%This.LoadEnrlCart_lff();
End-If;

End-If;

end-method;

method SSR_CLS_PREF_SCF_Activate

AddStyleSheet(StyleSheet.SSR_SHOPPING_CART_FL);
AddStyleSheet(StyleSheet.SSR_DROP_CLASSES_FL);
/********************** Alternative Classes **********************/
Local Grid &Grid;

&Grid = GetGrid(%Page, "SSR_DUMMY_RECV2");

&Grid.GetColumn("STATUS").Label = MsgGetText(14770, 524, "Message not found.");


&Grid.GetColumn("SEATS").Label = MsgGetText(14770, 609, "Message not found.");

&rs_AlternativeClasses = %This.GetClassOptions();

&row_level1 = 1;

&rs_RegformVw1 = GetLevel0()(1).GetRowset(Scroll.SSR_DUMMY_RECV1);
&rs_RegformVw1.Flush();

SSR_CLS_PREF_WK.GROUPBOX1.Visible = True; /* Alternative Classes */


SSR_CLS_PREF_WK.GROUPBOX2.Visible = True; /* Class Preferences - Collapsed */
SSR_CLS_PREF_WK.GROUPBOX3.Visible = False; /* Class Preferences - Expanded */
DERIVED_SSR_FL.SS_MESSAGE_LONG.Visible = False; /* Optional Components */

DERIVED_CLS_DTL.GROUP_BOX.AddFFClass("ps_apps_content");

If &rs_AlternativeClasses.ActiveRowCount = 1 Then
If &rs_AlternativeClasses(1).SSR_DER_CS_GRP.SSR_OPTION_NBR.Value = 0 Then
/* No Alternative Classes available */
SSR_CLS_PREF_WK.GROUPBOX1.Visible = False;
SSR_CLS_PREF_WK.GROUPBOX2.Visible = False;
SSR_CLS_PREF_WK.GROUPBOX3.Visible = True;
Else
%This.LoadAlternativeClasses();
End-If;
Else
%This.LoadAlternativeClasses();
End-If;

/********************** Class Preferences **********************/


Local SSR_MANAGE_CLASSES:UTIL:ClassPreferences &oClassPreferences;
Local Record &recClsPrefWk_IN, &recClsPrefWk_OUT;
Local Record &recRegformVw;
Local Rowset &rs_ClassTable;

&recRegformVw = &rs_regform_view(&iCurrentRowNumber).GetRecord(@("Record." |
&sScrollRecord));

&recClsPrefWk_IN = CreateRecord(Record.SSR_CLS_PREF_WK);

&rs_ClassTable = CreateRowset(Record.CLASS_TBL);
&rs_ClassTable.Flush();
&rs_ClassTable.Fill("WHERE STRM=:1 AND CLASS_NBR=:2", DERIVED_SSR_FL.STRM,
&nClassNbr);

&recClsPrefWk_IN.SSR_SBJ_CAT_NBR.Value =
&rs_ClassTable(1).CLASS_TBL.SUBJECT.Value | " " |
&rs_ClassTable(1).CLASS_TBL.CATALOG_NBR.Value | " " |
&rs_ClassTable(1).CLASS_TBL.DESCR.Value;

&recRegformVw.CopyFieldsTo(&recClsPrefWk_IN);
&recClsPrefWk_IN.SSR_GRADE_BASIS_SS.Value =
&recRegformVw.GRADING_BASIS_ENRL.Value;
&recClsPrefWk_IN.SSR_UNT_TAKEN_CHAR.Value = NumberToString("6.2",
&recRegformVw.UNT_TAKEN.Value);

&oClassPreferences = create SSR_MANAGE_CLASSES:UTIL:ClassPreferences();

&recClsPrefWk_OUT = &oClassPreferences.LoadClassPreferences(&recClsPrefWk_IN);

end-method;

method DERIVED_SSR_FL_SSR_DONE_BTN_FieldChange
/* Do want to save your changes */
If MessageBox(%MsgStyle_YesNo, "", 14770, 705, "Message not found.") = 6 Then

Local Record &recRegForm;

&recRegForm = CreateRecord(Record.SSR_REGFORM);

&recRegForm.EMPLID.Value = &recEmplId;
&recRegForm.ACAD_CAREER.Value = &recCar;
&recRegForm.INSTITUTION.Value = &recInst;
&recRegForm.STRM.Value = &recTerm;
&recRegForm.CLASS_NBR.Value = &nClassNbr;

If &recRegForm.SelectByKey() Then

&recRegForm.WAIT_LIST_OKAY.Value = DERIVED_CLS_DTL.WAIT_LIST_OKAY;
&recRegForm.CLASS_PRMSN_NBR.Value = DERIVED_CLS_DTL.CLASS_PRMSN_NBR;
&recRegForm.ACAD_PROG.Value = DERIVED_CLS_DTL.ACAD_PROG;
&recRegForm.GRADING_BASIS_ENRL.Value = DERIVED_CLS_DTL.SSR_GRADE_BASIS_SS;
&recRegForm.UNT_TAKEN.Value =
Value(LTrim(DERIVED_CLS_DTL.SSR_UNT_TAKEN_CHAR));
&recRegForm.INSTRUCTOR_ID.Value = DERIVED_CLS_DTL.INSTRUCTOR_ID;
&recRegForm.RQMNT_DESIGNTN.Value = DERIVED_CLS_DTL.RQMNT_DESIGNTN;
&recRegForm.RQMNT_DESIGNTN_OPT.Value = DERIVED_CLS_DTL.RQMNT_DESIGNTN_OPT;
&recRegForm.START_DT.Value = DERIVED_CLS_DTL.START_DT;

If &IsAlternateOptionSelected Then
&recRegForm.RELATE_CLASS_NBR_1.Value = &New_nRelateClassNbr1;
&recRegForm.RELATE_CLASS_NBR_2.Value = &New_nRelateClassNbr2;
End-If;

&recRegForm.Update();

&IsClassOptionsUpdated = True;

End-If;

EndModal(0);

Else
EndModal(0);
End-If;

end-method;

method ENRL_REQ_HEADER_SavePreChange
Local number &Length, &nEnrlReqIdLast;

If Not &IsEnrlRequestIdAssignedOnce Then


&nEnrlReqIdLast =
GetNextNumberWithGapsCommit(ENRL_REQ_ID_TBL.ENRL_REQ_ID_LAST, 9999999999, 1);

Evaluate &nEnrlReqIdLast
When - 1
Error MsgGet(14600, 780, "No Message Found", "ENRL_REQ_ID_LAST",
"ENRL_REQ_ID_TBL");
Break;
When - 2
Error MsgGet(14600, 214, "No Message Found", "ENRL_REQ_ID_LAST",
"ENRL_REQ_ID_TBL");
Break;
When - 3
Error MsgGet(14600, 781, "No Message Found", "ENRL_REQ_ID_LAST",
"ENRL_REQ_ID_TBL");
Break;
When-Other
&sEnrlRequestId = Rept("0", &Length - Len(String(&nEnrlReqIdLast))) |
String(&nEnrlReqIdLast);
Break;
End-Evaluate;
ENRL_REQ_HEADER.ENRL_REQUEST_ID = &sEnrlRequestId;

&IsEnrlRequestIdAssignedOnce = True;
End-If;
end-method;

method SSR_ENRL_CONFRM_FL_Activate

Page.SSR_SHOP_FOOTR_FFL.Visible = False;

Local SSR_MANAGE_CLASSES:UTIL:Confirmation &oConfirmation = create


SSR_MANAGE_CLASSES:UTIL:Confirmation();

&oConfirmation.LoadConfirmationMessages(&recEmplId, &recCar, &recInst, &recTerm,


&sEnrlRequestId);

&sConfirmationMessageDetail = &oConfirmation.sConfirmationMessage;

&Panel = %This.CreatePanel();

&Panel.SetConfirmationMessage(&sConfirmationMessageDetail, False);

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then


DERIVED_SSR_FL.GROUPBOX.Visible = True;
%This.GoToLinks();
Else
DERIVED_SSR_FL.GROUPBOX.Visible = False;
End-If;

end-method;

method SSR_CART_TRM_FL_TERM_DESCR30__FieldChange

Evaluate %Page
When Page.SSR_TERM_STA3_FL
&gotopage = &recPage;
&recPage = %Page;
&recTerm = SSR_CART_TRM_FL.STRM.Value;
&recCar = SSR_CART_TRM_FL.ACAD_CAREER.Value;
&recInst = SSR_CART_TRM_FL.INSTITUTION.Value;
&recTermBeginDt = SSR_CART_TRM_FL.TERM_BEGIN_DT.Value;

&recChangeTerm = SSR_CART_TRM_FL.STRM.Value;
&recChangeCar = SSR_CART_TRM_FL.ACAD_CAREER.Value;
&recChangeInst = SSR_CART_TRM_FL.INSTITUTION.Value;

TransferPage(Page.SSR_SHOP_CART_FL);

When Page.SSR_TERM_STA3_SCF

&gotopage = &recPage;
&recPage = %Page;

&recTerm = SSR_CART_TRM_FL.STRM.Value;
&recCar = SSR_CART_TRM_FL.ACAD_CAREER.Value;
&recInst = SSR_CART_TRM_FL.INSTITUTION.Value;
&recTermBeginDt = SSR_CART_TRM_FL.TERM_BEGIN_DT.Value;

&recChangeTerm = SSR_CART_TRM_FL.STRM.Value;
&recChangeCar = SSR_CART_TRM_FL.ACAD_CAREER.Value;
&recChangeInst = SSR_CART_TRM_FL.INSTITUTION.Value;

EndModal(0);

Break;
End-Evaluate;
end-method;

method Class_Instructor_List
/+ &class_nbrcheck as Integer, +/
/+ &termcheck as String, +/
/+ &careercheck as String, +/
/+ &institutioncheck as String +/
/+ Returns String +/

Local Record &rec_InstrVw;


Local Rowset &rs2, &rsclass;
Local integer &j, &rs2_count;
REM , &cntClsSchedOpt;
Local string &prev_id;
Local SSR_MANAGE_CLASSES:UTIL:Instructor &instructorUtil = create
SSR_MANAGE_CLASSES:UTIL:Instructor();

Local string &str_CInstrList = "";

<*Local Rowset &rsClsSchedOpt = CreateRowset(Record.SSR_MNSHOPOP_FL);


Local integer &maxvalue;
Local string &descrmax;
&cntClsSchedOpt = &rsClsSchedOpt.Fill();

For &j = 1 To &cntClsSchedOpt


If &rsClsSchedOpt(&j).SSR_MNSHOPOP_FL.SSR_FRMFACTYP_FL.Value = "LF" And
(%Request.BrowserDeviceFormFactor <> %FormFactor_Small) Then
&maxvalue = &rsClsSchedOpt(&j).SSR_MNSHOPOP_FL.SSR_RANGE_MAX.Value;
&descrmax = &rsClsSchedOpt(&j).SSR_MNSHOPOP_FL.SSR_DESCR80.Value;
Break;
Else
If &rsClsSchedOpt(&j).SSR_MNSHOPOP_FL.SSR_FRMFACTYP_FL.Value = "SF" And
(%Request.BrowserDeviceFormFactor = %FormFactor_Small) Then
&maxvalue = &rsClsSchedOpt(&j).SSR_MNSHOPOP_FL.SSR_RANGE_MAX.Value;
&descrmax = &rsClsSchedOpt(&j).SSR_MNSHOPOP_FL.SSR_DESCR80.Value;
Break;
End-If;
End-If;
End-For;*>

&rsclass = CreateRowset(Record.CLASS_TBL);

&rsclass.Fill("WHERE CLASS_NBR = :1 AND STRM = :2 AND ACAD_CAREER =:3 AND


INSTITUTION = :4", &class_nbrcheck, &termcheck, &careercheck, &institutioncheck);

/* lists unique instructor per section, NOT per meeting number */


&rs2 = CreateRowset(Record.CLASS_INSTR_VW5);
&rs2_count = &rs2.Fill("where CRSE_ID=:1 and CRSE_OFFER_NBR=:2 and STRM=:3 and
SESSION_CODE=:4 and CLASS_SECTION=:5 and INSTR_ROLE = 'PI' and
SCHED_PRINT_INSTR='Y'", &rsclass(1).CLASS_TBL.CRSE_ID.Value,
&rsclass(1).CLASS_TBL.CRSE_OFFER_NBR.Value, &rsclass(1).CLASS_TBL.STRM.Value,
&rsclass(1).CLASS_TBL.SESSION_CODE.Value,
&rsclass(1).CLASS_TBL.CLASS_SECTION.Value);

Evaluate &rs2_count
When 0
&str_CInstrList = MsgGetText(14690, 413, "Message not found");
Break;

When 1
&str_CInstrList =
&instructorUtil.GetDisplayName(&rs2(1).CLASS_INSTR_VW5.EMPLID.Value);
Break;

When-Other
&rs2.Sort(CLASS_INSTR_VW5.LAST_NAME, "A", CLASS_INSTR_VW5.FIRST_NAME, "A");

&prev_id = "";
For &j = 1 To &rs2_count
<*If &j <= &maxvalue Then*>

&rec_InstrVw = &rs2(&j).GetRecord(Record.CLASS_INSTR_VW5);
If &rec_InstrVw.EMPLID.Value <> &prev_id Then
If &str_CInstrList = "" Then
&str_CInstrList =
&instructorUtil.GetDisplayName(&rec_InstrVw.EMPLID.Value);
Else
&str_CInstrList = &str_CInstrList | "," | Char(10) | Char(13) |
&instructorUtil.GetDisplayName(&rec_InstrVw.EMPLID.Value);
End-If;
End-If;
&prev_id = &rec_InstrVw.EMPLID.Value;
<*Else
Break;
End-If;*>

End-For;
End-Evaluate;

If &str_CInstrList <> "" Then


Return &str_CInstrList;
Else
Return MsgGetText(14690, 413, "Message not found");
End-If;

end-method;

method DERIVED_SSR_FL_SSR_MORE_CLASS_FL__FieldChange
If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then
&oClassInformation.DefaultTab = "MD"; /* Default to Meeting Details tab */
Else
&oClassInformation.DefaultTab = "MI"; /* Default to Meeting Information tab
*/
End-If;

Local Record &recclasstblvw = CreateRecord(Record.CLASS_TBL_VW);


&oClassInformation.recEmplId = &recEmplId;
&oClassInformation.recInst = &recInst;
&oClassInformation.recCar = &recCar;
&oClassInformation.recTerm = &recTerm;
&oClassInformation.recTermBeginDt = &recTermBeginDt;

&recclasstblvw.INSTITUTION.Value = &recInst;
&recclasstblvw.STRM.Value = &recTerm;

If SSR_REGFORM_WRK.GROUPBOX1.Visible Then
&recclasstblvw.CLASS_NBR.Value = SSR_REGFORM_VW.CLASS_NBR.Value;
Else
&recclasstblvw.CLASS_NBR.Value = SSR_REGFORM2_VW.CLASS_NBR.Value;
End-If;

If &recclasstblvw.SelectByKey() Then
&oClassInformation.subject = &recclasstblvw.SUBJECT.Value;
&oClassInformation.catalog_nbr = &recclasstblvw.CATALOG_NBR.Value;
&oClassInformation.associated_class = &recclasstblvw.ASSOCIATED_CLASS.Value;
&oClassInformation.sCourseTitle = &recclasstblvw.DESCR.Value;

&oClassInformation.crse_id = &recclasstblvw.CRSE_ID.Value;
&oClassInformation.crse_offer_nbr = &recclasstblvw.CRSE_OFFER_NBR.Value;
&oClassInformation.session_code = &recclasstblvw.SESSION_CODE.Value;
&oClassInformation.class_section = &recclasstblvw.CLASS_SECTION.Value;

&oClassInformation.class_nbr = &recclasstblvw.CLASS_NBR.Value;
&oClassInformation.ssr_component = &recclasstblvw.SSR_COMPONENT.Value;

If SSR_REGFORM_WRK.GROUPBOX1.Visible Then
If &recclasstblvw.CLASS_TYPE.Value = "E" Then
&oClassInformation.sgrading_basis = SSR_REGFORM_VW.GRADING_BASIS_ENRL;
&oClassInformation.sunt_taken = NumberToString("%6.2",
SSR_REGFORM_VW.UNT_TAKEN.Value);
Else
&oClassInformation.sgrading_basis = "NON";
&oClassInformation.sunt_taken = "0.00";
End-If;
Else
If &recclasstblvw.CLASS_TYPE.Value = "E" Then
&oClassInformation.sgrading_basis = SSR_REGFORM2_VW.GRADING_BASIS_ENRL;
&oClassInformation.sunt_taken = NumberToString("%6.2",
SSR_REGFORM2_VW.UNT_TAKEN.Value);
Else
&oClassInformation.sgrading_basis = "NON";
&oClassInformation.sunt_taken = "0.00";
End-If;
End-If;
End-If;

&oClassInformation.Instantiate();

end-method;

method CheckAllowedUserAction

Local SSR_MANAGE_CLASSES:UTIL:CheckValidUserAction &ValidUserAction = create


SSR_MANAGE_CLASSES:UTIL:CheckValidUserAction();

Local array of string &aSession = CreateArrayRept(" ", 0);

Local array of string &aCheckActions = CreateArrayRept(" ", 0);


<* Check if Enrollment to Classes is Allowed *>
&aCheckActions.Push("Y");

<* Check if Waitlist to Classes is Allowed *>


&aCheckActions.Push("N");

<* Check if Access to Classes in Shopping Cart is Allowed *>


&aCheckActions.Push("N");

<* Check if Validation of Classes in Shopping Cart is Allowed *>


&aCheckActions.Push("Y");

Local array of string &aValidActions = CreateArrayRept(" ", 0);

Local integer &i;

Local Rowset &rsClassSessn = CreateRowset(Record.CLASS_TBL);


&rsClassSessn.Flush();
&rsClassSessn.Fill("WHERE Fill.STRM = :1 AND Fill.CLASS_NBR IN (SELECT
(X.CLASS_NBR) FROM PS_SSR_REGFORM X WHERE X.STRM = :1 AND X.EMPLID = :2 AND
X.ACAD_CAREER = :3 AND X.INSTITUTION = :4)", &recTerm, &recEmplId, &recCar,
&recInst);
&rsClassSessn.Sort(CLASS_TBL.SESSION_CODE, "A");
Local string &sSession;
For &i = 1 To &rsClassSessn.ActiveRowCount
If &rsClassSessn(&i).CLASS_TBL.SESSION_CODE.Value <> &sSession Then
&sSession = &rsClassSessn(&i).CLASS_TBL.SESSION_CODE.Value;
&aSession.Push(&sSession);
End-If;
End-For;

&aValidActions = &ValidUserAction.ValidUserAction(&aCheckActions, %OperatorId,


&recEmplId, &recCar, &recInst, &recTerm, &aSession, 0);
REM "Check Enrollment Action";
If &aValidActions [1] = "Y" Then
DERIVED_SSR_FL.SSR_ENROLL_FL.Visible = True;
DERIVED_SSR_FL.SSR_DELETE_FL.FreeFormStyleName = "";
Else
DERIVED_SSR_FL.SSR_ENROLL_FL.Visible = False;
DERIVED_SSR_FL.SSR_DELETE_FL.FreeFormStyleName = "psc_primary";
End-If;

REM "Check Validation Action";


If &aValidActions [4] = "Y" Then
DERIVED_SSR_FL.SSR_VALIDATE_FL.Visible = True;
Else
DERIVED_SSR_FL.SSR_VALIDATE_FL.Visible = False;
End-If;

end-method;

method DERIVED_SSR_FL__SSR_RETURN_PB_FL_FieldChange

&oManageClassesGlobalVars.bIsFromConfirmation = True;

Evaluate DERIVED_SSR_FL.SSR_RETURN_PB_FL
When "MNGC"

&oManageClassesGlobalVars.bIsGoToManageClassesMenu = True;

Local ApiObject &CRefLink, &Portal;


Local string &sUrl;

&Portal = %Session.GetPortalRegistry();

If &Portal.Open(%Portal) Then
&CRefLink = &Portal.FindCRefByName("CS_SSR_MANAGE_CLASSES_FL");
&sUrl = &CRefLink.AbsoluteContentURL;
End-If;

&Portal.Close();

%Response.RedirectURL(&sUrl);

When "MCRT"
&bIsFromShoppingCart = True;
Transfer( False, MenuName.SSR_STUDENT_FL, BarName.USE,
ItemName.SSR_SHOP_CART_FL, Page.SSR_TERM_STA3_FL, "U");

When "VCLS"
Transfer( False, MenuName.SSR_STUDENT_FL, BarName.USE,
ItemName.SSR_COMPONENT_FL, Page.SSR_TERM_STA1_FL, "U");
End-Evaluate;

end-method;

method getSessiondDesc
/+ &session_codecheck as String +/
/+ Returns String +/
Local Record &rsgetsessiondecr = CreateRecord(Record.PSXLATITEM);
&rsgetsessiondecr.FIELDNAME.Value = "SESSION_CODE";
&rsgetsessiondecr.FIELDVALUE.Value = &session_codecheck;

If &rsgetsessiondecr.SelectByKeyEffDt(&recTermBeginDt) Then
Return &rsgetsessiondecr.XLATLONGNAME.Value;
End-If;

end-method;

method SSR_CLASSDTL_SCF_Activate
&oClassInformation.SSR_CLASSDTL_SCF_Activate();
end-method;

method SSR_DER1_MTG_FL_SSR_MTGINFO_DATA__FieldChange
&oClassInformation.SSR_DER1_MTG_FL__SSR_MTGINFO_DATA_FieldChange();
end-method;

method SSR_INSTDTL_LF_SCF_Activate

&oClassInformation.SSR_INSTDTL_LF_SCF_Activate();
end-method;

method SSR_INSTRDTL_SCF_Activate
&oClassInformation.SSR_INSTRDTL_SCF_Activate();
end-method;

method DERIVED_SSR_FL_SSR_CL_DTLS_LFF__FieldChange
&oClassInformation.DERIVED_SSR_FL__SSR_CL_DTLS_LFF_FieldChange();
end-method;

method DERIVED_SSR_FL_SSR_INSTR_NME_FL__FieldChange
&oClassInformation.DERIVED_SSR_FL__SSR_INSTR_NME_FL_FieldChange();
end-method;

method DERIVED_SSR_FL_SSR_INSTR_FL__FieldChange
&oClassInformation.DERIVED_SSR_FL__SSR_INSTR_FL_FieldChange();
end-method;

method LoadAlternativeClasses
Local integer &i, &j, &k;
Local number &curr_OptionNbr, &prev_OptionNbr;

Local string &sOptionalComponent1 = "";


Local string &sOptionalComponent2 = "";

If &rs_AlternativeClasses(1).SSR_DER_CS_GRP.SSR_OPTION_NBR.Value = 1 And
&rs_AlternativeClasses(1).SSR_DER_CS_GRP.SSR_SEQ_NBR.Value = 1 Then
&sOptionalComponent1 =
&rs_AlternativeClasses(1).SSR_DER_CS_GRP.SSR_OPTNAL_COMP1.Value;
&sOptionalComponent2 =
&rs_AlternativeClasses(1).SSR_DER_CS_GRP.SSR_OPTNAL_COMP2.Value;
End-If;

Local string &msg_optclass = " ";


Local string &sComponentDescr1, &sComponentDescr2;

&sComponentDescr1 = "";
&sComponentDescr2 = "";
Local Record &rec_Xlat = CreateRecord(Record.PSXLATITEM);
&rec_Xlat.FIELDNAME.Value = "SSR_COMPONENT";

If All(&sOptionalComponent1) And
All(&sOptionalComponent2) Then

&rec_Xlat.FIELDVALUE.Value = &sOptionalComponent1;

If &rec_Xlat.SelectByKeyEffDt(&recTermBeginDt) Then
&sComponentDescr1 = &rec_Xlat.XLATLONGNAME.Value;
End-If;

&rec_Xlat.FIELDVALUE.Value = &sOptionalComponent2;

If &rec_Xlat.SelectByKeyEffDt(&recTermBeginDt) Then
&sComponentDescr2 = &rec_Xlat.XLATLONGNAME.Value;
End-If;

&msg_optclass = MsgGetExplainText(14770, 720, "Message not found.",


&sComponentDescr1, &sComponentDescr2);
Else
If All(&sOptionalComponent1) Then

&rec_Xlat.FIELDVALUE.Value = &sOptionalComponent1;

If &rec_Xlat.SelectByKeyEffDt(&recTermBeginDt) Then
&sComponentDescr1 = &rec_Xlat.XLATLONGNAME.Value;
End-If;

&msg_optclass = MsgGetExplainText(14770, 721, "Message not found.",


&sComponentDescr1);
End-If;
End-If;

If All(&msg_optclass) Then
DERIVED_SSR_FL.SS_MESSAGE_LONG.Visible = True;
DERIVED_SSR_FL.SS_MESSAGE_LONG = &msg_optclass;
End-If;

For &i = 1 To &rs_AlternativeClasses.ActiveRowCount

&curr_OptionNbr =
&rs_AlternativeClasses(&i).SSR_DER_CS_GRP.SSR_OPTION_NBR.Value;

If &curr_OptionNbr <> &prev_OptionNbr Then

&rs_RegformVw1.InsertRow(&row_level1);
&row_level1 = &row_level1 + 1;
&rs_RegformVw1(&row_level1).DERIVED_SSR_FL.SSR_CLASSNAME_LONG.Value =
MsgGetText(14770, 577, "Message Not Found") | " " | &curr_OptionNbr | " - " |
&rs_AlternativeClasses(&i).SSR_DER_CS_GRP.SSR_OPTION_STAT.LongTranslateValue;
&rs_RegformVw1(&row_level1).SSR_DER_CS_GRP.SSR_OPTION_NBR.Value =
&curr_OptionNbr;

&prev_OptionNbr = &curr_OptionNbr;

End-If;

End-For;
&rs_RegformVw1.DeleteRow(1); /* Delete empty row */

Local integer &count_AltClasses, &row_level2, &AvailableSeats, &OptionsInstance;


Local Rowset &rs_RegformVw2;
Local Row &row_RegformVw2;
Local string &sBgnCssConstructor, &sEndCssConstructor, &sStyleConstructor;

&sBgnCssConstructor = GetHTMLText(HTML.SSR_CSS_BGN_CONSTRUCTOR_FL);
&sStyleConstructor = "";

Local SSR_MANAGE_CLASSES:UTIL:MeetingDetails &oMeetingDetails = create


SSR_MANAGE_CLASSES:UTIL:MeetingDetails();
Local SSR_MANAGE_CLASSES:SETUP:TimeConflictOptions &oTimeConflictOptions =
create SSR_MANAGE_CLASSES:SETUP:TimeConflictOptions();

&oMeetingDetails.sInstitution = &recInst;
&oMeetingDetails.sAcademicCareer = &recCar;
&oMeetingDetails.sTerm = &recTerm;
&oMeetingDetails.Instantiate("ShopCart");

For &j = 1 To &rs_RegformVw1.ActiveRowCount

&row_level2 = 1;

For &k = 1 To &rs_AlternativeClasses.ActiveRowCount

If &rs_AlternativeClasses(&k).SSR_DER_CS_GRP.SSR_OPTION_NBR.Value =
&rs_RegformVw1(&j).SSR_DER_CS_GRP.SSR_OPTION_NBR.Value Then

&rs_RegformVw2 = &rs_RegformVw1(&j).GetRowset(Scroll.SSR_DUMMY_RECV2);

&rs_RegformVw2.InsertRow(&row_level2);

&row_level2 = &row_level2 + 1;

&row_RegformVw2 = &rs_RegformVw2.GetRow(&row_level2);

&row_RegformVw2.SSR_DER_CS_GRP.SSR_OPTION_NBR.Value =
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.SSR_OPTION_NBR.Value;
&row_RegformVw2.SSR_DER_CS_GRP.CLASS_NBR.Value =
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.CLASS_NBR.Value;
&row_RegformVw2.SSR_DER_CS_GRP.SSR_AUTO_ENRL_SW.Value =
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.SSR_AUTO_ENRL_SW.Value;
&row_RegformVw2.SSR_DER_CS_GRP.SSR_SEQ_NBR.Value =
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.SSR_SEQ_NBR.Value;
&row_RegformVw2.SSR_DER_CS_GRP.GRADING_BASIS.Value =
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.GRADING_BASIS.Value;
&row_RegformVw2.SSR_DER_CS_GRP.UNITS_MINIMUM.Value =
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.UNITS_MINIMUM.Value;

&row_RegformVw2.SSR_REGFORM_WRK.SSR_SBJ_CAT_NBR.Value =
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.SSR_COMPONENT.LongTranslateValue | " - "
| MsgGetText(14770, 1006, "Message not found") | " " |
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.CLASS_NBR.Value;
&row_RegformVw2.SSR_REGFORM_WRK.SSR_SBJ_CAT_NBR.Label =
&row_RegformVw2.SSR_REGFORM_WRK.SSR_SBJ_CAT_NBR.Value;

&row_RegformVw2.SSR_CLS_PREF_WK.SSR_TIME_CONFLICT.Value = "N";
If &oTimeConflictOptions.TimeConflictDisplayPreference = "D" Then
If &rs_AlternativeClasses(&k).SSR_DER_CS_GRP.SSR_TIME_CONFLICT.Value
= "Y" Then
&row_RegformVw2.SSR_CLS_PREF_WK.SSR_TIME_CONFLICT.Value =
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.SSR_TIME_CONFLICT.Value;
End-If;
End-If;

&row_RegformVw2.DERIVED_SSR_FL.SSR_STD_ENR_STAT.Value =
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.ENRL_STAT.Value;

Evaluate &row_RegformVw2.DERIVED_SSR_FL.SSR_STD_ENR_STAT.Value
When "O"
&row_RegformVw2.DERIVED_SSR_FL.SSR_SEATS_AVL.Value =
MsgGetText(14770, 527, "Message not found.",
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.ENRL_CAP.Value -
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.ENRL_TOT.Value,
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.ENRL_CAP.Value);
&row_RegformVw2.DERIVED_SSR_FL.SSR_DESCR50.Value = MsgGetText(14770,
607, "Message not found") | " " |
&row_RegformVw2.DERIVED_SSR_FL.SSR_SEATS_AVL.Value;
When "W"
&row_RegformVw2.DERIVED_SSR_FL.SSR_SEATS_AVL.Value =
MsgGetText(14770, 527, "Message not found.",
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.WAIT_CAP.Value -
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.WAIT_TOT.Value,
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.WAIT_CAP.Value);
&row_RegformVw2.DERIVED_SSR_FL.SSR_DESCR50.Value = MsgGetText(14770,
608, "Message not found") | " " |
&row_RegformVw2.DERIVED_SSR_FL.SSR_SEATS_AVL.Value;
When "C"
&row_RegformVw2.DERIVED_SSR_FL.SSR_SEATS_AVL.Value = "--";
&row_RegformVw2.DERIVED_SSR_FL.SSR_DESCR50.Value = MsgGetText(14770,
573, "Message not found");
End-Evaluate;

&row_RegformVw2.DERIVED_SSR_FL.SSR_DESCR50.Label = MsgGetText(14770,
609, "Message not found");

&oMeetingDetails.LoadMeetingSchedule(&row_level2,
&rs_AlternativeClasses(&k).SSR_DER_CS_GRP.CLASS_NBR.Value, &row_RegformVw2);

&row_RegformVw2.SSR_REGFORM_WRK.SSR_MORE_CLASS_FL.Label =
&oMeetingDetails.sMaxHasReachedMessage;
&row_RegformVw2.SSR_REGFORM_WRK.SSR_MORE_CLASS_FL.Visible =
&oMeetingDetails.IsMoreDetailsAvailable;

If &row_level2 > 2 Then


&row_RegformVw2.DERIVED_SSR_FL.SSR_SELECT.Visible = False;
Else
If &rs_AlternativeClasses(&k).SSR_DER_CS_GRP.SSR_TIME_CONFLICT.Value
= "Y" Then

&row_RegformVw2.DERIVED_SSR_FL.SSR_SELECT.AddFFClass("psa_display-none");
End-If;
End-If;

&OptionsInstance = &OptionsInstance + 1;
End-If;
End-For;
If &OptionsInstance > 0 Then
&rs_RegformVw2.DeleteRow(1);
End-If;
End-For;

If &OptionsInstance = 0 Then
/* No Alternative Classes available */
SSR_CLS_PREF_WK.GROUPBOX1.Visible = False;
SSR_CLS_PREF_WK.GROUPBOX2.Visible = False;
SSR_CLS_PREF_WK.GROUPBOX3.Visible = True;
End-If;

end-method;

method DERIVED_SSR_FL__SSR_SELECT_FieldChange
Local Rowset &rs_RegformVw2;
Local integer &i, &j, &AssignOnce;

&nSelectedOptionNbr = SSR_DER_CS_GRP.SSR_OPTION_NBR;

&AssignOnce = 1;
&New_nRelateClassNbr1 = 0;
&New_nRelateClassNbr2 = 0;

For &i = 1 To &rs_RegformVw1.ActiveRowCount

&rs_RegformVw2 = &rs_RegformVw1(&i).GetRowset(Scroll.SSR_DUMMY_RECV2);

If &rs_RegformVw1(&i).SSR_DER_CS_GRP.SSR_OPTION_NBR.Value =
&nSelectedOptionNbr Then
/* Get Related Classes */
For &j = 1 To &rs_RegformVw2.ActiveRowCount
If &rs_RegformVw2(&j).SSR_DER_CS_GRP.SSR_AUTO_ENRL_SW.Value = "N" Then
If &rs_RegformVw2(&j).SSR_DER_CS_GRP.SSR_SEQ_NBR.Value > 1 Then
If &AssignOnce = 1 Then
&New_nRelateClassNbr1 =
&rs_RegformVw2(&j).SSR_DER_CS_GRP.CLASS_NBR.Value;
&AssignOnce = &AssignOnce + 1;
Else
&New_nRelateClassNbr2 =
&rs_RegformVw2(&j).SSR_DER_CS_GRP.CLASS_NBR.Value;
End-If;
End-If;
End-If;
End-For;
Else
/* Uncheck not selected */
For &j = 1 To &rs_RegformVw2.ActiveRowCount
If &rs_RegformVw2(&j).DERIVED_SSR_FL.SSR_SELECT.Value = "Y" Then
&rs_RegformVw2(&j).DERIVED_SSR_FL.SSR_SELECT.Value = "N";
End-If;
End-For;

End-If;
End-For;
If DERIVED_SSR_FL.SSR_SELECT = "Y" Then
&IsAlternateOptionSelected = True;
Else
&IsAlternateOptionSelected = False;
End-If;

end-method;

method SSR_REGFORM_WRK__SSR_MORE_CLASS_FL_FieldChange
If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then
&oClassInformation.DefaultTab = "MD"; /* Default to Meeting Details tab */
Else
&oClassInformation.DefaultTab = "MI"; /* Default to Meeting Information tab
*/
End-If;
%This.AlternativeClasses_LoadClassInformation();
end-method;

method SSR_REGFORM_WRK__SSR_SBJ_CAT_NBR_FieldChange
If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then
&oClassInformation.DefaultTab = "MD"; /* Default to Meeting Details tab */
Else
&oClassInformation.DefaultTab = "CD"; /* Default to Class Details tab */
End-If;
%This.AlternativeClasses_LoadClassInformation();
end-method;

method AlternativeClasses_LoadClassInformation
Local Record &recclasstblvw = CreateRecord(Record.CLASS_TBL_VW);
&oClassInformation.recEmplId = &recEmplId;
&oClassInformation.recInst = &recInst;
&oClassInformation.recCar = &recCar;
&oClassInformation.recTerm = &recTerm;
&oClassInformation.recTermBeginDt = &recTermBeginDt;

&recclasstblvw.INSTITUTION.Value = &recInst;
&recclasstblvw.STRM.Value = &recTerm;

&recclasstblvw.CLASS_NBR.Value = SSR_DER_CS_GRP.CLASS_NBR;

If &recclasstblvw.SelectByKey() Then
&oClassInformation.subject = &recclasstblvw.SUBJECT.Value;
&oClassInformation.catalog_nbr = &recclasstblvw.CATALOG_NBR.Value;
&oClassInformation.associated_class = &recclasstblvw.ASSOCIATED_CLASS.Value;
&oClassInformation.sCourseTitle = &recclasstblvw.DESCR.Value;

&oClassInformation.crse_id = &recclasstblvw.CRSE_ID.Value;
&oClassInformation.crse_offer_nbr = &recclasstblvw.CRSE_OFFER_NBR.Value;
&oClassInformation.session_code = &recclasstblvw.SESSION_CODE.Value;
&oClassInformation.class_section = &recclasstblvw.CLASS_SECTION.Value;

&oClassInformation.class_nbr = &recclasstblvw.CLASS_NBR.Value;
&oClassInformation.ssr_component = &recclasstblvw.SSR_COMPONENT.Value;

If &recclasstblvw.CLASS_TYPE.Value = "E" Then


&oClassInformation.sgrading_basis = SSR_DER_CS_GRP.GRADING_BASIS;
&oClassInformation.sunt_taken = NumberToString("%6.2",
SSR_DER_CS_GRP.UNITS_MINIMUM);
Else
&oClassInformation.sgrading_basis = "NON";
&oClassInformation.sunt_taken = "0.00";
End-If;
End-If;

&oClassInformation.Instantiate();
end-method;

method GoToLinks
Local Rowset &rsLinkTable;
Local integer &i;

AddStyleSheet(StyleSheet.SSR_CONFIRMATION_FL);

&i = 1;

&rsLinkTable = GetRowset(Scroll.SSR_DUMMY_REC);
&rsLinkTable.Flush();

&rsLinkTable.InsertRow(&i);
&i = &i + 1;
&rsLinkTable(&i).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Value = "MNGC";
&rsLinkTable(&i).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Label = MsgGetText(14770, 813,
"Message not found."); /* Return to Manage Classes Menu */
&rsLinkTable(&i).DERIVED_SSR_FL.IMAGE_FIELD.Value = Image.PS_SCHEDULE_L_FL;
&rsLinkTable(&i).DERIVED_SSR_FL.IMAGE_FIELD.Label =
&rsLinkTable(&i).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Label;

&rsLinkTable.InsertRow(&i);
&i = &i + 1;
&rsLinkTable(&i).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Value = "MCRT";
&rsLinkTable(&i).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Label = MsgGetText(14770, 610,
"Message not found"); /* Return to Shopping Cart */
&rsLinkTable(&i).DERIVED_SSR_FL.IMAGE_FIELD.Value = Image.PS_SHOPPING_CART_M_FL;
&rsLinkTable(&i).DERIVED_SSR_FL.IMAGE_FIELD.Label =
&rsLinkTable(&i).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Label;

&rsLinkTable.InsertRow(&i);
&i = &i + 1;
&rsLinkTable(&i).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Value = "VCLS";
&rsLinkTable(&i).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Label = MsgGetText(14770, 576,
"Message not found"); /* View My Classes */
&rsLinkTable(&i).DERIVED_SSR_FL.IMAGE_FIELD.Value = Image.PS_APPR_THISWEEK_M_FL;
&rsLinkTable(&i).DERIVED_SSR_FL.IMAGE_FIELD.Label =
&rsLinkTable(&i).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Label;

&rsLinkTable.DeleteRow(1); /* Delete empty row */

end-method;

method SSR_ENRL_FL_WRK_SSR_WAIT_LIST_INFO_FieldChange
Local string &sModalOptions;

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then


&sModalOptions = GetHTMLText(HTML.SCC_MO_FULLSCREEN_FL);
Else
If %Request.BrowserDeviceType = "tablet" Then
&sModalOptions = GetHTMLText(HTML.SCC_MO_FULLSCREEN_FL);
Else
&sModalOptions = GetHTMLText(HTML.SCC_MO_POPUP_FL) |
"width@400;height@200;";
End-If;
End-If;

&sWaitListOkayLabel = MsgGetText(14770, 1001, "Message not found");


&sInformationMessage = MsgGetExplainText(14770, 1001, "Message not found");

DoModalPopup(&sModalOptions, "", False, False, Page.SSR_INFO_ICON_SCF,


&sWaitListOkayLabel, - 1, - 1, 0);
end-method;

method SSR_ENRL_FL_WRK_SSR_PERM_NBR_INFO_FieldChange
Local string &sModalOptions, &sPermissionNumberLabel;

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then


&sModalOptions = GetHTMLText(HTML.SCC_MO_FULLSCREEN_FL);
Else
If %Request.BrowserDeviceType = "tablet" Then
&sModalOptions = GetHTMLText(HTML.SCC_MO_FULLSCREEN_FL);
Else
&sModalOptions = GetHTMLText(HTML.SCC_MO_POPUP_FL) |
"width@400;height@200;";
End-If;
End-If;

&sPermissionNumberLabel = MsgGetText(14770, 1002, "Message not found");


&sInformationMessage = MsgGetExplainText(14770, 1002, "Message not found");

DoModalPopup(&sModalOptions, "", False, False, Page.SSR_INFO_ICON_SCF,


&sPermissionNumberLabel, - 1, - 1, 0);
end-method;

method SSR_INFO_ICON_SCF_Activate
DERIVED_REGFRM1.SS_MESSAGE_LONG = &sInformationMessage;
end-method;

method GetClassOptions
/+ Returns Rowset +/
Local SSR_MANAGE_CLASSES:UTIL:ClassOptions &oClassOptions = create
SSR_MANAGE_CLASSES:UTIL:ClassOptions();
Local Rowset &rs_ClsGrpOptns;
Local number &nAutoEnrlClassNbr1, &nAutoEnrlClassNbr2;

&rs_ClsGrpOptns = CreateRowset(Record.SSR_DER_CS_FLTR);
&rs_ClsGrpOptns(1).SSR_DER_CS_FLTR.CLASS_NBR.Value = &nClassNbr;
&rs_ClsGrpOptns(1).SSR_DER_CS_FLTR.STRM.Value = &recTerm;
&rs_ClsGrpOptns(1).SSR_DER_CS_FLTR.INSTITUTION.Value = &recInst;
&rs_ClsGrpOptns(1).SSR_DER_CS_FLTR.RELATE_CLASS_NBR_1.Value = &nRelateClassNbr1;
&rs_ClsGrpOptns(1).SSR_DER_CS_FLTR.RELATE_CLASS_NBR_2.Value = &nRelateClassNbr2;

SQLExec("SELECT CLASS_NBR FROM PS_SSR_REGFORM_A1 where EMPLID=:1 and


ACAD_CAREER=:2 and INSTITUTION=:3 and STRM=:4 and CLASS_NBR_REQ=:5", &recEmplId,
&recCar, &recInst, &recTerm, &nClassNbr, &nAutoEnrlClassNbr1);
SQLExec("SELECT CLASS_NBR FROM PS_SSR_REGFORM_A2 where EMPLID=:1 and
ACAD_CAREER=:2 and INSTITUTION=:3 and STRM=:4 and CLASS_NBR_REQ=:5", &recEmplId,
&recCar, &recInst, &recTerm, &nClassNbr, &nAutoEnrlClassNbr2);
&rs_ClsGrpOptns(1).SSR_DER_CS_FLTR.SSR_AUTOENRL_CLS_1.Value =
&nAutoEnrlClassNbr1;
&rs_ClsGrpOptns(1).SSR_DER_CS_FLTR.SSR_AUTOENRL_CLS_2.Value =
&nAutoEnrlClassNbr2;

Return &oClassOptions.GetClassOptions("SC", "Y", &rs_ClsGrpOptns, Null, Null);


end-method;

method SSR_CLS_PREF_WK__SSR_MUL_MTG_LINK_FieldChange
If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then
&oClassInformation.DefaultTab = "MD"; /* Default to Meeting Details tab */
Else
&oClassInformation.DefaultTab = "MI"; /* Default to Meeting Information tab
*/
End-If;
%This.AlternativeClasses_LoadClassInformation();
end-method

[SSR_MANAGE_CLASSES.COMPONENTS.SSR_START_PAGE_FL.OnExecute]
import SCC_FLUID:MODEL:Component;
import SCC_FLUID:MODEL:Panel;
import SCC_FLUID:MODEL:NavigationParams;
import SCC_FLUID:MODEL:Navigation;
import SCC_FLUID:UTIL:Constants;
import SSR_MANAGE_CLASSES:UTIL:DropClasses;
import SSR_MANAGE_CLASSES:UTIL:GlobalVariables;

class SSR_START_PAGE_FL extends SCC_FLUID:MODEL:Component


method SSR_START_PAGE_FL();
method PostBuild();
method SCC_LO_FL_WRK_SCC_VIEW_BTN_FieldChange();
method DERIVED_SSR_FL_SSR_BTN1_FL_FieldChange();

protected
property SCC_FLUID:MODEL:Panel Panel;
property SCC_FLUID:MODEL:Navigation Navigation;
method BuildNavigation();
method TransferToDetail();
private
instance SCC_FLUID:UTIL:Constants &FluidConstants;
instance string &sMD;
instance string &sSelect;
instance string &sNavColl;
instance string &sGComp;
instance string &sGroupletParam;

method PopulateNavigation();

end-class;

Global SSR_MANAGE_CLASSES:UTIL:GlobalVariables &oManageClassesGlobalVars;

method SSR_START_PAGE_FL
%Super = create SCC_FLUID:MODEL:Component();

end-method;

method PostBuild

Local string &sMDComponent;

Local SCC_FLUID:MODEL:NavigationParams &objNavigationParams;


Local string &sURL;

&sMD = %Request.GetParameter("MD");

Local string &RefererURL = %Request.GetHeader("Referer");


/* If user came from the homepage, create/reset global variables class */
If Find(Component.PT_LANDINGPAGE | "." | %Market, &RefererURL) > 0 Then
&oManageClassesGlobalVars = create SSR_MANAGE_CLASSES:UTIL:GlobalVariables();
End-If;

/* Reset back button to homepage if user is redirected to Start Page */


If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then
If &oManageClassesGlobalVars.bIsGoToManageClassesMenu Then
&oManageClassesGlobalVars.bIsGoToManageClassesMenu = False;
AddJavaScript(HTML.SSR_MANAGE_CLASSES_JS);
AddOnLoadScript("goBackToHomepage()");
End-If;
End-If;

If &sMD <> "Y" Then

&sMDComponent = &oManageClassesGlobalVars.sMDComponent;

If All(&sMDComponent) Then
&sURL = GenerateComponentContentURL(%Portal, %Node,
MenuName.SSR_STUDENT_FL, %Market, @("Component." | &sMDComponent), "", "U");
Else
&sURL = GenerateComponentContentURL(%Portal, %Node,
MenuName.SSR_STUDENT_FL, %Market, Component.SSR_MD_SP_FL, "", "U");
End-If;
%This.RedirectToMD(&sURL, "");
End-If;

&FluidConstants = create SCC_FLUID:UTIL:Constants();


&Panel = %This.CreatePanel();
&objNavigationParams = create SCC_FLUID:MODEL:NavigationParams();
&objNavigationParams.SidePage = Page.SSR_START_PAGE_FL;

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then


&objNavigationParams.Type = &FluidConstants.StartPage;
Else
&objNavigationParams.Type = &FluidConstants.MDPage;
End-If;

&Navigation = %This.CreateNavigation(&objNavigationParams);

If %Request.BrowserDeviceFormFactor <> %FormFactor_Small Then


/* Redirect to &oManageClassesGlobalVars.sTransferToURL from Start Page */
If &oManageClassesGlobalVars.sTransferToURL <> "" Then
AddOnLoadScript("getDefaultURL('" |
&oManageClassesGlobalVars.sTransferToURL | "')");
Else
/* Redirect to &oManageClassesGlobalVars.sTransferFromURL from Start Page
*/
If &oManageClassesGlobalVars.sTransferFromURL <> "" Then
AddOnLoadScript("getDefaultURL('" |
&oManageClassesGlobalVars.sTransferFromURL | "')");
End-If;
End-If;
End-If;

%This.Render();

end-method;

method BuildNavigation
/+ Extends/implements SCC_FLUID:MODEL:Component.BuildNavigation +/
&sNavColl = %Request.GetParameter("scname");

&Navigation.AddTabsFromSetup(&sNavColl);

/* Hide 'Shopping Cart' if 'Enrollment Only' is allowed */


Local string &AddClassOptions;

SQLExec("SELECT SSR_CS_ADD_OPTN FROM PS_SSR_CS_GEN_OPTS", &AddClassOptions);

If &AddClassOptions = "E" Then


&Navigation.HideTab(Page.SSR_TERM_STA3_FL);
End-If;

If %Request.BrowserDeviceFormFactor <> %FormFactor_Small Then


If &oManageClassesGlobalVars.sTabID <> "" Then
&Navigation.SelectMDTab(&oManageClassesGlobalVars.sTabID); /*So that it
loads selected details page in target content area */
End-If;
End-If;

end-method;

method TransferToDetail
/+ Extends/implements SCC_FLUID:MODEL:Component.TransferToDetail +/

&Navigation.TransferFromSetup(&Navigation.TabID);

end-method;

method SCC_LO_FL_WRK_SCC_VIEW_BTN_FieldChange
/* Delete Instance in SFF */
Local SSR_MANAGE_CLASSES:UTIL:DropClasses &oDropClasses = create
SSR_MANAGE_CLASSES:UTIL:DropClasses("", "", "", "");

&oDropClasses.DeleteAGInstance("SR_DROP_FL");

%This.SelectGridTab();
end-method;
method DERIVED_SSR_FL_SSR_BTN1_FL_FieldChange

Local string &sURL;

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then


%This.PopulateNavigation();
Else
&sURL = GenerateComponentContentURL(%Portal, %Node, MenuName.SSR_STUDENT_FL,
%Market, Component.SSR_MD_SP_FL, "", "U");

%This.RedirectToMD(&sURL, &sGroupletParam);
End-If;

end-method;

method PopulateNavigation

Local SCC_FLUID:MODEL:NavigationParams &objNavigationParams;

&FluidConstants = create SCC_FLUID:UTIL:Constants();


&Panel = %This.CreatePanel();
&objNavigationParams = create SCC_FLUID:MODEL:NavigationParams();
&objNavigationParams.StartPage = Page.SSR_START_PAGE_FL;
If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then
&objNavigationParams.Type = &FluidConstants.StartPage;
Else
&objNavigationParams.Type = &FluidConstants.MDPage;
SCC_LO_FL_WRK.SCC_GROUP_BOX_7.Visible = False;

End-If;
&Navigation = %This.CreateNavigation(&objNavigationParams);
%This.Render();

If %Page <> Page.SSR_START_PAGE_FL Then


TransferPage(Page.SSR_START_PAGE_FL);
End-If;

end-method;

[SSR_MANAGE_CLASSES.COMPONENTS.SSR_SWAP_CLASS_FL.OnExecute]
import SCC_FLUID:UTIL:Constants;
import SCC_FLUID:UTIL:CSSClass;
import SCC_FLUID:MODEL:Component;
import SCC_FLUID:MODEL:Panel;
import SCC_FLUID:UTIL:URL;
import SCC_FLUID:UTIL:Popup;
import SSR_STUDENT_RECORDS:SR_ClassData:ClassInfo;
import SSR_STUDENT_RECORDS:SR_ClassData:ClassStatus;
import SSR_STUDENT_RECORDS:SR_StudentData:StudentTerms;
import SSR_MANAGE_CLASSES:UTIL:Installation;
import SSR_MANAGE_CLASSES:UTIL:Confirmation;
import SSR_MANAGE_CLASSES:UTIL:GlobalVariables;
import SSR_MANAGE_CLASSES:UTIL:Navigation;
class SSR_SWAP_CLASS_FL extends SCC_FLUID:MODEL:Component
method SSR_SWAP_CLASS_FL();
method PreBuild();
method PostBuild();

method SSR_SWAP_TERM_FL_Activate();
method SSR_SWAP_ENRL_FL_Activate();
method SSR_ENRL_CONFRM_FL_Activate();
method SSR_TERM_STA1_SCF_Activate();

method DERIVED_SSS_SCR__SSS_TERM_LINK_FieldChange();
method DERIVED_REGFRM1__SSR_CLASSNAME_35_FieldChange();
method DERIVED_SSR_FL__SSR_CLS_SRCH_TYPE_FieldChange();
method SSR_SWAP_FL_WRK__SSR_PB_SRCH_FieldChange();
method DERIVED_SSR_FL__SSR_RETURN_PB_FL_FieldChange();
method DERIVED_SSR_FL__SSR_CHANGE_BTN_FieldChange();
method SSR_ENTRMCUR_VW__TERM_DESCR30_FieldChange();

protected
property SCC_FLUID:MODEL:Panel Panel;
private

method LoadSwapDropdown();
method LoadCartDropdown();
method LoadClassSearchTypeDropDown();
method RedirectToStartPage();
method TransferToClassSearch();

instance SSR_STUDENT_RECORDS:SR_ClassData:ClassInfo &obj_EnrlClassInfo;

instance string &recEmplId, &recCar, &recInst, &recTerm;


instance string &recChangeCar, &recChangeInst, &recChangeTerm;

instance boolean &bool_recMultiInst, &IsHidden;


instance number &nSwapClassNbr;

end-class;

Global SSR_MANAGE_CLASSES:UTIL:GlobalVariables &oManageClassesGlobalVars;

method SSR_SWAP_CLASS_FL
%Super = create SCC_FLUID:MODEL:Component();
end-method;

method PreBuild

&oManageClassesGlobalVars.sTabID = Page.SSR_SWAP_TERM_FL;

Local SSR_MANAGE_CLASSES:UTIL:Navigation &oNavigationSR = create


SSR_MANAGE_CLASSES:UTIL:Navigation();
&oNavigationSR.ResetToHomepage();

If %Request.BrowserDeviceFormFactor <> %FormFactor_Small Then


Page.SSR_SWAP_FOOTR_FFL.Visible = False;
Else
If %Page <> Page.SSR_SWAP_ENRL_FL Then
Page.SSR_SWAP_FOOTR_FFL.Visible = False;
End-If;
End-If;

end-method;

method PostBuild
Local SCC_FLUID:UTIL:CSSClass &objCSS, &objCSS1;
Local string &setId;

&objCSS = create SCC_FLUID:UTIL:CSSClass();

AddStyleSheet(StyleSheet.SSR_SWAP_CLASSES_FL);

&Panel = %This.CreatePanel();
%This.Render();

Local Record &getemplid, &getsetid;

&getemplid = CreateRecord(Record.PSOPRDEFN);
&getsetid = CreateRecord(Record.OPR_DEF_TBL_CS);

&getemplid.OPRID.Value = %OperatorId;

If &getemplid.SelectByKey() Then
&recEmplId = &getemplid.EMPLID.Value;
&oManageClassesGlobalVars.sStudentID = &recEmplId;
End-If;

&getsetid.OPRID.Value = %OperatorId;

If &getsetid.SelectByKey() Then
&setId = &getsetid.SETID.Value;
End-If;

Local SSR_MANAGE_CLASSES:UTIL:Installation &utilMethods = create


SSR_MANAGE_CLASSES:UTIL:Installation();
Local boolean &bool_recSingleInst = &utilMethods.IsSingleInstitution();

If &bool_recSingleInst = True Then


&bool_recMultiInst = False;
Else
&bool_recMultiInst = True;
End-If;

end-method;

method SSR_SWAP_TERM_FL_Activate

&Panel.SetPageTitle(MsgGetText(14770, 513, "Message not found.")); /* Select a


Value */

Page.SSR_SWAP_FOOTR_FFL.Visible = False;

If &oManageClassesGlobalVars.swapClasses_sInstitution <> "" And


&oManageClassesGlobalVars.swapClasses_sCareer <> "" And
&oManageClassesGlobalVars.swapClasses_sTerm <> "" Then

TransferPage(Page.SSR_SWAP_ENRL_FL);

Else

Local Rowset &rs_CarInstTerm, &reclevel1, &rs_CarInstTermCurr,


&rs_CarInstTermPrev;
Local integer &i, &prev, &curr, &cntCarInstTermCurr, &cntCarInstTermPrev;
Local string &str_TermDescr, &prev_Career, &prev_Inst, &prev_Term;
Local boolean &IsEnrolled;
Local date &termbegindt, &recTermBeginDt;
Local number &nDropClassesFound;

Local Rowset &rs_StdntEnrlTerms;


Local Record &rec_TermTbl = CreateRecord(Record.TERM_TBL);
Local SSR_STUDENT_RECORDS:SR_StudentData:StudentTerms &obj_StudentTerms =
create SSR_STUDENT_RECORDS:SR_StudentData:StudentTerms(&recEmplId);
Local array of array of string &arr_IDTerms =
&obj_StudentTerms.getStudentTerms();
Local integer &j, &term_count;

&j = 0;
&term_count = 0;

&rs_StdntEnrlTerms = GetRowset(Scroll.SSR_DUMMY_RECV1);
&rs_StdntEnrlTerms.Flush();

For &i = 1 To &arr_IDTerms.Len

&rec_TermTbl.INSTITUTION.Value = &arr_IDTerms [&i][3] | Rept(" ", 5 -


Len(&arr_IDTerms [&i][3]));
&rec_TermTbl.ACAD_CAREER.Value = &arr_IDTerms [&i][2] | Rept(" ", 4 -
Len(&arr_IDTerms [&i][2]));
&rec_TermTbl.STRM.Value = &arr_IDTerms [&i][4] | Rept(" ", 4 -
Len(&arr_IDTerms [&i][4]));

If &rec_TermTbl.SelectByKey() Then

If &rec_TermTbl.SSR_SSENRLDISP_BDT.Value <= %Date And


&rec_TermTbl.SSR_SSENRLDISP_EDT.Value >= %Date Then

&recCar = &rec_TermTbl.ACAD_CAREER.Value;
&recInst = &rec_TermTbl.INSTITUTION.Value;
&recTerm = &rec_TermTbl.STRM.Value;

Local Rowset &rs_StdntEnrl = CreateRowset(Record.SSR_STENRL_SSV2);


Local integer &sel_count = &rs_StdntEnrl.Fill("where EMPLID=:1 and
ACAD_CAREER=:2 and INSTITUTION=:3 and STRM=:4 and ((STDNT_ENRL_STATUS='E' and
ENRL_STATUS_REASON <> 'WDRW' and ENRL_STATUS_REASON <> 'DROP')) and
CRSE_GRADE_INPUT=' ' ", &recEmplId, &recCar, &recInst, &recTerm);

If &sel_count > 0 Then

If &j > 0 Then


&rs_StdntEnrlTerms.InsertRow(&j);
End-If;

&j = &j + 1;
&term_count = &term_count + 1;

&rs_StdntEnrlTerms(&j).DERIVED_SSS_SCT.EMPLID.Value = &recEmplId;
&rs_StdntEnrlTerms(&j).DERIVED_SSS_SCT.ACAD_CAREER.Value =
&recCar;
&rs_StdntEnrlTerms(&j).DERIVED_SSS_SCT.INSTITUTION.Value =
&recInst;
&rs_StdntEnrlTerms(&j).DERIVED_SSS_SCT.STRM.Value = &recTerm;
&rs_StdntEnrlTerms(&j).DERIVED_SSS_SCT.SSS_TERM_LINK.Label =
&rs_StdntEnrlTerms(&j).TERM_TBL.DESCR.Value;

&rs_StdntEnrlTerms(&j).INSTITUTION_TBL.DESCRFORMAL.Visible =
&bool_recMultiInst;

End-If;

End-If;
End-If;
End-For;

DERIVED_SSR_FL.SSR_GRPBOX_TERM.Visible = True;
DERIVED_SSR_FL.SSR_GRPBOX_TRM2.Visible = False;

If &term_count = 0 Then
&Panel.SetPageTitle(MsgGetText(14770, 904, "Message not found.")); /* Swap
Classes */
DERIVED_SSR_FL.SSR_GRPBOX_TERM.Visible = False;
DERIVED_SSR_FL.SSR_GRPBOX_TRM2.Visible = True;

/* You are not registered in any classes at this time */


DERIVED_SSR_FL.SSR_NOCLASSES_MSG.Value = MsgGetText(14770, 504, "Message
Not Found");

Else

If &term_count = 1 Then

&IsHidden = False;

&recTerm = &rs_StdntEnrlTerms(1).DERIVED_SSS_SCT.STRM.Value;
&recInst = &rs_StdntEnrlTerms(1).DERIVED_SSS_SCT.INSTITUTION.Value;
&recCar = &rs_StdntEnrlTerms(1).DERIVED_SSS_SCT.ACAD_CAREER.Value;

&oManageClassesGlobalVars.swapClasses_sInstitution = &recInst;
&oManageClassesGlobalVars.swapClasses_sCareer = &recCar;
&oManageClassesGlobalVars.swapClasses_sTerm = &recTerm;

&rs_StdntEnrlTerms(1).INSTITUTION_TBL.DESCRFORMAL.Visible =
&bool_recMultiInst;

Local Rowset &rs_TermTbl;


&rs_TermTbl = CreateRowset(Record.TERM_TBL);
&rs_TermTbl.Flush();
&rs_TermTbl.Fill("WHERE INSTITUTION=:1 AND ACAD_CAREER=:2 AND STRM=:3",
&recInst, &recCar, &recTerm);

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then


TransferPage(Page.SSR_SWAP_ENRL_FL);
Else
DERIVED_SSR_FL.SSR_GRPBOX_TERM.AddFFClass("psa_visib-hid");
AddJavaScript(HTML.SSR_MANAGE_CLASSES_JS);
AddOnLoadScript("launchLink()");
End-If;

Else

&IsHidden = True;

End-If;

End-If;

End-If;

end-method;

method DERIVED_SSS_SCR__SSS_TERM_LINK_FieldChange

&recInst = DERIVED_SSS_SCT.INSTITUTION.Value;
&recCar = DERIVED_SSS_SCT.ACAD_CAREER.Value;
&recTerm = DERIVED_SSS_SCT.STRM.Value;

TransferPage(Page.SSR_SWAP_ENRL_FL);

end-method;

method SSR_SWAP_ENRL_FL_Activate

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then


Page.SSR_SWAP_FOOTR_FFL.Visible = True;
End-If;

/* Swap Classes */
&Panel.SetPageTitle(MsgGetText(14770, 904, "Message not found."));
&Panel.SetPanelTitle(MsgGetText(14770, 904, "Message not found."));

&oManageClassesGlobalVars.sSwapClassesURL = GenerateComponentContentURL(%Portal,
%Node, @("MenuName." | %Menu), %Market, @("Component." | %Component), @("Page." |
%Page), %Action_UpdateDisplay);

If &oManageClassesGlobalVars.swapClasses_sInstitution <> "" Then


&recInst = &oManageClassesGlobalVars.swapClasses_sInstitution;
End-If;

If &oManageClassesGlobalVars.swapClasses_sCareer <> "" Then


&recCar = &oManageClassesGlobalVars.swapClasses_sCareer;
End-If;

If &oManageClassesGlobalVars.swapClasses_sTerm <> "" Then


&recTerm = &oManageClassesGlobalVars.swapClasses_sTerm;
End-If;

If &oManageClassesGlobalVars.bIsChangeButtonHidden = True Then


&IsHidden = &oManageClassesGlobalVars.bIsChangeButtonHidden;
End-If;
/* Header */
DERIVED_SSR_FL.STRM = &recTerm;
DERIVED_SSR_FL.ACAD_CAREER = &recCar;
DERIVED_SSR_FL.INSTITUTION = &recInst;
DERIVED_SSR_FL.SSR_CHANGE_BTN.Visible = &IsHidden;

&oManageClassesGlobalVars.swapClasses_sInstitution = DERIVED_SSR_FL.INSTITUTION;
&oManageClassesGlobalVars.swapClasses_sCareer = DERIVED_SSR_FL.ACAD_CAREER;
&oManageClassesGlobalVars.swapClasses_sTerm = DERIVED_SSR_FL.STRM;
&oManageClassesGlobalVars.bIsChangeButtonHidden = &IsHidden;

%This.LoadSwapDropdown();
%This.LoadClassSearchTypeDropDown();

/* Hide 'Shopping Cart' if 'Enrollment Only' is allowed */


Local string &AddClassOptions;

SQLExec("SELECT SSR_CS_ADD_OPTN FROM PS_SSR_CS_GEN_OPTS", &AddClassOptions);

If &AddClassOptions = "E" Then


DERIVED_REGFRM1.SSR_CLASSNAME_35.Visible = False;
DERIVED_REGFRM1.GROUPBOX1.Visible = False;
Else
%This.LoadCartDropdown();
End-If;

DERIVED_SSR_FL.SSR_CLS_SRCH_TYPE = "06"; /* Default to Class Search */


DERIVED_REGFRM1.DESCR50.Label = MsgGetText(14690, 469, "Message not found."); /*
Swap This Class */

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then


If &oManageClassesGlobalVars.bIsFromConfirmation Then
&oManageClassesGlobalVars.bIsFromConfirmation = False;
AddJavaScript(HTML.SSR_MANAGE_CLASSES_JS);
AddOnLoadScript("goBackToManageClassesMenu();");
End-If;
End-If;

end-method;

method LoadSwapDropdown
Local Field &fld_ClassDescr;
Local Rowset &rs_StdntEnrl;
Local integer &i;
Local number &curr_ClassNbr;
Local string &ClsDescr, &CodeIn, &DescIn;

&obj_EnrlClassInfo = create SSR_STUDENT_RECORDS:SR_ClassData:ClassInfo();

&fld_ClassDescr = GetField(DERIVED_REGFRM1.DESCR50);
&fld_ClassDescr.ClearDropDownList();

&rs_StdntEnrl = CreateRowset(Record.SSR_STENRL_SSV2);
&rs_StdntEnrl.Fill("where EMPLID=:1 and ACAD_CAREER=:2 and INSTITUTION=:3 and
STRM=:4 and ((STDNT_ENRL_STATUS='E' and ENRL_STATUS_REASON <> 'WDRW' and
ENRL_STATUS_REASON <> 'DROP')) and CRSE_GRADE_INPUT=' ' ", &recEmplId, &recCar,
&recInst, &recTerm);
For &i = 1 To &rs_StdntEnrl.RowCount
&curr_ClassNbr = &rs_StdntEnrl(&i).SSR_STENRL_SSV2.CLASS_NBR.Value;
&obj_EnrlClassInfo.LoadClassInfo(&recInst, &recTerm, &curr_ClassNbr);
&ClsDescr = RTrim(&obj_EnrlClassInfo.Class_SubjCatNbr) | ": " |
RTrim(&obj_EnrlClassInfo.Class_Descr);
&CodeIn = String(&curr_ClassNbr);
&DescIn = &ClsDescr;
&fld_ClassDescr.AddDropDownItem(&CodeIn, &DescIn);
If &i = 1 Then
&fld_ClassDescr.Value = &CodeIn;
End-If;
End-For;

&fld_ClassDescr.Value = ""; /* Default to blank */

end-method;

method LoadCartDropdown
/* Shopping Cart Dropdown logic */
Local SSR_STUDENT_RECORDS:SR_ClassData:ClassInfo &obj_PClassInfo = create
SSR_STUDENT_RECORDS:SR_ClassData:ClassInfo();

Local Rowset &rs_regform;

/* Shopping Cart */
&rs_regform = GetRowset(Scroll.SSR_REGFORM);
&rs_regform.Flush();
&rs_regform.Select(Record.SSR_REGFORM, "where EMPLID=:1 and ACAD_CAREER=:2 and
INSTITUTION=:3 and STRM=:4", &recEmplId, &recCar, &recInst, &recTerm);

Local Field &fld = GetField(DERIVED_REGFRM1.SSR_CLASSNAME_35);


&fld.ClearDropDownList();

&rs_regform = GetLevel0()(1).GetRowset(Scroll.SSR_REGFORM);

Local integer &i, &opt_cnt;


Local number &P_ClassNbr;
Local boolean &match;
Local string &CodeIn, &DescIn;

&opt_cnt = 0;
For &i = 1 To &rs_regform.RowCount
&P_ClassNbr = &rs_regform(&i).SSR_REGFORM.CLASS_NBR.Value;

If &P_ClassNbr <> 0 Then


&match = False;

If Not &match Then


&CodeIn = String(&P_ClassNbr);
&obj_PClassInfo.LoadClassInfo(&recInst, &recTerm, &P_ClassNbr);
&DescIn = &obj_PClassInfo.Class_Code;
&fld.AddDropDownItem(&CodeIn, &DescIn);
&opt_cnt = &opt_cnt + 1;
End-If;
End-If;
End-For;
&fld.Value = " ";
If &opt_cnt = 0 Then
&fld.Visible = False;
DERIVED_REGFRM1.GROUPBOX1.Visible = False;
Else
&fld.Visible = True;
DERIVED_REGFRM1.GROUPBOX1.Visible = True;
End-If;

end-method;

method SSR_SWAP_FL_WRK__SSR_PB_SRCH_FieldChange
Local string &contentURL;
Local string &ClassToSwap;

&ClassToSwap = DERIVED_REGFRM1.DESCR50;

If None(&ClassToSwap) Then

&Panel.SetConfirmationMessage(MsgGetText(14770, 910, "Message not found."),


False);

Else

&oManageClassesGlobalVars.swapClasses_nClassNbr = &ClassToSwap;

If All(DERIVED_REGFRM1.CLASS_NBR.Value) Then
/* Enter Class Number */
&nSwapClassNbr = DERIVED_REGFRM1.CLASS_NBR;

Local Rowset &rs_ClassTbl = CreateRowset(Record.CLASS_TBL);


&rs_ClassTbl.Flush();
Local integer &class_RowCount = &rs_ClassTbl.Fill("WHERE STRM=:1 AND
CLASS_NBR=:2", &recTerm, &nSwapClassNbr);

If &class_RowCount > 0 Then

Local Rowset &rs_CrseInfo = CreateRowset(Record.SSR_CRSE_INFO_V);


&rs_CrseInfo.Flush();
Local integer &crseInfo_RowCount = &rs_CrseInfo.Fill("WHERE
INSTITUTION=:1 AND ACAD_CAREER=:2 AND STRM=:3 AND CRSE_ID=:4 AND
CRSE_OFFER_NBR=:5", &rs_ClassTbl(1).CLASS_TBL.INSTITUTION.Value,
&rs_ClassTbl(1).CLASS_TBL.ACAD_CAREER.Value, &rs_ClassTbl(1).CLASS_TBL.STRM.Value,
&rs_ClassTbl(1).CLASS_TBL.CRSE_ID.Value,
&rs_ClassTbl(1).CLASS_TBL.CRSE_OFFER_NBR.Value);

If &crseInfo_RowCount > 0 Then

&oManageClassesGlobalVars.sCourseID =
&rs_ClassTbl(1).CLASS_TBL.CRSE_ID.Value;
&oManageClassesGlobalVars.nCourseOfferNbr =
&rs_ClassTbl(1).CLASS_TBL.CRSE_OFFER_NBR.Value;

&oManageClassesGlobalVars.sTransferFrom = "";
&oManageClassesGlobalVars.sTransferTo = Page.SSR_CRSE_INFO_FL;
&oManageClassesGlobalVars.sMDComponent =
Component.SSR_MD_CRSEINFO_FL;
&oManageClassesGlobalVars.sSwapOption =
&oManageClassesGlobalVars.swapOption_sClassNumber;
&oManageClassesGlobalVars.sCourseInfoFrom =
&oManageClassesGlobalVars.courseInfoFrom_sClassNumber;

&contentURL = GenerateComponentContentURL(%Portal, %Node,


MenuName.SSR_STUDENT_FL, %Market, Component.SSR_CRSE_INFO_FL,
Page.SSR_CRSE_INFO_FL, %Action_UpdateDisplay);

Local array of string &params = CreateArrayRept("", 0);


&params.Push("ACAD_CAREER=" |
&rs_ClassTbl(1).CLASS_TBL.ACAD_CAREER.Value);
&params.Push("CRSE_ID=" | &oManageClassesGlobalVars.sCourseID);
&params.Push("CRSE_OFFER_NBR=" |
&oManageClassesGlobalVars.nCourseOfferNbr);
&params.Push("INSTITUTION=" | &recInst);
&params.Push("STRM=" | &recTerm);
Local string &queryString = &params.Join("&", "", "");

&contentURL = &contentURL | "&" | &queryString;


&contentURL = &contentURL | "&TabID=" | Page.SSR_SWAP_TERM_FL;

&oManageClassesGlobalVars.sCourseInfoURL = &contentURL;
&oManageClassesGlobalVars.sTransferToURL =
&oManageClassesGlobalVars.sCourseInfoURL;

If &oManageClassesGlobalVars.rsFilter = Null Then


&oManageClassesGlobalVars.rsFilter =
CreateRowset(Record.SSR_DER_CS_FLTR);
Else
/* Clear all previously-selected filters */
&oManageClassesGlobalVars.rsFilter.Flush();
End-If;

Local Rowset &rs_Filter = CreateRowset(Record.SSR_DER_CS_FLTR);


&rs_Filter(1).SSR_DER_CS_FLTR.CRSE_ID.Value =
&oManageClassesGlobalVars.sCourseID;
&rs_Filter(1).SSR_DER_CS_FLTR.CRSE_OFFER_NBR.Value =
&oManageClassesGlobalVars.nCourseOfferNbr;
&rs_Filter(1).SSR_DER_CS_FLTR.INSTITUTION.Value = &recInst;
&rs_Filter(1).SSR_DER_CS_FLTR.STRM.Value = &recTerm;
&rs_Filter(1).SSR_DER_CS_FLTR.CLASS_NBR.Value = &nSwapClassNbr;

&rs_Filter.CopyTo(&oManageClassesGlobalVars.rsFilter,
Record.SSR_DER_CS_FLTR, Record.SSR_DER_CS_FLTR);

If %Request.BrowserDeviceFormFactor <> %FormFactor_Small Then


%This.RedirectToStartPage();
Else
%Response.RedirectURL(&contentURL);
End-If;

Else
&Panel.SetConfirmationMessage(MsgGetText(14770, 905, "Message not
found."), False); /* Class number not found */
End-If;
Else
&Panel.SetConfirmationMessage(MsgGetText(14770, 905, "Message not
found."), False); /* Class number not found */
End-If;
Else
If All(DERIVED_REGFRM1.SSR_CLASSNAME_35.Value) Then

/* Select from Shopping Cart */


&oManageClassesGlobalVars.bIsSwapClassesFromCart = True;
&nSwapClassNbr = Value(DERIVED_REGFRM1.SSR_CLASSNAME_35);

Local SSR_STUDENT_RECORDS:SR_ClassData:ClassStatus &obj_ClassStatus;


Local Rowset &rs_ClassEnrollmentAET =
CreateRowset(Record.SSR_ENRL_AET_WK);
Local Rowset &rs_RegForm = GetLevel0()
(1).GetRowset(Scroll.SSR_REGFORM);
Local Record &rec_RegForm;
Local integer &i;
Local array of array of number &arr_RegForm;

For &i = 1 To &rs_RegForm.ActiveRowCount


If &rs_RegForm(&i).SSR_REGFORM.CLASS_NBR.Value = &nSwapClassNbr Then

&rec_RegForm =
&rs_RegForm.GetRow(&i).GetRecord(Record.SSR_REGFORM);
&rs_ClassEnrollmentAET.Flush();
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET =
&rs_ClassEnrollmentAET(1).GetRecord(Record.SSR_ENRL_AET_WK);

&rec_RegForm.CopyFieldsTo(&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET);

&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.SSR_GRADE_BASIS_SS.Value =
&rec_RegForm.GRADING_BASIS_ENRL.Value;

&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.SSR_UNT_TAKEN_CHAR.Value =
NumberToString("6.2", &rec_RegForm.UNT_TAKEN.Value);

/* Get class components */


Local integer &index;
&index = 1;

&arr_RegForm = CreateArrayRept(CreateArrayRept(0, 0), 0);


&arr_RegForm.Push(&rs_RegForm(&i).SSR_REGFORM.CLASS_NBR.Value);
&arr_RegForm [&index].Push(1);

/* Auto Enroll */
Local Rowset &rs_RegFormA1 = CreateRowset(Record.SSR_REGFORM_A1);
Local integer &cnt_RegFormA1;

&rs_RegFormA1.Fill("WHERE EMPLID=:1 AND ACAD_CAREER=:2 AND


INSTITUTION=:3 AND STRM=:4 AND CLASS_NBR_REQ=:5",
&rs_RegForm(&i).SSR_REGFORM.EMPLID.Value,
&rs_RegForm(&i).SSR_REGFORM.ACAD_CAREER.Value,
&rs_RegForm(&i).SSR_REGFORM.INSTITUTION.Value,
&rs_RegForm(&i).SSR_REGFORM.STRM.Value,
&rs_RegForm(&i).SSR_REGFORM.CLASS_NBR.Value);

If &cnt_RegFormA1 > 0 Then


If &rs_RegFormA1(1).SSR_REGFORM_A1.CLASS_NBR.Value > 0 Then

&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.AUTO_CLASS_NBR_1.Value =
&rs_RegFormA1(1).SSR_REGFORM_A1.CLASS_NBR.Value;
&arr_RegForm.Push(&rs_RegFormA1(1).SSR_REGFORM_A1.CLASS_NBR.Value);

&index = &index + 1;
&arr_RegForm [&index].Push(2);
End-If;
End-If;

Local Rowset &rs_RegFormA2 = CreateRowset(Record.SSR_REGFORM_A2);


Local integer &cnt_RegFormA2;

&rs_RegFormA2.Fill("WHERE EMPLID=:1 AND ACAD_CAREER=:2 AND


INSTITUTION=:3 AND STRM=:4 AND CLASS_NBR_REQ=:5",
&rs_RegForm(&i).SSR_REGFORM.EMPLID.Value,
&rs_RegForm(&i).SSR_REGFORM.ACAD_CAREER.Value,
&rs_RegForm(&i).SSR_REGFORM.INSTITUTION.Value,
&rs_RegForm(&i).SSR_REGFORM.STRM.Value,
&rs_RegForm(&i).SSR_REGFORM.CLASS_NBR.Value);

If &cnt_RegFormA2 > 0 Then


If &rs_RegFormA2(1).SSR_REGFORM_A2.CLASS_NBR.Value > 0 Then

&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.AUTO_CLASS_NBR_2.Value =
&rs_RegFormA1(1).SSR_REGFORM_A2.CLASS_NBR.Value;

&arr_RegForm.Push(&rs_RegFormA2(1).SSR_REGFORM_A2.CLASS_NBR.Value);

&index = &index + 1;
&arr_RegForm [&index].Push(3);
End-If;
End-If;

/* Related Class */
If &rs_RegForm(&i).SSR_REGFORM.RELATE_CLASS_NBR_1.Value > 0 Then

&arr_RegForm.Push(&rs_RegForm(&i).SSR_REGFORM.RELATE_CLASS_NBR_1.Value);

&index = &index + 1;
&arr_RegForm [&index].Push(4);
End-If;

If &rs_RegForm(&i).SSR_REGFORM.RELATE_CLASS_NBR_2.Value > 0 Then

&arr_RegForm.Push(&rs_RegForm(&i).SSR_REGFORM.RELATE_CLASS_NBR_2.Value);

&index = &index + 1;
&arr_RegForm [&index].Push(5);
End-If;

Local array of string &arr_Waitlist = CreateArrayRept("", 0);


Local string &sAvailabilityStatus = "";
Local boolean &bContinue = True;

Local integer &j;

For &j = 1 To &arr_RegForm.Len


If &arr_RegForm [&j][1] > 0 Then

&obj_EnrlClassInfo.LoadClassInfo(&rs_RegForm(&i).SSR_REGFORM.INSTITUTION.Value,
&rs_RegForm(&i).SSR_REGFORM.STRM.Value, &arr_RegForm [&j][1]);
&obj_ClassStatus = create
SSR_STUDENT_RECORDS:SR_ClassData:ClassStatus(&rs_RegForm(&i).SSR_REGFORM.INSTITUTIO
N.Value, &rs_RegForm(&i).SSR_REGFORM.STRM.Value, &obj_EnrlClassInfo.Class_Session,
&arr_RegForm [&j][1]);

&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.GetField(@("Field.ENRL_STAT
_" | &arr_RegForm [&j][2])).Value = &obj_ClassStatus.Class_Stat;

If &obj_ClassStatus.Class_Stat = "C" And


&bContinue Then
&sAvailabilityStatus = "C";
&bContinue = False;
Else
Local Record &rec_ClassTbl =
CreateRecord(Record.CLASS_TBL_VW1);
Local string &sClassStat;

&sClassStat = &obj_ClassStatus.Class_Stat; /* O or W */

&rec_ClassTbl.INSTITUTION.Value =
&rs_RegForm(&i).SSR_REGFORM.INSTITUTION.Value;
&rec_ClassTbl.STRM.Value =
&rs_RegForm(&i).SSR_REGFORM.STRM.Value;
&rec_ClassTbl.CLASS_NBR.Value = &arr_RegForm [&j][1];

If &rec_ClassTbl.SelectByKey() Then
If &obj_ClassStatus.Class_Stat = "0" Then
If &rec_ClassTbl.WAIT_CAP.Value >
&rec_ClassTbl.WAIT_TOT.Value Then
&sClassStat = "X";
End-If;
End-If;
End-If;

&arr_Waitlist.Push(&sClassStat);
End-If;

End-If;
End-For;

Break;

End-If;
End-For;

If All(&sAvailabilityStatus) And
&sAvailabilityStatus = "C" Then
/* Do nothing */
Else
Local integer &k, &instance_open, &instance_possible_open;
Local boolean &found_waitlist;

&instance_open = 0;
&instance_possible_open = 0;
&found_waitlist = False;

For &k = 1 To &arr_Waitlist.Len

Evaluate &arr_Waitlist [&k]


When "O"
&instance_open = &instance_open + 1;
Break;
When "W"
If Not (&found_waitlist) Then
&found_waitlist = True;
End-If;
Break;
When "X"
&instance_possible_open = &instance_possible_open + 1;
Break;
End-Evaluate;

End-For;

If (&instance_open = &arr_Waitlist.Len And


Not (&found_waitlist)) Or
(&instance_possible_open = &arr_Waitlist.Len And
Not (&found_waitlist)) Then
&sAvailabilityStatus = "O";
Else
If &found_waitlist And
&instance_open > 0 Then
&sAvailabilityStatus = "C";
Else
&sAvailabilityStatus = "W";
End-If;
End-If;

End-If;

&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.SSR_OPTION_STAT.Value =
&sAvailabilityStatus;
&oManageClassesGlobalVars.sSwapOption =
&oManageClassesGlobalVars.swapOption_sShoppingCart;

Local string &url = GenerateComponentContentURL(%Portal, %Node,


MenuName.NUI_FRAMEWORK, %Market, Component.PT_AGSTARTPAGE_NUI,
Page.PT_AGSTARTPAGE_NUI, "U");
&url = &url | "&" | "CONTEXTIDPARAMS=" | "TEMPLATE_ID" | ":" |
"SR_SWAP_FL" | "&" | "CONTEXTIDPARAMS=" | "OPRID" | ":" | %OperatorId |
"&replaceCurrentTopWindow=Y&fmode=1" | "&GoTo=Confirmation";

%Response.RedirectURL(&url);

Else
If All(DERIVED_SSR_FL.SSR_CLS_SRCH_TYPE.Value) Then
/* Search for Class */

Evaluate DERIVED_SSR_FL.SSR_CLS_SRCH_TYPE.Value
When "06"
/* Class Search */
&oManageClassesGlobalVars.sTransferFrom = "";
&oManageClassesGlobalVars.sTransferTo = Page.SSR_CLSRCH_MAIN_FL;
&oManageClassesGlobalVars.sMDComponent =
Component.SSR_MD_CLS_SRCH_FL;
&oManageClassesGlobalVars.sSwapOption =
&oManageClassesGlobalVars.swapOption_sClassSearch;
If %Request.BrowserDeviceFormFactor <> %FormFactor_Small Then
%This.TransferToClassSearch();
%This.RedirectToStartPage();
Else
%Response.RedirectURL(GenerateComponentContentURL(%Portal,
%Node, MenuName.SSR_STUDENT_FL, %Market, Component.SSR_SWAP_CLSRCH_FL,
Page.SSR_CLSRCH_MAIN_FL, %Action_UpdateDisplay));
End-If;

End-Evaluate;

Else
/* No Swap Option selected */
&Panel.SetConfirmationMessage(MsgGetText(14770, 906, "Message not
found."), False);
End-If;
End-If;
End-If;

End-If;

end-method;

method SSR_ENRL_CONFRM_FL_Activate

AddStyleSheet(StyleSheet.SSR_CONFIRMATION_FL);

Local SSR_MANAGE_CLASSES:UTIL:Confirmation &oConfirmation = create


SSR_MANAGE_CLASSES:UTIL:Confirmation();

&oConfirmation.LoadConfirmationMessages(&oManageClassesGlobalVars.rec_ClassEnrollme
ntDetailsAET.EMPLID.Value,
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.ACAD_CAREER.Value,
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.INSTITUTION.Value,
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.STRM.Value,
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.ENRL_REQUEST_ID.Value);

Local string &sConfirmationMessageDetail = &oConfirmation.sConfirmationMessage;

&Panel = %This.CreatePanel();
&Panel.SetPageTitle(MsgGetText(14770, 815, "Message not found.")); /*
Confirmation */
&Panel.SetConfirmationMessage(&sConfirmationMessageDetail, False);

Local Rowset &rsLinkTable;


Local integer &i;

&i = 1;

&rsLinkTable = GetRowset(Scroll.SSR_DUMMY_REC);
&rsLinkTable.Flush();

If &oConfirmation.ShowReturnToClassPreferencesLink Then
&rsLinkTable.InsertRow(&i);
&i = &i + 1;
&rsLinkTable(&i).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Value = "CLPF";
&rsLinkTable(&i).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Label = MsgGetText(14770,
804, "Message not found."); /* Return to Class Preferences */
&rsLinkTable(&i).DERIVED_SSR_FL.IMAGE_FIELD.Value =
Image.PS_PREFERENCES_L_FL;
&rsLinkTable(&i).DERIVED_SSR_FL.IMAGE_FIELD.Label =
&rsLinkTable(&i).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Label;
End-If;

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then

&rsLinkTable.InsertRow(&i);
&i = &i + 1;
&rsLinkTable(&i).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Value = "MNGC";
&rsLinkTable(&i).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Label = MsgGetText(14770,
813, "Message not found."); /* Return to Manage Classes Menu */
&rsLinkTable(&i).DERIVED_SSR_FL.IMAGE_FIELD.Value = Image.PS_SCHEDULE_L_FL;
&rsLinkTable(&i).DERIVED_SSR_FL.IMAGE_FIELD.Label =
&rsLinkTable(&i).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Label;

&rsLinkTable.InsertRow(&i);
&i = &i + 1;
&rsLinkTable(&i).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Value = "SWAP";
&rsLinkTable(&i).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Label = MsgGetText(14770,
911, "Message not found."); /* Return to Swap Classes */
&rsLinkTable(&i).DERIVED_SSR_FL.IMAGE_FIELD.Value =
Image.PS_APPR_TRANSFER_M_FL;
&rsLinkTable(&i).DERIVED_SSR_FL.IMAGE_FIELD.Label =
&rsLinkTable(&i).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Label;

&rsLinkTable.InsertRow(&i);
&i = &i + 1;
&rsLinkTable(&i).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Value = "VCLS";
&rsLinkTable(&i).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Label = MsgGetText(14770,
576, "Message not found."); /* View My Classes */
&rsLinkTable(&i).DERIVED_SSR_FL.IMAGE_FIELD.Value =
Image.PS_APPR_THISWEEK_M_FL;
&rsLinkTable(&i).DERIVED_SSR_FL.IMAGE_FIELD.Label =
&rsLinkTable(&i).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Label;

/* Return back to Swap Classes */


AddJavaScript(HTML.SCC_NAVIGATION_JS);
AddOnLoadScript("removeComponentFromHistoryStack('" |
Component.PT_AGSTARTPAGE_NUI | "');");
AddOnLoadScript("removeComponentFromHistoryStack('" |
Component.SSR_CRSE_INFO_FL | "');");
AddOnLoadScript("removeComponentFromHistoryStack('" |
Component.SSR_CLSRCH_ES_FL | "');");
AddOnLoadScript("removeComponentFromHistoryStack('" |
Component.SSR_SWAP_CLSRCH_FL | "');");
Else
&oManageClassesGlobalVars.sTransferFromURL = "";
&oManageClassesGlobalVars.sTransferToURL = "";
AddJavaScript(HTML.SSR_MANAGE_CLASSES_JS);
AddOnLoadScript("goBackToHomepage();");
End-If;

&rsLinkTable.DeleteRow(1); /* Delete empty row */

If &rsLinkTable.ActiveRowCount = 1 And
&rsLinkTable(1).DERIVED_SSR_FL.SSR_RETURN_PB_FL.Value = "" Then
DERIVED_SSR_FL.GROUPBOX.Visible = False;
End-If;

end-method;

method LoadClassSearchTypeDropDown

Local boolean &SearchByMyReq_Allowed = True;


Local Rowset &rs_XlatItem;
Local Record &rec_XlatItem;
Local integer &j, &cnt_XlatItem;
Local Field &fld;

&fld = GetField(DERIVED_SSR_FL.SSR_CLS_SRCH_TYPE);
&fld.Visible = True;
&fld.ClearDropDownList();

&rs_XlatItem = CreateRowset(Record.PSXLATITEM);
&cnt_XlatItem = &rs_XlatItem.Fill("where FILL.FIELDNAME=:1 and
%EffDtCheck(PSXLATITEM a1, FILL, %DateIn(:2)) and FILL.EFF_STATUS='A' ", &fld.Name,
%Date);

For &j = 1 To &cnt_XlatItem

&rec_XlatItem = &rs_XlatItem(&j).GetRecord(Record.PSXLATITEM);
Evaluate &rec_XlatItem.FIELDVALUE.Value
When "06"
/* Class Search */
&fld.AddDropDownItem(&rec_XlatItem.FIELDVALUE.Value,
&rec_XlatItem.XLATLONGNAME.Value);
End-Evaluate;
End-For;

end-method;

method DERIVED_REGFRM1__SSR_CLASSNAME_35_FieldChange
DERIVED_SSR_FL.SSR_CLS_SRCH_TYPE.Value = "";
DERIVED_REGFRM1.CLASS_NBR.Value = 0;
end-method;

method DERIVED_SSR_FL__SSR_CLS_SRCH_TYPE_FieldChange
DERIVED_REGFRM1.SSR_CLASSNAME_35.Value = "";
DERIVED_REGFRM1.CLASS_NBR.Value = 0;
end-method;

method DERIVED_SSR_FL__SSR_RETURN_PB_FL_FieldChange

Evaluate DERIVED_SSR_FL.SSR_RETURN_PB_FL
When "CLPF" /* Class Preferences */
Local string &url = GenerateComponentContentURL(%Portal, %Node,
MenuName.NUI_FRAMEWORK, %Market, Component.PT_AGSTARTPAGE_NUI,
Page.PT_AGSTARTPAGE_NUI, %Action_UpdateDisplay);

Local array of string &params = CreateArrayRept("", 0);


&params.Push(""); /* Required for initial ampersand */
&params.Push("CONTEXTIDPARAMS=" | "TEMPLATE_ID" | ":" | "SR_SWAP_FL");
&params.Push("CONTEXTIDPARAMS=" | "OPRID" | ":" | %OperatorId);
&params.Push("replaceCurrentTopWindow=Y");
&params.Push("fmode=1");
&params.Push("GoTo=ClassPreferences");

&url = &url | &params.Join("&", "", "");

%Response.RedirectURL(&url);

Break;

When "MNGC" /* Manage Classes Menu */


&oManageClassesGlobalVars.bIsGoToManageClassesMenu = True;
%This.RedirectToStartPage();
Break;

When "SWAP" /* Swap Classes */


&oManageClassesGlobalVars.bIsFromConfirmation = True;
Transfer( False, MenuName.SSR_STUDENT_FL, BarName.USE,
ItemName.SSR_SWAP_CLASS_FL, Page.SSR_SWAP_ENRL_FL, "U");
Break;

When "VCLS" /* View My Classes */


&oManageClassesGlobalVars.bIsFromConfirmation = True;
Transfer( False, MenuName.SSR_STUDENT_FL, BarName.USE,
ItemName.SSR_COMPONENT_FL, Page.SSR_TERM_STA1_FL, "U");
Break;

End-Evaluate;

end-method;

method RedirectToStartPage

Local SCC_FLUID:UTIL:URL &oUrl = create SCC_FLUID:UTIL:URL();

Local string &crefUrl =


&oUrl.GetContentReferenceURL("CS_SSR_MANAGE_CLASSES_FL");

%Response.RedirectURL(&crefUrl);
end-method;

method TransferToClassSearch
Local string &contentURL = GenerateComponentContentURL(%Portal, %Node,
MenuName.SSR_STUDENT_FL, %Market, Component.SSR_SWAP_CLSRCH_FL,
Page.SSR_CLSRCH_MAIN_FL, %Action_UpdateDisplay);

&oManageClassesGlobalVars.sSwapClassSearchURL = &contentURL;
&oManageClassesGlobalVars.sTransferToURL =
&oManageClassesGlobalVars.sSwapClassSearchURL;

end-method;
method DERIVED_SSR_FL__SSR_CHANGE_BTN_FieldChange
Local SCC_FLUID:UTIL:Popup &oPopup;
Local boolean &REC1;
Local string &sModalOptions;
Local Page &recmodalpage;
Local integer &retCode;

&oPopup = create SCC_FLUID:UTIL:Popup();

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Or
%Request.BrowserDeviceType = "tablet" Then
&sModalOptions = GetHTMLText(HTML.SCC_MO_FULLSCREEN_FL);
Else
&sModalOptions = GetHTMLText(HTML.SCC_MO_POPUP_FL) |
";width@550;height@600;";
End-If;
Local string &rempage;

&retCode = DoModalPopup(&sModalOptions, "", False, False,


Page.SSR_TERM_STA1_SCF, MsgGetText(14770, 513, "Message not found."), - 1, - 1, 0);

If &recCar <> &recChangeCar Or


&recInst <> &recChangeInst Or
&recTerm <> &recChangeTerm Then

&recTerm = &recChangeTerm;
&recCar = &recChangeCar;
&recInst = &recChangeInst;

DERIVED_SSR_FL.INSTITUTION.Value = &recInst;
DERIVED_SSR_FL.ACAD_CAREER.Value = &recCar;
DERIVED_SSR_FL.STRM.Value = &recTerm;

&oManageClassesGlobalVars.swapClasses_sInstitution =
DERIVED_SSR_FL.INSTITUTION.Value;
&oManageClassesGlobalVars.swapClasses_sCareer =
DERIVED_SSR_FL.ACAD_CAREER.Value;
&oManageClassesGlobalVars.swapClasses_sTerm = DERIVED_SSR_FL.STRM.Value;

%This.SSR_SWAP_ENRL_FL_Activate();

End-If;

end-method;

method SSR_TERM_STA1_SCF_Activate

Local Record &labelrec;


Local Rowset &rs_CarInstTerm, &reclevel1, &rs_CarInstTermCurr;
Local number &i, &curr;
Local string &str_TermDescr, &prev_Career, &prev_Inst, &prev_Term;
Local boolean &fl_curr = False;
Local date &termbegindt;

&labelrec = CreateRecord(Record.TERM_TBL);
&labelrec.INSTITUTION.Value = &recInst;
&labelrec.ACAD_CAREER.Value = &recCar;
&labelrec.STRM.Value = &recTerm;
If &labelrec.SelectByKey() Then
&termbegindt = &labelrec.TERM_BEGIN_DT.Value
End-If;

&reclevel1 = CreateRowset(Record.SSR_ENTRMSTD_VW);
&reclevel1.Fill("WHERE EMPLID = :1 AND ((STRM <> :2 AND ACAD_CAREER = :3) OR
(STRM = :2 AND ACAD_CAREER <> :3) OR (STRM = :2 AND ACAD_CAREER = :3 AND
INSTITUTION <> :4)) AND (TERM_BEGIN_DT >= %CurrentDateIn OR TERM_END_DT >=
%CurrentDateIn) ORDER BY TERM_BEGIN_DT", &recEmplId, &recTerm, &recCar, &recInst);

&rs_CarInstTermCurr = GetRowset(Scroll.SSR_ENTRMCUR_VW);
&rs_CarInstTermCurr.Flush();

&curr = 1;

For &i = 1 To &reclevel1.ActiveRowCount

&rs_CarInstTermCurr.InsertRow(&curr);
&rs_CarInstTermCurr(&curr).SSR_ENTRMCUR_VW.STRM.Value =
&reclevel1(&i).SSR_ENTRMSTD_VW.STRM.Value;
&rs_CarInstTermCurr(&curr).SSR_ENTRMCUR_VW.TERM_DESCR30.Value =
&reclevel1(&i).SSR_ENTRMSTD_VW.TERM_DESCR30.Value;
&rs_CarInstTermCurr(&curr).SSR_ENTRMCUR_VW.INSTITUTION.Value =
&reclevel1(&i).SSR_ENTRMSTD_VW.INSTITUTION.Value;
&rs_CarInstTermCurr(&curr).SSR_ENTRMCUR_VW.INSTITUTION_DESCR.Value =
&reclevel1(&i).SSR_ENTRMSTD_VW.INSTITUTION_DESCR.Value;
&rs_CarInstTermCurr(&curr).SSR_ENTRMCUR_VW.ACAD_CAREER.Value =
&reclevel1(&i).SSR_ENTRMSTD_VW.ACAD_CAREER.Value;
&rs_CarInstTermCurr(&curr).SSR_ENTRMCUR_VW.ACAD_CAREER_DESCR.Value =
&reclevel1(&i).SSR_ENTRMSTD_VW.ACAD_CAREER_DESCR.Value;
&rs_CarInstTermCurr(&curr).SSR_ENTRMCUR_VW.TERM_BEGIN_DT.Value =
&reclevel1(&i).SSR_ENTRMSTD_VW.TERM_BEGIN_DT.Value;
&rs_CarInstTermCurr(&curr).SSR_ENTRMCUR_VW.TERM_DESCR30.Label =
&reclevel1(&i).SSR_ENTRMSTD_VW.TERM_DESCR30.Value;

&rs_CarInstTermCurr(&curr).SSR_ENTRMCUR_VW.INSTITUTION_DESCR.Visible =
&bool_recMultiInst;

&curr = &curr + 1;
End-For;
&rs_CarInstTermCurr.DeleteRow(&curr);

If &rs_CarInstTermCurr(1).SSR_ENTRMCUR_VW.TERM_DESCR30.Label = "" Then


&rs_CarInstTermCurr.HideAllRows();
Else
&rs_CarInstTermCurr.ShowAllRows();
End-If;

DERIVED_SSR_FL.SSR_ENTRMPRV_GRP.Visible = False;

end-method;

method SSR_ENTRMCUR_VW__TERM_DESCR30_FieldChange

&recChangeTerm = SSR_ENTRMCUR_VW.STRM.Value;
&recChangeCar = SSR_ENTRMCUR_VW.ACAD_CAREER.Value;
&recChangeInst = SSR_ENTRMCUR_VW.INSTITUTION.Value;
EndModal(0);

end-method;

[SSR_MANAGE_CLASSES.COMPONENTS.SSR_SWAP_CLSRCH_FL.OnExecute]
import SCC_FLUID:UTIL:Constants;
import SCC_FLUID:UTIL:URL;
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_MAIN_FL;
import SSR_MANAGE_CLASSES:UTIL:GlobalVariables;

class SSR_SWAP_CLSRCH_FL extends SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_MAIN_FL


method SSR_SWAP_CLSRCH_FL();

method PreBuild();

method SSR_CLSRCH_FLDS__PTS_SRCH_BTN_FieldChange();
method SSR_CLSRCH_WRK__SSS_SUBJ_CATLG_FieldChange();

end-class;

Global SSR_MANAGE_CLASSES:UTIL:GlobalVariables &oManageClassesGlobalVars;

Component string &sAcademicCareer, &sInstitution, &sTerm;

method SSR_SWAP_CLSRCH_FL

%Super = create SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_MAIN_FL();

end-method;

method PreBuild
/+ Extends/implements SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_MAIN_FL.PreBuild
+/

DERIVED_SSR_FL.SSR_CHANGE_BTN_GBX.Visible = False;

&oManageClassesGlobalVars.sTransferFromURL =
&oManageClassesGlobalVars.sSwapClassesURL;
&oManageClassesGlobalVars.sTransferToURL = "";

AddJavaScript(HTML.SSR_MANAGE_CLASSES_JS);
AddOnLoadScript("renameBackButtonLabel('" | MsgGetText(14770, 904, "Message not
found.") | "')"); /* Swap Classes */

&sAcademicCareer = &oManageClassesGlobalVars.swapClasses_sCareer;
&sInstitution = &oManageClassesGlobalVars.swapClasses_sInstitution;
&sTerm = &oManageClassesGlobalVars.swapClasses_sTerm;

end-method;

method SSR_CLSRCH_FLDS__PTS_SRCH_BTN_FieldChange
/+ Extends/implements
SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_MAIN_FL.SSR_CLSRCH_FLDS__PTS_SRCH_BTN_Fiel
dChange +/

Local string &sUrl;


Local string &sKeywords = GetRow().SSR_CLSRCH_FLDS.PTS_KEYWORDS.Value;
Local string &sSTRM = GetRow().DERIVED_SSR_FL.STRM.Value;
Local string &sINST = GetRow().DERIVED_SSR_FL.INSTITUTION.Value;
Local string &sSelectedSGrpName;

If %Request.BrowserDeviceFormFactor <> %FormFactor_Small Then


&sSelectedSGrpName = "SSR_CLASS_SEARCH_LFF";
Else
&sSelectedSGrpName = "SSR_CLASS_SEARCH_SFF";
End-If;

If Len(&sKeywords) > 0 Then


&sUrl = GenerateComponentContentURL(%Portal, %Node, MenuName.SSR_STUDENT_FL,
%Market, Component.SSR_CLSRCH_ES_FL, Page.SSR_CLSRCH_ES_FL, "");
&sUrl = &sUrl | "&SEARCH_GROUP=" | &sSelectedSGrpName | "&SEARCH_TEXT=" |
&sKeywords | "&ES_INST=" | &sINST | "&ES_STRM=" | &sSTRM | "&ES_ADV=N";
&sUrl = &sUrl | "&INVOKE_SEARCHAGAIN=" | Component.PTSF_GBLSRCH_FLUID;
&sUrl = &sUrl | "&TabID=" | Page.SSR_SWAP_TERM_FL;
%Response.RedirectURL(&sUrl);
Else
%This.Panel.SetConfirmationMessage(MsgGetText(14770, 887, "Message not
found."), False); /* Please enter a keyword to search */
End-If;

end-method;

method SSR_CLSRCH_WRK__SSS_SUBJ_CATLG_FieldChange
/+ Extends/implements
SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_MAIN_FL.SSR_CLSRCH_WRK__SSS_SUBJ_CATLG_Fie
ldChange +/

/* Pass relevant fields from selected grid row to Level 0 record in


SSR_CRSE_INFO_FL page */
Local Record &recKeyList = CreateRecord(Record.SSR_CRSE_INFO_V);

Local Record &recKeys1 = GetLevel0().GetRow(1).GetRecord(Record.DERIVED_SSR_FL);


Local Record &recKeys2 = GetRecord();

&recKeys1.CopyFieldsTo(&recKeyList);
&recKeys2.CopyFieldsTo(&recKeyList);

&oManageClassesGlobalVars.rec_CourseInformationSearchKeys =
CreateRecord(Record.SSR_CRSE_INFO_V);

&recKeyList.CopyFieldsTo(&oManageClassesGlobalVars.rec_CourseInformationSearchKeys)
;

Local string &contentURL = GenerateComponentContentURL(%Portal, %Node,


MenuName.SSR_STUDENT_FL, %Market, Component.SSR_CRSE_INFO_FL,
Page.SSR_CRSE_INFO_FL, %Action_UpdateDisplay,
&oManageClassesGlobalVars.rec_CourseInformationSearchKeys);

/* RVF_SW=1 parameter signals that request came from row click in Recently
Viewed/Favorites grid */
If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then
ViewURL(&contentURL | "&RVF_SW=1", False);
Else
&contentURL = &contentURL | "&RVF_SW=1";
&contentURL = &contentURL | "&TabID=" | Page.SSR_SWAP_TERM_FL;

&oManageClassesGlobalVars.sCourseInfoURL = &contentURL;
&oManageClassesGlobalVars.sTransferToURL =
&oManageClassesGlobalVars.sCourseInfoURL;
&oManageClassesGlobalVars.sCourseInfoFrom =
&oManageClassesGlobalVars.courseInfoFrom_sSwapClassSearch;
&oManageClassesGlobalVars.sMDComponent = Component.SSR_MD_CRSEINFO_FL;

Local SCC_FLUID:UTIL:URL &oUrl = create SCC_FLUID:UTIL:URL();


Local string &crefUrl =
&oUrl.GetContentReferenceURL("CS_SSR_MANAGE_CLASSES_FL");

%Response.RedirectURL(&crefUrl);

End-If;

end-method;

[SSR_MANAGE_CLASSES.SEARCH.FACTORY.DeviceSearchFactory.OnExecute]
import SSR_MANAGE_CLASSES:SEARCH:SSRSesSearch;
import SSR_MANAGE_CLASSES:SEARCH:PHONE:SSRSesSearch;
import PTS_SEARCH:SesSearch;

class DeviceSearchFactory
method DeviceSearchFactory();
method GetSESSearchObject(&base As PTS_SEARCH:SesSearch, &sSrchGrpName As
string, &sSrchRecName As string) Returns SSR_MANAGE_CLASSES:SEARCH:SSRSesSearch;

property number deviceFormFactor;


property boolean bUsePhoneLayout;
property SSR_MANAGE_CLASSES:SEARCH:SSRSesSearch srchSes;

end-class;

method DeviceSearchFactory

%This.deviceFormFactor = %Request.BrowserDeviceFormFactor;
If %This.deviceFormFactor = %FormFactor_Small Then
%This.bUsePhoneLayout = True;
End-If;

end-method;

method GetSESSearchObject
/+ &base as PTS_SEARCH:SesSearch, +/
/+ &sSrchGrpName as String, +/
/+ &sSrchRecName as String +/
/+ Returns SSR_MANAGE_CLASSES:SEARCH:SSRSesSearch +/

Evaluate %This.deviceFormFactor
When 0
Local SSR_MANAGE_CLASSES:SEARCH:PHONE:SSRSesSearch &srchSes_Phone = create
SSR_MANAGE_CLASSES:SEARCH:PHONE:SSRSesSearch(&base, &sSrchGrpName, &sSrchRecName);
&srchSes_Phone.bUsePhoneLayout = True;
%This.srchSes = &srchSes_Phone;
Break;

When-Other
Local SSR_MANAGE_CLASSES:SEARCH:SSRSesSearch &srchSes_Base = create
SSR_MANAGE_CLASSES:SEARCH:SSRSesSearch(&base, &sSrchGrpName, &sSrchRecName);
&srchSes_Base.bUsePhoneLayout = False;
%This.srchSes = &srchSes_Base;
Break;
End-Evaluate;

Return %This.srchSes;

end-method;

[SSR_MANAGE_CLASSES.SEARCH.PHONE.SSRSesSearch.OnExecute]
import SSR_MANAGE_CLASSES:SEARCH:SSRSesSearch;
import PTS_SEARCH:SesSearch;
REM import PT_SEARCH:SearchQuery;
import PTS_NUI:BreadCrumb;
REM AG;
import PT_SEARCH:SearchFilterGenerator;
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_ES_FL;

class SSRSesSearch extends SSR_MANAGE_CLASSES:SEARCH:SSRSesSearch


method SSRSesSearch(&base As PTS_SEARCH:SesSearch, &sSearchGrpName As string,
&sSrchRecName As string);
method DoSearch() Returns boolean;
method InitializeUI();
method ClearAllFacetFilters();
method refreshResults();
rem ag;
method SetSearchFilters();
end-class;

REM AG;
Component SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_ES_FL &objClassSearchES;

Declare Function HideIndexTime PeopleCode PTS_SRCH.PTS_SRCH_BTN FieldFormula;


Declare Function HideIndexTimePhone PeopleCode PTS_SRCH.PTS_SRCH_BTN FieldFormula;

Declare Function SetIndexTime PeopleCode PTS_SRCH.PTS_SRCH_BTN FieldFormula;


Declare Function HideRightPanel PeopleCode PTS_SRCH.PTS_SRCH_BTN FieldFormula;
Declare Function HideLeftPane PeopleCode PTS_SRCH.PTS_SRCH_BTN FieldFormula;
Declare Function HidePhoneHeader PeopleCode PTS_SRCH.PTS_SRCH_BTN FieldFormula;
Declare Function SetRSCollection PeopleCode PTS_SRCH.PTS_SRCH_BTN FieldFormula;
Declare Function HideOptionsMenu PeopleCode PTPG_NUI_WRK.PTPG_SHOWCHART
FieldFormula;

method SSRSesSearch
/+ &base as PTS_SEARCH:SesSearch, +/
/+ &sSearchGrpName as String, +/
/+ &sSrchRecName as String +/
/+ Extends/implements SSR_MANAGE_CLASSES:SEARCH:SSRSesSearch.SSRSesSearch +/

%Super = create SSR_MANAGE_CLASSES:SEARCH:SSRSesSearch(&base, &sSearchGrpName,


&sSrchRecName);

end-method;

method InitializeUI
/+ Extends/implements PTS_SEARCH:SesSearch.InitializeUI +/

try
%Super.InitializeUI();

<*If %This.bUse2PanelFramework Then


Return;
End-If;*>

PTS_SRCH_PHONE.PTS_SHOWFCTSFLTRS.SetGroupletMOptions("sStyle@ps_popup-
menu;bAutoClose@1;bTail@1;bMask@1;sMaskStyle@ps_masktrans;bVertical@1;bHeader@0;");
PTS_SRCH.PTS_FILTERS_GB.FreeFormStyleName = "pts_filters_phone";
<*AddOnLoadScript("document.querySelector('.ps_header').style.display =
'none';");*>
PTS_SRCH.PTS_SHOWFILTERSML.JavaScriptEvents =
"href=""javascript:document.querySelector('.ps_header').style.display =
'none';submitAction_%formname(document.%formname,'PTS_SRCH_PTS_SHOWFILTERSML');""";
PTS_SRCH_PHONE.PTS_DONE.JavaScriptEvents =
"href=""javascript:document.querySelector('.ps_header').style.display =
'';submitAction_%formname(document.%formname,'PTS_SRCH_PHONE_PTS_DONE');""";
PTS_SRCH_PHONE.PTS_CANCEL.JavaScriptEvents =
"href=""javascript:DoBack('%formname')""";
PTS_SRCH.PTS_BREADCRUMB_GB.SetGroupletMOptions("sStyle@ps_popup-
menu;bAutoClose@1;bTail@1;bMask@1;sMaskStyle@ps_masktrans;bVertical@1;bHeader@0;");

If PTS_SRCH_PHONE.PTS_INDEXTIME.Value = "" Then


PTS_SRCH_PHONE.PTS_INDEXTIME.FreeFormStyleName = "psc_force-hidden";
End-If;
catch Exception &ex
end-try;

end-method;

method refreshResults
/+ Extends/implements PTS_SEARCH:BaseSearch.refreshResults +/

If %Super.SearchResults <> Null Then


If %Super.bGlobalSearch Then
%Super.SearchResultGrid.Populate(%Super.SearchResults, "L");
Else
%Super.SearchResultGrid.Populate(%Super.SearchResults, "B");
End-If;
End-If;
%Super.BreadCrumb.Clear();
If %Super.BreadCrumbsApplied <> Null Then
Local number &i;
For &i = 1 To %Super.BreadCrumbsApplied.Len
%Super.BreadCrumb.Add(%Super.BreadCrumbsApplied [&i].Name,
%Super.BreadCrumbsApplied [&i].Path, %Super.BreadCrumbsApplied [&i].Value,
%Super.BreadCrumbsApplied [&i].DisplayValue, False);
If &i = %Super.BreadCrumbsApplied.Len Then
PTS_SRCH_PHONE.PTS_SHOWFCTSFLTRS.FreeFormStyleName = "psc_selected";
End-If;
End-For;
End-If;

REM display searched keyword in right panel;


%Super.DisplayHitCount(%This.Qry.QueryText);

end-method;

method DoSearch
/+ Returns Boolean +/
/+ Extends/implements SSR_MANAGE_CLASSES:SEARCH:SSRSesSearch.DoSearch +/

Local boolean &bReturn;


If (%This.bIsPersistentSearch) Then
If ( Not %Super.DoSearch()) Then
Return False;
Else
rem ag %Super.SrchRsltCollection = %Super.Qry.Execute(1,
%Super.nSesSrchRsltsLimit);
%This.SetSearchFilters();
%Super.SrchRsltCollection = %Super.Qry.Execute(1, 500);
%Super.SearchResults = %This.GetSearchResults();
%Super.FacetNodes = %This.GetFacetNodes();
End-If;
Return True;
End-If;
HideOptionsMenu( True);

Local boolean &bFacetsApplied = False;


If (%Super.BreadCrumb <> Null And
%Super.BreadCrumb.BreadCrumbIndex = 0) Or
%Super.bClearBreadcrumbs Then
%Super.BreadCrumb.Hide();
Else
&bFacetsApplied = True;
End-If;

If %Super.bInFacetModal = True Then


rem ag %Super.SrchRsltCollection = %This.Qry.Execute(1,
%This.nSesSrchRsltsLimit);
%This.SetSearchFilters();
%Super.SrchRsltCollection = %This.Qry.Execute(1, 500);
SetRSCollection(%Super.SrchRsltCollection);
%Super.SetHitCount(%This.SrchRsltCollection.GetEstimatedHitCount());
%Super.FacetNodes = %Super.GetFacetNodes();
%Super.fillFacetArea();
%Super.SearchResults = %Super.GetSearchResults();
%Super.BreadCrumb.Refresh();
If (%Super.BreadCrumb.BreadCrumbIndex > 0) Then
%Super.BreadCrumb.UnHide();
End-If;
Return True;
End-If;
try
HidePhoneHeader( True);
PTS_SRCH_PHONE.PTS_SHOWFCTSFLTRS.FreeFormStyleName = "";
PTS_SRCH_PHONE.PTS_INDEXTIME.FreeFormStyleName = "psc_force-hidden";
PTS_SRCH_PHONE.PTS_INDEXTIME.Value = "";
If ( Not %Super.CheckRequiredFields( True)) Then
%Super.ErrorBlankSearch( False);
Return &bReturn;
End-If;

If %Super.IsBlankSearch() Then
<*If ( Not %This.bUse2PanelFramework) Then*>
%Super.showPromptsFromLeftPanel();
<*End-If;*>
%This.DisplayMessage(MsgGetText(280, 14, "MessageNotFound(280,14)"), 2);
Return False;
Else
If &bFacetsApplied Then
PTS_SRCH_PHONE.PTS_SHOWFCTSFLTRS.FreeFormStyleName = "psc_selected";
Else
PTS_SRCH_PHONE.PTS_SHOWFCTSFLTRS.FreeFormStyleName = "";
End-If;

Local boolean &bExcp;


Local boolean &bError;
If ( Not %Super.DoSearch()) Then
&bError = True;
Else
try
rem ag %Super.SrchRsltCollection = %Super.Qry.Execute(1,
%Super.nSesSrchRsltsLimit);
%This.SetSearchFilters();
%Super.SrchRsltCollection = %Super.Qry.Execute(1, 500);
catch Exception &ePTSF
%This.DisplayMessage(MsgGetText(124, 369, "Message not
found(124,369)"), 2);
&bExcp = True;
end-try;

If ((%Super.SrchRsltCollection = Null) Or
(%Super.SrchRsltCollection.GetDocumentCount() = 0)) Then
&bError = True;
End-If;
End-If;

If (&bError) Then
<*If ( Not %This.bUse2PanelFramework) Then*>
HideRightPanel( True);
HideLeftPane( False);

REM AD i2b-s;
<*
If ( Not &bExcp) Then

If PTS_SRCH.PTS_KEYWORDS.Value = "" Then


%This.DisplayMessage(MsgGetText(280, 40, "(Message not
found)Sorry no matches found"), 1);
Else
%This.DisplayMessage(MsgGetExplainText(280, 40, "(Message not
found)Sorry no matches found for '%1'", PTS_SRCH.PTS_KEYWORDS.Value), 1);
End-If;
End-If;
PTS_SRCH_PHONE.PTS_INDEXTIME.FreeFormStyleName = "";
Return False;
REM AD i2b-e; *>
<*End-If;*>

%Super.ClearResults();
%Super.SearchResultGrid.UnHide();

REM Custom Search page e.g. Company Directory or Requisitions might


have these fields in current page to display the messages;
REM even though they do not use tools provided results page;
try
PTS_SRCH.PTS_INDEXTIME.Value = MsgGetText(124, 482,
"MessageNotFound(124,482)");
PTS_SRCH.PTS_INDEXTIME.Visible = True;
PTS_SRCH.PTS_INDEXTIME_GB.Visible = True;
REM AD i2b x PTS_SRCH.PTS_INDEXTIME_GB.FreeFormStyleName =
"pts_info-areanoerror";
REM AD i2b x PTS_SRCH.PTS_INDEXTIME.FreeFormStyleName = "pts_info-
msg";
REM AD i2b-s;
PTS_SRCH.PTS_INDEXTIME_GB.FreeFormStyleName = "pts_info-areaerror";
REM AD i2b-e;

%Super.SearchResultGrid.HideViewAsGB( True);
catch Exception &ex
end-try;

HideRightPanel( False);
HideLeftPane( False);
%This.bResultsCleared = False;
%Super.Prompt.Collapse( False);
REM AD i2b x Return False;
REM AD i2b-s;
PTS_SRCH.PTS_BREADCRUMB_GB.Visible = False;
PTS_SRCH_PHONE.PTS_SHOWFCTSFLTRS.Visible = False;
PTS_SRCH.PTS_RIGHTPNEL_RSLT.Visible = False;
Return True;
REM AD i2b-e;
End-If;

SetRSCollection(%Super.SrchRsltCollection);
%Super.SetHitCount(%This.SrchRsltCollection.GetEstimatedHitCount());

REM display searched keyword in right panel;


%Super.DisplayHitCount(%This.Qry.QueryText);

%Super.FacetNodes = %Super.GetFacetNodes();

<*If %This.bUse2PanelFramework Then


%Super.fillFacetArea();
End-If;*>

HideRightPanel( False);
<*If ( Not %This.bUse2PanelFramework) Then*>
HideLeftPane( True);
<*End-If;*>

%Super.ShowResults();
If ( Not %This.bIsGlobalSearch) Then
SetIndexTime(%This.dtIndexTime);
End-If;
HideIndexTime(%This.bIsGlobalSearch, False);
%Super.SearchResults = %Super.GetSearchResults();
%Super.SearchResultGrid.Populate(%Super.SearchResults, "L");
%Super.Prompt.Collapse( True);
%Super.BreadCrumb.Clear();

If %Super.BreadCrumbsApplied <> Null Then


Local number &i;
For &i = 1 To %Super.BreadCrumbsApplied.Len
%Super.BreadCrumb.Add(%Super.BreadCrumbsApplied [&i].Name,
%Super.BreadCrumbsApplied [&i].Path, %Super.BreadCrumbsApplied [&i].Value,
%Super.BreadCrumbsApplied [&i].DisplayValue, False);
End-For;
End-If;

End-If;

try
If PTS_SRCH_PHONE.PTS_INDEXTIME.Value = "" Then
HideIndexTimePhone( True, False);
Else
HideIndexTimePhone( False, False);
End-If;

catch Exception &em


end-try;

REM AG;
&objClassSearchES.SortFilterResults(PTS_SRCH.PTS_KEYWORDS.Value);

catch Exception &e


%Super.ClearResults();
MessageBox(0, "", 0, 0, &e.ToString());
Return False;
REM HandleSearchException(&e.ToString());
end-try;

Return True;

end-method;

method ClearAllFacetFilters
/+ Extends/implements PTS_SEARCH:SesSearch.ClearAllFacetFilters +/

%Super.BreadCrumbsApplied = CreateArrayRept(create PTS_NUI:BreadCrumb(), 0);;


%Super.ClearAllFacetFilters();

end-method;

rem ag;
method SetSearchFilters
/+ Extends/implements SSR_MANAGE_CLASSES:SEARCH:SSRSesSearch.SetSearchFilters +/

%This.fg.MatchAny();

%This.fg.ContainsWord("SUBJECT", %This.Keywords);
%This.fg.ContainsWord("CATALOG_NBR", %This.Keywords);
%This.fg.ContainsWord("COURSE_TITLE", %This.Keywords);
%This.fg.ContainsWord("DESCR_SUBJECT", %This.Keywords);
%This.fg.ContainsWord("SSR_SUBJ_DESCR_ES", %This.Keywords);
%This.fg.ContainsWord("SSR_CLASS_STAT_ES", %This.Keywords);

Local boolean &bInclTopic = &objClassSearchES.IncludeCrseTopic();


If &bInclTopic Then
%This.fg.ContainsWord("SSR_CRSE_TOPIC_ES", %This.Keywords);
End-If;

If IsNumber(%This.Keywords) Then
%This.fg.EqualsNumber("CLASS_NBR", Value(%This.Keywords));
End-If;

%This.fg.EndMatchAny();
%This.fg.SetQueryFilter(%This.Qry);

end-method;

[SSR_MANAGE_CLASSES.SEARCH.RefreshListOfValues.OnExecute]
import SSR_MANAGE_CLASSES:UTIL:Formatter;

class RefreshListOfValues
method RefreshLOV(&nSeqNum As number, &sAttribName As string);
method RefreshLOV2(&nSeqNum As number, &sAttribName As string, &dEffdt As date);
method PopulateFromAdhoc(&nAdhocSeqNum As number, &sAdhocRecord As string,
&sAdhocLOVuid As string, &sAdhocAttribName As string);
method PopulateFromAdhoc2(&nAdhocSeqNum As number, &sAdhocRecord As string,
&sAdhocLOVuid As string, &sAdhocAttribName As string, &dEffdt As date);
method PopulateFromPromptTable(&nPromptSeqNum As number, &sPromptRecord As
string, &sPromptField As string, &sPromptFieldName As string, &sPromptAttribName As
string);
method PopulateFromPromptTable2(&nPromptSeqNum As number, &sPromptRecord As
string, &sPromptField As string, &sPromptFieldName As string, &sPromptAttribName As
string, &dEffdt As date);
method PopulateFromTransTable(&nTransSeqNum As number, &sTransRecord As string,
&sTransField As string, &sTransSccFieldName As string, &sTransPromptField As
string, &sTransAttribName As string);
method PopulateFromTransTable2(&nTransSeqNum As number, &sTransRecord As string,
&sTransField As string, &sTransSccFieldName As string, &sTransPromptField As
string, &sTransAttribName As string, &dEffdt As date);
method PopulateFromAssocCaf(&nCafSeqNum As number, &sCafAttribName As string,
&sCafAttribType As string);
method PreProcCleanUp(&nDeleteSeqNum As number);
method CheckTranslateTable(&sCheckAtrribName As string) Returns boolean;
private

instance string &sOprid;


instance datetime &dCurrDttm;
end-class;

Component SSR_MANAGE_CLASSES:UTIL:Formatter &formatter;

method RefreshLOV
/+ &nSeqNum as Number, +/
/+ &sAttribName as String +/

REM AG Get LOV uid and Attriubute Type;


Local Rowset &rsCafAttr = CreateRowset(Record.SCC_CAF_ATTRIBS);
Local number &nCafAttrFill = &rsCafAttr.Fill("WHERE SCC_CAF_ATTRIB_NM = :1",
&sAttribName);
Local string &sCafAttrType;
Local string &sCafAttrLOVuid;
Local integer &iLOVidx;
Local string &sLOVType;
Local string &sLOVEdittable;
Local string &sLOVFieldname;
Local string &sLOVPromptfield;
Local string &sLOVSccPromptfield;
Local string &sLOVSccFieldname;

If &nCafAttrFill = 1 Then
%This.PreProcCleanUp(&nSeqNum);

&sCafAttrType =
&rsCafAttr(&nCafAttrFill).SCC_CAF_ATTRIBS.SCC_CAF_ATTR_TYPE.Value;
&sCafAttrLOVuid =
&rsCafAttr(&nCafAttrFill).SCC_CAF_ATTRIBS.SCC_LOV_UID.Value;

If &sCafAttrType = "LO" Then


rem ag CAF LOV HDR;
Local boolean &bHasTranslate = %This.CheckTranslateTable(&sAttribName);
Local Rowset &rsLOVhdr = CreateRowset(Record.SCC_SL_LOV_HDR);

Local number &nLOVFill;

If &bHasTranslate Then
&nLOVFill = &rsLOVhdr.Fill("WHERE SCC_LOV_UID = :1 AND FIELDNAME = :2",
&sCafAttrLOVuid, &sAttribName);
Else
&nLOVFill = &rsLOVhdr.Fill("WHERE SCC_LOV_UID = :1", &sCafAttrLOVuid);
End-If;

For &iLOVidx = 1 To &nLOVFill


&sLOVType = &rsLOVhdr(&iLOVidx).SCC_SL_LOV_HDR.SCC_LOV_TYPE.Value;
&sLOVFieldname = &rsLOVhdr(&iLOVidx).SCC_SL_LOV_HDR.FIELDNAME.Value;
&sLOVEdittable =
&rsLOVhdr(&iLOVidx).SCC_SL_LOV_HDR.SCC_EDITTABLE.Value;
&sLOVPromptfield =
&rsLOVhdr(&iLOVidx).SCC_SL_LOV_HDR.PROMPTFIELD.Value;
&sLOVSccPromptfield =
&rsLOVhdr(&iLOVidx).SCC_SL_LOV_HDR.SCC_PROMPTFIELD.Value;
&sLOVSccFieldname =
&rsLOVhdr(&iLOVidx).SCC_SL_LOV_HDR.SCC_FIELDNAME_DESC.Value;

Evaluate &sLOVType
When "01"
%This.PopulateFromAdhoc(&nSeqNum, "SCC_LOV_ADHOC", &sCafAttrLOVuid,
&sAttribName);
When "02"
%This.PopulateFromPromptTable(&nSeqNum, &sLOVEdittable,
&sLOVSccPromptfield, &sLOVSccFieldname, &sAttribName);
When "03"
%This.PopulateFromTransTable(&nSeqNum, &sLOVEdittable,
&sLOVSccPromptfield, &sLOVSccFieldname, &sLOVPromptfield, &sAttribName);
End-Evaluate;

End-For;
REM AD x Else
REM AD x %This.PopulateFromAssocCaf(&nSeqNum, &sAttribName,
&sCafAttrType);
End-If;
End-If;

end-method;

method RefreshLOV2
/+ &nSeqNum as Number, +/
/+ &sAttribName as String, +/
/+ &dEffdt as Date +/

&sOprid = %UserId;
&dCurrDttm = %Datetime;

Local Rowset &rsCafAttr = CreateRowset(Record.SCC_CAF_ATTRIBS);


Local number &nCafAttrFill = &rsCafAttr.Fill("WHERE SCC_CAF_ATTRIB_NM = :1",
&sAttribName);
Local string &sCafAttrType;
Local string &sCafAttrLOVuid;
Local integer &iLOVidx;
Local string &sLOVType;
Local string &sLOVEdittable;
Local string &sLOVFieldname;
Local string &sLOVPromptfield;
Local string &sLOVSccPromptfield;
Local string &sLOVSccFieldname;

If &nCafAttrFill = 1 Then
%This.PreProcCleanUp(&nSeqNum);

&sCafAttrType =
&rsCafAttr(&nCafAttrFill).SCC_CAF_ATTRIBS.SCC_CAF_ATTR_TYPE.Value;
&sCafAttrLOVuid =
&rsCafAttr(&nCafAttrFill).SCC_CAF_ATTRIBS.SCC_LOV_UID.Value;

Local boolean &bHasTranslate = %This.CheckTranslateTable(&sAttribName);


Local Rowset &rsLOVhdr = CreateRowset(Record.SCC_SL_LOV_HDR);

Local number &nLOVFill;

If &bHasTranslate Then
&nLOVFill = &rsLOVhdr.Fill("WHERE SCC_LOV_UID = :1 AND FIELDNAME = :2",
&sCafAttrLOVuid, &sAttribName);
Else
&nLOVFill = &rsLOVhdr.Fill("WHERE SCC_LOV_UID = :1", &sCafAttrLOVuid);
End-If;

For &iLOVidx = 1 To &nLOVFill


&sLOVType = &rsLOVhdr(&iLOVidx).SCC_SL_LOV_HDR.SCC_LOV_TYPE.Value;
&sLOVFieldname = &rsLOVhdr(&iLOVidx).SCC_SL_LOV_HDR.FIELDNAME.Value;
&sLOVEdittable = &rsLOVhdr(&iLOVidx).SCC_SL_LOV_HDR.SCC_EDITTABLE.Value;
&sLOVPromptfield = &rsLOVhdr(&iLOVidx).SCC_SL_LOV_HDR.PROMPTFIELD.Value;
&sLOVSccPromptfield =
&rsLOVhdr(&iLOVidx).SCC_SL_LOV_HDR.SCC_PROMPTFIELD.Value;
&sLOVSccFieldname =
&rsLOVhdr(&iLOVidx).SCC_SL_LOV_HDR.SCC_FIELDNAME_DESC.Value;

Evaluate &sLOVType
When "01"
%This.PopulateFromAdhoc2(&nSeqNum, "SCC_LOV_ADHOC", &sCafAttrLOVuid,
&sAttribName, &dEffdt);
When "02"
%This.PopulateFromPromptTable2(&nSeqNum, &sLOVEdittable,
&sLOVSccPromptfield, &sLOVSccFieldname, &sAttribName, &dEffdt);
When "03"
%This.PopulateFromTransTable2(&nSeqNum, &sLOVEdittable,
&sLOVSccPromptfield, &sLOVSccFieldname, &sLOVPromptfield, &sAttribName, &dEffdt);
End-Evaluate;

End-For;
End-If;

end-method;

method PopulateFromAdhoc
/+ &nAdhocSeqNum as Number, +/
/+ &sAdhocRecord as String, +/
/+ &sAdhocLOVuid as String, +/
/+ &sAdhocAttribName as String +/
Local Record &recCAFLov = CreateRecord(Record.SSR_CS_CAF_LOV);
Local Rowset &rsAdhoc = CreateRowset(@("Record." | &sAdhocRecord));
Local number &nAdhocFill = &rsAdhoc.Fill("WHERE SCC_LOV_UID = :1",
&sAdhocLOVuid);
Local integer &i;

For &i = 1 To &nAdhocFill


&recCAFLov.SCC_CAF_ATTRIB_NM.Value = &sAdhocAttribName;
&recCAFLov.SCC_CAF_ATTR_SEQ.Value = &nAdhocSeqNum;
&recCAFLov.SCC_CAF_ATTR_VAL.Value = Upper(&rsAdhoc(&i).GetRecord(@("Record."
| &sAdhocRecord)).SCC_SL_LOV_VALUE.Value);
&recCAFLov.DESCRFORMAL.Value = &rsAdhoc(&i).GetRecord(@("Record." |
&sAdhocRecord)).DESCR100.Value;
&recCAFLov.Insert();
End-For;

end-method;

method PopulateFromAdhoc2
/+ &nAdhocSeqNum as Number, +/
/+ &sAdhocRecord as String, +/
/+ &sAdhocLOVuid as String, +/
/+ &sAdhocAttribName as String, +/
/+ &dEffdt as Date +/
Local Record &recCAFLov = CreateRecord(Record.SSR_CS_CAF_LOV);
Local Rowset &rsAdhoc = CreateRowset(@("Record." | &sAdhocRecord));
Local number &nAdhocFill = &rsAdhoc.Fill("WHERE SCC_LOV_UID = :1",
&sAdhocLOVuid);
Local integer &i;

&recCAFLov.SCC_CAF_ATTRIB_NM.Value = &sAdhocAttribName;
&recCAFLov.SCC_CAF_ATTR_SEQ.Value = &nAdhocSeqNum;
&recCAFLov.EFFDT.Value = &dEffdt;
&recCAFLov.SCC_ROW_ADD_OPRID.Value = &sOprid;
&recCAFLov.SCC_ROW_ADD_DTTM.Value = &dCurrDttm;
&recCAFLov.SCC_ROW_UPD_OPRID.Value = &sOprid;
&recCAFLov.SCC_ROW_UPD_DTTM.Value = &dCurrDttm;

For &i = 1 To &nAdhocFill


&recCAFLov.SCC_CAF_ATTR_VAL.Value = Upper(&rsAdhoc(&i).GetRecord(@("Record."
| &sAdhocRecord)).SCC_SL_LOV_VALUE.Value);
&recCAFLov.DESCRFORMAL.Value = &rsAdhoc(&i).GetRecord(@("Record." |
&sAdhocRecord)).DESCR100.Value;
&recCAFLov.Insert();
End-For;

end-method;

method PopulateFromPromptTable
/+ &nPromptSeqNum as Number, +/
/+ &sPromptRecord as String, +/
/+ &sPromptField as String, +/
/+ &sPromptFieldName as String, +/
/+ &sPromptAttribName as String +/
Local Record &recCAFLov = CreateRecord(Record.SSR_CS_CAF_LOV);
Local Rowset &rsPrompt = CreateRowset(@("Record." | &sPromptRecord));
Local number &nPromptFill = &rsPrompt.Fill();
Local integer &i;

For &i = 1 To &nPromptFill


&recCAFLov.SCC_CAF_ATTRIB_NM.Value = &sPromptAttribName;
&recCAFLov.SCC_CAF_ATTR_SEQ.Value = &nPromptSeqNum;
&recCAFLov.SCC_CAF_ATTR_VAL.Value = &rsPrompt(&i).GetRecord(@("Record." |
&sPromptRecord)).GetField(@("Field." | &sPromptField)).Value;
&recCAFLov.DESCRFORMAL.Value = &rsPrompt(&i).GetRecord(@("Record." |
&sPromptRecord)).GetField(@("Field." | &sPromptFieldName)).Value;
&recCAFLov.Insert();
End-For;

end-method;

method PopulateFromPromptTable2
/+ &nPromptSeqNum as Number, +/
/+ &sPromptRecord as String, +/
/+ &sPromptField as String, +/
/+ &sPromptFieldName as String, +/
/+ &sPromptAttribName as String, +/
/+ &dEffdt as Date +/
Local Record &recCAFLov = CreateRecord(Record.SSR_CS_CAF_LOV);
Local Rowset &rsPrompt = CreateRowset(@("Record." | &sPromptRecord));
Local number &nPromptFill = &rsPrompt.Fill();
Local integer &i;
&recCAFLov.SCC_CAF_ATTRIB_NM.Value = &sPromptAttribName;
&recCAFLov.SCC_CAF_ATTR_SEQ.Value = &nPromptSeqNum;

REM AD i2-s;
&recCAFLov.EFFDT.Value = &dEffdt;
REM AD i2-e;

&recCAFLov.SCC_ROW_ADD_OPRID.Value = &sOprid;
&recCAFLov.SCC_ROW_ADD_DTTM.Value = &dCurrDttm;
&recCAFLov.SCC_ROW_UPD_OPRID.Value = &sOprid;
&recCAFLov.SCC_ROW_UPD_DTTM.Value = &dCurrDttm;

For &i = 1 To &nPromptFill


&recCAFLov.EFFDT.Value = &dEffdt;
&recCAFLov.SCC_CAF_ATTR_VAL.Value = &rsPrompt(&i).GetRecord(@("Record." |
&sPromptRecord)).GetField(@("Field." | &sPromptField)).Value;
&recCAFLov.DESCRFORMAL.Value = &rsPrompt(&i).GetRecord(@("Record." |
&sPromptRecord)).GetField(@("Field." | &sPromptFieldName)).Value;
&recCAFLov.Insert();
End-For;

end-method;

method PopulateFromTransTable
/+ &nTransSeqNum as Number, +/
/+ &sTransRecord as String, +/
/+ &sTransField as String, +/
/+ &sTransSccFieldName as String, +/
/+ &sTransPromptField as String, +/
/+ &sTransAttribName as String +/
Local Record &recCAFLov = CreateRecord(Record.SSR_CS_CAF_LOV);
Local Rowset &rsTrans = CreateRowset(@("Record." | &sTransRecord));
Local number &nTransFill = &rsTrans.Fill("WHERE FIELDNAME = :1",
&sTransPromptField);
Local integer &i;

For &i = 1 To &nTransFill


&recCAFLov.SCC_CAF_ATTRIB_NM.Value = &sTransAttribName;
&recCAFLov.SCC_CAF_ATTR_SEQ.Value = &nTransSeqNum;
&recCAFLov.SCC_CAF_ATTR_VAL.Value = &rsTrans(&i).GetRecord(@("Record." |
&sTransRecord)).GetField(@("Field." | &sTransField)).Value;
&recCAFLov.DESCRFORMAL.Value = &rsTrans(&i).GetRecord(@("Record." |
&sTransRecord)).GetField(@("Field." | &sTransSccFieldName)).Value;
&recCAFLov.Insert();
End-For;

end-method;

method PopulateFromTransTable2
/+ &nTransSeqNum as Number, +/
/+ &sTransRecord as String, +/
/+ &sTransField as String, +/
/+ &sTransSccFieldName as String, +/
/+ &sTransPromptField as String, +/
/+ &sTransAttribName as String, +/
/+ &dEffdt as Date +/
Local Record &recCAFLov = CreateRecord(Record.SSR_CS_CAF_LOV);
Local Rowset &rsTrans = CreateRowset(@("Record." | &sTransRecord));
Local number &nTransFill = &rsTrans.Fill("WHERE FIELDNAME = :1",
&sTransPromptField);
Local integer &i;

&recCAFLov.SCC_CAF_ATTRIB_NM.Value = &sTransAttribName;
&recCAFLov.SCC_CAF_ATTR_SEQ.Value = &nTransSeqNum;

REM AD i2-s;
&recCAFLov.EFFDT.Value = &dEffdt;
REM AD i2-e;

&recCAFLov.SCC_ROW_ADD_OPRID.Value = &sOprid;
&recCAFLov.SCC_ROW_ADD_DTTM.Value = &dCurrDttm;
&recCAFLov.SCC_ROW_UPD_OPRID.Value = &sOprid;
&recCAFLov.SCC_ROW_UPD_DTTM.Value = &dCurrDttm;

For &i = 1 To &nTransFill


&recCAFLov.EFFDT.Value = &dEffdt;
&recCAFLov.SCC_CAF_ATTR_VAL.Value = &rsTrans(&i).GetRecord(@("Record." |
&sTransRecord)).GetField(@("Field." | &sTransField)).Value;
&recCAFLov.DESCRFORMAL.Value = &rsTrans(&i).GetRecord(@("Record." |
&sTransRecord)).GetField(@("Field." | &sTransSccFieldName)).Value;
&recCAFLov.Insert();
End-For;

end-method;

method PopulateFromAssocCaf
/+ &nCafSeqNum as Number, +/
/+ &sCafAttribName as String, +/
/+ &sCafAttribType as String +/
Local SSR_MANAGE_CLASSES:UTIL:Formatter &FormatterUtil = create
SSR_MANAGE_CLASSES:UTIL:Formatter();

Local Record &recCAFLov = CreateRecord(Record.SSR_CS_CAF_LOV);

Local Rowset &rsAttrType = CreateRowset(Record.SCC_CAF_ATTRTYP);


Local number &nAttrTypeFill = &rsAttrType.Fill("WHERE SCC_CAF_ATTR_TYPE = :1",
&sCafAttribType);
Local string &sAttrFieldName =
&rsAttrType(1).SCC_CAF_ATTRTYP.SCC_CAF_FIELDNAME.Value;

Local Rowset &rsAssocCaf = CreateRowset(Record.SSR_ASSOC_CAF);


Local number &nAssocCafFill = &rsAssocCaf.Fill("WHERE SCC_CAF_ATTRIB_NM = :1",
&sCafAttribName);
Local integer &i;
&rsAssocCaf.Sort(@("SSR_ASSOC_CAF." | &sAttrFieldName), "A");

[SSR_MANAGE_CLASSES.SEARCH.SSRSesSearch.OnExecute]
import PTS_SEARCH:SesSearch;
import PTS_NUI:SearchResult;
REM AG;
import PT_SEARCH:SearchFilter;
import SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_ES_FL;
rem ag;
import PTS_SEARCH:BaseSearch;
import PTS_NUI:FacetNode;
import PTS_NUI:FacetValue;
import PTS_NUI:BreadCrumb;
import PTS_NUI:Facet;

class SSRSesSearch extends PTS_SEARCH:SesSearch


method SSRSesSearch(&base As PTS_SEARCH:SesSearch, &sSearchGrpName As string,
&sSrchRecName As string);

<* REM AC Redundant; selected facets are now retrieved from global rowset
&rsFilter instead of querystring
method GetSearchResults() Returns array of PTS_NUI:SearchResult; *>

REM AG;
method DoSearch() Returns boolean;
method SetSearchFilters();
method RemoveFacetFilter(&sFacetName As string, &sFacetValue As string);
end-class;

REM AG;
Component SSR_MANAGE_CLASSES:COMPONENTS:SSR_CLSRCH_ES_FL &objClassSearchES;
Declare Function HideRightPanel PeopleCode PTS_SRCH.PTS_SRCH_BTN FieldFormula;
Declare Function HideLeftPane PeopleCode PTS_SRCH.PTS_SRCH_BTN FieldFormula;
Declare Function SetRSCollection PeopleCode PTS_SRCH.PTS_SRCH_BTN FieldFormula;
Declare Function SetIndexTime PeopleCode PTS_SRCH.PTS_SRCH_BTN FieldFormula;
Declare Function HideIndexTime PeopleCode PTS_SRCH.PTS_SRCH_BTN FieldFormula;

method SSRSesSearch
/+ &base as PTS_SEARCH:SesSearch, +/
/+ &sSearchGrpName as String, +/
/+ &sSrchRecName as String +/

If &base = Null Then;


%Super = create PTS_SEARCH:SesSearch(&sSearchGrpName, &sSrchRecName);
Else
%Super = &base;
End-If;

end-method;

<* REM AC Redundant; selected facets are now retrieved from global rowset instead
of querystring
method GetSearchResults
/+ Returns Array of PTS_NUI:SearchResult +/
/+ Extends/implements PTS_SEARCH:SesSearch.GetSearchResults +/

Local array of PTS_NUI:SearchResult &srchResults = %Super.GetSearchResults();


Local string &facetsQueryString = %Super.GetFacetsApplied();

Local integer &i;

For &i = 1 To &srchResults.Len;


&srchResults [&i].Url = &srchResults [&i].Url | "&" | &facetsQueryString;
End-For;

Return &srchResults;
end-method;
*>

REM AG;
method DoSearch
/+ Returns Boolean +/
/+ Extends/implements PTS_SEARCH:SesSearch.DoSearch +/

Local boolean &bReturn;


try
If (%This.bIsPersistentSearch) Then
If (%This.bUseFilterGen) Then
%This.fg.SetQueryFilter(%This.Qry);
End-If;

If %Super.bUsePhoneLayout Then
Return True;
Else
rem ag %This.SrchRsltCollection = %This.Qry.Execute(1,
%This.nSesSrchRsltsLimit);
%This.SetSearchFilters();
%This.SrchRsltCollection = %This.Qry.Execute(1, 10000);
%Super.SearchResults = %This.GetSearchResults();
%Super.FacetNodes = %This.GetFacetNodes();
Return True;
End-If;
End-If;

If ( Not %Super.CheckRequiredFields( True)) Then


%Super.ErrorBlankSearch( False);
Return &bReturn;
End-If;
If (%This.IsBlankSearch()) Then
%Super.ErrorBlankSearch( True);
Return &bReturn;
End-If;

If (%This.Keywords = "*") Then


%This.ErrorSearch(%This.Keywords | MsgGetText(124, 482,
"MessageNotFound(124, 482)"));
Return &bReturn;
End-If;

&bReturn = %Super.DoSearch();
If ( Not &bReturn) Then
Return &bReturn;
End-If;

If (%This.bUseFilterGen) Then
%This.fg.SetQueryFilter(%This.Qry);
Else
%This.Qry.EnableExtendedFilterOperators = False;
%This.Qry.Filters = CreateArrayRept(create PT_SEARCH:SearchFilter(), 0);
End-If;

If %Super.bUsePhoneLayout Then
Return &bReturn;
End-If;
Local boolean &bExcp;
try
rem ag %This.SrchRsltCollection = %This.Qry.Execute(1,
%This.nSesSrchRsltsLimit);
%This.SetSearchFilters();
%This.SrchRsltCollection = %This.Qry.Execute(1, 10000);
catch Exception &ePTSF
%This.DisplayMessage(MsgGetText(124, 369, "Message not found(124,369)"),
2);
&bExcp = True;
end-try;

If ((%This.SrchRsltCollection = Null) Or
(%This.SrchRsltCollection.GetDocumentCount() = 0)) Then
%Super.ClearResults();

If (%This.bGridSubPageExists) Then
%Super.SearchResultGrid.UnHide();
End-If;

REM Custom Search page e.g. Company Directory or Requisitions might have
these fields in current page to display the messages;
REM even though they do not use tools provided results page;
try
If ( Not &bExcp) Then
PTS_SRCH.PTS_INDEXTIME.Value = MsgGetText(124, 482,
"MessageNotFound(124,482)");
End-If;
PTS_SRCH.PTS_INDEXTIME.Visible = True;
PTS_SRCH.PTS_INDEXTIME_GB.Visible = True;
PTS_SRCH.PTS_INDEXTIME_GB.FreeFormStyleName = "pts_info-areanoerror";
PTS_SRCH.PTS_INDEXTIME.FreeFormStyleName = "pts_info-msg";
%Super.SearchResultGrid.HideViewAsGB( True);
catch Exception &ex
end-try;

HideRightPanel( False);
HideLeftPane( False);
%This.bResultsCleared = False;
If (%This.bFiltersSubPageExists) Then
%Super.Prompt.Collapse( False);
End-If;
Return False;
End-If;

If (%This.bIsPersistentSearch) Then
%Super.SearchResults = %This.GetSearchResults();
%Super.FacetNodes = %This.GetFacetNodes();
Return &bReturn;
End-If;

SetRSCollection(%This.SrchRsltCollection);

%Super.SetHitCount(%This.SrchRsltCollection.GetEstimatedHitCount());

try
PTS_SRCH.PTS_INDEXTIME_GB.FreeFormStyleName = "";
PTS_SRCH.PTS_INDEXTIME.FreeFormStyleName = "";
catch Exception &exIndexTime
end-try;

If ( Not %This.bIsGlobalSearch) Then


SetIndexTime(%This.dtIndexTime);
End-If;

%Super.ShowResults();
HideIndexTime(%This.bIsGlobalSearch, False);
%Super.FacetNodes = %This.GetFacetNodes();

If (%This.bFacetsSubPageExists) Then
%Super.Facet.Populate(%Super.FacetNodes);
End-If;
If (%This.bFiltersSubPageExists) Then
%Super.Prompt.Collapse( True);
End-If;

%Super.SearchResults = %This.GetSearchResults();
If (%This.bGridSubPageExists) Then
If %This.bIsGlobalSearch Then
%Super.SearchResultGrid.Populate(%Super.SearchResults, "L");
Else
%Super.SearchResultGrid.Populate(%Super.SearchResults, "B");
End-If;
End-If;

&bReturn = True;

try
If %This.bGridSubPageExists And
%This.Facet.bNoUnappliedFacets And
%This.bIsAccessibleMode Then

If %This.bIsPageTypeSearch And
Not %This.bIsCustomSearch Then
If (%This.bIsGlobalSearch) Then
AddOnLoadScript("setFocus_" | %Request.FormName |
"('KEYLISTL$0');");
Else
AddOnLoadScript("setFocus_" | %Request.FormName |
"('KEYLIST$0');");
End-If;
Else
If (%This.bIsGlobalSearch) Then
SetCursorPos(@("Page." | %This.sSrchPageName),
PTS_RSLT_LIST.PTS_LIST_TITLE, 1);
End-If;
End-If;
End-If;
catch Exception &ex2
end-try;

REM SearchAgain;
%This.SrchRsltCollection = Null;
%Super.SearchResults = Null;
%Super.FacetNodes = Null;

REM display hitcount and searched keyword in right panel;


%Super.DisplayHitCount(%This.Keywords);

REM AG;
REM AD w WinMessage("Keywords = " | %This.Keywords);
&objClassSearchES.SortFilterResults(%This.Keywords);

catch Exception &e


%Super.ClearResults();
MessageBox(0, "", 0, 0, &e.ToString());
Return False;
end-try;
Return &bReturn;
end-method;

method SetSearchFilters
%This.fg.MatchAny();

%This.fg.ContainsWord("SUBJECT", %This.Keywords);
%This.fg.ContainsWord("CATALOG_NBR", %This.Keywords);
%This.fg.ContainsWord("COURSE_TITLE", %This.Keywords);
%This.fg.ContainsWord("DESCR_SUBJECT", %This.Keywords);
%This.fg.ContainsWord("SSR_SUBJ_DESCR_ES", %This.Keywords);
%This.fg.ContainsWord("SSR_CLASS_STAT_ES", %This.Keywords);

Local boolean &bInclTopic = &objClassSearchES.IncludeCrseTopic();


If &bInclTopic Then
%This.fg.ContainsWord("SSR_CRSE_TOPIC_ES", %This.Keywords);
End-If;

If IsNumber(%This.Keywords) Then
%This.fg.EqualsNumber("CLASS_NBR", Value(%This.Keywords));
End-If;

%This.fg.EndMatchAny();
%This.fg.SetQueryFilter(%This.Qry);
end-method;

method RemoveFacetFilter
/+ &sFacetName as String, +/
/+ &sFacetValue as String +/
/+ Extends/implements PTS_SEARCH:SesSearch.RemoveFacetFilter +/
%Super.RemoveFacetFilter(&sFacetName, &sFacetValue);

Local integer &i;


If (%This.Qry.FacetFilters <> Null) Then
For &i = 1 To %This.Qry.FacetFilters.Len
If (%This.Qry.FacetFilters [&i].FacetName = &sFacetName) Then

Local string &sAssociationVale = %This.Qry.FacetFilters


[&i].AssociationValue;
If All(&sAssociationVale) And
All(&sFacetValue) Then
&sFacetValue = Substring(&sFacetValue, Len(&sAssociationVale) + 2,
Len(&sFacetValue));
End-If;
<* Portion below was commented out to resolve issue with facets that
contain '/'.
Local integer &nPos, &nNextPos;
&nPos = Find("/", &sFacetValue);
While (&nPos <> 0)
&nNextPos = Find("/", &sFacetValue, &nPos + 1);
If (&nNextPos > 0) Then
&nPos = &nNextPos;
Else
Break;
End-If;
End-While;
If (&nPos > 0) Then
%This.Qry.FacetFilters [&i].Path = Left(&sFacetValue, &nPos - 1);
Else
%This.Qry.FacetFilters [&i].Path = "";
End-If;
*>
%This.Qry.FacetFilters [&i].Path = "";
Break;
End-If;
End-For;
End-If;

end-method;

[SSR_MANAGE_CLASSES.UTIL.ClassInformation.OnExecute]
import SSR_MANAGE_CLASSES:UTIL:Formatter;
import SSR_MANAGE_CLASSES:UTIL:Instructor;

class ClassInformation
method ClassInformation();
method Instantiate();

/* Class Information page */


method SSR_CLSDTL_LF_SCF_Activate(); /* Non-SFF */
method SSR_CLASSDTL_SCF_Activate(); /* SFF */

/* Instructor Details page */


method SSR_INSTDTL_LF_SCF_Activate(); /* Non-SFF */
method SSR_INSTRDTL_SCF_Activate(); /* SFF */

/* Switch Class Information page tabs */


method DERIVED_SSR_FL__SSR_CL_DTLS_LFF_FieldChange(); /* Non-SFF */
method DERIVED_SSR_FL__SSR_CL_DTLS_OPT_FieldChange(); /* SFF */

/* Launch Instructor details page */


method DERIVED_SSR_FL__SSR_INSTR_NME_FL_FieldChange(); /* Non-SFF */
method SSR_DER1_MTG_FL__SSR_MTGINFO_DATA_FieldChange(); /* SFF */

method DERIVED_SSR_FL__SSR_INSTR_FL_FieldChange(); /* For Multiple Instructors -


switch Instructor info */

method viewInstructorDetails() Returns boolean;

/* Keys */
property string recEmplId;
property string recInst;
property string recCar;
property string recTerm;
property date recTermBeginDt;

property string crse_id;


property number crse_offer_nbr;
property string session_code;
property string class_section;
property number associated_class;
property string ssr_component;
property number class_nbr;
property string subject;
property string catalog_nbr;
property string sgrading_basis;
property string sunt_taken;
property string sCourseTitle;
property string status;
property string DefaultTab;

/* ClassInfoTabCode constants */
property string ClassDetails readonly;
property string MeetingDetails readonly;
property string MeetingInformation readonly;
property string EnrollmentInformation readonly;
property string ClassAvailability readonly;
property string TextbookOtherInformation readonly;

private
method LaunchModalPage();
method ClassDetails();
method MeetingInformation();
method EnrollmentInformation();
method ClassAvailability();
method TextbookOtherInformation();

method ClassDetails_SFF();
method MeetingDetails_SFF();

method LoadInstructordetails(&instructorid As string, &instrcnt As integer);

method EvaluateClassDetails();

instance string &session;


instance string &sClassSpecs;
instance string &sinstruction_mode;
instance string &slocation;
instance string &scampus;
instance string &setId;

instance Rowset &rsclassdetaillff;

instance integer &itotalcapacity, &ienrolltotal, &iavailseats,


&iwaitlistcapacity, &iwaitlisttotal;

instance integer &instrpagecheck;


instance integer &class_mtg_nbr;
instance string &instrcheck;

instance string &sPrimInstr, &sSecInstr, &sInstrlbl;


end-class;
method ClassInformation

/* Initialize ClassInfoTabCode constants */


&ClassDetails = "CD";
&MeetingDetails = "MD";
&MeetingInformation = "MI";
&EnrollmentInformation = "EI";
&ClassAvailability = "CA";
&TextbookOtherInformation = "TI";

end-method;

method Instantiate
Local string &stranslate;
Local Record &rectranslatevalue, &recclasstatus;

&rectranslatevalue = CreateRecord(Record.PSXLATITEM);
&rectranslatevalue.FIELDNAME.Value = "SESSION_CODE";
&rectranslatevalue.FIELDVALUE.Value = &session_code;

If &rectranslatevalue.SelectByKeyEffDt(%Date) Then
If &rectranslatevalue.EFF_STATUS.Value = "A" Then
&stranslate = &rectranslatevalue.XLATLONGNAME.Value;
End-If;
End-If;

&session = &stranslate;

&rectranslatevalue.FIELDNAME.Value = "SSR_COMPONENT";
&rectranslatevalue.FIELDVALUE.Value = &ssr_component;

If &rectranslatevalue.SelectByKeyEffDt(%Date) Then
If &rectranslatevalue.EFF_STATUS.Value = "A" Then
&stranslate = &rectranslatevalue.XLATLONGNAME.Value;

End-If;
End-If;

&recclasstatus = CreateRecord(Record.CLASS_TBL);
&recclasstatus.CRSE_ID.Value = &crse_id;
&recclasstatus.CRSE_OFFER_NBR.Value = &crse_offer_nbr;
&recclasstatus.STRM.Value = &recTerm;
&recclasstatus.SESSION_CODE.Value = &session_code;
&recclasstatus.CLASS_SECTION.Value = &class_section;

If &recclasstatus.SelectByKey() Then
&status = &recclasstatus.ENRL_STAT.LongTranslateValue;
End-If;

&sClassSpecs = &stranslate | " " | MsgGetText(14770, 1006, "Message not


found.") | " " | &class_nbr;

%This.LaunchModalPage();
end-method;

method LaunchModalPage
Local string &sModalOptions;
Local number &ReturnCode;

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then


&sModalOptions = GetHTMLText(HTML.SCC_MO_FULLSCREEN_FL);
&ReturnCode = DoModalPopup(&sModalOptions, "", False, False,
Page.SSR_CLASSDTL_SCF, MsgGetText(14770, 540, "Message not found."), - 1, - 1, 0);
Else
If %Request.BrowserDeviceType = "tablet" Then
&sModalOptions = GetHTMLText(HTML.SCC_MO_FULLSCREEN_FL);
Else
&sModalOptions = GetHTMLText(HTML.SCC_MO_POPUP_FL) |
"width@1000;height@550;";
End-If;
&ReturnCode = DoModalPopup(&sModalOptions, "", False, False,
Page.SSR_CLSDTL_LF_SCF, MsgGetText(14770, 540, "Message not found."), - 1, - 1, 0);
End-If;
end-method;

method SSR_CLSDTL_LF_SCF_Activate

Local string &selectedTab = %This.DefaultTab;

DERIVED_SSR_FL.SSR_CL_DTLS_LFF.Value = &selectedTab;

DERIVED_SSR_FL.SSR_SBJ_CAT_NBR.Value = RTrim(&subject) | " " |


LTrim(&catalog_nbr) | " " | &sCourseTitle;
DERIVED_SSR_FL.SSR_CLASS_SPECS.Value = MsgGetText(14770, 524, "Message not
found.") | " : " | &status;
DERIVED_SSR_FL.SSR_SESSION_TRAN.Value = &sClassSpecs;

&rsclassdetaillff = GetRowset(Record.SSR_DUMMY_RECV5);

%This.EvaluateClassDetails();

end-method;

method ClassDetails
Local Rowset &rsSetCntrlRec;
Local Record &recInstitutionTbl, &recGradeBasisTbl, &recClassTbl,
&recInstructMode, &recCampusTbl, &recLocationTbl, &recStdntEnrlSsvw;
Local integer &cntgetsetid;

&rsSetCntrlRec = CreateRowset(Record.SET_CNTRL_REC);

&recInstitutionTbl = CreateRecord(Record.INSTITUTION_TBL);
&recInstitutionTbl.INSTITUTION.Value = &recInst;
DERIVED_SSR_FL.SSR_GRP_EI.Visible = False;
DERIVED_SSR_FL.SSR_CLS_NOTES_LBL.Visible = False;
DERIVED_SSR_FL.SSR_GRP_CO.Visible = False;
DERIVED_SSR_FL.SSR_GRP_MD.Visible = True;

If &recInstitutionTbl.SelectByKeyEffDt(&recTermBeginDt) Then

&cntgetsetid = &rsSetCntrlRec.Fill("WHERE RECNAME = 'GRADE_BASIS_TBL' AND


SETCNTRLVALUE = :1", &recInst);
&setId = &rsSetCntrlRec(&cntgetsetid).SET_CNTRL_REC.SETID.Value;

/* Grading */
&recGradeBasisTbl = CreateRecord(Record.GRADE_BASIS_TBL);
&recGradeBasisTbl.GRADING_SCHEME.Value =
&recInstitutionTbl.GRADING_SCHEME.Value;
&recGradeBasisTbl.SETID.Value = &setId;
&recGradeBasisTbl.GRADING_BASIS.Value = &sgrading_basis;

If &recGradeBasisTbl.SelectByKeyEffDt(&recTermBeginDt) Then
&sgrading_basis = &recGradeBasisTbl.DESCRFORMAL.Value;
End-If;
End-If;

&recClassTbl = CreateRecord(Record.CLASS_TBL);
&recClassTbl.CRSE_ID.Value = &crse_id;
&recClassTbl.CRSE_OFFER_NBR.Value = &crse_offer_nbr;
&recClassTbl.STRM.Value = &recTerm;
&recClassTbl.SESSION_CODE.Value = &session_code;
&recClassTbl.CLASS_SECTION.Value = &class_section;

If &recClassTbl.SelectByKey() Then

/* Instruction Mode */
&recInstructMode = CreateRecord(Record.INSTRUCT_MODE);
&recInstructMode.INSTITUTION.Value = &recInst;
&recInstructMode.INSTRUCTION_MODE.Value =
&recClassTbl.INSTRUCTION_MODE.Value;

If &recInstructMode.SelectByKeyEffDt(&recTermBeginDt) Then
&sinstruction_mode = &recInstructMode.DESCR.Value;
End-If;

/* Campus */
&recCampusTbl = CreateRecord(Record.CAMPUS_TBL);
&recCampusTbl.INSTITUTION.Value = &recInst;
&recCampusTbl.CAMPUS.Value = &recClassTbl.CAMPUS.Value;
If &recCampusTbl.SelectByKeyEffDt(&recTermBeginDt) Then
&scampus = &recCampusTbl.DESCR.Value;
End-If;

/* Location */
&cntgetsetid = &rsSetCntrlRec.Fill("WHERE RECNAME = 'LOCATION_TBL' AND
SETCNTRLVALUE = :1", &recInst);
&setId = &rsSetCntrlRec(&cntgetsetid).SET_CNTRL_REC.SETID.Value;

&recLocationTbl = CreateRecord(Record.LOCATION_TBL);
&recLocationTbl.SETID.Value = &setId;
&recLocationTbl.LOCATION.Value = &recClassTbl.LOCATION.Value;

If &recLocationTbl.SelectByKeyEffDt(&recTermBeginDt) Then
&slocation = &recLocationTbl.DESCR.Value;
End-If;

/* Units */
&recStdntEnrlSsvw = CreateRecord(Record.STDNT_ENRL_SSVW);
&recStdntEnrlSsvw.EMPLID.Value = &recEmplId;
&recStdntEnrlSsvw.INSTITUTION.Value = &recInst;
&recStdntEnrlSsvw.STRM.Value = &recTerm;
&recStdntEnrlSsvw.CLASS_NBR.Value = &class_nbr;
&recStdntEnrlSsvw.ACAD_CAREER.Value = &recCar;
&recStdntEnrlSsvw.SUBJECT.Value = &subject;
&recStdntEnrlSsvw.CATALOG_NBR.Value = &catalog_nbr;
&recStdntEnrlSsvw.ASSOCIATED_CLASS.Value = &associated_class;

If &recStdntEnrlSsvw.SelectByKey() Then
&sunt_taken = NumberToString("%6.2", &recStdntEnrlSsvw.UNT_TAKEN.Value);
End-If;
End-If;

&rsclassdetaillff.Flush();
&rsclassdetaillff(1).DERIVED_SSR_FL.SSR_DTL_FIELD1.Value = MsgGetText(14770,
566, "Message not found.");
&rsclassdetaillff(1).DERIVED_SSR_FL.SSR_DTL_FIELD2.Value = MsgGetText(14770,
1014, "Message not found.");
&rsclassdetaillff(1).DERIVED_SSR_FL.SSR_DTL_FIELD3.Value = MsgGetText(14770,
1015, "Message not found.");
&rsclassdetaillff(1).DERIVED_SSR_FL.SSR_DTL_FIELD4.Value = MsgGetText(14770,
530, "Message not found.");
&rsclassdetaillff(1).DERIVED_SSR_FL.SSR_INSTR_NME_FL.Visible = False;
&rsclassdetaillff(1).DERIVED_SSR_FL.SSR_DTL_FIELD5.Visible = True;
&rsclassdetaillff(1).DERIVED_SSR_FL.SSR_DTL_FIELD5.Value = MsgGetText(14770,
529, "Message not found.");
&rsclassdetaillff(1).DERIVED_SSR_FL.SSR_DTL_FIELD6.Visible = False;

&rsclassdetaillff.InsertRow(1);
&rsclassdetaillff(2).DERIVED_SSR_FL.SSR_DTL_FIELD1.Value = &sunt_taken;
&rsclassdetaillff(2).DERIVED_SSR_FL.SSR_DTL_FIELD2.Value = &sgrading_basis;
&rsclassdetaillff(2).DERIVED_SSR_FL.SSR_DTL_FIELD3.Value = &sinstruction_mode;
&rsclassdetaillff(2).DERIVED_SSR_FL.SSR_DTL_FIELD4.Value = &slocation;
&rsclassdetaillff(2).DERIVED_SSR_FL.SSR_INSTR_NME_FL.Visible = False;
&rsclassdetaillff(2).DERIVED_SSR_FL.SSR_DTL_FIELD5.Visible = True;
&rsclassdetaillff(2).DERIVED_SSR_FL.SSR_DTL_FIELD5.Value = &scampus;
&rsclassdetaillff(2).DERIVED_SSR_FL.SSR_DTL_FIELD6.Visible = False;
end-method;

method EnrollmentInformation
Local Record &recclassassoc;
Local integer &cntset, &cntset2, &multireq;

&recclassassoc = CreateRecord(Record.CLASS_ASSOC);
Local Rowset &rscrseoffer = CreateRowset(Record.CRSE_OFFER);
Local Record &rsenrreq = CreateRecord(Record.RQ_GRP_TBL_D_VW);
Local Rowset &rsclassdtl2 = GetRowset(Scroll.SSR_DUMMY_RECV3);
Local Rowset &rsclassdtl3 = GetRowset(Scroll.SSR_DUMMY_RECV4);
Local Record &recnotedtls = CreateRecord(Record.CLASS_NOTES_TBL);
Local Rowset &rsconsnattr = GetRowset(Scroll.SSR_DUMMY_RECV1);
Local Rowset &rsnotes = CreateRowset(Record.CLASS_NOTES);

Local integer &cntclassdtl3 = 1;


Local integer &cntclassdtl2 = 1;

/* Enrollment Requirements */
&recclassassoc.CRSE_ID.Value = &crse_id;
&recclassassoc.CRSE_OFFER_NBR.Value = &crse_offer_nbr;
&recclassassoc.STRM.Value = &recTerm;
&recclassassoc.SESSION_CODE.Value = &session_code;
&recclassassoc.ASSOCIATED_CLASS.Value = &associated_class;
&rsclassdtl2.ShowAllRows();

If &recclassassoc.SelectByKey() Then
&cntset = &rscrseoffer.Fill("WHERE CRSE_ID = :1 AND CRSE_OFFER_NBR = :2 AND
%EFFDTCHECK(CRSE_OFFER EFF, FILL, %Datein(:3)) AND RQRMNT_GROUP <> ' ' and
RQRMNT_GROUP <> :4", &crse_id, &crse_offer_nbr, &recTermBeginDt,
&recclassassoc.RQRMNT_GROUP.Value);

If &recclassassoc.RQRMNT_GROUP.Value <> "" Then

DERIVED_SSR_FL.SSR_GRP_MD.Visible = False;
DERIVED_SSR_FL.SSR_GRP_EI.Visible = True;
DERIVED_SSR_FL.SSR_GRP_CO.Visible = True;
DERIVED_SSR_FL.SSR_CLS_NOTES_LBL.Visible = True;

GetLevel0()(1).DERIVED_SSR_FL.SSR_ENRL_REQ_LBL.Visible = False;
&rsclassdtl2.Flush();
&rsenrreq.RQRMNT_GROUP.Value = &recclassassoc.RQRMNT_GROUP.Value;

If &rsenrreq.SelectByKeyEffDt(&recTermBeginDt) Then
If &cntset > 0 And
&recclassassoc.USE_CATLG_RQS.Value = "Y" Then

GetLevel0()(1).DERIVED_SSR_FL.SSR_ENR_REQ_FL.Value =
MsgGetText(14770, 558, "Message not found");

&rsclassdtl2.InsertRow(&cntclassdtl2);
&rsclassdtl2(&cntclassdtl2).SSR_CLASSDT2_FL.SSR_CLASSDTL_LBL.Visible
= True;
&rsclassdtl2(&cntclassdtl2).SSR_CLASSDT2_FL.SSR_CLASSDTL_LBL.Value =
&cntclassdtl2 | ".";
&rsclassdtl2(&cntclassdtl2).SSR_CLASSDT2_FL.SSR_CLASSDTL_DATA.Value
= &rsenrreq.DESCR254A.Value;

&cntclassdtl2 = &cntclassdtl2 + 1;

For &cntset2 = 1 To &cntset

&rsclassdtl2.InsertRow(&cntclassdtl2);

&rsclassdtl2(&cntclassdtl2).SSR_CLASSDT2_FL.SSR_CLASSDTL_LBL.Visible = True;

&rsclassdtl2(&cntclassdtl2).SSR_CLASSDT2_FL.SSR_CLASSDTL_LBL.Value = &cntclassdtl2
| ".";

&rsenrreq.RQRMNT_GROUP.Value =
&rscrseoffer(&cntset2).CRSE_OFFER.RQRMNT_GROUP.Value;

If &rsenrreq.SelectByKeyEffDt(&recTermBeginDt) Then

&rsclassdtl2(&cntclassdtl2).SSR_CLASSDT2_FL.SSR_CLASSDTL_DATA.Value =
&rsenrreq.DESCR254A.Value;
End-If;

&cntclassdtl2 = &cntclassdtl2 + 1;

End-For;
&multireq = 1;
Else

GetLevel0()(1).DERIVED_SSR_FL.SSR_ENRL_REQ_LBL.Visible = False;
GetLevel0()(1).DERIVED_SSR_FL.SSR_ENR_REQ_FL.Value =
MsgGetText(14770, 537, "Message not found");
&rsclassdtl2.InsertRow(&cntclassdtl2);
&rsclassdtl2(&cntclassdtl2).SSR_CLASSDT2_FL.SSR_CLASSDTL_LBL.Visible
= False;
&rsclassdtl2(&cntclassdtl2).SSR_CLASSDT2_FL.SSR_CLASSDTL_DATA.Value
= &rsenrreq.DESCR254A.Value;
&cntclassdtl2 = &cntclassdtl2 + 1;
&multireq = 0;
End-If;
End-If;
Else

If &cntset > 0 And


&recclassassoc.USE_CATLG_RQS.Value = "Y" Then

DERIVED_SSR_FL.SSR_GRP_MD.Visible = False;
DERIVED_SSR_FL.SSR_GRP_EI.Visible = True;
DERIVED_SSR_FL.SSR_GRP_CO.Visible = True;
DERIVED_SSR_FL.SSR_CLS_NOTES_LBL.Visible = True;

GetLevel0()(1).DERIVED_SSR_FL.SSR_ENRL_REQ_LBL.Visible = True;
GetLevel0()(1).DERIVED_SSR_FL.SSR_ENR_REQ_FL.Value = MsgGetText(14770,
537, "Message not found");
For &cntset2 = 1 To &cntset

&rsclassdtl2.InsertRow(&cntclassdtl2);

&rsenrreq.RQRMNT_GROUP.Value =
&rscrseoffer(&cntset2).CRSE_OFFER.RQRMNT_GROUP.Value;
If &rsenrreq.SelectByKeyEffDt(&recTermBeginDt) Then

&rsclassdtl2(&cntclassdtl2).SSR_CLASSDT2_FL.SSR_CLASSDTL_LBL.Visible = False;

&rsclassdtl2(&cntclassdtl2).SSR_CLASSDT2_FL.SSR_CLASSDTL_DATA.Value =
&rsenrreq.DESCR254A.Value;

End-If;
&cntclassdtl2 = &cntclassdtl2 + 1;

End-For;
Else

DERIVED_SSR_FL.SSR_GRP_MD.Visible = False;
DERIVED_SSR_FL.SSR_GRP_EI.Visible = True;

GetLevel0()(1).DERIVED_SSR_FL.SSR_ENRL_REQ_LBL.Visible = False;
GetLevel0()(1).DERIVED_SSR_FL.SSR_ENR_REQ_FL.Value = MsgGetText(14770,
1016, "Message not found");
&rsclassdtl2.HideAllRows();
End-If;
End-If;

&rsclassdtl2.DeleteRow(&cntclassdtl2); /* Delete empty row */

End-If;
/* End of Enrollment Requirements */

/* Class Notes */
&cntset = &rsnotes.Fill("WHERE CRSE_ID = :1 AND CRSE_OFFER_NBR = :2 AND STRM = :
3 AND SESSION_CODE = :4 AND CLASS_SECTION = :5 order by class_notes_seq", &crse_id,
&crse_offer_nbr, &recTerm, &session_code, &class_section);
&rsclassdtl3.Flush();
&rsclassdtl3.ShowAllRows();
If &cntset > 1 Then
GetLevel0()(1).DERIVED_SSR_FL.SSR_CLS_NOTES_LBL.Visible = True;
GetLevel0()(1).DERIVED_SSR_FL.SSR_CLS_NOTE_FL.Value = MsgGetText(14770, 556,
"Message not found");
For &cntset2 = 1 To &cntset

If &rsnotes(&cntset2).CLASS_NOTES.DESCRLONG.Value = "" Then

&rsclassdtl3.InsertRow(&cntclassdtl3);
&rsclassdtl3(&cntclassdtl3).SSR_CLASSDT3_FL.SSR_CLASSDTL_LBL.Visible =
True;
&rsclassdtl3(&cntclassdtl3).SSR_CLASSDT3_FL.SSR_CLASSDTL_LBL.Value =
&cntclassdtl3 | ".";

&recnotedtls.INSTITUTION.Value = &recInst;
&recnotedtls.CLASS_NOTE_NBR.Value =
&rsnotes(&cntset2).CLASS_NOTES.CLASS_NOTE_NBR.Value;

If &recnotedtls.SelectByKeyEffDt(&recTermBeginDt) Then
&rsclassdtl3(&cntclassdtl3).SSR_CLASSDT3_FL.SSR_CLSDTL_DATA_L.Value
= &recnotedtls.DESCRLONG.Value;
End-If;
&cntclassdtl3 = &cntclassdtl3 + 1;
Else
&rsclassdtl3.InsertRow(&cntclassdtl3);
&rsclassdtl3(&cntclassdtl3).SSR_CLASSDT3_FL.SSR_CLASSDTL_LBL.Visible =
True;
&rsclassdtl3(&cntclassdtl3).SSR_CLASSDT3_FL.SSR_CLASSDTL_LBL.Value =
&cntclassdtl3 | ".";
&rsclassdtl3(&cntclassdtl3).SSR_CLASSDT3_FL.SSR_CLSDTL_DATA_L.Value =
&rsnotes(&cntset2).CLASS_NOTES.DESCRLONG.Value;
&cntclassdtl3 = &cntclassdtl3 + 1;
End-If;
End-For;
&rsclassdtl3.DeleteRow(&cntclassdtl3); /* Delete empty row */
Else
If &cntset = 1 Then
GetLevel0()(1).DERIVED_SSR_FL.SSR_CLS_NOTES_LBL.Visible = True;
GetLevel0()(1).DERIVED_SSR_FL.SSR_CLS_NOTE_FL.Value = MsgGetText(14770,
559, "Message not found");

If &rsnotes(&cntset).CLASS_NOTES.DESCRLONG.Value = "" Then

&rsclassdtl3.InsertRow(&cntclassdtl3);

&recnotedtls.INSTITUTION.Value = &recInst;
&recnotedtls.CLASS_NOTE_NBR.Value =
&rsnotes(&cntset).CLASS_NOTES.CLASS_NOTE_NBR.Value;

If &recnotedtls.SelectByKeyEffDt(&recTermBeginDt) Then
&rsclassdtl3(&cntclassdtl3).SSR_CLASSDT3_FL.SSR_CLASSDTL_LBL.Value =
MsgGetText(14770, 559, "Message not found");
&rsclassdtl3(&cntclassdtl3).SSR_CLASSDT3_FL.SSR_CLASSDTL_LBL.Visible
= False;
&rsclassdtl3(&cntclassdtl3).SSR_CLASSDT3_FL.SSR_CLSDTL_DATA_L.Value
= &recnotedtls.DESCRLONG.Value;
End-If;
Else

&rsclassdtl3.InsertRow(&cntclassdtl3);
&rsclassdtl3(&cntclassdtl3).SSR_CLASSDT3_FL.SSR_CLASSDTL_LBL.Value =
MsgGetText(14770, 559, "Message not found");
&rsclassdtl3(&cntclassdtl3).SSR_CLASSDT3_FL.SSR_CLASSDTL_LBL.Visible =
False;
&rsclassdtl3(&cntclassdtl3).SSR_CLASSDT3_FL.SSR_CLSDTL_DATA_L.Value =
&rsnotes(&cntset).CLASS_NOTES.DESCRLONG.Value;
End-If;
&cntclassdtl3 = &cntclassdtl3 + 1;
Else
&rsclassdtl3.HideAllRows();
GetLevel0()(1).DERIVED_SSR_FL.SSR_CLS_NOTES_LBL.Visible = True;
GetLevel0()(1).DERIVED_SSR_FL.SSR_CLS_NOTE_FL.Value = MsgGetText(14770,
1017, "Message not found");
End-If;
&rsclassdtl3.DeleteRow(&cntclassdtl3); /* Delete empty row */
End-If;

/* records used for topics and attribute */


Local Record &recclassdtl = CreateRecord(Record.CLASS_TBL);
Local integer &cntclassdtl = 1;
&rsconsnattr.Flush();

&recclassdtl.CRSE_ID.Value = &crse_id;
&recclassdtl.CRSE_OFFER_NBR.Value = &crse_offer_nbr;
&recclassdtl.SESSION_CODE.Value = &session_code;
&recclassdtl.CLASS_SECTION.Value = &class_section;
&recclassdtl.STRM.Value = &recTerm;

/* Topic */
If &recclassdtl.SelectByKey() Then

Local Rowset &rectopic = CreateRowset(Record.CRSE_TOPICS);


&cntset = &rectopic.Fill("WHERE CRSE_ID = :1 AND CRS_TOPIC_ID = :2",
&crse_id, &recclassdtl.CRS_TOPIC_ID.Value);

If &cntset > 0 Then


DERIVED_SSR_FL.SSR_GRP_CO.Visible = True;
&rsconsnattr.InsertRow(&cntclassdtl);

&rsconsnattr(&cntclassdtl).SSR_CLASSDTL_FL.SSR_CLASSDTL_LBL.Value =
MsgGetText(14770, 531, "Message not found.");
&rsconsnattr(&cntclassdtl).SSR_CLASSDTL_FL.SSR_CLASSDTL_DATA.Value =
&rectopic(1).CRSE_TOPICS.DESCR.Value;
&cntclassdtl = &cntclassdtl + 1;
End-If;
End-If;

/* Consents */
If &recclassdtl.SelectByKey() Then
If &recclassdtl.CONSENT.Value <> "N" Then
DERIVED_SSR_FL.SSR_GRP_CO.Visible = True;
&rsconsnattr.InsertRow(&cntclassdtl);
&rsconsnattr(&cntclassdtl).SSR_CLASSDTL_FL.SSR_CLASSDTL_LBL.Value =
MsgGetText(14770, 534, "Message not found.");
&rsconsnattr(&cntclassdtl).SSR_CLASSDTL_FL.SSR_CLASSDTL_DATA.Value =
&recclassdtl.CONSENT.LongTranslateValue;
&cntclassdtl = &cntclassdtl + 1;
End-If;

If &recclassdtl.SSR_DROP_CONSENT.Value <> "N" Then


DERIVED_SSR_FL.SSR_GRP_CO.Visible = True;
&rsconsnattr.InsertRow(&cntclassdtl);

&rsconsnattr(&cntclassdtl).SSR_CLASSDTL_FL.SSR_CLASSDTL_LBL.Value =
MsgGetText(14770, 535, "Message not found.");
&rsconsnattr(&cntclassdtl).SSR_CLASSDTL_FL.SSR_CLASSDTL_DATA.Value =
&recclassdtl.SSR_DROP_CONSENT.LongTranslateValue;
&cntclassdtl = &cntclassdtl + 1;
End-If;

End-If;

/* Class Attributes */
Local integer &lblindex;
Local Rowset &rsclassattr = CreateRowset(Record.CLASS_ATTRIBUTE);
Local Record &reccrseattr = CreateRecord(Record.CRSE_ATTR_TBL);
Local Record &reccrseattrval = CreateRecord(Record.CRSE_ATTR_VALUE);
Local string &sattrlabel;

&cntset = &rsclassattr.Fill("WHERE CRSE_ID = :1 AND CRSE_OFFER_NBR = :2 AND STRM


= :3 AND SESSION_CODE = :4 AND CLASS_SECTION = :5 ORDER BY CRSE_ATTR", &crse_id,
&crse_offer_nbr, &recTerm, &session_code, &class_section);
If &cntset > 0 Then
If &cntset > 1 Then
DERIVED_SSR_FL.SSR_GRP_CO.Visible = True;
For &cntset2 = 1 To &cntset
If &cntset2 = 1 Then
&rsconsnattr(&cntclassdtl).SSR_CLASSDTL_FL.SSR_CLASSDTL_LBL.Value =
MsgGetText(14770, 578, "Message not found.");
End-If;
&reccrseattr.CRSE_ATTR.Value =
&rsclassattr(&cntset2).CLASS_ATTRIBUTE.CRSE_ATTR.Value;
If &reccrseattr.SelectByKeyEffDt(&recTermBeginDt) Then
If &reccrseattr.EFF_STATUS.Value = "A" Then
&reccrseattrval.CRSE_ATTR.Value =
&rsclassattr(&cntset2).CLASS_ATTRIBUTE.CRSE_ATTR.Value;
&reccrseattrval.CRSE_ATTR_VALUE.Value =
&rsclassattr(&cntset2).CLASS_ATTRIBUTE.CRSE_ATTR_VALUE.Value;

If &reccrseattrval.SelectByKeyEffDt(&recTermBeginDt) Then
If &reccrseattrval.SCHEDULE_PRINT.Value = "Y" Then
If &cntset2 + 1 <= &cntset Then
If &rsclassattr(&cntset2 +
1).CLASS_ATTRIBUTE.CRSE_ATTR.Value =
&rsclassattr(&cntset2).CLASS_ATTRIBUTE.CRSE_ATTR.Value Then
&lblindex = &lblindex + 1;
&rsconsnattr.InsertRow(&cntclassdtl);
&sattrlabel = &reccrseattr.DESCR.Value | " " |
&lblindex;
Else
&lblindex = 0;
&rsconsnattr.InsertRow(&cntclassdtl);
&sattrlabel = &reccrseattr.DESCR.Value;
End-If;
Else
If &lblindex = 0 Then
&rsconsnattr.InsertRow(&cntclassdtl);
&sattrlabel = &reccrseattr.DESCR.Value;
Else
&lblindex = &lblindex + 1;
&rsconsnattr.InsertRow(&cntclassdtl);
&sattrlabel = &reccrseattr.DESCR.Value | " " |
&lblindex;
End-If;
End-If;
End-If;
End-If;
&rsconsnattr(&cntclassdtl).SSR_CLASSDTL_FL.SSR_CLASSDTL_LBL.Value
= MsgGetText(14770, 578, "Message not found.") | " " | &cntset2;

&rsconsnattr(&cntclassdtl).SSR_CLASSDTL_FL.SSR_CLASSDTL_DATA.Value = &sattrlabel |
" - " | &reccrseattrval.DESCRFORMAL.Value;
&cntclassdtl = &cntclassdtl + 1;
End-If;
End-If;
End-For;
Else
DERIVED_SSR_FL.SSR_GRP_CO.Visible = True;
&reccrseattr.CRSE_ATTR.Value =
&rsclassattr(1).CLASS_ATTRIBUTE.CRSE_ATTR.Value;
If &reccrseattr.SelectByKeyEffDt(&recTermBeginDt) Then
If &reccrseattr.EFF_STATUS.Value = "A" Then
&reccrseattrval.CRSE_ATTR.Value =
&rsclassattr(1).CLASS_ATTRIBUTE.CRSE_ATTR.Value;
&reccrseattrval.CRSE_ATTR_VALUE.Value =
&rsclassattr(1).CLASS_ATTRIBUTE.CRSE_ATTR_VALUE.Value;
If &reccrseattrval.SelectByKeyEffDt(&recTermBeginDt) Then
If &reccrseattrval.SCHEDULE_PRINT.Value = "Y" Then
&rsconsnattr.InsertRow(&cntclassdtl);
&sattrlabel = &reccrseattr.DESCR.Value;
End-If;
End-If;
&rsconsnattr(&cntclassdtl).SSR_CLASSDTL_FL.SSR_CLASSDTL_LBL.Value =
MsgGetText(14770, 578, "Message not found.");
&rsconsnattr(&cntclassdtl).SSR_CLASSDTL_FL.SSR_CLASSDTL_DATA.Value =
&sattrlabel | " - " | &reccrseattrval.DESCRFORMAL.Value;
&cntclassdtl = &cntclassdtl + 1;
&rsconsnattr.DeleteRow(&cntclassdtl);
End-If;
End-If;
End-If;
End-If;

If &rsconsnattr.ActiveRowCount = 1 Then
If &rsconsnattr(1).SSR_CLASSDTL_FL.SSR_CLASSDTL_LBL.Value = "" Then
&rsconsnattr.HideAllRows();
End-If;
End-If;

end-method;
method ClassAvailability

DERIVED_SSR_FL.SSR_GRP_MD.Visible = True;
DERIVED_SSR_FL.SSR_GRP_EI.Visible = False;
DERIVED_SSR_FL.SSR_GRP_CO.Visible = False;
DERIVED_SSR_FL.SSR_CLS_NOTES_LBL.Visible = False;

Local Record &recClassTbl;


&recClassTbl = CreateRecord(Record.CLASS_TBL);

&recClassTbl.CRSE_ID.Value = &crse_id;
&recClassTbl.CRSE_OFFER_NBR.Value = &crse_offer_nbr;
&recClassTbl.STRM.Value = &recTerm;
&recClassTbl.SESSION_CODE.Value = &session_code;
&recClassTbl.CLASS_SECTION.Value = &class_section;

If &recClassTbl.SelectByKey() Then
&itotalcapacity = &recClassTbl.ENRL_CAP.Value;
&ienrolltotal = &recClassTbl.ENRL_TOT.Value;
&iavailseats = &recClassTbl.ENRL_CAP.Value - &recClassTbl.ENRL_TOT.Value;
&iwaitlistcapacity = &recClassTbl.WAIT_CAP.Value;;
&iwaitlisttotal = &recClassTbl.WAIT_TOT.Value;
End-If;

&rsclassdetaillff.Flush();
&rsclassdetaillff(1).DERIVED_SSR_FL.SSR_DTL_FIELD1.Value = MsgGetText(14770,
1018, "Message not found.");
&rsclassdetaillff(1).DERIVED_SSR_FL.SSR_DTL_FIELD2.Value = MsgGetText(14770,
1019, "Message not found.");
&rsclassdetaillff(1).DERIVED_SSR_FL.SSR_DTL_FIELD3.Value = MsgGetText(14770,
528, "Message not found.");
&rsclassdetaillff(1).DERIVED_SSR_FL.SSR_DTL_FIELD4.Value = MsgGetText(14770,
1020, "Message not found.");
&rsclassdetaillff(1).DERIVED_SSR_FL.SSR_INSTR_NME_FL.Visible = False;
&rsclassdetaillff(1).DERIVED_SSR_FL.SSR_DTL_FIELD5.Visible = True;
&rsclassdetaillff(1).DERIVED_SSR_FL.SSR_DTL_FIELD5.Value = MsgGetText(14770,
1021, "Message not found.");
&rsclassdetaillff(1).DERIVED_SSR_FL.SSR_DTL_FIELD6.Visible = False;

&rsclassdetaillff.InsertRow(1);
&rsclassdetaillff(2).DERIVED_SSR_FL.SSR_DTL_FIELD1.Value = &itotalcapacity;
&rsclassdetaillff(2).DERIVED_SSR_FL.SSR_DTL_FIELD2.Value = &ienrolltotal;
&rsclassdetaillff(2).DERIVED_SSR_FL.SSR_DTL_FIELD3.Value = &iavailseats;
&rsclassdetaillff(2).DERIVED_SSR_FL.SSR_DTL_FIELD4.Value = &iwaitlistcapacity;
&rsclassdetaillff(2).DERIVED_SSR_FL.SSR_INSTR_NME_FL.Visible = False;
&rsclassdetaillff(2).DERIVED_SSR_FL.SSR_DTL_FIELD5.Visible = True;
&rsclassdetaillff(2).DERIVED_SSR_FL.SSR_DTL_FIELD5.Value = &iwaitlisttotal;
&rsclassdetaillff(2).DERIVED_SSR_FL.SSR_DTL_FIELD6.Visible = False;
end-method;

method TextbookOtherInformation
Local Rowset &rsconsnattr, &rectextbook, &rscrsemattype;
Local Record &rectxtbk;
Local integer &i, &cnttxtbk, &cntclassdtl, &cntclassdtl2;
Local string &sDetails;

&rsconsnattr = GetRowset(Scroll.SSR_DUMMY_RECV1);
&rsconsnattr.Flush();
DERIVED_SSR_FL.SSR_GRP_MD.Visible = True;
DERIVED_SSR_FL.SSR_GRP_EI.Visible = False;
DERIVED_SSR_FL.SSR_GRP_CO.Visible = True;
DERIVED_SSR_FL.SSR_CLS_NOTES_LBL.Visible = False;

/* Textbook, Articles, Other Course Materials */


&rectextbook = CreateRowset(Record.SSR_CLS_TXB_DTL);
&cnttxtbk = &rectextbook.Fill("WHERE CRSE_ID = :1 AND CRSE_OFFER_NBR = :2 AND
STRM = :3 AND SESSION_CODE = :4 AND CLASS_SECTION = :5", &crse_id, &crse_offer_nbr,
&recTerm, &session_code, &class_section);
&rectextbook.Sort(SSR_CLS_TXB_DTL.SSR_TXBDTL_SEQNO, "A");

&cntclassdtl = 0;
&cntclassdtl2 = 1;

If &cnttxtbk > 0 Then


&rsclassdetaillff.ShowAllRows();
/* Initialize Header */
&rsclassdetaillff.Flush();
&rsclassdetaillff.InsertRow(&cntclassdtl);

&cntclassdtl = &cntclassdtl + 1;

&rsclassdetaillff(&cntclassdtl).DERIVED_SSR_FL.SSR_DTL_FIELD1.Value =
MsgGetText(14770, 1022, "Message not found.");
&rsclassdetaillff(&cntclassdtl).DERIVED_SSR_FL.SSR_DTL_FIELD2.Value =
MsgGetText(14770, 1023, "Message not found.");
&rsclassdetaillff(&cntclassdtl).DERIVED_SSR_FL.SSR_DTL_FIELD3.Value =
MsgGetText(14770, 1024, "Message not found.");
&rsclassdetaillff(&cntclassdtl).DERIVED_SSR_FL.SSR_DTL_FIELD4.Visible =
False;
&rsclassdetaillff(&cntclassdtl).DERIVED_SSR_FL.SSR_INSTR_NME_FL.Visible =
False;
&rsclassdetaillff(&cntclassdtl).DERIVED_SSR_FL.SSR_DTL_FIELD5.Visible =
False;
&rsclassdetaillff(&cntclassdtl).DERIVED_SSR_FL.SSR_DTL_FIELD6.Visible = True;
&rsclassdetaillff(&cntclassdtl).DERIVED_SSR_FL.SSR_DTL_FIELD6.Value =
MsgGetText(14770, 1025, "Message not found.");

&rscrsemattype = CreateRowset(Record.SSR_CRSEMAT_TBL);

For &i = 1 To &cnttxtbk

&rsclassdetaillff.InsertRow(&cntclassdtl);

&cntclassdtl = &cntclassdtl + 1;

&rscrsemattype.Fill("WHERE FILL.SSR_CRSEMAT_TYPE = :1 AND FILL.EFFDT =


(SELECT MAX(FILL2.EFFDT) FROM PS_SSR_CRSEMAT_TBL FILL2 WHERE FILL2.SSR_CRSEMAT_TYPE
= FILL.SSR_CRSEMAT_TYPE AND FILL2.EFFDT <= %CurrentDateIn) AND FILL.EFF_STATUS =
'A'", &rectextbook(&i).SSR_CLS_TXB_DTL.SSR_CRSEMAT_TYPE.Value);

&rsclassdetaillff(&cntclassdtl).DERIVED_SSR_FL.SSR_DTL_FIELD1.Value =
&rscrsemattype(1).SSR_CRSEMAT_TBL.DESCR.Value;
&rsclassdetaillff(&cntclassdtl).DERIVED_SSR_FL.SSR_DTL_FIELD2.Value =
&rectextbook(&i).SSR_CLS_TXB_DTL.SSR_TXBDTL_STATUS.LongTranslateValue;
&rsclassdetaillff(&cntclassdtl).DERIVED_SSR_FL.SSR_DTL_FIELD3.Value =
&rectextbook(&i).SSR_CLS_TXB_DTL.SSR_TXBDTL_ISBN.Value;
&rsclassdetaillff(&cntclassdtl).DERIVED_SSR_FL.SSR_INSTR_NME_FL.Visible =
False;

If All(&rectextbook(&i).SSR_CLS_TXB_DTL.SSR_TXBDTL_TITLE.Value) Then
&sDetails = &sDetails | MsgGetText(14770, 1026, "Message not found.") |
&rectextbook(&i).SSR_CLS_TXB_DTL.SSR_TXBDTL_TITLE.Value;
End-If;

If All(&rectextbook(&i).SSR_CLS_TXB_DTL.SSR_TXBDTL_AUTHOR.Value) Then
&sDetails = &sDetails | "; " | MsgGetText(14770, 1027, "Message not
found.") | &rectextbook(&i).SSR_CLS_TXB_DTL.SSR_TXBDTL_AUTHOR.Value;
End-If;

If All(&rectextbook(&i).SSR_CLS_TXB_DTL.SSR_TXBDTL_PUBLISH.Value) Then
&sDetails = &sDetails | "; " | MsgGetText(14770, 1028, "Message not
found.") | &rectextbook(&i).SSR_CLS_TXB_DTL.SSR_TXBDTL_PUBLISH.Value;
End-If;

If All(&rectextbook(&i).SSR_CLS_TXB_DTL.SSR_TXBDTL_EDITION.Value) Then
&sDetails = &sDetails | "; " | MsgGetText(14770, 1029, "Message not
found.") | &rectextbook(&i).SSR_CLS_TXB_DTL.SSR_TXBDTL_EDITION.Value;
End-If;

If All(&rectextbook(&i).SSR_CLS_TXB_DTL.SSR_TXBDTL_PUBYEAR.Value) Then
&sDetails = &sDetails | "; " | MsgGetText(14770, 1030, "Message not
found.") | &rectextbook(&i).SSR_CLS_TXB_DTL.SSR_TXBDTL_PUBYEAR.Value;
End-If;

If All(&rectextbook(&i).SSR_CLS_TXB_DTL.SSR_TXBDTL_PRICE.Value) Then
&sDetails = &sDetails | "; " | MsgGetText(14770, 1031, "Message not
found.") | &rectextbook(&i).SSR_CLS_TXB_DTL.SSR_TXBDTL_PRICE.Value;

If All(&rectextbook(&i).SSR_CLS_TXB_DTL.CURRENCY_CD.Value) Then
&sDetails = &sDetails | " " |
&rectextbook(&i).SSR_CLS_TXB_DTL.CURRENCY_CD.Value;
End-If;
End-If;

If All(&rectextbook(&i).SSR_CLS_TXB_DTL.SSR_TXBDTL_NOTES.Value) Then
&sDetails = &sDetails | "; " | MsgGetText(14770, 1033, "Message not
found.") | &rectextbook(&i).SSR_CLS_TXB_DTL.SSR_TXBDTL_NOTES.Value;
End-If;

&rsclassdetaillff(&cntclassdtl).DERIVED_SSR_FL.SSR_DTL_FIELD6.Value =
&sDetails;

&sDetails = "";

End-For;

&rsclassdetaillff.DeleteRow(&cntclassdtl + 1); /* Delete empty row */


Else
&rsclassdetaillff.HideAllRows();
DERIVED_SSR_FL.SSR_GRP_MD.Visible = False;
&rsconsnattr.InsertRow(&cntclassdtl2);
&rsconsnattr(&cntclassdtl2).SSR_CLASSDTL_FL.SSR_CLASSDTL_LBL.Value =
MsgGetText(14770, 1032, "Message not found.");
&cntclassdtl2 = &cntclassdtl2 + 1;
End-If;
/* Special Instructions */
&rectxtbk = CreateRecord(Record.SSR_CLASS_TXB);
&rectxtbk.CRSE_ID.Value = &crse_id;
&rectxtbk.CRSE_OFFER_NBR.Value = &crse_offer_nbr;
&rectxtbk.STRM.Value = &recTerm;
&rectxtbk.SESSION_CODE.Value = &session_code;
&rectxtbk.CLASS_SECTION.Value = &class_section;

If &rectxtbk.SelectByKey() And
&rectxtbk.SSR_CLS_TXB_TEXT.Value <> "" Then
&rsconsnattr.ShowAllRows();
&rsconsnattr.InsertRow(&cntclassdtl2);
&rsconsnattr(&cntclassdtl2).SSR_CLASSDTL_FL.SSR_CLASSDTL_LBL.Value =
MsgGetText(14770, 1034, "Message not found.");
&rsconsnattr(&cntclassdtl2).SSR_CLASSDTL_FL.SSR_CLASSDTL_DATA.Value =
&rectxtbk.SSR_CLS_TXB_TEXT.Value;
Else
&rsconsnattr.DeleteRow(&cntclassdtl2);
End-If;
end-method;

method DERIVED_SSR_FL__SSR_CL_DTLS_LFF_FieldChange
%This.EvaluateClassDetails();
end-method;

method MeetingInformation
Local Rowset &rsMtgPat, &rsgetsetid, &rsInstructor, &rsconsnattr;
Local Record &recfacility;
Local integer &cntmtgpat, &rowclassinfo, &i, &cntgetsetid, &iInstructor;
Local string &sTime, &sFacility;
Local SSR_MANAGE_CLASSES:UTIL:Formatter &formatter = create
SSR_MANAGE_CLASSES:UTIL:Formatter();
Local SSR_MANAGE_CLASSES:UTIL:Instructor &instructorUtil = create
SSR_MANAGE_CLASSES:UTIL:Instructor();

&rsMtgPat = CreateRowset(Record.CLASS_MTG_VW);

&cntmtgpat = &rsMtgPat.Fill("WHERE Fill.CRSE_ID=:1 AND Fill.CRSE_OFFER_NBR=:2


AND Fill.STRM=:3 AND Fill.SESSION_CODE=:4 and Fill.CLASS_SECTION=:5", &crse_id,
&crse_offer_nbr, &recTerm, &session_code, &class_section);

If &cntmtgpat > 0 Then

&rowclassinfo = 0;
DERIVED_SSR_FL.SSR_GRP_MD.Visible = True;
DERIVED_SSR_FL.SSR_GRP_EI.Visible = False;
DERIVED_SSR_FL.SSR_GRP_CO.Visible = False;
DERIVED_SSR_FL.SSR_CLS_NOTES_LBL.Visible = False;

&rsclassdetaillff.Flush();
&rowclassinfo = &rowclassinfo + 1;
&rsclassdetaillff.InsertRow(&rowclassinfo);

&rsclassdetaillff(&rowclassinfo).DERIVED_SSR_FL.SSR_DTL_FIELD1.Value =
MsgGetText(14770, 538, "Message not found.");
&rsclassdetaillff(&rowclassinfo).DERIVED_SSR_FL.SSR_DTL_FIELD2.Value =
MsgGetText(14770, 514, "Message not found.");
&rsclassdetaillff(&rowclassinfo).DERIVED_SSR_FL.SSR_DTL_FIELD3.Value =
MsgGetText(14770, 515, "Message not found.");
&rsclassdetaillff(&rowclassinfo).DERIVED_SSR_FL.SSR_DTL_FIELD4.Value =
MsgGetText(14770, 516, "Message not found.");
&rsclassdetaillff(&rowclassinfo).DERIVED_SSR_FL.SSR_INSTR_NME_FL.Visible =
True;
&rsclassdetaillff(&rowclassinfo).DERIVED_SSR_FL.SSR_INSTR_NME_FL.Enabled =
False;

&rsclassdetaillff(&rowclassinfo).DERIVED_SSR_FL.SSR_INSTR_NME_FL.AddFFClass("psa_co
lor-black");

&rsclassdetaillff(&rowclassinfo).DERIVED_SSR_FL.SSR_INSTR_NME_FL.AddFFClass("psa_la
bel-bold");
&rsclassdetaillff(&rowclassinfo).DERIVED_SSR_FL.SSR_DTL_FIELD5.Visible =
False;
&rsclassdetaillff(&rowclassinfo).DERIVED_SSR_FL.SSR_DTL_FIELD6.Visible =
False;

Local string &sMon =


&rsMtgPat(&cntmtgpat).CLASS_MTG_VW.MON.GetLongLabel("MON");
Local string &sTues =
&rsMtgPat(&cntmtgpat).CLASS_MTG_VW.TUES.GetLongLabel("TUES");
Local string &sWed =
&rsMtgPat(&cntmtgpat).CLASS_MTG_VW.WED.GetLongLabel("WED");
Local string &sThurs =
&rsMtgPat(&cntmtgpat).CLASS_MTG_VW.THURS.GetLongLabel("THURS");
Local string &sFri =
&rsMtgPat(&cntmtgpat).CLASS_MTG_VW.FRI.GetLongLabel("FRI");
Local string &sSat =
&rsMtgPat(&cntmtgpat).CLASS_MTG_VW.SAT.GetLongLabel("SAT");
Local string &sSun =
&rsMtgPat(&cntmtgpat).CLASS_MTG_VW.SUN.GetLongLabel("SUN");
Local integer &instructorrow;

&rowclassinfo = &rowclassinfo + 1;
&rsclassdetaillff.InsertRow(&rowclassinfo);

For &i = 1 To &cntmtgpat

Local string &sday = "";


Local boolean &bConscDaysBrkn = False;
Local integer &iConscDaysCtr = 0;
Local string &sFirstDay = " ";
Local string &sLastDay = " ";
Local string &sPrevDay = " ";

If &rsMtgPat(&i).CLASS_MTG_VW.MON.Value Then
&sday = &sday | &rsMtgPat(&i).CLASS_MTG_VW.MON.GetLongLabel("MON") | "
";
&sFirstDay = &sMon;
&sPrevDay = &sMon;
&iConscDaysCtr = &iConscDaysCtr + 1;
End-If;

If &rsMtgPat(&i).CLASS_MTG_VW.TUES.Value Then
&sday = &sday | &rsMtgPat(&i).CLASS_MTG_VW.TUES.GetLongLabel("TUES") |
" ";
If &sPrevDay = &sMon Then
&iConscDaysCtr = &iConscDaysCtr + 1;
&sLastDay = &sTues;
Else
&iConscDaysCtr = 1;
&sFirstDay = &sTues;
&sLastDay = " ";
End-If;
&sPrevDay = &sTues;
End-If;

If &rsMtgPat(&i).CLASS_MTG_VW.WED.Value Then
&sday = &sday | &rsMtgPat(&i).CLASS_MTG_VW.WED.GetLongLabel("WED") | "
";
If &sPrevDay = &sTues Then
&iConscDaysCtr = &iConscDaysCtr + 1;
&sLastDay = &sWed;
Else
If &iConscDaysCtr <> 0 Then
&bConscDaysBrkn = True;
Else
&iConscDaysCtr = 1;
&sFirstDay = &sWed;
&sLastDay = " ";
End-If;
End-If;
&sPrevDay = &sWed;
End-If;

If &rsMtgPat(&i).CLASS_MTG_VW.THURS.Value Then
&sday = &sday | &rsMtgPat(&i).CLASS_MTG_VW.THURS.GetLongLabel("THURS")
| " ";
If Not &bConscDaysBrkn Then
If &sPrevDay = &sWed Then
&iConscDaysCtr = &iConscDaysCtr + 1;
&sLastDay = &sThurs;
Else
If &iConscDaysCtr <> 0 Then
&bConscDaysBrkn = True;
Else
&iConscDaysCtr = 1;
&sFirstDay = &sThurs;
&sLastDay = " ";
End-If;
End-If;
&sPrevDay = &sThurs;
End-If;
End-If;

If &rsMtgPat(&i).CLASS_MTG_VW.FRI.Value Then
&sday = &sday | &rsMtgPat(&i).CLASS_MTG_VW.FRI.GetLongLabel("FRI") | "
";
If Not &bConscDaysBrkn Then
If &sPrevDay = &sThurs Then
&iConscDaysCtr = &iConscDaysCtr + 1;
&sLastDay = &sFri;
Else
If &iConscDaysCtr <> 0 Then
&bConscDaysBrkn = True;
Else
&iConscDaysCtr = 0;
&sFirstDay = " ";
&sLastDay = " ";
End-If;
End-If;
&sPrevDay = &sFri;
End-If;
End-If;

If &rsMtgPat(&i).CLASS_MTG_VW.SAT.Value Then
&sday = &sday | &rsMtgPat(&i).CLASS_MTG_VW.SAT.GetLongLabel("SAT") | "
";
If Not &bConscDaysBrkn Then
If &sPrevDay = &sFri Then
&iConscDaysCtr = &iConscDaysCtr + 1;
&sLastDay = &sSat;
Else
If &iConscDaysCtr <> 0 Then
&bConscDaysBrkn = True;
Else
&iConscDaysCtr = 0;
&sFirstDay = " ";
&sLastDay = " ";
End-If;
End-If;
&sPrevDay = &sSat;
End-If;
End-If;

If &rsMtgPat(&i).CLASS_MTG_VW.SUN.Value Then
&sday = &sday | &rsMtgPat(&i).CLASS_MTG_VW.SUN.GetLongLabel("SUN") | "
";
If Not &bConscDaysBrkn Then
If &sPrevDay = &sSat Then
&iConscDaysCtr = &iConscDaysCtr + 1;
&sLastDay = &sSun;
Else
If &iConscDaysCtr <> 0 Then
&bConscDaysBrkn = True;
Else
&iConscDaysCtr = 0;
&iConscDaysCtr = 0;
&sFirstDay = " ";
&sLastDay = " ";
End-If;
End-If;
&sPrevDay = &sSun;
End-If;
End-If;

If &sday = "" Then


&sday = MsgGetText(14770, 543, "Message Not Found");
Else
If ( Not &bConscDaysBrkn) And
(&iConscDaysCtr > 3) Then
&sday = MsgGetText(14770, 708, "message not found.", &sFirstDay,
&sLastDay);
End-If;
End-If;
/* Time */
&sTime = "";
If (&rsMtgPat(&i).CLASS_MTG_VW.MEETING_TIME_START.Value <> 0.00) And
(&rsMtgPat(&i).CLASS_MTG_VW.MEETING_TIME_START.Value <> Time(""))
Then
Local string &L_NewTime1 =
&formatter.FormatTime(&rsMtgPat(&i).CLASS_MTG_VW.START_DT.Value,
&rsMtgPat(&i).CLASS_MTG_VW.MEETING_TIME_START.Value);
Local string &L_NewTime2 =
&formatter.FormatTime(&rsMtgPat(&i).CLASS_MTG_VW.START_DT.Value,
&rsMtgPat(&i).CLASS_MTG_VW.MEETING_TIME_END.Value);
&sTime = MsgGetText(14770, 708, "message not found.", &L_NewTime1,
&L_NewTime2);
End-If;

If &sTime = "" Then


&sTime = MsgGetText(14770, 543, "Message Not Found");
End-If;

/* Room */
&rsgetsetid = CreateRowset(Record.SET_CNTRL_REC);
&recfacility = CreateRecord(Record.FACILITY_TBL);

&cntgetsetid = &rsgetsetid.Fill("WHERE RECNAME = 'FACILITY_TBL' AND


SETCNTRLVALUE = :1", &recInst);
&setId = &rsgetsetid(&cntgetsetid).SET_CNTRL_REC.SETID.Value;
&recfacility.FACILITY_ID.Value =
&rsMtgPat(&i).CLASS_MTG_VW.FACILITY_ID.Value;
&recfacility.SETID.Value = &setId;
If &recfacility.SelectByKeyEffDt(&recTermBeginDt) Then
&sFacility = &recfacility.DESCR.Value;
Local boolean &bRoomExist = True;
Else
&sFacility = MsgGetText(14770, 543, "Message Not Found");
&bRoomExist = False;
End-If;

/* Instructors */
&rsInstructor = CreateRowset(Record.CLASS_INSTR_VW);
&rsInstructor.Fill("WHERE Fill.CRSE_ID=:1 AND Fill.CRSE_OFFER_NBR=:2 AND
Fill.STRM=:3 AND Fill.SESSION_CODE=:4 AND Fill.CLASS_SECTION=:5 AND
Fill.CLASS_MTG_NBR=:6", &crse_id, &crse_offer_nbr, &recTerm, &session_code,
&class_section, &rsMtgPat(&i).CLASS_MTG_VW.CLASS_MTG_NBR.Value);
Local boolean &bInstructorExist = False;
Local integer &iPrimIndx, &iSecIndx, &iTAIndx;
&iPrimIndx = 0;
&iSecIndx = 0;
&iTAIndx = 0;
&instructorrow = &rowclassinfo;
For &iInstructor = 1 To &rsInstructor.ActiveRowCount
If All(&rsInstructor(&iInstructor).CLASS_INSTR_VW.CRSE_ID.Value) Then
&bInstructorExist = True;

/* Find Primary Instructors */


If &rsInstructor(&iInstructor).CLASS_INSTR_VW.INSTR_ROLE.Value =
"PI" Then
Local string &InstrName =
&instructorUtil.GetDisplayName(&rsInstructor(&iInstructor).CLASS_INSTR_VW.EMPLID.Va
lue);
&iPrimIndx = &iPrimIndx + 1;

If &iPrimIndx = 1 Then

&rsclassdetaillff(&instructorrow).DERIVED_SSR_FL.SSR_DTL_FIELD5.Value = &InstrName;

&rsclassdetaillff(&instructorrow).DERIVED_SSR_FL.SSR_DTL_FIELD5.Visible = False;

&rsclassdetaillff(&instructorrow).DERIVED_SSR_FL.SSR_INSTR_NME_FL.Visible = True;

&rsclassdetaillff(&instructorrow).DERIVED_SSR_FL.SSR_INSTR_NME_FL.Label =
&InstrName;
Else
If &iPrimIndx = 2 Then
Local integer &iPrevIndx = &i - 1;
End-If;

&rsclassdetaillff(&instructorrow).DERIVED_SSR_FL.SSR_DTL_FIELD5.Value =
&rsclassdetaillff(&instructorrow).DERIVED_SSR_FL.SSR_DTL_FIELD5.Value | ", " |
Char(10) | Char(13) | &InstrName;

&rsclassdetaillff(&instructorrow).DERIVED_SSR_FL.SSR_DTL_FIELD5.Visible = False;

&rsclassdetaillff(&instructorrow).DERIVED_SSR_FL.SSR_INSTR_NME_FL.Visible = True;

&rsclassdetaillff(&instructorrow).DERIVED_SSR_FL.SSR_INSTR_NME_FL.Label =
&rsclassdetaillff(&instructorrow).DERIVED_SSR_FL.SSR_INSTR_NME_FL.Label | ", " |
Char(10) | Char(13) | &InstrName;
End-If;
End-If;
End-If;

End-For;

/* Find Secondary Instructors */


If &bInstructorExist Then
For &iInstructor = 1 To &rsInstructor.ActiveRowCount
If All(&rsInstructor(&iInstructor).CLASS_INSTR_VW.CRSE_ID.Value)
Then

If &rsInstructor(&iInstructor).CLASS_INSTR_VW.INSTR_ROLE.Value =
"SI" Then
&InstrName =
&instructorUtil.GetDisplayName(&rsInstructor(&iInstructor).CLASS_INSTR_VW.EMPLID.Va
lue);

&iSecIndx = &iSecIndx + 1;
If &iSecIndx = 1 Then
If
&rsclassdetaillff(&instructorrow).DERIVED_SSR_FL.SSR_INSTR_NME_FL.Label <> "" Then

&rsclassdetaillff(&instructorrow).DERIVED_SSR_FL.SSR_DTL_FIELD5.Value =
&rsclassdetaillff(&instructorrow).DERIVED_SSR_FL.SSR_INSTR_NME_FL.Label | ", " |
Char(10) | Char(13) | &InstrName;

&rsclassdetaillff(&instructorrow).DERIVED_SSR_FL.SSR_DTL_FIELD5.Visible = False;

&rsclassdetaillff(&instructorrow).DERIVED_SSR_FL.SSR_INSTR_NME_FL.Visible = True;
&rsclassdetaillff(&instructorrow).DERIVED_SSR_FL.SSR_INSTR_NME_FL.Label =
&rsclassdetaillff(&instructorrow).DERIVED_SSR_FL.SSR_INSTR_NME_FL.Label | ", " |
Char(10) | Char(13) | &InstrName;
Else

&rsclassdetaillff(&instructorrow).DERIVED_SSR_FL.SSR_DTL_FIELD5.Value = &InstrName;

&rsclassdetaillff(&instructorrow).DERIVED_SSR_FL.SSR_DTL_FIELD5.Visible = False;

&rsclassdetaillff(&instructorrow).DERIVED_SSR_FL.SSR_INSTR_NME_FL.Visible = True;

&rsclassdetaillff(&instructorrow).DERIVED_SSR_FL.SSR_INSTR_NME_FL.Label =
&InstrName;
End-If;
Else
If &iSecIndx = 2 Then
&iPrevIndx = &i - 1;

&rsclassdetaillff(&instructorrow).DERIVED_SSR_FL.SSR_DTL_FIELD5.Value =
&rsclassdetaillff(&instructorrow).DERIVED_SSR_FL.SSR_DTL_FIELD5.Value | ", " |
Char(10) | Char(13) | &InstrName;

&rsclassdetaillff(&instructorrow).DERIVED_SSR_FL.SSR_DTL_FIELD5.Visible = False;

&rsclassdetaillff(&instructorrow).DERIVED_SSR_FL.SSR_INSTR_NME_FL.Visible = True;

&rsclassdetaillff(&instructorrow).DERIVED_SSR_FL.SSR_INSTR_NME_FL.Label =
&rsclassdetaillff(&instructorrow).DERIVED_SSR_FL.SSR_INSTR_NME_FL.Label | ", " |
Char(10) | Char(13) | &InstrName;
End-If;
End-If;
End-If;
End-If;
End-For;
End-If;

/* Find Teaching Assistants */


If &bInstructorExist Then
For &iInstructor = 1 To &rsInstructor.ActiveRowCount
If All(&rsInstructor(&iInstructor).CLASS_INSTR_VW.CRSE_ID.Value)
Then

If &rsInstructor(&iInstructor).CLASS_INSTR_VW.INSTR_ROLE.Value =
"TA" Then
&InstrName =
&instructorUtil.GetDisplayName(&rsInstructor(&iInstructor).CLASS_INSTR_VW.EMPLID.Va
lue);

&iTAIndx = &iTAIndx + 1;
If &iTAIndx = 1 Then
If
&rsclassdetaillff(&instructorrow).DERIVED_SSR_FL.SSR_INSTR_NME_FL.Label <> "" Then

&rsclassdetaillff(&instructorrow).DERIVED_SSR_FL.SSR_DTL_FIELD5.Value =
&rsclassdetaillff(&instructorrow).DERIVED_SSR_FL.SSR_INSTR_NME_FL.Label | ", " |
Char(10) | Char(13) | &InstrName;

&rsclassdetaillff(&instructorrow).DERIVED_SSR_FL.SSR_DTL_FIELD5.Visible = False;
&rsclassdetaillff(&instructorrow).DERIVED_SSR_FL.SSR_INSTR_NME_FL.Visible = True;

&rsclassdetaillff(&instructorrow).DERIVED_SSR_FL.SSR_INSTR_NME_FL.Label =
&rsclassdetaillff(&instructorrow).DERIVED_SSR_FL.SSR_INSTR_NME_FL.Label | ", " |
Char(10) | Char(13) | &InstrName;
Else

&rsclassdetaillff(&instructorrow).DERIVED_SSR_FL.SSR_DTL_FIELD4.Value = &InstrName;

&rsclassdetaillff(&instructorrow).DERIVED_SSR_FL.SSR_DTL_FIELD4.Visible = False;

&rsclassdetaillff(&instructorrow).DERIVED_SSR_FL.SSR_INSTR_NME_FL.Visible = True;

&rsclassdetaillff(&instructorrow).DERIVED_SSR_FL.SSR_INSTR_NME_FL.Label =
&InstrName;
End-If;
Else
If &iTAIndx = 2 Then
&iPrevIndx = &i - 1;

&rsclassdetaillff(&instructorrow).DERIVED_SSR_FL.SSR_DTL_FIELD5.Value =
&rsclassdetaillff(&instructorrow).DERIVED_SSR_FL.SSR_DTL_FIELD5.Value | ", " |
Char(10) | Char(13) | &InstrName;

&rsclassdetaillff(&instructorrow).DERIVED_SSR_FL.SSR_DTL_FIELD5.Visible = False;

&rsclassdetaillff(&instructorrow).DERIVED_SSR_FL.SSR_INSTR_NME_FL.Visible = True;

&rsclassdetaillff(&instructorrow).DERIVED_SSR_FL.SSR_INSTR_NME_FL.Label =
&rsclassdetaillff(&instructorrow).DERIVED_SSR_FL.SSR_INSTR_NME_FL.Label | ", " |
Char(10) | Char(13) | &InstrName;
End-If;
End-If;
End-If;
End-If;
End-For;
End-If;

&instructorrow = &instructorrow + 1;
&rsclassdetaillff.InsertRow(&instructorrow);

&rsclassdetaillff(&rowclassinfo).DERIVED_SSR_FL.SSR_DTL_FIELD1.Value =
&formatter.FormatDate(&rsMtgPat(&i).CLASS_MTG_VW.START_DT.Value) | " - " |
&formatter.FormatDate(&rsMtgPat(&i).CLASS_MTG_VW.END_DT.Value);
&rsclassdetaillff(&rowclassinfo).DERIVED_SSR_FL.SSR_DTL_FIELD2.Value =
&sday;
&rsclassdetaillff(&rowclassinfo).DERIVED_SSR_FL.SSR_DTL_FIELD3.Value =
&sTime;
&rsclassdetaillff(&rowclassinfo).DERIVED_SSR_FL.SSR_DTL_FIELD4.Value =
&sFacility;
&rsclassdetaillff(&rowclassinfo).DERIVED_SSR_FL.SSR_DTL_FIELD5.Value =
&rsMtgPat(&i).CLASS_MTG_VW.CLASS_MTG_NBR.Value;
&rsclassdetaillff(&rowclassinfo).DERIVED_SSR_FL.SSR_DTL_FIELD5.Visible =
False;
&rsclassdetaillff(&rowclassinfo).DERIVED_SSR_FL.SSR_DTL_FIELD6.Visible =
False;

If (&rsclassdetaillff(&rowclassinfo).DERIVED_SSR_FL.SSR_INSTR_NME_FL.Label
= MsgGetText(14770, 523, "Message Not Found") And
&rowclassinfo > 1) Or

(LTrim(RTrim(&rsclassdetaillff(&rowclassinfo).DERIVED_SSR_FL.SSR_INSTR_NME_FL.Label
)) = "") Then

&rsclassdetaillff(&rowclassinfo).DERIVED_SSR_FL.SSR_INSTR_NME_FL.Label
= MsgGetText(14770, 543, "Message Not Found");

&rsclassdetaillff(&rowclassinfo).DERIVED_SSR_FL.SSR_INSTR_NME_FL.Enabled = False;

&rsclassdetaillff(&rowclassinfo).DERIVED_SSR_FL.SSR_INSTR_NME_FL.AddFFClass("psa_co
lor-black");

&rsclassdetaillff(&rowclassinfo).DERIVED_SSR_FL.SSR_INSTR_NME_FL.DisplayOnly =
True;
Else

&rsclassdetaillff(&rowclassinfo).DERIVED_SSR_FL.SSR_INSTR_NME_FL.Enabled = True;
End-If;

&rsclassdetaillff(&rowclassinfo).DERIVED_SSR_FL.SSR_INSTR_NME_FL.Enabled =
%This.viewInstructorDetails();
If Not %This.viewInstructorDetails() Then

&rsclassdetaillff(&rowclassinfo).DERIVED_SSR_FL.SSR_INSTR_NME_FL.AddFFClass("psa_co
lor-black");

&rsclassdetaillff(&rowclassinfo).DERIVED_SSR_FL.SSR_INSTR_NME_FL.Enabled = False;

&rsclassdetaillff(&rowclassinfo).DERIVED_SSR_FL.SSR_INSTR_NME_FL.DisplayOnly =
True;
End-If;

&rowclassinfo = &instructorrow;

End-For;

&rsclassdetaillff.DeleteRow(&rowclassinfo); /* Delete empty row */


&rsclassdetaillff.DeleteRow(&rowclassinfo); /* Delete empty row */
Else
DERIVED_SSR_FL.SSR_GRP_MD.Visible = False;
DERIVED_SSR_FL.SSR_GRP_EI.Visible = False;
DERIVED_SSR_FL.SSR_GRP_CO.Visible = True;
DERIVED_SSR_FL.SSR_CLS_NOTES_LBL.Visible = False;
&rsconsnattr = GetRowset(Scroll.SSR_DUMMY_RECV1);
&rsconsnattr.Flush();
&rsconsnattr.InsertRow(1);
&rsconsnattr(1).SSR_CLASSDTL_FL.SSR_CLASSDTL_LBL.Value = MsgGetText(14770,
543, "Message not found");
End-If;
end-method;

method DERIVED_SSR_FL__SSR_INSTR_NME_FL_FieldChange
Local string &sModalOptions;
Local integer &ReturnCode;

&instrpagecheck = 1;
&class_mtg_nbr = Value(LTrim(RTrim(DERIVED_SSR_FL.SSR_DTL_FIELD5.Value)));
If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then
&sModalOptions = GetHTMLText(HTML.SCC_MO_FULLSCREEN_FL);
Else
If %Request.BrowserDeviceType = "tablet" Then
&sModalOptions = GetHTMLText(HTML.SCC_MO_FULLSCREEN_FL);
Else
&sModalOptions = GetHTMLText(HTML.SCC_MO_POPUP_FL) |
"width@550;height@250;";
End-If;
End-If;
&instrcheck = "";
&ReturnCode = DoModalPopup(&sModalOptions, "", False, False,
Page.SSR_INSTDTL_LF_SCF, MsgGetText(14770, 580, "Message not found"), - 1, - 1, 0);
end-method;

method SSR_INSTDTL_LF_SCF_Activate
Local Rowset &rsinstrlist;
Local integer &cntinstrlist, &i;
Local Record &recimage = CreateRecord(Record.EMPL_PHOTO);

&rsinstrlist = GetRowset(Scroll.CLASS_INSTR_VW);
&cntinstrlist = &rsinstrlist.Select(Record.CLASS_INSTR_VW, "where crse_id=:1 and
crse_offer_nbr =:2 and class_section=:3 and class_mtg_nbr=:4 and strm =:5 and
session_code =:6", &crse_id, &crse_offer_nbr, &class_section, &class_mtg_nbr,
&recTerm, &session_code);

DERIVED_SSR_FL.SSR_IMG_REF1.Value = Image.PS_DUMMY_PHOTO_L_FL;

For &i = 1 To &cntinstrlist


&rsinstrlist(&i).DERIVED_SSR_FL.SSR_INSTR_FL.Label =
&rsinstrlist(&i).SCC_PRFPRIMNMVW.NAME_DISPLAY.Value;
&rsinstrlist(&i).DERIVED_SSR_FL.SSR_INSTR_FL.Value =
&rsinstrlist(&i).CLASS_INSTR_VW.EMPLID.Value;
End-For;
&rsinstrlist.Sort(SCC_PRFPRIMNMVW.NAME_DISPLAY, "A");
If &instrcheck = "" Then
&instrcheck = &rsinstrlist(1).CLASS_INSTR_VW.EMPLID.Value;
End-If;

If &cntinstrlist = 1 Then
DERIVED_SSR_FL.SSR_GRPBOX_INSTR.Visible = False;
Else
If &cntinstrlist > 1 Then
DERIVED_SSR_FL.SSR_GRPBOX_INSTR.Visible = True;
End-If;
End-If;

DERIVED_SSR_FL.SSR_IMG_REF1.Value = Image.PS_DUMMY_PHOTO_L_FL;
%This.LoadInstructordetails(&instrcheck, &instrpagecheck);

end-method;

method LoadInstructordetails
/+ &instructorid as String, +/
/+ &instrcnt as Integer +/

Local Rowset &rssetupinstdtl, &rsinstrlist;


Local Record &recemailaddr, &recphone, &recaddress, &recimage;
Local integer &cntsetupinstdtl, &displimg, &i;

If &instrcnt = 1 Then
&rsinstrlist = GetRowset(Scroll.CLASS_INSTR_VW);
Else
&rsinstrlist = GetLevel0()(1).GetRowset(Scroll.CLASS_INSTR_VW);
End-If;
&rsinstrlist.Sort(SCC_PRFPRIMNMVW.NAME_DISPLAY, "A");
&rssetupinstdtl = CreateRowset(Record.SSR_INSTRDSP_FL);
&recemailaddr = CreateRecord(Record.EMAIL_ADDRESSES);
&recphone = CreateRecord(Record.PERSONAL_PHONE);
&recaddress = CreateRecord(Record.ADDRESSES);
&recimage = CreateRecord(Record.EMPL_PHOTO);
&cntsetupinstdtl = &rssetupinstdtl.Fill();

If &rssetupinstdtl(1).SSR_INSTRDSP_FL.SSR_INSTR_P_SHOW.Value <> "Y" Then


DERIVED_SSR_FL.SSR_SHOW_PHOTO.Visible = False;
Else
DERIVED_SSR_FL.SSR_SHOW_PHOTO.Visible = True;

&recimage.EMPLID.Value = &instructorid;

If &recimage.SelectByKey() Then
DERIVED_SSR_FL.SSR_IMG_REF.Visible = True;
DERIVED_SSR_FL.SSR_IMG_REF.Value = &recimage.EMPLOYEE_PHOTO.Value;
DERIVED_SSR_FL.SSR_IMG_REF1.Visible = False;
Else
DERIVED_SSR_FL.SSR_IMG_REF.Visible = False;
DERIVED_SSR_FL.SSR_IMG_REF1.Visible = True;
End-If;
End-If;

Local string &INSTR_ROLE;


Local integer &instr_cnt, &j, &instr_cnt2;
&instr_cnt = 0;

For &i = 1 To &rsinstrlist.ActiveRowCount


If &instructorid = &rsinstrlist(&i).CLASS_INSTR_VW.EMPLID.Value Then
&INSTR_ROLE = &rsinstrlist(&i).CLASS_INSTR_VW.INSTR_ROLE.Value;
For &j = 1 To &rsinstrlist.ActiveRowCount
If &instructorid = &rsinstrlist(&j).CLASS_INSTR_VW.EMPLID.Value And
&INSTR_ROLE = &rsinstrlist(&j).CLASS_INSTR_VW.INSTR_ROLE.Value
Then
&instr_cnt = &instr_cnt + 1;
&instr_cnt2 = &instr_cnt;

Else
If &INSTR_ROLE = &rsinstrlist(&j).CLASS_INSTR_VW.INSTR_ROLE.Value
Then
&instr_cnt = &instr_cnt + 1;
End-If;
End-If;
End-For;
DERIVED_SSR_FL.SSR_PRIM_INSTR.Value =
&rsinstrlist(&i).SCC_PRFPRIMNMVW.NAME_DISPLAY.Value;
If &instr_cnt > 1 Then
DERIVED_SSR_FL.SSR_PRIM_INSTR.Label =
&rsinstrlist(&i).CLASS_INSTR_VW.INSTR_ROLE.LongTranslateValue | " " | &instr_cnt2;
Else
DERIVED_SSR_FL.SSR_PRIM_INSTR.Label =
&rsinstrlist(&i).CLASS_INSTR_VW.INSTR_ROLE.LongTranslateValue;
End-If;
Break;
End-If;
End-For;

&recphone.EMPLID.Value = &instructorid;
&recphone.PHONE_TYPE.Value =
&rssetupinstdtl(1).SSR_INSTRDSP_FL.PHONE_TYPE.Value;

If &recphone.SelectByKey() Then
DERIVED_SSR_FL.PHONE.Label = "";
DERIVED_SSR_FL.PHONE.Value = &recphone.PHONE.Value;
Else
DERIVED_SSR_FL.PHONE.Label = MsgGetText(14770, 611, "Message not found");
DERIVED_SSR_FL.PHONE.Value = "";
End-If;

&recemailaddr.EMPLID.Value = &instructorid;
&recemailaddr.E_ADDR_TYPE.Value =
&rssetupinstdtl(1).SSR_INSTRDSP_FL.E_ADDR_TYPE.Value;

If &recemailaddr.SelectByKey() Then
DERIVED_SSR_FL.EMAIL_ADDR.Label = "";
DERIVED_SSR_FL.EMAIL_ADDR.Value = &recemailaddr.EMAIL_ADDR.Value;

Else

DERIVED_SSR_FL.EMAIL_ADDR.Label = MsgGetText(14770, 612, "Message not


found");
DERIVED_SSR_FL.EMAIL_ADDR.Value = "";
End-If;

&recaddress.EMPLID.Value = &instructorid;
&recaddress.ADDRESS_TYPE.Value =
&rssetupinstdtl(1).SSR_INSTRDSP_FL.ADDRESS_TYPE.Value;

If &recaddress.SelectByKeyEffDt(%Date) Then
If LTrim(RTrim(&recaddress.ADDRESS1.Value)) <> "" Then
GetLevel0()(1).DERIVED_SSR_FL.ADDRESS1.Label = "";
GetLevel0()(1).DERIVED_SSR_FL.ADDRESS1.Value = &recaddress.ADDRESS1.Value;
GetLevel0()(1).DERIVED_SSR_FL.ADDRESS1.Visible = True;
Else
GetLevel0()(1).DERIVED_SSR_FL.ADDRESS1.Visible = False;
End-If;

If LTrim(RTrim(&recaddress.ADDRESS2.Value)) <> "" Then


GetLevel0()(1).DERIVED_SSR_FL.ADDRESS2.Value = &recaddress.ADDRESS2.Value;
GetLevel0()(1).DERIVED_SSR_FL.ADDRESS2.Visible = True;
Else
GetLevel0()(1).DERIVED_SSR_FL.ADDRESS2.Visible = False;
End-If;

If LTrim(RTrim(&recaddress.ADDRESS3.Value)) <> "" Then


GetLevel0()(1).DERIVED_SSR_FL.ADDRESS3.Value = &recaddress.ADDRESS3.Value;
GetLevel0()(1).DERIVED_SSR_FL.ADDRESS3.Visible = True;
Else
GetLevel0()(1).DERIVED_SSR_FL.ADDRESS3.Visible = False;
End-If;

If LTrim(RTrim(&recaddress.ADDRESS4.Value)) <> "" Then


GetLevel0()(1).DERIVED_SSR_FL.ADDRESS4.Value = &recaddress.ADDRESS4.Value;
GetLevel0()(1).DERIVED_SSR_FL.ADDRESS4.Visible = True;
Else
GetLevel0()(1).DERIVED_SSR_FL.ADDRESS4.Visible = False;
End-If;

If LTrim(RTrim(&recaddress.CITY.Value)) <> "" Then


GetLevel0()(1).DERIVED_SSR_FL.CITY.Value = &recaddress.CITY.Value;
GetLevel0()(1).DERIVED_SSR_FL.CITY.Visible = True;
Else
GetLevel0()(1).DERIVED_SSR_FL.CITY.Visible = False;
End-If;

If LTrim(RTrim(&recaddress.COUNTY.Value)) <> "" Then


GetLevel0()(1).DERIVED_SSR_FL.COUNTY.Value = &recaddress.COUNTY.Value;
GetLevel0()(1).DERIVED_SSR_FL.COUNTY.Visible = True;
Else
GetLevel0()(1).DERIVED_SSR_FL.COUNTY.Visible = False;
End-If;

If LTrim(RTrim(&recaddress.STATE.Value)) <> "" Then


GetLevel0()(1).DERIVED_SSR_FL.STATE.Value = &recaddress.STATE.Value;
GetLevel0()(1).DERIVED_SSR_FL.STATE.Visible = True;
Else
GetLevel0()(1).DERIVED_SSR_FL.STATE.Visible = False;
End-If;

If LTrim(RTrim(&recaddress.POSTAL.Value)) <> "" Then


GetLevel0()(1).DERIVED_SSR_FL.POSTAL.Value = &recaddress.POSTAL.Value;
GetLevel0()(1).DERIVED_SSR_FL.POSTAL.Visible = True;
Else
GetLevel0()(1).DERIVED_SSR_FL.POSTAL.Visible = False;
End-If;

If LTrim(RTrim(&recaddress.COUNTRY.Value)) <> "" Then


GetLevel0()(1).DERIVED_SSR_FL.COUNTRY.Value = &recaddress.COUNTRY.Value;
GetLevel0()(1).DERIVED_SSR_FL.COUNTRY.Visible = True;
Else
GetLevel0()(1).DERIVED_SSR_FL.COUNTRY.Visible = False;
End-If;

Else
GetLevel0()(1).DERIVED_SSR_FL.ADDRESS1.Label = MsgGetText(14770, 613,
"Message not found");
GetLevel0()(1).DERIVED_SSR_FL.ADDRESS1.Value = "";
GetLevel0()(1).DERIVED_SSR_FL.ADDRESS2.Visible = False;
GetLevel0()(1).DERIVED_SSR_FL.ADDRESS3.Visible = False;
GetLevel0()(1).DERIVED_SSR_FL.ADDRESS4.Visible = False;
GetLevel0()(1).DERIVED_SSR_FL.CITY.Visible = False;
GetLevel0()(1).DERIVED_SSR_FL.COUNTY.Visible = False;
GetLevel0()(1).DERIVED_SSR_FL.STATE.Visible = False;
GetLevel0()(1).DERIVED_SSR_FL.POSTAL.Visible = False;
GetLevel0()(1).DERIVED_SSR_FL.COUNTRY.Visible = False;
End-If;
end-method;
method DERIVED_SSR_FL__SSR_INSTR_FL_FieldChange
&instrcheck = DERIVED_SSR_FL.SSR_INSTR_FL.Value;
%This.LoadInstructordetails(&instrcheck, 2);
end-method;

method SSR_CLASSDTL_SCF_Activate

AddStyleSheet(StyleSheet.SSR_SS);

DERIVED_SSR_FL.SSR_SBJ_CAT_NBR.Value = RTrim(&subject) | " " |


LTrim(&catalog_nbr) | " " | &sCourseTitle;
DERIVED_SSR_FL.SSR_CLASS_SPECS.Value = &sClassSpecs;

Local string &selectedTab = %This.DefaultTab;

DERIVED_SSR_FL.SSR_CL_DTLS_OPT.Value = &selectedTab;

Evaluate &selectedTab
When &MeetingDetails
%This.MeetingDetails_SFF();
DERIVED_SSR_FL.SSR_GRP_MD.Visible = True;
DERIVED_SSR_FL.SSR_GRP_CD.Visible = False;
When &ClassDetails
%This.ClassDetails_SFF();
DERIVED_SSR_FL.SSR_GRP_MD.Visible = False;
DERIVED_SSR_FL.SSR_GRP_CD.Visible = True;
End-Evaluate;

end-method;

method MeetingDetails_SFF
Local SSR_MANAGE_CLASSES:UTIL:Formatter &formatter = create
SSR_MANAGE_CLASSES:UTIL:Formatter();
Local SSR_MANAGE_CLASSES:UTIL:Instructor &instructorUtil = create
SSR_MANAGE_CLASSES:UTIL:Instructor();

Local Rowset &rsMtgDtl, &rsMtgPat, &rsInstructor, &rsgetsetid, &rsgetprofile;


Local integer &iMtgPat, &iMtgDtl, &iInstructor, &cntgetsetid;

Local Rowset &Level0 = GetLevel0();


Local Row &Level0_Row = &Level0(1);
&rsgetsetid = CreateRowset(Record.SET_CNTRL_REC);
&rsMtgDtl = &Level0_Row.GetRowset(Scroll.SSR_DUMMY_RECV2);
&rsMtgPat = CreateRowset(Record.CLASS_MTG_VW);

&rsMtgPat.Fill("WHERE Fill.CRSE_ID=:1 AND Fill.CRSE_OFFER_NBR=:2 AND


Fill.STRM=:3 AND Fill.SESSION_CODE=:4 and Fill.CLASS_SECTION=:5", &crse_id,
&crse_offer_nbr, &recTerm, &session_code, &class_section);

AddStyleSheet(StyleSheet.SSR_GRID_HG1_FL);

If &rsMtgPat.ActiveRowCount > 0 Then


Local string &sMon =
&rsMtgPat(&rsMtgPat.ActiveRowCount).CLASS_MTG_VW.MON.GetLongLabel("MON");
Local string &sTues =
&rsMtgPat(&rsMtgPat.ActiveRowCount).CLASS_MTG_VW.TUES.GetLongLabel("TUES");
Local string &sWed =
&rsMtgPat(&rsMtgPat.ActiveRowCount).CLASS_MTG_VW.WED.GetLongLabel("WED");
Local string &sThurs =
&rsMtgPat(&rsMtgPat.ActiveRowCount).CLASS_MTG_VW.THURS.GetLongLabel("THURS");
Local string &sFri =
&rsMtgPat(&rsMtgPat.ActiveRowCount).CLASS_MTG_VW.FRI.GetLongLabel("FRI");
Local string &sSat =
&rsMtgPat(&rsMtgPat.ActiveRowCount).CLASS_MTG_VW.SAT.GetLongLabel("SAT");
Local string &sSun =
&rsMtgPat(&rsMtgPat.ActiveRowCount).CLASS_MTG_VW.SUN.GetLongLabel("SUN");
End-If;
&rsMtgDtl.Flush();

For &iMtgPat = 1 To &rsMtgPat.ActiveRowCount


If All(&rsMtgPat(&iMtgPat).CLASS_MTG_VW.CRSE_ID.Value) Then

If &iMtgDtl <> 0 Then


&rsMtgDtl.InsertRow(&iMtgDtl);
End-If;
&iMtgDtl = &iMtgDtl + 1;

If &iMtgDtl = 1 Then
Local string &sTO =
&rsMtgDtl(&iMtgDtl).SSR_DER1_MTG_FL.SSR_MTGINFO_DATA.GetShortLabel("SSR_TO");

End-If;

&rsMtgDtl(&iMtgDtl).SSR_DER1_MTG_FL.SSR_MTGINFO_LBL.Value = " ";


&rsMtgDtl(&iMtgDtl).SSR_DER1_MTG_FL.SSR_MTGINFO_DATA.Label = " ";
&rsMtgDtl(&iMtgDtl).SSR_DER1_MTG_FL.SSR_MTGINFO_DATA.Enabled = False;

&rsMtgDtl(&iMtgDtl).SSR_DER1_MTG_FL.SSR_MTGINFO_DATA.AddFFClass("psa_color-black");

If &iMtgDtl = 1 Then
&rsMtgDtl(&iMtgDtl).FreeFormStyleName = "psc_font-size033em";
Else
&rsMtgDtl(&iMtgDtl).FreeFormStyleName = "psc_font-size05em";
End-If;

&rsMtgDtl.InsertRow(&iMtgDtl);
&iMtgDtl = &iMtgDtl + 1;

Local string &L_ClassDates;


&rsMtgDtl(&iMtgDtl).SSR_DER1_MTG_FL.SSR_MTGINFO_LBL.Value =
MsgGetText(14770, 538, "Message Not Found");
Local string &L_NewDateString =
&formatter.FormatDate(&rsMtgPat(&iMtgPat).CLASS_MTG_VW.START_DT.Value);
&L_ClassDates = &L_NewDateString | " " | &sTO | " ";
&L_NewDateString =
&formatter.FormatDate(&rsMtgPat(&iMtgPat).CLASS_MTG_VW.END_DT.Value);
&L_ClassDates = &L_ClassDates | &L_NewDateString;
&rsMtgDtl(&iMtgDtl).SSR_DER1_MTG_FL.SSR_MTGINFO_DATA.Label =
&L_ClassDates;
&rsMtgDtl(&iMtgDtl).SSR_DER1_MTG_FL.SSR_MTGINFO_DATA.Enabled = False;

&rsMtgDtl(&iMtgDtl).SSR_DER1_MTG_FL.SSR_MTGINFO_DATA.AddFFClass("psa_color-black");

&rsMtgDtl.InsertRow(&iMtgDtl);
&iMtgDtl = &iMtgDtl + 1;
Local string &sday = "";
Local boolean &bConscDaysBrkn = False;
Local integer &iConscDaysCtr = 0;
Local string &sFirstDay = " ";
Local string &sLastDay = " ";
Local string &sPrevDay = " ";

If &rsMtgPat(&iMtgPat).CLASS_MTG_VW.MON.Value Then
&sday = &sday |
&rsMtgPat(&iMtgPat).CLASS_MTG_VW.MON.GetLongLabel("MON") | " ";
&sFirstDay = &sMon;
&sPrevDay = &sMon;
&iConscDaysCtr = &iConscDaysCtr + 1;
End-If;

If &rsMtgPat(&iMtgPat).CLASS_MTG_VW.TUES.Value Then
&sday = &sday |
&rsMtgPat(&iMtgPat).CLASS_MTG_VW.TUES.GetLongLabel("TUES") | " ";
If &sPrevDay = &sMon Then
&iConscDaysCtr = &iConscDaysCtr + 1;
&sLastDay = &sTues;
Else
&iConscDaysCtr = 1;
&sFirstDay = &sTues;
&sLastDay = " ";
End-If;
&sPrevDay = &sTues;
End-If;

If &rsMtgPat(&iMtgPat).CLASS_MTG_VW.WED.Value Then
&sday = &sday |
&rsMtgPat(&iMtgPat).CLASS_MTG_VW.WED.GetLongLabel("WED") | " ";
If &sPrevDay = &sTues Then
&iConscDaysCtr = &iConscDaysCtr + 1;
&sLastDay = &sWed;
Else
If &iConscDaysCtr <> 0 Then
&bConscDaysBrkn = True;
Else
&iConscDaysCtr = 1;
&sFirstDay = &sWed;
&sLastDay = " ";
End-If;
End-If;
&sPrevDay = &sWed;
End-If;

If &rsMtgPat(&iMtgPat).CLASS_MTG_VW.THURS.Value Then
&sday = &sday |
&rsMtgPat(&iMtgPat).CLASS_MTG_VW.THURS.GetLongLabel("THURS") | " ";
If Not &bConscDaysBrkn Then
If &sPrevDay = &sWed Then
&iConscDaysCtr = &iConscDaysCtr + 1;
&sLastDay = &sThurs;
Else
If &iConscDaysCtr <> 0 Then
&bConscDaysBrkn = True;
Else
&iConscDaysCtr = 1;
&sFirstDay = &sThurs;
&sLastDay = " ";
End-If;
End-If;
&sPrevDay = &sThurs;
End-If;
End-If;

If &rsMtgPat(&iMtgPat).CLASS_MTG_VW.FRI.Value Then
&sday = &sday |
&rsMtgPat(&iMtgPat).CLASS_MTG_VW.FRI.GetLongLabel("FRI") | " ";
If Not &bConscDaysBrkn Then
If &sPrevDay = &sThurs Then
&iConscDaysCtr = &iConscDaysCtr + 1;
&sLastDay = &sFri;
Else
If &iConscDaysCtr <> 0 Then
&bConscDaysBrkn = True;
Else
&iConscDaysCtr = 0;
&sFirstDay = " ";
&sLastDay = " ";
End-If;
End-If;
&sPrevDay = &sFri;
End-If;
End-If;

If &rsMtgPat(&iMtgPat).CLASS_MTG_VW.SAT.Value Then
&sday = &sday |
&rsMtgPat(&iMtgPat).CLASS_MTG_VW.SAT.GetLongLabel("SAT") | " ";
If Not &bConscDaysBrkn Then
If &sPrevDay = &sFri Then
&iConscDaysCtr = &iConscDaysCtr + 1;
&sLastDay = &sSat;
Else
If &iConscDaysCtr <> 0 Then
&bConscDaysBrkn = True;
Else
&iConscDaysCtr = 0;
&sFirstDay = " ";
&sLastDay = " ";
End-If;
End-If;
&sPrevDay = &sSat;
End-If;
End-If;

If &rsMtgPat(&iMtgPat).CLASS_MTG_VW.SUN.Value Then
&sday = &sday |
&rsMtgPat(&iMtgPat).CLASS_MTG_VW.SUN.GetLongLabel("SUN") | " ";
If Not &bConscDaysBrkn Then
If &sPrevDay = &sSat Then
&iConscDaysCtr = &iConscDaysCtr + 1;
&sLastDay = &sSun;
Else
If &iConscDaysCtr <> 0 Then
&bConscDaysBrkn = True;
Else
&iConscDaysCtr = 0;
&iConscDaysCtr = 0;
&sFirstDay = " ";
&sLastDay = " ";
End-If;
End-If;
&sPrevDay = &sSun;
End-If;
End-If;

If &sday = "" Then


&sday = MsgGetText(14770, 543, "Message Not Found");
Else
If ( Not &bConscDaysBrkn) And
(&iConscDaysCtr > 3) Then
&sday = &sFirstDay | " " | &sTO | " " | &sLastDay;
End-If;
End-If;

&rsMtgDtl(&iMtgDtl).SSR_DER1_MTG_FL.SSR_MTGINFO_LBL.Value =
MsgGetText(14770, 514, "Message not found.");
&rsMtgDtl(&iMtgDtl).SSR_DER1_MTG_FL.SSR_MTGINFO_DATA.Label = &sday;
&rsMtgDtl(&iMtgDtl).SSR_DER1_MTG_FL.SSR_MTGINFO_DATA.Enabled = False;

&rsMtgDtl(&iMtgDtl).SSR_DER1_MTG_FL.SSR_MTGINFO_DATA.AddFFClass("psa_color-black");

If &iMtgDtl <> 0 Then


&rsMtgDtl.InsertRow(&iMtgDtl);
End-If;
&iMtgDtl = &iMtgDtl + 1;

Local string &sTime = "";


If (&rsMtgPat(&iMtgPat).CLASS_MTG_VW.MEETING_TIME_START.Value <> 0.00) And
(&rsMtgPat(&iMtgPat).CLASS_MTG_VW.MEETING_TIME_START.Value <>
Time("")) Then
Local string &L_NewTime =
&formatter.FormatTime(&rsMtgPat(&iMtgPat).CLASS_MTG_VW.START_DT.Value,
&rsMtgPat(&iMtgPat).CLASS_MTG_VW.MEETING_TIME_START.Value);
&sTime = &L_NewTime | " " | &sTO | " ";
&L_NewTime =
&formatter.FormatTime(&rsMtgPat(&iMtgPat).CLASS_MTG_VW.START_DT.Value,
&rsMtgPat(&iMtgPat).CLASS_MTG_VW.MEETING_TIME_END.Value);
&sTime = &sTime | &L_NewTime;
End-If;

If &sTime = "" Then


&sTime = MsgGetText(14770, 543, "Message Not Found");
End-If;

&rsMtgDtl(&iMtgDtl).SSR_DER1_MTG_FL.SSR_MTGINFO_LBL.Value =
MsgGetText(14770, 515, "Message not found.");
&rsMtgDtl(&iMtgDtl).SSR_DER1_MTG_FL.SSR_MTGINFO_DATA.Label = &sTime;
&rsMtgDtl(&iMtgDtl).SSR_DER1_MTG_FL.SSR_MTGINFO_DATA.Enabled = False;

&rsMtgDtl(&iMtgDtl).SSR_DER1_MTG_FL.SSR_MTGINFO_DATA.AddFFClass("psa_color-black");

&rsMtgDtl.InsertRow(&iMtgDtl);
&iMtgDtl = &iMtgDtl + 1;
&rsMtgDtl(&iMtgDtl).SSR_DER1_MTG_FL.SSR_MTGINFO_LBL.Value =
MsgGetText(14770, 516, "Message not found.");

If All(&rsMtgPat(&iMtgPat).CLASS_MTG_VW.FACILITY_ID.Value) Then
Local Record &recFacility = CreateRecord(Record.FACILITY_TBL_VW);
&cntgetsetid = &rsgetsetid.Fill("WHERE RECNAME = 'FACILITY_TBL' AND
SETCNTRLVALUE = :1", &recInst);
&setId = &rsgetsetid(&cntgetsetid).SET_CNTRL_REC.SETID.Value;

&recFacility.SETID.Value = &setId;
&recFacility.FACILITY_ID.Value =
&rsMtgPat(&iMtgPat).CLASS_MTG_VW.FACILITY_ID.Value;
If &recFacility.SelectByKeyEffDt(&recTermBeginDt) Then
Local string &facility_descr = &recFacility.DESCR.Value;
Else
&facility_descr = MsgGetText(14740, 2134, "Message not found.");
End-If;
Else
&facility_descr = MsgGetText(14770, 543, "Message Not Found");
End-If;
&rsMtgDtl(&iMtgDtl).SSR_DER1_MTG_FL.SSR_MTGINFO_DATA.Label =
&facility_descr;
&rsMtgDtl(&iMtgDtl).SSR_DER1_MTG_FL.SSR_MTGINFO_DATA.Enabled = False;

&rsMtgDtl(&iMtgDtl).SSR_DER1_MTG_FL.SSR_MTGINFO_DATA.AddFFClass("psa_color-black");

&rsInstructor = CreateRowset(Record.CLASS_INSTR_VW);
&rsInstructor.Fill("WHERE Fill.CRSE_ID=:1 AND Fill.CRSE_OFFER_NBR=:2 AND
Fill.STRM=:3 AND Fill.SESSION_CODE=:4 AND Fill.CLASS_SECTION=:5 AND
Fill.CLASS_MTG_NBR=:6", &crse_id, &crse_offer_nbr, &recTerm, &session_code,
&class_section, &rsMtgPat(&iMtgPat).CLASS_MTG_VW.CLASS_MTG_NBR.Value);
Local boolean &bInstructorExist = False;
Local integer &iPrimIndx, &iSecIndx, &iTAIndx;
&iPrimIndx = 0;
&iSecIndx = 0;
&iTAIndx = 0;
For &iInstructor = 1 To &rsInstructor.ActiveRowCount
If All(&rsInstructor(&iInstructor).CLASS_INSTR_VW.CRSE_ID.Value) Then
&bInstructorExist = True;

/* Find Primary Instructors */


If &rsInstructor(&iInstructor).CLASS_INSTR_VW.INSTR_ROLE.Value =
"PI" Then
Local string &InstrName =
&instructorUtil.GetDisplayName(&rsInstructor(&iInstructor).CLASS_INSTR_VW.EMPLID.Va
lue);

&rsMtgDtl.InsertRow(&iMtgDtl);
&iMtgDtl = &iMtgDtl + 1;

&iPrimIndx = &iPrimIndx + 1;
If &iPrimIndx = 1 Then
&rsMtgDtl(&iMtgDtl).SSR_DER1_MTG_FL.SSR_MTGINFO_LBL.Value =
MsgGetText(14770, 517, "Message not found.");
Else
If &iPrimIndx = 2 Then
Local integer &iPrevIndx = &iMtgDtl - 1;
&rsMtgDtl(&iPrevIndx).SSR_DER1_MTG_FL.SSR_MTGINFO_LBL.Value
= MsgGetText(14770, 518, "Message not found.", "1");
End-If;
&rsMtgDtl(&iMtgDtl).SSR_DER1_MTG_FL.SSR_MTGINFO_LBL.Value =
MsgGetText(14770, 518, "Message not found.", &iPrimIndx);
End-If;
&rsMtgDtl(&iMtgDtl).SSR_DER1_MTG_FL.SSR_MTGINFO_DATA.Label =
&InstrName;
&rsMtgDtl(&iMtgDtl).SSR_DER1_MTG_FL.SSR_MTGINFO_DATA.Value =
&rsInstructor(&iInstructor).CLASS_INSTR_VW.EMPLID.Value;
&rsMtgDtl(&iMtgDtl).SSR_DER1_MTG_FL.SSR_MTGINFO_DATA.Enabled =
%This.viewInstructorDetails();
If Not %This.viewInstructorDetails() Then

&rsMtgDtl(&iMtgDtl).SSR_DER1_MTG_FL.SSR_MTGINFO_DATA.AddFFClass("psa_color-black");
End-If;
End-If;
End-If;
End-For;

/* Find Secondary Instructors */


If &bInstructorExist Then
For &iInstructor = 1 To &rsInstructor.ActiveRowCount
If All(&rsInstructor(&iInstructor).CLASS_INSTR_VW.CRSE_ID.Value)
Then

If &rsInstructor(&iInstructor).CLASS_INSTR_VW.INSTR_ROLE.Value =
"SI" Then
&InstrName =
&instructorUtil.GetDisplayName(&rsInstructor(&iInstructor).CLASS_INSTR_VW.EMPLID.Va
lue);

&rsMtgDtl.InsertRow(&iMtgDtl);
&iMtgDtl = &iMtgDtl + 1;

&iSecIndx = &iSecIndx + 1;
If &iSecIndx = 1 Then
&rsMtgDtl(&iMtgDtl).SSR_DER1_MTG_FL.SSR_MTGINFO_LBL.Value =
MsgGetText(14770, 519, "Message not found.");
Else
If &iSecIndx = 2 Then
&iPrevIndx = &iMtgDtl - 1;

&rsMtgDtl(&iPrevIndx).SSR_DER1_MTG_FL.SSR_MTGINFO_LBL.Value = MsgGetText(14770,
520, "Message not found.", "1");
End-If;
&rsMtgDtl(&iMtgDtl).SSR_DER1_MTG_FL.SSR_MTGINFO_LBL.Value =
MsgGetText(14770, 520, "Message not found.", &iSecIndx);
End-If;
&rsMtgDtl(&iMtgDtl).SSR_DER1_MTG_FL.SSR_MTGINFO_DATA.Label =
&InstrName;
&rsMtgDtl(&iMtgDtl).SSR_DER1_MTG_FL.SSR_MTGINFO_DATA.Value =
&rsInstructor(&iInstructor).CLASS_INSTR_VW.EMPLID.Value;
&rsMtgDtl(&iMtgDtl).SSR_DER1_MTG_FL.SSR_MTGINFO_DATA.Enabled =
%This.viewInstructorDetails();
If Not %This.viewInstructorDetails() Then

&rsMtgDtl(&iMtgDtl).SSR_DER1_MTG_FL.SSR_MTGINFO_DATA.AddFFClass("psa_color-black");
End-If;
End-If;
End-If;
End-For;
End-If;

/* Find Teaching Assistants */


If &bInstructorExist Then
For &iInstructor = 1 To &rsInstructor.ActiveRowCount
If All(&rsInstructor(&iInstructor).CLASS_INSTR_VW.CRSE_ID.Value)
Then

If &rsInstructor(&iInstructor).CLASS_INSTR_VW.INSTR_ROLE.Value =
"TA" Then
&InstrName =
&instructorUtil.GetDisplayName(&rsInstructor(&iInstructor).CLASS_INSTR_VW.EMPLID.Va
lue);

&rsMtgDtl.InsertRow(&iMtgDtl);
&iMtgDtl = &iMtgDtl + 1;

&iTAIndx = &iTAIndx + 1;
If &iTAIndx = 1 Then
&rsMtgDtl(&iMtgDtl).SSR_DER1_MTG_FL.SSR_MTGINFO_LBL.Value =
MsgGetText(14770, 521, "Message not found.");
Else
If &iTAIndx = 2 Then
&iPrevIndx = &iMtgDtl - 1;

&rsMtgDtl(&iPrevIndx).SSR_DER1_MTG_FL.SSR_MTGINFO_LBL.Value = MsgGetText(14770,
522, "Message not found.", "1");
End-If;
&rsMtgDtl(&iMtgDtl).SSR_DER1_MTG_FL.SSR_MTGINFO_LBL.Value =
MsgGetText(14770, 522, "Message not found.", &iTAIndx);
End-If;
&rsMtgDtl(&iMtgDtl).SSR_DER1_MTG_FL.SSR_MTGINFO_DATA.Label =
&InstrName;
&rsMtgDtl(&iMtgDtl).SSR_DER1_MTG_FL.SSR_MTGINFO_DATA.Value =
&rsInstructor(&iInstructor).CLASS_INSTR_VW.EMPLID.Value;
&rsMtgDtl(&iMtgDtl).SSR_DER1_MTG_FL.SSR_MTGINFO_DATA.Enabled =
%This.viewInstructorDetails();
If Not %This.viewInstructorDetails() Then

&rsMtgDtl(&iMtgDtl).SSR_DER1_MTG_FL.SSR_MTGINFO_DATA.AddFFClass("psa_color-black");
End-If;

End-If;
End-If;
End-For;
End-If;

If Not &bInstructorExist Then


&rsMtgDtl.InsertRow(&iMtgDtl);
&iMtgDtl = &iMtgDtl + 1;
&rsMtgDtl(&iMtgDtl).SSR_DER1_MTG_FL.SSR_MTGINFO_LBL.Value =
MsgGetText(14770, 523, "Message not found.");
&rsMtgDtl(&iMtgDtl).SSR_DER1_MTG_FL.SSR_MTGINFO_DATA.Label =
MsgGetText(14770, 543, "Message Not Found");
&rsMtgDtl(&iMtgDtl).SSR_DER1_MTG_FL.SSR_MTGINFO_DATA.Enabled = False;

&rsMtgDtl(&iMtgDtl).SSR_DER1_MTG_FL.SSR_MTGINFO_DATA.AddFFClass("psa_color-black");
End-If;

End-If;
End-For;

&rsMtgDtl.DeleteRow(1); /* Delete empty row */

If &iMtgDtl = 0 Then
&iMtgDtl = 1;
&rsMtgDtl.InsertRow(&iMtgDtl);
&rsMtgDtl(&iMtgDtl).SSR_DER1_MTG_FL.SSR_MTGINFO_LBL.Value = MsgGetText(14770,
564, "Message not found.");
&rsMtgDtl(&iMtgDtl).SSR_DER1_MTG_FL.SSR_MTGINFO_DATA.Label =
MsgGetText(14770, 543, "Message Not Found");
&rsMtgDtl(&iMtgDtl).SSR_DER1_MTG_FL.SSR_MTGINFO_DATA.Enabled = False;
&rsMtgDtl(&iMtgDtl).SSR_DER1_MTG_FL.SSR_MTGINFO_DATA.AddFFClass("psa_color-
black");
End-If;

end-method;

method DERIVED_SSR_FL__SSR_CL_DTLS_OPT_FieldChange
Evaluate DERIVED_SSR_FL.SSR_CL_DTLS_OPT
When &MeetingDetails
%This.MeetingDetails_SFF();
DERIVED_SSR_FL.SSR_GRP_MD.Visible = True;
DERIVED_SSR_FL.SSR_GRP_CD.Visible = False;
When &ClassDetails
%This.ClassDetails_SFF();
DERIVED_SSR_FL.SSR_GRP_MD.Visible = False;
DERIVED_SSR_FL.SSR_GRP_CD.Visible = True;
End-Evaluate;
end-method;

method ClassDetails_SFF
Local Rowset &rsgetsetid;
Local integer &cntgetsetid;
&rsgetsetid = CreateRowset(Record.SET_CNTRL_REC);

Local Record &recclassdtl = CreateRecord(Record.CLASS_TBL);


Local Record &recclassassoc = CreateRecord(Record.CLASS_ASSOC);
Local Rowset &reccampus = CreateRowset(Record.CAMPUS_TBL);
Local Rowset &reclocation = CreateRowset(Record.LOCATION_TBL);
Local Rowset &rsclassdtl = GetRowset(Scroll.SSR_DUMMY_RECV1);
Local Rowset &rsclassdtl2 = GetRowset(Scroll.SSR_DUMMY_RECV3);
Local Rowset &rsclassdtl3 = GetRowset(Scroll.SSR_DUMMY_RECV4);
Local Rowset &rectopic = CreateRowset(Record.CRSE_TOPICS);
Local Rowset &rectextbook = CreateRowset(Record.SSR_CLS_TXB_DTL);
Local Rowset &recinstrmode = CreateRowset(Record.INSTRUCT_MODE);
Local Rowset &rscrseoffer = CreateRowset(Record.CRSE_OFFER);
Local Rowset &rscrsemattype = CreateRowset(Record.SSR_CRSEMAT_TBL);
Local Rowset &rsnotes = CreateRowset(Record.CLASS_NOTES);
Local Record &recnotedtls = CreateRecord(Record.CLASS_NOTES_TBL);
Local Rowset &rsclassattr = CreateRowset(Record.CLASS_ATTRIBUTE);
Local Record &reccrseattr = CreateRecord(Record.CRSE_ATTR_TBL);
Local Record &reccrseattrval = CreateRecord(Record.CRSE_ATTR_VALUE);
Local Record &rsenrreq = CreateRecord(Record.RQ_GRP_TBL_D_VW);
Local integer &cntclassdtl, &cntmtgdtl, &cnttextbookfill, &cntset, &cntset2,
&cntset3, &cntset4, &multireq;

&cntclassdtl = 1;
&cntmtgdtl = 0;

&recclassdtl.CRSE_ID.Value = &crse_id;
&recclassdtl.CRSE_OFFER_NBR.Value = &crse_offer_nbr;
&recclassdtl.SESSION_CODE.Value = &session_code;
&recclassdtl.CLASS_SECTION.Value = &class_section;
&recclassdtl.STRM.Value = &recTerm;

&rsclassdtl(&cntclassdtl).FreeFormStyleName = "psc_font-size033em";

If &recclassdtl.SelectByKey() Then
&rsclassdtl.Flush();
&rsclassdtl.InsertRow(&cntclassdtl);
&cntclassdtl = &cntclassdtl + 1;

/* Status */
&rsclassdtl(&cntclassdtl).SSR_CLASSDTL_FL.SSR_CLASSDTL_LBL.Value =
MsgGetText(14770, 524, "Message not found.");

/* Seats */
Local number &AvailSeats;
If &recclassdtl.ENRL_STAT.Value = "C" Then
If &recclassdtl.WAIT_CAP.Value > 0 Then
&AvailSeats = &recclassdtl.WAIT_CAP.Value -
&recclassdtl.WAIT_TOT.Value;
If &AvailSeats < 0 Then
&AvailSeats = 0;
End-If;
If &AvailSeats = 0 Then
&rsclassdtl(&cntclassdtl).SSR_CLASSDTL_FL.SSR_CLASSDTL_DATA.Value =
"Closed";
Else
&rsclassdtl(&cntclassdtl).SSR_CLASSDTL_FL.SSR_CLASSDTL_DATA.Value =
MsgGetText(14770, 525, "Message not found.");
&rsclassdtl.InsertRow(&cntclassdtl);
&cntclassdtl = &cntclassdtl + 1;
&rsclassdtl(&cntclassdtl).SSR_CLASSDTL_FL.SSR_CLASSDTL_LBL.Value =
MsgGetText(14770, 526, "Message not found.");
&rsclassdtl(&cntclassdtl).SSR_CLASSDTL_FL.SSR_CLASSDTL_DATA.Value =
MsgGetText(14770, 527, "Message not found.", &AvailSeats,
&recclassdtl.WAIT_CAP.Value);
End-If;
Else
&rsclassdtl(&cntclassdtl).SSR_CLASSDTL_FL.SSR_CLASSDTL_DATA.Value =
"Closed";
End-If;

Else
&rsclassdtl(&cntclassdtl).SSR_CLASSDTL_FL.SSR_CLASSDTL_DATA.Value =
&recclassdtl.ENRL_STAT.LongTranslateValue;
&rsclassdtl.InsertRow(&cntclassdtl);
&cntclassdtl = &cntclassdtl + 1;
&rsclassdtl(&cntclassdtl).SSR_CLASSDTL_FL.SSR_CLASSDTL_LBL.Value =
MsgGetText(14770, 528, "Message not found.");
&AvailSeats = &recclassdtl.ENRL_CAP.Value - &recclassdtl.ENRL_TOT.Value;
If &AvailSeats < 0 Then
&AvailSeats = 0;
End-If;
&rsclassdtl(&cntclassdtl).SSR_CLASSDTL_FL.SSR_CLASSDTL_DATA.Value =
MsgGetText(14770, 527, "Message not found.", &AvailSeats,
&recclassdtl.ENRL_CAP.Value);
End-If;

/* Campus */
&rsclassdtl.InsertRow(&cntclassdtl);
&cntclassdtl = &cntclassdtl + 1;
&rsclassdtl(&cntclassdtl).SSR_CLASSDTL_FL.SSR_CLASSDTL_LBL.Value =
MsgGetText(14770, 529, "Message not found.");
&cntset = &reccampus.Fill("WHERE INSTITUTION = :1 AND CAMPUS = :2 AND
EFF_STATUS = 'A'", &recInst, &recclassdtl.CAMPUS.Value);
If &cntset > 0 Then
&rsclassdtl(&cntclassdtl).SSR_CLASSDTL_FL.SSR_CLASSDTL_DATA.Value =
&reccampus(1).CAMPUS_TBL.DESCR.Value;
End-If;

&rsclassdtl.InsertRow(&cntclassdtl);
&cntclassdtl = &cntclassdtl + 1;
&rsclassdtl(&cntclassdtl).SSR_CLASSDTL_FL.SSR_CLASSDTL_LBL.Value =
MsgGetText(14770, 530, "Message not found.");

&cntgetsetid = &rsgetsetid.Fill("WHERE RECNAME = 'LOCATION_TBL' AND


SETCNTRLVALUE = :1", &recInst);
&setId = &rsgetsetid(&cntgetsetid).SET_CNTRL_REC.SETID.Value;

&cntset = &reclocation.Fill("WHERE SETID = :1 AND LOCATION = :2", &setId,


&recclassdtl.LOCATION.Value);
If &cntset > 0 Then
&rsclassdtl(&cntclassdtl).SSR_CLASSDTL_FL.SSR_CLASSDTL_DATA.Value =
&reclocation(1).LOCATION_TBL.DESCR.Value;
End-If;

/* Topic */
&cntset = &rectopic.Fill("WHERE CRSE_ID = :1 AND CRS_TOPIC_ID = :2",
&crse_id, &recclassdtl.CRS_TOPIC_ID.Value);
If &cntset > 0 Then
&rsclassdtl.InsertRow(&cntclassdtl);
&cntclassdtl = &cntclassdtl + 1;
&rsclassdtl(&cntclassdtl).SSR_CLASSDTL_FL.SSR_CLASSDTL_LBL.Value =
MsgGetText(14770, 531, "Message not found.");
&rsclassdtl(&cntclassdtl).SSR_CLASSDTL_FL.SSR_CLASSDTL_DATA.Value =
&rectopic(1).CRSE_TOPICS.DESCR.Value;

End-If;

/* Textbook, Articles, Other Course Materials */


&cntset = &rscrsemattype.Fill();
For &cntset2 = 1 To &cntset
&cntset3 = &rectextbook.Fill("WHERE CRSE_ID = :1 AND CRSE_OFFER_NBR = :2
AND STRM = :3 AND SESSION_CODE = :4 AND CLASS_SECTION = :5 AND SSR_CRSEMAT_TYPE = :
6", &crse_id, &crse_offer_nbr, &recTerm, &session_code, &class_section,
&rscrsemattype(&cntset2).SSR_CRSEMAT_TBL.SSR_CRSEMAT_TYPE.Value);
If &cntset3 > 1 Then
For &cntset4 = 1 To &cntset3
&rsclassdtl.InsertRow(&cntclassdtl);
&cntclassdtl = &cntclassdtl + 1;
&rsclassdtl(&cntclassdtl).SSR_CLASSDTL_FL.SSR_CLASSDTL_LBL.Value =
&rscrsemattype(&cntset2).SSR_CRSEMAT_TBL.DESCR.Value | " " | &cntset4;
&rsclassdtl(&cntclassdtl).SSR_CLASSDTL_FL.SSR_CLASSDTL_DATA.Value =
&rectextbook(&cntset4).SSR_CLS_TXB_DTL.SSR_TXBDTL_TITLE.Value;
End-For;
Else
If &cntset3 = 1 Then
&rsclassdtl.InsertRow(&cntclassdtl);
&cntclassdtl = &cntclassdtl + 1;
&rsclassdtl(&cntclassdtl).SSR_CLASSDTL_FL.SSR_CLASSDTL_LBL.Value =
&rscrsemattype(&cntset2).SSR_CRSEMAT_TBL.DESCR.Value;
&rsclassdtl(&cntclassdtl).SSR_CLASSDTL_FL.SSR_CLASSDTL_DATA.Value =
&rectextbook(&cntset3).SSR_CLS_TXB_DTL.SSR_TXBDTL_TITLE.Value;
End-If;
End-If;
End-For;

/* Instruction Mode */
&rsclassdtl.InsertRow(&cntclassdtl);
&cntclassdtl = &cntclassdtl + 1;
&rsclassdtl(&cntclassdtl).SSR_CLASSDTL_FL.SSR_CLASSDTL_LBL.Value =
MsgGetText(14770, 533, "Message not found.");
&cntset = &recinstrmode.Fill("WHERE INSTITUTION = :1 AND INSTRUCTION_MODE = :
2", &recInst, &recclassdtl.INSTRUCTION_MODE.Value);
If &cntset > 0 Then
&rsclassdtl(&cntclassdtl).SSR_CLASSDTL_FL.SSR_CLASSDTL_DATA.Value =
&recinstrmode(1).INSTRUCT_MODE.DESCR.Value;
End-If;

/* Consents */
If &recclassdtl.CONSENT.Value <> "N" Then
&rsclassdtl.InsertRow(&cntclassdtl);
&cntclassdtl = &cntclassdtl + 1;
&rsclassdtl(&cntclassdtl).SSR_CLASSDTL_FL.SSR_CLASSDTL_LBL.Value =
MsgGetText(14770, 534, "Message not found.");
&rsclassdtl(&cntclassdtl).SSR_CLASSDTL_FL.SSR_CLASSDTL_DATA.Value =
&recclassdtl.CONSENT.LongTranslateValue;
End-If;

If &recclassdtl.SSR_DROP_CONSENT.Value <> "N" Then


&rsclassdtl.InsertRow(&cntclassdtl);
&cntclassdtl = &cntclassdtl + 1;
&rsclassdtl(&cntclassdtl).SSR_CLASSDTL_FL.SSR_CLASSDTL_LBL.Value =
MsgGetText(14770, 535, "Message not found.");
&rsclassdtl(&cntclassdtl).SSR_CLASSDTL_FL.SSR_CLASSDTL_DATA.Value =
&recclassdtl.SSR_DROP_CONSENT.LongTranslateValue;
End-If;

/* Class Attributes */
Local integer &lblindex;
&cntset = &rsclassattr.Fill("WHERE CRSE_ID = :1 AND CRSE_OFFER_NBR = :2 AND
STRM = :3 AND SESSION_CODE = :4 AND CLASS_SECTION = :5 ORDER BY CRSE_ATTR",
&crse_id, &crse_offer_nbr, &recTerm, &session_code, &class_section);

If &cntset > 1 Then


For &cntset2 = 1 To &cntset

&rsclassdtl.InsertRow(&cntclassdtl);
&cntclassdtl = &cntclassdtl + 1;
&reccrseattr.CRSE_ATTR.Value =
&rsclassattr(&cntset2).CLASS_ATTRIBUTE.CRSE_ATTR.Value;
If &reccrseattr.SelectByKeyEffDt(&recTermBeginDt) Then
If &reccrseattr.EFF_STATUS.Value = "A" Then
&reccrseattrval.CRSE_ATTR.Value =
&rsclassattr(&cntset2).CLASS_ATTRIBUTE.CRSE_ATTR.Value;
&reccrseattrval.CRSE_ATTR_VALUE.Value =
&rsclassattr(&cntset2).CLASS_ATTRIBUTE.CRSE_ATTR_VALUE.Value;
If &reccrseattrval.SelectByKeyEffDt(&recTermBeginDt) Then
If &reccrseattrval.SCHEDULE_PRINT.Value = "Y" Or
&reccrseattrval.SCHEDULE_PRINT.Value <> "Y" Then
If &cntset2 + 1 <= &cntset Then
If &rsclassattr(&cntset2 +
1).CLASS_ATTRIBUTE.CRSE_ATTR.Value =
&rsclassattr(&cntset2).CLASS_ATTRIBUTE.CRSE_ATTR.Value Then
&lblindex = &lblindex + 1;

&rsclassdtl(&cntclassdtl).SSR_CLASSDTL_FL.SSR_CLASSDTL_LBL.Value =
&reccrseattr.DESCR.Value | " " | &lblindex;
Else
&lblindex = 0;

&rsclassdtl(&cntclassdtl).SSR_CLASSDTL_FL.SSR_CLASSDTL_LBL.Value =
&reccrseattr.DESCR.Value;
End-If;
Else
If &lblindex = 0 Then

&rsclassdtl(&cntclassdtl).SSR_CLASSDTL_FL.SSR_CLASSDTL_LBL.Value =
&reccrseattr.DESCR.Value;
Else
&lblindex = &lblindex + 1;

&rsclassdtl(&cntclassdtl).SSR_CLASSDTL_FL.SSR_CLASSDTL_LBL.Value =
&reccrseattr.DESCR.Value | " " | &lblindex;
End-If;
End-If;
End-If;
End-If;

&rsclassdtl(&cntclassdtl).SSR_CLASSDTL_FL.SSR_CLASSDTL_DATA.Value
= &reccrseattrval.DESCRFORMAL.Value;
End-If;
End-If;
End-For;
Else

&rsclassdtl.InsertRow(&cntclassdtl);
&cntclassdtl = &cntclassdtl + 1;
&reccrseattr.CRSE_ATTR.Value =
&rsclassattr(1).CLASS_ATTRIBUTE.CRSE_ATTR.Value;
If &reccrseattr.SelectByKeyEffDt(&recTermBeginDt) Then
If &reccrseattr.EFF_STATUS.Value = "A" Then
&reccrseattrval.CRSE_ATTR.Value =
&rsclassattr(1).CLASS_ATTRIBUTE.CRSE_ATTR.Value;
&reccrseattrval.CRSE_ATTR_VALUE.Value =
&rsclassattr(1).CLASS_ATTRIBUTE.CRSE_ATTR_VALUE.Value;
If &reccrseattrval.SelectByKeyEffDt(&recTermBeginDt) Then
If &reccrseattrval.SCHEDULE_PRINT.Value = "Y" Then

&rsclassdtl(&cntclassdtl).SSR_CLASSDTL_FL.SSR_CLASSDTL_LBL.Value =
&reccrseattr.DESCR.Value;
End-If;
End-If;

&rsclassdtl(&cntclassdtl).SSR_CLASSDTL_FL.SSR_CLASSDTL_DATA.Value =
&reccrseattrval.DESCRFORMAL.Value;
End-If;
End-If;
End-If;

For &cntset = &rsclassdtl.ActiveRowCount To 1 Step - 1


If &rsclassdtl(&cntset).SSR_CLASSDTL_FL.SSR_CLASSDTL_DATA.Value = "" Then
&rsclassdtl.DeleteRow(&cntset);
End-If;
End-For;

/* Enrollment Requirements */
Local integer &cntclassdtl2 = 1;
Local integer &cntclassdtl3 = 1;
&recclassassoc.CRSE_ID.Value = &crse_id;
&recclassassoc.CRSE_OFFER_NBR.Value = &crse_offer_nbr;
&recclassassoc.STRM.Value = &recTerm;
&recclassassoc.SESSION_CODE.Value = &session_code;
&recclassassoc.ASSOCIATED_CLASS.Value = &associated_class;
&rsclassdtl2.Flush();
If &recclassassoc.SelectByKey() Then
&cntset = &rscrseoffer.Fill("WHERE CRSE_ID = :1 AND CRSE_OFFER_NBR = :2
AND %EFFDTCHECK(CRSE_OFFER EFF, FILL, %Datein(:3)) AND RQRMNT_GROUP <> ' ' and
RQRMNT_GROUP <> :4", &crse_id, &crse_offer_nbr, &recTermBeginDt,
&recclassassoc.RQRMNT_GROUP.Value);

If &recclassassoc.RQRMNT_GROUP.Value <> "" Then


GetLevel0()(1).DERIVED_SSR_FL.SSR_ENRL_REQ_LBL.Visible = True;

&rsenrreq.RQRMNT_GROUP.Value = &recclassassoc.RQRMNT_GROUP.Value;
If &rsenrreq.SelectByKeyEffDt(&recTermBeginDt) Then
If &cntset > 0 And
&recclassassoc.USE_CATLG_RQS.Value = "Y" Then
GetLevel0()(1).DERIVED_SSR_FL.SSR_ENR_REQ_FL.Value =
MsgGetText(14770, 558, "Message not found");
&rsclassdtl2.InsertRow(&cntclassdtl2);

&rsclassdtl2(&cntclassdtl2).SSR_CLASSDT2_FL.SSR_CLASSDTL_LBL.Visible = True;

&rsclassdtl2(&cntclassdtl2).SSR_CLASSDT2_FL.SSR_CLASSDTL_LBL.Value = &cntclassdtl2
| ".";

&rsclassdtl2(&cntclassdtl2).SSR_CLASSDT2_FL.SSR_CLASSDTL_DATA.Value =
&rsenrreq.DESCR254A.Value;
&cntclassdtl2 = &cntclassdtl2 + 1;

For &cntset2 = 1 To &cntset

&rsclassdtl2.InsertRow(&cntclassdtl2);

&rsclassdtl2(&cntclassdtl2).SSR_CLASSDT2_FL.SSR_CLASSDTL_LBL.Visible = True;

&rsclassdtl2(&cntclassdtl2).SSR_CLASSDT2_FL.SSR_CLASSDTL_LBL.Value = &cntclassdtl2
| ".";
&rsenrreq.RQRMNT_GROUP.Value =
&rscrseoffer(&cntset2).CRSE_OFFER.RQRMNT_GROUP.Value;
If &rsenrreq.SelectByKeyEffDt(&recTermBeginDt) Then

&rsclassdtl2(&cntclassdtl2).SSR_CLASSDT2_FL.SSR_CLASSDTL_DATA.Value =
&rsenrreq.DESCR254A.Value;

End-If;
&cntclassdtl2 = &cntclassdtl2 + 1;

End-For;
&multireq = 1;
Else
GetLevel0()(1).DERIVED_SSR_FL.SSR_ENR_REQ_FL.Value =
MsgGetText(14770, 537, "Message not found");
&rsclassdtl2.InsertRow(&cntclassdtl2);

&rsclassdtl2(&cntclassdtl2).SSR_CLASSDT2_FL.SSR_CLASSDTL_DATA.Value =
&rsenrreq.DESCR254A.Value;
&cntclassdtl2 = &cntclassdtl2 + 1;
&multireq = 0;

For &cntset3 = 1 To &cntclassdtl2 - 1

&rsclassdtl2(&cntset3).SSR_CLASSDT2_FL.SSR_CLASSDTL_LBL.Visible = False;
End-For;
End-If;
End-If;
Else
GetLevel0()(1).DERIVED_SSR_FL.SSR_ENR_REQ_FL.Value = MsgGetText(14770,
537, "Message not found");
If &cntset > 0 And
&recclassassoc.USE_CATLG_RQS.Value = "Y" Then

For &cntset2 = 1 To &cntset

&rsclassdtl2.InsertRow(&cntclassdtl2);

&rsenrreq.RQRMNT_GROUP.Value =
&rscrseoffer(&cntset2).CRSE_OFFER.RQRMNT_GROUP.Value;
If &rsenrreq.SelectByKeyEffDt(&recTermBeginDt) Then

&rsclassdtl2(&cntclassdtl2).SSR_CLASSDT2_FL.SSR_CLASSDTL_DATA.Value =
&rsenrreq.DESCR254A.Value;

End-If;
&cntclassdtl2 = &cntclassdtl2 + 1;

End-For;
For &cntset3 = 1 To &cntclassdtl2 - 1
&rsclassdtl2(&cntset3).SSR_CLASSDT2_FL.SSR_CLASSDTL_LBL.Visible =
False;
End-For;
Else

GetLevel0()(1).DERIVED_SSR_FL.SSR_ENRL_REQ_LBL.Visible = False;
End-If;
End-If;
&rsclassdtl2.DeleteRow(&cntclassdtl2); /* Delete empty row */
End-If;

/* Class Notes */
&cntset = &rsnotes.Fill("WHERE CRSE_ID = :1 AND CRSE_OFFER_NBR = :2 AND STRM
= :3 AND SESSION_CODE = :4 AND CLASS_SECTION = :5 order by class_notes_seq",
&crse_id, &crse_offer_nbr, &recTerm, &session_code, &class_section);
GetLevel0()(1).DERIVED_SSR_FL.SSR_CLS_NOTES_LBL.Visible = True;
&rsclassdtl3.Flush();
If &cntset > 1 Then
GetLevel0()(1).DERIVED_SSR_FL.SSR_CLS_NOTE_FL.Value = MsgGetText(14770,
556, "Message not found");
For &cntset2 = 1 To &cntset

If &rsnotes(&cntset2).CLASS_NOTES.DESCRLONG.Value = "" Then

&rsclassdtl3.InsertRow(&cntclassdtl3);
&rsclassdtl3(&cntclassdtl3).SSR_CLASSDT3_FL.SSR_CLASSDTL_LBL.Visible
= True;
&rsclassdtl3(&cntclassdtl3).SSR_CLASSDT3_FL.SSR_CLASSDTL_LBL.Value =
&cntclassdtl3 | ".";

&recnotedtls.INSTITUTION.Value = &recInst;
&recnotedtls.CLASS_NOTE_NBR.Value =
&rsnotes(&cntset2).CLASS_NOTES.CLASS_NOTE_NBR.Value;

If &recnotedtls.SelectByKeyEffDt(&recTermBeginDt) Then

&rsclassdtl3(&cntclassdtl3).SSR_CLASSDT3_FL.SSR_CLSDTL_DATA_L.Value =
&recnotedtls.DESCRLONG.Value;
End-If;
&cntclassdtl3 = &cntclassdtl3 + 1;
Else
&rsclassdtl3.InsertRow(&cntclassdtl3);
&rsclassdtl3(&cntclassdtl3).SSR_CLASSDT3_FL.SSR_CLASSDTL_LBL.Visible
= True;
&rsclassdtl3(&cntclassdtl3).SSR_CLASSDT3_FL.SSR_CLASSDTL_LBL.Value =
&cntclassdtl3 | ".";
&rsclassdtl3(&cntclassdtl3).SSR_CLASSDT3_FL.SSR_CLSDTL_DATA_L.Value
= &rsnotes(&cntset2).CLASS_NOTES.DESCRLONG.Value;
&cntclassdtl3 = &cntclassdtl3 + 1;
End-If;
End-For;
Else
If &cntset = 1 Then
GetLevel0()(1).DERIVED_SSR_FL.SSR_CLS_NOTE_FL.Value = MsgGetText(14770,
559, "Message not found");

If &rsnotes(&cntset).CLASS_NOTES.DESCRLONG.Value = "" Then

&rsclassdtl3.InsertRow(&cntclassdtl3);

&recnotedtls.INSTITUTION.Value = &recInst;
&recnotedtls.CLASS_NOTE_NBR.Value =
&rsnotes(&cntset).CLASS_NOTES.CLASS_NOTE_NBR.Value;

If &recnotedtls.SelectByKeyEffDt(&recTermBeginDt) Then
&rsclassdtl3(&cntclassdtl3).SSR_CLASSDT3_FL.SSR_CLSDTL_DATA_L.Value =
&recnotedtls.DESCRLONG.Value;
End-If;
Else
&rsclassdtl3.InsertRow(&cntclassdtl3);
&rsclassdtl3(&cntclassdtl3).SSR_CLASSDT3_FL.SSR_CLSDTL_DATA_L.Value
= &rsnotes(&cntset).CLASS_NOTES.DESCRLONG.Value;
End-If;
&cntclassdtl3 = &cntclassdtl3 + 1;

For &cntset3 = 1 To &cntclassdtl3 - 1


&rsclassdtl3(&cntset3).SSR_CLASSDT3_FL.SSR_CLASSDTL_LBL.Visible =
False;
End-For;
Else
GetLevel0()(1).DERIVED_SSR_FL.SSR_CLS_NOTES_LBL.Visible = False;
End-If;
&rsclassdtl3.DeleteRow(&cntclassdtl3); /* Delete empty row */
End-If;
End-If;
end-method;

method SSR_DER1_MTG_FL__SSR_MTGINFO_DATA_FieldChange
Local string &sModalOptions;
Local integer &ReturnCode;
&sPrimInstr = SSR_DER1_MTG_FL.SSR_MTGINFO_DATA.Value;
&sSecInstr = SSR_DER1_MTG_FL.SSR_MTGINFO_DATA.Label;
&sInstrlbl = SSR_DER1_MTG_FL.SSR_MTGINFO_LBL.Value;

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then


&sModalOptions = GetHTMLText(HTML.SCC_MO_FULLSCREEN_FL);
Else
If %Request.BrowserDeviceType = "tablet" Then
&sModalOptions = GetHTMLText(HTML.SCC_MO_FULLSCREEN_FL);
Else
&sModalOptions = GetHTMLText(HTML.SCC_MO_POPUP_FL) |
"width@550;height@600;";
End-If;
End-If;

&ReturnCode = DoModalPopup(&sModalOptions, "", False, False,


Page.SSR_INSTRDTL_SCF, MsgGetText(14770, 580, "Message not found."), - 1, - 1, 0);
end-method;

method SSR_INSTRDTL_SCF_Activate
DERIVED_SSR_FL.SSR_PRIM_INSTR.Value = &sSecInstr;
DERIVED_SSR_FL.SSR_PRIM_INSTR.Label = &sPrimInstr;
DERIVED_SSR_FL.SSR_SECO_INSTR.Value = &sInstrlbl;

Local Rowset &rssetupinstdtl;


Local Record &recemailaddr, &recphone, &recaddress, &recimage;
Local integer &cntsetupinstdtl;

&rssetupinstdtl = CreateRowset(Record.SSR_INSTRDSP_FL);
&recemailaddr = CreateRecord(Record.EMAIL_ADDRESSES);
&recphone = CreateRecord(Record.PERSONAL_PHONE);
&recaddress = CreateRecord(Record.ADDRESSES);
&recimage = CreateRecord(Record.EMPL_PHOTO);
&cntsetupinstdtl = &rssetupinstdtl.Fill();

If &rssetupinstdtl(1).SSR_INSTRDSP_FL.SSR_INSTR_P_SHOW.Value <> "Y" Then


DERIVED_SSR_FL.SSR_SHOW_PHOTO.Visible = False;
DERIVED_SSR_FL.SSR_CONTACT_DTLS.AddFFClass("psc_margin-top1em");
Else
DERIVED_SSR_FL.SSR_CONTACT_DTLS.AddFFClass("psc_margin-top4em");
DERIVED_SSR_FL.SSR_SHOW_PHOTO.Visible = True;
&recimage.EMPLID.Value = DERIVED_SSR_FL.SSR_PRIM_INSTR.Label;

If &recimage.SelectByKey() Then

DERIVED_SSR_FL.SSR_IMG_REF.Value = &recimage.EMPLOYEE_PHOTO.Value;
DERIVED_SSR_FL.SSR_IMG_REF1.Visible = False;
Else

DERIVED_SSR_FL.SSR_IMG_REF1.Value = Image.PS_DUMMY_PHOTO_L_FL;
DERIVED_SSR_FL.SSR_IMG_REF.Visible = False;
End-If;
End-If;

&recphone.EMPLID.Value = DERIVED_SSR_FL.SSR_PRIM_INSTR.Label;
&recphone.PHONE_TYPE.Value =
&rssetupinstdtl(1).SSR_INSTRDSP_FL.PHONE_TYPE.Value;

If &recphone.SelectByKey() Then
DERIVED_SSR_FL.PHONE.Value = &recphone.PHONE.Value;
Else
DERIVED_SSR_FL.PHONE.Label = MsgGetText(14770, 611, "Message not found."); /*
No Phone Information */
DERIVED_SSR_FL.PHONE.Value = "";
End-If;

&recemailaddr.EMPLID.Value = DERIVED_SSR_FL.SSR_PRIM_INSTR.Label;
&recemailaddr.E_ADDR_TYPE.Value =
&rssetupinstdtl(1).SSR_INSTRDSP_FL.E_ADDR_TYPE.Value;

If &recemailaddr.SelectByKey() Then
DERIVED_SSR_FL.EMAIL_ADDR.Value = &recemailaddr.EMAIL_ADDR.Value;

Else

DERIVED_SSR_FL.EMAIL_ADDR.Label = MsgGetText(14770, 612, "Message not


found."); /* No Email Information */
DERIVED_SSR_FL.EMAIL_ADDR.Value = "";
End-If;

&recaddress.EMPLID.Value = DERIVED_SSR_FL.SSR_PRIM_INSTR.Label;
&recaddress.ADDRESS_TYPE.Value =
&rssetupinstdtl(1).SSR_INSTRDSP_FL.ADDRESS_TYPE.Value;

If &recaddress.SelectByKeyEffDt(%Date) Then
If LTrim(RTrim(&recaddress.ADDRESS1.Value)) <> "" Then
GetLevel0()(1).DERIVED_SSR_FL.ADDRESS1.Value = &recaddress.ADDRESS1.Value;
Else
GetLevel0()(1).DERIVED_SSR_FL.ADDRESS1.Visible = False;
End-If;
If LTrim(RTrim(&recaddress.ADDRESS2.Value)) <> "" Then
GetLevel0()(1).DERIVED_SSR_FL.ADDRESS2.Value = &recaddress.ADDRESS2.Value;
Else
GetLevel0()(1).DERIVED_SSR_FL.ADDRESS2.Visible = False;
End-If;

If LTrim(RTrim(&recaddress.ADDRESS3.Value)) <> "" Then


GetLevel0()(1).DERIVED_SSR_FL.ADDRESS3.Value = &recaddress.ADDRESS3.Value;
Else
GetLevel0()(1).DERIVED_SSR_FL.ADDRESS3.Visible = False;
End-If;

If LTrim(RTrim(&recaddress.ADDRESS4.Value)) <> "" Then


GetLevel0()(1).DERIVED_SSR_FL.ADDRESS4.Value = &recaddress.ADDRESS4.Value;
Else
GetLevel0()(1).DERIVED_SSR_FL.ADDRESS4.Visible = False;
End-If;

If LTrim(RTrim(&recaddress.CITY.Value)) <> "" Then


GetLevel0()(1).DERIVED_SSR_FL.CITY.Value = &recaddress.CITY.Value;
Else
GetLevel0()(1).DERIVED_SSR_FL.CITY.Visible = False;
End-If;

If LTrim(RTrim(&recaddress.COUNTY.Value)) <> "" Then


GetLevel0()(1).DERIVED_SSR_FL.COUNTY.Value = &recaddress.COUNTY.Value;
Else
GetLevel0()(1).DERIVED_SSR_FL.COUNTY.Visible = False;
End-If;

If LTrim(RTrim(&recaddress.STATE.Value)) <> "" Then


GetLevel0()(1).DERIVED_SSR_FL.STATE.Value = &recaddress.STATE.Value;
Else
GetLevel0()(1).DERIVED_SSR_FL.STATE.Visible = False;
End-If;

If LTrim(RTrim(&recaddress.POSTAL.Value)) <> "" Then


GetLevel0()(1).DERIVED_SSR_FL.POSTAL.Value = &recaddress.POSTAL.Value;
Else
GetLevel0()(1).DERIVED_SSR_FL.POSTAL.Visible = False;
End-If;

If LTrim(RTrim(&recaddress.COUNTRY.Value)) <> "" Then


GetLevel0()(1).DERIVED_SSR_FL.COUNTRY.Value = &recaddress.COUNTRY.Value;
Else
GetLevel0()(1).DERIVED_SSR_FL.COUNTRY.Visible = False;
End-If;

Else
GetLevel0()(1).DERIVED_SSR_FL.ADDRESS1.Label = MsgGetText(14770, 613,
"Message not found."); /* No Address Information */
GetLevel0()(1).DERIVED_SSR_FL.ADDRESS1.Value = "";
GetLevel0()(1).DERIVED_SSR_FL.ADDRESS2.Visible = False;
GetLevel0()(1).DERIVED_SSR_FL.ADDRESS3.Visible = False;
GetLevel0()(1).DERIVED_SSR_FL.ADDRESS4.Visible = False;
GetLevel0()(1).DERIVED_SSR_FL.CITY.Visible = False;
GetLevel0()(1).DERIVED_SSR_FL.COUNTY.Visible = False;
GetLevel0()(1).DERIVED_SSR_FL.STATE.Visible = False;
GetLevel0()(1).DERIVED_SSR_FL.POSTAL.Visible = False;
GetLevel0()(1).DERIVED_SSR_FL.COUNTRY.Visible = False;
End-If;

end-method;

method viewInstructorDetails
/+ Returns Boolean +/
Local boolean &dispInstructor;

Local Rowset &rsgetprofile = CreateRowset(Record.SSR_INSTRDSP_FL);


&rsgetprofile.Fill();

If &rsgetprofile(1).SSR_INSTRDSP_FL.SSR_ENAB_INSTR_DSP.Value <> "Y" Then


&dispInstructor = False;
Else
&dispInstructor = True;
End-If;

Return &dispInstructor
end-method;

method EvaluateClassDetails
Evaluate DERIVED_SSR_FL.SSR_CL_DTLS_LFF
When &ClassDetails
%This.ClassDetails();
When &MeetingInformation
%This.MeetingInformation();
When &EnrollmentInformation
%This.EnrollmentInformation();
When &ClassAvailability
%This.ClassAvailability();
When &TextbookOtherInformation
%This.TextbookOtherInformation();
End-Evaluate;
end-method;

[SSR_MANAGE_CLASSES.UTIL.ClassOptions.OnExecute]
import SSR_MANAGE_CLASSES:UTIL:TimeConflictChecking;

import SSR_MANAGE_CLASSES:UTIL:Formatter;

class ClassOptions
method CheckCourseForMultiComp() Returns boolean;
method ClassFiltering(&p_EnrlType As string, &p_ClassNbr As integer,
&p_aClassRslt As array of number) Returns boolean;
method DetermineClassStatus(&p_EnrlStatus As string, &p_WaitTot As integer,
&p_WaitCap As integer) Returns string;

method GetClassOptions(&p_Source As string, &p_MultiComp As string, &p_rsFilter


As Rowset, &p_rsCAFFilter As Rowset, &p_aClassRslt As array of number) Returns
Rowset;
REM AD i2 x method GetClassOptionCounts(&p_Source As string, &p_MultiComp As
string, &p_rsFilter As Rowset, &p_rsCAFFilter As Rowset, &p_aClassRslt As array of
number) Returns array of number;

REM AD i2-s;
method GetClassOptionCounts(&p_Source As string, &p_MultiComp As string,
&p_rsFilter As Rowset, &p_rsCAFFilter As Rowset, &p_aClassRslt As array of number,
&p_rsAllFacet As Rowset) Returns array of number;
REM AD i2-e;

method GetTermBeginDate();
method GroupClassOptions(&p_Action As string, &p_MultiComp As string,
&p_aClassRslt As array of number);
method GroupNonEnroll(&p_ClassNbr As integer, &p_AutoEnroll As string,
&p_GroupEnrlStatus As string, &p_TimeConf As string);

method StartClassOptions(&p_Action As string, &p_MultiComp As string,


&p_aClassRslt As array of number);

method IsCourseCareerAllowedToEnroll(&p_sAcademicCareer As string,


&p_sCourseCareer As string, &p_sInstitution As string, &p_sTerm As string) Returns
boolean;

private
instance Rowset &rsReqdComponents;
instance Rowset &rsGroup;
instance Rowset &rsClassTblEnrl, &rsClassTbl;
instance Rowset &rsWork, &rsWork2;
instance Rowset &rsStdntEnrl;
instance Rowset &rsCAFFilter;

instance Record &recFilter;


instance Record &recGroup;
instance Record &recClassTblEnrl, &recClassTbl;
instance Record &recWork;

instance integer &iarrayLen;


instance integer &iGroup, &iOptionSeq;
instance integer &iEnrl, &iNonEnrl;
instance integer &iClassOptionCount;
instance integer &iClassNbrSearch, &iClassNbrSearchOk, &iTopicSearchOk;
instance integer &iOpenClasses, &iWaitlistClasses, &iClosedClasses;

instance integer &iEnrlClass, &iRelClass1, &iRelClass2;


instance integer &iAutoEnrlClass1, &iAutoEnrlClass2;
instance integer &iClassCount;

instance integer &iUnitsMin, &iUnitsMax;

instance string &sInst, &sTerm;

instance string &sSource;


instance string &sEnrlClassStatus;
instance string &sRelClassStatus1, &sRelClassStatus2;
instance string &sAutoEnrlStatus1, &sAutoEnrlStatus2;

instance string &sEnrlSection, &sRelSection1, &sRelSection2;


instance string &sAutoSection1, &sAutoSection2;

instance string &sEnrlComp, &sRelComp1, &sRelComp2;


instance string &sAutoEnrlComp1, &sAutoEnrlComp2;

instance string &sRelClassOptional1, &sRelClassOptional2;

instance string &sTopicSearch;


instance string &sGradedComp, &sGradingBasis;

instance boolean &bMatchedInstrName, &bMatchedComponent, &bMatchedTopic,


&bMatchedAttrb;

instance boolean &bCAFSearch;

instance date &TermBeginDt;

instance array of number &aRelClass1, &aRelClass2;


instance array of string &aRelSection1, &aRelSection2;
instance array of string &aRelClassStatus1, &aRelClassStatus2;

end-class;

REM AD i2-s;
Component string &sClassConfigAttrValue;

REM AD i2-e;

method CheckCourseForMultiComp
/+ Returns Boolean +/

REM "Quick Check in CRSE_COMPONENT if this is not a multiple component course";


&rsWork = CreateRowset(Record.CRSE_COMPONENT);
&rsWork.Fill("WHERE FILL.CRSE_ID = :1 AND %EffDtCheck(CRSE_COMPONENT A2, FILL,
%Datein(:2))", &recFilter.CRSE_ID.Value, &TermBeginDt);

If &rsWork.ActiveRowCount = 1 Then
Return False;
Else
Return True;
End-If;

end-method;

method ClassFiltering
/+ &p_EnrlType as String, +/
/+ &p_ClassNbr as Integer, +/
/+ &p_aClassRslt as Array of Number +/
/+ Returns Boolean +/

Local integer &i;


Local boolean &bFilteringPassed = True;

REM "&p_EnrlType:"
REM " E = Enrollment Component";
REM " N = Non-Enrollment Component";

If &p_EnrlType = "E" Then


Local Record &recClass =
&rsClassTblEnrl(&iEnrl).GetRecord(Record.SSR_CS_CLSTBLVW);
Else

For &iNonEnrl = 1 To &rsClassTbl.ActiveRowCount


&recClassTbl = &rsClassTbl(&iNonEnrl).GetRecord(Record.SSR_CS_CLSTBLVW);
If &recClassTbl.CLASS_NBR.Value = &p_ClassNbr Then
&recClass = &rsClassTbl(&iNonEnrl).GetRecord(Record.SSR_CS_CLSTBLVW);
&iNonEnrl = &rsClassTbl.ActiveRowCount;
End-If;
End-For;

End-If;

REM "Filter by Class Topic";


If (&bFilteringPassed) And
(&iTopicSearchOk = 1) And
( Not &bMatchedTopic) Then

If &recClass.CRS_TOPIC_ID.Value <> 0 Then


&rsWork = CreateRowset(Record.CRSE_TOPICS);
&rsWork.Fill("WHERE FILL.CRSE_ID = :1 AND FILL.CRS_TOPIC_ID = :2 AND
%EffDtCheck(CRSE_TOPICS A2, FILL, %Datein(:3))", &recClass.CRSE_ID.Value,
&recClass.CRS_TOPIC_ID.Value, &TermBeginDt);
Local string &sTopicKeywords = "%" | &recFilter.SSR_TOPIC_SEARCH.Value |
"%";
If DBPatternMatch(&rsWork(1).CRSE_TOPICS.DESCR.Value, &sTopicKeywords,
False) Then
&bMatchedTopic = True;
End-If;
End-If;

REM "Check if class is in the Results, this matched by something else - not
by topics";
Local number &iCR;
If (&sSource = "CS") And
( Not &bMatchedTopic) Then
For &iCR = 1 To &p_aClassRslt.Len
If &p_aClassRslt [&iCR] = &p_ClassNbr Then
&bFilteringPassed = True;
End-If;
End-For;
End-If;
REM "END - Check if class is in the Results, this matched by something else
- not by topics";
End-If;

REM "Filter by Campus";


If (&bFilteringPassed) And
(All(&recFilter.CAMPUS.Value)) And
(&recFilter.CAMPUS.Value <> &recClass.CAMPUS.Value) Then
&bFilteringPassed = False;
End-If;

REM "Filter by Class Attribute";


REM AD i2 x If (&bFilteringPassed) And;
REM AD i2 x (All(&recFilter.CRSE_ATTR.Value)) Then;
REM AD i2-s;
If (&bFilteringPassed) And
( Not (&bMatchedAttrb)) And
(All(&recFilter.CRSE_ATTR.Value)) Then
REM AD i2-e;
&rsWork = CreateRowset(Record.SSR_CS_GEN_OPTS);
&rsWork.Fill();
Local string &sClsCfg_AttrVal =
&rsWork(1).SSR_CS_GEN_OPTS.SSR_CLSCFG_ATTRVAL.Value;
&rsWork = CreateRowset(Record.CLASS_ATTRIBUTE);

If &sClsCfg_AttrVal = "Y" Then


&rsWork.Fill("WHERE FILL.CRSE_ID = :1 AND FILL.CRSE_OFFER_NBR = :2 AND
STRM = :3 AND SESSION_CODE = :4 AND FILL.CLASS_SECTION = :5 AND FILL.CRSE_ATTR = :6
AND FILL.CRSE_ATTR_VALUE = :7", &recClass.CRSE_ID.Value,
&recClass.CRSE_OFFER_NBR.Value, &recClass.STRM.Value, &recClass.SESSION_CODE.Value,
&recClass.CLASS_SECTION.Value, &recFilter.CRSE_ATTR.Value,
&recFilter.CRSE_ATTR_VALUE.Value);
Else
&rsWork.Fill("WHERE FILL.CRSE_ID = :1 AND FILL.CRSE_OFFER_NBR = :2 AND
STRM = :3 AND SESSION_CODE = :4 AND FILL.CLASS_SECTION = :5 AND FILL.CRSE_ATTR = :
6", &recClass.CRSE_ID.Value, &recClass.CRSE_OFFER_NBR.Value, &recClass.STRM.Value,
&recClass.SESSION_CODE.Value, &recClass.CLASS_SECTION.Value,
&recFilter.CRSE_ATTR.Value);
End-If;
If All(&rsWork(1).CLASS_ATTRIBUTE.CRSE_ATTR_VALUE.Value) Then
REM AD r1-s;
&bMatchedAttrb = True;
REM AD r1-e;
REM AD i2 x Else
REM AD i2 x &bFilteringPassed = False;
End-If;
End-If;

REM "Filter by Instruction Mode";


REM AD i2-s;
If (&bFilteringPassed) And
(All(&recFilter.INSTRUCTION_MODE.Value)) And
(&recFilter.INSTRUCTION_MODE.Value <> &recClass.INSTRUCTION_MODE.Value)
Then
&bFilteringPassed = False;
End-If;

REM "Filter by Instructor Last Name";


REM AD i2 x REM " Instructor last name only need to appear at least once in
any of the class in the group";
If (&bFilteringPassed) And
REM AD i2 x ( Not (&bMatchedInstrName)) And;
(All(&recFilter.LAST_NAME.Value)) Then
&rsWork = CreateRowset(Record.SSR_CS_INSTR_VW);

Evaluate &recFilter.SSR_SRCH_OPERATOR.Value
When "EQ"
Local string &LName = &recFilter.LAST_NAME.Value;
&rsWork.Fill("WHERE FILL.CRSE_ID = :1 AND FILL.CRSE_OFFER_NBR = :2 AND
FILL.STRM = :3 AND FILL.SESSION_CODE = :4 AND FILL.CLASS_SECTION = :5 AND
FILL.LAST_NAME_SRCH = Upper(:6)", &recClass.CRSE_ID.Value,
&recClass.CRSE_OFFER_NBR.Value, &recClass.STRM.Value, &recClass.SESSION_CODE.Value,
&recClass.CLASS_SECTION.Value, &LName);
Break;

When "NE"
&LName = &recFilter.LAST_NAME.Value;
&rsWork.Fill("WHERE FILL.CRSE_ID = :1 AND FILL.CRSE_OFFER_NBR = :2 AND
FILL.STRM = :3 AND FILL.SESSION_CODE = :4 AND FILL.CLASS_SECTION = :5 AND
FILL.LAST_NAME_SRCH <> Upper(:6)", &recClass.CRSE_ID.Value,
&recClass.CRSE_OFFER_NBR.Value, &recClass.STRM.Value, &recClass.SESSION_CODE.Value,
&recClass.CLASS_SECTION.Value, &LName);
Break;

When "CT"
&LName = "%" | &recFilter.LAST_NAME.Value | "%";
&rsWork.Fill("WHERE FILL.CRSE_ID = :1 AND FILL.CRSE_OFFER_NBR = :2 AND
FILL.STRM = :3 AND FILL.SESSION_CODE = :4 AND FILL.CLASS_SECTION = :5 AND
FILL.LAST_NAME_SRCH LIKE Upper(:6)", &recClass.CRSE_ID.Value,
&recClass.CRSE_OFFER_NBR.Value, &recClass.STRM.Value, &recClass.SESSION_CODE.Value,
&recClass.CLASS_SECTION.Value, &LName);
Break;

End-Evaluate;

If All(&rsWork(1).SSR_CS_INSTR_VW.DISPLAY_NAME.Value) Then
REM AD i2 x &bMatchedInstrName = True;
REM AD i2-s;
Else
&bFilteringPassed = False;
REM AD i2-e;
End-If;
End-If;

REM "Filter by Location";


REM AD i2-s;
If (&bFilteringPassed) And
(All(&recFilter.LOCATION.Value)) And
(&recFilter.LOCATION.Value <> &recClass.LOCATION.Value) Then
&bFilteringPassed = False;
End-If;

REM "Filter by Requirement Designation";


If (&bFilteringPassed) And
(All(&recFilter.RQMNT_DESIGNTN.Value)) And
(&recClass.CLASS_TYPE.Value = "E") Then

&rsWork = CreateRowset(Record.CLASS_ASSOC);
&rsWork.Fill("WHERE FILL.CRSE_ID = :1 AND FILL.CRSE_OFFER_NBR = :2 AND STRM =
:3 AND SESSION_CODE = :4 AND FILL.ASSOCIATED_CLASS = :5 AND FILL.RQMNT_DESIGNTN = :
6", &recClass.CRSE_ID.Value, &recClass.CRSE_OFFER_NBR.Value, &recClass.STRM.Value,
&recClass.SESSION_CODE.Value, &recClass.ASSOCIATED_CLASS.Value,
&recFilter.RQMNT_DESIGNTN.Value);
If None(&rsWork(1).CLASS_ASSOC.RQMNT_DESIGNTN.Value) Then
REM AD i2 x &bFilteringPassed = False;

REM AD i2-s;
REM "Find out if there are multiple requirement codes with the same
description";
&recWork = CreateRecord(Record.RQMNT_DESIG_TBL);
&recWork.RQMNT_DESIGNTN.Value = &recFilter.RQMNT_DESIGNTN.Value;
If &recWork.SelectByKeyEffDt(&TermBeginDt) Then
&rsWork2 = CreateRowset(Record.RQMNT_DESIG_TBL);
&rsWork2.Fill("WHERE FILL.DESCR = :1 AND FILL.RQMNT_DESIGNTN <> :2 AND
%EffDtCheck(RQMNT_DESIG_TBL A2, FILL, %Datein(:3))", &recWork.DESCR.Value,
&recWork.RQMNT_DESIGNTN.Value, &TermBeginDt);
If None(&rsWork2(1).RQMNT_DESIG_TBL.RQMNT_DESIGNTN.Value) Then
&bFilteringPassed = False;
Else
Local boolean &RqmntMatchedDescr = False;
For &i = 1 To &rsWork2.ActiveRowCount
&rsWork = CreateRowset(Record.CLASS_ASSOC);
&rsWork.Fill("WHERE FILL.CRSE_ID = :1 AND FILL.CRSE_OFFER_NBR = :
2 AND STRM = :3 AND SESSION_CODE = :4 AND FILL.ASSOCIATED_CLASS = :5 AND
FILL.RQMNT_DESIGNTN = :6", &recClass.CRSE_ID.Value, &recClass.CRSE_OFFER_NBR.Value,
&recClass.STRM.Value, &recClass.SESSION_CODE.Value,
&recClass.ASSOCIATED_CLASS.Value,
&rsWork2(&i).RQMNT_DESIG_TBL.RQMNT_DESIGNTN.Value);
If All(&rsWork(1).CLASS_ASSOC.RQMNT_DESIGNTN.Value) Then
&RqmntMatchedDescr = True;
&i = &rsWork2.ActiveRowCount;
End-If;
End-For;
If Not &RqmntMatchedDescr Then
&bFilteringPassed = False;
End-If;
End-If;
Else
&bFilteringPassed = False;
End-If;
REM AD i2-e;

End-If;

End-If;

REM "Filter by Session Code";


REM AD i2-s;
If (&bFilteringPassed) And
(All(&recFilter.SESSION_CODE.Value)) And
(&recFilter.SESSION_CODE.Value <> &recClass.SESSION_CODE.Value) Then
&bFilteringPassed = False;
End-If;

REM "Filter by Component";


REM AD i2-s;
<*
REM " Component only need to appear at least once in any of the class in the
group";
If (&bFilteringPassed) And
( Not (&bMatchedComponent)) And
(All(&recFilter.SSR_COMPONENT.Value)) And
(&recFilter.SSR_COMPONENT.Value = &recClass.SSR_COMPONENT.Value) Then
&bMatchedComponent = True;
End-If;
REM AD i2-e; *>
REM AD r1-s;
If (&bFilteringPassed) And
(All(&recFilter.SSR_COMPONENT.Value)) Then
If &recFilter.SSR_COMPONENT.Value <> &recClass.SSR_COMPONENT.Value Then
&bFilteringPassed = False;
End-If;
End-If;
REM AD r1-e;

REM AD r1-s;
REM "Filter by Course Career;
If (&bFilteringPassed) And
(All(&recFilter.CRSE_CAREER.Value)) Then
If &recFilter.CRSE_CAREER.Value <> &recClass.CRSE_CAREER.Value Then
&bFilteringPassed = False;
End-If;
End-If;
REM AD r1-e;

REM "Filter by Meeting Days";


If (&bFilteringPassed) And
(&recFilter.SSR_DAYS_FACET_SW.Value = "Y") Then
&rsWork = CreateRowset(Record.CLASS_MTG_PAT);
&rsWork.Fill("WHERE FILL.CRSE_ID = :1 AND FILL.CRSE_OFFER_NBR = :2 AND STRM =
:3 AND SESSION_CODE = :4 AND FILL.CLASS_SECTION = :5", &recClass.CRSE_ID.Value,
&recClass.CRSE_OFFER_NBR.Value, &recClass.STRM.Value, &recClass.SESSION_CODE.Value,
&recClass.CLASS_SECTION.Value);
If (&rsWork.ActiveRowCount = 0) Or
(&rsWork.ActiveRowCount = 1 And
(None(&rsWork(1).CLASS_MTG_PAT.CRSE_ID.Value))) Then
&bFilteringPassed = False;
Else
For &i = 1 To &rsWork.ActiveRowCount
&recWork = &rsWork(&i).GetRecord(Record.CLASS_MTG_PAT);
If (&bFilteringPassed) And
(&recWork.MON.Value = &recFilter.MON.Value) And
(&recWork.TUES.Value = &recFilter.TUES.Value) And
(&recWork.WED.Value = &recFilter.WED.Value) And
(&recWork.THURS.Value = &recFilter.THURS.Value) And
(&recWork.FRI.Value = &recFilter.FRI.Value) And
(&recWork.SAT.Value = &recFilter.SAT.Value) And
(&recWork.SUN.Value = &recFilter.SUN.Value) Then
Else
If &bFilteringPassed Then
If (&recWork.MON.Value = &recFilter.MON.Value) Or
(&recWork.MON.Value <> "Y") Then
Else
&bFilteringPassed = False;
End-If;
End-If;
If &bFilteringPassed Then
If (&recWork.TUES.Value = &recFilter.TUES.Value) Or
(&recWork.TUES.Value <> "Y") Then
Else
&bFilteringPassed = False;
End-If;
End-If;
If &bFilteringPassed Then
If (&recWork.WED.Value = &recFilter.WED.Value) Or
(&recWork.WED.Value <> "Y") Then
Else
&bFilteringPassed = False;
End-If;
End-If;
If &bFilteringPassed Then
If (&recWork.THURS.Value = &recFilter.THURS.Value) Or
(&recWork.THURS.Value <> "Y") Then
Else
&bFilteringPassed = False;
End-If;
End-If;
If &bFilteringPassed Then
If (&recWork.FRI.Value = &recFilter.FRI.Value) Or
(&recWork.FRI.Value <> "Y") Then
Else
&bFilteringPassed = False;
End-If;
End-If;
If &bFilteringPassed Then
If (&recWork.SAT.Value = &recFilter.SAT.Value) Or
(&recWork.SAT.Value <> "Y") Then
Else
&bFilteringPassed = False;
End-If;
End-If;
If &bFilteringPassed Then
If (&recWork.SUN.Value = &recFilter.SUN.Value) Or
(&recWork.SUN.Value <> "Y") Then
Else
&bFilteringPassed = False;
End-If;
End-If;
End-If;

End-For;
End-If;
End-If;

REM "Filter by Meeting Start Time";


If (&bFilteringPassed) And
(All(&recFilter.SSR_MTGSTR_TIME_FR.Value)) Then
If &recFilter.SSR_DAYS_FACET_SW.Value <> "Y" Then
&rsWork = CreateRowset(Record.CLASS_MTG_PAT);
&rsWork.Fill("WHERE FILL.CRSE_ID = :1 AND FILL.CRSE_OFFER_NBR = :2 AND
STRM = :3 AND SESSION_CODE = :4 AND FILL.CLASS_SECTION = :5",
&recClass.CRSE_ID.Value, &recClass.CRSE_OFFER_NBR.Value, &recClass.STRM.Value,
&recClass.SESSION_CODE.Value, &recClass.CLASS_SECTION.Value);
End-If;
If (&rsWork.ActiveRowCount = 0) Or
(&rsWork.ActiveRowCount = 1 And
(None(&rsWork(1).CLASS_MTG_PAT.MEETING_TIME_START.Value))) Then
&bFilteringPassed = False;
Else
For &i = 1 To &rsWork.ActiveRowCount
&recWork = &rsWork(&i).GetRecord(Record.CLASS_MTG_PAT);

REM AD i2 x If (&recWork.MEETING_TIME_START.Value >=


&recFilter.SSR_MTGSTR_TIME_FR.Value) And
REM AD i2 x ((&recWork.MEETING_TIME_END.Value <=
&recFilter.SSR_MTGSTR_TIME_TO.Value) Or
REM AD i2 x (None(&recFilter.SSR_MTGSTR_TIME_TO.Value)))
Then;

REM AD i2-s;
If (&recWork.MEETING_TIME_START.Value >=
&recFilter.SSR_MTGSTR_TIME_FR.Value) And
((&recWork.MEETING_TIME_START.Value <=
&recFilter.SSR_MTGSTR_TIME_TO.Value) Or
(None(&recFilter.SSR_MTGSTR_TIME_TO.Value))) Then
REM AD i2-e;
Else
&bFilteringPassed = False;
End-If;
End-For;
End-If;
End-If;

REM "Filter by Meeting End Time";


If (&bFilteringPassed) And
(All(&recFilter.SSR_MTGEND_TIME_FR.Value)) Then
If (&recFilter.SSR_DAYS_FACET_SW.Value <> "Y") And
(None(&recFilter.SSR_MTGSTR_TIME_FR.Value)) Then
&rsWork = CreateRowset(Record.CLASS_MTG_PAT);
&rsWork.Fill("WHERE FILL.CRSE_ID = :1 AND FILL.CRSE_OFFER_NBR = :2 AND
STRM = :3 AND SESSION_CODE = :4 AND FILL.CLASS_SECTION = :5",
&recClass.CRSE_ID.Value, &recClass.CRSE_OFFER_NBR.Value, &recClass.STRM.Value,
&recClass.SESSION_CODE.Value, &recClass.CLASS_SECTION.Value);
End-If;
If (&rsWork.ActiveRowCount = 0) Or
(&rsWork.ActiveRowCount = 1 And
(None(&rsWork(1).CLASS_MTG_PAT.MEETING_TIME_START.Value))) Then
&bFilteringPassed = False;
Else
For &i = 1 To &rsWork.ActiveRowCount
&recWork = &rsWork(&i).GetRecord(Record.CLASS_MTG_PAT);
REM AD i2 x If (&recWork.MEETING_TIME_START.Value >=
&recFilter.SSR_MTGEND_TIME_FR.Value) And
REM AD i2 x ((&recWork.MEETING_TIME_END.Value <=
&recFilter.SSR_MTGEND_TIME_TO.Value) Or
REM AD i2 x (None(&recFilter.SSR_MTGEND_TIME_TO.Value)))
Then;

REM AD i2-s;
If (&recWork.MEETING_TIME_END.Value >=
&recFilter.SSR_MTGEND_TIME_FR.Value) And
((&recWork.MEETING_TIME_END.Value <=
&recFilter.SSR_MTGEND_TIME_TO.Value) Or
(None(&recFilter.SSR_MTGEND_TIME_TO.Value))) Then

REM AD i2-e;
Else
&bFilteringPassed = False;
End-If;
End-For;
End-If;
End-If;

REM "Filter by Shift";


REM AD i2-s;
<*
If (&bFilteringPassed) And
(All(&recFilter.SSR_SHIFT.Value)) Then
&rsWork = CreateRowset(Record.SSR_CLASS_SHIFT);
&rsWork.Fill("WHERE FILL.CRSE_ID = :1 AND FILL.CRSE_OFFER_NBR = :2 AND STRM =
:3 AND SESSION_CODE = :4 AND CLASS_SECTION = :5 AND FILL.SSR_SHIFT = :6",
&recClass.CRSE_ID.Value, &recClass.CRSE_OFFER_NBR.Value, &recClass.STRM.Value,
&recClass.SESSION_CODE.Value, &recClass.CLASS_SECTION.Value,
&recClass.SSR_SHIFT.Value);
If None(&rsWork(1).SSR_CLASS_SHIFT.SSR_SHIFT.Value) Then
&bFilteringPassed = False;
End-If;
End-If;
REM AD i2-e; *>
REM AD i2-s;
If (&bFilteringPassed) And
(All(&recFilter.SSR_SHIFT.Value)) Then
&rsWork = CreateRowset(Record.SSR_CLASS_SHIFT);
&rsWork.Fill("WHERE FILL.CRSE_ID = :1 AND FILL.CRSE_OFFER_NBR = :2 AND STRM =
:3 AND SESSION_CODE = :4 AND CLASS_SECTION = :5 AND FILL.SSR_SHIFT = :6",
&recClass.CRSE_ID.Value, &recClass.CRSE_OFFER_NBR.Value, &recClass.STRM.Value,
&recClass.SESSION_CODE.Value, &recClass.CLASS_SECTION.Value,
&recClass.SSR_SHIFT.Value);
If None(&rsWork(1).SSR_CLASS_SHIFT.SSR_SHIFT.Value) Then
&bFilteringPassed = False;
End-If;
End-If;
REM AD i2-e;

REM AD i2-s;
REM "Filter by Subject";
If (&bFilteringPassed) And
(All(&recFilter.SUBJECT.Value)) Then
If &recFilter.SUBJECT.Value <> &recClass.SUBJECT.Value Then
&bFilteringPassed = False;
End-If;
End-If;
REM AD i2-e;

REM "Filter by Units";


REM " Only need to check the enrollment component when filtering units";
If (&bFilteringPassed) And
(&recFilter.SSR_UNITS_FACET_SW.Value = "Y") And
(&recClass.CLASS_TYPE.Value = "E") Then
&rsWork = CreateRowset(Record.CLASS_ASSOC);

REM AD i2 x &rsWork.Fill("WHERE FILL.CRSE_ID = :1 AND FILL.CRSE_OFFER_NBR


= :2 AND STRM = :3 AND SESSION_CODE = :4 AND FILL.ASSOCIATED_CLASS = :5 AND
FILL.UNITS_MINIMUM >= :6 AND FILL.UNITS_MAXIMUM <= :7", &recClass.CRSE_ID.Value,
&recClass.CRSE_OFFER_NBR.Value, &recClass.STRM.Value, &recClass.SESSION_CODE.Value,
&recClass.ASSOCIATED_CLASS.Value, &recFilter.UNITS_MINIMUM.Value,
&recFilter.UNITS_MAXIMUM.Value);
REM AD i2 x If None(&rsWork(1).CLASS_ASSOC.CRSE_ID.Value) Then;
REM AD i2 x &bFilteringPassed = False;
REM AD i2-s;
&rsWork.Fill("WHERE FILL.CRSE_ID = :1 AND FILL.CRSE_OFFER_NBR = :2 AND STRM =
:3 AND SESSION_CODE = :4 AND FILL.ASSOCIATED_CLASS = :5", &recClass.CRSE_ID.Value,
&recClass.CRSE_OFFER_NBR.Value, &recClass.STRM.Value, &recClass.SESSION_CODE.Value,
&recClass.ASSOCIATED_CLASS.Value);
&recWork = &rsWork(1).GetRecord(Record.CLASS_ASSOC);
If None(&recWork.CRSE_ID.Value) Then
&bFilteringPassed = False;
Else

If &recWork.UNITS_MINIMUM.Value = &recWork.UNITS_MAXIMUM.Value Then


If (&recWork.UNITS_MINIMUM.Value >= &recFilter.UNITS_MINIMUM.Value) And
(&recWork.UNITS_MINIMUM.Value <= &recFilter.UNITS_MAXIMUM.Value)
Then
Else
&bFilteringPassed = False;
End-If;

Else

If ((&recWork.UNITS_MINIMUM.Value >= &recFilter.UNITS_MINIMUM.Value)


And
(&recWork.UNITS_MINIMUM.Value <= &recFilter.UNITS_MAXIMUM.Value))
Or
((&recWork.UNITS_MAXIMUM.Value >= &recFilter.UNITS_MINIMUM.Value)
And
(&recWork.UNITS_MAXIMUM.Value <=
&recFilter.UNITS_MAXIMUM.Value)) Or
((&recFilter.UNITS_MINIMUM.Value >= &recWork.UNITS_MINIMUM.Value)
And
(&recFilter.UNITS_MINIMUM.Value <=
&recWork.UNITS_MAXIMUM.Value)) Or
((&recFilter.UNITS_MAXIMUM.Value >= &recWork.UNITS_MINIMUM.Value)
And
(&recFilter.UNITS_MAXIMUM.Value <=
&recWork.UNITS_MAXIMUM.Value)) Then
Else
&bFilteringPassed = False;
End-If;

End-If;
REM AD i2-e;

End-If;
End-If;

REM "Filter by CAF";


REM " Only need to check the enrollment component when filtering for CAF";
If (&bFilteringPassed) And
(&bCAFSearch) And
(&recClass.CLASS_TYPE.Value = "E") Then
&rsWork = CreateRowset(Record.SSR_ASSOC_CAF);
&rsWork.Fill("WHERE FILL.CRSE_ID = :1 AND FILL.CRSE_OFFER_NBR = :2 AND STRM =
:3 AND SESSION_CODE = :4 AND FILL.ASSOCIATED_CLASS = :5", &recClass.CRSE_ID.Value,
&recClass.CRSE_OFFER_NBR.Value, &recClass.STRM.Value, &recClass.SESSION_CODE.Value,
&recClass.ASSOCIATED_CLASS.Value);
If None(&rsWork(1).SSR_ASSOC_CAF.CRSE_ID.Value) Then
&bFilteringPassed = False;
Else
Local integer &j;

For &j = 1 To &rsCAFFilter.ActiveRowCount


Local boolean &bCAFMatched = False;
Local Record &recCAFFilter =
&rsCAFFilter(&j).GetRecord(Record.SSR_DER_CAFFLTR);

For &i = 1 To &rsWork.ActiveRowCount


&recWork = &rsWork(&i).GetRecord(Record.SSR_ASSOC_CAF);

If &recWork.SCC_CAF_ATTRIB_NM.Value =
&recCAFFilter.SCC_CAF_ATTRIB_NM.Value Then
Evaluate &recCAFFilter.SCC_CAF_ATTR_TYPE.Value
When "01"
If &recWork.SCC_CAF_ATTR_SVAL.Value =
&recCAFFilter.SCC_CAF_ATTR_SVAL.Value Then
&bCAFMatched = True;
End-If;
Break;
When "02"
If &recWork.SCC_CAF_ATTR_TVAL.Value =
&recCAFFilter.SCC_CAF_ATTR_TVAL.Value Then
&bCAFMatched = True;
End-If;
Break;
When "03"
Local string &sStripLVAL =
StripOffHtmlTags(&recWork.SCC_CAF_ATTR_LVAL.Value);

If &sStripLVAL = &recCAFFilter.SCC_CAF_ATTR_LVAL.Value Then;


&bCAFMatched = True;
End-If;
Break;
When "04"
If &recWork.SCC_CAF_ATTR_NVAL.Value =
&recCAFFilter.SCC_CAF_ATTR_NVAL.Value Then
&bCAFMatched = True;
End-If;
Break;
When "05"
If &recWork.SCC_CAF_ATTR_DVAL.Value =
&recCAFFilter.SCC_CAF_ATTR_DVAL.Value Then
&bCAFMatched = True;
End-If;
Break;
When "06"
If &recWork.SCC_CAF_ATTR_TIME.Value =
&recCAFFilter.SCC_CAF_ATTR_TIME.Value Then
&bCAFMatched = True;
End-If;
Break;
When "07"
If &recWork.SCC_CAF_ATTR_YNO.Value =
&recCAFFilter.SCC_CAF_ATTR_YNO.Value Then
&bCAFMatched = True;
End-If;
Break;
When "LO"
REM AD r1 x If (&recWork.SCC_CAF_ATTR_VAL.Value =
&recCAFFilter.SCC_CAF_ATTR_VAL.Value Then;
REM AD r1-s;
If (&recWork.SCC_CAF_ATTR_VAL.Value =
Upper(&recCAFFilter.SCC_CAF_ATTR_VAL.Value)) Or
(Upper(&recWork.SCC_CAF_ATTR_VAL.Value) =
Upper(&recCAFFilter.SCC_CAF_ATTR_VAL.Value)) Then
REM AD r1-e;
&bCAFMatched = True;
End-If;
Break;
End-Evaluate;
If &bCAFMatched Then
Break;
End-If;
End-If;
End-For;
If Not &bCAFMatched Then
&bFilteringPassed = False;
REM AD i2 x Break;
End-If;
End-For;
End-If;
End-If;

Return &bFilteringPassed;

end-method;

method DetermineClassStatus
/+ &p_EnrlStatus as String, +/
/+ &p_WaitTot as Integer, +/
/+ &p_WaitCap as Integer +/
/+ Returns String +/

Local string &sEnrlStatus = &p_EnrlStatus;

Evaluate &p_EnrlStatus
When "C"
If &p_WaitCap > &p_WaitTot Then
&sEnrlStatus = "W";
Else
&sEnrlStatus = &p_EnrlStatus;
End-If;
Break;

When "O"
If &p_WaitCap > &p_WaitTot Then
&sEnrlStatus = "X";
End-If;
Break;
End-Evaluate;

Return &sEnrlStatus;

end-method;

method GetClassOptions
/+ &p_Source as String, +/
/+ &p_MultiComp as String, +/
/+ &p_rsFilter as Rowset, +/
/+ &p_rsCAFFilter as Rowset, +/
/+ &p_aClassRslt as Array of Number +/
/+ Returns Rowset +/

REM "&p_Source:";
REM " CI = From Course Info";
REM " CS = From Class Search";
REM " FR = From Favorites or Recently Viewed";
REM " SC = From Maintain Shopping Cart";
&sSource = &p_Source;

REM "&iarrayLen is used to see if an array of Class Results is available";


REM " this normally applies to Class Search only";
If &p_aClassRslt = Null Then
&iarrayLen = 0;
Else
&iarrayLen = &p_aClassRslt.Len;
End-If;

Local string &sMultiComp = &p_MultiComp;

&rsGroup = CreateRowset(Record.SSR_DER_CS_GRP);
&iGroup = 0;

&recFilter = &p_rsFilter(1).GetRecord(Record.SSR_DER_CS_FLTR);

REM "Get term begin date";


&sInst = &recFilter.INSTITUTION.Value;
&sTerm = &recFilter.STRM.Value;
%This.GetTermBeginDate();

If &p_rsCAFFilter <> Null Then


&rsCAFFilter = &p_rsCAFFilter;
Else
&rsCAFFilter = CreateRowset(Record.SSR_DER_CAFFLTR);
End-If;

If All(&rsCAFFilter(1).SSR_DER_CAFFLTR.SCC_CAF_ATTRIB_NM.Value) Then
&bCAFSearch = True;
Else
&bCAFSearch = False;
End-If;

If &sSource = "CS" Or
&sSource = "FR" Or
&sSource = "CI" Then
&iClassNbrSearch = &recFilter.CLASS_NBR.Value;
&sTopicSearch = &recFilter.SSR_TOPIC_SEARCH.Value;
Else
&iClassNbrSearch = 0;
&sTopicSearch = " ";
End-If;

If &sMultiComp <> "Y" Then


Local boolean &bMultiComp = %This.CheckCourseForMultiComp();
If &bMultiComp Then
&sMultiComp = "Y";
End-If;
End-If;

Local string &sAction = "Grouping";

%This.StartClassOptions(&sAction, &sMultiComp, &p_aClassRslt);

REM "Sort rowset before sending out";


&rsGroup.Sort(SSR_DER_CS_GRP.SSR_OPTION_STAT, "A",
SSR_DER_CS_GRP.SSR_CLASS_COUNT, "A", SSR_DER_CS_GRP.SSR_OPTION_NBR, "A",
SSR_DER_CS_GRP.SSR_SEQ_NBR, "A");

Local integer &i, &iNewOptnNbr;

For &i = 1 To &rsGroup.ActiveRowCount


&recGroup = &rsGroup(&i).GetRecord(Record.SSR_DER_CS_GRP);
Evaluate &recGroup.SSR_OPTION_STAT.Value
When "1"
&recGroup.SSR_OPTION_STAT.Value = "O";
Break;
When "2"
&recGroup.SSR_OPTION_STAT.Value = "W";
Break;
When-Other
&recGroup.SSR_OPTION_STAT.Value = "C";
Break;
End-Evaluate;
If &recGroup.SSR_SEQ_NBR.Value = 1 Then
&iNewOptnNbr = &iNewOptnNbr + 1;
End-If;
&recGroup.SSR_OPTION_NBR.Value = &iNewOptnNbr;
End-For;

Return &rsGroup;

end-method;

method GetClassOptionCounts
/+ &p_Source as String, +/
/+ &p_MultiComp as String, +/
/+ &p_rsFilter as Rowset, +/
/+ &p_rsCAFFilter as Rowset, +/
/+ &p_aClassRslt as Array of Number, +/
/+ &p_rsAllFacet as Rowset +/
/+ Returns Array of Number +/

REM "&p_Source:";
REM " CI = From Course Info";
REM " CS = From Class Search";
REM " FR = From Favorites or Recently Viewed";
REM " SC = From Maintain Shopping Cart";
&sSource = &p_Source;

Local array of number &aOptionResult = CreateArrayRept(0, 0);


REM "[1] = Number of options available based on standard search";
REM "[2] = Set to 1 if based on class number search";
REM "[3] = Set to 1 if based on class topic search";
REM "[4] = Number of Open Classes available";
REM "[5] = Number of Waitlist Classes available";
REM "[6] = Number of Closed Classes available";

REM "&iarrayLen is used to see if an array of Class Results is available";


REM " this normally applies to Class Search only";
If &p_aClassRslt = Null Then
&iarrayLen = 0;
Else
&iarrayLen = &p_aClassRslt.Len;
End-If;

Local string &sMultiComp = &p_MultiComp;

&iClassOptionCount = 0;

&recFilter = &p_rsFilter(1).GetRecord(Record.SSR_DER_CS_FLTR);

REM "Get term begin date";


&sInst = &recFilter.INSTITUTION.Value;
&sTerm = &recFilter.STRM.Value;
%This.GetTermBeginDate();

If &p_rsCAFFilter <> Null Then


&rsCAFFilter = &p_rsCAFFilter;
Else
&rsCAFFilter = CreateRowset(Record.SSR_DER_CAFFLTR);
End-If;

If All(&rsCAFFilter(1).SSR_DER_CAFFLTR.SCC_CAF_ATTRIB_NM.Value) Then
&bCAFSearch = True;
Else
&bCAFSearch = False;
End-If;

If &sSource = "CS" Or
&sSource = "FR" Or
&sSource = "CI" Then
&iClassNbrSearch = &recFilter.CLASS_NBR.Value;
&sTopicSearch = &recFilter.SSR_TOPIC_SEARCH.Value;
Else
&iClassNbrSearch = 0;
&sTopicSearch = " ";
End-If;

Local integer &iCounts;

If &sMultiComp <> "Y" Then


Local boolean &bMultiComp = %This.CheckCourseForMultiComp();
If &bMultiComp Then
&sMultiComp = "Y";
End-If;
End-If;

Local string &sAction = "Counting";


%This.StartClassOptions(&sAction, &sMultiComp, &p_aClassRslt);
&iCounts = &iClassOptionCount;

&aOptionResult.Push(&iCounts);
&aOptionResult.Push(&iClassNbrSearchOk);
&aOptionResult.Push(&iTopicSearchOk);

&aOptionResult.Push(&iOpenClasses);
&aOptionResult.Push(&iWaitlistClasses);
&aOptionResult.Push(&iClosedClasses);

Return &aOptionResult;
end-method;

method GetTermBeginDate

Local date &dTermBeginDt = &TermBeginDt;

If None(&dTermBeginDt) Then
&rsWork = CreateRowset(Record.TERM_TBL);
&rsWork.Fill("WHERE FILL.INSTITUTION = :1 AND FILL.STRM = :2 AND
FILL.TERM_BEGIN_DT = (SELECT MIN(X.TERM_BEGIN_DT) FROM PS_TERM_TBL X WHERE
X.INSTITUTION = FILL.INSTITUTION AND X.STRM = FILL.STRM)", &sInst, &sTerm);
If All(&rsWork(1).TERM_TBL.TERM_BEGIN_DT.Value) Then
&TermBeginDt = &rsWork(1).TERM_TBL.TERM_BEGIN_DT.Value;
Else
&TermBeginDt = %Date;
End-If;
End-If;

end-method;

method GroupClassOptions
/+ &p_Action as String, +/
/+ &p_MultiComp as String, +/
/+ &p_aClassRslt as Array of Number +/

Local integer &i, &j;


Local integer &iCR, &iRqC;
Local integer &iClassGroupCtr;

Local string &sGroupEnrlStatus = " ";


Local boolean &bContinue = True;
Local boolean &bMatchClass = False;
Local boolean &bGroupOk = False;

REM "If this is coming from Shopping Cart, if the group is the same as what's
in the shopping cart,";
REM " exclude this group";
If &sSource = "SC" Then
If (&iRelClass1 = &recFilter.RELATE_CLASS_NBR_1.Value And
&iRelClass2 = &recFilter.RELATE_CLASS_NBR_2.Value) Or
(&iRelClass1 = &recFilter.RELATE_CLASS_NBR_2.Value And
&iRelClass2 = &recFilter.RELATE_CLASS_NBR_1.Value) Then
If (&iAutoEnrlClass1 = &recFilter.SSR_AUTOENRL_CLS_1.Value And
&iAutoEnrlClass2 = &recFilter.SSR_AUTOENRL_CLS_2.Value) Or
(&iAutoEnrlClass1 = &recFilter.SSR_AUTOENRL_CLS_2.Value And
&iAutoEnrlClass2 = &recFilter.SSR_AUTOENRL_CLS_1.Value) Then
&bContinue = False;
End-If;
End-If;
End-If;
REM "END - If this is coming from Shopping Cart, if the group is the same as
what's in the shopping cart,";

REM "If a required component is missing, then this is not a valid class
option";
If &rsReqdComponents <> Null Then
For &iRqC = 1 To &rsReqdComponents.ActiveRowCount
If All(&rsReqdComponents(&iRqC).CLASS_COMPONENT.SSR_COMPONENT.Value) Then
If (&rsReqdComponents(&iRqC).CLASS_COMPONENT.SSR_COMPONENT.Value <>
&sRelComp1) And
(&rsReqdComponents(&iRqC).CLASS_COMPONENT.SSR_COMPONENT.Value <>
&sRelComp2) And
(&rsReqdComponents(&iRqC).CLASS_COMPONENT.SSR_COMPONENT.Value <>
&sAutoEnrlComp1) And
(&rsReqdComponents(&iRqC).CLASS_COMPONENT.SSR_COMPONENT.Value <>
&sAutoEnrlComp2) Then
&bContinue = False;
&iRqC = &rsReqdComponents.ActiveRowCount;
End-If;
End-If;
End-For;
End-If;
REM "END - If a required component is missing, then this is not a valid class
option";

If &bContinue Then
REM "Determine Group Status";

REM "If all of the classes are open, then overall status is OPEN";
If ((&sEnrlClassStatus = "O" Or
&sEnrlClassStatus = "X") And
(&sRelClassStatus1 = "O" Or
&sRelClassStatus1 = "X" Or
&sRelClassStatus1 = " ") And
(&sRelClassStatus2 = "O" Or
&sRelClassStatus2 = "X" Or
&sRelClassStatus2 = " ") And
(&sAutoEnrlStatus1 = "O" Or
&sAutoEnrlStatus1 = "X" Or
&sAutoEnrlStatus1 = " ") And
(&sAutoEnrlStatus2 = "O" Or
&sAutoEnrlStatus2 = "X" Or
&sAutoEnrlStatus2 = " ")) Then
&sGroupEnrlStatus = "O";
Else

REM "If any of the class is closed, then overall status is CLOSED";
If &sEnrlClassStatus = "C" Or
&sRelClassStatus1 = "C" Or
&sRelClassStatus2 = "C" Or
&sAutoEnrlStatus1 = "C" Or
&sAutoEnrlStatus2 = "C" Then
&sGroupEnrlStatus = "C";
Else

REM "If any of the class is waitlist, then overall status is:";
REM " WAITLIST if all of the class are either W or X status";
REM " X status stands for Open Classes but Waitlist is
available";
REM " Otherwise it is in CLOSED status";

If &sEnrlClassStatus = "W" Or
&sRelClassStatus1 = "W" Or
&sRelClassStatus2 = "W" Or
&sAutoEnrlStatus1 = "W" Or
&sAutoEnrlStatus2 = "W" Then
If (&sEnrlClassStatus <> "O") And
(&sRelClassStatus1 <> "O") And
(&sRelClassStatus2 <> "O") And
(&sAutoEnrlStatus1 <> "O") And
(&sAutoEnrlStatus2 <> "O") Then
&sGroupEnrlStatus = "W";
Else
&sGroupEnrlStatus = "C";
End-If;
Else

End-If;
End-If;
End-If;

If &p_Action = "Counting" Then


Evaluate &sGroupEnrlStatus
When "O"
&iOpenClasses = &iOpenClasses + 1;
Break;
When "W"
&iWaitlistClasses = &iWaitlistClasses + 1;
Break;
When "C"
&iClosedClasses = &iClosedClasses + 1;
Break;
End-Evaluate;
End-If;

REM "END - Determine Group Status";

Local boolean &bClassNbrSearch = False;

If &iClassNbrSearch > 0 Then


If (&iClassNbrSearch = &iEnrlClass) Or
(&iClassNbrSearch = &iRelClass1) Or
(&iClassNbrSearch = &iRelClass2) Or
(&iClassNbrSearch = &iAutoEnrlClass1) Or
(&iClassNbrSearch = &iAutoEnrlClass2) Then
&iClassNbrSearchOk = 1;
Else

If &iarrayLen > 0 Then


REM "If any of the classes are in the Results, this grouping might
be accepted";
For &iCR = 1 To &p_aClassRslt.Len
If (&p_aClassRslt [&iCR] = &iEnrlClass) Or
(&p_aClassRslt [&iCR] = &iRelClass1) Or
(&p_aClassRslt [&iCR] = &iRelClass2) Or
(&p_aClassRslt [&iCR] = &iAutoEnrlClass1) Or
(&p_aClassRslt [&iCR] = &iAutoEnrlClass2) Then
&bClassNbrSearch = True;
&iCR = &p_aClassRslt.Len;
End-If;
End-For;
REM "END - If any of the classes are in the Results, this grouping
might be accepted";

Else
REM "If Class Number Search, as long as one of the class matches
the search, group might be accepted";
If &sSource = "FR" Or
&sSource = "CI" Then
If (&iClassNbrSearch = &iEnrlClass) Or
(&iClassNbrSearch = &iRelClass1) Or
(&iClassNbrSearch = &iRelClass2) Or
(&iClassNbrSearch = &iAutoEnrlClass1) Or
(&iClassNbrSearch = &iAutoEnrlClass2) Then
&iClassNbrSearchOk = 1;
&bClassNbrSearch = True;
End-If;
Else
&bClassNbrSearch = False;
End-If;
REM "END - If Class Number Search, as long as one of the class
matches the search, group might be accepted";
End-If;

If Not &bClassNbrSearch Then


&bContinue = False;
End-If;

End-If;
End-If;

If &bContinue Then

&iClassGroupCtr = 1;
If &iRelClass1 > 0 Then
&iClassGroupCtr = &iClassGroupCtr + 1;
End-If;
If &iRelClass2 > 0 Then
&iClassGroupCtr = &iClassGroupCtr + 1;
End-If;
If &iAutoEnrlClass1 > 0 Then
&iClassGroupCtr = &iClassGroupCtr + 1;
End-If;
If &iAutoEnrlClass2 > 0 Then
&iClassGroupCtr = &iClassGroupCtr + 1;
End-If;
&iClassCount = &iClassGroupCtr;

If &recFilter.SSR_FILTER_CTR.Value = 0 Then
REM "no fiter selected all groupings are accepted";
&bGroupOk = True;
Else
REM "If All classes are in the Results, this grouping is accepted";

REM AD Comment out for now till ES is stable;


<*
If (&iarrayLen > 0) And
(None(&recFilter.ENRL_STAT.Value)) Then
For &iCR = 1 To &p_aClassRslt.Len
If (&p_aClassRslt [&iCR] = &iEnrlClass) Or
(&p_aClassRslt [&iCR] = &iRelClass1) Or
(&p_aClassRslt [&iCR] = &iRelClass2) Or
(&p_aClassRslt [&iCR] = &iAutoEnrlClass1) Or
(&p_aClassRslt [&iCR] = &iAutoEnrlClass2) Then
&iClassGroupCtr = &iClassGroupCtr - 1;

If &iClassGroupCtr = 0 Then
&bGroupOk = True;
&iCR = &p_aClassRslt.Len;
End-If;
End-If;
End-For;
End-If;
*>

REM "END - If All classes are in the Results, this grouping is


accepted";

If Not &bGroupOk Then


If (&recFilter.SSR_FILTER_CTR.Value = 1) And
(All(&recFilter.ENRL_STAT.Value)) Then
REM "If the only facet selected is by Class Status";
REM " and the group status = Class Status filter then this
grouping is accepted";
If &recFilter.ENRL_STAT.Value = &sGroupEnrlStatus Then
&bGroupOk = True;
End-If;
Else
REM "Facet/Filter must be compared against the list of classes";
Local boolean &bFilterPassed = True;

If (All(&recFilter.ENRL_STAT.Value)) And
(&recFilter.ENRL_STAT.Value <> &sGroupEnrlStatus) Then
&bFilterPassed = False;
End-If;

&bMatchedInstrName = False;
&bMatchedComponent = False;
&bMatchedTopic = False;

REM AD i2-s;
&bMatchedAttrb = False;
REM AD i2-e;

If &bFilterPassed Then
&bFilterPassed = %This.ClassFiltering("E", &iEnrlClass,
&p_aClassRslt);
End-If;

If (&bFilterPassed) And
(&iAutoEnrlClass1 > 0) Then
&bFilterPassed = %This.ClassFiltering("N", &iAutoEnrlClass1,
&p_aClassRslt);
End-If;

If (&bFilterPassed) And
(&iAutoEnrlClass2 > 0) Then
&bFilterPassed = %This.ClassFiltering("N", &iAutoEnrlClass2,
&p_aClassRslt);
End-If;

If (&bFilterPassed) And
(&iRelClass1 > 0) Then
&bFilterPassed = %This.ClassFiltering("N", &iRelClass1,
&p_aClassRslt);
End-If;

If (&bFilterPassed) And
(&iRelClass2 > 0) Then
&bFilterPassed = %This.ClassFiltering("N", &iRelClass2,
&p_aClassRslt);
End-If;

REM AD i2-s;
<*
If (&bFilterPassed) And
(All(&recFilter.LAST_NAME.Value)) And
( Not &bMatchedInstrName) Then
&bFilterPassed = False;
End-If;
REM AD i2-e; *>

REM AD i2-s;
<*
If (&bFilterPassed) And
(All(&recFilter.SSR_COMPONENT.Value)) And
( Not &bMatchedComponent) Then
&bFilterPassed = False;
End-If;
REM AD i2-e; *>

REM AD i2-s;
If (&bFilterPassed) And
(All(&recFilter.CRSE_ATTR.Value)) And
( Not &bMatchedAttrb) Then
&bFilterPassed = False;
End-If;
REM AD i2-e;

<*
If (&bFilterPassed) And
(&iTopicSearchOk = 1) And
( Not &bMatchedTopic) Then
&bFilterPassed = False;
End-If;
*>

If (&bFilterPassed) And
(&iTopicSearchOk = 1) And
( Not &bMatchedTopic) Then
&iTopicSearchOk = 0;
End-If;

If &bFilterPassed Then
REM "This group passed the filtering";
&bGroupOk = True;
End-If;
End-If;
End-If;
End-If;
REM "Check for Time Conflict";
REM AD i2-s;
If &bGroupOk Then
REM AD i2-e;
Local string &sEnrlTimeConf = "N";
Local string &sRel1TimeConf = "N";
Local string &sRel2TimeConf = "N";
Local string &sAuto1TimeConf = "N";
Local string &sAuto2TimeConf = "N";

If &iClassCount > 1 Then


&rsWork = CreateRowset(Record.SSR_CLSOPTN_OPT);
&rsWork.Fill();
Local string &sClsopt_TmeConf =
&rsWork(1).SSR_CLSOPTN_OPT.SSR_CLSOPT_TMECONF.Value;

If (&sClsopt_TmeConf = "D") Or
(&sClsopt_TmeConf = "H") Then
&rsWork = CreateRowset(Record.CLASS_MTG_PAT);
Local Rowset &rsMtgDerived =
CreateRowset(Record.SSR_DER_MTG_PAT);
&j = 0;
&rsWork.Fill("WHERE FILL.CRSE_ID = :1 AND FILL.CRSE_OFFER_NBR = :
2 AND FILL.STRM = :3 AND FILL.SESSION_CODE = :4 AND FILL.CLASS_SECTION IN (:5, :
6, :7, :8, :9)", &recClassTblEnrl.CRSE_ID.Value,
&recClassTblEnrl.CRSE_OFFER_NBR.Value, &recClassTblEnrl.STRM.Value,
&recClassTblEnrl.SESSION_CODE.Value, &sEnrlSection, &sRelSection1, &sRelSection2,
&sAutoSection1, &sAutoSection2);
If &rsWork <> Null Then
For &i = 1 To &rsWork.ActiveRowCount
&recWork = &rsWork(&i).GetRecord(Record.CLASS_MTG_PAT);
If &j <> 0 Then
&rsMtgDerived.InsertRow(&j);
End-If;
&j = &j + 1;
Local Record &recDerived =
&rsMtgDerived(&j).GetRecord(Record.SSR_DER_MTG_PAT);
&recWork.CopyFieldsTo(&recDerived);
End-For;

Local SSR_MANAGE_CLASSES:UTIL:TimeConflictChecking
&obj_TimeConflictChecking = create SSR_MANAGE_CLASSES:UTIL:TimeConflictChecking();
&rsMtgDerived =
&obj_TimeConflictChecking.TimeConflictCheck(&rsMtgDerived);

Local boolean &bTimeConf = False;


For &j = 1 To &rsMtgDerived.ActiveRowCount
&recDerived =
&rsMtgDerived(&j).GetRecord(Record.SSR_DER_MTG_PAT);

If All(&recDerived.SSR_TIMECONF_SECT.Value) Then
If &recDerived.CLASS_SECTION.Value = &sEnrlSection Then;
&sEnrlTimeConf = "Y";
&bTimeConf = True;
Else
If &recDerived.CLASS_SECTION.Value = &sRelSection1
Then;
&sRel1TimeConf = "Y";
&bTimeConf = True;
Else
If &recDerived.CLASS_SECTION.Value = &sRelSection2
Then;
&sRel2TimeConf = "Y";
&bTimeConf = True;
Else
If &recDerived.CLASS_SECTION.Value =
&sAutoSection1 Then;
&sAuto1TimeConf = "Y";
&bTimeConf = True;
Else
If &recDerived.CLASS_SECTION.Value =
&sAutoSection2 Then;
&sAuto2TimeConf = "Y";
&bTimeConf = True;
End-If;
End-If;
End-If;
End-If;
End-If;
End-If;
End-For;
If &bTimeConf And
&sClsopt_TmeConf = "H" Then
&bGroupOk = False;
End-If;

End-If;
End-If;
End-If;
REM AD i2-s;
End-If;
REM AD i2-e;
REM "END - Check for Time Conflict";

If &bGroupOk Then
&iClassOptionCount = &iClassOptionCount + 1;

If &p_Action = "Grouping" Then


If &iGroup <> 0 Then
&rsGroup.InsertRow(&iGroup);
Else
&rsStdntEnrl = CreateRowset(Record.SSR_STENR_CRSVW);
&rsStdntEnrl.Fill("WHERE FILL.EMPLID = :1 AND FILL.INSTITUTION
= :2 AND FILL.STRM = :3 AND FILL.CRSE_ID = :4 AND FILL.CRSE_OFFER_NBR = :5",
%EmployeeId, &recFilter.INSTITUTION.Value, &recFilter.STRM.Value,
&recFilter.CRSE_ID.Value, &recFilter.CRSE_OFFER_NBR.Value);
End-If;

&iGroup = &iGroup + 1;
&iOptionSeq = 0;

&recGroup = &rsGroup(&iGroup).GetRecord(Record.SSR_DER_CS_GRP);
Local Record &recGroupEnrlClass =
&rsGroup(&iGroup).GetRecord(Record.SSR_DER_CS_GRP);
&recClassTblEnrl.CopyFieldsTo(&recGroup);
&recGroup.SSR_OPTION_NBR.Value = &iClassOptionCount;
&iOptionSeq = &iOptionSeq + 1;
&recGroup.SSR_SEQ_NBR.Value = &iOptionSeq;
&recGroup.SSR_CLASS_COUNT.Value = &iClassCount;
&recGroup.SSR_TIME_CONFLICT.Value = &sEnrlTimeConf;

If &recGroup.ENRL_STAT.Value = "X" Then


&recGroup.ENRL_STAT.Value = "O";
End-If;

Evaluate &sGroupEnrlStatus
When "O"
&recGroup.SSR_OPTION_STAT.Value = "1";
Break;
When "W"
&recGroup.SSR_OPTION_STAT.Value = "2";
Break;
When-Other
&recGroup.SSR_OPTION_STAT.Value = "3";
End-Evaluate;

For &i = 1 To &rsStdntEnrl.ActiveRowCount


If &iEnrlClass = &rsStdntEnrl(&i).SSR_STENR_CRSVW.CLASS_NBR.Value
Then
&recGroup.SSR_STDNT_OPTNSTAT.Value =
&rsStdntEnrl(&i).SSR_STENR_CRSVW.STDNT_ENRL_STATUS.Value;
&recGroup.STDNT_ENRL_STATUS.Value =
&rsStdntEnrl(&i).SSR_STENR_CRSVW.STDNT_ENRL_STATUS.Value;
&i = &rsStdntEnrl.ActiveRowCount;
End-If;
End-For;

If (&iRelClass1 = 0) And
(&sRelComp1 <> " ") Then
&recGroup.SSR_OPTNAL_COMP1.Value = &sRelComp1;
End-If;

If (&iRelClass2 = 0) And
(&sRelComp2 <> " ") Then
&recGroup.SSR_OPTNAL_COMP2.Value = &sRelComp2;
End-If;

&rsWork = CreateRowset(Record.CLASS_ASSOC);
&rsWork.Fill("WHERE FILL.CRSE_ID = :1 AND FILL.CRSE_OFFER_NBR = :2
AND FILL.STRM = :3 AND FILL.SESSION_CODE = :4 AND FILL.ASSOCIATED_CLASS = :5",
&recClassTblEnrl.CRSE_ID.Value, &recClassTblEnrl.CRSE_OFFER_NBR.Value,
&recClassTblEnrl.STRM.Value, &recClassTblEnrl.SESSION_CODE.Value,
&recClassTblEnrl.ASSOCIATED_CLASS.Value);

&recWork = &rsWork(1).GetRecord(Record.CLASS_ASSOC);

If &sEnrlComp = &recWork.SSR_COMPONENT.Value Then


&recGroup.GRADING_BASIS.Value = &recWork.GRADING_BASIS.Value;
&recGroup.UNITS_MINIMUM.Value = &recWork.UNITS_MINIMUM.Value;
&recGroup.UNITS_MAXIMUM.Value = &recWork.UNITS_MAXIMUM.Value;
Else
&sGradedComp = &recWork.SSR_COMPONENT.Value;
&sGradingBasis = &recWork.GRADING_BASIS.Value;
&iUnitsMin = &recWork.UNITS_MINIMUM.Value;
&iUnitsMax = &recWork.UNITS_MAXIMUM.Value;
End-If;
&recGroup.ASSOCIATED_CLASS.Value = &recWork.ASSOCIATED_CLASS.Value;

If &iAutoEnrlClass1 > 0 Then


%This.GroupNonEnroll(&iAutoEnrlClass1, "Y", &sGroupEnrlStatus,
&sAuto1TimeConf);
If (All(&recGroupEnrlClass.SSR_STDNT_OPTNSTAT.Value)) And
(&recGroup.STDNT_ENRL_STATUS.Value <>
&recGroupEnrlClass.STDNT_ENRL_STATUS.Value) Then
&recGroupEnrlClass.SSR_STDNT_OPTNSTAT.Value = " ";
End-If;
End-If;

If &iAutoEnrlClass2 > 0 Then


%This.GroupNonEnroll(&iAutoEnrlClass2, "Y", &sGroupEnrlStatus,
&sAuto2TimeConf);
If (All(&recGroupEnrlClass.SSR_STDNT_OPTNSTAT.Value)) And
(&recGroup.STDNT_ENRL_STATUS.Value <>
&recGroupEnrlClass.STDNT_ENRL_STATUS.Value) Then
&recGroupEnrlClass.SSR_STDNT_OPTNSTAT.Value = " ";
End-If;
End-If;

If &iRelClass1 > 0 Then


%This.GroupNonEnroll(&iRelClass1, "N", &sGroupEnrlStatus,
&sRel1TimeConf);
If (All(&recGroupEnrlClass.SSR_STDNT_OPTNSTAT.Value)) And
(&recGroup.STDNT_ENRL_STATUS.Value <>
&recGroupEnrlClass.STDNT_ENRL_STATUS.Value) Then
&recGroupEnrlClass.SSR_STDNT_OPTNSTAT.Value = " ";
End-If;
End-If;

If &iRelClass2 > 0 Then


%This.GroupNonEnroll(&iRelClass2, "N", &sGroupEnrlStatus,
&sRel2TimeConf);
If (All(&recGroupEnrlClass.SSR_STDNT_OPTNSTAT.Value)) And
(&recGroup.STDNT_ENRL_STATUS.Value <>
&recGroupEnrlClass.STDNT_ENRL_STATUS.Value) Then
&recGroupEnrlClass.SSR_STDNT_OPTNSTAT.Value = " ";
End-If;
End-If;

End-If;

End-If;

End-If;
End-If;
end-method;

method GroupNonEnroll
/+ &p_ClassNbr as Integer, +/
/+ &p_AutoEnroll as String, +/
/+ &p_GroupEnrlStatus as String, +/
/+ &p_TimeConf as String +/

For &iNonEnrl = 1 To &rsClassTbl.ActiveRowCount


&recClassTbl = &rsClassTbl(&iNonEnrl).GetRecord(Record.SSR_CS_CLSTBLVW);
If &recClassTbl.CLASS_NBR.Value = &p_ClassNbr Then
&rsGroup.InsertRow(&iGroup);
&iGroup = &iGroup + 1;

&recGroup = &rsGroup(&iGroup).GetRecord(Record.SSR_DER_CS_GRP);
&recClassTbl.CopyFieldsTo(&recGroup);
&recGroup.SSR_OPTION_NBR.Value = &iClassOptionCount;
&iOptionSeq = &iOptionSeq + 1;
&recGroup.SSR_SEQ_NBR.Value = &iOptionSeq;

&recGroup.SSR_CLASS_COUNT.Value = &iClassCount;

Evaluate &p_GroupEnrlStatus
When "O"
&recGroup.SSR_OPTION_STAT.Value = "1";
Break;
When "W"
&recGroup.SSR_OPTION_STAT.Value = "2";
Break;
When-Other
&recGroup.SSR_OPTION_STAT.Value = "3";
Break;
End-Evaluate;

Local integer &i;


For &i = 1 To &rsStdntEnrl.ActiveRowCount
If &p_ClassNbr = &rsStdntEnrl(&i).SSR_STENR_CRSVW.CLASS_NBR.Value Then
&recGroup.STDNT_ENRL_STATUS.Value =
&rsStdntEnrl(&i).SSR_STENR_CRSVW.STDNT_ENRL_STATUS.Value;
&i = &rsStdntEnrl.ActiveRowCount;
End-If;
End-For;

&recGroup.SSR_AUTO_ENRL_SW.Value = &p_AutoEnroll;
If &recGroup.ENRL_STAT.Value = "X" Then
&recGroup.ENRL_STAT.Value = "O";
End-If;

If &recGroup.SSR_COMPONENT.Value = &sGradedComp Then


&recGroup.GRADING_BASIS.Value = &recWork.GRADING_BASIS.Value;
&recGroup.UNITS_MINIMUM.Value = &recWork.UNITS_MINIMUM.Value;
&recGroup.UNITS_MAXIMUM.Value = &recWork.UNITS_MAXIMUM.Value;
End-If;

&recGroup.SSR_TIME_CONFLICT.Value = &p_TimeConf;

&iNonEnrl = &rsClassTbl.ActiveRowCount;
End-If;
End-For;

end-method;

method StartClassOptions
/+ &p_Action as String, +/
/+ &p_MultiComp as String, +/
/+ &p_aClassRslt as Array of Number +/
Local string &sSvEnrlComp;

Local integer &a1, &a2;


Local integer &iClass;
Local integer &iSvAssoc, &iSvAssoc2;

Local boolean &bMultiComp, &bLoadNonEnrl;

&rsClassTblEnrl = CreateRowset(Record.SSR_CS_CLSTBLVW);
&rsClassTbl = CreateRowset(Record.SSR_CS_CLSTBLVW);

&iClassNbrSearchOk = 0;
&iTopicSearchOk = 0;

REM "If this is using Class Array, let's see if we can use the array"
REM "as the basis of valid data instead of using the Filters";
REM AD;
<*
If (&iarrayLen > 0) And
(None(&recFilter.SSR_COMPONENT.Value)) And
((None(&recFilter.ENRL_STAT.Value)) Or
(&recFilter.ENRL_STAT.Value = "O")) And
(&iClassNbrSearch = 0) Then
Local boolean &bUseArray = True;
*>
REM AD;

If (&iarrayLen > 0) And


(None(&recFilter.SSR_COMPONENT.Value)) And
(None(&recFilter.ENRL_STAT.Value)) And
(&sTopicSearch = " ") And
(&iClassNbrSearch = 0) Then
REM Force to not use the array;
Local boolean &bUseArray = False;
Else
&bUseArray = False;
End-If;

&bLoadNonEnrl = True;

REM "Check if search by class topic is being used");


If (&iClassNbrSearch = 0) And
(&sTopicSearch <> " ") And
((&sSource = "CI") Or
(&sSource = "CS") Or
(&sSource = "FR")) Then

Local string &sTopicKeywords = "%" | &recFilter.SSR_TOPIC_SEARCH.Value | "%";

&rsWork = CreateRowset(Record.CRSE_CATALOG);
&rsWork.Fill("WHERE FILL.CRSE_ID = :1 AND %EffDtCheck(CRSE_CATALOG A2, FILL,
%Datein(:2))", &recFilter.CRSE_ID.Value, &TermBeginDt);
If All(&rsWork(1).CRSE_CATALOG.CRSE_ID.Value) Then
If Not (DBPatternMatch(&rsWork(1).CRSE_CATALOG.DESCR.Value,
&sTopicKeywords, False)) Then
&iTopicSearchOk = 1;
End-If;
End-If;
If &iTopicSearchOk = 1 Then
&rsWork = CreateRowset(Record.CRSE_OFFER);
&rsWork.Fill("WHERE FILL.CRSE_ID = :1 AND %EffDtCheck(CRSE_CATALOG A2,
FILL, %Datein(:2))", &recFilter.CRSE_ID.Value, &TermBeginDt);
Local integer &i;
For &i = 1 To &rsWork.ActiveRowCount
If All(&rsWork(&i).CRSE_OFFER.CRSE_ID.Value) Then
If (DBPatternMatch(&rsWork(&i).CRSE_OFFER.SUBJECT.Value,
&sTopicKeywords, False)) Then
&iTopicSearchOk = 0;
&i = &rsWork.ActiveRowCount;
End-If;
End-If;
End-For;
End-If;
End-If;

REM "Check if search by class# is being used");


If (&iClassNbrSearch <> 0) And
((&sSource = "CI") Or
(&sSource = "FR")) Then
&rsClassTblEnrl.Fill("WHERE FILL.CRSE_ID = :1 AND FILL.CRSE_OFFER_NBR = :2
AND FILL.STRM = :3 AND FILL.INSTITUTION = :4 AND FILL.CLASS_NBR = :5",
&recFilter.CRSE_ID.Value, &recFilter.CRSE_OFFER_NBR.Value, &recFilter.STRM.Value,
&recFilter.INSTITUTION.Value, &iClassNbrSearch);
If None(&rsClassTblEnrl(1).SSR_CS_CLSTBLVW.CLASS_NBR.Value) Then
&iClassNbrSearch = 0;
End-If;
End-If;

REM "Load enrollment classes only";


&rsClassTblEnrl.Flush();
If &sSource = "SC" Then
&rsClassTblEnrl.Fill("WHERE FILL.CLASS_NBR = :1 AND FILL.STRM = :2 AND
FILL.INSTITUTION = :3", &recFilter.CLASS_NBR.Value, &recFilter.STRM.Value,
&recFilter.INSTITUTION.Value);
&iEnrl = 1;
&recClassTblEnrl = &rsClassTblEnrl(&iEnrl).GetRecord(Record.SSR_CS_CLSTBLVW);
If All(&recClassTblEnrl.CLASS_NBR.Value) Then
&recFilter.CRSE_ID.Value = &recClassTblEnrl.CRSE_ID.Value;
&recFilter.CRSE_OFFER_NBR.Value = &recClassTblEnrl.CRSE_OFFER_NBR.Value;
End-If;
Else
If &recFilter.ENRL_STAT.Value = "O" Then
&rsClassTblEnrl.Fill("WHERE FILL.CRSE_ID = :1 AND FILL.CRSE_OFFER_NBR = :2
AND FILL.STRM = :3 AND FILL.CLASS_TYPE = 'E' AND FILL.INSTITUTION = :4 AND
FILL.ENRL_STAT = :5 ORDER BY FILL.ASSOCIATED_CLASS", &recFilter.CRSE_ID.Value,
&recFilter.CRSE_OFFER_NBR.Value, &recFilter.STRM.Value,
&recFilter.INSTITUTION.Value, &recFilter.ENRL_STAT.Value);
Else
&rsClassTblEnrl.Fill("WHERE FILL.CRSE_ID = :1 AND FILL.CRSE_OFFER_NBR = :2
AND FILL.STRM = :3 AND FILL.CLASS_TYPE = 'E' AND FILL.INSTITUTION = :4 ORDER BY
FILL.ASSOCIATED_CLASS", &recFilter.CRSE_ID.Value, &recFilter.CRSE_OFFER_NBR.Value,
&recFilter.STRM.Value, &recFilter.INSTITUTION.Value);
End-If;
End-If;

REM "Let's see if we can remove enrollment classes that shouldn't be part of
the selection";
If &bUseArray Then
REM "If this is using Class Array, let's see if we can use the array"
REM "as the basis of valid data instead of using the Filters";
For &iEnrl = &rsClassTblEnrl.ActiveRowCount To 1 Step - 1
&recClassTblEnrl =
&rsClassTblEnrl(&iEnrl).GetRecord(Record.SSR_CS_CLSTBLVW);
For &iClass = 1 To &p_aClassRslt.Len
Local boolean &bDelete = True;
If &p_aClassRslt [&iClass] = &recClassTblEnrl.CLASS_NBR.Value Then
&bDelete = False;
&iClass = &p_aClassRslt.Len;
End-If;
End-For;
If &bDelete Then
&rsClassTblEnrl.DeleteRow(&iEnrl);
End-If;
End-For;
End-If;
REM "END - Let's see if we need to remove enrollment classes that shouldn't be
part of the selection";

REM "Need to see which one should be set to WaitList Status and sort it by
Open, Waitlist, Closed";
For &iEnrl = 1 To &rsClassTblEnrl.ActiveRowCount
&recClassTblEnrl = &rsClassTblEnrl(&iEnrl).GetRecord(Record.SSR_CS_CLSTBLVW);
&sEnrlClassStatus =
%This.DetermineClassStatus(&recClassTblEnrl.ENRL_STAT.Value,
&recClassTblEnrl.WAIT_TOT.Value, &recClassTblEnrl.WAIT_CAP.Value);
&recClassTblEnrl.ENRL_STAT.Value = &sEnrlClassStatus;
Evaluate &sEnrlClassStatus
When "O"
When "X"
&recClassTblEnrl.SSR_SEQ_NBR7.Value = 1;
Break;
When "W"
&recClassTblEnrl.SSR_SEQ_NBR7.Value = 2;
Break;
When "C"
&recClassTblEnrl.SSR_SEQ_NBR7.Value = 3;
Break;
End-Evaluate;
End-For;
&rsClassTblEnrl.Sort(SSR_CS_CLSTBLVW.SSR_SEQ_NBR7, "A");
REM "END - Need to see which one should be set to WaitList Status and sort it
by Open, Waitlist, Closed";

REM "END - Load enrollment classes only";

For &iEnrl = 1 To &rsClassTblEnrl.ActiveRowCount


&recClassTblEnrl = &rsClassTblEnrl(&iEnrl).GetRecord(Record.SSR_CS_CLSTBLVW);
If All(&recClassTblEnrl.CLASS_NBR.Value) Then

&rsReqdComponents = CreateRowset(Record.CLASS_COMPONENT);

If &recClassTblEnrl.ASSOCIATED_CLASS.Value <> &iSvAssoc Then


&iSvAssoc = &recClassTblEnrl.ASSOCIATED_CLASS.Value;
&bMultiComp = False;

REM "Check if this association uses multiple components";


&rsWork = CreateRowset(Record.CLASS_COMPONENT);
&rsWork.Fill("WHERE FILL.CRSE_ID = :1 AND FILL.CRSE_OFFER_NBR = :2 AND
FILL.STRM = :3 AND FILL.ASSOCIATED_CLASS = :4 AND FILL.SSR_COMPONENT <> :5",
&recFilter.CRSE_ID.Value, &recFilter.CRSE_OFFER_NBR.Value, &recFilter.STRM.Value,
&iSvAssoc, &recClassTblEnrl.SSR_COMPONENT.Value);
If All(&rsWork(1).CLASS_COMPONENT.CRSE_ID.Value) Then
&bMultiComp = True;
Else
&rsWork = CreateRowset(Record.SSR_CS_CLSTBLVW);
&rsWork.Fill("WHERE FILL.CRSE_ID = :1 AND FILL.CRSE_OFFER_NBR = :2
AND FILL.STRM = :3 AND (FILL.ASSOCIATED_CLASS = :4 OR FILL.ASSOCIATED_CLASS = 9999)
AND FILL.SSR_COMPONENT <> :5 AND FILL.INSTITUTION = :6", &recFilter.CRSE_ID.Value,
&recFilter.CRSE_OFFER_NBR.Value, &recFilter.STRM.Value, &iSvAssoc,
&recClassTblEnrl.SSR_COMPONENT.Value, &recFilter.INSTITUTION.Value);
If All(&rsWork(1).SSR_CS_CLSTBLVW.CRSE_ID.Value) Then
&bMultiComp = True;
End-If;
End-If;
End-If;

If &bMultiComp Then
If &bLoadNonEnrl Then
&bLoadNonEnrl = False;

REM "Load all non-enrollment classes";


&rsClassTbl.Flush();
If &sSource = "SC" Then
&rsClassTbl.Fill("WHERE FILL.CRSE_ID = :1 AND FILL.CRSE_OFFER_NBR
= :2 AND FILL.STRM = :3 AND FILL.CLASS_TYPE <> 'E' AND (FILL.ASSOCIATED_CLASS = :4
OR FILL.ASSOCIATED_CLASS = 9999) AND FILL.INSTITUTION = :5 ORDER BY
FILL.SSR_COMPONENT", &recFilter.CRSE_ID.Value, &recFilter.CRSE_OFFER_NBR.Value,
&recFilter.STRM.Value, &recClassTblEnrl.ASSOCIATED_CLASS.Value,
&recFilter.INSTITUTION.Value);
Else
If &recFilter.ENRL_STAT.Value = "O" Then
&rsClassTbl.Fill("WHERE FILL.CRSE_ID = :1 AND
FILL.CRSE_OFFER_NBR = :2 AND FILL.STRM = :3 AND FILL.CLASS_TYPE <> 'E' AND
FILL.INSTITUTION = :4 AND FILL.ENRL_STAT = :5 ORDER BY FILL.SSR_COMPONENT,
FILL.ASSOCIATED_CLASS", &recFilter.CRSE_ID.Value, &recFilter.CRSE_OFFER_NBR.Value,
&recFilter.STRM.Value, &recFilter.INSTITUTION.Value, &recFilter.ENRL_STAT.Value);
Else
&rsClassTbl.Fill("WHERE FILL.CRSE_ID = :1 AND
FILL.CRSE_OFFER_NBR = :2 AND FILL.STRM = :3 AND FILL.CLASS_TYPE <> 'E' AND
FILL.INSTITUTION = :4 ORDER BY FILL.SSR_COMPONENT, FILL.ASSOCIATED_CLASS",
&recFilter.CRSE_ID.Value, &recFilter.CRSE_OFFER_NBR.Value, &recFilter.STRM.Value,
&recFilter.INSTITUTION.Value);
End-If;
End-If;
If None(&rsClassTbl(1).SSR_CS_CLSTBLVW.CRSE_ID.Value) Then
&bMultiComp = False;
Else

REM "Let's see if we can remove non-enrollment classes that


shouldn't be part of the selection";
If &bUseArray Then
For &iNonEnrl = &rsClassTbl.ActiveRowCount To 1 Step - 1
&recClassTbl =
&rsClassTbl(&iNonEnrl).GetRecord(Record.SSR_CS_CLSTBLVW);
For &iClass = 1 To &p_aClassRslt.Len
&bDelete = True;
If &p_aClassRslt [&iClass] =
&recClassTbl.CLASS_NBR.Value Then
&bDelete = False;
&iClass = &p_aClassRslt.Len;
End-If;
End-For;
If &bDelete Then
&rsClassTbl.DeleteRow(&iNonEnrl);
End-If;
End-For;
End-If;
REM "END - Let's see if we can remove non-enrollment classes
that shouldn't be part of the selection";

End-If;
REM "END - Load all non-enrollment classes";

End-If;
End-If;

REM "Per Enrollment Class";


&iEnrlClass = &recClassTblEnrl.CLASS_NBR.Value;
&sEnrlSection = &recClassTblEnrl.CLASS_SECTION.Value;
&sEnrlComp = &recClassTblEnrl.SSR_COMPONENT.Value;
&sEnrlClassStatus = &recClassTblEnrl.ENRL_STAT.Value;
REM &sEnrlClassStatus =
%This.DetermineClassStatus(&recClassTblEnrl.ENRL_STAT.Value,
&recClassTblEnrl.WAIT_TOT.Value, &recClassTblEnrl.WAIT_CAP.Value);

&iAutoEnrlClass1 = 0;
&sAutoSection1 = " ";
&sAutoEnrlComp1 = " ";
&sAutoEnrlStatus1 = " ";

&iAutoEnrlClass2 = 0;
&sAutoSection2 = " ";
&sAutoEnrlComp2 = " ";
&sAutoEnrlStatus2 = " ";

&iRelClass1 = 0;
&sRelSection1 = " ";
&sRelComp1 = " ";
&sRelClassStatus1 = " ";
&sRelClassOptional1 = " ";

&iRelClass2 = 0;
&sRelSection2 = " ";
&sRelComp2 = " ";
&sRelClassStatus2 = " ";
&sRelClassOptional2 = " ";

&aRelClass1 = CreateArrayRept(0, 0);


&aRelClass2 = CreateArrayRept(0, 0);

&aRelSection1 = CreateArrayRept(" ", 0);


&aRelSection2 = CreateArrayRept(" ", 0);

&aRelClassStatus1 = CreateArrayRept(" ", 0);


&aRelClassStatus2 = CreateArrayRept(" ", 0);
If Not &bMultiComp Then
%This.GroupClassOptions(&p_Action, "N", &p_aClassRslt);
Else

Local string &sMultiComp = "Y";

REM "Gather Required non-enrollment components";


If (&iSvAssoc2 <> &recClassTblEnrl.ASSOCIATED_CLASS.Value) Or
(&sSvEnrlComp <> &recClassTblEnrl.SSR_COMPONENT.Value) Then
&iSvAssoc2 = &recClassTblEnrl.ASSOCIATED_CLASS.Value;
&sSvEnrlComp = &recClassTblEnrl.SSR_COMPONENT.Value;
&rsReqdComponents.Flush();
&rsReqdComponents.Fill("WHERE FILL.CRSE_ID = :1 AND
FILL.CRSE_OFFER_NBR = :2 AND FILL.STRM = :3 AND FILL.SESSION_CODE = :4 AND
FILL.ASSOCIATED_CLASS = :5 AND FILL.SSR_COMPONENT <> :6", &recFilter.CRSE_ID.Value,
&recFilter.CRSE_OFFER_NBR.Value, &recFilter.STRM.Value,
&recClassTblEnrl.SESSION_CODE.Value, &recClassTblEnrl.ASSOCIATED_CLASS.Value,
&recClassTblEnrl.SSR_COMPONENT.Value);
End-If;
REM "END - Gather Required non-enrollment components";

REM "Check if auto enroll exists";


If (All(&recClassTblEnrl.AUTO_ENROLL_SECT_1.Value)) Or
(All(&recClassTblEnrl.AUTO_ENROLL_SECT_2.Value)) Then
For &iNonEnrl = 1 To &rsClassTbl.ActiveRowCount
&recClassTbl =
&rsClassTbl(&iNonEnrl).GetRecord(Record.SSR_CS_CLSTBLVW);
If None(&recClassTbl.OPTIONAL_SECTION.Value) Then
&recClassTbl.OPTIONAL_SECTION.Value = "N";
End-If;

If (&recClassTbl.SESSION_CODE.Value =
&recClassTblEnrl.SESSION_CODE.Value) And
(&recClassTbl.CLASS_SECTION.Value =
&recClassTblEnrl.AUTO_ENROLL_SECT_1.Value) Then
&sAutoEnrlComp1 = &recClassTbl.SSR_COMPONENT.Value;
&iAutoEnrlClass1 = &recClassTbl.CLASS_NBR.Value;
&sAutoSection1 = &recClassTbl.CLASS_SECTION.Value;
&sAutoEnrlStatus1 =
%This.DetermineClassStatus(&recClassTbl.ENRL_STAT.Value,
&recClassTbl.WAIT_TOT.Value, &recClassTbl.WAIT_CAP.Value);
&recClassTbl.ENRL_STAT.Value = &sAutoEnrlStatus1;
Else
If (&recClassTbl.SESSION_CODE.Value =
&recClassTblEnrl.SESSION_CODE.Value) And
(&recClassTbl.CLASS_SECTION.Value =
&recClassTblEnrl.AUTO_ENROLL_SECT_2.Value) Then
&sAutoEnrlComp2 = &recClassTbl.SSR_COMPONENT.Value;
&iAutoEnrlClass2 = &recClassTbl.CLASS_NBR.Value;
&sAutoSection2 = &recClassTbl.CLASS_SECTION.Value;
&sAutoEnrlStatus2 =
%This.DetermineClassStatus(&recClassTbl.ENRL_STAT.Value,
&recClassTbl.WAIT_TOT.Value, &recClassTbl.WAIT_CAP.Value);
&recClassTbl.ENRL_STAT.Value = &sAutoEnrlStatus2;
End-If;
End-If;

If ((&sAutoEnrlComp1 <> " ") And


(&sAutoEnrlComp2 <> " ")) Or
((&sAutoEnrlComp1 <> " ") And
(None(&recClassTblEnrl.AUTO_ENROLL_SECT_2.Value))) Or
((&sAutoEnrlComp2 <> " ") And
(None(&recClassTblEnrl.AUTO_ENROLL_SECT_1.Value))) Then
&iNonEnrl = &rsClassTbl.ActiveRowCount;
End-If;

End-For;
End-If;
REM "END - Check if auto enroll exists";

REM "Check for other component to be included";


For &iNonEnrl = 1 To &rsClassTbl.ActiveRowCount
&recClassTbl =
&rsClassTbl(&iNonEnrl).GetRecord(Record.SSR_CS_CLSTBLVW);
If None(&recClassTbl.OPTIONAL_SECTION.Value) Then
&recClassTbl.OPTIONAL_SECTION.Value = "N";
End-If;

If &recClassTbl.SESSION_CODE.Value =
&recClassTblEnrl.SESSION_CODE.Value Then
If ((&recClassTbl.ASSOCIATED_CLASS.Value =
&recClassTblEnrl.ASSOCIATED_CLASS.Value) Or
(&recClassTbl.ASSOCIATED_CLASS.Value = 9999)) Then
If (&recClassTbl.SSR_COMPONENT.Value <> &sAutoEnrlComp1) And
(&recClassTbl.SSR_COMPONENT.Value <> &sAutoEnrlComp2)
Then
If &sRelComp1 = " " Then
&sRelComp1 = &recClassTbl.SSR_COMPONENT.Value;
Else
If (&sRelComp2 = " ") And
(&recClassTbl.SSR_COMPONENT.Value <> &sRelComp1)
Then
&sRelComp2 = &recClassTbl.SSR_COMPONENT.Value;
End-If;
End-If;

REM "Load into related 1 & 2 arrays by component";

If &recClassTbl.SSR_COMPONENT.Value = &sRelComp1 Then


&aRelClass1.Push(&recClassTbl.CLASS_NBR.Value);
&aRelSection1.Push(&recClassTbl.CLASS_SECTION.Value);
Local string &sRelClassStatus;
&sRelClassStatus =
%This.DetermineClassStatus(&recClassTbl.ENRL_STAT.Value,
&recClassTbl.WAIT_TOT.Value, &recClassTbl.WAIT_CAP.Value);
&aRelClassStatus1.Push(&sRelClassStatus);
&recClassTbl.ENRL_STAT.Value = &sRelClassStatus;
REM AD x If &recClassTbl.ASSOCIATED_CLASS.Value = 9999
Then
REM AD x &sRelClassOptional1 = "N";
REM AD x Else;
&sRelClassOptional1 =
&recClassTbl.OPTIONAL_SECTION.Value;
REM AD x End-If;
Else
If &recClassTbl.SSR_COMPONENT.Value = &sRelComp2 Then
&aRelClass2.Push(&recClassTbl.CLASS_NBR.Value);
&aRelSection2.Push(&recClassTbl.CLASS_SECTION.Value);
&sRelClassStatus =
%This.DetermineClassStatus(&recClassTbl.ENRL_STAT.Value,
&recClassTbl.WAIT_TOT.Value, &recClassTbl.WAIT_CAP.Value);
&aRelClassStatus2.Push(&sRelClassStatus);
&recClassTbl.ENRL_STAT.Value = &sRelClassStatus;
REM AD x If &recClassTbl.ASSOCIATED_CLASS.Value =
9999 Then
REM AD x &sRelClassOptional2 = "N";
REM AD x Else;
&sRelClassOptional2 =
&recClassTbl.OPTIONAL_SECTION.Value;
REM AD x End-If;

End-If;
End-If;

End-If;
End-If;
End-If;
End-For;
REM "END - Check for other component to be included";

If (&aRelClass1.Len = 0) And
(&aRelClass2.Len = 0) Then
REM "No related components - just using auto enroll";
%This.GroupClassOptions(&p_Action, &sMultiComp, &p_aClassRslt);
Else

REM "Build the matrix";


For &a1 = 1 To &aRelClass1.Len
&iRelClass1 = &aRelClass1 [&a1];
&sRelSection1 = &aRelSection1 [&a1];
&sRelClassStatus1 = &aRelClassStatus1 [&a1];

If &aRelClass2.Len > 0 Then


For &a2 = 1 To &aRelClass2.Len
&iRelClass2 = &aRelClass2 [&a2];
&sRelSection2 = &aRelSection2 [&a2];
&sRelClassStatus2 = &aRelClassStatus2 [&a2];
%This.GroupClassOptions(&p_Action, &sMultiComp,
&p_aClassRslt);
End-For;

If &sRelClassOptional2 = "Y" Then


&iRelClass2 = 0;
&sRelSection2 = " ";
&sRelClassStatus2 = " ";
%This.GroupClassOptions(&p_Action, &sMultiComp,
&p_aClassRslt);
End-If;

Else
%This.GroupClassOptions(&p_Action, &sMultiComp,
&p_aClassRslt);

End-If;
End-For;

If &sRelClassOptional1 = "Y" Then


&iRelClass1 = 0;
&sRelSection1 = " ";
&sRelClassStatus1 = " ";

If &aRelClass2.Len > 0 Then


For &a2 = 1 To &aRelClass2.Len
&iRelClass2 = &aRelClass2 [&a2];
&sRelSection2 = &aRelSection2 [&a2];
&sRelClassStatus2 = &aRelClassStatus2 [&a2];
%This.GroupClassOptions(&p_Action, &sMultiComp,
&p_aClassRslt);
End-For;

If &sRelClassOptional2 = "Y" Then


&iRelClass2 = 0;
&sRelSection2 = " ";
&sRelClassStatus2 = " ";
%This.GroupClassOptions(&p_Action, &sMultiComp,
&p_aClassRslt);
End-If;

Else
%This.GroupClassOptions(&p_Action, &sMultiComp,
&p_aClassRslt);

End-If;
End-If;

REM "END - Build the matrix";

End-If;

REM "END - Per Enrollment Class";


End-If;

End-If;

End-For;

end-method;

method IsCourseCareerAllowedToEnroll
/+ &p_sAcademicCareer as String, +/
/+ &p_sCourseCareer as String, +/
/+ &p_sInstitution as String, +/
/+ &p_sTerm as String +/
/+ Returns Boolean +/

Local Rowset &rs_AcadCarPtrs;


Local integer &count_CrseCareerPtr;
Local boolean &IsAllowedToEnroll;

If &p_sAcademicCareer <> &p_sCourseCareer Then

&sInst = &p_sInstitution;
&sTerm = &p_sTerm;
%This.GetTermBeginDate();

&rs_AcadCarPtrs = CreateRowset(Record.ACAD_CAR_PTRS);
&rs_AcadCarPtrs.Flush();
&count_CrseCareerPtr = &rs_AcadCarPtrs.Fill("WHERE FILL.INSTITUTION = :1 AND
FILL.ACAD_CAREER = :2 AND FILL.CRSE_CAREER = :3 AND %EffDtCheck(ACAD_CAR_PTRS A2,
FILL, %DateIn(:4)) AND (FILL.ALLOW_ENROLL = 'Y' OR FILL.ALLOW_ENROLL = 'P')",
&p_sInstitution, &p_sAcademicCareer, &p_sCourseCareer, &TermBeginDt);

If &count_CrseCareerPtr > 0 Then


&IsAllowedToEnroll = True;
Else
&IsAllowedToEnroll = False;
End-If;

Else
&IsAllowedToEnroll = True;
End-If;

Return &IsAllowedToEnroll;

end-method;

[SSR_MANAGE_CLASSES.UTIL.ClassPreferences.OnExecute]
import SSR_MANAGE_CLASSES:UTIL:CheckValidUserAction;
import SSR_MANAGE_CLASSES:UTIL:GlobalVariables;
import SSR_MANAGE_CLASSES:UTIL:Instructor;
import SSR_STUDENT_RECORDS:SR_ClassData:ClassInfo;
import SSR_STUDENT_RECORDS:SR_ClassData:ClassStatus;
import SSR_STUDENT_RECORDS:SR_SetupData:GradingBasisTbl;
import SSR_STUDENT_RECORDS:SR_StudentData:StudentActivePrograms;
import SSR_MANAGE_CLASSES:UTIL:Formatter;

class ClassPreferences
method CheckForClassPreferences(&Record_IN As Record) Returns boolean;
method LoadClassPreferences(&Record_IN As Record) Returns Record;

private
method LoadClasses(&Record_IN As Record);
method Waitlist();
method PermissionNumber();
method GradingBasis();
method Units();
method InstructorEdit();
method Program();
method RequirementDesignation();
method StartDate();
method remap_gb(&PARM_INSTITUTION As string, &GB_MAP_RULE As string, &PARM_EFFDT
As date, &GB_IN As string);
method CheckAllowedUserAction() Returns string;

instance string &sStudentId, &sTerm, &sAcademicCareer, &sInstitution,


&sSbjCatNbr, &sWaitListOkay, &sGradingBasisEnrl, &sInstructorId, &sAcadProg,
&sRqmntDesigntn, &sDescRqmtDsgn, &sRqmtDesigntnOpt, &sUntTaken;
instance number &nAutoClassNbr1, &nAutoClassNbr2, &nRelateClassNbr1,
&nRelateClassNbr2, &nClassPrmsnNbr, &nUntTaken;
instance integer &iCrseCount;
instance date &dStartDt;

instance boolean &fl_Error;


instance SSR_STUDENT_RECORDS:SR_ClassData:ClassInfo &obj_ClassInfo;
instance SSR_STUDENT_RECORDS:SR_SetupData:GradingBasisTbl &obj_GradingBasisTbl;
instance SSR_STUDENT_RECORDS:SR_StudentData:StudentActivePrograms
&obj_StdntProgs;
instance array of array of string &arr_StdntProgs;
instance number &nClassNbr;
instance string &sWaitListOkayLabel;
instance string &sInformationMessage;
instance Rowset &rsClassTblVw1, &rsAcadCarTbl;
instance string &GB_GRD_BASIS_INV, &GB_GRD_BASIS_ENRL;
instance string &sSessionCode;

instance boolean &EnrlClosed;


instance Record &recDerivedClsDtl;
instance string &where_clause;
instance string &sCrseId, &sClassSection, &sCourseCareer;
instance number &nCrseOfferNbr;
instance integer &DisplayCounter;
instance Rowset &rsSessionVw;
instance date &term_effdt;
instance string &allow_prog_in;

instance boolean &IsLoadRecFields;


end-class;

Global SSR_MANAGE_CLASSES:UTIL:GlobalVariables &oManageClassesGlobalVars;

method LoadClasses
/+ &Record_IN as Record +/

AddStyleSheet(StyleSheet.SSR_CLASS_PREFERENCES_FL);

/* Keys */
&sStudentId = &Record_IN.EMPLID.Value;
&sTerm = &Record_IN.STRM.Value;
&sAcademicCareer = &Record_IN.ACAD_CAREER.Value;
&sInstitution = &Record_IN.INSTITUTION.Value;
&nClassNbr = &Record_IN.CLASS_NBR.Value;
&nAutoClassNbr1 = &Record_IN.AUTO_CLASS_NBR_1.Value;
&nAutoClassNbr2 = &Record_IN.AUTO_CLASS_NBR_2.Value;
&nRelateClassNbr1 = &Record_IN.RELATE_CLASS_NBR_1.Value;
&nRelateClassNbr2 = &Record_IN.RELATE_CLASS_NBR_2.Value;
&sSbjCatNbr = &Record_IN.SSR_SBJ_CAT_NBR.Value;
&sWaitListOkay = &Record_IN.WAIT_LIST_OKAY.Value;
&nClassPrmsnNbr = &Record_IN.CLASS_PRMSN_NBR.Value;
&sGradingBasisEnrl = &Record_IN.SSR_GRADE_BASIS_SS.Value;
&sUntTaken = &Record_IN.SSR_UNT_TAKEN_CHAR.Value;
&sInstructorId = &Record_IN.INSTRUCTOR_ID.Value;
&sAcadProg = &Record_IN.ACAD_PROG.Value;
&sRqmntDesigntn = &Record_IN.RQMNT_DESIGNTN.Value;
&sDescRqmtDsgn = &Record_IN.SSR_DESC_RQMT_DSGN.Value;
&sRqmtDesigntnOpt = &Record_IN.RQMNT_DESIGNTN_OPT.Value;
&dStartDt = &Record_IN.START_DT.Value;
&iCrseCount = &Record_IN.CRSE_COUNT.Value;
&obj_ClassInfo = create SSR_STUDENT_RECORDS:SR_ClassData:ClassInfo();
&obj_GradingBasisTbl = create
SSR_STUDENT_RECORDS:SR_SetupData:GradingBasisTbl();
&obj_StdntProgs = create
SSR_STUDENT_RECORDS:SR_StudentData:StudentActivePrograms();

/* Active programs for this Institution and Career */


&arr_StdntProgs = &obj_StdntProgs.ActivePrograms_SCT(&sStudentId,
&sAcademicCareer, &sInstitution);

&rsAcadCarTbl = CreateRowset(Record.ACAD_CAR_TBL);
&rsAcadCarTbl.Flush();

&where_clause = "WHERE FILL.INSTITUTION='" | &sInstitution | "' AND


FILL.ACAD_CAREER=:1 AND FILL.EFFDT = (SELECT MAX(A.EFFDT) FROM PS_ACAD_CAR_TBL A
WHERE A.INSTITUTION = FILL.INSTITUTION AND A.ACAD_CAREER = FILL.ACAD_CAREER AND
A.EFFDT <= %CurrentDateIn) AND FILL.EFF_STATUS = 'A'";

&rsAcadCarTbl.Fill(&where_clause, &sAcademicCareer);

&sWaitListOkayLabel = MsgGetText(14770, 1001, "Message not found");

Local Rowset &rs_ClassTblVw1;


Local string &rel_sect, &rel_comp, &rel_comp2, &sSubject, &sCatalogNbr;
Local number &rel_ClassNbr;
Local array of array of string &arr_sections;
Local number &arr_row;

&arr_sections = CreateArrayRept(CreateArrayRept("", 0), 0);


&arr_row = 0;

&rs_ClassTblVw1 = CreateRowset(Record.CLASS_TBL_VW1);
&rs_ClassTblVw1.Flush();
&rs_ClassTblVw1.Fill("WHERE INSTITUTION=:1 AND STRM=:2 AND CLASS_NBR=:3",
&sInstitution, &sTerm, &nClassNbr);

&rel_sect = &rs_ClassTblVw1(1).CLASS_TBL_VW1.CLASS_SECTION.Value;
&rel_comp = &rs_ClassTblVw1(1).CLASS_TBL_VW1.SSR_COMPONENT.LongTranslateValue;
&rel_comp2 =
&rs_ClassTblVw1(1).CLASS_TBL_VW1.SSR_COMPONENT.GetShortLabel("SSR_CLASS");
&rel_ClassNbr = &nClassNbr;

/* Keys */
&sSessionCode = &rs_ClassTblVw1(1).CLASS_TBL_VW1.SESSION_CODE.Value;
&sCrseId = &rs_ClassTblVw1(1).CLASS_TBL_VW1.CRSE_ID.Value;
&nCrseOfferNbr = &rs_ClassTblVw1(1).CLASS_TBL_VW1.CRSE_OFFER_NBR.Value;
&sClassSection = &rs_ClassTblVw1(1).CLASS_TBL_VW1.CLASS_SECTION.Value;

/* Insert Enrollment Component */


&arr_row = &arr_row + 1;
&arr_sections.Push(&rel_sect);
&arr_sections [&arr_row].Push(&rel_comp);
&arr_sections [&arr_row].Push(&rel_comp2);
&arr_sections [&arr_row].Push(&rel_ClassNbr);

/* Insert Class Components */


If &nAutoClassNbr1 > 0 Then
&rs_ClassTblVw1.Flush();
&rs_ClassTblVw1.Fill("WHERE INSTITUTION=:1 AND STRM=:2 AND CLASS_NBR=:3",
&sInstitution, &sTerm, &nAutoClassNbr1);

&rel_sect = &rs_ClassTblVw1(1).CLASS_TBL_VW1.CLASS_SECTION.Value;
&rel_comp =
&rs_ClassTblVw1(1).CLASS_TBL_VW1.SSR_COMPONENT.LongTranslateValue;
&rel_comp2 =
&rs_ClassTblVw1(1).CLASS_TBL_VW1.SSR_COMPONENT.GetShortLabel("SSR_CLASS");
&rel_ClassNbr = &nAutoClassNbr1;

&arr_row = &arr_row + 1;
&arr_sections.Push(&rel_sect);
&arr_sections [&arr_row].Push(&rel_comp);
&arr_sections [&arr_row].Push(&rel_comp2);
&arr_sections [&arr_row].Push(&rel_ClassNbr);
End-If;

If &nAutoClassNbr2 > 0 Then


&rs_ClassTblVw1.Flush();
&rs_ClassTblVw1.Fill("WHERE INSTITUTION=:1 AND STRM=:2 AND CLASS_NBR=:3",
&sInstitution, &sTerm, &nAutoClassNbr2);

&rel_sect = &rs_ClassTblVw1(1).CLASS_TBL_VW1.CLASS_SECTION.Value;
&rel_comp =
&rs_ClassTblVw1(1).CLASS_TBL_VW1.SSR_COMPONENT.LongTranslateValue;
&rel_comp2 =
&rs_ClassTblVw1(1).CLASS_TBL_VW1.SSR_COMPONENT.GetShortLabel("SSR_CLASS");
&rel_ClassNbr = &nAutoClassNbr2;

&arr_row = &arr_row + 1;
&arr_sections.Push(&rel_sect);
&arr_sections [&arr_row].Push(&rel_comp);
&arr_sections [&arr_row].Push(&rel_comp2);
&arr_sections [&arr_row].Push(&rel_ClassNbr);
End-If;

If &nRelateClassNbr1 > 0 Then

&rs_ClassTblVw1.Flush();
&rs_ClassTblVw1.Fill("WHERE INSTITUTION=:1 AND STRM=:2 AND CLASS_NBR=:3",
&sInstitution, &sTerm, &nRelateClassNbr1);

&rel_sect = &rs_ClassTblVw1(1).CLASS_TBL_VW1.CLASS_SECTION.Value;
&rel_comp =
&rs_ClassTblVw1(1).CLASS_TBL_VW1.SSR_COMPONENT.LongTranslateValue;
&rel_comp2 =
&rs_ClassTblVw1(1).CLASS_TBL_VW1.SSR_COMPONENT.GetShortLabel("SSR_CLASS");
&rel_ClassNbr = &nRelateClassNbr1;

&arr_row = &arr_row + 1;
&arr_sections.Push(&rel_sect);
&arr_sections [&arr_row].Push(&rel_comp);
&arr_sections [&arr_row].Push(&rel_comp2);
&arr_sections [&arr_row].Push(&rel_ClassNbr);

End-If;

If &nRelateClassNbr2 > 0 Then


&rs_ClassTblVw1.Flush();
&rs_ClassTblVw1.Fill("WHERE INSTITUTION=:1 AND STRM=:2 AND CLASS_NBR=:3",
&sInstitution, &sTerm, &nRelateClassNbr2);

&rel_sect = &rs_ClassTblVw1(1).CLASS_TBL_VW1.CLASS_SECTION.Value;
&rel_comp =
&rs_ClassTblVw1(1).CLASS_TBL_VW1.SSR_COMPONENT.LongTranslateValue;
&rel_comp2 =
&rs_ClassTblVw1(1).CLASS_TBL_VW1.SSR_COMPONENT.GetShortLabel("SSR_CLASS");
&rel_ClassNbr = &nRelateClassNbr2;

&arr_row = &arr_row + 1;
&arr_sections.Push(&rel_sect);
&arr_sections [&arr_row].Push(&rel_comp);
&arr_sections [&arr_row].Push(&rel_comp2);
&arr_sections [&arr_row].Push(&rel_ClassNbr);

End-If;

Local Rowset &rs_ClassTblVw8;

If &IsLoadRecFields Then
&rs_ClassTblVw8 = GetRowset(Scroll.CLASS_TBL_VW8);
Else
&rs_ClassTblVw8 = CreateRowset(Record.CLASS_TBL_VW8);
End-If;

&rs_ClassTblVw8.Flush();

Local boolean &Continue;


Local SSR_STUDENT_RECORDS:SR_ClassData:ClassStatus &obj_ClassStatus;
Local integer &i, &j;

&EnrlClosed = False;
&Continue = True;

&j = 1;

For &i = 1 To &arr_sections.Len


&rs_ClassTblVw8.InsertRow(&i);
&j = &i + 1;
&rs_ClassTblVw8(&j).CLASS_TBL_VW8.STRM.Value = &sTerm;
&rs_ClassTblVw8(&j).CLASS_TBL_VW8.CLASS_NBR.Value = &arr_sections [&i, 4];

&rs_ClassTblVw1.Flush();
&rs_ClassTblVw1.Fill("WHERE INSTITUTION=:1 AND STRM=:2 AND CLASS_NBR=:3",
&sInstitution, &sTerm, &rs_ClassTblVw8(&j).CLASS_TBL_VW8.CLASS_NBR.Value);

&obj_ClassStatus = create
SSR_STUDENT_RECORDS:SR_ClassData:ClassStatus(&sInstitution, &sTerm,
&rs_ClassTblVw1(1).CLASS_TBL_VW1.SESSION_CODE.Value,
&rs_ClassTblVw8(&j).CLASS_TBL_VW8.CLASS_NBR.Value);

If &obj_ClassStatus.Class_Stat = "C" And


&Continue Then
&EnrlClosed = True;
&Continue = False;
End-If;
If &IsLoadRecFields Then
&rs_ClassTblVw8(&j).DERIVED_CLS_DTL.DESCRFORMAL.Value = &arr_sections [&i,
2] | " " | " " | &arr_sections [&i, 3] | " " | &arr_sections [&i, 4];
&rs_ClassTblVw8(&j).DERIVED_CLS_DTL.DESCRFORMAL.Value =
&rs_ClassTblVw8(&j).DERIVED_CLS_DTL.DESCRFORMAL.Value | " - " |
&obj_ClassStatus.Class_Stat_Descr;
End-If;

End-For;

&rs_ClassTblVw8.DeleteRow(1); /* Delete empty row */

&rsClassTblVw1 = CreateRowset(Record.CLASS_TBL_VW1);
&rsClassTblVw1.Flush();
&rsClassTblVw1.Fill("WHERE INSTITUTION=:1 AND STRM=:2 AND CLASS_NBR=:3",
&sInstitution, &sTerm, &nClassNbr);

&obj_ClassInfo.LoadClassInfo(&sInstitution, &sTerm, &nClassNbr);

&sCourseCareer = &obj_ClassInfo.Class_Career;

&rsSessionVw = CreateRowset(Record.SSR_SESSION_VW);
&rsSessionVw.Flush();
&rsSessionVw.Fill("WHERE INSTITUTION=:1 AND CRSE_CAREER=:2 AND STRM=:3 AND
SESSION_CODE=:4", &rsClassTblVw1(1).CLASS_TBL_VW1.INSTITUTION.Value,
&sCourseCareer, &rsClassTblVw1(1).CLASS_TBL_VW1.STRM.Value,
&rsClassTblVw1(1).CLASS_TBL_VW1.SESSION_CODE.Value);
end-method;

method Waitlist
If &IsLoadRecFields Then
Local Field &fld_WaitListOkay =
&recDerivedClsDtl.GetField(Field.WAIT_LIST_OKAY);
End-If;

Local string &IsWaitlistAllowed;

&IsWaitlistAllowed = "N";
&IsWaitlistAllowed = %This.CheckAllowedUserAction();

If &IsWaitlistAllowed = "N" Or
/* at least one section is closed */
&EnrlClosed Then

&DisplayCounter = &DisplayCounter - 1; /* No Waitlist option available */


&oManageClassesGlobalVars.bDisplay_WaitList = False;

If &IsLoadRecFields Then
&fld_WaitListOkay.Visible = False;
&fld_WaitListOkay.Value = "N";
SSR_ENRL_FL_WRK.SSR_WAIT_LIST_INFO.Visible = False;
SSR_CLS_PREF_WK.SSR_DESC_WAIT_LIST.Visible = False;
End-If;
Else
If &IsLoadRecFields Then
&fld_WaitListOkay.Visible = True;
&fld_WaitListOkay.Value = &sWaitListOkay;
SSR_ENRL_FL_WRK.SSR_WAIT_LIST_INFO.Visible = True;
SSR_CLS_PREF_WK.SSR_DESC_WAIT_LIST.Visible = True;
End-If;
End-If;
end-method;

method PermissionNumber
If &IsLoadRecFields Then
Local Field &fld_ClassPrmsnNbr =
&recDerivedClsDtl.GetField(Field.CLASS_PRMSN_NBR);

&fld_ClassPrmsnNbr.Visible = True;
&fld_ClassPrmsnNbr.Label = MsgGetText(14770, 1002, "Message not found."); /*
Permission Number */
SSR_ENRL_FL_WRK.SSR_PERM_NBR_INFO.Visible = True;
SSR_CLS_PREF_WK.SSR_DESC_PER_NBR.Visible = True;
End-If;

If &rsClassTblVw1(1).CLASS_TBL_VW1.STDNT_SPEC_PERM.Value = "Y" Then

&DisplayCounter = &DisplayCounter - 1; /* No Permission Number option


available */
&oManageClassesGlobalVars.bDisplay_PermissionNumber = False;

If &IsLoadRecFields Then
&fld_ClassPrmsnNbr.Visible = False;
SSR_ENRL_FL_WRK.SSR_PERM_NBR_INFO.Visible = False;
SSR_CLS_PREF_WK.SSR_DESC_PER_NBR.Visible = False;
End-If;

End-If;

If &IsLoadRecFields Then
If &nClassPrmsnNbr > 0 Then
&fld_ClassPrmsnNbr.Value = &nClassPrmsnNbr;
End-If;
End-If;

end-method;

method GradingBasis
Local boolean &GB_Error;
Local integer &i;

&GB_Error = False;

If &IsLoadRecFields Then
Local Field &fld_GradeBasis =
&recDerivedClsDtl.GetField(Field.SSR_GRADE_BASIS_SS);
Local Rowset &rs_Xlat = CreateRowset(Record.PSXLATITEM);

&fld_GradeBasis.Visible = True;
&fld_GradeBasis.ShowRequiredFieldCue = False;
&fld_GradeBasis.ClearDropDownList();
End-If;

Local string &sClassSetId, &sGradingBasis;

&sClassSetId = GetSetId("INSTITUTION", &sInstitution, Record.GRADE_BASIS_TBL,


"");
&sGradingBasis = &obj_ClassInfo.Assoc_Grading;
Local string &stdnt_scheme, &crse_scheme, &assoc_gb;

&allow_prog_in = &rsAcadCarTbl(1).ACAD_CAR_TBL.SSR_ALLOW_PROG_IN.Value;
&stdnt_scheme = &rsAcadCarTbl(1).ACAD_CAR_TBL.GRADING_SCHEME.Value;

&rsAcadCarTbl.Flush();
&rsAcadCarTbl.Fill(&where_clause, &sCourseCareer);

&crse_scheme = &rsAcadCarTbl(1).ACAD_CAR_TBL.GRADING_SCHEME.Value;

&assoc_gb = &obj_ClassInfo.Assoc_Grading;

Local Rowset &rsTermTblVw;

&rsTermTblVw = CreateRowset(Record.TERM_TBL_VW);
&rsTermTblVw.Flush();
&rsTermTblVw.Fill("WHERE INSTITUTION=:1 AND ACAD_CAREER=:2 AND STRM=:3",
&sInstitution, &sAcademicCareer, &sTerm);

&term_effdt = &rsTermTblVw(1).TERM_TBL_VW.EFFDT.Value;

If &sCourseCareer = &sAcademicCareer Then


&obj_GradingBasisTbl.Load_GBT(&sClassSetId, &crse_scheme, &term_effdt,
&assoc_gb);

If &obj_GradingBasisTbl.GB_Convert = "" Then


If &obj_GradingBasisTbl.GB_Elective = "Y" Then
If &IsLoadRecFields Then
&rs_Xlat.Fill("where FILL.FIELDNAME=:1 and FILL.FIELDVALUE in
(select b.GRADE_BASIS_CHOICE from %Table(GRD_BASE_CHC_VW) b where b.SETID=:2 and
b.GRADING_SCHEME=:3 and b.EFFDT=(select max(b1.EFFDT) from PS_GRD_BASE_CHC_VW b1
where b1.SETID=b.SETID and b1.GRADING_SCHEME=b.GRADING_SCHEME and b1.EFFDT<=
%DateIn(:4) ) and b.EFF_STATUS='A' and b.GRADING_BASIS=:5) and
%EffDtCheck(PSXLATITEM x1, FILL, %DateIn(:4)) ", "GRADING_BASIS", &sClassSetId,
&stdnt_scheme, &term_effdt, &sGradingBasis);

Local integer &rs_Xlat_cnt;


Local string &CodeIn, &DescIn;

&rs_Xlat_cnt = &rs_Xlat.ActiveRowCount;
For &i = 1 To &rs_Xlat_cnt
&CodeIn = &rs_Xlat.GetRow(&i).GetRecord(1).FIELDVALUE.Value;
&DescIn = &rs_Xlat.GetRow(&i).GetRecord(1).XLATLONGNAME.Value;
&fld_GradeBasis.AddDropDownItem(&CodeIn, &DescIn);
End-For;
&fld_GradeBasis.Value = &obj_GradingBasisTbl.GB_Default;
End-If;
Else
&DisplayCounter = &DisplayCounter - 1; /* No Grading Basis option
available */
&oManageClassesGlobalVars.bDisplay_GradingBasis = False;

If &IsLoadRecFields Then
&fld_GradeBasis.AddDropDownItem(&assoc_gb,
&obj_GradingBasisTbl.GB_DescrFormal);
&fld_GradeBasis.Value = &assoc_gb;
&fld_GradeBasis.Visible = False;
End-If;
End-If;
Else
If &obj_GradingBasisTbl.GB_ConvElec = "Y" Then
If &IsLoadRecFields Then
&rs_Xlat.Fill("where FILL.FIELDNAME=:1 and FILL.FIELDVALUE in
(select b.GRADE_BASIS_CHOICE from %Table(GRD_BASE_CH3_VW) b where b.SETID=:2 and
b.GRADING_SCHEME=:3 and b.EFFDT=(select max(b1.EFFDT) from PS_GRD_BASE_CH3_VW b1
where b1.SETID=b.SETID and b1.GRADING_SCHEME=b.GRADING_SCHEME and b1.EFFDT<=
%DateIn(:4) ) and b.EFF_STATUS='A' and b.GRADING_BASIS=:5) and
%EffDtCheck(PSXLATITEM x1, FILL, %DateIn(:4))", "GRADING_BASIS", &sClassSetId,
&stdnt_scheme, &term_effdt, &sGradingBasis);

&rs_Xlat_cnt = &rs_Xlat.ActiveRowCount;
For &i = 1 To &rs_Xlat_cnt
&CodeIn = &rs_Xlat.GetRow(&i).GetRecord(1).FIELDVALUE.Value;
&DescIn = &rs_Xlat.GetRow(&i).GetRecord(1).XLATLONGNAME.Value;
&fld_GradeBasis.AddDropDownItem(&CodeIn, &DescIn);
End-For;
&fld_GradeBasis.Value = &obj_GradingBasisTbl.GB_Default;
End-If;
Else
&DisplayCounter = &DisplayCounter - 1; /* No Grading Basis option
available */
&oManageClassesGlobalVars.bDisplay_GradingBasis = False;

If &IsLoadRecFields Then
&fld_GradeBasis.AddDropDownItem(&assoc_gb,
&obj_GradingBasisTbl.GB_DescrFormal);
&fld_GradeBasis.Value = &assoc_gb;
&fld_GradeBasis.Visible = False;
End-If
End-If;
End-If;
Else
/* Begin, check_gb_exc */
Local string &PARM_INSTITUTION, &ACAD_GROUP, &SUBJECT, &CATLG_NBR;
Local date &PARM_EFFDT;
Local string &GB_MAP_RULE;
Local Rowset &rsStdntCarTmVw, &rsAcadProgTbl;
Local string &sAcadProgPrimary, &CAR_PTR_RULE;

&PARM_INSTITUTION = &sClassSetId;
&PARM_EFFDT = &term_effdt;
&ACAD_GROUP = &obj_ClassInfo.Class_AcadGrp;
&SUBJECT = &obj_ClassInfo.Class_Subj;
&CATLG_NBR = &obj_ClassInfo.Class_CatNbr;

&GB_GRD_BASIS_INV = "";
&GB_GRD_BASIS_ENRL = "";
&GB_MAP_RULE = "";

&rsStdntCarTmVw = CreateRowset(Record.STDNT_CAR_TM_VW);
&rsStdntCarTmVw.Flush();
&rsStdntCarTmVw.Fill("WHERE EMPLID=:1 AND INSTITUTION=:2 AND ACAD_CAREER=:3
AND STRM=:4", &sStudentId, &sInstitution, &sAcademicCareer, &sTerm);

&sAcadProgPrimary =
&rsStdntCarTmVw(1).STDNT_CAR_TM_VW.ACAD_PROG_PRIMARY.Value;
&rsAcadProgTbl = CreateRowset(Record.ACAD_PROG_TBL);
&rsAcadProgTbl.Flush();
&rsAcadProgTbl.Fill("WHERE FILL.INSTITUTION=:1 AND FILL.ACAD_PROG=:2 AND
FILL.EFFDT = (SELECT MAX(A.EFFDT) FROM PS_ACAD_PROG_TBL A WHERE A.INSTITUTION =
FILL.INSTITUTION AND A.ACAD_PROG = FILL.ACAD_PROG AND A.EFFDT <= %CurrentDateIn)
AND FILL.EFF_STATUS = 'A'", &sInstitution, &sAcadProgPrimary);

&CAR_PTR_RULE = &rsAcadProgTbl(1).ACAD_PROG_TBL.CAR_PTR_EXC_RULE.Value;

If All(&CAR_PTR_RULE) Then
Local Rowset &rsCarPtrExcDtl;

&rsCarPtrExcDtl = CreateRowset(Record.CAR_PTR_EXC_DTL);
&rsCarPtrExcDtl.Flush();
&rsCarPtrExcDtl.Fill("WHERE FILL.INSTITUTION=:1 AND
FILL.CAR_PTR_EXC_RULE=:2 AND FILL.EFFDT=(SELECT MAX(B.EFFDT) FROM PS_CAR_PTR_EXC B
WHERE B.INSTITUTION=FILL.INSTITUTION AND B.CAR_PTR_EXC_RULE=FILL.CAR_PTR_EXC_RULE
AND B.EFFDT<=%DateIn(:3) AND B.EFF_STATUS<>'I') AND FILL.ACAD_GROUP=:4 AND
FILL.SUBJECT=:5 AND FILL.CATALOG_NBR=(SELECT MAX(A1.CATALOG_NBR) FROM
PS_CAR_PTR_EXC_DTL A1 WHERE A1.INSTITUTION=FILL.INSTITUTION AND
A1.CAR_PTR_EXC_RULE=FILL.CAR_PTR_EXC_RULE AND A1.EFFDT=FILL.EFFDT AND
A1.ACAD_GROUP=FILL.ACAD_GROUP AND A1.SUBJECT=FILL.SUBJECT AND A1.CATALOG_NBR<=:6)",
&PARM_INSTITUTION, &CAR_PTR_RULE, &PARM_EFFDT, &ACAD_GROUP, &SUBJECT, &CATLG_NBR);
&GB_MAP_RULE = &rsCarPtrExcDtl(1).CAR_PTR_EXC_DTL.GB_MAP_RULE.Value;

If None(&GB_MAP_RULE) Then
&rsCarPtrExcDtl.Flush();
&rsCarPtrExcDtl.Fill("WHERE FILL.INSTITUTION=:1 AND
FILL.CAR_PTR_EXC_RULE=:2 AND FILL.EFFDT=(SELECT MAX(B.EFFDT) FROM PS_CAR_PTR_EXC B
WHERE B.INSTITUTION=FILL.INSTITUTION AND B.CAR_PTR_EXC_RULE=FILL.CAR_PTR_EXC_RULE
AND B.EFFDT<=%DateIn(:3) AND B.EFF_STATUS<>'I') AND FILL.ACAD_GROUP=:4 AND
FILL.SUBJECT=:5 AND FILL.CATALOG_NBR=' '", &PARM_INSTITUTION, &CAR_PTR_RULE,
&PARM_EFFDT, &ACAD_GROUP, &SUBJECT);
&GB_MAP_RULE = &rsCarPtrExcDtl(1).CAR_PTR_EXC_DTL.GB_MAP_RULE.Value;

If None(&GB_MAP_RULE) Then
&rsCarPtrExcDtl.Flush();
&rsCarPtrExcDtl.Fill("WHERE FILL.INSTITUTION=:1 AND
FILL.CAR_PTR_EXC_RULE=:2 AND FILL.EFFDT=(SELECT MAX(B.EFFDT) FROM PS_CAR_PTR_EXC B
WHERE B.INSTITUTION=FILL.INSTITUTION AND B.CAR_PTR_EXC_RULE=FILL.CAR_PTR_EXC_RULE
AND B.EFFDT<=%DateIn(:3) AND B.EFF_STATUS<>'I') AND FILL.ACAD_GROUP=:4 AND
FILL.SUBJECT=' ' AND FILL.CATALOG_NBR=(SELECT MAX(A1.CATALOG_NBR) FROM
PS_CAR_PTR_EXC_DTL A1 WHERE A1.INSTITUTION=FILL.INSTITUTION AND
A1.CAR_PTR_EXC_RULE=FILL.CAR_PTR_EXC_RULE AND A1.EFFDT=FILL.EFFDT AND
A1.ACAD_GROUP=FILL.ACAD_GROUP AND A1.SUBJECT=FILL.SUBJECT AND A1.CATALOG_NBR<=:5)",
&PARM_INSTITUTION, &CAR_PTR_RULE, &PARM_EFFDT, &ACAD_GROUP, &CATLG_NBR);
&GB_MAP_RULE = &rsCarPtrExcDtl(1).CAR_PTR_EXC_DTL.GB_MAP_RULE.Value;

If None(&GB_MAP_RULE) Then
&rsCarPtrExcDtl.Flush();
&rsCarPtrExcDtl.Fill("WHERE FILL.INSTITUTION=:1 AND
FILL.CAR_PTR_EXC_RULE=:2 AND FILL.EFFDT=(SELECT MAX(B.EFFDT) FROM PS_CAR_PTR_EXC B
WHERE B.INSTITUTION=FILL.INSTITUTION AND B.CAR_PTR_EXC_RULE=FILL.CAR_PTR_EXC_RULE
AND B.EFFDT<=%DateIn(:3) AND B.EFF_STATUS<>'I') AND FILL.ACAD_GROUP=:4 AND
FILL.SUBJECT=' ' AND FILL.CATALOG_NBR=' '", &PARM_INSTITUTION, &CAR_PTR_RULE,
&PARM_EFFDT, &ACAD_GROUP);
&GB_MAP_RULE =
&rsCarPtrExcDtl(1).CAR_PTR_EXC_DTL.GB_MAP_RULE.Value;
End-If;
End-If;
End-If;
End-If;

If All(&GB_MAP_RULE) Then
%This.remap_gb(&PARM_INSTITUTION, &GB_MAP_RULE, &PARM_EFFDT, &assoc_gb);
End-If;
/* End, check_gb_exc */

If All(&GB_MAP_RULE) Then

If &GB_GRD_BASIS_INV = "Y" Then


&GB_Error = True;
Else

&obj_GradingBasisTbl.Load_GBT(&sClassSetId, &stdnt_scheme, &term_effdt,


&GB_GRD_BASIS_ENRL);

If &obj_GradingBasisTbl.GB_Elective = "Y" Or
&obj_GradingBasisTbl.GB_ConvElec = "Y" Then

SQLExec("select a.GRADE_BASIS_CHOICE from PS_GRADE_BASIS_TBL a where


a.SETID=:1 and a.GRADING_SCHEME=:2 and a.EFFDT=(select max(a1.EFFDT) from
PS_GRADE_BASIS_TBL a1 where a1.SETID=a.SETID and a1.GRADING_SCHEME=a.GRADING_SCHEME
and a1.EFFDT<=%datein(:3)) and a.GRADING_BASIS=:4", &PARM_INSTITUTION,
&crse_scheme, &PARM_EFFDT, &assoc_gb, &GB_GRD_BASIS_ENRL);

If All(&GB_MAP_RULE) Then
%This.remap_gb(&PARM_INSTITUTION, &GB_MAP_RULE, &PARM_EFFDT,
&GB_GRD_BASIS_ENRL);
If &GB_GRD_BASIS_INV = "Y" Then
&GB_GRD_BASIS_ENRL = &assoc_gb;
End-If;
End-If;

If &GB_GRD_BASIS_INV = "Y" Then


&GB_Error = True;
Else
If &IsLoadRecFields Then
&rs_Xlat.Flush();
&rs_Xlat_cnt = &rs_Xlat.Fill("where FILL.FIELDNAME=:1 and
FILL.FIELDVALUE in (select b.GRADING_BASIS_CONV from PS_GRD_BASE_CHC_2 b where
b.SETID=:2 and b.CRSE_GRD_SCHEME=:3 and b.GRADE_SCHEME_STDNT=:4 and b.EFFDT=(select
max(b1.EFFDT) from PS_GRD_BASE_CHC_2 b1 where b1.SETID=b.SETID and
b1.CRSE_GRD_SCHEME=b.CRSE_GRD_SCHEME and b1.GRADE_SCHEME_STDNT=b.GRADE_SCHEME_STDNT
and b1.EFFDT<=%DateIn(:5)) and b.EFF_STATUS='A' and b.GRADING_BASIS=:6 and
b.GB_MAP_RULE=:7) and %EffDtCheck(PSXLATITEM x1, FILL, %DateIn(:5))",
"GRADING_BASIS", &sClassSetId, &crse_scheme, &stdnt_scheme, &term_effdt, &assoc_gb,
&GB_MAP_RULE);

For &i = 1 To &rs_Xlat_cnt


&CodeIn =
&rs_Xlat.GetRow(&i).GetRecord(1).FIELDVALUE.Value;
&DescIn =
&rs_Xlat.GetRow(&i).GetRecord(1).XLATLONGNAME.Value;
&fld_GradeBasis.AddDropDownItem(&CodeIn, &DescIn);

If &CodeIn = &GB_GRD_BASIS_ENRL Then


&fld_GradeBasis.Value = &GB_GRD_BASIS_ENRL;
End-If;

End-For;
If None(&fld_GradeBasis.Value) Then
&fld_GradeBasis.Value =
&rs_Xlat(1).GetRecord(1).FIELDVALUE.Value;
End-If;
End-If;
End-If;
Else
&DisplayCounter = &DisplayCounter - 1; /* No Grading Basis option
available */
&oManageClassesGlobalVars.bDisplay_GradingBasis = False;

If &IsLoadRecFields Then
&fld_GradeBasis.AddDropDownItem(&GB_GRD_BASIS_ENRL,
&obj_GradingBasisTbl.GB_DescrFormal);
&fld_GradeBasis.Value = &GB_GRD_BASIS_ENRL;
&fld_GradeBasis.Visible = False;
End-If;
End-If;
End-If;
Else
&obj_GradingBasisTbl.Load_GBT(&sClassSetId, &crse_scheme, &term_effdt,
&assoc_gb);

If &obj_GradingBasisTbl.GB_Elective = "Y" Or
&obj_GradingBasisTbl.GB_ConvElec = "Y" Then
If &IsLoadRecFields Then
&rs_Xlat.Fill("where FILL.FIELDNAME=:1 and FILL.FIELDVALUE in
(select b.GRADE_BASIS_CHOICE from %Table(GRD_BASE_CHC_VW) b where b.SETID=:2 and
b.GRADING_SCHEME=:3 and b.EFFDT=(select max(b1.EFFDT) from PS_GRD_BASE_CHC_VW b1
where b1.SETID=b.SETID and b1.GRADING_SCHEME=b.GRADING_SCHEME and b1.EFFDT<=
%DateIn(:4)) and b.EFF_STATUS='A' and b.GRADING_BASIS=:5) and
%EffDtCheck(PSXLATITEM x1, FILL, %DateIn(:4))", "GRADING_BASIS", &sClassSetId,
&crse_scheme, &term_effdt, &assoc_gb);

&rs_Xlat_cnt = &rs_Xlat.ActiveRowCount;
For &i = 1 To &rs_Xlat_cnt
&CodeIn = &rs_Xlat.GetRow(&i).GetRecord(1).FIELDVALUE.Value;
&DescIn = &rs_Xlat.GetRow(&i).GetRecord(1).XLATLONGNAME.Value;
&fld_GradeBasis.AddDropDownItem(&CodeIn, &DescIn);
End-For;
&fld_GradeBasis.Value = &obj_GradingBasisTbl.GB_Default;
End-If;
Else
&DisplayCounter = &DisplayCounter - 1; /* No Grading Basis option
available */
&oManageClassesGlobalVars.bDisplay_GradingBasis = False;

If &IsLoadRecFields Then
&fld_GradeBasis.AddDropDownItem(&assoc_gb,
&obj_GradingBasisTbl.GB_DescrFormal);
&fld_GradeBasis.Value = &assoc_gb;
&fld_GradeBasis.Visible = False;
End-If;
End-If;

End-If;
End-If;

If &GB_Error Then
/* The grading option for this class is not valid for your program. */
&DisplayCounter = &DisplayCounter - 1; /* No Grading Basis option available
*/
&oManageClassesGlobalVars.bDisplay_GradingBasis = False;

If &IsLoadRecFields Then
&fld_GradeBasis.Visible = False;
End-If;
Else
If &IsLoadRecFields Then
/* Default to current selection if available */
If &sGradingBasisEnrl = "" Then
&sGradingBasisEnrl = &fld_GradeBasis.Value;
Else
&fld_GradeBasis.Value = &sGradingBasisEnrl;
End-If;
End-If;
End-If;
end-method;

method Units
If &IsLoadRecFields Then
Local Field &fld_Units =
&recDerivedClsDtl.GetField(Field.SSR_UNT_TAKEN_CHAR);
&fld_Units.Visible = True;
&fld_Units.ShowRequiredFieldCue = False;
End-If;

Local number &UMin, &UMax, &UVal;


Local string &UChar;

&UMin = &obj_ClassInfo.Assoc_UnitMin;
&UMax = &obj_ClassInfo.Assoc_UnitMax;

&UVal = &UMin;

If &UVal <> &UMax Then


If &IsLoadRecFields Then
Local number &nVarUnitIncrement;

SQLExec("SELECT SSR_VAR_UNIT_INCR FROM PS_SSR_SS_ENRL_OPT WHERE


DTTM_STAMP_SEC = (SELECT MAX(DTTM_STAMP_SEC) FROM PS_SSR_SS_ENRL_OPT)",
&nVarUnitIncrement);

&fld_Units.ClearDropDownList();
While &UVal <= &UMax
&UChar = NumberToString("%3.2", &UVal);
&fld_Units.AddDropDownItem(&UChar, &UChar);
&UVal = &UVal + &nVarUnitIncrement;
End-While;
End-If;
Else
&DisplayCounter = &DisplayCounter - 1; /* No Units option available */
&oManageClassesGlobalVars.bDisplay_Units = False;

If &IsLoadRecFields Then
&fld_Units.Visible = False;
End-If;
End-If;

If &IsLoadRecFields Then
/* Default to current selection if available */
If Value(&sUntTaken) <> 0 Then
&fld_Units.Value = &sUntTaken;
Else
&recDerivedClsDtl.SSR_UNT_TAKEN_CHAR.Value = NumberToString("%3.2",
&UMin);
&nUntTaken = &UMin;
End-If;
End-If;
end-method;

method InstructorEdit
If &IsLoadRecFields Then
Local Field &fld_InstructorId =
&recDerivedClsDtl.GetField(Field.INSTRUCTOR_ID);
Local string &CodeIn, &DescIn;

&fld_InstructorId.Visible = True;
&fld_InstructorId.ClearDropDownList();
End-If;

Local Rowset &rs_Instr;


Local integer &i, &cnt_Instr;
Local SSR_MANAGE_CLASSES:UTIL:Instructor &oInstructor = create
SSR_MANAGE_CLASSES:UTIL:Instructor();

Evaluate &obj_ClassInfo.Assoc_InstrEdit
When "C"
&rs_Instr = CreateRowset(Record.INSTR_IND_C_VW);
&cnt_Instr = &rs_Instr.Fill("where FILL.CRSE_ID=:1 and FILL.CRSE_OFFER_NBR=:2
and FILL.STRM=:3 and FILL.SESSION_CODE=:4 and FILL.CLASS_SECTION=:5 and
FILL.SCHED_PRINT_INSTR='Y' ", &sCrseId, &nCrseOfferNbr, &sTerm, &sSessionCode,
&sClassSection);

If &cnt_Instr = 0 Then
&DisplayCounter = &DisplayCounter - 1; /* No Instructor Edit option
available */
&oManageClassesGlobalVars.bDisplay_Instructor = False;

If &IsLoadRecFields Then
&fld_InstructorId.Visible = False;
End-If;
Else
If &IsLoadRecFields Then
&fld_InstructorId.Value = &rs_Instr(1).INSTR_IND_C_VW.EMPLID.Value;
For &i = 1 To &cnt_Instr
&CodeIn = &rs_Instr(&i).INSTR_IND_C_VW.EMPLID.Value;
&DescIn =
&oInstructor.GetDisplayName(&rs_Instr(&i).INSTR_IND_C_VW.EMPLID.Value);
&fld_InstructorId.AddDropDownItem(&CodeIn, &DescIn);
End-For;
End-If;
End-If;
When "I"
Local string &ClsAcadOrg, &ClsCampus, &ClsSubj, &ClsCrseID, &ClsCrseOfferNbr;

&ClsAcadOrg = &rsClassTblVw1(1).CLASS_TBL_VW1.ACAD_ORG.Value;
&ClsCampus = &rsClassTblVw1(1).CLASS_TBL_VW1.CAMPUS.Value;
&ClsSubj = &rsClassTblVw1(1).CLASS_TBL_VW1.SUBJECT.Value;
&ClsCrseID = &rsClassTblVw1(1).CLASS_TBL_VW1.CRSE_ID.Value;
&ClsCrseOfferNbr = &rsClassTblVw1(1).CLASS_TBL_VW1.CRSE_OFFER_NBR.Value;

Local Rowset &rsAcadOrgTbl;

&rsAcadOrgTbl = CreateRowset(Record.ACAD_ORG_TBL);
&rsAcadOrgTbl.Flush();
&rsAcadOrgTbl.Fill("WHERE FILL.ACAD_ORG = :1 AND FILL.EFFDT = (SELECT
MAX(A.EFFDT) FROM PS_ACAD_ORG_TBL A WHERE A.ACAD_ORG = FILL.ACAD_ORG AND A.EFFDT <=
%DateIn(:2)) AND FILL.EFF_STATUS = 'A'",
&rsClassTblVw1(1).CLASS_TBL_VW1.ACAD_ORG.Value, %Date);

Evaluate &rsAcadOrgTbl(1).ACAD_ORG_TBL.INSTR_EDIT.Value
When "P"
&rs_Instr = CreateRowset(Record.INSTR_IND_I_VW);
&cnt_Instr = &rs_Instr.Fill();

When "I"

&rs_Instr = CreateRowset(Record.SSR_INSTRCRS_VW);

Evaluate True
When (&rsAcadOrgTbl(1).ACAD_ORG_TBL.CAMPUS_EDIT.Value = "Y" And
&rsAcadOrgTbl(1).ACAD_ORG_TBL.SUBJECT_EDIT.Value = "Y" And
&rsAcadOrgTbl(1).ACAD_ORG_TBL.COURSE_EDIT.Value = "Y")
&cnt_Instr = &rs_Instr.Fill(", PS_INSTR_ADVISOR a where
FILL.EMPLID=a.EMPLID and FILL.INSTITUTION=a.INSTITUTION and FILL.EFFDT=a.EFFDT and
%EffDtCheck(INSTR_ADVISOR a1, a, :1) and a.EFF_STATUS='A' and a.INSTR_TYPE<>'ADV'
and a.INSTR_AVAILABLE='A' and FILL.ACAD_ORG=:2 and FILL.CAMPUS=:3 and
FILL.SUBJECT=:4 and FILL.CRSE_ID=:5 and FILL.CRSE_OFFER_NBR=:6", &term_effdt,
&ClsAcadOrg, &ClsCampus, &ClsSubj, &ClsCrseID, &ClsCrseOfferNbr);
Break;

When (&rsAcadOrgTbl(1).ACAD_ORG_TBL.CAMPUS_EDIT.Value = "Y" And


&rsAcadOrgTbl(1).ACAD_ORG_TBL.SUBJECT_EDIT.Value = "Y" And
&rsAcadOrgTbl(1).ACAD_ORG_TBL.COURSE_EDIT.Value = "N")
&cnt_Instr = &rs_Instr.Fill(", PS_INSTR_ADVISOR a where
FILL.EMPLID=a.EMPLID and FILL.INSTITUTION=a.INSTITUTION and FILL.EFFDT=a.EFFDT and
%EffDtCheck(INSTR_ADVISOR a1, a, :1) and a.EFF_STATUS='A' and a.INSTR_TYPE<>'ADV'
and a.INSTR_AVAILABLE='A' and FILL.ACAD_ORG=:2 and FILL.CAMPUS=:3 and
FILL.SUBJECT=:4 ", &term_effdt, &ClsAcadOrg, &ClsCampus, &ClsSubj);
Break;

When (&rsAcadOrgTbl(1).ACAD_ORG_TBL.CAMPUS_EDIT.Value = "Y" And


&rsAcadOrgTbl(1).ACAD_ORG_TBL.SUBJECT_EDIT.Value = "N" And
&rsAcadOrgTbl(1).ACAD_ORG_TBL.COURSE_EDIT.Value = "Y")
&cnt_Instr = &rs_Instr.Fill(", PS_INSTR_ADVISOR a where
FILL.EMPLID=a.EMPLID and FILL.INSTITUTION=a.INSTITUTION and FILL.EFFDT=a.EFFDT and
%EffDtCheck(INSTR_ADVISOR a1, a, :1) and a.EFF_STATUS='A' and a.INSTR_TYPE<>'ADV'
and a.INSTR_AVAILABLE='A' and FILL.ACAD_ORG=:2 and FILL.CAMPUS=:3 and
FILL.CRSE_ID=:4 and FILL.CRSE_OFFER_NBR=:5 ", &term_effdt, &ClsAcadOrg, &ClsCampus,
&ClsCrseID, &ClsCrseOfferNbr);
Break;
When (&rsAcadOrgTbl(1).ACAD_ORG_TBL.CAMPUS_EDIT.Value = "Y" And
&rsAcadOrgTbl(1).ACAD_ORG_TBL.SUBJECT_EDIT.Value = "N" And
&rsAcadOrgTbl(1).ACAD_ORG_TBL.COURSE_EDIT.Value = "N")
&cnt_Instr = &rs_Instr.Fill(", PS_INSTR_ADVISOR a where
FILL.EMPLID=a.EMPLID and FILL.INSTITUTION=a.INSTITUTION and FILL.EFFDT=a.EFFDT and
%EffDtCheck(INSTR_ADVISOR a1, a, :1) and a.EFF_STATUS='A' and a.INSTR_TYPE<>'ADV'
and a.INSTR_AVAILABLE='A' and FILL.ACAD_ORG=:2 and FILL.CAMPUS=:3 ", &term_effdt,
&ClsAcadOrg, &ClsCampus);
Break;

When (&rsAcadOrgTbl(1).ACAD_ORG_TBL.CAMPUS_EDIT.Value = "N" And


&rsAcadOrgTbl(1).ACAD_ORG_TBL.SUBJECT_EDIT.Value = "Y" And
&rsAcadOrgTbl(1).ACAD_ORG_TBL.COURSE_EDIT.Value = "Y")
&cnt_Instr = &rs_Instr.Fill(", PS_INSTR_ADVISOR a where
FILL.EMPLID=a.EMPLID and FILL.INSTITUTION=a.INSTITUTION and FILL.EFFDT=a.EFFDT and
%EffDtCheck(INSTR_ADVISOR a1, a, :1) and a.EFF_STATUS='A' and a.INSTR_TYPE<>'ADV'
and a.INSTR_AVAILABLE='A' and FILL.ACAD_ORG=:2 and FILL.SUBJECT=:3 and
FILL.CRSE_ID=:4 and FILL.CRSE_OFFER_NBR=:5 ", &term_effdt, &ClsAcadOrg, &ClsSubj,
&ClsCrseID, &ClsCrseOfferNbr);
Break;

When (&rsAcadOrgTbl(1).ACAD_ORG_TBL.CAMPUS_EDIT.Value = "N" And


&rsAcadOrgTbl(1).ACAD_ORG_TBL.SUBJECT_EDIT.Value = "Y" And
&rsAcadOrgTbl(1).ACAD_ORG_TBL.COURSE_EDIT.Value = "N")
&cnt_Instr = &rs_Instr.Fill(", PS_INSTR_ADVISOR a where
FILL.EMPLID=a.EMPLID and FILL.INSTITUTION=a.INSTITUTION and FILL.EFFDT=a.EFFDT and
%EffDtCheck(INSTR_ADVISOR a1, a, :1) and a.EFF_STATUS='A' and a.INSTR_TYPE<>'ADV'
and a.INSTR_AVAILABLE='A' and FILL.ACAD_ORG=:2 and FILL.SUBJECT=:3 ", &term_effdt,
&ClsAcadOrg, &ClsSubj);
Break;

When (&rsAcadOrgTbl(1).ACAD_ORG_TBL.CAMPUS_EDIT.Value = "N" And


&rsAcadOrgTbl(1).ACAD_ORG_TBL.SUBJECT_EDIT.Value = "N" And
&rsAcadOrgTbl(1).ACAD_ORG_TBL.COURSE_EDIT.Value = "Y")
&cnt_Instr = &rs_Instr.Fill(", PS_INSTR_ADVISOR a where
FILL.EMPLID=a.EMPLID and FILL.INSTITUTION=a.INSTITUTION and FILL.EFFDT=a.EFFDT and
%EffDtCheck(INSTR_ADVISOR a1, a, :1) and a.EFF_STATUS='A' and a.INSTR_TYPE<>'ADV'
and a.INSTR_AVAILABLE='A' and FILL.ACAD_ORG=:2 and FILL.CRSE_ID=:3 and
FILL.CRSE_OFFER_NBR=:4 ", &term_effdt, &ClsAcadOrg, &ClsCrseID, &ClsCrseOfferNbr);
Break;

When-Other

&cnt_Instr = &rs_Instr.Fill(", PS_INSTR_ADVISOR a where


FILL.EMPLID=a.EMPLID and FILL.INSTITUTION=a.INSTITUTION and FILL.EFFDT=a.EFFDT and
%EffDtCheck(INSTR_ADVISOR a1, a, :1) and a.EFF_STATUS='A' and a.INSTR_TYPE<>'ADV'
and a.INSTR_AVAILABLE='A' and FILL.ACAD_ORG=:2 ", &term_effdt, &ClsAcadOrg);

End-Evaluate;

End-Evaluate;

If &cnt_Instr = 0 Then
&DisplayCounter = &DisplayCounter - 1; /* No Instructor Edit option
available */
&oManageClassesGlobalVars.bDisplay_Instructor = False;

If &IsLoadRecFields Then
&fld_InstructorId.Visible = False;
End-If;
Else
If &cnt_Instr = 1 Then
&DisplayCounter = &DisplayCounter - 1; /* No Instructor Edit option
available */
&oManageClassesGlobalVars.bDisplay_Instructor = False;

If &IsLoadRecFields Then
&fld_InstructorId.Visible = False;
End-If;
Else
If &IsLoadRecFields Then
Local string &prev_emplid, &prev_name;
Local integer &DefaultInstructorInstance;

&prev_emplid = "";
&prev_name = "";
&DefaultInstructorInstance = 1;

For &i = 1 To &cnt_Instr


If &prev_emplid <> &rs_Instr(&i).GetRecord(1).EMPLID.Value And
&prev_name <>
&rs_Instr(&i).GetRecord(1).GetField(Field.NAME).Value Then

&CodeIn = &rs_Instr(&i).GetRecord(1).EMPLID.Value;
&DescIn =
&oInstructor.GetDisplayName(&rs_Instr(&i).GetRecord(1).EMPLID.Value);

If &DefaultInstructorInstance = 1 Then
&fld_InstructorId.Value = &CodeIn; /* Assign default
instructor */
&DefaultInstructorInstance = &DefaultInstructorInstance +
1;
End-If;

&fld_InstructorId.AddDropDownItem(&CodeIn, &DescIn);

&prev_emplid = &rs_Instr(&i).GetRecord(1).EMPLID.Value;
&prev_name =
&rs_Instr(&i).GetRecord(1).GetField(Field.NAME).Value;
End-If;
End-For;
End-If;
End-If;
End-If;

When-Other
&DisplayCounter = &DisplayCounter - 1; /* No Instructor Edit option available
*/
&oManageClassesGlobalVars.bDisplay_Instructor = False;

If &IsLoadRecFields Then
&fld_InstructorId.Visible = False;
End-If;
End-Evaluate;

If &IsLoadRecFields Then
/* Default to current selection if available */
Local string &local_sInstructorId = &sInstructorId;

If All(&local_sInstructorId) Then
&recDerivedClsDtl.INSTRUCTOR_ID.Value = &local_sInstructorId;
Else
&recDerivedClsDtl.INSTRUCTOR_ID.Value = &fld_InstructorId.Value;
&local_sInstructorId = &recDerivedClsDtl.INSTRUCTOR_ID.Value;
End-If;
End-If;
end-method;

method Program

If &IsLoadRecFields Then
Local Field &fld_Program = &recDerivedClsDtl.GetField(Field.ACAD_PROG);
Local string &CodeIn, &DescIn;

&fld_Program.Visible = True;
&fld_Program.ShowRequiredFieldCue = False;
End-If;

Local integer &i;


Local Rowset &rsInstitutionTbl;

&rsInstitutionTbl = CreateRowset(Record.INSTITUTION_TBL);
&rsInstitutionTbl.Flush();
&rsInstitutionTbl.Fill("WHERE FILL.INSTITUTION=:1 AND FILL.EFFDT = (SELECT
MAX(A.EFFDT) FROM PS_INSTITUTION_TBL A WHERE A.INSTITUTION = FILL.INSTITUTION AND
A.EFFDT <= %CurrentDateIn) AND FILL.EFF_STATUS = 'A'", &sInstitution);

If &rsInstitutionTbl(1).INSTITUTION_TBL.SSR_ENBL_ACAD_PROG.Value = "N" Or
&allow_prog_in = "N" Then
&DisplayCounter = &DisplayCounter - 1; /* No Program option available */
&oManageClassesGlobalVars.bDisplay_Program = False;

If &IsLoadRecFields Then
&fld_Program.Visible = False;
&fld_Program.Value = &sAcadProg;
End-If;
Else
If &arr_StdntProgs.Len > 1 Then
If &IsLoadRecFields Then
&fld_Program.ClearDropDownList();

For &i = 1 To &arr_StdntProgs.Len


&CodeIn = &arr_StdntProgs [&i, 1];
&DescIn = &arr_StdntProgs [&i, 2];
&fld_Program.AddDropDownItem(&CodeIn, &DescIn);
End-For;
End-If;

Else
&DisplayCounter = &DisplayCounter - 1; /* No Program option available */
&oManageClassesGlobalVars.bDisplay_Program = False;

If &IsLoadRecFields Then
&fld_Program.Visible = False;
End-If;
End-If;
If &IsLoadRecFields Then
/* Default to current selection if available */
Local string &local_sAcadProg = &sAcadProg;

If All(&local_sAcadProg) Then
&fld_Program.Value = &local_sAcadProg;
Else
&fld_Program.Value = &arr_StdntProgs [1, 1];
&local_sAcadProg = &arr_StdntProgs [1, 1];
End-If;
End-If;
End-If;
end-method;

method RequirementDesignation
If &IsLoadRecFields Then
Local Field &fld_RqmntDesignation, &fld_RqmntDesigntnOpt;

&fld_RqmntDesignation = &recDerivedClsDtl.GetField(Field.RQMNT_DESIGNTN);
&fld_RqmntDesignation.Visible = True;

&fld_RqmntDesigntnOpt = &recDerivedClsDtl.GetField(Field.RQMNT_DESIGNTN_OPT);
&fld_RqmntDesigntnOpt.Visible = True;

SSR_ENRL_FL_WRK.DESCRLONG.Visible = True;
End-If;

Local string &cls_RD, &RD_AtStdntOption;


Local Record &rec_RDT;

&cls_RD = &obj_ClassInfo.Assoc_ReqDes;

If All(&cls_RD) Then
If &IsLoadRecFields Then
&fld_RqmntDesignation.Visible = True;
&fld_RqmntDesignation.Value = &cls_RD;

&sRqmntDesigntn = &fld_RqmntDesignation.Value;

SSR_ENRL_FL_WRK.DESCRLONG.Value = MsgGetText(14770, 1013, "Message not


found.") | " - " | RQMNT_DESIG_TBL.DESCRFORMAL.Value;

&sDescRqmtDsgn = RQMNT_DESIG_TBL.DESCRFORMAL.Value;

&rec_RDT = CreateRecord(Record.RQMNT_DESIG_TBL);
&rec_RDT.RQMNT_DESIGNTN.Value = &cls_RD;

Local string &local_sRqmtDesigntnOpt = &sRqmtDesigntnOpt;

If &rec_RDT.SelectByKeyEffDt(%Date) Then
&RD_AtStdntOption = &rec_RDT.AT_STDNT_OPTION.Value;
If &RD_AtStdntOption = "Y" Then
If All(&local_sRqmtDesigntnOpt) Then
&fld_RqmntDesigntnOpt.Value = &local_sRqmtDesigntnOpt;
Else
&fld_RqmntDesigntnOpt.Value = "N";
&local_sRqmtDesigntnOpt = "N";
End-If;
Else
&fld_RqmntDesigntnOpt.Value = "Y";
&fld_RqmntDesigntnOpt.Enabled = False;
End-If;
End-If;
End-If;
Else
&DisplayCounter = &DisplayCounter - 1; /* No Requirement Designation option
available */
&oManageClassesGlobalVars.bDisplay_RequirementDesignation = False;

If &IsLoadRecFields Then
&fld_RqmntDesignation.Visible = False;
&fld_RqmntDesignation.Value = "";

&fld_RqmntDesigntnOpt.Visible = False;
&fld_RqmntDesigntnOpt.Value = "N";

SSR_ENRL_FL_WRK.DESCRLONG.Visible = False;
End-If;
End-If;
end-method;

method StartDate
If &IsLoadRecFields Then
Local Field &fld_StartDt = &recDerivedClsDtl.GetField(Field.START_DT);
&fld_StartDt.Visible = True;
End-If;

If &rsClassTblVw1(1).CLASS_TBL_VW1.SESSION_CODE.Value = "OEE" Then

Local date &end_dt;

&end_dt = &rsSessionVw(1).SSR_SESSION_VW.LAST_ENRL_DT.Value;

If &end_dt < %Date Then


/* You are unable to enroll in this class at this time. */
&DisplayCounter = &DisplayCounter - 1; /* No Start Date option available
*/
&oManageClassesGlobalVars.bDisplay_StartDate = False;

If &IsLoadRecFields Then
&fld_StartDt.Visible = False;
End-If;
Else
If &IsLoadRecFields Then
Local date &sess_start_dt, &st_dt;

/* should be display only if student is already enrolled in class


*/
&sess_start_dt = &rsSessionVw(1).SSR_SESSION_VW.SESS_BEGIN_DT.Value;

If All(&sess_start_dt) And
&sess_start_dt > %Date Then
&st_dt = &sess_start_dt;
Else
&st_dt = %Date;
End-If;
End-If;
End-If;

If &IsLoadRecFields Then

Local SSR_MANAGE_CLASSES:UTIL:Formatter &oFormatter = create


SSR_MANAGE_CLASSES:UTIL:Formatter();
Local string &sStartDt_Formatted, &sEndDt_Formatted;

&sStartDt_Formatted = &oFormatter.FormatDate(&st_dt);
&sEndDt_Formatted = &oFormatter.FormatDate(&end_dt);

If %Component = Component.SSR_EDIT_CLSPRF_FL Then


&DisplayCounter = &DisplayCounter - 1; /* No Start Date option
available */
&recDerivedClsDtl.DESCR200.Visible = False;
&fld_StartDt.Value = &st_dt;
&fld_StartDt.Visible = False;
Else
&recDerivedClsDtl.DESCR200.SetDefault();
&recDerivedClsDtl.DESCR200.Value = MsgGetText(14690, 262, "Message not
found", &sStartDt_Formatted, &sEndDt_Formatted);

/* default */
Local date &local_dStartDt = &dStartDt;

If All(&local_dStartDt) Then
&fld_StartDt.Value = &local_dStartDt;
End-If;
End-If;
End-If;

Else

&DisplayCounter = &DisplayCounter - 1; /* No Start Date option available */


&oManageClassesGlobalVars.bDisplay_StartDate = False;

If &IsLoadRecFields Then
&fld_StartDt.Visible = False;
End-If;
End-If;
end-method;

method remap_gb
/+ &PARM_INSTITUTION as String, +/
/+ &GB_MAP_RULE as String, +/
/+ &PARM_EFFDT as Date, +/
/+ &GB_IN as String +/
Local Rowset &rsGbExcMapDtl;

&rsGbExcMapDtl = CreateRowset(Record.GB_EXC_MAP_DTL);
&rsGbExcMapDtl.Flush();
&rsGbExcMapDtl.Fill("WHERE FILL.INSTITUTION=:1 AND FILL.GB_MAP_RULE=:2 AND
FILL.EFFDT=(SELECT MAX(B.EFFDT) FROM PS_GB_EXC_MAP B WHERE
B.INSTITUTION=FILL.INSTITUTION AND B.GB_MAP_RULE=FILL.GB_MAP_RULE AND B.EFFDT<=
%DateIn(:3) AND B.EFF_STATUS<>'I') AND FILL.GRADING_BASIS=:4", &PARM_INSTITUTION,
&GB_MAP_RULE, &PARM_EFFDT, &GB_IN);
&GB_GRD_BASIS_INV = &rsGbExcMapDtl(1).GB_EXC_MAP_DTL.GRADING_BASIS_INV.Value;
If &GB_GRD_BASIS_INV = "Y" Then
&GB_GRD_BASIS_ENRL = &GB_IN;
Else
&GB_GRD_BASIS_ENRL =
&rsGbExcMapDtl(1).GB_EXC_MAP_DTL.GRADING_BASIS_ENRL.Value;
If &GB_GRD_BASIS_ENRL = "" Then
&GB_GRD_BASIS_INV = "Y";
&GB_GRD_BASIS_ENRL = &GB_IN;
End-If;
End-If;
end-method;

method CheckAllowedUserAction
/+ Returns String +/
Local SSR_MANAGE_CLASSES:UTIL:CheckValidUserAction &ValidUserAction = create
SSR_MANAGE_CLASSES:UTIL:CheckValidUserAction();

Local array of string &aCheckActions = CreateArrayRept(" ", 0);


/* Check if Enrollment to Classes is Allowed */
&aCheckActions.Push("N");

/* Check if Waitlist to Classes is Allowed */


&aCheckActions.Push("Y");

/* Check if Access to Classes in Shopping Cart is Allowed */


&aCheckActions.Push("N");

/* Check if Validation of Classes in Shopping Cart is Allowed */


&aCheckActions.Push("N");

Local array of string &aSession = CreateArrayRept(" ", 0);

&aSession.Push(&sSessionCode);

Local array of string &aValidActions = CreateArrayRept(" ", 0);

&aValidActions = &ValidUserAction.ValidUserAction(&aCheckActions, %OperatorId,


%EmployeeId, &sAcademicCareer, &sInstitution, &sTerm, &aSession, &nClassNbr);

Return &aValidActions [2]; /* Check if Waitlist to Classes is Allowed */

end-method;

method CheckForClassPreferences
/+ &Record_IN as Record +/
/+ Returns Boolean +/
%This.LoadClasses(&Record_IN);

&DisplayCounter = 8;

&IsLoadRecFields = False;

&oManageClassesGlobalVars.bDisplay_WaitList = True;
&oManageClassesGlobalVars.bDisplay_PermissionNumber = True;
&oManageClassesGlobalVars.bDisplay_GradingBasis = True;
&oManageClassesGlobalVars.bDisplay_Units = True;
&oManageClassesGlobalVars.bDisplay_Instructor = True;
&oManageClassesGlobalVars.bDisplay_Program = True;
&oManageClassesGlobalVars.bDisplay_RequirementDesignation = True;
&oManageClassesGlobalVars.bDisplay_StartDate = True;

%This.Waitlist();
%This.PermissionNumber();
%This.GradingBasis();
%This.Units();
%This.InstructorEdit();
%This.Program();
%This.RequirementDesignation();
%This.StartDate();

If &DisplayCounter > 0 Then


Return True;
Else
Return False;
End-If;

end-method;

method LoadClassPreferences
/+ &Record_IN as Record +/
/+ Returns Record +/

&recDerivedClsDtl = GetRecord(Record.DERIVED_CLS_DTL);

If %Component = Component.SSR_ENRL_SUBMIT_FL Then


&IsLoadRecFields = False;
Else
&IsLoadRecFields = True;
End-If;

&IsLoadRecFields = True;

If %Component = Component.SSR_SHOP_CART_FL Then


If %Request.BrowserDeviceType <> "tablet" Then
SSR_CLS_GBX_WRK.WAIT_LIST_OKAY.AddFFClass("psc_width-100pct");
SSR_CLS_GBX_WRK.CLASS_PRMSN_NBR.AddFFClass("psc_width-100pct");
SSR_CLS_GBX_WRK.SSR_GRADE_BASIS_SS.AddFFClass("psc_width-100pct");
SSR_CLS_GBX_WRK.SSR_UNT_TAKEN_CHAR.AddFFClass("psc_width-100pct");
SSR_CLS_GBX_WRK.INSTRUCTOR_ID.AddFFClass("psc_width-100pct");
SSR_CLS_GBX_WRK.ACAD_PROG.AddFFClass("psc_width-100pct");
SSR_CLS_GBX_WRK.RQMNT_DESIGNTN.AddFFClass("psc_width-100pct");
SSR_CLS_GBX_WRK.START_DT.AddFFClass("psc_width-100pct");
End-If;
End-If;

%This.LoadClasses(&Record_IN);

/* Set labels */
DERIVED_SSR_FL.SSR_SBJ_CAT_NBR.Value = &sSbjCatNbr;
SSR_CLS_PREF_WK.SSR_DESC_WAIT_LIST.Value = &sWaitListOkayLabel;
SSR_CLS_PREF_WK.SSR_DESC_PER_NBR.Value = MsgGetText(14770, 1002, "Message not
found.");
&recDerivedClsDtl.SSR_GRADE_BASIS_SS.Label = MsgGetText(14770, 1011, "Message
not found.");
&recDerivedClsDtl.ACAD_PROG.Label = MsgGetText(14770, 1012, "Message not
found.");
&recDerivedClsDtl.SSR_UNT_TAKEN_CHAR.Label = MsgGetText(14770, 566, "Message not
found.");
&recDerivedClsDtl.INSTRUCTOR_ID.Label = MsgGetText(14770, 523, "Message not
found.");

%This.Waitlist();
%This.PermissionNumber();
%This.GradingBasis();
%This.Units();
%This.InstructorEdit();
%This.Program();
%This.RequirementDesignation();
%This.StartDate();

/* Course Count */
&iCrseCount = &obj_ClassInfo.Assoc_CrseCount;
&recDerivedClsDtl.CRSE_COUNT.Value = &iCrseCount;

&oManageClassesGlobalVars.bDisplay_WaitList =
&recDerivedClsDtl.WAIT_LIST_OKAY.Visible;
&oManageClassesGlobalVars.bDisplay_PermissionNumber =
&recDerivedClsDtl.CLASS_PRMSN_NBR.Visible;
&oManageClassesGlobalVars.bDisplay_GradingBasis =
&recDerivedClsDtl.SSR_GRADE_BASIS_SS.Visible;
&oManageClassesGlobalVars.bDisplay_Units =
&recDerivedClsDtl.SSR_UNT_TAKEN_CHAR.Visible;
&oManageClassesGlobalVars.bDisplay_Instructor =
&recDerivedClsDtl.INSTRUCTOR_ID.Visible;
&oManageClassesGlobalVars.bDisplay_Program =
&recDerivedClsDtl.ACAD_PROG.Visible;
&oManageClassesGlobalVars.bDisplay_RequirementDesignation =
&recDerivedClsDtl.RQMNT_DESIGNTN.Visible;

Return &recDerivedClsDtl;

end-method;

[SSR_MANAGE_CLASSES.UTIL.ClassSelection.OnExecute]
import SSR_STUDENT_RECORDS:SR_ClassData:ClassInfo;
import SSR_MANAGE_CLASSES:UTIL:MeetingDetails;
import SSR_MANAGE_CLASSES:UTIL:Formatter;
import
SSR_AG_ENRL_CLASSES_FL:PageletProcessingAdapter:PageletNavigationButtonAdapter;
import SSR_MANAGE_CLASSES:UTIL:GlobalVariables;

class ClassSelection
method ReviewClassSelection(&p_sInstitution As string, &p_sAcadCareer As string,
&p_sTerm As string, &p_nClassNbr As number, &p_sScrollRec As string, &p_RecSource
As Record);
method LoadKeys(&RowIn As Row, &RowsetIn As Rowset);
method DeleteAGInstance(&sTemplateId As string);
private
instance SSR_MANAGE_CLASSES:UTIL:MeetingDetails &oMeetingDetails;
end-class;

Global SSR_MANAGE_CLASSES:UTIL:GlobalVariables &oManageClassesGlobalVars;

method ReviewClassSelection
/+ &p_sInstitution as String, +/
/+ &p_sAcadCareer as String, +/
/+ &p_sTerm as String, +/
/+ &p_nClassNbr as Number, +/
/+ &p_sScrollRec as String, +/
/+ &p_RecSource as Record +/
Local Rowset &rs_ClassTable;
Local Rowset &rs_MeetingPattern, &rs_TermTable;
Local Row &row_ClassTable;
Local integer &i, &j, &k;
Local integer &count_EnrolledClasses, &count_ClassTable, &count_MeetingPattern;
Local number &nOpenSeats;

&oMeetingDetails = create SSR_MANAGE_CLASSES:UTIL:MeetingDetails();

/* Keys - Class and Meeting Details */


&p_RecSource.INSTITUTION.Value = &p_sInstitution;
&p_RecSource.ACAD_CAREER.Value = &p_sAcadCareer;
&p_RecSource.STRM.Value = &p_sTerm;

&rs_ClassTable = CreateRowset(Record.CLASS_TBL);
&rs_ClassTable.Flush();
&rs_ClassTable.Fill("WHERE STRM=:1 AND CLASS_NBR=:2", &p_sTerm, &p_nClassNbr);

DERIVED_SSR_FL.SSR_SBJ_CAT_NBR.Value = &rs_ClassTable(1).CLASS_TBL.SUBJECT.Value
| " " | &rs_ClassTable(1).CLASS_TBL.CATALOG_NBR.Value | " " |
&rs_ClassTable(1).CLASS_TBL.DESCR.Value;
&p_RecSource.SSR_SBJ_CAT_NBR.Value = DERIVED_SSR_FL.SSR_SBJ_CAT_NBR.Value;

&oMeetingDetails.sInstitution = &p_sInstitution;
&oMeetingDetails.sAcademicCareer = &p_sAcadCareer;
&oMeetingDetails.sTerm = &p_sTerm;

Evaluate &oManageClassesGlobalVars.sTabID
When Page.SSR_CLSRCH_MAIN_FL
&oMeetingDetails.Instantiate("ClassSearch");
Break;
When Page.SSR_SWAP_TERM_FL
&oMeetingDetails.Instantiate("SwapClasses");
Break;
End-Evaluate;

/* Class - Selected */
Local Rowset &rs_ClassSelected;
Local Row &row_ClassSelected;
Local Grid &gDummyRec;

&rs_ClassSelected = GetLevel0()(1).GetRowset(@("Scroll." | &p_sScrollRec));


&rs_ClassSelected.Flush();

<*If %Request.BrowserDeviceFormFactor <> %FormFactor_Small Then


&gDummyRec = GetGrid(%Page, Record.SSR_DUMMY_REC);
&gDummyRec.GetColumn("SESSION_DT").Label = MsgGetText(14770, 538, "Message
not found.");
&gDummyRec.GetColumn("CLASS_NUMBER").Label = MsgGetText(14770, 1006, "Message
not found.");
&gDummyRec.GetColumn("SESSION").Label = MsgGetText(14770, 718, "Message not
found.");
&gDummyRec.GetColumn("DAYS").Label = MsgGetText(14770, 716, "Message not
found.");
&gDummyRec.GetColumn("SEATS").Label = MsgGetText(14770, 609, "Message not
found.");;
&gDummyRec.GetColumn("TIMES").Visible = False;

If %Component = Component.SSR_ENRL_SUBMIT_FL Then


&gDummyRec.GetColumn("MORE_MTG_SCHED").Visible = False;
Else
&gDummyRec.GetColumn("MORE_MTG_SCHED").Visible = True;
End-If;

If %Component = Component.SSR_SWAP_CONFRM_FL Then


&gDummyRec = GetGrid(%Page, Record.SSR_DUMMY_RECV1);
&gDummyRec.GetColumn("SESSION_DT2").Label = MsgGetText(14770, 538,
"Message not found.");
&gDummyRec.GetColumn("CLASS_NUMBER2").Label = MsgGetText(14770, 1006,
"Message not found.");
&gDummyRec.GetColumn("SESSION2").Label = MsgGetText(14770, 718, "Message
not found.");
&gDummyRec.GetColumn("DAYS2").Label = MsgGetText(14770, 716, "Message not
found.");
&gDummyRec.GetColumn("SEATS2").Label = MsgGetText(14770, 609, "Message not
found.");;
&gDummyRec.GetColumn("TIMES2").Visible = False;
End-If;

Else
If %Component = Component.SSR_SWAP_CONFRM_FL Then
REM &gDummyRec = GetGrid(%Page, @("Record." | &p_GridRec.Name));
Else
&gDummyRec = GetGrid(%Page, "SSR_DUMMY_REC1");
End-If;

If %Component = Component.SSR_ENRL_SUBMIT_FL Or
%Component = Component.SSR_SWAP_CONFRM_FL Then
&gDummyRec.GetColumn("MORE_MTG_SCHED1").Visible = False;
Else
&gDummyRec.GetColumn("MORE_MTG_SCHED1").Visible = True;
End-If;
End-If;*>

If &p_nClassNbr > 0 Then


&i = 1;
&rs_ClassSelected.InsertRow(&i);
&i = &i + 1;
&row_ClassSelected = &rs_ClassSelected.GetRow(&i);

&row_ClassSelected.SSR_ENRL_FL_WRK.ENRL_STAT.Value =
&p_RecSource.ENRL_STAT_1.Value;

&rs_ClassTable.Flush();
&rs_ClassTable.Fill("WHERE STRM=:1 AND CLASS_NBR=:2", &p_sTerm,
&p_nClassNbr);

&oMeetingDetails.LoadMeetingSchedule(&i, &p_nClassNbr, &row_ClassSelected);

%This.LoadKeys(&row_ClassSelected, &rs_ClassTable);
End-If;

/************************************** Begin, Auto Enroll Section


***************************************/
If &p_RecSource.AUTO_CLASS_NBR_1.Value > 0 Then
&rs_ClassTable.Flush();
&rs_ClassTable.Fill("WHERE STRM=:1 AND CLASS_NBR=:2", &p_sTerm,
&p_RecSource.AUTO_CLASS_NBR_1.Value);

&rs_ClassSelected.InsertRow(&i);
&i = &i + 1;
&row_ClassSelected = &rs_ClassSelected.GetRow(&i);

&row_ClassSelected.SSR_ENRL_FL_WRK.ENRL_STAT.Value =
&p_RecSource.ENRL_STAT_2.Value;

&oMeetingDetails.LoadMeetingSchedule(&i, &p_RecSource.AUTO_CLASS_NBR_1.Value,
&row_ClassSelected);

%This.LoadKeys(&row_ClassSelected, &rs_ClassTable);
End-If;

If &p_RecSource.AUTO_CLASS_NBR_2.Value > 0 Then


&rs_ClassTable.Flush();
&rs_ClassTable.Fill("WHERE STRM=:1 AND CLASS_NBR=:2", &p_sTerm,
&p_RecSource.AUTO_CLASS_NBR_2.Value);

&rs_ClassSelected.InsertRow(&i);
&i = &i + 1;
&row_ClassSelected = &rs_ClassSelected.GetRow(&i);

&row_ClassSelected.SSR_ENRL_FL_WRK.ENRL_STAT.Value =
&p_RecSource.ENRL_STAT_3.Value;

&oMeetingDetails.LoadMeetingSchedule(&i, &p_RecSource.AUTO_CLASS_NBR_2.Value,
&row_ClassSelected);

%This.LoadKeys(&row_ClassSelected, &rs_ClassTable);
End-If;
/************************************** End, Auto Enroll Section
***************************************/

/************************************** Begin, Related Class Section


***************************************/
If &p_RecSource.RELATE_CLASS_NBR_1.Value > 0 Then
&rs_ClassTable.Flush();
&rs_ClassTable.Fill("WHERE STRM=:1 AND CLASS_NBR=:2", &p_sTerm,
&p_RecSource.RELATE_CLASS_NBR_1.Value);

&rs_ClassSelected.InsertRow(&i);
&i = &i + 1;
&row_ClassSelected = &rs_ClassSelected.GetRow(&i);

&row_ClassSelected.SSR_ENRL_FL_WRK.ENRL_STAT.Value =
&p_RecSource.ENRL_STAT_4.Value;

&oMeetingDetails.LoadMeetingSchedule(&i,
&p_RecSource.RELATE_CLASS_NBR_1.Value, &row_ClassSelected);

%This.LoadKeys(&row_ClassSelected, &rs_ClassTable);
End-If;

If &p_RecSource.RELATE_CLASS_NBR_2.Value > 0 Then


&rs_ClassTable.Flush();
&rs_ClassTable.Fill("WHERE STRM=:1 AND CLASS_NBR=:2", &p_sTerm,
&p_RecSource.RELATE_CLASS_NBR_2.Value);

&rs_ClassSelected.InsertRow(&i);
&i = &i + 1;
&row_ClassSelected = &rs_ClassSelected.GetRow(&i);

&row_ClassSelected.SSR_ENRL_FL_WRK.ENRL_STAT.Value =
&p_RecSource.ENRL_STAT_5.Value;

&oMeetingDetails.LoadMeetingSchedule(&i,
&p_RecSource.RELATE_CLASS_NBR_2.Value, &row_ClassSelected);

%This.LoadKeys(&row_ClassSelected, &rs_ClassTable);
End-If;
/************************************** End, Related Class Section
***************************************/

&rs_ClassSelected.DeleteRow(1); /* Delete Empty Row */

/*If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then*/


&rs_ClassSelected.Sort(SSR_CLS_KEYS_WK.CLASS_TYPE, "A",
SSR_CLS_KEYS_WK.CLASS_SECTION, "A");
REM End-If;

/* Option Status */
SSR_ENRL_FL_WRK.DESCRLONG.Value =
&p_RecSource.SSR_OPTION_STAT.GetLongLabel("SSR_OPTION_STAT") | " " |
&p_RecSource.SSR_OPTION_STAT.LongTranslateValue;

Local string &sEnrlStat, &Status1, &Status2;


Local boolean &IsStatusChanged, &Continue;

&IsStatusChanged = False;
&Continue = True;

If All(&p_RecSource.ENRL_STAT_1.Value) Then
&Status1 = &p_RecSource.ENRL_STAT_1.Value;
End-If;

For &i = 2 To 5

&sEnrlStat = &p_RecSource.GetField(@("Field.ENRL_STAT_" | &i)).Value;

If All(&sEnrlStat) Then
&Status2 = &sEnrlStat;

If &Status1 <> &Status2 And


&Continue Then
&IsStatusChanged = True;
&Continue = False;
Else
&Status1 = &Status2;
End-If;
End-If;
End-For;

Local integer &MaxSchedToDisplay, &Instance;


Local string &curr_MeetingDate, &prev_MeetingDate;

&MaxSchedToDisplay = &oMeetingDetails.iMaxSchedToDisplay;

For &i = 1 To &rs_ClassSelected.ActiveRowCount

&curr_MeetingDate = "";
&prev_MeetingDate = "";
&Instance = 0;

For &j = 1 To &MaxSchedToDisplay


&curr_MeetingDate =
&rs_ClassSelected(&i).SSR_MTG_PAT_WRK.GetField(@("Field.SSR_ST_END_DT" |
&j)).Value;
If All(&curr_MeetingDate) Then
If &curr_MeetingDate <> &prev_MeetingDate Then
&Instance = &Instance + 1;
End-If;
&prev_MeetingDate = &curr_MeetingDate;
End-If;
End-For;

If &Instance = 1 Then
For &j = 2 To &MaxSchedToDisplay
If %Request.BrowserDeviceFormFactor <> %FormFactor_Small Then

&rs_ClassSelected(&i).SSR_MTG_PAT_WRK.GetField(@("Field.SSR_ST_END_DT" | &j)).Value
= " ";
Else

&rs_ClassSelected(&i).SSR_MTG_PAT_WRK.GetField(@("Field.SSR_ST_END_DT" |
&j)).Visible = False;

&rs_ClassSelected(&i).SSR_MTG_PAT_WRK.GetField(@("Field.SSR_MTG_SCHED" |
&j)).AddFFClass("psa_margin-top1em");
End-If;
End-For;
End-If;

End-For;

&rs_ClassSelected(&rs_ClassSelected.ActiveRowCount).DERIVED_SSR_FL.FILLER_FIELD.Vis
ible = False;

end-method;

method LoadKeys
/+ &RowIn as Row, +/
/+ &RowsetIn as Rowset +/
Local Record &recXlatItem;
Local string &sSessionDescr, &sComponentDescr;
Local number &AvailableOpenSeats, &AvailableWaitlistingSeats, &SeatingCapacity;

&recXlatItem = CreateRecord(Record.PSXLATITEM);
&recXlatItem.FIELDNAME.Value = "SESSION_CODE";
&recXlatItem.FIELDVALUE.Value = &RowsetIn(1).CLASS_TBL.SESSION_CODE.Value;

If &recXlatItem.SelectByKeyEffDt(%Date) Then
&sSessionDescr = &recXlatItem.XLATLONGNAME.Value;
End-If;

&RowIn.DERIVED_SSR_FL.SSR_CART_SESSION.Value = &sSessionDescr;

&recXlatItem.FIELDNAME.Value = "SSR_COMPONENT";
&recXlatItem.FIELDVALUE.Value = &RowsetIn(1).CLASS_TBL.SSR_COMPONENT.Value;

If &recXlatItem.SelectByKeyEffDt(%Date) Then
&sComponentDescr = &recXlatItem.XLATLONGNAME.Value;
End-If;

&RowIn.DERIVED_SSR_FL.SSR_SBJ_CAT_NBR.Value = &sComponentDescr | " " |


&RowsetIn(1).CLASS_TBL.CLASS_NBR.Value;

/*If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then*/


/* Set 'Class and Meeting Details' Keys */
&RowIn.SSR_CLS_KEYS_WK.CRSE_ID.Value = &RowsetIn(1).CLASS_TBL.CRSE_ID.Value;
&RowIn.SSR_CLS_KEYS_WK.CRSE_OFFER_NBR.Value =
&RowsetIn(1).CLASS_TBL.CRSE_OFFER_NBR.Value;
&RowIn.SSR_CLS_KEYS_WK.SESSION_CODE.Value =
&RowsetIn(1).CLASS_TBL.SESSION_CODE.Value;
&RowIn.SSR_CLS_KEYS_WK.CLASS_SECTION.Value =
&RowsetIn(1).CLASS_TBL.CLASS_SECTION.Value;
&RowIn.SSR_CLS_KEYS_WK.SUBJECT.Value = &RowsetIn(1).CLASS_TBL.SUBJECT.Value;
&RowIn.SSR_CLS_KEYS_WK.CATALOG_NBR.Value =
&RowsetIn(1).CLASS_TBL.CATALOG_NBR.Value;
&RowIn.SSR_CLS_KEYS_WK.DESCR.Value = &RowsetIn(1).CLASS_TBL.DESCR.Value;
&RowIn.SSR_CLS_KEYS_WK.CLASS_NBR.Value = &RowsetIn(1).CLASS_TBL.CLASS_NBR.Value;
&RowIn.SSR_CLS_KEYS_WK.SSR_COMPONENT.Value =
&RowsetIn(1).CLASS_TBL.SSR_COMPONENT.Value;
&RowIn.SSR_CLS_KEYS_WK.CLASS_TYPE.Value =
&RowsetIn(1).CLASS_TBL.CLASS_TYPE.Value;
&RowIn.SSR_CLS_KEYS_WK.ASSOCIATED_CLASS.Value =
&RowsetIn(1).CLASS_TBL.ASSOCIATED_CLASS.Value;
REM End-If;

&AvailableOpenSeats = &RowsetIn(1).CLASS_TBL.ENRL_CAP.Value -
&RowsetIn(1).CLASS_TBL.ENRL_TOT.Value;
&AvailableWaitlistingSeats = &RowsetIn(1).CLASS_TBL.WAIT_CAP.Value -
&RowsetIn(1).CLASS_TBL.WAIT_TOT.Value;

Evaluate &RowIn.SSR_ENRL_FL_WRK.ENRL_STAT.Value
When "O"
&RowIn.SSR_ENRL_FL_WRK.ENRL_STATUS.Value = MsgGetText(14770, 607, "Message
not found."); /* Open Seats */
&RowIn.DERIVED_SSR_FL.SSR_DESCR50.Value = MsgGetText(14770, 527, "Message not
found.", &AvailableOpenSeats, &RowsetIn(1).CLASS_TBL.ENRL_CAP.Value);
When "C"
&RowIn.SSR_ENRL_FL_WRK.ENRL_STATUS.Value =
&RowIn.SSR_ENRL_FL_WRK.ENRL_STAT.LongTranslateValue;
&RowIn.DERIVED_SSR_FL.SSR_DESCR50.Visible = False;
When "W"
&RowIn.SSR_ENRL_FL_WRK.ENRL_STATUS.Value = MsgGetText(14770, 608, "Message
not found."); /* Waitlist Available Places */
&RowIn.DERIVED_SSR_FL.SSR_DESCR50.Value = MsgGetText(14770, 527, "Message not
found.", &AvailableWaitlistingSeats, &RowsetIn(1).CLASS_TBL.WAIT_CAP.Value);
End-Evaluate;

&RowIn.DERIVED_SSR_FL.SSR_DESCR50.Value =
&RowIn.SSR_ENRL_FL_WRK.ENRL_STATUS.Value | " " |
&RowIn.DERIVED_SSR_FL.SSR_DESCR50.Value;

If %Request.BrowserDeviceFormFactor <> %FormFactor_Small Then


&RowIn.DERIVED_SSR_FL.SSR_SBJ_CAT_NBR.Label =
&RowIn.DERIVED_SSR_FL.SSR_SBJ_CAT_NBR.Value;
Else

[SSR_MANAGE_CLASSES.UTIL.Confirmation.OnExecute]
import SSR_CLASS:Components:Utility:SSR_CLSRCH_CONFIG_Util;
import SSR_MANAGE_CLASSES:UTIL:GlobalVariables;

class Confirmation
method Confirmation();
method LoadConfirmationMessages(&p_sEmplId As string, &p_sAcadCareer As string,
&p_sInstitution As string, &p_sTerm As string, &p_sEnrlRequestId As string);

property string sConfirmationMessage;


property boolean ShowReturnToClassPreferencesLink;
private
method GetEnrollmentMessages() Returns string;
method GetValidationMessages() Returns string;
instance string &sEmplId, &sAcadCareer, &sInstitution, &sTerm;
instance number &nClassNbr;
instance date &dTermBeginDt;
instance string &sEnrlRequestId, &sEnrlReqDetlStat;
instance number &nEnrlReqDetlSeq;
instance Record &ConfigTable;
instance string &sPrefReqste;
end-class;

Global SSR_MANAGE_CLASSES:UTIL:GlobalVariables &oManageClassesGlobalVars;

method Confirmation
Local SSR_CLASS:Components:Utility:SSR_CLSRCH_CONFIG_Util &clscfg = create
SSR_CLASS:Components:Utility:SSR_CLSRCH_CONFIG_Util();
Local string &sRequisite;

AddStyleSheet(StyleSheet.SSR_CONFIRMATION_FL);

&ConfigTable = &clscfg.getConfigByMenu("STDNT");

SQLExec("SELECT SSR_SS_PREF_REQSTE FROM PS_SSR_SS_ENRL_OPT", &sRequisite);

&sPrefReqste = &sRequisite;

end-method;

method LoadConfirmationMessages
/+ &p_sEmplId as String, +/
/+ &p_sAcadCareer as String, +/
/+ &p_sInstitution as String, +/
/+ &p_sTerm as String, +/
/+ &p_sEnrlRequestId as String +/

&sEmplId = &p_sEmplId;
&sAcadCareer = &p_sAcadCareer;
&sInstitution = &p_sInstitution;
&sTerm = &p_sTerm;
&sEnrlRequestId = &p_sEnrlRequestId;

DERIVED_SSR_FL.ACAD_CAREER = &sAcadCareer;
DERIVED_SSR_FL.INSTITUTION = &sInstitution;
DERIVED_SSR_FL.STRM = &sTerm;
DERIVED_SSR_FL.SSR_CHANGE_BTN_GBX.Visible = False;

Local Rowset &rs_TermTbl;

&rs_TermTbl = CreateRowset(Record.TERM_TBL);
&rs_TermTbl.Flush();
&rs_TermTbl.Fill("WHERE INSTITUTION=:1 AND ACAD_CAREER=:2 AND STRM=:3",
DERIVED_SSR_FL.INSTITUTION, DERIVED_SSR_FL.ACAD_CAREER, DERIVED_SSR_FL.STRM);

&dTermBeginDt = &rs_TermTbl(1).TERM_TBL.TERM_BEGIN_DT.Value;

Local Rowset &rsDummyRecV1, &rsSource, &rsClassTblVw;


Local integer &i, &Row;
Local string &sRecordSource, &sMessage;

&rsDummyRecV1 = GetRowset(Scroll.SSR_DUMMY_RECV1);
&rsDummyRecV1.Flush();

Evaluate %Page
When Page.SSR_DROP_CONFRM_FL
When Page.SSR_ENRL_CONFRM_FL

If %Component = Component.SSR_CLSRCH_MAIN_FL Then


Evaluate
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.SSR_ENRL_OPTN.Value
When "ENRL"
&rsSource = CreateRowset(Record.ENRL_REQ_DETAIL);
&rsSource.Flush();
&rsSource.Fill("WHERE ENRL_REQUEST_ID=:1 AND ACAD_CAREER=:2 AND
INSTITUTION=:3 AND STRM=:4", &sEnrlRequestId, DERIVED_SSR_FL.ACAD_CAREER,
DERIVED_SSR_FL.INSTITUTION, DERIVED_SSR_FL.STRM);
&rsSource.Sort(ENRL_REQ_DETAIL.ENRL_REQ_DETL_SEQ, "A");

&sRecordSource = Record.ENRL_REQ_DETAIL;

When "CART"
/* Shopping Cart Messages */
&rsDummyRecV1(1).DERIVED_REGFRM1.DESCRLONG.Value =
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.SSR_SBJ_CAT_NBR.Value;

If &oManageClassesGlobalVars.bIsClassAlreadyInShoppingCart Then
&sMessage = MsgGetText(14770, 810, "Message not found.");
&rsDummyRecV1(1).DERIVED_REGFRM1.SSR_STATUS_LONG.Value =
GetHTMLText(HTML.SSR_MNG_CLS_STAT_IMG_FL, "%Image(PS_CS_STATUS_ERROR_ICN)",
MsgGetText(14690, 560, "Message not found."));
&rsDummyRecV1(1).DERIVED_REGFRM1.SS_MESSAGE_LONG.Value = &sMessage;
Else
Local Record &recRegForm = CreateRecord(Record.SSR_REGFORM);

&recRegForm.EMPLID.Value =
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.EMPLID.Value;
&recRegForm.ACAD_CAREER.Value =
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.ACAD_CAREER.Value;
&recRegForm.INSTITUTION.Value =
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.INSTITUTION.Value;
&recRegForm.STRM.Value =
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.STRM.Value;
&recRegForm.CLASS_NBR.Value =
&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.CLASS_NBR.Value;

If &recRegForm.SelectByKey() Then
&sMessage = MsgGetText(14770, 811, "Message not found.");
&rsDummyRecV1(1).DERIVED_REGFRM1.SSR_STATUS_LONG.Value =
GetHTMLText(HTML.SSR_MNG_CLS_STAT_IMG_FL, "%Image(PS_CS_STATUS_SUCCESS_ICN)",
MsgGetText(14690, 562, "Message not found."));
&rsDummyRecV1(1).DERIVED_REGFRM1.SS_MESSAGE_LONG.Value =
&sMessage;
Else
/* Record not saved. */
&sMessage = MsgGetText(14770, 1004, "Message not found.");
&rsDummyRecV1(1).DERIVED_REGFRM1.SSR_STATUS_LONG.Value =
GetHTMLText(HTML.SSR_CLASS_STAT_IMG, "%Image(PS_CS_STATUS_ERROR_ICN)",
MsgGetText(14690, 560, "Message not found"));
&rsDummyRecV1(1).DERIVED_REGFRM1.SS_MESSAGE_LONG.Value =
&sMessage;

End-If;
End-If;

&sConfirmationMessage = &sMessage;

End-Evaluate;

Else

&rsSource = CreateRowset(Record.ENRL_REQ_DETAIL);
&rsSource.Flush();
&rsSource.Fill("WHERE ENRL_REQUEST_ID=:1 AND ACAD_CAREER=:2 AND
INSTITUTION=:3 AND STRM=:4", &sEnrlRequestId, DERIVED_SSR_FL.ACAD_CAREER,
DERIVED_SSR_FL.INSTITUTION, DERIVED_SSR_FL.STRM);
&rsSource.Sort(ENRL_REQ_DETAIL.ENRL_REQ_DETL_SEQ, "A");
&sRecordSource = Record.ENRL_REQ_DETAIL;

End-If;

When Page.SSR_SHOP_CONFRM_FL

&rsSource = CreateRowset(Record.SSR_REGFORM);
&rsSource.Flush();
&rsSource.Fill("WHERE FILL.EMPLID=:1 AND FILL.INSTITUTION=:2 AND
FILL.ACAD_CAREER=:3 AND FILL.STRM=:4 AND FILL.SSR_VALIDATE='Y' AND
(FILL.ENRL_REQ_DETL_STAT='S' OR EXISTS(SELECT 'X' FROM PS_SSR_SS_ENMSG_LG B WHERE
B.EMPLID = FILL.EMPLID AND B.ACAD_CAREER = FILL.ACAD_CAREER AND B.INSTITUTION =
FILL.INSTITUTION AND B.STRM = FILL.STRM AND B.CLASS_NBR = FILL.CLASS_NBR))",
&sEmplId, &sInstitution, &sAcadCareer, &sTerm);
&rsSource.Sort(SSR_REGFORM.CLASS_NBR, "A");
&sRecordSource = Record.SSR_REGFORM;

End-Evaluate;

If %Component = Component.SSR_CLSRCH_MAIN_FL And

&oManageClassesGlobalVars.rec_ClassEnrollmentDetailsAET.SSR_ENRL_OPTN.Value =
"CART" Then
/* Do nothing */
Else

&rsClassTblVw = CreateRowset(Record.CLASS_TBL_VW);

&Row = 1;

For &i = 1 To &rsSource.ActiveRowCount


&rsDummyRecV1.InsertRow(&Row);
&Row = &Row + 1;

&sEnrlReqDetlStat = &rsSource(&i).GetRecord(@("Record." |
&sRecordSource)).ENRL_REQ_DETL_STAT.Value;

If %Page = Page.SSR_ENRL_CONFRM_FL Or
%Page = Page.SSR_DROP_CONFRM_FL Then
&nEnrlReqDetlSeq = &rsSource(&i).GetRecord(@("Record." |
&sRecordSource)).ENRL_REQ_DETL_SEQ.Value;
End-If;

&nClassNbr = &rsSource(&i).GetRecord(@("Record." |
&sRecordSource)).CLASS_NBR.Value;

If %Component = Component.SSR_SWAP_CLASS_FL Then


/* Class Name */
Local string &DropClassName, &SwapClassName;

&rsClassTblVw.Flush();
&rsClassTblVw.Fill("WHERE INSTITUTION=:1 AND STRM=:2 AND CLASS_NBR=:3",
&rsSource(&i).GetRecord(@("Record." | &sRecordSource)).INSTITUTION.Value,
&rsSource(&i).GetRecord(@("Record." | &sRecordSource)).STRM.Value,
&rsSource(&i).GetRecord(@("Record." | &sRecordSource)).DROP_CLASS_IF_ENRL.Value);
&DropClassName = &rsClassTblVw(1).CLASS_TBL_VW.SUBJECT.Value | " " |
&rsClassTblVw(1).CLASS_TBL_VW.CATALOG_NBR.Value | " - " |
&rsClassTblVw(1).CLASS_TBL_VW.DESCR.Value;

&rsClassTblVw.Flush();
&rsClassTblVw.Fill("WHERE INSTITUTION=:1 AND STRM=:2 AND CLASS_NBR=:3",
&rsSource(&i).GetRecord(@("Record." | &sRecordSource)).INSTITUTION.Value,
&rsSource(&i).GetRecord(@("Record." | &sRecordSource)).STRM.Value, &nClassNbr);
&SwapClassName = &rsClassTblVw(1).CLASS_TBL_VW.SUBJECT.Value | " " |
&rsClassTblVw(1).CLASS_TBL_VW.CATALOG_NBR.Value | " - " |
&rsClassTblVw(1).CLASS_TBL_VW.DESCR.Value;

If &oManageClassesGlobalVars.sSwapAction = "D" Then


/* drop if enroll */
&rsDummyRecV1(&Row).DERIVED_REGFRM1.DESCRLONG.Value =
MsgGetText(14690, 607, "Message not found") | " " | &DropClassName | Char(10) |
MsgGetText(14690, 608, "Message not found") | " " | &SwapClassName;
Else
/* Class Name */
Local string &ChangeToClassName;

&rsClassTblVw.Flush();
&rsClassTblVw.Fill("WHERE INSTITUTION=:1 AND STRM=:2 AND
CLASS_NBR=:3", &rsSource(&i).GetRecord(@("Record." |
&sRecordSource)).INSTITUTION.Value, &rsSource(&i).GetRecord(@("Record." |
&sRecordSource)).STRM.Value, &rsSource(&i).GetRecord(@("Record." |
&sRecordSource)).CLASS_NBR_CHG_TO.Value);
&ChangeToClassName = &rsClassTblVw(1).CLASS_TBL_VW.SUBJECT.Value | "
" | &rsClassTblVw(1).CLASS_TBL_VW.CATALOG_NBR.Value | " - " |
&rsClassTblVw(1).CLASS_TBL_VW.DESCR.Value;
/* swap */
&rsDummyRecV1(&Row).DERIVED_REGFRM1.DESCRLONG.Value =
MsgGetText(14690, 607, "Message not found") | " " | &SwapClassName | Char(10) |
MsgGetText(14690, 608, "Message not found") | " " | &ChangeToClassName;
End-If;
Else
/* Class Name */
&rsClassTblVw.Flush();
&rsClassTblVw.Fill("WHERE INSTITUTION=:1 AND STRM=:2 AND CLASS_NBR=:3",
&rsSource(&i).GetRecord(@("Record." | &sRecordSource)).INSTITUTION.Value,
&rsSource(&i).GetRecord(@("Record." | &sRecordSource)).STRM.Value, &nClassNbr);
&rsDummyRecV1(&Row).DERIVED_REGFRM1.DESCRLONG.Value =
&rsClassTblVw(1).CLASS_TBL_VW.SUBJECT.Value | " " |
&rsClassTblVw(1).CLASS_TBL_VW.CATALOG_NBR.Value | " - " |
&rsClassTblVw(1).CLASS_TBL_VW.DESCR.Value;
End-If;

/* General Message */
Evaluate &rsSource(&i).GetRecord(@("Record." |
&sRecordSource)).ENRL_REQ_DETL_STAT.Value
When "S"
Evaluate %Page
When Page.SSR_ENRL_CONFRM_FL
If %Component = Component.SSR_EDIT_CLASS_FL Then
&sMessage = MsgGetText(14770, 1101, "Message not found."); /*
This class has been update. */
Else
&sMessage = MsgGetText(14690, 563, "Message not found."); /* This
class has been added to your schedule. */
End-If;
When Page.SSR_DROP_CONFRM_FL
&sMessage = MsgGetText(14770, 1007, "Message not found."); /* This
class has been dropped. */
When Page.SSR_SHOP_CONFRM_FL
&sMessage = MsgGetText(14770, 711, "Message not found."); /* Okay to
Add to Class Schedule. */
End-Evaluate;
When "M"
When "E"
When "X"
Evaluate %Page
When Page.SSR_ENRL_CONFRM_FL
When Page.SSR_DROP_CONFRM_FL
&sMessage = %This.GetEnrollmentMessages();
When Page.SSR_SHOP_CONFRM_FL
&sMessage = %This.GetValidationMessages();
End-Evaluate;
End-Evaluate;

&rsDummyRecV1(&Row).DERIVED_REGFRM1.SS_MESSAGE_LONG.Value = &sMessage;

Local boolean &IsSuccessful = False;

/* Status Icon */
Evaluate &rsSource(&i).GetRecord(@("Record." |
&sRecordSource)).ENRL_REQ_DETL_STAT.Value
When "M"
When "S"
&rsDummyRecV1(&Row).DERIVED_REGFRM1.SSR_STATUS_LONG.Value =
GetHTMLText(HTML.SSR_MNG_CLS_STAT_IMG_FL, "%Image(PS_CS_STATUS_SUCCESS_ICN)",
MsgGetText(14690, 562, "Message not found."));
&IsSuccessful = True;
When "E"
When "X"
&rsDummyRecV1(&Row).DERIVED_REGFRM1.SSR_STATUS_LONG.Value =
GetHTMLText(HTML.SSR_MNG_CLS_STAT_IMG_FL, "%Image(PS_CS_STATUS_ERROR_ICN)",
MsgGetText(14690, 560, "Message not found."));
End-Evaluate;
End-For;

&rsDummyRecV1.DeleteRow(1); /* Delete empty row */

Evaluate %Page
When Page.SSR_ENRL_CONFRM_FL
If &IsSuccessful Then
If %Component = Component.SSR_EDIT_CLASS_FL Then
&sConfirmationMessage = MsgGetText(14770, 1101, "Message not
found."); /* Selected class has been updated. */
Else
&sConfirmationMessage = MsgGetText(14690, 563, "Message not
found."); /* This class has been added to your schedule. */
End-If;
Else
If %Component = Component.SSR_EDIT_CLASS_FL Then
&sConfirmationMessage = MsgGetText(14770, 1102, "Message not
found."); /* Error encountered upon updating the selected class. */
Else
&sConfirmationMessage = MsgGetText(14770, 1003, "Message not
found."); /* Not added to class schedule */
End-If;
End-If;
When Page.SSR_DROP_CONFRM_FL
&sConfirmationMessage = MsgGetText(14770, 1008, "Message not found."); /*
The process is complete please see results below */
When Page.SSR_SHOP_CONFRM_FL
&sConfirmationMessage = MsgGetText(14770, 712, "Message not found."); /*
Class validation complete. See results below. */
End-Evaluate;

End-If;

end-method;

method GetEnrollmentMessages
/+ Returns String +/
Local string &sMsgGetText, &sMessage;
Local Rowset &rs_EnrlMsgLog;
Local integer &i, &j, &k;
Local number &msgset, &msgnbr;

[SSR_MANAGE_CLASSES.UTIL.DropClasses.OnExecute]
import SSR_MANAGE_CLASSES:UTIL:Installation;
import SSR_STUDENT_RECORDS:SR_ClassData:ClassInfo;
import SSR_MANAGE_CLASSES:UTIL:MeetingDetails;
import
SSR_AG_DROP_CLASSES_FL:PageletProcessingAdapter:PageletNavigationButtonAdapter;

class DropClasses
method DropClasses(&sStudentId As string, &sAcademicCareer As string,
&sInstitution As string, &sTerm As string);
method DeleteAGInstance(&sTemplateId As string);
method LoadEnrlReqGrid_Drop();
method LoadEnrlReqGrid_Drop_Sff();
private
instance string &recEmplId, &recPage, &gotopage, &recChangeTerm, &recInst,
&recCar, &recTerm;
instance date &recTermBeginDt;
end-class;

Global string &setId;


Global Rowset &rs_SelectedClassesToDrop;

method DropClasses
/+ &sStudentId as String, +/
/+ &sAcademicCareer as String, +/
/+ &sInstitution as String, +/
/+ &sTerm as String +/
&recEmplId = &sStudentId;
&recCar = &sAcademicCareer;
&recInst = &sInstitution;
&recTerm = &sTerm;

AddStyleSheet(StyleSheet.SSR_DROP_CLASSES_FL);

Local date &dTermBeginDt;

SQLExec("SELECT %DateOut(TERM_BEGIN_DT) FROM PS_TERM_TBL WHERE INSTITUTION=:1


AND ACAD_CAREER=:2 AND STRM=:3", &recInst, &recCar, &recTerm, &dTermBeginDt);
&recTermBeginDt = &dTermBeginDt;

end-method;

method LoadEnrlReqGrid_Drop
Local Grid &cls_grid;
Local Rowset &rs_StdntEnrlV1, &rs_StdntEnrlV0;
Local integer &int_RsCount, &i, &j, &k;

&cls_grid = GetGrid(%Page, "STDNT_ENRL_SSV1");

DERIVED_SSR_FL.GROUPBOX.Visible = True;

If %Component = Component.SSR_DROP_REVIEW_FL Then


&cls_grid.GetColumn("P_SELECT").Visible = False;
&cls_grid.GetColumn("P_SELECT_GBX").Visible = False;
&cls_grid.GetColumn("P_CLASS_NAME").Enabled = False;
&cls_grid.GetColumn("P_MORE_MTG_DTLS").Visible = False;

DERIVED_SSR_FL.GROUPBOX.Visible = False;
End-If;

&rs_StdntEnrlV1 = GetRowset(Scroll.STDNT_ENRL_SSV1);
&rs_StdntEnrlV1.Flush();

&rs_StdntEnrlV0 = CreateRowset(Record.STDNT_ENRL_SSV1);
&rs_StdntEnrlV0.Flush();

&int_RsCount = 0;

If %Component = Component.SSR_DROP_REVIEW_FL Then


If &rs_SelectedClassesToDrop.ActiveRowCount = 1 Then
&int_RsCount = 0;
Else
&int_RsCount = &rs_SelectedClassesToDrop.ActiveRowCount;
End-If;
Else
&int_RsCount = &rs_StdntEnrlV0.Fill("WHERE EMPLID=:1 AND ACAD_CAREER=:2 AND
INSTITUTION=:3 AND STRM=:4 AND ((STDNT_ENRL_STATUS='E' AND ENRL_STATUS_REASON <>
'WDRW' AND ENRL_STATUS_REASON <> 'DROP') OR STDNT_ENRL_STATUS='W') AND
CRSE_GRADE_INPUT=' '", &recEmplId, &recCar, &recInst, &recTerm);
End-If;

If &int_RsCount = 0 Then
&rs_StdntEnrlV1.HideAllRows();
If %Component = Component.SSR_DROP_REVIEW_FL Then
DERIVED_SSR_FL.SSR_DROPPED.Visible = False;
End-If;
Else
&rs_StdntEnrlV1.ShowAllRows();

If %Component = Component.SSR_DROP_REVIEW_FL Then


For &i = 1 To &int_RsCount
&rs_StdntEnrlV1.Select(Record.STDNT_ENRL_SSVW, "WHERE EMPLID=:1 AND
ACAD_CAREER=:2 AND INSTITUTION=:3 AND STRM=:4 AND CRSE_ID=:5 AND CRSE_OFFER_NBR=:6
AND SESSION_CODE=:7 AND ASSOCIATED_CLASS=:8 AND STDNT_ENRL_STATUS=:9", &recEmplId,
&recCar, &recInst, &recTerm,
&rs_SelectedClassesToDrop(&i).SSR_CLS_SEL_WRK.CRSE_ID.Value,
&rs_SelectedClassesToDrop(&i).SSR_CLS_SEL_WRK.CRSE_OFFER_NBR.Value,
&rs_SelectedClassesToDrop(&i).SSR_CLS_SEL_WRK.SESSION_CODE.Value,
&rs_SelectedClassesToDrop(&i).SSR_CLS_SEL_WRK.ASSOCIATED_CLASS.Value,
&rs_SelectedClassesToDrop(&i).SSR_CLS_SEL_WRK.STDNT_ENRL_STATUS.Value);
End-For;
Else
For &i = 1 To &int_RsCount
&rs_StdntEnrlV1.Select(Record.STDNT_ENRL_SSVW, "WHERE EMPLID=:1 AND
ACAD_CAREER=:2 AND INSTITUTION=:3 AND STRM=:4 AND CRSE_ID=:5 AND CRSE_OFFER_NBR=:6
AND SESSION_CODE=:7 AND ASSOCIATED_CLASS=:8 AND STDNT_ENRL_STATUS=:9", &recEmplId,
&recCar, &recInst, &recTerm, &rs_StdntEnrlV0(&i).STDNT_ENRL_SSV1.CRSE_ID.Value,
&rs_StdntEnrlV0(&i).STDNT_ENRL_SSV1.CRSE_OFFER_NBR.Value,
&rs_StdntEnrlV0(&i).STDNT_ENRL_SSV1.SESSION_CODE.Value,
&rs_StdntEnrlV0(&i).STDNT_ENRL_SSV1.ASSOCIATED_CLASS.Value,
&rs_StdntEnrlV0(&i).STDNT_ENRL_SSV1.STDNT_ENRL_STATUS.Value);
End-For;
End-If;

Local SSR_STUDENT_RECORDS:SR_ClassData:ClassInfo &obj_EnrlClassInfo = create


SSR_STUDENT_RECORDS:SR_ClassData:ClassInfo();
Local SSR_MANAGE_CLASSES:UTIL:MeetingDetails &oMeetingDetails = create
SSR_MANAGE_CLASSES:UTIL:MeetingDetails();
Local number &curr_ClassNbr;
Local string &sel_Name;
Local string &curr_CrseId, &prev_CrseId;
Local integer &GridRow;
Local string &sBgnCssConstructor, &sEndCssConstructor, &sStyleConstructor;
Local string &sClassStatDescr;

&curr_CrseId = "";
&prev_CrseId = "";
&GridRow = 0;

&oMeetingDetails.sInstitution = &recInst;
&oMeetingDetails.sAcademicCareer = &recCar;
&oMeetingDetails.sTerm = &recTerm;
&oMeetingDetails.Instantiate("DropClasses");

&sBgnCssConstructor = GetHTMLText(HTML.SSR_CSS_BGN_CONSTRUCTOR_FL);
&sStyleConstructor = "";

&rs_StdntEnrlV1.Sort(STDNT_ENRL_SSV1.SUBJECT, "A",
STDNT_ENRL_SSV1.CATALOG_NBR, "A", STDNT_ENRL_SSV1.CLASS_TYPE, "A",
STDNT_ENRL_SSV1.CLASS_SECTION, "A");

Local Row &row_StdntEnrlV1;

/* Enrolled Classes */
For &i = 1 To &rs_StdntEnrlV1.RowCount

&row_StdntEnrlV1 = &rs_StdntEnrlV1.GetRow(&i);

&rs_StdntEnrlV1(&i).DERIVED_REGFRM1.SSR_REF_ROW.Value = &i;

&curr_ClassNbr = &rs_StdntEnrlV1(&i).STDNT_ENRL_SSV1.CLASS_NBR.Value;
&curr_CrseId = &rs_StdntEnrlV1(&i).STDNT_ENRL_SSV1.CRSE_ID.Value;
&obj_EnrlClassInfo.LoadClassInfo(&recInst, &recTerm, &curr_ClassNbr);
&rs_StdntEnrlV1(&i).DERIVED_SSR_FL.SSR_CLASSNAME_LONG.Value =
&obj_EnrlClassInfo.Class_CompXlat | " " | &curr_ClassNbr;
&rs_StdntEnrlV1(&i).DERIVED_SSR_FL.SSR_DESCR80.Value =
&obj_EnrlClassInfo.Class_SubjCatNbr | " " | &obj_EnrlClassInfo.Class_Descr;

&rs_StdntEnrlV1(&i).DERIVED_SSR_FL.SSR_CLASSNAME_LONG.Label =
&rs_StdntEnrlV1(&i).DERIVED_SSR_FL.SSR_CLASSNAME_LONG.Value;

If %Component = Component.SSR_DROP_REVIEW_FL Then

&rs_StdntEnrlV1(&i).DERIVED_SSR_FL.SSR_CLASSNAME_LONG.AddFFClass("psa_color-
black");

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then

&rs_StdntEnrlV1(&i).DERIVED_SSR_FL.SSR_CLASSNAME_LONG.AddFFClass("psa_bold-
anchor");
End-If;
End-If;

&rs_StdntEnrlV1(&i).DERIVED_SSR_FL.SSR_UNITS_LBL.Value =
NumberToString("%6.2", &rs_StdntEnrlV1(&i).STDNT_ENRL_SSV1.UNT_TAKEN.Value);

&oMeetingDetails.LoadMeetingSchedule(&i, &curr_ClassNbr,
&row_StdntEnrlV1);

&rs_StdntEnrlV1(&i).DERIVED_SSR_FL.SSR_MORE_CLASS_FL.Label =
&oMeetingDetails.sMaxHasReachedMessage;
&rs_StdntEnrlV1(&i).DERIVED_SSR_FL.SSR_MORE_CLASS_FL.Visible =
&oMeetingDetails.IsMoreDetailsAvailable;

If &curr_CrseId = &prev_CrseId Then


&GridRow = &i - 1;
&sStyleConstructor = &sStyleConstructor |
GetHTMLText(HTML.SSR_MERGE_ROWS_LFF_FL, &GridRow);
End-If;

&prev_CrseId = &curr_CrseId;

If &rs_StdntEnrlV1(&i).STDNT_ENRL_SSV1.CLASS_TYPE.Value = "E" Then


&rs_StdntEnrlV1(&i).DERIVED_REGFRM1.SSR_SELECT.Visible = True;
&rs_StdntEnrlV1(&i).DERIVED_SSR_FL.SSR_SBJ_CAT_NBR.Visible = True;
&rs_StdntEnrlV1(&i).DERIVED_SSR_FL.SSR_DESCR80.Visible = True;
&rs_StdntEnrlV1(&i).DERIVED_REGFRM1.SSR_STATUS_LONG.Visible = True;

&rs_StdntEnrlV1(&i).DERIVED_REGFRM1.SSR_STATUS_LONG.Value =
&rs_StdntEnrlV1(&i).STDNT_ENRL_SSV1.STDNT_ENRL_STATUS.LongTranslateValue;

If &rs_SelectedClassesToDrop.ActiveRowCount > 1 Then


For &k = 1 To &rs_SelectedClassesToDrop.ActiveRowCount
If &rs_SelectedClassesToDrop(&k).SSR_CLS_SEL_WRK.CLASS_NBR.Value
= &curr_ClassNbr Then
&rs_StdntEnrlV1(&i).DERIVED_REGFRM1.SSR_SELECT.Value =
&rs_SelectedClassesToDrop(&k).SSR_CLS_SEL_WRK.SSR_SELECT.Value;
End-If;
End-For;
End-If;

Else
&rs_StdntEnrlV1(&i).DERIVED_REGFRM1.SSR_SELECT.Visible = False;
&rs_StdntEnrlV1(&i).DERIVED_SSR_FL.SSR_SBJ_CAT_NBR.Visible = False;
&rs_StdntEnrlV1(&i).DERIVED_SSR_FL.SSR_DESCR80.Visible = False;
&rs_StdntEnrlV1(&i).DERIVED_SSR_FL.SSR_UNITS_LBL.Visible = False;
&rs_StdntEnrlV1(&i).DERIVED_REGFRM1.SSR_STATUS_LONG.Visible = False;
End-If;

End-For;

&sEndCssConstructor = GetHTMLText(HTML.SSR_CSS_END_CONSTRUCTOR_FL);

SSR_REGFORM_WRK.HTMLAREA = &sBgnCssConstructor | &sStyleConstructor |


&sEndCssConstructor;

End-If;

end-method;
method LoadEnrlReqGrid_Drop_Sff
Local SSR_STUDENT_RECORDS:SR_ClassData:ClassInfo &obj_EnrlClassInfo = create
SSR_STUDENT_RECORDS:SR_ClassData:ClassInfo();
Local SSR_MANAGE_CLASSES:UTIL:MeetingDetails &oMeetingDetails = create
SSR_MANAGE_CLASSES:UTIL:MeetingDetails();
Local SSR_MANAGE_CLASSES:UTIL:Installation &utilMethods = create
SSR_MANAGE_CLASSES:UTIL:Installation();
Local boolean &bool_recSingleInst = &utilMethods.IsSingleInstitution();
Local boolean &bool_recMultiInst;
Local Rowset &rs_StdntEnrlV1, &rs_StdntEnrlV2;
Local integer &int_RsCount, &i, &j, &k, &GridRow;
Local Row &row_StdntEnrlV2;
Local number &curr_ClassNbr;
Local string &curr_CrseId, &prev_CrseId;
Local string &sBgnCssConstructor, &sEndCssConstructor, &sStyleConstructor;
Local string &sClassStatDescr;

If &bool_recSingleInst = True Then


&bool_recMultiInst = False;
Else
&bool_recMultiInst = True;
End-If;

INSTITUTION_TBL.DESCRFORMAL.Visible = &bool_recMultiInst;

&curr_CrseId = "";
&prev_CrseId = "";
&GridRow = 0;

&sBgnCssConstructor = GetHTMLText(HTML.SSR_CSS_BGN_CONSTRUCTOR_FL);
&sStyleConstructor = "";

&rs_StdntEnrlV1 = GetLevel0()(1).GetRowset(Scroll.STDNT_ENRL_SSV1);
&rs_StdntEnrlV1.Flush();

Local Grid &cls_grid;

&cls_grid = GetGrid(%Page, "STDNT_ENRL_SSV2");

DERIVED_SSR_FL.GROUPBOX.Visible = True;

If %Component = Component.SSR_DROP_REVIEW_FL Then


&cls_grid.GetColumn("P_SELECT1").Visible = False;
&cls_grid.GetColumn("P_SELECT_GBX1").Visible = False;
&cls_grid.GetColumn("P_CLASS_NAME1").Enabled = False;
&cls_grid.GetColumn("P_MORE_MTG_DTLS1").Visible = False;

DERIVED_SSR_FL.GROUPBOX.Visible = False;
End-If;

If %Component = Component.SSR_DROP_REVIEW_FL Then


For &i = 1 To &rs_SelectedClassesToDrop.ActiveRowCount
&rs_StdntEnrlV1.Select(Record.STDNT_ENRL_SSV1, "WHERE EMPLID=:1 AND
ACAD_CAREER=:2 AND INSTITUTION=:3 AND STRM=:4 AND ((STDNT_ENRL_STATUS='E' AND
ENRL_STATUS_REASON <> 'WDRW' AND ENRL_STATUS_REASON <> 'DROP') OR
STDNT_ENRL_STATUS='W') AND CRSE_ID=:5 AND CRSE_OFFER_NBR=:6 AND SESSION_CODE=:7 AND
ASSOCIATED_CLASS=:8 AND STDNT_ENRL_STATUS=:9", &recEmplId, &recCar, &recInst,
&recTerm, &rs_SelectedClassesToDrop(&i).SSR_CLS_SEL_WRK.CRSE_ID.Value,
&rs_SelectedClassesToDrop(&i).SSR_CLS_SEL_WRK.CRSE_OFFER_NBR.Value,
&rs_SelectedClassesToDrop(&i).SSR_CLS_SEL_WRK.SESSION_CODE.Value,
&rs_SelectedClassesToDrop(&i).SSR_CLS_SEL_WRK.ASSOCIATED_CLASS.Value,
&rs_SelectedClassesToDrop(&i).SSR_CLS_SEL_WRK.STDNT_ENRL_STATUS.Value);
End-For;
Else
&rs_StdntEnrlV1.Select(Record.STDNT_ENRL_SSV1, "WHERE EMPLID=:1 AND
ACAD_CAREER=:2 AND INSTITUTION=:3 AND STRM=:4 AND ((STDNT_ENRL_STATUS='E' AND
ENRL_STATUS_REASON <> 'WDRW' AND ENRL_STATUS_REASON <> 'DROP') OR
STDNT_ENRL_STATUS='W') AND CRSE_GRADE_INPUT=' '", &recEmplId, &recCar, &recInst,
&recTerm);
End-If;

/* sort grid display */


&rs_StdntEnrlV1.Sort(STDNT_ENRL_SSV1.SUBJECT, "A", STDNT_ENRL_SSV1.CATALOG_NBR,
"A", STDNT_ENRL_SSV1.CLASS_TYPE, "A", STDNT_ENRL_SSV1.CLASS_SECTION, "A");

&oMeetingDetails.sInstitution = &recInst;
&oMeetingDetails.sAcademicCareer = &recCar;
&oMeetingDetails.sTerm = &recTerm;
&oMeetingDetails.Instantiate("DropClasses");

For &i = 1 To &rs_StdntEnrlV1.ActiveRowCount

&obj_EnrlClassInfo.LoadClassInfo(&recInst, &recTerm,
&rs_StdntEnrlV1(&i).STDNT_ENRL_SSV1.CLASS_NBR.Value);
&rs_StdntEnrlV1(&i).DERIVED_SSR_FL.SSR_CLASSNAME_LONG.Value =
&obj_EnrlClassInfo.Class_SubjCatNbr | " - " | &obj_EnrlClassInfo.Class_Descr;

&rs_StdntEnrlV2 = &rs_StdntEnrlV1(&i).GetRowset(Scroll.STDNT_ENRL_SSV1);
&rs_StdntEnrlV2.Flush();

&int_RsCount = &rs_StdntEnrlV2.Select(Record.STDNT_ENRL_SSVW, "WHERE


EMPLID=:1 AND ACAD_CAREER=:2 AND INSTITUTION=:3 AND STRM=:4 AND CRSE_ID=:5 AND
CRSE_OFFER_NBR=:6 AND SESSION_CODE=:7 AND ASSOCIATED_CLASS=:8 AND
STDNT_ENRL_STATUS=:9", &recEmplId, &recCar, &recInst, &recTerm,
&rs_StdntEnrlV1(&i).STDNT_ENRL_SSV1.CRSE_ID.Value,
&rs_StdntEnrlV1(&i).STDNT_ENRL_SSV1.CRSE_OFFER_NBR.Value,
&rs_StdntEnrlV1(&i).STDNT_ENRL_SSV1.SESSION_CODE.Value,
&rs_StdntEnrlV1(&i).STDNT_ENRL_SSV1.ASSOCIATED_CLASS.Value,
&rs_StdntEnrlV1(&i).STDNT_ENRL_SSV1.STDNT_ENRL_STATUS.Value);

For &j = 1 To &rs_StdntEnrlV2.ActiveRowCount


&row_StdntEnrlV2 = &rs_StdntEnrlV2.GetRow(&j);

&rs_StdntEnrlV2(&j).DERIVED_REGFRM1.SSR_REF_ROW.Value = &j;

If %Component = Component.SSR_DROP_REVIEW_FL Then

&rs_StdntEnrlV2(&j).DERIVED_SSR_FL.SSR_CLASSNAME_LONG.AddFFClass("psa_color-black
psa_bold-anchor");

End-If;

&curr_ClassNbr = &rs_StdntEnrlV2(&j).STDNT_ENRL_SSV1.CLASS_NBR.Value;
&curr_CrseId = &rs_StdntEnrlV2(&j).STDNT_ENRL_SSV1.CRSE_ID.Value;

[SSR_MANAGE_CLASSES.UTIL.EditClasses.OnExecute]
import SSR_MANAGE_CLASSES:UTIL:Installation;
import SSR_STUDENT_RECORDS:SR_ClassData:ClassInfo;
import SSR_MANAGE_CLASSES:UTIL:MeetingDetails;
import
SSR_AG_EDIT_CLASSES_FL:PageletProcessingAdapter:PageletNavigationButtonAdapter;

class EditClasses
method EditClasses(&sStudentId As string, &sAcademicCareer As string,
&sInstitution As string, &sTerm As string);
method DeleteAGInstance(&sTemplateId As string);
method LoadEnrlReqGrid_Edit();
method LoadEnrlReqGrid_Edit_Sff();
private
instance string &recEmplId, &recPage, &gotopage, &recChangeTerm, &recInst,
&recCar, &recTerm;
instance date &recTermBeginDt;
end-class;

Global string &setId;


Global Rowset &rs_SelectedClassesToEdit;

method EditClasses
/+ &sStudentId as String, +/
/+ &sAcademicCareer as String, +/
/+ &sInstitution as String, +/
/+ &sTerm as String +/
&recEmplId = &sStudentId;
&recCar = &sAcademicCareer;
&recInst = &sInstitution;
&recTerm = &sTerm;

AddStyleSheet(StyleSheet.SSR_DROP_CLASSES_FL);

Local date &dTermBeginDt;

SQLExec("SELECT %DateOut(TERM_BEGIN_DT) FROM PS_TERM_TBL WHERE INSTITUTION=:1


AND ACAD_CAREER=:2 AND STRM=:3", &recInst, &recCar, &recTerm, &dTermBeginDt);
&recTermBeginDt = &dTermBeginDt;

end-method;

method LoadEnrlReqGrid_Edit
Local Grid &cls_grid;
Local Rowset &rs_StdntEnrlV1, &rs_StdntEnrlV0;
Local integer &int_RsCount, &i, &j, &k;

&cls_grid = GetGrid(%Page, "STDNT_ENRL_SSV1");

DERIVED_SSR_FL.GROUPBOX.Visible = True;

If %Component = Component.SSR_EDIT_REVIEW_FL Then


&cls_grid.GetColumn("P_SELECT").Visible = False;
&cls_grid.GetColumn("P_SELECT_GBX").Visible = False;
&cls_grid.GetColumn("P_CLASS_NAME").Enabled = False;
&cls_grid.GetColumn("P_MORE_MTG_DTLS").Visible = False;

DERIVED_SSR_FL.GROUPBOX.Visible = False;
End-If;
&rs_StdntEnrlV1 = GetRowset(Scroll.STDNT_ENRL_SSV1);
&rs_StdntEnrlV1.Flush();

&rs_StdntEnrlV0 = CreateRowset(Record.STDNT_ENRL_SSV1);
&rs_StdntEnrlV0.Flush();

&int_RsCount = 0;

If %Component = Component.SSR_EDIT_REVIEW_FL Then


If &rs_SelectedClassesToEdit.ActiveRowCount = 1 Then
&int_RsCount = 0;
Else
&int_RsCount = &rs_SelectedClassesToEdit.ActiveRowCount;
End-If;
Else
&int_RsCount = &rs_StdntEnrlV0.Fill("WHERE EMPLID=:1 AND ACAD_CAREER=:2 AND
INSTITUTION=:3 AND STRM=:4 AND ((STDNT_ENRL_STATUS='E' AND ENRL_STATUS_REASON <>
'WDRW' AND ENRL_STATUS_REASON <> 'DROP') OR STDNT_ENRL_STATUS='W') AND
CRSE_GRADE_INPUT=' '", &recEmplId, &recCar, &recInst, &recTerm);
End-If;

If &int_RsCount = 0 Then
&rs_StdntEnrlV1.HideAllRows();
If %Component = Component.SSR_EDIT_REVIEW_FL Then
DERIVED_SSR_FL.SSR_DROPPED.Visible = False;
End-If;
Else
&rs_StdntEnrlV1.ShowAllRows();

If %Component = Component.SSR_EDIT_REVIEW_FL Then


For &i = 1 To &int_RsCount
&rs_StdntEnrlV1.Select(Record.STDNT_ENRL_SSVW, "WHERE EMPLID=:1 AND
ACAD_CAREER=:2 AND INSTITUTION=:3 AND STRM=:4 AND CRSE_ID=:5 AND CRSE_OFFER_NBR=:6
AND SESSION_CODE=:7 AND ASSOCIATED_CLASS=:8 AND STDNT_ENRL_STATUS=:9", &recEmplId,
&recCar, &recInst, &recTerm,
&rs_SelectedClassesToEdit(&i).SSR_CLS_SEL_WRK.CRSE_ID.Value,
&rs_SelectedClassesToEdit(&i).SSR_CLS_SEL_WRK.CRSE_OFFER_NBR.Value,
&rs_SelectedClassesToEdit(&i).SSR_CLS_SEL_WRK.SESSION_CODE.Value,
&rs_SelectedClassesToEdit(&i).SSR_CLS_SEL_WRK.ASSOCIATED_CLASS.Value,
&rs_SelectedClassesToEdit(&i).SSR_CLS_SEL_WRK.STDNT_ENRL_STATUS.Value);
End-For;
Else
For &i = 1 To &int_RsCount
&rs_StdntEnrlV1.Select(Record.STDNT_ENRL_SSVW, "WHERE EMPLID=:1 AND
ACAD_CAREER=:2 AND INSTITUTION=:3 AND STRM=:4 AND CRSE_ID=:5 AND CRSE_OFFER_NBR=:6
AND SESSION_CODE=:7 AND ASSOCIATED_CLASS=:8 AND STDNT_ENRL_STATUS=:9", &recEmplId,
&recCar, &recInst, &recTerm, &rs_StdntEnrlV0(&i).STDNT_ENRL_SSV1.CRSE_ID.Value,
&rs_StdntEnrlV0(&i).STDNT_ENRL_SSV1.CRSE_OFFER_NBR.Value,
&rs_StdntEnrlV0(&i).STDNT_ENRL_SSV1.SESSION_CODE.Value,
&rs_StdntEnrlV0(&i).STDNT_ENRL_SSV1.ASSOCIATED_CLASS.Value,
&rs_StdntEnrlV0(&i).STDNT_ENRL_SSV1.STDNT_ENRL_STATUS.Value);
End-For;
End-If;

Local SSR_STUDENT_RECORDS:SR_ClassData:ClassInfo &obj_EnrlClassInfo = create


SSR_STUDENT_RECORDS:SR_ClassData:ClassInfo();
Local SSR_MANAGE_CLASSES:UTIL:MeetingDetails &oMeetingDetails = create
SSR_MANAGE_CLASSES:UTIL:MeetingDetails();
Local number &curr_ClassNbr;
Local string &sel_Name;
Local string &curr_CrseId, &prev_CrseId;
Local integer &GridRow;
Local string &sBgnCssConstructor, &sEndCssConstructor, &sStyleConstructor;
Local string &sClassStatDescr;

&curr_CrseId = "";
&prev_CrseId = "";
&GridRow = 0;

&oMeetingDetails.sInstitution = &recInst;
&oMeetingDetails.sAcademicCareer = &recCar;
&oMeetingDetails.sTerm = &recTerm;
&oMeetingDetails.Instantiate("EditClasses");

&sBgnCssConstructor = GetHTMLText(HTML.SSR_CSS_BGN_CONSTRUCTOR_FL);
&sStyleConstructor = "";

&rs_StdntEnrlV1.Sort(STDNT_ENRL_SSV1.SUBJECT, "A",
STDNT_ENRL_SSV1.CATALOG_NBR, "A", STDNT_ENRL_SSV1.CLASS_TYPE, "A",
STDNT_ENRL_SSV1.CLASS_SECTION, "A");

Local Row &row_StdntEnrlV1;

/* Enrolled Classes */
For &i = 1 To &rs_StdntEnrlV1.RowCount

&row_StdntEnrlV1 = &rs_StdntEnrlV1.GetRow(&i);

&rs_StdntEnrlV1(&i).DERIVED_REGFRM1.SSR_REF_ROW.Value = &i;

&curr_ClassNbr = &rs_StdntEnrlV1(&i).STDNT_ENRL_SSV1.CLASS_NBR.Value;
&curr_CrseId = &rs_StdntEnrlV1(&i).STDNT_ENRL_SSV1.CRSE_ID.Value;
&obj_EnrlClassInfo.LoadClassInfo(&recInst, &recTerm, &curr_ClassNbr);
&rs_StdntEnrlV1(&i).DERIVED_SSR_FL.SSR_CLASSNAME_LONG.Value =
&obj_EnrlClassInfo.Class_CompXlat | " " | &curr_ClassNbr;
&rs_StdntEnrlV1(&i).DERIVED_SSR_FL.SSR_DESCR80.Value =
&obj_EnrlClassInfo.Class_SubjCatNbr | " " | &obj_EnrlClassInfo.Class_Descr;

&rs_StdntEnrlV1(&i).DERIVED_SSR_FL.SSR_CLASSNAME_LONG.Label =
&rs_StdntEnrlV1(&i).DERIVED_SSR_FL.SSR_CLASSNAME_LONG.Value;

If %Component = Component.SSR_EDIT_REVIEW_FL Then

&rs_StdntEnrlV1(&i).DERIVED_SSR_FL.SSR_CLASSNAME_LONG.AddFFClass("psa_color-
black");

If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then

&rs_StdntEnrlV1(&i).DERIVED_SSR_FL.SSR_CLASSNAME_LONG.AddFFClass("psa_bold-
anchor");
End-If;
End-If;

&rs_StdntEnrlV1(&i).DERIVED_SSR_FL.SSR_UNITS_LBL.Value =
NumberToString("%6.2", &rs_StdntEnrlV1(&i).STDNT_ENRL_SSV1.UNT_TAKEN.Value);

&oMeetingDetails.LoadMeetingSchedule(&i, &curr_ClassNbr,
&row_StdntEnrlV1);
&rs_StdntEnrlV1(&i).DERIVED_SSR_FL.SSR_MORE_CLASS_FL.Label =
&oMeetingDetails.sMaxHasReachedMessage;
&rs_StdntEnrlV1(&i).DERIVED_SSR_FL.SSR_MORE_CLASS_FL.Visible =
&oMeetingDetails.IsMoreDetailsAvailable;

If &curr_CrseId = &prev_CrseId Then


&GridRow = &i - 1;
&sStyleConstructor = &sStyleConstructor |
GetHTMLText(HTML.SSR_MERGE_ROWS_LFF_FL, &GridRow);
End-If;

&prev_CrseId = &curr_CrseId;

If &rs_StdntEnrlV1(&i).STDNT_ENRL_SSV1.CLASS_TYPE.Value = "E" Then


&rs_StdntEnrlV1(&i).DERIVED_REGFRM1.SSR_SELECT.Visible = True;
&rs_StdntEnrlV1(&i).DERIVED_SSR_FL.SSR_SBJ_CAT_NBR.Visible = True;
&rs_StdntEnrlV1(&i).DERIVED_SSR_FL.SSR_DESCR80.Visible = True;
&rs_StdntEnrlV1(&i).DERIVED_REGFRM1.SSR_STATUS_LONG.Visible = True;

&rs_StdntEnrlV1(&i).DERIVED_REGFRM1.SSR_STATUS_LONG.Value =
&rs_StdntEnrlV1(&i).STDNT_ENRL_SSV1.STDNT_ENRL_STATUS.LongTranslateValue;

If &rs_SelectedClassesToEdit.ActiveRowCount > 1 Then


For &k = 1 To &rs_SelectedClassesToEdit.ActiveRowCount
If &rs_SelectedClassesToEdit(&k).SSR_CLS_SEL_WRK.CLASS_NBR.Value
= &curr_ClassNbr Then
&rs_StdntEnrlV1(&i).DERIVED_REGFRM1.SSR_SELECT.Value =
&rs_SelectedClassesToEdit(&k).SSR_CLS_SEL_WRK.SSR_SELECT.Value;
End-If;
End-For;
End-If;

Else
&rs_StdntEnrlV1(&i).DERIVED_REGFRM1.SSR_SELECT.Visible = False;
&rs_StdntEnrlV1(&i).DERIVED_SSR_FL.SSR_SBJ_CAT_NBR.Visible = False;
&rs_StdntEnrlV1(&i).DERIVED_SSR_FL.SSR_DESCR80.Visible = False;
&rs_StdntEnrlV1(&i).DERIVED_SSR_FL.SSR_UNITS_LBL.Visible = False;
&rs_StdntEnrlV1(&i).DERIVED_REGFRM1.SSR_STATUS_LONG.Visible = False;
End-If;

End-For;

&sEndCssConstructor = GetHTMLText(HTML.SSR_CSS_END_CONSTRUCTOR_FL);

SSR_REGFORM_WRK.HTMLAREA = &sBgnCssConstructor | &sStyleConstructor |


&sEndCssConstructor;

End-If;

end-method;

method LoadEnrlReqGrid_Edit_Sff
Local SSR_STUDENT_RECORDS:SR_ClassData:ClassInfo &obj_EnrlClassInfo = create
SSR_STUDENT_RECORDS:SR_ClassData:ClassInfo();
Local SSR_MANAGE_CLASSES:UTIL:MeetingDetails &oMeetingDetails = create
SSR_MANAGE_CLASSES:UTIL:MeetingDetails();
Local SSR_MANAGE_CLASSES:UTIL:Installation &utilMethods = create
SSR_MANAGE_CLASSES:UTIL:Installation();
Local boolean &bool_recSingleInst = &utilMethods.IsSingleInstitution();
Local boolean &bool_recMultiInst;
Local Rowset &rs_StdntEnrlV1, &rs_StdntEnrlV2;
Local integer &int_RsCount, &i, &j, &k, &GridRow;
Local Row &row_StdntEnrlV2;
Local number &curr_ClassNbr;
Local string &curr_CrseId, &prev_CrseId;
Local string &sBgnCssConstructor, &sEndCssConstructor, &sStyleConstructor;
Local string &sClassStatDescr;

If &bool_recSingleInst = True Then


&bool_recMultiInst = False;
Else
&bool_recMultiInst = True;
End-If;

INSTITUTION_TBL.DESCRFORMAL.Visible = &bool_recMultiInst;

&curr_CrseId = "";
&prev_CrseId = "";
&GridRow = 0;

&sBgnCssConstructor = GetHTMLText(HTML.SSR_CSS_BGN_CONSTRUCTOR_FL);
&sStyleConstructor = "";

&rs_StdntEnrlV1 = GetLevel0()(1).GetRowset(Scroll.STDNT_ENRL_SSV1);
&rs_StdntEnrlV1.Flush();

Local Grid &cls_grid;

&cls_grid = GetGrid(%Page, "STDNT_ENRL_SSV2");

DERIVED_SSR_FL.GROUPBOX.Visible = True;

If %Component = Component.SSR_EDIT_REVIEW_FL Then


&cls_grid.GetColumn("P_SELECT1").Visible = False;
&cls_grid.GetColumn("P_SELECT_GBX1").Visible = False;
&cls_grid.GetColumn("P_CLASS_NAME1").Enabled = False;
&cls_grid.GetColumn("P_MORE_MTG_DTLS1").Visible = False;

DERIVED_SSR_FL.GROUPBOX.Visible = False;
End-If;

If %Component = Component.SSR_EDIT_REVIEW_FL Then


For &i = 1 To &rs_SelectedClassesToEdit.ActiveRowCount
&rs_StdntEnrlV1.Select(Record.STDNT_ENRL_SSV1, "WHERE EMPLID=:1 AND
ACAD_CAREER=:2 AND INSTITUTION=:3 AND STRM=:4 AND ((STDNT_ENRL_STATUS='E' AND
ENRL_STATUS_REASON <> 'WDRW' AND ENRL_STATUS_REASON <> 'DROP') OR
STDNT_ENRL_STATUS='W') AND CRSE_ID=:5 AND CRSE_OFFER_NBR=:6 AND SESSION_CODE=:7 AND
ASSOCIATED_CLASS=:8 AND STDNT_ENRL_STATUS=:9", &recEmplId, &recCar, &recInst,
&recTerm, &rs_SelectedClassesToEdit(&i).SSR_CLS_SEL_WRK.CRSE_ID.Value,
&rs_SelectedClassesToEdit(&i).SSR_CLS_SEL_WRK.CRSE_OFFER_NBR.Value,
&rs_SelectedClassesToEdit(&i).SSR_CLS_SEL_WRK.SESSION_CODE.Value,
&rs_SelectedClassesToEdit(&i).SSR_CLS_SEL_WRK.ASSOCIATED_CLASS.Value,
&rs_SelectedClassesToEdit(&i).SSR_CLS_SEL_WRK.STDNT_ENRL_STATUS.Value);
End-For;
Else
&rs_StdntEnrlV1.Select(Record.STDNT_ENRL_SSV1, "WHERE EMPLID=:1 AND
ACAD_CAREER=:2 AND INSTITUTION=:3 AND STRM=:4 AND ((STDNT_ENRL_STATUS='E' AND
ENRL_STATUS_REASON <> 'WDRW' AND ENRL_STATUS_REASON <> 'DROP') OR
STDNT_ENRL_STATUS='W') AND CRSE_GRADE_INPUT=' '", &recEmplId, &recCar, &recInst,
&recTerm);
End-If;

/* sort grid display */


&rs_StdntEnrlV1.Sort(STDNT_ENRL_SSV1.SUBJECT, "A", STDNT_ENRL_SSV1.CATALOG_NBR,
"A", STDNT_ENRL_SSV1.CLASS_TYPE, "A", STDNT_ENRL_SSV1.CLASS_SECTION, "A");

&oMeetingDetails.sInstitution = &recInst;
&oMeetingDetails.sAcademicCareer = &recCar;
&oMeetingDetails.sTerm = &recTerm;
&oMeetingDetails.Instantiate("EditClasses");

For &i = 1 To &rs_StdntEnrlV1.ActiveRowCount

&obj_EnrlClassInfo.LoadClassInfo(&recInst, &recTerm,
&rs_StdntEnrlV1(&i).STDNT_ENRL_SSV1.CLASS_NBR.Value);
&rs_StdntEnrlV1(&i).DERIVED_SSR_FL.SSR_CLASSNAME_LONG.Value =
&obj_EnrlClassInfo.Class_SubjCatNbr | " - " | &obj_EnrlClassInfo.Class_Descr;

&rs_StdntEnrlV2 = &rs_StdntEnrlV1(&i).GetRowset(Scroll.STDNT_ENRL_SSV1);
&rs_StdntEnrlV2.Flush();

&int_RsCount = &rs_StdntEnrlV2.Select(Record.STDNT_ENRL_SSVW, "WHERE


EMPLID=:1 AND ACAD_CAREER=:2 AND INSTITUTION=:3 AND STRM=:4 AND CRSE_ID=:5 AND
CRSE_OFFER_NBR=:6 AND SESSION_CODE=:7 AND ASSOCIATED_CLASS=:8 AND
STDNT_ENRL_STATUS=:9", &recEmplId, &recCar, &recInst, &recTerm,
&rs_StdntEnrlV1(&i).STDNT_ENRL_SSV1.CRSE_ID.Value,
&rs_StdntEnrlV1(&i).STDNT_ENRL_SSV1.CRSE_OFFER_NBR.Value,
&rs_StdntEnrlV1(&i).STDNT_ENRL_SSV1.SESSION_CODE.Value,
&rs_StdntEnrlV1(&i).STDNT_ENRL_SSV1.ASSOCIATED_CLASS.Value,
&rs_StdntEnrlV1(&i).STDNT_ENRL_SSV1.STDNT_ENRL_STATUS.Value);

For &j = 1 To &rs_StdntEnrlV2.ActiveRowCount


&row_StdntEnrlV2 = &rs_StdntEnrlV2.GetRow(&j);

&rs_StdntEnrlV2(&j).DERIVED_REGFRM1.SSR_REF_ROW.Value = &j;

If %Component = Component.SSR_EDIT_REVIEW_FL Then

&rs_StdntEnrlV2(&j).DERIVED_SSR_FL.SSR_CLASSNAME_LONG.AddFFClass("psa_color-black
psa_bold-anchor");

End-If;

&curr_ClassNbr = &rs_StdntEnrlV2(&j).STDNT_ENRL_SSV1.CLASS_NBR.Value;
&curr_CrseId = &rs_StdntEnrlV2(&j).STDNT_ENRL_SSV1.CRSE_ID.Value;

[SSR_MANAGE_CLASSES.UTIL.MeetingDetails.OnExecute]
import SSR_MANAGE_CLASSES:UTIL:Formatter;
import SSR_MANAGE_CLASSES:UTIL:Instructor;

class MeetingDetails
method Instantiate(&sSource As string);
method LoadMeetingSchedule(&row_num As integer, &nClassNbr As number, &Row As
Row);
property string sInstitution;
property string sAcademicCareer;
property string sTerm;
property string sMaxHasReachedMessage;
property boolean IsMoreDetailsAvailable;
property integer iMaxSchedToDisplay;
private
instance string &recInst;
instance string &recCar;
instance string &recTerm;
instance date &recTermBeginDt;
instance boolean &patternend;
instance integer &iMaxRowsToDisplay;
instance string &roomdetails;
instance string &sTime;
instance string &sIsFrom;
end-class;

method Instantiate
/+ &sSource as String +/

&recInst = &sInstitution;
&recCar = &sAcademicCareer;
&recTerm = &sTerm;

AddJavaScript(HTML.SSR_MANAGE_CLASSES_JS);

Local date &dTermBeginDt;

SQLExec("SELECT %DateOut(TERM_BEGIN_DT) FROM PS_TERM_TBL WHERE INSTITUTION=:1


AND ACAD_CAREER=:2 AND STRM=:3", &recInst, &recCar, &recTerm, &dTermBeginDt);

&recTermBeginDt = &dTermBeginDt;

Local string &sSourceRecord;


Local Rowset &rsClsSchedOpt;
Local integer &j, &maxvalue, &cntClsSchedOpt;
Local string &descrmax;

/* Meeting Schedule Display Options */


Evaluate &sSource
When "ShopCart"
&sSourceRecord = Record.SSR_MNSHOPOP_FL;
When "DropClasses"
&sSourceRecord = Record.SSR_DROPCLOP_FL;
When "ClassSearch"
&sSourceRecord = Record.SSR_ENRLCLOP_FL;
When "EditClasses"
&sSourceRecord = Record.SSR_EDITCLOP_FL;
When "SwapClasses"
&sSourceRecord = Record.SSR_SWAPCLOP_FL;
End-Evaluate;

&sIsFrom = &sSource;

&rsClsSchedOpt = CreateRowset(@("Record." | &sSourceRecord));


&cntClsSchedOpt = &rsClsSchedOpt.Fill();
For &j = 1 To &cntClsSchedOpt
If %Request.BrowserDeviceFormFactor = %FormFactor_Small Then
If &rsClsSchedOpt(&j).GetRecord(@("Record." |
&sSourceRecord)).SSR_FRMFACTYP_FL.Value = "SF" Then
&maxvalue = &rsClsSchedOpt(&j).GetRecord(@("Record." |
&sSourceRecord)).SSR_RANGE_MAX.Value;
&descrmax = &rsClsSchedOpt(&j).GetRecord(@("Record." |
&sSourceRecord)).SSR_DESCR80.Value;
Break;
End-If;
Else
If &rsClsSchedOpt(&j).GetRecord(@("Record." |
&sSourceRecord)).SSR_FRMFACTYP_FL.Value = "LF" Then
&maxvalue = &rsClsSchedOpt(&j).GetRecord(@("Record." |
&sSourceRecord)).SSR_RANGE_MAX.Value;
&descrmax = &rsClsSchedOpt(&j).GetRecord(@("Record." |
&sSourceRecord)).SSR_DESCR80.Value;
Break;
End-If;
End-If;
End-For;

If None(&maxvalue) Then
&maxvalue = 10;
End-If;

If None(&descrmax) Then
&descrmax = MsgGetText(14770, 1005, "Message Not Found"); /* More schedule
details available */
End-If;

&iMaxSchedToDisplay = &maxvalue;
&sMaxHasReachedMessage = &descrmax;
&iMaxRowsToDisplay = &maxvalue;

end-method;

method LoadMeetingSchedule
/+ &row_num as Integer, +/
/+ &nClassNbr as Number, +/
/+ &Row as Row +/
Local integer &cntpattern, &i, &j, &cntClsSchedOpt;
Local string &meetingpat;
Local Rowset &rsmeetpattern;

If %Component = Component.SSR_ENRL_SELECT_FL Or
%Component = Component.SSR_ENRL_SUBMIT_FL Or
%Component = Component.SSR_SWAP_CONFRM_FL Or
%Component = Component.SSR_EDIT_REVIEW_FL Then

&Row.SSR_MTG_PAT_WRK.SSR_ST_END_DT1.Visible = False;
&Row.SSR_MTG_PAT_WRK.SSR_ST_END_DT2.Visible = False;
&Row.SSR_MTG_PAT_WRK.SSR_ST_END_DT3.Visible = False;
&Row.SSR_MTG_PAT_WRK.SSR_ST_END_DT4.Visible = False;
&Row.SSR_MTG_PAT_WRK.SSR_ST_END_DT5.Visible = False;
&Row.SSR_MTG_PAT_WRK.SSR_ST_END_DT6.Visible = False;
&Row.SSR_MTG_PAT_WRK.SSR_ST_END_DT7.Visible = False;
&Row.SSR_MTG_PAT_WRK.SSR_ST_END_DT8.Visible = False;
&Row.SSR_MTG_PAT_WRK.SSR_ST_END_DT9.Visible = False;
&Row.SSR_MTG_PAT_WRK.SSR_ST_END_DT10.Visible = False;
End-If;

&Row.SSR_MTG_PAT_WRK.SSR_MTG_SCHED1.Visible = False;
&Row.SSR_MTG_PAT_WRK.SSR_MTG_SCHED2.Visible = False;
&Row.SSR_MTG_PAT_WRK.SSR_MTG_SCHED3.Visible = False;
&Row.SSR_MTG_PAT_WRK.SSR_MTG_SCHED4.Visible = False;
&Row.SSR_MTG_PAT_WRK.SSR_MTG_SCHED5.Visible = False;
&Row.SSR_MTG_PAT_WRK.SSR_MTG_SCHED6.Visible = False;
&Row.SSR_MTG_PAT_WRK.SSR_MTG_SCHED7.Visible = False;
&Row.SSR_MTG_PAT_WRK.SSR_MTG_SCHED8.Visible = False;
&Row.SSR_MTG_PAT_WRK.SSR_MTG_SCHED9.Visible = False;
&Row.SSR_MTG_PAT_WRK.SSR_MTG_SCHED10.Visible = False;

&Row.SSR_MTG_PAT_WRK.SSR_DAYSTIMES1.Visible = False;
&Row.SSR_MTG_PAT_WRK.SSR_DAYSTIMES2.Visible = False;
&Row.SSR_MTG_PAT_WRK.SSR_DAYSTIMES3.Visible = False;
&Row.SSR_MTG_PAT_WRK.SSR_DAYSTIMES4.Visible = False;
&Row.SSR_MTG_PAT_WRK.SSR_DAYSTIMES5.Visible = False;
&Row.SSR_MTG_PAT_WRK.SSR_DAYSTIMES6.Visible = False;
&Row.SSR_MTG_PAT_WRK.SSR_DAYSTIMES7.Visible = False;
&Row.SSR_MTG_PAT_WRK.SSR_DAYSTIMES8.Visible = False;
&Row.SSR_MTG_PAT_WRK.SSR_DAYSTIMES9.Visible = False;
&Row.SSR_MTG_PAT_WRK.SSR_DAYSTIMES10.Visible = False;

&Row.SSR_MTG_PAT_WRK.SSR_ROOM1.Visible = False;
&Row.SSR_MTG_PAT_WRK.SSR_ROOM2.Visible = False;
&Row.SSR_MTG_PAT_WRK.SSR_ROOM3.Visible = False;
&Row.SSR_MTG_PAT_WRK.SSR_ROOM4.Visible = False;
&Row.SSR_MTG_PAT_WRK.SSR_ROOM5.Visible = False;
&Row.SSR_MTG_PAT_WRK.SSR_ROOM6.Visible = False;
&Row.SSR_MTG_PAT_WRK.SSR_ROOM7.Visible = False;
&Row.SSR_MTG_PAT_WRK.SSR_ROOM8.Visible = False;
&Row.SSR_MTG_PAT_WRK.SSR_ROOM9.Visible = False;
&Row.SSR_MTG_PAT_WRK.SSR_ROOM10.Visible = False;

&Row.SSR_MTG_PAT_WRK.SSR_INSTRUCTOR1.Visible = False;
&Row.SSR_MTG_PAT_WRK.SSR_INSTRUCTOR2.Visible = False;
&Row.SSR_MTG_PAT_WRK.SSR_INSTRUCTOR3.Visible = False;
&Row.SSR_MTG_PAT_WRK.SSR_INSTRUCTOR4.Visible = False;
&Row.SSR_MTG_PAT_WRK.SSR_INSTRUCTOR5.Visible = False;
&Row.SSR_MTG_PAT_WRK.SSR_INSTRUCTOR6.Visible = False;
&Row.SSR_MTG_PAT_WRK.SSR_INSTRUCTOR7.Visible = False;
&Row.SSR_MTG_PAT_WRK.SSR_INSTRUCTOR8.Visible = False;
&Row.SSR_MTG_PAT_WRK.SSR_INSTRUCTOR9.Visible = False;
&Row.SSR_MTG_PAT_WRK.SSR_INSTRUCTOR10.Visible = False;

&rsmeetpattern = CreateRowset(Record.SSR_MTG_PAT_VW);
&cntpattern = &rsmeetpattern.Fill("WHERE STRM = :1 AND CLASS_NBR =:2", &recTerm,
&nClassNbr);

Local SSR_MANAGE_CLASSES:UTIL:Formatter &oFormatter = create


SSR_MANAGE_CLASSES:UTIL:Formatter();

If &cntpattern > 0 Then

Local SSR_MANAGE_CLASSES:UTIL:Instructor &oInstructor = create


SSR_MANAGE_CLASSES:UTIL:Instructor();
&patternend = False;

Local string &sMon =


&rsmeetpattern(&cntpattern).SSR_MTG_PAT_VW.MON.GetLongLabel("MON");
Local string &sTues =
&rsmeetpattern(&cntpattern).SSR_MTG_PAT_VW.TUES.GetLongLabel("TUES");
Local string &sWed =
&rsmeetpattern(&cntpattern).SSR_MTG_PAT_VW.WED.GetLongLabel("WED");
Local string &sThurs =
&rsmeetpattern(&cntpattern).SSR_MTG_PAT_VW.THURS.GetLongLabel("THURS");
Local string &sFri =
&rsmeetpattern(&cntpattern).SSR_MTG_PAT_VW.FRI.GetLongLabel("FRI");
Local string &sSat =
&rsmeetpattern(&cntpattern).SSR_MTG_PAT_VW.SAT.GetLongLabel("SAT");
Local string &sSun =
&rsmeetpattern(&cntpattern).SSR_MTG_PAT_VW.SUN.GetLongLabel("SUN");

&roomdetails = "";

Local string &curr_StartEndDates, &prev_StartEndDates, &MeetingStartEndDates;

&curr_StartEndDates = "";
&prev_StartEndDates = "";
&MeetingStartEndDates = "";

For &i = 1 To &cntpattern


If &i <= &iMaxRowsToDisplay Then
If %Page = Page.SSR_CLS_PREF_SCF Then
If &Row.SSR_CLS_PREF_WK.SSR_TIME_CONFLICT.Value = "Y" Then
&Row.SSR_CLS_PREF_WK.SSR_MTG_SCHED_L.Label = MsgGetText(14770,
716, "Message not found.");
&Row.SSR_CLS_PREF_WK.SSR_MUL_MTG_LNK.Label = MsgGetText(14770,
800, "Message not found.");
&Row.SSR_CLS_PREF_WK.SSR_MUL_MTG_LNK.LabelImage =
Image.PS_WARN_S_FL;
&patternend = False;
Break;
Else
&Row.SSR_CLS_PREF_WK.SSR_MTG_SCHED_L.Visible = False;
&Row.SSR_CLS_PREF_WK.SSR_MUL_MTG_LNK.Visible = False;
End-If;
End-If;

If %Component = Component.SSR_ENRL_SELECT_FL Or
%Component = Component.SSR_ENRL_SUBMIT_FL Or
%Component = Component.SSR_SWAP_CONFRM_FL Or
%Component = Component.SSR_EDIT_REVIEW_FL Then
/* Start/End Dates */
&Row.SSR_MTG_PAT_WRK.GetField(@("Field." | Field.SSR_ST_END_DT |
&i)).Visible = True;
&Row.SSR_MTG_PAT_WRK.GetField(@("Field." | Field.SSR_ST_END_DT |
&i)).Label = MsgGetText(14770, 538, "Message not found.");

&curr_StartEndDates =
&oFormatter.FormatDate(&rsmeetpattern(&i).SSR_MTG_PAT_VW.START_DT.Value) | " - " |
&oFormatter.FormatDate(&rsmeetpattern(&i).SSR_MTG_PAT_VW.END_DT.Value);

&Row.SSR_MTG_PAT_WRK.GetField(@("Field." | Field.SSR_ST_END_DT |
&i)).Value = &curr_StartEndDates;

&prev_StartEndDates = &curr_StartEndDates;

End-If;

Local string &sday = "";


Local boolean &bConscDaysBrkn = False;
Local integer &iConscDaysCtr = 0;
Local string &sFirstDay = " ";
Local string &sLastDay = " ";
Local string &sPrevDay = " ";

If &rsmeetpattern(&i).SSR_MTG_PAT_VW.MON.Value Then
&sday = &sday |
&rsmeetpattern(&i).SSR_MTG_PAT_VW.MON.GetLongLabel("MON") | " ";
&sFirstDay = &sMon;
&sPrevDay = &sMon;
&iConscDaysCtr = &iConscDaysCtr + 1;
End-If;

If &rsmeetpattern(&i).SSR_MTG_PAT_VW.TUES.Value Then
&sday = &sday |
&rsmeetpattern(&i).SSR_MTG_PAT_VW.TUES.GetLongLabel("TUES") | " ";
If &sPrevDay = &sMon Then
&iConscDaysCtr = &iConscDaysCtr + 1;
&sLastDay = &sTues;
Else
&iConscDaysCtr = 1;
&sFirstDay = &sTues;
&sLastDay = " ";
End-If;
&sPrevDay = &sTues;
End-If;

If &rsmeetpattern(&i).SSR_MTG_PAT_VW.WED.Value Then
&sday = &sday |
&rsmeetpattern(&i).SSR_MTG_PAT_VW.WED.GetLongLabel("WED") | " ";
If &sPrevDay = &sTues Then
&iConscDaysCtr = &iConscDaysCtr + 1;
&sLastDay = &sWed;
Else
If &iConscDaysCtr <> 0 Then
&bConscDaysBrkn = True;
Else
&iConscDaysCtr = 1;
&sFirstDay = &sWed;
&sLastDay = " ";
End-If;
End-If;
&sPrevDay = &sWed;
End-If;

If &rsmeetpattern(&i).SSR_MTG_PAT_VW.THURS.Value Then
&sday = &sday |
&rsmeetpattern(&i).SSR_MTG_PAT_VW.THURS.GetLongLabel("THURS") | " ";
If Not &bConscDaysBrkn Then
If &sPrevDay = &sWed Then
&iConscDaysCtr = &iConscDaysCtr + 1;
&sLastDay = &sThurs;
Else
If &iConscDaysCtr <> 0 Then
&bConscDaysBrkn = True;
Else
&iConscDaysCtr = 1;
&sFirstDay = &sThurs;
&sLastDay = " ";
End-If;
End-If;
&sPrevDay = &sThurs;
End-If;
End-If;

If &rsmeetpattern(&i).SSR_MTG_PAT_VW.FRI.Value Then
&sday = &sday |
&rsmeetpattern(&i).SSR_MTG_PAT_VW.FRI.GetLongLabel("FRI") | " ";
If Not &bConscDaysBrkn Then
If &sPrevDay = &sThurs Then
&iConscDaysCtr = &iConscDaysCtr + 1;
&sLastDay = &sFri;
Else
If &iConscDaysCtr <> 0 Then
&bConscDaysBrkn = True;
Else
&iConscDaysCtr = 0;
&sFirstDay = " ";
&sLastDay = " ";
End-If;
End-If;
&sPrevDay = &sFri;
End-If;
End-If;

If &rsmeetpattern(&i).SSR_MTG_PAT_VW.SAT.Value Then
&sday = &sday |
&rsmeetpattern(&i).SSR_MTG_PAT_VW.SAT.GetLongLabel("SAT") | " ";
If Not &bConscDaysBrkn Then
If &sPrevDay = &sFri Then
&iConscDaysCtr = &iConscDaysCtr + 1;
&sLastDay = &sSat;
Else
If &iConscDaysCtr <> 0 Then
&bConscDaysBrkn = True;
Else
&iConscDaysCtr = 0;
&sFirstDay = " ";
&sLastDay = " ";
End-If;
End-If;
&sPrevDay = &sSat;
End-If;
End-If;

If &rsmeetpattern(&i).SSR_MTG_PAT_VW.SUN.Value Then
&sday = &sday |
&rsmeetpattern(&i).SSR_MTG_PAT_VW.SUN.GetLongLabel("SUN") | " ";
If Not &bConscDaysBrkn Then
If &sPrevDay = &sSat Then
&iConscDaysCtr = &iConscDaysCtr + 1;
&sLastDay = &sSun;
Else
If &iConscDaysCtr <> 0 Then

[SSR_MANAGE_CLASSES.UTIL.Navigation.OnExecute]
class Navigation
method ResetToHomepage();
end-class;

method ResetToHomepage
/* If user clicks on any left panel tabs while they are in deeper levels of */
/* Swap Classes or Class Search Enroll, reset back button to homepage */
If %Request.BrowserDeviceFormFactor <> %FormFactor_Small Then
AddJavaScript(HTML.SSR_MANAGE_CLASSES_JS);
AddOnLoadScript("goBackToHomepage()");
End-If;
end-method;

Das könnte Ihnen auch gefallen