upd852830_codechanges

Document Sample
upd852830_codechanges Powered By Docstoc
					Project: PRJ852830
          Platform        Default
          Database        hc900ts1
          Version 85
          Description     UPD852830
          Comments
                  UPD852830



Records
  AFI_DATA_ESP
  AFI_RC_EE_ESP
  AFI_RC_OTH_ESP
  BEN_DEFN_PLAN
  CNT_JOB_BRA_VW
  CONTRCT_DTA_BRA
  CONTRCT_DTA_BRA        EMPLID
  CONTRCT_DTA_BRA        EMPL_RCD
  DERIVED_HR_BRA
  DERIVED_HR_ESP
  EE_PHONES_ESPVW
  EP_J_CAT_ITEM_I
  EP_J_UPD_SUB
  FSA_PAYMT_TAO
  HEALTH_PROV_BRA
  HPROV_BRA_LNG
  HRS_APP_WRK_EXP
  HRS_HIRECZ_LVW
  HRS_HIREHON_LVW
  HRS_HIRELIC_LVW
  HRS_HIREMBR_LVW
  HRS_HIREPRF_LVW
  HRS_HIRESCH_LVW
  HRS_HIREVSA_LVW
  HRS_HIREWRK_LVW
  HRS_HIRE_CZ_PPT
  HRS_HIRE_HON_VW
  HRS_HIRE_LIC_VW
  HRS_HIRE_MBR_VW
  HRS_HIRE_PRF_VW
  HRS_HIRE_SCHL
  HRS_HIRE_TRAIN
  HRS_HIRE_VSA_DA
  HRS_HIRE_WK_EXP
  PA_CLC_EMP_VW
  PA_CLC_TMP_SRCH
  PA_JOB_DATA_EMP
  PA_RA_PERS_SRCH
  SAL_GRADE_VW2
  WF_TERM_VW
  XML_ATTRIBUTES
  XML_DEFN_SRCH
  XML_MAPPING
  XML_MEMBRS
   XML_XLATITEM



Fields
   ACTION_DT_SS TERMDATE2
   AFI_PRINT_FLG_ESP
   AFI_PRINT_FLG_ESP  PRINT_FLG
   AGRO_EMPLMNT_ESP
   CHECK_PRNT_RES_ESP
   CHECK_PRNT_RES_ESP CHECK_PRNT_RES_ESP
   HPROV_ANS_CD_BRA
   HPROV_CD_BRA
   HPROV_CNPJ_BRA
   REMOVE_PHONE_ESP
   RIGHTS_LOST_ESP



Translate Values
   AFI_EE_STATUS_ESP (1900-01-01)    51
   AFI_EE_STATUS_ESP (1900-01-01)    53
   AFI_EE_STATUS_ESP (1900-01-01)    85
   AFI_PRINT_FLG_ESP (1900-01-01)    C
   AFI_PRINT_FLG_ESP (1900-01-01)    I
   AFI_PRINT_FLG_ESP (1900-01-01)    N
   AFI_PRINT_FLG_ESP (1900-01-01)    S
   AFI_SS_ACTION_ESP (1900-01-01)    CTA
   AFI_SS_ACTION_ESP (1900-01-01)    CTP
   AFI_SS_ACTION_ESP (1900-01-01)    IDC
   CHECK_PRNT_RES_ESP (1900-01-01)   C
   CHECK_PRNT_RES_ESP (1900-01-01)   I
   CHECK_PRNT_RES_ESP (1900-01-01)   N
   CHECK_PRNT_RES_ESP (1900-01-01)   S
   LABOR_RLTNSHIP_ESP (1900-01-01)   9918
   RIGHTS_LOST_ESP (1900-01-01)      01
   RIGHTS_LOST_ESP (1900-01-01)      08
   TRN_T_SCHEDULE_ESP (1900-01-01)   T
   TRN_T_SCHEDULE_ESP (2000-01-01)   T
   UNEMPLYMNT_CND_ESP (1900-01-01)   B
   WOMAN_HRD_AFTR_ESP (1900-01-01)   3
   WOMAN_HRD_AFTR_ESP (1900-01-01)   4


Pages
   AFI_DATA_ESP_SEC
   AFI_RC_1_ESP
   AFI_RC_2_ESP
   CONTRCT_DTA_BRA
   EP_TMPL_DEFN5
   HEALTH_PROV_BRA
   HRS_CE_S_EDU_SBP
   HRS_CE_S_HON_SBP
   HRS_CE_S_LANG_SBP
   HRS_CE_S_LIC_SBP
   HRS_CE_S_MEM_SBP
   HR_EE_TERMINATE
   JOBCD_COMP_RATE
   TRN_T_ACT_PLAN_ESP
   TRN_T_CRTE_XML_ESP
   TRN_T_EMPL_DAT_ESP
   TRN_T_FACILITY_TBL
   TRN_T_INTE_MTH_ESP
   TRN_T_LDIS_MTH_ESP
   WF_EE_TERMINATE
   WF_SS_STAGED


Menus
   SETUP_HRMS


Components
   CTPR_CREATEXML_ESP (GBL)
   HEALTH_PROV_BRA (GBL)
   TRN_T_ACTN_GRP_ESP (GBL)
   TRN_T_FAC_DATA_ESP (GBL)
   TRN_T_SIMU_CRD_ESP (GBL)


PeopleCode (Record)
   ADDRESSES.LASTUPDDTTM.SavePreChange
   CNT_JOB_BRA_VW.EMPLID.SavePreChange
   CONTRCT_DTA_BRA.CONTRCT_BGN_DT_BRA.FieldEdit
   CONTRCT_DTA_BRA.CONTRCT_BGN_DT_BRA.RowInit
   CONTRCT_DTA_BRA.CONTRCT_BGN_DT_BRA.SaveEdit
   CONTRCT_DTA_BRA.CONTRCT_CLAUSE_BRA.RowInit
   CONTRCT_DTA_BRA.CONTRCT_END_DT_BRA.FieldEdit
   DERIVED2_HR_BRA.DURATION_BRA.FieldEdit
   DERIVED_HCR_PER.SEARCH_MATCH_LINK.FieldChange
   DERIVED_HR_BRA.CONTRACT_BEGIN_DT.RowInit
   DERIVED_HR_BRA.CONTRACT_BEGIN_DT.SaveEdit
   DERIVED_HR_BRA.CONTRACT_BEGIN_DT.SavePreChange
   DERIVED_HR_BRA.CONTRACT_END_DT.RowInit
   DERIVED_HR_BRA.CONTRACT_END_DT.SaveEdit
   DERIVED_HR_BRA.DURATION_BRA.FieldEdit
   DERIVED_HR_BRA.DURATION_TYPE.FieldEdit
   DERIVED_HR_HOST.BEGIN_DT.SaveEdit
   DIVERS_ETHNIC.EMPLID.RowDelete
   DIVERS_ETHNIC.EMPLID.SavePreChange
   DIVERS_RELIGION.EMPLID.RowDelete
   DIVERS_RELIGION.EMPLID.SavePreChange
   EMAIL_ADDRESSES.EMPLID.RowDelete
   EMAIL_ADDRESSES.EMPLID.SavePreChange
   ESTAB_SSEC_ESP.ESTABID.SaveEdit
   FSA_CLAIM.FSA_CLAIM_SUB_DT.SaveEdit
   FUNCLIB_CO.SS_SALCHANGE.FieldFormula
   FUNCLIB_HR.NATIONAL_ID.FieldFormula
   FUNCLIB_HR.SAL_ADMIN_PLAN.FieldFormula
   FUNCLIB_HR.UPDATE_INCUMBENTS.FieldFormula
   FUNCLIB_HR_CMP.CMP_RULE_ID.FieldFormula
   FUNCLIB_HR_CMP.COMP_RATE_TYPE.FieldFormula
FUNCLIB_HR_ESP.AFI_SS_ACTION_ESP.FieldFormula
FUNCLIB_HR_ITA.NATIONAL_ID.FieldFormula
GPMY_SOC_PYE.GPMY_MMBRSHIP_NBR.SaveEdit
HRS_ADD_WRK.NID_SPECIAL_CHAR.FieldChange
HRS_EDU_SBR.GRADUATE_INDICATOR.SaveEdit
HRS_EXT_TRN_WRK.SUBMIT_PB.FieldChange
HRS_HRE_INT_WRK.VALIDATE.FieldChange
HR_SSEECMPH_WRK.SRCH_BTN.FieldChange
JOB_DATES_SBR.EXPECTED_END_DATE.FieldEdit
JOB_LBR_GBL_SBR.BARG_UNIT.FieldChange
JOB_LBR_GBL_SBR.EMPL_CTG.FieldChange
JOB_LBR_GBL_SBR.LABOR_AGREEMENT.FieldChange
NAMES.LASTUPDDTTM.SavePreChange
NATIONALITY_GER.EMPLID.RowDelete
NATIONALITY_GER.EMPLID.SavePreChange
PERSONAL_PHONE.EMPLID.RowDelete
PERSONAL_PHONE.EMPLID.SavePreChange
PERSON_BRA.EMPLID.SavePreChange
PERSON_FRA.EMPLID.SavePreChange
PERS_DATA_BRA.EMPLID.RowDelete
PERS_DATA_BRA.EMPLID.SavePreChange
PERS_DATA_CAN.EMPLID.RowDelete
PERS_DATA_CAN.EMPLID.SavePreChange
PERS_DATA_CHE.EMPLID.RowDelete
PERS_DATA_CHE.EMPLID.SavePreChange
PERS_DATA_DEU.EMPLID.RowDelete
PERS_DATA_DEU.EMPLID.SavePreChange
PERS_DATA_EFFDT.LASTUPDDTTM.RowDelete
PERS_DATA_EFFDT.LASTUPDDTTM.SavePreChange
PERS_DATA_ESP.EMPLID.RowDelete
PERS_DATA_ESP.EMPLID.SavePreChange
PERS_DATA_FPS.EMPLID.RowDelete
PERS_DATA_FPS.EMPLID.SavePreChange
PERS_DATA_FRA.EMPLID.RowDelete
PERS_DATA_FRA.EMPLID.SavePreChange
PERS_DATA_IND.EMPLID.RowDelete
PERS_DATA_IND.EMPLID.SavePreChange
PERS_DATA_ITA.EMPLID.RowDelete
PERS_DATA_ITA.EMPLID.SavePreChange
PERS_DATA_JPN.EMPLID.RowDelete
PERS_DATA_JPN.EMPLID.SavePreChange
PERS_DATA_MEX.EMPLID.RowDelete
PERS_DATA_MEX.EMPLID.SavePreChange
PERS_DATA_USA.EMPLID.RowDelete
PERS_DATA_USA.EMPLID.SavePreChange
PERS_HUKOU_CHN.EMPLID.RowDelete
PERS_HUKOU_CHN.EMPLID.SavePreChange
PERS_NID.EMPLID.RowDelete
PERS_NID.EMPLID.SavePreChange
PERS_SMOKER.EMPLID.RowDelete
PERS_SMOKER.EMPLID.SavePreChange
PERS_WRKLIF_CHN.EMPLID.SavePreChange
PERS_WRKLV_CHN.EMPLID.RowDelete
PERS_WRKLV_CHN.EMPLID.SavePreChange
PLACE_ORIG_CHE.EMPLID.RowDelete
PLACE_ORIG_CHE.EMPLID.SavePreChange
POSITION_DATA.STEP.SaveEdit
Message Catalog Entries
   Human Resources - ITA    6545, 5
   Human Resources - ESP    6550, 168
   Human Resources - BRA    6566, 130



SQL
   BN_BEN500_AEJBFLGUPDStep001   S   ApplEng
   BN_BEN500_AEJBHIGACTStep01    S   ApplEng
   BN_BEN500_AEJBLOWACTStep01    S   ApplEng
   BN_BEN500_AEMULTJOBSStep080   S   ApplEng
   BN_BEN500_AEMULTJOBSStep095   S   ApplEng
   BN_BEN500_AEMULTJOBSStep110   S   ApplEng
   BN_FSA001_AECLM-PYMTStep020   S   ApplEng
   BN_FSA001_AECLM-PYMTStep030   H   ApplEng
   BN_FSA001_AEMAIN    Step180   D   ApplEng
   BN_FSA001_AEMAIN    Step181   D   ApplEng
   BN_FSA001_AEMIN-CHCKStep028   S   ApplEng
   BN_FSA001_AEMIN-CHCKStep030   S   ApplEng
   BN_FSA001_AEPAY-CLM Step015   S   ApplEng
   BN_FSA002_AECLM-PYMTStep020   S   ApplEng
   CNT_JOB_BRA_VW      View
   EE_PHONES_ESPVW     View
   EP_APPR_HIREDT_SEL Normal
   EP_J_CAT_ITEM_I     View
   EP_J_UPD_SUB View
   HRS_HIRECZ_LVW      View
   HRS_HIREHON_LVW     View
   HRS_HIRELIC_LVW     View
   HRS_HIREMBR_LVW     View
   HRS_HIREPRF_LVW     View
   HRS_HIRESCH_LVW     View
   HRS_HIREVSA_LVW     View
   HRS_HIREWRK_LVW     View
   HRS_HIRE_CZ_PPT     View
   HRS_HIRE_HON_VW     View
   HRS_HIRE_LIC_VW     View
   HRS_HIRE_MBR_VW     View
   HRS_HIRE_PRF_VW     View
   HRS_HIRE_SCHL       View
   HRS_HIRE_TRAIN      View
   HRS_HIRE_VSA_DA     View
   HRS_HIRE_WK_EXP     View
   PA_CLC_EMP_VW       View
   PA_CLC_TMP_SRCH     View
   PA_JOB_DATA_EMP     View
   PA_RA_PERS_SRCH     View
   SAL_GRADE_VW2       View
   TL_TA001000 TA001010Step50    S   ApplEng
   WF_TERM_VW    View
   XML_DEFN_SRCH       View
Appl Engine (Section)
   BN_BEN500_AE   INS-TURN
   BN_BEN500_AE   JBACTVER
   BN_BEN500_AE   JBFLGUPD
   BN_BEN500_AE   JBHIGACT
   BN_BEN500_AE   JBLOWACT
   BN_BEN500_AE   MULTJOBS
   BN_FSA001_AE   CLM-PYMT
   BN_FSA001_AE   MAIN
   BN_FSA001_AE   MIN-CHCK
   BN_FSA001_AE   PAY-CLM


PeopleCode (ApplEng)
   BN_BEN500_AE.INS-TURNGBLdefault 1900-01-01.Step010.OnExecute
   BN_BEN500_AE.INS-TURNGBLdefault 1900-01-01.Step020.OnExecute
   BN_BEN500_AE.JBACTVERGBLdefault 1900-01-01.Step01.OnExecute
   BN_BEN500_AE.JBACTVERGBLdefault 1900-01-01.Step02.OnExecute
   BN_BEN500_AE.JBFLGUPDGBLdefault 1900-01-01.Step001.OnExecute
   BN_BEN500_AE.MULTJOBSGBLdefault 1900-01-01.Step140.OnExecute
   BN_FSA001_AE.MIN-CHCKGBLdefault 1900-01-01.Step028.OnExecute
   BN_FSA001_AE.PAY-CLM GBLdefault 1900-01-01.Step015.OnExecute
   HR_CMP015.UPD_JOB GBLdefault 1900-01-01.CALL_CI.OnExecute
   SOCS_AFI_ESP.MAIN    GBLdefault 1900-01-01.Step02.OnExecute



PeopleCode (Page)
   EP_CREATE_EE_RSLTS.Activate



PeopleCode (Component)
   CTPR_CREATEXML_ESP(GBL).PreBuild
   CTTA_CREATEXML_ESP(GBL).PreBuild
   DLT_CREATE_XML_ESP(GBL).PreBuild
   EP_APPR_MAIN(GBL).SavePostChange
   HRS_ADD_APPLICANT(GBL).SavePreChange
   HRS_CE(GBL).SavePreChange
   TRN_T_CRTE_XML_ESP(GBL).PreBuild



PeopleCode (CompRecord)
   ADDL_INFO_BRA(GBL).CONTRACT_DATA.SaveEdit
   ADDL_INFO_BRA(GBL).FUNCLIB_HR.RowInit
   AFI_RC_ESP(GBL).AFI_RC_OTH_ESP.RowInit
   CTPR_CREATEXML_ESP(GBL).XML_DEFN.SearchInit
   CTPR_CREATEXML_ESP(GBL).XML_DEFN_SRCH.SearchInit
   CTTA_CREATEXML_ESP(GBL).XML_DEFN_SRCH.SearchInit
   DLT_CREATE_XML_ESP(GBL).XML_DEFN_SRCH.SearchInit
   HRS_APP_PROFILE(GBL).HRS_APP_WRK_EXP.RowInsert
   HRS_APP_PROFILE(GBL).HRS_APP_WRK_EXP.SavePreChange
   HRS_CE(GBL).HRS_APP_WRK_EXP.RowInsert
   HRS_CE(GBL).HRS_APP_WRK_EXP.SavePreChange
   HRS_DUPE_REVIEW(GBL).HRS_DUPE_PERSON.RowInit
   HRS_DUPE_REVIEW(GBL).HRS_DUPE_VW.RowInit
   PERSONAL_DATA(GBL).PERSON.SaveEdit
   TRN_T_CRTE_XML_ESP(GBL).XML_DEFN_SRCH.SearchInit



PeopleCode (CompRecFld)
   ADDL_INFO_BRA(GBL).CONTRACT_DATA.CONTRACT_BEGIN_DT FieldEdit
   ADDL_INFO_BRA(GBL).CONTRACT_DATA.CONTRACT_END_DT    FieldEdit
   AFI_RC_ESP(GBL).DERIVED_HR_ESP.CHECK_PRNT_RES_ESPFieldChange
   EP_CREATEAPPR_EE(GBL).EP_BTN_LINK_WRK.EP_CREATE_PB        FieldChange
   EP_CREATEAPPR_MGR(GBL).EP_BTN_LINK_WRK.EP_CREATE_PB        FieldChange
   HRS_CE(GBL).HRS_CE_LNK_WRK.HRS_ADD_SEC_EDU    FieldChange
   HRS_CE(GBL).HRS_CE_LNK_WRK.HRS_ADD_SEC_EDU_MRFieldChange
   HRS_CE(GBL).HRS_CE_WRK2.HRS_CE_VW_APPL1    FieldChange
   HRS_DUPE_REVIEW(GBL).HRS_DUPE_PERSON.HRS_DUPE_REL       FieldChange
   HRS_DUPE_REVIEW(GBL).HRS_DUPE_VW.HRS_DUPE_REL       FieldChange
   PERSONAL_DATA(GBL).DERIVED_HR.NID_SPECIAL_CHAR FieldDefault
   TL_SRCH_APPRV_GRP(GBL).DERIVED_ETEO.SAVE_PB            FieldChange


Permission Lists
   HCCPHR2010
   HCCPHR2040
   HCCPHR20ES
   HCCPHR30BR



Portal Registry Structure
   EMPLOYEE      C,   HC_ACCIDENT_ARG_GBL
   EMPLOYEE      C,   HC_ACTIVITY_ARG_GBL
   EMPLOYEE      C,   HC_CONDITION_ARG_GBL
   EMPLOYEE      C,   HC_EMPSIT_ARG_GBL
   EMPLOYEE      C,   HC_HEALTH_PROV_BRA_GBL
   EMPLOYEE      C,   HC_HIREMOD_ARG_GBL
   EMPLOYEE      C,   HC_SOC_SEC_ARG_GBL
   EMPLOYEE      C,   HC_TRN_T_EMP_DATA_ESP_GBL
   EMPLOYEE      C,   HC_TRN_T_FAC_DATA_ESP_GBL
   EMPLOYEE      C,   HC_TRN_T_TRI_DATA_ESP_GBL


Application Packages
   HRTMPL:TBH


PeopleCode (Appl Package)
   BN_RATES:RateUIMgmt:BenefitRateUIMgr.OnExecute
   EP_FUNCTIONS:AppraisalCreation.OnExecute
   HRS_APPLICANT_TRACKING:HRS_APP_RCMNT:BUS:Controller.OnExecute
   HRS_APPLICANT_TRACKING:HRS_INTERVIEWS:BUS:ScheduleInterview.OnExecute
   HRS_CANDIDATE_MANAGER:CMP_CAND_EXP:BUS:Apply.OnExecute
   HRS_CANDIDATE_MANAGER:CMP_CAND_EXP:UI:PageValidate.OnExecute
   HRS_CANDIDATE_MANAGER:CMP_DUPE_PRCS:UI:HRS_DUPE_REVIEW.OnExecute
   HRS_CANDIDATE_MANAGER:CMP_LOGON:BUS:LogonMgr.OnExecute
    HRS_HROI_HRXML:Mapping:Outgoing:PositionOpeningMap.OnExecute
    HRS_JOB_OPENING_MANAGER:COMMON:TYPES:JOLocAreaType.OnExecute
    HRS_JOB_OPENING_MANAGER:COMMON:TYPES:JOLocType.OnExecute
    HRS_JOB_OPENING_MANAGER:OBJ_HRS_JO_MISC:BUS:JOMisc.OnExecute
    HRTMPL:TBH:hrTbhValidateBirthDate.OnExecute
    HR_HIRE:UI:JobComponentController.OnExecute
    HR_TBH_COMPONENT:hrTbhService.OnExecute
    WORKFORCE_SYNC:Copy_SubstantiveJob.OnExecute



File References
    EP862372_01_DAT
    EP862372_01_DMS
    HR861254_01_DMS
    HR862179_01_DAT
    HR862179_01_DMS
    HR862355_01_DAT
    HR862355_01_DMS
    HR862711_01_DMS
    PAPCOPTF_CBL
    PAT06B_SQR
    PSPBAELG_CBL
    PSPDARRY_CBL
    PSPDCCAL_CBL
    PSPDCOMP_CBL
    PSPDCOVG_CBL
    PSPDEDTN_CBL
    RS854761_01_DMS
    RS854761_02_DMS



Object Type: 69 ?
    COBOL, , ,
    DATA, , ,
    SCRIPTS, , ,
    SQR, , ,




Record Detail
Record: AFI_DATA_ESP
             Description    AFI Data for Employees
             Record Type    SQL Table
             Parent Record
             Related Language
             DDL Space Name HRAPP7.PSHRDMOR
             Owner ID       Human Resources
             Comments       AFI Data for Employees

         FieldName         Type        Len   Key   Srch Req Edit Prompt          C Default
         EMPLID            Char   11         KA             Prmt EMPLMT_SRCH_GBL
         EMPL_RCD          Num    3          KA
         EFFDT             Date   10         KD                                   %date
         EFFSEQ            Num    3          KA
         AFI_SS_ACTION_ESP    Char   3                    Xlat
         SOC_SEC_RISK_CODE    Char   3                    Prmt %EDITTABLE12
         SCHEME_ID_ESP        Char   4                                            '0111'
         SOC_SEC_WRK_GRP_CD   Char   2                    Prmt WRK_GRP_ESP_VW
         REG_REGION           Char   5                                            'ESP'
         CONTRACT_TYPE        Char   3                    Prmt PERS_CNTRCT_TYP
         AFI_EE_STATUS_ESP    Char   2                    Xlat
         UNEMPLYMNT_CND_ESP   Char   1                    Xlat
         WOMAN_SBRPRSNT_ESP   Char   1                    Y/N
         PART_TIME_PERC_ESP   Num    3
         INACTIVITY_TYP_ESP   Char   1                    Xlat
         PART_STRK_ACT_ESP    Char   3
         WOMAN_HRD_AFTR_ESP   Char   1                    Xlat
         RE_JOIN_DSB_EE_ESP   Char   1                    Y/N
         FIRST_SELFWRKR_ESP   Char   1                    Y/N
         SOC_EXCLUSION_ESP    Char   1                    Xlat                    '0'
         ACTIVE_RENT_ESP      Char   1                    Y/N
         PART_SUBROGTN_ESP    Char   1                    Y/N
         LABOR_RLTNSHIP_ESP   Char   4                    Xlat
         SUSBTIT_EMPLID_ESP   Char   11                   Prmt PERS_SRCH_GBL
         SUSBTIT_REASON_ESP   Char   2                    Xlat
         MATERNTY_2YRS_ESP    Char   1                    Y/N
         AFI_NODE_STATS_ESP   Char   1                    Xlat
         AFI_FILE_NAME_ESP    Char   20
         TIME_STAMP_ESP       DT     26
         AFI_REPORTBY_ESP     Char   1                    Xlat                    '0'
         AFI_DATASOURCE_ESP   Char   1                    Xlat                    '0'
         AFI_ASA_TYPE_ESP     Char   3                    Xlat
         BGN_DT               Date   10
         END_DT               Date   10
         VACN_NOT_TAKEN_ESP   Num    2
         RELV_CONTRCT_ESP     Char   1                    Y/N                     'N'
         CONTRACT_BEGIN_DT    Date   10
         VACN_END_DT_ESP      Date   10
         AFI_DISBL_TYPE_ESP   Char   1                    Xlat
         LEGAL_CUSTODY_ESP    Char   3                    Xlat                    '000'
         COMPANY              Char   3                    Prmt COMPANY_TBL
         DEPTID               Char   10                   Prmt SOCS_ALL_DEP_VW
         SSN_EMPLOYER         Char   13                   Prmt SOCS_ALL_CCC_VW
         AFI_WORK_DAYS_ESP    Num    3
         JOB_CHANGE_RSN_ESP   Char   2                    Xlat
         SOCS_LBR_AGRMT_ESP   Char   7                    Prmt SOCS_AGRMNT_ESP
         FULL_PART_TIME       Char   1                    Xlat
         FAMILY_BOND_ESP      Char   1                    Xlat
         RIGHTS_LOST_ESP      Char   2                    Xlat
         AGRO_EMPLMNT_ESP     Char   1                    Y/N
         PHONE                Char   24                   Prmt EE_PHONES_ESPVW
         REMOVE_PHONE_ESP     Char   1                    Y/N                      'N'




Record: AFI_RC_EE_ESP
             Description    AFI RC Action Employee
             Record Type    SQL Table
             Parent Record
             Related Language
             DDL Space Name HRAPP1.PSHRDMOH
             Owner ID       Human Resources
             Comments       AFI RC Regular Action Employee

         FieldName            Type     Len   Key Srch Req Edit Prompt            C Default
         OPRID                Char   30      KALS
         RUN_CNTL_ID          Char   30      KALS
         EMPLID               Char   11      KA           Prmt PERS_SRCH_GBL
         EMPL_RCD             Num    3       KA
         ACTION_DT            Date   10      KD
         AFI_SS_ACTION_ESP    Char   3       KA           Xlat
         EFFSEQ               Num    3                                            '0'
         AFI_EE_STATUS_ESP    Char   2                    Xlat
         SSN_EMPLOYER         Char   13
        COMPANY              Char 3
        AFI_PRINT_FLG_ESP    Char 1                      Xlat                      'N'




Record: AFI_RC_OTH_ESP
            Description    AFI RC Special Action Employee
            Record Type    SQL Table
            Parent Record
            Related Language
            DDL Space Name HRAPP1.PSHRDMOH
            Owner ID       HR Spain
            Comments       AFI RC Special Action Employee

        FieldName            Type     Len   Key Srch Req Edit Prompt              C Default
        OPRID                Char   30      KA
        RUN_CNTL_ID          Char   30      KALS
        EMPLID               Char   11      KA           Prmt PERS_SRCH_GBL
        EMPL_RCD             Num    3       KA
        AFI_SS_ACTION_ESP    Char   3       KA           Xlat
        ACTION_DT            Date   10
        END_DT               Date   10
        AFI_PRINT_FLG_ESP    Char   1                    Xlat                      'N'




Record: BEN_DEFN_PLAN
            Description    Benefit Plan-type Definition
            Record Type    SQL Table
            Parent Record BEN_DEFN_PGM
            Related Language
            DDL Space Name BNAPP.PSHRDMOB
            Owner ID       Base Benefits
            Comments       BEN_DEFN_PLAN is a record that defines the plan types for each benef
                   it program and is used for processing in Payroll and Benefit Adminis
                   tration. For Benefit Administration, it contains information on eac
                   h plan type such as the display plan sequence, event rules ID, etc.

        FieldName            Type     Len   Key Srch Req Edit Prompt          C Default
        BENEFIT_PROGRAM      Char   3       KALS     Req Prmt BEN_DEFN_PGM
        EFFDT                Date   10      KDLS     Req
        PLAN_TYPE            Char   2       KAL      Req Prmt BN_PLAN_TYPE_VW
        DISPLAY_PLN_SEQ      Char   2
        MIN_ANNUAL_CONTRIB   Num    4.2
        MAX_ANNUAL_CONTRIB   Num    8.2
        WAIVE_COVERAGE       Char   1                    Xlat                      'N'
        RESTRICT_ENTRY_MM    Num    2
        EVENT_RULES_ID       Char   4                    Prmt   BAS_EVENT_RULES
        COBRA_PLAN           Char   1                    Y/N                       'N'
        HIPAA_PLAN           Char   1                    Y/N
        COLLECT_DEPBEN       Char   1                    Y/N                       'Y'
        COLLECT_FUNDS        Char   1                    Y/N                       'Y'
        SHOW_PLAN_TYPE       Char   1                    Y/N                       'Y'
        HANDBOOK_URL_ID      Char   30                   Prmt   PSURLDEFN
        DEP_RULE_ID          Char   5       KALS         Prmt   DEP_RULE_TBL
        DEP_RULE_ID          Char   5                    Prmt   DEP_RULE_TBL




Record: CNT_JOB_BRA_VW
            Description    Contract Data Search
            Record Type    SQL View
            Parent Record
            Related Language
            Build Seq      2
            Owner ID       HR Brazil
            Comments
                   CNT_DTA_BRA_VW is an Contract Data and Employment Search record.
        FieldName            Type     Len   Key Srch Req Edit Prompt          C Default
        EMPLID               Char   11      KALS     Req Prmt EMPLMT_SRCH_GBL
        EMPL_RCD             Num    3       KAL
        CONTRACT_NUM         Char   25      KALS     Req
        CONTRACT_BEGIN_DT    Date   10        L
        CONTRACT_END_DT      Date   10        L
        CONTRACT_STATUS      Char   1         L          Xlat
        REG_REGION           Char   5




Record: CONTRCT_DTA_BRA
            Description    Contract Information BRA
            Record Type    SQL Table
            Parent Record CNT_JOB_BRA_VW CONTRACT_DATA
            Related Language
            DDL Space Name HRAPP6.PSHRDMOH
            Owner ID       HR Brazil
            Comments       Additional Contract Information Brazil

        FieldName            Type     Len   Key Srch Req Edit Prompt          C Default
        EMPLID               Char   11      KA       Req
        EMPLID               Char   11      KA       Req Prmt EMPLMT_SRCH_GBL
        EMPL_RCD             Num    3       KA
        CONTRACT_NUM         Char   25      KALS     Req Prmt CONTRACT_DATA
        CONTRCT_BGN_DT_BRA   Date   10
        CONTRCT_END_DT_BRA   Date   10
        CONTRCT_CLAUSE_BRA   Char   1                 Req Y/N                   'N'




Record: DERIVED_HR_BRA
            Description    Derived HR Brazil
            Record Type    Derived/Work
            Parent Record
            Related Language
            Owner ID       Human Resources
            Comments       Derived HR Brazil

        FieldName            Type     Len   Key   Srch Req Edit Prompt        C Default
        BLOOD_TYPE           Char   3                  Req Xlat                 'U'
        PER_ORG              Char   3                      Xlat
        CALCULATE_BUTTON     Char   1
        NATIONAL_ID          Char   20
        SHOW_INJUR_BTN_BRA   Char   1
        ADDL_INFO_BRA        Char   1
        COUNTRY_CD           Char   3
        BANK_CD              Char   11
        COMPANY              Char   3
        ESTABID              Char   12
        DURATION_TYPE        Char   1                      Xlat                 'D'
        DURATION_BRA         Num    3
        HR_VIS_DAT_BRA_LNK   Char   1
        CONTRACT_BEGIN_DT    Date   10       L                                  %Date
        CONTRACT_END_DT      Date   10       L




Record: DERIVED_HR_ESP
            Description    Derived Table
            Record Type    Derived/Work
            Parent Record
            Related Language
            Owner ID       HR Spain
            Comments       Derived Table

        FieldName            Type    Len    Key   Srch Req Edit Prompt        C Default
CTTA_FILTERBY_ESP    Char   1            Xlat                     'N'
SELECT_BTN_ESP       Char   1
UNSELECT_BTN_ESP     Char   1
SRCH_BTN             Char   1
VALIDATE_BTN         Char   1
GENERATE_BTN_ESP     Char   1
DETAIL_BTN           Char   1
DETAIL_BTN2          Char   1
SELECT_BTN           Char   1            Y/N
XML_LOAD_BTN         Char   1
FIELDVALUE           Char   4
XML_FIELDVALUE       Char   13           Xlat
XML_XLAT_VALUE       Char   13
IMAGE_FIELD          ImgR   <?>
FLD1_FIELDVALUE      Char   30           Prmt %EDITTABLE2
FLD2_FIELDVALUE      Char   30           Prmt %EDITTABLE3
DESCR1               Char   30
DESCR2               Char   30
HTMLAREA             Long
XML_PREVIEW_BTN      Long
DLT_GPBX_LBL_ESP     Char   1
DLT_GPBX_LBL2_ESP    Char   1
DLT_PAT1_ESP_PB      Char   1
DLT_GET_SENRTY_ESP   Char   1
DLT_GET_GP_ESP       Char   1
DLT_GET_STAFF_ESP    Char   1
DLT_PAT3_ESP_PB      Char   1
DLT_PAT2_ESP_PB      Char   1
DLT_RAF1_ESP_PB      Char   1
DLT_RATSB_ESP_PB     Char   1
PTACELOADBTN         Char   1
SEARCH_BUTTON        Char   1
SYSTEM_DATE          Date   10
CONFIRMED            Char   1            Y/N
COUNTRY              Char   3
OVERTIME_LBL         Char   1            Y/N                      'N'
PER_ORG              Char   3            Xlat
INSUR_COMP_CD_ESP    Char   5            Prmt INSUR_COMP_ESP
XML_GPBX_LBL_ESP     Char   1
XML_GPBX_LBL2_ESP    Char   1
XML_GPBX_LBL3_ESP    Char   1
REQUIRED_FIELD       Char   1            Y/N
COMPANY              Char   3            Prmt COMPANY_TBL
SSN_EMPLOYER         Char   13           Prmt GPES_SS_WC_VW
HR_XML_LABEL         Char   1
HR_LBL_GRPBOX_01     Char   1
HS_INC_LOCADDR_BTN   Char   1
CONFIRM_BTN_ESP      Char   1
UNCONFIRM_BTN_ESP    Char   1
ENTRY_DATE           Date   10
AFI_FILTERBY_ESP     Char   1            Xlat                     'N'
CLEAR_ALL_PB         Char   1
HR_LBL_GRPBOX_02     Char   1
HR_LBL_GRPBOX_03     Char   1
HR_LBL_GRPBOX_04     Char   1
HR_LBL_GRPBOX_05     Char   1
KEY1_FLD_VAL         Char   50           Prmt   XML_VALUES_DVW
KEY2_FLD_VAL         Char   50           Prmt   XML_VALUES2_DVW
KEY3_FLD_VAL         Char   50           Prmt   XML_VALUES3_DVW
XML_NODE_NM          Char   50           Prmt   XML_NAMES_DVW
XMLFILE_ID           Char   20    KALS   Prmt   XML_DEFN
CLONE_FLAG           Char   1            Y/N
REFRESH_BTN_1        Char   1
REFRESH_BTN_2        Char   1
REFRESH_BTN_3        Char   1
SHOW_BTN_1           Char   1
SHOW_BTN_2           Char   1
SHOW_BTN_3           Char   1
XML_FILTERBY         Char   1            Xlat                     '0'
DESCR50              Char   50
DESCR50_HR1          Char   50
         TRN_T_CRED1_ESP      Sign   13.2
         CHECK_PRNT_RES_ESP   Char   1                     Xlat                   'N'
         TRN_T_CRED2_ESP      Sign   13.2
         TRN_T_CRED3_ESP      Sign   13.2
         TRN_T_RED_CST_ESP    Num    13.2
         TRN_T_TRNG_CST_ESP   Sign   13.2
         TRN_T_PRVT_CST_ESP   Sign   13.2
         TRN_T_BNS_AMNT_ESP   Sign   13.2
         USE_GP_DATA_ESP      Char   1                     Y/N
         DURATION_CONVERTED   Num    4.1
         CALCULATE_BTN        Char   1
         TRN_T_AMOUNT_ESP     Sign   13.2
         XML_NODE_ID          Char   6                    Prmt XML_NODE_TBL
         TRN_T_ACTION_ESP     Char   5       AAL      Req Prmt TRN_T_ACT_ESP
         TRN_T_GROUP_ESP      Char   5       AAL      Req Prmt TRN_T_GRP_VWESP
         HR_LBL_GRPBOX_06     Char   1
         HR_LBL_GRPBOX_07     Char   1
         PRINT_BTN_ESP        Char   1
         PRINT2_BTN_ESP       Char   1
         FILE_EXT_ESP         Char   1
         FILE_NAME            Char   80
         EXT_DURATION_ESP     Char   3

         Extend Field Info    SetCtrlField         Label                PageControl   Audit
         DESCR50_HR1                               CNAE




Record: EE_PHONES_ESPVW
             Description    Employee Phone View ESP
             Record Type    SQL View
             Parent Record
             Related Language
             Build Seq      1
             Owner ID       HR Spain
             Comments
                    This view displays the employee telephone numbers.

         FieldName            Type   Len     Key Srch Req Edit Prompt            C Default
         EMPLID               Char 11        KA
         PHONE                Char 24        KALS
         PHONE_TYPE           Char 4           L          Xlat




Record: EP_J_CAT_ITEM_I
             Description    Catalog Items: Item Map
             Record Type    SQL View
             Parent Record
             Related Language      EP_J_CAT_IT_L_I
             Build Seq      2
             Owner ID       ePerformance Management
             Comments       ePerformance Interface view for JPM Catalog Items. Used to map the
                    fields in the JPM Catalog Item record to the fields used as ePerform
                    ance Items.

         FieldName            Type     Len   Key Srch Req Edit Prompt            C Default
         EP_J_ITEM_CAT_TYPE   Char   12      KALS     Req
         EP_ITEM_ID           Char   12      KALS     Req
         EFFDT                Date   10      KD       Req                         %date
         EFF_STATUS           Char   1                Req Xlat                    'A'
         EP_TITLE             Char   60      AAL
         RATING_MODEL         Char   4
         EP_ITEM_DUE_DT       Date   10
         EP_ITEM_REMIND_DT    Date   10
         EP_DESCR254          Long
         EP_MEASURE           Long
Record: EP_J_UPD_SUB
             Description    Document Item
             Record Type    SQL View
             Parent Record EP_APPR_SECTION
             Related Language
             Build Seq      1
             Owner ID       ePerformance Management
             Comments       ePerformance table used to store Evaluation Item information.

         FieldName            Type     Len   Key Srch Req Edit Prompt          C Default
         EP_APPRAISAL_ID      Num    8       KALS     Req Prmt EP_APPR
         EP_ROLE              Char   8       KALS     Req Prmt EP_ROLE_TBL
         EP_REVIEWER_ID       Char   11      KALS     Req Prmt EP_REVWR_ID_VW
         EP_SECTION_TYPE      Char   8       KA       Req Prmt EP_SECTION_DEFN
         EP_ITEM_ID           Char   12      KA           Prmt %EDITTABLE
         EP_SUB_ID            Char   12      KA           Prmt %EDITTABLE
         PERIOD_END_DT        Date   10      AAL      Req
         EP_J_ITEM_CAT_TYPE   Char   12                   Prmt EP_J_CAT_T_IT_I
         EP_J_SUB_CAT_TYPE    Char   12                   Prmt EP_J_CAT_T_SB_I
         EP_J_UPD_JP_TYPE     Char   12                   Prmt EP_J_JP_PERS_I
         EP_J_UPD_CAT_QUAL    Char   12                   Prmt EP_J_QUAL_VW
         RATING_MODEL         Char   4                    Prmt RATING_MDL_TBL
         REVIEW_RATING        Char   1                    Prmt REVW_RATING_TBL




Record: FSA_PAYMT_TAO
             Description    EE FSA Check Payments
             Record Type    Temporal
             Parent Record
             Related Language
             DDL Space Name BNAPP.PSHRDMOB
             Owner ID       FSA Administration
             Comments       FSA_PAYMENT is a record used to track the multiple claims paid per c
                    heck under FSA Administration which cross-references check ID benefi
                    t plan and amount. It is updated by the FSA001 process.

                     Warning! For technical reasons, this record's schema contains the fi
                     eld EMPL_RCD. This is not logically or functionally accurate. With
                     in the context of FSA Claims payments, EMPL_RCD must be interpreted
                     as an alias for BENEFIT_RCD_NBR. All benefit enrollment-related rec
                     ords are logically keyed by BENEFIT_RCD_NBR, so here EMPL_RCD actual
                     ly contains the value of the appropriate BENEFIT_RCD_NBR. It is CRI
                     TICAL that all joins, comparisons, and updates to this field be agai
                     nst BENEFIT_RCD_NBR. Thus a typical driving join for benefit enroll
                     ment is PS_PER_ORG_ASGN.BENEFIT_RCD_NBR = PS_FSA_BENEFIT.EMPL_RCD.
                     The security and search views used in Base Benefits perform this "ma
                     pping" internally.

         FieldName            Type     Len   Key Srch Req Edit Prompt          C Default
         PROCESS_INSTANCE     Num    10      KA
         EMPLID               Char   11      KA
         EMPL_RCD             Num    3       KA
         CHECK_DT             Date   10      KALS     Req
         FORM_ID              Char   6       KALS     Req Prmt PAY_FORM_TBL
         CALENDAR_YEAR        Num    4       KA
         PLAN_TYPE            Char   2       KA           Xlat
         BENEFIT_PLAN         Char   6       KA
         BENEFIT_PROGRAM      Char   3       KA
         CLAIMID              Char   8       KA
         FSA_PAYMENT_STATUS   Char   1                    Xlat
         PGM_FLOW_CNTL        Char   1
         FSA_CHECK_AMT        Num    6.2
         FSA_RUN_ID           Char   3
Record: HEALTH_PROV_BRA
            Description    Health Providers Brazil
            Record Type    SQL Table
            Parent Record
            Related Language      HPROV_BRA_LNG
            DDL Space Name HRAPP6.PSHRDMOH
            Owner ID       Human Resources
            Comments       Health Providers Brazil

        FieldName          Type     Len   Key Srch Req Edit Prompt       C Default
        HPROV_CD_BRA       Char   10      KALS     Req
        EFFDT              Date   10      KDLS     Req                     %date
        DESCR              Char   30      AAL      Req
        EFF_STATUS         Char   1                Req Xlat                'A'
        DESCRSHORT         Char   10               Req
        HPROV_CNPJ_BRA     Char   14               Req
        HPROV_ANS_CD_BRA   Char   6                Req




Record: HPROV_BRA_LNG
            Description    Health Provider Table Language
            Record Type    SQL Table
            Parent Record
            Related Language
            DDL Space Name HRAPP6.PSHRDMOH
            Owner ID       Human Resources
            Comments       Health Provider Table Language

        FieldName          Type     Len   Key Srch Req Edit Prompt       C Default
        HPROV_CD_BRA       Char   10      KALS     Req
        EFFDT              Date   10      KD       Req                     %date
        LANGUAGE_CD        Char   3       KA       Req Xlat
        DESCR              Char   30      AAL      Req
        DESCRSHORT         Char   10               Req




Record: HRS_APP_WRK_EXP
            Description    App Prior Work Experience
            Record Type    SQL Table
            Parent Record HRS_APP_PROFILE
            Related Language       HRS_APP_PWE_LNG
            DDL Space Name HRAPP1.PSHRDMOH
            Owner ID       RS Applicant Manager
            Comments       Use PRIORWORK_EXPER to record an applicant's prior job experiences -
                   - employers, locations, dates worked, type of position, and pay rate.

        FieldName          Type   Len Key Srch Req Edit Prompt          C Default
        HRS_PERSON_ID      Num 15      KALS
        HRS_PROFILE_SEQ    Num 3       KALS
        START_DT           Date 10     KD      Req
        SEQUENCE_NBR       Num 2       KA
        SEQUENCE_NBR       Num 2       KA                                 '1'
        EMPLOYER           Char 30             Req
        COUNTRY            Char 3                  Prmt HRS_COUNTRY_VW
        PHONE_SBR          SRec
        END_DT             Date 10
        ENDING_TITLE       Char 30             Req
        ENDING_RATE        Num 15.3                                     Y Curr: CURRENCY_CD
        PAY_FREQ_ABBRV     Char 1                  Xlat                   'M'
        CURRENCY_CD        Char 3                  Prmt HRS_CURRENCY_VW
        OPR_DEF_TBL_HR.EXCHNG_TO_CURRENCY
        US_SOC_CD          Char 10
        CAN_NOC_CD         Char 4
        REL_WRK_EXPER      Char 1                  Y/N                    'Y'
        HRS_GPRIWRK_SBR    SRec
        HRS_AUDIT_SBR      SRec
        HRS_WEXP_ADDR       SRec
        DESCRLONG           Long




Record: HRS_HIRECZ_LVW
            Description    Citizenship Related Lang Rec
            Record Type    SQL View
            Parent Record
            Related Language
            Build Seq      1
            Owner ID       RS Business Objects
            Comments
                   HRS_HIRECZ_LVW is the language record related to HRS_HIRE_CA_PPT

        FieldName           Type     Len   Key   Srch Req Edit Prompt           C Default
        EMPLID              Char   11      KA
        HRS_PERSON_ID       Num    15      KA
        COUNTRY             Char   3       KA        Req
        PASSPORT_NBR        Char   15      KA        Req
        LANGUAGE_CD         Char   3       KA              Xlat
        CITY_PASSPORT       Char   30
        ISSUING_AUTHORITY   Char   50
        COMMENTS            Long




Record: HRS_HIREHON_LVW
            Description    Honours & Awards Related Lang
            Record Type    SQL View
            Parent Record
            Related Language
            Build Seq      1
            Owner ID       RS Business Objects
            Comments
                   HRS_HIREHON_LVW is the language record related to HRS_HIRE_HON_VW

        FieldName           Type     Len   Key Srch Req Edit Prompt             C Default
        EMPLID              Char   11      KA
        HRS_PERSON_ID       Num    15      KA
        HRS_PROFILE_SEQ     Num    3       KALS
        ACCOMPLISHMENT      Char   8       KA       Req
        DT_ISSUED           Date   10      KA
        MAJOR_CODE          Char   10      KA
        LANGUAGE_CD         Char   3                    Xlat
        GRANTOR             Char   20

        Extend Field Info   SetCtrlField          Label                 PageControl   Audit
        ACCOMPLISHMENT                            ACCOMPLISHMENT




Record: HRS_HIRELIC_LVW
            Description    License&Certificate Related
            Record Type    SQL View
            Parent Record
            Related Language
            Build Seq      1
            Owner ID       RS Business Objects
            Comments
                   HRS_HIRELIC_LVW is the language record related to HRS_HIRE_LIC_VW

        FieldName           Type     Len   Key Srch Req Edit Prompt             C Default
        EMPLID              Char   11      KA
        HRS_PERSON_ID       Num    15      KA
        HRS_PROFILE_SEQ     Num    3       KALS
        ACCOMPLISHMENT      Char   8       KA       Req
        DT_ISSUED           Date   10      KA
        MAJOR_CODE         Char 10        KA
        LANGUAGE_CD        Char 3                       Xlat
        ISSUED_BY          Char 30




Record: HRS_HIREMBR_LVW
            Description    Membership Related Lang Record
            Record Type    SQL View
            Parent Record
            Related Language
            Build Seq      1
            Owner ID       RS Business Objects
            Comments
                   HRS_HIREMBR_LVW is the language record related to HRS_HIRE_MBR_VW

        FieldName          Type     Len   Key Srch Req Edit Prompt      C Default
        EMPLID             Char   11      KA
        HRS_PERSON_ID      Num    15      KA
        HRS_PROFILE_SEQ    Num    3       KALS
        ACCOMPLISHMENT     Char   8       KA       Req
        DT_ISSUED          Date   10      KA
        MAJOR_CODE         Char   10      KA
        LANGUAGE_CD        Char   3                    Xlat
        MANDATE            Char   15
        MANDATE_FUNCTION   Char   15




Record: HRS_HIREPRF_LVW
            Description    Secondary Educ Related Lang Re
            Record Type    SQL View
            Parent Record
            Related Language
            Build Seq      1
            Owner ID       RS Business Objects
            Comments
                   HRS_HIREPRF_LVW is the language record related to HRS_HIRE_PRF_VW

        FieldName          Type     Len   Key Srch Req Edit Prompt      C Default
        EMPLID             Char   11      KA
        HRS_PERSON_ID      Num    15      KA
        HRS_PROFILE_SEQ    Num    3       KALS
        ACCOMPLISHMENT     Char   8       KA       Req
        DT_ISSUED          Date   10      KA
        MAJOR_CODE         Char   10      KA
        LANGUAGE_CD        Char   3       KA           Xlat
        EDUCATOR           Char   50
        SCHOOL             Char   30
        MAJOR              Char   30
        DESCR              Char   30
        SUBFACULTY_NAME    Char   50




Record: HRS_HIRESCH_LVW
            Description    School Edu Related Lang Rec
            Record Type    SQL View
            Parent Record
            Related Language
            Build Seq      1
            Owner ID       RS Business Objects
            Comments
                   HRS_HIRESCH_LVW is the language record related to HRS_HIRE_SCHL

        FieldName          Type   Len     Key   Srch Req Edit Prompt    C Default
        EMPLID             Char 11        KA
        HRS_PERSON_ID      Num 15         KA
        HRS_PROFILE_SEQ     Num    3       KA
        DATE_ACQUIRED       Date   10      KA
        LANGUAGE_CD         Char   3       KA              Xlat
        SCHOOL              Char   30




Record: HRS_HIREVSA_LVW
            Description    Visa Related Lang Record
            Record Type    SQL View
            Parent Record
            Related Language
            Build Seq      1
            Owner ID       RS Business Objects
            Comments
                   HRS_HIREVSA_LVW is the language record related to HRS_HIRE_VSA_DA

        FieldName           Type     Len   Key   Srch Req Edit Prompt       C Default
        EMPLID              Char   11      KA
        HRS_PERSON_ID       Num    15      KA
        DEPENDENT_ID        Char   2       KA
        EFFDT               Date   10      KD                                %date
        COUNTRY             Char   3       KA        Req Prmt COUNTRY_TBL
        LANGUAGE_CD         Char   3                     Xlat
        PLACE_ISSUED        Char   30
        ISSUING_AUTHORITY   Char   50




Record: HRS_HIREWRK_LVW
            Description    Work Exp Related Lang Rec
            Record Type    SQL View
            Parent Record
            Related Language
            Build Seq      1
            Owner ID       RS Business Objects
            Comments
                   HRS_HIREWRK_LVW is the language record related to HRS_HIRE_WK_EXP

        FieldName           Type     Len   Key Srch Req Edit Prompt         C Default
        EMPLID              Char   11      KA
        HRS_PERSON_ID       Num    15      KA
        HRS_PROFILE_SEQ     Num    3       KALS
        START_DT            Date   10      KD       Req
        SEQUENCE_NBR        Num    2       KA
        LANGUAGE_CD         Char   3       KA           Xlat
        EMPLOYER            Char   30
        ENDING_TITLE        Char   30
        DESCRLONG           Long




Record: HRS_HIRE_CZ_PPT
            Description    Hire - Passport Data
            Record Type    SQL View
            Parent Record
            Related Language       HRS_HIRECZ_LVW
            Build Seq      10
            Owner ID       RS Business Objects
            Comments       Hire Integration - Citizenship Passport Data

        FieldName           Type     Len   Key   Srch Req Edit Prompt       C Default
        EMPLID              Char   11      KA
        HRS_PERSON_ID       Num    15      KA
        COUNTRY             Char   3       KA        Req
        PASSPORT_NBR        Char   15      KA        Req
        DT_ISSUED           Date   10
        EXPIRATN_DT         Date   10
        COUNTRY_PASSPORT    Char   3
        STATE_PASSPORT      Char   6
        CITY_PASSPORT       Char   30
        ISSUING_AUTHORITY   Char   50
        COMMENTS            Long
        HRS_HIRE_SEQ        Num    10




Record: HRS_HIRE_HON_VW
            Description    Hire - Honors and Awards
            Record Type    SQL View
            Parent Record
            Related Language       HRS_HIREHON_LVW
            Build Seq      50
            Owner ID       RS Business Objects
            Comments       Hire Integration - Honors and Awards

        FieldName           Type     Len   Key Srch Req Edit Prompt           C Default
        EMPLID              Char   11      KA
        HRS_PERSON_ID       Num    15      KA
        HRS_PROFILE_SEQ     Num    3       KALS
        ACCOMPLISHMENT      Char   8       KA       Req
        DT_ISSUED           Date   10      KA
        MAJOR_CODE          Char   10      KA
        HONOR_AWARD_SBR     SRec
        HONO_AW_FRA_SBR     SRec
        HRS_HIRE_SEQ        Num    10

        Extend Field Info   SetCtrlField         Label                PageControl   Audit
        ACCOMPLISHMENT                           ACCOMPLISHMENT




Record: HRS_HIRE_LIC_VW
            Description    Hire - Licenses and Certif
            Record Type    SQL View
            Parent Record
            Related Language       HRS_HIRELIC_LVW
            Build Seq      50
            Owner ID       RS Business Objects
            Comments       Hire Integration - Licenses and Certifications

        FieldName           Type     Len   Key Srch Req Edit Prompt           C Default
        EMPLID              Char   11      KA
        HRS_PERSON_ID       Num    15      KA
        HRS_PROFILE_SEQ     Num    3       KALS
        ACCOMPLISHMENT      Char   8       KA       Req
        DT_ISSUED           Date   10      KA
        MAJOR_CODE          Char   10      KA
        HRS_LICCERT_SBR     SRec
        HRS_HIRE_SEQ        Num    10




Record: HRS_HIRE_MBR_VW
            Description    Hire - Memberships
            Record Type    SQL View
            Parent Record
            Related Language       HRS_HIREMBR_LVW
            Build Seq      50
            Owner ID       RS Business Objects
            Comments       Hire Integration - Memberships

        FieldName           Type   Len     Key Srch Req Edit Prompt            C Default
        EMPLID              Char 11        KA
        HRS_PERSON_ID       Num 15         KA
        HRS_PROFILE_SEQ     Num 3          KALS
        ACCOMPLISHMENT       Char   8       KA        Req
        DT_ISSUED            Date   10      KA
        MAJOR_CODE           Char   10      KA
        MEMBERSHIP_SBR       SRec
        HRS_HIRE_SEQ         Num    10




Record: HRS_HIRE_PRF_VW
            Description    Hire - Professional Education
            Record Type    SQL View
            Parent Record
            Related Language       HRS_HIREPRF_LVW
            Build Seq      50
            Owner ID       RS Business Objects
            Comments       Hire Integration - Professional Education

        FieldName            Type     Len   Key Srch Req Edit Prompt     C Default
        EMPLID               Char   11      KA
        HRS_PERSON_ID        Num    15      KA
        HRS_PROFILE_SEQ      Num    3       KALS
        ACCOMPLISHMENT       Char   8       KA       Req
        DT_ISSUED            Date   10      KA
        MAJOR_CODE           Char   10      KA
        EDUCATION_SBR        SRec
        EDUCATN_GER_SBR      SRec
        EDUCATN_JPN_SBR      SRec
        HRS_HIRE_SEQ         Num    10




Record: HRS_HIRE_SCHL
            Description    Hire - School Education
            Record Type    SQL View
            Parent Record
            Related Language       HRS_HIRESCH_LVW
            Build Seq      10
            Owner ID       RS Business Objects
            Comments       Hire Integration - School Education

        FieldName            Type     Len   Key   Srch Req Edit Prompt   C Default
        EMPLID               Char   11      KA
        HRS_PERSON_ID        Num    15      KA
        HRS_PROFILE_SEQ      Num    3       KA
        DATE_ACQUIRED        Date   10      KA
        SCHOOL_TYPE          Char   3
        EDUCATION_LVL_ACHV   Char   3
        COMPLETED            Char   1                       Y/N           'N'
        SCHOOL_CODE          Char   10
        SCHOOL               Char   30
        AVERAGE_GRADE        Char   5
        COUNTRY              Char   3        L
        STATE                Char   6
        HRS_HIRE_SEQ         Num    10




Record: HRS_HIRE_TRAIN
            Description    Hire - Training History
            Record Type    SQL View
            Parent Record
            Related Language
            Build Seq      10
            Owner ID       RS Business Objects
            Comments       Hire Integration - Training History

        FieldName            Type   Len     Key   Srch Req Edit Prompt   C Default
        EMPLID               Char 11        KA
        HRS_PERSON_ID        Num    15      KA
        COURSE_START_DT      Date   10      KA
        COURSE_TITLE         Char   30      KA
        SCHOOL               Char   30
        ATTENDANCE           Char   1                      Xlat                'C'
        DEPTID               Char   10
        BUSINESS_UNIT        Char   5
        HRS_HIRE_SEQ         Num    10




Record: HRS_HIRE_VSA_DA
            Description    Hire - Visa Permit Support
            Record Type    SQL View
            Parent Record
            Related Language       HRS_HIREVSA_LVW
            Build Seq      10
            Owner ID       RS Business Objects
            Comments       Hire Integration - Visa Permit Support

        FieldName            Type     Len   Key   Srch Req Edit Prompt       C Default
        EMPLID               Char   11      KA
        HRS_PERSON_ID        Num    15      KA
        DEPENDENT_ID         Char   2       KA
        EFFDT                Date   10      KD                                %DATE
        COUNTRY              Char   3       KA        Req Prmt COUNTRY_TBL
        VISA_PERMIT_TYPE     Char   3
        VISA_WRKPMT_NBR      Char   15
        VISA_WRKPMT_STATUS   Char   1                 Req Xlat
        STATUS_DT            Date   10                Req
        DT_ISSUED            Date   10
        PLACE_ISSUED         Char   30
        DURATION_TIME        Num    4.1
        DURATION_TYPE        Char   1                 Req Xlat
        ENTRY_DT             Date   10
        EXPIRATN_DT          Date   10
        ISSUING_AUTHORITY    Char   50
        HRS_HIRE_SEQ         Num    10




Record: HRS_HIRE_WK_EXP
            Description    Hire - Prior Work Experience
            Record Type    SQL View
            Parent Record
            Related Language       HRS_HIREWRK_LVW
            Build Seq      10
            Owner ID       RS Business Objects
            Comments       Hire Integration - Prior Work Experience

        FieldName            Type     Len   Key Srch Req Edit Prompt         C Default
        EMPLID               Char   11      KA
        HRS_PERSON_ID        Num    15      KA
        HRS_PROFILE_SEQ      Num    3       KALS
        START_DT             Date   10      KD       Req
        SEQUENCE_NBR         Num    2       KA
        EMPLOYER             Char   30
        CITY                 Char   30
        STATE                Char   6
        COUNTRY              Char   3
        PHONE_SBR            SRec
        END_DT               Date   10
        ENDING_TITLE         Char   30
        ENDING_RATE          Num    15.3                                     Y Curr: CURRENCY_CD
        PAY_FREQ_ABBRV       Char   1                     Xlat
        CURRENCY_CD          Char   3
        REL_WRK_EXPER        Char   1                     Y/N                  'Y'
        DESCRLONG            Long
        HRS_HIRE_SEQ         Num    10
Record: PA_CLC_EMP_VW
            Description    Calculation Employee View
            Record Type    SQL View
            Parent Record
            Related Language
            Build Seq      1
            Owner ID       Pension Administration

        FieldName           Type     Len   Key Srch Req Edit Prompt          C Default
        OPRID               Char   30      KA
        CALC_NAME           Char   20      KALS     Req
        EMPLID              Char   11      KALS         Prmt PERS_SRCH_GBL
        EMPLID              Char   11      KALE         Prmt PERS_SRCH_GBL
        EVENT_DT            Date   10                                         %date
        CALC_REASON         Char   3                    Xlat
        NAME                Char   50
        BDATE_OVRD          Date   10
        SPOUSE_BDATE_OVRD   Date   10
        CALC_EXEC_TS        DT     26
        PROCESS_INSTANCE    Num    10
        BIRTHDATE           Date   10
        SPOUSE_BIRTHDATE    Date   10
        MAR_STATUS          Char   1                    Xlat
        SEX                 Char   1                    Xlat
        SPOUSE_NAME         Char   40




Record: PA_CLC_TMP_SRCH
            Description    Calc Results Search Record
            Record Type    SQL View
            Parent Record
            Related Language
            Build Seq      1
            Owner ID       Pension Administration

        FieldName           Type     Len   Key Srch Req Edit Prompt          C Default
        OPRID               Char   30      KA
        CALC_NAME           Char   20      KALS
        EMPLID              Char   11      KALS
        EMPLID              Char   11      KALE         Prmt PERS_SRCH_GBL
        BENEFIT_PLAN        Char   6       KALS




Record: PA_JOB_DATA_EMP
            Description    add Rec for Emp
            Record Type    SQL View
            Parent Record
            Related Language
            Build Seq      1
            Owner ID       Pension Administration
            Comments       Search record that allows a Job instance to be created for an EMP.

        FieldName           Type     Len   Key Srch Req Edit Prompt          C Default
        EMPLID              Char   11      KALS         Prmt PERSON_NAME
        OPRID               Char   30      KA
        EMPLID              Char   11      KALE         Prmt PERS_SRCH_GBL
        EMPL_RCD            Num    3       KALS
        NAME                Char   50      AAL
        LAST_NAME_SRCH      Char   30      AAL
        PER_ORG             Char   3                    Xlat
Record: PA_RA_PERS_SRCH
            Description
            Record Type    SQL View
            Parent Record
            Related Language
            Build Seq      2
            Owner ID       Pension Administration

        FieldName         Type     Len   Key Srch Req Edit Prompt          C Default
        EMPLID            Char   11      KALS
        OPRID             Char   30      KA
        EMPLID            Char   11      KALE         Prmt PERS_SRCH_GBL
        NAME              Char   50      AAL
        NATIONAL_ID       Char   20      AAL
        ORIG_EMPLID       Char   11      AAL          Prmt PA_RA_PERS_SRC2
        ORIG_DEP_BENEF    Char   2         L




Record: SAL_GRADE_VW2
            Description    Salary Grade View
            Record Type    SQL View
            Set Control Field     BUSINESS_UNIT
            Parent Record
            Related Language
            Build Seq      1
            Owner ID       HR Core Objects
            Comments
                   SAL_GRADE_VW2 is the lookup table for salary ranges and used on Jobc
                   ode component (Page JOBCD_COMP_RATE) to display the hourly, daily,
                   monthly and annual midpoint salary based on the setid of the salary
                   plan.

        FieldName         Type     Len   Key Srch Req Edit Prompt           C Default
        SETID_SALARY      Char   5       KALS     Req Prmt SET_VLD_HR_05     OPR_DEF_TBL_HR.SETID
        SAL_ADMIN_PLAN    Char   4       KALS     Req Prmt SAL_PLAN_TBL
        GRADE             Char   3       KALS     Req
        EFFDT             Date   10      KD       Req                         %date
        EFF_STATUS        Char   1                Req Xlat                    'A'
        CURRENCY_CD       Char   3                     Prmt CURRENCY_CD_TBL
        MIN_RT_HOURLY     Num    12.6                                       Y Curr: CURRENCY_CD
        MID_RT_HOURLY     Num    12.6                                       Y Curr: CURRENCY_CD
        MAX_RT_HOURLY     Num    12.6                                       Y Curr: CURRENCY_CD
        MIN_RT_MONTHLY    Num    15.3                                       Y Curr: CURRENCY_CD
        MID_RT_MONTHLY    Num    15.3                                       Y Curr: CURRENCY_CD
        MAX_RT_MONTHLY    Num    15.3                                       Y Curr: CURRENCY_CD
        MIN_RT_ANNUAL     Num    15.3                                       Y Curr: CURRENCY_CD
        MID_RT_ANNUAL     Num    15.3                                       Y Curr: CURRENCY_CD
        MAX_RT_ANNUAL     Num    15.3                                       Y Curr: CURRENCY_CD
        MIN_RT_DAILY      Num    15.3                                       Y Curr: CURRENCY_CD
        MID_RT_DAILY      Num    15.3                                       Y Curr: CURRENCY_CD
        MAX_RT_DAILY      Num    15.3                                       Y Curr: CURRENCY_CD




Record: WF_TERM_VW
            Description    Search Record for WF_EE_TERM.
            Record Type    SQL View
            Parent Record
            Related Language
            Build Seq      2
            Owner ID       Human Resources
            Comments       Used for 8.3 Workflow Enhancements.

        FieldName         Type     Len   Key   Srch Req Edit Prompt         C Default
        EMPL_KEY_SBR      SRec
        PERS_SRCH_SBR     SRec
        SCRTY_FLD_SBR       SRec
        ACTION_DT_SS        Date 10        KALS     Req
        EFFSEQ              Num 3          KALS     Req
        SS_STAT_INDICATOR   Char 1           L            Xlat

        Extend Field Info   SetCtrlField          Label               PageControl   Audit
        ACTION_DT_SS                              EFFDT
        ACTION_DT_SS                              TERMDATE2




Record: XML_ATTRIBUTES
            Description    XML Node Definition HR Spain
            Record Type    SQL Table
            Parent Record
            Related Language
            DDL Space Name HRAPP7.PSHRDMOR
            Owner ID       Human Resources
            Comments       This record allows to define and customize the XML node

        FieldName           Type     Len   Key Srch Req Edit Prompt            C Default
        XML_NODE_ID         Char   6       KALS     Req
        XML_SEQ_NBR         Num    7       KA
        XML_ATTRB_NAME      Char   50
        XML_ATTRB_TYPE      Char   1                      Xlat
        XML_ATTRB_VALUE     Char   250
        XML_ATTRB_NODE_ID   Char   6                      Prmt XML_NODE_TBL
        DATA_TYPE_CD        Char   1                      Xlat                  'N'




Record: XML_DEFN_SRCH
            Description    Search View for Contrat@ XML
            Record Type    SQL View
            Parent Record
            Related Language
            Build Seq      1
            Owner ID       Human Resources
            Comments       ESP.- Search View for Contrat@ XML

        FieldName           Type     Len   Key Srch Req Edit Prompt           C Default
        XMLFILE_ID          Char   20      KALS     Req
        DESCR               Char   30      AAL
        XML_SET             Char   5       AA
        XML_SET             Char   5       AAL




Record: XML_MAPPING
            Description    XML Node Definition HR Spain
            Record Type    SQL Table
            Parent Record
            Related Language
            DDL Space Name HRAPP7.PSHRDMOR
            Owner ID       HR Spain       Human Resources
            Comments       This record allows to define and customize the XML node

        FieldName           Type     Len   Key Srch Req Edit Prompt           C Default
        XML_NODE_ID         Char   6       KALS     Req
        XML_SYSTEM_VALUE    Char   50      KALS
        XML_NODE_VALUE      Char   50
        DATA_TYPE_CD        Char   1                      Xlat                  'N'




Record: XML_MEMBRS
            Description     XML Node Definition HR Spain
             Record Type    SQL Table
             Parent Record
             Related Language
             DDL Space Name HRAPP7.PSHRDMOR
             Owner ID       HR Spain       Human Resources
             Comments       This record allows to define and customize the XML node

         FieldName         Type      Len   Key Srch Req Edit    Prompt            C Default
         XML_NODE_ID       Char    6       KALS     Req
         XML_SEQ_NBR       Num     7       KA
         XML_NODE_MBR      Char    6       KALS     Req Prmt    XML_NODE_VW
         XML_SET           Char    5                    Prmt    XML_SET_TBL
         REQUIRED_FIELD    Char    1                    Y/N                        'N'
         XML_ITERATIVE     Char    1                    Y/N                        'N'
         XML_PRINT_FLG     Char    1                    Y/N
         RECNAME           Char    15                   Prmt    XML_SET_RECORDS
         DATA_TYPE_CD      Char    1                    Xlat                        'N'




Record: XML_XLATITEM
             Description    XLAT Value for HR Spain
             Record Type    SQL Table
             Set Control Field     REG_REGION
             Parent Record
             Related Language      XML_XLATITM_LNG
             DDL Space Name HRAPP7.PSHRDMOR
             Owner ID       HR Spain       Human Resources
             Comments       This table stores the Social Security valid values for look up.

         FieldName         Type      Len   Key Srch Req Edit Prompt               C Default
         SETID             Char    5       KALS     Req Prmt SET_VLD_HR_08         OPR_DEF_TBL_HR.SETID
         XML_XLAT_CODE     Char    8       KA
         XML_XLAT_VALUE    Char    13      KA
         DESCR50           Char    50
         DATA_TYPE_CD      Char    1                     Xlat                      'N'




Field Detail
Field: AFI_PRINT_FLG_ESP
             Field Type     Char
             Length 1
             Format UpperCase
             Family Name
             Display Name
             Owner ID       HR Spain
             Comments       ASA Types for AFI

         Label ID           Short Name           Long Name                          Def
         PRINT_FLG          Print Copy           Printed Response                   Yes




Field: AGRO_EMPLMNT_ESP
             Field Type     Char
             Length 1
             Format UpperCase
             Family Name
            Display Name
            Owner ID         Human Resources
            Comments         Social Security AFI Tested data

        Label ID             Short Name        Long Name                     Def
        AFI                  Employment Prog   Agrarian Employment Program   Yes




Field: CHECK_PRNT_RES_ESP
            Field Type     Char
            Length 1
            Format MixedCase
            Family Name
            Display Name
            Owner ID       HR Spain

        Label ID             Short Name        Long Name                     Def
        CHECK_PRNT_RES_ESP   Check Print Res   Check Printed Response        Yes




Field: HPROV_ANS_CD_BRA
            Field Type     Char
            Length 6
            Format UpperCase
            Family Name
            Display Name
            Owner ID       Human Resources
            Comments       ANS Registry

        Label ID             Short Name        Long Name                     Def
        HPROV_ANS_CD_BRA     ANS Registry      ANS Registry                  Yes




Field: HPROV_CD_BRA
            Field Type     Char
            Length 10
            Format UpperCase
            Family Name
            Display Name
            Owner ID       Human Resources
            Comments       Health Provider Code

        Label ID             Short Name        Long Name                     Def
        HPROV_CD_BRA         Code              Health Provider Code          Yes




Field: HPROV_CNPJ_BRA
            Field Type     Char
            Length 14
            Format Numbers Only
            Family Name
            Display Name
            Owner ID       Human Resources
            Comments       Health Provider CNPJ

        Label ID             Short Name        Long Name                     Def
        HPROV_CNPJ_BRA       CNPJ              Health Provider CNPJ          Yes




Field: REMOVE_PHONE_ESP
            Field Type       Char
              Length 1
              Format UpperCase
              Family Name
              Display Name
              Owner ID       HR Spain

          Label ID           Short Name          Long Name                        Def
          AFI                Remove Phone        Remove SMS Phone                 Yes




Field: RIGHTS_LOST_ESP
              Field Type     Char
              Length 2
              Format UpperCase
              Family Name
              Display Name
              Owner ID       HR Spain
              Comments       AFI - Rights Lost

          Label ID           Short Name          Long Name                        Def
          AFI                Rights Lost         Rights Lost                      Yes




Translate Value Detail
Translate Value: AFI_EE_STATUS_ESP (1900-01-01)       51
              Field Name    AFI_EE_STATUS_ESP
              Value 51
              EffDt 1900-01-01
              Status Active
              Long Name     Voluntary / Resignation            Voluntary Termination
              Short Name    Vol.Termin




Translate Value: AFI_EE_STATUS_ESP (1900-01-01)       53
              Field Name    AFI_EE_STATUS_ESP
              Value 53
              EffDt 1900-01-01
              Status Active
              Long Name     Dismissal for Cause
              Short Name    Dismissal




Translate Value: AFI_EE_STATUS_ESP (1900-01-01)       85
              Field Name    AFI_EE_STATUS_ESP
              Value 85
              EffDt 1900-01-01
              Status Active
              Long Name     End of Test Period
              Short Name    End Test




Translate Value: AFI_PRINT_FLG_ESP (1900-01-01)       C
              Field Name     AFI_PRINT_FLG_ESP
              Value C
              EffDt 1900-01-01
              Status Active
              Long Name     Print Resolution + IDC
              Short Name    Yes + IDC




Translate Value: AFI_PRINT_FLG_ESP (1900-01-01)      I
              Field Name    AFI_PRINT_FLG_ESP
              Value I
              EffDt 1900-01-01
              Status Active
              Long Name     Contribution Data Report (IDC)
              Short Name    IDC




Translate Value: AFI_PRINT_FLG_ESP (1900-01-01)      N
              Field Name    AFI_PRINT_FLG_ESP
              Value N
              EffDt 1900-01-01
              Status Active
              Long Name     No
              Short Name    No




Translate Value: AFI_PRINT_FLG_ESP (1900-01-01)      S
              Field Name    AFI_PRINT_FLG_ESP
              Value S
              EffDt 1900-01-01
              Status Active
              Long Name     Print Resolution
              Short Name    Yes




Translate Value: AFI_SS_ACTION_ESP (1900-01-01)      CTA
              Field Name    AFI_SS_ACTION_ESP
              Value CTA
              EffDt 1900-01-01
              Status Active
              Long Name     ITA by Authorization Key
              Short Name    ITA by Aut




Translate Value: AFI_SS_ACTION_ESP (1900-01-01)      CTP
              Field Name    AFI_SS_ACTION_ESP
              Value CTP
              EffDt 1900-01-01
              Status Active
              Long Name     ITA by Main CCC
              Short Name    ITA by CCC




Translate Value: AFI_SS_ACTION_ESP (1900-01-01)      IDC
              Field Name    AFI_SS_ACTION_ESP
              Value IDC
              EffDt 1900-01-01
              Status Active
              Long Name     Inquire Contribution Data
              Short Name    IDC
Translate Value: CHECK_PRNT_RES_ESP (1900-01-01) C
              Field Name    CHECK_PRNT_RES_ESP
              Value C
              EffDt 1900-01-01
              Status Active
              Long Name     Print Resolution + IDC
              Short Name    Yes + IDC




Translate Value: CHECK_PRNT_RES_ESP (1900-01-01) I
              Field Name    CHECK_PRNT_RES_ESP
              Value I
              EffDt 1900-01-01
              Status Active
              Long Name     Contribution Data Report (IDC)
              Short Name    IDC




Translate Value: CHECK_PRNT_RES_ESP (1900-01-01) N
              Field Name    CHECK_PRNT_RES_ESP
              Value N
              EffDt 1900-01-01
              Status Active
              Long Name     No
              Short Name    No




Translate Value: CHECK_PRNT_RES_ESP (1900-01-01) S
              Field Name    CHECK_PRNT_RES_ESP
              Value S
              EffDt 1900-01-01
              Status Active
              Long Name     Print Resolution
              Short Name    Yes




Translate Value: LABOR_RLTNSHIP_ESP (1900-01-01) 9918
              Field Name    LABOR_RLTNSHIP_ESP
              Value 9918
              EffDt 1900-01-01
              Status Active
              Long Name     Training Contract Extension
              Short Name    Extesion




Translate Value: RIGHTS_LOST_ESP (1900-01-01)        01
              Field Name    RIGHTS_LOST_ESP
              Value 01
              EffDt 1900-01-01
              Status Active
              Long Name     No Meet Requirements No Incentivated Training Contr
              Short Name    No Reqrmnt     No Bonif
Translate Value: RIGHTS_LOST_ESP (1900-01-01)     08
              Field Name    RIGHTS_LOST_ESP
              Value 08
              EffDt 1900-01-01
              Status Active
              Long Name     Bonif Contrct Last 12 Months
              Short Name    Last 12 M




Translate Value: TRN_T_SCHEDULE_ESP (1900-01-01) T
              Field Name    TRN_T_SCHEDULE_ESP
              Value T
              EffDt 1900-01-01     2000-01-01
              Status Active
              Long Name     In Working Hours
              Short Name    Wrkng Hrs




Translate Value: TRN_T_SCHEDULE_ESP (2000-01-01) T
              Field Name    TRN_T_SCHEDULE_ESP
              Value T
              EffDt 1900-01-01     2000-01-01
              Status Active
              Long Name     In Working Hours
              Short Name    Wrkng Hrs




Translate Value: UNEMPLYMNT_CND_ESP (1900-01-01)           B
              Field Name    UNEMPLYMNT_CND_ESP
              Value B
              EffDt 1900-01-01
              Status Active
              Long Name     With Employability Problems
              Short Name    Empl Probl




Translate Value: WOMAN_HRD_AFTR_ESP (1900-01-01)           3
              Field Name    WOMAN_HRD_AFTR_ESP
              Value 3
              EffDt 1900-01-01
              Status Active
              Long Name     Less than 5 years in Inactivty
              Short Name    Less 5 yrs




Translate Value: WOMAN_HRD_AFTR_ESP (1900-01-01)           4
              Field Name    WOMAN_HRD_AFTR_ESP
              Value 4
              EffDt 1900-01-01
              Status Active
              Long Name     Rehire after Extended Leave
              Short Name    In Leave
Page Detail
Page: AFI_DATA_ESP_SEC
            Description    AFI Data
            Type   Secondary Page
            Allow Deferred Proc. Yes
            Owner ID       HR Spain
            Comments       AFI Data

        Type     ID    Lvl Record            Field                 Label               Attributes
        EditBox 1      0   AFI_DATA_ESP      EMPLID                +EMPLID             Hide CtrlFld
        EditBox 2      0   AFI_DATA_ESP      EFFDT                 +EFFDT              Hide Century
        EditBox 3      0   PERSON_NAME       NAME                  [None ]            Gray Related:1
        EditBox 4      0   AFI_DATA_ESP      EMPL_RCD              +EMPL_RCD#          Hide
        EditBox 5      0   AFI_DATA_ESP      EFFSEQ                +EFFSEQ             Hide
        EditBox 6      0   AFI_DATA_ESP      EMPLID                +EMPLID             Hide CtrlFld
        GroupBox 7     0   DERIVED_HR_ESP    HR_LBL_GRPBOX_02      +AFI01
        ComboBox 8     0   AFI_DATA_ESP      AFI_REPORTBY_ESP      +REPORT_BY          XLatLong
        ComboBox 9     0   AFI_DATA_ESP      AFI_DATASOURCE_ESP   -DATA_SOURCE        Hide XLatShort
        EditBox 10     0   AFI_DATA_ESP      AFI_FILE_NAME_ESP     +FILE_NAME_AFI_ESP
        EditBox 11     0   AFI_DATA_ESP      TIME_STAMP_ESP        +TIME_STAMP         Century
        GroupBox 12    0   DERIVED_HR_ESP    HR_LBL_GRPBOX_01      -JOBDATA
        EditBox 13     0   AFI_DATA_ESP      CONTRACT_TYPE         +CONTRACT_TYPE      CtrlFld
        EditBox 14     0   PERS_CNTRCT_TYP   DESCR                 [None ]             Gray
        Related:13
        EditBox 15     0   AFI_DATA_ESP      SCHEME_ID_ESP        +SCHEME_ID_ESP        Gray CtrlFld
        EditBox 16     0   AFI_DATA_ESP      SOC_SEC_RISK_CODE    -OCCUPATION           CtrlFld
        EditBox 17     0   DERIVED           EDITTABLE12          [None ]               Hide
        EditBox 18     0   DERIVED_HR_ESP    DESCR50              [None ]               Gray noPrompt
        EditBox 19     0   AFI_DATA_ESP      SOC_SEC_WRK_GRP_CD   -SOC_SEC_WRK_GRP_CD   CtrlFld
        EditBox 20     0   WRK_GRP_ESP_VW    DESCR50              [None ]               Gray
        Related:19 noPrompt
        EditBox 21     0   AFI_DATA_ESP      SOCS_LBR_AGRMT_ESP +SOCS_LBR_AGRMT_ESP CtrlFld
        EditBox 22     0   SOCS_AGRMNT_ESP   DESCR50            [None ]             Gray
        Related:21 noPrompt
        ComboBox 23    0   AFI_DATA_ESP      FULL_PART_TIME       +FULL_PART_TIME     XLatLong
        GroupBox 24    0   DERIVED_HR_ESP    HR_LBL_GRPBOX_03     +AFI01
        ComboBox 25    0   AFI_DATA_ESP      UNEMPLYMNT_CND_ESP   +UNEMPLOYMENT_COND XLatLong
        CheckBox 26    0   AFI_DATA_ESP      ACTIVE_RENT_ESP      +ACTIVE_RENT        On:Y Off:N
        ComboBox 27    0   AFI_DATA_ESP      SOC_EXCLUSION_ESP    +SOCIAL _EXCLUSION XLatLong
        CheckBox 28    0   AFI_DATA_ESP      MATERNTY_2YRS_ESP    +2YRS               On:Y Off:N
        ComboBox 29    0   AFI_DATA_ESP      WOMAN_HRD_AFTR_ESP   -WOMAN_REJOIN       XLatLong
        CheckBox 30    0   AFI_DATA_ESP      WOMAN_SBRPRSNT_ESP   +WOMAN_SUBREPRESENT On:Y Off:N
        CheckBox 31    0   DISABILITY        DISABLED             [None ]            On:Y Off:N Hide
        Related:6
        CheckBox 32    0   AFI_DATA_ESP      RE_JOIN_DSB_EE_ESP   +RE_JOINED_DISAB_EE   On:Y Off:N
        EditBox 33     0   DISABILITY_ESP    HANDICAP_PCNT_ESP    [None ]               Hide Related:6
        GroupBox 34    0   DERIVED_HR_ESP    HR_LBL_GRPBOX_04     +AFI01
        EditBox 35     0   AFI_DATA_ESP      PART_TIME_PERC_ESP   +PART_TIME_PERC_ESP
        ComboBox 36    0   AFI_DATA_ESP      LEGAL_CUSTODY_ESP    +LEGAL_CUSTODY        XLatLong
        ComboBox 37    0   AFI_DATA_ESP      LABOR_RLTNSHIP_ESP   +LABOR_RELATIONSHIP   XLatLong
        ComboBox 38    0   AFI_DATA_ESP      INACTIVITY_TYP_ESP   +INACTIVITY_TYPE      XLatLong
        EditBox 39     0   AFI_DATA_ESP      PART_STRK_ACT_ESP    +PART_STRK_ACT
        ComboBox 40    0   AFI_DATA_ESP      JOB_CHANGE_RSN_ESP   +JOB_CHANGE_RSN_ESP   XLatLong
        CheckBox 41    0   AFI_DATA_ESP      FIRST_SELFWRKR_ESP   +FIRST_SELF_WORKER    On:Y Off:N
        EditBox 42     0   AFI_DATA_ESP      CONTRACT_BEGIN_DT    +CONTRACT_BEGIN_DT    Century
        CheckBox 43    0   AFI_DATA_ESP      PART_SUBROGTN_ESP    +PART_SUBROGATION     On:Y Off:N
        ComboBox 44    0   AFI_DATA_ESP      SUSBTIT_REASON_ESP   +SUBSTIT_ REASON      XLatLong
        CheckBox 45    0   AFI_DATA_ESP      RELV_CONTRCT_ESP     +RELV_CONTRCT_ESP     On:Y Off:N
        EditBox 46     0   AFI_DATA_ESP      SUSBTIT_EMPLID_ESP   +SUBSTIT_EMPLID       CtrlFld
        EditBox 47     0   PERSON_NAME       NAME                 [None ]               Gray
        Related:46
        ComboBox 48    0   AFI_DATA_ESP      FAMILY_BOND_ESP      +FAMILY_BOND          XLatLong
        CheckBox 49    0   AFI_DATA_ESP      AGRO_EMPLMNT_ESP     +AFI                  On:Y Off:N
        ComboBox 50    0   AFI_DATA_ESP      RIGHTS_LOST_ESP      +AFI                  XLatLong
        GroupBox 51    0   DERIVED_HR_ESP    HR_LBL_GRPBOX_05     +AFI01
         ComboBox 52   0      AFI_DATA_ESP       AFI_ASA_TYPE_ESP   +ASA_TYPE              XLatLong
         EditBox 53    0      AFI_DATA_ESP       BGN_DT             +PRD_BGN_DT            Century
         EditBox 54    0      AFI_DATA_ESP       END_DT             +PERIODENDDATE         Century
         EditBox 55    0      AFI_DATA_ESP       AFI_WORK_DAYS_ESP +AFI_WORK_DAYS_
         EditBox 56    0      AFI_DATA_ESP       VACN_END_DT_ESP    +VACN_END_DT_ESP       Century
         EditBox 24    0      AFI_DATA_ESP       PHONE              +CONTACTPHONE          CtrlFld
         ComboBox 25   0      EE_PHONES_ESPVW   PHONE_TYPE         [None ]                Gray Related:24
         XLatLong
         CheckBox 26   0      AFI_DATA_ESP   REMOVE_PHONE_ESP        +AFI                On:Y Off:N
         GroupBox 27   0      DERIVED_HR_ESP HR_LBL_GRPBOX_03        +AFI01
         ComboBox 28   0      AFI_DATA_ESP   UNEMPLYMNT_CND_ESP      +UNEMPLOYMENT_COND XLatLong
         CheckBox 29   0      AFI_DATA_ESP   ACTIVE_RENT_ESP         +ACTIVE_RENT        On:Y Off:N
         ComboBox 30   0      AFI_DATA_ESP   SOC_EXCLUSION_ESP       +SOCIAL _EXCLUSION XLatLong
         CheckBox 31   0      AFI_DATA_ESP   MATERNTY_2YRS_ESP       +2YRS               On:Y Off:N
         ComboBox 32   0      AFI_DATA_ESP   WOMAN_HRD_AFTR_ESP      -WOMAN_REJOIN       XLatLong
         CheckBox 33   0      AFI_DATA_ESP   WOMAN_SBRPRSNT_ESP      +WOMAN_SUBREPRESENT On:Y Off:N
         CheckBox 34   0      DISABILITY     DISABLED                [None ]            On:Y Off:N Hide
         Related:6
         CheckBox 35   0      AFI_DATA_ESP      RE_JOIN_DSB_EE_ESP   +RE_JOINED_DISAB_EE   On:Y Off:N
         EditBox 36    0      DISABILITY_ESP    HANDICAP_PCNT_ESP    [None ]               Hide Related:6
         GroupBox 37   0      DERIVED_HR_ESP    HR_LBL_GRPBOX_04     +AFI01
         EditBox 38    0      AFI_DATA_ESP      PART_TIME_PERC_ESP   +PART_TIME_PERC_ESP
         ComboBox 39   0      AFI_DATA_ESP      LEGAL_CUSTODY_ESP    +LEGAL_CUSTODY        XLatLong
         ComboBox 40   0      AFI_DATA_ESP      LABOR_RLTNSHIP_ESP   +LABOR_RELATIONSHIP   XLatLong
         ComboBox 41   0      AFI_DATA_ESP      INACTIVITY_TYP_ESP   +INACTIVITY_TYPE      XLatLong
         EditBox 42    0      AFI_DATA_ESP      PART_STRK_ACT_ESP    +PART_STRK_ACT
         ComboBox 43   0      AFI_DATA_ESP      JOB_CHANGE_RSN_ESP   +JOB_CHANGE_RSN_ESP   XLatLong
         CheckBox 44   0      AFI_DATA_ESP      FIRST_SELFWRKR_ESP   +FIRST_SELF_WORKER    On:Y Off:N
         EditBox 45    0      AFI_DATA_ESP      CONTRACT_BEGIN_DT    +CONTRACT_BEGIN_DT    Century
         CheckBox 46   0      AFI_DATA_ESP      PART_SUBROGTN_ESP    +PART_SUBROGATION     On:Y Off:N
         ComboBox 47   0      AFI_DATA_ESP      SUSBTIT_REASON_ESP   +SUBSTIT_ REASON      XLatLong
         CheckBox 48   0      AFI_DATA_ESP      RELV_CONTRCT_ESP     +RELV_CONTRCT_ESP     On:Y Off:N
         EditBox 49    0      AFI_DATA_ESP      SUSBTIT_EMPLID_ESP   +SUBSTIT_EMPLID       CtrlFld
         EditBox 50    0      PERSON_NAME       NAME                 [None ]               Gray
         Related:49
         ComboBox 51   0      AFI_DATA_ESP      FAMILY_BOND_ESP      +FAMILY_BOND          XLatLong
         CheckBox 52   0      AFI_DATA_ESP      AGRO_EMPLMNT_ESP     +AFI                  On:Y Off:N
         ComboBox 53   0      AFI_DATA_ESP      RIGHTS_LOST_ESP      +AFI                  XLatLong
         GroupBox 54   0      DERIVED_HR_ESP    HR_LBL_GRPBOX_05     +AFI01
         ComboBox 55   0      AFI_DATA_ESP      AFI_ASA_TYPE_ESP     +ASA_TYPE             XLatLong
         EditBox 56    0      AFI_DATA_ESP      BGN_DT               +PRD_BGN_DT           Century
         EditBox 57    0      AFI_DATA_ESP      END_DT               +PERIODENDDATE        Century
         EditBox 58    0      AFI_DATA_ESP      AFI_WORK_DAYS_ESP    +AFI_WORK_DAYS_
         EditBox 59    0      AFI_DATA_ESP      VACN_END_DT_ESP      +VACN_END_DT_ESP      Century




Page: AFI_RC_1_ESP
             Description    AFI RunControl 1
             Type   Standard Page
             Allow Deferred Proc. No
             Owner ID       HR Spain
             Comments       AFI RunControl page for Employees Communications

         Type     ID    Lvl   Record            Field                Label                 Attributes
         SubPage 1      0     AFI_RC_ESP                             ''                    ->
         PRCSRUNCNTL_SBP
         EditBox 2      0     DERIVED_HR_ESP    HR_XML_LABEL         -AFI                  Hide noPrompt
         EditBox 3      0     AFI_RC_ESP        AFI_FILE_NAME_ESP    -FILE_NAME_AFI_ESP
         EditBox 4      0     AFI_RC_ESP        FILE_PATH            -OUTBOUND
         EditBox 5      0     AFI_RC_ESP        SOCS_AUTH_KEY_ESP    +AUTHORIZATION        CtrlFld
         EditBox 6      0     AFI_RC_ESP        DATE_FROM            +DATE_FROM            Century
         EditBox 7      0     AFI_RC_ESP        DATE_TO              +DATE_TO              Century
         ComboBox 8     0     DERIVED_HR_ESP    AFI_FILTERBY_ESP     +FILTER               XLatShort
         GroupBox 9     0     DERIVED_HR_ESP    HR_LBL_GRPBOX_02     +AFI02
         CheckBox 10    0     AFI_RC_ESP        AFI_ACT_MA_ESP       +GPES_AFI_ACT_MA      On:Y   Off:N
         CheckBox 11    0     AFI_RC_ESP        AFI_ACT_MG_ESP       -GPES_AFI_ACT_MG      On:Y   Off:N
         CheckBox 12    0     AFI_RC_ESP        AFI_ACT_MB_ESP       +GPES_AFI_ACT_TER     On:Y   Off:N
         CheckBox 13    0     AFI_RC_ESP        AFI_ACT_MC_ESP       -GPES_AFI_ACT_MC      On:Y   Off:N
         CheckBox 14    0     AFI_RC_ESP        AFI_ACT_MT_ESP       -GPES_AFI_ACT_MT      On:Y   Off:N
         CheckBox 15      0   AFI_RC_ESP       AFI_ACT_SA_ESP      +AFI_ACT_SA          On:Y   Off:N
         CheckBox 16      0   AFI_RC_ESP       AFI_ACT_ME_ESP      +GPES_AFI_ACT_ME     On:Y   Off:N
         CheckBox 17      0   AFI_RC_ESP       AFI_ACT_OTH_ESP     +AFI_ACT_OTH         On:Y   Off:N
         CheckBox 18      0   AFI_RC_ESP       AFI_ACT_ADT_ESP     +AFI_ACT_ADT         On:Y   Off:N
         CheckBox 16      0   AFI_RC_ESP       AFI_ACT_ADT_ESP     +AFI_ACT_ADT         On:Y   Off:N
         CheckBox 17      0   AFI_RC_ESP       AFI_ACT_ME_ESP      +GPES_AFI_ACT_ME     On:Y   Off:N
         CheckBox 18      0   AFI_RC_ESP       AFI_ACT_OTH_ESP     +AFI_ACT_OTH         On:Y   Off:N
         PushBtn 19       0   DERIVED_HR_ESP   SRCH_BTN            -SEARCH
         PushBtn->PCode
         PushBtn 20       0   DERIVED_HR_ESP   SELECT_BTN_ESP      +SELECT
         PushBtn->PCode
         PushBtn 21       0   DERIVED_HR_ESP   UNSELECT_BTN_ESP    +SELECT
         PushBtn->PCode
         ComboBox 22      0   DERIVED_HR_ESP   CHECK_PRNT_RES_ESP +CHECK_PRNT_RES_ESP   XLatShort
         PSGrid   .23     1   AFI_WRK_ESP                         [#6551,36]            Lvl 1 #5 noUpd
         EditBox .24      1   INSTALLATION     HR                 +HR                   Hide
         EditBox .25      1   AFI_WRK_ESP      OPRID              +USERID               Hide
         EditBox .26      1   AFI_WRK_ESP      RUN_CNTL_ID        +RUN_CNTL_ID          Hide
         EditBox .27      1   AFI_WRK_ESP      FILE_NAME_AFI_ESP +FILE_NAME_AFI_ESP     Hide
         EditBox .28      1   AFI_WRK_ESP      EMPLID             +EMPLID               CtrlFld
         EditBox .29      1   PERSON_NAME      NAME               +NAME                 Gray
         Related:28
         EditBox .30      1   AFI_WRK_ESP      COMPANY             +COMPANY             CtrlFld
         EditBox .31      1   COMPANY_TBL      DESCR               +DESCR               Gray
         Related:30
         EditBox .32      1   AFI_WRK_ESP      SETID               +SETID
         EditBox .33      1   AFI_WRK_ESP      DEPARTMENT          +DEPARTMENT          CtrlFld
         EditBox .34      1   DEPT_TBL         DESCR               +DESCR               Gray
         Related:33
         EditBox .35      1   AFI_WRK_ESP      SSN_EMPLOYER        +SSN_EMPLOYER
         PSGrid   .36     1   AFI_RC_EE_ESP                        [#6551,35]           Lvl 1 #5
         noInsDel
         EditBox .37      1   AFI_RC_EE_ESP    OPRID               [None ]              Hide
         EditBox .38      1   AFI_RC_EE_ESP    RUN_CNTL_ID         [None ]              Hide
         CheckBox .39     1   DERIVED_HR_ESP   SELECT_BTN          [None ]              On:Y Off:N
         CheckBox .39     1   DERIVED_HR_ESP   SELECT_BTN          -SELECT              On:Y Off:N
         EditBox .40      1   AFI_RC_EE_ESP    EMPLID              +EMPLID              Gray CtrlFld
         noPrompt
         EditBox .41      1   PERSON_NAME      NAME                +NAME                Gray
         Related:40
         ComboBox .42     1   AFI_RC_EE_ESP    AFI_SS_ACTION_ESP   +SS_ACTIONS          Gray XLatLong
         EditBox .43      1   AFI_RC_EE_ESP    ACTION_DT           +ACTION_DT           Gray Century
         ComboBox .44     1   AFI_RC_EE_ESP    AFI_PRINT_FLG_ESP   +PRINT_FLG           XLatShort




Page: AFI_RC_2_ESP
             Description    AFI RunControl 2
             Type   Standard Page
             Allow Deferred Proc. No
             Owner ID       HR Spain
             Comments       AFI RunControl page for Employees Inquires

         Type     ID    Lvl   Record           Field               Label                Attributes
         SubPage 1      0     AFI_RC_ESP                           ''                   ->
         PRCSRUNCNTL_SBP
         EditBox 2      0     DERIVED_HR_ESP   HR_XML_LABEL        -AFI                 Hide noPrompt
         EditBox 3      0     AFI_RC_ESP       AFI_FILE_NAME_ESP   -FILE_NAME_AFI_ESP   Gray
         EditBox 4      0     AFI_RC_ESP       FILE_PATH           -OUTBOUND            Gray
         PushBtn 5      0     DERIVED_HR_ESP   CLEAR_ALL_PB        +CLEAR_ALL
         PushBtn->PCode
         PSGrid   .6    1     AFI_RC_ESP                           [#6551,35]           Lvl 1 #5
         EditBox .7     1     AFI_RC_OTH_ESP   OPRID               [None ]              Hide
         EditBox .8     1     AFI_RC_OTH_ESP   RUN_CNTL_ID         [None ]              Hide
         EditBox .9     1     AFI_RC_OTH_ESP   EMPLID              +EMPLID              CtrlFld
         EditBox .10    1     AFI_RC_OTH_ESP   EMPL_RCD            -EMPL_RCD#
         EditBox .11    1     PERSON_NAME      NAME                +NAME                Gray
         Related:9
         ComboBox .12   1     AFI_RC_OTH_ESP   AFI_SS_ACTION_ESP   +SS_ACTIONS          XLatLong
         EditBox .13    1     AFI_RC_OTH_ESP   ACTION_DT           +ACTION_DT           Century
        EditBox .14    1     AFI_RC_OTH_ESP    END_DT               +END_DT              Century
        ComboBox .15   1     AFI_RC_OTH_ESP    AFI_PRINT_FLG_ESP    +PRINT_FLG           XLatShort




Page: CONTRCT_DTA_BRA
            Description    Additional Contract Data BRA
            Type   Standard Page
            Allow Deferred Proc. Yes
            Owner ID       HR Brazil
            Comments       Additional Contract Data Brazil

        Type     ID    Lvl   Record          Field                  Label                Attributes
        SubPage 1      0     EMPLMT_SRCH_GBL                        ''                   ->
        EMPL_SRCH_COMP_SBP
        ScrArea .2     1                                            [#6566,85]           Lvl 1 #1
        noInsDel noDefrr
        EditBox .3     1     CONTRACT_DATA  CONTRACT_NUM      +CONTRACT_NUM       Gray CtrlFld
        ComboBox .4    1     CONTRACT_DATA  CONTRACT_STATUS   +CONTRACT_STATUS    Gray XLatShort
        GroupBox .5    1     DERIVED_HR_BRA DURATION_BRA      +1ST_CNTRCT_PRD_BRA
        EditBox .6     1     CONTRACT_DATA  CONTRACT_BEGIN_DT +CONTRACT_BEGIN_DT noDefrr
        Century
        EditBox .7     1     DERIVED_HR_BRA    DURATION_BRA         +DURATION_BRA        noDefrr
        ComboBox .8    1     DERIVED_HR_BRA    DURATION_TYPE        [None ]              noDefrr
        XLatShort
        EditBox .9     1     CONTRACT_DATA     CONTRACT_END_DT      +CONTRACT_END_DT     noDefrr
        Century
        EditBox .10    1     FUNCLIB_HR        DEFAULT_SETID       +DEFAULT_SETID      Hide
        EditBox .11    1     CONTRACT_DATA     REG_REGION          +REG_REGION         Hide
        ScrBar   ..12 2                                            [None ]              Lvl 2 #1 Hide
        CheckBox ..13 2      CONTRCT_DTA_BRA   CONTRCT_CLAUSE_BRA +CNT_CLAUSE_BRA      On:Y Off:N
        GroupBox ..14 2      DERIVED2_HR_BRA   DURATION_BRA        +2ND_CNTRCT_PRD_BRA
        EditBox ..15 2       CONTRCT_DTA_BRA   CONTRCT_BGN_DT_BRA +CONTRCT BGN_DT_BRA noDefrr Century
        EditBox ..16 2       DERIVED2_HR_BRA   DURATION_BRA        +DURATION_BRA       noDefrr
        ComboBox ..17 2      DERIVED2_HR_BRA   DURATION_TYPE       [None ]             noDefrr
        XLatShort
        EditBox ..18 2       CONTRCT_DTA_BRA   CONTRCT_END_DT_BRA   +CONTRCT_END_DT_BRA noDefrr Century
        EditBox .3     1     CNT_JOB_BRA_VW    CONTRACT_NUM          +CONTRACT_NUM       Gray CtrlFld
        ComboBox .4    1     CNT_JOB_BRA_VW    CONTRACT_STATUS      +CONTRACT_STATUS     Gray XLatShort
        EditBox .5     1     FUNCLIB_HR        DEFAULT_SETID         +DEFAULT_SETID      Hide
        EditBox .6     1     CNT_JOB_BRA_VW    REG_REGION            +REG_REGION         Hide
        GroupBox .7    1     DERIVED_HR_BRA    DURATION_BRA          +1ST_CNTRCT_PRD_BRA
        EditBox .8     1     DERIVED_HR_BRA    CONTRACT_BEGIN_DT     +CONTRACT_BEGIN_DT noDefrr
        Century
        EditBox .9     1     CNT_JOB_BRA_VW    CONTRACT_BEGIN_DT    [None ]              Hide Century
        EditBox .10    1     DERIVED_HR_BRA    DURATION_BRA         +DURATION_BRA        noDefrr
        ComboBox .11   1     DERIVED_HR_BRA    DURATION_TYPE        [None ]              noDefrr
        XLatShort
        EditBox .12    1     DERIVED_HR_BRA    CONTRACT_END_DT      +CONTRACT_END_DT     noDefrr
        Century
        EditBox .13    1     CNT_JOB_BRA_VW    CONTRACT_END_DT     [None ]              Hide Century
        ScrBar   ..14 2                                            [None ]              Lvl 2 #1 Hide
        CheckBox ..15 2      CONTRCT_DTA_BRA   CONTRCT_CLAUSE_BRA +CNT_CLAUSE_BRA       On:Y Off:N
        GroupBox ..16 2      DERIVED2_HR_BRA   DURATION_BRA        +2ND_CNTRCT_PRD_BRA
        EditBox ..17 2       CONTRCT_DTA_BRA   CONTRCT_BGN_DT_BRA +CONTRCT BGN_DT_BRA noDefrr Century
        EditBox ..18 2       DERIVED2_HR_BRA   DURATION_BRA        +DURATION_BRA        noDefrr
        ComboBox ..19 2      DERIVED2_HR_BRA   DURATION_TYPE       [None ]              noDefrr
        XLatShort
        EditBox ..20 2       CONTRCT_DTA_BRA CONTRCT_END_DT_BRA +CONTRCT_END_DT_BRA noDefrr Century




Page: EP_TMPL_DEFN5
            Description    Template Section - Hidden
            Type   Standard Page
            Allow Deferred Proc. Yes
            Owner ID       ePerformance Management
            Comments       Template section page used to search profile items/subitems.
        Type     ID      Lvl Record              Field              Label               Attributes
        Label    1       0                                          [#4601,67]
        GroupBox 2       0   DERIVED_EP          EP_GROUP_BOX       +SEARCH_FOR_CONTENT
        ComboBox 3       0   DERIVED_EP          EP_J_ITEM_CAT_TYPE +EP_JPM_CAT_TYPE    Prompt: DESCR
        noDefrr Gray
        ComboBox 4       0     DERIVED_EP        EP_J_JP_TYPE       +HR_TM_JP_TYPE        Prompt: DESCR
        noDefrr
        EditBox 5        0     DERIVED_EP      EP_J_PROFILE_ID      +HR_TM_PROFILE_ID
        PushBtn 6        0     EP_BTN_LINK_WRK EP_SEARCH_PB         +EP_SEARCH_PB
        PushBtn->PCode
        PushBtn 7        0     EP_BTN_LINK_WRK EP_CLEAR_PB          +EP_CLEAR_PB
        PushBtn->PCode
        PSGrid   .8      1   EP_J_JP_ITEM_I                         [#4601,73]            Lvl 1 #**
        noSelUpdInsDel   MultSel
        EditBox .9       1   EP_J_JP_ITEM_I EP_ITEM_ID              +EP_ITEM_ID           Gray CtrlFld
        EditBox .10      1   EP_J_CAT_ITEM_I EP_TITLE               +EP_TITLE             Gray Related:9
        EditBox .10      1   EP_J_JP_ITEM_I EP_TITLE                +EP_TITLE             Gray
        Related:9
        HorRule 11       0                                         [None ]             Hide
        PushBtn 12       0     EP_BTN_LINK_WRK EP_SELECT_ALL_LINK +EP_SELECT_ALL_LINK HypLink->PCode
        PushBtn 13       0     EP_BTN_LINK_WRK EP_DESELECT_ALL     +EP_DESELECT_ALL
        HypLink->PCode
        PushBtn 14       0     EP_BTN_LINK_WRK EP_ADD_ITEM_PB       +EP_ADD_ITEM_PB
        PushBtn->PCode
        PushBtn 15       0     EP_BTN_LINK_WRK EP_RETURN_LINK       +EP_RET_PREV_PAGE
        HypLink->PCode




Page: HEALTH_PROV_BRA
            Description    Health Providers Brazil
            Type   Standard Page
            Allow Deferred Proc. Yes
            Owner ID       Human Resources
            Comments       Health Providers Brazil

        Type       ID    Lvl   Record          Field                Label                 Attributes
        EditBox    1     0     HEALTH_PROV_BRA HPROV_CD_BRA         +HPROV_CD_BRA         Gray
        ScrArea    .2    1                                          [#6566,130]           Lvl 1 #1
        EditBox    .3    1     HEALTH_PROV_BRA   EFFDT              +EFFDT                Century
        ComboBox   .4    1     HEALTH_PROV_BRA   EFF_STATUS         -EFF_STATUS           XLatShort
        EditBox    .5    1     HEALTH_PROV_BRA   DESCR              +DESCR
        EditBox    .6    1     HEALTH_PROV_BRA   DESCRSHORT         +DESCRSHORT
        EditBox    .7    1     HEALTH_PROV_BRA   HPROV_CNPJ_BRA     +HPROV_CNPJ_BRA
        EditBox    .8    1     HEALTH_PROV_BRA   HPROV_ANS_CD_BRA   +HPROV_ANS_CD_BRA




Page: HRS_CE_S_EDU_SBP
            Description    Education
            Type   SubPage
            Allow Deferred Proc. Yes
            Owner ID       RS Applicant Manager
            Comments       Resume Education for External Applicant. Add mode

        Type     ID      Lvl   Record            Field              Label                 Attributes
        HorRule 1        0                                          [None ]               Hide
        GroupBox 2       0     HRS_CE_WRK        GRPB_EDU           +GRPB_WRK_EXP
        GroupBox 3       0     HRS_CE_WRK        GRPB_EDU_PRI       ''
        HtmlArea 5       0     HRS_CE_WRK        SEC_INFO_EDU_PRI   [None ]               Gray
        GroupBox 6       0     HRS_CE_WRK        GRPB_EDU_SEC       ''
        HtmlArea 8       0     HRS_CE_WRK        SEC_INFO_EDU_SEC   [None ]               Gray
        EditBox 9        0     DERIVED           RECNAME_EDIT       [None ]               Hide
        HorRule 10       0                                          [None ]               Hide
        GroupBox 11      0     HRS_CE_WRK        HRS_NO_PRI_EDU_GPB +HRS_NO_PRI_EDU_GPB
        EditBox 12       0     HRS_CE_WRK        HRS_NO_PRI_EDU_MSG [None ]               Gray
        PushBtn 13       0     HRS_CE_LNK_WRK    HRS_ADD_PRIEDU_IMG +HRS_ADD_PRIEDU_IMG   ImgBtn->PCode
        PushBtn 14       0     HRS_CE_LNK_WRK    ADD_PRIMARY_EDU    [#18178,203]
        HypLink->PCode
        HorRule 15       0                                           [None ]             Hide
        GroupBox 16      0     HRS_CE_WRK       HRS_NO_SEC_EDU_GPB   +10
        EditBox 17       0     HRS_CE_WRK       HRS_NO_SEC_EDU_MSG   [None ]             Gray
        PushBtn 18       0     HRS_CE_LNK_WRK   HRS_ADD_SECEDU_IMG   +HRS_ADD_SECEDU_IMG ImgBtn->PCode
        PushBtn 19       0     HRS_CE_LNK_WRK   HRS_ADD_POSTSEC_ED   [#18178,204]
        HypLink->PCode
        ScrBar   .20     1                                           [None ]             Lvl 1 #1 noSel
        ComboBox .21     1     HRS_APP_PROFILE HIGHEST_EDUC_LVL      +HIGHEST_EDUC_LVL   XLatLong
        GroupBox .22     1     HRS_CE_WRK      HRS_PRI_EDU_GPB       ''
        PSGrid   ..23    2     HRS_APP_SCHL                          [#18178,102]        Lvl 2 #**
        noIns
        EditBox ..24     2     HRS_APP_SCHL     SCHOOL               -SCHOOL             Hide
        PushBtn ..25     2     HRS_CE_LNK_WRK   EDIT_PRIMARY_EDU     ''
        HypLink->PCode
        EditBox ..26     2     HRS_APP_SCHL    SCHOOL_TYPE           [None ]             Hide CtrlFld
        EditBox ..27     2     SCHOOL_TYPE_TBL DESCR                 -SCHOOLTYPE         Gray
        Related:26
        EditBox ..28     2     HRS_APP_SCHL     COUNTRY              +COUNTRY            Gray
        PushBtn ..29     2     HRS_CE_LNK_WRK   DEL_PRIMARY_EDU      ''
        ImgBtn->Scroll
        ScrBar   .30     1                                           [None ]             Lvl 1 #1 noSel
        EditBox .31      1     HRS_APP_PROFILE HRS_PROFILE_SEQ       [None ]             Hide
        GroupBox .32     1     HRS_CE_WRK      HRS_SEC_EDU_GPB       ''
        PSGrid   ..33    2     HRS_APP_DEG_VW                        [#18178,293]        Lvl 2 #**
        noIns
        EditBox ..34     2     HRS_APP_DEG_VW   ACCOMPLISHMENT       [None ]             Hide CtrlFld
        EditBox ..35     2     DEGREE_VW        DESCR                -DEGREE             Hide
        Related:34
        PushBtn ..36     2     HRS_CE_LNK_WRK   EDIT_SECONDARY_EDU ''
        HypLink->PCode
        EditBox ..37     2     HRS_APP_DEG_VW   MAJOR_CODE           +MAJOR_CODE         Hide CtrlFld
        noPrompt
        EditBox ..38     2     HRS_APP_DEG_VW   MAJOR                +MAJOR              Gray noPrompt
        EditBox ..39     2     HRS_APP_DEG_VW   SCHOOL               -SCHOOL             Gray
        EditBox ..40     2     HRS_APP_DEG_VW   DT_ISSUED            +DATEISSUED         Gray Century
        PushBtn ..41     2     HRS_CE_LNK_WRK   DEL_SECONDARY_EDU    ''
        ImgBtn->Scroll




Page: HRS_CE_S_HON_SBP
            Description    Honors and Awards
            Type   SubPage
            Allow Deferred Proc. Yes
            Owner ID       RS Applicant Manager
            Comments       Resume Honors and Awards for External Applicant. Add mode

        Type     ID      Lvl   Record           Field                Label               Attributes
        HorRule 1        0                                           [None ]             Hide
        GroupBox 2       0     HRS_CE_WRK       GRPB_HON_AWD         ''
        HtmlArea 4       0     HRS_CE_WRK       SEC_INFO_HONAWD      [None ]             Gray
        EditBox 5        0     DERIVED          RECNAME_EDIT         [None ]             Hide
        PushBtn 6        0     HRS_CE_LNK_WRK   ADD_HONORS_AWARDS    +ADD_HONORS_AWDS
        HypLink->PCode
        PushBtn 7        0     HRS_CE_LNK_WRK  HRS_ADD_HONAWD_IMG +HRS_ADD_HONAWD_IMG ImgLink->PCode
        HorRule 8        0                                        [None ]              Hide
        GroupBox 9       0     HRS_CE_WRK      HRS_NO_HON_AWD_SBP +HRS_NO_HON_AWD_GPB
        EditBox 10       0     HRS_CE_WRK      HRS_HON_AWD_MSG    [None ]              Gray
        ScrBar   .11     1                                        [None ]              Lvl 1 #1 noSel
        EditBox .12      1     HRS_APP_PROFILE HRS_PROFILE_SEQ    [None ]              Hide
        GroupBox .13     1     HRS_CE_WRK      HRS_HON_AWD_SBP    ''
        PSGrid   ..14    2     HRS_APP_HON_VW                     [#18178,107]         Lvl 2 #**
        noIns
        EditBox ..15     2     HRS_APP_HON_VW   ACCOMPLISHMENT       [None ]             Hide CtrlFld
        EditBox ..16     2     HONOR_AWARD_VW   DESCR                +HONOR_AWARD        Hide
        Related:15
        PushBtn ..17     2     HRS_CE_WRK       DESCR                ''
        HypLink->PCode
        EditBox ..18     2     HRS_APP_HON_VW   DT_ISSUED            +DATEISSUED         Gray Century
        EditBox ..19     2     HRS_APP_HON_VW   GRANTOR              +PRESENTED_BY       Gray
        PushBtn ..20 2         HRS_CE_LNK_WRK   DEL_HONORS_AWARDS   ''
        ImgBtn->Scroll




Page: HRS_CE_S_LANG_SBP
            Description    Languages
            Type   SubPage
            Allow Deferred Proc. Yes
            Owner ID       RS Applicant Manager
            Comments       Resume Languages for External Applicant. Add mode.

        Type     ID      Lvl   Record           Field              Label                 Attributes
        HorRule 1        0                                         [None ]               Hide
        GroupBox 2       0     HRS_CE_WRK       GRPB_LANGUAGES     ''
        HtmlArea 4       0     HRS_CE_WRK       SEC_INFO_LANGUAGES [None ]               Gray
        EditBox 5        0     DERIVED          RECNAME_EDIT       [None ]               Hide
        PushBtn 6        0     HRS_CE_LNK_WRK   ADD_LANGUAGES      +ADD_LANGUAGES
        HypLink->PCode
        PushBtn 7        0     HRS_CE_LNK_WRK   HRS_ADD_LANG_IMG    +HRS_ADD_LANG_IMG
        ImgLink->PCode
        GroupBox 8       0     HRS_CE_WRK       HRS_CE_NOLANG_GPB   +HRS_CE_NOLANG_GPB
        EditBox 9        0     HRS_CE_WRK       HRS_CE_NOLANG       [None ]              Gray
        ScrBar   .10     1                                          [None ]              Lvl 1 #1 noSel
        EditBox .11      1     HRS_APP_PROFILE HRS_PROFILE_SEQ      [None ]              Hide
        GroupBox .12     1     HRS_CE_WRK      HRS_CE_LANG_GPB      ''
        PSGrid   ..13    2     HRS_APP_LNG_VW                       [#18178,105]         Lvl 2 #**
        noIns
        EditBox ..14     2     HRS_APP_LNG_VW   ACCOMPLISHMENT      [None ]              Hide CtrlFld
        EditBox ..15     2     LANGUAGE_VW      DESCR               +LANGUAGE            Hide
        Related:14
        PushBtn ..16     2     HRS_CE_LNK_WRK   DESCR               ''
        HypLink->PCode
        ComboBox ..17    2     HRS_APP_LNG_VW SPEAK_PROFICIENCY     +SPEAK_PROFICIENCY   Gray XLatShort
        ComboBox ..18    2     HRS_APP_LNG_VW READ_PROFICIENCY      +READ_PROFICIENCY    Gray XLatShort
        ComboBox ..19    2     HRS_APP_LNG_VW WRITE_PROFICIENCY     +WRITE_PROFICIENCY   Gray XLatShort
        PushBtn ..20     2     HRS_CE_LNK_WRK DEL_LANGUAGES         ''
        ImgBtn->Scroll




Page: HRS_CE_S_LIC_SBP
            Description    Licenses and Certs.
            Type   SubPage
            Allow Deferred Proc. Yes
            Owner ID       RS Applicant Manager
            Comments       Resume Licenses and Certificates for External Applicant. Add mode.

        Type     ID      Lvl   Record           Field              Label                 Attributes
        HorRule 1        0                                         [None ]               Hide
        GroupBox 2       0     HRS_CE_WRK       GRPB_LICENSE_CERTF ''
        HtmlArea 4       0     HRS_CE_WRK       SEC_INFO_LIC_CERT [None ]                 Gray
        EditBox 5        0     DERIVED          RECNAME_EDIT       [None ]                Hide
        PushBtn 6        0     HRS_CE_LNK_WRK   ADD_LICENSE_CERTIF +ADD_LICENSE_CERTIF   HypLink->PCode
        PushBtn 7        0     HRS_CE_LNK_WRK   HRS_ADD_LICCERT    +HRS_ADD_LICCERT
        ImgLink->PCode
        HorRule 8        0                                        [None ]             Hide
        GroupBox 9       0     HRS_CE_WRK      HRS_NOLIC_CERT_GPB +HRS_NOLIC_CERT_GPB
        EditBox 10       0     HRS_CE_WRK      HRS_LIC_CERT_DESCR [None ]             Gray
        ScrBar   .11     1                                        [None ]             Lvl 1 #1 noSel
        EditBox .12      1     HRS_APP_PROFILE HRS_PROFILE_SEQ    [None ]             Hide
        GroupBox .13     1     HRS_CE_WRK      HRS_LIC_CERT_GPB   ''
        PSGrid   ..14    2     HRS_APP_LIC_VW                     [#18178,103]        Lvl 2 #**
        noIns
        EditBox ..15     2     HRS_APP_LIC_VW   ACCOMPLISHMENT      [None ]              Hide CtrlFld
        EditBox ..16     2     LIC_CERTIF_VW    DESCR               +LIC_CERT            Hide
        Related:15
        PushBtn ..17     2     HRS_CE_LNK_WRK   HRS_LIC_CERT_LNK    +HRS_LIC_CERT_LNK
        HypLink->PCode
        EditBox ..18     2     HRS_APP_LIC_VW   DT_ISSUED          -DATEISSUED         Gray Century
        EditBox ..19     2     HRS_APP_LIC_VW   LICENSE_NBR        -LICENSE#           Gray
        EditBox ..20     2     HRS_APP_LIC_VW   ISSUED_BY          +ISSUED_BY          Gray
        PushBtn ..21     2     HRS_CE_LNK_WRK   DEL_LIC_CERTIF     ''
        ImgBtn->Scroll




Page: HRS_CE_S_MEM_SBP
            Description    Memberships
            Type   SubPage
            Allow Deferred Proc. Yes
            Owner ID       RS Applicant Manager
            Comments       Resume Memberships for External Applicant. Add mode.

        Type     ID      Lvl   Record           Field              Label               Attributes
        HorRule 1        0                                         [None ]             Hide
        GroupBox 2       0     HRS_CE_WRK       GRPB_MEMBERSHIPS   ''
        HtmlArea 4       0     HRS_CE_WRK       SEC_INFO_MBRSHIP   [None ]             Gray
        EditBox 5        0     DERIVED          RECNAME_EDIT       [None ]             Hide
        PushBtn 6        0     HRS_CE_LNK_WRK   ADD_MEMBERSHIP     +ADD_MEMBERSHIP
        HypLink->PCode
        PushBtn 7        0     HRS_CE_LNK_WRK   HRS_ADD_MEM_IMG    +HRS_ADD_MEM_IMG    ImgBtn->PCode
        HorRule 8        0                                         [None ]             Hide
        GroupBox 9       0     HRS_CE_WRK       HRS_NO_MEM_GPB     +HRS_NO_MEM_GPB
        EditBox 10       0     HRS_CE_WRK       HRS_NO_MEM_MSG     [None ]             Gray
        ScrBar   .11     1                                         [None ]             Lvl 1 #1 noSel
        EditBox .12      1     HRS_APP_PROFILE HRS_PROFILE_SEQ     [None ]             Hide
        GroupBox .13     1     HRS_CE_WRK      HRS_MEM_GPB         ''
        PSGrid   ..14    2     HRS_APP_MBR_VW                      [#18178,106]        Lvl 2 #**
        noIns
        EditBox ..15     2     HRS_APP_MBR_VW   ACCOMPLISHMENT     [None ]             Hide CtrlFld
        EditBox ..16     2     MEMBERSHIP_VW    DESCR              +MEMBERSHIP         Hide
        Related:15
        PushBtn ..17     2     HRS_CE_LNK_WRK   EDIT_MEMBERSHIP    -EDIT_MEMBERSHIPS
        HypLink->PCode
        EditBox ..18     2     HRS_APP_MBR_VW   DT_ISSUED          -DATEISSUED         Gray Century
        PushBtn ..19     2     HRS_CE_LNK_WRK                      ''
        ImgBtn->Scroll




Page: HR_EE_TERMINATE
            Description    Terminate Employee
            Type   Standard Page
            Allow Deferred Proc. Yes
            Owner ID       eProfile Manager Desktop
            Comments       Self Service page for manager role to terminate an employee

        Type     ID      Lvl Record             Field              Label               Attributes
        EditBox 1        0   DERIVED_HR         ROLEUSER           [None ]             Hide
        EditBox 2        0   DERIVED_HR         ACTION_DT_SS       +TERMDATE           noDefrr
        Century
        EditBox 2        0     DERIVED_HR       ACTION_DT_SS       +TERMDATE2          noDefrr
        Century
        EditBox 3        0     DERIVED_HR       EFFDT              [None ]             noDefrr Hide
        Century
        ComboBox 4       0     DERIVED_HR       ACTION_REASON_SS   +ACTNREASONTER      Prompt: DESCR
        PushBtn 5        0     HR_LINK_WRK      SUBMIT_PB          -SUBMIT PB
        PushBtn->PCode
        EditBox 6        0     DERIVED_WF       NAME               [None ]             Gray noPrompt
        HtmlArea 7       0     HR_LBL_WRK       HR_WF_HTMLAREA     [None ]             Gray
        Label    8       0                                         [#18032,65]
        EditBox 9        0     HR_LBL_WRK       HR_EMAIL_SUBJECT   [None ]             Hide
        EditBox 10       0     HR_LBL_WRK       HR_EMAIL_TEXT      [None ]             Hide
        EditBox 11       0     DERIVED_HR_DR    TRANSACTION_NAME   [None ]             Hide
        EditBox 12       0     DERIVED_HR_DR    PNLGRPNAME         [None ]             Hide
        EditBox 13       0     HR_LBL_WRK       HR_EMAIL_LINK      [None ]             Hide
        EditBox 14       0     HR_LBL_WRK       HR_REQ_FIELD_LBL   [None ]             Gray
        EditBox 15     0   DERIVED_HR      ACTION                   [None ]               Hide noPrompt
        PushBtn 16     0   DERIVED_CO      RETURN_TRANSFER          [#18033,31]
        HypLink->PCode enableOnDispOnly
        SubPage 17     0   EOPP_SCRTN_WRK                           ''                    ->
        EOPP_SCRETURN_SBP
        ScrBar   .18   1                                            [None ]               Lvl 1 #1 noSel
        Hide
        EditBox .19    1   HR_TERM_DAT     EMPLID                   +EMPLID               Gray noPrompt
        EditBox .20    1   HR_TERM_DAT     EMPL_RCD                 [None ]               Hide CtrlFld
        Zero noPrompt
        EditBox .21    1   WF_CURRENT_JOB JOBCODE                   [None ]               Hide CtrlFld
        Related:20 noPrompt
        EditBox .22    1   WF_CURRENT_JOB SETID_JOBCODE             [None ]               Hide
        Related:20 noPrompt
        EditBox .23    1   JOBCODE_TBL     DESCR                    +JOB_TITLE            Gray
        Related:21 noPrompt
        EditBox .24    1   DERIVED_HR      SETID                    [None ]               Hide noPrompt
        ComboBox .25   1   HR_TERM_DAT     ACTION                   [None ]               Prompt:
        ACTION_DESCRSHORT Hide
        PushBtn .26    1   DERIVED_HR      RETURN_DIR_RPTS          +RETURN
        HypLink->InternalLink enableOnDispOnly




Page: JOBCD_COMP_RATE
            Description    Job Code Comp Rate Panel
            Type   Standard Page
            Allow Deferred Proc. Yes
            Owner ID       HR Core Objects
            Comments       This panel is used to setup default base comp rate codes for job cod
                   es.

        Type     ID    Lvl   Record            Field                Label                 Attributes
        SubPage 1      0     DERIVED                                'SAL_PROMPTS_SBP'     ->
        SAL_PROMPTS_SBP
        SubPage 2      0     JOBCODE_TBL                            'JOBCD_TBLHDR_SBP'    ->
        JOBCD_TBLHDR_SBP
        EditBox 3      0     WCS_RATES_WRK     COMP_RATECD          [None ]               Hide
        EditBox 4      0     WCS_RATES_WRK     EFFDT_OTH            [None ]               Hide Century
        ScrArea .5     1                                            [#1000,747]           Lvl 1 #1
        EditBox .6     1     JOBCODE_TBL    DESCR                   +DESCR                Gray
        EditBox .7     1     JOBCODE_TBL    EFFDT                   +EFFDT                Gray Century
        ComboBox .8    1     JOBCODE_TBL    EFF_STATUS              -EFF_STATUS           Gray XLatShort
        GroupBox .9    1     DERIVED_HR_CMP JOB_RATIO               +JOB_RATIO
        EditBox .10    1     JOBCODE_TBL    SAL_RANGE_MIN_RATE      -SAL_RANGE_MIN_RATE   Commas
        EditBox .11    1     JOBCODE_TBL    SAL_RANGE_MID_RATE      -SAL_RANGE_MID_RATE   Commas
        EditBox .12    1     JOBCODE_TBL    SAL_RANGE_MAX_RATE      -SAL_RANGE_MAX_RATE   Commas
        EditBox .13    1     JOBCODE_TBL    SAL_RANGE_CURRENCY      -SAL_RANGE_CURR       Commas
        EditBox .14    1     JOBCODE_TBL    SAL_RANGE_FREQ          -SAL_RANGE_FREQ       CtrlFld
        Commas
        EditBox .15    1     FREQUENCY_TBL     DESCRSHORT           [None ]               Gray
        Related:14 Commas
        GroupBox .16   1     HR_LBL_WRK        SALPLN_GRD_STP_LBL   +SALPLN_GRD_STP_LBL
        EditBox .17    1     JOBCODE_TBL       SETID_SALARY         -SETID_SALARY
        EditBox .18    1     GVT_DERIVED_LBL   GVT_PAY_PLAN_LBL     +GVT_PAY_PLAN_LBL     Hide
        EditBox .19    1     JOBCODE_TBL       GVT_PAY_PLAN         [None ]               CtrlFld
        EditBox .20    1     HR_LBL_WRK        SAL_PLAN_LBL         +SALPLN_GRD_STP_LBL   Hide
        EditBox .21    1     JOBCODE_TBL       SAL_ADMIN_PLAN       [None ]               CtrlFld
        EditBox .22    1     JOBCODE_TBL       GRADE                [None ]               CtrlFld
        EditBox .23    1     JOBCODE_TBL       STEP                 [None ]
        GroupBox .24   1     DERIVED_IC_GBL    MILITARY             -MILITARY
        EditBox .25    1     JOBCODE_TBL       MILITARY_SERVICE     -MILITARY_SERVICE     CtrlFld
        EditBox .26    1     MIL_SERVICE_TBL   DESCRSHORT           [None ]               Gray
        Related:25
        EditBox .27    1     JOBCODE_TBL       MIL_RANK             -MIL_RANK             CtrlFld
        EditBox .28    1     MIL_RANK_TBL      DESCRSHORT           [None ]               Gray
        Related:27
        EditBox .29    1     GVT_DERIVED_LBL GVT_HR_MTH_LBL         +GVT_HR_MTH_LBL       Hide
        EditBox .30    1     GVT_DERIVED_LBL GVT_BIWKLY_LBL         -GVT_BIWKLY_LBL       Hide
        EditBox .31    1     GVT_DERIVED_LBL GVT_HR_MTH_LBL         -GVT_HR_MTH_LBL       Hide
EditBox .32    1   GVT_DERIVED_LBL GVT_ANNUAL_LBL    -GVT_ANNUAL_LBL    Hide
EditBox .33    1   GVT_DERIVED_LBL GVT_MINIMUM_LBL   +GVT_MINIMUM_LBL   Hide
EditBox .34    1   GVT_DERIVED_LBL GVT_MID_LBL       +GVT_MID_LBL       Hide
EditBox .35    1   GVT_DERIVED_LBL GVT_MAXIMUM_LBL   +GVT_MAXIMUM_LBL   Hide
EditBox .36    1   SAL_GRADE_TBL   MID_RT_HOURLY     [None ]            Gray
Related:22 Commas
EditBox .37    1   SAL_GRADE_TBL   CURRENCY_CD       [None ]            Gray
Related:22
EditBox .38    1   SAL_GRADE_TBL   MID_RT_DAILY      -DAILY             Gray
Related:22 Commas
EditBox .39    1   SAL_GRADE_TBL   CURRENCY_CD       [None ]            Gray
Related:22
EditBox .40    1   SAL_GRADE_TBL   MID_RT_MONTHLY    [None ]            Gray
Related:22 Commas
EditBox .41    1   SAL_GRADE_TBL   CURRENCY_CD       [None ]            Gray
Related:22
EditBox .42    1   SAL_GRADE_TBL   MID_RT_ANNUAL     [None ]            Gray
Related:22 Commas
EditBox .43    1   SAL_GRADE_TBL   CURRENCY_CD       [None ]            Gray
Related:22
EditBox .36    1   SAL_GRADE_VW2   MID_RT_HOURLY     [None ]            Gray
Related:22 Commas
EditBox .37    1   SAL_GRADE_VW2   CURRENCY_CD       [None ]            Gray
Related:22
EditBox .38    1   SAL_GRADE_VW2   MID_RT_DAILY      -DAILY             Gray
Related:22 Commas
EditBox .39    1   SAL_GRADE_VW2   CURRENCY_CD       [None ]            Gray
Related:22
EditBox .40    1   SAL_GRADE_VW2   MID_RT_MONTHLY    [None ]            Gray
Related:22 Commas
EditBox .41    1   SAL_GRADE_VW2   CURRENCY_CD       [None ]            Gray
Related:22
EditBox .42    1   SAL_GRADE_VW2   MID_RT_ANNUAL     [None ]            Gray
Related:22 Commas
EditBox .43    1   SAL_GRADE_VW2    CURRENCY_CD      [None ]            Gray
Related:22
EditBox .44    1   GVT_SAL_GRD_VW MIN_RT_HOURLY      [None ]            Gray
Related:22 Currency Commas
EditBox .45    1   GVT_SAL_GRD_VW GVT_MIN_RT_BIWK    [None ]            Gray
Related:22 Currency Commas
EditBox .46    1   GVT_SAL_GRD_VW MIN_RT_MONTHLY     [None ]            Gray
Related:22 Currency Commas
EditBox .47    1   GVT_SAL_GRD_VW MIN_RT_ANNUAL      [None ]            Gray
Related:22 Currency Commas
EditBox .48    1    GVT_SAL_GRD_VW MID_RT_HOURLY     [None ]            Gray
Related:22 Currency Commas
EditBox .49    1   GVT_SAL_GRD_VW GVT_MID_RT_BIWK    [None ]            Gray
Related:22 Currency Commas
EditBox .50    1   GVT_SAL_GRD_VW MID_RT_MONTHLY     [None ]            Gray
Related:22 Currency Commas
EditBox .51    1   GVT_SAL_GRD_VW MID_RT_ANNUAL      [None ]            Gray
Related:22 Currency Commas
EditBox .52    1   GVT_SAL_GRD_VW MAX_RT_HOURLY      [None ]            Gray
Related:22 Currency Commas
EditBox .53    1   GVT_SAL_GRD_VW GVT_MAX_RT_BIWK    [None ]            Gray
Related:22 Currency Commas
EditBox .54    1   GVT_SAL_GRD_VW MAX_RT_MONTHLY     [None ]            Gray
Related:22 Currency Commas
EditBox .55    1   GVT_SAL_GRD_VW MAX_RT_ANNUAL      [None ]            Gray
Related:22 Currency Commas
EditBox .56    1   SAL_PLAN_TBL    CURRENCY_CD       [None ]            Hide
Related:21 MultCurr Currency Commas
SecPage .57    1                                     [Image]            ->
CURRENCY_OTHER Hide
PSGrid   ..58 2    JBCD_CMP_RT2_VW                   [#1010,1153]       Lvl 2 #**
noSel
EditBox ..59 2     JBCD_CMP_RT2_VW COMP_RATECD       -COMP_RATECD       CtrlFld
PushBtn ..60 2     DERIVED_HR      DETAIL_BUTTON     -SHOW_DETAILS
HypLink->PCode
EditBox ..61 2     JBCD_CMP_RT2_VW COMPRATE          -COMPRATE          Commas
EditBox ..62 2     JBCD_CMP_RT2_VW CURRENCY_CD       -CURRENCY_CD
        EditBox ..63     2     JBCD_CMP_RT2_VW   COMP_FREQUENCY     +FREQUENCY
        EditBox ..64     2     JBCD_CMP_RT2_VW   COMP_RATE_POINTS   -COMP_RATE_POINTS
        EditBox ..65     2     JBCD_CMP_RT2_VW   COMP_PCT           -COMP_PCT
        EditBox ..66     2     JBCD_CMP_RT2_VW   RATE_CODE_GROUP    -RATE_CODE_GROUP
        CheckBox ..67    2     JBCD_CMP_RT2_VW   FTE_INDICATOR      -FTE_INDICATOR      On:Y Off:N
        EditBox ..68     2     COMP_RATECD_TBL   COMPRATE           -COMPRATE           Hide
        Related:59
        SecPage ..69     2                                          [Image]             ->
        CURRENCY_OTHER   noDefrr Hide
        EditBox ..70     2   COMP_RATECD_TBL CURRENCY_CD            +CURRENCY_CD        Hide
        Related:59
        EditBox ..71     2     COMP_RATECD_TBL COMP_FREQUENCY       +FREQUENCY          Hide
        Related:59
        PSGrid   ..72    2     SAL_RATECD_TBL                       [#1010,1152]        Lvl 2 #**
        noSelUpdIns
        EditBox ..73     2     SAL_RATECD_TBL    EFFDT              -EFFDT              Hide CtrlFld
        Century
        EditBox ..74     2     SAL_RATECD_TBL    COMP_RATECD        -COMP_RATECD        Gray CtrlFld
        EditBox ..75     2     SAL_RATECD_TBL    COMP_EFFSEQ        -COMP_EFFSEQ        Gray Zero
        PushBtn ..76     2     DERIVED_HR        DETAIL_BUTTON2     -DETAIL_BUTTON
        HypLink->PCode
        EditBox ..77     2   SAL_RATECD_TBL      COMPRATE           -COMPRATE           Gray
        SecPage ..78     2                                          [Image]             ->
        CURRENCY_OTHER   noDefrr Hide
        EditBox ..79     2   SAL_RATECD_TBL      CURRENCY_CD        -CURRENCY_CD        Gray
        EditBox ..80     2   SAL_RATECD_TBL      COMP_FREQUENCY     +FREQUENCY          Gray
        EditBox ..81     2   SAL_RATECD_TBL      COMP_RATE_POINTS   -COMP_RATE_POINTS   Gray
        EditBox ..82     2   SAL_RATECD_TBL      COMP_PCT           -COMP_PCT           Gray
        EditBox ..83     2   SAL_RATECD_TBL      RATE_CODE_GROUP    -RATE_CODE_GROUP    Gray
        EditBox ..84     2   SAL_RATECD_TBL      HOURLY_RT          -HOURLY_RT          Hide
        EditBox ..85     2   SAL_RATECD_TBL      DAILY_RT           -DAILY_RT           Hide
        EditBox ..86     2   SAL_RATECD_TBL      MONTHLY_RT         -MONTHLY_RT         Hide
        EditBox ..87     2   SAL_RATECD_TBL      ANNUAL_RT          -ANNUAL_RT          Hide




Page: TRN_T_ACT_PLAN_ESP
            Description    FT Training Plan
            Type   Standard Page
            Allow Deferred Proc. Yes
            Owner ID       HR Spain
            Comments       Training Plan for Tripartite Foundation

        Type     ID      Lvl   Record            Field              Label               Attributes
        EditBox 1        0     TRN_T_SIMUL_ESP   COMPANY            +COMPANY            Gray CtrlFld
        EditBox 2        0     COMPANY_TBL       DESCR              [None ]             Gray Related:1
        EditBox 3        0     COMPANY_TBL       FISCAL_ID_CD       -FISCAL_ID_CD       Gray
        Related:1
        ComboBox 4       0     TRN_T_SIMUL_ESP YEARCD            -YEAR                  Gray XLatShort
        EditBox 5        0     TRIPARTITE_WRK COURSE_START_DT     [None ]                Gray Century
        EditBox 6        0     TRIPARTITE_WRK COURSE_END_DT       [None ]                Gray Century
        GroupBox 7       0     DERIVED_HR_ESP HR_LBL_GRPBOX_03    +TRN
        CheckBox 8       0     TRN_T_SIMUL_ESP TRN_T_RLT_REPT_ESP +REPORTED             On:Y Off:N
        ComboBox 9       0     TRN_T_SIMUL_ESP TRN_T_RLT_VAL_ESP +VALUE                 XLatLong
        CheckBox 10      0     TRN_T_SIMUL_ESP TRN_T_RLT_RSLT_ESP +REPORTED             On:Y Off:N
        EditBox 7        0     TRN_T_SIMUL_ESP CURRENCY_CD        [None ]               Hide
        GroupBox 8       0     DERIVED_HR_ESP HR_LBL_GRPBOX_03    +TRN
        CheckBox 9       0     TRN_T_SIMUL_ESP TRN_T_RLT_REPT_ESP +REPORTED              On:Y Off:N
        ComboBox 10      0     TRN_T_SIMUL_ESP TRN_T_RLT_VAL_ESP +VALUE                  XLatLong
        EditBox 11       0     TRN_T_SIMUL_ESP TRN_T_RLT_DATE_ESP +REPORTED              Century
        EditBox 12       0     TRN_T_SIMUL_ESP CURRENCY_CD        [None ]                Hide
        CheckBox 12      0     TRN_T_SIMUL_ESP TRN_T_RLT_RSLT_ESP +REPORTED              On:Y Off:N
        PSGrid   .13     1     TRN_T_SIMUL_ESP                    [#6551,105]            Lvl 1 #10
        EditBox .14      1     TRN_T_ACT_CMP    COMPANY           [None ]                Hide
        ComboBox .15     1     TRN_T_ACT_CMP   YEARCD             [None ]               Hide XLatShort
        EditBox .16      1     TRN_T_ACT_CMP    TRN_T_ACTION_ESP  +TRN_ACTION            CtrlFld
        EditBox .17      1     TRN_T_ACT_ESP    DESCR             +DESCR                 Gray
        Related:16
        ComboBox .18     1     TRN_T_ACT_CMP     TRN_T_ACT_STAT_ESP +STATUS             XLatShort
Page: TRN_T_CRTE_XML_ESP
            Description    FT XML Generation
            Type   Standard Page
            Allow Deferred Proc. No
            Owner ID       HR Spain
            Comments       Tripartite Foundation. XML File Generation

        Type     ID    Lvl Record          Field                 Label                 Attributes
        EditBox 1      0   XML_DEFN        XMLFILE_ID            +XML_FILE_ID          Gray CtrlFld
        EditBox 2      0   XML_DEFN        DESCR                 [None ]               Gray Related:1
        EditBox 3      0   XML_DEFN        XML_SET               +XMLFILE_SET_ID       Hide CtrlFld
        EditBox 4      0   XML_SET_TBL     DESCR                 [None ]               Gray Related:3
        ComboBox 5     0   XML_DEFN        STATUS_ESP            -STATUS               Gray XLatLong
        ComboBox 3     0   XML_DEFN        STATUS_ESP            -STATUS               Gray XLatLong
        EditBox 4      0   XML_DEFN        XML_SET               +XMLFILE_SET_ID       Hide CtrlFld
        EditBox 5      0   XML_SET_TBL     DESCR                 [None ]               Gray Related:4
        EditBox 6      0   XML_DEFN        XML_TEMPLATE_ID       +XML_TEMPLATE         Hide CtrlFld
        EditBox 7      0   XML_TEMPLT_TBL DESCR                  [None ]               Gray Related:6
        GroupBox 8     0   DERIVED_HR_ESP XML_GPBX_LBL_ESP       +FILTER
        EditBox 9      0   XML_DEFN        FROM_DATE             +FROM_DATE            Century
        EditBox 10     0   XML_DEFN        TO_DATE               +TO_DATE2             Century
        PushBtn 11     0   DERIVED_HR_ESP SRCH_BTN               -SEARCH
        PushBtn->PCode
        PushBtn 12     0   DERIVED_HR_ESP SELECT_BTN_ESP         -SELECT
        PushBtn->PCode
        PushBtn 13     0   DERIVED_HR_ESP UNSELECT_BTN_ESP       -SELECT
        PushBtn->PCode
        GroupBox 14    0   DERIVED_HR_ESP XML_GPBX_LBL3_ESP      +RESULTS
        GroupBox 12    0   DERIVED_HR_ESP XML_GPBX_LBL3_ESP      +RESULTS
        PushBtn 13     0   DERIVED_HR_ESP SELECT_BTN_ESP         -SELECT
        PushBtn->PCode
        PushBtn 14     0   DERIVED_HR_ESP UNSELECT_BTN_ESP       -SELECT
        PushBtn->PCode
        PSGrid   .15   1   XML_ITEM                              [#6551,102]           Lvl 1 #25
        noInsDel noSort MultSel SelCompChange noDefrr
        EditBox .16    1   XML_ITEM        XMLFILE_ID            +XML_FILE_ID          Hide
        EditBox .17    1   XML_ITEM        KEY1_FLD_VAL          -COURSE               Gray CtrlFld
        EditBox .18    1   COURSE_TBL      DESCR                 +DESCR                Gray
        Related:17
        EditBox .19    1   XML_ITEM        KEY2_FLD_VAL          -SESSION_NBR          Gray CtrlFld
        EditBox .20    1   DERIVED_HR_ESP DESCR1                 +DESCR                Gray
        EditBox .21    1   XML_ITEM        KEY3_FLD_VAL          +KEY3_FLD_VAL         Gray
        EditBox .22    1   XML_ITEM        XML_NODE_ID           +NODE_ID              Hide CtrlFld
        ComboBox .23   1   XML_ITEM        XML_NODE_STATUS       +STATUS               Gray XLatLong
        EditBox .24    1   XML_NODE_TBL    DESCR50               +DESCR50              Gray
        Related:22




Page: TRN_T_EMPL_DAT_ESP
            Description    Employee Tripartite Data
            Type   Standard Page
            Allow Deferred Proc. Yes
            Owner ID       HR Spain
            Comments       Employee Triapartite Additional Data

        Type     ID     Lvl Record          Field                Label                 Attributes
        SubPage 1       0   PERSON_NPC_VW                        ''                    ->
        PERS_SRCH_SBP
        ScrArea .2      1                                        [#6551,14]            Lvl 1 #1
        EditBox .3      1   TRN_T_EMP_ESP   EFFDT                +EFFDT                Century
        ComboBox .4     1   TRN_T_EMP_ESP   EFF_STATUS           -EFF_STATUS           XLatShort
        ComboBox .5     1   TRN_T_EMP_ESP   TRN_T_FNC_AREA_ESP   +FUNCTIONAL_AREA      XLatLong
        ComboBox .6     1   TRN_T_EMP_ESP   CATEGORY_FORCEM      -PROFESSIONAL_CAT     XLatLong
        ComboBox .7     1   TRN_T_EMP_ESP   TRN_T_STDY_LVL_ESP   +STUDY_LEVEL          XLatLong
        CheckBox .8     1   TRN_T_EMP_ESP   TRN_T_CHK_MBR_ESP    +TRN_T_CHK_MBR_ESP    On:Y Off:N
        EditBox .9      1   TRN_T_EMP_ESP   TRN_T_QLIFICTN_ESP   +OTHR_QUALIFICATION
Page: TRN_T_FACILITY_TBL
            Description    FT Training Facility Data
            Type   Standard Page
            Allow Deferred Proc. Yes
            Owner ID       HR Spain
            Comments       Special Data for Facility

        Type       ID    Lvl   Record            Field            Label                     Attributes
        EditBox    1     0     TRN_FACIL_TBL     FACILITY         +FACILITY                 Gray CtrlFld
        EditBox    2     0     OPR_DEF_TBL_HR    BUSINESS_UNIT    [None ]                   Hide
        EditBox    3     0     TRN_FACIL_TBL     DESCR            [None ]                   Gray Related:1
        EditBox    2     0     TRN_FACIL_TBL     DESCR            [None ]                   Gray Related:1
        EditBox    3     0     OPR_DEF_TBL_HR    BUSINESS_UNIT    [None ]                   Hide
        ScrBar     .4    1                                        [None ]                   Lvl 1 #1 Hide
        CheckBox   .5    1     TRN_T_FACIL_ESP TRN_T_FAC_TYPE_ESP +DISTANCE                 On:Y Off:N
        noDefrr
        GroupBox   .6    1     DERIVED_HR_ESP    HR_LBL_GRPBOX_01     +TRN_FACILITY
        EditBox    .7    1     TRN_T_FACIL_ESP   FISCAL_ID_CD         -FISCAL_ID_CD
        EditBox    .5    1     TRN_T_FACIL_ESP   FISCAL_ID_CD         -FISCAL_ID_CD
        CheckBox   .6    1     TRN_T_FACIL_ESP   TRN_T_FAC_TYPE_ESP   +DISTANCE             On:Y Off:N
        noDefrr
        GroupBox   .7    1     DERIVED_HR_ESP HR_LBL_GRPBOX_01        +TRN_FACILITY
        EditBox    .8    1     TRN_T_FACIL_ESP PHONE1                 +PHONE1                CtrlFld
        ComboBox   .9    1     TRN_T_PHONES_VW PHONE_TYPE             [None ]               Gray Related:8
        XLatLong
        EditBox    .10   1     TRN_T_FACIL_ESP PHONE2                  +PHONE2           CtrlFld
        ComboBox   .11   1     TRN_T_PHONES_VW PHONE_TYPE             [None ]           Gray Related:10
        XLatLong
        GroupBox   .12   1     DERIVED_HR_ESP HR_LBL_GRPBOX_02         +TRN_FACILITY
        EditBox    .13   1     TRN_T_FACIL_ESP ADDRESS100              +ADDRESS          CtrlFld
        EditBox    .14   1     TRN_T_FACIL_ESP POSTAL                  +POSTAL           CtrlFld
        EditBox    .15   1     TRN_T_FACIL_ESP CITY                    +CITY             CtrlFld
        EditBox    .16   1     TRN_T_FACIL_ESP FAX                     +FAX              CtrlFld
        ComboBox   .17   1     TRN_T_PHONES_VW PHONE_TYPE             [None ]           Gray Related:16
        XLatLong
        EditBox    .18   1     TRN_T_FACIL_ESP MAIL_POSTAL_ESP         +BOX
        EditBox    .19   1     TRN_T_FACIL_ESP EMAIL_ADDR              +EMAIL_ADDR
        EditBox    .12   1     TRN_T_FACIL_ESP FAX                     +FAX              CtrlFld
        ComboBox   .13   1     TRN_T_PHONES_VW PHONE_TYPE             [None ]           Gray Related:12
        XLatLong
        EditBox    .14   1     TRN_T_FACIL_ESP   MAIL_POSTAL_ESP      +BOX
        EditBox    .15   1     TRN_T_FACIL_ESP   EMAIL_ADDR           +EMAIL_ADDR
        GroupBox   .16   1     DERIVED_HR_ESP    HR_LBL_GRPBOX_02     +TRN_FACILITY
        EditBox    .17   1     TRN_T_FACIL_ESP   ADDRESS100           +ADDRESS              CtrlFld
        EditBox    .18   1     TRN_T_FACIL_ESP   POSTAL               +POSTAL               CtrlFld
        EditBox    .19   1     TRN_T_FACIL_ESP   CITY                 +CITY                 CtrlFld




Page: TRN_T_INTE_MTH_ESP
            Description    FT Long Distance Data
            Type   Standard Page
            Allow Deferred Proc. Yes
            Owner ID       HR Spain
            Comments       Tripartite Foundation. Information about long distance method.

        Type     ID    Lvl     Record          Field                  Label                 Attributes
        SubPage 1      0       CRSE_SESSN_SRCH                        ''                    ->
        TRN_T_SESSN2_SBP
        HorRule 2      0                                              [None ]
        GroupBox 3     0       TRN_T_SESSN_ESP   TRN_T_VENDOR2_ESP    -TRN_T_VENDOR2_ESP
        EditBox 4      0       TRN_T_SESSN_ESP   TRN_T_VENDOR3_ESP    -TRN_T_VENDOR3_ESP    CtrlFld
        EditBox 5      0       TRN_VENDOR_TBL    DESCR                [None ]               Gray Related:4
        EditBox 6      0       TRN_T_SESSN_ESP   TRN_T_VEN_CIF3_ESP   -TRN_T_VEN_CIF3_ESP   Hide
        GroupBox 7     0       TRN_T_SESSN_ESP   TRN_T_FACILTY2_ESP   -TRN_T_FACILTY2_ESP
        EditBox 8      0       TRN_T_SESSN_ESP   TRN_T_FACILTY3_ESP   -TRN_T_FACILTY3_ESP   CtrlFld
        EditBox 9     0      TRN_FACIL_TBL     DESCR                [None ]               Gray Related:8
        EditBox 10    0      TRN_T_SESSN_ESP   TRN_T_FAC_CIF3_ESP   -TRN_T_FAC_CIF3_ESP   Hide
        GroupBox 11   0      TRN_T_SESSN_ESP   TRN_T_DAYS2_ESP      +SCHEDULE
        CheckBox 12   0      TRN_T_SESSN_ESP   TRN_T_MON2_ESP       +TRN_T_MON2_ESP       On:Y Off:N
        CheckBox 13   0      TRN_T_SESSN_ESP   TRN_T_TUE2_ESP       +TRN_T_TUE2_ESP       On:Y Off:N
        CheckBox 14   0      TRN_T_SESSN_ESP   TRN_T_WED2_ESP       +TRN_T_WED2_ESP       On:Y Off:N
        CheckBox 15   0      TRN_T_SESSN_ESP   TRN_T_SUN2_ESP       +TRN_T_SUN2_ESP       On:Y Off:N
        CheckBox 16   0      TRN_T_SESSN_ESP   TRN_T_THURS2_ESP     +TRN_T_THURS2_ESP     On:Y Off:N
        CheckBox 17   0      TRN_T_SESSN_ESP   TRN_T_FRI2_ESP       +TRN_T_FRI1_ESP       On:Y Off:N
        CheckBox 18   0      TRN_T_SESSN_ESP   TRN_T_SAT2_ESP       +TRN_T_SAT2_ESP       On:Y Off:N
        EditBox 19    0      TRN_T_SESSN_ESP   TRN_T_DAYS2_ESP      [None ]               Hide
        EditBox 20    0      TRN_T_SESSN_ESP   TRN_T_ST_MRNG3_ESP   +TRN_T_ST_MRNG3_ESP   noDefrr
        EditBox 21    0      TRN_T_SESSN_ESP   TRN_T_ET_MRNG3_ESP   +TRN_T_ET_MRNG3_ESP   noDefrr
        EditBox 22    0      TRN_T_SESSN_ESP   TRN_T_ST_EVNG3_ESP   +TRN_T_ST_EVNG3_ESP   noDefrr
        EditBox 23    0      TRN_T_SESSN_ESP   TRN_T_ET_EVNG3_ESP   +TRN_T_ET_EVNG3_ESP   noDefrr
        EditBox 24    0      TRN_T_SESSN_ESP   TRN_T_TRNG_HR3_ESP   +TRN_T_TRNG_HR3_ESP
        EditBox 2     0      TRN_T_SESSN_ESP   TRN_T_DAYS2_ESP      [None ]               Hide
        HorRule 3     0                                             [None ]
        GroupBox 4    0      TRN_T_SESSN_ESP   TRN_T_DAYS2_ESP      +SCHEDULE
        EditBox 5     0      TRN_T_SESSN_ESP   TRN_T_ST_MRNG3_ESP   +TRN_T_ST_MRNG3_ESP   noDefrr
        EditBox 6     0      TRN_T_SESSN_ESP   TRN_T_ET_MRNG3_ESP   +TRN_T_ET_MRNG3_ESP   noDefrr
        EditBox 7     0      TRN_T_SESSN_ESP   TRN_T_TRNG_HR3_ESP   +TRN_T_TRNG_HR3_ESP
        EditBox 8     0      TRN_T_SESSN_ESP   TRN_T_ST_EVNG3_ESP   +TRN_T_ST_EVNG3_ESP   noDefrr
        EditBox 9     0      TRN_T_SESSN_ESP   TRN_T_ET_EVNG3_ESP   +TRN_T_ET_EVNG3_ESP   noDefrr
        CheckBox 10   0      TRN_T_SESSN_ESP   TRN_T_MON2_ESP       +TRN_T_MON2_ESP       On:Y Off:N
        CheckBox 11   0      TRN_T_SESSN_ESP   TRN_T_TUE2_ESP       +TRN_T_TUE2_ESP       On:Y Off:N
        CheckBox 12   0      TRN_T_SESSN_ESP   TRN_T_WED2_ESP       +TRN_T_WED2_ESP       On:Y Off:N
        CheckBox 13   0      TRN_T_SESSN_ESP   TRN_T_THURS2_ESP     +TRN_T_THURS2_ESP     On:Y Off:N
        CheckBox 14   0      TRN_T_SESSN_ESP   TRN_T_FRI2_ESP       +TRN_T_FRI1_ESP       On:Y Off:N
        CheckBox 15   0      TRN_T_SESSN_ESP   TRN_T_SAT2_ESP       +TRN_T_SAT2_ESP       On:Y Off:N
        CheckBox 16   0      TRN_T_SESSN_ESP   TRN_T_SUN2_ESP       +TRN_T_SUN2_ESP       On:Y Off:N
        GroupBox 17   0      TRN_T_SESSN_ESP   TRN_T_VENDOR2_ESP    -TRN_T_VENDOR2_ESP
        EditBox 18    0      TRN_T_SESSN_ESP   TRN_T_VENDOR3_ESP    -TRN_T_VENDOR3_ESP    CtrlFld
        EditBox 19    0      TRN_VENDOR_TBL    DESCR                [None ]               Gray
        Related:18
        EditBox 20    0      TRN_T_SESSN_ESP   TRN_T_VEN_CIF3_ESP   -TRN_T_VEN_CIF3_ESP Hide
        GroupBox 21   0      TRN_T_SESSN_ESP   TRN_T_FACILTY2_ESP   -TRN_T_FACILTY2_ESP
        EditBox 22    0      TRN_T_SESSN_ESP   TRN_T_FACILTY3_ESP   -TRN_T_FACILTY3_ESP CtrlFld
        EditBox 23    0      TRN_FACIL_TBL     DESCR                [None ]             Gray
        Related:22
        EditBox 24    0      TRN_T_SESSN_ESP TRN_T_FAC_CIF3_ESP -TRN_T_FAC_CIF3_ESP       Hide
        ScrArea .25   1                                         [#6551,75]                Lvl 1 #**
        EditBox .26   1      TRN_T_INS_I_ESP INSTRUCTOR_ID      -INSTRUCTOR_ID            CtrlFld
        EditBox .27   1      TRN_INSTR_SRCH NAME                [None ]                   Gray
        Related:26
        EditBox .28   1      TRN_T_INS_I_ESP TRN_T_HOURS_ESP        -NUMBER_HOURS
        HorRule 29    0                                             [None ]               Hide
        GroupBox 30   0      DERIVED_HR_ESP HR_LBL_GRPBOX_03        +FT01
        EditBox 31    0      TRN_T_SESSN_ESP TRN_T_BGN_CRS_ESP      +BEGIN_COURSE         Century
        EditBox 32    0      TRN_T_SESSN_ESP TRN_T_END_CRS_ESP      +END_COURSE           Century




Page: TRN_T_LDIS_MTH_ESP
            Description    FT Long Distance Data
            Type   Standard Page
            Allow Deferred Proc. Yes
            Owner ID       HR Spain
            Comments       Tripartite Foundation. Information about long distance method

        Type     ID    Lvl   Record          Field                  Label                 Attributes
        SubPage 1      0     TRN_T_SESSN_ESP                        ''                    ->
        TRN_T_SESSN2_SBP
        GroupBox 2     0     TRN_T_SESSN_ESP   TRN_T_VENDOR2_ESP    -TRN_T_VENDOR2_ESP
        EditBox 3      0     TRN_T_SESSN_ESP   TRN_T_VENDOR2_ESP    -TRN_T_VENDOR2_ESP    CtrlFld
        EditBox 4      0     TRN_VENDOR_TBL    DESCR                [None ]               Gray Related:3
        EditBox 5      0     TRN_T_SESSN_ESP   TRN_T_VEN_CIF2_ESP   -TRN_T_VEN_CIF2_ESP   Hide
        GroupBox 6     0     TRN_T_SESSN_ESP   TRN_T_FACILTY2_ESP   -TRN_T_FACILTY2_ESP
        EditBox 7      0     TRN_T_SESSN_ESP   TRN_T_FACILTY2_ESP   -TRN_T_FACILTY2_ESP   CtrlFld
        EditBox 8      0     TRN_FACIL_TBL     DESCR                [None ]               Gray Related:7
        EditBox 9        0   TRN_T_SESSN_ESP   TRN_T_FAC_CIF2_ESP   -TRN_T_FAC_CIF2_ESP   Hide
        GroupBox 10      0   TRN_T_SESSN_ESP   TRN_T_DAYS2_ESP      +SCHEDULE
        CheckBox 11      0   TRN_T_SESSN_ESP   TRN_T_MON1_ESP       +TRN_T_MON1_ESP       On:Y Off:N
        CheckBox 12      0   TRN_T_SESSN_ESP   TRN_T_TUE1_ESP       +TRN_T_TUE1_ESP       On:Y Off:N
        CheckBox 13      0   TRN_T_SESSN_ESP   TRN_T_WED1_ESP       +TRN_T_WED1_ESP       On:Y Off:N
        CheckBox 14      0   TRN_T_SESSN_ESP   TRN_T_SUN1_ESP       +TRN_T_SUN1_ESP       On:Y Off:N
        CheckBox 15      0   TRN_T_SESSN_ESP   TRN_T_THURS1_ESP     +TRN_T_THURS1_ESP     On:Y Off:N
        CheckBox 16      0   TRN_T_SESSN_ESP   TRN_T_FRI1_ESP       +TRN_T_FRI1_ESP       On:Y Off:N
        CheckBox 17      0   TRN_T_SESSN_ESP   TRN_T_SAT1_ESP       +TRN_T_SAT1_ESP       On:Y Off:N
        EditBox 18       0   TRN_T_SESSN_ESP   TRN_T_DAYS2_ESP      [None ]               Hide
        EditBox 19       0   TRN_T_SESSN_ESP   TRN_T_ST_MRNG2_ESP   +TRN_T_ST_MRNG2_ESP   noDefrr
        EditBox 20       0   TRN_T_SESSN_ESP   TRN_T_ET_MRNG2_ESP   +TRN_T_ET_MRNG2_ESP   noDefrr
        EditBox 21       0   TRN_T_SESSN_ESP   TRN_T_ST_EVNG2_ESP   +TRN_T_ST_EVNG2_ESP   noDefrr
        EditBox 22       0   TRN_T_SESSN_ESP   TRN_T_ET_EVNG2_ESP   +TRN_T_ET_EVNG2_ESP   noDefrr
        EditBox 23       0   TRN_T_SESSN_ESP   TRN_T_TRNG_HR2_ESP   +TRN_T_TRNG_HR2_ESP
        EditBox 2        0   TRN_T_SESSN_ESP   TRN_T_DAYS2_ESP      [None ]               Hide
        GroupBox 3       0   TRN_T_SESSN_ESP   TRN_T_DAYS2_ESP      +SCHEDULE
        EditBox 4        0   TRN_T_SESSN_ESP   TRN_T_ST_MRNG2_ESP   +TRN_T_ST_MRNG2_ESP   noDefrr
        EditBox 5        0   TRN_T_SESSN_ESP   TRN_T_ET_MRNG2_ESP   +TRN_T_ET_MRNG2_ESP   noDefrr
        EditBox 6        0   TRN_T_SESSN_ESP   TRN_T_TRNG_HR2_ESP   +TRN_T_TRNG_HR2_ESP
        EditBox 7        0   TRN_T_SESSN_ESP   TRN_T_ST_EVNG2_ESP   +TRN_T_ST_EVNG2_ESP   noDefrr
        EditBox 8        0   TRN_T_SESSN_ESP   TRN_T_ET_EVNG2_ESP   +TRN_T_ET_EVNG2_ESP   noDefrr
        CheckBox 9       0   TRN_T_SESSN_ESP   TRN_T_MON1_ESP       +TRN_T_MON1_ESP       On:Y Off:N
        CheckBox 10      0   TRN_T_SESSN_ESP   TRN_T_TUE1_ESP       +TRN_T_TUE1_ESP       On:Y Off:N
        CheckBox 11      0   TRN_T_SESSN_ESP   TRN_T_WED1_ESP       +TRN_T_WED1_ESP       On:Y Off:N
        CheckBox 12      0   TRN_T_SESSN_ESP   TRN_T_THURS1_ESP     +TRN_T_THURS1_ESP     On:Y Off:N
        CheckBox 13      0   TRN_T_SESSN_ESP   TRN_T_FRI1_ESP       +TRN_T_FRI1_ESP       On:Y Off:N
        CheckBox 14      0   TRN_T_SESSN_ESP   TRN_T_SAT1_ESP       +TRN_T_SAT1_ESP       On:Y Off:N
        CheckBox 15      0   TRN_T_SESSN_ESP   TRN_T_SUN1_ESP       +TRN_T_SUN1_ESP       On:Y Off:N
        GroupBox 16      0   TRN_T_SESSN_ESP   TRN_T_VENDOR2_ESP    -TRN_T_VENDOR2_ESP
        EditBox 17       0   TRN_T_SESSN_ESP   TRN_T_VENDOR2_ESP    -TRN_T_VENDOR2_ESP    CtrlFld
        EditBox 18       0   TRN_VENDOR_TBL    DESCR                [None ]               Gray
        Related:17
        EditBox 19       0   TRN_T_SESSN_ESP   TRN_T_VEN_CIF2_ESP   -TRN_T_VEN_CIF2_ESP Hide
        GroupBox 20      0   TRN_T_SESSN_ESP   TRN_T_FACILTY2_ESP   -TRN_T_FACILTY2_ESP
        EditBox 21       0   TRN_T_SESSN_ESP   TRN_T_FACILTY2_ESP   -TRN_T_FACILTY2_ESP CtrlFld
        EditBox 22       0   TRN_FACIL_TBL     DESCR                [None ]             Gray
        Related:21
        EditBox 23       0   TRN_T_SESSN_ESP TRN_T_FAC_CIF2_ESP -TRN_T_FAC_CIF2_ESP       Hide
        ScrArea .24      1                                      [#6551,75]                Lvl 1 #**
        EditBox .25      1   TRN_T_INS_D_ESP INSTRUCTOR_ID      -INSTRUCTOR_ID            CtrlFld
        EditBox .26      1   TRN_INSTR_SRCH NAME                [None ]                   Gray
        Related:25
        EditBox .27      1   TRN_T_INS_D_ESP TRN_T_HOURS_ESP        -NUMBER_HOURS




Page: WF_EE_TERMINATE
            Description    Admin Terminate Employee
            Type   Standard Page
            Allow Deferred Proc. Yes
            Owner ID       Human Resources
            Comments       Used for Admins only. Used for 8.3 Workflow Enhancements.

        Type     ID      Lvl Record          Field                  Label                 Attributes
        EditBox 1        0   PER_ORG_ASGN_VW EMPLID                 +EMPLID               Gray noPrompt
        EditBox 2        0   PER_ORG_ASGN_VW EMPL_RCD               [None ]               Hide CtrlFld
        Zero noPrompt
        EditBox 3        0   DERIVED_HR        ACTION_DT_SS         +TERMDATE             noDefrr Gray
        Century
        EditBox 3        0   DERIVED_HR        ACTION_DT_SS         +TERMDATE2            noDefrr Gray
        Century
        EditBox 4        0   DERIVED_HR        EFFDT                [None ]               noDefrr Hide
        Century
        PushBtn 5        0   HR_LINK_WRK       SUBMIT_PB            -SUBMIT PB
        PushBtn->PCode
        PushBtn 6        0   HR_LBL_WRK        LBL_DEFAULT          [#18032,241]
        HypLink->PCode   enableOnDispOnly
        EditBox 7        0   DERIVED_WF        NAME                 [None ]               Gray noPrompt
        HtmlArea 8       0   HR_LBL_WRK        HR_WF_HTMLAREA       [None ]               Gray
        Label    9     0                                       [#18032,65]
        EditBox 10     0   HR_LBL_WRK       HR_EMAIL_SUBJECT   [None ]              Hide
        EditBox 11     0   HR_LBL_WRK       HR_EMAIL_TEXT      [None ]              Hide
        EditBox 12     0   HR_LBL_WRK       HR_EMAIL_LINK      [None ]              Hide
        EditBox 13     0   HR_LBL_WRK       HR_REQ_FIELD_LBL   [None ]              Gray
        EditBox 14     0   DERIVED_HR       ACTION             [None ]              Hide noPrompt
        EditBox 15     0   DERIVED_HR       ACTION_REASON_SS   +ACTNREASONTER       Gray
        EditBox 16     0   WF_SS_ERR_WRK    DESCR              [None ]              Gray
        EditBox 17     0   WF_CURRENT_JOB   JOBCODE            [None ]              Hide CtrlFld
        Related:2 noPrompt
        EditBox 18     0   JOBCODE_TBL      DESCR              +JOB_TITLE           Gray
        Related:17 noPrompt
        EditBox 19     0   WF_CURRENT_JOB   SETID_JOBCODE      [None ]              Hide noPrompt
        SubPage 20     0   WF_SS_ERR_WRK                       ''                   ->
        WF_SS_ERRWRN_SBP
        EditBox 21     0   DERIVED_HR       ROLEUSER           [None ]              Hide noPrompt
        ScrBar   .22   1                                       [None ]              Lvl 1 #1 Hide
        ComboBox .23   1   HR_TERM_DAT      ACTION             [None ]              Prompt:
        ACTION_DESCRSHORT Hide




Page: WF_SS_STAGED
            Description    Workflow Inquiry Page
            Type   Standard Page
            Allow Deferred Proc. Yes
            Owner ID       Collaborative Apps
            Comments       Workflow SS Inquiry Page

        Type     ID    Lvl Record          Field               Label                Attributes
        SubPage 1      0   DERIVED_WF                          ''                   ->
        WF_STAGED_SBP
        GroupBox 2     0   DERIVED_WF      SECTION1            +TRANSFERS
        PSGrid   .3    1   HR_TRANSFER_DAT                     [None ]              Lvl 1 #**
        noSelUpd
        TabSepar .4    1                                       [#6605,601]
        PushBtn .5     1   WF_SS_ERR_WRK   LINK                +LINK
        HypLink->SecPage WF_JOB_ERR_WRN_ALL
        EditBox .6     1   HR_TRANSFER_DAT SS_STAT_INDICATOR   -SS_STAT_INDICATOR   Hide CtrlFld
        noPrompt
        EditBox .7     1   PSXLATITEM      XLATLONGNAME        +WF_SS_STATUS        Gray
        Related:6
        EditBox .8     1   HR_TRANSFER_DAT EMPLID              [None ]              Hide CtrlFld
        EditBox .9     1   PERSONAL_VW     NAME                +NAME                Gray
        Related:8
        EditBox .10    1   HR_TRANSFER_DAT TRANSACTION_NAME    +TRANSACTION_NAME    Hide
        EditBox .11    1   HR_TRANSFER_DAT EMPLID              +EMPLID              Hide Zero
        EditBox .12    1   HR_TRANSFER_DAT EMPL_RCD            -EMPL_RCD#           Gray Zero
        noPrompt
        EditBox .13    1   HR_TRANSFER_DAT WF_STATUS           +WF STATUS           Hide
        EditBox .14    1   HR_TRANSFER_DAT ACTION_DT_SS        +WF_SS_EFFDT         Gray Century
        EditBox .15    1   HR_TRANSFER_DAT EFFSEQ              -GVT_EFFSEQ          Gray noPrompt
        EditBox .16    1   HR_TRANSFER_DAT ACTION_REASON_SS    +ACTNREASONTRA       Gray
        EditBox .17    1   HR_TRANSFER_DAT POSITION_NBR        +POSITION_NBR        Gray noPrompt
        PushBtn .18    1   WF_SS_ERR_WRK   LINK1               +LINK1
        HypLink->PCode
        PushBtn .19    1   WF_SS_ERR_WRK   LINK2               +LINK_STATUS
        HypLink->PCode
        TabSepar .20   1                                       [#6605,602]
        EditBox .21    1   PSXLATITEM      XLATLONGNAME        +WF_SS_STATUS        Gray
        Related:6
        EditBox .22    1   HR_TRANSFER_DAT EMPLID              +EMPLID              Gray noPrompt
        EditBox .23    1   HR_TRANSFER_DAT BUSINESS_UNIT       +BUSINESS_UNIT       Gray noPrompt
        EditBox .24    1   HR_TRANSFER_DAT DEPTID              -DEPTID              Gray
        EditBox .25    1   HR_TRANSFER_DAT JOBCODE             +JOBCODE             Gray
        EditBox .26    1   HR_TRANSFER_DAT LOCATION            +LOCATION            Gray noPrompt
        EditBox .27    1   HR_TRANSFER_DAT SUPERVISOR_ID       +SUPERVISOR_ID       Gray
        EditBox .28    1   WF_TRANSF_KEYS TRANSACTION_NAME     +TRANSACTION_NAME    Hide
        EditBox .29    1   WF_TRANSF_KEYS EMPLID               +EMPLID              Gray
        EditBox .30    1   WF_TRANSF_KEYS EMPL_RCD             +EMPL_RCD#           Hide
EditBox .31    1   WF_TRANSF_KEYS ACTION_DT_SS        +TERMDATE            Hide Century
EditBox .32    1   WF_TRANSF_KEYS EFFSEQ              +EFFSEQ              Hide
PushBtn .33    1   WF_SS_ERR_WRK    LINK1             +LINK1
HypLink->PCode enableOnDispOnly
PushBtn .34    1   WF_SS_ERR_WRK   LINK2              +LINK_STATUS
HypLink->PCode
TabSepar .35   1                                      [#1645,63]
TabSepar .36   1                                      [#6605,116]
EditBox .37    1   HR_TRANSFER_DAT UPD_DTTM           +UPD_DTTM            Gray Century
EditBox .38    1   HR_TRANSFER_DAT UPD_BY_USERID      +UPD_BY_USERID       Gray CtrlFld
EditBox .39    1   PSOPRDEFN       EMPLID             [None ]              Hide CtrlFld
Related:38
EditBox .40    1   PERSON_NAME     NAME               +NAME                Gray
Related:39
HorRule 41     0                                      [None ]              Hide
GroupBox 42    0   DERIVED_WF       SECTION2          +PROMOTIONS
PSGrid   .43   1   HR_PROMOTE_DAT                     ''                   Lvl 1 #**
noSelUpd
TabSepar .44   1                                      [#6605,601]
PushBtn .45    1   WF_SS_ERR_WRK   LINK               +LINK
HypLink->SecPage WF_JOB_ERR_WRN_ALL
EditBox .46    1   HR_PROMOTE_DAT SS_STAT_INDICATOR   -SS_STAT_INDICATOR   Hide CtrlFld
noPrompt
EditBox .47    1   PSXLATITEM      XLATLONGNAME       +WF_SS_STATUS        Gray
Related:46
EditBox .48    1   HR_PROMOTE_DAT EMPLID              [None ]              Hide CtrlFld
EditBox .49    1   PERSONAL_VW     NAME               +NAME                Gray
Related:48
EditBox .50    1   HR_PROMOTE_DAT TRANSACTION_NAME    +TRANSACTION_NAME    Hide
EditBox .51    1   HR_PROMOTE_DAT EMPLID              +EMPLID              Gray Zero
EditBox .52    1   HR_PROMOTE_DAT EMPL_RCD            +EMPLRCD#            Gray Zero
noPrompt
EditBox .53    1   HR_PROMOTE_DAT WF_STATUS           +WF STATUS           Hide
EditBox .54    1   HR_PROMOTE_DAT ACTION_DT_SS        +WF_SS_EFFDT         Gray Century
EditBox .55    1   HR_PROMOTE_DAT EFFSEQ              +GVT_EFFSEQ          Gray noPrompt
EditBox .56    1   HR_PROMOTE_DAT ACTION_REASON_SS    +ACTNREASONPRO       Gray
EditBox .57    1   HR_PROMOTE_DAT POSITION_NBR        +POSITION_NBR        Gray noPrompt
PushBtn .58    1   WF_SS_ERR_WRK   LINK1              +LINK1
HypLink->PCode
PushBtn .59    1   WF_SS_ERR_WRK   LINK2              +LINK_STATUS
HypLink->PCode
TabSepar .60   1                                      [#6605,602]
EditBox .61    1   PSXLATITEM      XLATLONGNAME       +WF_SS_STATUS        Gray
Related:46 noPrompt
EditBox .62    1   HR_PROMOTE_DAT EMPLID              +EMPLID              Gray   noPrompt
EditBox .63    1   HR_PROMOTE_DAT BUSINESS_UNIT       +BUSINESS_UNIT       Gray   noPrompt
EditBox .64    1   HR_PROMOTE_DAT DEPTID              -DEPTID              Gray
EditBox .65    1   HR_PROMOTE_DAT JOBCODE             +JOBCODE             Gray   noPrompt
EditBox .66    1   HR_PROMOTE_DAT LOCATION            +LOCATION            Gray   noPrompt
EditBox .67    1   HR_PROMOTE_DAT SUPERVISOR_ID       +SUPERVISOR_ID       Gray
EditBox .68    1   WF_TRANSF_KEYS TRANSACTION_NAME    +TRANSACTION_NAME    Hide
EditBox .69    1   WF_TRANSF_KEYS EMPLID              +EMPLID              Hide
EditBox .70    1   WF_TRANSF_KEYS EMPL_RCD            +EMPL_RCD#           Hide
EditBox .71    1   WF_TRANSF_KEYS ACTION_DT_SS        +TERMDATE            Hide   Century
EditBox .72    1    WF_TRANSF_KEYS EFFSEQ             +EFFSEQ              Hide
PushBtn .73    1   WF_SS_ERR_WRK   LINK1              +LINK1
HypLink->PCode
PushBtn .74    1   WF_SS_ERR_WRK   LINK2              +LINK_STATUS
HypLink->PCode
TabSepar .75   1                                      [#6605,116]
EditBox .76    1   HR_PROMOTE_DAT UPD_DTTM            +UPD_DTTM            Gray Century
EditBox .77    1   HR_PROMOTE_DAT UPD_BY_USERID       +UPD_BY_USERID       Gray CtrlFld
EditBox .78    1    PSOPRDEFN       EMPLID            [None ]              Hide CtrlFld
Related:77
EditBox .79    1   PERSON_NAME     NAME               +NAME                Gray
Related:78
HorRule 80     0                                      [None ]              Hide
GroupBox 81    0   DERIVED_WF      SECTION3           +REPT_CHANGE
PSGrid   .82   1   HR_MGR_RPT_VW                      [None ]              Lvl 1 #**
noSelUpd
TabSepar .83   1                                      [#6605,601]
PushBtn .84    1   WF_SS_ERR_WRK    LINK               +LINK
HypLink->SecPage WF_JOB_ERR_WRN_ALL
EditBox .85    1   HR_MGR_RPT_VW   SS_STAT_INDICATOR   -SS_STAT_INDICATOR   Hide CtrlFld
EditBox .86    1   PSXLATITEM      XLATLONGNAME        +WF_SS_STATUS        Gray
Related:85
EditBox .87    1   HR_MGR_RPT_VW   EMPLID              [None ]              Hide CtrlFld
EditBox .88    1   PERSONAL_VW     NAME                +NAME                Gray
Related:87
EditBox .89    1   WF_TRANSF_KEYS TRANSACTION_NAME     +TRANSACTION_NAME    Hide
EditBox .90    1   WF_TRANSF_KEYS EMPLID               +EMPLID              Hide
EditBox .91    1   WF_TRANSF_KEYS EMPL_RCD             -EMPL_RCD#           Hide
EditBox .92    1   WF_TRANSF_KEYS ACTION_DT_SS         +WF_SS_EFFDT         Hide   Century
EditBox .93    1   WF_TRANSF_KEYS EFFSEQ               +GVT_EFFSEQ          Hide   noPrompt
EditBox .94    1   HR_MGR_RPT_VW   EMPLID              +EMPLID              Gray   Zero
EditBox .95    1   HR_MGR_RPT_VW   EMPL_RCD            -EMPL_RCD#           Gray   Zero
noPrompt
EditBox .96    1   HR_MGR_RPT_VW   ACTION_DT_SS        +WF_SS_EFFDT         Gray Century
EditBox .97    1   HR_MGR_RPT_VW   TRANSACTION_NBR     +TRANSACTION_NBR     Gray noPrompt
EditBox .98    1   HR_MGR_RPT_VW   REPORTS_TO          +REPORTS_TO          Gray
EditBox .99    1   HR_MGR_RPT_VW   SUPERVISOR_ID       +SUPERVISOR_ID       Gray
EditBox .100 1     HR_MGR_RPT_VW   TRANSACTION_NAME    +TRANSACTION_NAME    Hide
PushBtn .101 1     WF_SS_ERR_WRK   LINK1               +LINK1
HypLink->PCode
PushBtn .102 1     WF_SS_ERR_WRK   LINK2               +LINK_STATUS
HypLink->PCode
TabSepar .103 1                                        [#6605,116]
EditBox .104 1     HR_MGR_RPT_VW   UPD_DTTM            +UPD_DTTM            Gray Century
EditBox .105 1     HR_MGR_RPT_VW   UPD_BY_USERID       +UPD_BY_USERID       Gray CtrlFld
EditBox .106 1     PSOPRDEFN       EMPLID              [None ]              Hide CtrlFld
Related:105
EditBox .107 1     PERSON_NAME     NAME                +NAME                Gray
Related:106
HorRule 108    0                                       [None ]              Hide
GroupBox 109   0   DERIVED_WF      SECTION4            +HR_RETIRE
PSGrid   .110 1    HR_RETIRE_DAT                       [None ]              Lvl 1 #**
noSelUpd
TabSepar .111 1                                        [#6605,601]
PushBtn .112 1     WF_SS_ERR_WRK   LINK                +LINK
HypLink->SecPage WF_JOB_ERR_WRN_ALL
EditBox .113 1     HR_RETIRE_DAT   SS_STAT_INDICATOR   -SS_STAT_INDICATOR   Hide CtrlFld
noPrompt
EditBox .114 1     PSXLATITEM      XLATLONGNAME        +WF_SS_STATUS        Gray
Related:113
EditBox .115 1     HR_RETIRE_DAT   EMPLID              [None ]              Hide CtrlFld
EditBox .116 1     PERSONAL_VW     NAME                +NAME                Gray
Related:115
EditBox .117 1     HR_RETIRE_DAT   TRANSACTION_NAME    +TRANSACTION_NAME    Hide
EditBox .118 1     HR_RETIRE_DAT   EMPLID              +EMPLID              Gray
EditBox .119 1     HR_RETIRE_DAT   EMPL_RCD            -EMPL_RCD#           Gray Zero
noPrompt
EditBox .120 1     HR_RETIRE_DAT   ACTION_DT_SS        +WF_SS_EFFDT         Gray   Century
EditBox .121 1     HR_RETIRE_DAT   EFFSEQ              +GVT_EFFSEQ          Gray   noPrompt
EditBox .122 1     HR_RETIRE_DAT   ACTION              +ACTION              Gray
EditBox .123 1     HR_RETIRE_DAT   ACTION_REASON_SS    +ACTNREASONRET       Gray   noPrompt
EditBox .124 1     WF_TRANSF_KEYS TRANSACTION_NAME     +TRANSACTION_NAME    Hide
EditBox .125 1     WF_TRANSF_KEYS EMPLID               +EMPLID              Hide
EditBox .126 1     WF_TRANSF_KEYS EMPL_RCD             +EMPL_RCD#           Hide
EditBox .127 1     WF_TRANSF_KEYS ACTION_DT_SS         +TERMDATE            Hide   Century
EditBox .128 1     WF_TRANSF_KEYS EFFSEQ               +EFFSEQ              Hide
PushBtn .129 1     WF_SS_ERR_WRK   LINK1               +LINK1
HypLink->PCode
PushBtn .130 1     WF_SS_ERR_WRK   LINK2               +LINK_STATUS
HypLink->PCode
TabSepar .131 1                                        [#6605,116]
EditBox .132 1     HR_RETIRE_DAT   UPD_DTTM            +UPD_DTTM            Gray Century
EditBox .133 1     HR_RETIRE_DAT   UPD_BY_USERID       +UPD_BY_USERID       Gray CtrlFld
EditBox .134 1     PSOPRDEFN       EMPLID              [None ]              Hide CtrlFld
Related:133
EditBox .135 1     PERSON_NAME     NAME                +NAME                Gray
Related:134
HorRule 136    0                                       [None ]              Hide
GroupBox 137   0   DERIVED_WF      SECTION5             +HR_TERM
PSGrid   .138 1    HR_TERM_DAT                          [None ]              Lvl 1 #**
noSelUpd
TabSepar .139 1                                         [#6605,601]
PushBtn .140 1     WF_SS_ERR_WRK   LINK                 +LINK
HypLink->SecPage WF_JOB_ERR_WRN_ALL
EditBox .141 1     HR_TERM_DAT     SS_STAT_INDICATOR    -SS_STAT_INDICATOR   Hide CtrlFld
EditBox .142 1     PSXLATITEM      XLATLONGNAME         +WF_SS_STATUS        Gray
Related:141
EditBox .143 1     HR_TERM_DAT     EMPLID               [None ]              Hide CtrlFld
EditBox .144 1     PERSONAL_VW     NAME                 +NAME                Gray
Related:143
EditBox .145 1     HR_TERM_DAT     TRANSACTION_NAME     +TRANSACTION_NAME    Hide
EditBox .146 1     HR_TERM_DAT     EMPLID               +EMPLID              Gray
EditBox .147 1     HR_TERM_DAT     EMPL_RCD             -EMPL_RCD#           Gray Zero
noPrompt
EditBox .148 1     HR_TERM_DAT     ACTION_DT_SS         +WF_SS_EFFDT         Gray   Century
EditBox .148 1     HR_TERM_DAT     ACTION_DT_SS         +TERMDATE2           Gray   Century
EditBox .149 1     HR_TERM_DAT     EFFSEQ               +GVT_EFFSEQ          Gray   noPrompt
EditBox .150 1     HR_TERM_DAT     ACTION               +ACTION              Gray
EditBox .151 1     HR_TERM_DAT     ACTION_REASON_SS     +ACTNREASONTER       Gray
EditBox .152 1     WF_TRANSF_KEYS TRANSACTION_NAME      +TRANSACTION_NAME    Hide
EditBox .153 1     WF_TRANSF_KEYS EMPLID                +EMPLID              Hide
EditBox .154 1     WF_TRANSF_KEYS EMPL_RCD              +EMPL_RCD#           Hide
EditBox .155 1     WF_TRANSF_KEYS ACTION_DT_SS          +TERMDATE            Hide   Century
EditBox .156 1     WF_TRANSF_KEYS EFFSEQ                +EFFSEQ              Hide
PushBtn .157 1     WF_SS_ERR_WRK   LINK1                -LINK1
HypLink->PCode WF_JOB_ERR_WRN_ALL
PushBtn .158 1     WF_SS_ERR_WRK   LINK2                +LINK_STATUS
HypLink->PCode
TabSepar .159 1                                         [#6605,116]
EditBox .160 1     HR_TERM_DAT     UPD_DTTM             +UPD_DTTM            Gray Century
EditBox .161 1     HR_TERM_DAT     UPD_BY_USERID        +UPD_BY_USERID       Gray CtrlFld
EditBox .162 1     PSOPRDEFN       EMPLID               [None ]              Hide CtrlFld
Related:161
EditBox .163 1     PERSON_NAME     NAME                 +NAME                Gray
Related:162
HorRule 164    0                                        [None ]              Hide
GroupBox 165   0   DERIVED_WF      SECTION6             +HR_FULL_PART
PSGrid   .166 1    HR_FULLPART_DAT                      [None ]              Lvl 1 #**
noSelUpd
TabSepar .167 1                                         [#6605,601]
PushBtn .168 1     WF_SS_ERR_WRK   LINK                 +LINK
PushBtn->SecPage WF_JOB_ERR_WRN_ALL
EditBox .169 1     HR_FULLPART_DAT SS_STAT_INDICATOR    -SS_STAT_INDICATOR   Hide CtrlFld
EditBox .170 1     PSXLATITEM      XLATLONGNAME         +WF_SS_STATUS        Gray
Related:169
EditBox .171 1     HR_FULLPART_DAT EMPLID               [None ]              Hide CtrlFld
EditBox .172 1     PERSONAL_VW     NAME                 +NAME                Gray
Related:171
EditBox .173 1     HR_FULLPART_DAT TRANSACTION_NAME     +TRANSACTION_NAME    Hide
ComboBox .174 1    HR_FULLPART_DAT SS_STAT_INDICATOR    +SS_STAT_INDICATOR   Hide CtrlFld
XLatShort
EditBox .175 1     HR_FULLPART_DAT EMPLID               +EMPLID              Gray
EditBox .176 1     HR_FULLPART_DAT EMPL_RCD             -EMPL_RCD#           Gray Zero
noPrompt
EditBox .177 1     HR_FULLPART_DAT ACTION_DT_SS         +WF_SS_EFFDT         Gray Century
EditBox .178 1     HR_FULLPART_DAT EFFSEQ               +GVT_EFFSEQ          Gray noPrompt
EditBox .179 1     HR_FULLPART_DAT FULL_PART_TIME_NEW   +                    Gray
EditBox .180 1     WF_TRANSF_KEYS TRANSACTION_NAME      +TRANSACTION_NAME    Hide
EditBox .181 1     WF_TRANSF_KEYS EMPLID                +EMPLID              Hide
EditBox .182 1     WF_TRANSF_KEYS EMPL_RCD              +EMPL_RCD#           Hide
EditBox .183 1     WF_TRANSF_KEYS ACTION_DT_SS          +TERMDATE            Hide Century
EditBox .184 1     WF_TRANSF_KEYS EFFSEQ                +EFFSEQ              Hide
PushBtn .185 1     WF_SS_ERR_WRK   LINK1                -LINK1
HypLink->PCode
PushBtn .186 1     WF_SS_ERR_WRK   LINK2                +LINK_STATUS
HypLink->PCode
TabSepar .187 1                                         [#6605,116]
EditBox .188 1     HR_FULLPART_DAT UPD_DTTM             +UPD_DTTM            Gray Century
EditBox .189 1     HR_FULLPART_DAT UPD_BY_USERID        +UPD_BY_USERID       Gray CtrlFld
EditBox .190 1     PSOPRDEFN        EMPLID             [None ]              Hide CtrlFld
Related:189
EditBox .191 1     PERSON_NAME     NAME                +NAME                Gray
Related:190
HorRule 192    0                                       [None ]              Hide
GroupBox 193   0   DERIVED_WF      SECTION7            +HR_LOCATION
PSGrid   .194 1    HR_MGR_LOC_VW                       [None ]              Lvl 1 #**
noSelUpd
TabSepar .195 1                                        [#6605,601]
PushBtn .196 1     WF_SS_ERR_WRK   LINK                +LINK
HypLink->SecPage WF_JOB_ERR_WRN_ALL
EditBox .197 1     HR_MGR_LOC_VW   SS_STAT_INDICATOR   -SS_STAT_INDICATOR   Hide CtrlFld
noPrompt
EditBox .198 1     PSXLATITEM      XLATLONGNAME        +WF_SS_STATUS        Gray
Related:197
EditBox .199 1     HR_MGR_LOC_VW   EMPLID              -EMPLID              Hide CtrlFld
EditBox .200 1     PERSONAL_VW     NAME                +NAME                Gray
Related:199
EditBox .201 1     HR_MGR_LOC_VW   TRANSACTION_NAME    +TRANSACTION_NAME    Hide
EditBox .202 1     HR_MGR_LOC_VW   EMPLID              +EMPLID              Gray
EditBox .203 1     HR_MGR_LOC_VW   ACTION_DT_SS        +WF_SS_EFFDT         Gray Century
EditBox .204 1     HR_MGR_LOC_VW   ACTION              +ACTION              Gray
EditBox .205 1     HR_MGR_LOC_VW   TRANSACTION_NBR     +TRANSACTION_NBR     Gray noPrompt
EditBox .206 1     HR_MGR_LOC_VW   LOCATION            +LOCATION            Gray
EditBox .207 1     WF_TRANSF_KEYS TRANSACTION_NAME     +TRANSACTION_NAME    Hide
EditBox .208 1     WF_TRANSF_KEYS EMPLID               +EMPLID              Hide
EditBox .209 1     WF_TRANSF_KEYS EMPL_RCD             +EMPL_RCD#           Hide
EditBox .210 1     WF_TRANSF_KEYS ACTION_DT_SS         +TERMDATE            Hide Century
EditBox .211 1     WF_TRANSF_KEYS EFFSEQ               +EFFSEQ              Hide
PushBtn .212 1     WF_SS_ERR_WRK   LINK1               -LINK1
HypLink->PCode
PushBtn .213 1     WF_SS_ERR_WRK   LINK2               +LINK_STATUS
HypLink->PCode
TabSepar .214 1                                        [#6605,116]
EditBox .215 1     HR_MGR_LOC_VW   UPD_DTTM            +UPD_DTTM            Gray Century
EditBox .216 1     HR_MGR_LOC_VW   UPD_BY_USERID       +UPD_BY_USERID       Gray CtrlFld
EditBox .217 1     PSOPRDEFN        EMPLID             [None ]              Hide CtrlFld
Related:216
EditBox .218 1     PERSON_NAME     NAME                +NAME                Gray
Related:217
HorRule 219    0                                       [None ]              Hide
GroupBox 220   0   DERIVED_WF      SECTION8            +HR_MAR_STAT_CHG
PSGrid   .221 1    HR_MAR_STAT_DAT                     [None ]              Lvl 1 #**
noSelUpd
TabSepar .222 1                                        [#6605,601]
PushBtn .223 1     WF_SS_ERR_WRK   LINK                +LINK
HypLink->SecPage WF_PER_ERR_WRN_ALL
EditBox .224 1     HR_MAR_STAT_DAT SS_STAT_INDICATOR   -SS_STAT_INDICATOR   Hide CtrlFld
noPrompt
EditBox .225 1     PSXLATITEM      XLATLONGNAME        +WF_SS_STATUS        Gray
Related:224
EditBox .226 1     HR_MAR_STAT_DAT EMPLID              [None ]              Hide CtrlFld
EditBox .227 1     PERSONAL_VW     NAME                +NAME                Gray
Related:226
EditBox .228 1     HR_MAR_STAT_DAT EMPLID              +EMPLID              Gray
EditBox .229 1     HR_MAR_STAT_DAT TRANSACTION_NAME    +TRANSACTION_NAME    Hide
EditBox .230 1     HR_MAR_STAT_DAT ACTION_DT_SS        +WF_SS_EFFDT         Gray Century
EditBox .231 1     HR_MAR_STAT_DAT EFFSEQ              +GVT_EFFSEQ          Gray noPrompt
EditBox .232 1     HR_MAR_STAT_DAT MAR_STATUS          +MAR_STATUS          Gray
EditBox .233 1     WF_TRANSF_KEYS TRANSACTION_NAME     +TRANSACTION_NAME    Hide
EditBox .234 1     WF_TRANSF_KEYS EMPLID               +EMPLID              Hide
EditBox .235 1     WF_TRANSF_KEYS EMPL_RCD             +EMPL_RCD#           Hide
EditBox .236 1     WF_TRANSF_KEYS ACTION_DT_SS         +TERMDATE            Hide Century
EditBox .237 1     WF_TRANSF_KEYS EFFSEQ               +EFFSEQ              Hide
PushBtn .238 1     WF_SS_ERR_WRK   LINK1               +LINK1
HypLink->PCode
PushBtn .239 1     WF_SS_ERR_WRK   LINK2               +LINK_STATUS
HypLink->PCode
TabSepar .240 1                                        [#6605,116]
EditBox .241 1     HR_MAR_STAT_DAT UPD_DTTM            +UPD_DTTM            Gray Century
EditBox .242 1     HR_MAR_STAT_DAT UPD_BY_USERID       +UPD_BY_USERID       Gray CtrlFld
EditBox .243 1     PSOPRDEFN       EMPLID               [None ]               Hide CtrlFld
Related:242
EditBox .244 1     PERSON_NAME     NAME                 +NAME                 Gray
Related:243
HorRule 245    0                                        [None ]               Hide
GroupBox 246   0   DERIVED_WF      SECTION9             +HR_NAME_CHG_EE
PSGrid   .247 1    HR_NAME_DAT                          [None ]               Lvl 1 #**
noSelUpd
TabSepar .248 1                                         [#6605,601]
PushBtn .249 1     WF_SS_ERR_WRK   LINK                 +LINK
HypLink->SecPage WF_PER_ERR_WRN_ALL
EditBox .250 1     HR_NAME_DAT     SS_STAT_INDICATOR    -SS_STAT_INDICATOR    Hide CtrlFld
noPrompt
EditBox .251 1     PSXLATITEM      XLATLONGNAME         +WF_SS_STATUS         Gray
Related:250
EditBox .252 1     HR_NAME_DAT     EMPLID               [None ]               Hide CtrlFld
EditBox .253 1     PERSONAL_VW     NAME                 +NAME                 Gray
Related:252
EditBox .254 1     HR_NAME_DAT     TRANSACTION_NAME     +TRANSACTION_NAME     Hide
EditBox .255 1     HR_NAME_DAT     EMPLID               +EMPLID               Gray
EditBox .256 1     HR_NAME_DAT     ACTION_DT_SS         +WF_SS_EFFDT          Gray Century
EditBox .257 1     HR_NAME_DAT     FIRST_NAME           +FIRST_NAME           Gray
EditBox .258 1     HR_NAME_DAT     LAST_NAME            +LAST_NAME            Gray
PushBtn .259 1     WF_SS_ERR_WRK   LINK1                +LINK1
HypLink->PCode
PushBtn .260 1     WF_SS_ERR_WRK   LINK2                +LINK_STATUS
HypLink->PCode
TabSepar .261 1                                         [#6605,605]
EditBox .262 1     PSXLATITEM      XLATLONGNAME         +WF_SS_STATUS         Gray
Related:250 noPrompt
EditBox .263 1     HR_NAME_DAT     EMPLID               +EMPLID               Gray   noPrompt
EditBox .264 1     HR_NAME_DAT     NAME_PREFIX          +NAME_PREFIX          Gray
EditBox .265 1     HR_NAME_DAT     NAME_ROYAL_PREFIX    +NAME_ROYAL_PREFIX    Gray   noPrompt
EditBox .266 1     WF_TRANSF_KEYS TRANSACTION_NAME      +TRANSACTION_NAME     Hide
EditBox .267 1     WF_TRANSF_KEYS EMPLID                +EMPLID               Hide
EditBox .268 1     WF_TRANSF_KEYS EMPL_RCD              +EMPL_RCD#            Hide
EditBox .269 1     WF_TRANSF_KEYS ACTION_DT_SS          +TERMDATE             Hide   Century
EditBox .270 1     WF_TRANSF_KEYS EFFSEQ                +EFFSEQ               Hide
EditBox .271 1     HR_NAME_DAT     NAME_SUFFIX          +NAME_SUFFIX          Gray
EditBox .272 1     HR_NAME_DAT     NAME_ROYAL_SUFFIX    +NAME_ROYAL_SUFFIX    Gray   noPrompt
TabSepar .273 1                                         [#6605,609]
EditBox .274 1     PSXLATITEM       XLATLONGNAME        +WF_SS_STATUS         Gray
Related:250 noPrompt
EditBox .275 1     HR_NAME_DAT     EMPLID               +EMPLID               Gray   noPrompt
EditBox .276 1     HR_NAME_DAT     PREF_FIRST_NAME      +PREFERRED_FIRST      Gray   noPrompt
EditBox .277 1     HR_NAME_DAT     MIDDLE_NAME          +MIDDLE_NAME          Gray
EditBox .278 1     HR_NAME_DAT     NAME_INITIALS        +NAME_INITIALS        Gray
EditBox .279 1     HR_NAME_DAT     NAME_AC              +NAME_AC              Gray   noPrompt
EditBox .280 1     HR_NAME_DAT      NAME_TITLE          +NAME_TITLE           Gray   noPrompt
TabSepar .281 1                                         [#6605,606]
EditBox .282 1     PSXLATITEM      XLATLONGNAME         +WF_SS_STATUS         Gray
Related:250
EditBox .283 1     HR_NAME_DAT      EMPLID              +EMPLID             Gray
EditBox .284 1     HR_NAME_DAT     LAST_NAME_PREF_NLD   +LAST_NAME_PREF_NLD Hide CtrlFld
EditBox .285 1     PSXLATITEM      XLATSHORTNAME        +WF_SS_NAME_NLD     Gray
Related:284
EditBox .286 1     HR_NAME_DAT      PARTNER_LAST_NAME   +PARTNER_LAST_NAME    Gray
EditBox .287 1     HR_NAME_DAT     PARTNER_ROY_PREFIX   +PARTNER_ROY_PREFIX   Gray
EditBox .288 1     HR_NAME_DAT     NAME_TYPE            +NAME_TYPE            Gray noPrompt
TabSepar .289 1                                         [#6605,116]
EditBox .290 1     HR_NAME_DAT     UPD_DTTM             +UPD_DTTM             Gray Century
EditBox .291 1     HR_NAME_DAT     UPD_BY_USERID        +UPD_BY_USERID        Gray CtrlFld
EditBox .292 1     PSOPRDEFN        EMPLID              [None ]               Hide CtrlFld
Related:291
EditBox .293 1     PERSON_NAME     NAME                 +NAME                 Gray
Related:292
HorRule 294    0                                        [None ]               Hide
GroupBox 295   0   DERIVED_WF      SECTION10            +HR_ADDR_CHG
PSGrid   .296 1    HR_ADDR_CHG_DAT                      [None ]               Lvl 1 #**
noSelUpd
TabSepar .297 1                                         [#6605,601]
PushBtn .298 1     WF_SS_ERR_WRK    LINK               +LINK
HypLink->SecPage WF_PER_ERR_WRN_ALL
EditBox .299 1     HR_ADDR_CHG_DAT SS_STAT_INDICATOR   [None ]              Hide CtrlFld
noPrompt
EditBox .300 1     PSXLATITEM      XLATLONGNAME        +WF_SS_STATUS        Gray
Related:299
EditBox .301 1     HR_ADDR_CHG_DAT EMPLID              [None ]              Hide CtrlFld
EditBox .302 1     PERSONAL_VW     NAME                +NAME                Gray
Related:301
EditBox .303 1     HR_ADDR_CHG_DAT TRANSACTION_NAME    +TRANSACTION_NAME    Hide
EditBox .304 1     HR_ADDR_CHG_DAT EMPLID              +EMPLID              Gray
EditBox .305 1     HR_ADDR_CHG_DAT ACTION_DT_SS        +WF_SS_EFFDT         Gray Century
EditBox .306 1     HR_ADDR_CHG_DAT EFFSEQ              +GVT_EFFSEQ          Gray noPrompt
EditBox .307 1     HR_ADDR_CHG_DAT ADDRESS_TYPE        +ADDR_TYPE           Gray
EditBox .308 1     HR_ADDR_CHG_DAT COUNTRY             +COUNTRY             Gray
PushBtn .309 1     WF_SS_ERR_WRK   LINK1               +LINK1
HypLink->PCode
PushBtn .310 1     WF_SS_ERR_WRK   LINK2               +LINK_STATUS
HypLink->PCode
TabSepar .311 1                                        [#6605,602]
EditBox .312 1     PSXLATITEM      XLATLONGNAME        +WF_SS_STATUS        Gray
Related:299 noPrompt
EditBox .313 1     WF_TRANSF_KEYS EMPLID               +EMPLID              Gray
EditBox .314 1     HR_ADDR_CHG_DAT ADDRESS1            +ADDRESS1            Gray
EditBox .315 1     HR_ADDR_CHG_DAT ADDRESS2            +ADDRESS2            Gray
EditBox .316 1     HR_ADDR_CHG_DAT ADDRESS3            +ADDRESS3            Gray
EditBox .317 1     HR_ADDR_CHG_DAT ADDRESS4            +ADDRESS4            Gray noPrompt
EditBox .318 1     HR_ADDR_CHG_DAT CITY                +CITY                Gray
EditBox .319 1     HR_ADDR_CHG_DAT COUNTY              +COUNTY              Gray
EditBox .320 1     HR_ADDR_CHG_DAT STATE               +STATE               Gray
EditBox .321 1     HR_ADDR_CHG_DAT POSTAL              +POSTAL              Gray
TabSepar .322 1                                        [#1120,867]
EditBox .323 1     PSXLATITEM      XLATLONGNAME        +WF_SS_STATUS        Gray
Related:299
EditBox .324 1     HR_ADDR_CHG_DAT EMPLID              +EMPLID              Gray
EditBox .325 1     HR_ADDR_CHG_DAT NUM1                +NUM1                Gray
EditBox .326 1     HR_ADDR_CHG_DAT NUM2                +NUM2                Gray
EditBox .327 1     HR_ADDR_CHG_DAT ADDR_FIELD1         +ADDR_FIELD1         Gray
EditBox .328 1     HR_ADDR_CHG_DAT ADDR_FIELD2         +ADDR_FIELD2         Gray
EditBox .329 1     HR_ADDR_CHG_DAT ADDR_FIELD3         +ADDR_FIELD3         Gray
EditBox .330 1     WF_TRANSF_KEYS TRANSACTION_NAME     +TRANSACTION_NAME    Hide
EditBox .331 1     WF_TRANSF_KEYS ACTION_DT_SS         +EFFDT               Hide Century
TabSepar .332 1                                        [#6605,116]
EditBox .333 1     HR_ADDR_CHG_DAT UPD_DTTM            +UPD_DTTM            Gray Century
EditBox .334 1     HR_ADDR_CHG_DAT UPD_BY_USERID       +UPD_BY_USERID       Gray CtrlFld
EditBox .335 1     PSOPRDEFN        EMPLID             [None ]              Hide CtrlFld
Related:334
EditBox .336 1     PERSON_NAME     NAME                +NAME                Gray
Related:335
HorRule 337    0                                       [None ]              Hide
GroupBox 338   0   DERIVED_WF      SECTION11           +TRAINING_REQUESTS
PSGrid   .339 1    SS_ADM_TRN_VW                       [None ]              Lvl 1 #**
noSelUpd
TabSepar .340 1                                        [#6605,601]
PushBtn .341 1     WF_SS_ERR_WRK    LINK               +LINK
HypLink->SecPage SS_ERR_WRN_ALL
EditBox .342 1     SS_ADM_TRN_VW   SS_STAT_INDICATOR   +SS_STAT_INDICATOR   Hide CtrlFld
noPrompt
EditBox .343 1     PSXLATITEM      XLATLONGNAME        +WF_SS_STATUS        Gray
Related:342
EditBox .344 1     SS_ADM_TRN_VW   EMPLID              +EMPLID              Gray CtrlFld
EditBox .345 1     PERSONAL_VW     NAME                +TS1-NAME            Gray
Related:344
EditBox .346 1     SS_ADM_TRN_VW   SS_GRP_ID           +SS_GRP_ID           Gray
EditBox .347 1     SS_ADM_TRN_VW   SS_TRANS_ID         +SS_TRANS_ID         Gray CtrlFld
EditBox .348 1     SS_ADM_TRN_VW   TRANSACTION_NAME    +TRANSACTION_NAME    Hide
EditBox .349 1     SS_ADM_TRN_VW   COURSE              -COURSE              Gray
Related:347
EditBox .350 1     SS_ADM_TRN_VW   SESSION_NBR         -SESSION             Gray
PushBtn .351 1     WF_SS_ERR_WRK   LINK1               +LINK1
HypLink->InternalLink
        PushBtn .352 1     WF_SS_ERR_WRK     LINK2               +LINK_STATUS
        HypLink->PCode
        EditBox .353 1     WF_TRANSF_KEYS    TRANSACTION_NAME    +TRANSACTION_NAME    Hide
        EditBox .354 1     WF_TRANSF_KEYS    ACTION_DT_SS        +EFFDT               Hide Century
        TabSepar .355 1                                          [#6605,116]
        EditBox .356 1     SS_ADM_TRN_VW     UPD_DTTM            +UPD_DTTM            Gray Century
        EditBox .357 1     SS_ADM_TRN_VW     UPD_BY_USERID       +UPD_BY_USERID       Gray CtrlFld
        EditBox .358 1     WF_TRANSF_KEYS    EMPLID              +EMPLID              Hide
        EditBox .359 1     PSOPRDEFN         EMPLID              +EMPLID              Hide CtrlFld
        Related:357
        EditBox .360 1     PERSON_NAME       NAME                +NAME                Gray
        Related:359
        HorRule 361    0                                         [None ]              Hide
        GroupBox 362   0   DERIVED_WF        SECTION12           +SALARY_CHANGE_REQ
        PSGrid   .363 1    SS_ADM_SALCH_VW                       [None ]              Lvl 1 #**
        noSelUpd
        TabSepar .364 1                                          [#6605,601]
        PushBtn .365 1     WF_SS_ERR_WRK     LINK                +LINK
        HypLink->SecPage SS_ERR_WRN_ALL
        EditBox .366 1     SS_ADM_SALCH_VW   SS_STAT_INDICATOR   +SS_STAT_INDICATOR   Hide CtrlFld
        noPrompt
        EditBox .367 1     PSXLATITEM        XLATLONGNAME        +WF_SS_STATUS        Gray
        Related:366
        EditBox .368 1     SS_ADM_SALCH_VW   EMPLID              +EMPLID              Gray CtrlFld
        EditBox .369 1     SS_ADM_SALCH_VW   SS_GRP_ID           +SS_GRP_ID           Gray
        EditBox .370 1     SS_ADM_SALCH_VW   SS_TRANS_ID         +SS_TRANS_ID         Gray CtrlFld
        EditBox .371 1     PERSONAL_VW       NAME                +TS1-NAME            Gray
        Related:368
        EditBox .372 1     SS_ADM_SALCH_VW   TRANSACTION_NAME    +TRANSACTION_NAME    Hide
        PushBtn .373 1     WF_SS_ERR_WRK     LINK1               +LINK1
        HypLink->PCode
        PushBtn .374 1     WF_SS_ERR_WRK     LINK2               +LINK_STATUS
        HypLink->PCode
        EditBox .375 1     WF_TRANSF_KEYS    TRANSACTION_NAME    +TRANSACTION_NAME    Hide
        EditBox .376 1     WF_TRANSF_KEYS    ACTION_DT_SS        +EFFDT               Hide Century
        TabSepar .377 1                                          [#6605,116]
        EditBox .378 1     SS_ADM_SALCH_VW   UPD_DTTM            +UPD_DTTM            Gray Century
        EditBox .379 1     SS_ADM_SALCH_VW   UPD_BY_USERID       +UPD_BY_USERID       Gray CtrlFld
        EditBox .380 1     WF_TRANSF_KEYS    EMPLID              +EMPLID              Hide
        EditBox .381 1     PSOPRDEFN         EMPLID              +EMPLID              Hide CtrlFld
        Related:379
        EditBox .382 1     PERSON_NAME       NAME                +NAME                Gray
        Related:381
        HorRule 383    0                                         [None ]              Hide
        EditBox 384    0   DERIVED_WF        HR_PAGE_INSTR       [None ]              Gray
        PushBtn 385    0   DERIVED_CO        RETURN_TRANSFER     +CO_RETURN
        HypLink->PCode




Menu Detail
Menu: SETUP_HRMS
            Menu Type       Standard
            Description     Setup HRMS
            Menu Label      Setup Hrms
            Menu Group      Setup Hrms
            Installed       Yes
            Menu Order      Alphabetical
              add Separator        No
            Group Order     Alphabetical
              add Separator        No

        Bar/Menu Item              Description                      Component           Market
        OverrideSearchRec
PRODUCTS_1               Products1
ACCDNT_INS_TABLE_DEU       Accident Insurance         ACCDNT_INS_TABLE     DEU
ACCIDN_TYPE_TBL_GBL        Accident Type Table        ACCIDN_TYPE_TBL      GBL
HRDE_AI_FORMAT_DEU         Accident Insurance Forma   HRDE_AI_FORMAT_DEU   GBL
APS_LNG_CD_AUS_AUS         APS Non-English Code       APS_LNG_CD_AUS       AUS
APE_TABLE                  APE Table                  APE_TABLE_FRA        FRA
APS_MOVECODE_AUS_AUS       APS Movement               APS_MOVECODE_AUS     AUS
ASCO_TBL_GBL               ASCO Codes                 ASCO_TBL             GBL
ASSGN_TYPE_TABLE_GBL       Assignment Type Table      ASSGN_TYPE_TABLE     GBL
BSE_SCH_FRA_TBL            Base Scheme                BSE_SCH_FRA_TBL      FRA
BA_CODE_TABLE_DEU          BA Codes                   BA_CODE_TABLE        DEU
BODY_PART_TABLE_GBL        Body Part Table            BODY_PART_TABLE      GBL
BUDGET_PERIOD_TBL_GBL      Budget Period              BUDGET_PERIOD_TBL    GBL
CAN_NOC_TABLE_GBL          National Occupational Cl   CAN_NOC_TABLE        GBL
CAN_PAY_EQUITY_TBL_GBL     Pay Equity CAN             CAN_PAY_EQUITY_TBL   GBL
CAREER_PATH_TBL_GBL        Career Path Table          CAREER_PATH_TBL      GBL
CATEGORY_TABLE_GBL         Category/Subcategory       CATEGORY_TABLE       GBL
CC_CARD_TBL_GBL            Credit Card Vendors        CC_CARD_TBL          GBL
CC_ENCRYPT_CRD_NBR         Encrypt Credit Card Numb   CC_ENCRYPT_CRD_NBR   GBL
CTG_STS_FRA_TBL            Category Status            CTG_STS_FRA_TBL      FRA
CVD_POP_FRA_TBL            Covered Population         CVD_POP_FRA_TBL      FRA
CTC_KND_FRA_TBL            Contract Event             CTC_KND_FRA_TBL      FRA
CHECKLIST_TABLE_GBL        Checklist                  CHECKLIST_TABLE      GBL
CHKLST_ITEM_TABLE_GBL      Checklist Items            CHKLST_ITEM_TBL      GBL
CITIZEN_STATUS_GBL         Citizen Status             CITIZEN_STATUS       GBL
CLAIM_INFO_CLAIM_AUS       Claim Threshold - Claims   CLAIM_INFO_CLAIM     AUS
CLAIM_INFO_STATE_AUS       Claim Threshold - State    CLAIM_INFO_STATE     AUS
CLAIM_INFO_UNION_AUS       Claim Threshold - Union    CLAIM_INFO_UNION     AUS
CLS_UNT_TBL_NZL_GBL        Class Units NZL            CLS_UNT_TBL_NZL      GBL
CIA_TBL_ITA                C.I.A.                     CIA_TBL_ITA          ITA
COMP_CD_ITA                Company Codes              COMP_CD_ITA          ITA
COMP_ESTAB_CD_ITA          Company/Estab Codes        COMP_ESTAB_CD_ITA    ITA
HR_COUNTRY_TABLE           Country Table - HR         HR_COUNTRY_TABLE     GBL
COUNTRY_TABLE_ITA          Country Fiscal Codes       COUNTRY_TABLE_ITA    ITA
CITY_TABLE_ITA             Cities                     CITY_TABLE_ITA       ITA
RATING_MDL_TBL             Rating Model               RATING_MDL_TBL       GBL
CNTRCT_TYPE_GRP_GBL        Contract Type Groups       CNTRCT_TYPE_GRP      GBL
CNT_CLAUSE_TABLE_GBL       Contract Clause Table      CNT_CLAUSE_TABLE     GBL
CNT_TEMPLATE_TABLE_GBL     Contract Template Table    CNT_TEMPLATE_TABLE   GBL
CONTRACT_PAY_TYPE          Contract Pay Type CAN &    CONTRACT_PAY_TYPE    NA
COMPANY_PROP_TBL_GBL       Company Property           COMPANY_PROP_TBL     GBL
CONTRACT_TYPE_TBL_GBL      Contract Type Table        CONTRACT_TYPE_TBL    GBL
CONTROL_TBL_GBL            Budget Defaults            CONTROL_TBL          GBL
CONTR_RSZS_BEL_BEL         RSZ Categories             CONTR_RSZS_BEL       BEL
COST_UNIT_TABLE_GBL        Cost Unit                  COST_UNIT_TABLE      GBL
COUNTRY_GRP_GBL            Country Groups             COUNTRY_GRP          GBL
COURSE_SESSN_COST_GBL      Course Session Costs       COURSE_SESSN_COST    GBL
COURSE_SESSN_TBL1_GBL      Course Sessions            COURSE_SESSN_TBL1    GBL
COURSE_TABLE2_GBL          Courses                    COURSE_TABLE2        GBL
CPAM_TABLE_FRA_GBL         CPAM Table                 CPAM_TABLE_FRA       GBL
CRAM_TBL_FRA_GBL           CRAM Table                 CRAM_TBL_FRA         GBL
CRS_SESS_PLAN_GBL          Course Session Planner     CRS_SESS_PLAN        GBL
DETYA_CURR_CLS_GBL         Classification Codes AUS   DETYA_CURR_CLS       GBL
DETYA_ORG_UNT_GBL          Organization Unit AUS      DETYA_ORG_UNT        GBL
DIAGNOSIS_TABLE_GBL        Diagnosis Table            DIAGNOSIS_TABLE      GBL
DISABILITY_TBL_NZL_NZL     Disabilities NZL           DISABILITY_TBL_NZL   NZL
DRIVE_LIC_TBL_GBL          Driver's License Type      DRIVE_LIC_TBL        GBL
DEDUCTIONS                 Deductions                 DEDUCTION_TABLE1     GBL
ABSV_PLAN_TABLE_GBL        Vacation Plan Table        ABSV_PLAN_TABLE      GBL
ABSW_SCHD_TABLE_GBL        Work schedule Table        ABSW_SCHD_TABLE      GBL
ABSW_TMPL_TABLE_GBL        Work Template Table        ABSW_TMPL_TABLE      GBL
ABS_CLASS_TABLE_GBL        Absence Class Table        ABS_CLASS_TABLE      GBL
ABS_HOL_SCHD_TABLE_GBL     Holiday Schedule Table     ABS_HOL_SCHD_TABLE   GBL
ABS_TYPE_TABLE_GBL         Absence Type Table         ABS_TYPE_TABLE       GBL
ABS_PARAMETERS_GBL         Absence Parameters         ABS_PARAMETERS       GBL
ACCOMODATION               Accommodation Type         ACCOM_TYPE_TABLE     GBL
BARG_UNIT                  Bargaining Unit            BARG_UNIT_TBL        GBL
BARG_UNIT_USF              Bargaining Unit Table US   GVT_BARG_UNIT_TBL    USF
PA_DELAYED_RTRMNT_CRE      Delayed Retirement Credi   DELAYED_RTRMNT_CRE   GBL
DISCIP_STEP_TBL            Disciplinary Steps         DISCIP_STEP_TABLE    GBL
DISCIP_TYPE_TBL            Disciplinary Type          DISCIP_TYPE_TABLE    GBL
GVT_DIS_EVENTS              Disciplinary Events USF     GVT_DIS_EVENTS_TBL   USF
DISC_TYPE_USF               Disciplinary Type USF       DISCIP_TYPE_TABLE    USF
DISCIP_STEP_USF             Disciplinary Steps USF      DISCIP_STEP_TABLE    USF
PA_DROP_YEARS               Disability Drop Years       DROP_YEARS           GBL
DISABIL_TYPE_IND            Disablement Type IND        HS_DISABL_TYPE_IND   GBL
PA_30YR_TBILL_RATES         30 Year T-Bond Rates        30YR_TBILL_RATES     GBL
PA_CPI_INCREASE             Consumer Price Index (CP    CPI_INCREASE         GBL
PA_120_OF_AFR_RATES         Federal Midterm Rates       120_OF_AFR_RATES     GBL
PA_415_TL_LIMITS            415(e) Limit                415_TL_LIMITS        GBL
PA_401_LIMITS               401(a)(17) Limits           401_LIMITS           GBL
ETHNIC_GROUP                Ethnic Groups               ETHNIC_GROUP_GBL     GBL
MIL_WRN_TYPE_DEFN           Worn Rank Types             MIL_WRN_TYPE_DEFN    GBL
MIL_SVC_COMPONENT           Service Components          MIL_SVC_COMPONENT    GBL
MIL_SKL_GRD_DEFN            Skill Grades                MIL_SKL_GRD_DEFN     GBL
MIL_SERVICE_DEFN            Military Service            MIL_SERVICE_DEFN     GBL
MIL_REASSGN_RSN             Reassignment Reasons        MIL_REASSGN_RSN      GBL
MIL_ORD_CODE_DEFN           Order Codes                 MIL_ORD_CODE_DEFN    GBL
MIL_DEPL_REASON             Deployment Reasons          MIL_DEPL_REASON      GBL
MIL_CMP_CAT_DEFN            Component Categories        MIL_CMP_CAT_DEFN     GBL
MIL_APPRVL_LVL_DFN          Approval Levels             MIL_APPRVL_LVL_DFN   GBL
MIL_GEOG_LOCN_CD            Geographic Location MIL     GVT_LOCATION_TBL     USF
MIL_LOCATION_TBL            Location Table MIL          LOCATION_TABLE_MIL   GBL
MIL_REBUILD_NAMES           Refresh Names and Profil    MIL_REBUILD_NAMES    GBL
HUKOU_SETUP_CHN             Hukou Setup CHN             HUKOU_SETUP_CHN      GBL
EV_LOGIN_CMP                E-verify Login Informati    EV_LOGIN_CMP         GBL

PRODUCTS_2                 Products2
EARNINGS_TABLE1_GBL          Earnings                   EARNINGS_TABLE1      GBL
EXTERNAL_VARIABLES_TABLE     External Variables         EXTERNAL_VARIABLES   FRA
EDLVLAG_JPN_TBL              Education Level            EDLVLAG_TBL_JPN      GBL
EEO_JOB_GRP_GBL              EEO Job Group USA          EEO_JOB_GRP          GBL
EG_ACTION_CATEGORY_GBL       HR Action/Category         EG_ACTION_CATEGORY   GBL
EG_ADMIN_POST_TBL_GBL        Administrative Posts       EG_ADMIN_POST_TBL    GBL
EG_CALC_GROUPS_GBL           Calculation Group          EG_CALC_GROUPS       GBL
EG_COMMITTEE_MAINT_GBL       Committees                 EG_COMMITTEE_MAINT   GBL
EG_COMMITTEE_SETUP_GBL       Committee Type             EG_COMMITTEE_SETUP   GBL
EG_EXP_DEFINITION_GBL        Experience/Credit Codes    EG_EXP_DEFINITION    GBL
EG_FLEX_CALENDAR_GBL         Calendar                   EG_FLEX_CALENDAR     GBL
EG_RANK_TBL_GBL              Academic Rank              EG_RANK_TBL          GBL
EG_SERVICE_ELAPSED_GBL       Service Rules              EG_SERVICE_ELAPSED   GBL
EMISSIONS_DATA_GBL           Emissions Details          EMISSIONS_DATA       GBL
EMPL_CLASS_TABLE_GBL         Employee Class             EMPL_CLASS_TABLE     GBL
HR_LABOR_AGRMNT_GBL          Labor Agreement            HR_LABOR_AGRMNT      GBL
HR_CLONE_LBR_AGRMNT          Clone Labor Agreement      HR_CLONE_LBR_AGRMT   GBL
HR_LBR_JOB_CLS_TBL           Labor Job Classes          HR_LBR_JOB_CLS_TBL   GBL
HR_LBR_FAC_TBL               Labor Facilities           HR_LBR_FAC_TBL       GBL
HR_SNRTY_FLDS                Seniority Date Fields      HR_SNRTY_FLDS_DEFN   GBL
HR_SNR_DATE_TBL              Seniority Dates            HR_SNR_DATE_TBL      GBL
HR_TIEBREAK_TBL              Tie Breakers               HR_TIEBREAK_TBL      GBL
HR_LAY_EXEM_TBL              Layoff Exemption Reason    HR_LAY_EXEM_TBL      GBL
HR_RCL_EXP_TBL               Recall Expiration Rules    HR_RCL_EXP_TBL       GBL
EMPL_CTG_L1_GBL              Employee Categorization    EMPL_CTG_L1          GBL
END_CONT_TBL_BEL_BEL         Contract End Types         END_CONT_TBL_BEL     BEL
ENGINE_TYPE_GBL              Engine Type Table          ENGINE_TYPE          GBL
FACULTY_TABLE_JPN_GBL        Faculty Table JPN          FACULTY_TABLE_JPN    GBL
FA_CALC_RULE_GBL             Calculation Rule           FA_CALC_RULE         GBL
FA_PAY_PROGRAM_GBL           Pay Program                FA_PAY_PROGRAM       GBL
FPADPTCAHDCNT_PNL_GBL        Budgeted Headcount AD      FPADPTCAHDCNT_PNL    GBL
FPMFINLAWB_GRP_GBL           FAct with BL on Request    FPMFINLAWB_GRP       GBL
FPMFINLAWC_GRP_GBL           Budget Line Detail         FPMFINLAWC_GRP       GBL
FPMFINLAWD_GRP_GBL           Budget Line View           FPMFINLAWD_GRP       GBL
FPMPROMTABL_PNL_GBL          Promotable Empl Criteria   FPMPROMTABL_PNL      GBL
FPM_CA_CTG_GRP_GBL           CAE Category               FPM_CA_CTG_GRP       GBL
FPM_CA_CTG_RK_GRP_GBL        CAEC / Grade               FPM_CA_CTG_RK_GRP    GBL
FUNCTION_CD_TBL_DEU          Function Code              FUNCTION_CD_TBL      DEU
HR_LBR_GRP_DEFN              Labor Group Definition     HR_LBR_GRP_DEFN      GBL
TAX_LOCATION_TABLE           Tax Location Table         TAX_LOCATION_TBL     NA
HR_LBR_EEST_TBL              Employee Roster Status     HR_LBR_EEST_TBL      GBL
HR_RCL_RSN_TBL               Recall Reasons             HR_RCL_RSN_TBL       GBL

PRODUCTS_3                 Products3
GEOG_PREF_TBL_GBL         Geographic Preference       GEOG_PREF_TBL        GBL
GM_TEC_OT_ERNCD_GBL       Grants Time and Effort C    GM_TEC_OT_ERNCD      GBL
GRIEV_TYPE_TABLE          Grievance Type Table        GRIEV_TYPE_TABLE     GBL
GRIEV_STEP_TABLE          Grievance Step Table        GRIEV_STEP_TABLE     GBL
GROUP_2483_TBL_GBL_GBL    2483 Indicators FRA         GROUP_2483_TBL_GBL   GBL
GVT_AWD_ACTN_USF          Award Actions               GVT_AWD_ACTN         USF
GVT_CLASS_STD_TBL_USF     Classifications Standard    GVT_CLASS_STD_TBL    USF
GVT_CPDF_FIELDS_USF       CPDF Fields USF             GVT_CPDF_FIELDS      USF
GVT_CPDF_PREFIX_USF       CPDF Edits USF              GVT_CPDF_PREFIX      USF
GVT_DENIAL_CD_TBL_USF     Leave Denial Codes USF      GVT_DENIAL_CD_TBL    USF
GVT_LVCLSRUL_TMPLT_USF    Leave Class Rules Criter    GVT_LVCLSRUL_TMPLT   USF
GVT_LV_CLS_RULES_USF      Leave Class Rules USF       GVT_LV_CLS_RULES     USF
GVT_LV_XFR_TYP_TBL_USF    Leave Transfer Type USF     GVT_LV_XFR_TYP_TBL   USF
GVT_OCCUPATION_USF        Occupation Series USF       GVT_OCCUPATION       USF
GVT_OCC_SUFFIX_TBL_USF    Occupational Suffix         GVT_OCC_SUFFIX_TBL   USF
GVT_ORG_PSN_TTL_USF       Organization Posn Titles    GVT_ORG_PSN_TTL      USF
GVT_PSN_TTL_TBL_USF       Official Position Titles    GVT_PSN_TTL_TBL      USF
GVT_BU_UNION_USF          Unions USF                  GVT_BU_UNION         USF
HR_RFWPRW_CONFIG          New Hire Report Configur    HR_RFWPRW_CONFIG     GBL
SEC_CLR_TYP_TBL           Security Clearance Type     SEC_CLR_TYP_TBL      GBL
GVT_NFC_DOC_TYPE          NFC Import Document Type    GVT_NFC_DOC_TYPE     USF
GVT_NFC_DOC_LST           NFC Import Process Param    GVT_NFC_DOC_LIST     USF

PRODUCTS_4               Products4
HAZ_CON_MATRL_TBL_GBL      Haz Condition/Materials    HAZ_CON_MATRL_TBL    GBL
HIRING_CENTER_ESP_GBL      Hiring Center Table        HIRING_CENTER_ESP    GBL
HOUR_TYPE_TABLE_FRA        Hours Type                 HOUR_TYPE_TABLE      FRA
HP_GF_COL_DEFN_CAN_CAN     Gross/Fringe Report Colu   HP_GF_COL_DEFN_CAN   CAN
HP_GF_COL_DEFN_USA_USA     Gross/Fringe Report Colu   HP_GF_COL_DEFN_USA   USA
HP_REPORTING_PRD_CAN       Reporting Period Stats C   HP_REPORTING_PRD     CAN
HP_STATS_CIP               Stats CAN CIP              HP_STATS_CIP         CAN
HP_STATS_FACULTY_CAN       Faculty Code Stats CAN     HP_STATS_FACULTY     CAN
HP_STATS_SUBJECTS_CAN      Principal Subjects Taugh   HP_STATS_SUBJECTS    CAN
HR_PE_EMPL_LV_EXT_GBL      Employee Leave Extension   HR_PE_EMPL_LV_EXT    GBL
HR_PE_MGR_LV_EXT_GBL       Manager Leave Extension    HR_PE_MGR_LV_EXT     GBL
HS_ALLERGY_TBL_GBL         Allergy                    HS_ALLERGY_TBL       GBL
HS_ANIMAL_TBL_GBL          Animal Table               HS_ANIMAL_TBL        GBL
HS_CLASS_CAN_GBL           Class/Subclass Table - C   HS_CLASS_CAN         GBL
HS_CONTFAC_CAN_GBL         Contributing Factors - C   HS_CONTFAC_CAN       GBL
HS_CORRECT_ACT_GER_GBL     Correct. Actions Table D   HS_CORRECT_ACT_GER   GBL
HS_DANGER_OCC_GBL          Dangerous Occurrences Ta   HS_DANGER_OCC        GBL
HS_DIS_CLASS_GER_GBL       Disease Class Table DEU    HS_DIS_CLASS_GER     GBL
HS_EXT_SCHEME_UK_GBL       External Scheme Table G    HS_EXT_SCHEME_UK     GBL
INSEE_TABLE                INSEE Table                INSEE_TABLE_FRA      FRA
HS_IMMUN_TBL_GBL           Immunization               HS_IMMUN_TBL         GBL
INDUST_INSPECTION_GER      Industrial Inspection      INDUST_INSPEC_GER    DEU
INTCPX_CPY_JPN             IC Trans External Compan   INTCPX_CPY_JPN       GBL
INTCPX_SPV_JPN             IC Trans External Superv   INTCPX_SPV_JPN       GBL
AA_SETUP_JPN               Additional Appointment S   AA_SETUP_JPN         GBL
INSURANCE_COMPANY_ESP      Insurance Company Table    INSUR_COMPANY_ESP    GBL
INDUSTRY_ACTIVITY_ESP      Industry Activity Table    INDUSTRY_ACT_ESP     GBL
INPS_TBL_ITA               INPS Codes                 INPS_TBL_ITA         ITA
INPS_SITE_ITA              INPS Sites                 INPS_SITE_ITA        ITA
INPDAI_TBL_ITA             INPDAI Codes               INPDAI_TBL_ITA       ITA
INAIL_TBL_ITA2             INAIL Codes                INAIL_TBL_ITA        ITA
HS_LOC_CASEOFF_GER_GBL     Case Officer Table DEU     HS_LOC_CASEOFF_GER   GBL
HS_MEDCARE_TBL_AUS_AUS     Medicare Item Details AU   HS_MEDCARE_TBL_AUS   AUS
HS_MEDCATN_TBL_GBL         Medication                 HS_MEDCATN_TBL       GBL
HS_MEDICAL_FAC_GBL         Medical Facilities Table   HS_MEDICAL_FAC       GBL
MED_ORG_FRA_TBL            Medical Organization       MED_ORG_FRA_TBL      FRA
HS_OCCUPATION_CAN_GBL      Occupation Table - CAN     HS_OCCUPATION_CAN    GBL
HS_OCC_ILLNESS_GBL         Occupational Illnesses T   HS_OCC_ILLNESS       GBL
HS_PHYSICIAN_DATA_GBL      Physician Table            HS_PHYSICIAN_DATA    GBL
HS_PREVENT_ACT_CAN_GBL     Prevent. Actions Table -   HS_PREVENT_ACT_CAN   GBL
HS_PREVENT_ACT_GER_GBL     Prevent. Actions Table -   HS_PREVENT_ACT_GER   GBL
HS_TRANSPORT_TBL_GBL       Transport Table            HS_TRANSPORT_TBL     GBL
HS_UNSAFE_ITEM_GER_GBL     Unsafe Item Table DEU      HS_UNSAFE_ITEM_GER   GBL
HS_WA_CLS_TBL_GER_GBL      Work Area Class Table DE   HS_WA_CLS_TBL_GER    GBL
HS_WA_CTG_TBL_GER_GBL      Work Area Category Table   HS_WA_CTG_TBL_GER    GBL
HS_WA_TBL_GER_GBL          Work Area Table DEU        HS_WA_TBL_GER        GBL
INJURY_NATURE_TBL_GBL      Nature Of Injury Table     INJURY_NATURE_TBL    GBL
INJURY_SOURCE_TBL_GBL     Source Of Injury Table      INJURY_SOURCE_TBL    GBL
INTL_CONTACT_TABLE_GBL    School/Program Contact T    INTL_CONTACT_TABLE   GBL
INTL_SCHPGM_TABLE_GBL     School/Program Table        INTL_SCHPGM_TABLE    GBL
INTRFC_CONFIG_GBL         Configuration Table         INTRFC_CONFIG        GBL
INTRFC_DEFINITION_GBL     Definition Table            INTRFC_DEFINITION    GBL
INTRFC_EMPLOYEE_GBL       Employee Table              INTRFC_EMPLOYEE      GBL
INTRFC_FIELD_GBL          Field Definition Table      INTRFC_FIELD         GBL
INTRFC_FILEHANDLE_GBL     File Handle Table           INTRFC_FILEHANDLE    GBL
INTRFC_GROUP_GBL          Group Table                 INTRFC_GROUP         GBL
INTRFC_INSTANCE_GBL       Instance Table              INTRFC_INSTANCE      GBL
INTRFC_PROCESS_GBL        Process Table               INTRFC_PROCESS       GBL
IPE_PLAN_TABLE_GBL        Plans DEU                   IPE_PLAN_TABLE       GBL
IPE_STEP_TABLE_GBL        Steps DEU                   IPE_STEP_TABLE       GBL
JOBCODE_HAZRDS_TBL_GBL    Job Code Hazards Table      JOBCODE_HAZRDS_TBL   GBL
JOBCODE_TASK_TABLE_GBL    Job Code Task Table         JOBCODE_TASK_TABLE   GBL
JOB_FAMILY_GBL            Job Family Table            JOB_FAMILY           GBL
JOB_TASK_TABLE_GBL        Job Task Table              JOB_TASK_TABLE       GBL
LMS_ENTRIES_EVENT_GBL     Headcount increase setup    LMS_ENTRIES_EVENT    GBL
LMS_HOURS_RATE_GBL        Hours rate setup panel      LMS_HOURS_RATE       GBL
LMS_INCENT_EVENT_GBL      Incentive event setup pa    LMS_INCENT_EVENT     GBL
LMS_INCREASE_EVENT_GBL    Salary Increase event se    LMS_INCREASE_EVENT   GBL
LMS_LEAVES_EVENT_GBL      Headcount decrease event    LMS_LEAVES_EVENT     GBL
LMS_PERIOD_PNLGP_GBL      Period Setup panel          LMS_PERIOD_PNLGP     GBL
LMS_PROMO_EVENT_GBL       Promotion event setup pa    LMS_PROMO_EVENT      GBL
LMS_PRORATION_GBL         Proration setup panel       LMS_PRORATION        GBL
LMS_SCENARIO_GBL          Scenario setup panel        LMS_SCENARIO         GBL
LMS_SCHEDULE_EVENT_GBL    Working Schedule event s    LMS_SCHEDULE_EVENT   GBL
LMS_SENIOR_EVENT_GBL      Seniority Setup panel       LMS_SENIOR_EVENT     GBL
LMS_WRK_PD_PNLGP_GBL      Working period setup pan    LMS_WRK_PD_PNLGP     GBL
LOCATN_HAZRDS_TBL_GBL     Location Hazards Table      LOCATN_HAZRDS_TBL    GBL
MAJOR_TABLE_GBL           Majors                      MAJOR_TABLE          GBL
MODIFIED_WORK_TBL_GBL     Modified Work               MODIFIED_WORK_TBL    GBL
NATION_DUVO_TABLE_GBL     Nation Duvo                 NATION_DUVO_TABLE    GBL
NEE_PROVIDER_TBL_GBL      Non-Employee Provider       NEE_PROVIDER_TBL     GBL
NON_COURSE_TBL_GBL        Non-Course Training         NON_COURSE_TBL       GBL
OCC_ILLNESS_FRA           Occupational Illness Tbl    OCC_ILLNESS          FRA
JOB_CTG_FRA_TBL           Job Category                JOB_CTG_FRA_TBL      FRA
PA_PBGC_RATES             PBGC Rates                  PA_PBGC_RATES        GBL
PA_NATL_AVG_WAGE          National Average Wage       NATL_AVG_WAGE        GBL
PA_MTWB                   Max Taxable Wage Base       MTWB                 GBL
IDO_ORG_PLAN_JPN          Organization Plan           IDO_ORG_PLAN_JPN     GBL

PRODUCTS_5               Products5
POP_CTG_FRA_TBL            Population Category        POP_CTG_FRA_TBL      FRA
POSTAL_CODE_TBL            Postal Codes JPN           POSTAL_CODE_TBL      GBL
PREV_TBL_ITA               PREV Codes                 PREV_TBL_ITA         ITA
PCMP_CHK_TYPE_GBL          Check Type                 PCMP_CHK_TYPE        GBL
PCMP_COMPANY_TBL_GBL       Company Compliance         PCMP_COMPANY_TBL     GBL
PCMP_COMPL_GBL             Complaint Type             PCMP_COMPL           GBL
PCMP_DEV_ACPS_GBL          Development Accomplishme   PCMP_DEV_ACPS        GBL
PCMP_DEV_ACT_GBL           Development Activity       PCMP_DEV_ACT         GBL
PCMP_DEV_COMP_GBL          Development Competency     PCMP_DEV_COMP        GBL
PCMP_DEV_CRSE_GBL          Development Training Cou   PCMP_DEV_CRSE        GBL
PCMP_DEV_PLAN_GBL          Development Plan           PCMP_DEV_PLAN        GBL
PCMP_JOBCODE_GBL           Jobcode Compliance         PCMP_JOBCODE         GBL
PCMP_MGR_SUPER_GBL         Assign Manager/Superviso   PCMP_MGR_SUPER       GBL
PCMP_OBS_ELEM_GBL          Observation Element        PCMP_OBS_ELEM        GBL
PCMP_OBS_MODEL_GBL         Observation Model          PCMP_OBS_MODEL       GBL
PCMP_PROD_TYPE_GBL         Product Type               PCMP_PROD_TYPE       GBL
PCMP_REG_AUTH_GBL          Regulatory Authority       PCMP_REG_AUTH        GBL
PCMP_TYPE_GBL              Compliance Type            PCMP_TYPE            GBL
PRF_STS_FRA_TBL            Professional Status        PRF_STS_FRA_TBL      FRA
PKG_ADD_CMP_TBL_AUS        Additional Components      PKG_ADD_CMP_TBL      AUS
PKG_CALENDAR_GP_GBL        Pay Calendar GP            PKG_CALENDAR_GP      GBL
PKG_CALENDAR_TBL_AUS       Pay Calendar HR            PKG_CALENDAR_TBL     AUS
PKG_CMPNT_TBL_AUS          Package Components         PKG_CMPNT_TBL        AUS
PKG_ERN_DED_INCL_GBL       Included Earnings/Deduct   PKG_ERN_DED_INCL     GBL
PKG_FBT_INT_TBL_AUS        Review FBT Stat Interest   PKG_FBT_INT_TBL      AUS
PKG_FBT_TBL_AUS            Review FBT/GST Rate Tabl   PKG_FBT_TBL          AUS
PKG_FBT_VEH_TBL_AUS        Review FBT Stat Vehicle    PKG_FBT_VEH_TBL      AUS
PKG_PYTX_TBL_AUS           State Payroll Tax Rates    PKG_PYTX_TBL         AUS
PKG_RULE_TBL_AUS          Package Rules               PKG_RULE_TBL         AUS
PKG_TAX_SCALES_AUS_AUS    PAYG Tax scales             PKG_TAX_SCALES_AUS   AUS
PKG_TMPLT_TBL_AUS         Package Template            PKG_TMPLT_TBL        AUS
PS_TABLES_GBL             PS Tables                   PS_TABLES            GBL
P_RUNCTL_SID_GBL          Clone Payroll Interface     PI_RUNCTL_SID        GBL
REAS_END_TBL_BEL_BEL      Contract End Reasons        REAS_END_TBL_BEL     BEL
RED_CHRG_TBL_BEL_BEL      Reduced Charges             RED_CHRG_TBL_BEL     BEL
RESLTN_TYPE_TBL_GBL       Resolution Types            RESLTN_TYPE_TBL      GBL
SALARY_GRADE_TABLE_USF    Salary Grades USF           SALARY_GRADE_TABLE   USF
SALARY_GRADE_TBL_GBL      Salary Grades               SALARY_GRADE_TBL     GBL
SALARY_MATRIX_JPN_GBL     Salary Increase Matrix J    SALARY_MATRIX_JPN    GBL
SETUP_SALCOMP_JPN         Calculation Rule Setting    SETUP_SALCOMP_JPN    GBL
SALARY_MATRIX_TBL_GBL     Salary Increase Matrix      SALARY_MATRIX_TBL    GBL
SALARY_PLAN_TABLE_GBL     Salary Plan                 SALARY_PLAN_TABLE    GBL
SALINC_AMT_TBL_JPN_GBL    Salary Increase Amount J    SALINC_AMT_TBL_JPN   GBL
SALINC_ID_TBL_JPN_GBL     Salary Increase ID JPN      SALINC_ID_TBL_JPN    GBL
SAMEN_CNTRY_NLD_NLD       SAMEN Country NLD           SAMEN_CNTRY_NLD      NLD
SCHOOL_TABLE_GBL          Schools                     SCHOOL_TABLE         GBL
SCHOOL_TYPE_TABLE_GBL     School Types                SCHOOL_TYPE_TABLE    GBL
SI_UNIT_GER               Social Insurance Unit       SI_UNIT_GER          DEU
SENIORIT_NOTIF_ITA_ITA    Seniority Notification P    SENIORIT_NOTIF_ITA   ITA
SOC_INDIC_TBL_FRA_FRA     Employee Survey Group       SOC_INDIC_TBL_FRA    FRA
SOCS_RISKCD_ESP_GBL       Social Security Risk Cod    SOCS_RISKCD_ESP      GBL
SOCS_SCHEME_ESP_GBL       Social Security Scheme T    SOCS_SCHEME_ESP      GBL
SPK_COMM_GER_GBL          Speaker Committee DEU       SPK_COMM_GER         GBL
STATUTE_TBL_BEL_BEL       Statutes                    STATUTE_TBL_BEL      BEL
STEPINC_TBL_JPN_GBL       Step Increase JPN           STEPINC_TBL_JPN      GBL
SUPPORT_DOC_TABLE_GBL     Supporting Documents        SUPPORT_DOC_TABLE    GBL
SYSTEM_TABLE_GBL          System Table                SYSTEM_TABLE         GBL
SAL_PLAN_CONTROL          Budget Default Parameter    SAL_PLAN_CONTROL     GBL
SAL_PLAN_CNTRL_GRP        Group Budget Default Par    SAL_PLAN_CNTRL_GRP   GBL
SOCS_CNTRY_ESP            Country Codes Table         SOCS_CNTRY_ESP       GBL
SOCS_SETUP_ESP            Social Security Company     SOCS_SETUP_ESP       GBL
RELIGION_TBL_GBL          Religions                   RELIGION_TBL_GBL     GBL
RELIGION_TBL_FA           Religions MYS/SGP           RELIGION_TBL_FA      GBL
REV_DEF_TBL_JPN           Define Review JPN           REV_DEF_TBL_JPN      GBL
WAGE_PROGRESSION_GBL      Wage Progression Rule       SAL_PLAN_RULE        GBL
XML_CODE_TABLE            XML Code Tables             XML_CODE_TBL         GBL
XML_NODE_TBL              XML Node Table              XML_NODE_TBL         GBL
CTTA_MAPPING_ESP          Contrat@ Mapping            CTTA_MAPPING_ESP     GBL
XML_TEMPLATE              XML Template                XML_TEMPLATE         GBL
XML_SET_TBL               XML Set Table               XML_SET_TBL          GBL
SOCS_DATA_ESP             Social Security Data        SOCS_DATA_ESP        GBL
FM_DEF_ESP                PDF Form Definition         FM_DEF_ESP           GBL
CTPR_MAPPING_ESP          Contract Printing Mappin    CTPR_MAPPING_ESP     GBL
SOCS_OCCUPATN_ESP         Social Security Occupati    SOCS_OCCUPATN_ESP    GBL
SOCS_LBR_AGRMT_ESP        Soc. Sec. Labor Agreemen    SOCS_LBR_AGRMT_ESP   GBL

PRODUCTS_6               Products6
TARIFF_AREA_GBL            Tariff Area                TARIFF_AREA          GBL
TC_CATEGORY_GBL            TC Category                TC_CATEGORY          GBL
TC_COMP_DEFN_GBL           Compensation Definition    TC_COMP_DEFN         GBL
TC_COMP_SOURCE_GBL         TC Compensation Source D   TC_COMP_SOURCE       GBL
TC_DEPT_TREE_GBL           Total Comp Dept Tree       TC_DEPT_TREE         GBL
TC_PLAN_GBL                Total Comp Reporting Pla   TC_PLAN              GBL
TRAVEL_TYPE_TABLE_GBL      Travel Type Table          TRAVEL_TYPE_TABLE    GBL
TRN_2483_PARM_GBL          2483 Parameters FRA        TRN_2483_PARM        GBL
TRN_BASE_CURRENCY_GBL      Base Currency              TRN_BASE_CURRENCY    GBL
TRN_BUDGET_TBL_GBL         Department Budget          TRN_BUDGET_TBL       GBL
TRN_CATALOG_MOVE_GBL       Catalog Organization       TRN_CATALOG_MOVE     GBL
TRN_COST_TABLEC_GBL        Catalog Costs              TRN_COST_TABLEC      GBL
TRN_COST_TABLE_GBL         Course Costs               TRN_COST_TABLE       GBL
TRN_DSPL_TARGET_GBL        Department View            TRN_DSPL_TARGET      GBL
TRN_EE_SALARY_COST_GBL     Trainees Salary Costs      TRN_EE_SALARY_COST   GBL
TRN_EQUIP_TABLE_GBL        Equipment and Materials    TRN_EQUIP_TABLE      GBL
TRN_EXPNS_TYP_GBL_GBL      Tuition Expense Type       TRN_EXPNS_TYP_GBL    GBL
TRN_FACILITY_TBL_GBL       Training Facilities        TRN_FACILITY_TBL     GBL
TRN_INSTRUCTR_TBL1_GBL     Instructors                TRN_INSTRUCTR_TBL1   GBL
TRN_JOB_SLR_COST_GBL       Job Code Salary Costs      TRN_JOB_SLR_COST     GBL
TRN_PROGRAM_TABLE_GBL      Program Information        TRN_PROGRAM_TABLE    GBL
TRN_VENDOR_TABLE1_GBL      Vendors                    TRN_VENDOR_TABLE1    GBL
TRN_VNDR_CNTCT_TB1_GBL    Vendor Contacts             TRN_VNDR_CNTCT_TB1   GBL
TRV_ACTREAS_ITA_GBL       Turnover Reasons            TRV_ACTREAS_ITA      GBL
UNITA_PROD_TBL_GBL        Production Unit             UNITA_PROD_TBL       GBL
UNSAFE_ACT_TBL_GBL        Unsafe Act Table            UNSAFE_ACT_TBL       GBL
UNION_TABLE_GBL           Unions                      UNION_TABLE          GBL
URSSAF_TABLE_FRA          URSSAF Table                URSSAF_TABLE_FRA     FRA
VC_GOAL_TBL_GBL           Goals                       VC_GOAL_TBL          GBL
VC_PAYOUT_FORMULA_GBL     Payout Formulas             VC_PAYOUT_FORMULA    GBL
VC_PAYOUT_GBL             Plan Payouts                VC_PAYOUT            GBL
VC_PAYOUT_WG_GBL          Plan Payouts With Groups    VC_PAYOUT_WG         GBL
VC_PLAN_FUNDING_GBL       Plan Funding                VC_PLAN_FUNDING      GBL
VC_PLAN_GBL               Define Variable Comp Pla    VC_PLAN              GBL
VC_PLAN_GOAL_GBL          Plan Goals                  VC_PLAN_GOAL         GBL
VC_PLAN_GOAL_WG_GBL       Plan Goals with Groups      VC_PLAN_GOAL_WG      GBL
VC_PRORATE_PRD_GBL        Prorate Periods             VC_PRORATE_PRD       GBL
VC_PRORATE_RULE_GBL       Percentage Proration Rul    VC_PRORATE_RULE      GBL
VC_TREE_CHANGE_GBL        Tree Changes panel for B    VC_TREE_CHANGE       GBL
VC_TREE_SEC_TABLE_GBL     Group Tree Security         VC_TREE_SEC_TABLE    GBL
VC_VALUATION_GBL          Valuations                  VC_VALUATION         GBL
VC_WORK_DY_SCHED_GBL      Workday Schedules           VC_WORK_DY_SCHED     GBL
VISA_PERMIT_TABLE_GBL     Visas/Permits               VISA_PERMIT_TABLE    GBL
VOLUNTEER_ORG_TBL_GBL     Volunteer Organizations     VOLUNTEER_ORG_TBL    GBL
WORK_RESTRICT_TBL_GBL     Work Restrictions Table     WORK_RESTRICT_TBL    GBL
WRK_TIME_PARAM_UK_GBL     Working Time Directive U    WRK_TIME_PARAM_UK    GBL
WC_COUNCIL_TBL            Works Council               WC_COUNCIL_TBL       GBL
WC_DECISION_TBL           Works Council Decision      WC_DECISION_TBL      GBL
WC_DECISIONGRP_TBL        Works Council Decision G    WC_DECISIONGRP_TBL   GBL
COMP_LOC_TBL              Company Location            COMP_LOC_TBL         GBL
WRK_EXP_FRA_TBL           Previous Employment Situ    WRK_EXP_FRA_TBL      GBL
WC_ACTN_REASON_TBL        Job Change by Reg Region    WC_ACTN_REASON_TBL   GBL
WP_AGREEMENT              Define Agreement            WP_AGREEMENT         GBL
WP_AGRT_PERIOD            Reference Period            WP_AGRT_PERIOD       GBL
WC_USER_NOTIFY            Workflow parameters         WC_USER_NOTIFY       GBL
ESTAB_TYPE_BRA            Establishment ID Type BR    ESTAB_TYPE_BRA       GBL
ESTAB_TBL_BRA             Establishment BRA           ESTAB_TBL_BRA        GBL
CENTRALIZATION_BRA        Centralization Data BRA     CENTRALIZATION_BRA   GBL
HC_HELP_DESK              HC Help Des&k               HD_360_COMPONENT     GBL
EP_TMPL_BASIC             Employee Review Template    EP_TMPL_BASIC        GBL
EP_CLONE_TMPL             Clone Review Template       EP_CLONE_TMPL        GBL
EP_REVIEW_TYPE_TBL        Document Type (USF)         EP_REVIEW_TYPE_TBL   USF
ACTION_TBL                Action Table                ACTION_TBL           GBL
HR_HIRE_NOTIF             Hire Notification           HR_HIRE_NOTIF        GBL
CO_PE_VACPOS_SETUP        Open Positions Pagelet S    CO_PE_VACPOS_SETUP   GBL
HR_TBH_RECDEFN            Template Record/Field       HR_TBH_RECDEFN       GBL
HR_TBH_SECDEFN            Template Section            HR_TBH_SECDEFN       GBL
HR_TBH_CREATION           Template Creation           HR_TBH_CREATION      GBL
HR_TBH_COPY               Copy Template               HR_TBH_COPY          GBL
HR_TBH_CTG_TBL            Template Category Table     HR_TBH_CTG_TBL       GBL
US_OCC_TBL                Occupational Classif. Co    US_OCC_TBL           GBL
LOCATION_TABLE_BRA        Location Table BRA          LOCATION_TABLE_BRA   GBL
PPP_PARAM_BRA             PPP Parameters BRA          PPP_PARAM_BRA        GBL
CITY_CODES_BRA            City Codes Bra              CITY_CODES_BRA       GBL
CID_CODES_BRA             CID Codes BRA               CID_CODES_BRA        GBL
LEG_MOV_COD_BRA           Legal Movement Codes BRA    LEG_MOV_COD_BRA      GBL
GPES_SOCS_DATA_ESP        GPES_SOCS_DATA_ESP          GPES_SOCS_DATA_ESP   GBL
WCS_ECM_PRIH_RCTL         WCS_ECM_PRIH_RCTL           WCS_ECM_PRIH_RCTL    GBL
HEALTH_PROV_BRA           Health Providers            HEALTH_PROV_BRA      GBL

PRODUCTS_7               Products7
ACCIDENT_ARG               Accident Codes             ACCIDENT_ARG         GBL
ACTIVITY_ARG               Activity Type Codes        ACTIVITY_ARG         GBL
AFJP_ARG                   AFJP Codes                 AFJP_ARG             GBL
COMPANY_ACT_ARG            Company Activity Codes     COMPANY_ACT_ARG      GBL
CONDITION_ARG              Condition Codes            CONDITION_ARG        GBL
COURT_NBRS_ARG             Court Numbers              COURT_NBRS_ARG       GBL
EMPSIT_ARG                 Employee Situation Codes   EMPSIT_ARG           GBL
GEOZON_ARG                 Geographic Zone Codes      GEOZON_ARG           GBL
HEALTHPROV_ARG             Health Provider Codes      HEALTHPROV_ARG       GBL
HIREMOD_ARG                Hire Modality Codes        HIREMOD_ARG          GBL
REP_JC_ARG                 Report Job Codes           REP_JC_ARG           GBL
SECRETARY_NBRS_ARG         Secretary Numbers          SECRETARY_NBRS_ARG   GBL
SOC_SEC_ARG               Social Security Codes       SOC_SEC_ARG          GBL
HR_PRCS_SETUP_BEL         Online Processing Setup     HR_PRCS_SETUP_BEL    GBL
HR_DI_SENDER_BEL          DIMONA Sender BEL           HR_DI_SENDER_BEL     GBL
HR_DI_EVT_TYP_BEL         DIMONA Event Type BEL       HR_DI_EVT_TYP_BEL    GBL
CONTRACT_TYPE_BRA         Legal Contract Type         CONTRACT_TYPE_BRA    GBL

COMMON                   Foundation
RUN_PER701_GBL             Department Table Report    RUN_PER701           GBL
RUN_PER705_GBL             Location Table Report      RUN_PER705           GBL
RUN_PER707_GBL             Company Table Report       RUN_PER707           GBL
RUN_PER709C_GBL            Job Code Table Report      RUN_PER709C          GBL
SRC_BANK_GBL               Source Bank Accounts       SRC_BANK             GBL
SS_LINK_TBL_GBL            Direct Reports Setup       SS_LINK_TBL          GBL
SUPVSR_LVL_TBL_GBL         Supervisor Levels          SUPVSR_LVL_TBL       GBL
ACTION_REASON_TBL_GBL      Action Reasons             ACTION_REASON_TBL    GBL
TEMP_DUTIES_TBL_GBL        Temporary Duties           TEMP_DUTIES_TBL      GBL
CURRENCY_CD_TABLE_GBL      Currency Code              CURRENCY_CD_TABLE    GBL
WF_CO_CONFIG_GBL           Workflow Configurations    WF_CO_CONFIG         GBL
CURRENCY_EXCHNG_PN_GBL     Currency Exchange Calcul   CURRENCY_EXCHNG_PN   GBL
CURR_QUOTE_PNL_GBL         Currency Quotation Metho   CURR_QUOTE_PNL       GBL
DEPARTMENT_TBL_GBL         Departments                DEPARTMENT_TBL       GBL
DFLT_FREQUENCY_GBL         Default Frequencies by C   DFLT_FREQUENCY       GBL
EO_SYS_WF_RULES_GBL        System Workflow Rules      EO_SYS_WF_RULES      GBL
EO_TRANSACTIONS_GBL        Workflow Transactions      EO_TRANSACTIONS      GBL
EO_TRAN_CATS_GBL           Transaction Categories     EO_TRAN_CATS         GBL
ESTABLISHMENT_DATA_GBL     Establishment              ESTABLISHMENT_DATA   GBL
FREQUENCY_TBL_GBL          Frequency Table            FREQUENCY_TBL        GBL
GB_CRITERIA_TABLE_GBL      Group Criteria             GB_CRITERIA_TABLE    GBL
GB_GRP_DEFN_TABLE_GBL      Group Build - Group Defi   GB_GRP_DEFN_TABLE    GBL
GB_OPR_SEC_TABLE_GBL       Security by Operator       GB_OPR_SEC_TABLE     GBL
GB_GRP_SEC_TABLE_GBL       Security by Group          GB_GRP_SEC_TABLE     GBL
GB_GRP_DFT_TABLE_GBL       Group Security Default     GB_GRP_DFT_TABLE     GBL
HR_BUSINESS_UNIT_GBL       Business Unit              HR_BUSINESS_UNIT     GBL
HR_WF_STATUS_GBL           Workflow Status            HR_WF_STATUS         GBL
BUS_UNIT_OPT_HR_GBL        Business Unit Options De   BUS_UNIT_OPT_HR      GBL
CMP_DFLT_OPTIONS_GBL       Rate Code Defaulting Opt   CMP_DFLT_OPTIONS     GBL
CMP_RULE_DEFN_GBL          Rate Code Defaulting Rul   CMP_RULE_DEFN        GBL
COMPANY_TABLE_GBL          Company                    COMPANY_TABLE        GBL
AGENCY_TABLE_USF           Agency USF                 AGENCY_TABLE         USF
COMP_RATECD_TBL_GBL        Comp Rate Code Table       COMP_RATECD_TBL      GBL
WCS_RTCD_DETAILS           Rate Code Details          WCS_RTCD_DETAILS     GBL
CONTROLLED_ESTABS_GBL      Controlled Establishment   CONTROLLED_ESTABS    GBL
JOB_CODE_TBL_GBL           Job Code Table             JOB_CODE_TBL         GBL
JOB_SUB_FUNC_TBL           Job SubFunction            JOB_SUBFUNC_DEFN     GBL
JOB_FUNCTION_TBL_GBL       Job Function               JOB_FUNCTION_TBL     GBL
LEGAL_TYPE_GBL             Company Legal Type         LEGAL_TYPE           GBL
LOCATION_TABLE_GBL         Location                   LOCATION_TABLE       GBL
NID_TYPE_TABLE_GBL         National ID Type           NID_TYPE_TABLE       GBL
ADDR_TYPE_TBL_GBL          Address Type               ADDR_TYPE_TBL        GBL
RATECD_CLASS_TBL_GBL       Rate Code Class Table      RATECD_CLASS_TBL     GBL
RATE_CODE_GROUPS_GBL       Rate Code Groups           RATE_CODE_GROUPS     GBL
RSLT_SMRY_PNLGP_GBL        Complex Group Results Su   RSLT_SMRY_PNLGP      GBL
RT_RATE_PNL_GBL            Market Rates               RT_RATE_PNL          GBL
RT_TYPE_TBL_GBL            Currency Exchange Rate T   RT_TYPE_TBL          GBL
RUNCTL_GBP001_GBL          Group Overlapping          RUNCTL_GBP001        GBL
RUNCTL_GBP002_GBL          Group Membership           RUNCTL_GBP002        GBL
RUNCTL_GBP003_GBL          Group Build from Co./Dep   RUNCTL_GBP003        GBL
RUNCTL_GBP004_GBL          Group Results Purge        RUNCTL_GBP004        GBL
RUNCTL_GBP005_GBL          Unusable Group Results P   RUNCTL_GBP005        GBL
RUNCTL_PORTAL_GBL          Portal Analysis            RUNCTL_PORTAL        GBL
RUN_CMP016_GBL             Default Rules Eligibilit   RUN_CMP016           GBL
RUN_EO9030_GBL             Calculate Cross/Reciproc   RUN_EO9030           GBL
MARKET_RATE_DEF_GBL        Market Rate Definition     MARKET_RATE_DEF      GBL
MARKET_RATE_INDEX_GBL      Market Rate Index          MARKET_RATE_INDEX    GBL
BANK_EC_GBL                Banks                      BANK_EC              GBL
SETUP_IBAN_TBL             IBAN Country Setup         SETUP_IBAN_TBL       GBL
POSITION_DATA              Position Data              POSITION_DATA        GBL
NAME_FORMAT                Name Format Type           NAME_FORMAT_TBL      GBL
NAME_TYPE                  Name Type                  NAME_TYPE_TBL        GBL
NAME_SUFFIX                Name Suffix                NAME_SUFFIX_TABLE    GBL
NAME_PREFIX                Name Prefix                NAME_PREFIX_TABLE    GBL
NAME_TITLE                  Name Title                  TITLE                GBL
NAME_ROY_SUFF               Royal Name Suffix           NM_ROYAL_SUFF        GBL
NAME_ROY_PRE                Royal Name Prefix           NM_ROYAL_PREF        GBL
STANDARD_LETTER             Standard Letter Table       STANDARD_LTR_TABLE   GBL
ACTION_REASON_RPT           Action Reason Report        RUN_PER710           GBL
DL_LINK_TBL                 Dynamic Link                DL_LINK_TBL          GBL
JOBCODE_RPT_USA             Jobcode Rpt USA             RUN_PER709A          GBL
JOBCODE_TBL_CAN             Jobcode Table Report CAN    RUN_PER709B          GBL
POI_TYPE                    POI Type                    POI_TYPE_TBL         GBL
GP_PYMT_ID_DEFN             Payment ID Definition       GP_PYMT_ID_DEFN      GBL

INSTALL                   Install
INSTALLATION_TBL_GBL        Installation Table          INSTALLATION_TBL     GBL
RUN_PER702_GBL              Installation Table Repor    RUN_PER702--         GBL
COUNTRY_TABLE_GBL           Country Table               COUNTRY_TABLE        GBL
RUN_PER708_GBL              Country Table Report        RUN_PER708--         GBL
RUN_PER713_GBL              Currency Code Table         RUN_PER713--         GBL
RUN_PER714_GBL              Currency Rate Report        RUN_PER714--         GBL
WA_MKT_RATE_TBL_GBL         Market Price Interface      WA_MKT_RATE_TBL      GBL
STATE_DEFN_GBL              State/Province              STATE_DEFN           GBL
REG_REGION_GBL              Regulatory Region           REG_REGION           GBL
REG_TRX_REGION_GBL          Regional Transactions       REG_TRX_REGION       GBL
INSTALL_PERSON              Person Object Install       INSTALL_PERSON       GBL
NID_PREFIX_GBR              NID_PREFIX_GBR              NID_PREFIX_GBR       GBL

SECURITY                   Security
SCRTY_DATA_GBL_GBL           Setup Global Security      SCRTY_DATA_GBL       GBL
SCRTY_DATA_GBL               Setup Dept Security Tree   SCRTY_DATA           GBL
LOCK_USERS_GBL               Lock Users                 LOCK_USERS           GBL
CREATE_USERS_GBL             Create Users               CREATE_USERS         GBL
RUN_PER510                   Create Row Security for    RUN_PER510           GBL
DEPT_TBL_SECURITY_TREE_AUDIT Security Tree Audit Repo   RUN_PER506           GBL
ADDAPPT_SEC_JPN              Addl Appt Report Securit   ADDAPPT_SEC_JPN      GBL
SCRTY_SET_TBL                Security Set Table         SCRTY_SET_TBL        GBL
SCRTY_CLASS                  Security by Permission L   SCRTY_CLASS          GBL
SCRTY_OPR_RC                 Refresh SJT_CLASS_ALL      SCRTY_OPR_RC         GBL
SCRTY_SJT_RC                 Refresh SJT Transaction    SCRTY_SJT_RC         GBL
SCRTY_INSTALL                Security Installation Se   SCRTY_INSTALL        GBL
SCRTY_TYPE2_TBL              Security Type Table        SCRTY_TYPE2_TBL      GBL
SCRTY_SJTDLY_RC              SJT Nightly Update         SCRTY_SJTDLY_RC      GBL
SCRTY_OPRCLS_RC              Refresh SJT_OPR_CLS        SCRTY_OPRCLS_RC      GBL
SCRTY_TRANS_DISP             Security Inquiry           SCRTY_TRANS_DISP     GBL
PERSON_ORG_SUMM              Person Organization Inqu   PERSON_ORG_SUMM      GBL

SYSTEM                    System
OPR_DEF_TBL_HR_GBL          Org Defaults by Permissi    OPR_DEF_TBL_HR       GBL
RUN_PER099_GBL              Refresh EMPLOYEES Table     RUN_PER099           GBL
RUN_PER900_GBL              Core HR Data Integrity A    RUN_PER900           GBL
RUN_SQCLGGEN_GBL            Generate RELLANG.SQC        RUN_SQCLGGEN         GBL
EMPLOYEE_ID_CHANGE_GBL      ID Change                   EMPLOYEE_ID_CHANGE   GBL
EMPLOYEE_ID_DELETE_GBL      ID Delete                   EMPLOYEE_ID_DELETE   GBL
HR_PER502_LOG               ID Change/Delete Process    HR_PER502_LOG        GBL
ID_DEL_PRVNT_TABLE          ID Delete Control           ID_DEL_PRVNT_TABLE   GBL
RUNCTL_CCI_GBL              Invoke Core CIs             RUNCTL_CCI           GBL
JBCMP_TMP_STAT_GBL          Mass Change Status          JBCMP_TMP_STAT       GBL
JBCMP_TMP_DEPT_GBL          Mass Change Dept            JBCMP_TMP_DEPT       GBL
JOB_TMP_DEPT_STAT_GBL       Mass Change Status for D    JOB_TMP_DEPT_STAT    GBL
JOB_TMP_STAT_GBL            Mass Change Status          JOB_TMP_STAT         GBL
RUN_MASSCHNG_GBL            Run Mass Change             RUN_MASSCHNG         GBL
MC_DEFN_HR_GBL              HR Mass Change Defn         MC_DEFN_HR           GBL
MC_DBAG_GBL                 Post Mass Changes to JOB    MC_DBAG              GBL
RUN_CNTL_TAU                Tables Accessed and Upda    RUN_CNTL_TAU         GBL
POSTAL_CODE_TBL_NLD         Load Postal Codes NLD       RUN_POSTAL_NLD       NLD
RUNCTL_CITYUPDATE           Load Cities ITA             RUNCTL_CITYUPDATE    ITA
POSTAL_LOAD_CHE             Load Postal Codes CHE       POSTAL_LOAD_CHE      GBL
HMCR_IFC_REGISTRY           HMCR_IFC_REGISTRY           HMCR_IFC_REGISTRY    GBL
HMCR_WZ_REGSRV              HMCR_WZ_REGSRV              HMCR_WZ_REGSRV       GBL
HMCR_CONTENT_ADMIN          HMCR_CONTENT_ADMIN          HMCR_CONTENT_ADMIN   GBL
HMCR_SRV_TESTER             Service Tester              HMCR_SRV_TESTER      GBL
HMTF_TRF_REGISTRY           HMTF_TRF_REGISTRY           HMTF_TRF_REGISTRY    GBL
HMTF_WZ_TRF                 HMTF_WZ_TRF                 HMTF_WZ_TRF          GBL
        NAME_DISPLAY_RC              Refresh Name Display       NAME_DISPLAY_RC      GBL
        PERSON_DT_SETUP              PERSONAL_DATA Settings     PERSON_DT_SETUP      GBL
        HR_EERCDDEL_FIELDS           ERN Delete Field Names     HR_EERCDDEL_FIELDS   GBL
        HR_EERCDDEL_CTL              ERN Delete Control         HR_EERCDDEL_CTL      GBL
        HR_EERCDDEL_EXC              ERN Delete Exception Tab   HR_EERCDDEL_EXC      GBL
        HR_RUNCTL_EERCDDEL           ERN Delete Process         HR_RUNCTL_EERCDDEL   GBL
        HR_EERCDDEL_RESULT           ERN Delete Process Resul   HR_EERCDDEL_RESULT   GBL
        MU_TP_SETUP                  Configure Processor        MU_TP_SETUP          GBL
        MU_SETUP                     Define Mass Update         MU_SETUP             GBL
        RUNCTL_MU_CREATE             Create Mass Updates        RUNCTL_MU_CREATE     GBL
        MU_MANAGE                    Manage Mass Updates        MU_MANAGE            GBL
        RUNCTL_MU_PRINT              Print Mass Updates         RUNCTL_MU_PRINT      GBL
        RUNCTL_MU_EXECUTE            Execute Mass Updates       RUNCTL_MU_EXECUTE    GBL
        RUNCTL_MU_DELETE             Delete Mass Updates        RUNCTL_MU_DELETE     GBL
        RUNCTL_POSTAL_JPN            Load Postal Codes JPN      RUNCTL_POSTAL_JPN    GBL

        HRMS_COMMON                Common
        HOLIDAY_SCHEDULE             Holiday Schedule           HOLIDAY_SCHED_TBL    NA
        PER711                       Standard Letter Report     RUN_PER711--         GBL
        GB_REC_FIELD                 Records and Fields         GB_REC_FIELD         GBL
        HCR_SM_RULE                  Search/Match Rules         HCR_SM_RULE          GBL
        HCR_SM_PARM                  Search/Match Parameters    HCR_SM_PARM          GBL
        HCR_SM_RSLT_FLDS             Search/Match Result Fiel   HCR_SM_RSLT_FLDS     GBL
        HCR_SM_RESULT                Search/Match Results       HCR_SM_RESULT        GBL
        HCR_SM_SEARCH                Search/Match               HCR_SM_SEARCH        GBL
        HCR_SM_PARM_VW
        HR_RFW_RECDEFN               Record Definition          HR_RFW_RECDEFN       GBL
        HR_RFW_SYSVAR                Variable Definition        HR_RFW_SYSVAR        GBL
        HR_RFW_DSODEFN               Data Object Definition     HR_RFW_DSODEFN       GBL
        HR_RFW_RPTDEFN               Report Type Definition     HR_RFW_RPTDEFN       GBL
        HR_RFW_RPTCLONE              Clone Report Type          HR_RFW_RPTCLONE      GBL




Component Detail
Component: CTPR_CREATEXML_ESP (GBL)
            Description     ESP-Contract Printing
            Search Record XML_DEFN_SRCH CTPR_SRCH_VW
            Add Search Record      XML_DEFN        XML_CTTA_SRCH
            Force Search    No
            Disable Saving Page    No
            Include in Navigator Yes
            Mandatory SpellCheck No
            Detail Page     CTPR_CRET_XML2_ESP
            Actions Add Update
            Comments        ESP-Contract Printing
            Owner ID        HR Spain       Human Resources

            Internet
            Primary Action Search
            Default Action Update
            Default Lookup Type    Advanced
            Allow Action Mode Sel. Yes
            Link to App Page    Msg       124
                                Nbr       62
            Link to Search Page Msg       124
                                Nbr       63
            Instructional Text Msg        124
                                Nbr       50
            Disp Folder Tab (top) No
            Disp Hiperlinks (bottom)      No
            Processing Mode        Interactive
            Allow Expert Entry     No
            Show ToolBar    Yes
               Save Yes
               Cancel       Yes
               SpellCheck No
               Return to List      Yes
               Next in List        Yes
               Prev in List        Yes
               Next Page    No
               Prev Page    No
               Refresh      No
               Notify       Yes
               View Worklist       Yes
               Next Worklist       Yes
               Prov Worklist       Yes
               Add Yes
               Update       Yes
               UpdateAll    No
               Correction No
            Show Pagebar    Yes
               Help Link    Yes
               Copy URL Link       Yes
               New Window Link     Yes
               Customize Page Link Yes

        Panel Name         Item Name                  Hid   Item Label               Folder Tab Label
        CTPR_CRET_XML2_ESP CTPR_CRET_XML2_ESP                Contract Printing ESP




Component: HEALTH_PROV_BRA (GBL)
            Description     Health Providers Brazil
            Search Record HEALTH_PROV_BRA
            Add Search Record
            Force Search    No
            Disable Saving Page    No
            Include in Navigator Yes
            Mandatory SpellCheck No
            Actions Add Update UpdAll Correct
            Comments        Health Providers Brazil
            Owner ID        Human Resources

            Internet
            Primary Action Search
            Default Action Update
            Default Lookup Type    Basic
            Allow Action Mode Sel. Yes
            Link to App Page    Msg       124
                                Nbr       62
            Link to Search Page Msg       124
                                Nbr       63
            Instructional Text Msg        124
                                Nbr       50
            Disp Folder Tab (top) Yes
            Disp Hiperlinks (bottom)      Yes
            Processing Mode        Deffered
            Allow Expert Entry     No
            Show ToolBar    Yes
               Save Yes
               Cancel       Yes
               SpellCheck No
               Return to List      Yes
               Next in List        Yes
               Prev in List        Yes
               Next Page    No
               Prev Page    No
               Refresh      No
               Notify       Yes
               View Worklist       Yes
               Next Worklist       Yes
               Prov Worklist       Yes
               Add Yes
               Update      Yes
               UpdateAll   Yes
               Correction Yes
            Show Pagebar   Yes
               Help Link   Yes
               Copy URL Link       Yes
               New Window Link     Yes
               Customize Page Link Yes

        Panel Name           Item Name              Hid   Item Label              Folder Tab Label
        HEALTH_PROV_BRA      HEALTH_PROV_BRA               Health Providers




Component: TRN_T_ACTN_GRP_ESP (GBL)
            Description     FT Training Actions and Groups
            Search Record TRN_T_ACT_ESP
            Add Search Record
            Force Search    No
            Disable Saving Page    No
            Include in Navigator Yes
            Mandatory SpellCheck No
            Actions Add Update UpdAll Correct
            Comments        Define actions and groups for Tripartite Foundation
            Owner ID        HR Spain

            Internet
            Primary Action Search
            Default Action Update
            Default Lookup Type    Advanced
            Allow Action Mode Sel. Yes
            Link to App Page    Msg       124
                                Nbr       62
            Link to Search Page Msg       124
                                Nbr       63
            Instructional Text Msg        124
                                Nbr       50
            Disp Folder Tab (top) Yes
            Disp Hiperlinks (bottom)      Yes
            Processing Mode        Interactive
            Allow Expert Entry     No
            Show ToolBar    Yes
               Save Yes
               Cancel       Yes
               SpellCheck No
               Return to List      Yes
               Next in List        Yes
               Prev in List        Yes
               Next Page    No
               Prev Page    No
               Refresh      No
               Notify       Yes
               View Worklist       Yes
               Next Worklist       Yes
               Prov Worklist       Yes
               Add Yes
               Update       Yes
               UpdateAll    Yes
               Correction Yes
            Show Pagebar    Yes
               Help Link    Yes
               Copy URL Link       Yes
               New Window Link     Yes
               Customize Page Link Yes

        Panel Name           Item Name              Hid   Item Label              Folder Tab Label
        TRN_T_ACTN_GRP_ESP   TRN_T_ACTION_GRP_ESP          Training Actions
        TRN_T_GROUPS_ESP     TRN_T_GROUPS_ESP              Groups
        TRN_T_ACTN_GRP_ESP   TRN_T_ACTION_GRP_ESP          &Training Actions
        TRN_T_GROUPS_ESP     TRN_T_GROUPS_ESP              &Groups
Component: TRN_T_FAC_DATA_ESP (GBL)
            Description     FT Facility Data
            Search Record TRN_FACIL_TBL
            Add Search Record
            Force Search    No
            Disable Saving Page    No
            Include in Navigator Yes
            Mandatory SpellCheck No
            Actions Update UpdAll Correct
            Comments        FT Facility Additional Data
            Owner ID        HR Spain

            Internet
            Primary Action Search
            Default Action Update
            Default Lookup Type    Basic
            Allow Action Mode Sel. Yes
            Link to App Page    Msg       124
                                Nbr       62
            Link to Search Page Msg       124
                                Nbr       63
            Instructional Text Msg        124
                                Nbr       50
            Disp Folder Tab (top) Yes
            Disp Hiperlinks (bottom)      Yes
            Processing Mode        Deffered
            Allow Expert Entry     No
            Show ToolBar    Yes
               Save Yes
               Cancel       Yes
               SpellCheck No
               Return to List      Yes
               Next in List        Yes
               Prev in List        Yes
               Next Page    No
               Prev Page    No
               Refresh      No
               Notify       Yes
               View Worklist       Yes
               Next Worklist       Yes
               Prov Worklist       Yes
               Add No
               Update       Yes
               UpdateAll    Yes
               Correction Yes
            Show Pagebar    Yes
               Help Link    Yes
               Copy URL Link       Yes
               New Window Link     Yes
               Customize Page Link Yes

        Panel Name         Item Name               Hid    Item Label              Folder Tab Label
        TRN_T_FACILITY_TBL TRN_T_FACILITY_TBL              FT Facility Data
        TRN_T_FACILITY_TBL TRN_T_FACILITY_TBL              FT Facility Data ESP




Component: TRN_T_SIMU_CRD_ESP (GBL)
            Description     FT Training Plans & Credit
            Search Record TRN_T_SIMU_SRCH
            Add Search Record      TRN_T_SIMUL_ESP
            Force Search    No
            Disable Saving Page    No
            Include in Navigator Yes
            Mandatory SpellCheck No
            Actions Add Update UpdAll Correct
       Comments         Training Plans and Credit Management for Tripartite Foundation
       Owner ID         HR Spain

       Internet
       Primary Action Search
       Default Action Update
       Default Lookup Type    Advanced
       Allow Action Mode Sel. Yes
       Link to App Page    Msg       124
                           Nbr       62
       Link to Search Page Msg       124
                           Nbr       63
       Instructional Text Msg        124
                           Nbr       50
       Disp Folder Tab (top) Yes
       Disp Hiperlinks (bottom)      Yes
       Processing Mode        Interactive
       Allow Expert Entry     No
       Show ToolBar    Yes
          Save Yes
          Cancel       Yes
          SpellCheck No
          Return to List      Yes
          Next in List        Yes
          Prev in List        Yes
          Next Page    No
          Prev Page    No
          Refresh      No
          Notify       Yes
          View Worklist       Yes
          Next Worklist       Yes
          Prov Worklist       Yes
          Add Yes
          Update       Yes
          UpdateAll    Yes
          Correction Yes
       Show Pagebar    Yes
          Help Link    Yes
          Copy URL Link       Yes
          New Window Link     Yes
          Customize Page Link Yes

   Panel Name           Item Name              Hid   Item Label             Folder Tab Label
   TRN_T_ACT_PLAN_ESP   TRN_T_ACT_PLAN_ESP            Training Plan
   TRN_T_SIMU_CRD_ESP   TRN_T_SIMU_CRD_ESP            Credit Calculation
   TRN_T_CREDT_ESP      TRN_T_CREDT_ESP               Credit Management
   TRN_T_ACT_PLAN_ESP   TRN_T_ACT_PLAN_ESP            Training &Plan
   TRN_T_SIMU_CRD_ESP   TRN_T_SIMU_CRD_ESP            Credit &Calculation
   TRN_T_CREDT_ESP      TRN_T_CREDT_ESP               Credit &Management




Message Catalog Detail
Message Catalog Entry: Human Resources - ITA 6545, 5
               Severity       Warning
               Msg Text       The Fiscal Code (%1) does not have the standard format; please check
          the FC. Possible code is %2 The Control Character for Fiscal Code (%1) does not match;
          please check the FC. Possible code is %2
               Explanation




Message Catalog Entry: Human Resources - ESP 6550, 168
               Severity       Error
               Msg Text       The selected row does not belong to XML set: %1
               Explanation
                      Please select a row that belongs to this XML set.




Message Catalog Entry: Human Resources - BRA           6566, 130
               Severity       Message
               Msg Text       Health Provider Data
               Explanation    Health Provider Data




Appl Engine (Section) Detail
Appl Engine (Section): BN_BEN500_AE INS-TURN
               Description    Insert work tables
               Market GBL
               DataBase       Default
               EffDt 01/01/1900
               Effective Status       Active
               Section Type   Prepare Only
               Auto Commit    No
               Access Public

          Step/Action        Description                       Attributes

          [Step010 ]         Insert PRIJOB1
          [PeopleCode   ]
          [SQL          ]                                  ReUse

          [Step020 ]         Insert PRIJOB2
          [PeopleCode   ]
          [SQL          ]                                  ReUse




Appl Engine (Section): BN_BEN500_AE JBACTVER


Appl Engine (Section): BN_BEN500_AE JBFLGUPD


Appl Engine (Section): BN_BEN500_AE JBHIGACT
Appl Engine (Section): BN_BEN500_AE JBLOWACT


Appl Engine (Section): BN_BEN500_AE MULTJOBS
             Description    Multiple jobs
             Market GBL
             DataBase       Default
             EffDt 01/01/1900
             Effective Status       Active
             Section Type   Prepare Only
             Auto Commit    No
             Access Public

         Step/Action       Description                    Attributes

         [Step010 ]        Truncate PRIJOB1-200
         [SQL          ]                               ReUse

         [Step020 ]        Insert-200
         [SQL          ]                               ReUse

         [Step040 ]        Set primary job-300
         [Call Section]                                Section: BN_BEN500_AE.UPDTPRI
         [Do Select   ]                                Type: Select/Fetch ReUse

         [Step050 ]        Set rest,exists active job-300
         [Call Section]                               Section: BN_BEN500_AE.EXSTJOB
         [Do Select   ]                               Type: Select/Fetch ReUse

         [Step060 ]        Set rest,no act job exists-300
         [Call Section]                               Section: BN_BEN500_AE.NOTEXJOB
         [Do Select   ]                               Type: Select/Fetch ReUse

         [Step070 ]        Second table - 400
         [SQL          ]                               ReUse

         [Step080 ]        Insert primary
         [SQL          ]                               ReUse

         [Step090 ]        Insert not primary
         [SQL          ]                               ReUse

         [Step095 ]        Insert in PRIJOB2
         [SQL          ]

         [Step100 ]        Turn on row                     Commit After Step
         [Call Section]                                Section: BN_BEN500_AE.INS-TURN
         [Do Select   ]                                Type: Select/Fetch ReUse

         [Step110 ]        Insert additional PRIJOB2
         [SQL          ]

         [Step120 ]        Final Insert PRIMARY_JOBS
         [SQL          ]                               ReUse

         [Step130 ]        Counter
         [SQL          ]




Appl Engine (Section): BN_FSA001_AE CLM-PYMT
             Description    Claim Payment
             Market GBL
             DataBase       Default
             EffDt 01/01/1900
             Effective Status       Active
             Section Type  Prepare Only
             Auto Commit   After Step
             Access Public

         Step/Action       Description                      Attributes

         [Step010 ]        Get Summary values for R
         [SQL          ]

         [Step020 ]        Check if available to pay
         [PeopleCode   ]
         [SQL          ]

         [Step025 ]        Mark not paid if less than min
         [PeopleCode   ]
         [SQL          ]

         [Step030 ]        Pay Claim if flag still Y
         [Call Section]                                Section: BN_FSA001_AE.PAY-CLM
         [Do When     ]




Appl Engine (Section): BN_FSA001_AE MAIN
             Description    MAIN description
             Market GBL
             DataBase       Default
             EffDt 01/01/1900
             Effective Status       Active
             Section Type   Prepare Only
             Auto Commit    After Step
             Access Public

         Step/Action       Description                      Attributes

         [Step010 ]        Last Claim Nbr
         [SQL          ]

         [Step030 ]        Load setup data                 Freq: 1.0
         [Do Select    ]                               Type: Restartable
         [PeopleCode   ]
         [SQL          ]

         [Step040 ]        Stats Setup temp table
         [SQL          ]

         [Step050 ]        Adjust for plan 60
         [SQL          ]

         [Step070 ]        Correct based on Payroll        Freq: 1.0
         [Do Select    ]                               Type: Restartable
         [SQL          ]

         [Step075 ]        Not    valid enrollments
         [SQL          ]

         [Step080 ]        Load Empl Data
         [SQL          ]

         [Step090 ]        Stats claim temp table
         [SQL          ]

         [Step100 ]        Recalculate available pledges Freq: 1.0
         [Call Section]                               Section: BN_FSA001_AE.ADJ-PLGE
         [Do Select   ]                               Type: Restartable

         [Step110 ]        Loop                            Freq: 1.0
         [Call Section]                                Section: BN_FSA001_AE.PROCESS
         [Do Select   ]                                Type: Restartable
         [Step120 ]        Truncate Empl table
         [SQL          ]

         [Step130 ]        Load for Pay
         [SQL          ]

         [Step140 ]        Stats claims temp table
         [SQL          ]

         [Step150 ]        Adjust Pledges                   Freq: 1.0
         [Call Section]                                 Section: BN_FSA001_AE.ADJ-PLGE
         [Do Select   ]                                 Type: Restartable

         [Step160 ]        Process Claims for Pay           Freq: 1.0
         [Call Section]                                 Section: BN_FSA001_AE.CLM-PYMT
         [Do Select   ]                                 Type: Restartable
         [PeopleCode ] Pending or Ready ?

         [Step170 ]        Stats paymnt temp table
         [SQL          ]

         [Step180 ]        Resolve less than min amts       Freq: 1.0
         [Call Section]                                 Section: BN_FSA001_AE.MIN-CHCK
         [Do Select   ]                                 Type: Restartable

         [Step181 ]        Pay Claims
         [Call Section]                                 Section: BN_FSA001_AE.PAY-CLM
         [Do Select   ]                                 Type: Select/Fetch

         [Step182 ]        Rectify Denied values
         [SQL          ]

         [Step186 ]        Rectify Approved values
         [SQL          ]

         [Step190 ]        Set Pending where not complt
         [SQL          ]

         [Step195 ]        Set Final 4 Split
         [SQL          ]

         [Step198 ]        Eliminate not needed splits
         [SQL          ]

         [Step200 ]        Set run to calculated
         [SQL          ]




Appl Engine (Section): BN_FSA001_AE MIN-CHCK
             Description    Verify Min Check
             Market GBL
             DataBase       Default
             EffDt 01/01/1900
             Effective Status       Active
             Section Type   Prepare Only
             Auto Commit    After Step
             Access Public

         Step/Action       Description                      Attributes

         [Step010 ]        Calc sum payments
         [SQL          ]

         [Step015 ]        Extract Min Check Amount?
         [PeopleCode   ]
         [SQL          ]

         [Step020 ]        Check insert or upd;reset pend
         [PeopleCode   ]
         [Step025 ]        Reuse paycheck # ?
         [SQL          ]

         [Step028 ]        If insert, get last paycheck
         [PeopleCode   ]
         [SQL          ]

         [Step030 ]        Pay if green light
         [Call Section]                                 Section: BN_FSA001_AE.PAY-CLM
         [PeopleCode ]
         [SQL         ]




Appl Engine (Section): BN_FSA001_AE PAY-CLM
             Description    Pay Claims
             Market GBL
             DataBase       Default
             EffDt 01/01/1900
             Effective Status       Active
             Section Type   Prepare Only
             Auto Commit    After Step
             Access Public

         Step/Action       Description                       Attributes

         [Step010 ]        Check existing check
         [SQL          ]

         [Step015 ]        Set insert or update
         [PeopleCode   ]
         [SQL          ]

         [Step020 ]        Update Claim for Ready claims
         [PeopleCode   ]
         [SQL          ]

         [Step022 ]        Update Claim for Pend claims
         [PeopleCode   ]
         [SQL          ]

         [Step030 ]        Insert Payment if new set
         [PeopleCode   ]
         [SQL          ]

         [Step035 ]        Update Payment if same set
         [PeopleCode   ]
         [SQL          ]

         [Step040 ]        Update Summary for Ready claim
         [PeopleCode   ]
         [SQL          ]

         [Step042 ]        Update Summary for   Pend claim
         [PeopleCode   ]
         [SQL          ]

         [Step045 ]        Update FSA Paym Claim
         [Do When      ]
         [SQL          ]

         [Step047 ]        Insert in FSA Paym Claim
         [Do When      ]
         [SQL          ]

         [Step050 ]        Update Form for paycheck#
         [PeopleCode   ]
         [SQL          ]
SQL Detail
SQL: BN_BEN500_AEJBFLGUPDStep001 S        ApplEng


SQL: BN_BEN500_AEJBHIGACTStep01 S         ApplEng


SQL: BN_BEN500_AEJBLOWACTStep01 S         ApplEng


SQL: BN_BEN500_AEMULTJOBSStep080 S        ApplEng
            ApplEng BN_BEN500_AE
            Section MULTJOBS
            Step    Step080
            Action SQL
            Market GBL

        SQL Statement
        INSERT INTO %Table(BN_PRIJOB2_WK)
              (PROCESS_INSTANCE,
              BENEFIT_RCD_NBR,
              EFFDT,
              EMPL_RCD,
              PRIMARY_JOB_IND,
              EMPLID,
              JOB_EFFSEQ,
              JOB_EMPL_RCD)
         SELECT
              A.PROCESS_INSTANCE,
              A.BENEFIT_RCD_NBR,
              A.EFFDT,
              A.EMPL_RCD,
              'Y',
              A.EMPLID,
              A.JOB_EFFSEQ,
              A.JOB_EMPL_RCD
         FROM %Table(BN_PRIJOB1_WK) A
         WHERE A.PRIMARY_ERN = A.EMPL_RCD
           AND A.EFFDT = (SELECT MAX(A1.EFFDT)
              FROM %Table(BN_PRIJOB1_WK) A1
              WHERE A1.PROCESS_INSTANCE = A.PROCESS_INSTANCE
                AND A1.BENEFIT_RCD_NBR = A.BENEFIT_RCD_NBR
                AND A1.EFFDT = A.EFFDT
                AND A1.EMPL_RCD = A.EMPL_RCD
                AND A1.PRIMARY_ERN = A.EMPL_RCD
                AND A1.EMPL_STATUS IN ('A', 'L', 'P', 'W', 'S'))
           AND A.JOB_EFFSEQ = (SELECT MAX(A2.JOB_EFFSEQ)
              FROM %Table(BN_PRIJOB1_WK) A2
              WHERE A2.PROCESS_INSTANCE = A.PROCESS_INSTANCE
                AND A2.BENEFIT_RCD_NBR = A.BENEFIT_RCD_NBR
                AND A2.EFFDT = A.EFFDT
                AND A2.EMPL_RCD = A.EMPL_RCD
                AND A2.PRIMARY_ERN = A.EMPL_RCD
                AND A2.EMPL_STATUS IN ('A', 'L', 'P', 'W', 'S'))




SQL: BN_BEN500_AEMULTJOBSStep095 S        ApplEng
            ApplEng BN_BEN500_AE
            Section MULTJOBS
            Step    Step095
            Action SQL
            Market GBL

        SQL Statement
        INSERT INTO %Table(BN_PRIJOB2_WK)
              (PROCESS_INSTANCE,
              BENEFIT_RCD_NBR,
              EFFDT,
              EMPL_RCD,
              PRIMARY_JOB_IND,
              EMPLID,
              JOB_EFFSEQ,
              JOB_EMPL_RCD)
         SELECT
              A.PROCESS_INSTANCE,
              A.BENEFIT_RCD_NBR,
              B.EFFDT,
              A.EMPL_RCD,
              'N',
              A.EMPLID,
              B.JOB_EFFSEQ,
              B.JOB_EMPL_RCD
         FROM %Table(BN_PRIJOB1_WK) A,
               %Table(BN_PRIJOB1_WK) B
         WHERE A.PROCESS_INSTANCE = %Bind(PROCESS_INSTANCE)
           AND B.PROCESS_INSTANCE = %Bind(PROCESS_INSTANCE)
           AND B.PRIMARY_ERN = B.EMPL_RCD
           AND B.BENEFIT_RCD_NBR = A.BENEFIT_RCD_NBR
           AND A.EMPL_RCD <> B.EMPL_RCD
           AND A.PRIMARY_ERN = A.EMPL_RCD
           AND A.EFFDT = (SELECT MAX(A1.EFFDT)
              FROM %Table(BN_PRIJOB1_WK) A1
              WHERE A1.PROCESS_INSTANCE = %Bind(PROCESS_INSTANCE)
           AND A1.BENEFIT_RCD_NBR = A.BENEFIT_RCD_NBR
           AND A1.EMPL_RCD = A.EMPL_RCD
           AND A1.EFFDT <= B.EFFDT)
           AND NOT EXISTS (SELECT 'X'
              FROM %Table(BN_PRIJOB2_WK) C
              WHERE C.PROCESS_INSTANCE = %Bind(PROCESS_INSTANCE)
           AND C.BENEFIT_RCD_NBR = A.BENEFIT_RCD_NBR
           AND C.EFFDT = B.EFFDT
           AND C.EMPL_RCD = A.EMPL_RCD)




SQL: BN_BEN500_AEMULTJOBSStep110 S          ApplEng
            ApplEng BN_BEN500_AE
            Section MULTJOBS
            Step    Step110
            Action SQL
            Market GBL

        SQL Statement
        INSERT INTO %Table(BN_PRIJOB2_WK)
              (PROCESS_INSTANCE,
              BENEFIT_RCD_NBR,
              EFFDT,
              EMPL_RCD,
              PRIMARY_JOB_IND,
              EMPLID,
              JOB_EFFSEQ,
              JOB_EMPL_RCD)
         SELECT
              A.PROCESS_INSTANCE,
              A.BENEFIT_RCD_NBR,
              A.EFFDT,
              B.EMPL_RCD,
              'N',
              A.EMPLID,
              B.JOB_EFFSEQ,
              B.JOB_EMPL_RCD
         FROM %Table(BN_PRIJOB2_WK) A,
               %Table(BN_PRIJOB2_WK) B
         WHERE A.PROCESS_INSTANCE = %Bind(PROCESS_INSTANCE)
           AND B.PROCESS_INSTANCE = %Bind(PROCESS_INSTANCE)
           AND A.BENEFIT_RCD_NBR = B.BENEFIT_RCD_NBR
           AND A.EMPL_RCD <> B.EMPL_RCD
           AND A.PRIMARY_JOB_IND = 'Y'
           AND B.PRIMARY_JOB_IND = 'Y'
           AND A.EFFDT > B.EFFDT
           AND B.EFFDT = (SELECT MAX(B1.EFFDT)
              FROM %Table(BN_PRIJOB2_WK) B1
              WHERE B1.BENEFIT_RCD_NBR = B.BENEFIT_RCD_NBR
                AND B1.EMPL_RCD = B.EMPL_RCD
                AND B1.PRIMARY_JOB_IND = 'Y'
                AND B1.EFFDT <= A.EFFDT)
           AND NOT EXISTS (SELECT 'X'
              FROM %Table(BN_PRIJOB2_WK) D
              WHERE D.PROCESS_INSTANCE = %Bind(PROCESS_INSTANCE)
           AND D.BENEFIT_RCD_NBR = A.BENEFIT_RCD_NBR
           AND D.EMPL_RCD = B.EMPL_RCD
           AND D.EFFDT = A.EFFDT)




SQL: BN_FSA001_AECLM-PYMTStep020 S          ApplEng
            ApplEng BN_FSA001_AE
            Section CLM-PYMT
            Step    Step020
            Action SQL
            Market GBL

        SQL Statement
        INSERT INTO %Table(FSA_PAYMT_TAO)
              (PROCESS_INSTANCE,
              EMPLID,
              EMPL_RCD,
              CHECK_DT,
              FORM_ID,
              CALENDAR_YEAR,
              PLAN_TYPE,
              BENEFIT_PLAN,
              BENEFIT_PROGRAM,
              CLAIMID,
              FSA_PAYMENT_STATUS,
              PGM_FLOW_CNTL,
              FSA_CHECK_AMT)
              FSA_CHECK_AMT,
              FSA_RUN_ID)
         VALUES
              (%ProcessInstance,
              %Bind(EMPLID),
              %Bind(EMPL_RCD),
              %Bind(CHECK_DT),
              %Bind(FORM_ID),
              %Bind(CALENDAR_YEAR),
              %Bind(PLAN_TYPE),
              %Bind(BENEFIT_PLAN),
              %Bind(BENEFIT_PROGRAM),
              %Bind(CLAIMID),
              %Bind(FSA_ORIG_STATUS),
              %Bind(PGM_FLOW_CNTL),
              %Bind(FSA_PAYMENT))
              %Bind(FSA_PAYMENT),
              %Bind(FSA_RUN_ID))
SQL: BN_FSA001_AECLM-PYMTStep030 H        ApplEng
            ApplEng        BN_FSA001_AE
            Section        CLM-PYMT
            Step           Step030
            Action         Do When
            Market         GBL

        SQL Statement
        %Select(AE_SECTION)
         SELECT 'X'
         FROM %Table(FSA_PAYMT_TAO)
         WHERE PROCESS_INSTANCE = %ProcessInstance
           AND EMPLID = %Bind(EMPLID)
           AND EMPL_RCD = %Bind(EMPL_RCD)
           AND CHECK_DT = %Bind(CHECK_DT)
           AND FORM_ID = %Bind(FORM_ID)
           AND CALENDAR_YEAR = %Bind(CALENDAR_YEAR)
           AND PLAN_TYPE = %Bind(PLAN_TYPE)
           AND BENEFIT_PLAN = %Bind(BENEFIT_PLAN)
           AND BENEFIT_PROGRAM = %Bind(BENEFIT_PROGRAM)
           AND CLAIMID = %Bind(CLAIMID)
           AND PGM_FLOW_CNTL = 'Y'




SQL: BN_FSA001_AEMAIN      Step180 D      ApplEng
            ApplEng BN_FSA001_AE
            Section MAIN
            Step    Step180
            Action Do Select
            Market GBL

        SQL Statement
        %Select(EMPLID,
              EMPL_RCD,
              CHECK_DT,
              FORM_ID,
              CALENDAR_YEAR,
              PLAN_TYPE,
              BENEFIT_PLAN,
              BENEFIT_PROGRAM,
              CLAIMID,
              FSA_PAYMENT_STATUS,
              FSA_PAYMENT,
              CLAIM_PAYMENT,
              FSA_CLAIM_DENY_AMT)
              FSA_CLAIM_DENY_AMT,
              FSA_RUN_ID)
         SELECT EMPLID,
              EMPL_RCD,
              %DateOut(CHECK_DT),
              FORM_ID,
              CALENDAR_YEAR,
              PLAN_TYPE,
              BENEFIT_PLAN,
              BENEFIT_PROGRAM,
              CLAIMID,
              FSA_PAYMENT_STATUS,
              FSA_CHECK_AMT,
              0,
              0
              0,
              FSA_RUN_ID
         FROM %Table(FSA_PAYMT_TAO)
         WHERE PROCESS_INSTANCE = %ProcessInstance
           AND PGM_FLOW_CNTL <> 'Y'
         ORDER BY EMPLID,
              EMPL_RCD,
              CHECK_DT,
              FORM_ID,
         ORDER BY FORM_ID,
              CALENDAR_YEAR,
              PLAN_TYPE
              FSA_RUN_ID,
              BENEFIT_PROGRAM,
              PLAN_TYPE,
              BENEFIT_PLAN,
              EMPLID,
              EMPL_RCD




SQL: BN_FSA001_AEMAIN      Step181 D      ApplEng
            ApplEng BN_FSA001_AE
            Section MAIN
            Step    Step181
            Action Do Select
            Market GBL

        SQL Statement

        %Select(EMPLID,
              EMPL_RCD,
              CHECK_DT,
              FORM_ID,
              CALENDAR_YEAR,
              PLAN_TYPE,
              BENEFIT_PLAN,
              BENEFIT_PROGRAM,
              CLAIMID,
              FSA_PAYMENT_STATUS,
              FSA_PAYMENT,
              CLAIM_PAYMENT,
              FSA_CLAIM_DENY_AMT,
              FSA_RUN_ID)
         SELECT EMPLID,
              EMPL_RCD,
              %DateOut(CHECK_DT),
              FORM_ID,
              CALENDAR_YEAR,
              PLAN_TYPE,
              BENEFIT_PLAN,
              BENEFIT_PROGRAM,
              CLAIMID,
              FSA_PAYMENT_STATUS,
              FSA_CHECK_AMT,
              0,
              0,
              FSA_RUN_ID
         FROM %Table(FSA_PAYMT_TAO)
         WHERE PROCESS_INSTANCE = %ProcessInstance
           AND PGM_FLOW_CNTL = 'Y'
         ORDER BY FORM_ID,
              CALENDAR_YEAR,
              FSA_RUN_ID,
              BENEFIT_PROGRAM,
              PLAN_TYPE,
              BENEFIT_PLAN,
              EMPLID,
              EMPL_RCD




SQL: BN_FSA001_AEMIN-CHCKStep028 S        ApplEng
            ApplEng        BN_FSA001_AE
            Section        MIN-CHCK
            Step           Step028
            Action         SQL
            Market         GBL

        SQL Statement
        %Select(PAYCHECK_NBR)
         SELECT LAST_FORM_USED + 1
         FROM PS_PAY_FORM_TBL
         WHERE FORM_ID = %Bind(FORM_ID)




SQL: BN_FSA001_AEMIN-CHCKStep030 S          ApplEng
            ApplEng BN_FSA001_AE
            Section MIN-CHCK
            Step    Step030
            Action SQL
            Market GBL

        SQL Statement

        UPDATE %Table(FSA_PAYMT_TAO) SET
              PGM_FLOW_CNTL = 'Y',
              FSA_CHECK_AMT = %Bind(FSA_PAYMENT)
         WHERE PROCESS_INSTANCE = %ProcessInstance
           AND EMPLID = %Bind(EMPLID)
           AND EMPL_RCD = %Bind(EMPL_RCD)
           AND CHECK_DT = %Bind(CHECK_DT)
           AND FORM_ID = %Bind(FORM_ID)
           AND CALENDAR_YEAR = %Bind(CALENDAR_YEAR)
           AND PLAN_TYPE = %Bind(PLAN_TYPE)
           AND BENEFIT_PLAN = %Bind(BENEFIT_PLAN)
           AND BENEFIT_PROGRAM = %Bind(BENEFIT_PROGRAM)
           AND CLAIMID = %Bind(CLAIMID)




SQL: BN_FSA001_AEPAY-CLM Step015 S          ApplEng
            ApplEng BN_FSA001_AE
            Section PAY-CLM
            Step    Step015
            Action SQL
            Market GBL

        SQL Statement

        %Select(PAYCHECK_NBR)
         SELECT LAST_FORM_USED + 1
         FROM PS_PAY_FORM_TBL
         WHERE FORM_ID = %Bind(FORM_ID)




SQL: BN_FSA002_AECLM-PYMTStep020 S          ApplEng
            ApplEng BN_FSA002_AE
            Section CLM-PYMT
            Step    Step020
            Action SQL
            Market GBL

        SQL Statement
        INSERT INTO %Table(FSA_PAYMT_TAO)
              (PROCESS_INSTANCE,
              EMPLID,
              EMPL_RCD,
              CHECK_DT,
              FORM_ID,
              CALENDAR_YEAR,
              PLAN_TYPE,
              BENEFIT_PLAN,
              BENEFIT_PROGRAM,
              CLAIMID,
              FSA_PAYMENT_STATUS,
              PGM_FLOW_CNTL,
              FSA_CHECK_AMT)
              FSA_CHECK_AMT,
              FSA_RUN_ID)
         VALUES
              (%ProcessInstance,
              %Bind(EMPLID),
              %Bind(EMPL_RCD),
              %Bind(CHECK_DT),
              %Bind(FORM_ID),
              %Bind(CALENDAR_YEAR),
              %Bind(PLAN_TYPE),
              %Bind(BENEFIT_PLAN),
              %Bind(BENEFIT_PROGRAM),
              %Bind(CLAIMID),
              %Bind(FSA_ORIG_STATUS),
              'Y',
              %Bind(FSA_PAYMENT))
              %Bind(FSA_PAYMENT),
              %Bind(FSA_RUN_ID))




SQL: CNT_JOB_BRA_VW        View

        SQL Statement

        SELECT DISTINCT D.EMPLID,
              B.EMPL_RCD,
              D.CONTRACT_NUM,
              D.CONTRACT_BEGIN_DT,
              D.CONTRACT_END_DT,
              D.CONTRACT_STATUS,
              D.REG_REGION
         FROM PS_CONTRACT_DATA D,
               PS_JOB B
         WHERE D.EMPLID = B.EMPLID
           AND D.CONTRACT_NUM = B.CONTRACT_NUM




SQL: EE_PHONES_ESPVW       View

        SQL Statement

        SELECT EMPLID,
              PHONE,
              PHONE_TYPE
         FROM PS_PERSONAL_PHONE




SQL: EP_APPR_HIREDT_SEL Normal
            Description    ePM appraisal dup check
            Comments
                   Checks to see if an appraisal of the same type has already been crea
                   ted for the employee for the same period.
            Owner ID       ePerformance Management

        SQL Statement

        SELECT 'Y'
         FROM PS_JOB A
         WHERE A.EMPLID = :1
           AND A.EMPL_RCD = :2
           AND A.EFFDT = (SELECT MAX(B.EFFDT)
              FROM PS_JOB B
              WHERE B.EMPLID = A.EMPLID
                AND B.EMPL_RCD = A.EMPL_RCD
                AND B.EFFDT <= %DateIn(:3)
                AND B.EFFSEQ = (SELECT MAX(D.EFFSEQ)
                    FROM PS_JOB D
                    WHERE D.EMPLID = B.EMPLID
                      AND D.EMPL_RCD = B.EMPL_RCD
                      AND D.EFFDT = B.EFFDT)
                AND (B.ACTION = 'HIR'
                      OR B.ACTION = 'REH'))




SQL: EP_J_CAT_ITEM_I       View

        SQL Statement
        SELECT A.JPM_CAT_TYPE,
              A.JPM_CAT_ITEM_ID,
              A.EFFDT,
              A.EFF_STATUS,
              %Substring(A.JPM_DESCR90,
              1,
              60),
              A.RATING_MODEL,
              A.JPM_DATE_1,
              A.JPM_DATE_2,
              A.JPM_TEXT1325_1,
              A.JPM_TEXT1325_2
         FROM PS_JPM_CAT_ITEMS_I A
         WHERE A.JPM_DESCR90 <> ' '
           AND A.EFFDT = (SELECT MAX(EFFDT)
              FROM PS_JPM_CAT_ITEMS_I A1
              WHERE A1.JPM_CAT_TYPE = A.JPM_CAT_TYPE
                AND A1.JPM_CAT_ITEM_ID = A.JPM_CAT_ITEM_ID
                AND A1.EFFDT <= %CurrentDateIn)
                AND A.EFF_STATUS = 'A'




SQL: EP_J_UPD_SUB View

        SQL Statement
        SELECT A.EP_APPRAISAL_ID,
              A.EP_ROLE,
              A.EP_REVIEWER_ID,
              A.EP_SECTION_TYPE,
              A.EP_ITEM_ID,
              A.EP_SUB_ID,
              D.PERIOD_END_DT,
              B.EP_J_ITEM_CAT_TYPE,
              B.EP_J_SUB_CAT_TYPE,
              B.EP_J_UPD_JP_TYPE,
              B.EP_J_UPD_CAT_QUAL,
              C.RATING_MODEL,
              C.REVIEW_RATING
              A.REVIEW_RATING
         FROM PS_EP_APPR_SUBITEM A,
               PS_EP_APPR_SECTION B,
               PS_EP_APPR_ITEM C,
               PS_EP_APPR D
         WHERE A.EP_APPRAISAL_ID = B.EP_APPRAISAL_ID
           AND A.EP_ROLE = B.EP_ROLE
           AND A.EP_REVIEWER_ID = B.EP_REVIEWER_ID
           AND A.EP_SECTION_TYPE = B.EP_SECTION_TYPE
          AND   A.EP_ITEM_ID <> ' '
          AND   A.EP_SUB_ID <> ' '
          AND   B.EP_ITEM_UPD_JPM_SW = 'Y'
          AND   B.EP_J_UPD_JP_TYPE <> ' '
          AND   A.EP_APPRAISAL_ID = C.EP_APPRAISAL_ID
          AND   A.EP_ROLE = C.EP_ROLE
          AND   A.EP_REVIEWER_ID = C.EP_REVIEWER_ID
          AND   A.EP_SECTION_TYPE = C.EP_SECTION_TYPE
          AND   A.EP_ITEM_ID = C.EP_ITEM_ID
          AND   A.EP_APPRAISAL_ID = D.EP_APPRAISAL_ID




SQL: HRS_HIRECZ_LVW         View

        SQL Statement

        SELECT C.EMPLID,
              A.HRS_PERSON_ID,
              A.COUNTRY,
              A.PASSPORT_NBR,
              B.LANGUAGE_CD,
              B.CITY_PASSPORT,
              B.ISSUING_AUTHORITY,
              B.COMMENTS
         FROM PS_HRS_APP_CZ_PSPT A,
               PS_HRS_APP_CPS_LNG B,
               PS_HRS_HIRE C
         WHERE A.HRS_PERSON_ID = B.HRS_PERSON_ID
           AND A.COUNTRY = B.COUNTRY
           AND A.PASSPORT_NBR = B.PASSPORT_NBR
           AND A.HRS_PERSON_ID = C.HRS_PERSON_ID
           AND B.HRS_PERSON_ID = C.HRS_PERSON_ID




SQL: HRS_HIREHON_LVW        View

        SQL Statement

        SELECT C.EMPLID,
              A.HRS_PERSON_ID,
              A.HRS_PROFILE_SEQ,
              D.ACCOMPLISHMENT,
              D.DT_ISSUED,
              D.MAJOR_CODE,
              A.LANGUAGE_CD,
              A.GRANTOR
         FROM PS_HRS_APP_ACM_LNG A,
               PS_HRS_APP_ACMP D,
               PS_HCR_ACCOM_TBL_I B,
               PS_HRS_HIRE C
         WHERE D.HRS_PERSON_ID = A.HRS_PERSON_ID
           AND D.HRS_PROFILE_SEQ = A.HRS_PROFILE_SEQ
           AND A.HRS_APP_ACMP_ID = D.HRS_APP_ACMP_ID
           AND D.ACCOMPLISHMENT = B.ACCOMPLISHMENT
           AND B.ACCOMP_CATEGORY = 'HON'
           AND D.HRS_PERSON_ID = C.HRS_PERSON_ID
           AND D.HRS_PROFILE_SEQ = C.HRS_PROFILE_SEQ




SQL: HRS_HIRELIC_LVW        View

        SQL Statement

        SELECT C.EMPLID,
              A.HRS_PERSON_ID,
             A.HRS_PROFILE_SEQ,
             D.ACCOMPLISHMENT,
             D.DT_ISSUED,
             D.MAJOR_CODE,
             A.LANGUAGE_CD,
             A.ISSUED_BY
        FROM PS_HRS_APP_ACM_LNG A,
              PS_HRS_APP_ACMP D,
              PS_HCR_ACCOM_TBL_I B,
              PS_HRS_HIRE C
        WHERE D.HRS_PERSON_ID = A.HRS_PERSON_ID
          AND D.HRS_PROFILE_SEQ = A.HRS_PROFILE_SEQ
          AND A.HRS_APP_ACMP_ID = D.HRS_APP_ACMP_ID
          AND D.ACCOMPLISHMENT = B.ACCOMPLISHMENT
          AND B.ACCOMP_CATEGORY = 'LIC'
          AND D.HRS_PERSON_ID = C.HRS_PERSON_ID
          AND D.HRS_PROFILE_SEQ = C.HRS_PROFILE_SEQ




SQL: HRS_HIREMBR_LVW      View

       SQL Statement

       SELECT C.EMPLID,
             A.HRS_PERSON_ID,
             A.HRS_PROFILE_SEQ,
             D.ACCOMPLISHMENT,
             D.DT_ISSUED,
             D.MAJOR_CODE,
             A.LANGUAGE_CD,
             A.MANDATE,
             A.MANDATE_FUNCTION
        FROM PS_HRS_APP_ACM_LNG A,
              PS_HRS_APP_ACMP D,
              PS_HCR_ACCOM_TBL_I B,
              PS_HRS_HIRE C
        WHERE D.HRS_PERSON_ID = A.HRS_PERSON_ID
          AND D.HRS_PROFILE_SEQ = A.HRS_PROFILE_SEQ
          AND A.HRS_APP_ACMP_ID = D.HRS_APP_ACMP_ID
          AND D.ACCOMPLISHMENT = B.ACCOMPLISHMENT
          AND B.ACCOMP_CATEGORY = 'MEM'
          AND D.HRS_PERSON_ID = C.HRS_PERSON_ID
          AND D.HRS_PROFILE_SEQ = C.HRS_PROFILE_SEQ




SQL: HRS_HIREPRF_LVW      View

       SQL Statement

       SELECT C.EMPLID,
             A.HRS_PERSON_ID,
             A.HRS_PROFILE_SEQ,
             D.ACCOMPLISHMENT,
             D.DT_ISSUED,
             D.MAJOR_CODE,
             A.LANGUAGE_CD,
             A.EDUCATOR,
             A.SCHOOL,
             A.MAJOR,
             A.DESCR,
             A.SUBFACULTY_NAME
        FROM PS_HRS_APP_ACM_LNG A,
              PS_HRS_APP_ACMP D,
              PS_HCR_ACCOM_TBL_I B,
              PS_HRS_HIRE C
        WHERE D.HRS_PERSON_ID = A.HRS_PERSON_ID
          AND D.HRS_PROFILE_SEQ = A.HRS_PROFILE_SEQ
          AND   A.HRS_APP_ACMP_ID = D.HRS_APP_ACMP_ID
          AND   D.ACCOMPLISHMENT = B.ACCOMPLISHMENT
          AND   B.ACCOMP_CATEGORY = 'DEG'
          AND   D.HRS_PERSON_ID = C.HRS_PERSON_ID
          AND   D.HRS_PROFILE_SEQ = C.HRS_PROFILE_SEQ




SQL: HRS_HIRESCH_LVW        View

       SQL Statement

       SELECT C.EMPLID,
             A.HRS_PERSON_ID,
             A.HRS_PROFILE_SEQ,
             D.DATE_ACQUIRED,
             A.LANGUAGE_CD,
             A.SCHOOL
        FROM PS_HRS_APP_SCH_LNG A,
              PS_HRS_APP_SCHL D,
              PS_HRS_HIRE C
        WHERE D.HRS_PERSON_ID = A.HRS_PERSON_ID
          AND D.HRS_PROFILE_SEQ = A.HRS_PROFILE_SEQ
          AND D.HRS_PERSON_ID = C.HRS_PERSON_ID
          AND D.HRS_PROFILE_SEQ = C.HRS_PROFILE_SEQ
          AND A.DATE_ACQUIRED = D.DATE_ACQUIRED




SQL: HRS_HIREVSA_LVW        View

       SQL Statement

       SELECT C.EMPLID,
             A.HRS_PERSON_ID,
             ' ',
             %CurrentDateIn,
             D.COUNTRY,
             A.LANGUAGE_CD,
             A.PLACE_ISSUED,
             A.ISSUING_AUTHORITY
        FROM PS_HRS_APP_VPM_LNG A,
              PS_HRS_APP_VSA_DAT D,
              PS_HRS_HIRE C
        WHERE D.HRS_PERSON_ID = A.HRS_PERSON_ID
          AND D.HRS_PERSON_ID = C.HRS_PERSON_ID
          AND D.HRS_VISA_PERMIT_TP = A.HRS_VISA_PERMIT_TP
          AND D.COUNTRY = A.COUNTRY




SQL: HRS_HIREWRK_LVW        View

       SQL Statement

       SELECT C.EMPLID,
             A.HRS_PERSON_ID,
             A.HRS_PROFILE_SEQ,
             D.START_DT,
             D.SEQUENCE_NBR,
             A.LANGUAGE_CD,
             A.EMPLOYER,
             A.ENDING_TITLE,
             A.DESCRLONG
        FROM PS_HRS_APP_PWE_LNG A,
              PS_HRS_APP_WRK_EXP D,
              PS_HRS_HIRE C
        WHERE D.HRS_PERSON_ID = A.HRS_PERSON_ID
          AND   D.HRS_PROFILE_SEQ = A.HRS_PROFILE_SEQ
          AND   D.HRS_PERSON_ID = C.HRS_PERSON_ID
          AND   D.HRS_PROFILE_SEQ = C.HRS_PROFILE_SEQ
          AND   D.START_DT = A.START_DT
          AND   D.SEQUENCE_NBR = A.SEQUENCE_NBR




SQL: HRS_HIRE_CZ_PPT        View

        SQL Statement
        SELECT B.EMPLID,
              A.HRS_PERSON_ID,
              A.COUNTRY,
              A.PASSPORT_NBR,
              A.DT_ISSUED,
              A.EXPIRATN_DT,
              A.COUNTRY_PASSPORT,
              A.STATE_PASSPORT,
              A.CITY_PASSPORT,
              A.ISSUING_AUTHORITY,
              A.COMMENTS,
              B.HRS_HIRE_SEQ
         FROM PS_HRS_APP_CZ_PSPT A,
               PS_HRS_HIRE B
         WHERE A.HRS_PERSON_ID = B.HRS_PERSON_ID




SQL: HRS_HIRE_HON_VW        View

        SQL Statement
        SELECT C.EMPLID,
              A.HRS_PERSON_ID,
              A.HRS_PROFILE_SEQ,
              A.ACCOMPLISHMENT,
              A.DT_ISSUED,
              A.MAJOR_CODE,
              %subrec(HONOR_AWARD_SBR,
              A),
              %subrec(HONO_AW_FRA_SBR,
              A),
              C.HRS_HIRE_SEQ
         FROM PS_HRS_APP_ACMP A,
               PS_HCR_ACCOM_TBL_I B,
               PS_HRS_HIRE C
         WHERE A.ACCOMPLISHMENT = B.ACCOMPLISHMENT
           AND B.ACCOMP_CATEGORY = 'HON'
           AND A.HRS_PERSON_ID = C.HRS_PERSON_ID
           AND A.HRS_PROFILE_SEQ = C.HRS_PROFILE_SEQ




SQL: HRS_HIRE_LIC_VW        View

        SQL Statement
        SELECT C.EMPLID,
              A.HRS_PERSON_ID,
              A.HRS_PROFILE_SEQ,
              A.ACCOMPLISHMENT,
              A.DT_ISSUED,
              A.MAJOR_CODE,
              %subrec(HRS_LICCERT_SBR,
              A),
              C.HRS_HIRE_SEQ
         FROM PS_HRS_APP_ACMP A,
               PS_HCR_ACCOM_TBL_I B,
               PS_HRS_HIRE C
         WHERE   A.ACCOMPLISHMENT = B.ACCOMPLISHMENT
           AND   B.ACCOMP_CATEGORY = 'LIC'
           AND   A.HRS_PERSON_ID = C.HRS_PERSON_ID
           AND   A.HRS_PROFILE_SEQ = C.HRS_PROFILE_SEQ




SQL: HRS_HIRE_MBR_VW         View

        SQL Statement
        SELECT C.EMPLID,
              A.HRS_PERSON_ID,
              A.HRS_PROFILE_SEQ,
              A.ACCOMPLISHMENT,
              A.DT_ISSUED,
              A.MAJOR_CODE,
              %subrec(MEMBERSHIP_SBR,
              A),
              C.HRS_HIRE_SEQ
         FROM PS_HRS_APP_ACMP A,
               PS_HCR_ACCOM_TBL_I B,
               PS_HRS_HIRE C
         WHERE A.ACCOMPLISHMENT = B.ACCOMPLISHMENT
           AND B.ACCOMP_CATEGORY = 'MEM'
           AND A.HRS_PERSON_ID = C.HRS_PERSON_ID
           AND A.HRS_PROFILE_SEQ = C.HRS_PROFILE_SEQ




SQL: HRS_HIRE_PRF_VW         View

        SQL Statement
        SELECT C.EMPLID,
              A.HRS_PERSON_ID,
              A.HRS_PROFILE_SEQ,
              A.ACCOMPLISHMENT,
              A.DT_ISSUED,
              A.MAJOR_CODE,
              %subrec(EDUCATION_SBR,
              A),
              %subrec(EDUCATN_GER_SBR,
              A),
              %subrec(EDUCATN_JPN_SBR,
              A),
              C.HRS_HIRE_SEQ
         FROM PS_HRS_APP_ACMP A,
               PS_HCR_ACCOM_TBL_I B,
               PS_HRS_HIRE C
         WHERE A.ACCOMPLISHMENT = B.ACCOMPLISHMENT
           AND B.ACCOMP_CATEGORY = 'DEG'
           AND A.HRS_PERSON_ID = C.HRS_PERSON_ID
           AND A.HRS_PROFILE_SEQ = C.HRS_PROFILE_SEQ




SQL: HRS_HIRE_SCHL           View

        SQL Statement
        SELECT B.EMPLID,
              A.HRS_PERSON_ID,
              A.HRS_PROFILE_SEQ,
              A.DATE_ACQUIRED,
              A.SCHOOL_TYPE,
              A.EDUCATION_LVL_ACHV,
              A.COMPLETED,
              A.SCHOOL_CODE,
              A.SCHOOL,
              A.AVERAGE_GRADE,
              A.COUNTRY,
              A.STATE,
              B.HRS_HIRE_SEQ
         FROM PS_HRS_APP_SCHL A,
               PS_HRS_HIRE B
         WHERE A.HRS_PERSON_ID = B.HRS_PERSON_ID
           AND A.HRS_PROFILE_SEQ = B.HRS_PROFILE_SEQ




SQL: HRS_HIRE_TRAIN        View

        SQL Statement
        SELECT B.EMPLID,
              A.HRS_PERSON_ID,
              A.COURSE_START_DT,
              A.COURSE_TITLE,
              A.SCHOOL,
              'C',
              A.DEPTID,
              A.BUSINESS_UNIT,
              B.HRS_HIRE_SEQ
         FROM PS_HRS_APP_TRAIN A,
               PS_HRS_HIRE B
         WHERE A.HRS_PERSON_ID = B.HRS_PERSON_ID
           AND A.COURSE_TITLE <> ' '
           AND A.COURSE_TITLE NOT IN (SELECT A_ED.COURSE_TITLE
              FROM PS_TRAINING A_ED
              WHERE B.EMPLID = A_ED.EMPLID)




SQL: HRS_HIRE_VSA_DA       View

        SQL Statement
        SELECT B.EMPLID,
              A.HRS_PERSON_ID,
              ' ',
              %CurrentDateIn,
              A.COUNTRY,
              A.HRS_VISA_PERMIT_TP,
              A.VISA_WRKPMT_NBR,
              A.VISA_WRKPMT_STATUS,
              A.STATUS_DT,
              A.DT_ISSUED,
              A.PLACE_ISSUED,
              A.DURATION_TIME,
              A.DURATION_TYPE,
              A.START_DT,
              A.EXPIRATN_DT,
              A.ISSUING_AUTHORITY,
              B.HRS_HIRE_SEQ
         FROM PS_HRS_APP_VSA_DAT A,
               PS_HRS_HIRE B
         WHERE A.HRS_PERSON_ID = B.HRS_PERSON_ID


        SQL Statement
        SELECT B.EMPLID,
              A.HRS_PERSON_ID,
              ' ',
              %CurrentDateOut,
              A.COUNTRY,
              A.HRS_VISA_PERMIT_TP,
              A.VISA_WRKPMT_NBR,
              A.VISA_WRKPMT_STATUS,
              A.STATUS_DT,
              A.DT_ISSUED,
              A.PLACE_ISSUED,
             A.DURATION_TIME,
             A.DURATION_TYPE,
             A.START_DT,
             A.EXPIRATN_DT,
             A.ISSUING_AUTHORITY,
             B.HRS_HIRE_SEQ
        FROM PS_HRS_APP_VSA_DAT A,
              PS_HRS_HIRE B
        WHERE A.HRS_PERSON_ID = B.HRS_PERSON_ID




SQL: HRS_HIRE_WK_EXP       View

        SQL Statement
        SELECT B.EMPLID,
              A.HRS_PERSON_ID,
              A.HRS_PROFILE_SEQ,
              A.START_DT,
              A.SEQUENCE_NBR,
              A.EMPLOYER,
              A.CITY,
              A.STATE,
              A.COUNTRY,
              %subrec(PHONE_SBR,
              A),
              A.END_DT,
              A.ENDING_TITLE,
              A.ENDING_RATE,
              A.PAY_FREQ_ABBRV,
              A.CURRENCY_CD,
              A.REL_WRK_EXPER,
              A.DESCRLONG,
              B.HRS_HIRE_SEQ
         FROM PS_HRS_APP_WRK_EXP A,
               PS_HRS_HIRE B
         WHERE A.HRS_PERSON_ID = B.HRS_PERSON_ID
           AND A.HRS_PROFILE_SEQ = B.HRS_PROFILE_SEQ




SQL: PA_CLC_EMP_VW         View

        SQL Statement
        SELECT A.CALC_NAME,
        SELECT C.OPRID,
              A.CALC_NAME,
              B.EMPLID,
              B.EVENT_DT,
              A.CALC_REASON,
              B.NAME,
              A.BIRTHDATE,
              A.SPOUSE_BIRTHDATE,
              A.CALC_EXEC_TS,
              A.PROCESS_INSTANCE,
              B.BIRTHDATE,
              B.SPOUSE_BIRTHDATE,
              B.MAR_STATUS,
              B.SEX,
              B.SPOUSE_NAME
         FROM PS_PA_CALCULATION A,
               PS_PA_CLC_EMP B
               PS_PA_CLC_EMP B,
               PS_PERS_SRCH_GBL C
         WHERE A.CALC_NAME = B.CALC_NAME
           AND B.EMPLID = C.EMPLID
SQL: PA_CLC_TMP_SRCH       View

        SQL Statement
        SELECT a.calc_name,
        SELECT c.OPRID,
              a.calc_name,
              a.emplid,
              a.benefit_plan
         FROM ps_pa_clc_dates a,
               ps_pa_clc_srch_3 b
               ps_pa_clc_srch_3 b,
               PS_PERS_SRCH_GBL C
         WHERE a.calc_name = b.calc_name
           AND A.EMPLID = C.EMPLID




SQL: PA_JOB_DATA_EMP       View

        SQL Statement
        SELECT A.EMPLID,
        SELECT A.OPRID,
              A.EMPLID,
              C.EMPL_RCD_PAYEE,
              B.NAME,
              B.LAST_NAME_SRCH,
              'EMP'
         FROM PS_PERSON A,
         FROM PS_PERS_SRCH_GBL A,
               PS_PERSON_NAME B,
               PS_PA_RT_EMP_SETUP C
         WHERE A.EMPLID = B.EMPLID
           AND A.EMPLID = C.EMPLID_PAYEE




SQL: PA_RA_PERS_SRCH       View

        SQL Statement
        SELECT a.emplid,
        SELECT d.oprid,
              a.emplid,
              a.name,
              c.national_id,
              b.emplid,
              b.dependent_benef
         FROM ps_PERSON_NAME a,
               ps_pa_rt_emp_setup b,
               ps_pers_nid c
               ps_pers_nid c,
               PS_PERS_SRCH_GBL d
         WHERE a.emplid = b.emplid_payee
           AND c.national_id_type = 'PR'
           AND a.emplid = c.emplid
           AND a.emplid = d.emplid




SQL: SAL_GRADE_VW2         View

        SQL Statement

        SELECT a.SETID,
              a.SAL_ADMIN_PLAN,
              a.GRADE,
              a.EFFDT,
              a.EFF_STATUS,
              a.CURRENCY_CD,
              a.MIN_RT_HOURLY,
              a.MID_RT_HOURLY,
              a.MAX_RT_HOURLY,
              a.MIN_RT_MONTHLY,
              a.MID_RT_MONTHLY,
              a.MAX_RT_MONTHLY,
              a.MIN_RT_ANNUAL,
              a.MID_RT_ANNUAL,
              a.MAX_RT_ANNUAL,
              a.MIN_RT_DAILY,
              a.MID_RT_DAILY,
              a.MAX_RT_DAILY
          FROM PS_SAL_GRADE_TBL a




SQL: TL_TA001000 TA001010Step50 S          ApplEng
             ApplEng TL_TA001000
             Section TA001010
             Step    Step50
             Action SQL
             Market GBL

         SQL Statement
         %InsertSelect(TL_TA_OFFSET,
               TL_TA_PAY_TM A,
               PROCESS_INSTANCE = %Bind(PROCESS_INSTANCE,
               STATIC),
               TL_QUANTITY = %DecMult(A.TL_QUANTITY,
               - 1),
               EST_GROSS = %DecMult(A.EST_GROSS,
               - 1),
               LBR_DIST_AMT = %DecMult(A.LBR_DIST_AMT,
               - 1),
               DILUTED_GROSS = %DecMult(A.DILUTED_GROSS,
               - 1),
               PAYABLE_STATUS = 'ES',
               PAY_SYSTEM = ' ',
               PAYROLL_REQ_NUM = 0,
               FROZEN_SW = 'N',
               FROZEN_DATE = %CurrentDateIn,
               RECORD_ONLY_ADJ = 'N',
               PUBLISH_SW = 'N',
               ACTUAL_PUB_DATE = %DateIn('1900-01-01'),
               OPRID = ' ',
               APPRV_PRCS_DTTM = %DateTimeIn('1900-01-01-00.00.00.000000'),
               SOURCE_IND = 'O',
               ORIG_SEQ_NBR = A.SEQ_NBR)
          FROM %Table(TL_TA_PAY_TM) A
          WHERE EXISTS (SELECT 'X'
               FROM %Table(TL_TA_OFFST01) B
               WHERE B.PROCESS_INSTANCE = %Bind(PROCESS_INSTANCE)
            AND B.EMPLID = A.EMPLID
            AND B.EMPL_RCD = A.EMPL_RCD
            AND B.DUR = A.DUR
            AND B.SEQ_NBR = A.SEQ_NBR
            AND B.PPA_IND = 'Y')
            AND NOT EXISTS (SELECT 'X'
               FROM PS_TL_PAYABLE_TIME C
               WHERE C.EMPLID = A.EMPLID
                 AND C.EMPL_RCD = A.EMPL_RCD
                 AND C.DUR = A.DUR
                 AND C.TRC = A.TRC
                 AND C.ORIG_SEQ_NBR = A.INITIAL_SEQ_NBR
                 AND C.PAYABLE_STATUS = 'RV')
SQL: WF_TERM_VW View

         SQL Statement
         SELECT %Sql(SCRTY_SEL_PKEY,
               SEC,
               SEC),
               %Sql(SCRTY_SEL_PERSBR,
               SEC,
               SEC),
               %Sql(SCRTY_SEL_FLDSBR,
               SEC),
               A.ACTION_DT_SS,
               A.EFFSEQ,
               A.SS_STAT_INDICATOR
          FROM PS_HR_TERM_DAT A,
                PS_EMPLMT_SRCH_GBL SEC
          WHERE A.EMPLID = SEC.EMPLID
            AND A.EMPL_RCD = SEC.EMPL_RCD




SQL: XML_DEFN_SRCH           View

         SQL Statement
         SELECT A.XMLFILE_ID,
               A.DESCR,
               A.XML_SET
          FROM PS_XML_DEFN A




PeopleCode Detail
PeopleCode (Record): ADDRESSES.LASTUPDDTTM.SavePreChange
         If RecordChanged(ADDRESSES.EMPLID) Then
            ADDRESSES.LASTUPDDTTM = %Datetime;
            ADDRESSES.LASTUPDOPRID = %UserId;
         If GetRecord().IsChanged Then
            GetField().Value = %Datetime;
            GetRecord().LASTUPDOPRID.Value = %UserId;
            If %Component = Component.PERSONAL_DATA Then
               GetLevel0()(1).PERSON.LAST_CHILD_UPDDTM.Value = %Datetime;
            End-If;
         End-If;




PeopleCode (Record): CNT_JOB_BRA_VW.EMPLID.SavePreChange
         If Record.CNT_JOB_BRA_VW.IsChanged Then

            SQLExec("UPDATE PS_CONTRACT_DATA SET CONTRACT_BEGIN_DT= %DATEIN(:1), CONTRACT_END_DT =
         %DATEIN(:2) WHERE EMPLID = :3 AND CONTRACT_NUM = :4", DERIVED_HR_BRA.CONTRACT_BEGIN_DT,
         DERIVED_HR_BRA.CONTRACT_END_DT, CNT_JOB_BRA_VW.EMPLID, CNT_JOB_BRA_VW.EMPL_RCD);

         End-If;
PeopleCode (Record): CONTRCT_DTA_BRA.CONTRCT_BGN_DT_BRA.FieldEdit
        Declare Function contract_end_dt PeopleCode DERIVED_HR_BRA.DURATION_TYPE FieldFormula;
        Local date &null;

        If All(CONTRACT_DATA.CONTRACT_END_DT, CONTRCT_DTA_BRA.CONTRCT_BGN_DT_BRA) Then
           If CONTRCT_DTA_BRA.CONTRCT_BGN_DT_BRA.Value < CONTRACT_DATA.CONTRACT_END_DT Then
        If All(DERIVED_HR_BRA.CONTRACT_END_DT, CONTRCT_DTA_BRA.CONTRCT_BGN_DT_BRA) Then
           If CONTRCT_DTA_BRA.CONTRCT_BGN_DT_BRA.Value < DERIVED_HR_BRA.CONTRACT_END_DT Then
              Error MsgGet(6566, 91, "Message not found");
           End-If;

           If All(CONTRCT_DTA_BRA.CONTRCT_END_DT_BRA) And
                 CONTRCT_DTA_BRA.CONTRCT_BGN_DT_BRA > CONTRCT_DTA_BRA.CONTRCT_END_DT_BRA Then
              Error MsgGet(6566, 89, "Message not found");
           End-If;


           If None(CONTRCT_DTA_BRA.CONTRCT_BGN_DT_BRA) Then
              SetDefault(DERIVED2_HR_BRA.DURATION_BRA);
           End-If;

           If All(CONTRCT_DTA_BRA.CONTRCT_BGN_DT_BRA, DERIVED2_HR_BRA.DURATION_BRA) Then
              CONTRCT_DTA_BRA.CONTRCT_END_DT_BRA =
        contract_end_dt(DERIVED2_HR_BRA.DURATION_TYPE, DERIVED2_HR_BRA.DURATION_BRA,
        CONTRCT_DTA_BRA.CONTRCT_BGN_DT_BRA);
           End-If;
        Else

           If All(CONTRCT_DTA_BRA.CONTRCT_BGN_DT_BRA) And
                 None(CONTRACT_DATA.CONTRACT_END_DT) Then
                 None(DERIVED_HR_BRA.CONTRACT_END_DT) Then
              SetDefault(DERIVED2_HR_BRA.DURATION_BRA);
              Error MsgGet(6566, 92, "Message not found");
           End-If;
        End-If;




PeopleCode (Record): CONTRCT_DTA_BRA.CONTRCT_BGN_DT_BRA.RowInit
        If None(CONTRACT_DATA.CONTRACT_NUM) Then
        If None(CNT_JOB_BRA_VW.CONTRACT_NUM) Then
           CONTRCT_DTA_BRA.CONTRCT_BGN_DT_BRA.Enabled = False;
           CONTRCT_DTA_BRA.CONTRCT_END_DT_BRA.Enabled = False;
           CONTRACT_DATA.CONTRACT_BEGIN_DT.Enabled = False;
           CONTRACT_DATA.CONTRACT_END_DT.Enabled = False;
           DERIVED_HR_BRA.CONTRACT_BEGIN_DT.Enabled = False;
           DERIVED_HR_BRA.CONTRACT_END_DT.Enabled = False;
           DERIVED_HR_BRA.DURATION_TYPE.Enabled = False;
           DERIVED_HR_BRA.DURATION_BRA.Enabled = False;
           DERIVED2_HR_BRA.DURATION_BRA.Enabled = False;
           DERIVED2_HR_BRA.DURATION_TYPE.Enabled = False;


        Else
           /*If All(CONTRACT_DATA.CONTRACT_END_DT) And
                 None(CONTRCT_DTA_BRA.CONTRCT_BGN_DT_BRA) Then
              CONTRCT_DTA_BRA.CONTRCT_BGN_DT_BRA = AddToDate(CONTRACT_DATA.CONTRACT_END_DT, 0, 0,
        1);
           End-If;*/
        End-If;




PeopleCode (Record): CONTRCT_DTA_BRA.CONTRCT_BGN_DT_BRA.SaveEdit
        [ . . . Unchanged Code not Shown . . . ]
PeopleCode (Record): CONTRCT_DTA_BRA.CONTRCT_CLAUSE_BRA.RowInit
         Local date &ContrctEndDt;
         Local string &ContractTypeBRA;

         rem Clause field only is display only for Contract Types BRA = 1-Indeterminate;
         CONTRCT_DTA_BRA.CONTRCT_CLAUSE_BRA.Visible = False;

         If All(CONTRCT_DTA_BRA.CONTRCT_END_DT_BRA) Or
               All(CONTRACT_DATA.CONTRACT_END_DT) Then
               All(DERIVED_HR_BRA.CONTRACT_END_DT) Then

            &ContractTypeBRA = " ";

            If All(CONTRCT_DTA_BRA.CONTRCT_END_DT_BRA) Then
               &ContrctEndDt = CONTRCT_DTA_BRA.CONTRCT_END_DT_BRA;
            Else
               &ContrctEndDt = CONTRACT_DATA.CONTRACT_END_DT;
               &ContrctEndDt = DERIVED_HR_BRA.CONTRACT_END_DT;
            End-If;

            SQLExec("SELECT A.CONTRACT_TYPE_BRA FROM PS_CNT_TYP_DEF_BRA A ,PS_WKF_CNT_TYPE B WHERE
         B.EMPLID = :1 AND B.CONTRACT_NUM = :2 AND A.SETID = :3 AND A.CONTRACT_TYPE = B.CONTRACT_TYPE
         AND B.EFFDT = (SELECT MAX(BB.EFFDT) FROM PS_WKF_CNT_TYPE BB WHERE BB.EMPLID = B.EMPLID AND
         BB.CONTRACT_NUM = B.CONTRACT_NUM AND BB.CONTRACT_TYPE = B.CONTRACT_TYPE AND BB.EFFDT <=
         %DATEIN(:4)) AND A.EFFDT = (SELECT MAX(AA.EFFDT) FROM PS_CNT_TYP_DEF_BRA AA WHERE
         AA.CONTRACT_TYPE = A.CONTRACT_TYPE AND AA.SETID = A.SETID AND AA.EFFDT <= %DATEIN(:5))",
         CONTRCT_DTA_BRA.EMPLID, CONTRCT_DTA_BRA.CONTRACT_NUM, CONTRACT_DATA.REG_REGION,
         &ContrctEndDt, &ContrctEndDt, &ContractTypeBRA);
            SQLExec("SELECT A.CONTRACT_TYPE_BRA FROM PS_CNT_TYP_DEF_BRA A ,PS_WKF_CNT_TYPE B WHERE
         B.EMPLID = :1 AND B.CONTRACT_NUM = :2 AND A.SETID = :3 AND A.CONTRACT_TYPE = B.CONTRACT_TYPE
         AND B.EFFDT = (SELECT MAX(BB.EFFDT) FROM PS_WKF_CNT_TYPE BB WHERE BB.EMPLID = B.EMPLID AND
         BB.CONTRACT_NUM = B.CONTRACT_NUM AND BB.CONTRACT_TYPE = B.CONTRACT_TYPE AND BB.EFFDT <=
         %DATEIN(:4)) AND A.EFFDT = (SELECT MAX(AA.EFFDT) FROM PS_CNT_TYP_DEF_BRA AA WHERE
         AA.CONTRACT_TYPE = A.CONTRACT_TYPE AND AA.SETID = A.SETID AND AA.EFFDT <= %DATEIN(:5))",
         CONTRCT_DTA_BRA.EMPLID, CONTRCT_DTA_BRA.CONTRACT_NUM, CNT_JOB_BRA_VW.REG_REGION,
         &ContrctEndDt, &ContrctEndDt, &ContractTypeBRA);
            If &ContractTypeBRA = " " Then
               SQLExec("SELECT A.CONTRACT_TYPE_BRA FROM PS_CNT_TYP_DEF_BRA A ,PS_WKF_CNT_TYPE B
         WHERE B.EMPLID = :1 AND B.CONTRACT_NUM = :2 AND A.SETID = :3 AND A.CONTRACT_TYPE =
         B.CONTRACT_TYPE AND B.EFFDT = (SELECT MAX(BB.EFFDT) FROM PS_WKF_CNT_TYPE BB WHERE BB.EMPLID
         = B.EMPLID AND BB.CONTRACT_NUM = B.CONTRACT_NUM AND BB.CONTRACT_TYPE = B.CONTRACT_TYPE AND
         BB.EFFDT <= %DATEIN(:4)) AND A.EFFDT = (SELECT MAX(AA.EFFDT) FROM PS_CNT_TYP_DEF_BRA AA
         WHERE AA.CONTRACT_TYPE = A.CONTRACT_TYPE AND AA.SETID = A.SETID AND AA.EFFDT <=
         %DATEIN(:5))", CONTRCT_DTA_BRA.EMPLID, CONTRCT_DTA_BRA.CONTRACT_NUM,
         FUNCLIB_HR.DEFAULT_SETID, &ContrctEndDt, &ContrctEndDt, &ContractTypeBRA);
            End-If;

            If &ContractTypeBRA = "1" Then
               CONTRCT_DTA_BRA.CONTRCT_CLAUSE_BRA.Visible = True;
            End-If;
         End-If;




PeopleCode (Record): CONTRCT_DTA_BRA.CONTRCT_END_DT_BRA.FieldEdit
         [ . . . Unchanged Code not Shown . . . ]




PeopleCode (Record): DERIVED2_HR_BRA.DURATION_BRA.FieldEdit
         Declare Function contract_end_dt PeopleCode DERIVED_HR_BRA.DURATION_TYPE FieldFormula;

         If All(CONTRACT_DATA.CONTRACT_END_DT) And
         If All(DERIVED_HR_BRA.CONTRACT_END_DT) And
               None(CONTRCT_DTA_BRA.CONTRCT_BGN_DT_BRA) Then
           CONTRCT_DTA_BRA.CONTRCT_BGN_DT_BRA = AddToDate(CONTRACT_DATA.CONTRACT_END_DT, 0, 0,
        1);
           CONTRCT_DTA_BRA.CONTRCT_BGN_DT_BRA = AddToDate(DERIVED_HR_BRA.CONTRACT_END_DT.Value,
        0, 0, 1);
        End-If;

        If All(CONTRCT_DTA_BRA.CONTRCT_BGN_DT_BRA, DERIVED2_HR_BRA.DURATION_BRA) Then
           CONTRCT_DTA_BRA.CONTRCT_END_DT_BRA = contract_end_dt(DERIVED2_HR_BRA.DURATION_TYPE,
        DERIVED2_HR_BRA.DURATION_BRA, CONTRCT_DTA_BRA.CONTRCT_BGN_DT_BRA);
        End-If;




PeopleCode (Record): DERIVED_HCR_PER.SEARCH_MATCH_LINK.FieldChange
        Local Rowset &myRS;
        Local Record &myRec;
        Local string &Menu, &Barname, &Itemname, &Page, &AccessMode;

        &Menu = "ADMINISTER_WORKFORCE_(GBL)";
        &Barname = "INQUIRE";
        &Itemname = "HCR_SM_SEARCH";
        &Menu = "SCC_SM";
        &Barname = "USE";
        &Itemname = "SCC_SM_SEARCH";
        &Page = "HCR_SM_SEARCH";
        &AccessMode = "U";

        /* Get the search keys for the S/M component (Search Type and Search Parameter Code). */
        &myRS = CreateRowset(Record.HCR_SM_PRST_TBL);
        &myRS.Fill("WHERE SM_TYPE = :1 AND PNLGRPNAME = :2", "P", %Component);
        &myRec = CreateRecord(Record.HCR_SM_PARM_VW);
        &myRec.SM_TYPE.Value = "P";
        &myRec.SM_PARM_CD.Value = &myRS(1).HCR_SM_PRST_TBL.SM_PARM_CD.Value;

        Transfer( False, @("MenuName." | &Menu), @("BarName." | &Barname), @("ITEMNAME." |
        &Itemname), @("PAGE." | &Page), &AccessMode, &myRec, True);




PeopleCode (Record): DERIVED_HR_BRA.CONTRACT_BEGIN_DT.RowInit
        DERIVED_HR_BRA.CONTRACT_BEGIN_DT = CNT_JOB_BRA_VW.CONTRACT_BEGIN_DT;




PeopleCode (Record): DERIVED_HR_BRA.CONTRACT_BEGIN_DT.SaveEdit
        Declare Function contract_end_dt PeopleCode DERIVED_HR_BRA.DURATION_TYPE FieldFormula;
        Local Rowset &Contract;
        Local Rowset &ContractScroll = GetLevel0();
        Local date &DateNull;

        If All(DERIVED_HR_BRA.CONTRACT_BEGIN_DT, DERIVED_HR_BRA.DURATION_BRA) Then
           DERIVED_HR_BRA.CONTRACT_END_DT = contract_end_dt(DERIVED_HR_BRA.DURATION_TYPE,
        DERIVED_HR_BRA.DURATION_BRA, DERIVED_HR_BRA.CONTRACT_BEGIN_DT);
           &ContractEndDt = AddToDate(DERIVED_HR_BRA.CONTRACT_END_DT, 0, 0, 1);
           &ContractScroll =
        &ContractScroll(1).GetRowset(Scroll.CNT_JOB_BRA_VW)(CurrentRowNumber(1)).GetRowset(Scro
        ll.CONTRCT_DTA_BRA);
           If All(&ContractScroll(1).CONTRCT_DTA_BRA.CONTRCT_BGN_DT_BRA) And
                 (&ContractEndDt <> &ContractScroll(1).CONTRCT_DTA_BRA.CONTRCT_BGN_DT_BRA.Value)
        Then
              &ContractScroll(1).CONTRCT_DTA_BRA.CONTRCT_BGN_DT_BRA.Value =
        AddToDate(DERIVED_HR_BRA.CONTRACT_END_DT, 0, 0, 1);
              &ContractScroll(1).CONTRCT_DTA_BRA.CONTRCT_END_DT_BRA.Value = &DateNull;
              &ContractScroll(1).DERIVED2_HR_BRA.DURATION_BRA.Value = 0;
           End-If;
        Else
           If All(CNT_JOB_BRA_VW.CONTRACT_BEGIN_DT) And
                 None(DERIVED_HR_BRA.CONTRACT_BEGIN_DT) Then
              DERIVED_HR_BRA.CONTRACT_END_DT = &DateNull;
           End-If;
        End-If;

        If All(DERIVED_HR_BRA.CONTRACT_BEGIN_DT, DERIVED_HR_BRA.CONTRACT_END_DT) Then
           If DERIVED_HR_BRA.CONTRACT_BEGIN_DT > DERIVED_HR_BRA.CONTRACT_END_DT Then
              Error MsgGet(6566, 117, "Message not found");
           End-If;
        End-If;




PeopleCode (Record): DERIVED_HR_BRA.CONTRACT_BEGIN_DT.SavePreChange
        If DERIVED_HR_BRA.CONTRACT_BEGIN_DT <> CNT_JOB_BRA_VW.CONTRACT_BEGIN_DT Or
              DERIVED_HR_BRA.CONTRACT_END_DT <> CNT_JOB_BRA_VW.CONTRACT_END_DT Then

           SQLExec("UPDATE PS_CONTRACT_DATA SET CONTRACT_BEGIN_DT= %DATEIN(:1), CONTRACT_END_DT =
        %DATEIN(:2) WHERE EMPLID = :3 AND CONTRACT_NUM = :4", DERIVED_HR_BRA.CONTRACT_BEGIN_DT,
        DERIVED_HR_BRA.CONTRACT_END_DT, CNT_JOB_BRA_VW.EMPLID, CNT_JOB_BRA_VW.CONTRACT_NUM);
        End-If;




PeopleCode (Record): DERIVED_HR_BRA.CONTRACT_END_DT.RowInit
        DERIVED_HR_BRA.CONTRACT_END_DT = CNT_JOB_BRA_VW.CONTRACT_END_DT;




PeopleCode (Record): DERIVED_HR_BRA.CONTRACT_END_DT.SaveEdit
        Local Rowset &Contract;
        Local Rowset &ContractScroll = GetLevel0();
        Local date &DateNull;

        If All(DERIVED_HR_BRA.CONTRACT_BEGIN_DT, DERIVED_HR_BRA.CONTRACT_END_DT) Then

           If All(DERIVED_HR_BRA.CONTRACT_END_DT) Then
              &ContractScroll =
        &ContractScroll(1).GetRowset(Scroll.CNT_JOB_BRA_VW)(CurrentRowNumber(1)).GetRowset(Scro
        ll.CONTRCT_DTA_BRA);
              &ContractEndDt = AddToDate(DERIVED_HR_BRA.CONTRACT_END_DT, 0, 0, 1);
              If All(&ContractScroll(1).CONTRCT_DTA_BRA.CONTRCT_BGN_DT_BRA) And
                    (&ContractEndDt <>
        &ContractScroll(1).CONTRCT_DTA_BRA.CONTRCT_BGN_DT_BRA.Value) Then
                 If All(&ContractScroll(1).CONTRCT_DTA_BRA.CONTRCT_BGN_DT_BRA.Value) Then
                    &ContractScroll(1).CONTRCT_DTA_BRA.CONTRCT_BGN_DT_BRA.Value =
        AddToDate(DERIVED_HR_BRA.CONTRACT_END_DT, 0, 0, 1);
                    &ContractScroll(1).CONTRCT_DTA_BRA.CONTRCT_END_DT_BRA.Value = &DateNull;
                    &ContractScroll(1).DERIVED2_HR_BRA.DURATION_BRA.Value = 0;
                 End-If;
              End-If;
           End-If;
           If DERIVED_HR_BRA.CONTRACT_BEGIN_DT > DERIVED_HR_BRA.CONTRACT_END_DT Then
              Error MsgGet(6566, 117, "Message not found");
           End-If;
        Else
           &ContractScroll =
        &ContractScroll(1).GetRowset(Scroll.CNT_JOB_BRA_VW)(CurrentRowNumber(1)).GetRowset(Scro
        ll.CONTRCT_DTA_BRA);

           &ContractScroll(1).CONTRCT_DTA_BRA.CONTRCT_BGN_DT_BRA.Value = &DateNull;
           &ContractScroll(1).CONTRCT_DTA_BRA.CONTRCT_END_DT_BRA.Value = &DateNull;
           &ContractScroll(1).DERIVED2_HR_BRA.DURATION_BRA.Value = 0;
        End-If;
PeopleCode (Record): DERIVED_HR_BRA.DURATION_BRA.FieldEdit
         Declare Function contract_end_dt PeopleCode DERIVED_HR_BRA.DURATION_TYPE FieldFormula;
         Local date &ContractEndDt, &dateNull;
         Local Rowset &ContractScroll = GetLevel0();
         Local string &ContractTypeBRA;

         If All(CONTRACT_DATA.CONTRACT_BEGIN_DT, DERIVED_HR_BRA.DURATION_BRA) Then
            CONTRACT_DATA.CONTRACT_END_DT = contract_end_dt(DERIVED_HR_BRA.DURATION_TYPE,
         DERIVED_HR_BRA.DURATION_BRA, CONTRACT_DATA.CONTRACT_BEGIN_DT);
            &ContractEndDt = AddToDate(CONTRACT_DATA.CONTRACT_END_DT, 0, 0, 1);
            &ContractScroll =
         &ContractScroll(2).GetRowset(Scroll.CONTRACT_DATA)(CurrentRowNumber(1)).GetRowset(Scrol
         l.CONTRCT_DTA_BRA);
         If All(DERIVED_HR_BRA.CONTRACT_BEGIN_DT, DERIVED_HR_BRA.DURATION_BRA) Then
            DERIVED_HR_BRA.CONTRACT_END_DT = contract_end_dt(DERIVED_HR_BRA.DURATION_TYPE,
         DERIVED_HR_BRA.DURATION_BRA, DERIVED_HR_BRA.CONTRACT_BEGIN_DT);
            &ContractEndDt = AddToDate(DERIVED_HR_BRA.CONTRACT_END_DT, 0, 0, 1);
            &ContractScroll =
         &ContractScroll(1).GetRowset(Scroll.CNT_JOB_BRA_VW)(CurrentRowNumber(1)).GetRowset(Scro
         ll.CONTRCT_DTA_BRA);

            Local date &ContrctEndDt;
            Local string &ContractTypeBRA;

            If All(CONTRACT_DATA.CONTRACT_END_DT) Then
            If All(DERIVED_HR_BRA.CONTRACT_END_DT) Then

               &ContractTypeBRA = " ";

               If None(&ContractScroll(1).CONTRCT_DTA_BRA.CONTRCT_END_DT_BRA.Value) Then
                  &ContrctEndDt = CONTRACT_DATA.CONTRACT_END_DT;
                  &ContrctEndDt = DERIVED_HR_BRA.CONTRACT_END_DT;
               Else
                  &ContrctEndDt = &ContractScroll(1).CONTRCT_DTA_BRA.CONTRCT_END_DT_BRA.Value;
               End-If;

               SQLExec("SELECT A.CONTRACT_TYPE_BRA FROM PS_CNT_TYP_DEF_BRA A ,PS_WKF_CNT_TYPE B
         WHERE B.EMPLID = :1 AND B.CONTRACT_NUM = :2 AND A.SETID = :3 AND A.CONTRACT_TYPE =
         B.CONTRACT_TYPE AND B.EFFDT = (SELECT MAX(BB.EFFDT) FROM PS_WKF_CNT_TYPE BB WHERE BB.EMPLID
         = B.EMPLID AND BB.CONTRACT_NUM = B.CONTRACT_NUM AND BB.CONTRACT_TYPE = B.CONTRACT_TYPE AND
         BB.EFFDT <= %DATEIN(:4)) AND A.EFFDT = (SELECT MAX(AA.EFFDT) FROM PS_CNT_TYP_DEF_BRA AA
         WHERE AA.CONTRACT_TYPE = A.CONTRACT_TYPE AND AA.SETID = A.SETID AND AA.EFFDT <=
         %DATEIN(:5))", &ContractScroll(1).CONTRCT_DTA_BRA.EMPLID.Value,
         &ContractScroll(1).CONTRCT_DTA_BRA.CONTRACT_NUM.Value, CONTRACT_DATA.REG_REGION.Value,
         &ContrctEndDt, &ContrctEndDt, &ContractTypeBRA);
               SQLExec("SELECT A.CONTRACT_TYPE_BRA FROM PS_CNT_TYP_DEF_BRA A ,PS_WKF_CNT_TYPE B
         WHERE B.EMPLID = :1 AND B.CONTRACT_NUM = :2 AND A.SETID = :3 AND A.CONTRACT_TYPE =
         B.CONTRACT_TYPE AND B.EFFDT = (SELECT MAX(BB.EFFDT) FROM PS_WKF_CNT_TYPE BB WHERE BB.EMPLID
         = B.EMPLID AND BB.CONTRACT_NUM = B.CONTRACT_NUM AND BB.CONTRACT_TYPE = B.CONTRACT_TYPE AND
         BB.EFFDT <= %DATEIN(:4)) AND A.EFFDT = (SELECT MAX(AA.EFFDT) FROM PS_CNT_TYP_DEF_BRA AA
         WHERE AA.CONTRACT_TYPE = A.CONTRACT_TYPE AND AA.SETID = A.SETID AND AA.EFFDT <=
         %DATEIN(:5))", &ContractScroll(1).CONTRCT_DTA_BRA.EMPLID.Value,
         CNT_JOB_BRA_VW.CONTRACT_NUM.Value, CNT_JOB_BRA_VW.REG_REGION.Value, &ContrctEndDt,
         &ContrctEndDt, &ContractTypeBRA);

               If &ContractTypeBRA = " " Then
                  SQLExec("SELECT A.CONTRACT_TYPE_BRA FROM PS_CNT_TYP_DEF_BRA A ,PS_WKF_CNT_TYPE B
         WHERE B.EMPLID = :1 AND B.CONTRACT_NUM = :2 AND A.SETID = :3 AND A.CONTRACT_TYPE =
         B.CONTRACT_TYPE AND B.EFFDT = (SELECT MAX(BB.EFFDT) FROM PS_WKF_CNT_TYPE BB WHERE BB.EMPLID
         = B.EMPLID AND BB.CONTRACT_NUM = B.CONTRACT_NUM AND BB.CONTRACT_TYPE = B.CONTRACT_TYPE AND
         BB.EFFDT <= %DATEIN(:4)) AND A.EFFDT = (SELECT MAX(AA.EFFDT) FROM PS_CNT_TYP_DEF_BRA AA
         WHERE AA.CONTRACT_TYPE = A.CONTRACT_TYPE AND AA.SETID = A.SETID AND AA.EFFDT <=
         %DATEIN(:5))", &ContractScroll(1).CONTRCT_DTA_BRA.EMPLID.Value,
         &ContractScroll(1).CONTRCT_DTA_BRA.CONTRACT_NUM.Value, FUNCLIB_HR.DEFAULT_SETID.Value,
         &ContrctEndDt, &ContrctEndDt, &ContractTypeBRA);
                  SQLExec("SELECT A.CONTRACT_TYPE_BRA FROM PS_CNT_TYP_DEF_BRA A ,PS_WKF_CNT_TYPE B
         WHERE B.EMPLID = :1 AND B.CONTRACT_NUM = :2 AND A.SETID = :3 AND A.CONTRACT_TYPE =
         B.CONTRACT_TYPE AND B.EFFDT = (SELECT MAX(BB.EFFDT) FROM PS_WKF_CNT_TYPE BB WHERE BB.EMPLID
         = B.EMPLID AND BB.CONTRACT_NUM = B.CONTRACT_NUM AND BB.CONTRACT_TYPE = B.CONTRACT_TYPE AND
         BB.EFFDT <= %DATEIN(:4)) AND A.EFFDT = (SELECT MAX(AA.EFFDT) FROM PS_CNT_TYP_DEF_BRA AA
         WHERE AA.CONTRACT_TYPE = A.CONTRACT_TYPE AND AA.SETID = A.SETID AND AA.EFFDT <=
         %DATEIN(:5))", &ContractScroll(1).CONTRCT_DTA_BRA.EMPLID.Value,
         CNT_JOB_BRA_VW.CONTRACT_NUM.Value, FUNCLIB_HR.DEFAULT_SETID.Value, &ContrctEndDt,
         &ContrctEndDt, &ContractTypeBRA);
               End-If;

               If &ContractTypeBRA = "1" Then
                  &ContractScroll(1).CONTRCT_DTA_BRA.CONTRCT_CLAUSE_BRA.Visible = True;
               End-If;
            End-If;

            If All(&ContractScroll(1).CONTRCT_DTA_BRA.CONTRCT_BGN_DT_BRA) And
                  (&ContractEndDt <> &ContractScroll(1).CONTRCT_DTA_BRA.CONTRCT_BGN_DT_BRA.Value)
         Then
               If All(&ContractScroll(1).CONTRCT_DTA_BRA.CONTRCT_BGN_DT_BRA.Value) Then
                  &ContractScroll(1).CONTRCT_DTA_BRA.CONTRCT_BGN_DT_BRA.Value =
         AddToDate(CONTRACT_DATA.CONTRACT_END_DT, 0, 0, 1);
                  &ContractScroll(1).CONTRCT_DTA_BRA.CONTRCT_BGN_DT_BRA.Value =
         AddToDate(DERIVED_HR_BRA.CONTRACT_END_DT, 0, 0, 1);
                  &ContractScroll(1).CONTRCT_DTA_BRA.CONTRCT_END_DT_BRA.Value = &dateNull;
                  &ContractScroll(1).DERIVED2_HR_BRA.DURATION_BRA.Value = 0;




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




PeopleCode (Record): DERIVED_HR_BRA.DURATION_TYPE.FieldEdit
         Declare Function contract_end_dt PeopleCode DERIVED_HR_BRA.DURATION_TYPE FieldFormula;
         Local Rowset &ContractScroll = GetLevel0();
         Local date &ContractEndDt, &dateNull;

         If All(CONTRACT_DATA.CONTRACT_BEGIN_DT, DERIVED_HR_BRA.DURATION_BRA) Then
            CONTRACT_DATA.CONTRACT_END_DT = contract_end_dt(DERIVED_HR_BRA.DURATION_TYPE,
         DERIVED_HR_BRA.DURATION_BRA, CONTRACT_DATA.CONTRACT_BEGIN_DT);
            &ContractEndDt = AddToDate(CONTRACT_DATA.CONTRACT_END_DT, 0, 0, 1);
            &ContractScroll =
         &ContractScroll(1).GetRowset(Scroll.CONTRACT_DATA)(CurrentRowNumber(1)).GetRowset(Scrol
         l.CONTRCT_DTA_BRA);
         If All(DERIVED_HR_BRA.CONTRACT_BEGIN_DT, DERIVED_HR_BRA.DURATION_BRA) Then
            DERIVED_HR_BRA.CONTRACT_END_DT = contract_end_dt(DERIVED_HR_BRA.DURATION_TYPE,
         DERIVED_HR_BRA.DURATION_BRA, DERIVED_HR_BRA.CONTRACT_BEGIN_DT);
            &ContractEndDt = AddToDate(DERIVED_HR_BRA.CONTRACT_END_DT, 0, 0, 1);
            &ContractScroll =
         &ContractScroll(1).GetRowset(Scroll.CNT_JOB_BRA_VW)(CurrentRowNumber(1)).GetRowset(Scro
         ll.CONTRCT_DTA_BRA);

            If All(&ContractScroll(1).CONTRCT_DTA_BRA.CONTRCT_BGN_DT_BRA) And
                  (&ContractEndDt <> &ContractScroll(1).CONTRCT_DTA_BRA.CONTRCT_BGN_DT_BRA.Value)
         Then
               If All(&ContractScroll(1).CONTRCT_DTA_BRA.CONTRCT_BGN_DT_BRA.Value) Then
                  &ContractScroll(1).CONTRCT_DTA_BRA.CONTRCT_BGN_DT_BRA.Value =
         AddToDate(CONTRACT_DATA.CONTRACT_END_DT, 0, 0, 1);
                  &ContractScroll(1).CONTRCT_DTA_BRA.CONTRCT_BGN_DT_BRA.Value =
         AddToDate(DERIVED_HR_BRA.CONTRACT_END_DT, 0, 0, 1);
                  &ContractScroll(1).CONTRCT_DTA_BRA.CONTRCT_END_DT_BRA.Value = &dateNull;
                  &ContractScroll(1).DERIVED2_HR_BRA.DURATION_BRA.Value = 0;
               End-If;
            End-If;
         End-If;
PeopleCode (Record): DERIVED_HR_HOST.BEGIN_DT.SaveEdit
         Declare Function NewAssignmentData PeopleCode HR_HOST_FUNCLIB.HOME_HOST_CLASS
         FieldFormula;
         Declare Function ChangeAssignmentData PeopleCode HR_HOST_FUNCLIB.HOME_HOST_CLASS
         FieldFormula;
         Declare Function NewAsgnHomeData PeopleCode HR_HOST_FUNCLIB.HOME_HOST_CLASS FieldFormula;
         Component string &NewAssignment;
         Component string &ChangeAssignment;
         Component date &PriorDtChg;
         Local date &NullDate;

         If JOB.ACTION = "ASG" Then /* Only data on the ASG JOB row will changed Assignment data */
            If RecordChanged(JOB.EMPLID) Or
                  RecordNew(JOB.EMPLID) Or
                  &NewAssignment = "Y" Or
                  &ChangeAssignment = "Y" Then
               /* Did the user change an already saved BEGIN_DT ? */

               If (DERIVED_HR_HOST.BEGIN_DT <> DERIVED_HR_HOST.PRIOR_VAL_DATE And
                        All(DERIVED_HR_HOST.PRIOR_VAL_DATE)) Or
                     &ChangeAssignment = "Y" Then
                  If All(&PriorDtChg) Then /* Date was changed using the Get existng button */
                     ChangeAssignmentData(JOB.EMPLID, &PriorDtChg);
                     &PriorDtChg = &NullDate;
                  Else
                     ChangeAssignmentData(JOB.EMPLID, DERIVED_HR_HOST.PRIOR_VAL_DATE);
                  End-If;
               End-If;

               If &NewAssignment = "Y" Then

                  NewAssignmentData(JOB.EMPLID, DERIVED_HR_HOST.BEGIN_DT);
                  NewAsgnHomeData(JOB.EMPLID, DERIVED_HR_HOST.BEGIN_DT);
                  /***** Begin Reso 862539 ****/
                  &NewAssignment = "N";
                  /***** End Reso 862539 ****/
               Else
                  If &ChangeAssignment = "Y" And
                        &NewAssignment <> "Y" Then
                     NewAsgnHomeData(JOB.EMPLID, DERIVED_HR_HOST.BEGIN_DT);
                  End-If;
               End-If;
            End-If;
            /* End-If; */
         End-If;


         &NewAssignment = "N";
         /***** Begin Reso 862539 ****/
         <*&NewAssignment = "N";*>
         /***** End Reso 862539 ****/
         &ChangeAssignment = "N";




PeopleCode (Record): DIVERS_ETHNIC.EMPLID.RowDelete
         If %Component = Component.PERSONAL_DATA Then
            GetLevel0()(1).PERSON.LAST_CHILD_UPDDTM.Value = %Datetime;
         End-If;




PeopleCode (Record): DIVERS_ETHNIC.EMPLID.SavePreChange
         If GetRecord().IsChanged Then
            If %Component = Component.PERSONAL_DATA Then
               GetLevel0()(1).PERSON.LAST_CHILD_UPDDTM.Value = %Datetime;
            End-If;
         End-If;




PeopleCode (Record): DIVERS_RELIGION.EMPLID.RowDelete
         GetLevel0()(1).PERSON.LAST_CHILD_UPDDTM.Value = %Datetime;




PeopleCode (Record): DIVERS_RELIGION.EMPLID.SavePreChange
         If GetRecord().IsChanged Then
            GetLevel0()(1).PERSON.LAST_CHILD_UPDDTM.Value = %Datetime;
         End-If;




PeopleCode (Record): EMAIL_ADDRESSES.EMPLID.RowDelete
         If %Component = Component.PERSONAL_DATA Then
            GetLevel0()(1).PERSON.LAST_CHILD_UPDDTM.Value = %Datetime;
         End-If;




PeopleCode (Record): EMAIL_ADDRESSES.EMPLID.SavePreChange
         If GetRecord().IsChanged Then
            If %Component = Component.PERSONAL_DATA Then
               GetLevel0()(1).PERSON.LAST_CHILD_UPDDTM.Value = %Datetime;
            End-If;
         End-If;




PeopleCode (Record): ESTAB_SSEC_ESP.ESTABID.SaveEdit
         &CURRENT_L1 = CurrentRowNumber(1);
         &RowCount = ActiveRowCount(Record.ESTAB_TBL, &CURRENT_L1, Record.ESTAB_SSEC_ESP);

         SQLExec("select R.COUNTRY from PS_REG_REGION_TBL R where R.REG_REGION = :1",
         ESTAB_TBL.REG_REGION, &REG_COUNTRY);

         If &REG_COUNTRY = "ESP" Then

            If %Mode = "A" Then
               &ROW = CurrentRowNumber();
               If &ROW = 1 Then
                  /*-(         ESTAB_SSEC_ESP.MAIN_SSN_EMPLOYER = "Y";*/
                  If None(ESTAB_SSEC_ESP.SSN_EMPLOYER) Then
                     Error MsgGet(17170, 44, "One and only one Security Number for Employer must be
         selected as the Main one");
                     Error MsgGet(6550, 167, "One and only one Security Number for Employer must be
         selected as the Main one");
                  End-If;
               Else
                  /*         ESTAB_SSEC_ESP.MAIN_SSN_EMPLOYER = "N"*/
               End-If;
            End-If;

            &Estab_count1 = 0;
            For &I = 1 To &RowCount
               &Main = FetchValue(Record.ESTAB_TBL, &CURRENT_L1, ESTAB_SSEC_ESP.MAIN_SSN_EMPLOYER,
         &I);
               &SSN_Employer = FetchValue(Record.ESTAB_TBL, &CURRENT_L1,
         ESTAB_SSEC_ESP.SSN_EMPLOYER, &I);
               If &Main = "Y" Then
                  &Estab_count1 = &Estab_count1 + 1;
               End-If;
            End-For;

            Evaluate &Estab_count1
            When = 1
               Break;
            When-Other
               Error MsgGet(17170, 44, "One and only one Social Security Number for Employer must
         be selected as the Main one");
               Error MsgGet(6550, 167, "One and only one Social Security Number for Employer must
         be selected as the Main one");
            End-Evaluate;
         End-If;




PeopleCode (Record): FSA_CLAIM.FSA_CLAIM_SUB_DT.SaveEdit
         If GetRow().IsDeleted = False Then

            If RecordChanged(FSA_CLAIM.FSA_CLAIM_SUB_DT) Then
               If All(FSA_CLAIM.FSA_CLAIM_SUB_DT, FSA_CLAIM.SVC_FROM_DT) And
                     FSA_CLAIM.FSA_CLAIM_SUB_DT < FSA_CLAIM.SVC_FROM_DT Then
                  Rem: "Submitted Date must not be before Service From Date.";
                  Error MsgGet(4500, 15, "Message Not Found")
               End-If;

               If All(FSA_CLAIM.FSA_CLAIM_SUB_DT)   And
                     FSA_CLAIM.FSA_CLAIM_SUB_DT >   %Date Then
                  Rem: "Submitted Date can not be   in the future.";
                  Error MsgGet(4500, 37, "Message   Not Found")
               End-If;
            End-If;

            Evaluate %Component
            When = Component.FSA_CLAIM_ENTRY
            When = Component.FSA_CLAIM_PARTIC

               SQLExec("SELECT SUM(A.ANNUAL_PLEDGE) FROM PS_FSA_BENEFIT A WHERE A.EMPLID = :1 AND
         A.PLAN_TYPE = :2 AND A.BENEFIT_PLAN = :3 AND A.FSA_ACCT_STATUS = 'A' AND EXISTS (SELECT 'X'
         FROM PS_FSA_BENEF_TBL B WHERE B.PLAN_TYPE = A.PLAN_TYPE AND B.BENEFIT_PLAN = A.BENEFIT_PLAN
         AND B.SRVC_DT_FROM = A.COVERAGE_BEGIN_DT AND B.SRVC_DT_FROM <= %Datein(:4) AND
         B.SRVC_DT_THRU >= %Datein(:5))", FSA_CLAIM.EMPLID, FSA_CLAIM.PLAN_TYPE,
         FSA_CLAIM.BENEFIT_PLAN, FSA_CLAIM.SVC_FROM_DT, FSA_CLAIM.SVC_TO_DT,
         DERIVED_FSA.FSA_AVAILABLE_AMT);
               SQLExec("SELECT SUM(A.ANNUAL_PLEDGE) FROM PS_FSA_BENEFIT A WHERE A.EMPLID = :1 AND
         A.PLAN_TYPE = :2 AND A.BENEFIT_PLAN = :3 AND A.FSA_ACCT_STATUS = 'A' AND EXISTS (SELECT 'X'
         FROM PS_FSA_BENEF_TBL B WHERE B.PLAN_TYPE = A.PLAN_TYPE AND B.BENEFIT_PLAN = A.BENEFIT_PLAN
         AND B.SRVC_DT_FROM <= %Datein(:4) AND B.SRVC_DT_THRU >= %Datein(:5))", FSA_CLAIM.EMPLID,
         FSA_CLAIM.PLAN_TYPE, FSA_CLAIM.BENEFIT_PLAN, FSA_CLAIM.SVC_FROM_DT, FSA_CLAIM.SVC_TO_DT,
         DERIVED_FSA.FSA_AVAILABLE_AMT);

               If (FSA_CLAIM.FSA_CLAIM_SUB_AMT - FSA_CLAIM.FSA_CLAIM_DENY_AMT >
         DERIVED_FSA.FSA_AVAILABLE_AMT) Then

                  Warning MsgGet(4500, 23, "[Message Not Found]");
               Else
                  FSA_CLAIM.FSA_CLAIM_APR_AMT = FSA_CLAIM.FSA_CLAIM_SUB_AMT -
         FSA_CLAIM.FSA_CLAIM_DENY_AMT;

               End-If;
            End-Evaluate;

         End-If;
PeopleCode (Record): FUNCLIB_CO.SS_SALCHANGE.FieldFormula
         [ . . . Unchanged Code not Shown . . . ]

         Function FormatPage(&EmplRowset As Rowset);

            &EmplRecName = &EmplRowset.Name;
            &EmplRecName = "Record." | &EmplRecName;

            /* loop through EEs */
            For &i = &EmplRowset.ActiveRowCount To 1 Step - 1

               /* set local vars */
               &EmplID = &EmplRowset(&i).GetRecord(@&EmplRecName).EMPLID.Value;
               &EmplRcd = &EmplRowset(&i).GetRecord(@&EmplRecName).EMPL_RCD.Value;
               &PointValue = &EmplRowset(&i).COMPANY_TBL.COMP_POINTS_VALUE.Value;
               &CompanyCurrencyCd = &EmplRowset(&i).COMPANY_TBL.CURRENCY_CD.Value;
               &CurrSSStatus = &EmplRowset(&i).GetRecord(@&EmplRecName).SS_STAT_INDICATOR.Value;

               /* set section label = employee name */
               &EmplRowset(&i).HR_LBL_WRK.NAME_LBL.Label = get_person_name(&EmplID, "", "", "");

               /* if Market Reference amount is blank, hide related    currency code */
               If &EmplRowset(&i).JOBCODE_TBL.SURVEY_SALARY.Value =    0 Then
                  &EmplRowset(&i).JOBCODE_TBL.CURRENCY_CD.Visible =    False;
               Else
                  &EmplRowset(&i).JOBCODE_TBL.CURRENCY_CD.Visible =    True;
               End-If;

               /* default currency code */
               &EmplRowset(&i).DERIVED_CO_COMP.CURRENCY_CD.Value =
         &EmplRowset(&i).JOB.CURRENCY_CD.Value;

               /* instantiate SalChange detail rowset */
               &DetailRowset = &EmplRowset(&i).GetRowset(Scroll.SS_DTL_SALCHANG);

               If &ComponentUse = "ORG" Then;
                  &TransEffdt = &WFASOFDATE;
               Else;
                  &TransEffdt = &DetailRowset(1).SS_DTL_SALCHANG.EFFDT.Value;
               End-If;

               /* find current effdt and effseq from JOB */
               SQLExec("select %DateOut(A.EFFDT), A.EFFSEQ from PS_JOB A where A.EMPLID = :1 and
         A.EMPL_RCD = :2 and A.EFFDT = (select max(B.EFFDT) from PS_JOB B where B.EMPLID = A.EMPLID
         and B.EMPL_RCD = A.EMPL_RCD and B.EFFDT <= %DateIn(:3)) and A.EFFSEQ = (select max(C.EFFSEQ)
         from PS_JOB C where C.EMPLID = A.EMPLID and C.EMPL_RCD = A.EMPL_RCD and C.EFFDT = A.EFFDT)",
         &EmplID, &EmplRcd, &TransEffdt, &JobCurrEffDt, &JobCurrEffSeq);

               /*If (&JobCurrEffDt = &TransEffdt) And
                     &JobCurrEffSeq > 0 Then; */

         /**************************************************************************************
         **/
               /*the ci update made the newly inserted ss transaction the current row.
         */
               /*if the current effective date = transaction effdate, and the curr effseq >0, grab
         the */
               /*effseq right before the curr effseq and use that job row to show current job info
         */

         /**************************************************************************************
         **/
               /* SQLExec("select %DateOut(A.EFFDT), A.EFFSEQ from PS_JOB A where A.EMPLID = :1 and
         A.EMPL_RCD = :2 and A.EFFDT = (select max(B.EFFDT) from PS_JOB B where B.EMPLID = A.EMPLID
         and B.EMPL_RCD = A.EMPL_RCD and B.EFFDT <= %DateIn(:3)) and A.EFFSEQ = (select max(C.EFFSEQ)
         from PS_JOB C where C.EMPLID = A.EMPLID and C.EMPL_RCD = A.EMPL_RCD and C.EFFDT = A.EFFDT
         and C.EFFSEQ <:4 )", &EmplID, &EmplRcd, &TransEffdt, &JobCurrEffSeq, &CurrEffDt,
&CurrEffSeq);
      Else*/
      If (&JobCurrEffDt = &TransEffdt) And
            &JobCurrEffSeq = 0 Then;

/**************************************************************************************
***/
         /*the ci update made the newly inserted ss transaction the current row.
*/
         /*if the current effective date = transaction effdate, and the curr effseq = 0,
grab the */
         /*job row immediately previous to the current job row
*/

/**************************************************************************************
***/
         If (&CurrSSStatus = "S" Or
                   &CurrSSStatus = "W") Then;
             &TransEffdt = &TransEffdt - 1;
         Else;
             &TransEffdt = &TransEffdt;
         End-If;
         SQLExec("select %DateOut(A.EFFDT), A.EFFSEQ from PS_JOB A where A.EMPLID = :1 and
A.EMPL_RCD = :2 and A.EFFDT = (select max(B.EFFDT) from PS_JOB B where B.EMPLID = A.EMPLID
and B.EMPL_RCD = A.EMPL_RCD and B.EFFDT <= %DateIn(:3)) and A.EFFSEQ = (select max(C.EFFSEQ)
from PS_JOB C where C.EMPLID = A.EMPLID and C.EMPL_RCD = A.EMPL_RCD and C.EFFDT = A.EFFDT)",
&EmplID, &EmplRcd, &TransEffdt, &CurrEffDt, &CurrEffSeq);
      Else;

/**************************************************************************************
*/
         /*current job row is somewhere mid-stack.
*/

/**************************************************************************************
*/
         &CurrEffDt = &JobCurrEffDt;
         &CurrEffSeq = &JobCurrEffSeq;
      End-If;
      /*      End-If; */


      /* get current compensation info */
      &CompRowset = CreateRowset(Record.COMPENSATION);
      &NbrComponents = &CompRowset.Fill("where EMPLID = :1 and EMPL_RCD = :2 and EFFDT =
%DateIn(:3) and EFFSEQ = :4", &EmplID, &EmplRcd, &CurrEffDt, &CurrEffSeq);

      If &ComponentUse = "ORG" And
            &NbrComponents = 0 Then /* no current compensation info found */
         /* hide this EE by deleting row - may want to put info message here */
         &EmplRowset.DeleteRow(&i);

      Else

         /* sort rowsets to match (important when in APR, STS, or ADM transaction) */
         &CompRowset.Sort(COMPENSATION.COMP_RATECD, "A", COMPENSATION.COMP_EFFSEQ, "D");

         /* 139177: make all rows visible so they are taken in account in the sort */
         For &a = &DetailRowset.ActiveRowCount To 1 Step - 1
            &DetailRowset(&a).Visible = True;
         End-For;

         &DetailRowset.Sort(SS_DTL_SALCHANG.COMP_RATECD, "A",
SS_DTL_SALCHANG.COMP_EFFSEQ, "D");

         For &j = 1 To &NbrComponents /* loop through pay components */

             If &j > 1 And
                   &ComponentUse = "ORG" Then /* only add new rows for ORG */
                &DetailRowset.InsertRow(&j - 1);
             End-If;
            /* populate detail record with comp data to carry forward */
            &DetailRowset(&j).SS_DTL_SALCHANG.TRANSACTION_NAME.Value =
&EmplRowset(&i).GetRecord(@&EmplRecName).TRANSACTION_NAME.Value;
            &DetailRowset(&j).SS_DTL_SALCHANG.SS_GRP_ID.Value =
&EmplRowset(&i).GetRecord(@&EmplRecName).SS_GRP_ID.Value;
            &DetailRowset(&j).SS_DTL_SALCHANG.SS_TRANS_ID.Value =
&EmplRowset(&i).GetRecord(@&EmplRecName).SS_TRANS_ID.Value;
            &DetailRowset(&j).SS_DTL_SALCHANG.COMP_EFFSEQ.Value =
&CompRowset(&j).COMPENSATION.COMP_EFFSEQ.Value;
            &DetailRowset(&j).SS_DTL_SALCHANG.COMP_RATECD.Value =
&CompRowset(&j).COMPENSATION.COMP_RATECD.Value;
            &DetailRowset(&j).SS_DTL_SALCHANG.COMP_FREQUENCY.Value =
&CompRowset(&j).COMPENSATION.COMP_FREQUENCY.Value;
            &DetailRowset(&j).SS_DTL_SALCHANG.CURRENCY_CD.Value =
&CompRowset(&j).COMPENSATION.CURRENCY_CD.Value;
            &DetailRowset(&j).SS_DTL_SALCHANG.MANUAL_SW.Value =
&CompRowset(&j).COMPENSATION.MANUAL_SW.Value;
            &DetailRowset(&j).SS_DTL_SALCHANG.RATE_CODE_GROUP.Value =
&CompRowset(&j).COMPENSATION.RATE_CODE_GROUP.Value;
            &DetailRowset(&j).SS_DTL_SALCHANG.FTE_INDICATOR.Value =
&CompRowset(&j).COMPENSATION.FTE_INDICATOR.Value;
            &DetailRowset(&j).SS_DTL_SALCHANG.CMP_SRC_IND.Value =
&CompRowset(&j).COMPENSATION.CMP_SRC_IND.Value;

            /* populate derived fields with current comp amounts */
            &DetailRowset(&j).DERIVED_CO_COMP.CURRENT_COMPRATE.Value =
&CompRowset(&j).COMPENSATION.COMPRATE.Value;
            &DetailRowset(&j).DERIVED_CO_COMP.CURRENT_POINTS.Value =
&CompRowset(&j).COMPENSATION.COMP_RATE_POINTS.Value;
            &DetailRowset(&j).DERIVED_CO_COMP.CURRENT_PCT.Value =
&CompRowset(&j).COMPENSATION.COMP_PCT.Value;

              /* format grid fields based on comprate type */
              Evaluate &DetailRowset(&j).COMP_RATECD_TBL.COMP_RATE_TYPE.Value
              When = "PC" /* percent */
                 &DetailRowset(&j).DERIVED_CO_COMP.CHANGE_PCT.Visible = True;
                 &DetailRowset(&j).DERIVED_CO_COMP.CHANGE_PTS.Visible = False;
                 &DetailRowset(&j).DERIVED_CO_COMP.CHANGE_AMT.Visible = False;
                 &DetailRowset(&j).SS_DTL_SALCHANG.CURRENCY_CD.Visible = False;
                 &DetailRowset(&j).DERIVED_CO_COMP.CURRENCY_CD.Value = MsgGetText(1120,
1009, "%");
               &DetailRowset(&j).DERIVED_CO_COMP.CURR_AMOUNT_CHAR.Value =
&DetailRowset(&j).DERIVED_CO_COMP.CURRENT_PCT.FormattedValue;
               &DetailRowset(&j).DERIVED_CO_COMP.DESCR.Visible = False;
               Break;

            When = "PT" /* points */
               &DetailRowset(&j).DERIVED_CO_COMP.CHANGE_PCT.Visible = False;
               &DetailRowset(&j).DERIVED_CO_COMP.CHANGE_PTS.Visible = True;
               &DetailRowset(&j).DERIVED_CO_COMP.CHANGE_AMT.Visible = False;
               &DetailRowset(&j).SS_DTL_SALCHANG.CURRENCY_CD.Visible = False;
               &DetailRowset(&j).DERIVED_CO_COMP.CURRENCY_CD.Value = MsgGetText(1120,
1007, "Pts");
               &DetailRowset(&j).DERIVED_CO_COMP.CURR_AMOUNT_CHAR.Value =
&DetailRowset(&j).DERIVED_CO_COMP.CURRENT_POINTS.FormattedValue;
               &DetailRowset(&j).DERIVED_CO_COMP.DESCR.Visible = True;
               &DetailRowset(&j).DERIVED_CO_COMP.DESCR.Value = MsgGetText(1120, 1013, "1
pt = " | &PointValue | " " | &CompanyCurrencyCd, &PointValue, &CompanyCurrencyCd);
               Break;

            When-Other /* flat amount */
               &DetailRowset(&j).DERIVED_CO_COMP.CHANGE_PCT.Visible = True;
               &DetailRowset(&j).DERIVED_CO_COMP.CHANGE_PTS.Visible = False;
               &DetailRowset(&j).DERIVED_CO_COMP.CHANGE_AMT.Visible = True;
               &DetailRowset(&j).SS_DTL_SALCHANG.CURRENCY_CD.Visible = True;
               &DetailRowset(&j).DERIVED_CO_COMP.CURRENCY_CD.Value =
&DetailRowset(&j).SS_DTL_SALCHANG.CURRENCY_CD.Value;
               &DetailRowset(&j).DERIVED_CO_COMP.DESCR.Visible = False;

                /* apply FTE */
               If &DetailRowset(&j).SS_DTL_SALCHANG.FTE_INDICATOR.Value = "Y" Then
                  If &EmplRowset(&i).REG_REGION_TBL.COUNTRY.Value = "FRA" Then /* use
PAID_FTE for France */
                     &FTE = &EmplRowset(&i).JOB.PAID_FTE.Value;
                  Else
                     &FTE = &EmplRowset(&i).JOB.FTE.Value;
                  End-If;
                  &DetailRowset(&j).DERIVED_CO_COMP.CURRENT_COMPRATE.Value =
&DetailRowset(&j).DERIVED_CO_COMP.CURRENT_COMPRATE.Value * &FTE;
               End-If; /* apply FTE */

               &DetailRowset(&j).DERIVED_CO_COMP.CURR_AMOUNT_CHAR.Value =
&DetailRowset(&j).DERIVED_CO_COMP.CURRENT_COMPRATE.FormattedValue;

            End-Evaluate; /* rate type */

            Evaluate &ComponentUse
            When = "ORG" /* originator */

               &DetailRowset(&j).SS_DTL_SALCHANG.EFFDT.Value = &WFASOFDATE;

               /* default new comp amount = current */
               &DetailRowset(&j).DERIVED_CO_COMP.NEW_AMOUNT_CHAR.Value =
&DetailRowset(&j).DERIVED_CO_COMP.CURR_AMOUNT_CHAR.Value;

               /* hide entry fields if component is not manually updateable */
               If &DetailRowset(&j).COMP_RATECD_TBL.COMP_BASE_PAY_SW.Value <> "Y" Then
                  &DetailRowset(&j).DERIVED_CO_COMP.CHANGE_AMT.DisplayOnly = True;
                  &DetailRowset(&j).DERIVED_CO_COMP.CHANGE_PCT.DisplayOnly = True;
                  &DetailRowset(&j).DERIVED_CO_COMP.CHANGE_PTS.DisplayOnly = True;
                  &DetailRowset(&j).DERIVED_CO_COMP.NEW_AMOUNT_CHAR.DisplayOnly = True;
               End-If;

               Break;

            When = "STS" /* View Status */
            When = "APR" /* Approval */
            When = "ADM" /* Administrator */

               /* populate new amount field with saved salary change data */
               /* calculate change amts and percents accordingly */

               Evaluate &DetailRowset(&j).COMP_RATECD_TBL.COMP_RATE_TYPE.Value
               When = "PC" /* percent */
                  &DetailRowset(&j).DERIVED_CO_COMP.NEW_COMPRATE.Value =
&DetailRowset(&j).SS_DTL_SALCHANG.COMP_PCT.Value;
                  /* Use CHANGE_PCT field to as temporary field to set and format the value
of NEW_AMOUNT_CHAR */
                  &DetailRowset(&j).DERIVED_CO_COMP.CHANGE_PCT.Value =
&DetailRowset(&j).SS_DTL_SALCHANG.COMP_PCT.Value;
                  &DetailRowset(&j).DERIVED_CO_COMP.NEW_AMOUNT_CHAR.Value =
&DetailRowset(&j).DERIVED_CO_COMP.CHANGE_PCT.FormattedValue;
                  /* Set CHANGE_PCT */
                  &DetailRowset(&j).DERIVED_CO_COMP.CHANGE_PCT.Value =
&DetailRowset(&j).DERIVED_CO_COMP.NEW_COMPRATE.Value -
&DetailRowset(&j).DERIVED_CO_COMP.CURRENT_PCT.Value;
                  Break;

               When = "PT" /* points */
                  &DetailRowset(&j).DERIVED_CO_COMP.NEW_COMPRATE.Value =
&DetailRowset(&j).SS_DTL_SALCHANG.COMP_RATE_POINTS.Value;
                  /* Use CHANGE_PTS field to as temporary field to set and format the value
of NEW_AMOUNT_CHAR */
                  &DetailRowset(&j).DERIVED_CO_COMP.CHANGE_PTS.Value =
&DetailRowset(&j).SS_DTL_SALCHANG.COMP_RATE_POINTS.Value;
                  &DetailRowset(&j).DERIVED_CO_COMP.NEW_AMOUNT_CHAR.Value =
&DetailRowset(&j).DERIVED_CO_COMP.CHANGE_PTS.Value;
                  /* Set CHANGE_PTS */
                  &DetailRowset(&j).DERIVED_CO_COMP.CHANGE_PTS.Value =
&DetailRowset(&j).DERIVED_CO_COMP.NEW_COMPRATE.Value -
&DetailRowset(&j).DERIVED_CO_COMP.CURRENT_POINTS.Value;
                    Break;

               When-Other /* flat amount */
                  &DetailRowset(&j).DERIVED_CO_COMP.NEW_COMPRATE.Value =
&DetailRowset(&j).SS_DTL_SALCHANG.COMPRATE.Value;

                    /* apply FTE */
                    If &DetailRowset(&j).SS_DTL_SALCHANG.FTE_INDICATOR.Value = "Y" Then
                       If &EmplRowset(&i).REG_REGION_TBL.COUNTRY.Value = "FRA" Then /* use
PAID_FTE */
                        &FTE = &EmplRowset(&i).JOB.PAID_FTE.Value;
                     Else
                        &FTE = &EmplRowset(&i).JOB.FTE.Value;
                     End-If;
                     &DetailRowset(&j).DERIVED_CO_COMP.NEW_COMPRATE.Value =
&DetailRowset(&j).DERIVED_CO_COMP.NEW_COMPRATE.Value * &FTE;
                  End-If; /* apply FTE */

                  &DetailRowset(&j).DERIVED_CO_COMP.NEW_AMOUNT_CHAR.Value =
&DetailRowset(&j).DERIVED_CO_COMP.NEW_COMPRATE.FormattedValue;

                  &DetailRowset(&j).DERIVED_CO_COMP.CHANGE_AMT.Value =
&DetailRowset(&j).DERIVED_CO_COMP.NEW_COMPRATE.Value -
&DetailRowset(&j).DERIVED_CO_COMP.CURRENT_COMPRATE.Value;

                    If &DetailRowset(&j).DERIVED_CO_COMP.CURRENT_COMPRATE.Value > 0 Then

                     /* 139177 - calc can return value that is too long for CHANGE_PCT -
use intermediate var */
                     &ChangePct = ((&DetailRowset(&j).DERIVED_CO_COMP.NEW_COMPRATE.Value
/ &DetailRowset(&j).DERIVED_CO_COMP.CURRENT_COMPRATE.Value) - 1) * 100;

                       If &ChangePct > 999.999 Or
                             &ChangePct < - 999.999 Then
                          If &ChangePct > 999.999 Then
                             &DetailRowset(&j).DERIVED_CO_COMP.CHANGE_PCT.Value = 999.999;
                          Else
                             &DetailRowset(&j).DERIVED_CO_COMP.CHANGE_PCT.Value = -
999.999;
                          End-If;
                       Else

                          &DetailRowset(&j).DERIVED_CO_COMP.CHANGE_PCT.Value = &ChangePct;
                       End-If;
                    Else
                       &DetailRowset(&j).DERIVED_CO_COMP.CHANGE_PCT.Value = 0;
                    End-If;

                End-Evaluate; /* rate type */

                /* hide entry fields */
                &DetailRowset(&j).DERIVED_CO_COMP.CHANGE_AMT.DisplayOnly = True;
                &DetailRowset(&j).DERIVED_CO_COMP.CHANGE_PCT.DisplayOnly = True;
                &DetailRowset(&j).DERIVED_CO_COMP.CHANGE_PTS.DisplayOnly = True;
                &DetailRowset(&j).DERIVED_CO_COMP.NEW_AMOUNT_CHAR.DisplayOnly = True;

              End-Evaluate; /* component use */


           End-For; /* loop through pay components */

           /* format New Total */
           If &ComponentUse = "ORG" Then /* originator */
              /* hide new total */
              &EmplRowset(&i).DERIVED_CO_COMP.COMPRATE2.Visible = False;
              &EmplRowset(&i).DERIVED_CO_COMP.ANNUAL_RT.Visible = False;
              &EmplRowset(&i).DERIVED_CO_COMP.CURRENCY_CD.Visible = False;

              /* calculate comparison ration for this EE */
              &EmplRow = &EmplRowset(&i);
              &EmplRowset(&i).DERIVED_CO_COMP.COMPRATE2.Value =
         CalculateTotalComprate(&EmplRow);
                     &EmplRowset(&i).DERIVED_CO_COMP.ANNUAL_RT.Value =
         CalculateAnnualRate(&EmplRow);
                  Else
                     /* calculate total comprate for this EE */
                     &EmplRow = &EmplRowset(&i);
                     &EmplRowset(&i).DERIVED_CO_COMP.COMPRATE2.Value =
         CalculateTotalComprate(&EmplRow);
                     &EmplRowset(&i).DERIVED_CO_COMP.ANNUAL_RT.Value =
         CalculateAnnualRate(&EmplRow);

                    /* hide calculate button */
                    &EmplRowset(&i).DERIVED_CO_COMP.CALCULATE_BUTTON.Visible = False;

                 End-If;

                 /* hide rows which are not included in base pay */
                 For &j = &DetailRowset.ActiveRowCount To 1 Step - 1
                    If &DetailRowset(&j).COMP_RATECD_TBL.COMP_BASE_PAY_SW.Value <> "Y" Then
                       &DetailRowset(&j).Visible = False;
                    End-If;
                    /* make those marked as 'Default without Override' display only */
                    If &DetailRowset(&j).COMP_RATECD_TBL.CMP_NON_UPD_IND.Value = "Y" Then
                       &DetailRowset(&j).DERIVED_CO_COMP.CHANGE_AMT.DisplayOnly = True;
                       &DetailRowset(&j).DERIVED_CO_COMP.CHANGE_PCT.DisplayOnly = True;
                       &DetailRowset(&j).DERIVED_CO_COMP.CHANGE_PTS.DisplayOnly = True;
                       &DetailRowset(&j).DERIVED_CO_COMP.NEW_AMOUNT_CHAR.DisplayOnly = True;
                    End-If;
                 End-For;

                 /* save off change date */
                 &ChangeDate = &DetailRowset(1).SS_DTL_SALCHANG.EFFDT.Value;

              End-If; /* current compensation found */

               /* populate ratio */
               &EmplRowset(&i).DERIVED_CO_COMP.COMPA_RATIO.Value =
         CalculateCompaRatio(&EmplRowset(&i));

            End-For; /* loop through EEs */

         End-Function; /* FormatPage */

         [ . . . Unchanged Code not Shown . . . ]




PeopleCode (Record): FUNCLIB_HR.NATIONAL_ID.FieldFormula
         [ . . . Unchanged Code not Shown . . . ]

         Function CheckNID_General(&NATIONAL_ID, &NID_TYPE, &COUNTRY, &NIDFormat);

            Local string &Alpha, &Numeric, &TestChar, &MaskChar;
            Local number &iNID, &LengthNID;
            Local boolean &IsFormatError;

            &Alpha = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
            &Numeric = "1234567890";
            &IsFormatError = False;

            If All(&NATIONAL_ID) Then

              If All(&NIDFormat) Then
                 &LengthNID = Len(&NIDFormat);

                 If Find("X", &NIDFormat) <> 0 Or
                       Find("Z", &NIDFormat) <> 0 Then
                    &Alpha = &Alpha | " ";
                 End-If;
/* Malaysia has to be able to enter NIDs with less digits than Format.
   System fill out with zeros */
If &COUNTRY = "MYS" Then
   &Alpha = &Alpha | " ";
   &LengthNID = Len(&NATIONAL_ID)
End-If;

If Len(&NATIONAL_ID) > &LengthNID Then
   /* Incorrect Length */
   &IsFormatError = True;
End-If;

&K = 0;
For &J = 1 To &LengthNID
   &ChkChar = Substring(&NIDFormat, &J, 1);
   If &ChkChar = "X" Or
         &MaskChar = "Z" Then
      &K = &K + 1;
   End-If;
End-For;

If &K <> &LengthNID Then
   &iNID = 1;
   While &iNID <= &LengthNID And
      Not &IsFormatError
      &TestChar = Substring(&NATIONAL_ID, &iNID, 1);
      &MaskChar = Substring(&NIDFormat, &iNID, 1);

     Evaluate &MaskChar
     When = "X"
     When = "Z"
        /* Any Alpha or Numeric character is acceptable */
        If Find("(", &NATIONAL_ID) <> 0 And
              &iNID = Find("(", &NATIONAL_ID) + 1 Then
           If Find(&TestChar, &Numeric) <> 0 Or
                 Find(&TestChar, &Alpha) <> 0 Then
              &IsFormatError = False;
           Else
              &IsFormatError = True;
           End-If;
        Else
           If Find(&TestChar, &Numeric) <> 0 Or
                 Find(&TestChar, &Alpha) <> 0 Then
              &IsFormatError = False;
           Else
              &IsFormatError = True;
           End-If;
        End-If;
        Break;
     When = "9"
        /* Must be Numeric */
        If Find(&TestChar, &Numeric) = 0 Then
           &IsFormatError = True;
        End-If;
        Break;
     When = "A"
        /* Must be Alpha */
        If Find(&TestChar, &Alpha) = 0 Then
           &IsFormatError = True;
        End-If;
        Break;
     When-Other
        /* Special: must be equal to the mask character */
        If &TestChar <> &MaskChar Then
           &IsFormatError = True;
        End-If;
        Break;
     End-Evaluate;
     &iNID = &iNID + 1;
  End-While;
         End-If;

         If &IsFormatError Then
            If &ValidateServiceCall Then
               throw create
HCR_PERSON_EXCEPTIONS:PersonExceptions:ValidateNIDExceptions_v1_0:NIDFormatException(Nu
ll, &NID_TYPE, &COUNTRY, &NIDFormat);
            Else
               /* "The format of the National ID Type %1 for country %2 has to be %3." */
               Error (MsgGet(1000, 490, "Message Not Found", &NID_TYPE, &COUNTRY,
&NIDFormat));
            End-If;
         End-If;
      End-If;
   End-If;
End-Function;

[ . . . Unchanged Code not Shown . . . ]


/************************/
/*Function for Malaysia */
/************************/
/* Malaysian Old IC Number can start with 'A', 'G', 'H', 'I', 'K', 'M' or 'T'
   followed by space or 'FN' */
   followed by space or 'FN' . If no alpha prefix is entered then the field
   can contain 7 numeric prefixed by 0 */
Function CheckNID_MYS(&NATIONAL_ID, &NID_TYPE);
   If All(&NATIONAL_ID) And
         &NID_TYPE = "OLDIC" Then
      &VALID_BEG = "AGHIKMT";
      &INPUT = &NATIONAL_ID;
      &LENGTH = Len(&NATIONAL_ID);
      If (Find(Substring(&INPUT, 1, 1), &VALID_BEG) = 0 Or
               Substring(&INPUT, 2, 1) <> " ") And
            Substring(&INPUT, 1, 2) <> "FN" Then
         If &ValidateServiceCall Then
            throw create
HCR_PERSON_EXCEPTIONS:PersonExceptions:ValidateNIDExceptions_v1_0:InvalidFormatMYS(Null
);
      &NUM_STRING = "1234567890";
      If (Find(Substring(&INPUT, 1, 1), &VALID_BEG) <> 0) Then
         If (Substring(&INPUT, 2, 1) = " ") Then
            &NewString = Rept("0", 9 - Len(&INPUT)) | Substring(&INPUT, 3, Len(&INPUT));
            &NATIONAL_ID = Substring(&INPUT, 1, 2) | Substring(&NewString, 0, 7);
         Else
            If (Find(Substring(&INPUT, 2, 1), &NUM_STRING) <> 0) Then
               &NewString = Rept("0", 8 - Len(&INPUT)) | Substring(&INPUT, 2, Len(&INPUT));
               &NATIONAL_ID = Substring(&INPUT, 1, 1) | Substring(&NewString, 0, 7);
            Else
               Error MsgGet(1800, 8, "");
            End-If;
         End-If;
      Else
         If Substring(&INPUT, 1, 2) = "FN" Then
            &NewString = Rept("0", 9 - Len(&INPUT)) | Substring(&INPUT, 3, Len(&INPUT));
            &NATIONAL_ID = Substring(&INPUT, 1, 2) | Substring(&NewString, 0, 7);
         Else
            If (Find(Substring(&INPUT, 1, 1), &NUM_STRING) <> 0) And
                  (Find(Substring(&INPUT, 2, 1), &NUM_STRING) <> 0) Then
               &NewString = Rept("0", 7 - Len(&INPUT)) | Substring(&INPUT, 0, Len(&INPUT));
               &NATIONAL_ID = Substring(&NewString, 0, 7);
            Else
               Error MsgGet(1800, 8, "");
            End-If;
         End-If;
      End-If;

   End-If;
End-Function;
         /************************/
         /*Function for Italy    */
         /************************/
         /* Italian check for CF */


         [ . . . Unchanged Code not Shown . . . ]




PeopleCode (Record): FUNCLIB_HR.SAL_ADMIN_PLAN.FieldFormula
         [ . . . Unchanged Code not Shown . . . ]

         Function det_sal_admin_plan;

           /* Business Unit/SetID 08/26/97 */
           /* Confirm that the Salary Plan to be defaulted is valid for the Job's Business Unit */
           &SETID_SALARY = GetSetId("BUSINESS_UNIT", JOB.BUSINESS_UNIT, "SAL_PLAN_TBL", "");
           /* end of Business Unit SetID specific routine */

           /* Open up SAL PLAN and GRADE fields for editing */
           /* since Labor Agreement values are not being used */
           UnGray(JOB.SAL_ADMIN_PLAN);
           UnGray(JOB.GRADE);

           /*---------------------------------------------------*/
           /* reset Sal Admin Plan or set it to Sal Admin plan */
           /* of Location if existing, reset Sal Grade/Step     */
           /*---------------------------------------------------*/
           If %Mode = "A" Then
              If All(LOCATION_TBL.SAL_ADMIN_PLAN) And
                    LOCATION_TBL.SETID_SALARY = &SETID_SALARY Then
                 JOB.SAL_ADMIN_PLAN = LOCATION_TBL.SAL_ADMIN_PLAN;
              Else
                 SetDefault(JOB.SAL_ADMIN_PLAN);
              End-If;
              SetDefault(JOB.GRADE);
              SetDefault(JOB.GRADE_ENTRY_DT);
              SetDefault(JOB.STEP);
              SetDefault(JOB.STEP_ENTRY_DT);
           End-If;

           /* Military Specific Code */
           If INSTALLATION.MILITARY = "Y" Then
              Return;
           End-If;

           /*---------------------------------------------------------*/
           /* get Sal Admin Plan from Jobcode if it wasn't populated */
           /* already from Location and set Job's Grade/Step to the   */
           /* values from Jobcode if there are valid for the Sal Plan */
           /*----------------------------------------------------------------------*/
           /* set JOB.SAL_ADMIN_PLAN to Jobcode's SAL_ADMIN_PLAN                   */
           /* if JOB.SAL_ADMIN_PLAN is null or doesn't match the LOCATION Sal Plan */
           /*----------------------------------------------------------------------*/

           If None(JOB.SAL_ADMIN_PLAN) Or
                 LOCATION_TBL.SAL_ADMIN_PLAN <> JOB.SAL_ADMIN_PLAN Or
                 LOCATION_TBL.SETID_SALARY <> &SETID_SALARY Then

              If All(JOBCODE_TBL.SAL_ADMIN_PLAN) And
                    JOBCODE_TBL.SETID_SALARY = &SETID_SALARY Then

                 JOB.SAL_ADMIN_PLAN = JOBCODE_TBL.SAL_ADMIN_PLAN;

                 If SAL_PLAN_TBL.WAGE_PROG_FLAG = "Y" Then
                    DERIVED_HR_LBR.INCLUDES_WP_FLG.Value = "Y";
                 Else;
     DERIVED_HR_LBR.INCLUDES_WP_FLG.Value = "N";
  End-If;

  /*-----------------------------------------------------*/
  /* set Std Hours to Sal Plan's Std Hours               */
  /* and recalculate Annual/Monthly/Hourly Rates and FTE */
  /*-----------------------------------------------------*/

   JOB.STD_HOURS = SAL_PLAN_TBL.STD_HOURS;
   JOB.STD_HRS_FREQUENCY = SAL_PLAN_TBL.STD_HRS_FREQUENCY;
   &JOB_REG_COUNTRY = get_reg_region_country(JOB.REG_REGION);
   If &JOB_REG_COUNTRY = "FRA" Then
      JOB.PAID_HOURS = SAL_PLAN_TBL.STD_HOURS;
      JOB.PAID_HRS_FREQUENCY = SAL_PLAN_TBL.STD_HRS_FREQUENCY;
   End-If;
   remark recalculate derived rates;
   det_calc_rates(CurrentRowNumber());
   /* calc_fte(CurrentRowNumber()); Public Sector Extension */
   /* HP00001 HP-FED merge - add public sector indicator */
   calc_fte(CurrentRowNumber());
   recalc_fte_comp(CurrentRowNumber());
End-If;
   /*End-If;*/

  /*-----------------------------------------------*/
  /* set Grade and other fields depending on Grade */
  /* to Jobcode's Grade (if different)             */
  /*-----------------------------------------------*/
  If All(JOBCODE_TBL.GRADE) And
        JOBCODE_TBL.SETID_SALARY = &SETID_SALARY Then

     If JOB.GRADE <> JOBCODE_TBL.GRADE Then

        JOB.GRADE = JOBCODE_TBL.GRADE;
        JOB.GRADE_ENTRY_DT = JOB.EFFDT;

        SetDefault(JOB.STEP);
        SetDefault(JOB.STEP_ENTRY_DT);
     End-If;

  Else
     SetDefault(JOB.GRADE);
     SetDefault(JOB.GRADE_ENTRY_DT);
     SetDefault(JOB.STEP);
     SetDefault(JOB.STEP_ENTRY_DT);
  End-If;

   /*-----------------------------------------------*/
   /* set Step to Jobcode's Step (if different)     */
   /*-----------------------------------------------*/
   If All(JOBCODE_TBL.STEP) And
         JOBCODE_TBL.SETID_SALARY = &SETID_SALARY Then
      If JOB.STEP <> JOBCODE_TBL.STEP Then
         JOB.STEP = JOBCODE_TBL.STEP;
         JOB.STEP_ENTRY_DT = JOB.EFFDT;
      End-If;
   Else
      SetDefault(JOB.STEP);
      SetDefault(JOB.STEP_ENTRY_DT);
   End-If;
End-If;
If JOB.EARNS_DIST_TYPE <> "A" Then
   If INSTALLATION.MULTI_STEP_GRADE = "Y" And
         (FieldChanged(JOB.SAL_ADMIN_PLAN) Or
            FieldChanged(JOB.GRADE) Or
            FieldChanged(JOB.STEP)) Then
      /*-----------------------------------------------*/
      /* if Sal Plan, Grade, or Step has changed,      */
      /* then call the step_change function            */
      /*-----------------------------------------------*/
      step_change();
        End-If;
     End-If;

      remark ! Swap following based on use of Ratio or % Range;
      &CURRENT_ROW = CurrentRowNumber();
      &EMPL_STATUS = FetchValue(JOB.EMPL_STATUS, &CURRENT_ROW);
      &HOURLY_RT = FetchValue(JOB.HOURLY_RT, &CURRENT_ROW);
      &JOB_CURRENCY = FetchValue(JOB.CURRENCY_CD, &CURRENT_ROW);
      &JOB_EFFDT = FetchValue(JOB.EFFDT, &CURRENT_ROW);
      calc_compa_ratio(&CURRENT_ROW, &EMPL_STATUS, &HOURLY_RT, &JOB_CURRENCY,
&JOB_EFFDT);
      If Substring(%Panel, 1, 13) = Substring(Panel.PAY_RT_CHANGE1, 1, 13) Then
         &ANNUAL_RT = FetchValue(JOB.ANNUAL_RT, &CURRENT_ROW);
         calc_compa_rng_pct(&CURRENT_ROW, &EMPL_STATUS, &ANNUAL_RT, &JOB_CURRENCY,
&JOB_EFFDT);
      End-If;

  Else

     /*----------------------------------------------------------*/
     /* Do NOT default the Sal Plan from the Jobcode because the */
     /* Sal Plan from Location is defaulted in and overrules.    */
     /* BUT set Job's Grade/Step to the values from Jobcode      */
     /* if they are valid for the existing Sal Plan              */
     /*----------------------------------------------------------*/
     If All(JOBCODE_TBL.GRADE) And
           JOBCODE_TBL.SETID_SALARY = &SETID_SALARY And
           LOCATION_TBL.SAL_ADMIN_PLAN = JOB.SAL_ADMIN_PLAN And
           (JOB.GRADE <> JOBCODE_TBL.GRADE Or
              JOB.STEP <> JOBCODE_TBL.STEP) Then

         /*----------------------------------------------------*/
         /* Check if GRADE is defined for existing Salary Plan */
         /*----------------------------------------------------*/
         SQLExec("select a.grade from ps_sal_grade_tbl a where a.setid = :1 and
a.sal_admin_plan = :2 and a.grade = :3 and a.eff_status = 'A' and a.effdt = (select
max(b.effdt) from ps_sal_grade_tbl b where b.setid = a.setid and b.sal_admin_plan =
a.sal_admin_plan and b.grade = a.grade and b.effdt <= %datein(:4))", &SETID_SALARY,
JOB.SAL_ADMIN_PLAN, JOBCODE_TBL.GRADE, JOB.EFFDT, &SAL_GRADE_JOBCD);

         /*--------------------------------------------------------*/
         /* if GRADE defined,                                      */
         /*--------------------------------------------------------*/
         If All(&SAL_GRADE_JOBCD) Then

           /*-----------------------------------------------------*/
           /* if GRADE defined and different from existing Grade */
           /*-----------------------------------------------------*/

           If JOB.GRADE <> JOBCODE_TBL.GRADE Then

               /*-----------------------------------------------*/
               /* set the Job's Grade and update the Entry date */
               /*-----------------------------------------------*/
               JOB.GRADE_ENTRY_DT = JOB.EFFDT;
               JOB.GRADE = JOBCODE_TBL.GRADE;

               SetDefault(JOB.STEP);
               SetDefault(JOB.STEP_ENTRY_DT);

               remark ! Swap following based on use of Ratio or % Range;
               &CURRENT_ROW = CurrentRowNumber();
               &EMPL_STATUS = FetchValue(JOB.EMPL_STATUS, &CURRENT_ROW);
               &HOURLY_RT = FetchValue(JOB.HOURLY_RT, &CURRENT_ROW);
               &JOB_CURRENCY = FetchValue(JOB.CURRENCY_CD, &CURRENT_ROW);
               &JOB_EFFDT = FetchValue(JOB.EFFDT, &CURRENT_ROW);
               calc_compa_ratio(&CURRENT_ROW, &EMPL_STATUS, &HOURLY_RT, &JOB_CURRENCY,
&JOB_EFFDT);
               If Substring(%Panel, 1, 13) = Substring(Panel.PAY_RT_CHANGE1, 1, 13) Then
                  &ANNUAL_RT = FetchValue(JOB.ANNUAL_RT, &CURRENT_ROW);
                  calc_compa_rng_pct(&CURRENT_ROW, &EMPL_STATUS, &ANNUAL_RT,
         &JOB_CURRENCY, &JOB_EFFDT);
                        End-If;

                     End-If;


                     /*------------------------------------------------*/
                     /* Check if STEP defined for existing Salary Plan */
                     /*------------------------------------------------*/
                     If All(JOBCODE_TBL.STEP) And
                           JOBCODE_TBL.SETID_SALARY = &SETID_SALARY Then

                        SQLExec("select a.step from ps_sal_step_tbl a where a.setid = :1 and
         a.sal_admin_plan = :2 and a.grade = :3 and a.step = :4 and a.effdt =(select max(b.effdt)
         from ps_sal_step_tbl b where b.setid = a.setid and b.sal_admin_plan = a.sal_admin_plan and
         b.grade = a.grade and b.step = a.step and b.effdt <= %datein(:5))", &SETID_SALARY,
         JOB.SAL_ADMIN_PLAN, JOBCODE_TBL.GRADE, JOBCODE_TBL.STEP, JOB.EFFDT, &SAL_STEP_JOBCD);

                         /*--------------------------------------------------------*/
                         /* if STEP also defined, and different from existing Step */
                         /* then use the Jobcode's Step                            */
                         /*--------------------------------------------------------*/
                         If All(&SAL_STEP_JOBCD) Then

                            JOB.STEP = JOBCODE_TBL.STEP;
                            JOB.STEP_ENTRY_DT = JOB.EFFDT;

                        End-If;
                     End-If;

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

         End-Function;

         [ . . . Unchanged Code not Shown . . . ]




PeopleCode (Record): FUNCLIB_HR.UPDATE_INCUMBENTS.FieldFormula
         [ . . . Unchanged Code not Shown . . . ]

         Function ee_row_mssg(&EMPLID, &EMPL_RCD_STR, &EFFDT, &EFFSEQ_STR)
            If FieldChanged(POSITION_DATA.SAL_ADMIN_PLAN) Or
                  FieldChanged(POSITION_DATA.GRADE) Then

               &MSG_TEXT_EE = Char(10) | MsgGetExplainText(1000, 1131, "Message not found.",
         &EMPLID, &EMPL_RCD_STR, &EFFDT, &EFFSEQ_STR);
            End-If;
         End-Function;

         [ . . . Unchanged Code not Shown . . . ]

         Function update_incumbents()

            /*** BEGIN DEBUG INFO ***
            &RS_POSN_INCUMB_WS = GetLevel0().GetRow(1).GetRowset(Scroll.POSN_INCUMB_WS);
            *** END DEBUG INFO ***/

            If POSITION_DATA.EFF_STATUS = "A" Then
               If POSITION_DATA.UPDATE_INCUMBENTS = "Y" Then
                  &CURRPOSEFFDT = CurrEffDt();
                  &CURPOSNROW = CurrentRowNumber();

                  If All(POSITION_DATA.SAL_ADMIN_PLAN) Then
                     &EESAL_NEW = POSITION_DATA.SAL_ADMIN_PLAN;
                     If All(POSITION_DATA.GRADE) Then
                        &EEGRADE_NEW = POSITION_DATA.GRADE;
               /*S113_HR_RP_1504617001*/
               If All(POSITION_DATA.STEP) Then
                  &EESTEP_NEW = POSITION_DATA.STEP;
               Else
                  &EESTEP_NEW = "<" | MsgGetText(124, 60, "Message not found.") | ">";
               End-If;
               /*S113_HR_RP_1504617001*/
            Else
               &EEGRADE_NEW = "<" | MsgGetText(124, 60, "Message not found.") | ">";
            End-If;
         Else
            &EESAL_NEW = "<" | MsgGetText(124, 60, "Message not found.") | ">";
            &EEGRADE_NEW = "<" | MsgGetText(124, 60, "Message not found.") | ">";
            /*S113_HR_RP_1504617001*/
            &EESTEP_NEW = "<" | MsgGetText(124, 60, "Message not found.") | ">";
            /*S113_HR_RP_1504617001*/
         End-If;

         /* Determine if a future position row exists, if so determine closest future eff
dated row */
         &NEXT_POSN_ROW = &CURPOSNROW - 1;
         &RS_POSITION = GetLevel0().GetRow(1).GetRowset(Scroll.POSITION_DATA);
         &NEXT_POSN_EFFDT = "";
         If &NEXT_POSN_ROW > 0 Then
            If All(&RS_POSITION(&NEXT_POSN_ROW).POSITION_DATA.EFFDT.Value) Then
               &NEXT_POSN_EFFDT =
&RS_POSITION(&NEXT_POSN_ROW).POSITION_DATA.EFFDT.Value;
            End-If;
         End-If;

         /*************************
          Loop thru Incumbents
          *************************/
         /**************************/
         /* create exception array */
         /**************************/
         &ExceptionArray = ciCreateExceptionArray();


         For &I = 1 To ActiveRowCount(Record.POSN_INCUMB_WS)
            &INCUMBENT = FetchValue(POSN_INCUMB_WS.EMPLID, &I);
            &INCUMBENT_RCD = FetchValue(POSN_INCUMB_WS.EMPL_RCD, &I);
            &Rec_Posn = &RS_POSITION(&CURPOSNROW).POSITION_DATA;

            /**************************/
            /* Initialize Error Flags */
            /**************************/
            &ERROR_JOB = False;
            &ERROR_COMP = False;

            If All(&INCUMBENT) Then

               /**************************/
               /* create exception array */
               /**************************/
               &ExceptionArray = ciCreateExceptionArray();

               /**********************/
               /*   load CI Keys     */
               /**********************/

               &GetKeyArray = ciCreateArray();
               &GetKeyArray = ciPopulateArray(&GetKeyArray, "KEYPROP_EMPLID",
&INCUMBENT);
               &GetKeyArray = ciPopulateArray(&GetKeyArray, "KEYPROP_EMPL_RCD",
&INCUMBENT_RCD);


               &MATCH = "N";
               &MAXDATE = Date(19000101);
               &MATCHDATE = Date(19000101);
               &JOBRECNBR = 0;
               &JOBMSG_GIVEN = "N";
               &EMPMSG_GIVEN = "N";

               &Branch = "N";
               /*************************
                Update Job records
                ************************/
               If FieldChanged(POSITION_DATA.ADDS_TO_FTE_ACTUAL) Or
                     FieldChanged(POSITION_DATA.BUSINESS_UNIT) Or
                     FieldChanged(POSITION_DATA.CLASS_INDC) Or
                     FieldChanged(POSITION_DATA.COMPANY) Or
                     FieldChanged(POSITION_DATA.DEPTID) Or
                     FieldChanged(POSITION_DATA.FLSA_STATUS) Or
                     FieldChanged(POSITION_DATA.ELS_STATUS) Or
                     FieldChanged(POSITION_DATA.FULL_PART_TIME) Or
                     FieldChanged(POSITION_DATA.JOBCODE) Or
                     FieldChanged(POSITION_DATA.LOCATION) Or
                     FieldChanged(POSITION_DATA.REG_REGION) Or
                     FieldChanged(POSITION_DATA.REG_TEMP) Or
                     FieldChanged(POSITION_DATA.REPORTS_TO) Or
                     FieldChanged(POSITION_DATA.SHIFT) Or
                     FieldChanged(POSITION_DATA.STD_HOURS) Or
                     FieldChanged(POSITION_DATA.STD_HRS_FREQUENCY) Or
                     FieldChanged(POSITION_DATA.UNION_CD) Or
                     FieldChanged(POSITION_DATA.SUPV_LVL_ID) Or
                     FieldChanged(POSITION_DATA.REPORTS_TO) Or
                     ((FieldChanged(POSITION_DATA.SAL_ADMIN_PLAN) Or
                           FieldChanged(POSITION_DATA.GRADE)) And
                           FieldChanged(POSITION_DATA.GRADE) Or /* Resolution 861888 */
                           FieldChanged(POSITION_DATA.STEP)) And /* Resolution 861888 */
                        POSITION_DATA.INCLUDE_SALPLN_FLG = "Y") Then

                  /********************************************************
                      Only update information for current/future position rows
                     ********************************************************/

                  If POSITION_DATA.EFFDT >= &CURRPOSEFFDT Then
                     /************************
                        Find current Job record
                     *************************/

                     /****************************************************************/
                     /*               find the target job information                */
                     /****************************************************************/

                      &RS_Job = CreateRowset(Record.JOB);
                      &Count_Job_Current = &RS_Job.Fill("WHERE FILL.EMPLID = :1 AND
FILL.EMPL_RCD = :2 AND FILL.EFFDT = (SELECT MAX(ED.EFFDT) FROM PS_JOB ED WHERE FILL.EMPLID
= ED.EMPLID AND FILL.EMPL_RCD = ED.EMPL_RCD AND ED.EFFDT <= %DATEIN(:3)) AND FILL.EFFSEQ
= (SELECT MAX(ES.EFFSEQ) FROM PS_JOB ES WHERE FILL.EMPLID = ES.EMPLID AND FILL.EMPL_RCD =
ES.EMPL_RCD AND FILL.EFFDT = ES.EFFDT)", &INCUMBENT, &INCUMBENT_RCD, %Date);

                     /*Grab the current effective date row*/
                     &CURRENT_JOB_EFFDT = &RS_Job(1).JOB.EFFDT.Value;
                     &CURRENT_JOB_EFFSEQ = &RS_Job(1).JOB.EFFSEQ.Value;
                     &CURRENT_JOB_OVERRIDE = &RS_Job(1).JOB.POSITION_OVERRIDE.Value;
                     &CURRENT_JOB_SAL = &RS_Job(1).JOB.SAL_ADMIN_PLAN.Value;
                     &CURRENT_JOB_GRADE = &RS_Job(1).JOB.GRADE.Value;
                     &CURRENT_JOB_STEP = &RS_Job(1).JOB.STEP.Value;
                     &CURRENT_JOB_REPORTS_TO = &Rec_Posn.REPORTS_TO;
                     &CURRENT_JOB_COUNTRY_CODE = &Rec_Posn.COUNTRY_CODE;
                     &CURRENT_JOB_PHONE = &Rec_Posn.PHONE;
                     &CURRENT_JOB_EG_GROUP = &Rec_Posn.EG_GROUP;
                     &CURRENT_JOB_HR_STATUS = &RS_Job(1).JOB.HR_STATUS.Value;


                     /***********Begin Resolution 804910***********/
                     &CURRENT_JOB_ACTION = &RS_Job(1).JOB.ACTION.Value;
                     /***********End Resolution 804910***********/
                      /*Grab current effective date and sequence before future rows are added
to rowset*/
                      &CURJOBDT = &RS_Job(1).JOB.EFFDT.Value;
                      &CURJOBSEQ = &RS_Job(1).JOB.EFFSEQ.Value;

                     &Count_Job_Future = &RS_Job.FillAppend("WHERE FILL.EMPLID = :1 AND
FILL.EMPL_RCD = :2 AND FILL.EFFDT > %DATEIN(:3) ORDER BY EFFDT DESC, EFFSEQ DESC",
&INCUMBENT, &INCUMBENT_RCD, %Date);

                       &RS_Job.Sort(JOB.EFFDT, "D", JOB.EFFSEQ, "D");
                       /***Create Rowset for Job_Jr     ******/
                       &RS_Job_Jr = CreateRowset(Record.JOB_JR);
                       &Count_Job_Jr_Current = &RS_Job_Jr.Fill("WHERE FILL.EMPLID = :1 AND
FILL.EMPL_RCD = :2 AND FILL.EFFDT = (SELECT MAX(ED.EFFDT) FROM PS_JOB_JR ED WHERE FILL.EMPLID
= ED.EMPLID AND FILL.EMPL_RCD = ED.EMPL_RCD AND ED.EFFDT <= %DATEIN(:3)) AND FILL.EFFSEQ
= (SELECT MAX(ES.EFFSEQ) FROM PS_JOB_JR ES WHERE FILL.EMPLID = ES.EMPLID AND FILL.EMPL_RCD
= ES.EMPL_RCD AND FILL.EFFDT = ES.EFFDT)", &INCUMBENT, &INCUMBENT_RCD, %Date);

                     &Count_Job_Jr_Future = &RS_Job_Jr.FillAppend("WHERE FILL.EMPLID = :1
AND FILL.EMPL_RCD = :2 AND FILL.EFFDT > %DATEIN(:3) ORDER BY EFFDT DESC, EFFSEQ DESC",
&INCUMBENT, &INCUMBENT_RCD, %Date);
                     &RS_Job_Jr.Sort(JOB_JR.EFFDT, "D", JOB_JR.EFFSEQ, "D");

                      /***End create Rowset for Job_Jr******/

                      /***************************************************
                         Position Data Change mustn't predate current job row
                         ****************************************************/

                      If POSITION_DATA.EFFDT >= &CURJOBDT Then

                         &CURJOBNBR = &RS_Job.ActiveRowCount;



/***************************************************************************
                           BRANCH 1 :
                           Position row not new and Effdt not been changed, so update
existing job rows

****************************************************************************/
                        If Not (RecordNew(POSITION_DATA.POSITION_NBR) Or
                                 FieldChanged(POSITION_DATA.EFFDT) Or
                                 /* Begin 723407 */
                                 (&HR_UPD_INCMB_New_Position_Row = "Y")
                                 /***********Begin Resolution 804910***********/ Or
                                 &CURRENT_JOB_ACTION = "HIR"
                                 /********** begin resolution 807571***********/ Or
                                 &CURRENT_JOB_ACTION = "REH" Or
                                 &CURRENT_JOB_ACTION = "ADD" Or
                                 &CURRENT_JOB_ACTION = "POI" Or
                                 &CURRENT_JOB_ACTION = "ADL" Or
                                 &CURRENT_JOB_ACTION = "ASG"
                                 /********** end resolution 807571***********/

                                   ) Then

                            /***********End Resolution 804910***********/

                            /* End 723407 */

                            /*********************/
                            /*   open CI         */
                            /*********************/
                            &myCI = ciOpen("CI_JOB_DATA", &GetKeyArray, "G",
&ExceptionArray);

                            If All(&myCI) Then
                               /*********************************************
                                Loop through current and future Job records for
                               corrections to matching record
                               *********************************************/
                              For &J = &CURJOBNBR To 1 Step - 1

                                   /******************************************/
                                   /* Create an entry in the Exception Array */
                                   /* and in the Message Log                 */
                                   /* for starting with this Employee Record */
                                   /******************************************/
                                   &EMPLID = String(&INCUMBENT);
                                   &EMPL_RCD_STR = String(&INCUMBENT_RCD);
                                   &EFFDT = String(&RS_Job(&J).JOB.EFFDT.Value);
                                   &EFFSEQ_STR = String(&RS_Job(&J).JOB.EFFSEQ.Value);


                                 ciCreateExceptionEntry(&ExceptionArray, 1000, 936,
&EMPLID, &EMPL_RCD_STR, &EFFDT, &EFFSEQ_STR);

                                   &Rec_Job = &RS_Job(&J).GetRecord(Record.JOB);
                                   &Rec_Job_Jr = &RS_Job_Jr(&J).GetRecord(Record.JOB_JR);

                                   &POSITION = &Rec_Job.POSITION_NBR.Value;
                                   &OVERRIDE = &Rec_Job.POSITION_OVERRIDE.Value;
                                   &MATCHDATE = &Rec_Job.EFFDT.Value;
                                   &POSNRCD = &Rec_Job.POSN_CHANGE_RECORD.Value;
                                   &HR_STATUS = &Rec_Job.HR_STATUS.Value;

                                   &EESAL_PR = &Rec_Job.SAL_ADMIN_PLAN.Value;
                                   &EEGRADE_PR = &Rec_Job.GRADE.Value;
                                   &EESTEP_PR = &Rec_Job.STEP.Value;
                                   blank_prior();

                                   /*Ensure that updated Job row is in position identical to
position data*/
                                   If &POSITION = POSITION_DATA.POSITION_NBR
                                         /* Start Resolution 765496 */
                                         /* And &HR_STATUS = "A"    */ /*Active*/
                                         /* End   Resolution 765496 */
                                         Then
                                      If &OVERRIDE = "N" Then

                                         /*** do this branch until you find a matching
Position Change Record ***/
                                         If &MATCH <> "Y" Then
                                            /********** begin resolution
807571***********/
                                            /*If &MATCHDATE = POSITION_DATA.EFFDT And
                                                  &POSNRCD = "Y" Then*/
                                            /* Uncommenting the below code to update the
incumbents jobdata correctly, */
                                            /* when you modify the data in position future
row. */
                                            /********** begin resolution
860246***********/
                                            If &MATCHDATE = POSITION_DATA.EFFDT And
                                                  &POSNRCD = "Y" Then
                                               /********** end resolution
860246***********/
                                               /********** end resolution
807571***********/

                                               /**** JOB and POSITION rows have same EFFDT
and it has been inserted by PosMgmt ***/

                                               If &Count_Job_Current > 0 Then

                                                  &myCollection = "COLL_JOB";
                                                  &MYACTION = "U";
                                                  &Branch = "1";
                                                  /* load Job Collection keys */
                                                  &CollKeyArray = ciCreateArray();
                                                &CollKeyArray =
ciPopulateArray(&CollKeyArray, "KEYPROP_EFFDT", &Rec_Job.EFFDT.Value);
                                                &CollKeyArray =
ciPopulateArray(&CollKeyArray, "KEYPROP_EFFSEQ", &Rec_Job.EFFSEQ.Value);

                                                 /*    Copies like fields from POSITION_DATA
to JOB and   sets field properties*/
                                                 prepare_job_ci(&Rec_Job, &myCollection,
&MYACTION, &CollKeyArray, &PropArray);

                                                &return = ciUpdateItem(&myCI,
&myCollection, &CollKeyArray, &PropArray, &MYACTION, "N", &ExceptionArray);

                                                 If (ciHasErrors(&ExceptionArray)) Then
                                                    &ERROR_JOB = True;

ciCreateExceptionEntry(&ExceptionArray, 1000, 921, &EMPLID, &EMPL_RCD_STR, &EFFDT,
&EFFSEQ_STR);

ciWriteExceptionLog(&ExceptionArray);
                                                 End-If;


/************************************************/
                                                /* Before going to next Job row of the
Employee,*/
                                                /* click the 'Default Pay Components'
button.   */

/************************************************/
                                                If Not &ERROR_JOB Then

                                                      If POSITION_DATA.INCLUDE_SALPLN_FLG =
"Y" Then
                                                         ee_row_mssg(&EMPLID,
&EMPL_RCD_STR, &EFFDT, &EFFSEQ_STR);
                                                      get_new_step(&myCI,
&myCollection, &CollKeyArray, &PropArray, POSITION_DATA.EFFDT, &COLL_EFFSEQ);
                                                      sal_plan_new(&EESAL_NEW,
&EEGRADE_NEW, &EESTEP_NEW);
                                                      sal_plan_prior(&EESAL_PR,
&EEGRADE_PR, &EESTEP_PR);
                                                      sal_plan_ees();
                                                      If &MSG_TEXT_EES <> " " Then
                                                         &MSG_HEADER =
MsgGetExplainText(1000, 1135, "Message not Found.", &INCUMBENT);
                                                         &MSG_TEXT_FOOT = Char(10) |
MsgGetExplainText(1000, 1134, "Message not Found.");
                                                         &MSG_TEXT_CONCAT = &MSG_HEADER
| &MSG_TEXT_EES | &MSG_TEXT_FOOT;
                                                         MessageBox(%MsgStyle_OK, "", 0,
0, &MSG_TEXT_CONCAT);
                                                         reset_sal_mssgs();
                                                      End-If;

                                                      prepare_comp_ci(&myCI, &MYACTION,
&myCollection, &CollKeyArray, &PropArray, &Rec_Job.EFFDT.Value, &Rec_Job.EFFSEQ.Value);
                                                      &return = ciUpdateItem(&myCI,
&myCollection, &CollKeyArray, &PropArray, &MYACTION, "N", &ExceptionArray);

                                                         If (ciHasErrors(&ExceptionArray))
Then
                                                            &ERROR_COMP = True;

ciCreateExceptionEntry(&ExceptionArray, 1000, 1026, &EMPLID, &EMPL_RCD_STR, &EFFDT,
&EFFSEQ_STR);

ciWriteExceptionLog(&ExceptionArray);
                                                      End-If;
                                                      /*Moved end-if statement to include
default of compensation components only if INCLUDE_SALPLN_FLG = 'Y'*/
                                                       End-If;

                                                  End-If;

                                                  /********** begin resolution
807571***********/
                                               /*End-If;*/
                                                  /********** begin resolution
860246***********/
                                               End-If;
                                               /********** begin resolution
860246***********/
                                               /********** end resolution
807571***********/



                                             /*** Mark payroll or dedcalc records ***/
                                             /* Ice: 1642267003 / Res: 724989 -
Commenting this line of code out as code which uses this value is never hit

    UpdateValue(Record.POSN_INCUMB_WS, &I, DERIVED_HR.UPDATE_INCUMBENTS, &J, "Y");*/

                                               /* we found the job row that was originally
created by this position row */
                                              &MATCH = "Y";
                                           End-If;

                                           /* No Position Change row found and we are on
newest Job Row
                                           Communicate that no matching job rows were found
and that
                                           this incumbent's data will not be updated */
                                           If &J = 1 And
                                                 &MATCH <> "Y" Then

                                           End-If;

                                         Else
                                            /*****************************************
                                            Ripple changes through future Job records
                                            *****************************************/

                                           &Rec_Job = &RS_Job(&J).GetRecord(Record.JOB);
                                           If (All(&NEXT_POSN_EFFDT) And
                                                    (&RS_Job(&J).JOB.EFFDT.Value <
&NEXT_POSN_EFFDT)) Or
                                                  None(&NEXT_POSN_EFFDT) Then

                                               If &Count_Job_Future > 0 Then

                                                /* load Job Collection keys */
                                                &CollKeyArray = ciCreateArray();
                                                &CollKeyArray =
ciPopulateArray(&CollKeyArray, "KEYPROP_EFFDT", &Rec_Job.EFFDT.Value);
                                                &CollKeyArray =
ciPopulateArray(&CollKeyArray, "KEYPROP_EFFSEQ", &Rec_Job.EFFSEQ.Value);

                                                  &EESAL_PR =
&RS_Job(&J).JOB.SAL_ADMIN_PLAN.Value;
                                                  &EEGRADE_PR =
&RS_Job(&J).JOB.GRADE.Value;
                                                  &EESTEP_PR = &RS_Job(&J).JOB.STEP.Value;
                                                  blank_prior();

                                                  /*   Copies like fields from POSITION_DATA
to JOB and   sets field properties */
                                                  prepare_job_ci(&Rec_Job, &myCollection,
&MYACTION, &CollKeyArray, &PropArray);

                                                  &return = ciUpdateItem(&myCI,
&myCollection, &CollKeyArray, &PropArray, &MYACTION, "N", &ExceptionArray);

                                                   If (ciHasErrors(&ExceptionArray)) Then
                                                      &ERROR_JOB = True;

ciCreateExceptionEntry(&ExceptionArray, 1000, 921, &EMPLID, &EMPL_RCD_STR, &EFFDT,
&EFFSEQ_STR);

ciWriteExceptionLog(&ExceptionArray);
                                                   End-If; /* ciHasErrors */


/************************************************/
                                                /* Before going to next Job row of the
Employee,*/
                                                /* click the 'Default Pay Components'
button.   */

/************************************************/
                                                If Not &ERROR_JOB Then

                                                        If POSITION_DATA.INCLUDE_SALPLN_FLG =
"Y" Then
                                                           ee_row_mssg(&EMPLID,
&EMPL_RCD_STR, &EFFDT, &EFFSEQ_STR);
                                                           sal_plan_new(&EESAL_NEW,
&EEGRADE_NEW, &EESTEP_NEW);
                                                           sal_plan_prior(&EESAL_PR,
&EEGRADE_PR, &EESTEP_PR);
                                                      sal_plan_ees();
                                                      If &MSG_TEXT_EES <> " " Then
                                                         &MSG_HEADER =
MsgGetExplainText(1000, 1135, "Message not Found.", &INCUMBENT);
                                                         &MSG_TEXT_FOOT = Char(10) |
MsgGetExplainText(1000, 1134, "Message not Found.");
                                                         &MSG_TEXT_CONCAT = &MSG_HEADER
| &MSG_TEXT_EES | &MSG_TEXT_FOOT;
                                                         MessageBox(%MsgStyle_OK, "", 0,
0, &MSG_TEXT_CONCAT);
                                                         reset_sal_mssgs();
                                                      End-If;

                                                      prepare_comp_ci(&myCI, &MYACTION,
&myCollection, &CollKeyArray, &PropArray, &Rec_Job.EFFDT.Value, &Rec_Job.EFFSEQ.Value);
                                                      &return = ciUpdateItem(&myCI,
&myCollection, &CollKeyArray, &PropArray, &MYACTION, "N", &ExceptionArray);

                                                           If (ciHasErrors(&ExceptionArray))
Then
                                                              &ERROR_COMP = True;

ciCreateExceptionEntry(&ExceptionArray, 1000, 1026, &EMPLID, &EMPL_RCD_STR, &EFFDT,
&EFFSEQ_STR);

ciWriteExceptionLog(&ExceptionArray);
                                                           End-If;

                                                      /*Moved end-if statement to include
default of compensation components only if INCLUDE_SALPLN_FLG = 'Y'*/
                                                   End-If;
                                                End-If;

                                                 End-If;

                                              End-If;

                                         End-If;

                                       Else

/****************************************RESOLUTION
716628*****************************************/
                                       /* If position data is overridden*/
                                       MessageBox(0, "", 1000, 179, "No changes made for
incumbent number %1, because position data has been overridden", &INCUMBENT);
                                       /****************************************END OF
RESOLUTION 716628*****************************************/

/****************************************RESOLUTION
778983*****************************************/
                                       If &HR_UPD_INCMB_APP = True Then
                                          &msg179 = MsgGetText(1000, 179, "No changes made
for incumbent number %1, because position data has been overridden", &INCUMBENT);
                                          &CI_FILE_HR_INCB.WriteLine(&msg179);
                                       End-If;
                                       /****************************************END OF
RESOLUTION 778983*****************************************/
                                       &is_not_valid = "Y";
                                    End-If;

                                  End-If;

                              End-For;
                           End-If;
                        Else
                           /*******************************************************
                           BRANCH 2 :
                           Position Data Record is new or EFFDT has been changed.
                           (Insert has been performed into Position)
                           Since no Position Change Record exists in Job, we need to insert
one

********************************************************************/
                           /* Remark Insert new record. Determine which record to use as
base for insert in Job stack*/
                           /* Loop through to find current effective dated job row */

                           &myCI = ciOpen("CI_JOB_DATA", &GetKeyArray, "G",
&ExceptionArray);

                           If All(&myCI) Then
                              For &X = &CURJOBNBR To 1 Step - 1
                                 &TESTDATE = &RS_Job(&X).JOB.EFFDT.Value;
                                 If &TESTDATE <= POSITION_DATA.EFFDT And
                                       &TESTDATE >= &MAXDATE Then
                                    &MAXDATE = &TESTDATE;
                                    &JOBRECNBR = &X;
                                    If &MAXDATE = POSITION_DATA.EFFDT Then
                                       &SEQUENCE = &RS_Job(&JOBRECNBR).JOB.EFFSEQ.Value;
                                    End-If;
                                 End-If;
                              End-For;

                               /******************************************/
                               /* Create an entry in the Exception Array */
                               /* and in the Message Log                 */
                               /* for starting with this Employee Record */
                               /******************************************/
                               &EMPLID = String(&INCUMBENT);
                               &EMPL_RCD_STR = String(&INCUMBENT_RCD);

                              ciCreateExceptionEntry(&ExceptionArray, 1000, 936,
&EMPLID, &EMPL_RCD_STR, " ", " ");

                               &ERROR_JOB = False;

                               If All(&JOBRECNBR, &MAXDATE) Then

                                 &POSITION = &RS_Job(&JOBRECNBR).JOB.POSITION_NBR.Value;
                                 &OVERRIDE =
&RS_Job(&JOBRECNBR).JOB.POSITION_OVERRIDE.Value;
                                 &HR_STATUS = &RS_Job(&JOBRECNBR).JOB.HR_STATUS.Value;
                                 /*If position number of job record equals the position
just updated, position override = 'n', and HR status of job row is ACTIVE, proceed*/
                                 If &POSITION = POSITION_DATA.POSITION_NBR And
                                       &OVERRIDE = "N" And
                                       &HR_STATUS = "A" /*Active*/ Then

                                    /***************************
                                       Perform insert into Job stack
                                       ***************************/

                                    If &Count_Job_Current > 0 Then

                                       &Rec_Job =
&RS_Job(&JOBRECNBR).GetRecord(Record.JOB);
                                       &Rec_Job_Jr =
&RS_Job_Jr(&JOBRECNBR).GetRecord(Record.JOB_JR);

                                         &myCollection = "COLL_JOB";
                                         &MYACTION = "N";
                                         &Branch = "2";
                                         &COLL_EFFSEQ = 0;

                                         /* load Job Collection keys */
                                         &CollKeyArray = ciCreateArray();
                                         &CollKeyArray = ciPopulateArray(&CollKeyArray,
"KEYPROP_EFFDT", POSITION_DATA.EFFDT);
                                         &CollKeyArray = ciPopulateArray(&CollKeyArray,
"KEYPROP_EFFSEQ", &COLL_EFFSEQ);

                                         /*    Copies like fields from POSITION_DATA to JOB
and   sets field properties */
                                         prepare_job_ci(&Rec_Job, &myCollection,
&MYACTION, &CollKeyArray, &PropArray);

                                         /* Position Change Record should be set to 'Y' for
new job rows */
                                         &PropArray = ciPopulateArray(&PropArray,
"PROP_POSN_CHANGE_RECORD", "Y");

                                         /*    Increment effective sequence if effective date
already exists*/
                                         If &MAXDATE = POSITION_DATA.EFFDT Then
                                            &MYACTION = "N";
                                            &COLL_EFFSEQ = &SEQUENCE + 1;
                                            &CollKeyArray = ciCreateArray();
                                            &CollKeyArray = ciPopulateArray(&CollKeyArray,
"KEYPROP_EFFDT", POSITION_DATA.EFFDT);
                                              &CollKeyArray = ciPopulateArray(&CollKeyArray,
"KEYPROP_EFFSEQ", &COLL_EFFSEQ);
                                            &EFFSEQ_STR = &SEQUENCE + 1;
                                         End-If;
                                         &CURRENT_INSERT_DATE = POSITION_DATA.EFFDT;
                                         If (&CURRENT_INSERT_DATE > &CURRENT_JOB_EFFDT And
                                                  &CURRENT_INSERT_DATE <= %Date) Then
                                            &CURRENT_JOB_EFFDT = &CURRENT_INSERT_DATE;
                                            &CURRENT_JOB_EFFSEQ = &EFFSEQ_STR;
                                            &CURRENT_JOB_OVERRIDE = &OVERRIDE;
                                            &CURRENT_JOB_REPORTS_TO.Value =
POSITION_DATA.REPORTS_TO;
                                              &CURRENT_JOB_COUNTRY_CODE.Value =
POSITION_DATA.COUNTRY_CODE;
                                              &CURRENT_JOB_PHONE.Value =
POSITION_DATA.PHONE;
                                              &CURRENT_JOB_EG_GROUP.Value =
POSITION_DATA.EG_GROUP;
                                         End-If;


                                       &return = ciUpdateItem(&myCI, &myCollection,
&CollKeyArray, &PropArray, &MYACTION, "N", &ExceptionArray);
                                       If (ciHasErrors(&ExceptionArray)) Then
                                          &ERROR_JOB = True;
                                          ciCreateExceptionEntry(&ExceptionArray, 1000,
921, &EMPLID, &EMPL_RCD_STR, POSITION_DATA.EFFDT, &COLL_EFFSEQ);
                                          ciWriteExceptionLog(&ExceptionArray);
                                       End-If;


/************************************************/
                                       /* Before going to next Job row of the Employee,*/
                                       /* click the 'Default Pay Components' button.   */

/************************************************/
                                       If Not &ERROR_JOB Then

                                            &EESAL_PR = &CURRENT_JOB_SAL;
                                            &EEGRADE_PR = &CURRENT_JOB_GRADE;
                                            &EESTEP_PR = &CURRENT_JOB_STEP;
                                            blank_prior();

                                            If POSITION_DATA.INCLUDE_SALPLN_FLG = "Y" Then
                                               ee_row_mssg(&EMPLID, &EMPL_RCD_STR,
POSITION_DATA.EFFDT, &COLL_EFFSEQ);
                                             get_new_step(&myCI, &myCollection,
&CollKeyArray, &PropArray, POSITION_DATA.EFFDT, &COLL_EFFSEQ);
                                             sal_plan_new(&EESAL_NEW, &EEGRADE_NEW,
&EESTEP_NEW);
                                             sal_plan_prior(&EESAL_PR, &EEGRADE_PR,
&EESTEP_PR);
                                             sal_plan_ees();

                                               If &MSG_TEXT_EES <> " " Then
                                                  &MSG_HEADER = MsgGetExplainText(1000,
1135, "Message not Found.", &INCUMBENT);
                                                &MSG_TEXT_FOOT = Char(10) |
MsgGetExplainText(1000, 1134, "Message not Found.");
                                                &MSG_TEXT_CONCAT = &MSG_HEADER |
&MSG_TEXT_EES | &MSG_TEXT_FOOT;
                                                MessageBox(%MsgStyle_OK, "", 0, 0,
&MSG_TEXT_CONCAT);
                                                reset_sal_mssgs();
                                             End-If;

                                             prepare_comp_ci(&myCI, &MYACTION,
&myCollection, &CollKeyArray, &PropArray, POSITION_DATA.EFFDT, &COLL_EFFSEQ);
                                             &return = ciUpdateItem(&myCI,
&myCollection, &CollKeyArray, &PropArray, &MYACTION, "N", &ExceptionArray);
                                             If (ciHasErrors(&ExceptionArray)) Then
                                                &ERROR_COMP = True;
                                                ciCreateExceptionEntry(&ExceptionArray,
1000, 1026, &EMPLID, &EMPL_RCD_STR, POSITION_DATA.EFFDT, &COLL_EFFSEQ);
                                                ciWriteExceptionLog(&ExceptionArray);
                                             End-If;
                                             /*Moved end-if statement to include default
of compensation components only if INCLUDE_SALPLN_FLG = 'Y'*/
                                          End-If;
                                       End-If;
                                    End-If;

                                      /******************************
                                         Ripple changes through future Job records;
                                         only with one or more future rows as of inserted row
                                         ******************************/
                                      If &CURJOBNBR >= 2 Then


                                         For &Z = &JOBRECNBR - 1 To 1 Step - 1

                                            If (All(&NEXT_POSN_EFFDT) And
                                                     (&RS_Job(&Z).JOB.EFFDT.Value <
&NEXT_POSN_EFFDT)) Or
                                                None(&NEXT_POSN_EFFDT) Then

                                             &POSITION =
&RS_Job(&Z).JOB.POSITION_NBR.Value;
                                             &OVERRIDE =
&RS_Job(&Z).JOB.POSITION_OVERRIDE.Value;
                                             &HR_STATUS =
&RS_Job(&Z).JOB.HR_STATUS.Value;

                                             If &POSITION = POSITION_DATA.POSITION_NBR
                                                   /* Start Resolution 729814*/
                                                   /* And &HR_STATUS = "A"   */
/*Active*/
                                                   /* End   Resolution 729814*/
                                                   Then
                                                If &OVERRIDE = "N" Then

                                                     &Rec_Job =
&RS_Job(&Z).GetRecord(Record.JOB);

                                                   If &Count_Job_Current > 0 Then
                                                      &myCollection = "COLL_JOB";
                                                      &MYACTION = "U";
                                                      &Branch = "3";
                                                      /* load Job Collection keys */
                                                      &CollKeyArray = ciCreateArray();
                                                      &CollKeyArray =
ciPopulateArray(&CollKeyArray, "KEYPROP_EFFDT", &Rec_Job.EFFDT.Value);
                                                      &CollKeyArray =
ciPopulateArray(&CollKeyArray, "KEYPROP_EFFSEQ", &Rec_Job.EFFSEQ.Value);

                                                        &EESAL_PR =
&RS_Job(&Z).JOB.SAL_ADMIN_PLAN.Value;
                                                        &EEGRADE_PR =
&RS_Job(&Z).JOB.GRADE.Value;
                                                        &EESTEP_PR =
&RS_Job(&Z).JOB.STEP.Value;
                                                        blank_prior();


                                                        prepare_job_ci(&Rec_Job,
&myCollection, &MYACTION, &CollKeyArray, &PropArray);
                                                      &return = ciUpdateItem(&myCI,
&myCollection, &CollKeyArray, &PropArray, &MYACTION, "N", &ExceptionArray);
                                                      If (ciHasErrors(&ExceptionArray))
Then
                                                         &ERROR_JOB = True;

ciCreateExceptionEntry(&ExceptionArray, 1000, 921, &EMPLID, &EMPL_RCD_STR, &EFFDT,
&EFFSEQ_STR);

ciWriteExceptionLog(&ExceptionArray);
                                                        End-If;


/************************************************/
                                                        /* Before going to next Job row of
the Employee,*/
                                                        /* click the 'Default Pay
Components' button.     */

/************************************************/
                                                        If Not &ERROR_JOB Then
                                                           &ROWDATE =
&RS_Job(&Z).JOB.EFFDT.Value;
                                                           &ROWEFFSEQ =
(&RS_Job(&Z).JOB.EFFSEQ.Value);


                                                           If
POSITION_DATA.INCLUDE_SALPLN_FLG = "Y" Then
                                                            ee_row_mssg(&EMPLID,
&EMPL_RCD_STR, &ROWDATE, &ROWEFFSEQ);
                                                            sal_plan_new(&EESAL_NEW,
&EEGRADE_NEW, &EESTEP_NEW);
                                                            sal_plan_prior(&EESAL_PR,
&EEGRADE_PR, &EESTEP_PR);
                                                            sal_plan_ees();
                                                            If &MSG_TEXT_EES <> " " Then
                                                               &MSG_HEADER =
MsgGetExplainText(1000, 1135, "Message not Found.", &INCUMBENT);
                                                               &MSG_TEXT_FOOT = Char(10)
| MsgGetExplainText(1000, 1134, "Message not Found.");
                                                               &MSG_TEXT_CONCAT =
&MSG_HEADER | &MSG_TEXT_EES | &MSG_TEXT_FOOT;
                                                               MessageBox(%MsgStyle_OK,
"", 0, 0, &MSG_TEXT_CONCAT);
                                                               reset_sal_mssgs();
                                                            End-If;

                                                            prepare_comp_ci(&myCI,
&MYACTION, &myCollection, &CollKeyArray, &PropArray, &Rec_Job.EFFDT.Value,
&Rec_Job.EFFSEQ.Value);

                                                            &return =
ciUpdateItem(&myCI, &myCollection, &CollKeyArray, &PropArray, &MYACTION, "N",
&ExceptionArray);
                                                            If
(ciHasErrors(&ExceptionArray)) Then
                                                               &ERROR_COMP = True;

ciCreateExceptionEntry(&ExceptionArray, 1000, 1026, &EMPLID, &EMPL_RCD_STR,
&Rec_Job.EFFDT.Value, &Rec_Job.EFFSEQ.Value);

ciWriteExceptionLog(&ExceptionArray);
                                                             End-If;
                                                             /*Moved end-if statement to
include default of compensation components only if INCLUDE_SALPLN_FLG = 'Y'*/
                                                          End-If;
                                                       End-If;
                                                    End-If;
                                                 End-If;
                                             End-If;
                                          End-If;
                                       End-For;
                                    End-If;
                                    /****************************************RESOLUTION
716628*****************************************/
                                 Else
                                    MessageBox(0, "", 1000, 196, "No changes made for
incumbent number %1, because position data has been overridden.", &INCUMBENT);
                                    /****************************************END OF
RESOLUTION 716628*****************************************/
                                    /****************************************RESOLUTION
778983*****************************************/
                                    If &HR_UPD_INCMB_APP = True Then
                                       &msg196 = MsgGetText(1000, 196, "No changes made
for incumbent number %1, because position data has been overridden.", &INCUMBENT);
                                       &CI_FILE_HR_INCB.WriteLine(&msg196);
                                    End-If;
                                    /****************************************END OF
RESOLUTION 778983*****************************************/
                                    &is_not_valid = "Y";
                                 End-If;
                              End-If;
                           End-If;
                        End-If;
                        /****************************************RESOLUTION
716628*****************************************/
                        /*If POSITION_DATA.EFFDT < &CURJOBDT Then*/
                     Else
                        MessageBox(0, "", 1000, 177, "No changes made for incumbent number
%1 because position changes predate their current Job record.", &INCUMBENT);
                        /****************************************END OF RESOLUTION
716628*****************************************/
                        /****************************************RESOLUTION
778983*****************************************/
                        If &HR_UPD_INCMB_APP = True Then
                           &msg177 = MsgGetText(1000, 177, "No changes made for incumbent
number %1 because position changes predate their current Job record.", &INCUMBENT);
                           &CI_FILE_HR_INCB.WriteLine(&msg177);
                        End-If;
                        /****************************************END OF RESOLUTION
778983*****************************************/
                        &is_not_valid = "Y";
                     End-If;
                     /****************************************RESOLUTION
716628*****************************************/
                  Else
                     /* If POSITION_DATA.EFFDT < &CURRPOSEFFDT -> Position is not current
or future */
                     If &JOBMSG_GIVEN <> "Y" Then
                        MessageBox(0, "", 1000, 194, "Position record is not current. No
incumbent action will be taken.");
                        /****************************************RESOLUTION
778983*****************************************/
                        If &HR_UPD_INCMB_APP = True Then
                           &msg194 = MsgGetText(1000, 194, "Position record is not current.
No incumbent action will be taken.");
                           &CI_FILE_HR_INCB.WriteLine(&msg194);
                        End-If;
                        /****************************************END OF RESOLUTION
778983*****************************************/
                        &JOBMSG_GIVEN = "Y";
                        &is_not_valid = "Y";
                     End-If;
                     /****************************************END OF RESOLUTION
716628*****************************************/
                  End-If;

                  /**************************
               Update PER_ORG_ASGN,PER_ORG_ASGN_HP Record (common fields : PHONE,
EG_GROUP)
                     ************************/

                    If FieldChanged(POSITION_DATA.PHONE) Or
                          FieldChanged(POSITION_DATA.EG_GROUP) Or
                          FieldChanged(POSITION_DATA.DESCR) Then

                      If None(&myCI) Then
                         &myCI = ciOpen("CI_JOB_DATA", &GetKeyArray, "G",
&ExceptionArray);
                      End-If;

                      &ERROR_EMPL = False;


                      If POSITION_DATA.EFFDT >= &CURRPOSEFFDT And
                            POSITION_DATA.EFFDT >= &CURJOBDT Then
                         If POSITION_DATA.EFFDT <= %Date Then

                            &CURJOBDT = &CURRENT_JOB_EFFDT;
                            &CURJOBSEQ = &CURRENT_JOB_EFFSEQ;
                            &OVERRIDE = &CURRENT_JOB_OVERRIDE;
                            &HR_STATUS = &CURRENT_JOB_HR_STATUS;

                            /*Do not allow updates to inactive employees*/
                            If &OVERRIDE = "N" And
                                  &HR_STATUS = "A" /*Active*/ Then

                                If &Count_Job_Current > 0 Then
                                 &Branch = "E";
                                 If FieldChanged(POSITION_DATA.PHONE) Or
                                       FieldChanged(POSITION_DATA.DESCR) Then
                                    &UpdType = "P";
                                    prepare_empl_ci(&EmplmyCollection, &MYACTION,
&UpdType, &EmplCollKeyArray, &EmplPropArray, &INCUMBENT, &INCUMBENT_RCD);

                                    &return = ciUpdateItem(&myCI, &EmplmyCollection,
&EmplCollKeyArray, &EmplPropArray, &MYACTION, "N", &ExceptionArray);

                                    If (ciHasErrors(&ExceptionArray)) Then
                                       &ERROR_EMPL = True;
                                       ciCreateExceptionEntry(&ExceptionArray, 1000,
921, &EMPLID, &EMPL_RCD_STR, &EMPL_EFFDT, &EMPL_EFFSEQ);
                                       ciWriteExceptionLog(&ExceptionArray);
                                    End-If;
                                 End-If;
                                 If FieldChanged(POSITION_DATA.EG_GROUP) Then
                                    prepare_per_org_asg_hp_ci(&OrgHPCollection,
&MYACTION, &EmplCollKeyArray, &PropArray, &INCUMBENT, &INCUMBENT_RCD);
                                    &return = ciUpdateItem(&myCI, &OrgHPCollection,
&EmplCollKeyArray, &PropArray, &MYACTION, "N", &ExceptionArray);
                                    If (ciHasErrors(&ExceptionArray)) Then
                                       &ERROR_EMPL = True;
                                       ciCreateExceptionEntry(&ExceptionArray, 1000,
921, &EMPLID, &EMPL_RCD_STR, &EMPL_EFFDT, &EMPL_EFFSEQ);
                                       ciWriteExceptionLog(&ExceptionArray);
                                    End-If;
                                 End-If;
                              End-If;
                           End-If;
                           /****************************************RESOLUTION
716628*****************************************/
                        Else
                           If &EMPMSG_GIVEN <> "Y" Then
                              MessageBox(0, "", 1000, 178, "Position record is in the
future. No employment updates will be made.");
                              /****************************************RESOLUTION
778983*****************************************/
                              If &HR_UPD_INCMB_APP = True Then
                                 &msg178 = MsgGetText(1000, 178, "Position record is in the
future. No employment updates will be made.");
                                 &CI_FILE_HR_INCB.WriteLine(&msg178);
                              End-If;
                              /****************************************END OF RESOLUTION
778983*****************************************/
                              &EMPMSG_GIVEN = "Y";
                              &is_not_valid = "Y";
                           End-If;
                           /****************************************END OF RESOLUTION
716628*****************************************/

                        End-If;
                     End-If;
                  End-If;
                  /* PER_ORG_ASGN Update */

                  /*
***********************************************************************************
 Update level 0 property to enable updates using CI
/* ***********************************************************************************
*/
                  If All(&myCI) And
                        &is_not_valid <> "Y" Then
                     &UpdType = "B";
                     prepare_empl_ci(&EmplmyCollection, &MYACTION, &UpdType,
&EmplCollKeyArray, &EmplPropArray, &INCUMBENT, &INCUMBENT_RCD);

                     &return = ciUpdateItem(&myCI, &EmplmyCollection, &EmplCollKeyArray,
&EmplPropArray, &MYACTION, "N", &ExceptionArray);
                     If (ciHasErrors(&ExceptionArray)) Then
                        &ERROR_EMPL = True;
                        ciCreateExceptionEntry(&ExceptionArray, 1000, 921, &EMPLID,
&EMPL_RCD_STR, &EMPL_EFFDT, &EMPL_EFFSEQ);
                        ciWriteExceptionLog(&ExceptionArray);
                     End-If;
                  End-If;
                  &is_not_valid = "N";
                  /*
*********************************************************************************** */
                  /*                             close and save CI
*/
                  /*
*********************************************************************************** */

                  If All(&myCI) And
                        &Branch <> "N" Then
                     &return = ciClose(&myCI, &ExceptionArray);
                  End-If;

                  If (ciHasErrors(&ExceptionArray)) Then
                     /******************************************/
                     /* Create an entry in the Exception Array */
                     /* and in the Message Log                   */
                     /* when an error occured in Job Data CI. */
                     /******************************************/
                     ciCreateExceptionEntry(&ExceptionArray, 1000, 921, &EMPLID,
&EMPL_RCD_STR, "", "");
                     ciWriteExceptionLog(&ExceptionArray);
                     MessageBox(0, "", 1000, 1358, "Message not found.", &INCUMBENT,
&INCUMBENT_RCD);
                  Else
                     /********************************************/
                     /* Create an entry in the Exception Array     */
                     /* and in the Message Log                     */
                     /* when completed with this Employee Record */
                     /********************************************/
                     ciCreateExceptionEntry(&ExceptionArray, 1000, 937, &EMPLID,
&EMPL_RCD_STR, "", "");
                  End-If;
                  ciWriteExceptionLog(&ExceptionArray);
               Else
                  /******************************************/
                  /* Create an entry in the Exception Array */
                  /* and in the Message Log                   */
                  /* when Employee Record not accessible.     */
                  /******************************************/
                  ciCreateExceptionEntry(&ExceptionArray, 1000, 1026, &EMPLID,
&EMPL_RCD_STR, &EFFDT, &EFFSEQ_STR);
                  ciWriteExceptionLog(&ExceptionArray);
               End-If;
            End-If;
         End-For;
         /**************************
          End Incumbent Loop
          **************************/
         /****************************************RESOLUTION
716628*****************************************/
      Else
         If (&INDUSTRY <> "GOVT" And
                  &INDUSTRY_SECTOR <> "USFG") Then
            MessageBox(0, "", 1000, 160, "Incumbent data will not be updated unless Update
Incumbents flag is on.");
            /****************************************RESOLUTION
778983*****************************************/
            If &HR_UPD_INCMB_APP = True Then
               &msg160 = MsgGetText(1000, 160, "Incumbent data will not be updated unless
Update Incumbents flag is on.");
               &CI_FILE_HR_INCB.WriteLine(&msg160);
            End-If;
            /****************************************END OF RESOLUTION
         778983*****************************************/
                  End-If;
                  /****************************************END OF RESOLUTION
         716628*****************************************/
               End-If;
               /****************************************RESOLUTION
         716628*****************************************/
               /* If the position data effective status is not active*/
            Else
               MessageBox(0, "", 1000, 190, "Position is inactive. No incumbent updates will be
         made.");
               /****************************************END OF RESOLUTION
         716628*****************************************/
               /****************************************RESOLUTION
         778983*****************************************/
               If &HR_UPD_INCMB_APP = True Then
                  &msg190 = MsgGetText(1000, 190, "Position is inactive. No incumbent updates will
         be made.");
                  &CI_FILE_HR_INCB.WriteLine(&msg190);
               End-If;
               /****************************************END OF RESOLUTION
         778983*****************************************/
            End-If;
         End-Function;

         [ . . . Unchanged Code not Shown . . . ]




PeopleCode (Record): FUNCLIB_HR_CMP.CMP_RULE_ID.FieldFormula
         [ . . . Unchanged Code not Shown . . . ]

         Function Load_Elig_Sal_Step_Rules(&JOB_RS As Rowset, &JOB_ROW, &ELIG_RULE_RS As Rowset);

            &EFFDT = &JOB_RS(&JOB_ROW).JOB.EFFDT.Value;
            &SETID_SALARY = &JOB_RS(&JOB_ROW).JOB.SETID_SALARY.Value;
            &SAL_ADMIN_PLAN = &JOB_RS(&JOB_ROW).JOB.SAL_ADMIN_PLAN.Value;
            &GRADE = &JOB_RS(&JOB_ROW).JOB.GRADE.Value;
            &STEP = String(&JOB_RS(&JOB_ROW).JOB.STEP.Value);

            /****************************************************************/
            /* Determine Sal Step Rule only if a Sal Plan/Grade/Step exists */
            /****************************************************************/
            If All(&EFFDT) And
                  All(&SETID_SALARY) And
                  All(&SAL_ADMIN_PLAN) And
                  All(&GRADE) And
                  All(&STEP) Then

               /*******************************************************/
               /* Select the eligible Sal Step Defaulting Rule.         */
               /* Note that the Where clause in the SQLExec statement */
               /* already determines if the Rule is eligible.           */
               /*******************************************************/
               SQLExec("SELECT D1.CMP_RULE_ID, %DATEOUT(D1.EFFDT) FROM PS_CMP_RULE_DEFN D1 WHERE
         D1.EFFDT = (SELECT MAX(D2.EFFDT) FROM PS_CMP_RULE_DEFN D2 WHERE D2.CMP_RULE_ID =
         D1.CMP_RULE_ID AND D2.EFFDT <= %DATEIN(:1)) AND D1.EFF_STATUS = 'A' AND D1.CMP_SRC_IND =
         'S' AND EXISTS (SELECT 'X' FROM PS_CMP_RULE_VALUES V WHERE V.CMP_RULE_ID = D1.CMP_RULE_ID
         AND V.EFFDT = D1.EFFDT AND V.CMP_RULE_OPER_SEQ = 1 AND V.CMP_VALUE_SEQ = 1 AND V.SETID =
         :2 AND V.SAL_ADMIN_PLAN = :3 AND V.GRADE = :4 AND V.CMP_FLD_VALUE = :5)", &EFFDT,
         &SETID_SALARY, &SAL_ADMIN_PLAN, &GRADE, &STEP, &RULE_ID, &RULE_EFFDT);
               SQLExec("SELECT D1.CMP_RULE_ID, %DATEOUT(D1.EFFDT) FROM PS_CMP_RULE_DEFN D1 WHERE
         D1.EFFDT = (SELECT MAX(D2.EFFDT) FROM PS_CMP_RULE_DEFN D2 WHERE D2.CMP_RULE_ID =
         D1.CMP_RULE_ID AND D2.CMP_SRC_IND = 'S' AND D2.EFFDT <= %DATEIN(:1)) AND D1.EFF_STATUS =
         'A' AND D1.CMP_SRC_IND = 'S' AND EXISTS (SELECT 'X' FROM PS_CMP_RULE_VALUES V WHERE
         V.CMP_RULE_ID = D1.CMP_RULE_ID AND V.EFFDT = D1.EFFDT AND V.CMP_RULE_OPER_SEQ = 1 AND
         V.CMP_VALUE_SEQ = 1 AND V.SETID = :2 AND V.SAL_ADMIN_PLAN = :3 AND V.GRADE = :4 AND
         V.CMP_FLD_VALUE = :5)", &EFFDT, &SETID_SALARY, &SAL_ADMIN_PLAN, &GRADE, &STEP, &RULE_ID,
         &RULE_EFFDT);
              /*****************************************************/
              /* Insert the eligible Sal Step Defaulting Rule      */
              /* into the Rules Workscroll.                        */
              /* Note that there can be only one eligible Sal Step */
              /* Defaulting Rule.                                  */
              /*****************************************************/
              If All(&RULE_ID) And
                    All(&RULE_EFFDT) Then

                  /********************************************************/
                  /* If this is not the first row in the Rules Workscroll */
                  /* then insert a new row.                               */
                  /********************************************************/
                  &ROW_CNT = &ELIG_RULE_RS.ActiveRowCount;
                  If &ROW_CNT <> 1 Or
                        All(&ELIG_RULE_RS(1).CMP_RUL_ELIG_WS.CMP_RULE_ID.Value) Then
                     &ELIG_RULE_RS.InsertRow(1);
                  End-If;
                  /**********************************************/
                  /* Update the new row in the Rules Workscroll */
                  /* with the Rule Id and Rule Effective Date   */
                  /**********************************************/
                  &ELIG_RULE_RS(1).CMP_RUL_ELIG_WS.CMP_RULE_ID.Value = &RULE_ID;
                  &ELIG_RULE_RS(1).CMP_RUL_ELIG_WS.EFFDT.Value = &RULE_EFFDT;
                  /**********************************************/
                  /* Load the Rate Codes of the Defaulting Rule */
                  /**********************************************/
                  &RULE_RC_RS = &ELIG_RULE_RS(1).GetRowset(Scroll.CMP_RULE_RATECD);
                  &RULE_RC_RS.Flush();
                  &RULE_RC_RS.Select(Record.CMP_RULE_RATECD, "WHERE CMP_RULE_ID = :1 AND EFFDT =
         %DATEIN(:2)", &RULE_ID, &RULE_EFFDT);
                  /*************************************************************/
                  /* Get default value for 'Apply FTE' from Comp Rate Code Tbl */
                  /*************************************************************/
                  For &CNT = 1 To &RULE_RC_RS.ActiveRowCount
                     &RULE_RC_RS(&CNT).CMP_RULE_RATECD.FTE_INDICATOR.Value =
         &RULE_RC_RS(&CNT).COMP_RATECD_TBL.FTE_INDICATOR.Value;
                  End-For;

              End-If; /*    End-If All(&RULE_ID) And All(&RULE_EFFDT) */

           End-If; /*    End-If All(&EFFDT) And All(&SETID_SALARY) ... */

         End-Function;

         [ . . . Unchanged Code not Shown . . . ]




PeopleCode (Record): FUNCLIB_HR_CMP.COMP_RATE_TYPE.FieldFormula
         [ . . . Unchanged Code not Shown . . . ]

         Function Get_Default_Values_Comp_Pkg(&COMP_RS As Rowset);

           Local   array of Record &REC_ARRAY;
           Local   Record &REC, &JOB_REC;
           Local   number &RATE_VALUE, &EMPL_RCD;
           Local   GetRateValue &RateMatrixHook;
           Local   WCS_RATECD_RATES:GetRateValue &RateMatrixHook;
           Local   string &LOOKUP_ID, &EMPLID, &RATECD, &RATE_TYPE;
           Local   date &EFFDT;
           Local   integer &J;

           /*****************************************/
           /* Scroll through Compensation Package   */
           /*****************************************/
           For &J = 1 To &COMP_RS.ActiveRowCount;
     /**************************************************/
     /* If the Compensation Component is manuall-added */
     /* and has 'Default without Override' checked,    */
     /**************************************************/
     If All(&COMP_RS(&J).COMPENSATION.COMP_RATECD.Value) And
           &COMP_RS(&J).COMPENSATION.CMP_SRC_IND.Value = "M" And
           &COMP_RS(&J).COMP_RATECD_TBL.CMP_NON_UPD_IND.Value = "Y" Then

         /***************************************************************/
         /* then fetch the default values from the Comp Rate Code Table */
         /* and apply the default values to the Compensation Component */
         /***************************************************************/
         If All(&COMP_RS(&J).COMP_RATECD_TBL.COMPRATE.Value) Then
            &COMP_RS(&J).COMPENSATION.COMPRATE.Value =
&COMP_RS(&J).COMP_RATECD_TBL.COMPRATE.Value;
         End-If;
         If All(&COMP_RS(&J).COMP_RATECD_TBL.COMP_PCT.Value) Then
            &COMP_RS(&J).COMPENSATION.COMP_PCT.Value =
&COMP_RS(&J).COMP_RATECD_TBL.COMP_PCT.Value;
         End-If;
         If All(&COMP_RS(&J).COMP_RATECD_TBL.COMP_FREQUENCY.Value) Then
            &COMP_RS(&J).COMPENSATION.COMP_FREQUENCY.Value =
&COMP_RS(&J).COMP_RATECD_TBL.COMP_FREQUENCY.Value;
         End-If;
         If All(&COMP_RS(&J).COMP_RATECD_TBL.CURRENCY_CD.Value) Then
            &COMP_RS(&J).COMPENSATION.CURRENCY_CD.Value =
&COMP_RS(&J).COMP_RATECD_TBL.CURRENCY_CD.Value;
         End-If;
         If All(&COMP_RS(&J).COMP_RATECD_TBL.FTE_INDICATOR.Value) Then
            &COMP_RS(&J).COMPENSATION.FTE_INDICATOR.Value =
&COMP_RS(&J).COMP_RATECD_TBL.FTE_INDICATOR.Value;
         End-If;

        /************************/
        /* Check if matrix used */
        /************************/
        If &COMP_RS(&J).COMP_RATECD_TBL.CMP_CALC_BY.Value = "RM" Then
           &LOOKUP_ID = &COMP_RS(&J).COMP_RATECD_TBL.LOOKUP_ID.Value;
           &RATE_TYPE = &COMP_RS(&J).COMP_RATECD_TBL.COMP_RATE_TYPE.Value;

            /* Set field(s) for passing */
            &RATECD = &COMP_RS(&J).COMPENSATION.COMP_RATECD.Value;
            &EFFDT = &COMP_RS(&J).COMPENSATION.EFFDT.Value;
            &EMPLID = &COMP_RS(&J).COMPENSATION.EMPLID.Value;
            &EMPL_RCD = &COMP_RS(&J).COMPENSATION.EMPL_RCD.Value;
            /* Create an empty array of records */
            &REC_ARRAY = CreateArrayRept(&REC, 0);
            /* Capture the JOB record. */
            &JOB_REC = &COMP_RS.ParentRow.JOB;
            /* load array with job */
            &REC_ARRAY.Push(&JOB_REC);
            &RateMatrixHook = create GetRateValue();
            &RateMatrixHook = create WCS_RATECD_RATES:GetRateValue();
            /* Validate the matrix setup and get the rate value. */
            &RATE_VALUE = &RateMatrixHook.ReturnMatrixValue(&RATECD, &LOOKUP_ID,
&RATE_TYPE, &EFFDT, &EMPLID, &EMPL_RCD, &REC_ARRAY);
            /*********************************/
            /* and apply the default values */
            /* to the Compensation Component */
            /*********************************/
            Evaluate &RATE_TYPE
            When "FA"
            When "HF"
            When "HR"
               If All(&RATE_VALUE) Then
                  &COMP_RS(&J).COMPENSATION.COMPRATE.Value = &RATE_VALUE;
               End-If;
               Break;
            When "PC"
               If All(&RATE_VALUE) Then
                  &COMP_RS(&J).COMPENSATION.COMP_PCT.Value = &RATE_VALUE;
                            End-If;
                            Break;
                         When "PT"
                            If All(&RATE_VALUE) Then
                               &COMP_RS(&J).COMPENSATION.COMP_RATE_POINTS.Value = &RATE_VALUE;
                            End-If;
                         End-Evaluate;
                      End-If;
                   End-If;

              End-For;

         End-Function;

         [ . . . Unchanged Code not Shown . . . ]




PeopleCode (Record): FUNCLIB_HR_ESP.AFI_SS_ACTION_ESP.FieldFormula
         [ . . . Unchanged Code not Shown . . . ]




PeopleCode (Record): FUNCLIB_HR_ITA.NATIONAL_ID.FieldFormula
         [ . . . Unchanged Code not Shown . . . ]

         Function validate_CF_ITA(&NATIONAL_ID)

            /* ICE: 500543000 Replaced populating of vars with GetEmployeeInfo Call. This functions
         takes care of where to find the data according to the component we currently are */

              /*Only for Hire and Personal Data Components */
              /*   &BIRTHDATE = PERSON.BIRTHDATE;                                    ICE: 500543000
         */
              /*    &BIRTHSTATE = Upper(PERSON.BIRTHSTATE);                          ICE: 500543000
         */
              /*    &BIRTHCOUNTRY = PERSON.BIRTHCOUNTRY;                             ICE: 500543000
         */
              /*    &BIRTHPLACE = Upper(PERSON.BIRTHPLACE);                          ICE: 500543000
         */

              /* For services appropriate employee info is passed in. */
              If &ValidateServiceCall Then
                 &BIRTHDATE = &lclBIRTHDATE;
                 &BIRTHSTATE = &lclBIRTHSTATE;
                 &BIRTHCOUNTRY = &lclBIRTHCOUNTRY;
                 &SEX = &lclSEX;
              Else
                 GetEmployeeInfo(&BIRTHDATE, &BIRTHSTATE, &BIRTHCOUNTRY, &SEX); /* ICE: 500543000 */
              End-If;


            /* ICE: 500543000 Replaced populating of vars with GetNameITA Call. This functions takes
         care of where to find the data according to the component we currently are */

              /*    &ROW1 = CurrentRowNumber(1);                                     ICE: 500543000
         */
              /*    &ROWSET_0 = GetLevel0();                                         ICE: 500543000
         */

              /*    &ROWSET_1 = &ROWSET_0(1).GetRowset(Scroll.PERS_DATA_EFFDT);      ICE: 500543000
         */
            /*   &RECORD_1 = &ROWSET_1.GetRow(1).GetRecord(Record.PERS_DATA_EFFDT);      ICE:
         500543000 */
            /*   &SEX = &RECORD_1.GetField(Field.SEX).Value;                     ICE: 500543000
         */
     /*   &ROWSET_2 = &ROWSET_0(1).GetRowset(Scroll.NAME_TYPE_VW);           ICE: 500543000
*/
     /*   &ROWSET_21 = &ROWSET_2(1).GetRowset(Scroll.NAMES);                 ICE: 500543000
*/
     /*   &RECORD_21 = &ROWSET_21.GetRow(1).GetRecord(Record.NAMES);         ICE: 500543000
*/
     /*   &LAST_NAME = &RECORD_21.GetField(Field.LAST_NAME).Value;           ICE: 500543000
*/
     /*   &FIRST_NAME = &RECORD_21.GetField(Field.FIRST_NAME).Value;         ICE: 500543000
*/

     /* For services appropriate employee info is passed in. */
     If &ValidateServiceCall Then
        &LAST_NAME = &lclLAST_NAME;
        &FIRST_NAME = &lclFIRST_NAME;
        &BIRTHPLACE = &lclBIRTHPLACE;
     Else
        GetNameITA(&LAST_NAME, &FIRST_NAME, &BIRTHPLACE); /* ICE: 500543000 */
     End-If;

     &ALPHASTRING = "ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜabcdefghijklmnopqrstuvwxyzüöä";
     &NUMSTRING = "0123456789";
     &CONSONANTI = "BCDFGHJKLMNPQRSTVWXYZÄÖÜbcdfghjklmnpqrstvwxyzüöä";
     &VOCALI = "AEIOUaeiou";
     &EXTRASTRING = " -´.";
     &SET134 = "134";
     &PRIORLETTER = "";

     /* Check if all data required for the calculation has been entered and are valid */
     /* set &rc = 0 */
     &rc = 0;

     &CITY_TBL_ITA = CreateRecord(Record.CITY_TBL_ITA);
     &NAMES = CreateRecord(Record.NAMES);
     &PERSON = CreateRecord(Record.PERSON);
     &PERS_DATA_EFFDT = CreateRecord(Record.PERS_DATA_EFFDT);

     If None(&LAST_NAME) And
           (&rc = 0) Then
        /* &text1 = "Last Name";   ICE6226450*/
        &text1 = &NAMES.LAST_NAME.GetLongLabel(&NAMES.LAST_NAME.Name);
        If &gblNoWarningsAE Then
           /* Do not generate Warnings for AE program */
        Else
           /* begin ICE 1762704000 */
           If %PanelGroup = PanelGroup.HR_TBH_JOB Then
              throw CreateException(6545, 3, "Message not found", &text1);
           Else
              Warning MsgGet(6545, 3, "Message not found", &text1);
           End-If;
           /* end ICE 1762704000 */
        End-If;
        &rc = 1;
     End-If;
     If None(&FIRST_NAME) And
           (&rc = 0) Then
        /* &text1 = "First Name"; ICE6226450*/
        &text1 = &NAMES.FIRST_NAME.GetLongLabel(&NAMES.FIRST_NAME.Name);
        If &gblNoWarningsAE Then
           /* Do not generate Warnings for AE program */
        Else
           /* begin ICE 1762704000 */
           If %PanelGroup = PanelGroup.HR_TBH_JOB Then
              throw CreateException(6545, 3, "Message not found", &text1);
           Else
              Warning MsgGet(6545, 3, "Message not found", &text1);
           End-If;
           /* end ICE 1762704000 */
        End-If;
        &rc = 1;
     End-If;
  If (None(&SEX) Or
           &SEX = "U") And
        (&rc = 0) Then
     /*&text1 = "Sex"; ICE6226450*/
     &text1 = &PERS_DATA_EFFDT.SEX.GetShortLabel(&PERS_DATA_EFFDT.SEX.Name);
     If &gblNoWarningsAE Then
        /* Do not generate Warnings for AE program */
     Else
        /* begin ICE 1762704000 */
        If %PanelGroup = PanelGroup.HR_TBH_JOB Then
           throw CreateException(6545, 3, "Message not found", &text1);
        Else
           Warning MsgGet(6545, 3, "Message not found", &text1);
        End-If;
        /* end ICE 1762704000 */
     End-If;
     &rc = 1;
  End-If;

  If None(&BIRTHDATE) And
        (&rc = 0) Then
     &text1 = &PERSON.BIRTHDATE.GetLongLabel(&PERSON.BIRTHDATE.Name);
     If &gblNoWarningsAE Then
        /* Do not generate Warnings for AE program */
     Else
        /* begin ICE 1762704000 */
        If %PanelGroup = PanelGroup.HR_TBH_JOB Then
           throw CreateException(6545, 3, "Message not found", &text1);
        Else
           Warning MsgGet(6545, 3, "Message not found", &text1);
        End-If;
        /* end ICE 1762704000 */
     End-If;
     &rc = 1;
  End-If;

   If None(&BIRTHCOUNTRY) And
         (&rc = 0) Then
      /*&text1 = "BirthCountry";*/
      &text1 = &PERSON.BIRTHCOUNTRY.GetLongLabel(&PERSON.BIRTHCOUNTRY.Name);
      If &gblNoWarningsAE Then
         /* Do not generate Warnings for AE program */
      Else
         /* begin ICE 1762704000 */
         If %PanelGroup = PanelGroup.HR_TBH_JOB Then
            throw CreateException(6545, 3, "Message not found", &text1);
         Else
            Warning MsgGet(6545, 3, "Message not found", &text1);
         End-If;
         /* end ICE 1762704000 */
      End-If;
      &rc = 1;
   End-If;
   If All(&BIRTHCOUNTRY) And
         &BIRTHCOUNTRY <> "ITA" And
         (&rc = 0) Then
      SQLExec("Select CITY_CD_FC_ITA from PS_COUNTRY_TBL_ITA Where COUNTRY = :1",
&BIRTHCOUNTRY, &codcomune);
      If None(&codcomune) And
            (&rc = 0) Then
         If &gblNoWarningsAE Then
            /* Do not generate Warnings for AE program */
         Else
            /* begin ICE 1762704000 */
            If %PanelGroup = PanelGroup.HR_TBH_JOB Then
               throw CreateException(6545, 4, "Message not found");
            Else
               Warning MsgGet(6545, 4, "Message not found");
            End-If;
            /* end ICE 1762704000 */
         End-If;
         &rc = 1;
      End-If;
   End-If;

   If None(&BIRTHSTATE) And
         &BIRTHCOUNTRY = "ITA" And
         (&rc = 0) Then

      /* &text1 = "BirthState"; ICE6226450*/
      &STATE = "STATE";
      If %Language = %Language_Base Then
         SQLExec("SELECT EO_ADDR_FLD_LBL FROM PS_EO_ADDR_FMT_TBL WHERE COUNTRY = :1 AND
EO_ADDRESS_FIELD = :2", &BIRTHCOUNTRY, &STATE, &text1);
      Else
         SQLExec("SELECT EO_ADDR_FLD_LBL FROM PS_EO_ADDRFMT_LANG WHERE COUNTRY = :1 AND
EO_ADDRESS_FIELD = :2 AND LANGUAGE_CD = :3", &BIRTHCOUNTRY, &STATE, %Language, &text1);
      End-If;
      If &gblNoWarningsAE Then
         /* Do not generate Warnings for AE program */
      Else
         /* begin ICE 1762704000 */
         If %PanelGroup = PanelGroup.HR_TBH_JOB Then
            throw CreateException(6545, 3, "Message not found", &text1);
         Else
            Warning MsgGet(6545, 3, "Message not found", &text1);
         End-If;
         /* end ICE 1762704000 */
      End-If;
      &rc = 1;
   End-If;

   If None(&BIRTHPLACE) And
         &BIRTHCOUNTRY = "ITA" And
         (&rc = 0) Then
      /* &text1 = "BirthPlace"; ICE6226450*/
      &text1 = &PERSON.BIRTHPLACE.GetLongLabel(&PERSON.BIRTHPLACE.Name);
      If &gblNoWarningsAE Then
         /* Do not generate Warnings for AE program */
      Else
         /* begin ICE 1762704000 */
         If %PanelGroup = PanelGroup.HR_TBH_JOB Then
            throw CreateException(6545, 3, "Message not found", &text1);
         Else
            Warning MsgGet(6545, 3, "Message not found", &text1);
         End-If;
         /* end ICE 1762704000 */
      End-If;
      &rc = 1;
   End-If;
   If All(&BIRTHPLACE) And
         &BIRTHCOUNTRY = "ITA" And
         (&rc = 0) Then

      SQLExec("Select CITY_CD_FC_ITA from PS_CITY_TBL_ITA Where CITY_ITA = :1 AND STATE =
:2", &BIRTHPLACE, &BIRTHSTATE, &codcomune);
      If None(&codcomune) Then
         /*&text1 = "City/State"; ICE6226450*/
         &STATE = "STATE";
         If %Language = %Language_Base Then
            SQLExec("SELECT EO_ADDR_FLD_LBL FROM PS_EO_ADDR_FMT_TBL WHERE COUNTRY = :1 AND
EO_ADDRESS_FIELD = :2", &BIRTHCOUNTRY, &STATE, &text1);
         Else
            SQLExec("SELECT EO_ADDR_FLD_LBL FROM PS_EO_ADDRFMT_LANG WHERE COUNTRY = :1 AND
EO_ADDRESS_FIELD = :2 AND LANGUAGE_CD = :3", &BIRTHCOUNTRY, &STATE, %Language, &text1);
         End-If;

         /*&text1 = &CITY_TBL_ITA.CITY_ITA.GetLongLabel(&CITY_TBL_ITA.CITY_ITA.Name);*/
         &text1 = &PERSON.BIRTHPLACE.GetLongLabel(&PERSON.BIRTHPLACE.Name) | "/" | &text1;
         If &gblNoWarningsAE Then
            /* Do not generate Warnings for AE program */
      Else
         /* begin ICE 1762704000 */
         If %PanelGroup = PanelGroup.HR_TBH_JOB Then
            throw CreateException(6545, 3, "Message not found", &text1);
         Else
            Warning MsgGet(6545, 3, "Message not found", &text1);
         End-If;
         /* end ICE 1762704000 */
      End-If;
      &rc = 1;
   End-If;
End-If;

/*if all data present go through the calculation process */
If &rc = 0 Then

  /*- Last Name -*/

  &COUNTNBR = 0;
  &NAMELEN = Len(&LAST_NAME);

  For &I = 1 To &NAMELEN
     &CURRENTLETTER = Substring(&LAST_NAME, &I, 1);
     /*consonante*/
     If (Find(&CURRENTLETTER, &CONSONANTI) > 0) And
           (&count1 < 3) Then
        &codicefiscale = &codicefiscale | &CURRENTLETTER;
        &count1 = &count1 + 1;
     End-If;
  End-For;
  For &I = 1 To &NAMELEN
     &CURRENTLETTER = Substring(&LAST_NAME, &I, 1);
     /*vocale*/
     If Find(&CURRENTLETTER, &VOCALI) > 0 And
           (&count1 < 3) Then
        &codicefiscale = &codicefiscale | &CURRENTLETTER;
        &count1 = &count1 + 1;
     End-If;
  End-For;
  If &count1 = 1 Then
     &codicefiscale = &codicefiscale | "XX";
  Else
     If &count1 = 2 Then
        &codicefiscale = &codicefiscale | "X";
     End-If;
  End-If;

  /*- First Name -*/

  &count1 = 0;
  &count2 = 0;
  &NAMELEN = Len(&FIRST_NAME);

  For &I = 1 To &NAMELEN
     &CURRENTLETTER = Substring(&FIRST_NAME, &I, 1);
     /*consonante*/
     If Find(&CURRENTLETTER, &CONSONANTI) > 0 And
           (&count1 < 4) Then
        &count1 = &count1 + 1;
        If Find(&count1, &SET134) > 0 Then
           &codicefiscale = &codicefiscale | &CURRENTLETTER;
           &count2 = &count2 + 1;
        Else
           &SecondaCons = &CURRENTLETTER;
        End-If;
     End-If;
  End-For;

  /*se il nome ha tre consonanti*/
  If &count1 = 3 Then
     &codicefiscale = Substring(&codicefiscale, 1, 4) | &SecondaCons |
Substring(&codicefiscale, 5, 1);
         &count2 = 3;
      End-If;
      /*se il nome ha due consonanti*/
      If &count1 = 2 Then
         &codicefiscale = Substring(&codicefiscale, 1, 4) | &SecondaCons;
         &count2 = 2;
      End-If;

     For &I = 1 To &NAMELEN
        &CURRENTLETTER = Substring(&FIRST_NAME, &I, 1);
        /*vocale*/
        If Find(&CURRENTLETTER, &VOCALI) > 0 And
              (&count2 < 3) Then
           &codicefiscale = &codicefiscale | &CURRENTLETTER;
           &count2 = &count2 + 1;
        End-If;
     End-For;
     If &count2 = 1 Then
        &codicefiscale = &codicefiscale | "XX";
     Else
        If &count2 = 2 Then
           &codicefiscale = &codicefiscale | "X";
        End-If;
     End-If;

     /*-------------------anno di nascita---------------------------------*/
     &year4 = Year(&BIRTHDATE);
     &birthyear = Substring(&year4, 3, 2);
     &birthday = Day(&BIRTHDATE);
     &BirthMonth = Month(&BIRTHDATE);

     /*          Mese di nascita Carattere di codifica
            Gennaio A
            Febbraio B
            Marzo C
            Aprile D
            Maggio E
            Giugno H
            Luglio L
            Agosto M
            Settembre P
            Ottobre R
            Novembre S
            Dicembre T */

     Evaluate &BirthMonth
     When = 1
        &convertmonth = "A";
     When = 2
        &convertmonth = "B";
     When = 3
        &convertmonth = "C";
     When = 4
        &convertmonth = "D";
     When = 5
        &convertmonth = "E";
     When = 6
        &convertmonth = "H";
     When = 7
        &convertmonth = "L";
     When = 8
        &convertmonth = "M";
     When = 9
        &convertmonth = "P";
     When = 10
        &convertmonth = "R";
     When = 11
        &convertmonth = "S";
     When = 12
        &convertmonth = "T";
     End-Evaluate;

     /*------------------day and sex-----------------------------------*/

     If &SEX = "F" Then
        &convsex = 1;
     Else
        &convsex = 0;
     End-If;

     &ds = &birthday + (40 * &convsex);

     If (&ds < 10) Then
        &strdaysex = "0" | &ds;
     Else
        &strdaysex = &ds;
     End-If;
     &Bu = &BIRTHPLACE;
     &BIRTHPLACE = Upper(&BIRTHPLACE);

     /*-----------------------concat --------------------------------------*/

      &codicefiscale = &codicefiscale | &birthyear | &convertmonth | &strdaysex |
&codcomune;
      &codicefiscale = Upper(&codicefiscale);

  End-If;

  Check_chrcntrl(&codicefiscale, &chrcntrl);

  &codicefiscale = &codicefiscale | &chrcntrl;

  Check_chrcntrl(&NATIONAL_ID, &chrcntrl2);

  /* logic to check and suggest */

   If All(&NATIONAL_ID) And
         (&chrcntrl2 <> &chrcntrl) And
         (&rc = 0) Then
      If &gblNoWarningsAE Then
         /* Do not generate Warnings for AE program */
      Else
         /* begin ICE 1762704000 */
         If %PanelGroup = PanelGroup.HR_TBH_JOB Then
            throw CreateException(6545, 5, "Message not Found", &chrcntrl,
&codicefiscale);
            throw CreateException(6545, 5, "Message not Found", &NATIONAL_ID,
&codicefiscale);
         Else
            Warning MsgGet(6545, 5, "Message not Found", &chrcntrl, &codicefiscale);
            Warning MsgGet(6545, 5, "Message not Found", &NATIONAL_ID, &codicefiscale);
         End-If;
         /* end ICE 1762704000 */
      End-If;
   End-If;

  If None(&NATIONAL_ID) And
        (&rc = 0) Then
     If &gblNoWarningsAE Then
        /* Do not generate Warnings for AE program */
     Else
        /* begin ICE 1762704000 */
        If %PanelGroup = PanelGroup.HR_TBH_JOB Then
           throw CreateException(6545, 6, "Message not Found", &codicefiscale);
        Else
           Warning MsgGet(6545, 6, "Message not Found", &codicefiscale);
        End-If;
        /* end ICE 1762704000 */
     End-If;
     &NATIONAL_ID = &codicefiscale;
            End-If;

         End-Function;

         [ . . . Unchanged Code not Shown . . . ]




PeopleCode (Record): GPMY_SOC_PYE.GPMY_MMBRSHIP_NBR.SaveEdit
         /* Code has been modified according to the instructions in the incident 656713000, which
         was posted by the Client, that is Membership num in Malaysia will be assigned after 2 months
         of employment, upto that they need some reference numbers,for that they are using employee
         ID's, according to that code modified, now the client can give the employee ID upto two months
         then the Original numbers in the fixed format,this code still validate the length of the
         field value*/

         Declare Function Format_Membership_Nbr PeopleCode DERIVED_GPMY.GPMY_MMBRSHIP_NBR
         FieldFormula;
         Local date &E_DT;

         If %Page = Page.GPMY_SOC_PYE Then
            &Format_old = "A9999999A";
            &Format_new = "999999-99-9999";
            &E_DT = Date(GPMY_SOC_PYE.EFFDT);
            If GPMY_SOC_PYE.GPMY_MMBRSHIP_NBR <> "" Then
               If &E_DT < Date(20030101) Then
               If Len(GPMY_SOC_PYE.GPMY_MMBRSHIP_NBR) = Len(&Format_old) Then
                  Format_Membership_Nbr(GPMY_SOC_PYE.GPMY_MMBRSHIP_NBR, &Format_old, &err);
                  &Format = &Format_old
                  &Format = &Format_old;
               Else
                  If Len(GPMY_SOC_PYE.GPMY_MMBRSHIP_NBR) = Len(&Format_new) Then
                     Format_Membership_Nbr(GPMY_SOC_PYE.GPMY_MMBRSHIP_NBR, &Format_new, &err);
                  &Format = &Format_new
                     &Format = &Format_new;
                  Else
                     &err = 1;
                  End-If
               End-If;
               If ((Len(GPMY_SOC_PYE.GPMY_MMBRSHIP_NBR) = 9 And
                           &err = 1 And
                           (&Format = &Format_old)) Or
                        (Len(GPMY_SOC_PYE.GPMY_MMBRSHIP_NBR) = 14 And
                           &err = 1 And
                           (&Format = &Format_new))) Then
                  Error MsgGet(17220, 168, "Message Not Found", &Format);
               End-If;
               If &err = 1 Then
                  &result = WinMessage(MsgGet(17220, 215, "Message Not Found", &Format),
         %MsgStyle_OKCancel);
                  If &result <> %MsgResult_OK Then
                     Error MsgGet(17220, 168, "Message Not Found", &Format);
                  End-If;
               End-If;
            End-If;
         End-If;




PeopleCode (Record): HRS_ADD_WRK.NID_SPECIAL_CHAR.FieldChange
         Declare Function Format_NID PeopleCode FUNCLIB_HR.NID_SPECIAL_CHAR FieldFormula;

         /** format the display of National ID **/
         HRS_ADD_WRK.NID_SPECIAL_CHAR = Format_NID(HRS_APP_NID.COUNTRY,
         HRS_APP_NID.NATIONAL_ID_TYPE, HRS_ADD_WRK.NID_SPECIAL_CHAR, "OUTDB");
         HRS_ADD_WRK.NID_SPECIAL_CHAR = Format_NID(HRS_APP_NID.COUNTRY,
         HRS_APP_NID.NATIONAL_ID_TYPE, HRS_ADD_WRK.NID_SPECIAL_CHAR, "INTODB");
         HRS_APP_NID.NATIONAL_ID.Value = HRS_ADD_WRK.NID_SPECIAL_CHAR.Value;




PeopleCode (Record): HRS_EDU_SBR.GRADUATE_INDICATOR.SaveEdit
         Local string &strAccompDescr; /* 860658 */


         If GetRecord().Name = "HRS_APP_DEG_VW" Then
            If All(GetRecord().DT_ISSUED.Value) And
                  All(GetRecord().ACCOMPLISHMENT.Value) Then
               /* 860658 Begin */
               If %Component = "HRS_APP_PROFILE" Then
                  &strAccompDescr = HRS_PROF_DEG_VW.DESCR.Value;
               Else
                  If %Component = "HRS_CE" Then
                     &strAccompDescr =
         GetRecord().GetField(Field.ACCOMPLISHMENT).GetRelated(DEGREE_VW.DESCR).Value;
                  End-If;
               End-If;
               /* 860658 End */

               If HRS_EDU_SBR.GRADUATE_INDICATOR = "Y" Then
                  If HRS_APP_DEG_VW.DT_ISSUED.Value > %Date Then
                     Error MsgGet(1000, 49, "Graduate indicator should be turned off if the degree
         will be completed in the future.");
                     rem Error MsgGet(1000, 49, "Graduate indicator should be turned off if the degree
         will be completed in the future."); /* 860658 Comment */
                     Error MsgGet(1000, 49, "Graduate indicator should be turned off if the degree
         will be completed in the future.", &strAccompDescr); /* 860658 */
                  End-If;
               Else
                  If HRS_APP_DEG_VW.DT_ISSUED.Value < %Date Then
                     Error MsgGet(1000, 50, "Graduate indicator should be set to 'ON' when a degree
         has been completed.");
                     rem Error MsgGet(1000, 50, "Graduate indicator should be set to 'ON' when a
         degree has been completed."); /* 860658 Comment */
                     Error MsgGet(1000, 50, "Graduate indicator should be set to 'ON' when a degree
         has been completed.", &strAccompDescr); /* 860658 */

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




PeopleCode (Record): HRS_EXT_TRN_WRK.SUBMIT_PB.FieldChange
         import HR_SEARCH_MATCH_INTERFACE:*;
         import SCC_EXTERNAL_SM:AutoSearchMatchManager;
         import HRS_HIRE:BUS:AddExternalTrainee;

         Global Record &rec_hrsTransfer;
         Global string &EMPLID_CARRY;
         Global string &EMPLID_CARRY_ADD;
         Component boolean &showContinueButton;
         Component string &poiEmplid;

         Local   HR_SEARCH_MATCH_INTERFACE:HRSearchMatch &mySearchMatch;
         Local   SCC_EXTERNAL_SM:AutoSearchMatchManager &mySearchMatch;
         Local   date &myAsOfDate;
         Local   boolean &addPerson;
         Local   boolean &bol_lNewEmplId;
         Local   Record &rec_lPOIType;

         /* Invoke the Search/Match service if we're adding */
         /* Set the "AsOfDate" */
&myAsOfDate = %Date;

&EMPLID_CARRY = "";
&EMPLID_CARRY_ADD = "";

Local string &str_lSearchMatch;

SQLExec("SELECT A.HRS_ET_SM_RUN FROM PS_HRS_INST A", &str_lSearchMatch);

If &str_lSearchMatch = "Y" Then

   /* Invoke SearchMatch Service */
   &mySearchMatch = create HR_SEARCH_MATCH_INTERFACE:HRSearchMatch();
   &mySearchMatch = create SCC_EXTERNAL_SM:AutoSearchMatchManager();
   &mySearchMatch.SetData(GetLevel0());

   &mySearchMatch.PerformSearch(&myAsOfDate);
   If &mySearchMatch.DuplicatesExist Then
      /* Service returns at least one prospective match */
      /* Display the matches via the Search/Match UI.      */
      &mySearchMatch.DisplayResultsUI();
      /* Selecting "CANCEL" from a warning causes Save processing to Abort */
      /*Warning "Do you want to continue adding this person?" | Char(10) | Char(12) | "Click
OK to continue adding this person, or CANCEL to quit without saving.";*/

      If All(&EMPLID_CARRY) Then

         HRS_EXT_TRN_WRK.HRS_EXT_TRN_MSG.Value = MsgGetText(18178, 450, "",
&EMPLID_CARRY);

         HRS_EXT_TRN_WRK.SUBMIT_PB.Visible = False;
         HRS_EXT_TRN_WRK.CANCEL_PB.Visible = False;

         HRS_EXT_TRN_WRK.HRS_CONTINUE_PB.Visible = True;
         HRS_EXT_TRN_WRK.HRS_CANCEL_BTN.Visible = True;

         HRS_EXT_TRN_WRK.HRS_EXT_TRN_MSG.Visible = True;
         HRS_EXT_TRN_WRK.HRS_POI_TYPE.Visible = False;

         &showContinueButton = True;

         &poiEmplid = &EMPLID_CARRY;

         &EMPLID_CARRY = "";
         &EMPLID_CARRY_ADD = "";

         TransferPage(Page.HRS_ADD_EXT_TRN);

      Else
         /*Begin Rsln : 849265*/
         HRS_EXT_TRN_WRK.HRS_EXT_TRN_MSG.Value = MsgGetExplainText(18178, 475, "");
         HRS_EXT_TRN_WRK.SUBMIT_PB.Visible = False;
         HRS_EXT_TRN_WRK.CANCEL_PB.Visible = False;

         HRS_EXT_TRN_WRK.HRS_CONTINUE_PB.Visible = True;
         HRS_EXT_TRN_WRK.HRS_CANCEL_BTN.Visible = True;

         HRS_EXT_TRN_WRK.HRS_EXT_TRN_MSG.Visible = True;
         HRS_EXT_TRN_WRK.HRS_POI_TYPE.Visible = False;
         &showContinueButton = True;
         TransferPage(Page.HRS_ADD_EXT_TRN);
         rem &addPerson = True;
         /*End Rsln : 849265*/
      End-If;
   Else

      &addPerson = True;
   End-If;

Else
   &addPerson = True;
         End-If;

         If &addPerson Then

            Local HRS_HIRE:BUS:AddExternalTrainee &trainee = create
         HRS_HIRE:BUS:AddExternalTrainee();
            Local string &tempEmplId = &EMPLID_CARRY;

            If (None(&tempEmplId)) Then
               &bol_lNewEmplId = True;
            Else
               &bol_lNewEmplId = False;
            End-If;
            &tempEmplId = &trainee.addPOI(&rec_hrsTransfer.HRS_PERSON_ID.Value,
         HRS_EXT_TRN_WRK.HRS_POI_TYPE.Value, &tempEmplId);

           &EMPLID_CARRY = "";
           &EMPLID_CARRY_ADD = "";

           &rec_lPOIType = CreateRecord(Record.HRS_POI_TYPE_I);
           &rec_lPOIType.POI_TYPE.Value = HRS_EXT_TRN_WRK.HRS_POI_TYPE.Value;
           &rec_lPOIType.SelectByKey();

            If (&bol_lNewEmplId) Then
               &rec_hrsTransfer.HRS_SAVE_CONFM.Value = MsgGetText(18178, 300, "",
         &rec_lPOIType.DESCR.Value, &tempEmplId);
            Else
               &rec_hrsTransfer.HRS_SAVE_CONFM.Value = MsgGetText(18178, 301, "",
         &rec_lPOIType.DESCR.Value, &tempEmplId);
            End-If;

            Transfer( False, @("MenuName." | &rec_hrsTransfer.HRS_PREV_MENU_NM.Value),
         @("BarName." | &rec_hrsTransfer.HRS_PREV_BAR_NM.Value), @("ItemName." |
         &rec_hrsTransfer.HRS_PREV_COMP_NM.Value), @("Page." |
         &rec_hrsTransfer.HRS_PREV_PAGE_NM.Value), &rec_hrsTransfer.HRS_PREV_ACTION_NM.Value,
         &rec_hrsTransfer);

         End-If;




PeopleCode (Record): HRS_HRE_INT_WRK.VALIDATE.FieldChange
         import HR_SEARCH_MATCH_INTERFACE:*;
         import SCC_EXTERNAL_SM:AutoSearchMatchManager;

         Local   HR_SEARCH_MATCH_INTERFACE:HRSearchMatch &mySearchMatch;
         Local   SCC_EXTERNAL_SM:AutoSearchMatchManager &mySearchMatch;
         Local   string &ciName;
         Local   number &UserResponse;
         Local   date &myAsOfDate;

         Global string &EMPLID_CARRY;
         Global string &EMPLID_CARRY_ADD;

         &EMPLID_CARRY = "";
         &EMPLID_CARRY_ADD = "";


         /* Invoke the Search/Match service if we're adding */
         /* Set the "AsOfDate" */
         &myAsOfDate = %Date;

         /* Invoke SearchMatch Service */
         &mySearchMatch = create HR_SEARCH_MATCH_INTERFACE:HRSearchMatch();
         &mySearchMatch = create SCC_EXTERNAL_SM:AutoSearchMatchManager();
         &mySearchMatch.SetData(GetLevel0());

         &mySearchMatch.PerformSearch(&myAsOfDate);
         If &mySearchMatch.DuplicatesExist Then
   /* Service returns at least one prospective match */
   /* Display the matches via the Search/Match UI.    */
   &mySearchMatch.DisplayResultsUI();
   /* Selecting "CANCEL" from a warning causes Save processing to Abort */
   /*Warning "Do you want to continue adding this person?" | Char(10) | Char(12) | "Click
OK to continue adding this person, or CANCEL to quit without saving.";*/
Else
   Warning (MsgGetText(18175, 1017, ""));
End-If;

If &EMPLID_CARRY <> "" Then
   HRS_HRE_INT_WRK.PREV_EMPLID = &EMPLID_CARRY;
   &EMPLID_CARRY = "";
   &EMPLID_CARRY_ADD = "";
   /*code changes 811509 */

   SQLExec("SELECT 'Y' FROM PS_PERSON A WHERE A.EMPLID= :1 and ((A.EMPLID NOT IN (SELECT
B.EMPLID FROM PS_PER_ORG_ASGN B where B.PER_ORG <>'POI')) OR (A.EMPLID IN (SELECT C.EMPLID
FROM PS_PER_POI_TYPE C) )OR(A.EMPLID NOT IN (SELECT C.EMPLID FROM PS_PER_ORG_ASGN C where
C.PER_ORG <>'CWR')))", HRS_HRE_INT_WRK.PREV_EMPLID, &exist);
   Local Field &hireTypeField;
   If &exist = "Y" Then
      &hireTypeField = GetRecord(Record.HRS_HRE_INT_WRK).GetField(Field.HIRE_TYPE);
      &hireTypeField.ClearDropDownList();
      &Xlat = CreateRowset(Record.PSXLATITEM);
      &Xlat.Fill("WHERE FILL.FIELDNAME = 'HIRE_TYPE' AND Fill.EFF_STATUS='A' AND
Fill.FIELDVALUE in ('H','W') AND EFFDT <= %CurrentDateIn AND
%EffDtCheck(PSXLATITEM,FILL,EFFDT)");

      &Xlat_cnt = &Xlat.ActiveRowCount;
      For &I = 1 To &Xlat_cnt
         &CodeIn = &Xlat.GetRow(&I).GetRecord(1).FIELDVALUE.Value;
         &DescIn = &Xlat.GetRow(&I).GetRecord(1).XLATLONGNAME.Value;

         &hireTypeField.AddDropDownItem(&CodeIn, &DescIn);
      End-For;
      HRS_HRE_INT_WRK.APPLICANT_TYPE.Value = "N";


   Else

      /* 646096 */
      If HRS_HRE_INT_WRK.APPLICANT_TYPE.Value = "E" Then
         /* an emplid for this 'external' applicant has been identified - set conditions
for Rehire */

          &hireTypeField = GetRecord(Record.HRS_HRE_INT_WRK).GetField(Field.HIRE_TYPE);


         &hireTypeField.ClearDropDownList();
         &Xlat = CreateRowset(Record.PSXLATITEM);
         /*767621*/
         /*&Xlat.Fill("WHERE FILL.FIELDNAME = 'HIRE_TYPE' AND Fill.FIELDVALUE in ('H','W')
AND EFFDT = (SELECT MAX(A.EFFDT) FROM PSXLATITEM A WHERE A.FIELDNAME=FILL.FIELDNAME AND
A.FIELDVALUE = FILL.FIELDVALUE AND A.EFFDT <= %CurrentDateIn) AND FILL.EFF_STATUS = 'A'
");*/
         &Xlat.Fill("WHERE FILL.FIELDNAME = 'HIRE_TYPE' AND Fill.FIELDVALUE in ('R','W')
AND EFFDT = (SELECT MAX(A.EFFDT) FROM PSXLATITEM A WHERE A.FIELDNAME=FILL.FIELDNAME AND
A.FIELDVALUE = FILL.FIELDVALUE AND A.EFFDT <= %CurrentDateIn) AND FILL.EFF_STATUS = 'A' ");
         /*767621*/
         &Xlat_cnt = &Xlat.ActiveRowCount;
         For &I = 1 To &Xlat_cnt
            &CodeIn = &Xlat.GetRow(&I).GetRecord(1).FIELDVALUE.Value;
            &DescIn = &Xlat.GetRow(&I).GetRecord(1).XLATLONGNAME.Value;

            &hireTypeField.AddDropDownItem(&CodeIn, &DescIn);
         End-For;
         HRS_HRE_INT_WRK.APPLICANT_TYPE.Value = "F"
      End-If;
      /* 646096 */
   End-If;
         End-If;

         HRS_HRE_INT_WRK.VALIDATED_MTCH.Value = "Y";

         HRS_HRE_INT_WRK.HRS_EMPLID_VERIFY.Value = MsgGetText(18175, 1015, "");




PeopleCode (Record): HR_SSEECMPH_WRK.SRCH_BTN.FieldChange
         [ . . . Unchanged Code not Shown . . . ]




PeopleCode (Record): JOB_DATES_SBR.EXPECTED_END_DATE.FieldEdit
         Local Rowset &RS0, &RS1, &ROWSET_2, &ROWSET_3, &ROWSET_01;
         Local Record &REC2;

         &CURRENT_ROW = CurrentRowNumber();

         /* For Temporary Assignment job row */
         &Duties_Type = FetchValue(Scroll.JOB, CurrentRowNumber(1), Record.JOB_JR, 1,
         JOB_JR.DUTIES_TYPE);
         &AssgID = FetchValue(Scroll.JOB, CurrentRowNumber(1), Record.JOB_JR, 1,
         JOB_JR.ASSIGNMENT_ID);

         If All(&Duties_Type) Then
            SQLExec("select A.ASSIGNMENT_ID, B.EMPL_RCD, B.EMPL_STATUS from PS_JOB_JR A, PS_JOB B
         where A.EMPLID = :1 and A.ASSIGNMENT_ID = :2 and B.EMPLID = A.EMPLID and B.EMPL_RCD =
         A.EMPL_RCD and B.EFFDT = A.EFFDT and B.EFFSEQ = A.EFFSEQ and B.EMPL_STATUS = 'T'",
         JOB.EMPLID, &AssgID, &ASSIGN_ID, &EMPL_RCD, &STATUS);
            If All(&STATUS) Then
               Error (MsgGet(1000, 877, "Suspended Substantive Job (Empl Rcd %1) has been terminated.
         You have to manually delete it first.", &EMPL_RCD));
            End-If;
         Else
            /* For normal job with end date */
            For &I = &CURRENT_ROW To ActiveRowCount(JOB.EMPL_RCD);
            /*Bug Id: 11649407 - Start*/
            /*For &I = &CURRENT_ROW To ActiveRowCount(JOB.EMPL_RCD);
               &ACTION = FetchValue(JOB.ACTION, &I);
               &SRC_CD = FetchValue(JOB.JOB_DATA_SRC_CD, &I);
               If &ACTION = "TER" And
                     &SRC_CD = "002" Then
                  &TERM_ROW = "Y";
               End-If;
            End-For;
            If &TERM_ROW = "Y" Then
            If &TERM_ROW = "Y" Then*/
            If JOB.ACTION = "TER" And
                  JOB.JOB_DATA_SRC_CD = "002" Then
               /*Bug Id: 11649407 - Start*/
               Error (MsgGet(1000, 876, "Update process for this Planned Exit Date has been run. You
         cannot change this date."));
            End-If;
         End-If;

         /* Job End Date must be less than effective date of the next job row after it, if there is
         one */
         /**********************BVL*****************/
         /**********Begin Resolution - 763558**********/
         /**********Begin Resolution - 628519**********/
         /*If ActiveRowCount(JOB.EMPL_RCD) > 1 Then
            For &I = &CURRENT_ROW To ActiveRowCount(JOB.EMPL_RCD);
               &Effdt = FetchValue(JOB.EFFDT, &I);
               &ExpectedEndDate = FetchValue(JOB.EXPECTED_END_DATE, &I);
               If &ExpectedEndDate < &Effdt And
                     String(&ExpectedEndDate) <> "" Then
                  Error (MsgGet(1000, 941, "Planned Exit Date must be before Effective Date of next
         job row, %1.", &Effdt));
               End-If;
            End-For;
         End-If;*/

         /*If ActiveRowCount(JOB.EMPL_RCD) > 1 Then
            For &I = &CURRENT_ROW To ActiveRowCount(JOB.EMPL_RCD);
               If &I + 1 <= ActiveRowCount(JOB.EMPL_RCD) Then
                  &Effdt = FetchValue(JOB.EFFDT, &I + 1);
                  &ExpectedEndDate = FetchValue(JOB.EXPECTED_END_DATE, &I);
                  If &ExpectedEndDate < &Effdt And
                        String(&ExpectedEndDate) <> "" Then
                     Error (MsgGet(1000, 941, "Planned Exit Date must be before Effective Date of
         next job row, %1.", &Effdt));
                  End-If;
               End-If;
            End-For;
         End-If;*/
         /**********End Resolution - 628519**********/
         /**********End Resolution - 763558**********/

         /**********Begin Resolution - 780872**********/
         If ActiveRowCount(JOB.EMPL_RCD) > 1 Then
            For &I = &CURRENT_ROW To 1 Step - 1
               If &I > 1 Then

                  &Effdt = FetchValue(JOB.EFFDT, &I - 1);
                  &ACTION = FetchValue(JOB.ACTION, &I - 1);
                  &ExpectedEndDate = FetchValue(JOB.EXPECTED_END_DATE, &I);

                  SQLExec("SELECT 'X' FROM PS_ACTION_STAT_TBL WHERE ACTION = :1 AND SET_EXP_END_DT
         = '1'", &ACTION, &ActionFound);

                  If &ExpectedEndDate < &Effdt And
                        String(&ExpectedEndDate) <> "" And
                        &ActionFound <> "X" Then
                     SetCursorPos(Page.JOB_DATA1, JOB.EXPECTED_END_DATE, &I);
                     Error (MsgGet(1000, 941, "Planned Exit Date must be after the Effective Date
         of next job row, %1.", &Effdt));
                  End-If;

               End-If;
            End-For;
         End-If;
         /**********End Resolution - 780872**********/




PeopleCode (Record): JOB_LBR_GBL_SBR.BARG_UNIT.FieldChange
         Declare Function determine_opr_defaults PeopleCode OPR_DEF_TBL_HR.INDUSTRY FieldChange;
         Declare Function JobJobcodeFch_lbr PeopleCode FUNCLIB_HR_JOB.JOBCODE FieldFormula;
         Declare Function det_lbr_sal_admin_plan PeopleCode FUNCLIB_HR.SAL_ADMIN_PLAN
         FieldFormula;
         Declare Function GetSeniorityDates PeopleCode FUNCLIB_HR_LBR.LABOR_AGREEMENT
         FieldFormula;
         Global string &INDUSTRY;
         Global string &INDUSTRY_SECTOR;


         If None(&INDUSTRY, &INDUSTRY_SECTOR) Then
            determine_opr_defaults();
         End-If;

         If (&INDUSTRY = "GOVT" And
                  &INDUSTRY_SECTOR = "USFG") Then
            If All(JOB_LBR_GBL_SBR.BARG_UNIT) Then
               UnGray(JOB_LBR_GBL_SBR.UNION_CD);
               UnGray(JOB_LBR_GBL_SBR.UNION_SENIORITY_DT);
            Else
               SetDefault(JOB_LBR_GBL_SBR.UNION_CD);
               SetDefault(JOB_LBR_GBL_SBR.UNION_SENIORITY_DT);
               Gray(JOB_LBR_GBL_SBR.UNION_CD);
               Gray(JOB_LBR_GBL_SBR.UNION_SENIORITY_DT);
            End-If;
         End-If;

         If All(JOB_LBR_GBL_SBR.BARG_UNIT) And
               (&INDUSTRY <> "GOVT" And
                  &INDUSTRY_SECTOR <> "USFG") Then

            &SETID_JOBCODE = GetSetId("BUSINESS_UNIT", JOB.BUSINESS_UNIT, "JOBCODE_TBL", "");
            &SETID_LBR_AGRMNT = GetSetId("REG_REGION", JOB.REG_REGION, "HR_LABOR_AGRMNT", "");

            SQLExec("SELECT A.LABOR_AGREEMENT FROM PS_HR_LABOR_AGRMNT A WHERE A.SETID = :1 AND
         A.EFFDT =(SELECT MAX(B.EFFDT) FROM PS_HR_LABOR_AGRMNT B WHERE B.SETID = A.SETID AND
         B.LABOR_AGREEMENT = A.LABOR_AGREEMENT AND B.EFFDT <= %DATEIN(:2)) and A.BARG_UNIT = :3",
         &SETID_LBR_AGRMNT, JOB.EFFDT, JOB_LBR_GBL_SBR.BARG_UNIT, &LBR_AGRMNT);

            If All(&LBR_AGRMNT) Then
               JOB_LBR_GBL_SBR.LABOR_AGREEMENT = &LBR_AGRMNT;
               /*Bug Id: 11701655 - Start*/
               SetDefault(JOB.EMPL_CTG);
               SetDefault(JOB.EMPL_CTG_L1);
               SetDefault(JOB.EMPL_CTG_L2);
               /*Bug Id: 11701655 - End*/
               JOB_LBR_GBL_SBR.ENTRY_DATE = JOB.EFFDT;
               GetSeniorityDates(CurrentRowNumber(1));

                If All(JOB.JOBCODE) Then
                   JobJobcodeFch_lbr(&LBR_VLD_JOBCD);
                   If &LBR_VLD_JOBCD = 1 Then
                      &SETID_SALARY = GetSetId("BUSINESS_UNIT", JOB.BUSINESS_UNIT, "SAL_PLAN_TBL",
         "");
                     SQLExec("SELECT COUNT(DISTINCT A.SAL_ADMIN_PLAN) FROM PS_HR_LBR_JOBCD_VW A
         WHERE A.SETID = :1 AND A.LABOR_AGREEMENT = :2 AND A.SETID_JOBCODE = :3 AND A.JOBCODE = :4
         AND SETID_SALARY = :5", &SETID_LBR_AGRMNT, JOB.LABOR_AGREEMENT, &SETID_JOBCODE,
         JOB.JOBCODE, &SETID_SALARY, &LBR_SALPLN_COUNT);

                      If &LBR_SALPLN_COUNT <> 0 And
                            JOB_LBR_GBL_SBR.WPP_STOP_FLAG = "N" Then
                         det_lbr_sal_admin_plan();
                      End-If;;
                   End-If;
                End-If;

            Else;

                SetDefault(JOB_LBR_GBL_SBR.LABOR_AGREEMENT);
                /*Bug Id: 11701655 - Start*/
                SetDefault(JOB.EMPL_CTG);
                SetDefault(JOB.EMPL_CTG_L1);
                SetDefault(JOB.EMPL_CTG_L2);
                /*Bug Id: 11701655 - End*/
                SetDefault(JOB_LBR_GBL_SBR.ENTRY_DATE);

            End-If;
         End-If;




PeopleCode (Record): JOB_LBR_GBL_SBR.EMPL_CTG.FieldChange
         Declare Function JobJobcodeFch_lbr PeopleCode FUNCLIB_HR_JOB.JOBCODE FieldFormula;
         Declare Function det_lbr_sal_admin_plan PeopleCode FUNCLIB_HR.SAL_ADMIN_PLAN
         FieldFormula;

         /* FPS French Public Sector */
         If INSTALLATION.FP_FLAG = "Y" And
      (Substring(%Component, 1, 2) = "FP" Or
         Substring(%Component, 1, 4) = "HIRE") Then
   JOB_LBR_GBL_SBR.ENTRY_DATE = FPAEEOTHER_TBL.EFFDT;
Else
   JOB_LBR_GBL_SBR.ENTRY_DATE = JOB.EFFDT;
End-If;

/*Bug Id: 11701655 - Start*/
SetDefault(JOB.EMPL_CTG_L1);
SetDefault(JOB.EMPL_CTG_L2);
/*Bug Id: 11701655 - End*/

If INSTALLATION.FP_FLAG <> "Y" Or
      (Substring(%Component, 1, 2) = "FP" And
         Substring(%Component, 1, 4) = "HIRE") Then
   SetDefault(JOB.VALUE_1_FRA);
   SetDefault(JOB.VALUE_2_FRA);
   SetDefault(JOB.VALUE_3_FRA);
   SetDefault(JOB.VALUE_4_FRA);
   SetDefault(JOB.VALUE_5_FRA);
End-If;
Evaluate EMPL_CTG_L1.NBR_COLUMNS_FRA
When = 1
   UnHide(EMPL_CTG_L1.DESCR1_FRA);
   Hide(EMPL_CTG_L1.DESCR2_FRA);
   Hide(EMPL_CTG_L1.DESCR3_FRA);
   Hide(EMPL_CTG_L1.DESCR4_FRA);
   Hide(EMPL_CTG_L1.DESCR5_FRA);
   If INSTALLATION.FP_FLAG <> "Y" Or
         (Substring(%Component, 1, 2) = "FP" And
            Substring(%Component, 1, 4) = "HIRE") Then
      UnHide(JOB.VALUE_1_FRA);
      Hide(JOB.VALUE_2_FRA);
      Hide(JOB.VALUE_3_FRA);
      Hide(JOB.VALUE_4_FRA);
      Hide(JOB.VALUE_5_FRA);
   End-If;
   Break;
When = 2
   UnHide(EMPL_CTG_L1.DESCR1_FRA);
   UnHide(EMPL_CTG_L1.DESCR2_FRA);
   Hide(EMPL_CTG_L1.DESCR3_FRA);
   Hide(EMPL_CTG_L1.DESCR4_FRA);
   Hide(EMPL_CTG_L1.DESCR5_FRA);
   If INSTALLATION.FP_FLAG <> "Y" Or
         (Substring(%Component, 1, 2) = "FP" And
            Substring(%Component, 1, 4) = "HIRE") Then
      UnHide(JOB.VALUE_1_FRA);
      UnHide(JOB.VALUE_2_FRA);
      Hide(JOB.VALUE_3_FRA);
      Hide(JOB.VALUE_4_FRA);
      Hide(JOB.VALUE_5_FRA);
   End-If;
   Break;
When = 3
   UnHide(EMPL_CTG_L1.DESCR1_FRA);
   UnHide(EMPL_CTG_L1.DESCR2_FRA);
   UnHide(EMPL_CTG_L1.DESCR3_FRA);
   Hide(EMPL_CTG_L1.DESCR4_FRA);
   Hide(EMPL_CTG_L1.DESCR5_FRA);
   If INSTALLATION.FP_FLAG <> "Y" Or
         (Substring(%Component, 1, 2) = "FP" And
            Substring(%Component, 1, 4) = "HIRE") Then
      UnHide(JOB.VALUE_1_FRA);
      UnHide(JOB.VALUE_2_FRA);
      UnHide(JOB.VALUE_3_FRA);
      Hide(JOB.VALUE_4_FRA);
      Hide(JOB.VALUE_5_FRA);
   End-If;
   Break;
When = 4
   UnHide(EMPL_CTG_L1.DESCR1_FRA);
   UnHide(EMPL_CTG_L1.DESCR2_FRA);
   UnHide(EMPL_CTG_L1.DESCR3_FRA);
   UnHide(EMPL_CTG_L1.DESCR4_FRA);
   Hide(EMPL_CTG_L1.DESCR5_FRA);
   If INSTALLATION.FP_FLAG <> "Y" Or
         (Substring(%Component, 1, 2) =   "FP" And
            Substring(%Component, 1, 4)   = "HIRE") Then
      UnHide(JOB.VALUE_1_FRA);
      UnHide(JOB.VALUE_2_FRA);
      UnHide(JOB.VALUE_3_FRA);
      UnHide(JOB.VALUE_4_FRA);
      Hide(JOB.VALUE_5_FRA);
   End-If;
   Break;
When = 5
   UnHide(EMPL_CTG_L1.DESCR1_FRA);
   UnHide(EMPL_CTG_L1.DESCR2_FRA);
   UnHide(EMPL_CTG_L1.DESCR3_FRA);
   UnHide(EMPL_CTG_L1.DESCR4_FRA);
   UnHide(EMPL_CTG_L1.DESCR5_FRA);
   If INSTALLATION.FP_FLAG <> "Y" Or
         (Substring(%Component, 1, 2) =   "FP" And
            Substring(%Component, 1, 4)   = "HIRE") Then
      UnHide(JOB.VALUE_1_FRA);
      UnHide(JOB.VALUE_2_FRA);
      UnHide(JOB.VALUE_3_FRA);
      UnHide(JOB.VALUE_4_FRA);
      UnHide(JOB.VALUE_5_FRA);
   End-If;
   Break;
When-Other
   Hide(EMPL_CTG_L1.DESCR1_FRA);
   Hide(EMPL_CTG_L1.DESCR2_FRA);
   Hide(EMPL_CTG_L1.DESCR3_FRA);
   Hide(EMPL_CTG_L1.DESCR4_FRA);
   Hide(EMPL_CTG_L1.DESCR5_FRA);
   If INSTALLATION.FP_FLAG <> "Y" Or
         (Substring(%Component, 1, 2) =   "FP" And
            Substring(%Component, 1, 4)   = "HIRE") Then
      Hide(JOB.VALUE_1_FRA);
      Hide(JOB.VALUE_2_FRA);
      Hide(JOB.VALUE_3_FRA);
      Hide(JOB.VALUE_4_FRA);
      Hide(JOB.VALUE_5_FRA);
   End-If;
End-Evaluate;


If INSTALLATION.FP_FLAG <> "Y" Or
      (Substring(%Component, 1, 2) = "FP" And
         Substring(%Component, 1, 4) = "HIRE") Then
   If All(JOB.JOBCODE) Then

       &SETID_JOBCODE = GetSetId("BUSINESS_UNIT", JOB.BUSINESS_UNIT, "JOBCODE_TBL", "");
       &SETID_LBR_AGRMNT = GetSetId("REG_REGION", JOB.REG_REGION, "HR_LABOR_AGRMNT", "");

       JobJobcodeFch_lbr(&LBR_VLD_JOBCD);
       If &LBR_VLD_JOBCD = 1 Then
          &SETID_SALARY = GetSetId("BUSINESS_UNIT", JOB.BUSINESS_UNIT, "SAL_PLAN_TBL",
"");
         SQLExec("SELECT COUNT(DISTINCT A.SAL_ADMIN_PLAN) FROM PS_HR_LBR_JOBCD_VW A WHERE
A.SETID = :1 AND A.LABOR_AGREEMENT = :2 AND A.SETID_JOBCODE = :3 AND A.JOBCODE = :4 AND
SETID_SALARY = :5", &SETID_LBR_AGRMNT, JOB.LABOR_AGREEMENT, &SETID_JOBCODE, JOB.JOBCODE,
&SETID_SALARY, &LBR_SALPLN_COUNT);

          If All(JOB.LABOR_AGREEMENT) And
                &LBR_SALPLN_COUNT <> 0 And
                JOB_LBR_GBL_SBR.WPP_STOP_FLAG = "N" Then
             det_lbr_sal_admin_plan();
          End-If;
              End-If;
           End-If;
        End-If;




PeopleCode (Record): JOB_LBR_GBL_SBR.LABOR_AGREEMENT.FieldChange
        Declare Function JobJobcodeFch_lbr PeopleCode FUNCLIB_HR_JOB.JOBCODE FieldFormula;
        Declare Function det_lbr_sal_admin_plan PeopleCode FUNCLIB_HR.SAL_ADMIN_PLAN
        FieldFormula;
        Declare Function GetSeniorityDates PeopleCode FUNCLIB_HR_LBR.LABOR_AGREEMENT
        FieldFormula;

        /* ice 1122044000 */
        Function LaborAgreementFCh();
           /* FPS French Public Sector */
           If INSTALLATION.FP_FLAG = "Y" And
                 (Substring(%Component, 1, 2) = "FP" Or
                    Substring(%Component, 1, 4) = "HIRE") Then
              JOB_LBR_GBL_SBR.ENTRY_DATE = FPAEEOTHER_TBL.EFFDT;
           Else
              JOB_LBR_GBL_SBR.ENTRY_DATE = JOB.EFFDT;
           End-If;

           SetDefault(JOB_LBR_GBL_SBR.EMPL_CTG);
           /*Bug Id: 11701655 - Start*/
           SetDefault(JOB.EMPL_CTG_L1);
           SetDefault(JOB.EMPL_CTG_L2);
           /*Bug Id: 11701655 - End*/
           If INSTALLATION.FP_FLAG <> "Y" Or
                 (Substring(%Component, 1, 2) = "FP" And
                    Substring(%Component, 1, 4) = "HIRE") Then
              SetDefault(JOB.VALUE_1_FRA);
              SetDefault(JOB.VALUE_2_FRA);
              SetDefault(JOB.VALUE_3_FRA);
              SetDefault(JOB.VALUE_4_FRA);
              SetDefault(JOB.VALUE_5_FRA);
              Hide(JOB.VALUE_1_FRA);
              Hide(JOB.VALUE_2_FRA);
              Hide(JOB.VALUE_3_FRA);
              Hide(JOB.VALUE_4_FRA);
              Hide(JOB.VALUE_5_FRA);
           End-If;
           Hide(EMPL_CTG_L1.DESCR1_FRA);
           Hide(EMPL_CTG_L1.DESCR2_FRA);
           Hide(EMPL_CTG_L1.DESCR3_FRA);
           Hide(EMPL_CTG_L1.DESCR4_FRA);
           Hide(EMPL_CTG_L1.DESCR5_FRA);

           If FieldChanged(JOB.LABOR_AGREEMENT) Then
              GetSeniorityDates(CurrentRowNumber(1));

              &SETID_JOBCODE = GetSetId("BUSINESS_UNIT", JOB.BUSINESS_UNIT, "JOBCODE_TBL", "");
              &SETID_LBR_AGRMNT = GetSetId("REG_REGION", JOB.REG_REGION, "HR_LABOR_AGRMNT", "");

              SQLExec("SELECT A.BARG_UNIT FROM PS_HR_LABOR_AGRMNT A WHERE A.SETID = :1 AND
        A.LABOR_AGREEMENT = :2 AND A.EFFDT =(SELECT MAX(B.EFFDT) FROM PS_HR_LABOR_AGRMNT B WHERE
        B.SETID = A.SETID AND B.LABOR_AGREEMENT = A.LABOR_AGREEMENT AND B.EFFDT <= %DATEIN(:3))",
        &SETID_LBR_AGRMNT, JOB.LABOR_AGREEMENT, JOB.EFFDT, &BARG_UNIT);

              If All(&BARG_UNIT) Then
                 JOB_LBR_GBL_SBR.BARG_UNIT = &BARG_UNIT;
              Else;
                 SetDefault(JOB_LBR_GBL_SBR.BARG_UNIT);
              End-If;

              If All(JOB.JOBCODE) Then
                 JobJobcodeFch_lbr(&LBR_VLD_JOBCD);
                  If &LBR_VLD_JOBCD = 1 Then
                     &SETID_SALARY = GetSetId("BUSINESS_UNIT", JOB.BUSINESS_UNIT, "SAL_PLAN_TBL",
         "");
                     SQLExec("SELECT COUNT(DISTINCT A.SAL_ADMIN_PLAN) FROM PS_HR_LBR_JOBCD_VW A
         WHERE A.SETID = :1 AND A.LABOR_AGREEMENT = :2 AND A.effdt <= %datein(:3) AND A.SETID_JOBCODE
         = :4 AND A.JOBCODE = :5 AND SETID_SALARY = :6", &SETID_LBR_AGRMNT, JOB.LABOR_AGREEMENT,
         JOB.EFFDT, &SETID_JOBCODE, JOB.JOBCODE, &SETID_SALARY, &LBR_SALPLN_COUNT);

                     If &LBR_SALPLN_COUNT <> 0 And
                           JOB_LBR_GBL_SBR.WPP_STOP_FLAG = "N" Then
                        det_lbr_sal_admin_plan();
                     End-If;
                  End-If;

               End-If;
               If All(JOB.LABOR_AGREEMENT) Then
                  JOB_LBR_GBL_SBR.ENTRY_DATE = JOB.EFFDT;
                  SQLExec("SELECT COUNT(DISTINCT A.LABOR_FACILITY_ID) FROM PS_HR_LBR_FAC_VW A WHERE
         A.SETID = :1 AND A.LABOR_AGREEMENT = :2 AND A.LABOR_FACILITY_ID = :3 AND A.EFFDT <=
         %DATEIN(:4)", &SETID_LBR_AGRMNT, JOB.LABOR_AGREEMENT, JOB.LABOR_FACILITY_ID, JOB.EFFDT,
         &LBR_FAC_COUNT);
                  If &LBR_FAC_COUNT = 0 Then
                     SetDefault(JOB_LBR_GBL_SBR.LABOR_FACILITY_ID);
                     SetDefault(JOB_LBR_GBL_SBR.LBR_FAC_ENTRY_DT);
                  End-If;
               Else;
                  SetDefault(JOB_LBR_GBL_SBR.ENTRY_DATE);
                  SetDefault(JOB_LBR_GBL_SBR.LABOR_FACILITY_ID);
                  SetDefault(JOB_LBR_GBL_SBR.LBR_FAC_ENTRY_DT);
                  UnGray(JOB.SAL_ADMIN_PLAN);
                  UnGray(JOB.GRADE);
               End-If;
            End-If;

         End-Function;

         /* ice 1122044000 */
         LaborAgreementFCh();




PeopleCode (Record): NAMES.LASTUPDDTTM.SavePreChange
         If RecordChanged(NAMES.EMPLID) Then
            UpdateValue(NAMES.LASTUPDDTTM, %Datetime);
            UpdateValue(NAMES.LASTUPDOPRID, %UserId);
            UpdateValue(PERSON.LAST_CHILD_UPDDTM, %Datetime);
         If GetRecord().IsChanged Then
            GetField().Value = %Datetime;
            GetRecord().LASTUPDOPRID.Value = %UserId;
            If %Component = Component.PERSONAL_DATA Then
               GetLevel0()(1).PERSON.LAST_CHILD_UPDDTM.Value = %Datetime;
            End-If;
         End-If;




PeopleCode (Record): NATIONALITY_GER.EMPLID.RowDelete
         GetLevel0()(1).PERSON.LAST_CHILD_UPDDTM.Value = %Datetime;




PeopleCode (Record): NATIONALITY_GER.EMPLID.SavePreChange
         If GetRecord().IsChanged Then
            GetLevel0()(1).PERSON.LAST_CHILD_UPDDTM.Value = %Datetime;
         End-If;
PeopleCode (Record): PERSONAL_PHONE.EMPLID.RowDelete
         If %Component = Component.PERSONAL_DATA Then
            GetLevel0()(1).PERSON.LAST_CHILD_UPDDTM.Value = %Datetime;
         End-If;




PeopleCode (Record): PERSONAL_PHONE.EMPLID.SavePreChange
         If (RecordNew(PERSONAL_PHONE.EMPLID) Or
                  RecordChanged(PERSONAL_PHONE.EMPLID) Or
                  RecordDeleted(PERSONAL_PHONE.EMPLID)) And
               PERSONAL_PHONE.PREF_PHONE_FLAG = "Y" Then
            UpdateValue(PERSON.LAST_CHILD_UPDDTM, %Datetime);
         If GetRecord().IsChanged Then
            If %Component = Component.PERSONAL_DATA Then
               GetLevel0()(1).PERSON.LAST_CHILD_UPDDTM.Value = %Datetime;
            End-If;
         End-If;




PeopleCode (Record): PERSON_BRA.EMPLID.SavePreChange
         Component string &COUNTRY;
         Local Rowset &rs_person, &RS_pers_nid, &LEVEL0, &RS_per_data_bra, &rs_pers_data_effdt;
         Local Rowset &ROWSET_LEVEL0, &ROWSET_LEVEL1, &RS_EMPLOYMENT;
         Local Row &row_person, &ROW_pers_nid;
         Local Record &person, &pers_nid, &pers_data_bra, &rec_person_bra;

         If &COUNTRY = "BRA" Then

            /* SortScroll(2, Record.PERSON, Scroll.PERS_NID, PERS_NID.NATIONAL_ID, "A"); */
            /* Original Code
            &LEVEL0 = GetLevel0();
            &RS_pers_nid = &LEVEL0(1).GetRowset(record.PERS_NID);
            &rs_pers_data_effdt = &LEVEL0.GetRow(1).GetRowset(Scroll.PERS_DATA_EFFDT);
            &RS_PERS_DATA_BRA = &rs_pers_data_effdt.GetRow(1).GetRowset(Scroll.PERS_DATA_BRA);
            &pers_data_bra = &RS_PERS_DATA_BRA.getrow(1).GetRecord(Record.PERS_DATA_BRA);*/

            &LEVEL0 = GetLevel0();
            &RowLvl = &LEVEL0(1);
            &RS_pers_nid = &RowLvl.GetRowset(Scroll.PERS_NID);
            &rs_pers_data_effdt = &RowLvl.GetRowset(Scroll.PERS_DATA_BRA);
            &pers_data_bra = &rs_pers_data_effdt.GetRow(1).GetRecord(Record.PERS_DATA_BRA);
            &rs_person_bra = &RowLvl.GetRowset(Scroll.PERSON_BRA);
            &rec_person_bra =
         &rs_person_bra.GetRow(CurrentRowNumber()).GetRecord(Record.PERSON_BRA);

            &CPF_TYPE_OK = "N";
            &EXT_TYPE_OK = "N";
            &RG_TYPE_OK = "N";
            &CTPS_TYPE_OK = "N";
            &VOTER_TYPE_OK = "N";
            &MILITAR_TYPE_OK = "N";
            &PIS_TYPE_OK = "N";
            &NonEmployee = "N";


            &CTPS_VAL_OK = "N";
            &PIS_VAL_OK = "N";
            &CAIXA_VAL_OK = "N";

            If %Component = Component.JOB_DATA And
                  %Mode = "A" Then
      &ROWSET_LEVEL0 = GetRowset();
      &RS_JOB = &LEVEL0.GetRow(1).GetRowset(Scroll.JOB);

      &EMPLID = &pers_data_bra.EMPLID.Value;
      &EARLIEST_EFFDT = AddToDate(%Date, 1000, 0, 0);

      For &I = 1 To &RS_JOB.ActiveRowCount

         If &RS_JOB.GetRow(&I).JOB.EFFDT.Value < &EARLIEST_EFFDT Then
            &EARLIEST_EFFDT = &RS_JOB.GetRow(&I).JOB.EFFDT.Value;
            &ACTION_REASON = &RS_JOB.GetRow(&I).JOB.ACTION_REASON.Value;
            &ACTION = &RS_JOB.GetRow(&I).JOB.ACTION.Value;
         End-If;
      End-For;


      SQLExec("SELECT B.CAGED_REASON_BRA from PS_ACTN_REASON_BRA B WHERE B.ACTION =:1 AND
B.ACTION_REASON = :2", &ACTION, &ACTION_REASON, &CAGED_REASON_BRA);
   Else

      SQLExec("SELECT B.CAGED_REASON_BRA,A.EMPL_RCD from PS_JOB A, PS_ACTN_REASON_BRA B
WHERE A.EMPLID=:1 AND A.EFFDT = (SELECT MAX(EFFDT)FROM PS_JOB C WHERE C.EMPLID=A.EMPLID AND
C.EFFDT<=%DATEIN(:2)) AND A.ACTION=B.ACTION AND A.ACTION_REASON = B.ACTION_REASON AND
B.EFFDT = (SELECT MAX(EFFDT)FROM PS_ACTN_REASON_BRA D WHERE D.ACTION=B.ACTION AND
D.ACTION_REASON = B.ACTION_REASON AND D.EFFDT<=%DATEIN(:3))", PERSON_BRA.EMPLID, %Date,
%Date, &CAGED_REASON_BRA, &empl_rcd);


   End-If;
   &ComponentIntfc = %CompIntfcName;
   If None(&ComponentIntfc) Then
      If None(&pers_data_bra.NATIONALITY_CD_BRA.Value) Then
         Error (MsgGet(6566, 24, "Nationality is Required"));
      End-If;
   End-If;
   For &I = 1 To &RS_pers_nid.ActiveRowCount
      &pers_nid = &RS_pers_nid(&I).PERS_NID;

      Evaluate &pers_nid.NATIONAL_ID_TYPE.Value
      When = "RG"
         &RG_EXT_OK = "Y";
         &RG_TYPE_OK = "Y";
         Break;
      When = "CTPS"
         &CTPS_TYPE_OK = "Y";
         &CTPS_VAL_OK = "Y";
         Break;
      When = "TIT-EL"
         &VOTER_TYPE_OK = "Y";
         Break;
      When = "C-RES"
         &MILITAR_TYPE_OK = "Y";
         Break;
      When = "CPF"
         &CPF_TYPE_OK = "Y";
         Break;
      When = "ESTRAN"
         &ESTRAN_OK = "Y";
         &EXT_TYPE_OK = "Y";
         Break;
      When = "CAIXA"
         &CAIXA_VAL_OK = "Y";
         Break;
      End-Evaluate;

      If %Menu = "DUPLICATE_HOLDER" And
            DERIVED_HCR_PER.DERIVED_EMP <> "Y" Then
         &PIS_VAL_OK = "Y";
         &PIS_TYPE_OK = "Y";
         &NonEmployee = "Y";
      Else
          If &pers_nid.NATIONAL_ID_TYPE.Value = "PIS" Or
                &pers_nid.NATIONAL_ID_TYPE.Value = "PASEP" Then
             &pers_nid_type_PIS = &pers_nid.NATIONAL_ID_TYPE.Value;

             &PIS_TYPE_OK = "Y";
             If &pers_nid.NATIONAL_ID_TYPE.Value = "PIS" Then
                &PIS_VAL_OK = "Y";
             End-If;
          Else
             If &CAGED_REASON_BRA = "10" Then
                &PIS_TYPE_OK = "Y";
             End-If;
          End-If;
       End-If;

     End-For;

     If &pers_data_bra.NATIONALITY_CD_BRA.Value = "10" Or
           &pers_data_bra.NATIONALITY_CD_BRA.Value = "20" Then
        If &CPF_TYPE_OK <> "Y" Then
           Error (MsgGet(6566, 6, ""));
        End-If;
        If &ESTRAN_OK = "Y" Then
           Error (MsgGet(6566, 26, ""));
        End-If;
     Else
        If &RG_EXT_OK = "Y" Then
           Error (MsgGet(6566, 25, ""));
        End-If;
        If &EXT_TYPE_OK = "N" Then
           Error (MsgGet(6566, 7, ""));
        End-If;
     End-If;

     /*
     If &ESTRAN_OK = "N" Then
        Error (MsgGet(6566, 26, ""));
     End-If;
*/

     &txtFieldLabel = "";
     &pers_nid_type_desc = "";

   If &PIS_TYPE_OK <> "Y" Then
      If All(&rec_person_bra.PIS_PASEP_DT_BRA.Value) Then
         SQLExec("SELECT DESCR FROM PS_NID_TYPE_TBL WHERE COUNTRY = 'BRA' AND
NATIONAL_ID_TYPE = 'PIS'", &pers_nid_type_desc);
         Error (MsgGet(6566, 10, "", &pers_nid_type_desc));
      End-If;
   Else
      If &NonEmployee <> "Y" Then
         If Not All(&rec_person_bra.PIS_PASEP_DT_BRA.Value) Then
            SQLExec("SELECT DESCR FROM PS_NID_TYPE_TBL WHERE COUNTRY = 'BRA' AND
NATIONAL_ID_TYPE = 'PIS'", &pers_nid_type_desc);

              &fldField = &rec_person_bra.GetField(Field.PIS_PASEP_DT_BRA);
              &txtFieldLabel = &fldField.GetLongLabel("PERSON_BRA_SBP");
              Error (MsgGet(6566, 15, "", &pers_nid_type_desc, &txtFieldLabel));
           End-If;
        End-If;
     End-If;

   If &RG_TYPE_OK <> "Y" Then
      If Not None(&rec_person_bra.RG_ISSUEDBY_BRA, &rec_person_bra.RG_ISSUED_DT_BRA,
&rec_person_bra.RG_STATE_BRA.Value) Then
         If &pers_data_bra.NATIONALITY_CD_BRA.Value = "10" Or
               &pers_data_bra.NATIONALITY_CD_BRA.Value = "20" Then
            Error (MsgGet(6566, 9, ""));
            /* Else
            Error (MsgGet(6566, 25, "")); */
         End-If;
      End-If;
   Else
      SQLExec("SELECT DESCR FROM PS_NID_TYPE_TBL WHERE COUNTRY = 'BRA' AND NATIONAL_ID_TYPE
= 'RG'", &pers_nid_type_desc);

      If None(&rec_person_bra.RG_ISSUEDBY_BRA.Value) Then
         &fldField = &rec_person_bra.GetField(Field.RG_ISSUEDBY_BRA);
         &txtFieldLabel = &txtFieldLabel | ", " |
&fldField.GetShortLabel("RG_ISSUEDBT_BRA");
      End-If;
      If None(&rec_person_bra.RG_ISSUED_DT_BRA.Value) Then
         &fldField = &rec_person_bra.GetField(Field.RG_ISSUED_DT_BRA);
         &txtFieldLabel = &txtFieldLabel | ", " |
&fldField.GetShortLabel("RG_ISSUED_DT_BRA");
      End-If;
      If None(&rec_person_bra.RG_STATE_BRA.Value) Then
         &fldField = &rec_person_bra.GetField(Field.RG_STATE_BRA);
         &txtFieldLabel = &txtFieldLabel | ", " | &fldField.GetShortLabel("RG_STATE_BRA");
      End-If;
      If &txtFieldLabel <> "" Then
         &txtFieldLabel = Substring(&txtFieldLabel, 2, Len(&txtFieldLabel) - 1);
         &txtFieldLabel = " " | &txtFieldLabel;
         Error (MsgGet(6566, 15, "", &pers_nid_type_desc, &txtFieldLabel));
      End-If;
   End-If;



   If &CTPS_TYPE_OK <> "Y" Then
      If All(&rec_person_bra.CTPS_SERIES_BRA.Value) Or
            All(&rec_person_bra.CTPS_EXP_DT_BRA.Value) Or
            All(&rec_person_bra.CTPS_STATE_BRA.Value) Then
         SQLExec("SELECT DESCR FROM PS_NID_TYPE_TBL WHERE COUNTRY = 'BRA' AND
NATIONAL_ID_TYPE = 'CTPS'", &pers_nid_type_desc);
         Error (MsgGet(6566, 10, "", &pers_nid_type_desc));
      End-If;
   Else
      SQLExec("SELECT DESCR FROM PS_NID_TYPE_TBL WHERE COUNTRY = 'BRA' AND NATIONAL_ID_TYPE
= 'CTPS'", &pers_nid_type_desc);

      If None(&rec_person_bra.CTPS_SERIES_BRA.Value) Then
         &fldField = &rec_person_bra.GetField(Field.CTPS_SERIES_BRA);
         &txtFieldLabel = &txtFieldLabel | ", " |
&fldField.GetLongLabel("CTPS_SERIES_BRA");
      End-If;
      If None(&rec_person_bra.CTPS_EXP_DT_BRA.Value) Then
         &fldField = &rec_person_bra.GetField(Field.CTPS_EXP_DT_BRA);
         &txtFieldLabel = &txtFieldLabel | ", " |
&fldField.GetLongLabel("PERSON_BRA_SBP");
      End-If;
      If None(&rec_person_bra.CTPS_STATE_BRA.Value) Then
         &fldField = &rec_person_bra.GetField(Field.CTPS_STATE_BRA);
         &txtFieldLabel = &txtFieldLabel | ", " |
&fldField.GetLongLabel("CTPS_STATE_BRA");
      End-If;
      If &txtFieldLabel <> "" Then
         &txtFieldLabel = Substring(&txtFieldLabel, 2, Len(&txtFieldLabel) - 1);
         &txtFieldLabel = " " | &txtFieldLabel;
         Error (MsgGet(6566, 15, "", &pers_nid_type_desc, &txtFieldLabel));
      End-If;
   End-If;

   If &VOTER_TYPE_OK <> "Y" Then
      If All(&rec_person_bra.VOTER_ZONE_BRA.Value) Or
            All(&rec_person_bra.VOTER_SECTION_BRA.Value) Or
            All(&rec_person_bra.VOTER_CITY_BRA.Value) Or
            All(&rec_person_bra.VOTER_STATE_BRA.Value) Then
         SQLExec("SELECT DESCR FROM PS_NID_TYPE_TBL WHERE COUNTRY = 'BRA' AND
NATIONAL_ID_TYPE = 'TIT-EL'", &pers_nid_type_desc);
         Error (MsgGet(6566, 10, "", &pers_nid_type_desc));
      End-If;
   Else
      SQLExec("SELECT DESCR FROM PS_NID_TYPE_TBL WHERE COUNTRY = 'BRA' AND NATIONAL_ID_TYPE
= 'TIT-EL'", &pers_nid_type_desc);

      If None(&rec_person_bra.VOTER_ZONE_BRA.Value) Then
         &fldField = &rec_person_bra.GetField(Field.VOTER_ZONE_BRA);
         &txtFieldLabel = &txtFieldLabel | ", " |
&fldField.GetShortLabel("VOTER_ZONE_BRA");
      End-If;
      If None(&rec_person_bra.VOTER_SECTION_BRA.Value) Then
         &fldField = &rec_person_bra.GetField(Field.VOTER_SECTION_BRA);
         &txtFieldLabel = &txtFieldLabel | ", " |
&fldField.GetShortLabel("VOTER_SECTION_BRA");
      End-If;
      If None(&rec_person_bra.VOTER_CITY_BRA.Value) Then
         &fldField = &rec_person_bra.GetField(Field.VOTER_CITY_BRA);
         &txtFieldLabel = &txtFieldLabel | ", " |
&fldField.GetShortLabel("VOTER_CITY_BRA");
      End-If;
      If None(&rec_person_bra.VOTER_STATE_BRA.Value) Then
         &fldField = &rec_person_bra.GetField(Field.VOTER_STATE_BRA);
         &txtFieldLabel = &txtFieldLabel | ", " |
&fldField.GetShortLabel("VOTER_STATE_BRA");
      End-If;
      If &txtFieldLabel <> "" Then
         &txtFieldLabel = Substring(&txtFieldLabel, 2, Len(&txtFieldLabel) - 1);
         &txtFieldLabel = " " | &txtFieldLabel;
         Error (MsgGet(6566, 15, "", &pers_nid_type_desc, &txtFieldLabel));
      End-If;
   End-If;

   If &MILITAR_TYPE_OK <> "Y" Then
      If All(&rec_person_bra.MILITAR_SERIES_BRA.Value) Or
            All(&rec_person_bra.MILITAR_REGION_BRA.Value) Or
            All(&rec_person_bra.MILITAR_STATE_BRA.Value) Or
            All(&rec_person_bra.MIL_CERT_TYPE_BRA.Value) Or
            All(&rec_person_bra.MILITAR_CAT_BRA.Value) Then
         SQLExec("SELECT DESCR FROM PS_NID_TYPE_TBL WHERE COUNTRY = 'BRA' AND
NATIONAL_ID_TYPE = 'C-RES'", &pers_nid_type_desc);
         Error (MsgGet(6566, 10, "", &pers_nid_type_desc));
      End-If;
   Else
      SQLExec("SELECT DESCR FROM PS_NID_TYPE_TBL WHERE COUNTRY = 'BRA' AND NATIONAL_ID_TYPE
= 'C-RES'", &pers_nid_type_desc);

      If None(&rec_person_bra.MILITAR_SERIES_BRA.Value) Then
         &fldField = &rec_person_bra.GetField(Field.MILITAR_SERIES_BRA);
         &txtFieldLabel = &txtFieldLabel | ", " |
&fldField.GetShortLabel("MILITAR_SERIES_BRA");
      End-If;
      If None(&rec_person_bra.MILITAR_REGION_BRA.Value) Then
         &fldField = &rec_person_bra.GetField(Field.MILITAR_REGION_BRA);
         &txtFieldLabel = &txtFieldLabel | ", " |
&fldField.GetShortLabel("MILITAR_REG_BRA");
      End-If;
      If None(&rec_person_bra.MILITAR_STATE_BRA.Value) Then
         &fldField = &rec_person_bra.GetField(Field.MILITAR_STATE_BRA);
         &txtFieldLabel = &txtFieldLabel | ", " |
&fldField.GetShortLabel("MILITAR_STATE_BRA");
      End-If;
      If None(&rec_person_bra.MIL_CERT_TYPE_BRA.Value) Then
         &fldField = &rec_person_bra.GetField(Field.MIL_CERT_TYPE_BRA);
         &txtFieldLabel = &txtFieldLabel | ", " |
&fldField.GetShortLabel("MIL_CERT_TYPE_BRA");
      End-If;
      If None(&rec_person_bra.MILITAR_CAT_BRA.Value) Then
         &fldField = &rec_person_bra.GetField(Field.MILITAR_CAT_BRA);
         &txtFieldLabel = &txtFieldLabel | ", " |
&fldField.GetShortLabel("MILITAR_CAT_BRA");
      End-If;
      If &txtFieldLabel <> "" Then
                  &txtFieldLabel = Substring(&txtFieldLabel, 2, Len(&txtFieldLabel) - 1);
                  &txtFieldLabel = " " | &txtFieldLabel;
                  Error (MsgGet(6566, 15, "", &pers_nid_type_desc, &txtFieldLabel));
               End-If;
            End-If;

         End-If;

         If GetRecord().IsChanged Then
            GetLevel0()(1).PERSON.LAST_CHILD_UPDDTM.Value = %Datetime;
         End-If;




PeopleCode (Record): PERSON_FRA.EMPLID.SavePreChange
         If GetRecord().IsChanged Then
            GetLevel0()(1).PERSON.LAST_CHILD_UPDDTM.Value = %Datetime;
         End-If;




PeopleCode (Record): PERS_DATA_BRA.EMPLID.RowDelete
         GetLevel0()(1).PERSON.LAST_CHILD_UPDDTM.Value = %Datetime;




PeopleCode (Record): PERS_DATA_BRA.EMPLID.SavePreChange
         If GetRecord().IsChanged Then
            GetLevel0()(1).PERSON.LAST_CHILD_UPDDTM.Value = %Datetime;
         End-If;




PeopleCode (Record): PERS_DATA_CAN.EMPLID.RowDelete
         GetLevel0()(1).PERSON.LAST_CHILD_UPDDTM.Value = %Datetime;




PeopleCode (Record): PERS_DATA_CAN.EMPLID.SavePreChange
         If RecordNew(PERS_DATA_CAN.EMPLID) Or
               RecordChanged(PERS_DATA_CAN.EMPLID) Or
               RecordDeleted(PERS_DATA_CAN.EMPLID) Then
            UpdateValue(PERSON.LAST_CHILD_UPDDTM, %Datetime);
         If GetRecord().IsChanged Then
            GetLevel0()(1).PERSON.LAST_CHILD_UPDDTM.Value = %Datetime;
         End-If;




PeopleCode (Record): PERS_DATA_CHE.EMPLID.RowDelete
         GetLevel0()(1).PERSON.LAST_CHILD_UPDDTM.Value = %Datetime;




PeopleCode (Record): PERS_DATA_CHE.EMPLID.SavePreChange
         If GetRecord().IsChanged Then
            GetLevel0()(1).PERSON.LAST_CHILD_UPDDTM.Value = %Datetime;
         End-If;
PeopleCode (Record): PERS_DATA_DEU.EMPLID.RowDelete
         GetLevel0()(1).PERSON.LAST_CHILD_UPDDTM.Value = %Datetime;




PeopleCode (Record): PERS_DATA_DEU.EMPLID.SavePreChange
         If RecordNew(PERS_DATA_DEU.EMPLID) Or
               RecordChanged(PERS_DATA_DEU.EMPLID) Or
               RecordDeleted(PERS_DATA_DEU.EMPLID) Then
            UpdateValue(PERSON.LAST_CHILD_UPDDTM, %Datetime);
         If GetRecord().IsChanged Then
            GetLevel0()(1).PERSON.LAST_CHILD_UPDDTM.Value = %Datetime;
         End-If;




PeopleCode (Record): PERS_DATA_EFFDT.LASTUPDDTTM.RowDelete
         UpdateValue(PERSON.LAST_CHILD_UPDDTM, %Datetime)
         UpdateValue(PERSON.LAST_CHILD_UPDDTM, %Datetime);




PeopleCode (Record): PERS_DATA_EFFDT.LASTUPDDTTM.SavePreChange
         If RecordChanged(PERS_DATA_EFFDT.EMPLID) Then
            PERS_DATA_EFFDT.LASTUPDDTTM = %Datetime;
            PERS_DATA_EFFDT.LASTUPDOPRID = %UserId;
         If GetRecord().IsChanged Then
            GetField().Value = %Datetime;
            GetRecord().LASTUPDOPRID.Value = %UserId;
            If %Component = Component.PERSONAL_DATA Then
               GetLevel0()(1).PERSON.LAST_CHILD_UPDDTM.Value = %Datetime;
            End-If;
         End-If;




PeopleCode (Record): PERS_DATA_ESP.EMPLID.RowDelete
         GetLevel0()(1).PERSON.LAST_CHILD_UPDDTM.Value = %Datetime;




PeopleCode (Record): PERS_DATA_ESP.EMPLID.SavePreChange
         If RecordNew(PERS_DATA_ESP.EMPLID) Or
               RecordChanged(PERS_DATA_ESP.EMPLID) Or
               RecordDeleted(PERS_DATA_ESP.EMPLID) Then
            UpdateValue(PERSON.LAST_CHILD_UPDDTM, %Datetime);
         If GetRecord().IsChanged Then
            GetLevel0()(1).PERSON.LAST_CHILD_UPDDTM.Value = %Datetime;
         End-If;




PeopleCode (Record): PERS_DATA_FPS.EMPLID.RowDelete
         GetLevel0()(1).PERSON.LAST_CHILD_UPDDTM.Value = %Datetime;
PeopleCode (Record): PERS_DATA_FPS.EMPLID.SavePreChange
         If GetRecord().IsChanged Then
            GetLevel0()(1).PERSON.LAST_CHILD_UPDDTM.Value = %Datetime;
         End-If;




PeopleCode (Record): PERS_DATA_FRA.EMPLID.RowDelete
         GetLevel0()(1).PERSON.LAST_CHILD_UPDDTM.Value = %Datetime;




PeopleCode (Record): PERS_DATA_FRA.EMPLID.SavePreChange
         If RecordNew(PERS_DATA_FRA.EMPLID) Or
               RecordChanged(PERS_DATA_FRA.EMPLID) Or
               RecordDeleted(PERS_DATA_FRA.EMPLID) Then
            UpdateValue(PERSON.LAST_CHILD_UPDDTM, %Datetime);
         If GetRecord().IsChanged Then
            GetLevel0()(1).PERSON.LAST_CHILD_UPDDTM.Value = %Datetime;
         End-If;




PeopleCode (Record): PERS_DATA_IND.EMPLID.RowDelete
         GetLevel0()(1).PERSON.LAST_CHILD_UPDDTM.Value = %Datetime;




PeopleCode (Record): PERS_DATA_IND.EMPLID.SavePreChange
         If GetRecord().IsChanged Then
            GetLevel0()(1).PERSON.LAST_CHILD_UPDDTM.Value = %Datetime;
         End-If;




PeopleCode (Record): PERS_DATA_ITA.EMPLID.RowDelete
         GetLevel0()(1).PERSON.LAST_CHILD_UPDDTM.Value = %Datetime;




PeopleCode (Record): PERS_DATA_ITA.EMPLID.SavePreChange
         If RecordNew(PERS_DATA_ITA.EMPLID) Or
               RecordChanged(PERS_DATA_ITA.EMPLID) Or
               RecordDeleted(PERS_DATA_ITA.EMPLID) Then
            UpdateValue(PERSON.LAST_CHILD_UPDDTM, %Datetime);
         If GetRecord().IsChanged Then
            GetLevel0()(1).PERSON.LAST_CHILD_UPDDTM.Value = %Datetime;
         End-If;




PeopleCode (Record): PERS_DATA_JPN.EMPLID.RowDelete
         GetLevel0()(1).PERSON.LAST_CHILD_UPDDTM.Value = %Datetime;
PeopleCode (Record): PERS_DATA_JPN.EMPLID.SavePreChange
         If RecordNew(PERS_DATA_JPN.EMPLID) Or
               RecordChanged(PERS_DATA_JPN.EMPLID) Or
               RecordDeleted(PERS_DATA_JPN.EMPLID) Then
            UpdateValue(PERSON.LAST_CHILD_UPDDTM, %Datetime);
         If GetRecord().IsChanged Then
            GetLevel0()(1).PERSON.LAST_CHILD_UPDDTM.Value = %Datetime;
         End-If;




PeopleCode (Record): PERS_DATA_MEX.EMPLID.RowDelete
         GetLevel0()(1).PERSON.LAST_CHILD_UPDDTM.Value = %Datetime;




PeopleCode (Record): PERS_DATA_MEX.EMPLID.SavePreChange
         If GetRecord().IsChanged Then
            GetLevel0()(1).PERSON.LAST_CHILD_UPDDTM.Value = %Datetime;
         End-If;




PeopleCode (Record): PERS_DATA_USA.EMPLID.RowDelete
         GetLevel0()(1).PERSON.LAST_CHILD_UPDDTM.Value = %Datetime;




PeopleCode (Record): PERS_DATA_USA.EMPLID.SavePreChange
         If RecordNew(PERS_DATA_USA.EMPLID) Or
               RecordChanged(PERS_DATA_USA.EMPLID) Or
               RecordDeleted(PERS_DATA_USA.EMPLID) Then
            UpdateValue(PERSON.LAST_CHILD_UPDDTM, %Datetime);
         If GetRecord().IsChanged Then
            GetLevel0()(1).PERSON.LAST_CHILD_UPDDTM.Value = %Datetime;
         End-If;




PeopleCode (Record): PERS_HUKOU_CHN.EMPLID.RowDelete
         GetLevel0()(1).PERSON.LAST_CHILD_UPDDTM.Value = %Datetime;




PeopleCode (Record): PERS_HUKOU_CHN.EMPLID.SavePreChange
         If GetRecord().IsChanged Then
            GetLevel0()(1).PERSON.LAST_CHILD_UPDDTM.Value = %Datetime;
         End-If;




PeopleCode (Record): PERS_NID.EMPLID.RowDelete
         If %Component = Component.PERSONAL_DATA Then
            GetLevel0()(1).PERSON.LAST_CHILD_UPDDTM.Value = %Datetime;
         End-If;
PeopleCode (Record): PERS_NID.EMPLID.SavePreChange
         Declare Function Format_NID PeopleCode FUNCLIB_HR.NID_SPECIAL_CHAR FieldFormula;

         Local number &i;
         Local Rowset &rsPersNID = GetRowset();
         Local Record &recPersNID = GetRecord();
         Local Row &rowPersNID = GetRow();
         Local string &COUNTRY, &SET_NID, &BIRTHDATE, &BIRTHYEAR, &BIRTHMONTH, &BIRTHDAY, &SEX,
         &NID_TYPE, &NID_FORMAT, &NID_NO_FORMAT;

         /*** Create at least 1 row with a default NID if none(national_id) - 04-2000 ***/

         If ((&rsPersNID.ActiveRowCount = 1) And
                  (&rowPersNID.RowNumber = 1) And
                  (None(&recPersNID.NATIONAL_ID.Value))) Then

            /* determine default NID type of default country */
            &COUNTRY = &recPersNID.COUNTRY.Value;
            &NID_FORMAT = "";
            &NID_TYPE = "";
            SQLExec("SELECT " | Field.NATIONAL_ID_FORMAT | ", " | Field.NATIONAL_ID_TYPE | " FROM
         %Table(" | Record.NID_TYPE_TBL | ") WHERE " | Field.COUNTRY | " = :1 AND " |
         Field.NID_TYPE_DEFAULT | " = 'Y'", &COUNTRY, &NID_FORMAT, &NID_TYPE);

            /** If default found, create default NID based on country **/
            If All(&NID_FORMAT) Then

               &SET_NID = "N";
               Evaluate &COUNTRY
               When = "GBR"
                  /*CJJ-Jan 4, 1999 - Adjusted following code to prevent defaulting of
                      National_Id with incomplete information*/
                  If %Mode = "A" Then
                     /* commenting out the uk code as temp NI functionality is no longer used.
                    &BIRTHDATE = String(FetchValue(PERSON.BIRTHDATE));
                     &SEX = FetchValue(DERIVED_CUR_PDE.SEX);
                     If All(&BIRTHDATE) And
                            All(&SEX) Then
                        &NID_TYPE = "TEMP_9";
                        If &SEX = "U" Then
                            &SEX = "";
                            &NID_TYPE = "TEMP";
                        End-If;

                        &BIRTHYEAR = Substring(&BIRTHDATE, 3, 2);
                        &BIRTHMONTH = Substring(&BIRTHDATE, 6, 2);
                        &BIRTHDAY = Substring(&BIRTHDATE, 9, 2);
                        &NID_FORMAT = "TN" | &BIRTHDAY | &BIRTHMONTH | &BIRTHYEAR | &SEX;
                        PERS_NID.NATIONAL_ID = &NID_FORMAT;
                     End-If; */
                     &SET_NID = "Y";
                     &NID_FORMAT = "";
                  End-If;
                  Break;
               When = "USA"
               When = "CAN"
                  /*** Remove special char. before update INTODB - 04-2000 ***/
                  &NID_NO_FORMAT = Format_NID(&COUNTRY, &NID_TYPE, &NID_FORMAT, "INTODB");
                  &SET_NID = "Y";
                  Break;
               End-Evaluate;

               If &SET_NID = "Y" Then
                  /*** Replaced SQLExec with Databuffer functions -- RMO 07/27/99   ***/
                  &recPersNID.NATIONAL_ID_TYPE.Value = &NID_TYPE;
                  If &COUNTRY = "GBR" Then
                     &recPersNID.NATIONAL_ID.Value = &NID_FORMAT;
                 Else
                    &recPersNID.NATIONAL_ID.Value = &NID_NO_FORMAT;
                 End-If;
                 &recPersNID.PRIMARY_NID.Value = "Y";
                 &rowPersNID.DERIVED_HR.NID_SPECIAL_CHAR.Value = &NID_FORMAT;
              End-If;

            End-If;

            /* begin ICE 1874250000 */
            If (None(&recPersNID.NATIONAL_ID.Value) And
                     /* Begin ICE 1921022000 */
                     GetRow().IsNew And
                     GetRow().IsDeleted) Then
               /* End ICE 1921022000 */

               /* force record change to create a row with no national ID (required by Campus
         Solutions) */
               &recPersNID.NATIONAL_ID.Value = "DUMMY";
               &recPersNID.NATIONAL_ID.Value = " ";
               If None(&recPersNID.NATIONAL_ID_TYPE.Value) Then
                  If None(&NID_TYPE) Then
                     /* no default type, pick first one */
                     SQLExec("SELECT " | Field.NATIONAL_ID_TYPE | " FROM %Table(" |
         Record.NID_TYPE_TBL | ") WHERE " | Field.COUNTRY | " = :1", &COUNTRY, &NID_TYPE);
                  End-If;
                  &recPersNID.NATIONAL_ID_TYPE.Value = &NID_TYPE;
               End-If;

            End-If;
            /* end ICE 1874250000 */

         End-If;

         /*Start ICE 1658750000*/
         If &recPersNID.IsChanged Then
            &recPersNID.LASTUPDOPRID.Value = %UserId;
            &recPersNID.LASTUPDDTTM.Value = %Datetime;
            If %Component = Component.PERSONAL_DATA Then
               GetLevel0()(1).PERSON.LAST_CHILD_UPDDTM.Value = %Datetime;
            End-If;
         End-If;
         /*End ICE 1658750000*/




PeopleCode (Record): PERS_SMOKER.EMPLID.RowDelete
         GetLevel0()(1).PERSON.LAST_CHILD_UPDDTM.Value = %Datetime;




PeopleCode (Record): PERS_SMOKER.EMPLID.SavePreChange
         If RecordNew(PERS_SMOKER.EMPLID) Or
               RecordChanged(PERS_SMOKER.EMPLID) Or
               RecordDeleted(PERS_SMOKER.EMPLID) Then
            UpdateValue(PERSON.LAST_CHILD_UPDDTM, %Datetime);
         If GetRecord().IsChanged Then
            GetLevel0()(1).PERSON.LAST_CHILD_UPDDTM.Value = %Datetime;
         End-If;




PeopleCode (Record): PERS_WRKLIF_CHN.EMPLID.SavePreChange
         If GetRecord().IsChanged Then
            GetLevel0()(1).PERSON.LAST_CHILD_UPDDTM.Value = %Datetime;
         End-If;
PeopleCode (Record): PERS_WRKLV_CHN.EMPLID.RowDelete
         GetLevel0()(1).PERSON.LAST_CHILD_UPDDTM.Value = %Datetime;




PeopleCode (Record): PERS_WRKLV_CHN.EMPLID.SavePreChange
         If GetRecord().IsChanged Then
            GetLevel0()(1).PERSON.LAST_CHILD_UPDDTM.Value = %Datetime;
         End-If;




PeopleCode (Record): PLACE_ORIG_CHE.EMPLID.RowDelete
         GetLevel0()(1).PERSON.LAST_CHILD_UPDDTM.Value = %Datetime;




PeopleCode (Record): PLACE_ORIG_CHE.EMPLID.SavePreChange
         If GetRecord().IsChanged Then
            GetLevel0()(1).PERSON.LAST_CHILD_UPDDTM.Value = %Datetime;
         End-If;




PeopleCode (Record): POSITION_DATA.STEP.SaveEdit
         /* FPS - French Public Sector function */
         Declare Function fp_update_incumbents PeopleCode FUNCLIB_FP.UPDATE_INCUMBENTS
         FieldFormula;

         /* Public Sector functions */
         Declare Function PositionCountMe PeopleCode FUNCLIB_HR.UPDATE_INCUMBENTS FieldFormula;
         Declare Function SelectJob PeopleCode FUNCLIB_HR.UPDATE_INCUMBENTS FieldFormula;
         Declare Function SelectCaps PeopleCode FUNCLIB_HR.UPDATE_INCUMBENTS FieldFormula;
         Declare Function FindCurrPosRow PeopleCode FUNCLIB_HR.UPDATE_INCUMBENTS FieldFormula;
         Declare Function InitVariablesI PeopleCode FUNCLIB_HR.UPDATE_INCUMBENTS FieldFormula;
         Declare Function determine_opr_defaults PeopleCode OPR_DEF_TBL_HR.INDUSTRY FieldChange;
         Global string &INDUSTRY;
         Global string &INDUSTRY_SECTOR;
         Component boolean &UpdateIncumbentsNow;
         Local number &MessageBoxReturn, &NbrIncumbents;
         Local Rowset &RULE_RC_RS;

         /******** PLEASE NOTE *************
          This PeopleCode MUST be located on the last data field on the record.
          If you modify Position Management, new fields must be added above this logic, or the logic
         moved accordingly.
         ***********************************/

         /*************************************
           Begin of Public Sector Extension
         **************************************
         The following function may be uncommented and customized to meet customer requirements.
         Please note that there is one more related section of PeopleCode in this program, and also
         two pieces of PeopleCode in JOB.ADDS_TO_FTE_ACTUAL.SaveEdit.
         **************************************/
         &MAX_CURRDATE = FindCurrPosRow();
         If (POSITION_DATA.POSN_STATUS = "A" And
                  POSITION_DATA.EFF_STATUS = "A" And
                  POSITION_DATA.EFFDT >= &MAX_CURRDATE And
         (RecordChanged(POSITION_DATA.POSITION_NBR) Or
            /* Public Sector Extension */
            DERIVED_HR.FTE_CHG_IND = "Y") And
         /* Public Sector Extension */
         Not RecordDeleted(POSITION_DATA.POSITION_NBR)) Then
   /*****************************
    The following PeopleCode may be uncommented and customized to meet customer
requirements.
    Please note that there is one more related section of PeopleCode in this program (the
function PositionCountMe),
    and also two pieces of PeopleCode in JOB.ADDS_TO_FTE_ACTUAL.SaveEdit.
   *****************************
   if PositionCountMe() then
      &ADDS_TO_FTE = "Y";
   else
      &ADDS_TO_FTE = "N";
   end-if;
   if &ADDS_TO_FTE <> ADDS_TO_FTE_ACTUAL then
      if &ADDS_TO_FTE = "Y" then
         &SYSTEM_FTE = "Yes";
      else
         &SYSTEM_FTE = "No";
      end-if;
      warning MsgGet(1500, 30, "According to system defaults, the Adds to FTE Actual field
should be set to %1.", &SYSTEM_FTE);
   end-if;
***********************End of commented PeopleCode. ****************/
   &FETCH_EDIT_INDC = FetchValue(DEPT_TBL.FTE_EDIT_INDC, CurrentRowNumber(1));
   &FETCH_SETID = FetchValue(DEPT_TBL.SETID, CurrentRowNumber(1));
   If &FETCH_EDIT_INDC <> "N" And
         POSITION_DATA.ADDS_TO_FTE_ACTUAL = "Y" Then
      If POSITION_DATA.EFFDT <= %Date Then
         &DATE = %Date;
      Else
         &DATE = POSITION_DATA.EFFDT;
      End-If;
      &CAP = 0;
      &CLASS = "T";
      SelectCaps(POSITION_DATA.DEPTID, &CLASS, &DATE, &FETCH_SETID, &CAP);
      &FETCH_T_FTE_CAP = &CAP;
      &CAP = 0;
      &CLASS = "C";
      SelectCaps(POSITION_DATA.DEPTID, &CLASS, &DATE, &FETCH_SETID, &CAP);
      &FETCH_C_FTE_CAP = &CAP;
      &CLASS = "U";
      &CAP = 0;
      SelectCaps(POSITION_DATA.DEPTID, &CLASS, &DATE, &FETCH_SETID, &CAP);
      &FETCH_U_FTE_CAP = &CAP;
      &CLASS = "B";
      &CAP = 0;
      SelectCaps(POSITION_DATA.DEPTID, &CLASS, &DATE, &FETCH_SETID, &CAP);
      &FETCH_B_FTE_CAP = &CAP;
      If POSITION_DATA.CLASS_INDC = "T" And
            All(&FETCH_T_FTE_CAP) Then
         &CLASS_TYPE = "T";
         SelectJob(POSITION_DATA.DEPTID, POSITION_DATA.POSITION_NBR, &CLASS_TYPE, &DATE,
&FETCH_SETID, &ACTUAL_FTE_TOTAL);
         &JB_TEMP_FTE = &ACTUAL_FTE_TOTAL + POSITION_DATA.FTE;
      Else
         If POSITION_DATA.CLASS_INDC = "C" And
               All(&FETCH_C_FTE_CAP) Then
            &CLASS_TYPE = "C";
            SelectJob(POSITION_DATA.DEPTID, POSITION_DATA.POSITION_NBR, &CLASS_TYPE,
&DATE, &FETCH_SETID, &ACTUAL_FTE_TOTAL);
            &JB_CLASS_FTE = &ACTUAL_FTE_TOTAL + POSITION_DATA.FTE;
         Else
            If POSITION_DATA.CLASS_INDC = "U" And
                  All(&FETCH_U_FTE_CAP) Then
               &CLASS_TYPE = "U";
               SelectJob(POSITION_DATA.DEPTID, POSITION_DATA.POSITION_NBR, &CLASS_TYPE,
&DATE, &FETCH_SETID, &ACTUAL_FTE_TOTAL);
               &JB_UNCLASS_FTE = &ACTUAL_FTE_TOTAL + POSITION_DATA.FTE;
            End-If;
         End-If;
      End-If;
      If All(&FETCH_B_FTE_CAP) Then
         &CLASS_TYPE = "%";
         SelectJob(POSITION_DATA.DEPTID, POSITION_DATA.POSITION_NBR, &CLASS_TYPE, &DATE,
&FETCH_SETID, &ACTUAL_FTE_TOTAL);
         &JB_BOTH_FTE = &ACTUAL_FTE_TOTAL;
      End-If;
      InitVariablesI();
      &FETCH_PSN_HEADCNT = DERIVED_HR.POSN_HEADCOUNT;
   End-If;
End-If;
If None(&INDUSTRY, &INDUSTRY_SECTOR) Then
   determine_opr_defaults();
End-If;
/*************************************
  End of Public Sector Extension
**************************************/
If INSTALLATION.POSITION_MGMT <> "N" And
      Substring(%Panel, 1, 13) = Substring(Panel.POSITION_DATA1, 1, 13) And
      %Mode <> "A" And
      RecordChanged(POSITION_DATA.POSITION_NBR) And
      Not (RecordDeleted(POSITION_DATA.POSITION_NBR)) Then

   /* FPS - French Public Sector specific processing */
   If INSTALLATION.FP_FLAG = "Y" Then
      fp_update_incumbents();
   End-If;

End-If;


/* If the Step Information has changed, check if the Pay Components for
   Zero Standard hour positions have rules which have non-hourly pay
   Components */
&EFFDT = POSITION_DATA.EFFDT;
&SAL_ADMIN_PLAN = POSITION_DATA.SAL_ADMIN_PLAN;
&GRADE = POSITION_DATA.GRADE;
&STEP = POSITION_DATA.STEP;
&BUSINESS_UNIT = POSITION_DATA.BUSINESS_UNIT;
&SETID_SALARY = GetSetId("BUSINESS_UNIT", &BUSINESS_UNIT, "SAL_PLAN_TBL", "");
If (FieldChanged(POSITION_DATA.STEP) Or
         FieldChanged(POSITION_DATA.SAL_ADMIN_PLAN) Or
         FieldChanged(POSITION_DATA.GRADE)) And
      None(POSITION_DATA.STD_HOURS) Then
   SQLExec("SELECT D1.CMP_RULE_ID, %DATEOUT(D1.EFFDT) FROM PS_CMP_RULE_DEFN D1 WHERE
D1.EFFDT = (SELECT MAX(D2.EFFDT) FROM PS_CMP_RULE_DEFN D2 WHERE D2.CMP_RULE_ID =
D1.CMP_RULE_ID AND D2.EFFDT <= %DATEIN(:1)) AND D1.EFF_STATUS = 'A' AND D1.CMP_SRC_IND =
'S' AND EXISTS (SELECT 'X' FROM PS_CMP_RULE_VALUES V WHERE V.CMP_RULE_ID = D1.CMP_RULE_ID
AND V.EFFDT = D1.EFFDT AND V.CMP_RULE_OPER_SEQ = 1 AND V.CMP_VALUE_SEQ = 1 AND V.SETID =
:2 AND V.SAL_ADMIN_PLAN = :3 AND V.GRADE = :4 AND V.CMP_FLD_VALUE = :5)", &EFFDT,
&SETID_SALARY, &SAL_ADMIN_PLAN, &GRADE, &STEP, &RULE_ID, &RULE_EFFDT);
   If All(&RULE_ID) And
         All(&RULE_EFFDT) Then
      &RULE_RC_RS = CreateRowset(Record.CMP_RULE_RATECD);
      &RULE_RC_RS.Fill("WHERE CMP_RULE_ID = :1 AND EFFDT = %DATEIN(:2)", &RULE_ID,
&RULE_EFFDT);
      If All(&RULE_RC_RS(1).GetRecord(1).CMP_RULE_ID.Value) Then
         For &i = 1 To &RULE_RC_RS.ActiveRowCount
            If &RULE_RC_RS(&i).GetRecord(1).COMP_FREQUENCY.Value <> "H" Then
                Error MsgGet(1000, 1167, "There are Pay Components with frequencies other
than hourly");
            End-If;
         End-For;
      End-If;
   End-If;
End-If;
/*******************************************************/
/* Begin 723407 */
Local string &ciName = %CompIntfcName;
If None(&ciName) And
      INSTALLATION.POSITION_MGMT <> "N" And
      Substring(%Panel, 1, 13) = Substring(Panel.POSITION_DATA1, 1, 13) And
      %Mode <> "A" And
      &INDUSTRY <> "GOVT" And
      &INDUSTRY_SECTOR <> "USFG" And
      POSITION_DATA.EFF_STATUS = "A" And
      POSITION_DATA.UPDATE_INCUMBENTS = "Y" And
      RecordChanged(POSITION_DATA.POSITION_NBR) And
      Not (RecordDeleted(POSITION_DATA.POSITION_NBR)) Then

   /* Begin 755777 */
   /*Check if JOB specific fields got changed in Position Data*/
   If FieldChanged(POSITION_DATA.ADDS_TO_FTE_ACTUAL) Or
         FieldChanged(POSITION_DATA.BUSINESS_UNIT) Or
         FieldChanged(POSITION_DATA.CLASS_INDC) Or
         FieldChanged(POSITION_DATA.COMPANY) Or
         FieldChanged(POSITION_DATA.DEPTID) Or
         FieldChanged(POSITION_DATA.FLSA_STATUS) Or
         FieldChanged(POSITION_DATA.FULL_PART_TIME) Or
         FieldChanged(POSITION_DATA.JOBCODE) Or
         FieldChanged(POSITION_DATA.LOCATION) Or
         FieldChanged(POSITION_DATA.REG_REGION) Or
         FieldChanged(POSITION_DATA.REG_TEMP) Or
         FieldChanged(POSITION_DATA.SHIFT) Or
         FieldChanged(POSITION_DATA.STD_HOURS) Or
         FieldChanged(POSITION_DATA.STD_HRS_FREQUENCY) Or
         FieldChanged(POSITION_DATA.UNION_CD) Or
         FieldChanged(POSITION_DATA.SUPV_LVL_ID) Or
         FieldChanged(POSITION_DATA.REPORTS_TO) Or
         ((FieldChanged(POSITION_DATA.SAL_ADMIN_PLAN) Or
               FieldChanged(POSITION_DATA.GRADE)) And
               FieldChanged(POSITION_DATA.GRADE) Or /* Resolution 861888 */
               FieldChanged(POSITION_DATA.STEP)) And /* Resolution 861888 */
            POSITION_DATA.INCLUDE_SALPLN_FLG = "Y") Then

      /* ask if user wants to update incumbents in batch */
      &NbrIncumbents =
GetLevel0().GetRow(1).GetRowset(Scroll.POSN_INCUMB_WS).ActiveRowCount;
      If &NbrIncumbents = 1 Then
         &Emplid =
GetLevel0().GetRow(1).GetRowset(Scroll.POSN_INCUMB_WS).GetRow(1).POSN_INCUMB_WS.EMPLID.
Value;
         If All(&Emplid) Then
            /* This position has %1 incumbents. Should the incumbent data be updated in batch
(later)? */
            &MessageBoxReturn = MessageBox(%MsgStyle_YesNo, "", 1000, 997, "Message not
Found.", &NbrIncumbents);
         End-If;
      Else
         /* This position has %1 incumbents. Should the incumbent data be updated in batch
(later)? */
         &MessageBoxReturn = MessageBox(%MsgStyle_YesNo, "", 1000, 997, "Message not
Found.", &NbrIncumbents);
      End-If;
      /* End 755777 */
      If &MessageBoxReturn = %MsgResult_Yes Then
         &UpdateIncumbentsNow = False;
      End-If;

   End-If;

End-If;
/* End 723407 */
PeopleCode (ApplEng): BN_BEN500_AE.INS-TURNGBLdefault 1900-01-01.Step010.OnExecute
         [ . . . Unchanged Code not Shown . . . ]




PeopleCode (ApplEng): BN_BEN500_AE.INS-TURNGBLdefault 1900-01-01.Step020.OnExecute
         [ . . . Unchanged Code not Shown . . . ]




PeopleCode (ApplEng): BN_BEN500_AE.JBACTVERGBLdefault 1900-01-01.Step01.OnExecute
         [ . . . Unchanged Code not Shown . . . ]




PeopleCode (ApplEng): BN_BEN500_AE.JBACTVERGBLdefault 1900-01-01.Step02.OnExecute
         [ . . . Unchanged Code not Shown . . . ]




PeopleCode (ApplEng): BN_BEN500_AE.JBFLGUPDGBLdefault 1900-01-01.Step001.OnExecute
         [ . . . Unchanged Code not Shown . . . ]




PeopleCode (ApplEng): BN_BEN500_AE.MULTJOBSGBLdefault 1900-01-01.Step140.OnExecute
         [ . . . Unchanged Code not Shown . . . ]




PeopleCode (ApplEng): BN_FSA001_AE.MIN-CHCKGBLdefault 1900-01-01.Step028.OnExecute
         If BN_FSA_AET.PGM_FLOW_CNTL <> "N" Then
            If BN_FSA_AET.PAYCHECK_NBR = 0 Then
               BN_FSA_AET.PGM_FLOW_CNTL = "I";
               Exit 0;
            Else
               BN_FSA_AET.PGM_FLOW_CNTL = "U";
               Exit 1;
            End-If;
         End-If;




PeopleCode (ApplEng): BN_FSA001_AE.PAY-CLM GBLdefault 1900-01-01.Step015.OnExecute
         If BN_FSA_AET.LAST_FORM_USED = 0 Then
            BN_FSA_AET.PGM_FLOW_CNTL = "I";
            BN_FSA_AET.PAYCHECK_NBR = BN_FSA_AET.PAYCHECK_NBR + 1;
            Exit 0;
         Else
            BN_FSA_AET.PGM_FLOW_CNTL = "U";
            BN_FSA_AET.PAYCHECK_NBR = BN_FSA_AET.LAST_FORM_USED;
            Exit 1;
         End-If;
PeopleCode (ApplEng): HR_CMP015.UPD_JOB GBLdefault 1900-01-01.CALL_CI.OnExecute
         Local string &ProcessMode, &CmpDontAbsorb, &RunControlID, &OperatorID, &NewValue, &EmplID,
         &EmplIDNext, &EmplIDPrior, &DfltCompBtn, &CmpChangeAmtFlg;
         Local integer &CountJob, &i, &j, &JobItemNbr;
         Local integer &CountJob, &i, &j, &JobItemNbr, &Row;
         Local date &AsOfDate, &EffDt, &EffDtPrior;
         Local number &EmplRcd, &EffSeq, &EffSeqPrior, &EmplRcdNext, &EmplRcdPrior;
         Local boolean &ErrorCI, &ErrorJob, &ErrorJobJr, &SaveSuccess;
         Local boolean &ErrorCI, &ErrorJob, &ErrorJobJr, &SaveSuccess, &Job_End;
         Local Rowset &rsJob;
         Local Record &recJob, &recJobNext, &recSearch;
         Local ApiObject &myCI, &ciSession, &JobItem, &JobJrItem;

         Local   array of Record &arrciLog;
         Local   boolean &ciHasErrors;
         Local   boolean &ciHasWarnings;
         Local   boolean &ciHasMessages;
         Local   Rowset &rsMsgDefn;


         [ . . . Unchanged Code not Shown . . . ]



         /************** code begins here **************************/

         /* get run control data */
         &OperatorID = HR_CMP015_AET.OPRID;
         &RunControlID = HR_CMP015_AET.RUN_CNTL_ID;
         &ProcessMode = HR_CMP015_AET.PRCS_MODE_FLG;
         &AsOfDate = HR_CMP015_AET.ASOF_DT;
         &CmpDontAbsorb = HR_CMP015_AET.CMP_DONT_ABSORB;
         If &CmpDontAbsorb <> "Y" Then
            &CmpDontAbsorb = "N";
         End-If;

         /*********************************************************/
         /* Get the Result Table of the last Update Seniority Pay */
         /*********************************************************/
         &rsJob = CreateRowset(Record.HR_CMP015_TAO1);
         &CountJob = &rsJob.Fill("WHERE OPRID = :1 AND RUN_CNTL_ID = :2", &OperatorID,
         &RunControlID);

         /**********************************/
         /* Initialize the Prior Variables */
         /**********************************/
         &EmplIDPrior = "";
         &EmplRcdPrior = - 1;
         &EffDtPrior = Date(19000101);
         &EffSeqPrior = - 1;

         &rsMsgDefn = CreateRowset(Record.PSMSGCATDEFN);

         /************************************/
         /* For each row in the Result Table */
         /************************************/
         For &i = 1 To &CountJob

            /* start ci log */
            ciStartLog();

            /**************************/
            /* Initialize Error Flags */
            /**************************/
            &ErrorCI = False;
            &ErrorJob = False;
            &ErrorJobJr = False;

            /****************/
            /* Get the Keys */
            /****************/
  &recJob = &rsJob.GetRow(&i).GetRecord(Record.HR_CMP015_TAO1);
  &EmplID = &recJob.EMPLID.Value;
  &EmplRcd = &recJob.EMPL_RCD.Value;
  &EffDt = &recJob.JOB_EFFDT.Value;
  &EffSeq = &recJob.JOB_EFFSEQ.Value;

  /***********************/
  /* If row is not empty */
  /***********************/
  If All(&EmplID) Then

     /**********************************************/
     /* If this is the first row of this Employee, */
     /* then open the CI of this Employee.         */
     /**********************************************/
     If &EmplIDPrior <> &EmplID Or
           &EmplRcdPrior <> &EmplRcd Then

         /******************************************/
         /* Create an entry in the Message Log      */
         /* for starting with this Employee Record */
         /******************************************/
         /* Start processing of employee record: EmplID %1, Empl Rcd %2, Effdt %3, Effseq
%4. */
         ciAddToLog(1000, 936, &EmplID, &EmplRcd, &EffDt, &EffSeq);

         /* create ci instance */
         &ciSession = %Session;
         &ciSession.PSMessagesMode = 1;
         &myCI = &ciSession.GetCompIntfc(CompIntfc.CI_JOB_DATA);
         If ((&myCI = Null) Or
                  (&ciSession.ErrorPending)) Then
            &ErrorCI = True;
         End-If;

         If Not &ErrorCI Then

            /* set ci standard properties */
            &myCI.InteractiveMode = False;
            &myCI.GetHistoryItems = True;
            &myCI.EditHistoryItems = True;

            /* set ci get keys */
            &myCI.KEYPROP_EMPLID = &EmplID;
            &myCI.KEYPROP_EMPL_RCD = String(&EmplRcd);

           /* get ci for this EmplID/EmplRcd */
           If &myCI.Get() Then
              /* make sure that there is no error */
              If &ciSession.ErrorPending Then
                 &ErrorCI = True;
              End-If;
           Else
              &ErrorCI = True;
           End-If;
        End-If;
     End-If;

     If Not &ErrorCI Then

         /**************************************************/
         /* If this is the first row of this Effdt/Effseq, */
         /* then update the Job Collection and the         */
         /* Job Jr Collection of this Effdt/Effseq.        */
         /**************************************************/
         If &EmplIDPrior <> &EmplID Or
               &EmplRcdPrior <> &EmplRcd Or
               &EffDtPrior <> &EffDt Or
               &EffSeqPrior <> &EffSeq Then

            If &ProcessMode = "I" And
                  &EffDt = &AsOfDate Then

              /* insert new job row */
              &JobItemNbr = &myCI.COLL_JOB.Count;
              &JobItem = &myCI.COLL_JOB.InsertItem(&JobItemNbr);
              &Row = 1;
              &Job_End = False;

               /* Find maximum effective dated and effective sequence Job Row to the
Effective Date being inserted */
               While Not &Job_End

                  &JobItem = &myCI.COLL_JOB.Item(&Row);

                  If &EffDt >= &JobItem.KEYPROP_EFFDT Then
                     /* Found Effective date, now check if on correct effective sequence
row */
                     If &EffDt = &JobItem.KEYPROP_EFFDT Then

                        If &EffSeq = &JobItem.KEYPROP_EFFSEQ + 1 Then
                           &Job_End = True;
                        End-If;

                     Else
                        &Job_End = True;
                     End-If;

                  Else
                     &Row = &Row + 1;
                  End-If;

              End-While;

              /* Found maximum effective dated and effective sequence row, insert new job
row */
              &JobItemNbr = &Row;
              &JobItem = &myCI.COLL_JOB.InsertItem(&Row);

              If ((&ciSession.ErrorPending) Or
                       (&JobItem = Null) Or
                       (&myCI = Null)) Then
                 &ErrorJob = True
              End-If;

              /* set new job item properties */
              /* Set new job item properties */
              If Not &ErrorJob Then
                 &JobItem.KEYPROP_EFFDT = String(&EffDt);
                 &JobItem.KEYPROP_EFFSEQ = String(&EffSeq);
                 &JobItem.PROP_ACTION = &recJob.ACTION.Value;
                 &JobItem.PROP_ACTION_REASON = &recJob.ACTION_REASON.Value;
                 If ((&ciSession.ErrorPending) Or
                          (&JobItem = Null) Or
                          (&myCI = Null)) Then
                    &ErrorJob = True
                 End-If;
              End-If;

           Else

              /* update existing job row */
              &JobItem = &myCI.COLL_JOB.ItemByKeys(String(&EffDt), String(&EffSeq));
              If ((&ciSession.ErrorPending) Or
                       (&JobItem = Null) Or
                       (&myCI = Null)) Then
                 &ErrorJob = True
              End-If;

           End-If;

           /* check again for errors */
            If ((&ciSession.ErrorPending) Or
                     (&JobItem = Null) Or
                     (&myCI = Null)) Then
               &ErrorJob = True;
            End-If;

            /*************************************************/
            /* Set Don't Absorb Flag to value of Run Control */
            /*************************************************/
            If Not &ErrorJob Then

                /* get first job jr item (job jr is a single child of job) */
                &JobJrItem = &JobItem.COLL_JOB_JR.Item(1);
                If ((&ciSession.ErrorPending) Or
                         (&JobJrItem = Null) Or
                         (&myCI = Null)) Then
                   &ErrorJobJr = True;
                End-If;

                /* set CmpDontAbsorb on job jr */
                If Not &ErrorJobJr Then
                   &JobJrItem.PROP_CMP_DONT_ABSORB = &CmpDontAbsorb;
                   If ((&ciSession.ErrorPending) Or
                            (&JobJrItem = Null) Or
                            (&myCI = Null)) Then
                      &ErrorJobJr = True;
                   End-If;
                End-If;

            End-If; /* If Not &ErrorJob */
         End-If; /* If &EmplIDPrior <> &EmplID Or &EmplRcdPrior <> &EmplRcd Or ... */

         /*****************************************************/
         /* Before going to the next Job row of the Employee, */
         /* click the 'Default Pay Components' button.        */
         /*****************************************************/
         If Not &ErrorJobJr And
               Not &ErrorJob Then

            &DfltCompBtn = &JobItem.PROP_DFLT_COMP_BTN;

            &NewValue = "N";
            If &DfltCompBtn = "N" Then
               &NewValue = "Y";
            End-If;

            &JobItem.PROP_DFLT_COMP_BTN = &NewValue;
            If ((&ciSession.ErrorPending) Or
                     (&JobItem = Null) Or
                     (&myCI = Null)) Then
               &ErrorJob = True;
            End-If;

            If Not &ErrorJob Then

                /*************************************************/
                /* Check if the Compensation Package has changed */
                /*************************************************/
                &CmpChangeAmtFlg = "";
                &CmpChangeAmtFlg = &JobItem.PROP_CMP_CHANGE_AMT_FLG;

                /***************************************/
                /* If Compensation Package has changed */
                /***************************************/
                If &CmpChangeAmtFlg = "Y" Then

                   /**************************************************************/
                   /* then, set the Change Amount Flag on HR_CMP015_TAO1 to 'Y'. */
                   /**************************************************************/
                   SQLExec("UPDATE PS_HR_CMP015_TAO1 SET CMP_CHANGE_AMT_FLG = 'Y' WHERE
OPRID = :1 AND RUN_CNTL_ID = :2 AND EMPLID = :3 AND EMPL_RCD = :4 AND JOB_EFFDT = %DATEIN(:5)
AND JOB_EFFSEQ = :6", &OperatorID, &RunControlID, &EmplID, &EmplRcd, &EffDt, &EffSeq);

                Else

                   /************************************************/
                   /* Else-If Compensation Package has not changed */
                   /************************************************/
                   If &CmpChangeAmtFlg = "N" Then

                      /**************************************************************/
                      /* then, set the Change Amount Flag on HR_CMP015_TAO1 to 'N'. */
                      /**************************************************************/
                      SQLExec("UPDATE PS_HR_CMP015_TAO1 SET CMP_CHANGE_AMT_FLG = 'N' WHERE
OPRID = :1 AND RUN_CNTL_ID = :2 AND EMPLID = :3 AND EMPL_RCD = :4 AND JOB_EFFDT = %DATEIN(:5)
AND JOB_EFFSEQ = :6", &OperatorID, &RunControlID, &EmplID, &EmplRcd, &EffDt, &EffSeq);

                       /*********************************************/
                       /* If the Job row was inserted, then delete */
                       /* the 'inserted' Collection because         */
                       /* the Compensation Package has not changed. */
                       /*********************************************/
                       If &ProcessMode = "I" And
                             &EffDt = &AsOfDate Then

                          /* delete new job row */
                          &JobItemNbr = &JobItem.ItemNum;
                          &myCI.COLL_JOB.DeleteItem(&JobItemNbr);
                          If ((&ciSession.ErrorPending) Or
                                   (&JobItem = Null) Or
                                   (&myCI = Null)) Then
                             &ErrorJob = True;
                          End-If;

                       End-If; /* If &ProcessMode = "I" and &EffDt = &AsOfDate */

                   Else

                       &ErrorJob = True; /* could not get PROP_CMP_CHANGE_AMT_FLG */

                  End-If; /* If &JobItem.PROP_CMP_CHANGE_AMT_FLG = "N" */
               End-If; /* If &JobItem.PROP_CMP_CHANGE_AMT_FLG = "Y" */
            End-If; /* If not &ErrorJob */
         End-If; /* If Not &ErrorJobJr And Not &ErrorJob */

         /**************************************************/
         /* Set Prior Variables for processing of next row */
         /**************************************************/
         &EmplIDPrior = &recJob.EMPLID.Value;
         &EmplRcdPrior = &recJob.EMPL_RCD.Value;
         &EffDtPrior = &recJob.JOB_EFFDT.Value;
         &EffSeqPrior = &recJob.JOB_EFFSEQ.Value;

         /****************************/
         /* Get Next Emplid/Empl_Rcd */
         /****************************/
         If &i < &rsJob.ActiveRowCount Then
            &recJobNext = &rsJob.GetRow(&i + 1).GetRecord(Record.HR_CMP015_TAO1);
            &EmplIDNext = &recJobNext.EMPLID.Value;
            &EmplRcdNext = &recJobNext.EMPL_RCD.Value;
         Else
            &EmplIDNext = "";
            &EmplRcdNext = - 1;
         End-If;

         /************************************************/
         /* If next row is a new Employee, then close CI */
         /************************************************/
         If &EmplIDNext <> &EmplID Or
               &EmplRcdNext <> &EmplRcd Then

            /*********************************/
             /* Close the Component Interface */
             /*********************************/
             If &ErrorJob Or
                   &ErrorJobJr Or
                   &ciHasErrors Then
                &SaveSuccess = False;
             Else
                &SaveSuccess = &myCI.Save();
             End-If;
             &myCI.Cancel();

             /***********************************/
             /* Check for errors here once more */
             /***********************************/
             If (( Not &SaveSuccess) Or
                      (&ciHasErrors)) Then

               /********************************************************/
               /* Set the Change Amount Flag on HR_CMP015_TAO1 to 'E'. */
               /********************************************************/
               SQLExec("UPDATE PS_HR_CMP015_TAO1 SET CMP_CHANGE_AMT_FLG = 'E' WHERE OPRID
= :1 AND RUN_CNTL_ID = :2 AND EMPLID = :3 AND EMPL_RCD = :4", &OperatorID, &RunControlID,
&EmplID, &EmplRcd);
               /******************************************/
               /* Create an entry in the Message Log       */
               /* when an error occured in Job Data CI. */
               /******************************************/
               /* Error saving Job Data for EmplID %1, Employee Record Number %2. */
               ciAddToLog(1000, 921, &EmplID, &EmplRcd, "", "");

             Else

               /* Component Interface completed successfully. */
               ciAddToLog(18016, 109, "", "", "", "");

             End-If; /* If not &ciCloseSuccess */

            /********************************************/
            /* Create an entry in the Message Log        */
            /* when completed with this Employee Record */
            /********************************************/
            /* Completed processing of employee record: EmplID %1, Empl Rcd %2, Effdt %3,
Effseq %4. */
            ciAddToLog(1000, 937, &EmplID, &EmplRcd, &EffDt, &EffSeq);

         End-If; /*   If &EmplIDNext <> &EmplID ... */

      Else

         /******************************************/
         /* Create an entry in the Message Log       */
         /* when Employee Record not accessible.     */
         /******************************************/
         /* Cannot enter Job Data CI for employee record: EmplID %1, Empl Rcd %2, Effdt %3,
Effseq %4. */
         ciAddToLog(1000, 938, &EmplID, &EmplRcd, &EffDt, &EffSeq);
         /********************************************************/
         /* Set the Change Amount Flag on HR_CMP015_TAO1 to 'E'. */
         /********************************************************/
         SQLExec("UPDATE PS_HR_CMP015_TAO1 SET CMP_CHANGE_AMT_FLG = 'E' WHERE OPRID = :1
AND RUN_CNTL_ID = :2 AND EMPLID = :3 AND EMPL_RCD = :4 AND JOB_EFFDT = %DATEIN(:5) AND
JOB_EFFSEQ = :6", &OperatorID, &RunControlID, &EmplID, &EmplRcd, &EffDt, &EffSeq);

      End-If; /* if not &ErrorCI */

      /* write the ci message log */
      ciWriteLog();

   End-If; /* If All(&EmplID) */

   /* Make sure each individual EMPLID has a commit issued */
            CommitWork();

         End-For; /* For &I = 1 To &rsJob.ActiveRowCount */




PeopleCode (ApplEng): SOCS_AFI_ESP.MAIN      GBLdefault 1900-01-01.Step02.OnExecute
         [ . . . Unchanged Code not Shown . . . ]

         Function Create_ETI();
            &ETI = Rept(" ", 70);
            &ETI = Replace(&ETI, 1, 3, "ETI"); /* 10 Segment Id */
            &ETI = Replace(&ETI, 4, 5, "AFI60"); /* 30 Message Id */
            &ETI = Replace(&ETI, 4, 5, "AFI62"); /* 30 Message Id */
            &ETI = Replace(&ETI, 9, 2, "WS"); /* 40 Process ID Id */
            &ETI = Replace(&ETI, 11, 3, Fill_Zeros(CleanString(&WS_Version), 3)); /* 50 Process
         Version Id */
            &ETI = Replace(&ETI, 14, 8, Fill_Zeros(CleanString(&AuthKey), 8)); /* 80 Authorization
         key */
            &ETI = Replace(&ETI, 22, 8, Fill_Blanks(&Silcon, 8)); /* 90 Reserved */
            &ETI = Replace(&ETI, 30, 12, Fill_Zeros(DateTime2String(%Datetime), 12));
            &ETI = Replace(&ETI, 42, 8, Fill_Blanks(&File_Name, 8)); /* 130 File Name */
            &ETI = Replace(&ETI, 50, 4, "AFIN");
            &ETI = Replace(&ETI, 54, 1, &Test);
            &ETI = Replace(&ETI, 55, 14, Fill_Zeros("", 14)); /* 170 Registry Id Nbr (5 labels) */
            &ETI = Replace(&ETI, 69, 1, Fill_Blanks("", 1)); /* 230 SS Reserved */
            &ETI = Replace(&ETI, 70, 1, Fill_Blanks("", 1)); /* 240 SS Reserved */
         End-Function;

         [ . . . Unchanged Code not Shown . . . ]

         Function Create_RZS();
            &RZS = Rept(" ", 70);
            &RZS = Replace(&RZS, 1, 3, "RZS"); /* 500 Segment Id */
            &RZS = Replace(&RZS, 4, 1, "0"); /* 510 Company type id */
            &RZS = Replace(&RZS, 5, 1, Fill_Blanks(&EmployerType, 1)); /* 520 Employeer type */
            &RZS = Replace(&RZS, 6, 55, Fill_Blanks(CleanName(&CompanyName), 55)); /* 530 Company
         name */
            &RZS = Replace(&RZS, 61, 8, Fill_Blanks(CleanString(&RZS_AuthorizationKey), 8)); /*
         Authorization Key only for CTA action */
            &RZS = Replace(&RZS, 68, 2, Fill_Blanks("", 2)); /* 540 Reserved */
            &RZS = Replace(&RZS, 61, 8, Fill_Zeros(CleanString(&RZS_AuthorizationKey), 8)); /*
         Authorization Key only for CTA action */
            &RZS = Replace(&RZS, 69, 2, Fill_Blanks("", 2)); /* 540 Reserved */
         End-Function;

         [ . . . Unchanged Code not Shown . . . ]

         Function Create_DOM();
            &DOM = Rept(" ", 70);
            &DOM = Replace(&DOM, 1, 3, "DOM"); /* 850 Segment Id */
            &DOM = Replace(&DOM, 4, 39, Fill_Blanks("", 39)); /* Address */
            &DOM = Replace(&DOM, 43, 5, Fill_Zeros("", 5)); /* 870 First Surname */
            &DOM = Replace(&DOM, 48, 11, Fill_Blanks("", 11)); /* 870 First Surname */
            &DOM = Replace(&DOM, 59, 9, Fill_Zeros(CleanString(&PhoneSMS), 9)); /* Phone SMS */
            &DOM = Replace(&DOM, 68, 1, Fill_Blanks(&RemovePhoneSMS, 1)); /* Remove Phone SMS */
            &DOM = Replace(&DOM, 69, 2, Fill_Blanks("", 2)); /* Reserved */
         End-Function;


         [ . . . Unchanged Code not Shown . . . ]

         Function Create_FCT();
            &FCT = Rept(" ", 70);
            &FCT = Replace(&FCT, 1, 3, "FCT"); /* 2000 Segment Descriptor */
            &FCT = Replace(&FCT, 4, 3, Fill_Zeros(&ASA_Type, 3)); /* 2010 SA Type */
            &FCT = Replace(&FCT, 7, 8, Fill_Zeros(Date2String(&VacationsEndDt), 8)); /* 2020
         Vacations end date */
     &FCT = Replace(&FCT, 15, 8, Fill_Zeros(Date2String(&FCT_BgnDt), 8)); /* 2030 Date From
*/
   &FCT = Replace(&FCT, 23, 8, Fill_Zeros(Date2String(&FCT_EndDt), 8)); /* 2040 Date To */
   &FCT = Replace(&FCT, 31, 8, Fill_Zeros("", 8)); /* 2050 New Date From */
   &FCT = Replace(&FCT, 39, 8, Fill_Zeros("", 8)); /* 2060 New Date To */
   &FCT = Replace(&FCT, 47, 8, Fill_Zeros("", 8)); /* 2070 Presentation Date */
   &FCT = Replace(&FCT, 55, 8, Fill_Zeros("", 8)); /* 2080 Effective Date */
   &FCT = Replace(&FCT, 63, 8, Fill_Blanks("", 8)); /* 2090 Reserved */
   &FCT = Replace(&FCT, 7, 3, Fill_Zeros(&ERE_Pct, 3)); /* ERE Percent */
   &FCT = Replace(&FCT, 10, 8, Fill_Zeros(Date2String(&VacationsEndDt), 8)); /* 2020
Vacations end date */
   &FCT = Replace(&FCT, 18, 8, Fill_Zeros(Date2String(&FCT_BgnDt), 8)); /* 2030 Date From
*/
   &FCT = Replace(&FCT, 26, 8, Fill_Zeros(Date2String(&FCT_EndDt), 8)); /* 2040 Date To */
   &FCT = Replace(&FCT, 34, 8, Fill_Zeros("", 8)); /* 2050 New Date From */
   &FCT = Replace(&FCT, 42, 8, Fill_Zeros("", 8)); /* 2060 New Date To */
   &FCT = Replace(&FCT, 50, 8, Fill_Zeros("", 8)); /* 2070 Presentation Date */
   &FCT = Replace(&FCT, 58, 8, Fill_Zeros("", 8)); /* 2080 Effective Date */
   &FCT = Replace(&FCT, 66, 5, Fill_Blanks("", 5)); /* 2090 Reserved */
End-Function;

Function Create_ETF();
   &ETF = Rept(" ", 70);
   &ETF = Replace(&ETF, 1, 3, "ETF"); /*3000 Segment Description */
   &ETF = Replace(&ETF, 4, 5, "AFI60"); /* 30 Message Id */
   &ETF = Replace(&ETF, 4, 5, "AFI62"); /* 30 Message Id */
   &ETF = Replace(&ETF, 9, 2, "WS"); /* 40 Process ID Id */
   &ETF = Replace(&ETF, 11, 3, Fill_Zeros(CleanString(&WS_Version), 3)); /* 50 Process
Version Id */
   &ETF = Replace(&ETF, 14, 8, Fill_Zeros(CleanString(&AuthKey), 8)); /* 3070 Authorization
key */
   &ETF = Replace(&ETF, 22, 8, Fill_Blanks(&Silcon, 8)); /* 3080 Reserved */
   &ETF = Replace(&ETF, 30, 12, Fill_Zeros(DateTime2String(%Datetime), 12)); /* 3090
Current DateTime */
   &ETF = Replace(&ETF, 42, 8, Fill_Blanks(&File_Name, 8)); /* File Name */
   &ETF = Replace(&ETF, 50, 4, "AFIN");
   &ETF = Replace(&ETF, 54, 1, Fill_Blanks(&Test, 1)); /* 3150 Test Id */
   &ETF = Replace(&ETF, 55, 5, Fill_Zeros(&N_CCC, 5)); /* 3160 EMP Segments Counter */
   &ETF = Replace(&ETF, 60, 8, Fill_Zeros(&N_SEGM, 8)); /* 3170 Total Segments number */
   &ETF = Replace(&ETF, 68, 3, Fill_Zeros(&N_SEGM, 3)); /* 3180 Reserved */
End-Function;

Function GetAFIData()

     /* Variable Initialization */

     &RiskCode = "";
     &SchemeID = "";
     &WorkGroup = "";
     &ContractType = "";
     &Status = "";
     &Unemployment = "";
     &Inactivity = "";
     &PartStrike = "";
     &WomenHired = "";
     &SocExclusion = "";
     &ContractBeginDt = "";
     &LaborRelationship = "";
     &SubstEmplid = "";
     &SubstReason = "";
     &ContractBgnDt = "";
     &ASA_Type = "";
     &FCT_BeginDt = "";
     &FCT_EndDt = "";
     &VacationsEndDt = "";
     &OccupationCode = "";
     &Source = "";
     &Collective = "";
     &LegalCustody = "";
     &DAM_LaborAgreement = "";
     &DAM_JobChangeReason = "";
  &DAM_RightLoss = "";
  &DAM_AgroEmploymnt = "";
  &FAB_Control_Dt = "";
  &DisabilityRate = "";
  &DAM_FamilyBond = "";
  &RZS_AuthorizationKey = "";
  &PhoneSMS = "";




  /* Yes/No Fields */
  &Maternity2Yrs = "N";
  &Subrepresented = "N";
  &RejoinDisb = "N";
  &FirstSelfWrk = "N";
  &ActiveRent = "N";
  &Subrogation = "N";
  &Relief = "N";
  &RemovePhoneSMS = "N";




  /* Data Retrieving */
  &RcAFI_Data = CreateRecord(Record.AFI_DATA_ESP);

  &RcAFI_Data.EMPLID.Value = &Emplid;
  &RcAFI_Data.EMPL_RCD.Value = &EmplRcd;
  &RcAFI_Data.EFFDT.Value = &Action_Dt;
  &RcAFI_Data.EFFSEQ.Value = &Effseq;

  &RcAFI_Data.SelectByKey();

  /* Variable Storing */

  If &Action_Dt < Date("2007-01-01") Then
     &RiskCode = &RcAFI_Data.SOC_SEC_RISK_CODE.Value;
  Else
     &OccupationCode = &RcAFI_Data.SOC_SEC_RISK_CODE.VALUE;
  End-If;


  &SchemeID = &RcAFI_Data.SCHEME_ID_ESP.Value;
  &WorkGroup = &RcAFI_Data.SOC_SEC_WRK_GRP_CD.Value;
  &ContractType = &RcAFI_Data.CONTRACT_TYPE.Value;


  &Status = &RcAFI_Data.AFI_EE_STATUS_ESP.Value;

   /* Print SS Labor Agreement ONLY if more than one Labor Agreement in the COMPANY */
   SQLExec("SELECT COUNT (DISTINCT SOCS_LBR_AGRMT_ESP) FROM PS_LBR_AGRM_ESP_VW WHERE
COMPANY = :1 AND SOCS_LBR_AGRMT_ESP <> ' '", &Company, &Count);
   If &Count > 1 Then
      &DAM_LaborAgreement = &RcAFI_Data.SOCS_LBR_AGRMT_ESP.Value;
   Else
      &DAM_LaborAgreement = "";
   End-If;


  &RcPersData = CreateRecord(Record.PERSONAL_DATA);
  &RcPersData.EMPLID.Value = &Emplid;
  &RcPersData.SelectByKey();
  &BirthDate = Date2String(&RcPersData.BIRTHDATE.Value);
  &FirstName = &RcPersData.FIRST_NAME.value;
  &LastName = &RcPersData.LAST_NAME.value;
  &Last2Name = &RcPersData.SECOND_LAST_NAME.value;


  If &Action = "MA" Then
     If &RcPersData.SEX.VALUE = "M" Then
         &Sex = "1"
      Else
         If &RcPersData.SEX.VALUE = "F" Then
            &Sex = "2"
         Else
            &Sex = " ";
         End-If;
      End-If;
   End-If;

   /* In case of Termination there is a distinct behaivour between data entered manually
from AFI_Data page */
   /* (Termination Dt = Effdt) and data coming from Job (Termination Dt = Effdt - 1)
*/

   &Source = &RcAFI_Data.AFI_DATASOURCE_ESP.Value;
   If &Action = "MB" And
         &Source = "J" Then
      &FAB_Action_Dt = &Action_Dt - 1;
   Else
      &FAB_Action_Dt = &Action_Dt;
   End-If;

   If &Action = "MA" Or
         &Action = "MC" Then

      &Maternity2Yrs = TranslateToSN(&RcAFI_Data.MATERNTY_2YRS_ESP.Value);
      &Subrepresented = TranslateToSN(&RcAFI_Data.WOMAN_SBRPRSNT_ESP.Value);
      &PartTime = &RcAFI_Data.PART_TIME_PERC_ESP.Value;
      &Inactivity = &RcAFI_Data.INACTIVITY_TYP_ESP.Value;
      &PartStrike = &RcAFI_Data.PART_STRK_ACT_ESP.Value;
      &WomenHired = &RcAFI_Data.WOMAN_HRD_AFTR_ESP.Value;
      &RejoinDisb = TranslateToSN(&RcAFI_Data.RE_JOIN_DSB_EE_ESP.Value);
      &DAM_FamilyBond = &RcAFI_Data.FAMILY_BOND_ESP.Value;
      &FirstSelfWrk = TranslateToSN(&RcAFI_Data.FIRST_SELFWRKR_ESP.Value);
      If &RcAFI_Data.AGRO_EMPLMNT_ESP.Value = "Y" Then
         &DAM_AgroEmployment = "1";
      Else
         &DAM_AgroEmployment = "0";
      End-If;

      &SocExclusion = &RcAFI_Data.SOC_EXCLUSION_ESP.Value;
      If &SocExclusion = "N" Then
         &SocExclusion = "0";
      End-If;
      &ActiveRent = TranslateToSN(&RcAFI_Data.ACTIVE_RENT_ESP.Value);
      &ContractBgnDt = &RcAFI_Data.CONTRACT_BEGIN_DT.Value;
      &Subrogation = TranslateToSN(&RcAFI_Data.PART_SUBROGTN_ESP.Value);
      &LaborRelationship = &RcAFI_Data.LABOR_RLTNSHIP_ESP.Value;
      &SubstEmplid = &RcAFI_Data.SUSBTIT_EMPLID_ESP.Value;
      &SubstReason = &RcAFI_Data.SUSBTIT_REASON_ESP.Value;
      &Relief = TranslateToSN(&RcAFI_Data.RELV_CONTRCT_ESP.Value);
      &Unemployment = &RcAFI_Data.UNEMPLYMNT_CND_ESP.Value;
      &LegalCustody = &RcAFI_Data.LEGAL_CUSTODY_ESP.Value;
      &DAM_JobChangeReason = &RcAFI_Data.JOB_CHANGE_RSN_ESP.Value;
      &DAM_RightLoss = &RcAFI_Data.RIGHTS_LOST_ESP.Value;
      &DAM_AgroEmploymnt = &RcAFI_Data.AGRO_EMPLMNT_ESP.Value;


      /* Disability */
      &RcDisab = CreateRecord(Record.DISABILITY_ESP);
      &RcDisab.EMPLID.Value = &Emplid;
      &RcDisab.SelectByKeyEffDt(&Action_Dt);
      &DisabilityRate = &RcDisab.HANDICAP_PCNT_ESP.Value;


   End-If;
   &FCT_OK = "N";
   If &Action = "ASA" Or
         &Action = "ESA" Or
         &Action = "ADT" Or
        &Action = "EDT" Then
     &ASA_Type = &RcAFI_Data.AFI_ASA_TYPE_ESP.Value;
     &FCT_EndDt = &RcAFI_Data.END_DT.Value;
     &FCT_BgnDt = &RcAFI_Data.BGN_DT.Value;
     &FCT_OK = "Y";
  End-If;

  If &Action = "MB" Or
        &Action = "MR" Then
     &DAM_WorkedDays = &RcAFI_Data.AFI_WORK_DAYS_ESP.Value;
     If &RcAFI_Data.VACN_END_DT_ESP.Value = &FAB_Action_Dt Then
        &VacationsEndDt = " ";
     Else
        &VacationsEndDt = &RcAFI_Data.VACN_END_DT_ESP.Value;
        &FCT_OK = "Y";
     End-If;
  End-If;

  /* If contract condition changes, including strike */
  If &Action = "MC" Then
     &PartTime = &RcAFI_Data.PART_TIME_PERC_ESP.Value;
     &Inactivity = &RcAFI_Data.INACTIVITY_TYP_ESP.Value;
     &PartStrike = &RcAFI_Data.PART_STRK_ACT_ESP.Value;
     &LegalCustody = &RcAFI_Data.LEGAL_CUSTODY_ESP.Value;
     &WomenHired = &RcAFI_Data.WOMAN_HRD_AFTR_ESP.Value;
     &DAM_JobChangeReason = &RcAFI_Data.JOB_CHANGE_RSN_ESP.Value;
  End-If;

  &DAM_OK = "N";
  /* In case of Hire or Labor Agreement Comunication*/

  If ((All(&DAM_LaborAgreement) And
              &Action = "MA") Or
           &Action = "ACT") Then
     &DAM_OK = "Y";
  End-If;

  If All(&LaborRelationship) Or
        All(&SubstReason) Or
        All(&DisabilityType) Or
        All(&DAM_JobChangeReason) Or
        (&Subrogation = "S") Or
        (&Relief = "S") Then
     &DAM_OK = "Y";
  End-If;
  /* In case of Change of Occupation or Hire */
  If &Action = "MT" Or
        (&Action = "MA" And
           &OccupationCode <> " ") Then

     &DAM_OK = "Y";
  End-If;

  &DOM_OK = "N";
  /* In case of Hire or Termination: SMS managment*/
  If (&Action = "MB" Or
           &Action = "MA") Then
     If All(&RcAFI_Data.PHONE.Value) Then
        &PhoneSMS = &RcAFI_Data.PHONE.Value;
        &DOM_OK = "Y";
     End-If;
     If (&RcAFI_Data.REMOVE_PHONE_ESP.Value = "Y") Then
        &RemovePhoneSMS = "S";
        &DOM_OK = "Y";
     End-If;
  End-If;


End-Function;

[ . . . Unchanged Code not Shown . . . ]
/*
Application Engine Parameters
*/
&OPRID = AFI_AET.OPRID;
&RUN_CNTL_ID = AFI_AET.RUN_CNTL_ID;
&File_Path = " ";
&File_Path = AFI_AET.FILE_PATH;
&File_Name = AFI_AET.AFI_FILE_NAME_ESP;
&File_PathName = &File_Path | &File_Name | ".AFI";
REM &AFICompany = AFI_AET.COMPANY;
&AuthKey = AFI_AET.SOCS_AUTH_KEY_ESP;
&DateFrom = AFI_AET.DATE_FROM;
&DateTo = AFI_AET.DATE_TO;

/* Message Log Parameters */
&INSTANCE = AFI_AET.PROCESS_INSTANCE;
&Program = "MAIN";
&Seq = GetMaxSeqNbr(&INSTANCE);

If AFI_AET.TEST_SS_ESP = "Y" Then
   &Test = "P";
Else
   &Test = "Ü";
End-If;

If &File_Path <> " " Then
   &File_AFI = GetFile(&File_PathName, "W", %FilePath_Absolute);
Else
   &File_AFI = GetFile(&File_PathName, "W", %FilePath_Relative);
End-If;

&N_SEGM = 1;
&N_CCC = 0;

/* Message Log:   Report Employees Movements */
&Seq = &Seq + 1;
WriteMsgLog(&INSTANCE, &Seq, &Program, 6550, 29, &File_Name, String(&DateFrom),
String(&DateTo), "");


&RsSS = CreateRecord(Record.SOCS_DATA_ESP);
&RsSS.REG_REGION.Value = "ESP";
&RsSS.SelectByKeyEffdt(%Date);
&WS_Version = &RsSS.GPES_WS_VERSION.Value;

&RsSilcon = CreateRecord(Record.SOCS_SETHD_VW);
&RsSilcon.SOCS_AUTH_KEY_ESP.Value = &AuthKey;
&RsSilcon.SelectByKey();
&AFICompany = &RsSilcon.COMPANY.Value;

&RsSSData = CreateRecord(Record.SOCS_SETHD_ESP);
&RsSSData.COMPANY.Value = &AFICompany;
&RsSSData.SelectByKeyEffDt(%Date);
&Silcon = &RsSSData.SOCS_SILCON_ESP.Value;


If &File_AFI.IsOpen Then
   Create_ETI();
   &File_AFI.WriteLine(&ETI);
   &N_SEGM = &N_SEGM + 1;
End-If;


&RsAFI_EE_CCC = CreateRowset(Record.AFI_CCC_VW_ESP);
&RsAFI_EE_CCC.Fill("WHERE OPRID = :1 AND RUN_CNTL_ID = :2 ORDER BY SSN_EMPLOYER", &OPRID,
&RUN_CNTL_ID);

&RsAFI_EE = CreateRowset(Record.AFI_RC_EE_ESP);
&Reported = 0;


/* Report Employees Movements */
For &j = 1 To &RsAFI_EE_CCC.ActiveRowCount
   &CCC = &RsAFI_EE_CCC.GetRow(&j).AFI_CCC_VW_ESP.SSN_EMPLOYER.Value;
   &Company = &RsAFI_EE_CCC.GetRow(&j).AFI_CCC_VW_ESP.COMPANY.Value;

  GetCompanyData();


   &RsAFI_EE.Fill("WHERE OPRID = :1 AND RUN_CNTL_ID = :2 AND SSN_EMPLOYER = :3 ORDER BY
EMPLID, ACTION_DT, EFFSEQ", &OPRID, &RUN_CNTL_ID, &CCC);


  For &i = 1 To &RsAFI_EE.ActiveRowCount
     If All(&RsAFI_EE.GetRow(&i).AFI_RC_EE_ESP.EMPLID.Value) Then

        If &i = 1 Then
           /* Print EMP & RZN segments ONLY if there is SOME employee to be reported */
           Create_EMP();
           &File_AFI.WriteLine(&EMP);
           &N_SEGM = &N_SEGM + 1;

            Create_RZS();
            &File_AFI.WriteLine(&RZS);
            &N_SEGM = &N_SEGM + 1;
         End-If;
         &Reported = &Reported + 1;
         &Emplid = &RsAFI_EE.GetRow(&i).AFI_RC_EE_ESP.EMPLID.Value;
         &EmplRcd = &RsAFI_EE.GetRow(&i).AFI_RC_EE_ESP.EMPL_RCD.Value;
         &Action = &RsAFI_EE.GetRow(&i).AFI_RC_EE_ESP.AFI_SS_ACTION_ESP.Value;
         &Status = &RsAFI_EE.GetRow(&i).AFI_RC_EE_ESP.AFI_EE_STATUS_ESP.Value;
         &Action_Dt = &RsAFI_EE.GetRow(&i).AFI_RC_EE_ESP.ACTION_DT.Value;
         &Effseq = &RsAFI_EE.GetRow(&i).AFI_RC_EE_ESP.EFFSEQ.Value;
         &PrintResponseFlag =
&RsAFI_EE.GetRow(&i).AFI_RC_EE_ESP.AFI_PRINT_FLG_ESP.Value;
         Evaluate &PrintResponseFlag
         When = "N"
            &PrintResponseFlag = "";
            Break;
         When = "S"
            &PrintResponseFlag = "S";
            Break;
         When = "I"
            &PrintResponseFlag = "I";
            Break;
         When = "C"
            If &Action = "MA" Or
                   &Action = "MC" Then
               &PrintResponseFlag = "C";
            Else
               &PrintResponseFlag = "";
               &PrintResponseFlag = "I";
            End-If;
            Break;
         End-Evaluate;

         /* Message Log:   Report Employees Movements */
         &Seq = &Seq + 1;
         WriteMsgLog(&INSTANCE, &Seq, &Program, 6550, 33, &Emplid, String(&Action_Dt),
&Action, &Status);


        &Array_IPF = GetIPF(&Emplid);
        &IPF_Type = &Array_IPF [1];
        &IPF = &Array_IPF [2];
        &IPF_Country = &Array_IPF [3];
        &IPF_Country = GetSSCountry(&IPF_Country);

        &SSN = GetSSN(&Emplid);
           &NSS = CleanString(&SSN);

           GetAFIData();

           If &ContractType = "" Then
              GetJobData();
              GetContractData();
              &ContractType = &RcContract.CONTRACT_TYPE.Value;
           End-If;

           Create_TRA();
           &File_AFI.WriteLine(&TRA);
           &N_SEGM = &N_SEGM + 1;

           Create_AYN();
           &File_AFI.WriteLine(&AYN);
           &N_SEGM = &N_SEGM + 1;

           If &DOM_OK = "Y" Then
              Create_DOM();
              &File_AFI.WriteLine(&DOM);
              &N_SEGM = &N_SEGM + 1;
           End-If;

           Create_FAB();
           &File_AFI.WriteLine(&FAB);
           &N_SEGM = &N_SEGM + 1;

           If &DAM_OK = "Y" Or
                 &Action = "ADT" Then
              Create_DAM();
              &File_AFI.WriteLine(&DAM);
              &N_SEGM = &N_SEGM + 1;
           End-If;
           If &FCT_OK = "Y" Then
              Create_FCT();
              &File_AFI.WriteLine(&FCT);
              &N_SEGM = &N_SEGM + 1;
           End-If;

           UpdateAFIData();

     End-If;

  End-For;

End-For;

/* Message Log:   Total Employee Movements reported */
&Seq = &Seq + 1;
WriteMsgLog(&INSTANCE, &Seq, &Program, 6550, 30, String(&Reported), "", "", "");


/* Report Employees Inquires */

&RsAFI_Oth = CreateRowset(Record.AFI_RC_OTH_ESP);
&RsAFI_Oth.Fill("WHERE OPRID = :1 AND RUN_CNTL_ID = :2", &OPRID, &RUN_CNTL_ID);
&Reported = 0;

For &i = 1 To &RsAFI_Oth.ActiveRowCount
   If All(&RsAFI_Oth.GetRow(&i).AFI_RC_OTH_ESP.EMPLID.Value) Then
      &Reported = &Reported + 1;
      &Emplid = &RsAFI_Oth.GetRow(&i).AFI_RC_OTH_ESP.EMPLID.Value;
      &EmplRcd = &RsAFI_Oth.GetRow(&i).AFI_RC_OTH_ESP.EMPL_RCD.Value;
      &Action_Dt = &RsAFI_Oth.GetRow(&i).AFI_RC_OTH_ESP.ACTION_DT.Value;
      &Effseq = 0;

     If None(&Action_Dt) Then
        &Action_Dt = %Date;
     End-If;
     &Action = &RsAFI_Oth.GetRow(&i).AFI_RC_OTH_ESP.AFI_SS_ACTION_ESP.Value;
     /* Message Log:   Report Employees Inquiries */
     &Seq = &Seq + 1;
     WriteMsgLog(&INSTANCE, &Seq, &Program, 6550, 33, &Emplid, &Action, "", "");


     &Array_IPF = GetIPF(&Emplid);
     &IPF_Type = &Array_IPF [1];
     &IPF = &Array_IPF [2];
     &IPF_Country = &Array_IPF [3];
     &IPF_Country = GetSSCountry(&IPF_Country);

     &SSN = GetSSN(&Emplid);
     &NSS = CleanString(&SSN);

     GetAFIData();
     GetJobData();
     &Company = &RcAFI_JobData.COMPANY.Value;
     &CCC = &RcAFI_JobJrData.SSN_EMPLOYER.Value;

     GetCompanyData();
     &SchemeID = GetScheme(&CCC);


     Create_EMP();
     &File_AFI.WriteLine(&EMP);
     &N_SEGM = &N_SEGM + 1;

     Create_RZS();
     &File_AFI.WriteLine(&RZS);
     &N_SEGM = &N_SEGM + 1;

     Create_TRA();
     &File_AFI.WriteLine(&TRA);
     &N_SEGM = &N_SEGM + 1;

     Create_AYN();
     &File_AFI.WriteLine(&AYN);
     &N_SEGM = &N_SEGM + 1;

     If &Action = "CD" Or
           &Action = "IDC" Then
        &FAB_Control_Dt = &RsAFI_Oth.GetRow(&i).AFI_RC_OTH_ESP.ACTION_DT.Value;
     End-If;
     If &Action = "CE" Then
        &FAB_Action_Dt = &RsAFI_Oth.GetRow(&i).AFI_RC_OTH_ESP.ACTION_DT.Value;
        &FAB_Control_Dt = &RsAFI_Oth.GetRow(&i).AFI_RC_OTH_ESP.END_DT.Value;
     End-If;
     &Status = "01";
     &PrintResponseFlag = &RsAFI_Oth.GetRow(&i).AFI_RC_OTH_ESP.AFI_PRINT_FLG_ESP.Value;
     If &PrintResponseFlag = "N" Then
        &PrintResponseFlag = "";
     End-If;

      Create_FAB();
      &File_AFI.WriteLine(&FAB);
      &N_SEGM = &N_SEGM + 1;
   End-If;
End-For;
/* Message Log:   Total Employee Inquiries reported*/
&Seq = &Seq + 1;
WriteMsgLog(&INSTANCE, &Seq, &Program, 6550, 31, String(&Reported), "", "", "");



/* Report CCC Inquires */

&RsAFI_CCC = CreateRowset(Record.AFI_RC_CMP_ESP);
&RsAFI_CCC.Fill("WHERE OPRID = :1 AND RUN_CNTL_ID = :2", &OPRID, &RUN_CNTL_ID);
&Reported = 0;
         /* Message Log:   Report CCC Inquires */

         For &g = 1 To &RsAFI_CCC.ActiveRowCount
            If All(&RsAFI_CCC.GetRow(&g).AFI_RC_CMP_ESP.SSN_EMPLOYER.Value) Then

               &Reported = &Reported + 1;
               &CCC = &RsAFI_CCC.GetRow(&g).AFI_RC_CMP_ESP.SSN_EMPLOYER.Value;
               &Company = &RsAFI_CCC.GetRow(&g).AFI_RC_CMP_ESP.COMPANY.Value;
               GetCompanyData();

               &SchemeID = GetScheme(&CCC);
               &ActionCMP = &RsAFI_CCC.GetRow(&g).AFI_RC_CMP_ESP.AFI_SS_ACTION_ESP.Value;
               /* Message Log:   Report Company Inquiries */
               &Seq = &Seq + 1;
               WriteMsgLog(&INSTANCE, &Seq, &Program, 6550, 33, &Company, &CCC, &ActionCMP, "");


               If &ActionCMP = "CTP" Then
                  &CCC = "";
                  &SchemeID = "";
               End-If;

               Create_EMP();
               &File_AFI.WriteLine(&EMP);
               &N_SEGM = &N_SEGM + 1;

               If &ActionCMP = "CTA" Then
                  &RZS_AuthorizationKey = &AuthKey;
               Else
                  &RZS_AuthorizationKey = "";
               End-If;


               Create_RZS();
               &File_AFI.WriteLine(&RZS);
               &N_SEGM = &N_SEGM + 1;

               /* CCC Labor Life */
               &FCE_BgnDt = "";
               &FCE_EndDt = "";
               If &ActionCMP = "CL" Then
                  &FCE_BgnDt = &RsAFI_CCC.GetRow(&g).AFI_RC_CMP_ESP.ACTION_DT.Value;
                  &FCE_EndDt = &RsAFI_CCC.GetRow(&g).AFI_RC_CMP_ESP.END_DT.Value;
                  Create_FCE();
                  &File_AFI.WriteLine(&FCE);
                  &N_SEGM = &N_SEGM + 1;
               End-If;


            End-If;
         End-For;
         /* Message Log:   Total Company Inquiries reported*/
         &Seq = &Seq + 1;
         WriteMsgLog(&INSTANCE, &Seq, &Program, 6550, 32, String(&Reported), "", "", "");


         Create_ETF();
         &File_AFI.WriteLine(&ETF);
         &N_SEGM = &N_SEGM + 1;
         &File_AFI.Close();

         /* Message Log:   End of Process*/
         &Seq = &Seq + 1;
         WriteMsgLog(&INSTANCE, &Seq, &Program, 17170, 42, "", "", "", "");




PeopleCode (Page): EP_CREATE_EE_RSLTS.Activate
         Declare Function GetSimpleText PeopleCode FUNCLIB_EP.HR_SSTEXT_KEY1 FieldFormula;
         Declare Function GetSimpleTextSub PeopleCode FUNCLIB_EP.HR_SSTEXT_KEY1 FieldFormula;
         Component string &strErrorMsg;

         Evaluate &strErrorMsg
         When "CREATE_BSELN_DUP" /*Duplicate review for target role*/
            EP_BTN_LINK_WRK.EP_HTMLAREA3 = GetSimpleTextSub(&strErrorMsg,
         EP_REVW_TYP_TBL.EP_REVW_DESCR.Value, DERIVED_EP.PERIOD_BEGIN_DT.FormattedValue,
         DERIVED_EP.PERIOD_END_DT.FormattedValue, "", "");
            Break;
         When "CREATE_BSELN_PART" /*Document switch in template is inactive for all included
         participants*/
         When "CREATE_BSELN_ROLE" /*No applicable review sections for one of the particpants included
         on the template*/
            EP_BTN_LINK_WRK.EP_HTMLAREA3 = GetSimpleTextSub(&strErrorMsg,
         EP_TMPL_DEFN.DESCR.Value, "", "", "", "");
            Break;
         When "CREATE_BSELN_APID" /*Invalid Appraisal ID, unable to retrieve valid number from
         ePerformance Installation*/
         When "CREATE_BSELN_PARM" /*Invalid or missing input parameter*/
         When "CREATE_BSELN_TMPL" /*Invalid template*/
         When "CREATE_BSELN_FAIL" /*Couldn't insert any sections*/
         When "CREATE_BSELN_DPID" /*Duplicate appraisal ID - Check ePerformance Installation*/
            /* Bug# 11634349 - Additional check*/
         When "CREATE_BSELN_HIR" /*Employee is not yet hired */
            EP_BTN_LINK_WRK.EP_HTMLAREA3 = GetSimpleText(&strErrorMsg);
            Break;
            /* End Bug# 11634349 */
         End-Evaluate;




PeopleCode (Component): CTPR_CREATEXML_ESP(GBL).PreBuild
         Declare Function EnableXMLSearchButton PeopleCode FUNCLIB_HR_ESP.XMLFILE_ID FieldFormula;
         Declare Function UnEnableXMLSearchButton PeopleCode FUNCLIB_HR_ESP.XMLFILE_ID
         FieldFormula;
         Declare Function HideXMLButtons PeopleCode FUNCLIB_HR_ESP.XMLFILE_ID FieldFormula;
         Declare Function ShowXMLButtons PeopleCode FUNCLIB_HR_ESP.XMLFILE_ID FieldFormula;
         Declare Function EnableXMLLoadButton PeopleCode FUNCLIB_HR_ESP.XMLFILE_ID FieldFormula;
         Declare Function UnEnableXMLButtons PeopleCode FUNCLIB_HR_ESP.XMLFILE_ID FieldFormula;


         Local Field &DetailResponse_Btn;
         Local Rowset &RsItem, &RsFilter, &RsSecondary, &RsResponse, &RsError;
         Local number &i;

         &xmlset_tmp = "P01";
         If XML_DEFN.XML_SET.Value <> "P01" And
               %Mode <> "A" Then
            Error MsgGet(6550, 168, "Error message not found", &xmlset_tmp);
         End-If;

         /* Get Rowset Data */
         &RsItem = GetLevel0()(1).GetRowset(Scroll.XML_ITEM);
         &RsFilter = GetLevel0()(1).GetRowset(Scroll.RC_CTTA_ESP);
         REM &RsResponse = GetLevel0()(1).GetRowset(Scroll.XML_RESP_ITEM);


         /* Activate Filter Fields */
         If None(DERIVED_HR_ESP.CTTA_FILTERBY_ESP) Or
               DERIVED_HR_ESP.CTTA_FILTERBY_ESP = "N" Then
            &RsFilter.HideAllRows();
         End-If;

         /* Activate XML Search Button */
         If (None(XML_DEFN.FROM_DATE.Value) Or
                  None(XML_DEFN.TO_DATE.Value)) Then
            UnEnableXMLSearchButton();
            DERIVED_HR_ESP.XML_GPBX_LBL2_ESP.Visible = False;
            &RsFilter.HideAllRows();
         Else
            EnableXMLSearchButton();
            DERIVED_HR_ESP.XML_GPBX_LBL2_ESP.Visible = True;
            &RsFilter.ShowAllRows();
         End-If;

         /*here!!!!!!!!!!!*/
         /* No Data Found -> Hide XML Buttons */
         If (&RsItem(1).XML_ITEM.KEY1_FLD_VAL.Value = "") Then
            DERIVED_HR_ESP.SELECT_BTN_ESP.Enabled = False;
            DERIVED_HR_ESP.UNSELECT_BTN_ESP.Enabled = False;
            FM_DERIVED_ESP.REFRESH_BTN.Visible = False;
            HideXMLButtons();
         Else
            ShowXMLButtons();
            UnEnableXMLButtons();
         End-If;

         If
         None(&RsItem.GetRow(1).GetRecord(Record.XML_ITEM).GetField(Field.KEY1_FLD_VAL).Value)
         Then
            DERIVED_HR_ESP.XML_GPBX_LBL2_ESP.Visible = False;
         End-If;

         DERIVED_HR_ESP.GENERATE_BTN_ESP.Enabled = True;




PeopleCode (Component): CTTA_CREATEXML_ESP(GBL).PreBuild
         Declare Function EnableXMLSearchButton PeopleCode FUNCLIB_HR_ESP.XMLFILE_ID FieldFormula;
         Declare Function UnEnableXMLSearchButton PeopleCode FUNCLIB_HR_ESP.XMLFILE_ID
         FieldFormula;



         Local Field &DetailResponse_Btn;
         Local Rowset &RsItem, &RsFilter, &RsSecondary;
         Local number &i;

         &xmlset_tmp = "C01";
         If XML_DEFN.XML_SET.Value <> "C01" And
               %Mode <> "A" Then
            Error MsgGet(6550, 168, "Error message not found", &xmlset_tmp);
         End-If;

         /* Get Rowset Data */

         &RsItem = GetLevel0()(1).GetRowset(Scroll.XML_ITEM);
         &RsFilter = GetLevel0()(1).GetRowset(Scroll.RC_CTTA_ESP);



         /* Activate Filter Fields */
         If None(DERIVED_HR_ESP.CTTA_FILTERBY_ESP) Or
               DERIVED_HR_ESP.CTTA_FILTERBY_ESP = "N" Then
            &RsFilter.HideAllRows();
         End-If;

         /* Activate XML Search Button */
         If (None(XML_DEFN.FROM_DATE.Value) Or
                  None(XML_DEFN.TO_DATE.Value)) Then
            UnEnableXMLSearchButton();
            DERIVED_HR_ESP.XML_GPBX_LBL2_ESP.Visible = False;
            &RsFilter.HideAllRows();
         Else
            EnableXMLSearchButton();
            DERIVED_HR_ESP.XML_GPBX_LBL2_ESP.Visible = True;
            &RsFilter.ShowAllRows();
         End-If;
         If
         None(&RsItem.GetRow(1).GetRecord(Record.XML_ITEM).GetField(Field.KEY1_FLD_VAL).Value)
         Then
            DERIVED_HR_ESP.XML_GPBX_LBL2_ESP.Visible = False;
         End-If;




PeopleCode (Component): DLT_CREATE_XML_ESP(GBL).PreBuild
         Declare Function EnableXMLSearchButton PeopleCode FUNCLIB_HR_ESP.XMLFILE_ID FieldFormula;
         Declare Function UnEnableXMLSearchButton PeopleCode FUNCLIB_HR_ESP.XMLFILE_ID
         FieldFormula;



         Local Field &DetailResponse_Btn;
         Local Rowset &RsItem, &RsFilter, &RsSecondary;
         Local number &i;

         /* Get Rowset Data */

         &xmlset_tmp = "D01";
         If XML_DEFN.XML_SET.Value <> "D01" And
               %Mode <> "A" Then
            Error MsgGet(6550, 168, "Error message not found", &xmlset_tmp);
         End-If;


         /* Get Rowset Data */
         &RsItem = GetLevel0()(1).GetRowset(Scroll.XML_ITEM);
         &RsFilter = GetLevel0()(1).GetRowset(Scroll.RC_CTTA_ESP);



         /* Activate Filter Fields */
         If None(DERIVED_HR_ESP.CTTA_FILTERBY_ESP) Or
               DERIVED_HR_ESP.CTTA_FILTERBY_ESP = "N" Then
            &RsFilter.HideAllRows();
         End-If;

         /* Activate XML Search Button */
         If (None(XML_DEFN.FROM_DATE.Value) Or
                  None(XML_DEFN.TO_DATE.Value)) Then
            UnEnableXMLSearchButton();
            DERIVED_HR_ESP.XML_GPBX_LBL3_ESP.Visible = False;
            &RsFilter.HideAllRows();
         Else
            EnableXMLSearchButton();
            DERIVED_HR_ESP.XML_GPBX_LBL3_ESP.Visible = True;
            &RsFilter.ShowAllRows();
         End-If;


         If
         None(&RsItem.GetRow(1).GetRecord(Record.XML_ITEM).GetField(Field.KEY1_FLD_VAL).Value)
         Then
            DERIVED_HR_ESP.XML_GPBX_LBL3_ESP.Visible = False;
         End-If;




PeopleCode (Component): EP_APPR_MAIN(GBL).SavePostChange
         import EP_FUNCTIONS:EP_Notification;
         import EP_FUNCTIONS:EP_Utilities;
import   HMAF_AWE:INTERFACES:ILaunchManager;
import   HMAF_AWE:ApprovalsFactory;
import   HCSC_USERLIST_UTILS:*;
import   HCSC:UI:DelegatorSelect;

/* Event Manager */
import HCR_EVENT_MANAGER:Utils:EventFactory;
import HCR_EVENT_MANAGER:Base:baseEvent;

Global Record &EP_GBLKEYS_WRK;

Component string &PushButton, &strComponentName;
Component string &Action, &AprvProcId, &DefinitionId;
Component Record &MyAttribRec;

Local   Record &recHeader = GetRecord(Record.EP_APPR);
Local   Record &recRole = GetRecord(Record.EP_APPR_ROLE);
Local   boolean &UpdateRatings = False;
Local   boolean &UpdateAppr = False;

Local Record &myDelegatorRec;

Local Record &ApprovalChain = CreateRecord(Record.EP_APPR_STA);
Local boolean &InsertChain = False;

/*Declare Objects*/
Local HMAF_AWE:ApprovalsFactory &AprvFactory;
Local HMAF_AWE:INTERFACES:ILaunchManager &LaunchMgr;
Local HCSC:UI:DelegatorSelect &myDelegator;
Local HCSC_USERLIST_UTILS:UserListAttrib &MyAttribClass;

&strComponentName = "EP_APPR_MAIN";
Local Rowset &rsSection = GetLevel0()(1).GetRowset(Scroll.EP_APPR_SECTION);
For &i = 1 To &rsSection.ActiveRowCount
   If &recRole.EP_ROLE.Value = "M" And
         &rsSection(&i).EP_APPR_SECTION.EP_SPCL_PROCESS.Value = "O" Then
      Evaluate &recHeader.EP_EE_REVIEW_FLG.Value
      When = "01"
         If &PushButton = "SUBMIT" Then
            &UpdateRatings = True;
         End-If;
      When = "02"
         If &PushButton = "AVAILABLE" Then
            &UpdateRatings = True;
         End-If;
      When = "03"
         If &PushButton = "AVAILABLE" Then
            &UpdateRatings = True;
         End-If;
      When = "04"
         If &PushButton = "COMPLETE" Then
            &UpdateRatings = True;
         End-If;
      When = "05"
         If &PushButton = "SUBMIT" Then
            &UpdateRatings = True;
         End-If;
      End-Evaluate;
      If &UpdateRatings = True Then
         &recHeader.REVIEW_RATING.Value =
&rsSection(&i).EP_APPR_SECTION.REVIEW_RATING.Value;
         &recHeader.EP_RATING.Value = &rsSection(&i).EP_APPR_SECTION.EP_RATING.Value;
         &recHeader.REVIEW_POINTS.Value =
&rsSection(&i).EP_APPR_SECTION.REVIEW_POINTS.Value;
         &UpdateAppr = True;
      End-If;
   End-If;
End-For;

Local EP_FUNCTIONS:EP_Utilities &EP_Utilities;
&EP_Utilities = create EP_FUNCTIONS:EP_Utilities();
Local HCR_EVENT_MANAGER:Utils:EventFactory &myEventFactory;
Local HCR_EVENT_MANAGER:Base:baseEvent &myEvent;

Evaluate &PushButton
When = "ACKNOWLEDGE";
   /* Set the Transaction Name for email notification. */
   If &EP_GBLKEYS_WRK.EP_USER_ROLE.Value = "E" Then
      DERIVED_EP.EP_TRANS_NAME = "EE-ACKNOWLEDGE";
   End-If;
   &recHeader.EP_EMPL_ACK_IND.Value = DERIVED_EP.EP_EMPL_ACK_IND.Value;
   &recHeader.EP_EMPL_ACK_DT.Value = %Date;
   &recHeader.EP_REVIEW_STATUS.Value = "AK";
   &UpdateAppr = True;
   Break;
When = "AVAILABLE";
   /* Set the Transaction Name for email notification. */
   DERIVED_EP.EP_TRANS_NAME = "RQST-REVIEW";
   &recHeader.EP_REVIEW_STATUS.Value = "AR";
   &UpdateAppr = True;
   Break;
When = "CHANGE_DUE_DATE";
   /* Set the Transaction Name for email notification. */
   DERIVED_EP.EP_TRANS_NAME = "CHG-DUEDATE";
   Break;
When = "CANCEL_EVALUATION"
   If &recRole.EP_ROLE.Value = "M" Then
      &EP_Utilities.CancelDocument(&recHeader);
   Else
      &EP_Utilities.CancelEvaluation(&recRole);
   End-If;
   &UpdateAppr = False;
   Break;
When = "DELETE_EVALUATION"
   &EP_Utilities.DeleteEvaluation(&recRole);
   &UpdateAppr = False;
   Break;
When = "COMPLETE";
   Evaluate &recRole.EP_ROLE.Value
   When = "M"
      &recHeader.EP_REVIEW_STATUS.Value = "CO";
      &UpdateAppr = True;
      /* Set the Transaction Name for email notification. */
      DERIVED_EP.EP_TRANS_NAME = "MGRDOC-COMPLETE";
      Break;
   When = "E"
      /* Set the Transaction Name for email notification. */
      DERIVED_EP.EP_TRANS_NAME = "EMPDOC-COMPLETE";
      Break;
   When-Other
      /* Set the Transaction Name for email notification. */
      DERIVED_EP.EP_TRANS_NAME = "OTHDOC-COMPLETE";
      Break;
   End-Evaluate;
   /* Logic for updating JPM Person Profile */
   /* Check if we need to call the event manager to update a person profile */
   If &EP_Utilities.CheckIfUpdatePersonProfile(&rsSection As Rowset) = True Then
      /* 862780 begin - do not update jpm person profile unless both manager evaluation and
employee evaluation are Both completed */

      If (&recHeader.EP_REVIEW_STATUS.Value = "CO") Then

         /* Call the event manager as we need to delete at least 1 section from a person
profile. */
         &myEventFactory = create HCR_EVENT_MANAGER:Utils:EventFactory();
         &myEvent = &myEventFactory.CreateEventObject("PerformanceDocCompleted");
         &myEvent.RaiseEventFromRecord(&recRole);
      End-If;
      /* 862780 end */
   End-If;
   Break;
When = "REWORK"
   If &recRole.EP_ROLE.Value = "M" Then
      &EP_Utilities.ChangeStatusDocument(&recHeader, &strComponentName);
   Else
      &EP_Utilities.ChangeStatusEvaluation(&recRole, &strComponentName);
   End-If;
   &UpdateAppr = False;
   Break;
When = "REVIEW_HELD";
   &recHeader.EP_REVIEW_STATUS.Value = "RH";
   &UpdateAppr = True;
   /* Set the Transaction Name for email notification. */
   DERIVED_EP.EP_TRANS_NAME = "RQST-ACKNOWLEDGE";
   Break;
When = "SUBMIT";
   &recHeader.EP_APPROVAL_STATUS.Value = "SUBM";
   &UpdateAppr = True;
   /***** HCM9.0 Approval Framework Logic *****/
   If &Action = "SUB" Then

      /*Perform a submit or resubmit for the current transaction*/
      If All(&AprvProcId) And
            All(&DefinitionId) Then
         &AprvFactory = create HMAF_AWE:ApprovalsFactory();
         &LaunchMgr = &AprvFactory.getLaunchManager(&AprvProcId, &recHeader,
%OperatorId);

         /* For multiple job support, we need to make sure that if the requester has multiple
jobs that
                    we give them the opportunity to select the proper one.*/
         /* &myDelegator = create HCSC:UI:DelegatorSelect();
            &myDelegatorRec = &myDelegator.GetDelegator(%EmployeeId, %Component);*/

         /*Create Attrib Class and assign your Attrib REc object to the UtilsRec property*/
         &MyAttribClass = create HCSC_USERLIST_UTILS:UserListAttrib();
         &MyAttribClass.UtilsRec = &MyAttribRec;

         /*Pass AttribClass to the AWE*/
         &LaunchMgr.SetAttributeObject(&MyAttribClass);

         /*Before assigning a value to the DefinitionId property, make sure this definition
id
                    exists by checking the array of definitionIds.*/
         Local boolean &ValidDefn = False;
         Local string &DefnValue;
         Local array of Record &DefArray = &LaunchMgr.FindDefinitionID();
         For &i = 1 To &DefArray.Len
            &DefnValue = &DefArray [&i].PTAFDEFN_ID.Value;
            If &DefnValue = &DefinitionId Then
               &ValidDefn = True;
            End-If;
         End-For;

         /* If definition Id is valid then use it, if not, AWE will use the default definition
id */
         If &ValidDefn = True Then
            &LaunchMgr.definition = &DefinitionId;
         Else
            /* Use default definition*/
            Local Record &Rec = CreateRecord(Record.PTAFAW_PRCS);
            SQLExec("SELECT A.PTAFDEFN_ID FROM PS_PTAFAW_PRCS A WHERE A.PTAFPRCS_ID = :1
AND A.EFF_STATUS = :2 AND PTAFDEFN_DEFAULT = :3 AND %EFFDTCHECK(:4, A, :5)", &AprvProcId,
"A", "Y", &Rec, %Date, &DefinitionId);
            &LaunchMgr.definition = &DefinitionId;
         End-If;
         If &LaunchMgr.hasAppDef Then
            If &LaunchMgr.submitEnabled Then
               &LaunchMgr.DoSubmit();
            Else
               If &LaunchMgr.resubmitEnabled Then
                  &LaunchMgr.DoResubmit();
               End-If;
            End-If;
         End-If;

         SQLExec("SELECT MAX(SEQNO) FROM PS_EP_APPR_STA WHERE EP_APPRAISAL_ID = :1",
&recRole.EP_APPRAISAL_ID.Value, &SeqNo);

         /*Populate STA Record*/
         If None(&SeqNo) Then
            /* appraisal has not been previously submitted */
            &TargetSeqNum = 1;
            &InsertChain = True;
         Else
            /* appraisal has already been submitted */
            &TargetSeqNum = &SeqNo + 1;
            &InsertChain = True;
         End-If;

         &ApprovalChain.EP_APPRAISAL_ID.Value = &recRole.EP_APPRAISAL_ID.Value;
         &ApprovalChain.SEQNO.Value = &TargetSeqNum;
         &ApprovalChain.HR_WF_ACTION.Value = "SUB";
         &ApprovalChain.ROLENAME.Value = "Originator";
         &ApprovalChain.EMPLID_TO.Value = %EmployeeId;
         &ApprovalChain.ROLEUSER.Value = %OperatorId;
         &ApprovalChain.TRANS_DT.Value = %Date;
         &ApprovalChain.COMMENTS.Value = " ";

         If &InsertChain = True Then
            &ApprovalChain.Insert();
         End-If;

         &Action = " ";

      End-If;

   End-If;

   /***** HCM9.0 Approval Framework Logic End *****/
   Break;
End-Evaluate;

/* Logic to determine when to cancel all oustanding evaluations   */
/* and nominations. This is determined by looking at the Cancel   */
/* Oustanding switch, and when the manager evaluation moves       */
/* passed 'in progress' status.                                   */
Local boolean &bCancelOutstanding = False;
If &recHeader.EP_CANCEL_OUT_SW.Value = "Y" And
      &recRole.EP_ROLE.Value = "M" Then
   Evaluate &PushButton
   When = "AVAILABLE"
      &bCancelOutstanding = True;
      Break;
   When = "COMPLETE"
      If &recHeader.EP_EE_REVIEW_FLG.Value = "04" Then
         &bCancelOutstanding = True;
      End-If;
      Break;
   When = "SUBMIT"
      If &recHeader.EP_EE_REVIEW_FLG.Value = "02" Or
            &recHeader.EP_EE_REVIEW_FLG.Value = "05" Then
         &bCancelOutstanding = True;
      End-If;
      Break;
   End-Evaluate;
End-If;

/* Cancel oustanding evaluations and nominations. */
If &bCancelOutstanding = True Then
   /* Fill a standalone rowset with all non-manager evaluations that are in progress. */
   Local Rowset &rsRoleStandAlone = CreateRowset(Record.EP_APPR_ROLE);
   Local Record &recRoleStandAlone;
   &rsRoleStandAlone.Fill("WHERE EP_APPRAISAL_ID = :1 AND EP_ROLE <> 'M' AND
EP_REVIEW_STATUS = 'IP'", &recHeader.EP_APPRAISAL_ID.Value);
   For &i = 1 To &rsRoleStandAlone.ActiveRowCount
      &recRoleStandAlone = &rsRoleStandAlone(&i).GetRecord(Record.EP_APPR_ROLE);
      &EP_Utilities.CancelEvaluation(&recRoleStandAlone);
   End-For;
   /* Fill a standalone rowset with all a document's pending nominations. */
   Local Rowset &rsNomineeStandAlone = CreateRowset(Record.EP_APPR_NOMINEE);
   Local Record &recNomineeStandAlone;
   &rsNomineeStandAlone.Fill("WHERE EP_APPRAISAL_ID = :1 AND EP_APPR_NOM_STATUS = 'P'",
&recHeader.EP_APPRAISAL_ID.Value);
   For &i = 1 To &rsNomineeStandAlone.ActiveRowCount
      &recNomineeStandAlone =
&rsNomineeStandAlone(&i).GetRecord(Record.EP_APPR_NOMINEE);
      &EP_Utilities.CancelNomination(&recNomineeStandAlone);
   End-For;
   &UpdateAppr = True;
End-If;

If &UpdateAppr = True Then
   /* Set the Nomination, Tracking Nomination, & Participation Status to     */
   /* 'complete' on the Document Header record (EP_APPR) when the overall    */
   /* document status moves past 'in-progress' status and isn't 'cancelled'. */
   If &recHeader.EP_REVIEW_STATUS.Value <> "IP" And
         &recHeader.EP_REVIEW_STATUS.Value <> "CA" Then
      If &recHeader.EP_NOM_STATUS.Value = "IP" Then
         &recHeader.EP_NOM_STATUS.Value = "CO";
      End-If;
      If &recHeader.EP_TRK_STATUS.Value = "IP" Then
         &recHeader.EP_TRK_STATUS.Value = "CO";
      End-If;
      If &recHeader.EP_PRT_STATUS.Value = "IP" Then
         &recHeader.EP_PRT_STATUS.Value = "CO";
      End-If;
   End-If;
   /* Update the Document Header record */
   &recHeader.Update();
End-If;

/* ***** Notification Logic ***** */
Local number &nbrDocumentID;
Local string &strRecipientID, &strRecipientRole;
Rem: Determine Recipient Information;
Evaluate DERIVED_EP.EP_TRANS_NAME.Value
When = "RQST-REVIEW"
When = "RQST-ACKNOWLEDGE"
When = "MGRDOC-COMPLETE"
   &nbrDocumentID = &recRole.EP_APPRAISAL_ID.Value;
   &strRecipientID = &recHeader.EMPLID.Value;
   &strRecipientRole = "E";
   Break;
When = "EMPDOC-COMPLETE"
When = "OTHDOC-COMPLETE"
When = "EE-ACKNOWLEDGE"
   &nbrDocumentID = &recRole.EP_APPRAISAL_ID.Value;
   &strRecipientID = &recHeader.EP_MANAGER_ID.Value;
   &strRecipientRole = "M";
   Break;
When = "CHG-DUEDATE"
   &nbrDocumentID = &recRole.EP_APPRAISAL_ID.Value;
   &strRecipientID = &recRole.EP_REVIEWER_ID.Value;
   &strRecipientRole = &recRole.EP_ROLE.Value;
When-Other
   Rem: Do not trigger a notification;
   SetDefault(DERIVED_EP.EP_TRANS_NAME);
   Break;
End-Evaluate;
Local EP_FUNCTIONS:EP_Notification &eMail;
If All(DERIVED_EP.EP_TRANS_NAME.Value) Then
   &eMail = create EP_FUNCTIONS:EP_Notification();
   &eMail.EP_Notify(DERIVED_EP.EP_TRANS_NAME.Value, &nbrDocumentID, &strRecipientID,
         &strRecipientRole, False, True);
            SetDefault(DERIVED_EP.EP_TRANS_NAME);
         End-If;
         /* ***** End Notification Logic ***** */




PeopleCode (Component): HRS_ADD_APPLICANT(GBL).SavePreChange
         import   HRS_CANDIDATE_MANAGER:OBJ_CANDIDATE:DATA:CandidateProfile;
         import   HRS_GLOBAL_CONTACT:Address:DynamicPage;
         import   HRS_GLOBAL_CONTACT:Name:DynamicPage;
         import   HRS_APPLICANT_TRACKING:RecruitmentTracking:INTFC:Recruitment;
         import   HRS_CANDIDATE_MANAGER:OBJ_CANDIDATE:INTFC:CandidateIntfcImp;
         import   HRS_COMMON:OBJ_STATUS_EFFECTS:BUS:StatusEffects;
         import   HRS_COMMON:OBJ_STATUS_EFFECTS:BUS:StatusEffectsMngr;
         import   HRS_CANDIDATE_MANAGER:APPLICANT_EMPLOYEE:ApplicantEmployeeController;

         Component HRS_CANDIDATE_MANAGER:APPLICANT_EMPLOYEE:ApplicantEmployeeController
         &employeeController;

         Component   Record &AppAddressRecord, &AppNameRecord;
         Component   boolean &AppAddressUpdate, &AppNameUpdate, &AppRcmntAdded, &bol_ProfileMgr;
         Component   HRS_GLOBAL_CONTACT:Address:DynamicPage &DynamicAddressPage;
         Component   HRS_GLOBAL_CONTACT:Name:DynamicPage &DynamicNamePage;
         Component   boolean &applicantSaved;

         Local   HRS_COMMON:OBJ_STATUS_EFFECTS:BUS:StatusEffects &cls_StatusEffects;
         Local   HRS_COMMON:OBJ_STATUS_EFFECTS:BUS:StatusEffectsMngr &cls_StatusEffectsMngr;
         Local   Rowset &rs_AppProfile;
         Local   Record &AddressWorkRecord, &NameWorkRecord;
         Local   string &HTML;
         Local   boolean &bol_return;

         /* 856844 CODE BEGIN */
         GetRecord(Record.HRS_APP_DIS).HRS_PERSON_ID.Value = HRS_APPLICANT.HRS_PERSON_ID.Value;
         /* 856844 CODE END */

         /* Set the Appld field */
         HRS_APPLICANT.APPLID.Value = String(HRS_APPLICANT.HRS_PERSON_ID.Value);

         &employeeController.saveBankInformation(GetRowset(Scroll.HRS_APP_BNKACCT),
         "HRS_APP_BNKACCT");

         /* Create Default Profile */

         &rs_AppProfile = GetRowset(Scroll.HRS_APP_PROFILE);

         If None(&rs_AppProfile(1).HRS_APP_PROFILE.HRS_PROFILE_SEQ.Value) And
               &bol_ProfileMgr = False Then

            Local HRS_CANDIDATE_MANAGER:OBJ_CANDIDATE:DATA:CandidateProfile &cls_CandidateProfile
         = create HRS_CANDIDATE_MANAGER:OBJ_CANDIDATE:DATA:CandidateProfile();
            Local HRS_CANDIDATE_MANAGER:OBJ_CANDIDATE:INTFC:CandidateIntfcImp &cls_applicant =
         create HRS_CANDIDATE_MANAGER:OBJ_CANDIDATE:INTFC:CandidateIntfcImp();
            Local array of Record &ary_exception;
            Local Record &rec_exceptions = CreateRecord(Record.CI_EXCEPTIONS);
            Local number &nbr_ProfileSeq;

            &ary_exception = CreateArrayRept(&rec_exceptions, 0);

            &bol_return = &cls_CandidateProfile.LoadCandidateProfile(0, 0);
            &cls_CandidateProfile.HRS_PERSON_ID = HRS_APPLICANT.HRS_PERSON_ID.Value;
            &bol_return = &cls_CandidateProfile.Save(&ary_exception);

            &nbr_ProfileSeq = &cls_CandidateProfile.HRS_PROFILE_SEQ;

            &nbr_ProfileSeq = 1;

            /* Refresh Profile Scroll */
   &rs_AppProfile.Flush();
   &rs_AppProfile.Select(Record.HRS_APP_PROFILE, "WHERE HRS_PERSON_ID = :1",
HRS_APPLICANT.HRS_PERSON_ID.Value);

  &cls_CandidateProfile.saveDefaultRelatedDataForEmplid(HRS_APPLICANT.EMPLID.Value);

  /* Create Default Recruitment Tracking */
  If &AppRcmntAdded = False Then

      Local HRS_APPLICANT_TRACKING:RecruitmentTracking:INTFC:Recruitment
&cls_Recruitment;
      Local Record &rec_rcmnt;

      &cls_Recruitment = create
HRS_APPLICANT_TRACKING:RecruitmentTracking:INTFC:Recruitment();
      &rec_rcmnt = &cls_Recruitment.GetClassRec(HRS_APPLICANT.HRS_PERSON_ID.Value, 0);

     &rec_rcmnt.HRS_PROFILE_SEQ.Value = &nbr_ProfileSeq;
     &bol_return = &cls_Recruitment.Save();

      &cls_StatusEffects = create HRS_COMMON:OBJ_STATUS_EFFECTS:BUS:StatusEffects();
      &cls_StatusEffectsMngr = create
HRS_COMMON:OBJ_STATUS_EFFECTS:BUS:StatusEffectsMngr();

     &cls_StatusEffects.PersonId = HRS_APPLICANT.HRS_PERSON_ID.Value;
     &cls_StatusEffects.RcmntId = &rec_rcmnt.HRS_RCMNT_ID.Value;
     &cls_StatusEffects.JobOpenId = &rec_rcmnt.HRS_JOB_OPENING_ID.Value;
     &cls_StatusEffects.StatusArea = "3";
     &cls_StatusEffects.StatusCode = &rec_rcmnt.STATUS_CODE.Value;
     &cls_StatusEffects.StatusDt = %Date;

      &bol_RetVal =
&cls_StatusEffectsMngr.saveRecruitmentSummaryHistory(&cls_StatusEffects);
      &cls_StatusEffectsMngr.statusEffects(&cls_StatusEffects);

      &AppRcmntAdded = True;
   End-If;
   &applicantSaved = True;
End-If;

If %Mode = "A" Then
   If &applicantSaved Then
      HRS_APPNAV_WRK.HRS_APP2_NAV_BOX.Visible = False;
      HRS_APPNAV_WRK.HRS_APP_NAV_BOX.Visible = True;
   Else
      HRS_APPNAV_WRK.HRS_APP2_NAV_BOX.Visible = True;
      HRS_APPNAV_WRK.HRS_APP_NAV_BOX.Visible = False;
   End-If;
End-If;


/* Manage Status Effects */

/* Check for Status Change */
If HRS_APPLICANT.STATUS_CODE.Value <> HRS_APPLICANT.STATUS_CODE.OriginalValue Then

   /* Update Status Effects */
   &cls_StatusEffects = create HRS_COMMON:OBJ_STATUS_EFFECTS:BUS:StatusEffects();
   &cls_StatusEffectsMngr = create
HRS_COMMON:OBJ_STATUS_EFFECTS:BUS:StatusEffectsMngr();

  &cls_StatusEffects.PersonId =   HRS_APPLICANT.HRS_PERSON_ID.Value;
  &cls_StatusEffects.StatusArea   = "2";
  &cls_StatusEffects.StatusCode   = HRS_APPLICANT.STATUS_CODE.Value;
  &cls_StatusEffects.StatusDt =   HRS_APPLICANT.STATUS_DT.Value;

  &cls_StatusEffectsMngr.statusEffects(&cls_StatusEffects);

End-If;
PeopleCode (Component): HRS_CE(GBL).SavePreChange
         [ . . . Unchanged Code not Shown . . . ]




PeopleCode (Component): TRN_T_CRTE_XML_ESP(GBL).PreBuild
         Declare Function EnableXMLSearchButton PeopleCode FUNCLIB_HR_ESP.XMLFILE_ID FieldFormula;
         Declare Function UnEnableXMLSearchButton PeopleCode FUNCLIB_HR_ESP.XMLFILE_ID
         FieldFormula;

         Local Field &DetailResponse_Btn;
         Local Rowset &RsItem, &RsFilter, &RsSecondary;
         Local number &i;

         /* Get Rowset Data */

         &xmlset_tmp = "T01";
         If XML_DEFN.XML_SET.Value <> "T01" And
               %Mode <> "A" Then
            Error MsgGet(6550, 168, "Error message not found", &xmlset_tmp);
         End-If;

         /* Get Rowset Data */
         &RsItem = GetLevel0()(1).GetRowset(Scroll.XML_ITEM);

         /* Activate XML Search Button */
         If (None(XML_DEFN.FROM_DATE.Value) Or
                  None(XML_DEFN.TO_DATE.Value)) Then
            UnEnableXMLSearchButton();
            DERIVED_HR_ESP.XML_GPBX_LBL3_ESP.Visible = False;
         Else
            EnableXMLSearchButton();
            DERIVED_HR_ESP.XML_GPBX_LBL3_ESP.Visible = True;
         End-If;

         If
         None(&RsItem.GetRow(1).GetRecord(Record.XML_ITEM).GetField(Field.KEY1_FLD_VAL).Value)
         Then
            DERIVED_HR_ESP.XML_GPBX_LBL3_ESP.Visible = False;
         End-If;




PeopleCode (CompRecord): ADDL_INFO_BRA(GBL).CONTRACT_DATA.SaveEdit
         If All(CONTRACT_DATA.CONTRACT_BEGIN_DT, CONTRACT_DATA.CONTRACT_END_DT) Then
            If CONTRACT_DATA.CONTRACT_BEGIN_DT > CONTRACT_DATA.CONTRACT_END_DT Then
               Error MsgGet(6566, 90, "Message not found");
            End-If;
         End-If;




PeopleCode (CompRecord): ADDL_INFO_BRA(GBL).FUNCLIB_HR.RowInit
         SQLExec("select BUSINESS_UNIT FROM PS_JOB WHERE EMPLID = :1 and EFFDT = (SELECT MAX(EFFDT)
         FROM PS_JOB A WHERE A.EMPLID = :1 AND A.EFFDT <= %DateIn(:2))", CONTRACT_DATA.EMPLID,
         CONTRACT_DATA.CONTRACT_BEGIN_DT, &bus);
         SQLExec("select BUSINESS_UNIT FROM PS_JOB WHERE EMPLID = :1 and EFFDT = (SELECT MAX(EFFDT)
         FROM PS_JOB A WHERE A.EMPLID = :1 AND A.EFFDT <= %DateIn(:2))", CNT_JOB_BRA_VW.EMPLID,
         DERIVED_HR_BRA.CONTRACT_BEGIN_DT, &bus);

         /*EXW Based on the defaulted Business Unit, the code finds the corresponding SetID and updates
         FUNCLIB_HR.DEFAULT_SETID.*/
         If All(&bus) Then
            &SETID = GetSetId("BUSINESS_UNIT", &bus, "BUS_UNIT_OPT_HR", "");
            UpdateValue(FUNCLIB_HR.DEFAULT_SETID, CurrentRowNumber(1), &SETID);

         End-If;




PeopleCode (CompRecord): AFI_RC_ESP(GBL).AFI_RC_OTH_ESP.RowInit
         [ . . . Unchanged Code not Shown . . . ]




PeopleCode (CompRecord): CTPR_CREATEXML_ESP(GBL).XML_DEFN.SearchInit
         XML_DEFN.XMLFILE_ID.Label = XML_DEFN.XMLFILE_ID.GetLongLabel("CTPR_RUN_ID");




PeopleCode (CompRecord): CTPR_CREATEXML_ESP(GBL).XML_DEFN_SRCH.SearchInit
         XML_DEFN_SRCH.XMLFILE_ID.Label = XML_DEFN_SRCH.XMLFILE_ID.GetLongLabel("CTPR_RUN_ID");




PeopleCode (CompRecord): CTTA_CREATEXML_ESP(GBL).XML_DEFN_SRCH.SearchInit
         If %Menu = "ADMINISTER_WORKFORCE_(GBL)" Then
         /*If %Menu = "ADMINISTER_WORKFORCE_(GBL)" Then
            XML_DEFN_SRCH.XML_SET = "C01";
            XML_DEFN_SRCH.XML_SET.Visible = False;
         End-If;
         */




PeopleCode (CompRecord): DLT_CREATE_XML_ESP(GBL).XML_DEFN_SRCH.SearchInit
         If %Menu = "MONITOR_HEALTH_SAFETY_(GBL)" Then
         /*If %Menu = "MONITOR_HEALTH_SAFETY_(GBL)" Then
            XML_DEFN_SRCH.XML_SET = "D01";
            XML_DEFN_SRCH.XML_SET.Visible = False;
         End-If;
         End-If;*/




PeopleCode (CompRecord): HRS_APP_PROFILE(GBL).HRS_APP_WRK_EXP.RowInsert
         import HRS_COMMON:COMMON:UTIL:GetText;
         import HRS_COMMON:COMMON:UTIL:GetText;
         import HRS_GLOBAL_CONTACT:Address:DynamicPage;

         Component string &str_cWrkExperienceMode;
         Component Record &WrkExpAddrWork;

         Local   Record &WrkExpAddressRecord;
         Local   HRS_GLOBAL_CONTACT:Address:DynamicPage &DynamicWrkExpAddressPage;
         Local   number &c_nbr_CurrentRowNumber, &nbr_ModalReturn;
         Local   Rowset &rs_CurrentRowset;

         Local number &nbr_lDoModalReturnNo;

         &str_cWrkExperienceMode = "A";
         &WrkExpAddrWork = GetRow().HRS_ADDR_WORK;
         &WrkExpAddressRecord = GetRow().HRS_APP_WRK_EXP;

         &WrkExpAddressRecord.CopyFieldsTo(&WrkExpAddrWork);
         &DynamicWrkExpAddressPage = create
         HRS_GLOBAL_CONTACT:Address:DynamicPage(&WrkExpAddrWork);
         &DynamicWrkExpAddressPage.SetCountry();

         &nbr_lDoModalReturnNo = DoModal(Page.HRS_APP_WRK_SEC, " ", - 1, - 1);

         &WrkExpAddrWork.CopyFieldsTo(&WrkExpAddressRecord);


         /* For Resolution 857840 Begins*/
         Local Rowset &rs_AppWrkExp;

         Local number &nbr_SeqNbr;

         &rs_AppWrkExp = GetRowset();
         &MAX_SEQ_NBR = 1;
         /*-----------------------------------*/
         /* Determine Maximum Sequence Number */
         /*-----------------------------------*/

         For &I = 1 To &rs_AppWrkExp.ActiveRowCount;
            If &rs_AppWrkExp(&I).HRS_APP_WRK_EXP.SEQUENCE_NBR.Value > &MAX_SEQ_NBR Then
               &MAX_SEQ_NBR = &rs_AppWrkExp(&I).HRS_APP_WRK_EXP.SEQUENCE_NBR.Value;
            End-If;
         End-For;
         /*-----------------------------------*/
         /* Set Sequence Number to Max + 1    */
         /*-----------------------------------*/
         HRS_APP_WRK_EXP.SEQUENCE_NBR = &MAX_SEQ_NBR + 1;

         /* For Resolution 857840 Ends*/




PeopleCode (CompRecord): HRS_APP_PROFILE(GBL).HRS_APP_WRK_EXP.SavePreChange
         <*/* For RS857840 Begins*/
         Local Rowset &rs_AppWrkExp;

         Local number &nbr_SeqNbr;

         &rs_AppWrkExp = GetRowset();

         For &i = 1 To &rs_AppWrkExp.ActiveRowCount

            If &rs_AppWrkExp.GetRow(&i).GetRecord(Record.HRS_APP_WRK_EXP).SEQUENCE_NBR.Value >
         &nbr_SeqNbr Then
               &nbr_SeqNbr =
         &rs_AppWrkExp.GetRow(&i).GetRecord(Record.HRS_APP_WRK_EXP).SEQUENCE_NBR.Value;
            End-If;
         End-For;
         If GetRecord(Record.HRS_APP_WRK_EXP).IsChanged Then
            If HRS_APP_WRK_EXP.SEQUENCE_NBR.Value <= 0 And
                  All(HRS_APP_WRK_EXP.EMPLOYER) Then
               HRS_APP_WRK_EXP.SEQUENCE_NBR.Value = &nbr_SeqNbr + 1;
            End-If;
         End-If;
         For RS857840 Ends*>




PeopleCode (CompRecord): HRS_CE(GBL).HRS_APP_WRK_EXP.RowInsert
         /* For Resolution 857840 Begins*/
         Local Rowset &rs_AppWrkExp;
         Local number &nbr_SeqNbr;

         &rs_AppWrkExp = GetRowset();
         &MAX_SEQ_NBR = 1;
         /*-----------------------------------*/
         /* Determine Maximum Sequence Number */
         /*-----------------------------------*/

         For &I = 1 To &rs_AppWrkExp.ActiveRowCount;
            If &rs_AppWrkExp(&I).HRS_APP_WRK_EXP.SEQUENCE_NBR.Value > &MAX_SEQ_NBR Then
               &MAX_SEQ_NBR = &rs_AppWrkExp(&I).HRS_APP_WRK_EXP.SEQUENCE_NBR.Value;
            End-If;
         End-For;
         /*-----------------------------------*/
         /* Set Sequence Number to Max + 1    */
         /*-----------------------------------*/
         HRS_APP_WRK_EXP.SEQUENCE_NBR = &MAX_SEQ_NBR + 1;




PeopleCode (CompRecord): HRS_CE(GBL).HRS_APP_WRK_EXP.SavePreChange
         <* For RS 857840 Begins
         Local Rowset &rs_AppWrkExp;

         Local number &nbr_SeqNbr;

         &rs_AppWrkExp = GetRowset();

         For &i = 1 To &rs_AppWrkExp.ActiveRowCount

            If &rs_AppWrkExp.GetRow(&i).GetRecord(Record.HRS_APP_WRK_EXP).SEQUENCE_NBR.Value >
         &nbr_SeqNbr Then
               &nbr_SeqNbr =
         &rs_AppWrkExp.GetRow(&i).GetRecord(Record.HRS_APP_WRK_EXP).SEQUENCE_NBR.Value;
            End-If;
         End-For;
         If GetRecord(Record.HRS_APP_WRK_EXP).IsChanged Then
            If HRS_APP_WRK_EXP.SEQUENCE_NBR.Value <= 0 And
                  All(HRS_APP_WRK_EXP.EMPLOYER) Then
               HRS_APP_WRK_EXP.SEQUENCE_NBR.Value = &nbr_SeqNbr + 1;
            End-If;
         End-If;
         For RS857840 Ends *>




PeopleCode (CompRecord): HRS_DUPE_REVIEW(GBL).HRS_DUPE_PERSON.RowInit
         /*import HRS_CANDIDATE_MANAGER:CMP_DUPE_PRCS:UI:HRS_DUPE_REVIEW;

         Component HRS_CANDIDATE_MANAGER:CMP_DUPE_PRCS:UI:HRS_DUPE_REVIEW &hdr;

         &hdr.AdjustDisplay();
         */
         import HRS_CANDIDATE_MANAGER:CMP_DUPE_PRCS:UI:HRS_DUPE_REVIEW;

         Component HRS_CANDIDATE_MANAGER:CMP_DUPE_PRCS:UI:HRS_DUPE_REVIEW &hdr;

         &hdr.DisplayTarget();




PeopleCode (CompRecord): HRS_DUPE_REVIEW(GBL).HRS_DUPE_VW.RowInit
         /* 863948 Begin */
         import HRS_CANDIDATE_MANAGER:CMP_DUPE_PRCS:UI:HRS_DUPE_REVIEW;
         Component HRS_CANDIDATE_MANAGER:CMP_DUPE_PRCS:UI:HRS_DUPE_REVIEW &hdr;

         &hdr.DisplayTarget();

         /* 863948 End */




PeopleCode (CompRecord): PERSONAL_DATA(GBL).PERSON.SaveEdit
         import HR_SEARCH_MATCH_INTERFACE:*;
         import SCC_EXTERNAL_SM:AutoSearchMatchManager;

         Local HRSearchMatch &mySearchMatch;
         Local SCC_EXTERNAL_SM:AutoSearchMatchManager &mySearchMatch;

         Local string &ciName, &Check;
         Local number &UserResponse;
         Local date &myAsOfDate;

         &ciName = %CompIntfcName;

         /* Invoke the Search/Match service if we're adding */
         /* a new person interactively.                     */
         If None(&ciName) And
               %Mode = "A" Then
            If INSTALL_PERSON.USE_SEARCH_MATCH = "Y" Then
            <*Remarking for activating ESM*>
            REM If INSTALL_PERSON.USE_SEARCH_MATCH = "Y" Then;
            /* Set the "AsOfDate" */
            &myAsOfDate = %Date;
            /* Invoke SearchMatch Service */
               &mySearchMatch = create HRSearchMatch();
            &mySearchMatch = create SCC_EXTERNAL_SM:AutoSearchMatchManager();
            &mySearchMatch.SetData(GetLevel0());
            &mySearchMatch.PerformSearch(&myAsOfDate);
            If &mySearchMatch.DuplicatesExist Then
               /* Service returns at least one prospective match */
               /* Display the matches via the Search/Match UI.    */
               &mySearchMatch.DisplayResultsUI();
               /* Selecting "CANCEL" from a warning causes Save processing to Abort */
               /* "Do you want to continue adding this person? - OK to continue, CANCEL to quit."
         */
               Warning MsgGet(1000, 1351, "Message Not Found");
            End-If;
            REM End-If;
         End-If;
         End-If;




PeopleCode (CompRecord): TRN_T_CRTE_XML_ESP(GBL).XML_DEFN_SRCH.SearchInit
         If %Menu = "ADMINISTER_TRAINING_(GBL)" Then
         /*If %Menu = "ADMINISTER_TRAINING_(GBL)" Then
            XML_DEFN_SRCH.XML_SET = "T01";
            XML_DEFN_SRCH.XML_SET.Visible = False;
         End-If;
         */




PeopleCode (CompRecFld): ADDL_INFO_BRA(GBL).CONTRACT_DATA.CONTRACT_BEGIN_DT
FieldEdit
         Declare Function contract_end_dt PeopleCode DERIVED_HR_BRA.DURATION_TYPE FieldFormula;
         Local Rowset &ContractScroll = GetLevel0();
         Local date &DateNull;
        If All(CONTRACT_DATA.CONTRACT_BEGIN_DT, DERIVED_HR_BRA.DURATION_BRA) Then
           CONTRACT_DATA.CONTRACT_END_DT = contract_end_dt(DERIVED_HR_BRA.DURATION_TYPE,
        DERIVED_HR_BRA.DURATION_BRA, CONTRACT_DATA.CONTRACT_BEGIN_DT);
           &ContractEndDt = AddToDate(CONTRACT_DATA.CONTRACT_END_DT, 0, 0, 1);
           &ContractScroll =
        &ContractScroll(1).GetRowset(Scroll.CONTRACT_DATA)(CurrentRowNumber(1)).GetRowset(Scrol
        l.CONTRCT_DTA_BRA);
           If All(&ContractScroll(1).CONTRCT_DTA_BRA.CONTRCT_BGN_DT_BRA) And
                 (&ContractEndDt <> &ContractScroll(1).CONTRCT_DTA_BRA.CONTRCT_BGN_DT_BRA.Value)
        Then
              &ContractScroll(1).CONTRCT_DTA_BRA.CONTRCT_BGN_DT_BRA.Value =
        AddToDate(CONTRACT_DATA.CONTRACT_END_DT, 0, 0, 1);
              &ContractScroll(1).CONTRCT_DTA_BRA.CONTRCT_END_DT_BRA.Value = &DateNull;
              &ContractScroll(1).DERIVED2_HR_BRA.DURATION_BRA.Value = &DateNull;
           End-If;
        End-If;

        If All(CONTRACT_DATA.CONTRACT_BEGIN_DT, CONTRACT_DATA.CONTRACT_END_DT) Then
           If CONTRACT_DATA.CONTRACT_BEGIN_DT > CONTRACT_DATA.CONTRACT_END_DT Then
              Error MsgGet(6566, 90, "Message not found");
           End-If;
        End-If;




PeopleCode (CompRecFld): ADDL_INFO_BRA(GBL).CONTRACT_DATA.CONTRACT_END_DT
FieldEdit
        Local Rowset &ContractScroll = GetLevel0();
        Local date &DateNull;

        &ContractScroll =
        &ContractScroll(1).GetRowset(Scroll.CONTRACT_DATA)(CurrentRowNumber(1)).GetRowset(Scrol
        l.CONTRCT_DTA_BRA);
        &ContractScroll(1).CONTRCT_DTA_BRA.CONTRCT_CLAUSE_BRA.Visible = False;

        If All(CONTRACT_DATA.CONTRACT_BEGIN_DT, CONTRACT_DATA.CONTRACT_END_DT) Then
           If CONTRACT_DATA.CONTRACT_BEGIN_DT > CONTRACT_DATA.CONTRACT_END_DT Then
              Error MsgGet(6566, 90, "Message not found");
           End-If;
        Else
           &ContractScroll(1).CONTRCT_DTA_BRA.CONTRCT_BGN_DT_BRA.Value = &DateNull;
           &ContractScroll(1).CONTRCT_DTA_BRA.CONTRCT_END_DT_BRA.Value = &DateNull;
           &ContractScroll(1).DERIVED2_HR_BRA.DURATION_BRA.Value = &DateNull;
        End-If;

        If All(CONTRACT_DATA.CONTRACT_END_DT) Then
           &ContractEndDt = AddToDate(CONTRACT_DATA.CONTRACT_END_DT, 0, 0, 1);
           If All(&ContractScroll(1).CONTRCT_DTA_BRA.CONTRCT_BGN_DT_BRA) And
                 (&ContractEndDt <> &ContractScroll(1).CONTRCT_DTA_BRA.CONTRCT_BGN_DT_BRA.Value)
        Then
              If All(&ContractScroll(1).CONTRCT_DTA_BRA.CONTRCT_BGN_DT_BRA.Value) Then
                 &ContractScroll(1).CONTRCT_DTA_BRA.CONTRCT_BGN_DT_BRA.Value =
        AddToDate(CONTRACT_DATA.CONTRACT_END_DT, 0, 0, 1);
                 &ContractScroll(1).CONTRCT_DTA_BRA.CONTRCT_END_DT_BRA.Value = &DateNull;
                 &ContractScroll(1).DERIVED2_HR_BRA.DURATION_BRA.Value = &DateNull;
              End-If;
           End-If;

           Local date &ContrctEndDt;
           Local string &ContractTypeBRA;


           &ContractTypeBRA = " ";

           If All(&ContractScroll(1).CONTRCT_DTA_BRA.CONTRCT_END_DT_BRA.Value) Then
              &ContrctEndDt = &ContractScroll(1).CONTRCT_DTA_BRA.CONTRCT_END_DT_BRA.Value;
           Else
              &ContrctEndDt = CONTRACT_DATA.CONTRACT_END_DT;
           End-If;

           SQLExec("SELECT A.CONTRACT_TYPE_BRA FROM PS_CNT_TYP_DEF_BRA A ,PS_WKF_CNT_TYPE B WHERE
        B.EMPLID = :1 AND B.CONTRACT_NUM = :2 AND A.SETID = :3 AND A.CONTRACT_TYPE = B.CONTRACT_TYPE
        AND B.EFFDT = (SELECT MAX(BB.EFFDT) FROM PS_WKF_CNT_TYPE BB WHERE BB.EMPLID = B.EMPLID AND
        BB.CONTRACT_NUM = B.CONTRACT_NUM AND BB.CONTRACT_TYPE = B.CONTRACT_TYPE AND BB.EFFDT <=
        %DATEIN(:4)) AND A.EFFDT = (SELECT MAX(AA.EFFDT) FROM PS_CNT_TYP_DEF_BRA AA WHERE
        AA.CONTRACT_TYPE = A.CONTRACT_TYPE AND AA.SETID = A.SETID AND AA.EFFDT <= %DATEIN(:5))",
        &ContractScroll(1).CONTRCT_DTA_BRA.EMPLID.Value,
        &ContractScroll(1).CONTRCT_DTA_BRA.CONTRACT_NUM.Value, CONTRACT_DATA.REG_REGION,
        &ContrctEndDt, &ContrctEndDt, &ContractTypeBRA);

           If &ContractTypeBRA = " " Then
              SQLExec("SELECT A.CONTRACT_TYPE_BRA FROM PS_CNT_TYP_DEF_BRA A ,PS_WKF_CNT_TYPE B
        WHERE B.EMPLID = :1 AND B.CONTRACT_NUM = :2 AND A.SETID = :3 AND A.CONTRACT_TYPE =
        B.CONTRACT_TYPE AND B.EFFDT = (SELECT MAX(BB.EFFDT) FROM PS_WKF_CNT_TYPE BB WHERE BB.EMPLID
        = B.EMPLID AND BB.CONTRACT_NUM = B.CONTRACT_NUM AND BB.CONTRACT_TYPE = B.CONTRACT_TYPE AND
        BB.EFFDT <= %DATEIN(:4)) AND A.EFFDT = (SELECT MAX(AA.EFFDT) FROM PS_CNT_TYP_DEF_BRA AA
        WHERE AA.CONTRACT_TYPE = A.CONTRACT_TYPE AND AA.SETID = A.SETID AND AA.EFFDT <=
        %DATEIN(:5))", &ContractScroll(1).CONTRCT_DTA_BRA.EMPLID.Value,
        &ContractScroll(1).CONTRCT_DTA_BRA.CONTRACT_NUM.Value, FUNCLIB_HR.DEFAULT_SETID,
        &ContrctEndDt, &ContrctEndDt, &ContractTypeBRA);
           End-If;

           If &ContractTypeBRA = "1" Then
              &ContractScroll(1).CONTRCT_DTA_BRA.CONTRCT_CLAUSE_BRA.Visible = True;
           End-If;
        End-If;




PeopleCode (CompRecFld):
AFI_RC_ESP(GBL).DERIVED_HR_ESP.CHECK_PRNT_RES_ESPFieldChange
        Local Rowset &RsEmplid;
        Local number &i;


        &RsEmplid = GetLevel0()(1).GetRowset(Scroll.AFI_RC_EE_ESP);

        /* Select every employee */
        For &i = 1 To &RsEmplid.ActiveRowCount

           If DERIVED_HR_ESP.CHECK_PRNT_RES_ESP.Value = "S" Then
           Evaluate DERIVED_HR_ESP.CHECK_PRNT_RES_ESP.Value
           When "S"
              &RsEmplid(&i).AFI_RC_EE_ESP.AFI_PRINT_FLG_ESP.Value =    "S";
           Else
              If DERIVED_HR_ESP.CHECK_PRNT_RES_ESP.Value = "C" Then
           When "C"
              &RsEmplid(&i).AFI_RC_EE_ESP.AFI_PRINT_FLG_ESP.Value =    "C";
              Else
           When "I"
              &RsEmplid(&i).AFI_RC_EE_ESP.AFI_PRINT_FLG_ESP.Value =    "I";
           When-Other
              &RsEmplid(&i).AFI_RC_EE_ESP.AFI_PRINT_FLG_ESP.Value =    "N";
              End-If;
           End-If;
           End-Evaluate;

        End-For;




PeopleCode (CompRecFld): EP_CREATEAPPR_EE(GBL).EP_BTN_LINK_WRK.EP_CREATE_PB
FieldChange
        import EP_FUNCTIONS:*;
Declare Function GetSimpleText PeopleCode FUNCLIB_EP.HR_SSTEXT_KEY1 FieldFormula;
Declare Function ReportToByAccessType PeopleCode FUNCLIB_CO.REPORTS_TO FieldFormula;

Global Record &EP_GBLKEYS_WRK;
Component string &strErrorMsg;
Local EP_FUNCTIONS:AppraisalCreation &AC = create EP_FUNCTIONS:AppraisalCreation();
Local boolean &bSuccess;

/* If template source for the document type is "JPM" then let the system determine the Template
ID to use. */
If EP_REVW_TYP_TBL.EP_TEMPLATE_SRC.Value = "J" Then
   /* If template id was not set prior to loop, then the template source is not user specified.
*/
   /* Use the template source variable to derive the appropriate template from the job profile
*/
   &AC.DeriveTemplateID(%EmployeeId, DERIVED_EP.EMPL_RCD.Value,
EP_REVW_TYP_TBL.EP_J_JP_TYPE.Value, EP_REVW_TYP_TBL.EP_REVIEW_TYPE.Value,
DERIVED_EP.PERIOD_END_DT.Value, DERIVED_EP.EP_TEMPLATE_ID.Value);
   /*If there is still no template id after using the template source to derive the template
value, then use the default template assigned to the chosen performance review type.*/
   If None(DERIVED_EP.EP_TEMPLATE_ID.Value) Then
       DERIVED_EP.EP_TEMPLATE_ID.Value = EP_REVW_TYP_TBL.EP_DFLT_TEMPLATE.Value;
   End-If;
End-If;

/*Call method to create employee appraisal*/
If DERIVED_EPCLONE.EP_COPY_APPR_FLG = "Y" Then

   /* Ice 1858819001 make sure there is no duplicate appraisal */
   SQLExec(SQL.EP_APPR_DUP_APPR_SEL, %EmployeeId, DERIVED_EP.EMPL_RCD,
DERIVED_EP.EP_REVIEW_TYPE, DERIVED_EP.PERIOD_BEGIN_DT, DERIVED_EP.PERIOD_END_DT,
&ApprFound);
   If &ApprFound = "Y" Then
      Error MsgGetText(4600, 119, "Message Not Found", EP_REVW_TYP_TBL.EP_REVW_DESCR,
DERIVED_EP.PERIOD_BEGIN_DT.FormattedValue, DERIVED_EP.PERIOD_END_DT.FormattedValue);
   Else
      &Status = &AC.CopyAppraisal(DERIVED_EPCLONE.EP_APPRAISAL_ID, %EmployeeId,
DERIVED_EP.EMPL_RCD, DERIVED_EP.EP_MANAGER_ID, DERIVED_EP.PERIOD_BEGIN_DT,
DERIVED_EP.PERIOD_END_DT);
   End-If;
Else
   &Status = &AC.CreateAppraisal(DERIVED_EP.EP_REVIEW_TYPE.Value,
DERIVED_EP.EP_TEMPLATE_ID.Value, %EmployeeId, DERIVED_EP.EMPL_RCD.Value,
DERIVED_EP.PERIOD_BEGIN_DT.Value, DERIVED_EP.PERIOD_END_DT.Value,
DERIVED_EP.EP_MANAGER_ID.Value, DERIVED_EP.LANGUAGE_CD.Value);
End-If;

/*Determine if Creation was a success*/
If &Status = "SUCC" Then
   &bSuccess = True;
Else
   &bSuccess = False;
   EP_BTN_LINK_WRK.EP_HTMLAREA3 = GetSimpleText("CREATE_ERROR_EE");
   &AC.AppraisalId = 0;
End-If;

If &bSuccess = True Then
   If None(&EP_GBLKEYS_WRK) Then
      &EP_GBLKEYS_WRK = CreateRecord(Record.EP_GBLKEYS_WRK);
   End-If;
   /* Clear all transfer fields*/
   &EP_GBLKEYS_WRK.EP_APPRAISAL_ID.Value = 0;
   &EP_GBLKEYS_WRK.EMPLID.Value = "";

   /*Write result to global work record so user can be transferred to appraisal detail page*/
   &EP_GBLKEYS_WRK.EP_APPRAISAL_ID.Value = &AC.AppraisalId;
   &EP_GBLKEYS_WRK.EMPLID.Value = %EmployeeId;
End-If;

/*Reset component error message*/
&strErrorMsg = "";
        /*Display Description of Status indicator returned from the function.*/
        Evaluate &Status
        When "SUCC" /*Successful creation*/
           DERIVED_EP.EP_TRANS_NAME = "BASELINE-CREATE";
           Break;
        When "DUP" /*Duplicate review for target role*/
           &strErrorMsg = "CREATE_BSELN_DUP"; /*%1=doc type, %2 = begin dt , %3 = end dt*/
           Break;
        When "APID" /*Invalid Appraisal ID, unable to retrieve valid number from ePerformance
        Installation*/
           &strErrorMsg = "CREATE_BSELN_APID";
           Break;
        When "PARM" /*Invalid or missing input parameter*/
           &strErrorMsg = "CREATE_BSELN_PARM";
           Break;
        When "TMPL" /*Invalid template*/
           &strErrorMsg = "CREATE_BSELN_TMPL";
           Break;
        When "ROLE" /*No applicable review sections for one of the particpants included on the
        template*/
           &strErrorMsg = "CREATE_BSELN_ROLE";
           Break;
        When "FAIL" /*Couldn't insert any sections*/
           &strErrorMsg = "CREATE_BSELN_FAIL";
           Break;
        When "DPID" /*Duplicate appraisal ID - Check ePerformance Installation*/
           &strErrorMsg = "CREATE_BSELN_DPID";
           Break;
        When "PART" /*Document switch in template is inactive for all included participants*/
           &strErrorMsg = "CREATE_BSELN_PART";
           Break;
           /* Bug# 11634349 - Added new TextId to capture the error */
        When "HIR" /*Employee is not yet hired */
           &strErrorMsg = "CREATE_BSELN_HIR";
           Break;
        End-Evaluate;

        /* Notification Logic */
        If All(DERIVED_EP.EP_TRANS_NAME) Then
           &eMail = create EP_FUNCTIONS:EP_Notification();
           &eMail.EP_Notify(DERIVED_EP.EP_TRANS_NAME, &AC.AppraisalId, DERIVED_EP.EP_MANAGER_ID,
        "M", False, True);
           SetDefault(DERIVED_EP.EP_TRANS_NAME);
        End-If;

        /* Transfer to appraisal detail component if success and results page if an error was
        encountered.*/
        If &bSuccess = True Then
           /* Set Return Status to display a confirmation message. */
           &EP_GBLKEYS_WRK.EP_RETURN_STATUS.Value = "RETURN_DOC_CREATE";
           Transfer( False, MenuName.ROLE_EMPLOYEE, BarName.USE, ItemName.EP_APPR_SELECT,
        Page.EP_APPR_DETAIL, "U");
        Else
           /*Communicate error to user and transfer control the EP_CREATE_EE_RSLTS page*/
           TransferPage(Page.EP_CREATE_EE_RSLTS);
        End-If;




PeopleCode (CompRecFld): EP_CREATEAPPR_MGR(GBL).EP_BTN_LINK_WRK.EP_CREATE_PB
FieldChange
        import EP_FUNCTIONS:*;

        Declare Function GetSimpleText PeopleCode FUNCLIB_EP.HR_SSTEXT_KEY1 FieldFormula;
        Declare Function GetSimpleTextSub PeopleCode FUNCLIB_EP.HR_SSTEXT_KEY1 FieldFormula;

        Local EP_FUNCTIONS:AppraisalCreation &AC = create EP_FUNCTIONS:AppraisalCreation();
        Local Rowset &rsEmployees = GetLevel0()(1).GetRowset(Scroll.OPRROWS_APPR_VW);
/** Clear results processing rowset before initiating creation process */
For &i = 1 To &rsEmployees.ActiveRowCount
   &rsEmployees(&i).DERIVED_EP_RSLT.EP_APPRAISAL_ID.Value = 0;
   &rsEmployees(&i).DERIVED_EP_RSLT.EP_SUCCESS.Value = " ";
   &rsEmployees(&i).DERIVED_EP_RSLT.EP_STATUS_RESULT.Value = " ";
End-For;

For &i = 1 To &rsEmployees.ActiveRowCount;

   /* If copy appraisal, then use the template ID of the cloned document */
   If DERIVED_EPCLONE.EP_COPY_APPR_FLG = "Y" Then
      DERIVED_EP.EP_TEMPLATE_ID.Value =
DERIVED_EPCLONE.EP_APPRAISAL_ID.GetRelated(EP_APPR.EP_TEMPLATE_ID).Value;
   Else
      /*   Use the template source variable to derive the appropriate template from JPM.
*/
      If EP_REVW_TYP_TBL.EP_TEMPLATE_SRC.Value = "J" Then
         &AC.DeriveTemplateID(&rsEmployees(&i).OPRROWS_APPR_VW.EMPLID.Value,
&rsEmployees(&i).OPRROWS_APPR_VW.EMPL_RCD.Value, EP_REVW_TYP_TBL.EP_J_JP_TYPE.Value,
EP_REVW_TYP_TBL.EP_REVIEW_TYPE.Value, DERIVED_EP.PERIOD_END_DT.Value,
DERIVED_EP.EP_TEMPLATE_ID.Value);
      End-If;
      /*If there is still no template id after using the template source to derive the
template value, then use the default template assigned to the chosen performance review
type.*/
      If None(DERIVED_EP.EP_TEMPLATE_ID.Value) Then
         DERIVED_EP.EP_TEMPLATE_ID.Value = EP_REVW_TYP_TBL.EP_DFLT_TEMPLATE.Value;
      End-If;
   End-If;

   /*Call method to create/clone document. */
   If DERIVED_EPCLONE.EP_COPY_APPR_FLG = "Y" Then

      /* 1858819001 make sure there is no duplicate appraisal */
      SQLExec(SQL.EP_APPR_DUP_APPR_SEL, &rsEmployees(&i).OPRROWS_APPR_VW.EMPLID.Value,
&rsEmployees(&i).OPRROWS_APPR_VW.EMPL_RCD.Value, DERIVED_EP.EP_REVIEW_TYPE,
DERIVED_EP.PERIOD_BEGIN_DT, DERIVED_EP.PERIOD_END_DT, &ApprFound);
      If &ApprFound = "Y" Then

         Error MsgGetText(4600, 119, "Message Not Found", EP_REVW_TYP_TBL.EP_REVW_DESCR,
DERIVED_EP.PERIOD_BEGIN_DT.FormattedValue, DERIVED_EP.PERIOD_END_DT.FormattedValue);
      Else
         &Status = &AC.CopyAppraisal(DERIVED_EPCLONE.EP_APPRAISAL_ID,
&rsEmployees(&i).OPRROWS_APPR_VW.EMPLID.Value,
&rsEmployees(&i).OPRROWS_APPR_VW.EMPL_RCD.Value, DERIVED_EP.EP_REVIEWER_ID,
DERIVED_EP.PERIOD_BEGIN_DT, DERIVED_EP.PERIOD_END_DT);
      End-If;

   Else
      &Status = &AC.CreateAppraisal(DERIVED_EP.EP_REVIEW_TYPE.Value,
DERIVED_EP.EP_TEMPLATE_ID.Value, &rsEmployees(&i).OPRROWS_APPR_VW.EMPLID.Value,
&rsEmployees(&i).OPRROWS_APPR_VW.EMPL_RCD.Value, DERIVED_EP.PERIOD_BEGIN_DT.Value,
DERIVED_EP.PERIOD_END_DT.Value, DERIVED_EP.EP_REVIEWER_ID.Value,
DERIVED_EP.LANGUAGE_CD.Value);
   End-If;

   /*Determine if Creation was a success*/
   If &Status = "SUCC" Then
      &EP_SUCCESS = "Y";
   Else
      &EP_SUCCESS = "N";
   End-If;

   /*Re-initialize derived record fields*/
   &rsEmployees(&i).DERIVED_EP_RSLT.EP_APPRAISAL_ID.Value = 0;
   &rsEmployees(&i).DERIVED_EP_RSLT.EP_SUCCESS.Value = "";
   &rsEmployees(&i).DERIVED_EP_RSLT.EP_STATUS_RESULT.Value = "";
   &rsEmployees(&i).DERIVED_EP_RSLT.EP_TEMPLATE_ID.Value = "";

   /*Write result to DERIVED_EP_RSLT derived record for display to user*/
           &rsEmployees(&i).DERIVED_EP_RSLT.EP_APPRAISAL_ID.Value = &AC.AppraisalId;
           &rsEmployees(&i).DERIVED_EP_RSLT.EP_SUCCESS.Value = &EP_SUCCESS;
           &rsEmployees(&i).DERIVED_EP_RSLT.EP_TEMPLATE_ID.Value =
        DERIVED_EP.EP_TEMPLATE_ID.Value;

           /*Display Description of Status indicator returned from the function.*/
           Evaluate &Status
           When "SUCC" /*Successful creation*/
              DERIVED_EP.EP_TRANS_NAME = "BASELINE-CREATE";
              &strStatus = GetSimpleText("CREATE_BSELN_SUCC");
              Break;
           When "DUP" /*Duplicate review for target role*/
              &strStatus = GetSimpleTextSub("CREATE_BSELN_DUP",
        EP_REVW_TYP_TBL.EP_REVW_DESCR.Value, DERIVED_EP.PERIOD_BEGIN_DT.FormattedValue,
        DERIVED_EP.PERIOD_END_DT.FormattedValue, "", "");
              Break;
           When "APID" /*Invalid Appraisal ID, unable to retrieve valid number from ePerformance
        Installation*/
              &strStatus = GetSimpleText("CREATE_BSELN_APID");
              Break;
           When "PARM" /*Invalid or missing input parameter*/
              &strStatus = GetSimpleText("CREATE_BSELN_PARM");
              Break;
           When "TMPL" /*Invalid template*/
              &strStatus = GetSimpleText("CREATE_BSELN_TMPL");
              Break;
           When "ROLE" /*No applicable review sections for one of the particpants included on the
        template*/
              &strStatus = GetSimpleTextSub("CREATE_BSELN_ROLE", EP_TMPL_DEFN.DESCR.Value, "",
        "", "", "");
              Break;
           When "FAIL" /*Couldn't insert any sections*/
              &strStatus = GetSimpleText("CREATE_BSELN_FAIL");
              Break;
           When "DPID" /*Duplicate appraisal ID - Check ePerformance Installation*/
              &strStatus = GetSimpleText("CREATE_BSELN_DPID");
              Break;
           When "PART" /*Document switch in template is inactive for all included participants*/
              &strStatus = GetSimpleTextSub("CREATE_BSELN_PART", EP_TMPL_DEFN.DESCR.Value, "",
        "", "", "");
              Break;
              /* Bug# 11634349 - Added new TextId to capture the error */
           When "HIR" /*Employee is not yet hired */
              &strStatus = GetSimpleTextSub("CREATE_BSELN_HIR", EP_TMPL_DEFN.DESCR.Value, "", "",
        "", "");
              Break;
           End-Evaluate;

           &rsEmployees(&i).DERIVED_EP_RSLT.EP_STATUS_RESULT.Value = &strStatus;

           /* Notification Logic */
           If All(DERIVED_EP.EP_TRANS_NAME) Then
              &eMail = create EP_FUNCTIONS:EP_Notification();
              &eMail.EP_Notify(DERIVED_EP.EP_TRANS_NAME, &AC.AppraisalId,
        &rsEmployees(&i).OPRROWS_APPR_VW.EMPLID.Value, "E", False, True);
              SetDefault(DERIVED_EP.EP_TRANS_NAME);
           End-If;
           /* End Notification Logic */
        End-For;

        /* Transfer to results page */
        TransferPage(Page.EP_CREATE_RESULTS);




PeopleCode (CompRecFld): HRS_CE(GBL).HRS_CE_LNK_WRK.HRS_ADD_SEC_EDU                FieldChange
        import HRS_CANDIDATE_MANAGER:CMP_CAND_EXP:INTFC:*;
        import HRS_CANDIDATE_MANAGER:CMP_CAND_EXP:INTFC:*;
        import HRS_COMMON:COMMON:UTIL:*;
import HRS_CANDIDATE_MANAGER:CMP_LOGON:BUS:Applicant;
import HRS_CANDIDATE_MANAGER:CMP_CAND_EXP:UI:PageValidate;

Global HRS_CANDIDATE_MANAGER:CMP_LOGON:BUS:Applicant &applicant;
Component HRS_CANDIDATE_MANAGER:CMP_CAND_EXP:INTFC:CEController &controller;
Component number &c_nbr_CurrentRowNumber;
Component HRS_COMMON:COMMON:UTIL:GetText &obj_c_myCatalog;

Local Row &rw_AppSecEdu;
Local Rowset &rs_AppSecEdu;
Local string &str_ReturnedText, &str_DuplText, &str_AppName;
Local number &nbr_SiteId;
Local HRS_CANDIDATE_MANAGER:CMP_CAND_EXP:UI:PageValidate &obj_PgVal;
Component string &c_str_CnclAction;

rem &c_str_CnclAction = "";
&nbr_lReturn = %MsgResult_OK;
&obj_PgVal = create HRS_CANDIDATE_MANAGER:CMP_CAND_EXP:UI:PageValidate();

If &obj_c_myCatalog = Null Then
   &obj_c_myCatalog = create HRS_COMMON:COMMON:UTIL:GetText();
End-If;

&rs_AppSecEdu =
GetLevel0()(1).GetRowset(Scroll.HRS_APP_PROFILE).GetRow(1).GetRowset(Scroll.HRS_APP_DEG
_VW);

If &c_nbr_CurrentRowNumber > 0 Then
   &rw_AppSecEdu = &rs_AppSecEdu.GetRow(&c_nbr_CurrentRowNumber);
Else
   &rw_AppSecEdu = &rs_AppSecEdu.GetRow(&rs_AppSecEdu.ActiveRowCount);
End-If;

If All(&rw_AppSecEdu.HRS_APP_DEG_VW.ACCOMPLISHMENT.Value,
&rw_AppSecEdu.HRS_APP_DEG_VW.MAJOR.Value, &rw_AppSecEdu.HRS_APP_DEG_VW.SCHOOL.Value) Or
      All(&rw_AppSecEdu.HRS_APP_DEG_VW.ACCOMPLISHMENT_TXT.Value,
&rw_AppSecEdu.HRS_APP_DEG_VW.MAJOR.Value, &rw_AppSecEdu.HRS_APP_DEG_VW.SCHOOL.Value) Or
      All(&rw_AppSecEdu.HRS_CE_WRK.DEGREE.Value,
&rw_AppSecEdu.HRS_APP_DEG_VW.MAJOR.Value, &rw_AppSecEdu.HRS_APP_DEG_VW.SCHOOL.Value)
Then /* 1706281000 */
   /* +++ 671878 For dropdown */
   If All(&rw_AppSecEdu.HRS_CE_WRK.STATE_OTHER.Value,
&rw_AppSecEdu.HRS_CE_WRK.SCHOOL_CODE.Value) Then
      SQLExec("Select A.STATE FROM PS_SCHOOL_TBL A WHERE A.COUNTRY = :1 AND A.SCHOOL_CODE
= :2", &rw_AppSecEdu.HRS_APP_DEG_VW.COUNTRY_OTHER.Value,
&rw_AppSecEdu.HRS_CE_WRK.SCHOOL_CODE.Value, &School_State);
      If &School_State <> &rw_AppSecEdu.HRS_CE_WRK.STATE_OTHER.Value Then
         Error MsgGet(18032, 1645, "School specified not existing in the State/Country.");
      End-If;
   End-If;
   /* +++ 671878 For Edit Box */
   If All(&rw_AppSecEdu.HRS_APP_DEG_VW.STATE_OTHER.Value,
&rw_AppSecEdu.HRS_APP_DEG_VW.SCHOOL_CODE.Value) Then
      SQLExec("Select A.STATE FROM PS_SCHOOL_TBL A WHERE A.COUNTRY = :1 AND A.SCHOOL_CODE
= :2", &rw_AppSecEdu.HRS_APP_DEG_VW.COUNTRY_OTHER.Value,
&rw_AppSecEdu.HRS_APP_DEG_VW.SCHOOL_CODE.Value, &School_State);
      If &rw_AppSecEdu.HRS_CE_WRK.COUNTRY_OTHER.Value <> "" And
            &rw_AppSecEdu.HRS_CE_WRK.STATE_OTHER.Value <> "" Then
         If &School_State <> &rw_AppSecEdu.HRS_CE_WRK.STATE_OTHER.Value Then
            Error MsgGet(18032, 1645, "School specified not existing in the
State/Country.");
         End-If;
      End-If;
   End-If;
   /* +++ 671878 */
   SQLExec("select NAME_DISPLAY from PS_HRS_APP_NAMES where HRS_PERSON_ID= :1",
&rw_AppSecEdu.HRS_APP_DEG_VW.HRS_PERSON_ID.Value, &str_AppName);
   Local Field &FLD; /* 860658 */
   If All(&rw_AppSecEdu.HRS_APP_DEG_VW.DT_ISSUED.Value) Then
      &FLD =
&rw_AppSecEdu.GetRecord(Record.HRS_APP_DEG_VW).GetField(Field.ACCOMPLISHMENT).GetRelate
        d(DEGREE_VW.DESCR); /* 860658 */
              If &rw_AppSecEdu.HRS_APP_DEG_VW.GRADUATE_INDICATOR.Value = "Y" Then
                 If &rw_AppSecEdu.HRS_APP_DEG_VW.DT_ISSUED.Value > %Date Then
                    &str_ReturnedText = MsgGetText(1000, 49, "", &str_AppName);
                    rem    &str_ReturnedText = MsgGetText(1000, 49, "", &str_AppName);
                    &str_ReturnedText = MsgGetText(1000, 49, "", &FLD.Value); /* 860658 */
                    &str_ReturnedText = &str_ReturnedText | "<BR>" | MsgGetExplainText(1000, 49,
        ""); /* 860658 */

                 End-If;
              Else
                 If &rw_AppSecEdu.HRS_APP_DEG_VW.DT_ISSUED.Value < %Date Then
                    &str_ReturnedText = MsgGetText(1000, 50, "", &str_AppName);
                    rem &str_ReturnedText = MsgGetText(1000, 50, "", &str_AppName);
                    &str_ReturnedText = MsgGetText(1000, 50, "", &FLD.Value); /* 860658 */
                    &str_ReturnedText = &str_ReturnedText | "<BR>" | MsgGetExplainText(1000, 50,
        ""); /* 860658 */

                 End-If;
                 /* Added warning message for future-dated Issued Date 649475 +++ */
                 If &rw_AppSecEdu.HRS_APP_DEG_VW.DT_ISSUED.Value > %Date Then
                    /*765802*/
                    &nbr_lReturn = MessageBox(%MsgStyle_OKCancel, "", 18178, 473, " ",
        &str_AppName);
                    rem &nbr_lReturn = MessageBox(%MsgStyle_OKCancel, "", 18178, 473, " ",
        &str_AppName);
                    &nbr_lReturn = MessageBox(%MsgStyle_OKCancel, "", 18178, 473, " ", &FLD.Value);
        /* 860658 */
                    /*765802*/
                 End-If;
              End-If;
           End-If;
           If All(&str_ReturnedText) Then
              HRS_CE_WRK.SEC_ERROR_EDU_SEC.Value = &str_ReturnedText;
           Else

              &str_DuplText = &obj_PgVal.checkDuplicateSecEdu(&rs_AppSecEdu, &rw_AppSecEdu);
              If ((None(&str_DuplText)) And
                       (&nbr_lReturn = %MsgResult_OK)) Then

        &controller.formatPostSecondaryEducation(GetLevel0()(1).GetRowset(Scroll.HRS_APP_PROFIL
        E).GetRow(1).GetRowset(Scroll.HRS_APP_DEG_VW));
                 &c_nbr_CurrentRowNumber = 0;
                 TransferPage(Page.HRS_CE_PROFILE);
              Else
                 HRS_CE_WRK.SEC_ERROR_EDU_SEC.Value = &str_DuplText;
              End-If;
           End-If;
        Else
           &nbr_SiteId = &applicant.HRS_SITE_ID;
           &str_ReturnedText = &obj_c_myCatalog.GetCandTextSimple("HRAM_CESECERR_01",
        String(&nbr_SiteId));
           HRS_CE_WRK.SEC_ERROR_EDU_SEC.Value = &str_ReturnedText;
        End-If;

        /* &c_str_CnclAction stores the type of edit action - Edit, Cancel or Add. If there has
        been an error during validation, do not reset the value of this field as the user will need
        to fix the error before proceeding */
        /*734110*/
        If None(&str_ReturnedText) Then
           &c_str_CnclAction = "";
        End-If;
        /*734110*/




PeopleCode (CompRecFld): HRS_CE(GBL).HRS_CE_LNK_WRK.HRS_ADD_SEC_EDU_MRFieldChange
        import HRS_CANDIDATE_MANAGER:CMP_CAND_EXP:INTFC:*;
        import HRS_CANDIDATE_MANAGER:CMP_CAND_EXP:INTFC:*;
import HRS_COMMON:COMMON:UTIL:*;
import HRS_CANDIDATE_MANAGER:CMP_LOGON:BUS:Applicant;
import HRS_CANDIDATE_MANAGER:CMP_CAND_EXP:UI:PageValidate;

Global HRS_CANDIDATE_MANAGER:CMP_LOGON:BUS:Applicant &applicant;
Component HRS_CANDIDATE_MANAGER:CMP_CAND_EXP:INTFC:CEController &controller;
Component number &c_nbr_CurrentRowNumber;
Component HRS_COMMON:COMMON:UTIL:GetText &obj_c_myCatalog;

Local Row &rw_AppSecEdu;
Local Rowset &rs_AppSecEdu;
/* 734106 */
Local string &str_ReturnedText, &str_DuplText, &School_State;
/* 734106 */
Local number &nbr_SiteId;
Local HRS_CANDIDATE_MANAGER:CMP_CAND_EXP:UI:PageValidate &obj_PgVal;
Component string &c_str_CnclAction;

/* new */
rem &c_str_CnclAction = "";
/* new */
&nbr_lReturn = %MsgResult_OK;
&obj_PgVal = create HRS_CANDIDATE_MANAGER:CMP_CAND_EXP:UI:PageValidate();

If &obj_c_myCatalog = Null Then
   &obj_c_myCatalog = create HRS_COMMON:COMMON:UTIL:GetText();
End-If;

&rs_AppSecEdu =
GetLevel0()(1).GetRowset(Scroll.HRS_APP_PROFILE).GetRow(1).GetRowset(Scroll.HRS_APP_DEG
_VW);

If &c_nbr_CurrentRowNumber > 0 Then
   &rw_AppSecEdu = &rs_AppSecEdu.GetRow(&c_nbr_CurrentRowNumber);
Else
   &rw_AppSecEdu = &rs_AppSecEdu.GetRow(&rs_AppSecEdu.ActiveRowCount);
End-If;

If All(&rw_AppSecEdu.HRS_APP_DEG_VW.ACCOMPLISHMENT.Value,
&rw_AppSecEdu.HRS_APP_DEG_VW.MAJOR.Value, &rw_AppSecEdu.HRS_APP_DEG_VW.SCHOOL.Value) Or
      All(&rw_AppSecEdu.HRS_APP_DEG_VW.ACCOMPLISHMENT_TXT.Value,
&rw_AppSecEdu.HRS_APP_DEG_VW.MAJOR.Value, &rw_AppSecEdu.HRS_APP_DEG_VW.SCHOOL.Value) Or
      All(&rw_AppSecEdu.HRS_CE_WRK.DEGREE.Value,
&rw_AppSecEdu.HRS_APP_DEG_VW.MAJOR.Value, &rw_AppSecEdu.HRS_APP_DEG_VW.SCHOOL.Value)
Then /* 1706281000 */
   /* +++ 671878 For dropdown */
   If All(&rw_AppSecEdu.HRS_CE_WRK.STATE_OTHER.Value,
&rw_AppSecEdu.HRS_CE_WRK.SCHOOL_CODE.Value) Then
      SQLExec("Select A.STATE FROM PS_SCHOOL_TBL A WHERE A.COUNTRY = :1 AND A.SCHOOL_CODE
= :2", &rw_AppSecEdu.HRS_APP_DEG_VW.COUNTRY_OTHER.Value,
&rw_AppSecEdu.HRS_CE_WRK.SCHOOL_CODE.Value, &School_State);
      If &School_State <> &rw_AppSecEdu.HRS_CE_WRK.STATE_OTHER.Value Then
         Error MsgGet(18032, 1645, "School specified not existing in the State/Country.");
      End-If;
   End-If;
   /* +++ 671878 For Edit Box */
   If All(&rw_AppSecEdu.HRS_APP_DEG_VW.STATE_OTHER.Value,
&rw_AppSecEdu.HRS_APP_DEG_VW.SCHOOL_CODE.Value) Then
      SQLExec("Select A.STATE FROM PS_SCHOOL_TBL A WHERE A.COUNTRY = :1 AND A.SCHOOL_CODE
= :2", &rw_AppSecEdu.HRS_APP_DEG_VW.COUNTRY_OTHER.Value,
&rw_AppSecEdu.HRS_APP_DEG_VW.SCHOOL_CODE.Value, &School_State);
      If &rw_AppSecEdu.HRS_CE_WRK.COUNTRY_OTHER.Value <> "" And
            &rw_AppSecEdu.HRS_CE_WRK.STATE_OTHER.Value <> "" Then
         If &School_State <> &rw_AppSecEdu.HRS_CE_WRK.STATE_OTHER.Value Then
            Error MsgGet(18032, 1645, "School specified not existing in the
State/Country.");
         End-If;
      End-If;
   End-If;
   /* +++ 671878 */
   /*765802*/
   SQLExec("select NAME_DISPLAY from PS_HRS_APP_NAMES where HRS_PERSON_ID= :1",
&rw_AppSecEdu.HRS_APP_DEG_VW.HRS_PERSON_ID.Value, &str_AppName);
   /*765802*/

   Local Field &FLD; /* 860658 */
   If All(&rw_AppSecEdu.HRS_APP_DEG_VW.DT_ISSUED.Value) Then
      &FLD =
&rw_AppSecEdu.GetRecord(Record.HRS_APP_DEG_VW).GetField(Field.ACCOMPLISHMENT).GetRelate
d(DEGREE_VW.DESCR); /* 860658 */
      If &rw_AppSecEdu.HRS_APP_DEG_VW.GRADUATE_INDICATOR.Value = "Y" Then
         If &rw_AppSecEdu.HRS_APP_DEG_VW.DT_ISSUED.Value > %Date Then
            /*765802*/
            &str_ReturnedText = MsgGetText(1000, 49, "", &str_AppName);
            rem &str_ReturnedText = MsgGetText(1000, 49, "", &str_AppName);
            &str_ReturnedText = MsgGetText(1000, 49, "", &FLD.Value); /* 860658 */
            &str_ReturnedText = &str_ReturnedText | "<BR>" | MsgGetExplainText(1000, 49,
""); /* 860658 */

            /*765802*/
         End-If;
      Else
         If &rw_AppSecEdu.HRS_APP_DEG_VW.DT_ISSUED.Value < %Date Then
            /*765802*/
            &str_ReturnedText = MsgGetText(1000, 50, "", &str_AppName);
            rem &str_ReturnedText = MsgGetText(1000, 50, "", &str_AppName);
            &str_ReturnedText = MsgGetText(1000, 50, "", &FLD.Value); /* 860658 */
            &str_ReturnedText = &str_ReturnedText | "<BR>" | MsgGetExplainText(1000, 50,
""); /* 860658 */

            /*765802*/
         End-If;
         /* Added warning message for future-dated Issued Date 649475 +++ */
         If &rw_AppSecEdu.HRS_APP_DEG_VW.DT_ISSUED.Value > %Date Then
            /*765802 new*/
            &nbr_lReturn = MessageBox(%MsgStyle_OKCancel, "", 18178, 473, " ",
&str_AppName);
            rem &nbr_lReturn = MessageBox(%MsgStyle_OKCancel, "", 18178, 473, " ",
&str_AppName);
            &nbr_lReturn = MessageBox(%MsgStyle_OKCancel, "", 18178, 473, " ", &FLD.Value);
/* 860658 */
            /*765802*/
         End-If;
      End-If;
   End-If;
   If All(&str_ReturnedText) Then
      HRS_CE_WRK.SEC_ERROR_EDU_SEC.Value = &str_ReturnedText;
   Else
      &str_DuplText = &obj_PgVal.checkDuplicateSecEdu(&rs_AppSecEdu, &rw_AppSecEdu);
      If ((None(&str_DuplText)) And
               (&nbr_lReturn = %MsgResult_OK)) Then
         HRS_CE_WRK.SEC_ERROR_EDU_SEC.Value = "";
         &c_nbr_CurrentRowNumber = 0;
         &controller.doAddSecondaryEdu();
         &rs_AppSecEdu(&c_nbr_CurrentRowNumber).HRS_CE_WRK.STATE_OTHER.Visible = True;
         &rs_AppSecEdu(&c_nbr_CurrentRowNumber).STATE_NAMES_OTH.DESCR.Visible = False;
      Else
         HRS_CE_WRK.SEC_ERROR_EDU_SEC.Value = &str_DuplText;
      End-If;
   End-If;
Else
   &nbr_SiteId = &applicant.HRS_SITE_ID;
   &str_ReturnedText = &obj_c_myCatalog.GetCandTextSimple("HRAM_CESECERR_01",
String(&nbr_SiteId));
   HRS_CE_WRK.SEC_ERROR_EDU_SEC.Value = &str_ReturnedText;
End-If;

/*1616401000*/
&controller.handleDropDownAndPrompt(&rs_AppSecEdu(&c_nbr_CurrentRowNumber).GetRecord(Re
cord.HRS_CE_WRK).COUNTRY_OTHER,
&rs_AppSecEdu(&c_nbr_CurrentRowNumber).GetRecord(Record.HRS_APP_DEG_VW).COUNTRY_OTHER,
        &rs_AppSecEdu(&c_nbr_CurrentRowNumber).GetRecord(Record.COUNTRY_TBL).DESCR, "COUNTRY",
        "DESCR", "");
        &controller.handleDropDownAndPrompt(&rs_AppSecEdu(&c_nbr_CurrentRowNumber).GetRecord(Re
        cord.HRS_CE_WRK).MAJOR_CODE,
        &rs_AppSecEdu(&c_nbr_CurrentRowNumber).GetRecord(Record.HRS_APP_DEG_VW).MAJOR_CODE,
        &rs_AppSecEdu(&c_nbr_CurrentRowNumber).GetRecord(Record.MAJOR_TBL).DESCR, "MAJOR_CODE",
        "DESCR", "");
        /*1616401000*/


        /* &c_str_CnclAction stores the type of edit action - Edit, Cancel or Add. If there has
        been an error during validation, do not reset the value of this field as the user will need
        to fix the error before proceeding */
        If None(&str_ReturnedText) Then
           &c_str_CnclAction = "";
        End-If;

        /* 734106 */

        &rs_AppSecEdu(&c_nbr_CurrentRowNumber).HRS_APP_DEG_VW.SCHOOL_CODE.ShowRequiredFieldCue
        = True;
        &rs_AppSecEdu(&c_nbr_CurrentRowNumber).HRS_APP_DEG_VW.MAJOR_CODE.ShowRequiredFieldCue =
        True;
        &rs_AppSecEdu(&c_nbr_CurrentRowNumber).HRS_APP_DEG_VW.ACCOMPLISHMENT.ShowRequiredFieldC
        ue = True;
        HRS_CE_WRK.HRS_SECEDU_GPB.Label = MsgGetText(18178, 280, "");

        &controller.handleDropDownAndPrompt(&rs_AppSecEdu(&c_nbr_CurrentRowNumber).GetRecord(Re
        cord.HRS_CE_WRK).MAJOR_CODE,
        &rs_AppSecEdu(&c_nbr_CurrentRowNumber).GetRecord(Record.HRS_APP_DEG_VW).MAJOR_CODE,
        &rs_AppSecEdu(&c_nbr_CurrentRowNumber).GetRecord(Record.MAJOR_TBL).DESCR, "MAJOR_CODE",
        "DESCR", "");
        /* 734106 */


        /* 774321 */
        &controller.handleDropDownAndPrompt(&rs_AppSecEdu(&c_nbr_CurrentRowNumber).GetRecord(Re
        cord.HRS_CE_WRK).DEGREE,
        &rs_AppSecEdu(&c_nbr_CurrentRowNumber).GetRecord(Record.HRS_APP_DEG_VW).ACCOMPLISHMENT,
        &rs_AppSecEdu(&c_nbr_CurrentRowNumber).GetRecord(Record.DEGREE_VW).DESCR,
        "ACCOMPLISHMENT", "DESCR", "");
        /* 774321 */




PeopleCode (CompRecFld): HRS_CE(GBL).HRS_CE_WRK2.HRS_CE_VW_APPL1               FieldChange
        import   HRS_CANDIDATE_MANAGER:CMP_CAND_EXP:BUS:*;
        import   HRS_CANDIDATE_MANAGER:CMP_CAND_EXP:INTFC:*;
        import   HRS_CANDIDATE_MANAGER:CMP_LOGON:BUS:Applicant;
        import   HRS_CANDIDATE_MANAGER:CMP_CAND_EXP:UI:PageValidate;

        Global HRS_CANDIDATE_MANAGER:CMP_LOGON:BUS:Applicant &applicant;
        Global array of number &gbl_aryJobIds;

        Component HRS_CANDIDATE_MANAGER:CMP_CAND_EXP:INTFC:CEController &controller;

        Component number &c_nbr_AppProfile;
        Component boolean &c_bol_isAppStsDraft;

        Local HRS_CANDIDATE_MANAGER:CMP_CAND_EXP:BUS:Apply &action;
        Local string &str_StsCode, &str_DraftStatus;
        Local HRS_CANDIDATE_MANAGER:CMP_CAND_EXP:UI:PageValidate &obj_pgVal;

        &obj_pgVal = create HRS_CANDIDATE_MANAGER:CMP_CAND_EXP:UI:PageValidate();

        &str_StsCode = HRS_APP_APLC_VW.STATUS_CODE.Value;

        SQLExec("SELECT HRS_DRFT_STS_IND FROM PS_HRS_STS_REC_I WHERE STATUS_AREA='3' AND
        STATUS_CODE=:1", &str_StsCode, &str_DraftStatus);
        If &str_DraftStatus = "Y" Then
           &c_bol_isAppStsDraft = True;
        Else
           &c_bol_isAppStsDraft = False;
        End-If;

        &c_nbr_AppProfile = HRS_APP_APLC_VW.HRS_PROFILE_SEQ.Value;

        &action = create HRS_CANDIDATE_MANAGER:CMP_CAND_EXP:BUS:Apply();
        &action.setJobsArray(&obj_pgVal.getAppliedJobs(HRS_APPLICANT.HRS_PERSON_ID.Value,
        HRS_APP_APLC_VW.HRS_PROFILE_SEQ.Value));

        /* 766847 */
        Local number &j;
        Local boolean &PostingOpen;
        Local Rowset &rs_Postings;
        Local number &joid = &action.setJoId();
        Local number &joid = HRS_APP_APLC_VW.HRS_JOB_OPENING_ID.Value; /* 858905 */

        /*&rs_Postings = CreateRowset(Record.HRS_JO_POSTING);
        &rs_Postings.Fill("WHERE HRS_JOB_OPENING_ID = :1", &joid);

        For &j = 1 To &rs_Postings.ActiveRowCount
           &JobOpeningID = &rs_Postings(&j).HRS_JO_POSTING.HRS_JOB_OPENING_ID.Value;
           &JobPostingSeq = &rs_Postings(&j).HRS_JO_POSTING.HRS_JO_PST_SEQ.Value;
           If &obj_pgVal.StatusAttributeOpen(&JobOpeningID, &JobPostingSeq) Then
              &PostingOpen = True;
              Break;
           End-If;
        End-For;*/

        /* 846164 begins*/
        Local Rowset &rsPostDetail = CreateRowset(Record.HRS_JO_I);
        Local number &nbrRowsRead;
        &nbrRowsRead = &rsPostDetail.Fill("WHERE HRS_JOB_OPENING_ID = :1 AND STATUS_CODE = '010'",
        &joid);
        If &nbrRowsRead <> 0 Then
           &PostingOpen = True;
        End-If;
        /* 846164 ends*/

        If Not &PostingOpen Then
           &c_nbr_AppProfile = 0; /* 846164 */
           Error MsgGet(18175, 5034, "Message Not Found", &joid); /* 846164 */
        End-If;
        /* 766847 */


        &action.setPageLayout(String(&applicant.HRS_SITE_ID));
        &controller.setPageLayout(&action.getPageLayout());
        rem &controller.doAction(&action);


        TransferPage(Page.HRS_CE_PROFILE);

        /*Component number &c_nbr_Job_Opening;

        &c_nbr_Job_Opening = HRS_APP_APLC_VW.HRS_JOB_OPENING_ID.Value;
        GetLevel0()(1).HRS_APP_TRN_WRK.HRS_PREV_PAGE_NM.Value = %Page;
        TransferPage(Page.HRS_CE_JOB_DTL);
        */




PeopleCode (CompRecFld): HRS_DUPE_REVIEW(GBL).HRS_DUPE_PERSON.HRS_DUPE_REL
FieldChange
        import HRS_CANDIDATE_MANAGER:CMP_DUPE_PRCS:UI:HRS_DUPE_REVIEW;
        Component HRS_CANDIDATE_MANAGER:CMP_DUPE_PRCS:UI:HRS_DUPE_REVIEW &hdr;

        &hdr.ChangeRelationship();




PeopleCode (CompRecFld): HRS_DUPE_REVIEW(GBL).HRS_DUPE_VW.HRS_DUPE_REL
FieldChange
        /* 863948 Begin */

        import HRS_CANDIDATE_MANAGER:CMP_DUPE_PRCS:UI:HRS_DUPE_REVIEW;

        Component HRS_CANDIDATE_MANAGER:CMP_DUPE_PRCS:UI:HRS_DUPE_REVIEW &hdr;

        &hdr.ChangeRelationship();

        /* 863948 End */




PeopleCode (CompRecFld): PERSONAL_DATA(GBL).DERIVED_HR.NID_SPECIAL_CHAR
FieldDefault
        If %Component = Component.PERSONAL_DATA Then
           &REC = GetRecord(Record.PERS_NID);
           &DERIVED_REC = GetRecord(Record.DERIVED_HR);
           If &REC.COUNTRY.Value = "CHE" And
                 &REC.NATIONAL_ID_TYPE.Value = "NNSS" Then
              &DERIVED_REC.NID_SPECIAL_CHAR.Value = "756"
           End-If;
        End-If;




PeopleCode (CompRecFld): TL_SRCH_APPRV_GRP(GBL).DERIVED_ETEO.SAVE_PB
FieldChange
        Rem ***********************************************************;
        Rem This program will transfer the user the first page of the ;
        Rem component object after refreshing all rowsets.             ;
        Rem ***********************************************************;

        Component string &ET_SAVED, &TRANSFER_TIMESHEET;
        Component number &TLEMPLROWS;


        Component   string &TimesheetEmplid, &RPT_IND, &TIME_RPTR_IND, &VIEW_BY_CHANGE;
        Component   number &TimesheetEmplRcd;
        Component   number &nEmplRownum;
        Component   date &TimesheetTheDate, &START_DT, &END_DT;

        Component string &WRK_GRP_APPV;



        Declare Function ElapsedGridLoad PeopleCode FUNCLIB_TL_WEEK.TR_ELP_GRID_LOAD
        FieldFormula;
        Declare Function PunchGridLoad PeopleCode FUNCLIB_TL_WEEK.TR_PCH_GRID_LOAD FieldFormula;

        &ET_SAVED = "N";
        &TLEMPLROWS = 0;

        &TRANSFER_TIMESHEET = "N";
         If &RPT_IND = "E" Then



            &ELP_RS = GetLevel0()(1).GetRowset(Scroll.TL_INSTALL_VW);
            &ELP_RS.FLUSH();


            ElapsedGridLoad(&TimesheetEmplid, &TimesheetEmplRcd, &START_DT, &END_DT, "N",
         &RPT_IND);

         End-If;

         If &RPT_IND = "P" Then



            &PCH_RS = GetLevel0()(1).GetRowset(Scroll.TL_INSTALL_VW1);
            &PCH_RS.FLUSH();

            PunchGridLoad(&TimesheetEmplid, &TimesheetEmplRcd, &START_DT, &END_DT, "N", &RPT_IND);
         End-If;
         &WRK_GRP_APPV = DERIVED_TL_WEEK.TL_APRV_RPT_FLG;

         /*Code changes for the bug : #11644088 Starts*/

         &TimesheetEmplid = "";
         &TimesheetEmplRcd = 0;
         &RPT_IND = "";

         /*Code changes for the bug : #11644088 Ends*/




PeopleCode (Appl Package): BN_RATES:RateUIMgmt:BenefitRateUIMgr.OnExecute
         [ . . . Unchanged Code not Shown . . . ]

         class BenefitRateUIMgr
            method BenefitRateUIMgr();
            method onRowInitEffDt(&oCurRow As Row);
            method onFieldEditRateType(&oCurField As Field);
            method onFieldChangeRateType(&oCurField As Field);
            method onRowInitRateData(&oCurRow As Row);
            method onFieldChangeRateKey(&oCurField As Field);
            method onFieldEditRateData(&oCurField As Field);
            method onFieldChangeRateData(&oCurField As Field);
            method onSaveEdit();

         private
            instance Rowset &m_oRSRateData;
            instance BN_RATES:RateDefnMgmt:RateTypeDefn &m_oRateType;
            instance array of BN_RATES:RateUIMgmt:UIRateKey &m_aoKeyMgr;

            instance integer &MAXKEYSETS;

            method   getRateTypeDefn(&sRateType As string);
            method   configureRateKeys();
            method   configureRateKeyRow(&oRow As Row);
            method   hideRateKeys(&oRow As Row);
            method   configureRateData();
            method   configureRateDataRow(&oRow As Row);
            method   hasRateData() Returns boolean;
            method   computeTotalRates();
            method   computeTotalRate(&oRow As Row);
            method   hasCompositeEntries(&oRow As Row) Returns boolean;
            method   hasTaxDetails(&oRow As Row) Returns boolean;
            method   isCompositeField(&oCurField As Field) Returns boolean;
            method   isTaxDetailField(&oCurField As Field) Returns boolean;
   method   hasKeyEntry(&oRow As Row) Returns boolean;
   method   storeAllRateKeys();
   method   checkRequiredKeyEntry(&oRow As Row) Returns string;
   method   checkDuplicateKeyEntry(&oCurRow As Row, &oPrevRow As Row) Returns boolean;
   method   checkConsistentRateEntry(&oRow As Row) Returns boolean;
   method   checkRateChgMode(&oRow As Row, &dCurrEffDt As date) Returns boolean;

end-class;

[ . . . Unchanged Code not Shown . . . ]

method onSaveEdit
   Local Rowset &oRSEffDt, &oRSData;
   Local Row &oEffDtRow, &oDataRow, &oPrevRow;
   Local Row &oEffDtRow, &oDataRow, &oPrevRow, &oCurrEffDtRow;
   Local integer &iEffDtRow, &iDataRow;
   Local string &sMissingKeys;
   Local boolean &bIsDuplicate, &bIsConsistent;
   Local date &dCurrEffDt;
   Local boolean &bIsDuplicate, &bIsConsistent, &bConsistentMode;

   %This.storeAllRateKeys();

   &oCurrEffDtRow = GetLevel0()(1).GetRowset(Scroll.BN_RATE_TBL).GetCurrEffRow();
   If &oCurrEffDtRow <> Null Then
      &dCurrEffDt = &oCurrEffDtRow.BN_RATE_TBL.EFFDT.Value;
   End-If;

   &oRSEffDt = GetLevel0()(1).GetRowset(Scroll.BN_RATE_TBL);
   For &iEffDtRow = 1 To &oRSEffDt.ActiveRowCount

      &oEffDtRow = &oRSEffDt(&iEffDtRow);
      &oRSData = &oEffDtRow.GetRowset(Scroll.BN_RATE_DATA);
      &oRSData.Sort(BN_RATE_DATA.BN_RATE_KEY01, "A", BN_RATE_DATA.BN_RATE_KEY02, "A",
BN_RATE_DATA.BN_RATE_KEY03, "A");
      &oPrevRow = Null;
      For &iDataRow = 1 To &oRSData.ActiveRowCount

         &oDataRow = &oRSData(&iDataRow);

         &sMissingKeys = %This.checkRequiredKeyEntry(&oDataRow);
         If All(&sMissingKeys) Then

            REM: "Rate Data row %1 for %2 has missing keys: %3";
            Error MsgGet(3000, 137, "Message Not Found", &iDataRow,
&oEffDtRow.BN_RATE_TBL.EFFDT.Value, &sMissingKeys);
            Return;
         End-If;

         &bIsDuplicate = %This.checkDuplicateKeyEntry(&oDataRow, &oPrevRow);
         If (&bIsDuplicate) Then

            REM: "The keys on Rate Data row %1 for %2 are the same as the previous row.";
            Error MsgGet(3000, 139, "Message Not Found", &iDataRow,
&oEffDtRow.BN_RATE_TBL.EFFDT.Value);
            Return;
         End-If;

         &bIsConsistent = %This.checkConsistentRateEntry(&oDataRow);
         If Not (&bIsConsistent) Then

            REM: "The rate entries on Rate Data row %1 for %2 are not consistent.";
            Error MsgGet(3000, 237, "Message Not Found", &iDataRow,
&oEffDtRow.BN_RATE_TBL.EFFDT.Value);
            Return;
         End-If;

         &bConsistentMode = %This.checkRateChgMode(&oDataRow, &dCurrEffDt);
         If Not (&bConsistentMode) Then

             REM: "Cannot change current or history records unless in Correction mode. ";
                     Error MsgGet(15, 1, "Message Not Found");
                     Return;
                  End-If;

                  &oPrevRow = &oDataRow;
               End-For;
            End-For;

          end-method;

          [ . . . Unchanged Code not Shown . . . ]



          /**
          * Determine if rate elements changed in modes allowed.
          *
          * For action type Update/Display and Update/Display All,
          * only future rows are allowed for change. Effective
          * date greater than the current row allowed for inserting
          * new rows.
          *
          * For action type Correction, all existing rows can be
          * changed. No effective date restrictions on new rows
          * added.
          *
          */
          method checkRateChgMode
             /+ &oRow as Row, +/
             /+ &dCurrEffDt as Date +/
             /+ Returns Boolean +/
             Local boolean &bConsistentMode;

            &bConsistentMode = True;

            Evaluate %Mode
            When = "U" /* update display     */
            When = "L" /* update display all */
               If (&oRow.IsNew) Then /* New Effdt */
                  If (&oRow.BN_RATE_DATA.EFFDT.Value < &dCurrEffDt) Then
                     If (&oRow.IsChanged) Then
                        &bConsistentMode = False;
                     End-If;
                  End-If;

               Else /* Existing Effdt */
                  If (&oRow.BN_RATE_DATA.EFFDT.Value <= %Date) Then
                     If (&oRow.IsChanged) Then
                        &bConsistentMode = False;
                     End-If;
                  End-If;

               End-If;
               Break;
            End-Evaluate;

             Return(&bConsistentMode);
          end-method;




PeopleCode (Appl Package): EP_FUNCTIONS:AppraisalCreation.OnExecute
          [ . . . Unchanged Code not Shown . . . ]

          method ValidateParms

            Local string &ApprFound;
   Local string &ApprFound, &Hired;
   Local string &TmplFound;
   Local date &TestBeginDate, &TestEndDate;

   /* validate input parameters */
   If &ReviewType = "" Or
         &ReviewType = " " Or
         &TemplateId = "" Or
         &TemplateId = " " Or
         &Emplid = "" Or
         &Emplid = " " Or
         &ManagerID = "" Or
         &ManagerID = " " Then
      &Status = "PARM";
      Return;
   End-If;

   /* validate input dates */
   &TestBeginDate = &PeriodBeginDate;
   &TestEndDate = &PeriodEndDate;
   If Not All(&TestBeginDate, &TestEndDate) Then
      &Status = "PARM";
      Return;
   End-If;
   If &PeriodEndDate < &PeriodBeginDate Then
      &Status = "PARM";
      Return;
   End-If;

   /* Bug# 11634349 - Added validation */
   /* make sure employee is already hired */
   SQLExec(SQL.EP_APPR_HIREDT_SEL, &Emplid, &EmplRcdNbr, &PeriodBeginDate, &Hired);
   If &Hired <> "Y" Then
      &Status = "HIR";
      Return;
   End-If;
   /* Bug# 11634349 - End */

   /* make sure there is no duplicate appraisal */
   SQLExec(SQL.EP_APPR_DUP_APPR_SEL, &Emplid, &EmplRcdNbr, &ReviewType, &PeriodBeginDate,
&PeriodEndDate, &ApprFound);
   If &ApprFound = "Y" Then
      &Status = "DUP";
      Return;
   End-If;

   /* make sure the template exists and load template sections, but only those with rows
in the role table for roles in the participant table which have documents */
   &rsTmplSection = CreateRowset(Record.EP_TMPL_SECTION);
   &nbrSections = &rsTmplSection.Fill(SQL.EP_TMPL_SECTION_FILL, &ReviewType, &TemplateId,
&PeriodEndDate);

   If &nbrSections > 0 Then

      &TemplateEffdt = &rsTmplSection.GetRow(1).EP_TMPL_SECTION.EFFDT.Value;
   Else

      /* make sure the template exists as of the period end date */
      SQLExec(SQL.EP_TMPL_DEFN_CHECK_SEL, &ReviewType, &TemplateId, &PeriodEndDate,
&TmplFound);
      If &TmplFound <> "Y" Then
         &Status = "TMPL";
         Return;
      End-If;

      /* make sure that there is at least one participant with a document on the template
participant table */
      SQLExec(SQL.EP_TMPL_PARTIC_W_DOC_SEL, &ReviewType, &TemplateId, &PeriodEndDate,
&nbrParticsWithDocument);
      If &nbrParticsWithDocument = 0 Then
         &Status = "PART";
                 Return;
              End-If;

              /* make sure that for each participant with a document there is at least one section
        type in the template role table */
              SQLExec(SQL.EP_TMPL_PARTIC_W_SEC_SEL, &ReviewType, &TemplateId, &PeriodEndDate,
        &nbrParticsWithSection);
              If &nbrParticsWithSection <> &nbrParticsWithDocument Then
                 &Status = "ROLE";
                 Return
              End-If;
           End-If;

           Return;

        end-method;

        [ . . . Unchanged Code not Shown . . . ]




PeopleCode (Appl Package):
HRS_APPLICANT_TRACKING:HRS_APP_RCMNT:BUS:Controller.OnExecute
        [ . . . Unchanged Code not Shown . . . ]

        method TransferPreviousPage
           If &c_bol_RcmntActn Then
              &cls_layout.ActivateRecruitmentDetails();
              &c_bol_RcmntActn = False;
           Else
              If Find("&MENU=WORKLIST&MARKET=GBL&PANELGROUPNAME=WORKLIST", &g_str_prevURL) > 0 Or
                    Find("WORKLIST.WORKLIST", &g_str_prevURL) > 0 Then
                 If &rec_hrsTransfer = Null Then
                    &rec_hrsTransfer = CreateRecord(Record.HRS_APP_TRN_WRK);
                 End-If;
                 &rec_hrsTransfer.HRS_PREV_MENU_NM.Value = "WORKLIST";
                 &rec_hrsTransfer.HRS_PREV_BAR_NM.Value = "USE";
                 &rec_hrsTransfer.HRS_PREV_ACTION_NM.Value = "U";
                 &rec_hrsTransfer.HRS_PREV_COMP_NM.Value = "WORKLIST";
                 &rec_hrsTransfer.HRS_PREV_PAGE_NM.Value = "WORKLIST";
                 Transfer( False, MenuName.WORKLIST, BarName.USE, ItemName.WORKLIST,
        Page.WORKLIST, "U");
              Else
                 If &rec_hrsTransfer <> Null And
                       All(&rec_hrsTransfer.HRS_PREV_COMP_NM.Value) And
                       &rec_hrsTransfer.HRS_PREV_COMP_NM.Value <> "HRS_APP_RCMNT" Then
                    Local string &l_str_PrevMenuNm, &l_str_PrevBarNm, &l_str_PrevCompNm,
        &l_str_PrevActionNm, &l_str_PrevPageNm;
                    &l_str_PrevMenuNm = &rec_hrsTransfer.HRS_PREV_MENU_NM.Value;
                    &l_str_PrevBarNm = &rec_hrsTransfer.HRS_PREV_BAR_NM.Value;
                    &l_str_PrevActionNm = &rec_hrsTransfer.HRS_PREV_ACTION_NM.Value;
                    &l_str_PrevCompNm = &rec_hrsTransfer.HRS_PREV_COMP_NM.Value;
                    &l_str_PrevPageNm = &rec_hrsTransfer.HRS_PREV_PAGE_NM.Value;
                    &rec_hrsTransfer.HRS_PREV_MENU_NM.Value = "HRS_HRAT";
                    &rec_hrsTransfer.HRS_PREV_BAR_NM.Value = "USE";
                    &rec_hrsTransfer.HRS_PREV_ACTION_NM.Value = "U";
                    &rec_hrsTransfer.HRS_PREV_COMP_NM.Value = "HRS_APP_RCMNT";
                    &rec_hrsTransfer.HRS_PREV_PAGE_NM.Value = "HRS_APP_RCMNT";

                    Evaluate &l_str_PrevPageNm
                    When "HRS_MANAGE_APP"
                       Transfer( False, @("MenuName." | &l_str_PrevMenuNm), @("BarName." |
        &l_str_PrevBarNm), @("ItemName." | &l_str_PrevCompNm), @("Page." | &l_str_PrevPageNm),
        &l_str_PrevActionNm, HRS_RCMNT_I.HRS_PERSON_ID, HRS_RCMNT_I.HRS_RCMNT_ID);
                    When "HRS_JO_360"
                       Transfer( False, @("MenuName." | &l_str_PrevMenuNm), @("BarName." |
        &l_str_PrevBarNm), @("ItemName." | &l_str_PrevCompNm), @("Page." | &l_str_PrevPageNm),
        &l_str_PrevActionNm, HRS_RCMNT_I.HRS_JOB_OPENING_ID);
                    When "HRS_REC_SCHAPP"
                       Transfer( False, @("MenuName." | &l_str_PrevMenuNm), @("BarName." |
        &l_str_PrevBarNm), @("ItemName." | &l_str_PrevCompNm), @("Page." | &l_str_PrevPageNm),
        &l_str_PrevActionNm, HRS_RCMNT_I.HRS_PERSON_ID);
                    When-Other;
                    End-Evaluate;
                 Else
                    &rec_hrsTransfer = CreateRecord(Record.HRS_APP_TRN_WRK);
                    &rec_hrsTransfer.HRS_PREV_MENU_NM.Value = "HRS_HRAT";
                    &rec_hrsTransfer.HRS_PREV_BAR_NM.Value = "USE";
                    &rec_hrsTransfer.HRS_PREV_ACTION_NM.Value = "U";
                    &rec_hrsTransfer.HRS_PREV_COMP_NM.Value = "HRS_APP_RCMNT";
                    &rec_hrsTransfer.HRS_PREV_PAGE_NM.Value = "HRS_APP_RCMNT";
                    Transfer( False, MenuName.HRS_HRAT, BarName.USE, ItemName.HRS_MANAGE_APP,
        Page.HRS_MANAGE_APP, "U", HRS_RCMNT_I.HRS_PERSON_ID);
                 End-If;
              End-If;
           End-If;
        end-method;

        [ . . . Unchanged Code not Shown . . . ]




PeopleCode (Appl Package):
HRS_APPLICANT_TRACKING:HRS_INTERVIEWS:BUS:ScheduleInterview.OnExecute
        [ . . . Unchanged Code not Shown . . . ]

        method prepareSchedSave

           Local   Rowset &rsIntSched, &rsRcmInt, &rsIntSched1;
           Local   number &i, &j, &data, &newStoreRow, &rcmIntRows, &schedRows, &numscheduled;
           Local   date &intDate;
           Local   Row &copyRow;

           &rsRcmInt = GetRowset(Scroll.HRS_RCM_INT);
           &rsStoreRcmInt = CreateRowset(&rsRcmInt);
           &rcmIntRows = &rsRcmInt.ActiveRowCount;

           For &i = &rcmIntRows To 1 Step - 1
              &rsIntSched = &rsRcmInt(&i).GetRowset(Scroll.HRS_INT_SCHED);
              If &rsIntSched(1).IsDeleted Then
                 &schedRows = 0;
              Else
                 &schedRows = &rsIntSched.ActiveRowCount;
              End-If;

             &numscheduled = 0;

             For &j = 1 To &schedRows
                &intDate = &rsIntSched(&j).HRS_INT_SCHED.HRS_INT_DT.Value;
                If All(&intDate) Then
                   &numscheduled = &numscheduled + 1;
                End-If;
             End-For;

             If &numscheduled < &schedRows Then
                &copyRow = &rsRcmInt.GetRow(&i);
                &newStoreRow = &rsStoreRcmInt.ActiveRowCount;
                &data = &rsStoreRcmInt(1).HRS_RCM_INT.HRS_PERSON_ID.Value;
                If &newStoreRow = 1 And
                      None(&data) Then
                   &newStoreRow = 1;
                Else
                   &newStoreRow = &newStoreRow + 1;
                   &rsStoreRcmInt.InsertRow(&newStoreRow - 1);
                End-If;
                &copyRow.CopyTo(&rsStoreRcmInt.GetRow(&newStoreRow));

        &copyRow.GetRowset(Scroll.HRS_INT_SCHED).CopyTo(&rsStoreRcmInt.GetRow(&newStoreRow).Get
Rowset(Scroll.HRS_INT_SCHED));

&copyRow.GetRowset(Scroll.HRS_INT_LTR).CopyTo(&rsStoreRcmInt.GetRow(&newStoreRow).GetRo
wset(Scroll.HRS_INT_LTR));
      End-If;

      If &numscheduled = 0 Then
      /*Begin Rsln : 859279 - Commented these lines as it was removing the interviewers for
whom the interview was not scheduled*/
      /*If &numscheduled = 0 Then
         &rsRcmInt.DeleteRow(&i);
      Else
         For &j = &schedRows To 1 Step - 1
            &intDate = &rsIntSched(&j).HRS_INT_SCHED.HRS_INT_DT.Value;
            If None(&intDate) Then
               &rsIntSched.DeleteRow(&j);
            End-If;
         End-For;
      End-If;
      End-If;*/
      /*End Rsln : 859279*/
   End-For;

   For &i = &rsStoreRcmInt.ActiveRowCount To 1 Step - 1
      &rsIntSched1 = &rsStoreRcmInt(&i).GetRowset(Scroll.HRS_INT_SCHED);
      For &j = &rsIntSched1.ActiveRowCount To 1 Step - 1
         If All(&rsIntSched1.GetRow(&j).HRS_INT_SCHED.HRS_INT_DT.Value) Then
            &rsIntSched1.DeleteRow(&j);
         End-If;
      End-For;
   End-For;

end-method;

[ . . . Unchanged Code not Shown . . . ]

method NotifyCancelledInterviewApplicant
   /+ &obj_ScheduleInterviewBean as
HRS_APPLICANT_TRACKING:HRS_INTERVIEWS:BUS:ScheduleInterviewBean, +/
   /+ &rs_IntvwTeam as Rowset +/

   Local array of string &ary_TemplateVars, &ary_ForwardTo, &ary_ForwardBCC,
&ary_ForwardCC;
   Local number &i, &nbr_JOId;
   Local string &str_ForwardTo, &str_MsgCatalog, &str_startminutes, &str_endminutes;
   Local datetime &IntvwDttm;
   Local HRS_APPLICANT_TRACKING:HRS_INTERVIEWS:DATA:DBAccess &obj_DBAccess = create
HRS_APPLICANT_TRACKING:HRS_INTERVIEWS:DATA:DBAccess();
   &ary_TemplateVars = CreateArrayRept("", 0);
   &obj_Utility = create HRS_ARM:UTIL:Utility();
   &ary_ForwardTo = &obj_Utility.SplitString(&str_ForwardTo, ",", 0, 0);
   &ary_ForwardCC = CreateArrayRept("", 0);
   &ary_ForwardBCC = CreateArrayRept("", 0);
   &ary_ForwardTo = &obj_Utility.SplitString(&str_ForwardTo, ",", 0, 0);
   &nbr_JOId = Value(&obj_ScheduleInterviewBean.JObOpeningId);

   For &i = 1 To &rs_IntvwTeam.RowCount
      If All(&rs_IntvwTeam(&i).HRS_INT_SCHED.HRS_INT_DT.Value) And
            &rs_IntvwTeam(&i).HRS_INT_SCHED.HRS_INT_DT.Value >= %Date And
            &rs_IntvwTeam(&i).IsDeleted Then

         &ary_TemplateVars = CreateArrayRept("", 0);
         &str_ForwardTo =
&obj_DBAccess.getApplicantEmailAddress(Value(&obj_ScheduleInterviewBean.ApplicantId));
         &ary_ForwardTo = &obj_Utility.SplitString(&str_ForwardTo, ",", 0, 0);


&ary_TemplateVars.Push(String(&rs_IntvwTeam.GetRow(&i).HRS_INT_SCHED.HRS_INT_DT.Value))
;

&ary_TemplateVars.Push(DateTimeToLocalizedString(DateTimeValue(DateTimeToLocalizedStrin
        g(%Date, "M/d/y") | " " |
        String(&rs_IntvwTeam.GetRow(&i).HRS_INT_SCHED.HRS_START_TM.Value)), "h:mm a"));

        &ary_TemplateVars.Push(DateTimeToLocalizedString(DateTimeValue(DateTimeToLocalizedStrin
        g(%Date, "M/d/y") | " " |
        String(&rs_IntvwTeam.GetRow(&i).HRS_INT_SCHED.HRS_END_TM.Value)), "h:mm a"));
                 If All(&nbr_JOId) Then
                    &ary_TemplateVars.Push(&obj_ScheduleInterviewBean.JObOpeningId);
                    &ary_TemplateVars.Push(&obj_ScheduleInterviewBean.PostingTitle);
                 End-If;

        &ary_TemplateVars.Push(&rs_IntvwTeam.GetRow(&i).HRS_INT_SCHED.INTVW_LOCATION.Value);

                 If All(&nbr_JOId) Then
                    %This.sendEmailNotification("HRS_INTVWSCHED_APPL_CANCEL ", &ary_ForwardTo,
        &ary_ForwardCC, &ary_ForwardBCC, &ary_TemplateVars);
                 Else
                    %This.sendEmailNotification("HRS_INTVWSCHE_APPL_NOJO_CANCEL",
        &ary_ForwardTo, &ary_ForwardCC, &ary_ForwardBCC, &ary_TemplateVars);
                 End-If;
              End-If;

           End-For;

        end-method;

        [ . . . Unchanged Code not Shown . . . ]




PeopleCode (Appl Package): HRS_CANDIDATE_MANAGER:CMP_CAND_EXP:BUS:Apply.OnExecute
        [ . . . Unchanged Code not Shown . . . ]

        class Apply extends HRS_CANDIDATE_MANAGER:CMP_CAND_EXP:BUS:Action
           method Apply();
           method perform();
           method getPageLayout() Returns HRS_CANDIDATE_MANAGER:CMP_CAND_EXP:UI:PageLayout;
           method setJobBasket(&aJobOpenings As array of number);
           method setPageLayout(&siteId As string);
           method setProfile();
           method CompareNewJobSections(&ary_section As array of array of string, &ary_RcrtTmpl As
        array of HRS_COMMON:OBJ_HRS_RCRT_TMPL:DATA:RcrtTmplType) Returns array of string;
           method setNewJobPageLayout(&obj_PageLayout As
        HRS_CANDIDATE_MANAGER:CMP_CAND_EXP:UI:PageLayout, &siteId As string);
           method setJobsArray(&aJobOpenings As array of number);
           method setJoId() Returns number; /* 766847 */
        protected
           method setCompetencies();
           method setQuestionairre();
           method setOpenEndedQuestion();
           method loadEmplCompetencies();
           method loadDefaultProfileDataFromHR();
           method copyLabel(&rs_pRowset As Rowset, &str_pSrcRecordName As string,
        &str_pSrcFieldName As string, &str_pDestRecordName As string, &str_pDestFieldName As
        string);
           method getTemplatewithMaxSectns(&ary_RcrtTmpl As array of
        HRS_COMMON:OBJ_HRS_RCRT_TMPL:DATA:RcrtTmplType) Returns number;
           method CompareAdditionSections(&ary_RcrtTmpl As array of
        HRS_COMMON:OBJ_HRS_RCRT_TMPL:DATA:RcrtTmplType, &nbr_TemplMaxSect As number) Returns
        array of string;
        private
           instance HRS_CANDIDATE_MANAGER:CMP_CAND_EXP:UI:PageLayout &pl;
           instance HRS_CANDIDATE_MANAGER:CMP_CAND_EXP:BUS:SessionMgr &sessionMgr;
           instance array of number &myAJO;
           instance array of number &ary_myNewJobs;
        end-class;

        [ . . . Unchanged Code not Shown . . . ]
        method setJoId
           /+ Returns Number +/
           Local number &joid = &myAJO [1];
           Return &joid;
        end-method;




PeopleCode (Appl Package):
HRS_CANDIDATE_MANAGER:CMP_CAND_EXP:UI:PageValidate.OnExecute
        [ . . . Unchanged Code not Shown . . . ]

        method validateIssuedDates
           /* 649475 Validate Issued Dates */
           Local Rowset &rs_AppSecEdu;
           Local number &i;
           Local string &str_ReturnedText;
           Local Field &FLD; /* 860658 */

           &isError = False;
           &rs_AppSecEdu =
        GetLevel0()(1).GetRowset(Scroll.HRS_APP_PROFILE).GetRow(1).GetRowset(Scroll.HRS_APP_DEG
        _VW);
           For &i = 1 To &rs_AppSecEdu.ActiveRowCount
              If All(&rs_AppSecEdu.GetRow(&i).HRS_APP_DEG_VW.DT_ISSUED.Value) Then
                 &FLD =
        &rs_AppSecEdu.GetRow(&i).GetRecord(Record.HRS_APP_DEG_VW).GetField(Field.ACCOMPLISHMENT
        ).GetRelated(DEGREE_VW.DESCR); /* 860658 */
                 If &rs_AppSecEdu.GetRow(&i).HRS_APP_DEG_VW.GRADUATE_INDICATOR.Value = "Y" Then
                    If &rs_AppSecEdu.GetRow(&i).HRS_APP_DEG_VW.DT_ISSUED.Value > %Date Then
                       &str_ReturnedText = MsgGetText(1000, 49, "");
                       rem &str_ReturnedText = MsgGetText(1000, 49, "");
                       &str_ReturnedText = MsgGetText(1000, 49, "", &FLD.Value); /* 860658 */
                       &str_ReturnedText = &str_ReturnedText | "<BR>" | MsgGetExplainText(1000,
        49, ""); /* 860658 */

                       &isError = True;
                    End-If;
                 Else
                    If &rs_AppSecEdu.GetRow(&i).HRS_APP_DEG_VW.DT_ISSUED.Value < %Date Then
                       &isError = True;
                       &str_ReturnedText = MsgGetText(1000, 50, "");
                       rem &str_ReturnedText = MsgGetText(1000, 50, "");
                       &str_ReturnedText = MsgGetText(1000, 50, "", &FLD.Value); /* 860658 */
                       &str_ReturnedText = &str_ReturnedText | "<BR>" | MsgGetExplainText(1000,
        50, ""); /* 860658 */

                    End-If;
                 End-If;
              End-If;
           End-For;
           &ProfileError = &ProfileError | "<BR>" | &str_ReturnedText;
        end-method;

        [ . . . Unchanged Code not Shown . . . ]




PeopleCode (Appl Package):
HRS_CANDIDATE_MANAGER:CMP_DUPE_PRCS:UI:HRS_DUPE_REVIEW.OnExecute
        [ . . . Unchanged Code not Shown . . . ]

        method AdjustDisplay
           Local Row &row;
           Local number &dupesetsts;
   Local   Record   &rec;
   Local   string   &statuscode;
   Local   Rowset   &rs;
   Local   number   &x, &i;


   REM RS836059 Code Begins;
   If &rsStat = Null Then
      &rsStat = CreateRowset(Record.HRS_DUPE_STATUS);
      &rsStat.Fill("");
   End-If;
   REM RS836059 Code Ends;

   Local HRS_COMMON:OBJ_STATUS_EFFECTS:BUS:StatusEffectsMngr &sem;

   &sem = create HRS_COMMON:OBJ_STATUS_EFFECTS:BUS:StatusEffectsMngr();
   REM RS836059 Comment Begins;
   REM &rs = GetRowset(Scroll.HRS_DUPE_PERSON);
   REM RS836059 Comment Ends;

   REM RS836059 Code Begins;
   &rs = GetRowset(Scroll.HRS_DUPE_VW);
   REM RS836059 Code Ends;

   For &x = &rs.ActiveRowCount To 1 Step - 1
      &row = &rs(&x);
      &dupesetsts =
Value(GetRow().GetRecord(Record.HRS_DUPE_SET).GetField(Field.HRS_DUPE_SET_STS).Value);
      REM RS836059 Comment Begins;
      /*


%This.DisplayPopulatedField(&row.GetRecord(Record.HRS_APP_NAME_I).GetField(Field.FIRST_
NAME));

%This.DisplayPopulatedField(&row.GetRecord(Record.HRS_APP_NAME_I).GetField(Field.MIDDLE
_NAME));

%This.DisplayPopulatedField(&row.GetRecord(Record.HRS_APP_NAME_I).GetField(Field.LAST_N
AME));

%This.DisplayPopulatedField(&row.GetRecord(Record.HRS_APP_EMAIL_I).GetField(Field.EMAIL
_ADDR));

%This.DisplayPopulatedField(&row.GetRecord(Record.HRS_APP_PHONE_I).GetField(Field.PHONE
));

%This.DisplayPopulatedField(&row.GetRecord(Record.HRS_APP_ADDR_I).GetField(Field.ADDRES
S1));

%This.DisplayPopulatedField(&row.GetRecord(Record.HRS_APP_ADDR_I).GetField(Field.ADDRES
S2));

%This.DisplayPopulatedField(&row.GetRecord(Record.HRS_APP_ADDR_I).GetField(Field.ADDRES
S3));

%This.DisplayPopulatedField(&row.GetRecord(Record.HRS_APP_ADDR_I).GetField(Field.ADDRES
S4));

%This.DisplayPopulatedField(&row.GetRecord(Record.HRS_APP_ADDR_I).GetField(Field.CITY))
;

%This.DisplayPopulatedField(&row.GetRecord(Record.HRS_APP_ADDR_I).GetField(Field.STATE)
);

%This.DisplayPopulatedField(&row.GetRecord(Record.HRS_APP_ADDR_I).GetField(Field.COUNTR
Y));

%This.DisplayPopulatedField(&row.GetRecord(Record.HRS_APP_ADDR_I).GetField(Field.POSTAL
));
      &row.HRS_DUPER_WRK.HRS_PERSON_ID.Label = &row.HRS_DUPE_PERSON.HRS_PERSON_ID.Value;
RS836059 Comment Ends */
      REM RS836059 Code Begins;

%This.DisplayPopulatedField(&row.GetRecord(Record.HRS_DUPE_VW).GetField(Field.FIRST_NAM
E));

%This.DisplayPopulatedField(&row.GetRecord(Record.HRS_DUPE_VW).GetField(Field.MIDDLE_NA
ME));

%This.DisplayPopulatedField(&row.GetRecord(Record.HRS_DUPE_VW).GetField(Field.LAST_NAME
));

%This.DisplayPopulatedField(&row.GetRecord(Record.HRS_DUPE_VW).GetField(Field.EMAIL_ADD
R));

%This.DisplayPopulatedField(&row.GetRecord(Record.HRS_DUPE_VW).GetField(Field.PHONE));

%This.DisplayPopulatedField(&row.GetRecord(Record.HRS_DUPE_VW).GetField(Field.ADDRESS1)
);

%This.DisplayPopulatedField(&row.GetRecord(Record.HRS_DUPE_VW).GetField(Field.ADDRESS2)
);

%This.DisplayPopulatedField(&row.GetRecord(Record.HRS_DUPE_VW).GetField(Field.ADDRESS3)
);

%This.DisplayPopulatedField(&row.GetRecord(Record.HRS_DUPE_VW).GetField(Field.ADDRESS4)
);

%This.DisplayPopulatedField(&row.GetRecord(Record.HRS_DUPE_VW).GetField(Field.CITY));

%This.DisplayPopulatedField(&row.GetRecord(Record.HRS_DUPE_VW).GetField(Field.STATE));

%This.DisplayPopulatedField(&row.GetRecord(Record.HRS_DUPE_VW).GetField(Field.COUNTRY))
;

%This.DisplayPopulatedField(&row.GetRecord(Record.HRS_DUPE_VW).GetField(Field.POSTAL));
      &row.HRS_DUPER_WRK.HRS_PERSON_ID.Label = &row.HRS_DUPE_VW.HRS_PERSON_ID.Value;
      REM RS836059 Code Ends;

     If &dupesetsts > 20 Then
        REM RS836059 Comment Begins;
        /*

&row.GetRecord(Record.HRS_DUPE_PERSON).GetField(Field.HRS_DUPE_REL).DisplayOnly = True;

&row.GetRecord(Record.HRS_DUPE_PERSON).GetField(Field.HRS_DUPE_PARENT).DisplayOnly =
True;
            */
         REM RS836059 Comment Ends;

        REM RS836059 Code Begins;
        /* 860145 Comment Begin */
        <*

&row.GetRecord(Record.HRS_DUPE_PERSON).GetField(Field.HRS_DUPE_REL).DisplayOnly = True;

&row.GetRecord(Record.HRS_DUPE_PERSON).GetField(Field.HRS_DUPE_PARENT).DisplayOnly =
True;
*>
         /* 860145 Comment End */
         /* 860145 Code Begin */
         &row.GetRecord(Record.HRS_DUPE_VW).GetField(Field.HRS_DUPE_REL).DisplayOnly =
True;
         &row.GetRecord(Record.HRS_DUPE_VW).GetField(Field.HRS_DUPE_PARENT).DisplayOnly
= True;
         /* 860145 Code End */

        REM RS836059 Code Ends;

     Else
         <* RS836059 Comment Begins
         SQLExec("SELECT STATUS_CODE FROM PS_HRS_APPLICANT WHERE HRS_PERSON_ID=:1",
&row.GetRecord(Record.HRS_DUPE_PERSON).GetField(Field.HRS_PERSON_ID).Value,
&statuscode);
         If &sem.isStatusOpen("2", &statuscode) <> "Y" Then
            rem
&row.GetRecord(Record.HRS_DUPE_PERSON).GetField(Field.HRS_DUPE_REL).DisplayOnly = True;
            rem
&row.GetRecord(Record.HRS_DUPE_PERSON).GetField(Field.HRS_DUPE_PARENT).DisplayOnly =
True;
            &row.GetRecord(Record.HRS_DUPE_PERSON).GetField(Field.HRS_DUPE_REL).Value =
"";
            &row.Visible = False;
            rem DoSaveNow();
         Else
            &row.Visible = True;
         End-If;
RS836059 Comment Ends *>

         REM RS836059 Code Begins;
         Local boolean &flg;
         &flg = False;
         For &i = 1 To &rsStat.ActiveRowCount
            If &row.GetRecord(Record.HRS_DUPE_VW).GetField(Field.STATUS_CODE).Value =
&rsStat(&i).HRS_DUPE_STATUS.STATUS_CODE.Value Then
               &flg = True;
               Break;
            End-If;
         End-For;


         If &flg = False And
               &rsStat.ActiveRowCount > 0 Then
            rem
&row.GetRecord(Record.HRS_DUPE_PERSON).GetField(Field.HRS_DUPE_REL).DisplayOnly = True;
            rem
&row.GetRecord(Record.HRS_DUPE_PERSON).GetField(Field.HRS_DUPE_PARENT).DisplayOnly =
True;
            &row.GetRecord(Record.HRS_DUPE_VW).GetField(Field.HRS_DUPE_REL).Value = "";
            &row.Visible = False;
            rem DoSaveNow();
         Else
            &row.Visible = True;
         End-If;
         REM RS836059 Code Ends;


      End-If;
   End-For;
end-method;

method DisplayTarget
   /* 860145 Comment Begin */
   <*
   If HRS_DUPE_PERSON.HRS_DUPE_REL.Value = "20" Then
      HRS_DUPE_PERSON.HRS_DUPE_PARENT.Visible = True;
   Else
      HRS_DUPE_PERSON.HRS_DUPE_PARENT.Visible = False;
   End-If;
*>
   /* 860145 Comment End */
   /* 860145 Code Begin */
   If HRS_DUPE_VW.HRS_DUPE_REL.Value = "20" Then
      HRS_DUPE_VW.HRS_DUPE_PARENT.Visible = True;
   Else
      HRS_DUPE_VW.HRS_DUPE_PARENT.Visible = False;
   End-If;
   /* 860145 Code End */


end-method;
method AdjustSetTargets
   /+ &field as Field +/
   Local Rowset &rs;
   Local number &x;
   &field.ClearDropDownList();
   &rs =
GetLevel0().GetRow(1).GetRowset(Scroll.HRS_DUPE_SET).GetRow(CurrentRowNumber(1)).GetRow
set(Scroll.HRS_DUPE_PERSON);
   /* 860145 Comment Begin */
   /*
   &rs =
GetLevel0().GetRow(1).GetRowset(Scroll.HRS_DUPE_SET).GetRow(CurrentRowNumber(1)).GetRow
set(Scroll.HRS_DUPE_PERSON); */
   /* 860145 Comment End */
   /* 860145 Code Begin */
   &rs =
GetLevel0().GetRow(1).GetRowset(Scroll.HRS_DUPE_SET).GetRow(CurrentRowNumber(1)).GetRow
set(Scroll.HRS_DUPE_VW);
   /* 860145 Code End */

   For &x = 1 To &rs.ActiveRowCount
      /* 860145 Comment Begin */
      <*
      If &rs(&x).HRS_DUPE_PERSON.HRS_DUPE_REL.Value = "10" Then
         &field.AddDropDownItem(&rs(&x).HRS_DUPE_PERSON.HRS_PERSON_ID.Value,
&rs(&x).HRS_DUPE_PERSON.HRS_PERSON_ID.Value);
         &field.AddDropDownItem(&rs(&x).HRS_DUPE_PERSON.HRS_PERSON_ID.Value,
&rs(&x).HRS_DUPE_PERSON.HRS_PERSON_ID.Value); *>
      /* 860145 Comment End */
      /* 860145 Code Begin */
      If &rs(&x).HRS_DUPE_VW.HRS_DUPE_REL.Value = "10" Then
         &field.AddDropDownItem(&rs(&x).HRS_DUPE_VW.HRS_PERSON_ID.Value,
&rs(&x).HRS_DUPE_VW.HRS_PERSON_ID.Value);
         /* 860145 Code End */
      End-If;
   End-For;
end-method;

[ . . . Unchanged Code not Shown . . . ]

method ChangeRelationship
   Local Rowset &rs;
   Local number &x;

   &rs =
GetLevel0().GetRow(1).GetRowset(Scroll.HRS_DUPE_SET).GetRow(CurrentRowNumber(1)).GetRow
set(Scroll.HRS_DUPE_PERSON);
   /* 860145 Comment Begin */
   /* &rs =
GetLevel0().GetRow(1).GetRowset(Scroll.HRS_DUPE_SET).GetRow(CurrentRowNumber(1)).GetRow
set(Scroll.HRS_DUPE_PERSON); */
   /* 860145 Comment End */
   /* 860145 Code Begin */
   &rs =
GetLevel0().GetRow(1).GetRowset(Scroll.HRS_DUPE_SET).GetRow(CurrentRowNumber(1)).GetRow
set(Scroll.HRS_DUPE_VW);
   /* 860145 Code End */

  %This.DisplayTarget();
  For &x = 1 To &rs.ActiveRowCount
     If &rs(&x).HRS_DUPE_PERSON.HRS_DUPE_REL.Value = "20" Then
     /* 860145 Comment Begin */
     <* If &rs(&x).HRS_DUPE_PERSON.HRS_DUPE_REL.Value = "20" Then
        %This.AdjustSetTargets(&rs(&x).HRS_DUPE_PERSON.HRS_DUPE_PARENT);
     End-If; *>
     /* 860145 Comment End */
     /* 860145 Code Begin */
     If &rs(&x).HRS_DUPE_VW.HRS_DUPE_REL.Value = "20" Then
        %This.AdjustSetTargets(&rs(&x).HRS_DUPE_VW.HRS_DUPE_PARENT);
     End-If;
     /* 860145 Code End */

   End-For;
end-method;

method AppManageLink
   Local number &x;
   Local Rowset &rs;
   rem Transfer( False, @("MenuName." | &rec_hrsTransfer.HRS_PREV_MENU_NM.Value),
@("BarName." | &rec_hrsTransfer.HRS_PREV_BAR_NM.Value), @("ItemName." |
&rec_hrsTransfer.HRS_PREV_COMP_NM.Value), @("Page." |
&rec_hrsTransfer.HRS_PREV_PAGE_NM.Value), &rec_hrsTransfer.HRS_PREV_ACTION_NM.Value,
&rec_hrsTransfer);
   &rs =
GetLevel0().GetRow(1).GetRowset(Scroll.HRS_DUPE_SET).GetRow(CurrentRowNumber(1)).GetRow
set(Scroll.HRS_DUPE_PERSON);
   /* 860145 Comment Begin */
   /* &rs =
GetLevel0().GetRow(1).GetRowset(Scroll.HRS_DUPE_SET).GetRow(CurrentRowNumber(1)).GetRow
set(Scroll.HRS_DUPE_PERSON); */
   /* 860145 Comment End */
   /* 860145 Code Begin */
   &rs =
GetLevel0().GetRow(1).GetRowset(Scroll.HRS_DUPE_SET).GetRow(CurrentRowNumber(1)).GetRow
set(Scroll.HRS_DUPE_VW);
   /* 860145 Code End */

  &g_hrs_listManager = create HRS_COMMON:COMMON:LIST:ListManager();
  For &x = 1 To &rs.ActiveRowCount
     &g_hrs_listManager.AddtoList(&rs(&x).HRS_DUPE_PERSON.HRS_PERSON_ID.Value);
     /* 860145 Comment Begin */
     /* &g_hrs_listManager.AddtoList(&rs(&x).HRS_DUPE_PERSON.HRS_PERSON_ID.Value); */
     /* 860145 Comment End */
     /* 860145 Code Begin */
     &g_hrs_listManager.AddtoList(&rs(&x).HRS_DUPE_VW.HRS_PERSON_ID.Value);
     /* 860145 Code End */
  End-For;

&g_hrs_listManager.SetPosition(&rs(CurrentRowNumber(2)).HRS_DUPE_PERSON.HRS_PERSON_ID.V
alue);
   HRS_APP_TRN_WRK.HRS_PERSON_ID.Value =
&rs(CurrentRowNumber(2)).HRS_DUPE_PERSON.HRS_PERSON_ID.Value;
   /* 860145 Comment Begin */
   <*
&g_hrs_listManager.SetPosition(&rs(CurrentRowNumber(2)).HRS_DUPE_PERSON.HRS_PERSON_ID.V
alue);
   HRS_APP_TRN_WRK.HRS_PERSON_ID.Value =
&rs(CurrentRowNumber(2)).HRS_DUPE_PERSON.HRS_PERSON_ID.Value; *>
   /* 860145 Comment End */
   /* 860145 Code Begin */

&g_hrs_listManager.SetPosition(&rs(CurrentRowNumber(2)).HRS_DUPE_VW.HRS_PERSON_ID.Value
);
   HRS_APP_TRN_WRK.HRS_PERSON_ID.Value =
&rs(CurrentRowNumber(2)).HRS_DUPE_VW.HRS_PERSON_ID.Value;
   /* 860145 Code End */

  DoSaveNow();
  &rec_hrsTransfer = CreateRecord(Record.HRS_APP_TRN_WRK);
  &rec_hrsTransfer.HRS_PREV_MENU_NM.Value = %Menu;
  &rec_hrsTransfer.HRS_PREV_BAR_NM.Value = "HRS_DUPE";
  &rec_hrsTransfer.HRS_PREV_COMP_NM.Value = %Component;
  &rec_hrsTransfer.HRS_PREV_PAGE_NM.Value = %Page;
  &rec_hrsTransfer.HRS_PREV_ACTION_NM.Value = "U";
  &rec_hrsTransfer.HRS_PREV_TAB_NM.Value = MsgGetText(18179, 204, "");
  &g_dupe_setid = &rs(CurrentRowNumber(2)).HRS_DUPE_PERSON.HRS_DUPE_SET_ID.Value;
  /* 860145 Comment Begin */
  /* &g_dupe_setid = &rs(CurrentRowNumber(2)).HRS_DUPE_PERSON.HRS_DUPE_SET_ID.Value; */
  /* 860145 Comment End */
  /* 860145 Code Begin */
  &g_dupe_setid = &rs(CurrentRowNumber(2)).HRS_DUPE_VW.HRS_DUPE_SET_ID.Value;
           /* 860145 Code End */

           &g_dupe_runcntl = GetLevel0().GetRow(1).HRS_DUPE_MPRCS.RUN_CNTL_ID.Value;
           rem DoModalComponent(MenuName.HRS_HRAT, BarName.USE, ItemName.HRS_MANAGE_APP,
        Page.HRS_MANAGE_APP, "U", Record.HRS_APP_TRN_WRK);
           rem &MyNavStack = Null;
           Transfer( False, MenuName.HRS_HRAT, BarName.USE, ItemName.HRS_MANAGE_APP,
        Page.HRS_MANAGE_APP, "C", HRS_DUPE_PERSON.HRS_PERSON_ID);
           /* 860145 Comment Begin */
           /* Transfer( False, MenuName.HRS_HRAT, BarName.USE, ItemName.HRS_MANAGE_APP,
        Page.HRS_MANAGE_APP, "C", HRS_DUPE_PERSON.HRS_PERSON_ID); */
           /* 860145 Comment End */
           /* 860145 Code Begin */
           Transfer( False, MenuName.HRS_HRAT, BarName.USE, ItemName.HRS_MANAGE_APP,
        Page.HRS_MANAGE_APP, "C", HRS_DUPE_VW.HRS_PERSON_ID);
           /* 860145 Code End */

        end-method;

        [ . . . Unchanged Code not Shown . . . ]




PeopleCode (Appl Package): HRS_CANDIDATE_MANAGER:CMP_LOGON:BUS:LogonMgr.OnExecute
        [ . . . Unchanged Code not Shown . . . ]

        class LogonMgr
           method doLogon() Returns number;
           method doSubmitRegistration() Returns number;
           method chngPswd(&pwd As string) Returns boolean;
           method getUserid(&email As string) Returns array of string;
           method getEmail(&usrid As string) Returns string;
           method getPwd(&usrid As string) Returns string;
           method sendPwd(&usrid As string, &pwd As string, &email As string) Returns boolean;
           method sendUsrid(&usrid As array of string, &email As string) Returns boolean;
           method getSiteParam() Returns number;
           method getInternalPersonId(&str_emplid As string) Returns number;
           method saveInternalPersonName(&str_emplid As string, &nbr_PersonId As number);
           method saveInternalPersonAddress(&str_emplid As string, &nbr_PersonId As number);
           method saveInternalPersonPhone(&str_emplid As string, &nbr_PersonId As number);
           method saveInternalPersonEmail(&str_emplid As string, &nbr_PersonId As number);
           method saveInternalPersonEthnicity(&str_emplid As string, &nbr_PersonId As number);
           method saveInternalPersonEthnicityForFederal(&str_emplid As string, &nbr_PersonId As
        number);
           method saveInternalPersonDiversity(&str_emplid As string, &nbr_PersonId As number);
           method saveInternalPersonEffdt(&str_emplid As string, &nbr_PersonId As number);
           method saveInternalPersonNID(&str_emplid As string, &nbr_PersonId As number);
           method isNewApplicant(&str_emplid As string) Returns boolean;

           method setInternalPersonId(&str_emplid As string, &nbr_IntPersonId As number) Returns
        number;
           property string ErrorString readonly;
           property boolean LoginError readonly;
           property boolean NewApplicant;

           /* 856844 CODE BEGIN */
           method paintDisability(&str_emplid As string, &nbr_PersonId As number);
           method paintDisabilityFRA(&str_emplid As string, &nbr_PersonId As number);
           method paintAccommodationRequest(&str_emplid As string, &nbr_PersonId As number);
           method paintDisabilityCommon(&str_emplid As string, &nbr_PersonId As number, &recName
        As string);
           /* 856844 CODE END */

        private

           instance number &HRSPersonID;

        end-class;
[ . . . Unchanged Code not Shown . . . ]

method setInternalPersonId
   /+ &str_emplid as String, +/
   /+ &nbr_IntPersonId as Number +/
   /+ Returns Number +/

   Local HRS_BO:BUS:BODefaults &cls_lBODefaults = create HRS_BO:BUS:BODefaults();
   Local Record &rec_Applicant, &tempPerson;
   Local boolean &bol_Appinsert;
   Local HRS_COMMON:COMMON:UTIL:Counter &class_COUNTER;
   Local HRS_BO:BUS:PersonProfile &person;
   Local Record &rec_GenderRec;
   Local HRS_COMMON:COMMON:UTIL:RowAudit &cls_lRowAudit = create
HRS_COMMON:COMMON:UTIL:RowAudit();

  &person = create HRS_BO:BUS:PersonProfile();
  &person.setEmplId(&str_emplid);
  &person.setEffdt(%Date);

  &rec_Applicant = GetLevel0()(1).GetRecord(Record.HRS_APPLICANT);

   /* 1304606000: Only copy person data when a new applicant in order not to overwrite
existing
                  applicant data. Add or update audit fields */

  If %This.NewApplicant Then

     try
        &tempPerson = &person.getPerson(&tempPerson);
        &tempPerson.CopyFieldsTo(&rec_Applicant);
     catch HMCR_FRAMEWORK:ServiceFramework:baseClasses:baseException &ex
        Error &ex.DefaultText;
     end-try;

     &rec_Applicant.HRS_PERSON_ID.Value = &nbr_IntPersonId;
     /* Set the Applid */
     &rec_Applicant.APPLID.Value = String(&nbr_IntPersonId);

     &rec_Applicant.APP_PER_STATUS.Value = "E";

      &cls_lRowAudit.UpdateRowauditFields("A", &rec_Applicant.HRS_ROW_ADD_OPRID.Value,
&rec_Applicant.HRS_ROW_ADD_DTTM.Value, &rec_Applicant.HRS_ROW_UPD_OPRID.Value,
&rec_Applicant.HRS_ROW_UPD_DTTM.Value);
   Else
      &cls_lRowAudit.UpdateRowauditFields("U", &rec_Applicant.HRS_ROW_ADD_OPRID.Value,
&rec_Applicant.HRS_ROW_ADD_DTTM.Value, &rec_Applicant.HRS_ROW_UPD_OPRID.Value,
&rec_Applicant.HRS_ROW_UPD_DTTM.Value);
   End-If;

  &rec_GenderRec = CreateRecord(Record.HRS_APPLICANT);
  &rec_GenderRec = &person.getGenderRecord(&rec_GenderRec);
  &rec_Applicant.SEX.Value = &rec_GenderRec.SEX.Value;

  %This.saveInternalPersonName(&str_emplid, &nbr_IntPersonId);
  %This.saveInternalPersonAddress(&str_emplid, &nbr_IntPersonId);

  %This.saveInternalPersonPhone(&str_emplid, &nbr_IntPersonId);
  %This.saveInternalPersonEmail(&str_emplid, &nbr_IntPersonId);

  /* 1304606000: call method saveInternalPersonEffdt to add or update marital status */
  %This.saveInternalPersonEffdt(&str_emplid, &nbr_IntPersonId);

  /* Save NID */
  %This.saveInternalPersonNID(&str_emplid, &nbr_IntPersonId);

  If ( Not &cls_lBODefaults.isFederal()) Then
     %This.saveInternalPersonEthnicity(&str_emplid, &nbr_IntPersonId);
     %This.saveInternalPersonDiversity(&str_emplid, &nbr_IntPersonId);
  Else
     %This.saveInternalPersonEthnicityForFederal(&str_emplid, &nbr_IntPersonId);
   End-If;


   /* 856844 CODE BEGIN */
   Local array of string &DisabilityRecs;
   Local number &i;
   &DisabilityRecs = CreateArray("HRS_APP_DIS_CHE", "HRS_APP_DIS_ESP", "HRS_APP_DIS_GER",
"HRS_APP_DIS_NLD", "HRS_APP_DIS_NZL");
   %This.paintDisability(&str_emplid, &nbr_IntPersonId);
   For &i = 1 To &DisabilityRecs.Len
      %This.paintDisabilityCommon(&str_emplid, &nbr_IntPersonId, &DisabilityRecs [&i]);
   End-For;
   %This.paintDisabilityFRA(&str_emplid, &nbr_IntPersonId);
   %This.paintAccommodationRequest(&str_emplid, &nbr_IntPersonId);
   /* 856844 CODE END */

   Return &nbr_IntPersonId;
end-method;

[ . . . Unchanged Code not Shown . . . ]


/* 856844 CODE BEGIN */
method paintDisability
   /+ &str_emplid as String, +/
   /+ &nbr_PersonId as Number +/

   /* Copy Disability */
   Local HRS_BO:BUS:PersonProfile &person;
   Local Rowset &tempRsDisability = CreateRowset(Record.HRS_APP_DIS);
   Local Row &tempRowDisability = &tempRsDisability.GetRow(1);
   Local Record &targetRecDisability = CreateRecord(Record.HRS_APP_DIS);

   &person = create HRS_BO:BUS:PersonProfile();
   &person.setEmplId(&str_emplid);
   &person.setEffdt(%Date);

   &targetRecDisability.HRS_PERSON_ID.Value = &nbr_PersonId;
   If &targetRecDisability.SelectByKey() Then
      &targetRecDisability.Delete();
   End-If;

   try

      &tempRowDisability = &person.getDisability(&tempRowDisability);
      If &tempRowDisability <> Null And
            &tempRowDisability.IsNew And
            &tempRowDisability.IsChanged Then

         &targetRecDisability =
&tempRsDisability.GetRow(1).GetRecord(Record.HRS_APP_DIS);

         &targetRecDisability.HRS_PERSON_ID.Value = &nbr_PersonId;
         &targetRecDisability.HRS_ROW_ADD_OPRID.Value = %UserId;
         &targetRecDisability.HRS_ROW_ADD_DTTM.Value = %Datetime;
         &targetRecDisability.HRS_ROW_UPD_OPRID.Value = %UserId;
         &targetRecDisability.HRS_ROW_UPD_DTTM.Value = %Datetime;

         &targetRecDisability.Insert();

      End-If;

   catch HMCR_FRAMEWORK:ServiceFramework:baseClasses:baseException &ex
   end-try;
end-method;

method paintDisabilityCommon
   /+ &str_emplid as String, +/
   /+ &nbr_PersonId as Number, +/
   /+ &recName as String +/
  /* Copy Common Disability Recs */
  Local HRS_BO:BUS:PersonProfile &person;
  Local number &rowCount;
  Local Rowset &tempDisability = CreateRowset(@("Record." | &recName));
  Local Rowset &targetRsDisability = CreateRowset(@("Record." | &recName));
  Local Record &targetRecDisability = CreateRecord(@("Record." | &recName));

  &person = create HRS_BO:BUS:PersonProfile();
  &person.setEmplId(&str_emplid);
  &person.setEffdt(%Date);

  try
     Evaluate &recName
     When "HRS_APP_DIS_CHE"
        &tempDisability = &person.getDisabilityCHE(&tempDisability);
        &tempDisability.Sort(HRS_APP_DIS_CHE.EFFDT, "A");
        Break;
     When "HRS_APP_DIS_ESP"
        &tempDisability = &person.getDisabilityESP(&tempDisability);
        &tempDisability.Sort(HRS_APP_DIS_ESP.EFFDT, "A");
        Break;
     When "HRS_APP_DIS_GER"
        &tempDisability = &person.getDisabilityGER(&tempDisability);
        &tempDisability.Sort(HRS_APP_DIS_GER.EFFDT, "A");
        Break;
     When "HRS_APP_DIS_NLD"
        &tempDisability = &person.getDisabilityNLD(&tempDisability);
        &tempDisability.Sort(HRS_APP_DIS_NLD.EFFDT, "A");
        Break;
     When "HRS_APP_DIS_NZL"
        &tempDisability = &person.getDisabilityNZL(&tempDisability);
        &tempDisability.Sort(HRS_APP_DIS_NZL.EFFDT, "A");
        Break;
     End-Evaluate;



      &targetRsDisability.Fill("where HRS_PERSON_ID = :1", &nbr_PersonId);
      For &rowCount = 1 To &targetRsDisability.ActiveRowCount
         &targetRecDisability =
&targetRsDisability.GetRow(&rowCount).GetRecord(@("Record." | &recName));
         &targetRecDisability.Delete();
      End-For;


     If &tempDisability <> Null And
           &tempDisability.GetRow(1).IsNew And
           &tempDisability.GetRow(1).IsChanged Then

         For &rowCount = 1 To &tempDisability.ActiveRowCount
            &targetRecDisability =
&tempDisability.GetRow(&rowCount).GetRecord(@("Record." | &recName));

           &targetRecDisability.HRS_PERSON_ID.Value = &nbr_PersonId;
           &targetRecDisability.HRS_ROW_ADD_OPRID.Value = %UserId;
           &targetRecDisability.HRS_ROW_ADD_DTTM.Value = %Datetime;
           &targetRecDisability.HRS_ROW_UPD_OPRID.Value = %UserId;
           &targetRecDisability.HRS_ROW_UPD_DTTM.Value = %Datetime;

           &targetRecDisability.Insert();
        End-For;
     End-If;

   catch HMCR_FRAMEWORK:ServiceFramework:baseClasses:baseException &ex
   end-try;
end-method;


method paintDisabilityFRA
   /+ &str_emplid as String, +/
   /+ &nbr_PersonId as Number +/
  /* Copy FRA Disability */
  Local HRS_BO:BUS:PersonProfile &person;
  Local number &rowCount;
  Local Rowset &tempDisabilityFRA = CreateRowset(Record.HRS_DIS_FRA_WRK);
  Local Rowset &targetDisabilityFRA = CreateRowset(Record.HRS_APP_DIS_FRA);
  Local Record &targetRecDisability = CreateRecord(Record.HRS_APP_DIS_FRA);
  Local Rowset &rs_oldDisabilityFRA = CreateRowset(Record.HRS_APP_DIS_FRA);
  &person = create HRS_BO:BUS:PersonProfile();
  &person.setEmplId(&str_emplid);
  &person.setEffdt(%Date);


   &rs_oldDisabilityFRA.Fill("where HRS_PERSON_ID = :1", &nbr_PersonId);
   For &rowCount = 1 To &rs_oldDisabilityFRA.ActiveRowCount
      &targetRecDisability =
&rs_oldDisabilityFRA.GetRow(&rowCount).GetRecord(Record.HRS_APP_DIS_FRA);
      &targetRecDisability.Delete();
   End-For;


  try

       &tempDisabilityFRA = &person.getDisabilityFRA(&tempDisabilityFRA);

       If &tempDisabilityFRA <> Null And
             &tempDisabilityFRA.ActiveRowCount > 0 And
             All(&tempDisabilityFRA.GetRow(1).HRS_DIS_FRA_WRK.DISABLE_TYPE_FRA.Value)
Then

         &tempDisabilityFRA.CopyTo(&targetDisabilityFRA, Record.HRS_DIS_FRA_WRK,
Record.HRS_APP_DIS_FRA);

         For &rowCount = 1 To &tempDisabilityFRA.ActiveRowCount
            &targetRecDisability =
&targetDisabilityFRA.GetRow(&rowCount).GetRecord(Record.HRS_APP_DIS_FRA);

            &targetRecDisability.HRS_PERSON_ID.Value = &nbr_PersonId;
            &targetRecDisability.HRS_DISAB_TYPE_FRA.Value =
&tempDisabilityFRA(&rowCount).HRS_DIS_FRA_WRK.DISABLE_TYPE_FRA.Value;
            &targetRecDisability.HRS_ROW_ADD_OPRID.Value = %UserId;
            &targetRecDisability.HRS_ROW_ADD_DTTM.Value = %Datetime;
            &targetRecDisability.HRS_ROW_UPD_OPRID.Value = %UserId;
            &targetRecDisability.HRS_ROW_UPD_DTTM.Value = %Datetime;

             &targetRecDisability.Insert();
          End-For;
       End-If;

   catch HMCR_FRAMEWORK:ServiceFramework:baseClasses:baseException &ex
   end-try;
end-method;

method paintAccommodationRequest
   /+ &str_emplid as String, +/
   /+ &nbr_PersonId as Number +/

   /* Copy Accommodation Request, Diagnosis & Options */
   Local HRS_BO:BUS:PersonProfile &person;
   Local number &rowCount;
   Local number &tempNumber;
   Local Rowset &tempAccommodationRequest = CreateRowset(Record.HRS_ACMRQST_WRK,
CreateRowset(Record.HRS_ACMDIAG_WRK), CreateRowset(Record.HRS_ACMOPTN_WRK),
CreateRowset(Record.ACCOM_JOB_TASK));
   Local Record &rec_lSrc, &rec_lDest;
   Local Rowset &rsDest;
   &person = create HRS_BO:BUS:PersonProfile();
   &person.setEmplId(&str_emplid);
   &person.setEffdt(%Date);

  &rsDest = CreateRowset(Record.HRS_APP_ACMRQST);
  &rsDest.Fill("where HRS_PERSON_ID = :1", &nbr_PersonId);
  For &rowCount = 1 To &rsDest.ActiveRowCount
     &rec_lDest = &rsDest.GetRow(&rowCount).GetRecord(Record.HRS_APP_ACMRQST);
     &rec_lDest.Delete();
  End-For;

  &rsDest = CreateRowset(Record.HRS_APP_ACMDIAG);
  &rsDest.Fill("where HRS_PERSON_ID = :1", &nbr_PersonId);
  For &rowCount = 1 To &rsDest.ActiveRowCount
     &rec_lDest = &rsDest.GetRow(&rowCount).GetRecord(Record.HRS_APP_ACMDIAG);
     &rec_lDest.Delete();
  End-For;

  &rsDest = CreateRowset(Record.HRS_APP_ACMOPTN);
  &rsDest.Fill("where HRS_PERSON_ID = :1", &nbr_PersonId);
  For &rowCount = 1 To &rsDest.ActiveRowCount
     &rec_lDest = &rsDest.GetRow(&rowCount).GetRecord(Record.HRS_APP_ACMOPTN);
     &rec_lDest.Delete();
  End-For;

  try

      &tempAccommodationRequest =
&person.getAccommodationRequest(&tempAccommodationRequest);
      Local Rowset &targetAccommodationRequest = CreateRowset(Record.HRS_APP_ACMRQST,
CreateRowset(Record.HRS_APP_ACMDIAG), CreateRowset(Record.HRS_APP_ACMOPTN));

       If &tempAccommodationRequest <> Null And
             &tempAccommodationRequest.ActiveRowCount > 0 And
             All(&tempAccommodationRequest.GetRow(1).HRS_ACMRQST_WRK.DT_REQUESTED.Value)
Then

         &tempAccommodationRequest.CopyTo(&targetAccommodationRequest,
Record.HRS_ACMRQST_WRK, Record.HRS_APP_ACMRQST, Record.HRS_ACMDIAG_WRK,
Record.HRS_APP_ACMDIAG, Record.HRS_ACMOPTN_WRK, Record.HRS_APP_ACMOPTN);

         For &rowCount = 1 To &tempAccommodationRequest.ActiveRowCount

            &rec_lSrc = &tempAccommodationRequest.GetRow(&rowCount).HRS_ACMRQST_WRK;

            &rec_lDest = &targetAccommodationRequest.GetRow(&rowCount).HRS_APP_ACMRQST;

            &rec_lDest.HRS_ACCOMMODATN_ID.Value = &rec_lSrc.ACCOMMODATION_ID.Value;
            &rec_lDest.HRS_PERSON_ID.Value = &nbr_PersonId;
            &rec_lDest.HRS_ROW_ADD_OPRID.Value = %UserId;
            &rec_lDest.HRS_ROW_ADD_DTTM.Value = %Datetime;
            &rec_lDest.HRS_ROW_UPD_OPRID.Value = %UserId;
            &rec_lDest.HRS_ROW_UPD_DTTM.Value = %Datetime;

            &rec_lDest.Insert();

            Local Rowset &tempAccommDiag =
&tempAccommodationRequest.GetRow(&rowCount).GetRowset(Scroll.HRS_ACMDIAG_WRK);
            Local Rowset &targetAccommDiag =
&targetAccommodationRequest.GetRow(&rowCount).GetRowset(Scroll.HRS_APP_ACMDIAG);

            Local number &j;
            For &j = 1 To &tempAccommDiag.ActiveRowCount
               &rec_lSrc = &tempAccommDiag.GetRow(&j).HRS_ACMDIAG_WRK;


               &rec_lDest = &targetAccommDiag.GetRow(&j).HRS_APP_ACMDIAG;

               &rec_lDest.HRS_ACCOMMODATN_ID.Value = &rec_lSrc.ACCOMMODATION_ID.Value;
               &rec_lDest.HRS_DIAGNOSIS_CD.Value = &rec_lSrc.DIAGNOSIS_CD.Value;
               &rec_lDest.HRS_REG_REGION.Value = &rec_lSrc.REG_REGION.Value;
               &rec_lDest.HRS_PERSON_ID.Value = &nbr_PersonId;
               &rec_lDest.HRS_ROW_ADD_OPRID.Value = %UserId;
               &rec_lDest.HRS_ROW_ADD_DTTM.Value = %Datetime;
               &rec_lDest.HRS_ROW_UPD_OPRID.Value = %UserId;
               &rec_lDest.HRS_ROW_UPD_DTTM.Value = %Datetime;
                        &rec_lDest.Insert();
                     End-For;

                     Local Rowset &tempAccommOptn =
         &tempAccommodationRequest.GetRow(&rowCount).GetRowset(Scroll.HRS_ACMOPTN_WRK);
                     Local Rowset &targetAccommOptn =
         &targetAccommodationRequest.GetRow(&rowCount).GetRowset(Scroll.HRS_APP_ACMOPTN);

                     For &j = 1 To &tempAccommOptn.ActiveRowCount
                        &rec_lSrc = &tempAccommOptn.GetRow(&j).HRS_ACMOPTN_WRK;

                         &rec_lDest = &targetAccommOptn.GetRow(&j).HRS_APP_ACMOPTN;

                         &rec_lDest.HRS_ACCOMMODATN_ID.Value = &rec_lSrc.ACCOMMODATION_ID.Value;
                         &rec_lDest.HRS_ACCOMMODAT_OPT.Value = &rec_lSrc.ACCOMMODATION_OPT.Value;
                         &rec_lDest.HRS_PERSON_ID.Value = &nbr_PersonId;
                         &rec_lDest.HRS_ROW_ADD_OPRID.Value = %UserId;
                         &rec_lDest.HRS_ROW_ADD_DTTM.Value = %Datetime;
                         &rec_lDest.HRS_ROW_UPD_OPRID.Value = %UserId;
                         &rec_lDest.HRS_ROW_UPD_DTTM.Value = %Datetime;

                        &rec_lDest.Insert();
                     End-For;

                  End-For;

               End-If;

            catch HMCR_FRAMEWORK:ServiceFramework:baseClasses:baseException &ex
            end-try;
         end-method;

         /* 856844 CODE END */




PeopleCode (Appl Package): HRS_HROI_HRXML:Mapping:Outgoing:PositionOpeningMap.OnExecute
         [ . . . Unchanged Code not Shown . . . ]

         method BuildPhysicalLocation
            /+ &JOLocAreaType as HRS_JOB_OPENING_MANAGER:COMMON:TYPES:JOLocAreaType +/
            /+ Returns HRS_HROI_HRXML:Data:PositionOpening:PhysicalLocationData +/
            Local HRS_HROI_HRXML:Data:PositionOpening:PhysicalLocationData &pld;
            /* ICE 855934 SA : Begin */
            Local string &sFlr;
            /* ICE 855934 SA : End */
            &pld = create HRS_HROI_HRXML:Data:PositionOpening:PhysicalLocationData();
            &pld.Name = &JOLocAreaType.HRS_LOCATION_DESCR;
            /* ICE 855934 SA : Begin */
            <* Set corresponding properties of Physical Location object so that Address data can be
         included in XML *>

            &pld.PostalAddress = create HRS_HROI_HRXML:Data:Candidate:PostalAddressData();
            &pld.PostalAddress.CountryCode = &JOLocAreaType.COUNTRY;
            &pld.PostalAddress.Municipality = &JOLocAreaType.JURISDICTION;
            &pld.PostalAddress.PostalCode = &JOLocAreaType.POSTAL;
            &pld.PostalAddress.BuildingNumber = &JOLocAreaType.BUILDING;
            &sFlr = &JOLocAreaType.FLOOR;
            If All(&sFlr) Then
               &pld.PostalAddress.Unit = &JOLocAreaType.FLOOR;
            Else
               &pld.PostalAddress.Unit = &JOLocAreaType.SECTOR;
            End-If;

            If &pld.PostalAddress.AddressLine = Null Then
               &pld.PostalAddress.AddressLine = CreateArrayRept(" ", 0);
            End-If;
           &pld.PostalAddress.AddressLine.Push(&JOLocAreaType.ADDRESS1);
           &pld.PostalAddress.AddressLine.Push(&JOLocAreaType.ADDRESS2);
           &pld.PostalAddress.AddressLine.Push(&JOLocAreaType.ADDRESS3);
           &pld.PostalAddress.AddressLine.Push(&JOLocAreaType.ADDRESS4);


           /* ICE 855934   SA : End */
           Return &pld;
        end-method;

        method BuildPhysicalLocation2
           /+ &JOLocType as HRS_JOB_OPENING_MANAGER:COMMON:TYPES:JOLocType +/
           /+ Returns HRS_HROI_HRXML:Data:PositionOpening:PhysicalLocationData +/
           Local HRS_HROI_HRXML:Data:PositionOpening:PhysicalLocationData &pld;
           /* ICE 855934 SA : Begin */
           Local string &sFlr;
           /* ICE 855934 SA : End */

           &pld = create HRS_HROI_HRXML:Data:PositionOpening:PhysicalLocationData();
           &pld.Name = &JOLocType.LOCATION_DESCR;
           /* ICE 855934 SA : Begin */
           <* Set corresponding properties of Physical Location object so that Address data can be
        included in XML *>

           &pld.PostalAddress = create HRS_HROI_HRXML:Data:Candidate:PostalAddressData();
           &pld.PostalAddress.CountryCode = &JOLocType.COUNTRY;
           &pld.PostalAddress.Municipality = &JOLocType.JURISDICTION;
           &pld.PostalAddress.PostalCode = &JOLocType.POSTAL;
           &pld.PostalAddress.BuildingNumber = &JOLocType.BUILDING;
           &sFlr = &JOLocType.FLOOR;
           If All(&sFlr) Then
              &pld.PostalAddress.Unit = &JOLocType.FLOOR;
           Else
              &pld.PostalAddress.Unit = &JOLocType.SECTOR;
           End-If;

           If &pld.PostalAddress.AddressLine = Null Then
              &pld.PostalAddress.AddressLine = CreateArrayRept(" ", 0);
           End-If;
           &pld.PostalAddress.AddressLine.Push(&JOLocType.ADDRESS1);
           &pld.PostalAddress.AddressLine.Push(&JOLocType.ADDRESS2);
           &pld.PostalAddress.AddressLine.Push(&JOLocType.ADDRESS3);
           &pld.PostalAddress.AddressLine.Push(&JOLocType.ADDRESS4);


           /* ICE 855934 SA : End */
           Return &pld;
        end-method;

        [ . . . Unchanged Code not Shown . . . ]




PeopleCode (Appl Package):
HRS_JOB_OPENING_MANAGER:COMMON:TYPES:JOLocAreaType.OnExecute
        [ . . . Unchanged Code not Shown . . . ]

        class JOLocAreaType extends baseType property number HRS_LOCATION_ID;
        class JOLocAreaType extends HMCR_FRAMEWORK:ServiceFramework:baseClasses:baseType property
        number HRS_LOCATION_ID;
           property string HRS_LOCATION_DESCR;
           property string HRS_JO_PRM_LCA_FLG;
           /* ICE 855934 SA : Begin */

           <* Add new Location Address related properties *>

           property string BUILDING;
           property string FLOOR;
           property string SECTOR;
             property string JURISDICTION;
             property string COUNTRY;
             property string ADDRESS1;
             property string ADDRESS2;
             property string ADDRESS3;
             property string ADDRESS4;
             property string CITY;
             property string COUNTY;
             property string STATE;
             property string POSTAL;
             /* ICE 855934 SA : End */
             method JOLocAreaType();

          end-class;

          method JOLocAreaType

             %Super = create baseType();
             %Super = create HMCR_FRAMEWORK:ServiceFramework:baseClasses:baseType();

          end-method;




PeopleCode (Appl Package):
HRS_JOB_OPENING_MANAGER:COMMON:TYPES:JOLocType.OnExecute
          [ . . . Unchanged Code not Shown . . . ]

          class JOLocType extends baseType property string LOCATION;
          class JOLocType extends HMCR_FRAMEWORK:ServiceFramework:baseClasses:baseType property
          string LOCATION;
             property string LOCATION_DESCR;
             property string HRS_JO_PRM_LOC_FLG;
             /* ICE 855934 SA : Begin */
             <* Add new Location Address related properties *>

             property string BUILDING;
             property string FLOOR;
             property string SECTOR;
             property string JURISDICTION;
             property string COUNTRY;
             property string ADDRESS1;
             property string ADDRESS2;
             property string ADDRESS3;
             property string ADDRESS4;
             property string CITY;
             property string COUNTY;
             property string STATE;
             property string POSTAL;
             /* ICE 855934 SA : End */
             method JOLocType();

          end-class;

          method JOLocType

             %Super = create baseType();
             %Super = create HMCR_FRAMEWORK:ServiceFramework:baseClasses:baseType();

          end-method;




PeopleCode (Appl Package):
HRS_JOB_OPENING_MANAGER:OBJ_HRS_JO_MISC:BUS:JOMisc.OnExecute
        [ . . . Unchanged Code not Shown . . . ]

        method getJOLocType
           /+ &HRS_JOB_OPENING_ID as Number, +/
           /+ &BUSINESS_UNIT as String +/
           /+ Returns Array of HRS_JOB_OPENING_MANAGER:COMMON:TYPES:JOLocType +/

           Local HRS_JOB_OPENING_MANAGER:COMMON:DATA:HR &HR = create
        HRS_JOB_OPENING_MANAGER:COMMON:DATA:HR();
           Local array of HRS_JOB_OPENING_MANAGER:COMMON:TYPES:JOLocType &arrJOLocType;
           Local HRS_JOB_OPENING_MANAGER:COMMON:TYPES:JOLocType &JOLocType;
           Local number &I;
           Local Rowset &rs = &JOMisc.getJOLoc(&HRS_JOB_OPENING_ID);
           &arrJOLocType = CreateArrayRept(&JOLocType, 0);
           /* ICE 855934 SA : Begin */
           Local Record &recLocationTb;
           Local string &sLocation, &strSetID;
           Local string &sBldg, &sFloor, &sSector, &sJurisdiction, &sCountry, &sAddr1, &sAddr2,
        &sAddr3, &sAddr4, &sCity, &sCounty, &sState, &sPostal;
           /* ICE 855934 SA : End */

           For &I = 1 To &rs.ActiveRowCount
              &JOLocType = create HRS_JOB_OPENING_MANAGER:COMMON:TYPES:JOLocType();
              If All(&rs(&I).HRS_JO_LOC.LOCATION.Value) Then
                 &JOLocType.LOCATION = &rs(&I).HRS_JO_LOC.LOCATION.Value;
                 &JOLocType.LOCATION_DESCR = &HR.getLocation(&BUSINESS_UNIT,
        &rs(&I).HRS_JO_LOC.LOCATION.Value, %Date).DESCR.Value;
                 &JOLocType.HRS_JO_PRM_LOC_FLG = &rs(&I).HRS_JO_LOC.HRS_JO_PRM_LOC_FLG.Value;
                 /* ICE 855934 SA : Begin */

                  <* Fetch Location Address details using Location and set properties of JOLocType
        *>

                 If All(&rs(&I).HRS_JO_LOC.LOCATION.Value, &BUSINESS_UNIT) Then
                    &strSetID = GetSetId(Field.BUSINESS_UNIT, &BUSINESS_UNIT, "HRS_LOC_I", "");
                    SQLExec("SELECT A.BUILDING, A.FLOOR, A.SECTOR, A.JURISDICTION, A.COUNTRY,
        A.ADDRESS1, A.ADDRESS2, A.ADDRESS3, A.ADDRESS4, A.CITY, A.COUNTY, A.STATE, A.POSTAL FROM
        PS_LOCATION_TBL A WHERE A.SETID = :1 AND A.LOCATION = :2 AND A.EFFDT = (SELECT MAX(B.EFFDT)
        FROM PS_LOCATION_TBL B WHERE B.SETID = :1 AND B.LOCATION = :2 AND B.EFFDT <= %datein(:3))",
        &strSetID, &rs(&I).HRS_JO_LOC.LOCATION.Value, %Date, &sBldg, &sFloor, &sSector,
        &sJurisdiction, &sCountry, &sAddr1, &sAddr2, &sAddr3, &sAddr4, &sCity, &sCounty, &sState,
        &sPostal);
                 End-If;
                 &JOLocType.BUILDING = &sBldg;
                 &JOLocType.FLOOR = &sFloor;
                 &JOLocType.SECTOR = &sSector;
                 &JOLocType.JURISDICTION = &sJurisdiction;
                 &JOLocType.COUNTRY = &sCountry;
                 &JOLocType.ADDRESS1 = &sAddr1;
                 &JOLocType.ADDRESS2 = &sAddr2;
                 &JOLocType.ADDRESS3 = &sAddr3;
                 &JOLocType.ADDRESS4 = &sAddr4;
                 &JOLocType.CITY = &sCity;
                 &JOLocType.COUNTY = &sCounty;
                 &JOLocType.STATE = &sState;
                 &JOLocType.POSTAL = &sPostal;

                   /* ICE 855934 SA : End */
                   &arrJOLocType.Push(&JOLocType);
                End-If;
             End-For;

             Return &arrJOLocType;

        end-method;

        [ . . . Unchanged Code not Shown . . . ]

        method getJOLocAreaType
   /+ &HRS_JOB_OPENING_ID as Number, +/
   /+ &BUSINESS_UNIT as String +/
   /+ Returns Array of HRS_JOB_OPENING_MANAGER:COMMON:TYPES:JOLocAreaType +/

   Local HRS_JOB_OPENING_MANAGER:COMMON:DATA:HR &HR = create
HRS_JOB_OPENING_MANAGER:COMMON:DATA:HR();
   Local array of HRS_JOB_OPENING_MANAGER:COMMON:TYPES:JOLocAreaType &arrJOLocAreaType;
   Local HRS_JOB_OPENING_MANAGER:COMMON:TYPES:JOLocAreaType &JOLocAreaType;
   Local number &I;
   Local Rowset &rs = &JOMisc.getJOLocArea(&HRS_JOB_OPENING_ID);
   /* ICE 855934 SA : Begin */
   Local Record &recLocationTb;
   Local string &sLocation, &strSetID;
   Local string &sBldg, &sFloor, &sSector, &sJurisdiction, &sCountry, &sAddr1, &sAddr2,
&sAddr3, &sAddr4, &sCity, &sCounty, &sState, &sPostal;
   /* ICE 855934 SA : End */
   &arrJOLocAreaType = CreateArrayRept(&JOLocAreaType, 0);

   For &I = 1 To &rs.ActiveRowCount
      &JOLocAreaType = create HRS_JOB_OPENING_MANAGER:COMMON:TYPES:JOLocAreaType();
      If All(&rs(&I).HRS_JO_LOC_AREA.HRS_LOCATION_ID.Value) Then
         &JOLocAreaType.HRS_LOCATION_ID = &rs(&I).HRS_JO_LOC_AREA.HRS_LOCATION_ID.Value;
         &JOLocAreaType.HRS_LOCATION_DESCR = &HR.getLocationArea(&BUSINESS_UNIT,
&rs(&I).HRS_JO_LOC_AREA.HRS_LOCATION_ID.Value).DESCR.Value;
         &JOLocAreaType.HRS_JO_PRM_LCA_FLG =
&rs(&I).HRS_JO_LOC_AREA.HRS_JO_PRM_LCA_FLG.Value;
         /* ICE 855934 SA : Begin */

         <* Fetch Location Address details using HRS Location and set properties of
JOLocAreaType *>

         SQLExec("SELECT LOCATION FROM PS_HRS_LOC_AREA WHERE HRS_LOCATION_ID = :1",
&JOLocAreaType.HRS_LOCATION_ID, &sLocation);

         If All(&sLocation, &BUSINESS_UNIT) Then
            &strSetID = GetSetId(Field.BUSINESS_UNIT, &BUSINESS_UNIT, "HRS_LOC_I", "");
            SQLExec("SELECT A.BUILDING, A.FLOOR, A.SECTOR, A.JURISDICTION, A.COUNTRY,
A.ADDRESS1, A.ADDRESS2, A.ADDRESS3, A.ADDRESS4, A.CITY, A.COUNTY, A.STATE, A.POSTAL FROM
PS_LOCATION_TBL A WHERE A.SETID = :1 AND A.LOCATION = :2 AND A.EFFDT = (SELECT MAX(B.EFFDT)
FROM PS_LOCATION_TBL B WHERE B.SETID = :1 AND B.LOCATION = :2 AND B.EFFDT <= %datein(:3))",
&strSetID, &sLocation, %Date, &sBldg, &sFloor, &sSector, &sJurisdiction, &sCountry,
&sAddr1, &sAddr2, &sAddr3, &sAddr4, &sCity, &sCounty, &sState, &sPostal);
         End-If;
         &JOLocAreaType.BUILDING = &sBldg;
         &JOLocAreaType.FLOOR = &sFloor;
         &JOLocAreaType.SECTOR = &sSector;
         &JOLocAreaType.JURISDICTION = &sJurisdiction;
         &JOLocAreaType.COUNTRY = &sCountry;
         &JOLocAreaType.ADDRESS1 = &sAddr1;
         &JOLocAreaType.ADDRESS2 = &sAddr2;
         &JOLocAreaType.ADDRESS3 = &sAddr3;
         &JOLocAreaType.ADDRESS4 = &sAddr4;
         &JOLocAreaType.CITY = &sCity;
         &JOLocAreaType.COUNTY = &sCounty;
         &JOLocAreaType.STATE = &sState;
         &JOLocAreaType.POSTAL = &sPostal;

         /* ICE 855934 SA : End */
         &arrJOLocAreaType.Push(&JOLocAreaType);
      End-If;
   End-For;

   Return &arrJOLocAreaType;

end-method;

[ . . . Unchanged Code not Shown . . . ]
PeopleCode (Appl Package): HRTMPL:TBH:hrTbhValidateBirthDate.OnExecute
          import HRTMPL:TMPL:hrTmplEvent;
          import HRTMPL:TMPL:hrTmplSectionValidationEx;
          import HRTMPL:TMPL:hrTmplRecord;

          class hrTbhValidateBirthDate extends HRTMPL:TMPL:hrTmplEvent
             method hrTbhValidateBirthDate();
             method execute();
          private
             method initialize();
          end-class;

          Component integer &MSG;

          method hrTbhValidateBirthDate
             %Super = create HRTMPL:TMPL:hrTmplEvent();
             %This.initialize();
          end-method;

          method initialize

          end-method;

          method execute
             /+ Extends/implements HRTMPL:TMPL:hrTmplEvent.execute +/
             try
                Local date &lStrBIRTHDATE;

               Local integer &MSG_Result, &lIntCount;
               &MSG_Result = 0;

                &lStrBIRTHDATE = %Super.getTmplRowSet().getRecordByName("PERSON",
          1).getFieldByName("BIRTHDATE").getValue();

                If &lStrBIRTHDATE > %Date Then
                   &MSG_Result = MessageBox(1, "", 1000, 272, "Message not found.");
                End-If;
                If (&MSG_Result = 1) Then
                   throw create HRTMPL:TMPL:hrTmplSectionValidationEx("hrTbhValidateBirthDate");
                End-If;
             catch Exception &ex
                throw create HRTMPL:TMPL:hrTmplSectionValidationEx("hrTbhValidateBirthDate");
             end-try;
          end-method;




PeopleCode (Appl Package): HR_HIRE:UI:JobComponentController.OnExecute
          [ . . . Unchanged Code not Shown . . . ]


          Declare   Function JobPositionFch PeopleCode FUNCLIB_HR_JOB.POSITION_NBR FieldFormula;
          Declare   Function JobActionFch PeopleCode FUNCLIB_HR_JOB.ACTION FieldFormula;
          Declare   Function JobCompanyFde PeopleCode FUNCLIB_HR_JOB.COMPANY FieldFormula;
          Declare   Function JobCompanyFch PeopleCode FUNCLIB_HR_JOB.COMPANY FieldFormula;
          Declare   Function JobBUFde PeopleCode FUNCLIB_HR_JOB.BUSINESS_UNIT FieldFormula;
          Declare   Function JobDeptidFch PeopleCode FUNCLIB_HR_JOB.DEPTID FieldFormula;
          Declare   Function JobLocationFch PeopleCode FUNCLIB_HR_JOB.LOCATION FieldFormula;
          Declare   Function JobJobcodeFch PeopleCode FUNCLIB_HR_JOB.JOBCODE FieldFormula;
          Declare   Function JobLaborFacFch PeopleCode FUNCLIB_HR_JOB.LABOR_FACILITY_ID FieldFormula;

          Declare Function COMP_BTN_FieldChange PeopleCode DERIVED_HR_CMP.DFLT_COMP_BTN
          FieldChange;
          Declare Function validate_hrly_freq_err PeopleCode FUNCLIB_HR.STD_HOURS FieldFormula;
          Declare Function validate_hrly_calc_premium PeopleCode FUNCLIB_HR_CMP.AUTO_CALC_PREM_SW
          FieldFormula;
Declare Function ContractNextBtnFch PeopleCode DERIVED_HR.CONTRACT_NEXT_BTN FieldChange;
Declare Function JobPositionOverrideFch PeopleCode FUNCLIB_HR_JOB.POSITION_OVERRIDE
FieldFormula;


[ . . . Unchanged Code not Shown . . . ]

method fillData
   /+ Extends/implements HR_HIRE:UI:ComponentController.fillData +/

   Local   number &i = 0;
   Local   number &req, &j;
   Local   boolean &rowFound;
   Local   Row &tempRow;

   Local Rowset &jobRowset = GetLevel0().GetRow(1).GetRowset(Scroll.JOB);
   Local number &rowCount = &jobRowset.ActiveRowCount;
   /* Begin Resolution 826801 */
   &req = %This.getRequestId();
   Local HR_HIRE:DATA:HIRE_REQUEST_BEAN &requestBean = create
HR_HIRE:DATA:HIRE_REQUEST_BEAN(&req);
   /* End Resolution 826801 */
   /* JOB_DATA Component is the only component which is called in U/D mode. When the insertRow
method is called
      RowInit Event is triggered. When then row event is triggered - fill up the rows with
the source data and
      trigger appopriate field change events */

   If %Component = Component.JOB_DATA Then
      /* Begin Resolution 826801 */
      If (&requestBean.getRecord().GetField(Field.HIRE_TYPE).Value = "T") Then
         For &j = 1 To &jobRowset.ActiveRowCount
            If &requestBean.getRecord().GetField(Field.DSRD_ST_DT).Value >=
&jobRowset.GetRow(&j).GetRecord(Record.JOB).GetField(Field.EFFDT).Value Then
               &rowNumber = &j;
               &jobRowset.InsertRow(&j - 1);
               &rowNumber = &j;
               Break;
            End-If;
         End-For;
      Else
         &jobRowset.InsertRow(0);
         &rowNumber = 1;
      End-If;
      /* End Resolution 826801 */
   Else
      If &rowCount > 1 Then
         &jobRowset.InsertRow(0);
         &rowNumber = 1;
      Else
         &tempRow = &jobRowset.GetRow(1);
         &rowNumber = &tempRow.RowNumber;
      End-If;
   End-If;

   /* Begin Resolution 826801 */
   /*If %Component = Component.JOB_DATA Then
      Return;
   End-If;*/
   /* End Resolution 826801 */

   %This.fillBufferData();

end-method;

[ . . . Unchanged Code not Shown . . . ]

method doFieldChanges
   Local string &positionNumber, &NextContract;
   Local number &req;
   &req = %This.getRequestId();
   Local HR_HIRE:DATA:HIRE_REQUEST_BEAN &requestBean = create
HR_HIRE:DATA:HIRE_REQUEST_BEAN(&req);
   If (GetRow().RowNumber = &rowNumber) /*Or
         (GetRow().RowNumber = 1 And
            %Component = "JOB_DATA")*/ Then /* Resolution 826801 */

     If %Component = "JOB_DATA" Then
        %This.fillBufferData();
     End-If;

     JobActionFch();
     /* begin ICE 1755211000 */
     GetRow().JOB.ACTION_REASON.Value = &jobHandler.getJobData().ACTION_REASON;
     /* end ICE 1755211000 */

     &positionNumber = &jobHandler.getJobData().POSITION_NBR;

     /* Begin ICE 1805591000 */
     If All(&positionNumber) Then
        JobPositionFch();
        If (&requestBean.getRecord().GetField(Field.SRC_SYSTEM).Value = "TBH") Then
           %This.CopyBack_With_Position_Data();
        End-If;
     Else
        /* End ICE 1805591000 */
        /* Begin ICE 2015410000 */
        GetRow().JOB.POSITION_OVERRIDE.DisplayOnly = True;
        JobPositionOverrideFch();
        /* End ICE 2015410000 */
        JobCompanyFde();
        JobCompanyFch();
        JobBUFde();
        JobDeptidFch();
        JobLocationFch();
        JobJobcodeFch();
        If (&requestBean.getRecord().GetField(Field.SRC_SYSTEM).Value = "TBH") Then
           JobLaborFacFch();
           %This.CopyBack_Without_Position_Data();
        End-If;
     End-If;

     /* begin ICE 2005840000 */
     If (&requestBean.getRecord().GetField(Field.SRC_SYSTEM).Value = "TBH") Then
        &NextContract = &jobHandler.getJobContract().CONTRACT_NEXT_BTN;
        If &NextContract = "Y" Then
           ContractNextBtnFch();
        End-If;
     End-If;
     /* end ICE 2005840000 */

   End-If;
end-method;

/**
  * fillBufferData - This method will fill up the JOB record with the source data
  */

method fillBufferData

  Local   string &sys;
  Local   number &req;
  Local   Row &tempRow;
  Local   Rowset &jobRowset = GetLevel0().GetRow(1).GetRowset(Scroll.JOB);

   &req = %This.getRequestId();
   Local HR_HIRE:DATA:HIRE_REQUEST_BEAN &requestBean = create
HR_HIRE:DATA:HIRE_REQUEST_BEAN(&req);

  rem &tempRow = &jobRowset.GetRow(1); /* Resolution 826801 */
  &tempRow = &jobRowset.GetRow(&rowNumber);
   If (&requestBean.getRecord().GetField(Field.SRC_SYSTEM).Value <> "TBH") Then
      &tempRow.GetRecord(Record.JOB).GetField(Field.HR_STATUS).Value = "A";
      &tempRow.GetRecord(Record.JOB).GetField(Field.EMPL_STATUS).Value = "A";
      &tempRow.GetRecord(Record.JOB).GetField(Field.EMPLID).Value =
&jobHandler.getEmplId();
      &tempRow.GetRecord(Record.JOB).GetField(Field.EMPL_RCD).Value =
&jobHandler.getEmplRcd();
      &tempRow.GetRecord(Record.JOB).GetField(Field.EFFDT).Value =
&jobHandler.getEffdt();
      If &jobHandler.getJobData().ACTION = "HIR" Or
            &jobHandler.getJobData().ACTION = "REH" Or
            &jobHandler.getJobData().ACTION = "ADD" Then /*Resolution 854675*/
         &tempRow.GetRecord(Record.JOB).GetField(Field.LAST_HIRE_DT).Value =
&jobHandler.getEffdt();
      End-If;
      /*Bug Id: 11650549- Start*/
      If &jobHandler.getJobData().ACTION = "REH" Then
         &tempRow.GetRecord(Record.JOB).GetField(Field.LST_ASGN_START_DT).Value =
&jobHandler.getEffdt();
         &tempRow.GetRecord(Record.JOB).GetField(Field.ASGN_END_DT).SetDefault();
      End-If;
      /*Bug Id: 11650549- End*/
      &tempRow.GetRecord(Record.JOB).GetField(Field.ACTION).Value =
&jobHandler.getJobData().ACTION;
      &tempRow.GetRecord(Record.JOB).GetField(Field.BUSINESS_UNIT).Value =
&jobHandler.getJobData().BUSINESS_UNIT;
      &tempRow.GetRecord(Record.JOB).GetField(Field.DEPTID).Value =
&jobHandler.getJobData().DEPTID;

      /* 624322 */
      &tempRow.GetRecord(Record.JOB).GetField(Field.COMPANY).Value =
&jobHandler.getJobData().COMPANY;
      &tempRow.GetRecord(Record.JOB).GetField(Field.LOCATION).Value =
&jobHandler.getJobData().LOCATION;
      &tempRow.GetRecord(Record.JOB).GetField(Field.ESTABID).Value =
&jobHandler.getJobData().ESTABID;
      /* 624322 */

      &tempRow.GetRecord(Record.JOB).GetField(Field.JOBCODE).Value =
&jobHandler.getJobData().JOBCODE;
      &tempRow.GetRecord(Record.JOB).GetField(Field.POSITION_NBR).Value =
&jobHandler.getJobData().POSITION_NBR;
      &tempRow.GetRecord(Record.JOB).GetField(Field.CONTRACT_NUM).Value =
&jobHandler.getJobData().CONTRACT_NUM;

      &tempRow.GetRecord(Record.JOB).GetField(Field.ACTION).Enabled = False;
/*Resolution 838116*/

      /* Set Organizational Instance */
      GetLevel0().GetRow(1).PER_ORG_ASGN.ORG_INSTANCE_ERN.Value =
&jobHandler.getJobData().ORG_INSTANCE_ERN;
   End-If;

   /*Specific to TBH*/
   If (&requestBean.getRecord().GetField(Field.SRC_SYSTEM).Value = "TBH") Then
      rem &tempRow.GetRecord(Record.JOB).GetField(Field.POI_TYPE).Value = "";
      rem GetLevel0().GetRow(1).PER_ORG_ASGN.PER_ORG.Value =
&jobHandler.getOrgAssignment().PER_ORG;

/*&tempPerOrgAsgMILRow.GetRecord(Record.PER_ORG_ASG_MIL).GetField(Field.MIL_EARLY_PROM_
DT).Value = &jobHandler.getOrgAssignmentMIL().MIL_EARLY_PROM_DT;*/
      %This.fillJobData();
      %This.fillOrgInstance();
      %This.fillOrgAssignment();
      %This.fillJobInformation();
      %This.fillCompensation();
      /* begin ICE 1784875000 */
      %This.fillJobEarnsDist();
      /* end ICE 1784875000 */
      %This.fillJobLaborIND();
      rem %This.fillMilitary();
               %This.fillBenefit();
               /* begin ICE 1928260001 */
               %This.fillTimeReportInfo();
               /* end ICE 1928260001 */
            End-If;
         end-method;

         [ . . . Unchanged Code not Shown . . . ]




PeopleCode (Appl Package): HR_TBH_COMPONENT:hrTbhService.OnExecute
         [ . . . Unchanged Code not Shown . . . ]


         Declare Function ciTestOpen PeopleCode FUNCLIB_CI.CI_FUNCTIONS FieldFormula;
         Declare Function ciTestClose PeopleCode FUNCLIB_CI.CI_FUNCTIONS FieldFormula;
         Declare Function LoadUnknown PeopleCode FUNCLIB_HC_CORE.ADD_EMP FieldFormula;


         [ . . . Unchanged Code not Shown . . . ]

         method AddPerson
            /+ Returns Boolean +/

              Local   boolean &Success, &Dummy;
              Local   integer &i;
              Local   array of string &ciTestErrorCINameArray;
              Local   Record &recError;
              Local   HCR_PERSON_TYPES:Person:PersonType_v1_1:PersonType &Person;
              Local   HCR_PERSON_SERVICES:Person:AddPerson_v1_1:AddPerson &AddPersonService;
              Local   HMCR_API2CI:ciLocalPool &ciPool = create HMCR_API2CI:ciLocalPool();

              &PersonSaved = False;

              /* cannnot add a person with a future effective date */
              If &Effdt > %Date Then
                 &Effdt = %Date;
              End-If;

              /* populate service types */
              &Person = create HCR_PERSON_TYPES:Person:PersonType_v1_1:PersonType();
              %This.PopulatePersonTypes(&Person);

              /* call service */

              If &TestOnly Then
                 ciTestOpen();
              End-If;

              &ServiceManager = create HMCR_FRAMEWORK:ServiceFramework:Utilities:ServiceManager();

              try

               &AddPersonService = &ServiceManager.LocateService("AddPerson", "1.1", &ciPool) As
         HCR_PERSON_SERVICES:Person:AddPerson_v1_1:AddPerson;

                /* create person of interest type of unknown, as the subsequent job service may fail
         */
                &AddPersonService.DoService(&Person, "POI", "00000");
                /* Begin ICE 2040213000 */
                &AddPersonService.DoService(&Person, &PerOrg, "");

                &PersonID = &Person.PersonStaticData.PERSID;

                /* create person of interest type of unknown, as the subsequent job service may fail
         */
                LoadUnknown(&PersonID);
               /* End ICE 2040213000 */

               &PersonSaved = True;

               &Success = True;

            catch HMCR_FRAMEWORK:ServiceFramework:baseClasses:baseException &ex1;

               If &TestOnly Then

                 For &i = 1 To &AddPersonService.ExecutionLog.Log.Len

                       If &AddPersonService.ExecutionLog.Log [&i].MESSAGE_SET_NBR = 18016 And
                             &AddPersonService.ExecutionLog.Log [&i].MESSAGE_NBR = 146 Then

                         &Success = True;
                         Break;

                       End-If;

                 End-For;

               Else
                  &Success = False;
               End-If;

               If Not &Success Then

                  For &i = 1 To &AddPersonService.ExecutionLog.Log.Len
                     If &i > 1 Then
                        &rsCIErrors.InsertRow(&i - 1);
                     End-If;
                     &recError = &rsCIErrors(&i).GetRecord(1);
                     &recError.TBH_SEQ.Value = 1;
                     &recError.SEQ_NUM.Value = &i;
                     &recError.MESSAGE_SET_NBR.Value = &AddPersonService.ExecutionLog.Log
         [&i].MESSAGE_SET_NBR;
                     &recError.MESSAGE_NBR.Value = &AddPersonService.ExecutionLog.Log
         [&i].MESSAGE_NBR;
                     &recError.MSG_SEVERITY.Value = &AddPersonService.ExecutionLog.Log
         [&i].MESSAGE_TYPE;
                     &recError.DESCRLONG.Value = &AddPersonService.ExecutionLog.Log [&i].TEXT;
                  End-For;

               End-If;

            end-try;

            If &TestOnly Then
               &Dummy = ciTestClose(&ciTestErrorCINameArray);
            End-If;

            /* reset effective date */
            &Effdt = &JobEffdt;

            Return &Success;

         end-method;

         [ . . . Unchanged Code not Shown . . . ]




PeopleCode (Appl Package): WORKFORCE_SYNC:Copy_SubstantiveJob.OnExecute
         [ . . . Unchanged Code not Shown . . . ]

         method OnNotify
            /+ &_Msg as Message +/
            /+ Extends/implements PS_PT:Integration:INotificationHandler.OnNotify +/;
   Local Rowset &myRS_Keys, &myRS_Coll, &myRS_CollKeys, &myRS_Properties, &myRS_State,
&CHILD_ROWSET, &RS0, &RS1, &RS_Compensation, &RS_JobEarnsDist, &RS_Job_Susp,
&RS_JobJr_Susp, &RS_Compen_Susp, &RS_JobEarns_Susp, &RS_Job_Future, &RS_JobJr_Sameid,
&Job_rs, &Job_Jr_rs1, &RS_JobIND, &RS_JobAUS, &RS_JobUSF, &RS_JobJr, &RS_PerOrgAsgn;
   Local ApiObject &myCI, &myCI2, &myCI3;
   Local array of string &GetKeyArray, &GetKeyArray2, &GetKeyArray3, &CollKeyArray,
&CollKeyArrayJob, &CollKeyArrayJobJr, &CollKeyArrayComp, &CollKeyArrayJobE, &PropArray,
&CollKeyArrayJobIND, &CollKeyArrayJobAUS, &CollKeyArrayJobUSF;
   Local array of Record &ExceptionArray, &ExceptionArray2, &ExceptionArray3;
   Local Record &myRecord, &REC_CH, &REC_JobJr_Susp, &REC_Job_Future, &REC_JobEarnsDist,
&REC_Compensation, &REC_Job_Susp, &Job_rec2, &Job_rec1, &Audit_rec, &Job_Jr_rec1, &REC,
&Rec_JobIND, &Rec_JobAUS, &Rec_JobUSF, &Rec_JobJr;
   Local Record &RecPG;
   Local Row &ROW, &ROW_CH, &Prior_Job_Row, &Empl_Row, &Job_row1, &Job_Jr_row1;
   Local Message &MSG;
   Local string &PerOrgValue, &OrgInstNbr, &BenRcdNbr, &KEY1, &KEY2, &Emplid,
&PaygroupValue, &StdHrsValue, &FteValue, &FullPartTimeValue, &PosOverrideValue,
&StepValue, &GradeValue, &PositionValue, &DeptIDValue, &RegRegionValue, &BUValue,
&SalAdminPlanValue, &LocationValue, &JobCodeValue, &EstabIDValue, &JobEntryDtValue,
&DeptEntryDtValue, &PositionEntryDtValue, &GradeEntryDtValue, &StepEntryDtValue,
&PaySystemFlag, &EmplType, &MYACTION, &MSG_FLAG, &Action, &myCollection, &Audit_Action,
&myProperty, &BorderWorkerValue;
   Local string &jCOMPANY, &jPAYGROUP;
   Local number &JobFuture_Count, &Job_Count, &I_JobSusp, &Count, &Count_Sameid, &EmplRcd,
&Emplrcd_Susp, &I_Comp, &I_JobEarns, &I_JobFuture, &Count_jobearns, &Count_comp, &I,
&I_Job, &JobMsg_Count, &Assign_id, &pos, &Count_JobIND, &Count_JobAUS, &Count_JobUSF,
&Count_JobJr, &empl_rcd, &nextemplrcd;
   Local date &TermDt, &Effdt_Susp, &Effdt, &TAS_EffDt;
   Local boolean &MSG_ERROR, &return;
   Local any &myValue;
   Local array of array of string &FindResultArray;


   /* create exception array */
   &ExceptionArray = ciCreateExceptionArray();

   &MSG = &_Msg;
   &MSG_ERROR = False;
   &PubNodeName = &MSG.PubNodeName;
   &RS0 = &MSG.GetRowset();

   /* Loop thru the Employment rowset */
   For &I = 1 To &RS0.RowCount
      &MSG_FLAG = &RS0(&I).PSCAMA.MSG_SEQ_FLG.Value;
      If None(&MSG_FLAG) Then

         /* To get the Employment row */
         &Empl_Row = &RS0.GetRow(&I);

         /* To get the Job rowset */
         &Job_rs = &Empl_Row.GetRowset(Scroll.JOB);

         /* Loop thru the Job rowset */
         For &I_Job = 1 To &Job_rs.ActiveRowCount
            &Job_row1 = &Job_rs.GetRow(&I_Job);
            &Job_rec1 = &Job_row1.GetRecord(Record.JOB);
            &Action = &Job_rec1.ACTION.Value;
            &Audit_rec = &Job_row1.GetRecord(Record.PSCAMA);
            &Audit_Action = &Audit_rec.AUDIT_ACTN.Value;
            &JobMsg_Count = &Job_rs.ActiveRowCount;


/**************************************************************************************
**********/
            /* If the job row in the message is a new TAS then we want to subscribe to the
message.        */
            /* And there will be 2 job rows we want, one is the TAS row and the other is
the substantive   */
            /* job row that we need to put on hold.
*/
            /*   Otherwise, we ignore the job row.
*/
            /*
*/
            /*   Note that in the message, the TAS row would come before the substantive job
row.             */
            /*
*/
            /* If there is no substantive job row behind the TAS row then we also do not
want to subscribe */
            /* to the TAS row. This can happen when the TAS row is the 2nd TAS row of 2
consecutive TAS    */
            /* jobs and we would have already suspended the substantive job via the 1st
TAS job.           */

/**************************************************************************************
**********/


/**************************************************************************************
*********/
            If &Action = "TAS" And
                  &Audit_Action = "A" And
                  &JobMsg_Count > 1 And
                  &I_Job < &JobMsg_Count Then /* to ensure that the substantive job is also
in the message */
               /* and is right behind the TAS row in the message.              */

/**************************************************************************************
********/

                 &TAS_EffDt = &Job_rec1.GetField(Field.EFFDT).Value;

                 /* To get Job JR record for this Job */
                 &Job_Jr_rs1 = &Job_row1.GetRowset(Scroll.JOB_JR);
                 &Job_Jr_row1 = &Job_Jr_rs1.GetRow(1);
                 &Job_Jr_rec1 = &Job_Jr_row1.GetRecord(Record.JOB_JR);
                 &Assign_id = &Job_Jr_rec1.ASSIGNMENT_ID.Value;


               /*
***************************************************************************************
**/
               /*          create 1st concurrent job with action = 'ADL' using Concurrent
Job CI          */
               /*
***************************************************************************************
**/

                 /* load CI Keys */
                 &REC = &RS0(&I).PER_ORG_ASGN;
                 &KEY1 = &REC.EMPLID.Value;
                 &GetKeyArray = ciCreateArray();
                 &myProperty = "KEYPROP_EMPLID";
                 &myValue = &KEY1;
                 &GetKeyArray = ciPopulateArray(&GetKeyArray, &myProperty, &myValue);

                 /* get the next empl_rcd for the emplid      */
                 GetNextEmplRcd(&KEY1, &nextemplrcd);

                 &GetKeyArray = ciPopulateArray(&GetKeyArray, "KEYPROP_EMPL_RCD",
&nextemplrcd);
                 &GetKeyArray2 = &GetKeyArray.Clone();
                 &GetKeyArray3 = &GetKeyArray.Clone();

                 &PerOrgValue = &REC.PER_ORG.Value;
                 &OrgInstNbr = &REC.ORG_INSTANCE_ERN.Value;
                 &BenRcdNbr = &REC.BENEFIT_RCD_NBR.Value;


/**************************************************************************************
******/
               /* Get the next job row which is the substantive job that has to be created
as a concurrent */
               /* job and suspended.
*/

               &Prior_Job_Row = &Job_row1.GetPriorEffRow();
               &Job_rec2 = &Prior_Job_Row.GetRecord(Record.JOB);

               &jCOMPANY = &Job_rec2.COMPANY.Value;
               &jPAYGROUP = &Job_rec2.PAYGROUP.Value;


/**********************************************************************************/
               /*       find the Compensation records for the substantive job to pass to
ci      */

               &RS_Compensation = CreateRowset(Record.COMPENSATION);
               &Count_comp = &RS_Compensation.Fill("WHERE EMPLID = :1 AND EMPL_RCD = :2 AND
EFFDT = %datein(:3) AND EFFSEQ = :4", &Job_rec2.EMPLID.Value, &Job_rec2.EMPL_RCD.Value,
&Job_rec2.EFFDT.Value, &Job_rec2.EFFSEQ.Value);



/**************************************************************************************
/
               /*       find the Job Earns Dist records for the substantive job to pass to
ci        */

               &RS_JobEarnsDist = CreateRowset(Record.JOB_EARNS_DIST);
               &Count_jobearns = &RS_JobEarnsDist.Fill("WHERE EMPLID = :1 AND EMPL_RCD =
:2 AND EFFDT = %datein(:3) AND EFFSEQ = :4", &Job_rec2.EMPLID.Value,
&Job_rec2.EMPL_RCD.Value, &Job_rec2.EFFDT.Value, &Job_rec2.EFFSEQ.Value);



/**************************************************************************************
/
               /*       find the Job JR record for the substantive job to pass to ci
*/

               &RS_JobJr = CreateRowset(Record.JOB_JR);
               &Count_JobJr = &RS_JobJr.Fill("WHERE EMPLID = :1 AND EMPL_RCD = :2 AND EFFDT
= %datein(:3) AND EFFSEQ = :4", &Job_rec2.EMPLID.Value, &Job_rec2.EMPL_RCD.Value,
&Job_rec2.EFFDT.Value, &Job_rec2.EFFSEQ.Value);



/**************************************************************************************
/
               /*       find the Job IND record for the substantive job to pass to ci
*/

               &RS_JobIND = CreateRowset(Record.JOB_IND);
               &Count_JobIND = &RS_JobIND.Fill("WHERE EMPLID = :1 AND EMPL_RCD = :2 AND
EFFDT = %datein(:3) AND EFFSEQ = :4", &Job_rec2.EMPLID.Value, &Job_rec2.EMPL_RCD.Value,
&Job_rec2.EFFDT.Value, &Job_rec2.EFFSEQ.Value);



/**************************************************************************************
/
               /*       find the Job AUS record for the substantive job to pass to ci
*/

               &RS_JobAUS = CreateRowset(Record.JOB_AUS);
               &Count_JobAUS = &RS_JobAUS.Fill("WHERE EMPLID = :1 AND EMPL_RCD = :2 AND
EFFDT = %datein(:3) AND EFFSEQ = :4", &Job_rec2.EMPLID.Value, &Job_rec2.EMPL_RCD.Value,
&Job_rec2.EFFDT.Value, &Job_rec2.EFFSEQ.Value);
/**************************************************************************************
/
               /*       find the Job USF record for the substantive job to pass to ci
*/

               &RS_JobUSF = CreateRowset(Record.JOB_USF);
               &Count_JobUSF = &RS_JobUSF.Fill("WHERE EMPLID = :1 AND EMPL_RCD = :2 AND
EFFDT = %datein(:3) AND EFFSEQ = :4", &Job_rec2.EMPLID.Value, &Job_rec2.EMPL_RCD.Value,
&Job_rec2.EFFDT.Value, &Job_rec2.EFFSEQ.Value);


                /* open CI in Create Mode */
                &myCI = ciOpen("CI_JOB_DATA_CONCUR", &GetKeyArray, "C", &ExceptionArray);

                /* load Property keys */
                &PropArray = ciCreateArray();
                &PropArray = ciPopulateArray(&PropArray, "PROP_PER_ORG", &PerOrgValue);
                &PropArray = ciPopulateArray(&PropArray, "PROP_ORG_INSTANCE_ERN",
&OrgInstNbr);
                &PropArray = ciPopulateArray(&PropArray, "PROP_BENEFIT_RCD_NBR",
&BenRcdNbr);
               &return = ciUpdateItem(&myCI, "PS_ROOT", &GetKeyArray, &PropArray, "U",
"N", &ExceptionArray);

                /* load Collection keys */
                &CollKeyArrayJob = ciCreateArray();


/**************************************************************************************
/
               /* JOB collection */

                &myCollection = "COLL_JOB";

                /* load collection keys */
                /* use system date as the effdt first and overwrite it with the correct effdt
*/
                /* (ie. &TAS_EffDt) once we retrieve the correct row.
*/
                &myProperty = "KEYPROP_EFFDT";
                &myValue = %Date;
                &CollKeyArrayJob = ciPopulateArray(&CollKeyArrayJob, &myProperty,
&myValue);

                &myProperty = "KEYPROP_EFFSEQ";
                &myValue = 0;
                &CollKeyArrayJob = ciPopulateArray(&CollKeyArrayJob, &myProperty,
&myValue);

               /* load properties from record */
               &PropArray = ciCreateArray();
               &PropArray = ciLoadPropertyCollectionFromRecord(&myCI, &myCollection,
&Job_rec2, &ExceptionArray);

                /* update properties */
                &PropArray = ciReplaceArrayProperty(&PropArray, "PROP_ACTION", "ADL");
                &PropArray = ciReplaceArrayProperty(&PropArray, "PROP_ACTION_REASON",
"ADL");
                &PropArray = ciReplaceArrayProperty(&PropArray, "PROP_JOB_DATA_SRC_CD",
"002");
                &PropArray = ciReplaceArrayProperty(&PropArray, "PROP_JOB_INDICATOR",
"S");

                &PaySystemFlag = ciGetArrayProperty(&PropArray, "PROP_PAY_SYSTEM_FLG");
                /*Bug Id:11649401 - Start*/
                /*&PaySystemFlag = ciGetArrayProperty(&PropArray, "PROP_PAY_SYSTEM_FLG");
                &EmplType = ciGetArrayProperty(&PropArray, "PROP_EMPL_TYPE");
                If &PaySystemFlag = "GP" And
                      &EmplType = "N" Then
                   &PropArray = ciReplaceArrayProperty(&PropArray, "PROP_EMPL_TYPE", " ");
               End-If;

               */
               /*Bug Id:11649401 - End*/
               &PositionValue = ciGetArrayProperty(&PropArray, "PROP_POSITION_NBR");
               &RegRegionValue = ciGetArrayProperty(&PropArray, "PROP_REG_REGION");
               &BUValue = ciGetArrayProperty(&PropArray, "PROP_BUSINESS_UNIT");
               &JobCodeValue = ciGetArrayProperty(&PropArray, "PROP_JOBCODE");
               &LocationValue = ciGetArrayProperty(&PropArray, "PROP_LOCATION");
               &DeptIDValue = ciGetArrayProperty(&PropArray, "PROP_DEPTID");
               &SalAdminPlanValue = ciGetArrayProperty(&PropArray,
"PROP_SAL_ADMIN_PLAN");
               &GradeValue = ciGetArrayProperty(&PropArray, "PROP_GRADE");
               &StepValue = ciGetArrayProperty(&PropArray, "PROP_STEP");
               &FullPartTimeValue = ciGetArrayProperty(&PropArray,
"PROP_FULL_PART_TIME");
               &FteValue = ciGetArrayProperty(&PropArray, "PROP_FTE");
               &StdHrsValue = ciGetArrayProperty(&PropArray, "PROP_STD_HOURS");
               &PosOverrideValue = ciGetArrayProperty(&PropArray,
"PROP_POSITION_OVERRIDE");
               &PaygroupValue = ciGetArrayProperty(&PropArray, "PROP_PAYGROUP");
               &EstabIDValue = ciGetArrayProperty(&PropArray, "PROP_ESTABID");
               &JobEntryDtValue = ciGetArrayProperty(&PropArray, "PROP_JOB_ENTRY_DT");
               &DeptEntryDtValue = ciGetArrayProperty(&PropArray, "PROP_DEPT_ENTRY_DT");
               &PositionEntryDtValue = ciGetArrayProperty(&PropArray,
"PROP_POSITION_ENTRY_DT");
               &GradeEntryDtValue = ciGetArrayProperty(&PropArray,
"PROP_GRADE_ENTRY_DT");
               &StepEntryDtValue = ciGetArrayProperty(&PropArray, "PROP_STEP_ENTRY_DT");
               &BorderWorkerValue = ciGetArrayProperty(&PropArray,
"PROP_BORDER_WALKER"); /*Resolution 838334*/

               /*Bug Id: 11649401 - Start*/
               &PaySystemFlag = ciGetArrayProperty(&PropArray, "PROP_PAY_SYSTEM_FLG");
               &EmplType = ciGetArrayProperty(&PropArray, "PROP_EMPL_TYPE");
               /*Bug Id: 11649401 - End*/
               /* resequence the following properties into the correct processing order */

               &PropArray = ciRemoveArrayProperty(&PropArray, "PROP_POSITION_NBR");
               &PropArray = ciPopulateArray(&PropArray, "PROP_POSITION_NBR",
&PositionValue);

               &PropArray = ciRemoveArrayProperty(&PropArray, "PROP_REG_REGION");
               &PropArray = ciPopulateArray(&PropArray, "PROP_REG_REGION",
&RegRegionValue);

               &PropArray = ciRemoveArrayProperty(&PropArray, "PROP_BUSINESS_UNIT");
               &PropArray = ciPopulateArray(&PropArray, "PROP_BUSINESS_UNIT", &BUValue);

               &PropArray = ciRemoveArrayProperty(&PropArray, "PROP_JOBCODE");
               &PropArray = ciPopulateArray(&PropArray, "PROP_JOBCODE", &JobCodeValue);

               &PropArray = ciRemoveArrayProperty(&PropArray, "PROP_LOCATION");
               &PropArray = ciPopulateArray(&PropArray, "PROP_LOCATION", &LocationValue);

               &PropArray = ciRemoveArrayProperty(&PropArray, "PROP_DEPTID");
               &PropArray = ciPopulateArray(&PropArray, "PROP_DEPTID", &DeptIDValue);

               &PropArray = ciRemoveArrayProperty(&PropArray, "PROP_SAL_ADMIN_PLAN");
               &PropArray = ciPopulateArray(&PropArray, "PROP_SAL_ADMIN_PLAN",
&SalAdminPlanValue);

               &PropArray = ciRemoveArrayProperty(&PropArray, "PROP_GRADE");
               &PropArray = ciPopulateArray(&PropArray, "PROP_GRADE", &GradeValue);

               &PropArray = ciRemoveArrayProperty(&PropArray, "PROP_STEP");
               &PropArray = ciPopulateArray(&PropArray, "PROP_STEP", &StepValue);

               &PropArray = ciRemoveArrayProperty(&PropArray, "PROP_FULL_PART_TIME");
               &PropArray = ciPopulateArray(&PropArray, "PROP_FULL_PART_TIME",
&FullPartTimeValue);
               &PropArray = ciRemoveArrayProperty(&PropArray, "PROP_FTE");
               &PropArray = ciPopulateArray(&PropArray, "PROP_FTE", &FteValue);

               &PropArray = ciRemoveArrayProperty(&PropArray, "PROP_STD_HOURS");
               &PropArray = ciPopulateArray(&PropArray, "PROP_STD_HOURS", &StdHrsValue);

               &PropArray = ciRemoveArrayProperty(&PropArray, "PROP_POSITION_OVERRIDE");
               &PropArray = ciPopulateArray(&PropArray, "PROP_POSITION_OVERRIDE", "Y");

               &PropArray = ciRemoveArrayProperty(&PropArray, "PROP_PAYGROUP");
               &PropArray = ciPopulateArray(&PropArray, "PROP_PAYGROUP", &PaygroupValue);
               /*Bug Id: 11649401 - Start*/
               If &PaySystemFlag = "GP" And
                     &EmplType = "N" Then
                  &PropArray = ciReplaceArrayProperty(&PropArray, "PROP_EMPL_TYPE", " ");
               Else
                  &PropArray = ciRemoveArrayProperty(&PropArray, "PROP_EMPL_TYPE");
                  &PropArray = ciPopulateArray(&PropArray, "PROP_EMPL_TYPE", &EmplType);
               End-If;
               /*Bug Id: 11649401 - End*/

               &PropArray = ciRemoveArrayProperty(&PropArray, "PROP_ESTABID");
               &PropArray = ciPopulateArray(&PropArray, "PROP_ESTABID", &EstabIDValue);

               /*Begin Resolution 838334*/
               If &BorderWorkerValue <> "Y" Then
                  &PropArray = ciRemoveArrayProperty(&PropArray, "PROP_BORDER_WALKER");
                  &PropArray = ciPopulateArray(&PropArray, "PROP_BORDER_WALKER", "N");
               End-If;
               /*End Resolution 838334*/

               /* set the effdt to the correct value */
               &PropArray = ciPopulateArray(&PropArray, "KEYPROP_EFFDT", &TAS_EffDt);

               /* set action to Update */
               &MYACTION = "U";

               /* load collection */
               &return = ciUpdateItem(&myCI, &myCollection, &CollKeyArrayJob, &PropArray,
&MYACTION, "N", &ExceptionArray);

               /* Reset the effdt to the correct value   for Job Collections going forward
*/
               &CollKeyArrayJob = ciReplaceArrayProperty(&CollKeyArrayJob,
"KEYPROP_EFFDT", &TAS_EffDt);



/**************************************************************************************
/
               /* JOB_JR collection */

               &myCollection = "COLL_JOB_JR";

               /* load collection keys */
               &CollKeyArrayJobJr = ciCreateArray();
               &myProperty = "KEYPROP_EFFDT";
               &myValue = &TAS_EffDt;
               &CollKeyArrayJobJr = ciPopulateArray(&CollKeyArrayJobJr, &myProperty,
&myValue);
               &myProperty = "KEYPROP_EFFSEQ";
               &myValue = 0;
               &CollKeyArrayJobJr = ciPopulateArray(&CollKeyArrayJobJr, &myProperty,
&myValue);

               /* load properties from record */
               &PropArray = ciCreateArray();
               &Rec_JobJr = &RS_JobJr.GetRow(1).GetRecord(Record.JOB_JR);
               &PropArray = ciLoadPropertyCollectionFromRecord(&myCI, &myCollection,
&Rec_JobJr, &ExceptionArray);
               /* update properties */
               &PropArray = ciPopulateArray(&PropArray, "PROP_ASSIGNMENT_ID",
&Assign_id);

               /* set action to Update */
               &MYACTION = "U";

               /* load collection */
               &return = ciUpdateItem(&myCI, &myCollection, &CollKeyArrayJobJr,
&PropArray, &MYACTION, "N", &ExceptionArray);


/**************************************************************************************
/
               /* JOB_IND collection */

               If &Count_JobIND > 0 Then

                  &myCollection = "COLL_JOB_IND";

                  /* load collection keys */
                  &CollKeyArrayJobIND = ciCreateArray();
                  &myProperty = "KEYPROP_EFFDT";
                  &myValue = &TAS_EffDt;
                  &CollKeyArrayJobIND = ciPopulateArray(&CollKeyArrayJobIND,
&myProperty, &myValue);
                  &myProperty = "KEYPROP_EFFSEQ";
                  &myValue = 0;
                  &CollKeyArrayJobIND = ciPopulateArray(&CollKeyArrayJobIND,
&myProperty, &myValue);

                  /* load properties from record */
                  &PropArray = ciCreateArray();
                  &Rec_JobIND = &RS_JobIND.GetRow(1).GetRecord(Record.JOB_IND);
                  &PropArray = ciLoadPropertyCollectionFromRecord(&myCI, &myCollection,
&Rec_JobIND, &ExceptionArray);

                  /* set action to Update */
                  &MYACTION = "U";

                  /* load collection */
                  &return = ciUpdateItem(&myCI, &myCollection, &CollKeyArrayJobIND,
&PropArray, &MYACTION, "N", &ExceptionArray);

               End-If;



/**************************************************************************************
/
               /* JOB_AUS collection */

               If &Count_JobAUS > 0 Then

                  &myCollection = "COLL_JOB_AUS";

                  /* load collection keys */
                  &CollKeyArrayJobAUS = ciCreateArray();
                  &myProperty = "KEYPROP_EFFDT";
                  &myValue = &TAS_EffDt;
                  &CollKeyArrayJobAUS = ciPopulateArray(&CollKeyArrayJobAUS,
&myProperty, &myValue);
                  &myProperty = "KEYPROP_EFFSEQ";
                  &myValue = 0;
                  &CollKeyArrayJobAUS = ciPopulateArray(&CollKeyArrayJobAUS,
&myProperty, &myValue);

                  /* load properties from record */
                  &PropArray = ciCreateArray();
                  &Rec_JobAUS = &RS_JobAUS.GetRow(1).GetRecord(Record.JOB_AUS);
                  &PropArray = ciLoadPropertyCollectionFromRecord(&myCI, &myCollection,
&Rec_JobAUS, &ExceptionArray);

                  /* set action to Update */
                  &MYACTION = "U";

                  /* load collection */
                  &return = ciUpdateItem(&myCI, &myCollection, &CollKeyArrayJobAUS,
&PropArray, &MYACTION, "N", &ExceptionArray);

              End-If;



/**************************************************************************************
/
               /* JOB_USF collection */

              If &Count_JobUSF > 0 Then

                  &myCollection = "COLL_JOB_USF";

                  /* load collection keys */
                  &CollKeyArrayJobUSF = ciCreateArray();
                  &myProperty = "KEYPROP_EFFDT";
                  &myValue = &TAS_EffDt;
                  &CollKeyArrayJobUSF = ciPopulateArray(&CollKeyArrayJobUSF,
&myProperty, &myValue);
                  &myProperty = "KEYPROP_EFFSEQ";
                  &myValue = 0;
                  &CollKeyArrayJobUSF = ciPopulateArray(&CollKeyArrayJobUSF,
&myProperty, &myValue);

                  /* load properties from record */
                  &PropArray = ciCreateArray();
                  &Rec_JobUSF = &RS_JobUSF.GetRow(1).GetRecord(Record.JOB_USF);
                  &PropArray = ciLoadPropertyCollectionFromRecord(&myCI, &myCollection,
&Rec_JobUSF, &ExceptionArray);

                  /* set action to Update */
                  &MYACTION = "U";

                  /* load collection */
                  &return = ciUpdateItem(&myCI, &myCollection, &CollKeyArrayJobUSF,
&PropArray, &MYACTION, "N", &ExceptionArray);

              End-If;


              /* load COMPENSATION collection */
              If &Count_comp > 0 Then
                 &myCollection = "COLL_COMPENSATION";

                  /* we need to flush the collection first */
                  /* load Collection keys */
                  &CollKeyArrayComp = ciCreateArray();
                  &CollKeyArrayComp = ciPopulateArray(&CollKeyArrayComp,
"KEYPROP_EFFDT", &TAS_EffDt);
                  &CollKeyArrayComp = ciPopulateArray(&CollKeyArrayComp,
"KEYPROP_EFFSEQ", 0);
                  &CollKeyArrayComp = ciPopulateArray(&CollKeyArrayComp,
"KEYPROP_COMP_RATECD", "");
                  &CollKeyArrayComp = ciPopulateArray(&CollKeyArrayComp,
"KEYPROP_COMP_EFFSEQ", 0);

                  /*******************/
                  /* load Properties */
                  /*******************/
                  &PropArray = ciCreateArray();

                  /*************************/
                  /* Flush the Collection */
                  /*************************/
                  &return = ciUpdateItem(&myCI, &myCollection, &CollKeyArrayComp,
&PropArray, "F", "N", &ExceptionArray);

                  For &I_Comp = 1 To &RS_Compensation.ActiveRowCount
                     &REC_Compensation =
&RS_Compensation.GetRow(&I_Comp).GetRecord(Record.COMPENSATION);
                     /************************/
                     /* load Collection keys */
                     /************************/
                     &CollKeyArrayComp = ciCreateArray();
                     &myProperty = "KEYPROP_EFFDT";
                     &myValue = &TAS_EffDt;
                     &CollKeyArrayComp = ciPopulateArray(&CollKeyArrayComp, &myProperty,
&myValue);
                     &myProperty = "KEYPROP_EFFSEQ";
                     &myValue = 0;
                     &CollKeyArrayComp = ciPopulateArray(&CollKeyArrayComp, &myProperty,
&myValue);
                     &myProperty = "KEYPROP_COMP_RATECD";
                     /* for the first row, we must look for an empty ratecd as key, later
set it as a property */
                     If &I_Comp = 1 Then
                        &myValue = "";
                     Else
                        &myValue = &REC_Compensation.GetField(Field.COMP_RATECD).Value;
                     End-If;
                     &CollKeyArrayComp = ciPopulateArray(&CollKeyArrayComp, &myProperty,
&myValue);
                     &myProperty = "KEYPROP_COMP_EFFSEQ";
                     &myValue = &REC_Compensation.GetField(Field.COMP_EFFSEQ).Value;
                     &CollKeyArrayComp = ciPopulateArray(&CollKeyArrayComp, &myProperty,
&myValue);

                     /************************/
                     /* load Properties */
                     /************************/
                     &PropArray = ciCreateArray();
                     /* for the first row we must reset the ratecd key */
                     If &I_Comp = 1 Then
                        &myProperty = "KEYPROP_COMP_RATECD";
                        &myValue = &REC_Compensation.GetField(Field.COMP_RATECD).Value;
                        If All(&myValue) Then
                           &PropArray = ciPopulateArray(&PropArray, &myProperty,
&myValue);
                        End-If;
                     End-If;
                     &myProperty = "PROP_COMP_RATE_POINTS";
                     &myValue =
&REC_Compensation.GetField(Field.COMP_RATE_POINTS).Value;
                     If All(&myValue) Then
                        &PropArray = ciPopulateArray(&PropArray, &myProperty, &myValue);
                     End-If;
                     &myProperty = "PROP_COMPRATE";
                     &myValue = &REC_Compensation.GetField(Field.COMPRATE).Value;
                     If All(&myValue) Then
                        &PropArray = ciPopulateArray(&PropArray, &myProperty, &myValue);
                     End-If;
                     &myProperty = "PROP_COMP_PCT";
                     &myValue = &REC_Compensation.GetField(Field.COMP_PCT).Value;
                     If All(&myValue) Then
                        &PropArray = ciPopulateArray(&PropArray, &myProperty, &myValue);
                     End-If;
                     &myProperty = "PROP_COMP_FREQUENCY";
                     &myValue = &REC_Compensation.GetField(Field.COMP_FREQUENCY).Value;
                     If All(&myValue) Then
                        &PropArray = ciPopulateArray(&PropArray, &myProperty, &myValue);
                     End-If;
                     &myProperty = "PROP_CURRENCY_CD";
                     &myValue = &REC_Compensation.GetField(Field.CURRENCY_CD).Value;
                     If All(&myValue) Then
                        &PropArray = ciPopulateArray(&PropArray, &myProperty, &myValue);
                     End-If;
                     &myProperty = "PROP_RATE_CODE_GROUP";
                     &myValue = &REC_Compensation.GetField(Field.RATE_CODE_GROUP).Value;
                     If All(&myValue) Then
                        &PropArray = ciPopulateArray(&PropArray, &myProperty, &myValue);
                     End-If;
                     &myProperty = "PROP_FTE_INDICATOR";
                     &myValue = &REC_Compensation.GetField(Field.FTE_INDICATOR).Value;
                     If All(&myValue) Then
                        &PropArray = ciPopulateArray(&PropArray, &myProperty, &myValue);
                     End-If;
                     &myProperty = "PROP_CMP_SRC_IND";
                     &myValue = &REC_Compensation.GetField(Field.CMP_SRC_IND).Value;
                     If All(&myValue) Then
                        &PropArray = ciPopulateArray(&PropArray, &myProperty, &myValue);
                     End-If;
                     &myProperty = "PROP_MANUAL_SW";
                     &myValue = &REC_Compensation.GetField(Field.MANUAL_SW).Value;
                     If All(&myValue) Then
                        &PropArray = ciPopulateArray(&PropArray, &myProperty, &myValue);
                     End-If;
                     /* we must ignore CHANGE_AMT, CHANGE_PCT and CHANGE_PTS since they will
be recalculated */

                     If &I_Comp = 1 Then
                        &MYACTION = "U"
                     Else
                        &MYACTION = "I";
                     End-If;

                     &return = ciUpdateItem(&myCI, &myCollection, &CollKeyArrayComp,
&PropArray, &MYACTION, "N", &ExceptionArray);

                  End-For;
               End-If;


               /******************************** populate earnings distribution rows
*************************************/

               &myCollection = "COLL_JOB_EARNS_DIST";

               /* get ERNCD for defaulting of keys for dummy row */
               &RecPG = CreateRecord(Record.PAYGROUP_TBL);
               &RecPG.COMPANY.Value = &jCOMPANY;
               &RecPG.PAYGROUP.Value = &jPAYGROUP;
               &RecPG.SelectByKeyEffDt(&TAS_EffDt);

               /* create key arrays, create property arrays */

               &CollKeyArrayJobE = ciCreateArray();


               /* flush the collection */
               &PropArray = ciCreateArray();

               &CollKeyArrayJobE = ciPopulateArray(&CollKeyArrayJobE, "KEYPROP_EFFDT",
&TAS_EffDt);
               &CollKeyArrayJobE = ciPopulateArray(&CollKeyArrayJobE, "KEYPROP_EFFSEQ",
0);
               &CollKeyArrayJobE = ciPopulateArray(&CollKeyArrayJobE,
"KEYPROP_POSITION_NBR", &myValue);
               &CollKeyArrayJobE = ciPopulateArray(&CollKeyArrayJobE,
"KEYPROP_BUSINESS_UNIT", "");
               &CollKeyArrayJobE = ciPopulateArray(&CollKeyArrayJobE, "KEYPROP_DEPTID",
&myValue);
               &CollKeyArrayJobE = ciPopulateArray(&CollKeyArrayJobE, "KEYPROP_JOBCODE",
&myValue);
               &CollKeyArrayJobE = ciPopulateArray(&CollKeyArrayJobE, "KEYPROP_SHIFT",
"N");
               &CollKeyArrayJobE = ciPopulateArray(&CollKeyArrayJobE, "KEYPROP_ERNCD",
&RecPG.ERNCD_REG_EARNS.Value);
               &CollKeyArrayJobE = ciPopulateArray(&CollKeyArrayJobE,
"KEYPROP_GL_PAY_TYPE", &myValue);
               &CollKeyArrayJobE = ciPopulateArray(&CollKeyArrayJobE, "KEYPROP_ACCT_CD",
&myValue);
               &CollKeyArrayJobE = ciPopulateArray(&CollKeyArrayJobE,
"KEYPROP_LOCATION", &myValue);


               &return = ciUpdateItem(&myCI, &myCollection, &CollKeyArrayJobE,
&PropArray, "F", "N", &ExceptionArray);

               If &Count_jobearns > 0 Then
                  For &I_JobEarns = 1 To &RS_JobEarnsDist.ActiveRowCount
                     &REC_JobEarnsDist =
&RS_JobEarnsDist.GetRow(&I_JobEarns).GetRecord(Record.JOB_EARNS_DIST);

                      /* load Collection keys */
                      &CollKeyArrayJobE = ciCreateArray();
                      &CollKeyArrayJobE = ciPopulateArray(&CollKeyArrayJobE,
"KEYPROP_EFFDT", &TAS_EffDt);
                      &CollKeyArrayJobE = ciPopulateArray(&CollKeyArrayJobE,
"KEYPROP_EFFSEQ", 0);

                     &myValue = "";

                     If &I_JobEarns = 1 Then
                        &CollKeyArrayJobE = ciPopulateArray(&CollKeyArrayJobE,
"KEYPROP_POSITION_NBR", &myValue);
                        &CollKeyArrayJobE = ciPopulateArray(&CollKeyArrayJobE,
"KEYPROP_BUSINESS_UNIT", &myValue);
                        &CollKeyArrayJobE = ciPopulateArray(&CollKeyArrayJobE,
"KEYPROP_DEPTID", &myValue);
                        &CollKeyArrayJobE = ciPopulateArray(&CollKeyArrayJobE,
"KEYPROP_JOBCODE", &myValue);
                        &CollKeyArrayJobE = ciPopulateArray(&CollKeyArrayJobE,
"KEYPROP_SHIFT", "N");
                        &CollKeyArrayJobE = ciPopulateArray(&CollKeyArrayJobE,
"KEYPROP_ERNCD", &RecPG.ERNCD_REG_EARNS.Value);
                        &CollKeyArrayJobE = ciPopulateArray(&CollKeyArrayJobE,
"KEYPROP_GL_PAY_TYPE", &myValue);
                        &CollKeyArrayJobE = ciPopulateArray(&CollKeyArrayJobE,
"KEYPROP_ACCT_CD", &myValue);
                        &CollKeyArrayJobE = ciPopulateArray(&CollKeyArrayJobE,
"KEYPROP_LOCATION", &myValue);


                     Else
                        &CollKeyArrayJobE = ciPopulateArray(&CollKeyArrayJobE,
"KEYPROP_POSITION_NBR", &REC_JobEarnsDist.GetField(Field.POSITION_NBR).Value);
                        &CollKeyArrayJobE = ciPopulateArray(&CollKeyArrayJobE,
"KEYPROP_BUSINESS_UNIT", &REC_JobEarnsDist.GetField(Field.BUSINESS_UNIT).Value);
                        &CollKeyArrayJobE = ciPopulateArray(&CollKeyArrayJobE,
"KEYPROP_DEPTID", &REC_JobEarnsDist.GetField(Field.DEPTID).Value);
                        &CollKeyArrayJobE = ciPopulateArray(&CollKeyArrayJobE,
"KEYPROP_JOBCODE", &REC_JobEarnsDist.GetField(Field.JOBCODE).Value);
                        &CollKeyArrayJobE = ciPopulateArray(&CollKeyArrayJobE,
"KEYPROP_SHIFT", &REC_JobEarnsDist.GetField(Field.SHIFT).Value);
                        &CollKeyArrayJobE = ciPopulateArray(&CollKeyArrayJobE,
"KEYPROP_ERNCD", &REC_JobEarnsDist.GetField(Field.ERNCD).Value);
                        &CollKeyArrayJobE = ciPopulateArray(&CollKeyArrayJobE,
"KEYPROP_GL_PAY_TYPE", &REC_JobEarnsDist.GetField(Field.GL_PAY_TYPE).Value);

                        &CollKeyArrayJobE = ciPopulateArray(&CollKeyArrayJobE,
"KEYPROP_ACCT_CD", &myValue);
                        &CollKeyArrayJobE = ciPopulateArray(&CollKeyArrayJobE,
"KEYPROP_LOCATION", &myValue);
                     End-If;
                     /* load Properties */
                     &PropArray = ciCreateArray();

                     &PropArray = ciPopulateArray(&PropArray, "KEYPROP_EFFDT",
&TAS_EffDt);
                     &PropArray = ciPopulateArray(&PropArray, "KEYPROP_EFFSEQ", 0);


                     If &I_JobEarns = 1 Then;

                        &myProperty = "KEYPROP_POSITION_NBR";
                        &myValue = &REC_JobEarnsDist.GetField(Field.POSITION_NBR).Value;
                        If All(&myValue) Then
                           &PropArray = ciPopulateArray(&PropArray, &myProperty,
&myValue);
                        End-If;

                        &myProperty = "KEYPROP_BUSINESS_UNIT";
                        &myValue =
&REC_JobEarnsDist.GetField(Field.BUSINESS_UNIT).Value;
                        If All(&myValue) Then
                           &PropArray = ciPopulateArray(&PropArray, &myProperty,
&myValue);
                        End-If;

                        &myProperty = "KEYPROP_DEPTID";
                        &myValue = &REC_JobEarnsDist.GetField(Field.DEPTID).Value;
                        If All(&myValue) Then
                           &PropArray = ciPopulateArray(&PropArray, &myProperty,
&myValue);
                        End-If;

                        &myProperty = "KEYPROP_JOBCODE";
                        &myValue = &REC_JobEarnsDist.GetField(Field.JOBCODE).Value;
                        If All(&myValue) Then
                           &PropArray = ciPopulateArray(&PropArray, &myProperty,
&myValue);
                        End-If;

                        &myProperty = "KEYPROP_GL_PAY_TYPE";
                        &myValue = &REC_JobEarnsDist.GetField(Field.GL_PAY_TYPE).Value;
                        &PropArray = ciPopulateArray(&PropArray, &myProperty, &myValue);

                        &myProperty = "KEYPROP_SHIFT";
                        &myValue = &REC_JobEarnsDist.GetField(Field.SHIFT).Value;
                        &PropArray = ciPopulateArray(&PropArray, &myProperty, &myValue);

                        &myProperty = "KEYPROP_ERNCD";
                        &myValue = &REC_JobEarnsDist.GetField(Field.ERNCD).Value;
                        &PropArray = ciPopulateArray(&PropArray, &myProperty, &myValue);

                     Else
                        &PropArray = ciPopulateArray(&PropArray, "KEYPROP_POSITION_NBR",
&REC_JobEarnsDist.GetField(Field.POSITION_NBR).Value);
                        &PropArray = ciPopulateArray(&PropArray,
"KEYPROP_BUSINESS_UNIT", &REC_JobEarnsDist.GetField(Field.BUSINESS_UNIT).Value);
                        &PropArray = ciPopulateArray(&PropArray, "KEYPROP_DEPTID",
&REC_JobEarnsDist.GetField(Field.DEPTID).Value);
                        &PropArray = ciPopulateArray(&PropArray, "KEYPROP_JOBCODE",
&REC_JobEarnsDist.GetField(Field.JOBCODE).Value);
                        &PropArray = ciPopulateArray(&PropArray, "KEYPROP_SHIFT",
&REC_JobEarnsDist.GetField(Field.SHIFT).Value);
                        &PropArray = ciPopulateArray(&PropArray, "KEYPROP_ERNCD",
&REC_JobEarnsDist.GetField(Field.ERNCD).Value);
                        &PropArray = ciPopulateArray(&PropArray, "KEYPROP_GL_PAY_TYPE",
&REC_JobEarnsDist.GetField(Field.GL_PAY_TYPE).Value);
                        &PropArray = ciPopulateArray(&PropArray, "KEYPROP_ACCT_CD",
&REC_JobEarnsDist.GetField(Field.ACCT_CD).Value);
                        &PropArray = ciPopulateArray(&PropArray, "KEYPROP_LOCATION",
&REC_JobEarnsDist.GetField(Field.LOCATION).Value);
                      End-If;

                      &myProperty = "PROP_COMPRATE";
                      &myValue = &REC_JobEarnsDist.GetField(Field.COMPRATE).Value;
                      If All(&myValue) Then
                         &PropArray = ciPopulateArray(&PropArray, &myProperty, &myValue);
                      End-If;

                      &myProperty = "PROP_DIST_PCT";
                      &myValue = &REC_JobEarnsDist.GetField(Field.DIST_PCT).Value;
                      If All(&myValue) Then
                         &PropArray = ciPopulateArray(&PropArray, &myProperty, &myValue);
                      End-If;

                      &myProperty = "PROP_STD_HOURS";
                      &myValue = &REC_JobEarnsDist.GetField(Field.STD_HOURS).Value;
                      If All(&myValue) Then
                         &PropArray = ciPopulateArray(&PropArray, &myProperty, &myValue);
                      End-If;


                      If &I_JobEarns = 1 Then
                         &MYACTION = "U"
                      Else
                         &MYACTION = "I";
                      End-If;

                     &return = ciUpdateItem(&myCI, &myCollection, &CollKeyArrayJobE,
&PropArray, &MYACTION, "N", &ExceptionArray);
                  End-For;
               End-If;

               /* END populate earnings distribution rows END*/

               /* press calculate button to correct JOB.COMPRATE before sending to CI */
               &PropArray = ciCreateArray();

               Local number &comprate = &Job_rec2.GetField(Field.COMPRATE).Value;
               Local string &compfreq = &Job_rec2.GetField(Field.COMP_FREQUENCY).Value;

               &PropArray = ciPopulateArray(&PropArray, "PROP_EMPL_TYPE", &EmplType);
               &PropArray = ciPopulateArray(&PropArray, "PROP_COMP_FREQUENCY",
&compfreq);
               &PropArray = ciPopulateArray(&PropArray, "PROP_COMPRATE", &comprate);


               &PropArray = ciPopulateArray(&PropArray, "PROP_CALC_COMP_BTN", "Y");
               &return = ciUpdateItem(&myCI, "COLL_JOB", &CollKeyArrayJob, &PropArray,
"U", "N", &ExceptionArray);




               /* close and save CI */
               &return = ciClose(&myCI, &ExceptionArray);
               ciWriteExceptionLog(&ExceptionArray);

               /*If %Session.errorpending Then
                 put some code here to do a warning or something to log the problem

               end-if; */


/*************************************************************************/
               /*    create 2nd concurrent job with action = 'SUB' using Job Data CI    */

/*************************************************************************/

               /*   load CI Keys - we don't need to do the loading as the &GetKeyArray2
currently contain the emplid and the new empl_rcd defined by the Concurrent Job CI process
above. */

               &ExceptionArray2 = ciCreateExceptionArray();

               /* open CI */
               &myCI2 = ciOpen("CI_JOB_DATA", &GetKeyArray2, "G", &ExceptionArray2);

               &Prior_Job_Row = &Job_row1.GetPriorEffRow();
               &Job_rec2 = &Prior_Job_Row.GetRecord(Record.JOB);

               /* load Collection keys */
               &CollKeyArray = ciCreateArray();
               &myProperty = "KEYPROP_EFFDT";
               &myValue = &TAS_EffDt;
               &CollKeyArray = ciPopulateArray(&CollKeyArray, &myProperty, &myValue);
               &myProperty = "KEYPROP_EFFSEQ";
               &myValue = 1;
               &CollKeyArray = ciPopulateArray(&CollKeyArray, &myProperty, &myValue);

               /* load Properties */
               &PropArray = ciCreateArray();

               &PropArray = ciPopulateArray(&PropArray, "PROP_ACTION", "SUB");
               &PropArray = ciPopulateArray(&PropArray, "PROP_ACTION_REASON", "TAS");
               &PropArray = ciPopulateArray(&PropArray, "PROP_JOB_DATA_SRC_CD", "002");

               /* set action to Insert */
               &MYACTION = "I";
               &myCollection = "COLL_JOB";
               &return = ciUpdateItem(&myCI2, &myCollection, &CollKeyArray, &PropArray,
&MYACTION, "N", &ExceptionArray2);


               /* load Collection keys */
               &CollKeyArray = ciCreateArray();
               &myProperty = "KEYPROP_EFFDT";
               &myValue = &TAS_EffDt;
               &CollKeyArray = ciPopulateArray(&CollKeyArray, &myProperty, &myValue);
               &myProperty = "KEYPROP_EFFSEQ";
               &myValue = 1;
               &CollKeyArray = ciPopulateArray(&CollKeyArray, &myProperty, &myValue);

               /* load Properties */
               &PropArray = ciCreateArray();

               &PropArray = ciPopulateArray(&PropArray, "PROP_ASSIGNMENT_ID",
&Assign_id);

               /* set action to Update */
               &MYACTION = "U";

               &myCollection = "COLL_JOB_JR";
               &return = ciUpdateItem(&myCI2, &myCollection, &CollKeyArray, &PropArray,
&MYACTION, "N", &ExceptionArray2);


               /* close and save CI */
               &return = ciClose(&myCI2, &ExceptionArray2);

               /* check for errors here once more */
               ciWriteExceptionLog(&ExceptionArray2);
               rem               End-If;



/********************************************************************************/
               /*      Update Position Override of new ADL and SUB rows to same value
*/
               /*      as substantive job.
*/
               /*       Ditto for Job, Department, Position, Grade and Step Entry dates.
*/

/********************************************************************************/

               &ExceptionArray3 = ciCreateExceptionArray();

               /* open CI in Get Mode */
               &myCI3 = ciOpen("CI_JOB_DATA", &GetKeyArray3, "G", &ExceptionArray3);

               &myCollection = "COLL_JOB";

               /* load collection keys */
               &CollKeyArrayJob = ciCreateArray();
               &CollKeyArray = ciPopulateArray(&CollKeyArrayJob, "KEYPROP_EFFDT",
&TAS_EffDt);
               &CollKeyArrayJob = ciPopulateArray(&CollKeyArrayJob, "KEYPROP_EFFSEQ", 0);

               /* load Properties */
               &PropArray = ciCreateArray();
               &PropArray = ciPopulateArray(&PropArray,   "PROP_JOB_ENTRY_DT",
&JobEntryDtValue);
               &PropArray = ciPopulateArray(&PropArray,   "PROP_DEPT_ENTRY_DT",
&DeptEntryDtValue);
               &PropArray = ciPopulateArray(&PropArray,   "PROP_POSITION_ENTRY_DT",
&PositionEntryDtValue);
               &PropArray = ciPopulateArray(&PropArray,   "PROP_GRADE_ENTRY_DT",
&GradeEntryDtValue);
               &PropArray = ciPopulateArray(&PropArray,   "PROP_STEP_ENTRY_DT",
&StepEntryDtValue);
               &PropArray = ciPopulateArray(&PropArray,   "PROP_POSITION_OVERRIDE",
&PosOverrideValue);

               /* set action to Update */
               &MYACTION = "U";

               /* load collection for ADL row */
               &return = ciUpdateItem(&myCI3, &myCollection, &CollKeyArray, &PropArray,
&MYACTION, "N", &ExceptionArray3);

               /* load collection for SUB row */
               &CollKeyArray = ciReplaceArrayProperty(&CollKeyArray, "KEYPROP_EFFSEQ",
1);
               &return = ciUpdateItem(&myCI3, &myCollection, &CollKeyArray, &PropArray,
&MYACTION, "N", &ExceptionArray3);

               /* close and save CI */
               &return = ciClose(&myCI3, &ExceptionArray3);

               /* check for errors here once more */
               ciWriteExceptionLog(&ExceptionArray3);

            End-If; /* if &action = TAS and &audit_action = A */


/**************************************************************************************
*********/
            /* If the job row in the message is a TAS and the action = Delete, then we have
to check to   */
            /* if there is another job row with the same empl rcd and assignment id as the
deleted row.   */
            /* If there is none, then we want to call CI to create a termination row for
the respective   */
            /* suspended substantive job of this temporary assignment job row and delete
any future dated */
            /* rows belonging to this suspended substantive job.
*/
            /* If there is, then no action is required.
*/

/**************************************************************************************
*********/


/**************************************************************************************
*********/
            If &Action = "TAS" And
                  &Audit_Action = "D" Then

/**************************************************************************************
*********/

               /* To get Job JR record for this Job */
               &Job_Jr_rs1 = &Job_row1.GetRowset(Scroll.JOB_JR);
               &Job_Jr_row1 = &Job_Jr_rs1.GetRow(1);
               &Job_Jr_rec1 = &Job_Jr_row1.GetRecord(Record.JOB_JR);
               &Emplid = &Job_Jr_rec1.EMPLID.Value;
               &EmplRcd = &Job_Jr_rec1.EMPL_RCD.Value;
               &Effdt = &Job_Jr_rec1.GetField(Field.EFFDT).Value;
               &Assign_id = &Job_Jr_rec1.ASSIGNMENT_ID.Value;

               /* Check to see whether there is any TAS job row with the same empl rcd and
assignment id as */
               /* the deleted row.
*/
               &RS_JobJr_Sameid = CreateRowset(Record.JOB_JR);
               &Count_Sameid = &RS_JobJr_Sameid.Fill("WHERE EMPLID = :1 AND EMPL_RCD = :2
AND ASSIGNMENT_ID = :3", &Emplid, &EmplRcd, &Assign_id);

               /* If none, then we terminate the respective suspended substantive job. */
               If &Count_Sameid = 0 Then

                  /* Use the &Assign_id to get the job jr row of the suspended substantive
job in order to know */
                  /* the empl_rcd of the suspended substantive row.
*/
                  /* We only want the original suspend row. Note that the effdt does not
have to match with the */
                  /* effdt of the deleted row as the suspend row can be related to more than
one TAS job and    */
                  /* the effdt of the suspend row is the effdt of the 1st related TAS job.
*/

                  &RS_JobJr_Susp = CreateRowset(Record.JOB_JR);
                  &Count = &RS_JobJr_Susp.Fill("WHERE EMPLID = :1 AND ASSIGNMENT_ID = :2
AND EFFSEQ = 1 AND DUTIES_TYPE = ''", &Emplid, &Assign_id);

                    /* If we find the suspended substantive row then we call ci to terminate
the suspended row    */
                    /* and all its related tables.
*/

                  If &Count > 0 Then
                     &REC_JobJr_Susp =
&RS_JobJr_Susp.GetRow(1).GetRecord(Record.JOB_JR);
                     &Emplrcd_Susp = &REC_JobJr_Susp.GetField(Field.EMPL_RCD).Value;
                     &Effdt_Susp = &REC_JobJr_Susp.GetField(Field.EFFDT).Value;

                       /* load CI Keys */
                       &GetKeyArray = ciCreateArray();
                       &myProperty = "KEYPROP_EMPLID";
                       &myValue = &Emplid;
                       &GetKeyArray = ciPopulateArray(&GetKeyArray, &myProperty, &myValue);
                       &myProperty = "KEYPROP_EMPL_RCD";
                       &myValue = &Emplrcd_Susp;
                       &GetKeyArray = ciPopulateArray(&GetKeyArray, &myProperty, &myValue);



/**************************************************************************************
/
                     /*               Find the suspended Employment record to pass to ci
*/

                     /* need to update TERMINATION_DT and LAST_DATE_WORKED = (EFFDT - 1 day)
*/
                     &CollKeyArray = ciCreateArray();

                     &PropArray = ciCreateArray();
                     &myProperty = "PROP_TERMINATION_DT";
                     &TermDt = &Effdt - 1;
                     &myValue = &TermDt;
                     &PropArray = ciPopulateArray(&PropArray, &myProperty, &myValue);
                     &myProperty = "PROP_LAST_DATE_WORKED";
                     &myValue = &TermDt;
                     &PropArray = ciPopulateArray(&PropArray, &myProperty, &myValue);



/**************************************************************************************
/
                     /*               Find the original suspended Job record to pass to ci
*/

                     &RS_Job_Susp = CreateRowset(Record.JOB);
                     &Job_Count = &RS_Job_Susp.Fill("WHERE EMPLID = :1 AND EMPL_RCD = :2
AND EFFDT = %datein(:3) AND EFFSEQ = 1", &Emplid, &Emplrcd_Susp, &Effdt_Susp);



/**************************************************************************************
/
                     /*     Find the future dated Job rows of the suspended Job record to
pass to ci       */

                     &RS_Job_Future = CreateRowset(Record.JOB);
                     &JobFuture_Count = &RS_Job_Future.Fill("WHERE EMPLID = :1 AND
EMPL_RCD = :2 AND EFFDT > %datein(:3)", &Emplid, &Emplrcd_Susp, &Effdt_Susp);


                     /* open CI */
                     &myCI = ciOpen("CI_JOB_DATA", &GetKeyArray, "G", &ExceptionArray);

                     /* set action to Update */
                     &MYACTION = "U";

                     &myCollection = "PS_ROOT";
                     &return = ciUpdateItem(&myCI, &myCollection, &CollKeyArray,
&PropArray, &MYACTION, "N", &ExceptionArray);


                     If &Job_Count > 0 Then
                        For &I_JobSusp = 1 To &RS_Job_Susp.ActiveRowCount
                           &REC_Job_Susp =
&RS_Job_Susp.GetRow(&I_JobSusp).GetRecord(Record.JOB);

                           /* load Job Collection keys */
                           &CollKeyArray = ciCreateArray();
                           &myProperty = "KEYPROP_EFFDT";
                           &myValue = &REC_Job_Susp.GetField(Field.EFFDT).Value;
                           &CollKeyArray = ciPopulateArray(&CollKeyArray, &myProperty,
&myValue);
                           &myProperty = "KEYPROP_EFFSEQ";
                           &myValue = &REC_Job_Susp.GetField(Field.EFFSEQ).Value;
                           &CollKeyArray = ciPopulateArray(&CollKeyArray, &myProperty,
&myValue);

                           /* load Job Properties */
                           &PropArray = ciCreateArray();
                           &PropArray = ciLoadPropertyCollectionFromRecord(&myCI,
"COLL_JOB", &REC_Job_Susp, &ExceptionArray);
                           &PropArray = ciReplaceArrayProperty(&PropArray,
"PROP_ACTION", "TER");
                           &PropArray = ciReplaceArrayProperty(&PropArray,
"PROP_ACTION_REASON", "JOB");
                           &PropArray = ciReplaceArrayProperty(&PropArray,
"PROP_JOB_DATA_SRC_CD", "002");

                           /* set action to Insert */
                           &MYACTION = "I";
                           &myCollection = "COLL_JOB";
                           &return = ciUpdateItem(&myCI, &myCollection, &CollKeyArray,
&PropArray, &MYACTION, "N", &ExceptionArray);

                          End-For;
                       End-If; /* if &Job_Count > 0 */


                     If &JobFuture_Count > 0 Then
                        For &I_JobFuture = 1 To &RS_Job_Future.ActiveRowCount
                           &REC_Job_Future =
&RS_Job_Future.GetRow(&I_JobFuture).GetRecord(Record.JOB);

                             /* load Job Collection keys */
                             &CollKeyArray = ciCreateArray();
                             &myProperty = "KEYPROP_EFFDT";
                             &myValue = &REC_Job_Future.GetField(Field.EFFDT).Value;
                             &CollKeyArray = ciPopulateArray(&CollKeyArray, &myProperty,
&myValue);
                             &myProperty = "KEYPROP_EFFSEQ";
                             &myValue = &REC_Job_Future.GetField(Field.EFFSEQ).Value;
                             &CollKeyArray = ciPopulateArray(&CollKeyArray, &myProperty,
&myValue);

                             /* load Job Properties */
                             &PropArray = ciCreateArray();

                           /* set action to Delete */
                           &MYACTION = "D";
                           &myCollection = "COLL_JOB";
                           &return = ciUpdateItem(&myCI, &myCollection, &CollKeyArray,
&PropArray, &MYACTION, "N", &ExceptionArray);

                          End-For;
                       End-If; /* if &JobFuture_Count > 0 */


                       /* close and save CI */
                       &return = ciClose(&myCI, &ExceptionArray);
                       ciWriteExceptionLog(&ExceptionArray);

                    End-If; /* if &Count > 0 */

                End-If; /* if &Count_Sameid = 0 */

              End-If; /* if &action = TAS and &audit_action = D */


            /*
============================================================================= */
         End-For /* for &I_Job = 1 to &Job_rs.ActiveRowCount */
         /*
============================================================================= */


     End-If; /* if none(&msg_flag) */

  End-For;

end-method;
Permission List Detail
Permission List: HCCPHR2010
              Description     Complete Course Selections
              TimeOut 180
              Nav. Homepage
              Start AppServer        No
              Email Password No

         Sign-on Day           Start End
         Sunday            00:00 23:59
         Monday            00:00 23:59
         Tuesday           00:00 23:59
         Wednesday         00:00 23:59
         Thursday          00:00 23:59
         Friday            00:00 23:59
         Saturday          00:00 23:59

         Authorized Menu                               Actions

         Menu:   ADMINISTER_TRAINING_(GBL)
         Comp:   RUNCTL_TRN013                Add Update
         Page:   RUNCTL_TRN013
         Comp:   TRN_T_COMFIRM_XML_ESP        Update
         Page:   XML_CONFIRM_ESP
         Comp:   TRN_T_DELETE_XML_ESP         Add Update
         Page:   XML_RC_ESP
         Comp:   COURSE_SESSION_TABLE         Add Update
         Page:   COURSE_SESSION_TABLE1
         Page:   COURSE_SESSION_TABLE2
         Page:   COURSE_SESSION_TABLE3
         Page:   COURSE_SESSION_TABLE4
         Comp:   COURSE_SESSION_EVALUATIONS   Update
         Page:   COURSE_SESSION_EVALUATIONS
         Comp:   TRN_EE_SESSN_CST             Update
         Page:   TRN_EE_SESSN_CST1
         Page:   TRN_EE_SESSN_CST2
         Page:   TRN_EE_SESSN_CST3
         Page:   TRN_EE_SESSN_CST4
         Page:   TRN_EE_SESSN_CST5
         Page:   TRN_EE_SESSN_CST6
         Page:   TRN_EE_SESSN_CST7
         Comp:   TUITION_REIMBURSEMENT        Update
         Page:   TRN_TUITION_REIMB




Permission List: HCCPHR2040
              Description     Inquire & Report
              TimeOut 180
              Nav. Homepage
              Start AppServer        No
              Email Password No
         Authorized Menu                               Actions

         Menu:   ADMINISTER_TRAINING_(GBL)
         Comp:   COURSE_SESSION_SUMMARY       Update
         Page:   TRN_CRS_STUDNT_SUM
         Comp:   STUDENT_TRAINING_SUMMARY     Update
         Page:   STUDENT_TRAINING_SUMMARY
         Comp:   ATTENDANCE_STATUS            Add Update
         Page:   RUNCTL_TRN018
         Comp:   COURSE_CATEGORY              Add Update
         Page:   RUNCTL_TRN007__
         Comp:   COURSE_DESCR                 Add Update
         Page:   RUNCTL_TRN006__
         Comp:   COURSE_EQUIPMENT             Add Update
         Page:   RUNCTL_TRN012__
         Comp:   COURSE_RATING                Add Update
         Page:   RUNCTL_TRN017__
         Comp:   COURSE_RATING_TEMPLATES      Add Update
         Page:   RUNCTL_TRN019__
         Comp:   COURSE_SESSION_ROSTER        Add Update
         Page:   RUN_CONTROL
         Comp:   COURSE_STUDENT_HISTORY       Add Update
         Page:   RUNCTL_TRN020__
         Comp:   COURSE_VENDORS               Add Update
         Page:   RUNCTL_TRN013__
         Comp:   COURSE_WAITING_LIST          Add Update
         Page:   RUN_CONTROL
         Comp:   EE_SESSION_COST_SUMMARY      Add Update
         Page:   RUNCTL_TRN032
         Comp:   EQUIPMENT_CHECKLIST          Add Update
         Page:   RUNCTL_TRN034
         Comp:   REQUIRED_COURSES             Add Update
         Page:   RUNCTL_TRN014__
         Comp:   STATISTICS_EMPL_ENRLD        Add Update
         Page:   RUNCTL_TRN022
         Comp:   TARGET_CERTIFICATE           Add Update
         Page:   RUNCTL_TRN016__
         Comp:   TARGET_QUALIFICATION         Add Update
         Page:   RUNCTL_TRN015__
         Comp:   TRAINING_FACILITY_SCHEDULE   Add Update
         Page:   RUN_CONTROL
         Comp:   TRAINING_INSTRUCTOR_SCHEDU   Add Update
         Page:   RUNCTL_TRN033
         Comp:   TRAINING_LETTERS             Add Update
         Page:   RUNCTL_TRN001
         Comp:   TRAINING_PROGRAM             Add Update
         Page:   RUNCTL_TRN021
         Comp:   TRAINING_SCHEDULE            Add Update
         Page:   RUN_CONTROL
         Comp:   TRN_T_COMFIRM_XML_ESP        Update
         Comp:   TRN_T_COMFIRM_XML_ESP        Add Update UpdAll Correct
         Page:   XML_CONFIRM_ESP
         Comp:   TRN_T_CRTE_XML               Add Update
         Page:   TRN_T_CRTE_XML_ESP
         Page:   TRN_T_DFN_XML1_ESP
         Comp:   TRN_T_DELETE_XML_ESP         Add Update
         Page:   XML_RC_ESP
         Comp:   TRN_T_PRINT_ESP2             Add Update
         Page:   XML_RC_ESP




Permission List: HCCPHR20ES
              Description     Administer Training ESP
              TimeOut 0
              Nav. Homepage
              Start AppServer        No
              Email Password No
Sign-on Day           Start End
Sunday            00:00 23:59
Monday            00:00 23:59
Tuesday           00:00 23:59
Wednesday         00:00 23:59
Thursday          00:00 23:59
Friday            00:00 23:59
Saturday          00:00 23:59

Authorized Menu                           Actions

Menu:   ADMINISTER_TRAINING_(GBL)
Comp:   TRN_T_COMFIRM_XML_ESP      Update
Page:   XML_CONFIRM_ESP
Comp:   TRN_T_CRTE_XML             Add Update
Page:   TRN_T_CRTE_XML_ESP
Page:   TRN_T_DFN_XML1_ESP
Comp:   TRN_T_DELETE_XML_ESP       Add Update
Page:   XML_RC_ESP
Comp:   TRN_T_PRINT_ESP2           Add Update
Page:   XML_RC_ESP
Comp:   COURSE_COST_TABLE          Correct
Page:   TRN_COST_TABLE1
Page:   TRN_COST_TABLE2
Page:   TRN_CST_ELEM_WRK
Page:   TRN_DEF_COSTS_WRK
Comp:   COURSE_SESSION_TABLE       Add Update
Page:   COURSE_SESSION_TABLE1
Page:   COURSE_SESSION_TABLE2
Page:   COURSE_SESSION_TABLE3
Page:   COURSE_SESSION_TABLE4
Page:   COURSE_SESSN_TBL5
Page:   COURSE_SESSN_TBL6
Page:   COURSE_SESSN_TBL7
Page:   CRS_SESSN_TBL8_GBL
Comp:   COURSE_SESSN_COST          Update
Page:   COURSE_SESSN_TBL5
Page:   COURSE_SESSN_TBL6
Page:   COURSE_SESSN_TBL7
Page:   CRS_SESSN_TBL8_GBL
Comp:   COURSE_TABLE               Add Update UpdAll Correct
Page:   COURSE_TABLE1
Page:   COURSE_TABLE5
Page:   COURSE_TABLE6
Page:   COURSE_TABLE_2-PREREQS,GOALS
Page:   COURSE_TABLE_3-EQUIPMENT
Page:   COURSE_TABLE_4-CATALOG
Comp:   EMPLOYEE_SALARY_COST       Update UpdAll Correct
Page:   TRN_EE_SALARY_COST
Comp:   TRN_T_ACTN_GRP_ESP         Add Update UpdAll Correct
Page:   TRN_T_ACTION_GRP_ESP
Page:   TRN_T_GROUPS_ESP
Comp:   TRN_T_FAC_DATA_ESP         Update UpdAll Correct
Page:   TRN_T_FACILITY_TBL
Comp:   TRN_T_TRI_DATA_ESP         Update UpdAll Correct
Page:   TRN_T_DATA1_ESP
Page:   TRN_T_DATA2_ESP
Page:   TRN_T_DATA3_ESP
Comp:   TRN_EE_SESSN_CST           Update
Page:   TRN_EE_SESSN_CST1
Page:   TRN_EE_SESSN_CST2
Page:   TRN_EE_SESSN_CST3
Page:   TRN_EE_SESSN_CST4
Page:   TRN_EE_SESSN_CST5
Page:   TRN_EE_SESSN_CST6
Page:   TRN_EE_SESSN_CST7
Comp:   TUITION_REIMBURSEMENT      Update
Page:   TRN_TUITION_REIMB
Comp:   TRN_T_EMP_DATA_ESP         Update UpdAll Correct
Page:   TRN_T_EMPL_DAT_ESP
Comp:   TRN_T_SESN_DAT_ESP         Update UpdAll Correct
         Page:   TRN_T_INTE_MTH_ESP
         Page:   TRN_T_LDIS_MTH_ESP
         Page:   TRN_T_PRE_MTH_ESP
         Page:   TRN_T_SESSN_DATA_ESP
         Page:   TRN_T_SES_COST_ESP
         Page:   TRN_T_SES_STDN_ESP
         Comp:   TRN_T_SIMU_CRD_ESP        Add Update UpdAll Correct
         Page:   TRN_T_ACT_PLAN_ESP
         Page:   TRN_T_CREDT_ESP
         Page:   TRN_T_SIMU_CRD_ESP




Permission List: HCCPHR30BR
             Description     Setup Workforce Tables BRA
             TimeOut 180
             Nav. Homepage
             Start AppServer        No
             Email Password No

         Sign-on Day           Start End
         Sunday            00:00 23:59
         Monday            00:00 23:59
         Tuesday           00:00 23:59
         Wednesday         00:00 23:59
         Thursday          00:00 23:59
         Friday            00:00 23:59
         Saturday          00:00 23:59

         Authorized Menu                          Actions

         Menu:   SETUP_HRMS
         Comp:   CENTRALIZATION_BRA        Add Update UpdAll Correct
         Page:   CENTRALIZATION_BRA
         Comp:   CID_CODES_BRA             Add Update Correct
         Page:   CID_CODES_BRA
         Comp:   ESTAB_TBL_BRA             Add Update UpdAll Correct
         Page:   ESTAB_TBL1_GBL
         Page:   ESTAB_TBL2_BRA
         Page:   ESTAB_TBL_BRA
         Comp:   ESTAB_TYPE_BRA            Update UpdAll Correct
         Page:   GPBR_ESTAB_TYPE
         Comp:   HEALTH_PROV_BRA           Add Update UpdAll Correct
         Page:   HEALTH_PROV_BRA
         Comp:   LEG_MOV_COD_BRA           Add Update UpdAll Correct
         Page:   LEG_MOV_COD_BRA
         Comp:   LOCATION_TABLE_BRA        Add Update UpdAll Correct
         Page:   LOCATION_TABLE_1
         Page:   LOCATION_TBL2_GBL
         Page:   LOCATION_TBL_BRA
         Comp:   PPP_PARAM_BRA             Add Update UpdAll Correct
         Page:   PPP_PARAM_BRA
         Comp:   CONTRACT_TYPE_BRA         Update UpdAll Correct
         Page:   CNT_TYPE_BRA
         Page:   CNT_TYPE_EC_BRA




Portal Registry Structure Detail
Portal Registry Structure: EMPLOYEE C, HC_ACCIDENT_ARG_GBL
             Parent HC_DEFINE_WORKFORCE_DATA_ARG
             Label Accident Codes
             Long Desc      Define SIJP Accident Codes
                     Define   SICOSS Accident Codes
             Product HC
             Seq Number       10
             Owner ID         Human Resources
             Usage Type       TARG
             Storage Type     RMTE
             Template
             Creation         16/12/2008
             Valid From       01/01/1900
             Valid To
             URL Template     HTML
             URL Type         UPGE
             URL Text         c/SETUP_HRMS.ACCIDENT_ARG.GBL
             Public No
             Author Access    No

         Permission List
         HCCPHR30AR
         HCCPHR9100




Portal Registry Structure: EMPLOYEE C, HC_ACTIVITY_ARG_GBL
             Parent HC_DEFINE_WORKFORCE_DATA_ARG
             Label Activity Type Codes
             Long Desc       Define SIJP Activity Type Codes
                     Define SICOSS Activity Type Codes
             Product HC
             Seq Number      20
             Owner ID        Human Resources
             Usage Type      TARG
             Storage Type    RMTE
             Template
             Creation        16/12/2008
             Valid From      01/01/1900
             Valid To
             URL Template    HTML
             URL Type        UPGE
             URL Text        c/SETUP_HRMS.ACTIVITY_ARG.GBL
             Public No
             Author Access No

         Permission List
         HCCPHR30AR
         HCCPHR9100




Portal Registry Structure: EMPLOYEE C, HC_CONDITION_ARG_GBL
             Parent HC_DEFINE_WORKFORCE_DATA_ARG
             Label Condition Codes
             Long Desc       Define SIJP Condition Codes
                     Define SICOSS Condition Codes
             Product HC
             Seq Number      40
             Owner ID        Human Resources
             Usage Type      TARG
             Storage Type    RMTE
             Template
             Creation        16/12/2008
             Valid From      01/01/1900
             Valid To
             URL Template    HTML
             URL Type        UPGE
             URL Text        c/SETUP_HRMS.CONDITION_ARG.GBL
             Public No
             Author Access No

         Permission List
         HCCPHR30AR
         HCCPHR9100




Portal Registry Structure: EMPLOYEE C, HC_EMPSIT_ARG_GBL
             Parent HC_DEFINE_WORKFORCE_DATA_ARG
             Label Employee Situation Codes
             Long Desc       Define SIJP Employee Situtation Codes
                     Define SICOSS Employee Situtation Codes
             Product HC
             Seq Number      50
             Owner ID        Human Resources
             Usage Type      TARG
             Storage Type    RMTE
             Template
             Creation        16/12/2008
             Valid From      01/01/1900
             Valid To
             URL Template    HTML
             URL Type        UPGE
             URL Text        c/SETUP_HRMS.EMPSIT_ARG.GBL
             Public No
             Author Access No

         Permission List
         HCCPHR30AR
         HCCPHR9100




Portal Registry Structure: EMPLOYEE C, HC_HEALTH_PROV_BRA_GBL
             Parent HC_DEFINE_WORKFORCE_DATA_BRA
             Label Health Providers
             Long Desc      Defines Code, CNPJ and ANS Registry for Brazilian Health Providers
             Product HC
             Seq Number     110
             Owner ID       Human Resources
             Usage Type     TARG
             Storage Type   RMTE
             Template
             Creation       29/03/2011
             Valid From     01/01/1900
             Valid To
             URL Template   HTML
             URL Type       UPGE
             URL Text       c/SETUP_HRMS.HEALTH_PROV_BRA.GBL
             Public No
             Author Access No

         Permission List
         HCCPHR30BR




Portal Registry Structure: EMPLOYEE C, HC_HIREMOD_ARG_GBL
             Parent HC_DEFINE_WORKFORCE_DATA_ARG
             Label Hire Modality Codes
             Long Desc       Define SIJP Hire Modality Codes
                     Define SICOSS Hire Modality Codes
             Product HC
             Seq Number      80
             Owner ID        Human Resources
             Usage Type      TARG
             Storage Type    RMTE
             Template
             Creation        16/12/2008
             Valid From      01/01/1900
             Valid To
             URL Template    HTML
             URL Type        UPGE
             URL Text        c/SETUP_HRMS.HIREMOD_ARG.GBL
             Public No
             Author Access   No

         Permission List
         HCCPHR30AR
         HCCPHR9100




Portal Registry Structure: EMPLOYEE C, HC_SOC_SEC_ARG_GBL
             Parent HC_DEFINE_WORKFORCE_DATA_ARG
             Label Social Security Codes
             Long Desc       Define SIJP Social Security Codes
                     Define SICOSS Social Security Codes
             Product HC
             Seq Number      90
             Owner ID        Human Resources
             Usage Type      TARG
             Storage Type    RMTE
             Template
             Creation        16/12/2008
             Valid From      01/01/1900
             Valid To
             URL Template    HTML
             URL Type        UPGE
             URL Text        c/SETUP_HRMS.SOC_SEC_ARG.GBL
             Public No
             Author Access No

         Permission List
         HCCPHR30AR
         HCCPHR9100




Portal Registry Structure: EMPLOYEE C, HC_TRN_T_EMP_DATA_ESP_GBL
             Parent HC_DEFINE_COURSES_AND_COSTS
             Label FT Employee Data ESP
             Long Desc       Identifies the student data required by Tripartite Foundation, as Fu
                     nctional Area, Category or Education Level, based on the Tripartite
                     Foundation levels.
             Product HC
             Seq Number      117
             Owner ID        Training Administration       Human Resources
             Usage Type      TARG
             Storage Type    RMTE
             Template
             Creation        01/09/2008     29/11/2007
             Valid From      01/01/1900
             Valid To
             URL Template    HTML
             URL Type        UPGE
             URL Text        c/ADMINISTER_TRAINING_(GBL).TRN_T_EMP_DATA_ESP.GBL
             Public No
             Author Access No

         Permission List
         HCCPHR20ES




Portal Registry Structure: EMPLOYEE C, HC_TRN_T_FAC_DATA_ESP_GBL
             Parent HC_HHR_TRAINING
             Label FT Facility Data ESP
             Long Desc       Define Facility Data for Tripartite Foundation
             Product HC
             Seq Number      285
             Owner ID        HR Spain      Human Resources
             Usage Type      TARG
             Storage Type    RMTE
             Template
             Creation        17/12/2009    20/05/2009
             Valid From      01/01/1900
             Valid To
             URL Template    HTML
             URL Type        UPGE
             URL Text        c/ADMINISTER_TRAINING_(GBL).TRN_T_FAC_DATA_ESP.GBL
             Public No
             Author Access   No

         Permission List
         HCCPHR20ES




Portal Registry Structure: EMPLOYEE C, HC_TRN_T_TRI_DATA_ESP_GBL
             Parent HC_HHR_TRAINING
             Label FT Setup Data ESP
             Long Desc       Defines the setup for costs & budgets calculation, like reduction pe
                     rcentages, or average reduction per employee, reduction by type of t
                     raining and level.
             Product HC
             Seq Number      290
             Owner ID        HR Spain       Human Resources
             Usage Type      TARG
             Storage Type    RMTE
             Template
             Creation        01/09/2008     04/12/2007
             Valid From      01/01/1900
             Valid To
             URL Template    HTML
             URL Type        UPGE
             URL Text        c/ADMINISTER_TRAINING_(GBL).TRN_T_TRI_DATA_ESP.GBL
             Public No
             Author Access No

         Permission List
         HCCPHR20ES

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:280
posted:11/11/2011
language:English
pages:264