Project: PRJ814320
Platform Default
Database HC890STB
Version 85
Description UPD814320
Comments
UPD814320
Records
GPCHAEBV1_TMP
GPCHAEZV1_TMP
GPCHELM_AET
GPCHINS_AET
GPCHTX021_VW
GPCHTX07B_TMP
GPCHTX07_AET
GPCH_EG_CPLT_DW
GPCH_EG_ELOG_DW
GPCH_EG_FHEADER
GPCH_EG_FSTATUS
GPCH_EG_ILOG_DW
GPCH_EG_PER_VW
GPCH_EG_PHEADER
GPCH_EG_PRO_DW
GPCH_EG_PSTATUS
GPCH_EG_PSTA_VW
GPCH_EG_PTOTALS
GPCH_IF_TX07_VW
GPCH_PK_DAT_DTL
GPCH_RP_AL10ONL
GPCH_RP_SI07_VW
GPCH_SIAL2_NRVW
GPCH_SI_ADD2_VW
GPCH_SI_ADDL_VW
GPCH_SI_ADDTNL2
GPCH_SI_ADSP_VW
GPCH_SI_SPL1_VW
GPCH_SI_SPL2_VW
GPCH_SI_SPLIT
GPCH_SI_SPLT_VW
GPCH_SI_VARIAN2
GPCH_TX_MNPL_VW
GPCH_XP_EMPLID
GPES_ADLNJOB_VW
GPES_ADLNREM_VW
GPES_ADLNSEQ_VW
GPES_ANT_AUS_VW
GPES_CC_EE_DTA
GPES_CC_PT_DAYS
GPES_CC_XCCC_VW
GPES_CC_XEE_VW
GPFR_AF_ATR_IMP
GPFR_AF_ATR_PRM
GPFR_AF_ATTR
GPFR_AF_EXTR_VW
GPFR_AF_RUN_OTH
GPFR_AF_SQLENTY
GPFR_ASS_SRCH
GPFR_AT_RSLT_VW
GPFR_GAR_DEP_VW
GPFR_GUIDE_VW
GPFR_RSLT_AC_VW
GPFR_RSLT_AR_VW
GPIN_F16_AK_DTL
GPIN_F16_AK_DTL GPIN_ACK_NUM
GPIN_F16_AK_DTL GPIN_IT_PAN_NBR
GPIN_F16_AK_DTL GPIN_IT_TAN_NBR
GPIN_F16_AK_DTL GPIN_PERIOD_ID
GPIN_F16_AK_DTL GPIN_QUARTER_ID
GPJP_YEA_ST_VW
Fields
GPCH_EG_REQUEST_ID
GPCH_PK_SALARY
GPCH_SI_ALT_ID
GPFR_AF_RPT_ONLY
GPIN_ACK_NUM
GPIN_ACK_NUM GPIN_ACK_NUM
GPIN_IT_PAN_NBR
GPIN_IT_PAN_NBR GPIN_IT_PAN_NBR
GPIN_IT_PAN_NBR GPIN_LBL
GPIN_IT_TAN_NBR
GPIN_IT_TAN_NBR GPIN_IT_TAN_NBR
GPIN_IT_TAN_NBR GPIN_LBL
GPIN_PERIOD_ID
GPIN_PERIOD_ID GPIN_FISCAL PER_ID
GPIN_PERIOD_ID PERIOD_ID
GPIN_QUARTER_ID
GPIN_QUARTER_ID QUARTER
Translate Values
GPIN_QUARTER_ID (1900-01-01) 10
GPIN_QUARTER_ID (1900-01-01) 20
GPIN_QUARTER_ID (1900-01-01) 30
GPIN_QUARTER_ID (1900-01-01) 40
GPJP_IT_DEP (2011-01-01) 11
Pages
GPFR_AF_ATRPRP_SEC
GPJP_LA_PYE_RPT1
PeopleCode (Record)
FUNCLIB_GPJP.GPJP_YEA_SSERVICE.FieldFormula
GPCH_AE_DERIVED.GPCH_RP_TX07_XML.FieldFormula
GPCH_EG_STAT_DW.FUNCLIB.FieldFormula
GPFR_AF_RUN_EXT.GPFR_AF_EXTRACT_ID.FieldChange
GPGB_ABS_EVT_JR.GPGB_ABS_LINK_DUR.SavePostChange
GPGB_EDIFUNCLIB.GPGB_EDI_WORKS_ID.FieldFormula
GPGB_RNCTL_EDI.GPGB_UNIQUE_ID.SaveEdit
GP_ACCUMULATOR.ENTRY_TYPE_USER_K1.FieldFormula
Process Definitions
Application Engine UPD850896_A1
Message Catalog Entries
GP UK - Online 17130, 248
GP UK - Online 17130, 253
GP Singapore - Text Messages 17231, 387
GP Singapore - Text Messages 17231, 388
GP Singapore - Text Messages 17231, 389
GP Singapore - Text Messages 17231, 390
GP Singapore - Text Messages 17231, 391
GP Singapore - Text Messages 17231, 392
GP Singapore - Text Messages 17231, 393
GP Singapore - Text Messages 17231, 394
Global Payroll India 17410, 49
SQL
GPCHTX021_VW View
GPCH_AE_ELM STAX_VD Step02 S ApplEng
GPCH_AE_INS PrepIns Step02 S ApplEng
GPCH_AE_INS PrepIns Step02a S ApplEng
GPCH_AE_INS PrepIns Step03 S ApplEng
GPCH_AE_INS PrepIns Step04 S ApplEng
GPCH_AE_INS PrepIns Step05 S ApplEng
GPCH_BK_TRN GPCHBK10Step05 S ApplEng
GPCH_EG_PER_VW View
GPCH_EG_PSTA_VW View
GPCH_IF_TX07_VW View
GPCH_RP_SI07_VW View
GPCH_SIAL2_NRVW View
GPCH_SI_ADD2_VW View
GPCH_SI_ADDL_VW View
GPCH_SI_ADSP_VW View
GPCH_SI_SPL1_VW View
GPCH_SI_SPL2_VW View
GPCH_SI_SPLT_VW View
GPCH_TX_MNPL_VW View
GPES_ADLNJOB_VW View
GPES_ADLNREM_VW View
GPES_ADLNSEQ_VW View
GPES_ANT_AUS_VW View
GPES_CC_XCCC_VW View
GPES_CC_XEE_VW View
GPFR_AF_DT_TO_CHAR Normal
GPFR_AF_EXTR_VW View
GPFR_ASS_SRCH View
GPFR_AT_RSLT_VW View
GPFR_DB2 Normal
GPFR_GAR_DEP_VW View
GPFR_GUIDE_VW View
GPFR_IS_NULL Normal
GPFR_PYSL_AEREADTABLEmplidS S ApplEng
GPFR_PYSL_AEREADTABLInsertS3D ApplEng
GPFR_PYSL_AEREADTABLInsertS3S ApplEng
GPFR_RETURN_CHAR_POS Normal
GPFR_RSLT_AC_VW View
GPFR_RSLT_AR_VW View
GPJP_SC_BNS BNS Step01 S ApplEng
GPJP_YEA_ST_VW View
GPSG_IR8A_CRUPDATES Step03 S ApplEng
GPSG_IRAS_LATEST_ACTIVE_JOB Normal
NUM_TO_CHAR Normal
UPD850896_A1MAIN Step01 S ApplEng
UPD850896_A1MAIN Step02 S ApplEng
Appl Engine (Prog)
GPCH_AE_INS
GPCH_AE_TX07
GPCH_BK_TRN
GPFR_AF_AE
UPD850896_A1
Appl Engine (Section)
GPFR_AF_AE DBPARM
GPGB_EDI_P14 P14All
GPGB_EDI_P14 P14AllA
GPGB_EDI_P14 P14Foot
GPGB_EDI_P14 P14Write
UPD850896_A1 MAIN
PeopleCode (ApplEng)
GPCH_AE_ELM.STAX_VD GBLdefault 1900-01-01.Step01.OnExecute
GPFR_AF_AE.DBPARM GBLDB2 1900-01-01.Step01.OnExecute
GPFR_AF_AE.DBPARM GBLDB2UNIX 1900-01-01.Step01.OnExecute
PeopleCode (Page)
GPJP_LA_PYE_RPT1.Activate
PeopleCode (Component)
GPCH_RC_EGOVT(GBL).SavePostChange
GPES_RC_FNQ1(GBL).SavePreChange
GPGB_ABS_EVENT(GBL).SavePostChange
PeopleCode (CompRecord)
GPES_ABS_EVENT(GBL).INSTALLATION.SavePreChange
GPGB_ABS_EVENT(GBL).GP_ABS_EVENT.SaveEdit
GPGB_EE_TAX(GBL).GPGB_EE_TAX.SaveEdit
GPIN_YE_F24_F16(GBL).GPIN_F16_AK_DTL.SaveEdit
PeopleCode (CompRecFld)
GPES_SSTC_IND_RES(GBL).DERIVED_GPES.SEARCH_BUTTON FieldChange
File References
CH814320_DAT_DAT
CH814320_IMP_DMS
CN814320_DAT_DAT
CN814320_IMP_DMS
ES814320_DAT_DAT
ES814320_IMP_DMS
ES848467_01_DMS
FR814320_DAT_DAT
FR814320_IMP_DMS
FR846213_01_DAT
FR846213_01_DMS
GB814320_DAT_DAT
GB814320_IMP_DMS
GB842731_01_DAT
GB842731_01_DMS
GPAUPS02_SQC
GPCHAL05_SQR
GPCHAL07_SQR
GPCHAL08_SQR
GPCHAL10_SQR
GPCHSI07_SQR
GPCHSI08_SQR
GPCHST02_SQC
GPCHST02_SQR
GPCHTX02_SQC
GPCHTX02_SQR
GPCHTX04_SQR
GPCHTX2A_SQR
GPCHUT06_SQC
GPCUARPR_CBL
GPESFNQ1_SQR
GPJPYE04_SQR
GPPDPDM0_CBL
GPPRDMGR_CBL
GPSGIR01_SQR
GPSGIR02_SQR
GPSGIR03_SQR
GPSGIR04_SQR
GPSGIR07_SQR
GPSGIR09_SQR
JP814320_DAT_DAT
JP814320_IMP_DMS
NZ814320_DAT_DAT
NZ814320_IMP_DMS
SG851314_01_DAT
SG851314_01_DMS
Object Type: 69 ?
COBOL, , ,
DATA, , ,
SCRIPTS, , ,
SQR, , ,
Record Detail
Record: GPCHAEBV1_TMP
Description Pension Fund Data
Record Type Temporal
Parent Record
Related Language
DDL Space Name GPAPP.PSHRDMOP
Owner ID Global Payroll Switzerland
Comments Pension Fund Data
FieldName Type Len Key Srch Req Edit Prompt C Default
PROCESS_INSTANCE Num 10 KA
EMPLID Char 11 KALS Req Prmt PERSONAL_DATA
EFFDT Date 10 KD Req %date
PRD_END_DT Date 10 KA
GPCH_SI_PROV_TYPE Char 1 KALS Req Xlat '6'
COMPANY Char 3 KA
GPCH_SI_PROV_CD Char 6 KALS Req Prmt GPCH_SI_PRV_VW1
GPCH_PK_STATUS Char 1 Xlat
GPCH_PK_ID_INS Char 11
GPCH_PK_ID_ALT Num 9
GPCH_PK_INS_PLAN Char 2 Prmt GPCH_PK_PLANS
GPCH_PK_INS_STATUS Char 8 Prmt GPCH_PK_STATUS
GPCH_PK_EXIT_DATE Date 10
GPCH_PK_SALARY Num 12.6
GPCH_PK_SALARY Num 12.2
CURRENCY_CD Char 3 Prmt CURRENCY_CD_TBL 'CHF'
HIRE_DT Date 10
TERMINATION_DT Date 10
GPCH_RP_AMOUNT4 Sign 12.6
Record: GPCHAEZV1_TMP
Description Social Insurance Table
Record Type Temporal
Parent Record GPCH_SI_VARIAN1
Related Language
DDL Space Name GPAPP.PSHRDMOP
Owner ID Global Payroll Switzerland
Comments Social Insurance Table
FieldName Type Len Key Srch Req Edit Prompt C Default
PROCESS_INSTANCE Num 10 KA Req
EMPLID Char 11 KALS Req
EMPL_RCD Num 3 KALS Req
EFFDT Date 10 KD Req
GPCH_SI_VARIAN1.EFFDT
GPCH_SI_TYPE_ID Char 3 KA Req
GPCH_SI_ALT_ID Char 2 KA Req
GPCH_SI_ALT_ID Char 8 KA Req
GPCH_SI_PROV_TYPE Char 1 Req
STATUS Char 1 'A'
GPCH_CALCULATE Char 1 'A'
AMOUNT Sign 15.3
CURRENCY_CD Char 3
BEGIN_DT Date 10
END_DT Date 10
ENDING_DT_PERIOD Date 10
HIRE_DT Date 10
TERMINATION_DT Date 10
GPCH_RP_AMOUNT1 Sign 12.6
GPCH_RP_AMOUNT2 Sign 12.6
GPCH_RP_AMOUNT3 Sign 12.6
GPCH_RP_AMOUNT4 Sign 12.6
GPCH_RP_AMOUNT5 Sign 12.6
Record: GPCHELM_AET
Description ELM App Engine State Record
Record Type Derived/Work
Parent Record
Related Language
Owner ID Global Payroll Switzerland
Comments ELM App Engine State Record
FieldName Type Len Key Srch Req Edit Prompt C Default
PROCESS_INSTANCE Num 10 KA
OPRID Char 30
LANGUAGE_CD Char 3 Xlat
RUN_CNTL_ID Char 30
GPCH_EG_DOMAINID Num 3
GPCH_RC_PAY_YEAR Num 4
COMPANY Char 3
GPCH_EG_CREATE Char 1 'Y'
FILENAME Char 80
GPCH_EG_REQUEST_ID Char 25
GPCH_EG_REQUEST_ID Char 30
GPCH_EG_MONITOR_ID Char 25
FILE_OUTPUT_DIR Char 127
GPCH_EG_HDR_XML Long
GPCH_SI_PROV_TYPE Char 1 Xlat
GPCH_SI_PROV_CD Char 6
GPCH_EG_REGENERATE Char 1 Y/N 'N'
FILE_DATA_CHAR Long
GPCH_TX_FLG Char 1
GPCH_TX_STAX_FLG Char 1 Y/N 'N'
GPCH_FAK_FLAG Char 1 Y/N 'N'
Record: GPCHINS_AET
Description State record for Identify AE
Record Type SQL Table
Parent Record
Related Language
DDL Space Name GPAPP.PSHRDMOP
Owner ID Global Payroll Switzerland
Comments State record for Identify,BVG,KTG,UVGZ Application engine
FieldName Type Len Key Srch Req Edit Prompt C Default
PROCESS_INSTANCE Num 10
OPRID Char 30
RUN_CNTL_ID Char 30
GPCH_EG_YEP_FLG Char 1
GPCH_EG_DOMAINID Num 3
GPCH_EG_REQUEST_ID Char 25
GPCH_EG_REQUEST_ID Char 30
GPCH_RUN_OPTIONS Char 1
GPCH_CANCEL_OPTION Char 1
EMPLID Char 11
EMPL_RCD Num 3
COMPANY Char 3
GPCH_RC_PAY_YEAR Num 4
GPCH_RC_FROM_DT Date 10
GPCH_RC_TO_DT Date 10
GPCH_RC_RUN_TYPE Char 1 Xlat
GPCH_TX_FLG Char 1
GPCH_SI_PROV_CD Char 6
GPCH_PK_INS_PLAN Char 2
PIN_NUM Num 8
GPCH_PIN_NUM Num 8
Record: GPCHTX021_VW
Description Temp Record for GPCHTX02
Record Type SQL View
Parent Record
Related Language
Build Seq 1
Owner ID Global Payroll Switzerland
Comments
Temp Record for GPCHTX02
FieldName Type Len Key Srch Req Edit Prompt C Default
PROCESS_INSTANCE Num 10 KA
GPCH_TX_CANTON Char 2 KA
GPCH_TX_VILLAGE_CD Char 4 KA
GPCH_TX_TRF_TYPE Char 1 KA Xlat
EMPLID Char 11 KA Req Prmt PERSON
EMPL_RCD Num 3 KA
GPCH_AL_CPAY_ENDDT Date 10 KA
SEG_BGN_DT Date 10
SEG_END_DT Date 10 KA
RSLT_SEG_NUM Num 4 KA
SEQNUM Num 3 KA '0'
SEX Char 1 Xlat
COMPANY Char 3
PRD_END_DT Date 10
TERMINATION_DT Date 10
BEGIN_DT Date 10
END_DT Date 10
BIRTHDATE Date 10
GPCH_TX_TRF_CD Char 10
NATIONAL_ID Char 20
GPCH_AH_NNSS Char 20
VISA_PERMIT_TYPE Char 3
CONTRACT_TYPE Char 3
ACTION Char 3 Prmt ACTION_TBL
POSTAL Char 12
GPCH_RP_AMOUNT1 Sign 12.6
GPCH_RP_AMOUNT2 Sign 12.6
GPCH_RP_AMOUNT3 Sign 12.6
GPCH_RP_AMOUNT11 Sign 12.6
GPCH_RP_AMOUNT14 Sign 12.6
GPCH_RP_AMOUNT19 Sign 12.6
GPCH_RP_AMOUNT20 Sign 12.6
GPCH_RP_CHAR03 Char 6
GPCH_RP_FROMDT1 Date 10
REG_TEMP Char 1 Xlat
FTE Num 1.6
Record: GPCHTX07B_TMP
Description Year End ProviderTotals temp
Record Type Temporal
Parent Record
Related Language
DDL Space Name GPAPP.PSHRDMOP
Owner ID Global Payroll Switzerland
Comments Stores Provider total data for each functional type per year per com
pany in a Temp Record.
FieldName Type Len Key Srch Req Edit Prompt C Default
PROCESS_INSTANCE Num 10 KA
COMPANY Char 3 KA
GPCH_RC_PAY_YEAR Num 4 KA
GPCH_EG_DOMAINID Num 3 KA
GPCH_EG_REQUEST_ID Char 25 KA
GPCH_EG_REQUEST_ID Char 30 KA
GPCH_SI_PROV_TYPE Char 1 KA Xlat
GPCH_SI_PROV_CD Char 6 DA
GPCH_EG_USERKEY Char 2
Record: GPCHTX07_AET
Description GPCHTX07_AET
Record Type SQL Table
Parent Record
Related Language
DDL Space Name GPAPP.PSHRDMOP
Owner ID Global Payroll Switzerland
Comments LAW 2006
FieldName Type Len Key Srch Req Edit Prompt C Default
PROCESS_INSTANCE Num 10 KA
OPRID Char 30
RUN_CNTL_ID Char 30
LANGUAGE_CD Char 3 Xlat
STRM_NUM Num 4
EMPLID Char 11
EMPL_RCD Num 3
EMPLID_FROM Char 11
EMPLID_TO Char 11
GPCH_RC_DT_OPT Char 1 Xlat
GPCH_RC_PAY_YEAR Num 4
GPCH_RC_FROM_DT Date 10
GPCH_RC_TO_DT Date 10 Prmt GPCH_RP_DATE_VW
PAY_ENTITY Char 10 Prmt GP_PYENT
GPCH_TX_CANTON Char 2 Prmt STATE_NAMES_TBL
DEPTID Char 10 Prmt DEPT_TBL
LOCATION Char 10
GP_PAYGROUP Char 10
NAME Char 50
GPCH_AL_PAGE_NUM Num 4
GPCH_IF_VER Num 3 KALS Req '1'
GPCH_RC_ADJUST_DT Date 10
GPCH_RC_RUN_TYPE Char 1 Xlat
GPCH_RC_INC_P_CALC Char 1 Y/N
GPCH_RC_APLY_SPLIT Char 1
GPCH_PIN_NUM Num 8
PIN_NUM Num 8
GPCH_AL_EXPEXP Char 1 Xlat
ACM_PRD_OPTN Char 1 Xlat
GPCH_AL_PIN_CAT Num 2
GPCH_AL_RPT_LANG Char 3
BEGIN_DT Date 10
END_DT Date 10
COMPANY Char 3
GPCH_AL_FR_TRSP Char 1 Xlat
GPCH_TX_CANTEEN Char 1 Xlat
GPCH_AL_EXPENSE Char 1 Xlat
SEX Char 1 Xlat
COUNTRY_FROM Char 3
MAR_STATUS Char 1 Xlat
NATIONAL_ID Char 20
BIRTHDATE Date 10
GPCH_RP_TX07_A Char 1
GPCH_RP_TX07_B Char 1
GPCH_AH_NNSS Char 20
GPCH_RC_AL01_S1 Char 1 Xlat
GPCH_RC_AL01_S2 Char 1 Xlat
GPCH_RC_AL01_S3 Char 1 Xlat
GPCH_EG_DOMAINID Num 3
GPCH_EG_REQUEST_ID Char 25
GPCH_EG_REQUEST_ID Char 30
GPCH_RUN_OPTIONS Char 1 Xlat
GPCH_CANCEL_OPTION Char 1
GPCH_SI_PROV_CD Char 6
GPCH_TX_FLG Char 1
Record: GPCH_EG_CPLT_DW
Description ELM Completion Details
Record Type Derived/Work
Parent Record
Related Language
Owner ID Global Payroll Switzerland
Comments ELM Completion Details
FieldName Type Len Key Srch Req Edit Prompt C Default
COMPANY Char 3 KA
GPCH_RC_PAY_YEAR Num 4 KA
GPCH_EG_DOMAINID Num 3 KA
GPCH_EG_REQUEST_ID Char 25 KA
GPCH_EG_REQUEST_ID Char 30 KA
GPCH_SI_PROV_TYPE Char 1 KA
GPCH_SI_PROV_CD Char 6 KA
GPCH_URL_ADDRESS Char 254
USERKEY Char 254
PASSWORD Char 254
GPCH_EG_EXPIRY Char 30
Record: GPCH_EG_ELOG_DW
Description ELM External Log details
Record Type Derived/Work
Parent Record
Related Language
Owner ID Global Payroll Switzerland
Comments ELM External Log details
FieldName Type Len Key Srch Req Edit Prompt C Default
COMPANY Char 3 KA
GPCH_RC_PAY_YEAR Num 4 KA
GPCH_EG_DOMAINID Num 3 KA
GPCH_EG_REQUEST_ID Char 25 KA
GPCH_EG_REQUEST_ID Char 30 KA
GPCH_EG_RESPONSEID Char 30 KA
GPCH_EG_ELOG Char 1
GPCH_EG_RESP_FILE Char 1
GPCH_EG_SENT_FILE Char 1
GPCH_EG_SYNC_FILE Char 1
GPCH_EG_SYNC_RESP Char 1
GPCH_EG_SYNC_RSLT Char 1
GPCH_EG_SCRSLT_RSP Char 1
GPCH_EG_SC_SALREQ Char 1
GPCH_EG_SAL_RESP Char 1
GCPH_EG_SC_LOAD Char 1
GPCH_EG_SAL_LOAD Char 1
GPCH_EG_SAL_VIEW Char 1
GPCH_EG_SC_VIEW Char 1
Record: GPCH_EG_FHEADER
Description Year End File Header Data
Record Type SQL Table
Parent Record
Related Language
DDL Space Name GPAPP.PSHRDMOP
Owner ID Global Payroll Switzerland
Comments Year End File Header Data
FieldName Type Len Key Srch Req Edit Prompt C Default
COMPANY Char 3 KA
GPCH_RC_PAY_YEAR Num 4 KA
GPCH_EG_DOMAINID Num 3 KA
GPCH_EG_REQUEST_ID Char 25 KAL
GPCH_EG_REQUEST_ID Char 30 KAL
GPCH_EG_HDR_XML Long
Record: GPCH_EG_FSTATUS
Description ELM Internal XML File Status
Record Type SQL Table
Parent Record
Related Language
DDL Space Name GPAPP.PSHRDMOP
Owner ID Global Payroll Switzerland
Comments GPCH-ELM Internal XML File Status
FieldName Type Len Key Srch Req Edit Prompt C Default
COMPANY Char 3 KA
GPCH_RC_PAY_YEAR Num 4 KA
GPCH_EG_DOMAINID Num 3 KA
GPCH_EG_REQUEST_ID Char 25 KA
GPCH_EG_REQUEST_ID Char 30 KA
GPCH_EG_RESPONSEID Char 30
FILENAME Char 80
TIME_STAMP DT 26
GPCH_REPORT_STATUS Char 4 Xlat
FILE_DATA_CHAR Long
GPCH_EG_REQID_OLD Char 30
GPCH_EG_RESPID_OLD Char 30
Record: GPCH_EG_ILOG_DW
Description ELM Internal Log Details
Record Type Derived/Work
Parent Record
Related Language
Owner ID Global Payroll Switzerland
Comments ELM Internal Log Details
FieldName Type Len Key Srch Req Edit Prompt C Default
COMPANY Char 3 KA
GPCH_RC_PAY_YEAR Num 4 KA
GPCH_EG_DOMAINID Num 3 KA
GPCH_EG_REQUEST_ID Char 25 KA
GPCH_EG_REQUEST_ID Char 30 KA
GPCH_EG_ELM_FILE Char 1
GPCH_EG_CONF_FILE Char 1
GPCH_EG_ILOG Char 1
Record: GPCH_EG_PER_VW
Description ELM Person table
Record Type SQL View
Parent Record
Related Language
Build Seq 1
Owner ID Global Payroll Switzerland
Comments
ELM Person table
FieldName Type Len Key Srch Req Edit Prompt C Default
GPCH_EG_DOMAINID Num 3 KA
GPCH_RC_PAY_YEAR Num 4 KA
COMPANY Char 3 KA
GPCH_SI_PROV_TYPE Char 1 KA Xlat
GPCH_SI_PROV_CD Char 6 KA
EMPLID Char 11 KA
EMPL_RCD Num 3 KA
BEGIN_DT Date 10 KA
END_DT Date 10 KA
GPCH_IF_VER Num 3 KA
GPCH_EG_PRSN_XML Long
Record: GPCH_EG_PHEADER
Description ELM Provider Header
Record Type SQL Table
Parent Record
Related Language
DDL Space Name GPAPP.PSHRDMOP
Owner ID Global Payroll Switzerland
Comments ELM Provider Header
FieldName Type Len Key Srch Req Edit Prompt C Default
COMPANY Char 3 KALS
GPCH_RC_PAY_YEAR Num 4 KALS
GPCH_EG_DOMAINID Num 3 KALS
GPCH_EG_REQUEST_ID Char 25 KA
GPCH_EG_REQUEST_ID Char 30 KA
GPCH_SI_PROV_TYPE Char 1 KA Xlat
GPCH_SI_PROV_CD Char 6 KA
GPCH_EG_USERKEY Char 2
GPCH_EG_RESPONSEID Char 30
FILE_DATA_CHAR Long
Record: GPCH_EG_PRO_DW
Description ELM Provider Derived Record
Record Type Derived/Work
Parent Record
Related Language
Owner ID Global Payroll Switzerland
Comments ELM Provider Derived Record
FieldName Type Len Key Srch Req Edit Prompt C Default
COMPANY Char 3
GPCH_SI_PROV_TYPE Char 1 Xlat
GPCH_EG_ISSU_DAT Date 10
GPCH_RC_PAY_YEAR Num 4
GPCH_EG_DOMAINID Num 3
GPCH_EG_REQUEST_ID Char 25
GPCH_EG_REQUEST_ID Char 30
GPCH_SI_PROV_CD Char 6
GPCH_EG_TRANS_MODE Char 3 Xlat
GPCH_REPORT_STATUS Char 4 Xlat
GPCH_EG_F_GROUB Char 10
GPCH_RPT_E_STATUS Char 4 Xlat
SAVE_PB Char 1
PRINT_BTN Char 1
GPCH_EG_SEND Char 1 'Y'
GPCH_EG_RESEND Char 1
GPCH_EG_VALIDATE Char 1 Y/N 'N'
GPCH_HISTORY_PB Char 1
GPCH_EG_COMPARE Char 1 Y/N 'N'
GPCH_EG_FEEDBACK Char 1 Y/N 'N'
GPCH_EG_GETRESULT Char 1 Y/N 'N'
FILE_OUTPUT_DIR Char 127
GPCH_EG_MONITOR_ID Char 25
GPCH_EG_DISTRIBUTR Char 1
GPCH_EG_TESTMODE Char 1 Y/N 'N'
GPCH_EG_SIGN Char 1 Y/N 'Y'
GPCH_EG_COMPRESS Char 1 Y/N 'N'
GPCH_EG_ENCRYPT Char 1 Y/N 'N'
URL Char 254
GPCH_EG_CERTIFICTE Char 25
GPCH_EG_PASSWORD Long
GPCH_EG_ALIAS_PASS Long
GPCH_EG_CERT_PATH Long
GPCH_EG_CERT_TYPE Char 10
GPCH_EG_LABEL Char 1
GPCH_EG_PRO_TOT Sign 8.2
GPCH_EG_PING Char 1
GPCH_EG_INTEROP Char 1 Xlat
GPCH_EG_POWERUSER Char 1 Y/N 'N'
GPCH_XMLP_SORT_1 Char 1 Xlat
GPCH_XMLP_SORT_2 Char 1 Xlat
GPCH_XMLP_SORT_3 Char 1 Xlat
GPCH_XMLP_OUTPUT Char 1 Xlat 'P'
GROUP_LIST_ID Char 10 Prmt GP_GRP_LIST_VW
LANGUAGE_CD Char 3 Xlat 'ENG'
GPCH_XMLP_SUBSLCT Char 1 Xlat 'E'
GPCH_XMLP_AHV_ALV Char 1 Xlat 'H'
GPCH_TX_CANTON Char 2
Extend Field Info SetCtrlField Label PageControl Audit
GPCH_EG_PING PING
Record: GPCH_EG_PSTATUS
Description ELM Reciever File Status
Record Type SQL Table
Parent Record
Related Language
DDL Space Name GPAPP.PSHRDMOP
Owner ID Global Payroll Switzerland
Comments GPCH:ELM Reciever File Status
FieldName Type Len Key Srch Req Edit Prompt C Default
COMPANY Char 3 KA
GPCH_RC_PAY_YEAR Num 4 KA
GPCH_EG_DOMAINID Num 3 KA
GPCH_EG_REQUEST_ID Char 25 KA
GPCH_EG_REQUEST_ID Char 30 KA
GPCH_SI_PROV_TYPE Char 1 KA Xlat
GPCH_SI_PROV_CD Char 6 KA
OPRID Char 30 KA
GPCH_EG_USERKEY Char 2
GPCH_EG_RESPONSEID Char 30
GPCH_REPORT_STATUS Char 4 Xlat
GPCH_EG_COMPLETE Char 1 Y/N 'N'
FILE_DATA_CHAR Long
GPCH_EG_SNT_TIME DT 26
GPCH_EG_RCV_TIME DT 26
GPCH_EG_RESEND Char 1 Y/N 'N'
GPCH_EG_REQID_OLD Char 30
GPCH_EG_RESPID_OLD Char 30
Record: GPCH_EG_PSTA_VW
Description ELM Provider Status View
Record Type SQL View
Parent Record
Related Language
Build Seq 1
Owner ID Global Payroll Switzerland
Comments ELM Provider Status View
FieldName Type Len Key Srch Req Edit Prompt C Default
COMPANY Char 3
GPCH_RC_PAY_YEAR Num 4
GPCH_EG_DOMAINID Num 3
GPCH_EG_REQUEST_ID Char 25
GPCH_EG_REQUEST_ID Char 30
GPCH_SI_PROV_TYPE Char 1 Xlat
GPCH_SI_PROV_CD Char 6
GPCH_EG_TRANS_MODE Char 3 Xlat
FILENAME Char 80
TIME_STAMP DT 26
GPCH_REPORT_STATUS Char 4 Xlat
GPCH_RPT_E_STATUS Char 4
GPCH_EG_RESEND Char 1
GPCH_EG_REQID_OLD Char 30
GPCH_EG_RESPID_OLD Char 30
Record: GPCH_EG_PTOTALS
Description Year End ProviderTotals
Record Type SQL Table
Parent Record
Related Language
DDL Space Name GPAPP.PSHRDMOP
Owner ID Global Payroll Switzerland
Comments Stores Provider total data for each functional type per year per com
pany.
FieldName Type Len Key Srch Req Edit Prompt C Default
COMPANY Char 3 KA
GPCH_RC_PAY_YEAR Num 4 KA
GPCH_EG_DOMAINID Num 3 KA
GPCH_EG_REQUEST_ID Char 25 KA
GPCH_EG_REQUEST_ID Char 30 KA
GPCH_SI_PROV_TYPE Char 1 KA Xlat
GPCH_SI_PROV_CD Char 6 KA
GPCH_EG_USERKEY Char 2
GPCH_EG_CMP_XML Long
Record: GPCH_IF_TX07_VW
Description GPCH_IF_TX07
Record Type SQL View
Parent Record
Related Language
Build Seq 1
Owner ID Global Payroll Switzerland
Comments
Stores the LAW XML
FieldName Type Len Key Srch Req Edit Prompt C Default
EMPLID Char 11 KALS Req
EMPL_RCD Num 3 KALS
BEGIN_DT Date 10 KALS Req %Date
END_DT Date 10 KALS Req %Date
COMPANY Char 3 KALS Req Prmt COMPANY_TBL
GPCH_EG_DOMAINID Num 3
GPCH_IF_VER Num 3 KALS Req '1'
LOCATION Char 10
DEPTID Char 10
GP_PAYGROUP Char 10
PAY_ENTITY Char 10
GPCH_TX_CANTON Char 2
NAME Char 50
GPCH_AL_PAGE_NUM Num 4
GPCH_IF_STATUS Char 1 Req Xlat 'O'
GPCH_RP_SRC_IND Char 1 Req Xlat 'U'
GPCH_RP_TX7_DATA Long
GPCH_RP_PRINT_FL Char 1
Record: GPCH_PK_DAT_DTL
Description Pension Fund Data
Record Type SQL Table
Parent Record
Related Language
DDL Space Name GPAPP.PSHRDMOP
Owner ID Global Payroll Switzerland
Comments Pension Fund Data
FieldName Type Len Key Srch Req Edit Prompt C Default
EMPLID Char 11 KALS Req Prmt PERSONAL_DATA
EMPL_RCD Num 3 KA
EFFDT Date 10 KD Req
GPCH_SI_PROV_TYPE Char 1 KA Xlat '6'
GPCH_SI_PROV_CD Char 6 KALS Req Prmt GPCH_SI_PRV_VW1
GPCH_PK_INS_PLAN Char 2 KA Prmt GPCH_PK_PLANS
GPCH_PK_INS_STATUS Char 8 KA Prmt GPCH_PK_STATUS
GPCH_PK_STATUS Char 1 Xlat
GROUP_LIST_ID Char 10 Prmt GP_GRP_LIST
GPCH_PK_ID_INS Char 11
GPCH_PK_ID_ALT Num 9
GPCH_PK_EXIT_DATE Date 10
GPCH_PK_SALARY Num 12.6
GPCH_PK_SALARY Num 12.2
CURRENCY_CD Char 3 Prmt CURRENCY_CD_TBL 'CHF'
Record: GPCH_RP_AL10ONL
Description Online Payslip
Record Type SQL Table
Parent Record
Related Language
DDL Space Name HRAPP.PSHRDMOH
Owner ID Global Payroll Switzerland
Comments Online Payslip staging record
FieldName Type Len Key Srch Req Edit Prompt C Default
EMPLID Char 11 KALS
CAL_RUN_ID Char 18 KA
EMPL_RCD Num 3 KALS
GPCH_RP_SEQUENCE Num 8 KA
PAY_ENTITY Char 10 KA
DEPTID Char 10
COMPANY Char 3
GPCH_AL_CPAY_ENDDT Date 10 KALS
GPCH_RC_FINAL_PR Char 1
GPCH_AL_AL01_PRINT Char 1
GPCH_AL_AL01_ADDR Char 2 Xlat
ADDRESS_TYPE Char 4 Prmt ADDRESS_TYP_TBL 'HOME'
GP_CALC_TS DT 26
GPCH_RP_AL1_DATA Long
Record: GPCH_RP_SI07_VW
Description Temporary Table SI07
Record Type SQL View
Parent Record
Related Language
Build Seq 1
Owner ID Global Payroll Switzerland
Comments
Temporary Table SI07
FieldName Type Len Key Srch Req Edit Prompt C Default
EMPLID Char 11 KALS Req Prmt PERSON
CAL_RUN_ID Char 18 KA
EMPL_RCD Num 3 KA
GP_PAYGROUP Char 10 KA
CAL_ID Char 18 KA
ORIG_CAL_RUN_ID Char 18 KA
RSLT_SEG_NUM Num 4 KA
SLICE_END_DT Date 10 KA
GPCH_TX_UV_PROV_CD Char 6 KA
GPCH_TX_UV_STATUS Char 1 KA Xlat
GPCH_SI_COV_UV Char 1 KA Xlat
SLICE_BGN_DT Date 10
PAY_ENTITY Char 10
COMPANY Char 3 L Req Prmt COMPANY_TBL
PRD_END_DT Date 10
GPCH_AL_CPAY_ENDDT Date 10
GPCH_RP_YEAR Date 10
BEGIN_DT Date 10
END_DT Date 10
FULL_PART_TIME Char 1 Xlat
SEX Char 1 Xlat
GPCH_RP_AMOUNT1 Sign 12.6
GPCH_RP_AMOUNT2 Sign 12.6
GPCH_RP_AMOUNT3 Sign 12.6
STATUS Char 1 Xlat
GPCH_RP_AMOUNT4 Sign 12.6
GPCH_RP_AMOUNT6 Sign 12.6
GPCH_RP_SEQUENCE Num 8
Record: GPCH_SIAL2_NRVW
Description Additional Insurance Table
Record Type SQL View
Parent Record GPCH_SI_ADDTNL1
Related Language
Build Seq 1
Owner ID Global Payroll Switzerland
Comments Additional Insurance Table
FieldName Type Len Key Srch Req Edit Prompt C Default
COMPANY Char 3 KALS Req Prmt COMPANY_TBL
GPCH_SI_PROV_TYPE Char 1 KALS Req Prmt GPCH_SI_ADDTNL1
EFFDT Date 10 KD Req
GPCH_SI_TYPE_ID Char 3 KALS Req Xlat
GPCH_SI_ALT_ID Char 2 KALS Req Xlat
GPCH_SI_ALT_ID Char 8 KALS Req Xlat
GPCH_RATE_M Num 3.4
GPCH_RATE_F Num 3.4
GPCH_RATE2_M Num 4.2
GPCH_RATE2_F Num 4.2
GPCH_LOW_SALARY Num 7.2
GPCH_HIGH_SALARY Num 7.2
CURRENCY_CD Char 3 Prmt CURRENCY_CD_TBL 'CHF'
GPCH_PIN_NUM Num 8 Prmt GP_PIN_ER0_VW
GPCH_PIN_NUM01 Num 8 Prmt GP_PIN_ER0_VW
GPCH_PIN_NUM02 Num 8 Prmt GP_PIN_ER0_VW
GPCH_PIN_NUM03 Num 8
GPCH_PIN_NUM04 Num 8
GPCH_PIN_NUM05 Num 8
GPCH_PIN_NUM06 Num 8
GPCH_PIN_NUM07 Num 8
GPCH_PIN_NUM08 Num 8
Record: GPCH_SI_ADD2_VW
Description Additional Insurance View
Record Type SQL View
Parent Record GPCH_SI_ADDTNL1
Related Language
Build Seq 1
Owner ID Global Payroll Switzerland
Comments Additional Insurance View
FieldName Type Len Key Srch Req Edit Prompt C Default
COMPANY Char 3 KALS Req Prmt COMPANY_TBL
GPCH_SI_PROV_TYPE Char 1 KALS Req Prmt GPCH_SI_ADDTNL1
EFFDT Date 10 KD Req
GPCH_SI_TYPE_ID Char 3 KAL Req Xlat
GPCH_SI_ALT_ID Char 2 KAL Xlat
GPCH_SI_ALT_ID Char 8 KAL Xlat
GPCH_ZV_DFLT_GRP Char 1
GPCH_ZV_DFLT_SPLIT Char 3
Record: GPCH_SI_ADDL_VW
Description Additional Insurance View
Record Type SQL View
Parent Record
Related Language
Build Seq 1
Owner ID Global Payroll Switzerland
Comments Additional Insurance View
FieldName Type Len Key Srch Req Edit Prompt C Default
EMPLID Char 11 KA
EMPL_RCD Num 3 KA
EFFDT Date 10 KD %date
COMPANY Char 3 KA
GPCH_SI_PROV_TYPE Char 1 KA Xlat
GPCH_SI_TYPE_ID Char 3 Xlat
GPCH_SI_ALT_ID Char 2 Xlat
GPCH_SI_ALT_ID Char 8 Xlat
AMOUNT Sign 15.3
CURRENCY_CD Char 3
GPCH_RATE_M Num 3.4
GPCH_RATE_F Num 3.4
GPCH_RATE2_M Num 4.2
GPCH_RATE2_F Num 4.2
GPCH_LOW_SALARY Num 7.2
GPCH_HIGH_SALARY Num 7.2
GPCH_PIN_NUM Num 8
GPCH_PIN_NUM01 Num 8
GPCH_PIN_NUM02 Num 8
GPCH_PIN_NUM03 Num 8
GPCH_PIN_NUM04 Num 8
GPCH_PIN_NUM05 Num 8
GPCH_PIN_NUM06 Num 8
GPCH_PIN_NUM07 Num 8
GPCH_PIN_NUM08 Num 8
GPCH_PREM_AN_M_PCT Num 3.4
GPCH_PREM_AN_F_PCT Num 3.4
GPCH_PREM_PERS_M Num 3.4
GPCH_PREM_PERS_F Num 3.4
GPCH_PROPOSE Char 1 Xlat
GPCH_PREMIUM_MIN Num 3.2
GRADE Char 3
Record: GPCH_SI_ADDTNL2
Description Additional Insurance Table
Record Type SQL Table
Parent Record GPCH_SI_ADDTNL1
Related Language
DDL Space Name GPAPP.PSHRDMOP
Owner ID Global Payroll Switzerland
Comments Additional Insurance Table
FieldName Type Len Key Srch Req Edit Prompt C Default
COMPANY Char 3 KALS Req Prmt COMPANY_TBL
GPCH_SI_PROV_TYPE Char 1 KALS Req Prmt GPCH_SI_ADDTNL1
EFFDT Date 10 KD Req
GPCH_SI_TYPE_ID Char 3 KALS Req Xlat
GPCH_SI_ALT_ID Char 2 KALS Req Xlat
GPCH_SI_ALT_ID Char 8 KALS Req Xlat
GPCH_RATE_M Num 3.4
GPCH_RATE_F Num 3.4
GPCH_RATE2_M Num 4.2
GPCH_RATE2_F Num 4.2
GPCH_LOW_SALARY Num 7.2
GPCH_HIGH_SALARY Num 7.2
CURRENCY_CD Char 3 Prmt CURRENCY_CD_TBL 'CHF'
GPCH_PIN_NUM Num 8 Prmt GP_PIN_ER0_VW
GPCH_PIN_NUM01 Num 8 Prmt GP_PIN_ER0_VW
GPCH_PIN_NUM02 Num 8 Prmt GP_PIN_AC0_VW
GPCH_PIN_NUM03 Num 8
GPCH_PIN_NUM04 Num 8
GPCH_PIN_NUM05 Num 8
GPCH_PIN_NUM06 Num 8
GPCH_PIN_NUM07 Num 8
GPCH_PIN_NUM08 Num 8
GPCH_ZV_DFLT_GRP Char 1
GPCH_ZV_DFLT_SPLIT Char 3 Prmt GPCH_SI_GRD_VW
Record: GPCH_SI_ADSP_VW
Description Additional Insurance View
Record Type SQL View
Parent Record
Related Language
Build Seq 1
Owner ID Global Payroll Switzerland
Comments Additional Insurance View
FieldName Type Len Key Srch Req Edit Prompt C Default
COMPANY Char 3 KA
GPCH_SI_PROV_TYPE Char 1 KA Xlat
EFFDT Date 10 KD %date
GPCH_SI_TYPE_ID Char 3 KA Xlat
GPCH_SI_ALT_ID Char 2 KA Xlat
GPCH_SI_ALT_ID Char 8 KA Xlat
CURRENCY_CD Char 3
GPCH_RATE_M Num 3.4
GPCH_RATE_F Num 3.4
GPCH_RATE2_M Num 4.2
GPCH_RATE2_F Num 4.2
GPCH_LOW_SALARY Num 7.2
GPCH_HIGH_SALARY Num 7.2
GPCH_PIN_NUM Num 8
GPCH_PIN_NUM01 Num 8
GPCH_PIN_NUM02 Num 8
GPCH_PIN_NUM03 Num 8
GPCH_PIN_NUM04 Num 8
GPCH_PIN_NUM05 Num 8
GPCH_PIN_NUM06 Num 8
GPCH_PIN_NUM07 Num 8
GPCH_PIN_NUM08 Num 8
GRADE Char 3
GPCH_PREM_AN_M_PCT Num 3.4
GPCH_PREM_AN_F_PCT Num 3.4
GPCH_PREM_PERS_M Num 3.4
GPCH_PREM_PERS_F Num 3.4
GPCH_PROPOSE Char 1 Xlat
GPCH_PREMIUM_MIN Num 3.2
Record: GPCH_SI_SPL1_VW
Description View to prompt valid entries
Record Type SQL View
Parent Record
Related Language
Build Seq 1
Owner ID Global Payroll Switzerland
Comments View to prompt valid entries for EE's ,Company and Grade
FieldName Type Len Key Srch Req Edit Prompt C Default
EMPLID Char 11 KA S
COMPANY Char 3 KA S
GPCH_SI_TYPE_ID Char 3 KALS Xlat
GPCH_SI_ALT_ID Char 2 KALS Xlat
GPCH_SI_ALT_ID Char 8 KALS Xlat
DESCR2 Char 30
GPCH_SI_PROV_TYPE Char 1 L Xlat
Record: GPCH_SI_SPL2_VW
Description View to prompt valid entries
Record Type SQL View
Parent Record
Related Language
Build Seq 1
Owner ID Global Payroll Switzerland
Comments View to prompt valid entries for EE's ,Company and Grade
FieldName Type Len Key Srch Req Edit Prompt C Default
EMPLID Char 11 KA S
COMPANY Char 3 KA S
GPCH_SI_TYPE_ID Char 3 KALS Xlat
GPCH_SI_ALT_ID Char 2 KALS Xlat
GPCH_SI_ALT_ID Char 8 KALS Xlat
GPCH_SI_PROV_TYPE Char 1 KALS Xlat
DESCR Char 30 L
Record: GPCH_SI_SPLIT
Description Social Security Split
Record Type SQL Table
Parent Record GPCH_SI_ADDTNL2
Related Language
DDL Space Name GPAPP.PSHRDMOP
Owner ID Global Payroll Switzerland
Comments Social Security Split
FieldName Type Len Key Srch Req Edit Prompt C Default
COMPANY Char 3 KALS Req Prmt COMPANY_TBL
GPCH_SI_PROV_TYPE Char 1 KALS Req Prmt GPCH_SI_ADDTNL1
EFFDT Date 10 KD Req
GPCH_SI_TYPE_ID Char 3 KALS Req Xlat
GPCH_SI_ALT_ID Char 2 KA Req Xlat
GPCH_SI_ALT_ID Char 8 KA Req Xlat
GRADE Char 3 KA Req Prmt GPCH_SI_GRD_VW
GPCH_PREM_AN_M_PCT Num 3.4
GPCH_PREM_AN_F_PCT Num 3.4
GPCH_PREM_PERS_M Num 3.4
GPCH_PREM_PERS_F Num 3.4
GPCH_PROPOSE Char 1 Req Xlat
GPCH_PREMIUM_MIN Num 3.2
GPCH_CALCULATE Char 1 Xlat
Record: GPCH_SI_SPLT_VW
Description View to prompt valid entries
Record Type SQL View
Parent Record
Related Language
Build Seq 1
Owner ID Global Payroll Switzerland
Comments View to prompt valid entries for EE's ,Company and Grade
FieldName Type Len Key Srch Req Edit Prompt C Default
EMPLID Char 11 KA S
COMPANY Char 3 KA S
GPCH_SI_TYPE_ID Char 3 KALS Xlat
DESCR1 Char 30 AAL
GPCH_SI_ALT_ID Char 2 L Xlat
GPCH_SI_ALT_ID Char 8 L Xlat
GPCH_SI_PROV_TYPE Char 1 L Xlat
Record: GPCH_SI_VARIAN2
Description Social Insurance Table
Record Type SQL Table
Parent Record GPCH_SI_VARIAN1
Related Language
DDL Space Name GPAPP.PSHRDMOP
Owner ID Global Payroll Switzerland
Comments Social Insurance Table
FieldName Type Len Key Srch Req Edit Prompt C Default
EMPLID Char 11 KALS Req
EMPL_RCD Num 3 KALS
EFFDT Date 10 KD Req
GPCH_SI_VARIAN1.EFFDT
GPCH_SI_TYPE_ID Char 3 KA Req Xlat
GPCH_SI_ALT_ID Char 2 KA Req Xlat
GPCH_SI_ALT_ID Char 8 KA Req Xlat
GPCH_SI_PROV_TYPE Char 1 Req Xlat
STATUS Char 1 Req Xlat 'A'
GPCH_CALCULATE Char 1 Xlat 'A'
AMOUNT Sign 15.3
CURRENCY_CD Char 3 Prmt CURRENCY_CD_TBL 'CHF'
Record: GPCH_TX_MNPL_VW
Description GPCH_TX_MNPL_VW
Record Type SQL View
Parent Record
Related Language
Build Seq 1
Owner ID Global Payroll Switzerland
Comments GPCH_TX_MNPL_VW
FieldName Type Len Key Srch Req Edit Prompt C Default
GPCH_TX_CANTON Char 2 KALS
GPCH_TX_CANTON Char 2 AAL Req
CITY Char 30 L
GPCH_TX_VILLAGE_CD Char 4 KALS Req Prmt GPCH_TX_MNPL_VW
DESCR Char 30 AAL Req
Record: GPCH_XP_EMPLID
Description EMPLID Subselection Record
Record Type SQL Table
Parent Record GPCH_EG_FSTATUS
Related Language
DDL Space Name GPAPP.PSHRDMOP
Owner ID Global Payroll Switzerland
Comments EMPLID subselection for XMLP .
FieldName Type Len Key Srch Req Edit Prompt C Default
COMPANY Char 3 KA
GPCH_RC_PAY_YEAR Num 4 KA
GPCH_EG_DOMAINID Num 3 KA
GPCH_EG_REQUEST_ID Char 25 KA
GPCH_EG_REQUEST_ID Char 30 KA
EMPLID Char 11 KA Prmt PERS_SRCH_GBL
Record: GPES_ADLNJOB_VW
Description Adv/Loan Job data status
Record Type SQL View
Parent Record
Related Language
Build Seq 2
Owner ID Global Payroll Spain
Comments
This view returns the employees job rows along with the status
FieldName Type Len Key Srch Req Edit Prompt C Default
EMPLID Char 11 KALS Prmt PERSON
EMPL_RCD Num 3 KALS
EFFDT_NEW Date 10
HR_STATUS Char 1
Record: GPES_ADLNREM_VW
Description Adv/Loan Rem. total repayments
Record Type SQL View
Parent Record
Related Language
Build Seq 2
Owner ID Global Payroll Spain
Comments Sums all the remaining repayments by emplid, type ( Advance or Loan)
and currency code.
This is used at termination time to deduct all the employee pending
repayments from the termination payment.
FieldName Type Len Key Srch Req Edit Prompt C Default
EMPLID Char 11 KALS Prmt PERSON
SEQNUM Num 3
GPES_ADVLOAN_OPT Char 1 Req Xlat
GPES_PYMNT_DT Date 10
GPES_DED_BEG_DT Date 10
CURRENCY_CD Char 3
GPES_ADLN_AMT Num 8.2 Y Curr: CURRENCY_CD
GPES_DED_AMT Num 8.2 Y Curr: CURRENCY_CD
EFFDT_NEW Date 10
HR_STATUS Char 1
Record: GPES_ADLNSEQ_VW
Description Adv/Loan total repaid amount
Record Type SQL View
Parent Record
Related Language
Build Seq 2
Owner ID Global Payroll Spain
Comments
Retrieves all repayments that have been deducted for a sequence numb
er
FieldName Type Len Key Srch Req Edit Prompt C Default
EMPLID Char 11 KALS Prmt PERSON
SEQNUM Num 3 KA
GPES_DED_AMT Num 8.2 Y Curr: CURRENCY_CD
Record: GPES_ANT_AUS_VW
Description Absences that affect seniority
Record Type SQL View
Parent Record
Related Language
Build Seq 1
Owner ID Global Payroll Spain
Comments Retrieves begin and end dates for employee absences that affects sen
iority years.
Its affect seniority by subtracting the number of days between both
dates from the seniority years. This operation is done for all the
returned rows. At the end the result will be seniority years less th
e summ off all days between begin and end date of each row.
FieldName Type Len Key Srch Req Edit Prompt C Default
EMPLID Char 11 KALS
EMPL_RCD Num 3 KA
BGN_DT Date 10 KA
PIN_TAKE_NUM Num 8 KA
END_DT Date 10 KA
EFFDT Date 10 KD %date
EFF_STATUS Char 1 Xlat
Record: GPES_CC_EE_DTA
Description CC Employee Data
Record Type SQL Table
Parent Record
Related Language
DDL Space Name GPAPP.PSHRDMOP
Owner ID Global Payroll Spain
Comments Company Certificate Employee Data.
Used for Reporting.
FieldName Type Len Key Srch Req Edit Prompt C Default
OPRID Char 30 KA
RUN_CNTL_ID Char 30 KA
EMPLID Char 11 KALS
EFFDT Date 10 KD %date
SSN_EMPLOYER Char 13 KALS Prmt GPES_CCC_VW
EMPL_RCD Num 3
GPES_SCHEME_CCC Char 15
RESPONSIBLE_ID Char 11 Prmt PERSON
JOBCODE_DESCR Char 30
COMPANY Char 3
NATIONAL_ID Char 20
SOC_SEC_WRK_GRP_CD Char 2
CONTRACT_TYPE Char 3
HIRE_DT Date 10
TERMINATION_DT Date 10
TERMINATION_REASON Char 3
GPES_LITIG_DAYS Char 5 '00000'
GPES_LITIG_BGN_DT Date 10
GPES_LITIG_END_DT Date 10
GPES_VACTN_DAYS Char 3
GPES_VACTN_BS_CC Char 9
GPES_VACTN_BS_CP Char 9
GPES_CNT_DURATION Char 5
GPES_CNT_FREQ Char 1
GPES_CNO_CODE_8 Char 8
FISCAL_ID_CD Char 10
GPES_WRK_CNCL_FUNC Char 4
GPES_CNCL_PCT Char 4
GPES_ERE_ID Char 9
GPES_ERE_REDN_PCT Char 4
GPES_ERE_SUS_ENDDT Date 10
GPES_REDN_PCT_OTH Char 4
GPES_REDN_RSN Char 2
Record: GPES_CC_PT_DAYS
Description CC Part Time Distribution Schd
Record Type SQL Table
Parent Record
Related Language
DDL Space Name GPAPP.PSHRDMOP
Owner ID Global Payroll Spain
Comments Company Certificate Distribution Schedule for Part Time employees.
Used only for Reporting.
FieldName Type Len Key Srch Req Edit Prompt C Default
OPRID Char 30 KA
RUN_CNTL_ID Char 30 KA
EMPLID Char 11 KALS
EFFDT Date 10 KD %date
SSN_EMPLOYER Char 13 KALS
GPES_PT_BGN_DT Date 10 KA
EMPL_RCD Num 3
GPES_PT_END_DT Date 10
GPES_PT_SCHD_TYPE Char 1
GPES_PT_WRKED_DAYS Char 5
Record: GPES_CC_XCCC_VW
Description Comp Certif CCC Data VW ESP
Record Type SQL View
Parent Record
Related Language
Build Seq 2
Owner ID Global Payroll Spain
Comments Company Certificate CCC Data.
FieldName Type Len Key Srch Req Edit Prompt C Default
OPRID Char 30 KA
RUN_CNTL_ID Char 30 KA
SSN_EMPLOYER Char 13 KALS
GPES_SCHEME_CCC Char 15
RESPONSIBLE_ID Char 11
JOBCODE_DESCR Char 30
FIRST_NAME Char 30
LAST_NAME Char 30
SECOND_LAST_NAME Char 30
FISCAL_ID_CD Char 10
NATIONAL_ID Char 20
Record: GPES_CC_XEE_VW
Description Comp Certif EE Data VW ESP
Record Type SQL View
Parent Record
Related Language
Build Seq 1
Owner ID Global Payroll Spain
Comments Company Certificate Employee Data.
FieldName Type Len Key Srch Req Edit Prompt C Default
OPRID Char 30 KA
RUN_CNTL_ID Char 30 KA
SSN_EMPLOYER Char 13 KALS
EMPLID Char 11 KALS
EFFDT Date 10 KD %date
Record: GPFR_AF_ATR_IMP
Description Attribute Import Record
Record Type SQL Table
Parent Record
Related Language GPFR_AF_IMP_LNG
DDL Space Name GPAPP.PSHRDMOP
Owner ID Global Payroll France
Comments Application Framework - This record is a copy GPFR_AF_ATTR record. U
sed for data upgrading into the GPFR_AF_ATTR record.
FieldName Type Len Key Srch Req Edit Prompt C Default
COUNTRY Char 3 KALS Req
GPFR_AF_APPL Char 10 KALS Req
GPFR_AF_KEY_NODE Num 8 KALS Req
GPFR_AF_KEY_ATTR Num 8 KALS Req '99999999'
GPFR_AF_ATTR_NAME Char 12 AAL Req
GPFR_AF_ATTR_STAT Char 1 Req Xlat 'A'
GPFR_AF_ATTR_SEQ Num 4 Req
DESCR60 Char 60 Req
GPFR_AF_ATTR_TYPE Char 1 Xlat
GPFR_AF_ATR_LENGTH Num 3
GPFR_AF_ATR_DECIML Num 2
GPFR_AF_MANDATORY Char 1 Y/N 'N'
GPFR_AF_ATR_LBLSRC Char 4 Xlat
GPFR_AF_CODE_ID Char 12
GPFR_AF_PROMPT Char 15
GPFR_DA_DATTYP Char 10
GPFR_AF_PR_LBL_FLD Char 18
GPFR_AF_PR_KEY_FLD Char 18
GPFR_AF_ATTR_FIELD Char 18
GPFR_AF_PS_DON Char 16
GPFR_AF_CUST_DON Char 16
GPFR_AF_RPT_ONLY Char 1 Y/N 'N'
COMMENTS Long
GPFR_AF_OWNER Char 1 Xlat
Record: GPFR_AF_ATR_PRM
Description Attribute Parameter Record
Record Type SQL Table
Parent Record
Related Language
DDL Space Name PSIMAGE.PSHRDMO
Owner ID Global Payroll France
Comments Application Framework - This record stores the overriden parameters
of an attribute along with the overriden values.
FieldName Type Len Key Srch Req Edit Prompt C Default
COUNTRY Char 3 KALS Req Prmt COUNTRY_TBL
GPFR_AF_APPL Char 10 KALS Req Prmt GPFR_AF_APPL
GPFR_AF_KEY_NODE Num 8 KA Req
GPFR_AF_KEY_ATTR Num 8 KA Req
GPFR_AF_DON Char 16 KA Req
GPFR_AF_SQL_SEQ Num 8 KA Req
GPFR_AF_PARM_SEQ Num 8 KA Req
GPFR_AF_FUNCT_NM Char 16
GPFR_AF_PARM_NM Char 20
GPFR_AF_DON_SRCTYP Char 3 Req Xlat 'SYS'
GPFR_AF_CODE_ID Char 12 Prmt GPFR_AF_MPCD_VW
GPFR_AF_INPUT_FLD Char 18 Prmt GPFR_AF_ENT_DVW
GPFR_AF_DATE_VAL Date 10
GPFR_AF_CHAR_VAL Char 50
GPFR_AF_NUM_VAL Sign 12.6
GPFR_AF_SQL_VAL Long
GPFR_AF_OWNER Char 1 Xlat
Record: GPFR_AF_ATTR
Description Attribute Record
Record Type SQL Table
Parent Record
Related Language GPFR_AF_ATR_LNG
DDL Space Name GPAPP.PSHRDMOP
Owner ID Global Payroll France
Comments Application Framework - This is the base Attribute Record. This reco
rd Stores all the attributes along with their properties.
FieldName Type Len Key Srch Req Edit Prompt C Default
COUNTRY Char 3 KALS Req Prmt COUNTRY_TBL
GPFR_AF_APPL Char 10 KALS Req Prmt GPFR_AF_APPL
GPFR_AF_KEY_NODE Num 8 KALS Req Prmt GPFR_AF_NODE
GPFR_AF_KEY_ATTR Num 8 KALS Req '99999999'
GPFR_AF_ATTR_NAME Char 12 AAL Req
GPFR_AF_ATTR_STAT Char 1 Req Xlat 'A'
GPFR_AF_ATTR_SEQ Num 4 Req
DESCR60 Char 60 Req
GPFR_AF_ATTR_TYPE Char 1 Xlat
GPFR_AF_ATR_LENGTH Num 3
GPFR_AF_ATR_DECIML Num 2
GPFR_AF_MANDATORY Char 1 Y/N 'N'
GPFR_AF_ATR_LBLSRC Char 4 Xlat
GPFR_AF_CODE_ID Char 12 Prmt GPFR_AF_CODE_VW
GPFR_AF_PROMPT Char 15 Prmt RECDEFN_VW
GPFR_DA_DATTYP Char 10 Prmt GPFR_DA_DATTYP
GPFR_AF_PR_LBL_FLD Char 18 Prmt GPFR_AF_FLD_DVW
GPFR_AF_PR_KEY_FLD Char 18 Prmt GPFR_AF_FLD_DVW
GPFR_AF_ATTR_FIELD Char 18 Prmt GPFR_AF_DBFLDVW
GPFR_AF_PS_DON Char 16 Prmt GPFR_AF_PDON_VW
GPFR_AF_CUST_DON Char 16 Prmt GPFR_AF_CDON_VW
GPFR_AF_RPT_ONLY Char 1 Y/N 'N'
COMMENTS Long
GPFR_AF_OWNER Char 1 Xlat
Record: GPFR_AF_EXTR_VW
Description Extraction view
Record Type SQL View
Parent Record GPFR_AF_EXTRACT
Related Language
Build Seq 1
Owner ID Global Payroll France
Comments Application Framework - This view is used in extraction
FieldName Type Len Key Srch Req Edit Prompt C Default
COUNTRY Char 3 KA Req
GPFR_AF_APPL Char 10 KA Req
GPFR_AF_NODE_SET Char 16 KA Req
GPFR_AF_EXTRACT_ID Char 18 KA Req
COMPANY Char 3 KA
EMPLID Char 11 KA
EMPL_RCD Num 3 KA
GPFR_AF_SIT_BGN_DT Date 10 KA
GPFR_AF_SIT_END_DT Date 10 KA
GPFR_AF_KEY_NODE Num 8 KA Req '99999999'
GPFR_AF_KEY_ATTR Num 8 KA Req '99999999'
GPFR_AF_KEY_EXTRCT Char 12 KA
GPFR_AF_NODE_NAME Char 20
GPFR_AF_ATTR_NAME Char 12
GPFR_AF_CHAR_VAL Char 50
GPFR_AF_DATE_VAL Date 10
GPFR_AF_NUM_VAL Sign 12.6
GPFR_AF_RND_NM_VAL Num 12
ESTABID Char 12
GPFR_AF_DON Char 16
GPFR_AF_SQL_SEQ Num 8
GPFR_AF_LVL_1_ORD Num 6
GPFR_AF_LVL_1_VAL Char 50
GPFR_AF_LVL_2_ORD Num 6
GPFR_AF_LVL_2_VAL Char 50
GPFR_AF_LVL_3_ORD Num 6
GPFR_AF_LVL_3_VAL Char 50
GPFR_AF_LVL_4_ORD Num 6
GPFR_AF_LVL_4_VAL Char 50
GPFR_AF_LVL_5_ORD Num 6
GPFR_AF_LVL_5_VAL Char 50
GPFR_AF_LVL_6_ORD Num 6
GPFR_AF_LVL_6_VAL Char 50
GPFR_AF_LVL_7_ORD Num 6
GPFR_AF_LVL_7_VAL Char 50
GPFR_AF_LVL_8_ORD Num 6
GPFR_AF_LVL_8_VAL Char 50
GPFR_AF_LVL_9_ORD Num 6
GPFR_AF_LVL_9_VAL Char 50
GPFR_AF_LVL_10_ORD Num 6
GPFR_AF_LVL_10_VAL Char 50
GPFR_AF_CHECK_DONE Char 1 Y/N 'N'
Record: GPFR_AF_RUN_OTH
Description Define other nodes for extr
Record Type SQL Table
Parent Record
Related Language
DDL Space Name GPAPP.PSHRDMOP
Owner ID Global Payroll France
Comments Application Framework - This record is used to list non levle zero n
odes forwhich extraction is run
FieldName Type Len Key Srch Req Edit Prompt C Default
OPRID Char 30 KA Req
RUN_CNTL_ID Char 30 KA Req
GPFR_AF_EXTRACT_ID Char 18 KA Req
GPFR_AF_ORDER Num 6 KA
GPFR_AF_KEY_NODE Num 8 KA Req
GPFR_AF_SELND_OTH Char 1 Y/N 'Y'
GPFR_AF_RUN_ATTR Char 1
Record: GPFR_AF_SQLENTY
Description SQL Entity Definition
Record Type SQL Table
Parent Record
Related Language GPFR_AF_SQL_LNG
DDL Space Name PSIMAGE.PSHRDMO
Owner ID Global Payroll France
Comments Application Framework - This record is used to define SQL entity for
specific country and application
FieldName Type Len Key Srch Req Edit Prompt C Default
COUNTRY Char 3 KALS Req Prmt COUNTRY_TBL
GPFR_AF_APPL Char 10 KALS Req Prmt GPFR_AF_APPL
GPFR_AF_SQL_ENTITY Char 16 KALS Req
DESCR Char 30 L Req
GPFR_AF_SQL_TYPE Char 1 Req Xlat
GPFR_AF_OUPUT_REC Char 20 Req Prmt GPFR_AF_OREC_VW
GPFR_AF_INPUT_REC Char 20 Req Prmt PSRECDEFN
GPFR_AF_SECIN_REC Char 20 Prmt PSRECDEFN
GPFR_AF_TEMPLT_OVR Char 1 Y/N 'N'
GPFR_AF_SQL_TEMPLT Long
GPFR_AF_OWNER Char 1 Xlat
Record: GPFR_ASS_SRCH
Description Assedic: used as srch record
Record Type SQL View
Parent Record
Related Language
Build Seq 2
Owner ID Global Payroll France
Comments Assedic: used as srch record for the all functionality.
FieldName Type Len Key Srch Req Edit Prompt C Default
OPRID Char 30 KA
ROWSECCLASS Char 30 KA
CAL_RUN_ID Char 18 KALS Prmt GPFR_ASS_SRCH1
EMPLID Char 11 KALS Prmt GPFR_ASS_SRCH5
EMPL_RCD Num 3 KALS
LAST_DATE_WORKED Date 10 KDLS
COMPANY Char 3 AAL Prmt GPFR_ASS_SRCH7
ESTABID Char 12 AAL Prmt GPFR_ASS_SRCH6
NAME Char 50 L
Record: GPFR_AT_RSLT_VW
Description AT/ILL: scrollselect view
Record Type SQL View
Parent Record
Related Language
Build Seq 5
Owner ID Global Payroll France
Comments AT/ILL: scrollselect view. Used as the view to retrieve the employee
s with an absence to take into consideration for data retrieval.
FieldName Type Len Key Srch Req Edit Prompt C Default
GB_GROUP_ID Char 15 KA
EMPLID Char 11 KA
EMPL_RCD Num 3 KA
BGN_DT Date 10 KD
ORIG_BEGIN_DT Date 10 KD
NAME Char 50
PIN_NUM Num 8
END_DT Date 10
GPFR_AT_ID_PRINTED Char 1 Y/N 'N'
GPFR_ABS_FAMILY Char 2 Xlat
ROWSECCLASS Char 30
Record: GPFR_GAR_DEP_VW
Description Garnishment Dependent Counter
Record Type SQL View
Parent Record
Related Language
Build Seq 2
Owner ID Global Payroll France
Comments Counts of dependents and beneficiaries for garnishment
FieldName Type Len Key Srch Req Edit Prompt C Default
EMPLID Char 11 KA Req Prmt PERSON
EFFDT Date 10 KD %date
COUNTER Sign 5
Record: GPFR_GUIDE_VW
Description Payees segm. list for reports
Record Type SQL View
Parent Record
Related Language
Build Seq 1
Owner ID Global Payroll France
Comments Payees segments list for reports
FieldName Type Len Key Srch Req Edit Prompt C Default
EMPLID Char 11 KA
EMPL_RCD Num 3 KA
CAL_RUN_ID Char 18 KA
GP_PAYGROUP Char 10 KA
CAL_ID Char 18 KA
ORIG_CAL_RUN_ID Char 18 KA
RSLT_SEG_NUM Num 4 KA
PYMT_KEY1 Char 25
PYMT_KEY2 Char 25
PYMT_KEY3 Char 25
PYMT_KEY4 Char 25
CALC_ACTION Char 1 Xlat
PRD_TYPE Char 1 Xlat
CURRENCY_CD Char 3
Record: GPFR_RSLT_AC_VW
Description Result view: Accum Current
Record Type SQL View
Parent Record
Related Language
Query Security EMPLMT_SRCH_QRY
Build Seq 2
Owner ID Global Payroll France
Comments Result Table for accumulators. View for the current calculation
FieldName Type Len Key Srch Req Edit Prompt C Default
GPFR_RSLT_SUBR SRec
PIN_NUM Num 8 KA
ACM_PRD_OPTN Char 1 Xlat
SLICE_BGN_DT Date 10 KA
SLICE_END_DT Date 10 KA
CALC_RSLT_VAL Sign 12.6
USER_KEY1 Char 25 KA
USER_KEY2 Char 25 KA
USER_KEY3 Char 25 KA
USER_KEY4 Char 25 KA
USER_KEY5 Char 25
USER_KEY6 Char 25
ACM_FROM_DT Date 10 KA
ACM_THRU_DT Date 10 KA
Record: GPFR_RSLT_AR_VW
Description Result view: Accum Recalc
Record Type SQL View
Parent Record
Related Language
Query Security EMPLMT_SRCH_QRY
Build Seq 2
Owner ID Global Payroll France
Comments Result Table for accumulators. View for the recalculation
FieldName Type Len Key Srch Req Edit Prompt C Default
GPFR_RSLT_SUBR SRec
PIN_NUM Num 8 KA
PIN_NUM Num 8
ACM_PRD_OPTN Char 1 Xlat
SLICE_BGN_DT Date 10 KA
SLICE_END_DT Date 10 KA
SLICE_BGN_DT Date 10
SLICE_END_DT Date 10
CALC_RSLT_VAL Sign 12.6
USER_KEY1 Char 25 KA
USER_KEY2 Char 25 KA
USER_KEY3 Char 25 KA
USER_KEY4 Char 25 KA
USER_KEY1 Char 25
USER_KEY2 Char 25
USER_KEY3 Char 25
USER_KEY4 Char 25
USER_KEY5 Char 25
USER_KEY6 Char 25
ACM_FROM_DT Date 10 KA
ACM_THRU_DT Date 10 KA
ACM_FROM_DT Date 10
ACM_THRU_DT Date 10
Record: GPIN_F16_AK_DTL
Description Form 16 Acknowledgement Detail
Record Type SQL Table
Parent Record
Related Language
DDL Space Name GPAPP.PSHRDMOP
Owner ID Global Payroll India
Comments This Record is to store the Acknowledgement Details for Form 16
FieldName Type Len Key Srch Req Edit Prompt C Default
GPIN_IT_PAN_NBR Char 30 KA
GPIN_IT_TAN_NBR Char 30 KA
GPIN_PERIOD_ID Char 10 KA
GPIN_QUARTER_ID Char 2 KA Req Xlat
GPIN_ACK_NUM Num 15
GPIN_ACK_NUM Char 15
Record: GPJP_YEA_ST_VW
Description Employee YEA Self Serv status
Record Type SQL View
Parent Record
Related Language
Build Seq 1
Owner ID Global Payroll Japan
Comments This record contains the statuses of an Employee YEA Information. nI
t use to populate the YEA Inforamtion main page
FieldName Type Len Key Srch Req Edit Prompt C Default
OPRID Char 30 KA
EMPLID Char 11 KALS
DATE_YEAR_VAL Num 4 KA S
GPJP_YEA_EEPR_STAT Char 3 Xlat
GPJP_YEA_EETX_STAT Char 3 Xlat
GPJP_YEA_DTAX_STAT Char 3 Xlat
GPJP_YEA_LIFE_STAT Char 3 Xlat
GPJP_YEA_NLIF_STAT Char 3 Xlat
GPJP_YEA_SP_STAT Char 3 Xlat
GPJP_YEA_HOUS_STAT Char 3 Xlat
DATETIME_STAMP DT 26
GPJP_TAX_ESTAB Char 15 Prmt GPJP_TAXESIT_VW
PAY_ENTITY Char 10 Prmt GP_PYENT
BUSINESS_UNIT Char 5 Prmt BUS_UNIT_TBL_HR
DEPTID Char 10 Prmt DEPT_TBL
LOCATION Char 10 Prmt LOCATION_TBL
Field Detail
Field: GPCH_EG_REQUEST_ID
Field Type Char
Length 30 25
Format MixedCase
Family Name
Display Name
Owner ID Global Payroll Switzerland
Comments Holds Request ID in the ELM File
Label ID Short Name Long Name Def
REQUEST_ID Request ID Request ID Yes
Field: GPCH_PK_SALARY
Field Type Num
Length 15 19
Decimal Positions 2 6
Format UpperCase
Family Name
Display Name
Owner ID Global Payroll Switzerland
Comments PK Salary
Label ID Short Name Long Name Def
PK_SALARY PK Salary PK Salary Yes
Field: GPCH_SI_ALT_ID
Field Type Char
Length 8 2
Format UpperCase
Family Name
Display Name
Owner ID Global Payroll Switzerland
Comments Insurance Alternative ID
Label ID Short Name Long Name Def
GPCH_SI_ALT_ID Alternative ID Insurance Alternative ID Yes
Field: GPFR_AF_RPT_ONLY
Field Type Char
Length 1
Format UpperCase
Family Name
Display Name
Owner ID Global Payroll France
Comments Field for Report Only Attribute
Label ID Short Name Long Name Def
GPFR_AF_RPT_ONLY Report Only Report Only Attribute Yes
Field: GPIN_ACK_NUM
Field Type Char Num
Length 15
Decimal Positions 0
Format UpperCase
Family Name
Display Name
Owner ID Global Payroll India
Comments This record is used to store the Acknowledgement details of each Qua
rter for Form16
Label ID Short Name Long Name Def
GPIN_ACK_NUM Ack No. Acknowledgement Nbr Yes
Field: GPIN_IT_PAN_NBR
Field Type Char
Length 30
Format UpperCase
Family Name
Display Name
Owner ID Global Payroll India
Comments This Field is created for Establishment ID for Global Payroll Countr
y Estension India. This field captures the Permanent Account Number.
Label ID Short Name Long Name Def
GPIN_IT_PAN_NBR PAN No. Permanent Account Nbr Yes
GPIN_LBL PAN Details PAN Details
Field: GPIN_IT_TAN_NBR
Field Type Char
Length 30
Format UpperCase
Family Name
Display Name
Owner ID Global Payroll India
Comments This Field is created for Establishment ID for Global Payroll Countr
y Estension India. This field captures the Tax Deduction Account Num
ber.
Label ID Short Name Long Name Def
GPIN_IT_TAN_NBR Tax Deduction A Tax Deduction Acc Nbr Yes
GPIN_LBL TAN Details TAN Details
Field: GPIN_PERIOD_ID
Field Type Char
Length 10
Format UpperCase
Family Name
Display Name
Owner ID Global Payroll India
Comments This Field Defines the Period ID for India Specific
Label ID Short Name Long Name Def
GPIN_FISCAL PER_ID Fiscal Period Fiscal Period ID
PERIOD_ID Period ID Period ID Yes
Field: GPIN_QUARTER_ID
Field Type Char
Length 2
Format UpperCase
Family Name
Display Name
Owner ID Global Payroll India
Comments Quater of the Year identifier
Label ID Short Name Long Name Def
QUARTER Quarter Quarter Of Year Yes
Translate Value Detail
Translate Value: GPIN_QUARTER_ID (1900-01-01) 10
Field Name GPIN_QUARTER_ID
Value 10
EffDt 1900-01-01
Status Active
Long Name Q1
Short Name Q1
Translate Value: GPIN_QUARTER_ID (1900-01-01) 20
Field Name GPIN_QUARTER_ID
Value 20
EffDt 1900-01-01
Status Active
Long Name Q2
Short Name Q2
Translate Value: GPIN_QUARTER_ID (1900-01-01) 30
Field Name GPIN_QUARTER_ID
Value 30
EffDt 1900-01-01
Status Active
Long Name Q3
Short Name Q3
Translate Value: GPIN_QUARTER_ID (1900-01-01) 40
Field Name GPIN_QUARTER_ID
Value 40
EffDt 1900-01-01
Status Active
Long Name Q4
Short Name Q4
Translate Value: GPJP_IT_DEP (2011-01-01) 11
Field Name GPJP_IT_DEP
Value 11
EffDt 2011-01-01
Status Active
Long Name Juvenile
Short Name Juvenile
Page Detail
Page: GPFR_AF_ATRPRP_SEC
Description Attribute Property
Type Secondary Page
Allow Deferred Proc. Yes
Owner ID Global Payroll France
Comments Application Framework - This secondary page is used to enter attribu
te properties
Type ID Lvl Record Field Label Attributes
EditBox 1 0 GPFR_AF_ATTR COUNTRY +COUNTRY Gray CtrlFld
EditBox 2 0 COUNTRY_TBL DESCR [None ] Gray Related:1
EditBox 3 0 GPFR_AF_ATTR GPFR_AF_APPL +GPFR_AF_APPL Gray CtrlFld
EditBox 4 0 GPFR_AF_APPL DESCR [None ] Gray Related:3
EditBox 5 0 GPFR_AF_ATTR GPFR_AF_KEY_NODE [None ] Hide CtrlFld
EditBox 6 0 GPFR_AF_NODE GPFR_AF_NODE_NAME +GPFR_AF_NODE_NAME Gray
Related:5
EditBox 7 0 GPFR_AF_NODE DESCR100 [None ] Gray Related:5
EditBox 8 0 GPFR_AF_ATTR GPFR_AF_ATTR_NAME +GPFR_AF_ATTR_NAME Gray
EditBox 9 0 GPFR_AF_ATTR DESCR60 [None ] Gray
EditBox 10 0 GPFR_AF_ATTR GPFR_AF_ATTR_SEQ -GPFR_AF_ATTR_SEQU Gray
GroupBox 11 0 DERIVED_GPFR_AF GPFR_AF_LABELS +GPFR_AF_ATTR_PROP
ComboBox 12 0 GPFR_AF_ATTR GPFR_AF_ATTR_STAT -GPFR_AF_ATTR_STAT noDefrr
XLatShort
ComboBox 13 0 GPFR_AF_ATTR GPFR_AF_ATTR_TYPE -GPFR_AF_ATTR_TYPE noDefrr
XLatShort
EditBox 14 0 GPFR_AF_ATTR GPFR_AF_ATR_LENGTH -GPFR_AF_ATR_LENGTH
EditBox 15 0 GPFR_AF_ATTR GPFR_AF_ATR_DECIML -GPFR_AF_ATR_DECIML Zero
CheckBox 16 0 GPFR_AF_ATTR GPFR_AF_MANDATORY [None ] On:Y Off:N
Label 17 0 'Generate in Final
CheckBox 18 0 GPFR_AF_ATTR GPFR_AF_RPT_ONLY +GPFR_AF_RPT_ONLY On:Y Off:N
GroupBox 19 0 DERIVED_GPFR_AF GPFR_AF_LABELS +GPFR_AF_UPDT_OPTN
ComboBox 20 0 GPFR_AF_ATTR GPFR_AF_ATR_LBLSRC -GPFR_AF_ATR_LBLSRC noDefrr
XLatShort
EditBox 21 0 GPFR_AF_ATTR GPFR_AF_CODE_ID +GPFR_AF_CODE_ID
EditBox 22 0 GPFR_AF_ATTR GPFR_DA_DATTYP +GPFR_DA_DATTYP
EditBox 23 0 GPFR_AF_ATTR GPFR_AF_ATTR_FIELD +GPFR_AF_ATTR_FIELD
EditBox 24 0 GPFR_AF_ATTR GPFR_AF_PROMPT +GPFR_AF_PROMPT
EditBox 25 0 GPFR_AF_ATTR GPFR_AF_PR_LBL_FLD +GPFR_AF_PR_LBL_FLD
EditBox 26 0 GPFR_AF_ATTR GPFR_AF_PR_KEY_FLD +GPFR_AF_PRMT_KEY
EditBox 27 0 GPFR_AF_ATTR COMMENTS +COMMENTS1 SpellChk
Page: GPJP_LA_PYE_RPT1
Description Enrollment information
Type Secondary Page
Allow Deferred Proc. Yes
Owner ID Global Payroll Japan
Comments This secondary page displays Enrollment information
Type ID Lvl Record Field Label Attributes
Label 1 0 [#17271,211]
Label 2 0 [#17271,212]
EditBox 3 0 GPJP_LA_PYE_RPT EMPLID +EMPLID Hide CtrlFld
EditBox 4 0 DERIVED_GPJP GPJP_NUM5 +GPJP_NUM5 Gray
ComboBox 5 0 GPJP_LA_PYE_RPT GPJP_LA_RPT_TYP +GPJP_LA_RPT_TYP Hide XLatShort
EditBox 6 0 GPJP_LA_PYE_RPT EFFDT +EFFDT Hide Century
EditBox 7 0 GPJP_LA_PYE_RPT EMPL_RCD +EMPL_RCD# Hide
EditBox 8 0 DERIVED_GPJP GPJP_EI_NUM +GPJP_EI_NUM Gray
ComboBox 9 0 GPJP_LA_PYE_RPT GPJP_LA_ENROLL_RSN +GPJP_LA_ENROLL_RSN Hide XLatShort
EditBox 10 0 DERIVED_GPJP GPJP_CHAR1_2 +GPJP_CHAR1_2 Gray
EditBox 11 0 PERSONAL_DT_FST NAME +NAME Gray Related:3
EditBox 12 0 PERSONAL_DT_FST NAME_AC +NAME_AC3 Gray Related:3
EditBox 13 0 PERSONAL_DT_FST SEX +SEX1 Hide Related:3
EditBox 14 0 DERIVED_GPJP GPJP_CHAR1_1 +GPJP_CHAR1_1 Gray
EditBox 15 0 PERSONAL_DT_FST BIRTHDATE +BIRTHDATE Hide Related:3
Century
EditBox 16 0 DERIVED_GPJP GPJP_DT_YYYYMMDD1 +GPJP_DT_YYYYMMDD1 Gray
EditBox 17 0 DERIVED_GPJP GPJP_TAX_ESTAB +TAX_INS_LBL Hide
EditBox 18 0 DERIVED_GPJP GPJP_LA_ESTAB_NO +LA_EST_LBL Gray
EditBox 19 0 DERIVED_GPJP GPJP_DT_YYMMDD1 +GPJP_DT_YYMMDD1 Gray
EditBox 20 0 GPJP_LA_PYE_RPT GPJP_LA_ENROLL_RSN +GPJP_LA_ENROLL_RS1 Gray
EditBox 21 0 GPJP_LA_PYE_RPT GPJP_LA_MTH_WAGE +GPJP_LA_MTH_WAGE1 Hide
EditBox 22 0 DERIVED_GPJP GPJP_CHAR6 +GPJP_CHAR6 Gray
EditBox 23 0 DERIVED_GPJP GPJP_CHAR1 +GPJP_LA_EMPL_TYP Gray
EditBox 24 0 DERIVED_GPJP GPJP_CHAR32 +GPJP_CHAR32 Gray
EditBox 25 0 DERIVED_GPJP GPJP_CHAR2_1 +GPJP_CHAR2_1 Gray
EditBox 26 0 DERIVED_GPJP GPJP_CHAR2_2 [None ] Gray
ComboBox 27 0 DERIVED_GPJP GPJP_LA_TRM_CONTR +GPJP_LA_TRM_CONTR Gray XLatLong
EditBox 28 0 GPJP_LA_PYE_RPT GPJP_START_DATE +GPJP_START_DATE1 Gray Century
EditBox 29 0 GPJP_LA_PYE_RPT GPJP_END_DATE -TERM_TO Gray Century
Process Definition Detail
Process Definition: Application Engine UPD850896_A1
Description UPD850896_A1
Long Desc Evaluates each dependent's status and age as of January 1st, 2011, a
nd inserts new effective dated rows into Income Tax Dependent table
if needed.
Priority Medium
API Aware Yes
Definition Options
Server Name
Recurrence
Override Options
Parameter List None
CommandLine None
Working Dir None
Destination Options
Type Any
Format Any
Source User Specified
Folder Name
Output
Component
AE_REQUEST
PRCSMULTI
Process Group
ALLPAGES
Message Catalog Detail
Message Catalog Entry: GP UK - Online 17130, 248
Severity Message
Msg Text One or more required fields has not been entered.
Explanation One of the following fields has not been entered for previous p45 de
tails:
Tax District, Paye Id, Leave Date, Tax Code, Tax Basis, Tax Year End.
Following mandatory fields for P45 Previous Employment details shoul
d be filled:
Tax District, Paye ID, Leave Date, Tax Code.
Message Catalog Entry: GP UK - Online 17130, 253
Severity Error
Msg Text Please Enter Value for Unique ID
Explanation
For P14 Final Run, the Unique ID field must not be blank.
Message Catalog Entry: GP Singapore - Text Messages 17231, 387
Severity Message
Msg Text Log File
Explanation
Log File
Message Catalog Entry: GP Singapore - Text Messages 17231, 388
Severity Message
Msg Text Employees with missing Date Of Birth
Explanation
Employees with missing Date Of Birth
Message Catalog Entry: GP Singapore - Text Messages 17231, 389
Severity Message
Msg Text User ID
Explanation
User ID
Message Catalog Entry: GP Singapore - Text Messages 17231, 390
Severity Message
Msg Text Run Control ID
Explanation
Run Control ID
Message Catalog Entry: GP Singapore - Text Messages 17231, 391
Severity Message
Msg Text Process Instance
Explanation
Process Instance
Message Catalog Entry: GP Singapore - Text Messages 17231, 392
Severity Message
Msg Text Employer's Tax Reference Number
Explanation
Employer's Tax Reference Number
Message Catalog Entry: GP Singapore - Text Messages 17231, 393
Severity Message
Msg Text Date Created
Explanation
Date Created
Message Catalog Entry: GP Singapore - Text Messages 17231, 394
Severity Message
Msg Text Tax Year
Explanation
Tax Year
Message Catalog Entry: Global Payroll India 17410, 49
Severity Warning
Msg Text "Assessee should quote the receipt number. The receipt number shall be
of eight digits (alphabets)"
Explanation
"Assessee should quote the receipt number. The receipt number shall
be of eight digits (alphabets) and will be applicable only for state
ments pertaining to FY 2010-11 and onwards. Eight digit receipt numb
er can be obtained by viewing the status of the quarterly TDS/TCS st
atement at under Quarterly Statement Status feature available at TIN
website (www.tin-nsdl.com)".
Appl Engine (Program) Detail
Appl Engine (Prog): GPCH_AE_INS
Description Identify a new Domain
Disable Restart Yes
Application Library No
ProgType Standard
Batch Only No
Message Set 0
Instance Count 0
TempTable cannot Assign Continue
Date Override No
As of Date 01/01/1900
Owner ID Global Payroll Switzerland
Comments Identify a new Domain
State Record Def
GPCHINS_AET YES
Temp Record
GPCHAEZV1_TMP
GPCHST021_TMP
Appl Engine (Prog): GPCH_AE_TX07
Description Swiss Tax Statement
Disable Restart Yes
Application Library No
ProgType Standard
Batch Only No
Message Set 0
Instance Count 5
TempTable cannot Assign Continue
Date Override No
As of Date 01/01/1900
Owner ID Global Payroll Switzerland
Comments Swiss Tax Statement
State Record Def
GPCHTX07_AET YES
GPCHUTALL_AET
Temp Record
GPCHTX070_TMP
GPCHTX071_TMP
GPCHTX072_TMP
GPCHTX073_TMP
GPCHTX074_TMP
GPCHTX075_TMP
GPCHTX076_TMP
GPCHTX077_TMP
GPCHTX078_TMP
GPCHTX07A_TMP
GPCHTX710_TMP
GPCHUT011_TMP
GPCHUT012_TMP
GPCHUT013_TMP
GPCHUT014_TMP
GPCHUT071_TMP
GPCHUT072_TMP
GPCHUT081_TMP
GPCHUT082_TMP
Appl Engine (Prog): GPCH_BK_TRN
Description Swiss Banking Process
Disable Restart Yes
Application Library No
ProgType Standard
Batch Only No
Message Set 0
Instance Count 0
TempTable cannot Assign Continue
Date Override No
As of Date 01/01/1900
Owner ID Global Payroll Switzerland
Comments This program performs the Swiss localization banking process of gene
rating payment entries for all payment types for a given CAL RUN ID.
State Record Def
GPCH_BK_TRN_AET YES
Temp Record
GPCH_BK_PMTYP
GPCH_BK_TMP1
GPCH_SRC_BNK
Appl Engine (Prog): GPFR_AF_AE
Description Extract Appln Frame Work Data
Disable Restart Yes
Application Library No
ProgType Standard
Batch Only No
Message Set 0
Instance Count 3
TempTable cannot Assign Continue
Date Override No
As of Date 01/01/1900
Owner ID Global Payroll France
Comments Application Framework -
This application engine is used to Process the data defined for an a
pplication of Application Framework. The purpose of this application
engine is to process the nodes and attribute defined/selected for t
he given extraction ID.
Once the attribute is known for processing the control then moves to
DON, the respective functions and parameters are added in the Appli
cation framework object. The associated SQL template is then refined
(all the contained function and parameter [%PARM.FUNCTION.PARMNAME]
is replaced) and then executed.
State Record Def
GPFR_AF_EXT_AET YES
Temp Record
GPFR_AFND_TMP
GPFR_AFTR_TMP
Appl Engine (Prog): UPD850896_A1
Description Insert Income Tax Dependents
Disable Restart No
Application Library No
ProgType Standard
Batch Only No
Message Set 0
Instance Count 0
TempTable cannot Assign Continue
Date Override No
As of Date 01/01/1900
Owner ID Global Payroll Japan
Comments Evaluates each dependent's status and age as of January 1st, 2011, a
nd inserts new effective dated rows into Income Tax Dependent table
if needed.
State Record Def
Appl Engine (Section) Detail
Appl Engine (Section): GPFR_AF_AE DBPARM
Description Add DB Param - DB2
Market GBL
DataBase DB2
EffDt 01/01/1900
Effective Status Active
Section Type Prepare Only
Auto Commit No
Step/Action Description Attributes
[Step01 ]
[PeopleCode ]
Description Add DB Param - Oracle
Market GBL
DataBase Oracle
EffDt 01/01/1900
Effective Status Active
Section Type Prepare Only
Auto Commit No
Comment This section loads the database specific function and parameter into
the instance of a class.
Ex:
&frameworkAE.AddParamChar("DATABASE", "ORACLE", " ");
&frameworkAE.AddParamChar("DATABASE", "SQL", "TOP");
Step/Action Description Attributes
[Step10 ] Assign the DB Parm - Oracle
[PeopleCode ]
Description Add DB Param - DB2
Market GBL
DataBase DB2/Unix
EffDt 01/01/1900
Effective Status Active
Section Type Prepare Only
Auto Commit No
Step/Action Description Attributes
[Step01 ]
[PeopleCode ]
Description Add DB Param - Microsoft
Market GBL
DataBase SQL Server
EffDt 01/01/1900
Effective Status Active
Section Type Prepare Only
Auto Commit No
Comment This section loads the database specific function and parameter into
the instance of a class.
Ex:
&frameworkAE.AddParamChar("DATABASE", "ORACLE", "ROWNUM");
&frameworkAE.AddParamChar("DATABASE", "SQL", "");
Step/Action Description Attributes
[Step10 ] Assign the DB Parm - MS
[PeopleCode ]
Appl Engine (Section): GPGB_EDI_P14 P14All
Description Select All Employees
Market GBL
DataBase Default
EffDt 01/01/1900
Effective Status Active
Section Type Prepare Only
Auto Commit No
Step/Action Description Attributes
[Step01 ] Select more than one Emplid
[Call Section] Section: GPGB_EDI_P14.P14Cust
[Do Select ] Type: Select/Fetch
[Do Select ] Type: Select/Fetch ReUse
Appl Engine (Section): GPGB_EDI_P14 P14AllA
Description Select All Empids Amended Ret
Market GBL
DataBase Default
EffDt 01/01/1900
Effective Status Active
Section Type Prepare Only
Auto Commit No
Step/Action Description Attributes
[Step01 ]
[Call Section] Section: GPGB_EDI_P14.P14Cust
[Do Select ] Type: Select/Fetch
[Do Select ] Type: Select/Fetch ReUse
Appl Engine (Section): GPGB_EDI_P14 P14Foot
Description P14 Footer Details
Market GBL
DataBase Default
EffDt 01/01/1900
Effective Status Active
Section Type Prepare Only
Auto Commit No
Step/Action Description Attributes
[UNS2 ] UNS2 - Seperator
[PeopleCode ]
[GetPEQs ] Get Pay Entity Level values
[SQL ]
[SQL ] ReUse
[ChkPEQs ] Check Pay Entity level Values
[PeopleCode ]
[TAX2.1 ] Qualifier for tot of EE+ER NI
[PeopleCode ]
[MOA2.1 ] TOT of ER+EE NIC
[PeopleCode ]
[TAX2.2 ] Qualifier For Tot Tax
[PeopleCode ]
[MOA2.2 ] Total TAX
[PeopleCode ]
[TAX2.3 ] Qualifier For Total of SSP
[PeopleCode ]
[MOA2.3 ] Total of SSP Value
[PeopleCode ]
[TAX2.4 ] Qualifier For SMP
[PeopleCode ]
[MOA2.4 ] Total of SMP Value
[PeopleCode ]
[TAX2.5 ] Qualifier For SPP
[PeopleCode ]
[MOA2.5 ] Total of SPP Value
[PeopleCode ]
[TAX2.6 ] Qualifier For SAP
[PeopleCode ]
[MOA2.6 ] Total of SAP Value
[PeopleCode ]
[TAX2.7 ] Qualifier For Tot Hol Claim Inactive
[PeopleCode ]
[MOA2.7 ] Total of HOL NIC Inactive
[PeopleCode ]
[TAX2.8 ] Qualifier For Tot of SL
[PeopleCode ]
[MOA2.8 ] Total of SL
[PeopleCode ]
[TAX2.9 ] Qualifier For Tot of Tax cr
[PeopleCode ]
[MOA2.9 ] Total of Tax cr
[PeopleCode ]
[QTY1 ] QTY1- Totals
[PeopleCode ]
[CNT1 ] CNT1 - Totals
[PeopleCode ]
[LogTots ] Log totals
[PeopleCode ]
[UpdLog ] Update Summary Log
[Call Section] Section: GPGB_EDILIB.SummLog
Appl Engine (Section): GPGB_EDI_P14 P14Write
Description Write P14 Details
Market GBL
DataBase Default
EffDt 01/01/1900
Effective Status Active
Section Type Prepare Only
Auto Commit No
Step/Action Description Attributes
[LIN1.1 ] LIN1 - EE Count
[PeopleCode ]
[NAD2A ] NAD2A - EE Address
[PeopleCode ]
[NAD2B ] NAD2B - EE Name
[PeopleCode ]
[ATT2.1 ] ATT2 - NI Number
[PeopleCode ]
[ATT2.2 ] ATT2 - Works Number
[PeopleCode ]
[ATT2.3 ] ATT2 - Gender Indicator
[PeopleCode ]
[ATT2.4 ] ATT2 - Week Qualifier
[PeopleCode ]
[P14W_NI ] Write NI details
[Call Section] Section: GPGB_EDI_P14.P14W_NI
[Do Select ] Type: Select/Fetch
[Do When ]
[Do Select ] Type: Select/Fetch ReUse
[Do When ] ReUse
[P14W_NI2] Write NI Details Amended Ret
[Call Section] Section: GPGB_EDI_P14.P14W_NI
[Do Select ] Type: Select/Fetch
[Do When ]
[Do Select ] Type: Select/Fetch ReUse
[Do When ] ReUse
[EMP1.1 ] EMP1 - NON-NI
[PeopleCode ]
[TAX1.1 ] Qualifier For SSP
[PeopleCode ]
[MOA1.1 ] TAX2 description
[PeopleCode ]
[TAX1.2 ] TAX2 description
[PeopleCode ]
[MOA1.2 ] SMP
[PeopleCode ]
[TAX1.3 ] Qualifier for SPP
[PeopleCode ]
[MOA1.3 ] Total SPP
[PeopleCode ]
[TAX1.4 ] Qualifier for SAP
[PeopleCode ]
[MOA1.4 ] SAP
[PeopleCode ]
[TAX1.5 ] Qualifier for PAY
[PeopleCode ]
[MOA1.5 ] Pay IN this Employement
[PeopleCode ]
[TAX1.6 ] Qualifier for TAX
[PeopleCode ]
[MOA1.6 ] TAX in this Employement
[PeopleCode ]
[TAX1.7 ] Pay in Previous Employement
[PeopleCode ]
[MOA1.7 ] Pay in Previous Employement
[PeopleCode ]
[TAX1.8 ] TAX in Previous Employement
[PeopleCode ]
[MOA1.8 ] TAX in Previous Employement
[PeopleCode ]
[TAX1.9 ] Qualifier for Life Assurance
[PeopleCode ]
[MOA1.9 ] TAX2 description
[PeopleCode ]
[TAX1.10 ] Qualifier for SL
[PeopleCode ]
[MOA1.10 ] Student Loan
[PeopleCode ]
[TAX1.11 ] Qualifier for TC
[PeopleCode ]
[MOA1.11 ] Tax Credits
[PeopleCode ]
[DTM2.4 ] DMT2 - Date of Birth
[PeopleCode ]
[DTM2.5 ] DMT2 - Date Employment Started
[PeopleCode ]
[DTM2.6 ] DMT2 - Date Employment Started
[Do Select ] Type: Select/Fetch
[Do Select ] Type: Select/Fetch ReUse
[PeopleCode ]
[ALC1 ] ALC1 - Tax Code
[PeopleCode ]
[ATT3.3 ] Qualifier for SVR
[PeopleCode ]
[ATT3.4 ] Qualifier for Week1/Month1
[PeopleCode ]
[AddToTot] ATT3.5 description
[PeopleCode ]
[UpdLog ] Update Detail Log
[Call Section] Section: GPGB_EDILIB.DtlLog
[PeopleCode ]
Appl Engine (Section): UPD850896_A1 MAIN
Description MAIN description
Market GBL
DataBase Default
EffDt 01/01/1900
Effective Status Active
Section Type Prepare Only
Auto Commit No
Access Public
Step/Action Description Attributes
[Step01 ] Dependents under 16
[Log Message ] MsgSet: 18030 Number: 4 Param: %AESECTION,
%AESTEP, %SQLROWS, 'PS_GPJP_IT_DEP_TAX'
[SQL ]
[Step02 ] Dependents Aged 16~18
[Log Message ] MsgSet: 18030 Number: 4 Param: %AESECTION,
%AESTEP, %SQLROWS, 'PS_GPJP_IT_DEP_TAX'
[SQL ]
SQL Detail
SQL: GPCHTX021_VW View
SQL Statement
SELECT TMP.PROCESS_INSTANCE,
TMP.GPCH_TX_CANTON,
TMP.GPCH_TX_VILLAGE_CD,
TMP.GPCH_TX_TRF_TYPE,
TMP.EMPLID,
TMP.EMPL_RCD,
TMP.GPCH_AL_CPAY_ENDDT,
TMP.SEG_BGN_DT,
TMP.SEG_END_DT,
TMP.RSLT_SEG_NUM,
TMP.SEQNUM,
TMP.SEX,
TMP.COMPANY,
TMP.PRD_END_DT,
TMP.TERMINATION_DT,
TMP.BEGIN_DT,
TMP.END_DT,
TMP.BIRTHDATE,
TMP.GPCH_TX_TRF_CD,
TMP.NATIONAL_ID,
TMP.GPCH_AH_NNSS,
TMP.VISA_PERMIT_TYPE,
TMP.CONTRACT_TYPE,
TMP.ACTION,
TMP.POSTAL,
TMP.GPCH_RP_AMOUNT1,
TMP.GPCH_RP_AMOUNT2,
TMP.GPCH_RP_AMOUNT3,
TMP.GPCH_RP_AMOUNT11,
TMP.GPCH_RP_AMOUNT14,
TMP.GPCH_RP_AMOUNT19,
TMP.GPCH_RP_AMOUNT20,
TMP.GPCH_RP_CHAR03,
TMP.GPCH_RP_FROMDT1,
TMP.REG_TEMP,
TMP.FTE
FROM PS_GPCHTX021_TMP TMP
SQL: GPCH_AE_ELM STAX_VD Step02 S ApplEng
ApplEng GPCH_AE_ELM
Section STAX_VD
Step Step02
Action SQL
Market GBL
SQL Statement
UPDATE PS_GPCH_EG_FSTATUS SET
FILENAME = %Bind(GPCHELM_AET.FILENAME),
FILENAME = GPCH_EG_REQUEST_ID %Concat '.xml',
TIME_STAMP = %CurrentDateTimeIn
WHERE COMPANY = %Bind(GPCHELM_AET.COMPANY)
AND GPCH_RC_PAY_YEAR = %Bind(GPCHELM_AET.GPCH_RC_PAY_YEAR)
AND GPCH_EG_DOMAINID = %Bind(GPCHELM_AET.GPCH_EG_DOMAINID)
AND GPCH_EG_REQUEST_ID = %Bind(GPCHELM_AET.GPCH_EG_REQUEST_ID)
SQL: GPCH_AE_INS PrepIns Step02 S ApplEng
ApplEng GPCH_AE_INS
Section PrepIns
Step Step02
Action SQL
Market GBL
SQL Statement
INSERT INTO %Table(GPCHAEZV1_TMP)
(PROCESS_INSTANCE,
EMPLID,
EMPL_RCD,
EFFDT,
GPCH_SI_TYPE_ID,
GPCH_SI_ALT_ID,
GPCH_SI_PROV_TYPE,
STATUS,
GPCH_CALCULATE,
AMOUNT,
CURRENCY_CD,
BEGIN_DT,
END_DT,
ENDING_DT_PERIOD,
HIRE_DT,
TERMINATION_DT,
GPCH_RP_AMOUNT1,
GPCH_RP_AMOUNT2,
GPCH_RP_AMOUNT3,
GPCH_RP_AMOUNT4,
GPCH_RP_AMOUNT5)
SELECT
%ProcessInstance,
V2.EMPLID,
V2.EMPL_RCD,
V2.EFFDT,
V2.GPCH_SI_TYPE_ID,
V2.GPCH_SI_ALT_ID,
V2.GPCH_SI_PROV_TYPE,
V2.STATUS,
V2.GPCH_CALCULATE,
V2.AMOUNT,
V2.CURRENCY_CD,
'',
'',
'',
'',
'',
%Bind(GPCH_RC_FROM_DT),
%Bind(GPCH_RC_FROM_DT),
%Bind(GPCH_RC_FROM_DT),
%Bind(GPCH_RC_FROM_DT),
%Bind(GPCH_RC_FROM_DT),
0.00,
0.00,
0.00,
0.00,
0.00
FROM PS_GPCH_SI_VARIAN2 V2
WHERE V2.EMPLID IN (SELECT T.EMPLID
FROM %Table(GPCHST021_TMP) T
WHERE T.PROCESS_INSTANCE = %ProcessInstance)
AND NOT EXISTS (SELECT 'X'
FROM PS_GPCH_SI_VARIAN2 V21
WHERE V2.EMPLID IN (SELECT R.EMPLID
FROM %Table(GPCHST021_TMP) R
WHERE R.PROCESS_INSTANCE = %ProcessInstance)
AND V2.EMPLID = V21.EMPLID
AND V2.EMPL_RCD = V21.EMPL_RCD
AND V2.GPCH_SI_TYPE_ID = V21.GPCH_SI_TYPE_ID
AND V2.GPCH_SI_ALT_ID = V21.GPCH_SI_ALT_ID
AND V2.GPCH_SI_PROV_TYPE = V21.GPCH_SI_PROV_TYPE
AND V21.EFFDT = (SELECT MAX(V1.EFFDT)
FROM PS_GPCH_SI_VARIAN1 V1
WHERE V2.EMPLID = V1.EMPLID
AND V2.EMPL_RCD = V1.EMPL_RCD
AND V1.EFFDT ' '
AND I.RECIPIENT_ID = P.RECIPIENT_ID
AND I.RECIPIENT_CATEGORY = 'I'
AND I.PAYMENT_MTHD = 'T'
AND T.SRC_BANK_ID = P.SRC_BANK_ID
AND T.EFF_STATUS = 'A'
SQL: GPCH_EG_PER_VW View
SQL Statement
SELECT GPCH_EG_DOMAINID,
GPCH_RC_PAY_YEAR,
COMPANY,
GPCH_SI_PROV_TYPE,
GPCH_SI_PROV_CD,
EMPLID,
EMPL_RCD,
BEGIN_DT,
END_DT,
GPCH_IF_VER,
GPCH_EG_PRSN_XML
FROM PS_GPCH_EG_PERSON
SQL: GPCH_EG_PSTA_VW View
SQL Statement
SELECT DISTINCT FS.COMPANY,
FS.GPCH_RC_PAY_YEAR,
FS.GPCH_EG_DOMAINID,
PS.GPCH_EG_REQUEST_ID,
PS.GPCH_SI_PROV_TYPE,
PS.GPCH_SI_PROV_CD,
SI.GPCH_EG_TRANS_MODE,
FS.FILENAME,
FS.TIME_STAMP,
FS.GPCH_REPORT_STATUS,
PS.GPCH_REPORT_STATUS,
PS.GPCH_EG_RESEND,
FS.GPCH_EG_REQID_OLD,
FS.GPCH_EG_RESPID_OLD
FROM PS_GPCH_EG_FSTATUS FS,
PS_GPCH_EG_PSTATUS PS,
PS_GPCH_SI_PROVIDR SI
WHERE FS.COMPANY = PS.COMPANY
AND FS.GPCH_RC_PAY_YEAR = PS.GPCH_RC_PAY_YEAR
AND FS.GPCH_EG_DOMAINID = PS.GPCH_EG_DOMAINID
AND PS.GPCH_EG_REQUEST_ID = FS.GPCH_EG_REQUEST_ID
AND PS.GPCH_SI_PROV_TYPE = SI.GPCH_SI_PROV_TYPE
AND PS.GPCH_SI_PROV_CD = SI.GPCH_SI_PROV_CD
AND SI.EFFDT = (SELECT MAX(EFFDT)
FROM PS_GPCH_SI_PROVIDR
WHERE GPCH_SI_PROV_TYPE = PS.GPCH_SI_PROV_TYPE
AND GPCH_SI_PROV_CD = PS.GPCH_SI_PROV_CD)
SQL: GPCH_IF_TX07_VW View
SQL Statement
SELECT EMPLID,
EMPL_RCD,
BEGIN_DT,
END_DT,
COMPANY,
GPCH_EG_DOMAINID,
GPCH_IF_VER,
LOCATION,
DEPTID,
GP_PAYGROUP,
PAY_ENTITY,
GPCH_TX_CANTON,
NAME,
GPCH_AL_PAGE_NUM,
GPCH_IF_STATUS,
GPCH_RP_SRC_IND,
GPCH_RP_TX7_DATA,
GPCH_RP_PRINT_FL
FROM PS_GPCH_IF_TX07
SQL: GPCH_RP_SI07_VW View
SQL Statement
SELECT EMPLID,
CAL_RUN_ID,
EMPL_RCD,
GP_PAYGROUP,
CAL_ID,
ORIG_CAL_RUN_ID,
RSLT_SEG_NUM,
SLICE_END_DT,
GPCH_TX_UV_PROV_CD,
GPCH_TX_UV_STATUS,
GPCH_SI_COV_UV,
SLICE_BGN_DT,
PAY_ENTITY,
COMPANY,
PRD_END_DT,
GPCH_AL_CPAY_ENDDT,
GPCH_RP_YEAR,
BEGIN_DT,
END_DT,
FULL_PART_TIME,
SEX,
GPCH_RP_AMOUNT1,
GPCH_RP_AMOUNT2,
GPCH_RP_AMOUNT3,
STATUS,
GPCH_RP_AMOUNT4,
GPCH_RP_AMOUNT6,
GPCH_RP_SEQUENCE
FROM PS_GPCH_RP_SI07
SQL: GPCH_SIAL2_NRVW View
SQL Statement
SELECT COMPANY,
GPCH_SI_PROV_TYPE,
EFFDT,
GPCH_SI_TYPE_ID,
GPCH_SI_ALT_ID,
GPCH_RATE_M,
GPCH_RATE_F,
GPCH_RATE2_M,
GPCH_RATE2_F,
GPCH_LOW_SALARY,
GPCH_HIGH_SALARY,
CURRENCY_CD,
GPCH_PIN_NUM + 50000000,
GPCH_PIN_NUM01 + 50000000,
GPCH_PIN_NUM02 + 50000000,
GPCH_PIN_NUM03 + 50000000,
GPCH_PIN_NUM04 + 50000000,
GPCH_PIN_NUM05 + 50000000,
GPCH_PIN_NUM06 + 50000000,
GPCH_PIN_NUM07 + 50000000,
GPCH_PIN_NUM08 + 50000000
FROM PS_GPCH_SI_ADDTNL2
SQL: GPCH_SI_ADD2_VW View
SQL Statement
SELECT COMPANY,
GPCH_SI_PROV_TYPE,
EFFDT,
GPCH_SI_TYPE_ID,
GPCH_SI_ALT_ID,
GPCH_ZV_DFLT_GRP,
GPCH_ZV_DFLT_SPLIT
FROM PS_GPCH_SI_ADDTNL2
SQL: GPCH_SI_ADDL_VW View
SQL Statement
SELECT E1.EMPLID,
E1.EMPL_RCD,
E1.EFFDT,
S1.COMPANY,
E2.GPCH_SI_PROV_TYPE,
E2.GPCH_SI_TYPE_ID,
E2.GPCH_SI_ALT_ID,
E2.AMOUNT,
E2.CURRENCY_CD,
S2.GPCH_RATE_M,
S2.GPCH_RATE_F,
S2.GPCH_RATE2_M,
S2.GPCH_RATE2_F,
S2.GPCH_LOW_SALARY,
S2.GPCH_HIGH_SALARY,
S2.GPCH_PIN_NUM,
S2.GPCH_PIN_NUM01,
S2.GPCH_PIN_NUM02,
S2.GPCH_PIN_NUM03,
S2.GPCH_PIN_NUM04,
S2.GPCH_PIN_NUM05,
S2.GPCH_PIN_NUM06,
S2.GPCH_PIN_NUM07,
S2.GPCH_PIN_NUM08,
S3.GPCH_PREM_AN_M_PCT,
S3.GPCH_PREM_AN_F_PCT,
S3.GPCH_PREM_PERS_M,
S3.GPCH_PREM_PERS_F,
S3.GPCH_PROPOSE,
S3.GPCH_PREMIUM_MIN,
S3.GRADE
FROM PS_GPCH_SI_VARIAN1 E1,
PS_GPCH_SI_VARIAN2 E2,
PS_GPCH_SI_ADDTNL1 S1,
PS_GPCH_SI_ADDTNL2 S2,
PS_GPCH_SI_SPLIT S3
WHERE E2.STATUS = 'A'
AND E1.EMPLID = E2.EMPLID
AND E1.EMPL_RCD = E2.EMPL_RCD
AND E1.EFFDT = E2.EFFDT
AND E2.GPCH_CALCULATE = 'A'
AND S1.EFF_STATUS = 'A'
AND E2.GPCH_SI_PROV_TYPE = S1.GPCH_SI_PROV_TYPE
AND S1.EFFDT = (SELECT MAX(S4.EFFDT)
FROM PS_GPCH_SI_ADDTNL2 S4
WHERE S1.COMPANY = S4.COMPANY
AND S1.GPCH_SI_PROV_TYPE = S4.GPCH_SI_PROV_TYPE
AND S4.EFFDT 'I'
AND B.TAKE_CONFIG4 = '01'
AND A.PRC_EVT_ACTN_OPTN = 'N'
SQL: GPES_CC_XCCC_VW View
SQL Statement
SELECT DISTINCT B.OPRID,
B.RUN_CNTL_ID,
A.SSN_EMPLOYER,
A.GPES_SCHEME_CCC,
A.RESPONSIBLE_ID,
A.JOBCODE_DESCR,
C.FIRST_NAME,
C.LAST_NAME,
C.SECOND_LAST_NAME,
A.FISCAL_ID_CD,
C.NATIONAL_ID
FROM PS_GPES_CC_EE_DTA A,
PS_GPES_RC_FNQ1_EE B,
PS_PERSDATA_ESP_VW C
WHERE A.EMPLID = B.EMPLID
AND A.EMPL_RCD = B.EMPL_RCD
AND A.EFFDT = B.TERMINATION_DT
AND GENERATE_REPORT = 'Y'
AND A.RESPONSIBLE_ID = C.EMPLID
AND A.EMPL_RCD = B.EMPL_RCD
AND A.OPRID = B.OPRID
AND A.RUN_CNTL_ID = B.RUN_CNTL_ID
SQL: GPES_CC_XEE_VW View
SQL Statement
SELECT B.OPRID,
B.RUN_CNTL_ID,
A.SSN_EMPLOYER,
A.EMPLID,
A.EFFDT
FROM PS_GPES_CC_EE_DTA A,
PS_GPES_RC_FNQ1_EE B
WHERE A.EMPLID = B.EMPLID
AND A.EMPL_RCD = B.EMPL_RCD
AND A.EFFDT = B.TERMINATION_DT
AND B.GENERATE_REPORT = 'Y'
AND B.GPES_REASON = 'INE'
AND B.OPRID = A.OPRID
AND B.RUN_CNTL_ID = A.RUN_CNTL_ID
SQL: GPFR_AF_DT_TO_CHAR Normal
Description Convert Date to Char
Comments Convert Date to Char in YYYYMMDD
Owner ID Global Payroll France
SQL Statement
TO_CHAR (%P(1))
SQL Statement
CHAR (%P(1))
Description Converts Date to Char
Comments Converts Date to Char in YYYYMMDD
SQL Statement
TO_CHAR (%P(1), 'YYYYMMDD')
SQL Statement
CHAR (%P(1))
SQL Statement
CONVERT (CHAR, %P(1))
SQL Statement
CONVERT (CHAR, %P(1), 112)
SQL: GPFR_AF_EXTR_VW View
SQL Statement
SELECT COUNTRY,
GPFR_AF_APPL,
GPFR_AF_NODE_SET,
GPFR_AF_EXTRACT_ID,
COMPANY,
EMPLID,
EMPL_RCD,
GPFR_AF_SIT_BGN_DT,
GPFR_AF_SIT_END_DT,
GPFR_AF_KEY_NODE,
GPFR_AF_KEY_ATTR,
GPFR_AF_KEY_EXTRCT,
GPFR_AF_NODE_NAME,
GPFR_AF_ATTR_NAME,
GPFR_AF_CHAR_VAL,
GPFR_AF_DATE_VAL,
GPFR_AF_NUM_VAL,
GPFR_AF_RND_NM_VAL,
ESTABID,
GPFR_AF_DON,
GPFR_AF_SQL_SEQ,
GPFR_AF_LVL_1_ORD,
GPFR_AF_LVL_1_VAL,
GPFR_AF_LVL_2_ORD,
GPFR_AF_LVL_2_VAL,
GPFR_AF_LVL_3_ORD,
GPFR_AF_LVL_3_VAL,
GPFR_AF_LVL_4_ORD,
GPFR_AF_LVL_4_VAL,
GPFR_AF_LVL_5_ORD,
GPFR_AF_LVL_5_VAL,
GPFR_AF_LVL_6_ORD,
GPFR_AF_LVL_6_VAL,
GPFR_AF_LVL_7_ORD,
GPFR_AF_LVL_7_VAL,
GPFR_AF_LVL_8_ORD,
GPFR_AF_LVL_8_VAL,
GPFR_AF_LVL_9_ORD,
GPFR_AF_LVL_9_VAL,
GPFR_AF_LVL_10_ORD,
GPFR_AF_LVL_10_VAL,
GPFR_AF_CHECK_DONE
FROM PS_GPFR_AF_EXTRACT
SQL: GPFR_ASS_SRCH View
SQL Statement
SELECT SEC.OPRID,
SEC.ROWSECCLASS,
A.CAL_RUN_ID,
A.EMPLID,
A.EMPL_RCD,
A.LAST_DATE_WORKED,
B.COMPANY,
B.ESTABID,
C.NAME
FROM PS_GPFR_ASS_PAYEE A,
PS_GPFR_ASS_COMP B,
PS_PERSON_NAME C %Sql(GPFR_SECU_EMPLMT_SQL,
A)
AND A.EMPLID = B.EMPLID
AND A.EMPL_RCD = B.EMPL_RCD
AND C.EMPLID = A.EMPLID
AND A.CAL_RUN_ID = B.CAL_RUN_ID
AND A.LAST_DATE_WORKED = B.LAST_DATE_WORKED
SQL: GPFR_AT_RSLT_VW View
SQL Statement
SELECT DISTINCT E.GB_GROUP_ID,
SELECT E.GB_GROUP_ID,
A.EMPLID,
A.EMPL_RCD,
A.BGN_DT,
A.ORIG_BEGIN_DT,
B.NAME,
A.PIN_TAKE_NUM,
A.END_DT,
'N',
%Substring(F.GP_ELN_ATTR5,
1,
2),
SEC.ROWSECCLASS
OPR.ROWSECCLASS
FROM PS_GP_ABS_EVENT A,
PS_PERSON_NAME B,
PS_GB_GRP_RES_TBL E,
PS_GP_ELN_PIN_ATTR F %Sql(GPFR_SECU_EMPLMT_SQL,
A)
PS_GP_ELN_PIN_ATTR F,
PS_SJT_PERSON SEC,
PSOPRDEFN OPR
WHERE A.EMPLID = SEC.EMPLID
AND A.EMPL_RCD = SEC.EMPL_RCD
AND A.EMPLID = E.EMPLID
AND A.EMPL_RCD = E.EMPL_RCD
AND B.EMPLID = E.EMPLID
AND SEC.APPT_TYPE '1'
AND (EXISTS (SELECT 'X'
FROM PS_SJT_CLASS_ALL CLS,
PS_SJT_OPR_CLS SOC
WHERE CLS.SCRTY_SET_CD = 'PPLJOB'
AND CLS.SCRTY_TYPE_CD = SEC.SCRTY_TYPE_CD
AND CLS.SCRTY_KEY1 = SEC.SCRTY_KEY1
AND CLS.SCRTY_KEY2 = SEC.SCRTY_KEY2
AND CLS.SCRTY_KEY3 = SEC.SCRTY_KEY3
AND ((CLS.TREE = 'Y'
AND SOC.CLASSID = OPR.ROWSECCLASS
AND SOC.SEC_RSC_FLG IN ('1', '3'))
OR (CLS.TREE = 'N'))
AND SOC.OPRID = OPR.OPRID
AND SOC.CLASSID = CLS.CLASSID))
AND E.VERSIONGBQDM = (SELECT MAX(EE.VERSIONGBQDM)
FROM PS_GB_GRP_RES_TBL EE
WHERE EE.GB_GROUP_ID = E.GB_GROUP_ID)
AND E.JOB_EFFDT = (SELECT MAX(EE.JOB_EFFDT)
FROM PS_GB_GRP_RES_TBL EE
WHERE EE.GB_GROUP_ID = E.GB_GROUP_ID
AND EE.VERSIONGBQDM = E.VERSIONGBQDM
AND EE.EMPLID = E.EMPLID
AND EE.EMPL_RCD = E.EMPL_RCD
AND EE.JOB_EFFDT '1')
AND B.SLICE_END_DT >= B.ACM_FROM_DT
AND (B.SLICE_END_DT 'V'
AND C.PRD_TYPE = 'R'
AND C.CALC_TYPE = 'P'
AND C.RSLT_REV_NUM = 1
AND C.EMPLID = G.EMPLID
AND C.CAL_RUN_ID = G.CAL_RUN_ID
AND C.EMPL_RCD = G.EMPL_RCD
AND C.GP_PAYGROUP = G.GP_PAYGROUP
AND A.PYMT_KEY1 = G.PYMT_KEY1
AND A.PYMT_KEY2 = G.PYMT_KEY2
AND A.PYMT_KEY3 = G.PYMT_KEY3
AND A.PYMT_KEY4 = G.PYMT_KEY4
AND G.RSLT_SEG_NUM = (SELECT MIN(G2.RSLT_SEG_NUM)
FROM PS_GPFR_GUIDE_VW G2
WHERE G2.EMPLID = G.EMPLID
AND G2.CAL_RUN_ID = G.CAL_RUN_ID
AND G2.EMPL_RCD = G.EMPL_RCD
AND G2.GP_PAYGROUP = G.GP_PAYGROUP
AND G2.CAL_ID = G.CAL_ID
AND G2.PYMT_KEY1 = G.PYMT_KEY1
AND G2.PYMT_KEY2 = G.PYMT_KEY2
AND G2.PYMT_KEY3 = G.PYMT_KEY3
AND G2.PYMT_KEY4 = G.PYMT_KEY4)
AND (B.ACM_PRD_OPTN = '1')
AND B.SLICE_END_DT >= B.ACM_FROM_DT
AND (B.SLICE_END_DT 0
AND WA.GPJP_RUN_TYPE_FLAG = 'BON'
AND WA.GPJP_SC_EMPL_REC_N = WA.EMPL_RCD
AND PYE.EMPLID = WA.EMPLID
AND PYE.EMPL_RCD = WA.EMPL_RCD
AND PYE.EMPLID = D.EMPLID
AND D.NAME_TYPE = 'PRI'
AND PYE.EFFDT = (SELECT MAX(PYE1.EFFDT)
FROM %Table(GPJP_SC_PYE_DTA) PYE1
WHERE PYE1.EMPLID = PYE.EMPLID
AND PYE1.EFFDT %Sql(FUNCLIB_HR_DATE_BUILD,
'2011', '01', '02')
AND A.EMPLID = B.EMPLID
AND A.DEPENDENT_BENEF = B.DEPENDENT_BENEF
AND A.EFFDT = (SELECT MAX(EFFDT)
FROM PS_GPJP_IT_DEP_TAX
WHERE EMPLID = A.EMPLID
AND DEPENDENT_BENEF = A.DEPENDENT_BENEF
AND EFFDT = %Sql(FUNCLIB_HR_DATE_BUILD, '2011', '01', '01'))
SQL: UPD850896_A1MAIN Step02 S ApplEng
ApplEng UPD850896_A1
Section MAIN
Step Step02
Action SQL
Market GBL
SQL Statement
INSERT INTO PS_GPJP_IT_DEP_TAX
(EMPLID,
DEPENDENT_BENEF,
EFFDT,
EMPL_RCD,
GPJP_IT_SPOUSE,
GPJP_IT_DEP,
GPJP_IT_DEPDIS,
GPJP_DEP_JOB,
GPJP_DEP_INC,
GPJP_DEP_RCHAN,
GPJP_DIS_DESCR,
GPJP_DIS_RCHAN)
SELECT
A.EMPLID,
A.DEPENDENT_BENEF,
%Sql(FUNCLIB_HR_DATE_BUILD,
'2011',
'01',
'01'),
A.EMPL_RCD,
A.GPJP_IT_SPOUSE,
'20',
A.GPJP_IT_DEPDIS,
A.GPJP_DEP_JOB,
A.GPJP_DEP_INC,
' ',
A.GPJP_DIS_DESCR,
' '
FROM PS_GPJP_IT_DEP_TAX A,
PS_DEP_BEN B
WHERE A.GPJP_IT_DEP = '30'
AND %Sql(FUNCLIB_HR_DATE_YEAR_ADD, B.BIRTHDATE, 19) > %Sql(FUNCLIB_HR_DATE_BUILD,
'2011', '01', '02')
AND A.EMPLID = B.EMPLID
AND A.DEPENDENT_BENEF = B.DEPENDENT_BENEF
AND A.EFFDT = (SELECT MAX(EFFDT)
FROM PS_GPJP_IT_DEP_TAX
WHERE EMPLID = A.EMPLID
AND DEPENDENT_BENEF = A.DEPENDENT_BENEF
AND EFFDT = %Sql(FUNCLIB_HR_DATE_BUILD, '2011', '01', '01'))
PeopleCode Detail
PeopleCode (Record): FUNCLIB_GPJP.GPJP_YEA_SSERVICE.FieldFormula
[ . . . Unchanged Code not Shown . . . ]
PeopleCode (Record): GPCH_AE_DERIVED.GPCH_RP_TX07_XML.FieldFormula
[ . . . Unchanged Code not Shown . . . ]
Function GetRemarks() Returns array of string;
/****************************************************************/
&Remarks = "";
&MsgAmt = "";
&MSG_VAL = CreateArrayRept("", 9999);
&EmpCanton = RTrim(GPCHTX07_AET.GPCH_TX_CANTON);
/********Refresh Temp Record***********/
SQLExec("DELETE FROM %Table(GPCHTX079_TMP)");
/********Insert Company Message into Temp Record***********/
/* FMB Reset Variables */
&MsgNbr = " ";
&Remarks1_1 = " ";
&Remarks1_2 = " ";
&Travelx = " ";
&Remarks5 = " ";
&Remarks6 = " ";
&Remarks7 = " ";
&Remarks8_1 = " ";
&Remarks8_2 = " ";
&Remarks9 = " ";
&Remarks10_1 = " ";
&Remarks10_2 = " ";
&Remarks11_14 = " ";
&Remarks_addl = " ";
&Line_14 = " ";
&Remarks11_14 = " ";
&MSG_VAL [15] = " "; /*89b15*/
&Remarks = " ";
/* FMB Reset Variables */
If &Lang = &Langbase Then
SQLExec("INSERT INTO %Table(GPCHTX079_TMP) (COMPANY ,LANGUAGE_CD ,GPCH_AL_MSG_NBR
,PIN_NUM ,PIN_NM,ACM_PRD_OPTN ,GPCH_TX_CANTON ,GPCH_AL_MSG_CHK ,GPCH_AL_CCAT_AMT
,GPCH_AL_MSG_TXT,CALC_RSLT_VAL
,GPCH_BL_PR_CALC,GPCH_RC_FROM_DT,GPCH_RP_AMOUNT1,GPCH_RC_DESCR3) SELECT B.COMPANY
,C.LANGUAGE_CD ,A.GPCH_AL_MSG_NBR ,A.PIN_NUM ,' ' ,A.ACM_PRD_OPTN,B.GPCH_TX_CANTON
,A.GPCH_AL_MSG_CHK ,A.GPCH_AL_CCAT_AMT ,A.GPCH_AL_MSG_TXT ,0 ,'
',B.GPCH_RC_FROM_DT,B.GPCH_RP_AMOUNT1,B.GPCH_RC_DESCR3 FROM PS_GPCH_AL_MSG_CAT A
,PS_GPCH_AL_CO_MSG B, PSOPTIONS C WHERE A.GPCH_RC_REPORTNAME='GPCHTX07' and
A.GPCH_RC_REPORTNAME = B.GPCH_RC_REPORTNAME AND A.GPCH_AL_MSG_NBR = B.GPCH_AL_MSG_NBR AND
B.COMPANY = :1 AND B.EFFDT = ( SELECT MAX(B1.EFFDT) FROM PS_GPCH_AL_CO_MSG B1 WHERE
B1.COMPANY=B.COMPANY AND B1.GPCH_RC_REPORTNAME = B.GPCH_RC_REPORTNAME AND B1.EFFDT 0 and exists ( SELECT 'X'
FROM PS_GP_PIN A WHERE %Table(GPCHTX079_TMP).PIN_NUM = A.PIN_NUM)");
/********Update Msg check in the Temp Record***********/
SQLExec("UPDATE %Table(GPCHTX079_TMP) SET GPCH_AL_MSG_CHK = 'N' WHERE GPCH_AL_MSG_CHK
'Y'");
/********Picking up 9001*****************************/
If &Lang = &Langbase Then
SQLExec("Select GPCH_AL_MSG_TXT from PS_GPCH_AL_MSG_CAT where GPCH_AL_MSG_NBR=:1 and
GPCH_RC_REPORTNAME='GPCHTX07' ", "9001", &text_9001);
Else
SQLExec("Select GPCH_AL_MSG_TXT from PS_GPCH_AL_MCT_LNG where GPCH_AL_MSG_NBR=:1 AND
LANGUAGE_CD=:2 and GPCH_RC_REPORTNAME='GPCHTX07' ", "9001", &Lang, &text_9001);
End-If;
/********Fetch and Process Employee Messages ***********/
If &Lang = &Langbase Then
&SQL3 = CreateSQL("SELECT GPCH_AL_MSG_NBR , GPCH_AL_ACT_TYPE,
GPCH_AL_MSG_TXT,GPCH_TX_CANTON, %Dateout(GPCH_RC_FROM_DT), GPCH_RP_AMOUNT1,
GPCH_RC_DESCR3 FROM PS_GPCH_TX_LAW_MSG WHERE EMPLID = :1 AND GPCH_RC_PAY_YEAR = :2 AND
COMPANY = :3", GPCHTX07_AET.EMPLID, GPCHTX07_AET.GPCH_RC_PAY_YEAR, GPCHTX07_AET.COMPANY);
Else
&SQL3 = CreateSQL("SELECT A.GPCH_AL_MSG_NBR , A.GPCH_AL_ACT_TYPE,
B.GPCH_AL_MSG_TXT,A.GPCH_TX_CANTON, %Dateout(A.GPCH_RC_FROM_DT), A.GPCH_RP_AMOUNT1,
A.GPCH_RC_DESCR3 FROM PS_GPCH_TX_LAW_MSG A,PS_GPCH_AL_MCT_LNG B WHERE A.EMPLID = :1 AND
A.GPCH_RC_PAY_YEAR = :2 AND A.COMPANY = :3 AND A.GPCH_AL_MSG_NBR=B.GPCH_AL_MSG_NBR AND
B.LANGUAGE_CD=:4", GPCHTX07_AET.EMPLID, GPCHTX07_AET.GPCH_RC_PAY_YEAR,
GPCHTX07_AET.COMPANY, &Lang);
End-If;
/********Fetch Sender Override from GPCH_AL_SDR_DTL ***********/
SQLExec("Select DESCR, ADDRESS1, ADDRESS2, GPCH_AL_SIGNATURE, PHONE, CITY from
PS_GPCH_AL_SDR_DTL A where A.COMPANY = :1 AND A.LANGUAGE_CD = :2 AND A.GPCH_RC_REPORTNAME
= :4 and A.EFFDT = ( select max(A1.EFFDT) from PS_GPCH_AL_SDR_DTL A1 where A.COMPANY =
A1.COMPANY and A.LANGUAGE_CD = A1.LANGUAGE_CD and A.GPCH_RC_REPORTNAME =
A1.GPCH_RC_REPORTNAME and A1.EFFDT 0 Then
&EmpAmount = Substring(&ValTest, 1, &pos1 - 1) | ".00";
Else
&EmpAmount = &ValTest | ".00";
End-If;
&TaxMess.GPCH_RP_AMOUNT1.Value = &EmpAmount;
End-If;
&TaxMess.GPCH_RC_DESCR3.Value = &EmpDescr;
&TaxMess.GPCH_BL_PR_CALC.Value = "Y";
&TaxMess.Insert();
&TaxMess.Update();
Break;
When = 3
&TaxMess = CreateRecord(Record.GPCHTX079_TMP);
&TaxMess.COMPANY.Value = GPCHTX07_AET.COMPANY;
&TaxMess.LANGUAGE_CD.Value = ⟪
&TaxMess.GPCH_AL_MSG_NBR.Value = &EmpMsgNbr;
&TaxMess.GPCH_AL_MSG_TXT.Value = &EmpTxt;
&TaxMess.GPCH_BL_PR_CALC.Value = "Y";
/*FMB 20090710 Begin */
&TaxMess.GPCH_RC_FROM_DT.Value = &EmpApFrom;
If All(&EmpAmount) Then
&ValTest = &EmpAmount;
&TaxMess.GPCH_AL_CCAT_AMT.Value = "Y";
&pos1 = Find(".", &ValTest);
If &pos1 > 0 Then
&EmpAmount = Substring(&ValTest, 1, &pos1 - 1) | ".00";
Else
&EmpAmount = &ValTest | ".00";
End-If;
&TaxMess.GPCH_RP_AMOUNT1.Value = &EmpAmount;
End-If;
&TaxMess.GPCH_RC_DESCR3.Value = &EmpDescr;
/*FMB 20090710 End */
&TaxMess.Update();
Break;
When-Other;
End-Evaluate;
End-While;
/********Final Processing ***********/
&SQL4 = CreateSQL("select A.GPCH_AL_MSG_NBR ,A.PIN_NM ,A.ACM_PRD_OPTN ,A.GPCH_TX_CANTON
,A.GPCH_AL_MSG_CHK ,A.GPCH_AL_CCAT_AMT ,A.GPCH_AL_MSG_TXT
,A.CALC_RSLT_VAL,A.GPCH_BL_PR_CALC,%Dateout(A.GPCH_RC_FROM_DT),GPCH_RP_AMOUNT1,GPCH_RC_
DESCR3 FROM %Table(GPCHTX079_TMP) A WHERE A.GPCH_BL_PR_CALC 'N' AND A.COMPANY = :1 AND
A.LANGUAGE_CD = :2", GPCHTX07_AET.COMPANY, &Lang);
While &SQL4.Fetch(&MsgNbr, &PinNm, &AcmOpn, &CANTON, &AlwaysChk, &ConcatAmt, &MsgTxt,
&MsgAmt, &Noprnt, &Fromdt, &ComAmount, &CoDescr)
&PinNm = RTrim(&PinNm);
&CANTON = RTrim(&CANTON);
/********Fetch Right Pin Amt***********/
&iIndex = &ACUM_NAME.Find(&PinNm);
If &iIndex 0 Then
&MsgAmt = &ACUM_VAL [&iIndex];
End-If;
&ValTest = &ComAmount;
&pos1 = Find(".", &ValTest);
If &pos1 > 0 Then
&ComAmount = Substring(&ValTest, 1, &pos1 - 1) | ".00";
Else
&ComAmount = &ValTest | ".00";
End-If;
/********Check if Message is to be printed***********/
&Print = "Y";
If &AlwaysChk = "N" And /* None(&CANTON) And*/
&AcmOpn = "1" And
&MsgAmt = 0 Then
&Print = "N";
End-If;
If &AlwaysChk = "N" And /* None(&CANTON) And */
&AcmOpn = "5" And
&MsgAmt = 0 Then
&Print = "N";
End-If;
If &AlwaysChk = "Y" Then /*FMB activated*/
&Print = "Y";
End-If;
If &MsgNbr = 11 Or
&MsgNbr = 12 Or
&MsgNbr = 13 Or
&MsgNbr = 14 Then
&MsgTxt = RTrim(&MsgTxt);
&Remarks11_14 = &Remarks11_14 | &MsgTxt | "; ";
Else
If &MsgNbr 1 And
&MsgNbr 8 And
&MsgNbr 10 Then
If &ComAmount "0.00" And
&ConcatAmt = "Y" Then
&MsgTxt = &MsgTxt | " " | &ComAmount;
End-If;
End-If;
If Not None(&CoDescr) Then
&MsgTxt = &MsgTxt | " " | &CoDescr;
End-If;
If Not None(&Fromdt) Then
&FromOut = Substring(&Fromdt, 9, 2) | "." | Substring(&Fromdt, 6, 2) | "." |
Substring(&Fromdt, 1, 4); /* FMB 20081612*/
&MsgTxt = &MsgTxt | " " | &CANTON | " " | &FromOut;
End-If;
If &ConcatAmt = "Y" And
String(Round(&MsgAmt, 2)) "0.00" Then
&MsgTxt = &MsgTxt | " " | String(Round(&MsgAmt, 2));
End-If;
If &MsgNbr = 5 Then
If &verno > 1 Then
&MsgTxt = &MsgTxt | " " | String(&verno);
&Print = "Y";
End-If;
End-If;
End-If;
If &Print = "Y" Then
/*SYED*/
If &MsgNbr = 1 Then
&Remarks1_1 = &Fromdt;
&Remarks1_2 = &CANTON;
End-If;
If &MsgNbr = 2 Then
&Travelx = "X";
End-If;
If &MsgNbr = 5 Then
&Remarks5 = &CoDescr;
End-If;
If &MsgNbr = 6 Then
&Remarks6 = "X";
End-If;
If &MsgNbr = 7 Then
&Remarks7 = &ComAmount;
End-If;
If &MsgNbr = 8 Then
&Remarks8_1 = &Fromdt;
&Remarks8_2 = &CANTON;
End-If;
If &MsgNbr = 9 Then
&Remarks9 = "X";
End-If;
If &MsgNbr = 10 Then
&Remarks10_1 = &Fromdt;
&Remarks10_2 = &CANTON;
End-If;
rem syed 89 B15 End-If;
/* SYEDEND*/
If &MsgNbr >= 1 And /*syed*/
&MsgNbr 1 And
&MsgNbr 2 And
&MsgNbr 5 And
&MsgNbr 6 And
&MsgNbr 7 And
&MsgNbr 8 And
&MsgNbr 9 And
&MsgNbr 10 And
&MsgNbr 11 And
&MsgNbr 12 And
&MsgNbr 13 And
&MsgNbr 14) Then
&Remarks = &Remarks | " " | &MsgTxt | ";";
End-If;
If (&MsgNbr >= 1 And /*syed*/
&MsgNbr 11 And
&MsgNbr 12 And
&MsgNbr 13 And
&MsgNbr 14) Then
&Remarks_addl = &Remarks_addl | " " | &MsgTxt | ";"; /* 89b15*/
End-If;
If &MsgNbr >= 100 And
&MsgNbr " " And
&Line_14 "" Then
&Line_14 = &Line_14 | ";" | &MsgTxt;
Else
&Line_14 = &Line_14 | " " | &MsgTxt;
End-If;
REM FMB 20080529 END &Line_14 = &Line_14 | " " | &MsgTxt;
REM &Line_14 = &Line_14 | " " | &MsgTxt;
End-If;
If &MsgNbr >= 9000 Then
&MSG_VAL [&MsgNbr] = &MsgTxt;
End-If;
End-If; /*Syed 89 B15*/
End-While;
If &Remarks11_14 " " And
&Remarks11_14 "" Then
&MSG_VAL [12] = &Remarks11_14;
&Remarks_addl = &Remarks_addl | &text_9001 | &Remarks11_14 | ";";
End-If;
If &Remarks " " And
&Remarks "" Then
&MSG_VAL [15] = &Remarks;
End-If;
If &Line_14 " " And
&Line_14 "" Then
&CH_LW_140_ALL = RTrim(&CH_LW_140_ALL);
REM FMB 20080529 BEGIN;
If &CH_LW_140_ALL " " And
&CH_LW_140_ALL "" Then
&CH_LW_140_ALL = &CH_LW_140_ALL | ";" | &Line_14 | ";";
Else
&CH_LW_140_ALL = &Line_14 | ";";
End-If;
REM FMB 20080529 END &CH_LW_140_ALL = &CH_LW_140_ALL | &Line_14;
REM &CH_LW_140_ALL = &CH_LW_140_ALL | &Line_14;
End-If;
/*SYED*/
If &Remarks1_1 " " And
&Remarks1_1 "" Then
If Not None(&Remarks1_1) Then
&MSG_VAL [1] = &Remarks1_1;
End-If;
If &Remarks1_2 " " And
&Remarks1_2 "" Then
If Not None(&Remarks1_2) Then
&MSG_VAL [2] = &Remarks1_2;
End-If;
If &Remarks5 " " And
&Remarks5 "" Then
If Not None(&Remarks5) Then
&MSG_VAL [5] = &Remarks5;
End-If;
If &Remarks6 " " And
&Remarks6 "" Then
If Not None(&Remarks6) Then
&MSG_VAL [14] = &Remarks6; /* val14 is overlapping confirm?*/
End-If;
If &Remarks7 " " And
&Remarks7 "" Then
If Not None(&Remarks7) Then
&MSG_VAL [7] = &Remarks7;
End-If;
If &Remarks8_1 " " And
&Remarks8_1 "" Then
If Not None(&Remarks8_1) Then
&MSG_VAL [8] = &Remarks8_1;
End-If;
If &Remarks8_2 " " And
&Remarks8_2 "" Then
If Not None(&Remarks8_2) Then
&MSG_VAL [9] = &Remarks8_2;
End-If;
If &Remarks10_1 " " And
&Remarks10_1 "" Then
If Not None(&Remarks10_1) Then
&MSG_VAL [10] = &Remarks10_1;
End-If;
If &Remarks10_2 " " And
&Remarks10_2 "" Then
If Not None(&Remarks10_2) Then
&MSG_VAL [11] = &Remarks10_2;
End-If;
If &Remarks9 " " And
&Remarks9 "" Then
If Not None(&Remarks9) Then
&MSG_VAL [13] = &Remarks9;
End-If;
/*SYEDEND*/
Return &MSG_VAL;
End-Function;
[ . . . Unchanged Code not Shown . . . ]
PeopleCode (Record): GPCH_EG_STAT_DW.FUNCLIB.FieldFormula
[ . . . Unchanged Code not Shown . . . ]
Function get_seq_no(&ProvType) Returns string
Function get_seq_no(&ProvType) Returns array of string
Local array of string &SEQNO;
&SEQNO = CreateArray("String");
&RowS1 = GetLevel0();
&RowS2 = &RowS1(1).GetRowset(Scroll.GPCH_EG_RSTATUS);
&Rows3 = &RowS1(1).GetRowset(Scroll.GPCH_RC_PROVIDR);
&Flag = 0;
For &k = 1 To &RowS2.ActiveRowCount;
&Row1 = &RowS2.GetRow(&k);
SQLExec("SELECT ACC.GPCH_TX_CANTON,ACC.GPCH_SI_UV_MBR_ID FROM PS_GPCH_SI_ACC_INS
ACC WHERE ACC.COMPANY = :1 AND ACC.GPCH_SI_PROV_TYPE = :2 AND ACC.GPCH_TX_UV_PROV_CD = :3
AND ACC.EFFDT = (SELECT MAX(ACC1.EFFDT) FROM PS_GPCH_SI_ACC_INS ACC1 WHERE ACC1.COMPANY =
ACC.COMPANY AND ACC1.GPCH_SI_PROV_TYPE = ACC.GPCH_SI_PROV_TYPE AND ACC1.GPCH_TX_UV_PROV_CD
= ACC.GPCH_TX_UV_PROV_CD AND ACC1.EFFDT 0)) Or
(Mod(Value(&Year), 400) = 0)) Then
&Day = 29;
Else
&Day = 28;
End-If;
End-If;
End-If;
&EndDate = Date3(Value(&Year), Value(&Month), Value(&Day));
&BeginDt = Date3(Value(&Year), Value(&Month), 1);
&ReturnDates [1] = &BeginDt;
&ReturnDates [2] = &EndDate;
&ReturnDates [3] = &Quarter;
Return &ReturnDates;
End-Function;
[ . . . Unchanged Code not Shown . . . ]
PeopleCode (Record): GPFR_AF_RUN_EXT.GPFR_AF_EXTRACT_ID.FieldChange
[ . . . Unchanged Code not Shown . . . ]
PeopleCode (Record): GPGB_ABS_EVT_JR.GPGB_ABS_LINK_DUR.SavePostChange
Declare Function Update_Abs PeopleCode GPGB_ABS_EVT_JR.GPGB_ABS_LINK_DUR FieldFormula;
Declare Function Calculate_Half_Days PeopleCode GPGB_ABS_EVT_JR.GPGB_ABS_LINK_DUR
FieldFormula;
Component Rowset &level1, &level2;
Local date &first_bgn_dt, &bgn_dt;
Local number &prev_duration;
Component number &pin_take_num_ssp, &refershrow;
Local boolean &link_flag;
/*initilalizing ¤t_duration to zero */
¤t_duration = 0;
&gp_abs_take = CreateRowset(Record.GP_ABS_TAKE);
&num_read = &gp_abs_take.Fill("where PIN_NUM=:1", GPGB_ABS_EVT_JR.PIN_TAKE_NUM);
If GP_PIN.PIN_CODE = "SSP AT1 GBR" Then
&pin_take_num_ssp = GPGB_ABS_EVT_JR.PIN_TAKE_NUM;
End-If;
&level1_row = CreateRowset(Record.GP_ABS_EVENT);
&level0 = GetLevel0();
&level1 = &level0.GetRow(1).GetRowset(Scroll.GP_ABS_EVENT);
&level1.CopyTo(&level1_row);
&level1_row.Sort(GP_ABS_EVENT.END_DT, "D");
&level2 = &level1.GetRow(1).GetRowset(Scroll.GPGB_ABS_EVT_JR);
&i = 1; /* to check it is not the first event */
&j = 0; /* to link the first event date */
&prev_end_day_half_ind = "";
&prev_all_days_ind = "";
&prev_pin_take_num = 0;
For &z = &level1_row.ActiveRowCount To 1 Step - 1
&emplid = &level1_row.getRow(&z).GP_ABS_EVENT.EMPLID.Value;
&empl_rcd = &level1_row.getRow(&z).GP_ABS_EVENT.EMPL_RCD.Value;
&bgn_dt = Date(&level1_row.getRow(&z).GP_ABS_EVENT.BGN_DT.Value);
&end_dt = Date(&level1_row.getRow(&z).GP_ABS_EVENT.END_DT.Value);
&begin_day_half_ind =
Upper(&level1_row.getRow(&z).GP_ABS_EVENT.BEGIN_DAY_HALF_IND.Value);
&end_day_half_ind =
Upper(&level1_row.getRow(&z).GP_ABS_EVENT.END_DAY_HALF_IND.Value);
&begin_day_hrs = &level1_row.getRow(&z).GP_ABS_EVENT.BEGIN_DAY_HRS.Value;
&end_day_hrs = &level1_row.getRow(&z).GP_ABS_EVENT.END_DAY_HRS.Value;
&all_days_ind = Upper(&level1_row.getRow(&z).GP_ABS_EVENT.ALL_DAYS_IND.Value);
&pin_take_num = &level1_row.getRow(&z).GP_ABS_EVENT.PIN_TAKE_NUM.Value;
If (&pin_take_num = &pin_take_num_ssp) Then
&a = Date(&bgn_dt);
&b = Date(&end_dt);
If All(&a, &b) Then
&c = AddToDate(&a, 0, 0, - 1);
¤t_duration = &b - &c;
End-If;
/* ¤t_duration = &end_dt - (&bgn_dt - 1); */
/* Check for Partial Hours - starts */
If (&begin_day_hrs > 0) Then
&begin_day_half_ind = "Y";
End-If;
If (&end_day_hrs > 0) Then
&end_day_half_ind = "Y";
End-If;
/* Check for Partial Hours - ends */
/* Check for All days indicator="Y" - starts */
If (&all_days_ind = "Y" And
Not (&link_flag)) Then
&first_bgn_dt = &bgn_dt;
&prev_duration = 0;
Else
/* &all_days_ind ="N" */
/* &i Checks - it is not the first event */
If (&i > 1) Then
&compare_dt = Date(&bgn_dt) - Date(&prev_end_dt);
If (&compare_dt = 1 And
&prev_end_day_half_ind = "N" And
&begin_day_half_ind = "N" And
&prev_all_days_ind = "N" And
&prev_pin_take_num = &pin_take_num And
&all_days_ind = "N") Then
/* And &all_days_ind = "N" */
/* link the absence events */
¤t_duration = ¤t_duration + &prev_duration;
&prev_duration = Calculate_Half_Days(&begin_day_half_ind,
&end_day_half_ind, ¤t_duration);
If (&j = 0) Then
&first_bgn_dt = &prev_bgn_dt;
&first_end_dt = &prevenddate;
End-If;
&j = &j + 1;
&link_flag = True;
Else /* Not linked reset &j */
If (&j >= 1 And
&link_flag
/* And &level1.ActiveRowCount &i */
) Then
Update_Abs(&emplid, &empl_rcd, &first_bgn_dt, &prev_end_dt,
&pin_take_num, &last_prev_duration);
&link_flag = False;
End-If;
&prev_duration = Calculate_Half_Days(&begin_day_half_ind,
&end_day_half_ind, ¤t_duration);
&link_flag = False;
&j = 0;
&first_bgn_dt = &bgn_dt;
End-If; /*compare_dt */
Else /* if i = 1 */
&first_bgn_dt = &bgn_dt;
If (&end_day_half_ind = "Y" Or
&begin_day_half_ind = "Y") Then
&prev_duration = Calculate_Half_Days(&begin_day_half_ind,
&end_day_half_ind, ¤t_duration);
End-If;
End-If; /* & i > 1 */
End-If; /* Check for All days indicator="Y" - ends */
&prev_bgn_dt = &bgn_dt;
&prev_end_dt = &end_dt;
&prev_duration = ¤t_duration;
If (&i = 1 And
&level1.ActiveRowCount = 1) Then
&prev_duration = Calculate_Half_Days(&begin_day_half_ind, &end_day_half_ind,
¤t_duration);
Update_Abs(&emplid, &empl_rcd, &first_bgn_dt, &end_dt, &pin_take_num,
&prev_duration);
End-If;
If (&j >= 1 And
&link_flag And
&level1.ActiveRowCount = &i) Or
(&all_days_ind = "Y") Then
If (&all_days_ind = "Y") Then
&prev_duration = 0;
&link_flag = False;
End-If;
Update_Abs(&emplid, &empl_rcd, &first_bgn_dt, &end_dt, &pin_take_num,
&prev_duration);
End-If;
If (&j = 0 And
Not (&link_flag) /*And
&i 1 */) Then
If (&z 1) Then
&k = &z - 1;
&next_emplid = &level1_row.getRow(&k).GP_ABS_EVENT.EMPLID.Value;
&next_empl_rcd = &level1_row.getRow(&k).GP_ABS_EVENT.EMPL_RCD.Value;
&next_bgn_dt = Date(&level1_row.getRow(&k).GP_ABS_EVENT.BGN_DT.Value);
&next_end_dt = Date(&level1_row.getRow(&k).GP_ABS_EVENT.END_DT.Value);
&next_begin_day_half_ind =
Upper(&level1_row.getRow(&k).GP_ABS_EVENT.BEGIN_DAY_HALF_IND.Value);
&next_end_day_half_ind =
Upper(&level1_row.getRow(&k).GP_ABS_EVENT.END_DAY_HALF_IND.Value);
&next_begin_day_hrs =
&level1_row.getRow(&k).GP_ABS_EVENT.BEGIN_DAY_HRS.Value;
&next_end_day_hrs = &level1_row.getRow(&k).GP_ABS_EVENT.END_DAY_HRS.Value;
&next_all_days_ind =
Upper(&level1_row.getRow(&k).GP_ABS_EVENT.ALL_DAYS_IND.Value);
&next_pin_take_num = &level1_row.getRow(&k).GP_ABS_EVENT.PIN_TAKE_NUM.Value;
&compare_dt2 = Date(&next_bgn_dt) - Date(&end_dt);
If (&next_emplid = GPGB_ABS_EVT_JR.EMPLID And
&next_empl_rcd = GPGB_ABS_EVT_JR.EMPL_RCD And
&compare_dt2 = 1 And
&end_day_half_ind = "N" And
&next_begin_day_half_ind = "N" And
&all_days_ind = "N" And
&next_pin_take_num = &pin_take_num_ssp) Then
Else
Update_Abs(&emplid, &empl_rcd, &first_bgn_dt, &end_dt, &pin_take_num,
&prev_duration);
End-If; /* 3 C */
Else /* k = 0 */
Update_Abs(&emplid, &empl_rcd, &first_bgn_dt, &end_dt, &pin_take_num,
&prev_duration);
End-If; /* relocate this 2 C */
End-If; /* 1C &j = 0 And
Not (&link_flag) */
&last_prev_duration = &prev_duration;
End-If; /* SSP Absence only */
&prev_end_day_half_ind = &end_day_half_ind;
&prev_all_days_ind = &all_days_ind;
&prev_pin_take_num = &pin_take_num;
&number_of_half_days = 0;
&i = &i + 1;
End-For;
/* CODE to mimic sort & synchronize */
If &refershrow > 0 Then
&refershrow = 0;
&level1.Refresh();
End-If;
PeopleCode (Record): GPGB_EDIFUNCLIB.GPGB_EDI_WORKS_ID.FieldFormula
[ . . . Unchanged Code not Shown . . . ]
Function SetStatDetails Returns boolean
/*On entry to this function, the following information should be in GPGB_EDILIB_AET...
1.National Id
2.Works Id (may be blank)
3.Last Name*/
/*
Local string &sWorksId, &sTrans;
Local number &iReps, &iRet, &iSeqNum, &iC;
Local boolean &bUpdReq
Local string &sTitle, &sParam1, &sParam2, , &sParam4, &sWhere, &sTaxMsg, &sNotes;
Local number &iMessNum, &iNIMatchLen;
Local string &sPathSep;
*/
Local boolean &bGotWorksIdMatch, &bGotNIMatch, &bGotSurnameMatch, &bStillCanDo,
&bGotMatch;
Local boolean &bOk, &bDefEmplRcd, &bMsg;
Local number &iCount, &iEmplRcd1, &iMessCat, &iMessNum, &getemplrcd;
Local string &sSurname, &sNationalId, &sEmplId1, &sMsg, &sSql, &sRet;
Local string &sParam1, &sParam2, &sParam3, &sParam4, &sTaxMsg;
Local SQL &sql;
Local Record &Rec, &Rec2;
&bStillCanDo = True;
&bGotWorksIdMatch = False;
&bGotNIMatch = False;
&bGotSurnameMatch = False;
&bDefEmplRcd = False;
&bGotMatch = False;
&iCount = 0;
&bOk = False;
&sSurname = RTrim(GPGB_EDILIB_AET.LAST_NAME);
&sNationalId = RTrim(GPGB_EDILIB_AET.NATIONAL_ID);
/*No Works Id specified - so try and match on National Id*/
If None(GPGB_EDILIB_AET.GPGB_EDI_WORKS_ID) And
All(&sNationalId) Then
&sEmplId1 = NIMatch(&sNationalId, &sSurname, True);
If All(&sEmplId1) Then
GPGB_EDILIB_AET.EMPLID = &sEmplId1;
/* GPGB_EDILIB_AET.EMPL_RCD = 0; */
/*
we have found the emplid. Now lets find the least(emplrcd)
which is active and belonging to uk payroll */
&sSql = "SELECT MIN(A.EMPL_RCD) FROM PS_PER_ORG_ASGN_VW A, PS_GPGB_EE_TAX B WHERE
A.EMPLID= B.EMPLID AND A.EMPL_RCD = B.EMPL_RCD AND A.EMPLID = :1";
SQLExec(&sSql, GPGB_EDILIB_AET.EMPLID, &getemplrcd);
If All(&getemplrcd) Then
GPGB_EDILIB_AET.EMPL_RCD = &getemplrcd;
End-If;
/* GPGB_EDILIB_AET.GPGB_EDI_WORKS_ID = GetWorksId(&sEmplId1, 0); */
GPGB_EDILIB_AET.GPGB_EDI_WORKS_ID = GetWorksId(&sEmplId1, &getemplrcd);
&bDefEmplRcd = True;
&bGotNIMatch = True;
Else
GPGB_EDILIB_AET.EMPLID = "";
End-If;
End-If;
/*Either have a works id specified in the file - or -
have matched on NI number.
If matched on NI number then &bDefEmplRcd will be true because we have matched
person not job - so have defaulted empl rcd to 0 and set works id based on that*/
If All(GPGB_EDILIB_AET.GPGB_EDI_WORKS_ID) And
Not &bDefEmplRcd Then
/*Works Id specified in file*/
GPGB_EDILIB_AET.EMPLID = GetEmplId(GPGB_EDILIB_AET.GPGB_EDI_WORKS_ID);
&iEmplRcd1 = GetEmplRcd(GPGB_EDILIB_AET.GPGB_EDI_WORKS_ID);
If &iEmplRcd1 = - 1 Then
/*If return from GetEmplRcd is -1 then no empl rcd has been supplied
so default to 0 and set works id*/
/* GPGB_EDILIB_AET.EMPL_RCD = 0; */
&sSql = "SELECT MIN(A.EMPL_RCD) FROM PS_PER_ORG_ASGN_VW A, PS_GPGB_EE_TAX B WHERE
A.EMPLID= B.EMPLID AND A.EMPL_RCD = B.EMPL_RCD AND A.EMPLID = :1";
SQLExec(&sSql, GPGB_EDILIB_AET.EMPLID, &getemplrcd);
If All(&getemplrcd) Then
GPGB_EDILIB_AET.EMPL_RCD = &getemplrcd;
End-If;
GPGB_EDILIB_AET.GPGB_EDI_WORKS_ID = GetWorksId(GPGB_EDILIB_AET.EMPLID,
GPGB_EDILIB_AET.EMPL_RCD);
/*set log that no empl rcd was found in the works id.*/
&sMsg = "P6/P9 Warning : no empl rcd provided in works id for employee %1 - defaulting
to " | &getemplrcd;
&bMsg = SetDtlMessage2(17135, 367, "WARNING", &sMsg, &sSurname,
String(&getemplrcd), "", "");
&bDefEmplRcd = True;
Else
GPGB_EDILIB_AET.EMPL_RCD = &iEmplRcd1;
End-If;
End-If;
/*Either have emplid from a national id match or from a correct works id.
Emplrcd will either be defaulted to 0 (from an NI match only) or will have
been retrieved from works id or defaulted to 0 if not set in works id.*/
If All(GPGB_EDILIB_AET.EMPLID) Then
/* Make sure have a job for the emplid,emplrcd combination.*/
&sSql = "SELECT COUNT(DISTINCT EMPLID) FROM PS_EMPLOYMENT WHERE EMPLID = :1 AND
EMPL_RCD = :2";
SQLExec(&sSql, GPGB_EDILIB_AET.EMPLID, GPGB_EDILIB_AET.EMPL_RCD, &iCount);
If &iCount = 0 Then
&bGotMatch = False;
&sMsg = "P6/P9 Error : could not find employee %1 (%2) employment information -
no update possible";
&bMsg = SetDtlMessage2(17135, 348, "ERROR", &sMsg, &sSurname,
GPGB_EDILIB_AET.GPGB_EDI_WORKS_ID, "", "");
&bStillCanDo = False;
Else
&bGotMatch = True;
/* If GPGB_EDILIB_AET.EMPL_RCD = 0 And */
If GPGB_EDILIB_AET.EMPL_RCD = &getemplrcd And
&bDefEmplRcd Then
/*Empld rcd has been defaulted (either because only NI number was provided)
or because it wasn't found in the works id.
Check to see if got multiple jobs for this ee*/
&sSql = "SELECT COUNT(DISTINCT EMPL_RCD) FROM PS_EMPLOYMENT WHERE EMPLID = :1";
SQLExec(&sSql, GPGB_EDILIB_AET.EMPLID, &iCount);
If &iCount > 1 Then
/*multiple job ee - set warning that updating job 0 of multiple jobs*/
rem need to modify this message such that o is replaxced by getemplrcd value;
&sMsg = "P6/P9 Warning : employee %1 has multiple jobs - will only update
empl rcd " | &getemplrcd;
&bMsg = SetDtlMessage2(17135, 366, "WARNING", &sMsg, &sSurname,
String(&getemplrcd), "", "");
End-If;
Else
/*indicates got a worksid match straight from file - without any defaulting etc*/
&bGotWorksIdMatch = True;
&sMsg = "P6/P9 Info : employee %1 (%2) has a works id match";
&bMsg = SetDtlMessage2(17135, 380, "INFO", &sMsg, &sSurname,
(GPGB_EDILIB_AET.GPGB_EDI_WORKS_ID), "", "");
End-If;
End-If;
End-If;
/*
Need to have a 2 out of 3 match ie (in order of pref) WorksId,NI,Surname.
At this point either have and NI and WorksId or just WorksId.
If just WorksId (because was supplied) then try and match NI.
*/
If Not &bGotNIMatch And
All(GPGB_EDILIB_AET.EMPLID) Then
&sEmplId1 = NIMatch(&sNationalId, &sSurname, True);
If &sEmplId1 GPGB_EDILIB_AET.EMPLID Then
If All(&sEmplId1, &sNationalId) Then
GPGB_EDILIB_AET.EMPLID = &sEmplId1;
End-If;
&sSql = "SELECT NATIONAL_ID FROM PS_PERS_NID WHERE EMPLID = :1";
SQLExec(&sSql, GPGB_EDILIB_AET.EMPLID, &sRet);
If &sRet &sNationalId Then
&sMsg = "P6/P9 Error : employee %1 (%2) NI numbers don't match %3 - no update
possible";
&sParam3 = MsgGetText(17135, 377, "(%1 in system versus %2 in transaction)",
&sRet, &sNationalId);
&bMsg = SetDtlMessage2(17135, 376, "ERROR", &sMsg, &sSurname,
(GPGB_EDILIB_AET.GPGB_EDI_WORKS_ID), &sParam3, "");
&bGotMatch = False;
Else
&bGotNIMatch = True;
&bGotWorksIdMatch = True;
End-If;
Else
&bGotNIMatch = True;
&bGotWorksIdMatch = True
End-If;
End-If;
/*
Check on surname
*/
If All(GPGB_EDILIB_AET.EMPLID) Then
&sSql = "SELECT LAST_NAME FROM PS_PERSON_NAME WHERE EMPLID = :1";
SQLExec(&sSql, GPGB_EDILIB_AET.EMPLID, &sRet);
&sRet = Upper(&sRet);
If &sRet &sSurname Then
If &bGotWorksIdMatch And
&bGotNIMatch Then
/*Got 2 out of 3 - display a warning and continue*/
&sMsg = "P6/P9 Warning : employee %1 (%2) surname doesn't match %3 - processing
continues";
&sRet = "(" | &sRet | " in system versus " | &sSurname | " in transaction)";
&sParam3 = MsgGetText(17135, 377, "(%1 in system versus %2 in transaction)",
&sRet, &sSurname);
&bMsg = SetDtlMessage2(17135, 378, "WARNING", &sMsg, &sSurname,
(GPGB_EDILIB_AET.GPGB_EDI_WORKS_ID), &sRet, "");
Else
/*Only got 1 out of 3 - so error*/
&sMsg = "P6/P9 Error : employee %1 (%2) surname doesn't match %3 - no update
possible";
&sRet = "(" | &sRet | " in system versus " | &sSurname | " in transaction)";
&sParam3 = MsgGetText(17135, 377, "(%1 in system versus %2 in transaction)",
&sRet, &sSurname);
&bMsg = SetDtlMessage2(17135, 379, "ERROR", &sMsg, &sSurname,
(GPGB_EDILIB_AET.GPGB_EDI_WORKS_ID), &sRet, "");
&bGotMatch = False;
End-If;
Else
&sMsg = "P6/P9 Info : employee %1 (%2) has a surname match";
&bMsg = SetDtlMessage2(17135, 381, "INFO", &sMsg, &sSurname,
(GPGB_EDILIB_AET.GPGB_EDI_WORKS_ID), "", "");
&bGotMatch = True;
End-If;
End-If;
If &bGotMatch Then
&bOk = True;
/*&bUpdReq = False; VK: Variable is no longer used*/
/*Check for future rows*/
SQLExec("SELECT COUNT(DISTINCT EMPLID) FROM PS_GPGB_EE_TAX WHERE EMPLID = :1 AND
EMPL_RCD = :2 AND EFFDT > %DateIn(:3)", GPGB_EDILIB_AET.EMPLID, GPGB_EDILIB_AET.EMPL_RCD,
GPGB_EDILIB_AET.EFFDT, &iCount);
If &iCount > 0 Then
&bOk = False;
&sMsg = "P6/P9 Error : employee %1 (%2) has future dated rows - no update possible";
&bMsg = SetDtlMessage2(17135, 351, "ERROR", &sMsg, &sSurname,
GetWorksId(GPGB_EDILIB_AET.EMPLID, GPGB_EDILIB_AET.EMPL_RCD), "", "");
&bMsg = P6AdditionalInfo(&sSurname);
End-If;
/*The following code has been commented out as the checking for current row is no
longer required. A new record is inserted irrespective of the notification source
in the current row in the tax record.
If &bOk Then
&sTrans = "";
SQLExec("SELECT GPGB_TAX_CD_SRC FROM PS_GPGB_EE_TAX WHERE EMPLID = :1 AND EMPL_RCD
= :2 AND EFFDT = %DateIn(:3)", GPGB_EDILIB_AET.EMPLID, GPGB_EDILIB_AET.EMPL_RCD,
GPGB_EDILIB_AET.EFFDT, &sTrans);
If All(&sTrans) Then
&bOk = (RTrim(&sTrans) = RTrim(GPGB_EDILIB_AET.GPGB_EDI_TRANS));
&bUpdReq = &bOk;
End-If;
End-If;
*/
/* ADDITIONAL; LOGIC FOR PROCESSING */
SQLExec("SELECT COUNT(DISTINCT EMPLID) FROM PS_GPGB_EE_TAX WHERE EMPLID = :1 AND
EMPL_RCD = :2 ", GPGB_EDILIB_AET.EMPLID, GPGB_EDILIB_AET.EMPL_RCD, &iCount);
If &iCount = 0 Then
&bOk = False;
&sMsg = "P6/P9 Error : No Employment Record Available For Update";
&bMsg = SetDtlMessage2(17135, 536, "ERROR", &sMsg, &sSurname,
GetWorksId(GPGB_EDILIB_AET.EMPLID, GPGB_EDILIB_AET.EMPL_RCD), "", "");
End-If;
If &bOk Then
&Rec = CreateRecord(Record.GPGB_EE_TAX);
&Rec.EMPLID.Value = GPGB_EDILIB_AET.EMPLID;
&Rec.EMPL_RCD.Value = GPGB_EDILIB_AET.EMPL_RCD;
&sql = CreateSQL("%SelectAll(:1 A) WHERE A.EMPLID = :2 AND A.EMPL_RCD = :3 AND
A.EFFDT = (SELECT MAX(B.EFFDT) FROM PS_GPGB_EE_TAX B WHERE A.EMPLID = B.EMPLID AND A.EMPL_RCD
= B.EMPL_RCD AND B.EFFDT "S" Then
&Rec.TAXCODE_UK.Value = "S" | &Rec.TAXCODE_UK.Value;
End-If;
End-If;
/*set tax basis*/
If GPGB_EDILIB_AET.TAX_BASIS_UK = "1" Then
&Rec.TAX_BASIS_UK.Value = "1";
Else
&Rec.TAX_BASIS_UK.Value = "0";
End-If;
/*set other fields*/
&Rec.GPGB_SV_TAX_IND.Value = GPGB_EDILIB_AET.GPGB_SV_TAX_IND;
/*GPGB_TAX_CD_ALPHA, GPGB_TAX_CD_NUM get set by parsetaxcode function below*/
&Rec.GPGB_TAX_CD_ISSUE.Value = GPGB_EDILIB_AET.GPGB_TAX_CD_ISSUE;
GPGB_EDILIB_AET.GPGB_TAX_YR_END = String(GPGB_EDILIB_AET.GPGB_P45_TXYR + 1);
&Rec.GPGB_TAX_YR_END.Value = GPGB_EDILIB_AET.GPGB_TAX_YR_END;
&Rec.GPGB_P46_STATMNTA.Value = " ";
&Rec.GPGB_P46_STATMNTB.Value = " ";
&Rec.GPGB_P46_STATMNTC.Value = " ";
&Rec.GPGB_PREV_ER_PAYE.Value = " ";
&Rec.GPGB_ER_TAXNUM.Value = 0;
&Rec.GPGB_LEAVE_DT.SetDefault();
&Rec.GPGB_PREV_PERIOD.Value = 0;
&Rec.GPGB_PREV_WKMTH.Value = " ";
&Rec.GPGB_P45_TXYR.Value = GPGB_EDILIB_AET.GPGB_P45_TXYR;
&Rec.GPGB_PREV_TX_BASIS.Value = " ";
&Rec.GPGB_PREV_TAX_CD.Value = " ";
&Rec.GPGB_PREV_SVTAXIND.Value = " ";
&sSql = "SELECT MAX(GPGB_P45_TXYR) FROM PS_GPGB_EE_TAX WHERE EMPLID = :1 AND
GPGB_TAX_CD_SRC IN ('P45','P6','P6T','P6B')";
SQLExec(&sSql, GPGB_EDILIB_AET.EMPLID, &TEMP);
/*NEW CODE ADDED 1830162001
*/
&ssql45 = "SELECT GPGB_P45_PAY_TD,GPGB_P45_TAX_TD FROM PS_GPGB_EE_TAX WHERE
EMPLID = :1 AND GPGB_TAX_CD_SRC IN('P45','P6','P6T','P6B') AND GPGB_P45_TXYR =:2";
SQLExec(&ssql45, GPGB_EDILIB_AET.EMPLID, &TEMP, &t1, &t2);
If GPGB_EDILIB_AET.GPGB_P45_PAY_TD 0 Then
&Rec.GPGB_P45_PAY_TD.Value = GPGB_EDILIB_AET.GPGB_P45_PAY_TD;
Else
If GPGB_EDILIB_AET.GPGB_P45_TXYR &TEMP Then
&Rec.GPGB_P45_PAY_TD.Value = 0;
Else
/*Remark the Boolean variable is used and checked because irrespective
of the tax1 getting specified as 00 or __ the value returned is 0 and the multiple cases
will fail if we just check for none or spaces.*/
If &EdiP6P9Copy And
None(GPGB_EDILIB_AET.GPGB_P45_PAY_TD) Then
&Rec.GPGB_P45_PAY_TD.Value = 0;
Else
If None(GPGB_EDILIB_AET.GPGB_P45_PAY_TD) Then
&Rec.GPGB_P45_PAY_TD.Value = &t1;
Local boolean &ISNEXTYR = False;
Local date &PREV_TAXYR;
Local number &t1, &t2;
SQLExec("SELECT %DATEOUT(A.EFFDT),A.GPGB_TAX_YR_END,A.GPGB_P45_PAY_TD,
A.GPGB_P45_TAX_TD FROM PS_GPGB_EE_TAX A WHERE A.EMPLID=:1 AND A.EMPL_RCD =:2 AND
((A.GPGB_TAX_CD_SRC='P6') or (A.GPGB_TAX_CD_SRC='P6T') OR (A.GPGB_TAX_CD_SRC='P6B')OR (
A.GPGB_TAX_CD_SRC='P45'))and A.EFFDT=(SELECT MAX(B.EFFDT) FROM PS_GPGB_EE_TAX B WHERE
B.EMPLID=A.EMPLID AND B.EMPL_RCD= A.EMPL_RCD AND A.GPGB_TAX_CD_SRC = B.GPGB_TAX_CD_SRC AND
B.EFFDT = &CUR_DATECHK) And
(&PREV_TAXYR 0 Then
&Rec.GPGB_P45_TAX_TD.Value = GPGB_EDILIB_AET.GPGB_P45_TAX_TD;
Else
If GPGB_EDILIB_AET.GPGB_P45_TXYR &TEMP Then
&Rec.GPGB_P45_TAX_TD.Value = 0;
Else
If &EdiP6P9Copy And
None(GPGB_EDILIB_AET.GPGB_P45_PAY_TD) Then
&Rec.GPGB_P45_TAX_TD.Value = 0;
If (GPGB_EDILIB_AET.GPGB_P45_PAY_TD 0 And
&ISNEXTYR = True) Then
Else
If None(GPGB_EDILIB_AET.GPGB_P45_PAY_TD) Then
&Rec.GPGB_P45_TAX_TD.Value = &t2;
GPGB_EDILIB_AET.GPGB_P45_PAY_TD.Value = 0;
GPGB_EDILIB_AET.GPGB_P45_TAX_TD.Value = 0;
GPGB_EDILIB_AET.GPGB_TAX_YR_END.Value = "";
End-If;
End-If;
End-If;
/*NEW CODE ENDED 1830162001*/
End-If;
&Rec.GPGB_P45_PAY_TD.Value = GPGB_EDILIB_AET.GPGB_P45_PAY_TD;
&Rec.GPGB_P45_TAX_TD.Value = GPGB_EDILIB_AET.GPGB_P45_TAX_TD;
&Rec.GPGB_P45_STLOAN.Value = " ";
&Rec.GPGB_P45_CAL_RUN.Value = " ";
&Rec.GPGB_EDI_REF.Value = 0;
&Rec.LEAVE_DT.Value = Date(0);
&Rec.LASTUPDDTTM.Value = %Datetime;
&Rec.LASTUPDOPRID.Value = GPGB_EDILIB_AET.OPRID;
/* ADDED to replicate defaulting */
Local string &P45CALRUN;
Local date &LEAVDT;
Local number &ediref;
&sSql = "SELECT A.GPGB_P45_CAL_RUN,%dateout(A.LEAVE_DT),A.GPGB_EDI_REF FROM
PS_GPGB_EE_TAX A WHERE A.EMPLID = :1 AND A.EMPL_RCD = :2 and A.EFFDT = (SELECT MAX(B.EFFDT)
FROM PS_GPGB_EE_TAX B WHERE A.EMPLID = B.EMPLID AND A.EMPL_RCD = B.EMPL_RCD AND B.EFFDT 0 Then
&bOk = False;
&sMsg = "P6/P9 Error : employee %1 (%2) tax code error of: %3 - no update
possible";
&bMsg = SetDtlMessage2(17135, 352, "ERROR", &sMsg, &sSurname,
GPGB_EDILIB_AET.GPGB_EDI_WORKS_ID, &sTaxMsg, "");
&bMsg = P6AdditionalInfo(&sSurname);
End-If;
If &bOk Then
If GPGB_EDILIB_AET.GPGB_EDI_RUN_TYPE = "0" Then /*Final Run*/
/*A new row is always inserted since EFFSEQ is availabe. Therefore this
check is no longer required.
If &bUpdReq Then
&bOk = &Rec.Update();
&sMsg = "P6/P9 Status : updated employee %1 (%2) current P6/P9
details";
&bMsg = SetDtlMessage2(17135, 365, "STATUS", &sMsg, &sSurname,
GPGB_EDILIB_AET.GPGB_EDI_WORKS_ID, "", "");
Else*/
&bOk = &Rec.Insert();
If &bOk Then
&bOk = &Rec2.Insert();
End-If;
/*write message saying ee inserted*/
&sMsg = "P6/P9 Status : added employee %1 (%2) P6/P9 details";
&bMsg = SetDtlMessage2(17135, 364, "STATUS", &sMsg, &sSurname,
GPGB_EDILIB_AET.GPGB_EDI_WORKS_ID, "", "");
/*End-If;*/
End-If; /*Final Run Check*/
End-If; /*bOk - taxcode parses*/
End-If; /*sql fetch*/
Else
&sMsg = "P6/P9 Error : employee %1 (%2) has an existing row on the same date - no
update possible";
&bMsg = SetDtlMessage2(17135, 350, "ERROR", &sMsg, &sSurname,
GetWorksId(GPGB_EDILIB_AET.EMPLID, GPGB_EDILIB_AET.EMPL_RCD), "", "");
&bMsg = P6AdditionalInfo(&sSurname);
End-If; /*data conflict checks*/
Else
&bMsg = P6AdditionalInfo(&sSurname);
End-If; /*got match*/
/*Clear down discretionary ee fields - might not be read for next ee in file*/
GPGB_EDILIB_AET.GPGB_P45_PAY_TD = 0;
GPGB_EDILIB_AET.GPGB_P45_TAX_TD = 0;
GPGB_EDILIB_AET.GPGB_P45_TXYR = 0;
GPGB_EDILIB_AET.GPGB_SV_TAX_IND = " ";
GPGB_EDILIB_AET.TAX_BASIS_UK = " ";
Return &bOk;
End-Function;
[ . . . Unchanged Code not Shown . . . ]
PeopleCode (Record): GPGB_RNCTL_EDI.GPGB_UNIQUE_ID.SaveEdit
rem EDI Transaction p14 Unique Id cannot be blank for Final Run;
If (GPGB_RNCTL_EDI.GPGB_EDI_TRANS = "P14") Then
If GPGB_RNCTL_EDI.GPGB_EDI_RUN_TYPE.Value = 0 Then
If (None(GPGB_RNCTL_EDI.GPGB_UNIQUE_ID) Or
GPGB_RNCTL_EDI.GPGB_UNIQUE_ID = "") Then
Error MsgGet(17130, 253, "For P14 Final Run,the Unique ID field must not be
blank.");
End-If;
End-If;
End-If;
PeopleCode (Record): GP_ACCUMULATOR.ENTRY_TYPE_USER_K1.FieldFormula
Function ManageUserKeyDisplay;
/*If arrears accumulator and earnings that it is an arrears accumulator for has driver
or user fields defined then disable the fields*/
If %Mode "A" Then
&RET_VAL = "";
&RET_PIN_DRV = "";
SQLExec("SELECT 'X' FROM PS_GP_PIN B WHERE B.PIN_DRIVER_NUM = :1", GP_PIN.PIN_NUM,
&RET_PIN_DRV);
If All(&RET_PIN_DRV) Then
rem SQLExec("SELECT 'X' FROM PS_GP_RSLT_ACUM A where A.PIN_NUM = :1",
GP_PIN.PIN_NUM, &RET_VAL);
SQLExec("SELECT 'X' FROM PS_INSTALLATION WHERE EXISTS (SELECT 'X' FROM
PS_GP_RSLT_ACUM A where A.PIN_NUM = :1)", GP_PIN.PIN_NUM, &RET_VAL);
End-If;
/*If &RET_VAL = "" Then
SQLExec("SELECT 'X' FROM PS_GP_RSLT_ERN_DED A WHERE EXISTS (SELECT 'X' FROM
PS_GP_PIN B WHERE A.PIN_NUM = B.PIN_NUM AND B.PIN_DRIVER_NUM = :1)", GP_PIN.PIN_NUM,
&RET_VAL);
End-If;*/
If (All(&RET_PIN_DRV) And
&RET_VAL = "") Then
SQLExec("SELECT 'X' FROM PS_INSTALLATION WHERE EXISTS (SELECT 'X' FROM
PS_GP_RSLT_ERN_DED A WHERE A.PIN_NUM = (SELECT B.PIN_NUM FROM PS_GP_PIN B WHERE
B.PIN_DRIVER_NUM = :1))", GP_PIN.PIN_NUM, &RET_VAL);
SQLExec("SELECT 'X' FROM PS_INSTALLATION WHERE EXISTS (SELECT 'X' FROM
PS_GP_RSLT_ERN_DED A WHERE A.PIN_NUM IN (SELECT B.PIN_NUM FROM PS_GP_PIN B WHERE
B.PIN_DRIVER_NUM = :1))", GP_PIN.PIN_NUM, &RET_VAL);
End-If;
If &RET_VAL = "" Then
SQLExec("SELECT 'X' FROM PS_GP_PIN_CMPNT A WHERE EXISTS (SELECT 'X' FROM PS_GP_PIN
B WHERE A.PIN_NUM = B.PIN_NUM AND (B.PIN_DRIVER_NUM 0 OR B.ENTRY_TYPE_USER_F1 ' ' ))
AND A.PIN_ARR_ACM_NUM = :1", GP_PIN.PIN_NUM, &RET_VAL);
End-If;
If All(&RET_VAL) Then
GP_ACCUMULATOR.ENTRY_TYPE_USER_K1.Enabled = False;
GetField(GP_ACCUMULATOR.PIN_USER_KEY1_NUM).GetRelated(GP_PIN_NM_VW.PIN_NM).Enabled =
False;
GetField(GP_ACCUMULATOR.PIN_USER_KEY1_NUM).GetRelated(GP_PIN_NM_VW.PIN_NM).ShowRequired
FieldCue = False;
GP_ACCUMULATOR.ENTRY_TYPE_USER_K2.Enabled = False;
GetField(GP_ACCUMULATOR.PIN_USER_KEY2_NUM).GetRelated(GP_PIN_NM_VW.PIN_NM).Enabled =
False;
GetField(GP_ACCUMULATOR.PIN_USER_KEY2_NUM).GetRelated(GP_PIN_NM_VW.PIN_NM).ShowRequired
FieldCue = False;
GP_ACCUMULATOR.ENTRY_TYPE_USER_K3.Enabled = False;
GetField(GP_ACCUMULATOR.PIN_USER_KEY3_NUM).GetRelated(GP_PIN_NM_VW.PIN_NM).Enabled =
False;
GetField(GP_ACCUMULATOR.PIN_USER_KEY3_NUM).GetRelated(GP_PIN_NM_VW.PIN_NM).ShowRequired
FieldCue = False;
GP_ACCUMULATOR.ENTRY_TYPE_USER_K4.Enabled = False;
GetField(GP_ACCUMULATOR.PIN_USER_KEY4_NUM).GetRelated(GP_PIN_NM_VW.PIN_NM).Enabled =
False;
GetField(GP_ACCUMULATOR.PIN_USER_KEY4_NUM).GetRelated(GP_PIN_NM_VW.PIN_NM).ShowRequired
FieldCue = False;
GP_ACCUMULATOR.ENTRY_TYPE_USER_K5.Enabled = False;
GetField(GP_ACCUMULATOR.PIN_USER_KEY5_NUM).GetRelated(GP_PIN_NM_VW.PIN_NM).Enabled =
False;
GetField(GP_ACCUMULATOR.PIN_USER_KEY5_NUM).GetRelated(GP_PIN_NM_VW.PIN_NM).ShowRequired
FieldCue = False;
GP_ACCUMULATOR.ENTRY_TYPE_USER_K6.Enabled = False;
GetField(GP_ACCUMULATOR.PIN_USER_KEY6_NUM).GetRelated(GP_PIN_NM_VW.PIN_NM).Enabled =
False;
GetField(GP_ACCUMULATOR.PIN_USER_KEY6_NUM).GetRelated(GP_PIN_NM_VW.PIN_NM).ShowRequired
FieldCue = False;
End-If;
End-If;
If %Mode = "A" Or
None(&RET_VAL) Then
If All(GP_ACCUMULATOR.ENTRY_TYPE_USER_K1) Then
GetField(GP_ACCUMULATOR.PIN_USER_KEY1_NUM).GetRelated(GP_PIN_NM_VW.PIN_NM).Enabled =
True;
GetField(GP_ACCUMULATOR.PIN_USER_KEY1_NUM).GetRelated(GP_PIN_NM_VW.PIN_NM).ShowRequired
FieldCue = True;
UnGray(GP_ACCUMULATOR.ENTRY_TYPE_USER_K2);
Else
GetField(GP_ACCUMULATOR.PIN_USER_KEY1_NUM).GetRelated(GP_PIN_NM_VW.PIN_NM).Enabled =
False;
Gray(GP_ACCUMULATOR.ENTRY_TYPE_USER_K2);
End-If;
If All(GP_ACCUMULATOR.ENTRY_TYPE_USER_K2) Then
GetField(GP_ACCUMULATOR.PIN_USER_KEY2_NUM).GetRelated(GP_PIN_NM_VW.PIN_NM).Enabled =
True;
GetField(GP_ACCUMULATOR.PIN_USER_KEY2_NUM).GetRelated(GP_PIN_NM_VW.PIN_NM).ShowRequired
FieldCue = True;
UnGray(GP_ACCUMULATOR.ENTRY_TYPE_USER_K3);
Else
GetField(GP_ACCUMULATOR.PIN_USER_KEY2_NUM).GetRelated(GP_PIN_NM_VW.PIN_NM).Enabled =
False;
Gray(GP_ACCUMULATOR.ENTRY_TYPE_USER_K3);
End-If;
If All(GP_ACCUMULATOR.ENTRY_TYPE_USER_K3) Then
GetField(GP_ACCUMULATOR.PIN_USER_KEY3_NUM).GetRelated(GP_PIN_NM_VW.PIN_NM).Enabled =
True;
GetField(GP_ACCUMULATOR.PIN_USER_KEY3_NUM).GetRelated(GP_PIN_NM_VW.PIN_NM).ShowRequired
FieldCue = True;
UnGray(GP_ACCUMULATOR.ENTRY_TYPE_USER_K4);
Else
GetField(GP_ACCUMULATOR.PIN_USER_KEY3_NUM).GetRelated(GP_PIN_NM_VW.PIN_NM).Enabled =
False;
Gray(GP_ACCUMULATOR.ENTRY_TYPE_USER_K4);
End-If;
If All(GP_ACCUMULATOR.PIN_USER_KEY4_NUM) Then
GetField(GP_ACCUMULATOR.PIN_USER_KEY4_NUM).GetRelated(GP_PIN_NM_VW.PIN_NM).Enabled =
True;
GetField(GP_ACCUMULATOR.PIN_USER_KEY4_NUM).GetRelated(GP_PIN_NM_VW.PIN_NM).ShowRequired
FieldCue = True;
UnGray(GP_ACCUMULATOR.ENTRY_TYPE_USER_K5);
Else
GetField(GP_ACCUMULATOR.PIN_USER_KEY4_NUM).GetRelated(GP_PIN_NM_VW.PIN_NM).Enabled =
False;
Gray(GP_ACCUMULATOR.ENTRY_TYPE_USER_K5);
End-If;
If All(GP_ACCUMULATOR.PIN_USER_KEY5_NUM) Then
GetField(GP_ACCUMULATOR.PIN_USER_KEY5_NUM).GetRelated(GP_PIN_NM_VW.PIN_NM).Enabled =
True;
GetField(GP_ACCUMULATOR.PIN_USER_KEY5_NUM).GetRelated(GP_PIN_NM_VW.PIN_NM).ShowRequired
FieldCue = True;
UnGray(GP_ACCUMULATOR.ENTRY_TYPE_USER_K6);
Else
GetField(GP_ACCUMULATOR.PIN_USER_KEY5_NUM).GetRelated(GP_PIN_NM_VW.PIN_NM).Enabled =
False;
Gray(GP_ACCUMULATOR.ENTRY_TYPE_USER_K6);
End-If;
If All(GP_ACCUMULATOR.PIN_USER_KEY6_NUM) Then
GetField(GP_ACCUMULATOR.PIN_USER_KEY6_NUM).GetRelated(GP_PIN_NM_VW.PIN_NM).Enabled =
True;
GetField(GP_ACCUMULATOR.PIN_USER_KEY6_NUM).GetRelated(GP_PIN_NM_VW.PIN_NM).ShowRequired
FieldCue = True;
Else
GetField(GP_ACCUMULATOR.PIN_USER_KEY6_NUM).GetRelated(GP_PIN_NM_VW.PIN_NM).Enabled =
False;
End-If;
End-If;
End-Function;
[ . . . Unchanged Code not Shown . . . ]
PeopleCode (ApplEng): GPCH_AE_ELM.STAX_VD GBLdefault 1900-01-01.Step01.OnExecute
[ . . . Unchanged Code not Shown . . . ]
/**************Start of Main Code for Source Tax File creation
*******************************************/
SQLExec("select FILENAME from PS_GPCH_EG_FSTATUS WHERE GPCH_EG_DOMAINID = :1 and
GPCH_RC_PAY_YEAR =:2 and COMPANY=:3 and GPCH_EG_REQUEST_ID = :4 ",
GPCHELM_AET.GPCH_EG_DOMAINID, GPCHELM_AET.GPCH_RC_PAY_YEAR, GPCHELM_AET.COMPANY,
GPCHELM_AET.GPCH_EG_REQUEST_ID, &FileName_Stax);
If Not None(&FileName_Stax) Then
Exit 1;
End-If;
&numSeq = 1;
SQLExec("select GPCH_EG_PROP_LONG from PS_GPCH_EG_VAL_PRS Where GPCH_EG_PRCS_NM = 'ELM' AND
GPCH_EG_PROP_NM = 'XML_Version'", &XML_Version);
/* Check what mode the Source tax Report is Run
Modes -> Y= Yearly ,M=Monthly, Q= Quarterly */
&rs0 = CreateRowset(Record.GPCH_EG_REPORTS);
&rs0.Fill("WHERE GPCH_EG_DOMAINID = :1 and GPCH_RC_PAY_YEAR =:2 and COMPANY=:3 and
GPCH_SI_PROV_TYPE = :4 and %Datein(GPCH_AL_CPAY_ENDDT) = ( select
%Datein(R1.GPCH_AL_CPAY_ENDDT) from PS_GPCH_RC_PAYROLL R1 where R1.GPCH_EG_DOMAINID = :1
and R1.GPCH_RC_PAY_YEAR =:2 and R1.COMPANY=:3 and OPRID=%OperatorId and RUN_CNTL_ID=:5) "
| &Employeecrit, GPCHELM_AET.GPCH_EG_DOMAINID, GPCHELM_AET.GPCH_RC_PAY_YEAR,
GPCHELM_AET.COMPANY, "A", GPCHELM_AET.RUN_CNTL_ID);
If &rs0.ActiveRowCount 0 Then
&Report_type =
&rs0.GetRow(1).GetRecord(Record.GPCH_EG_REPORTS).GetField(Field.GPCH_EG_RPT_TYPE).Value
;
End-If;
Warning ("before GPCH_EG_PERSON = ");
&rs = CreateRowset(Record.GPCH_EG_PERSON);
&rs2 = CreateRowset(Record.GPCH_EG_PHEADER);
&rs3 = CreateRowset(Record.GPCH_EG_PTOTALS);
&rs2.Fill("WHERE GPCH_EG_DOMAINID = :1 and GPCH_RC_PAY_YEAR =:2 and COMPANY=:3 and
GPCH_EG_REQUEST_ID = :4 ", GPCHELM_AET.GPCH_EG_DOMAINID, GPCHELM_AET.GPCH_RC_PAY_YEAR,
GPCHELM_AET.COMPANY, GPCHELM_AET.GPCH_EG_REQUEST_ID);
&Provider_type =
&rs2.GetRow(1).GetRecord(Record.GPCH_EG_PHEADER).GetField(Field.GPCH_SI_PROV_CD).Value;
&rs3.Fill("WHERE GPCH_EG_DOMAINID = :1 and GPCH_RC_PAY_YEAR =:2 and COMPANY=:3 and
GPCH_EG_REQUEST_ID = :4 and GPCH_SI_PROV_TYPE = :5 and GPCH_SI_PROV_CD= :6 ",
GPCHELM_AET.GPCH_EG_DOMAINID, GPCHELM_AET.GPCH_RC_PAY_YEAR, GPCHELM_AET.COMPANY,
GPCHELM_AET.GPCH_EG_REQUEST_ID, "A", &Provider_type);
&Totals =
&rs3.GetRow(1).GetRecord(Record.GPCH_EG_PTOTALS).GetField(Field.GPCH_EG_CMP_XML).Value;
/* Find customer ID */
&DummyTotals = &XML_Version | "" | &Totals | "";
&DummyXml = &XML_Version | "" |
&rs2.GetRow(1).GetRecord(Record.GPCH_EG_PHEADER).GetField(Field.FILE_DATA_CHAR).Value |
"";
&CustomerId = GetCustomerNumber(&DummyXml);
/*FMB 20100708 hardcoded for test */
rem &CustomerId = "1500460";
&Employeecrit = "Order by EMPLID";
Evaluate &Report_type
When "Y"
&Begindt = GPCHELM_AET.GPCH_RC_PAY_YEAR | "-01-01";
&Enddt = GPCHELM_AET.GPCH_RC_PAY_YEAR | "-12-31";
&rs.Fill("WHERE GPCH_EG_DOMAINID = :1 and GPCH_RC_PAY_YEAR =:2 and COMPANY=:3 and
GPCH_SI_PROV_TYPE = :4 and BEGIN_DT =%Datein(:5) and END_DT=%Datein(:6) " | &Employeecrit,
GPCHELM_AET.GPCH_EG_DOMAINID, GPCHELM_AET.GPCH_RC_PAY_YEAR, GPCHELM_AET.COMPANY, "A",
&Begindt, &Enddt);
Break;
When "M"
&Enddt =
&rs0.GetRow(1).GetRecord(Record.GPCH_EG_REPORTS).GetField(Field.GPCH_AL_CPAY_ENDDT).Val
ue;
&Month = Month(&Enddt);
If Len(&Month) = 1 Then
&Month = "0" | &Month;
End-If;
&Begindt = GPCHELM_AET.GPCH_RC_PAY_YEAR | "-" | &Month | "-01";
&rs.Fill("WHERE GPCH_EG_DOMAINID = :1 and GPCH_RC_PAY_YEAR =:2 and COMPANY=:3 and
GPCH_SI_PROV_TYPE = :4 and BEGIN_DT =%Datein(:5) and END_DT=%Datein(:6) " | &Employeecrit,
GPCHELM_AET.GPCH_EG_DOMAINID, GPCHELM_AET.GPCH_RC_PAY_YEAR, GPCHELM_AET.COMPANY, "A",
&Begindt, &Enddt);
Break;
When "Q"
&QuaterType =
&rs0.GetRow(1).GetRecord(Record.GPCH_EG_REPORTS).GetField(Field.GPCH_FK_QUARTER).Value;
Evaluate &QuaterType
When "1"
&Begindt = GPCHELM_AET.GPCH_RC_PAY_YEAR | "-01-01";
&Enddt = GPCHELM_AET.GPCH_RC_PAY_YEAR | "-03-31";
&quarter = "01";
Break;
When "2"
&Begindt = GPCHELM_AET.GPCH_RC_PAY_YEAR | "-04-01";
&Enddt = GPCHELM_AET.GPCH_RC_PAY_YEAR | "-06-30";
&quarter = "02";
Break;
When "3"
&Begindt = GPCHELM_AET.GPCH_RC_PAY_YEAR | "-07-01";
&Enddt = GPCHELM_AET.GPCH_RC_PAY_YEAR | "-09-30";
&quarter = "03";
Break;
When "4"
&Begindt = GPCHELM_AET.GPCH_RC_PAY_YEAR | "-10-01";
&Enddt = GPCHELM_AET.GPCH_RC_PAY_YEAR | "-12-31";
&quarter = "04";
Break;
End-Evaluate;
&rs.Fill("WHERE GPCH_EG_DOMAINID = :1 and GPCH_RC_PAY_YEAR =:2 and COMPANY=:3 and
GPCH_SI_PROV_TYPE = :4 and BEGIN_DT =%Datein(:5) and END_DT=%Datein(:6) " | &Employeecrit,
GPCHELM_AET.GPCH_EG_DOMAINID, GPCHELM_AET.GPCH_RC_PAY_YEAR, GPCHELM_AET.COMPANY, "A",
&Begindt, &Enddt);
Break;
End-Evaluate;
If &rs.ActiveRowCount = 0 Then
/*LogIt("No Employees ");*/
Else
Warning ("before DO While = ");
&LRTotals = 0.00;
For &i = 1 To &rs.ActiveRowCount
&Emplid =
&rs.GetRow(&i).GetRecord(Record.GPCH_EG_PERSON).GetField(Field.EMPLID).Value;
&CreatePerson_FLAG = "N"; /*This Flag decides if the Person tag needs to be created
or not */
/*This For-Loop sets the &CreatePerson_FLAG */
&rs1 = CreateRowset(Record.GPCH_EG_PERSON);
&NumOfRows_1 = &rs1.Fill("WHERE GPCH_EG_DOMAINID = :1 and GPCH_RC_PAY_YEAR =:2 and
COMPANY=:3 and EMPLID= :4 and GPCH_SI_PROV_TYPE = :5 and GPCH_SI_PROV_CD=:6 ",
GPCHELM_AET.GPCH_EG_DOMAINID, GPCHELM_AET.GPCH_RC_PAY_YEAR, GPCHELM_AET.COMPANY,
&Emplid, "A", &Provider_type);
If &NumOfRows_1 0 Then
&Pers_XML =
&rs.GetRow(&i).GetRecord(Record.GPCH_EG_PERSON).GetField(Field.GPCH_EG_PRSN_XML).Value;
&decompteSequenced = "";
&Pers_XML = Substitute(&Pers_XML, "", &decompteSequenced);
&Pers_XML = Substitute(&Pers_XML, "GW5_PAS", "PAS");
&len = Len(&Pers_XML);
&Pos1 = Find("", &Pers_XML);
&Pos3 = Find("", &Pers_XML);
&Pos4 = Find("", &Pers_XML);
&Pos5 = Find("", &Pers_XML);
&Pos6 = Find("", &Pers_XML);
&Pos7 = Find("", &Pers_XML);
&Pos8 = Find("", &Pers_XML);
&Pos9 = Find("", &Pers_XML);
&Pos10 = Find("", &Pers_XML);
&Pos11 = Find("", &Pers_XML);
&Pos12 = Find("", &Pers_XML);
If &Pos1 > 0 Then
&identite_XML = Substring(&Pers_XML, &Pos1, &Pos2 - &Pos1 + 11);
End-If;
If &Pos3 > 0 Then
&LRPers_XML = Substring(&Pers_XML, &Pos3 + 4, &Pos4 - (&Pos3 + 4));
If &Pos5 > 0 Or
&Pos7 > 0 Or
&Pos9 > 0 Then
&LRPers_XML = &LRPers_XML | "";
rem &LRPers_XML = &LRPers_XML | "";
End-If;
&LRAllPers_XML = &LRAllPers_XML | Char(10) | Char(13) | &LRPers_XML;
&Pos20 = Find("", &LRPers_XML);
&Pos21 = Find("", &LRPers_XML);
&LRretenue = Substring(&LRPers_XML, &Pos20 + 15, &Pos21 - (&Pos20 + 15));
&LRTotals = &LRTotals + &LRretenue;
End-If;
If &Pos5 > 0 Then
&LC1Pers_XML = Substring(&Pers_XML, &Pos5 + 5, &Pos6 - (&Pos5 + 5));
&LC1Pers_XML = &LC1Pers_XML | "";
&LC1AllPers_XML = &LC1AllPers_XML | Char(10) | Char(13) | &identite_XML |
&LC1Pers_XML;
&Pos20 = Find("", &LC1Pers_XML);
&Pos21 = Find("", &LC1Pers_XML);
&LC1retenue = Substring(&LC1Pers_XML, &Pos20 + 15, &Pos21 - (&Pos20 + 15));
&LC1Totals = &LC1Totals + &LC1retenue;
End-If;
If &Pos7 > 0 Then
&LC2Pers_XML = Substring(&Pers_XML, &Pos7 + 5, &Pos8 - (&Pos7 + 5));
&LC2Pers_XML = &LC2Pers_XML | "";
&LC2AllPers_XML = &LC2AllPers_XML | Char(10) | Char(13) | &identite_XML |
&LC2Pers_XML;
&Pos20 = Find("", &LC2Pers_XML);
&Pos21 = Find("", &LC2Pers_XML);
&LC2retenue = Substring(&LC2Pers_XML, &Pos20 + 15, &Pos21 - (&Pos20 + 15));
&LC2Totals = &LC2Totals + &LC2retenue;
End-If;
If &Pos9 > 0 Then
&LC3Pers_XML = Substring(&Pers_XML, &Pos9 + 5, &Pos10 - (&Pos9 + 5));
&LC3Pers_XML = &LC3Pers_XML | "";
&LC3AllPers_XML = &LC3AllPers_XML | Char(10) | Char(13) | &identite_XML |
&LC3Pers_XML;
&Pos20 = Find("", &LC3Pers_XML);
&Pos21 = Find("", &LC3Pers_XML);
&LC3retenue = Substring(&LC3Pers_XML, &Pos20 + 15, &Pos21 - (&Pos20 + 15));
&LC3Totals = &LC3Totals + &LC3retenue;
End-If;
&LRPers_XML = " ";
&LC1Pers_XML = " ";
&LC2Pers_XML = " ";
&Pos1 = 0;
&Pos2 = 0;
&Pos3 = 0;
&Pos4 = 0;
&Pos5 = 0;
&Pos6 = 0;
&Pos7 = 0;
&Pos8 = 0;
&Pos9 = 0;
&Pos10 = 0;
Warning ("inside DO While &Pers_XML = " | &Pers_XML);
End-If;
End-For;
Warning ("after DO While = ");
/* build XML by strings */
/* &LCXML = &XML_STRG;
/************** write LR */
&XML_STRG = &XML_Version | "";
/* More Company level Tags*/
/* &len = Len(&Totals);
&Pos1 = Find("", &Totals);
&Pos2 = Find("", &Totals);
If &Pos1 > 0 Then
&LRTotals = Substring(&Totals, 1, &Pos1 - 5);
&LCTotals = Substring(&Totals, &Pos1 + 10, &Pos2 - &Pos1 - 10);
Else
&LRTotals = &Totals;
&LCTotals = "";
End-If; */
Warning ("after &LRTotals = " | &LRTotals);
If &LRTotals = 0 Then
&LRTotals = "0.00";
&Commission = "0.00";
Else
&Commission = 0.03 * &LRTotals;
/* This is the swiss rounding to 5 Rappen, means 2nd decimal is always 0 or 5 */
&Commission = Round(&Commission, 2);
&Commission = &Commission * 20;
&Commission = Round(&Commission, 0);
&Commission = &Commission / 20;
&Pos1 = Find(".", &Commission);
/* Not sure, whether there is a better way to the format 9999999.99 ? */
If &Pos1 > 0 Then
If Substring(&Commission, &Pos1 + 2, 1) = " " Then
&Commission = Substring(&Commission, 1, &Pos1 + 1) | "0";
Else
&Commission = Substring(&Commission, 1, &Pos1 + 2);
End-If;
Else
&Commission = &Commission | ".00";
End-If;
End-If;
&Commission_STRG = "" | &Commission | "";
Warning ("after &LRTotals = ");
&LRTotals = "" | &LRTotals | "" | &Commission_STRG;
&XML_STRG = &XML_STRG | "LR" | &CustomerId |
"" | &LRTotals;
&XML_STRG = &XML_STRG | &LRAllPers_XML | "";
/**********************************Write to the File *************************/
/*&ElmFile = &SourctaxXML.GenFormattedXmlString();
/*****************File Creation ****************/
&File_Output_Dir = GPCHELM_AET.FILE_OUTPUT_DIR;
/* &FileName = "LR_" | GPCHELM_AET.GPCH_EG_REQUEST_ID;
&FileName = Substitute(&FileName, "-", "_");
&FilePath = &File_Output_Dir | "/" | &FileName | ".xml"; */
/*****************************************************************************/
/* Build filename */
&FileName = "LR_" | &CustomerId | "_" | GPCHELM_AET.GPCH_RC_PAY_YEAR | "_" |
Substring(&Begindt, 9, 2) | Substring(&Begindt, 6, 2) | "_" | Substring(&Enddt, 9, 2) |
Substring(&Enddt, 6, 2);
&FileName = &quarter | "_LR_" | &CustomerId | "_" | GPCHELM_AET.GPCH_RC_PAY_YEAR | "_"
| Substring(&Begindt, 9, 2) | Substring(&Begindt, 6, 2) | "_" | Substring(&Enddt, 9, 2) |
Substring(&Enddt, 6, 2);
&FileName = Substitute(&FileName, "-", "");
&FilePath = &File_Output_Dir | "/" | &FileName | ".xml";
CreateFile(&XML_STRG, &FilePath);
GPCHELM_AET.FILENAME = &FileName | ".xml";
&CurrentDateTimeIn = %Datetime;
rem SQLExec("UPDATE PS_GPCH_EG_FSTATUS SET FILENAME = :5, TIME_STAMP = :6 WHERE COMPANY=
:1 AND GPCH_RC_PAY_YEAR = :2 AND GPCH_EG_DOMAINID = :3 AND GPCH_EG_REQUEST_ID = :4 ",
GPCHELM_AET.COMPANY, GPCHELM_AET.GPCH_RC_PAY_YEAR, GPCHELM_AET.GPCH_EG_DOMAINID,
GPCHELM_AET.GPCH_EG_REQUEST_ID, GPCHELM_AET.FILENAME, &CurrentDateTimeIn);
/************** write LC1 */
If &LC1AllPers_XML " " And
&LC1AllPers_XML "" Then
/* 20100720 &len = Len(&Totals);
&Pos1 = Find("", &Totals);
&Pos2 = Find("", &Totals);
If &Pos1 > 0 Then
&LRTotals = Substring(&Totals, 1, &Pos1 - 5);
&LCTotals = Substring(&Totals, &Pos1 + 11, &Pos2 - &Pos1 - 11);
Else
&LRTotals = &Totals;
&LCTotals = "";
End-If; */
&Pos1 = Find("", &Totals);
&Begindt = GPCHELM_AET.GPCH_RC_PAY_YEAR | "-01-01";
&Enddt = GPCHELM_AET.GPCH_RC_PAY_YEAR | "-03-31";
/* &XML_STRG = &LCXML;
/* &Totals =
"0.000.00"; */
&XML_STRG = &XML_Version | "";
/* More Company level Tags*/
&LC1Totals = "" | &LC1Totals |
"0.00";
&XML_STRG = &XML_STRG | "LC" | &CustomerId |
"" | &LC1Totals;
&XML_STRG = &XML_STRG | &LC1AllPers_XML | "";
/**********************************Write to the File *************************/
/*&ElmFile = &SourctaxXML.GenFormattedXmlString();
/*****************************************************************************/
/*****************File Creation ****************/
&File_Output_Dir = GPCHELM_AET.FILE_OUTPUT_DIR;
/* &FileName = "LC_" | GPCHELM_AET.GPCH_EG_REQUEST_ID;
&FileName = Substitute(&FileName, "-", "_"); */
&Begindt = Substring(&Begindt, 9, 2) | Substring(&Begindt, 6, 2);
&Enddt = Substring(&Enddt, 9, 2) | Substring(&Enddt, 6, 2);
&FileName = "LC_" | &CustomerId | "_" | GPCHELM_AET.GPCH_RC_PAY_YEAR | "_" | &Begindt
| "_" | &Enddt;
&FileName = &quarter | "_LC_" | &CustomerId | "_" | GPCHELM_AET.GPCH_RC_PAY_YEAR |
"_" | &Begindt | "_" | &Enddt;
&FileName = Substitute(&FileName, "-", "");
&FilePath = &File_Output_Dir | "/" | &FileName | ".xml";
CreateFile(&XML_STRG, &FilePath);
GPCHELM_AET.FILENAME = &FileName | ".xml";
rem SQLExec("UPDATE PS_GPCH_EG_FSTATUS SET FILENAME = :5, TIME_STAMP = :6 WHERE
COMPANY= :1 AND GPCH_RC_PAY_YEAR = :2 AND GPCH_EG_DOMAINID = :3 AND GPCH_EG_REQUEST_ID =
:4 ", GPCHELM_AET.COMPANY, GPCHELM_AET.GPCH_RC_PAY_YEAR, GPCHELM_AET.GPCH_EG_DOMAINID,
GPCHELM_AET.GPCH_EG_REQUEST_ID, GPCHELM_AET.FILENAME, &CurrentDateTimeIn);
Else /* to delete rows from process files and Review files tab of dashboard if file is
blank */
&ReqId = &quarter | "_LC_" | &CustomerId | "_" | GPCHELM_AET.GPCH_RC_PAY_YEAR | "_"
| "0101" | "_" | "3103";
SQLExec("Delete From PS_GPCH_EG_FSTATUS where COMPANY = :1 AND GPCH_RC_PAY_YEAR = :2
AND GPCH_EG_DOMAINID = :3 AND GPCH_EG_REQUEST_ID = :4", GPCHELM_AET.COMPANY,
GPCHELM_AET.GPCH_RC_PAY_YEAR, GPCHELM_AET.GPCH_EG_DOMAINID, &ReqId);
SQLExec("Delete From PS_GPCH_EG_PSTATUS where COMPANY = :1 AND GPCH_RC_PAY_YEAR = :2
AND GPCH_EG_DOMAINID = :3 AND GPCH_EG_REQUEST_ID = :4", GPCHELM_AET.COMPANY,
GPCHELM_AET.GPCH_RC_PAY_YEAR, GPCHELM_AET.GPCH_EG_DOMAINID, &ReqId);
End-If;
/************** write LC2 */
If &LC2AllPers_XML " " And
&LC2AllPers_XML "" Then
/* &len = Len(&Totals);
&Pos1 = Find("", &Totals);
&Pos2 = Find("", &Totals);
If &Pos1 > 0 Then
&LRTotals = Substring(&Totals, 1, &Pos1 - 5);
&LCTotals = Substring(&Totals, &Pos1 + 11, &Pos2 - &Pos1 - 11);
Else
&LRTotals = &Totals;
&LCTotals = "";
End-If; */
&Pos1 = Find("", &Totals);
&Begindt = GPCHELM_AET.GPCH_RC_PAY_YEAR | "-04-01";
&Enddt = GPCHELM_AET.GPCH_RC_PAY_YEAR | "-06-30";
/* &XML_STRG = &LCXML;
/* &Totals =
"0.000.00"; */
&XML_STRG = &XML_Version | "";
/* More Company level Tags*/
&LC2Totals = "" | &LC2Totals |
"0.00";
&XML_STRG = &XML_STRG | "LC" | &CustomerId |
"" | &LC2Totals;
&XML_STRG = &XML_STRG | &LC2AllPers_XML | "";
/**********************************Write to the File *************************/
/*&ElmFile = &SourctaxXML.GenFormattedXmlString();
/*****************************************************************************/
/*****************File Creation ****************/
&File_Output_Dir = GPCHELM_AET.FILE_OUTPUT_DIR;
/* &FileName = "LC_" | GPCHELM_AET.GPCH_EG_REQUEST_ID;
&FileName = Substitute(&FileName, "-", "_"); */
&Begindt = Substring(&Begindt, 9, 2) | Substring(&Begindt, 6, 2);
&Enddt = Substring(&Enddt, 9, 2) | Substring(&Enddt, 6, 2);
&FileName = "LC_" | &CustomerId | "_" | GPCHELM_AET.GPCH_RC_PAY_YEAR | "_" | &Begindt
| "_" | &Enddt;
&FileName = &quarter | "_LC_" | &CustomerId | "_" | GPCHELM_AET.GPCH_RC_PAY_YEAR |
"_" | &Begindt | "_" | &Enddt;
&FileName = Substitute(&FileName, "-", "");
&FilePath = &File_Output_Dir | "/" | &FileName | ".xml";
CreateFile(&XML_STRG, &FilePath);
GPCHELM_AET.FILENAME = &FileName | ".xml";
rem SQLExec("UPDATE PS_GPCH_EG_FSTATUS SET FILENAME = :5, TIME_STAMP = :6 WHERE
COMPANY= :1 AND GPCH_RC_PAY_YEAR = :2 AND GPCH_EG_DOMAINID = :3 AND GPCH_EG_REQUEST_ID =
:4 ", GPCHELM_AET.COMPANY, GPCHELM_AET.GPCH_RC_PAY_YEAR, GPCHELM_AET.GPCH_EG_DOMAINID,
GPCHELM_AET.GPCH_EG_REQUEST_ID, GPCHELM_AET.FILENAME, &CurrentDateTimeIn);
Else /* to delete rows from process files tab of dashboard if file is blank */
&ReqId = &quarter | "_LC_" | &CustomerId | "_" | GPCHELM_AET.GPCH_RC_PAY_YEAR | "_"
| "0104" | "_" | "3006";
SQLExec("Delete From PS_GPCH_EG_FSTATUS where COMPANY = :1 AND GPCH_RC_PAY_YEAR = :2
AND GPCH_EG_DOMAINID = :3 AND GPCH_EG_REQUEST_ID = :4", GPCHELM_AET.COMPANY,
GPCHELM_AET.GPCH_RC_PAY_YEAR, GPCHELM_AET.GPCH_EG_DOMAINID, &ReqId);
SQLExec("Delete From PS_GPCH_EG_PSTATUS where COMPANY = :1 AND GPCH_RC_PAY_YEAR = :2
AND GPCH_EG_DOMAINID = :3 AND GPCH_EG_REQUEST_ID = :4", GPCHELM_AET.COMPANY,
GPCHELM_AET.GPCH_RC_PAY_YEAR, GPCHELM_AET.GPCH_EG_DOMAINID, &ReqId);
End-If;
/************** write LC3 */
If &LC3AllPers_XML " " And
&LC3AllPers_XML "" Then
/* &len = Len(&Totals);
&Pos1 = Find("", &Totals);
&Pos2 = Find("", &Totals);
If &Pos1 > 0 Then
&LRTotals = Substring(&Totals, 1, &Pos1 - 5);
&LCTotals = Substring(&Totals, &Pos1 + 11, &Pos2 - &Pos1 - 11);
Else
&LRTotals = &Totals;
&LCTotals = "";
End-If; */
&Pos1 = Find("", &Totals);
&Begindt = GPCHELM_AET.GPCH_RC_PAY_YEAR | "-07-01";
&Enddt = GPCHELM_AET.GPCH_RC_PAY_YEAR | "-09-30";
/* &XML_STRG = &LCXML;
/* &Totals =
"0.000.00"; */
&XML_STRG = &XML_Version | "";
/* More Company level Tags*/
&LC3Totals = "" | &LC3Totals |
"0.00";
&XML_STRG = &XML_STRG | "LC" | &CustomerId |
"" | &LC3Totals;
&XML_STRG = &XML_STRG | &LC3AllPers_XML | "";
/**********************************Write to the File *************************/
/*&ElmFile = &SourctaxXML.GenFormattedXmlString();
/*****************************************************************************/
/*****************File Creation ****************/
&File_Output_Dir = GPCHELM_AET.FILE_OUTPUT_DIR;
/* &FileName = "LC_" | GPCHELM_AET.GPCH_EG_REQUEST_ID;
&FileName = Substitute(&FileName, "-", "_"); */
&Begindt = Substring(&Begindt, 9, 2) | Substring(&Begindt, 6, 2);
&Enddt = Substring(&Enddt, 9, 2) | Substring(&Enddt, 6, 2);
&FileName = "LC_" | &CustomerId | "_" | GPCHELM_AET.GPCH_RC_PAY_YEAR | "_" | &Begindt
| "_" | &Enddt;
&FileName = &quarter | "_LC_" | &CustomerId | "_" | GPCHELM_AET.GPCH_RC_PAY_YEAR |
"_" | &Begindt | "_" | &Enddt;
&FileName = Substitute(&FileName, "-", "");
&FilePath = &File_Output_Dir | "/" | &FileName | ".xml";
CreateFile(&XML_STRG, &FilePath);
GPCHELM_AET.FILENAME = &FileName | ".xml";
rem SQLExec("UPDATE PS_GPCH_EG_FSTATUS SET FILENAME = :5, TIME_STAMP = :6 WHERE
COMPANY= :1 AND GPCH_RC_PAY_YEAR = :2 AND GPCH_EG_DOMAINID = :3 AND GPCH_EG_REQUEST_ID =
:4 ", GPCHELM_AET.COMPANY, GPCHELM_AET.GPCH_RC_PAY_YEAR, GPCHELM_AET.GPCH_EG_DOMAINID,
GPCHELM_AET.GPCH_EG_REQUEST_ID, GPCHELM_AET.FILENAME, &CurrentDateTimeIn);
Else /* to delete rows from process files tab of dashboard if file is blank */
&ReqId = &quarter | "_LC_" | &CustomerId | "_" | GPCHELM_AET.GPCH_RC_PAY_YEAR | "_"
| "0107" | "_" | "3009";
SQLExec("Delete From PS_GPCH_EG_FSTATUS where COMPANY = :1 AND GPCH_RC_PAY_YEAR = :2
AND GPCH_EG_DOMAINID = :3 AND GPCH_EG_REQUEST_ID = :4", GPCHELM_AET.COMPANY,
GPCHELM_AET.GPCH_RC_PAY_YEAR, GPCHELM_AET.GPCH_EG_DOMAINID, &ReqId);
SQLExec("Delete From PS_GPCH_EG_PSTATUS where COMPANY = :1 AND GPCH_RC_PAY_YEAR = :2
AND GPCH_EG_DOMAINID = :3 AND GPCH_EG_REQUEST_ID = :4", GPCHELM_AET.COMPANY,
GPCHELM_AET.GPCH_RC_PAY_YEAR, GPCHELM_AET.GPCH_EG_DOMAINID, &ReqId);
End-If;
End-If;
PeopleCode (ApplEng): GPFR_AF_AE.DBPARM GBLDB2 1900-01-01.Step01.OnExecute
[ . . . Unchanged Code not Shown . . . ]
PeopleCode (ApplEng): GPFR_AF_AE.DBPARM GBLDB2UNIX 1900-01-01.Step01.OnExecute
[ . . . Unchanged Code not Shown . . . ]
PeopleCode (Page): GPJP_LA_PYE_RPT1.Activate
Local string &BirthDateChar, &EnrDateChar, &XlatBase, &XlatLang;
Local number &std_hours, &i;
Local string &BDate, &Tax_Estab, &Renewal_Descr, &Non_Renewal_Descr, &CodeIn, &DescIn;
Local string &std_hrs_string;
Local Rowset &Xlat1;
Local Field &FLD1;
Declare Function Convert_to_Imperial_date PeopleCode FUNCLIB_GPJP.GPJP_FUNCTIONS
FieldFormula;
DERIVED_GPJP.GPJP_NUM5 = 11101;
DERIVED_GPJP.GPJP_NUM5 = 12101;
If GPJP_LA_PYE_RPT.GPJP_LA_ENROLL_RSN = "1" Or
GPJP_LA_PYE_RPT.GPJP_LA_ENROLL_RSN = "2" Then
DERIVED_GPJP.GPJP_CHAR1_2 = "1";
Else
DERIVED_GPJP.GPJP_CHAR1_2 = "2";
End-If;
If PERSONAL_DT_FST.SEX = "F" Then
DERIVED_GPJP.GPJP_CHAR1_1 = "2";
Else
DERIVED_GPJP.GPJP_CHAR1_1 = "1";
End-If;
If Find("(", PERSONAL_DT_FST.NAME) 0 Then
PERSONAL_DT_FST.NAME = Substring(PERSONAL_DT_FST.NAME, 1, Find("(",
PERSONAL_DT_FST.NAME) - 1);
End-If;
SQLExec("SELECT %dateout(BIRTHDATE) FROM PS_PERSON WHERE EMPLID = :1",
GPJP_LA_PYE_RPT.EMPLID, &BDate);
&BirthDateChar = Convert_to_Imperial_date(Date(&BDate), 2);
DERIVED_GPJP.GPJP_DT_YYYYMMDD1 = Substring(&BirthDateChar, 1, 1) | "-" |
Substring(&BirthDateChar, 2, 6);
SQLExec("Select GPJP_TAX_ESTAB ,GPJP_EI_NUM from PS_GPJP_LA_PYE_DTA A WHERE A.EMPLID = :1
AND EMPL_RCD = :2 AND A.EFFDT = (SELECT MAX(EFFDT) FROM PS_GPJP_LA_PYE_DTA B WHERE A.EMPLID
= B.EMPLID AND A.EMPL_RCD = B.EMPL_RCD AND B.EFFDT "JPN" Then
SQLExec("SELECT XLATLONGNAME FROM PSXLATITEMLANG A where FIELDNAME = 'GPJP_LA_JOB_TYP'
AND LANGUAGE_CD = 'JPN' AND FIELDVALUE = :1 AND A.EFFDT = (SELECT MAX(EFFDT) FROM
PSXLATITEMLANG WHERE FIELDNAME = 'GPJP_LA_JOB_TYP' AND LANGUAGE_CD = 'JPN' AND FIELDVALUE
= :1 AND EFFDT 0 Then
DERIVED_GPJP.GPJP_CHAR2_1 = Substring(&std_hrs_string, 1, Find(".", &std_hrs_string) -
1);
DERIVED_GPJP.GPJP_CHAR2_2 = Substring(&std_hrs_string, Find(".", &std_hrs_string) + 1,
Len(&std_hrs_string));
Else
DERIVED_GPJP.GPJP_CHAR2_1 = &std_hrs_string;
DERIVED_GPJP.GPJP_CHAR2_2 = "00";
End-If;
PeopleCode (Component): GPCH_RC_EGOVT(GBL).SavePostChange
Declare Function Gen_Header_XML PeopleCode GPCH_EG_STAT_DW.FUNCLIB FieldFormula;
Declare Function Get_File_status PeopleCode GPCH_EG_STAT_DW.FUNCLIB FieldFormula;
Declare Function get_seq_no PeopleCode GPCH_EG_STAT_DW.FUNCLIB FieldFormula;
Declare Function Get_status PeopleCode GPCH_EG_STAT_DW.FUNCLIB FieldFormula;
Declare Function GetProviderSubselect PeopleCode GPCH_EG_STAT_DW.FUNCLIB FieldFormula;
Declare Function GetCalDates PeopleCode GPCH_EG_STAT_DW.FUNCLIB FieldFormula;
Local array of string &request_id;
Global string &ResendStatus;
&request_id = CreateArray("String");
&ResendStatus = "N";
&prov_type_old = "";
"e = "'";
&prov_type_old_fstatus = " ";
&prov_type_old_pstatus = " ";
Local boolean &Run_option = False;
&fstatus_rec = CreateRecord(Record.GPCH_EG_FSTATUS);
&pstatus_rec = CreateRecord(Record.GPCH_EG_PSTATUS);
&pstatus_rec1 = CreateRecord(Record.GPCH_EG_PSTATUS);
&run_status_rec = CreateRecord(Record.GPCH_EG_REPORTS);
&pheader = CreateRecord(Record.GPCH_EG_PHEADER);
&fheader = CreateRecord(Record.GPCH_EG_FHEADER);
&Ptotals_rec = CreateRecord(Record.GPCH_EG_PTOTALS);
Local number &year = Value(GPCH_RC_PAYROLL.GPCH_RC_PAY_YEAR);
&SS = CreateRowset(Record.GPCH_EG_FSTA_VW);
&acc_ins = CreateRowset(Record.GPCH_SI_ACC_INS);
&run_status = CreateRowset(Record.GPCH_EG_RSTATUS);
&pstatus_vw_rec = CreateRowset(Record.GPCH_EG_PSTA_VW);
&pstatus_rec1 = CreateRowset(Record.GPCH_EG_PSTATUS);
&ParamSetup = GetLevel0().GetRow(1).GetRowset(Scroll.GPCH_EG_ST_HDR);
&RSetup = GetLevel0().GetRow(1).GetRowset(Scroll.GPCH_EG_RSTATUS);
&pstatus = GetLevel0().GetRow(1).GetRowset(Scroll.GPCH_EG_PSTATUS);
&rstatus_rec = CreateRecord(Record.GPCH_EG_RSTATUS);
&Year_date = Date3(&year, 12, 31);
&PoviderSelect = GetProviderSubselect();
If &PoviderSelect "" Then
&PoviderSelect = "AND (" | &PoviderSelect | ")";
End-If;
&ProviderCode_clause = GetSQL(SQL.GPCH_EG_PROV).Value | &PoviderSelect;
&SS.Fill(&ProviderCode_clause | "ORDER BY FILL.GPCH_EG_F_GROUB", GPCH_RC_PAYROLL.COMPANY,
GPCH_RC_PAYROLL.GPCH_EG_DOMAINID, &Year_date);
&where_clause = "WHERE COMPANY = " | "e | GPCH_RC_PAYROLL.COMPANY | "e | "AND
GPCH_EG_DOMAINID=" | GPCH_RC_PAYROLL.GPCH_EG_DOMAINID | " AND GPCH_RC_PAY_YEAR=" |
GPCH_RC_PAYROLL.GPCH_RC_PAY_YEAR;
&run_status_where_clause = "WHERE COMPANY = " | "e | GPCH_RC_PAYROLL.COMPANY | "e
| "AND GPCH_EG_DOMAINID=" | GPCH_RC_PAYROLL.GPCH_EG_DOMAINID | " AND GPCH_RC_PAY_YEAR=" |
GPCH_RC_PAYROLL.GPCH_RC_PAY_YEAR | " AND GPCH_SI_PROV_TYPE=(:1)";
&acc_ins_where_clause = "where COMPANY=(:1) AND GPCH_SI_PROV_TYPE=(:2) AND
GPCH_TX_UV_PROV_CD=(:3) AND EFFDT = (SELECT MAX(EFFDT) FROM PS_GPCH_SI_ACC_INS WHERE
COMPANY=(:1) AND GPCH_SI_PROV_TYPE=(:2) AND GPCH_TX_UV_PROV_CD=(:3) AND EFFDT 0 Then
&Run_option = True;
End-If;;
/* check for Cancel option is selected */
&prov = &RSetup.GetRow(&m).GPCH_EG_RSTATUS.GPCH_SI_PROV_TYPE.Value;
If &RSetup.GetRow(&m).GPCH_EG_STAT_DW.GPCH_CANCEL_OPTION.Value = "Y" And
&RSetup.GetRow(&m).GPCH_EG_RSTATUS.GPCH_SI_PROV_TYPE.Value 0 Then
&Cancel_option = True;
End-If;
/* This for loop will check the PSTATUS record is already have the same row.if it's
same row then Rerun_option is false */
If &RSetup.GetRow(&m).GPCH_EG_RSTATUS.GPCH_SI_PROV_TYPE.Value 0 And
&RSetup.GetRow(&m).GPCH_EG_RSTATUS.GPCH_SI_PROV_TYPE.Value "B" Then
For &l = 1 To &pstatus.Rowcount
If ((&pstatus.getrow(&l).IsDeleted) And
Not None(&pstatus.GetRow(&l).GPCH_EG_PSTATUS.COMPANY.Value))
Then
If (&Newrec) Then
&run_status_rec.delete(); /* Deletes the extra row inserted when a
delete happens for Monthly reports*/
End-If;
&pheader.GPCH_RC_PAY_YEAR.Value = GPCH_RC_PAYROLL.GPCH_RC_PAY_YEAR;
&pheader.GPCH_EG_DOMAINID.Value =
&pstatus.GetRow(&l).GPCH_EG_PSTATUS.GPCH_EG_DOMAINID.Value;
&pheader.COMPANY.Value =
&pstatus.GetRow(&l).GPCH_EG_PSTATUS.COMPANY.Value;
&pheader.GPCH_EG_REQUEST_ID.Value =
&pstatus.GetRow(&l).GPCH_EG_PSTATUS.GPCH_EG_REQUEST_ID.Value;
&pheader.GPCH_SI_PROV_TYPE.Value =
&pstatus.GetRow(&l).GPCH_EG_PSTATUS.GPCH_SI_PROV_TYPE.Value;
&pheader.GPCH_SI_PROV_CD.Value =
&pstatus.GetRow(&l).GPCH_EG_PSTATUS.GPCH_SI_PROV_CD.Value;
&pheader.delete();
&Ptotals_rec.GPCH_RC_PAY_YEAR.Value =
GPCH_RC_PAYROLL.GPCH_RC_PAY_YEAR;
&Ptotals_rec.GPCH_EG_DOMAINID.Value =
&pstatus.GetRow(&l).GPCH_EG_PSTATUS.GPCH_EG_DOMAINID.Value;
&Ptotals_rec.COMPANY.Value =
&pstatus.GetRow(&l).GPCH_EG_PSTATUS.COMPANY.Value;
&Ptotals_rec.GPCH_EG_REQUEST_ID.Value =
&pstatus.GetRow(&l).GPCH_EG_PSTATUS.GPCH_EG_REQUEST_ID.Value;
&Ptotals_rec.GPCH_SI_PROV_TYPE.Value =
&pstatus.GetRow(&l).GPCH_EG_PSTATUS.GPCH_SI_PROV_TYPE.Value;
&Ptotals_rec.GPCH_SI_PROV_CD.Value =
&pstatus.GetRow(&l).GPCH_EG_PSTATUS.GPCH_SI_PROV_CD.Value;
&Ptotals_rec.delete();
&fheader.GPCH_RC_PAY_YEAR.Value = GPCH_RC_PAYROLL.GPCH_RC_PAY_YEAR;
&fheader.GPCH_EG_DOMAINID.Value =
&pstatus.GetRow(&l).GPCH_EG_PSTATUS.GPCH_EG_DOMAINID.Value;
&fheader.COMPANY.Value =
&pstatus.GetRow(&l).GPCH_EG_PSTATUS.COMPANY.Value;
&fheader.GPCH_EG_REQUEST_ID.Value =
&pstatus.GetRow(&l).GPCH_EG_PSTATUS.GPCH_EG_REQUEST_ID.Value;
&fheader.delete();
&req = &pstatus.GetRow(&l).GPCH_EG_PSTATUS.GPCH_EG_REQUEST_ID.Value;
&Caldates =
GetCalDates(&pstatus.GetRow(&l).GPCH_EG_PSTATUS.GPCH_EG_REQUEST_ID.Value);
rem SQLExec("delete from PS_GPCH_EG_REPORTS where OPRID =%OperatorId
and RUN_CNTL_ID=:1 and GPCH_EG_DOMAINID =:2 and GPCH_RC_PAY_YEAR=:3 and COMPANY=:4 and
GPCH_SI_PROV_TYPE=5 and GPCH_EG_RPT_TYPE=:6 and GPCH_AL_CPAY_ENDDT=%Datein(:7)",
GPCH_RC_PAYROLL.RUN_CNTL_ID, GPCH_EG_FSTATUS.GPCH_EG_DOMAINID,
GPCH_EG_FSTATUS.GPCH_RC_PAY_YEAR, GPCH_EG_FSTATUS.COMPANY,
GPCH_EG_PRO_DW.GPCH_SI_PROV_TYPE, &reportType, &Date);
&run_status_rec.OPRID.VALUE = %OperatorId;
&run_status_rec.RUN_CNTL_ID.VALUE = GPCH_RC_PAYROLL.RUN_CNTL_ID.Value;
&run_status_rec.GPCH_EG_DOMAINID.VALUE =
GPCH_RC_PAYROLL.GPCH_EG_DOMAINID.Value;
&run_status_rec.COMPANY.VALUE = GPCH_RC_PAYROLL.COMPANY.Value;
&run_status_rec.GPCH_RC_PAY_YEAR.VALUE =
GPCH_RC_PAYROLL.GPCH_RC_PAY_YEAR.Value;
&run_status_rec.GPCH_SI_PROV_TYPE.VALUE =
&pstatus.GetRow(&l).GPCH_EG_PSTATUS.GPCH_SI_PROV_TYPE.Value;
&run_status_rec.GPCH_AL_CPAY_ENDDT.VALUE = &Caldates [2];
&run_status_rec.delete();
rem SQLExec("delete from PS_GPCH_EG_PERSON where GPCH_EG_DOMAINID=:1
and GPCH_RC_PAY_YEAR=:2 and COMPANY=:3 and GPCH_SI_PROV_TYPE=:4 and GPCH_SI_PROV_CD=:5 and
BEGIN_DT = %Datein(:6) and END_DT= %Datein(:7)", GPCH_EG_FSTATUS.GPCH_EG_DOMAINID,
GPCH_EG_FSTATUS.GPCH_RC_PAY_YEAR, GPCH_EG_FSTATUS.COMPANY,
GPCH_EG_PRO_DW.GPCH_SI_PROV_TYPE, GPCH_EG_PRO_DW.GPCH_SI_PROV_CD, &BeginDt, &Date);
/* delete form PS_GPCH_EG_PERSON*/
&Pstats_Company = &pstatus.GetRow(&l).GPCH_EG_PSTATUS.COMPANY.Value;
&Pstats_Year = GPCH_RC_PAYROLL.GPCH_RC_PAY_YEAR;
&Pstats_DomainId =
&pstatus.GetRow(&l).GPCH_EG_PSTATUS.GPCH_EG_DOMAINID.Value;
&Pstats_RequestID =
&pstatus.GetRow(&l).GPCH_EG_PSTATUS.GPCH_EG_REQUEST_ID.Value;
&Pstats_PovType =
&pstatus.GetRow(&l).GPCH_EG_PSTATUS.GPCH_SI_PROV_TYPE.Value;
&Pstats_ProvCode =
&pstatus.GetRow(&l).GPCH_EG_PSTATUS.GPCH_SI_PROV_CD.Value;
/* FMB 20090119 Delete only if no manual update exists */
&Del_EG_PErson_SQL = CreateSQL("delete from PS_GPCH_EG_PERSON where
GPCH_EG_DOMAINID=:1 and GPCH_RC_PAY_YEAR=:2 and COMPANY=:3 and GPCH_SI_PROV_TYPE=:4 and
GPCH_SI_PROV_CD=:5 and BEGIN_DT = %Datein(:6) and END_DT= %Datein(:7) and not exists ( select
'X' from PS_GPCH_EG_PERSON EG1 where PS_GPCH_EG_PERSON.GPCH_EG_DOMAINID =
EG1.GPCH_EG_DOMAINID and PS_GPCH_EG_PERSON.GPCH_RC_PAY_YEAR = EG1.GPCH_RC_PAY_YEAR and
PS_GPCH_EG_PERSON.COMPANY = EG1.COMPANY and PS_GPCH_EG_PERSON.GPCH_SI_PROV_TYPE =
EG1.GPCH_SI_PROV_TYPE and PS_GPCH_EG_PERSON.GPCH_SI_PROV_CD = EG1.GPCH_SI_PROV_CD and
PS_GPCH_EG_PERSON.EMPLID = EG1.EMPLID and PS_GPCH_EG_PERSON.EMPL_RCD = EG1.EMPL_RCD and
EG1.GPCH_IF_VER > 1 )");
&Del_EG_PErson_SQL = CreateSQL("delete from PS_GPCH_EG_PERSON where
GPCH_EG_DOMAINID=:1 and GPCH_RC_PAY_YEAR=:2 and COMPANY=:3 and GPCH_SI_PROV_TYPE=:4 and
GPCH_SI_PROV_CD=:5 and BEGIN_DT = %Datein(:6) and END_DT= %Datein(:7) and not exists ( select
'X' from PS_GPCH_EG_PER_VW EG1 where PS_GPCH_EG_PERSON.GPCH_EG_DOMAINID =
EG1.GPCH_EG_DOMAINID and PS_GPCH_EG_PERSON.GPCH_RC_PAY_YEAR = EG1.GPCH_RC_PAY_YEAR and
PS_GPCH_EG_PERSON.COMPANY = EG1.COMPANY and PS_GPCH_EG_PERSON.GPCH_SI_PROV_TYPE =
EG1.GPCH_SI_PROV_TYPE and PS_GPCH_EG_PERSON.GPCH_SI_PROV_CD = EG1.GPCH_SI_PROV_CD and
PS_GPCH_EG_PERSON.EMPLID = EG1.EMPLID and PS_GPCH_EG_PERSON.EMPL_RCD = EG1.EMPL_RCD and
EG1.GPCH_IF_VER > 1 )");
&Del_EG_PErson_SQL.Execute(&Pstats_DomainId, &Pstats_Year,
&Pstats_Company, &Pstats_PovType, &Pstats_ProvCode, &Caldates [1], &Caldates [2]);
/* FMB 20090119 Delete as well GPCH_IF_TX07_1 and GPCH_IF_TX07 */
If &Pstats_PovType = "8" Then
&Del_IF_TX07_1_SQL = CreateSQL("delete from PS_GPCH_IF_TX07_1 where
COMPANY=:1 and BEGIN_DT >= %Datein(:2) and END_DT
1 )");
&Del_IF_TX07_1_SQL.Execute(&Pstats_Company, &Caldates [1],
&Caldates [2], &Pstats_DomainId);
/* FMB 20090119 Second Delete GPCH_IF_TXO7 */
&Del_IF_TX07_SQL = CreateSQL("delete from PS_GPCH_IF_TX07 where
GPCH_EG_DOMAINID=:1 and COMPANY=:2 and BEGIN_DT >= %Datein(:3) and END_DT 1 )");
&Del_IF_TX07_SQL = CreateSQL("delete from PS_GPCH_IF_TX07 where
GPCH_EG_DOMAINID=:1 and COMPANY=:2 and BEGIN_DT >= %Datein(:3) and END_DT 1 )");
&Del_IF_TX07_SQL.Execute(&Pstats_DomainId, &Pstats_Company,
&Caldates [1], &Caldates [2]);
End-If;
If (&l - 1 0 And
Not None(&pstatus.GetRow(&l -
1).GPCH_EG_PSTATUS.GPCH_EG_REQUEST_ID.Value)) Then
&CaldatesNew = GetCalDates(&pstatus.GetRow(&l -
1).GPCH_EG_PSTATUS.GPCH_EG_REQUEST_ID.Value);
If &RSetup.GetRow(&m).GPCH_EG_RSTATUS.GPCH_SI_PROV_TYPE.Value = "A"
Or
&RSetup.GetRow(&m).GPCH_EG_RSTATUS.GPCH_SI_PROV_TYPE.Value =
"5" Then
If &RSetup.GetRow(&m).GPCH_EG_STAT_DW.GPCH_EG_RPT_TYPE.VALUE =
"M" Then
SQLExec("Update PS_GPCH_RC_PAYROLL set GPCH_AL_CPAY_ENDDT=
%Datein(:1) ,GPCH_RC_YEAR_OPT =:2 where RUN_CNTL_ID=:3", &CaldatesNew [2], "N",
GPCH_RC_PAYROLL.RUN_CNTL_ID);
&RSetup.GetRow(&m).GPCH_EG_STAT_DW.GPCH_AL_CPAY_ENDDT.Value
= &CaldatesNew [2];
GPCH_RC_PAYROLL.GPCH_AL_CPAY_ENDDT.Value = &CaldatesNew [2];
Else
If &RSetup.GetRow(&m).GPCH_EG_STAT_DW.GPCH_EG_RPT_TYPE.VALUE
= "Q" Then
SQLExec("Update PS_GPCH_RC_PAYROLL set GPCH_FK_QUARTER=
:1,GPCH_RC_YEAR_OPT =:2 where RUN_CNTL_ID=:3", &CaldatesNew [3], "Y",
GPCH_RC_PAYROLL.RUN_CNTL_ID);
SQLExec("Update PS_GPCH_RC_PAYROLL set GPCH_AL_CPAY_ENDDT=
%Datein(:1) ,GPCH_RC_YEAR_OPT =:2 where RUN_CNTL_ID=:3", &CaldatesNew [2], "N",
GPCH_RC_PAYROLL.RUN_CNTL_ID);
GPCH_RC_PAYROLL.GPCH_AL_CPAY_ENDDT.Value = &CaldatesNew
[2];
GPCH_RC_PAYROLL.GPCH_FK_QUARTER.Value = &CaldatesNew [3];
&RSetup.GetRow(&m).GPCH_EG_STAT_DW.GPCH_AL_CPAY_ENDDT.Value = &CaldatesNew [2];
&RSetup.GetRow(&m).GPCH_EG_STAT_DW.GPCH_FK_QUARTER.Value
= &CaldatesNew [3];
End-If;
End-If;
End-If;
End-If;
End-If;
End-For;
If &pstatus.ActiveRowcount = 1 Then
If None(&pstatus.getrow(1).GPCH_EG_PSTATUS.COMPANY.Value) Then
&rstatus_rec.GPCH_EG_DOMAINID.VALUE =
GPCH_RC_PAYROLL.GPCH_EG_DOMAINID.Value;
&rstatus_rec.COMPANY.VALUE = GPCH_RC_PAYROLL.COMPANY.Value;
&rstatus_rec.GPCH_RC_PAY_YEAR.VALUE =
GPCH_RC_PAYROLL.GPCH_RC_PAY_YEAR.Value;
&rstatus_rec.GPCH_SI_PROV_TYPE.VALUE =
&RSetup.GetRow(&m).GPCH_EG_RSTATUS.GPCH_SI_PROV_TYPE.Value;
&rstatus_rec.GPCH_REPORT_STATUS.VALUE = "0008";
&rstatus_rec.update();
&RSetup.GetRow(&m).GPCH_EG_STAT_DW.GPCH_EG_MONTH_RUN.enabled = True;
&RSetup.GetRow(&m).GPCH_EG_STAT_DW.GPCH_EG_MONTH_RUN.Visible = True;
End-If;
End-If;
End-If;
For &l = 1 To &pstatus.activerowcount
If (&pstatus.getrow(&l).GPCH_EG_PSTATUS.GPCH_SI_PROV_TYPE.Value =
&RSetup.GetRow(&m).GPCH_EG_RSTATUS.GPCH_SI_PROV_TYPE.Value And
&pstatus.getrow(&l).GPCH_EG_PSTATUS.GPCH_SI_PROV_CD.Value =
&SS.GetRow(&i).GPCH_EG_FSTA_VW.GPCH_SI_PROV_CD.Value) Or
&RSetup.GetRow(&m).GPCH_EG_STAT_DW.GPCH_RUN_OPTIONS.Value "Y" Or
&RSetup.GetRow(&m).GPCH_EG_RSTATUS.GPCH_SI_PROV_TYPE.Value = 0 Or
&RSetup.GetRow(&m).GPCH_EG_RSTATUS.GPCH_SI_PROV_TYPE.Value = "B" Then
&Rerun_option = False;
Break;
Else
&Rerun_option = True;
End-If;
End-For;
/*check PSTATUS record have atleast one row else set Rerun_option is false */
If &pstatus.Rowcount 0 And
&i &SS.RowCount Then
/*Rstatus record provider type is equal to groub view provider type then break
and do further steps*/
Break;
Else
/* The final loop to Insert the File generate row*/
If &RSetup.GetRow(&m).GPCH_EG_RSTATUS.GPCH_SI_PROV_TYPE.Value = "B" Then
Break;
End-If;
End-If;
End-If;
End-For;
If ( Not (&ParamSetup.GetRow(1).ISdeleted) And
((&ParamSetup.GetRow(1).Isnew) Or
&New_Month_run = True)) And
&Run_option = True Then
/* insert into PSTATUS,FSTATUS and PTOTALS Record */
&pstatus_rec.OPRID.Value = %OperatorId;
&pstatus_rec.GPCH_RC_PAY_YEAR.Value = GPCH_RC_PAYROLL.GPCH_RC_PAY_YEAR;
&pstatus_rec.GPCH_EG_DOMAINID.Value =
&SS.GetRow(&i).GPCH_EG_FSTA_VW.GPCH_EG_DOMAINID.Value;
&pstatus_rec.COMPANY.Value = &SS.GetRow(&i).GPCH_EG_FSTA_VW.COMPANY.Value;
/* The request Id is generated based on the GPCH_EG_F_GROUB value from GPCH_EG_FSTA_VW
view */
If (&SS.GetRow(&i).GPCH_EG_FSTA_VW.GPCH_EG_F_GROUB.Value
&prov_type_old_pstatus) Or
(&SS.GetRow(&i).GPCH_EG_FSTA_VW.GPCH_EG_TRANS_MODE.Value = 1) Or
(&SS.GetRow(&i).GPCH_EG_FSTA_VW.GPCH_EG_DISTRIBUTR.Value "Y") Or
&New_Month_run = True Then
&request_id =
get_seq_no(&SS.GetRow(&i).GPCH_EG_FSTA_VW.GPCH_SI_PROV_TYPE.Value);
End-If;
&pstatus_rec.GPCH_EG_REQUEST_ID.Value = &request_id;
For &temp = 1 To &request_id.Len
&pstatus_rec.GPCH_EG_REQUEST_ID.Value = &request_id [&temp];
&prov_type_old = &SS.GetRow(&i).GPCH_EG_FSTA_VW.GPCH_EG_F_GROUB.Value;
&pstatus_rec.GPCH_SI_PROV_TYPE.Value =
&SS.GetRow(&i).GPCH_EG_FSTA_VW.GPCH_SI_PROV_TYPE.Value;
&pstatus_rec.GPCH_SI_PROV_CD.Value =
&SS.GetRow(&i).GPCH_EG_FSTA_VW.GPCH_SI_PROV_CD.Value;
&Ptotals_rec.GPCH_RC_PAY_YEAR.Value = GPCH_RC_PAYROLL.GPCH_RC_PAY_YEAR;
&Ptotals_rec.GPCH_EG_DOMAINID.Value =
&SS.GetRow(&i).GPCH_EG_FSTA_VW.GPCH_EG_DOMAINID.Value;
&Ptotals_rec.COMPANY.Value = &SS.GetRow(&i).GPCH_EG_FSTA_VW.COMPANY.Value;
&Ptotals_rec.GPCH_EG_REQUEST_ID.Value = &request_id;
&Ptotals_rec.GPCH_EG_REQUEST_ID.Value = &request_id [&temp];
&Ptotals_rec.GPCH_SI_PROV_TYPE.Value =
&SS.GetRow(&i).GPCH_EG_FSTA_VW.GPCH_SI_PROV_TYPE.Value;
&Ptotals_rec.GPCH_SI_PROV_CD.Value =
&SS.GetRow(&i).GPCH_EG_FSTA_VW.GPCH_SI_PROV_CD.Value;
&acc_ins.FILL(&acc_ins_where_clause,
&SS.GetRow(&i).GPCH_EG_FSTA_VW.COMPANY.Value,
&SS.GetRow(&i).GPCH_EG_FSTA_VW.GPCH_SI_PROV_TYPE.Value,
&SS.GetRow(&i).GPCH_EG_FSTA_VW.GPCH_SI_PROV_CD.Value, &Year_date);
If &acc_ins.GetRow(1).GPCH_SI_ACC_INS.GPCH_ALL_CANTONFLG.VALUE = "Y" Then
&pstatus_rec.GPCH_EG_USERKEY.Value = "99";
&Ptotals_rec.GPCH_EG_USERKEY.Value = "99";
Else
If &acc_ins.GetRow(1).GPCH_SI_ACC_INS.GPCH_TX_CANTON.VALUE " " Then
&pstatus_rec.GPCH_EG_USERKEY.Value =
&acc_ins.GetRow(1).GPCH_SI_ACC_INS.GPCH_TX_CANTON.VALUE;
&Ptotals_rec.GPCH_EG_USERKEY.Value =
&acc_ins.GetRow(1).GPCH_SI_ACC_INS.GPCH_TX_CANTON.VALUE;
End-If;
End-If;
&pstatus_rec.GPCH_REPORT_STATUS.Value = "0008";
&pstatus_rec.GPCH_EG_RESEND.Value = "N";
&pstatus_rec.GPCH_EG_COMPLETE.Value = "N";
&pstatus_rec.Insert();
&Ptotals_rec.Insert();
&fstatus_rec.GPCH_RC_PAY_YEAR.Value = GPCH_RC_PAYROLL.GPCH_RC_PAY_YEAR;
&fstatus_rec.GPCH_EG_DOMAINID.Value =
&SS.GetRow(&i).GPCH_EG_FSTA_VW.GPCH_EG_DOMAINID.Value;
&fstatus_rec.COMPANY.Value = &SS.GetRow(&i).GPCH_EG_FSTA_VW.COMPANY.Value;
&fstatus_rec.GPCH_REPORT_STATUS.Value = "0008";
If (&SS.GetRow(&i).GPCH_EG_FSTA_VW.GPCH_EG_F_GROUB.Value
&prov_type_old_fstatus) Or
(&SS.GetRow(&i).GPCH_EG_FSTA_VW.GPCH_EG_TRANS_MODE.Value = 1) Or
(&SS.GetRow(&i).GPCH_EG_FSTA_VW.GPCH_EG_DISTRIBUTR.Value "Y") Then
&fstatus_rec.GPCH_EG_REQUEST_ID.Value = &request_id;
&fstatus_rec.GPCH_EG_REQUEST_ID.Value = &request_id [&temp];
&fstatus_rec.Insert();
End-If;
&prov_type_old_fstatus = &SS.GetRow(&i).GPCH_EG_FSTA_VW.GPCH_EG_F_GROUB.Value;
&prov_type_old_pstatus = &SS.GetRow(&i).GPCH_EG_FSTA_VW.GPCH_EG_F_GROUB.Value;
End-For;
End-If;
If Not (&ParamSetup.GetRow(1).Isdeleted) And
&Cancel_option = True Then
&No_rows = True;
&pstatus_vw_rec.fill(&run_status_where_clause,
&SS.GetRow(&i).GPCH_EG_FSTA_VW.GPCH_SI_PROV_TYPE.Value);
For &q = 1 To &pstatus_vw_rec.RowCount
&pstatus_rec.OPRID.Value = %OperatorId;
&pstatus_rec.GPCH_RC_PAY_YEAR.Value = GPCH_RC_PAYROLL.GPCH_RC_PAY_YEAR;
&pstatus_rec.GPCH_EG_DOMAINID.Value =
&pstatus_vw_rec.GetRow(&q).GPCH_EG_PSTA_VW.GPCH_EG_DOMAINID.Value;
&pstatus_rec.COMPANY.Value =
&pstatus_vw_rec.GetRow(&q).GPCH_EG_PSTA_VW.COMPANY.Value;
&pstatus_rec.GPCH_EG_REQUEST_ID.Value =
&pstatus_vw_rec.GetRow(&q).GPCH_EG_PSTA_VW.GPCH_EG_REQUEST_ID.Value;
&pstatus_rec.GPCH_SI_PROV_TYPE.Value =
&pstatus_vw_rec.GetRow(&q).GPCH_EG_PSTA_VW.GPCH_SI_PROV_TYPE.Value;
&pstatus_rec.GPCH_SI_PROV_CD.Value =
&pstatus_vw_rec.GetRow(&q).GPCH_EG_PSTA_VW.GPCH_SI_PROV_CD.Value;
&pstatus_rec.delete();
&pheader.GPCH_RC_PAY_YEAR.Value = GPCH_RC_PAYROLL.GPCH_RC_PAY_YEAR;
&pheader.GPCH_EG_DOMAINID.Value =
&pstatus_vw_rec.GetRow(&q).GPCH_EG_PSTA_VW.GPCH_EG_DOMAINID.Value;
&pheader.COMPANY.Value =
&pstatus_vw_rec.GetRow(&q).GPCH_EG_PSTA_VW.COMPANY.Value;
&pheader.GPCH_EG_REQUEST_ID.Value =
&pstatus_vw_rec.GetRow(&q).GPCH_EG_PSTA_VW.GPCH_EG_REQUEST_ID.Value;
&pheader.GPCH_SI_PROV_TYPE.Value =
&pstatus_vw_rec.GetRow(&q).GPCH_EG_PSTA_VW.GPCH_SI_PROV_TYPE.Value;
&pheader.GPCH_SI_PROV_CD.Value =
&pstatus_vw_rec.GetRow(&q).GPCH_EG_PSTA_VW.GPCH_SI_PROV_CD.Value;
&pheader.delete();
&Ptotals_rec.GPCH_RC_PAY_YEAR.Value = GPCH_RC_PAYROLL.GPCH_RC_PAY_YEAR;
&Ptotals_rec.GPCH_EG_DOMAINID.Value =
&pstatus_vw_rec.GetRow(&q).GPCH_EG_PSTA_VW.GPCH_EG_DOMAINID.Value;
&Ptotals_rec.COMPANY.Value =
&pstatus_vw_rec.GetRow(&q).GPCH_EG_PSTA_VW.COMPANY.Value;
&Ptotals_rec.GPCH_EG_REQUEST_ID.Value =
&pstatus_vw_rec.GetRow(&q).GPCH_EG_PSTA_VW.GPCH_EG_REQUEST_ID.Value;
&Ptotals_rec.GPCH_SI_PROV_TYPE.Value =
&pstatus_vw_rec.GetRow(&q).GPCH_EG_PSTA_VW.GPCH_SI_PROV_TYPE.Value;
&Ptotals_rec.GPCH_SI_PROV_CD.Value =
&pstatus_vw_rec.GetRow(&q).GPCH_EG_PSTA_VW.GPCH_SI_PROV_CD.Value;
rem &Ptotals_rec.delete();
&pstatus_rec1.fill(&where_clause);
For &j = 1 To &pstatus_rec1.activerowcount
If &pstatus_vw_rec.GetRow(&q).GPCH_EG_PSTA_VW.GPCH_EG_REQUEST_ID.Value =
&pstatus_rec1.GETROW(&j).GPCH_EG_PSTATUS.GPCH_EG_REQUEST_ID.value Then
&No_rows = False;
End-If;
End-For;
If (&No_rows) Then
&fstatus_rec.GPCH_RC_PAY_YEAR.Value = GPCH_RC_PAYROLL.GPCH_RC_PAY_YEAR;
&fstatus_rec.GPCH_EG_DOMAINID.Value =
&pstatus_vw_rec.GetRow(&q).GPCH_EG_PSTA_VW.GPCH_EG_DOMAINID.Value;
&fstatus_rec.COMPANY.Value =
&pstatus_vw_rec.GetRow(&q).GPCH_EG_PSTA_VW.COMPANY.Value;
&fstatus_rec.GPCH_EG_REQUEST_ID.Value =
&pstatus_vw_rec.GetRow(&q).GPCH_EG_PSTA_VW.GPCH_EG_REQUEST_ID.Value;
&fstatus_rec.delete();
&fheader.GPCH_RC_PAY_YEAR.Value = GPCH_RC_PAYROLL.GPCH_RC_PAY_YEAR;
&fheader.GPCH_EG_DOMAINID.Value =
&pstatus_vw_rec.GetRow(&q).GPCH_EG_PSTA_VW.GPCH_EG_DOMAINID.Value;
&fheader.COMPANY.Value =
&pstatus_vw_rec.GetRow(&q).GPCH_EG_PSTA_VW.COMPANY.Value;
&fheader.GPCH_EG_REQUEST_ID.Value =
&pstatus_vw_rec.GetRow(&q).GPCH_EG_PSTA_VW.GPCH_EG_REQUEST_ID.Value;
&fheader.delete();
End-If;
End-For;
End-If;
If Not (&ParamSetup.GetRow(1).ISDELETED) And
&Rerun_option = True Then
&New_request_id = True;
For &l = 1 To &pstatus.activerowcount
If &SS.GetRow(&i).GPCH_EG_FSTA_VW.GPCH_EG_F_GROUB.Value =
&pstatus.GetRow(&l).GPCH_EG_PSTA_DW.GPCH_EG_F_GROUB.Value Then
&request_id = &pstatus.GetRow(&l).GPCH_EG_PSTATUS.GPCH_EG_REQUEST_ID.Value;
&request_id [&l] =
&pstatus.GetRow(&l).GPCH_EG_PSTATUS.GPCH_EG_REQUEST_ID.Value;
&New_request_id = False;
End-If;
End-For;
&pstatus_rec.OPRID.Value = %OperatorId;
&pstatus_rec.GPCH_RC_PAY_YEAR.Value = GPCH_RC_PAYROLL.GPCH_RC_PAY_YEAR;
&Ptotals_rec.GPCH_RC_PAY_YEAR.Value = GPCH_RC_PAYROLL.GPCH_RC_PAY_YEAR;
&pstatus_rec.GPCH_EG_DOMAINID.Value =
&SS.GetRow(&i).GPCH_EG_FSTA_VW.GPCH_EG_DOMAINID.Value;
&Ptotals_rec.GPCH_EG_DOMAINID.Value =
&SS.GetRow(&i).GPCH_EG_FSTA_VW.GPCH_EG_DOMAINID.Value;
&pstatus_rec.COMPANY.Value = &SS.GetRow(&i).GPCH_EG_FSTA_VW.COMPANY.Value;
&Ptotals_rec.COMPANY.Value = &SS.GetRow(&i).GPCH_EG_FSTA_VW.COMPANY.Value;
If (&New_request_id) Or
(&SS.GetRow(&i).GPCH_EG_FSTA_VW.GPCH_EG_TRANS_MODE.Value = 1) Or
(&SS.GetRow(&i).GPCH_EG_FSTA_VW.GPCH_EG_DISTRIBUTR.Value "Y") Then
&request_id =
get_seq_no(&SS.GetRow(&i).GPCH_EG_FSTA_VW.GPCH_SI_PROV_TYPE.Value);
End-If;
&pstatus_rec.GPCH_EG_REQUEST_ID.Value = &request_id;
&Ptotals_rec.GPCH_EG_REQUEST_ID.Value = &request_id;
For &temp = 1 To &request_id.Len
&pstatus_rec.GPCH_EG_REQUEST_ID.Value = &request_id [&temp];
&Ptotals_rec.GPCH_EG_REQUEST_ID.Value = &request_id [&temp];
&prov_type_old = &SS.GetRow(&i).GPCH_EG_FSTA_VW.GPCH_EG_F_GROUB.Value;
&pstatus_rec.GPCH_SI_PROV_TYPE.Value =
&SS.GetRow(&i).GPCH_EG_FSTA_VW.GPCH_SI_PROV_TYPE.Value;
&Ptotals_rec.GPCH_SI_PROV_TYPE.Value =
&SS.GetRow(&i).GPCH_EG_FSTA_VW.GPCH_SI_PROV_TYPE.Value;
&pstatus_rec.GPCH_SI_PROV_CD.Value =
&SS.GetRow(&i).GPCH_EG_FSTA_VW.GPCH_SI_PROV_CD.Value;
&Ptotals_rec.GPCH_SI_PROV_CD.Value =
&SS.GetRow(&i).GPCH_EG_FSTA_VW.GPCH_SI_PROV_CD.Value;
&acc_ins.FILL(&acc_ins_where_clause,
&SS.GetRow(&i).GPCH_EG_FSTA_VW.COMPANY.Value,
&SS.GetRow(&i).GPCH_EG_FSTA_VW.GPCH_SI_PROV_TYPE.Value,
&SS.GetRow(&i).GPCH_EG_FSTA_VW.GPCH_SI_PROV_CD.Value, &Year_date);
If &acc_ins.GetRow(1).GPCH_SI_ACC_INS.GPCH_ALL_CANTONFLG.VALUE = "Y" Then
&pstatus_rec.GPCH_EG_USERKEY.Value = "99";
&Ptotals_rec.GPCH_EG_USERKEY.Value = "99";
Else
If &acc_ins.GetRow(1).GPCH_SI_ACC_INS.GPCH_TX_CANTON.VALUE " " Then
&pstatus_rec.GPCH_EG_USERKEY.Value =
&acc_ins.GetRow(1).GPCH_SI_ACC_INS.GPCH_TX_CANTON.VALUE;
&Ptotals_rec.GPCH_EG_USERKEY.Value =
&acc_ins.GetRow(1).GPCH_SI_ACC_INS.GPCH_TX_CANTON.VALUE;
End-If;
End-If;
&pstatus_rec.GPCH_REPORT_STATUS.Value = "0008";
&pstatus_rec.GPCH_REPORT_STATUS.Value = "N";
&pstatus_rec.INSERT();
&Ptotals_rec.INSERT();
ScrollSelect(1, Record.GPCH_EG_PSTATUS, Record.GPCH_EG_PSTATUS,
&run_status_where_clause, &SS.GetRow(&i).GPCH_EG_FSTA_VW.GPCH_SI_PROV_TYPE.Value);
For &l = 1 To &pstatus.activerowcount
If &pstatus.GetRow(&l).GPCH_EG_PSTATUS.GPCH_SI_PROV_TYPE.Value =
&SS.GetRow(&i).GPCH_EG_FSTA_VW.GPCH_SI_PROV_TYPE.Value And
&pstatus.GetRow(&l).GPCH_EG_PSTATUS.GPCH_SI_PROV_CD.Value =
&SS.GetRow(&i).GPCH_EG_FSTA_VW.GPCH_SI_PROV_CD.Value Then
&pstatus.GetRow(&l).GPCH_EG_PSTA_DW.GPCH_EG_F_GROUB.Value =
&SS.GetRow(&i).GPCH_EG_FSTA_VW.GPCH_EG_F_GROUB.Value;
End-If;
End-For;
&fstatus_rec.GPCH_RC_PAY_YEAR.Value = GPCH_RC_PAYROLL.GPCH_RC_PAY_YEAR;
&fstatus_rec.GPCH_EG_DOMAINID.Value =
&SS.GetRow(&i).GPCH_EG_FSTA_VW.GPCH_EG_DOMAINID.Value;
&fstatus_rec.COMPANY.Value = &SS.GetRow(&i).GPCH_EG_FSTA_VW.COMPANY.Value;
&fstatus_rec.GPCH_REPORT_STATUS.Value = "0008";
If (&New_request_id) Or
(&SS.GetRow(&i).GPCH_EG_FSTA_VW.GPCH_EG_TRANS_MODE.Value = 1) Or
(&SS.GetRow(&i).GPCH_EG_FSTA_VW.GPCH_EG_DISTRIBUTR.Value "Y") Then
&fstatus_rec.GPCH_EG_REQUEST_ID.Value = &request_id;
&fstatus_rec.GPCH_EG_REQUEST_ID.Value = &request_id [&temp];
&fstatus_rec.Insert();
End-If;
End-For;
End-If;
End-For;
If ( Not (&ParamSetup.GetRow(1).ISDELETED)) Then
Gen_Header_XML();
End-If;
ScrollFlush(Record.GPCH_EG_RSTATUS);
ScrollSelect(1, Record.GPCH_EG_RSTATUS, Record.GPCH_EG_RSTATUS, &where_clause);
ScrollFlush(Record.GPCH_EG_FSTATUS);
ScrollSelect(1, Record.GPCH_EG_FSTATUS, Record.GPCH_EG_PSTA_VW, &where_clause);
ScrollFlush(Record.GPCH_EG_PSTATUS);
ScrollSelect(1, Record.GPCH_EG_PSTATUS, Record.GPCH_EG_PSTATUS, &where_clause);
Get_File_status();
Get_status();
SQLExec("SELECT LANGUAGE_CD FROM PS_PRCSRUNCNTL where OPRID =:1 and RUN_CNTL_ID=:2",
GPCH_RC_PAYROLL.OPRID, GPCH_RC_PAYROLL.RUN_CNTL_ID, &LANG_CD);
SQLExec("Update PS_GPCH_RC_PAYROLL set LANGUAGE_CD=:1 where OPRID=:2 and RUN_CNTL_ID=:3",
&LANG_CD, %OperatorId, GPCH_RC_PAYROLL.RUN_CNTL_ID.Value);
SQLExec(" Update PS_GPCH_RC_TX07 set GPCH_TX_FLG='N' where OPRID=:1 and RUN_CNTL_ID=:2",
%OperatorId, &run_status_rec.RUN_CNTL_ID.VALUE);
PeopleCode (Component): GPES_RC_FNQ1(GBL).SavePreChange
Local Rowset &rsItem, &rsData, &rsFNQ;
Local Rowset &rsItem, &rsData, &rsFNQ, &rsRC;
Local Record &rData, &rItem, &rDefn, &rRC;
&rDefn = CreateRecord(Record.XML_DEFN);
&rsItem = CreateRowset(Record.XML_ITEM);
&rItem = CreateRecord(Record.XML_ITEM);
&rsData = CreateRowset(Record.XML_FILE_TBL);
&rData = CreateRecord(Record.XML_FILE_TBL);
&rRC = CreateRecord(Record.XML_RC_ESP);
&rsRC = CreateRowset(Record.XML_RC_ESP);
&rsFNQ = GetLevel0()(1).GetRowset(Scroll.GPES_RC_FNQ1_EE);
/* Delete & Insert XML_DEFN */
&rDefn.XMLFILE_ID.Value = "CC " | %OperatorId | GPES_RC_FNQ1.RUN_CNTL_ID;
&rDefn.Delete();
&FileName = "CC " | %OperatorId | GPES_RC_FNQ1.RUN_CNTL_ID;
&rRC.OPRID.Value = %OperatorId;
&rRC.RUN_CNTL_ID.Value = GPES_RC_FNQ1.RUN_CNTL_ID;
&rRC.XMLFILE_ID.Value = &FileName;
&rRC.Delete();
/* Delete XML_RC_ESP */
/* Delete all XMLs related with OPRID & RUNCNTL to avoid printing of */
/* other XML, like Contrata or Delta which use the same Oprid/Runcntl) */
&rRC.OPRID.Value = %OperatorId;
&rRC.RUN_CNTL_ID.Value = GPES_RC_FNQ1.RUN_CNTL_ID;
&rsRC.Fill("WHERE OPRID = :1 AND RUN_CNTL_ID =:2", %OperatorId, GPES_RC_FNQ1.RUN_CNTL_ID);
For &k = 1 To &rsRC.ActiveRowCount
&rRC.XMLFILE_ID.Value = &rsRC(&k).XML_RC_ESP.XMLFILE_ID.Value;
&rRC.Delete();
End-For;
/* Delete XML_FILE_TBL & XML_ITEM */
&rsData.Fill("WHERE XMLFILE_ID = :1", &FileName);
For &k = 1 To &rsData.ActiveRowCount
&rData.XMLFILE_ID.Value = &rsData(&k).XML_FILE_TBL.XMLFILE_ID.Value;
&rData.KEY1_FLD_VAL.Value = &rsData(&k).XML_FILE_TBL.KEY1_FLD_VAL.Value;
&rData.KEY2_FLD_VAL.Value = &rsData(&k).XML_FILE_TBL.KEY2_FLD_VAL.Value;
&rData.KEY3_FLD_VAL.Value = &rsData(&k).XML_FILE_TBL.KEY3_FLD_VAL.Value;
&rData.XML_SEQ_NBR.Value = &rsData(&k).XML_FILE_TBL.XML_SEQ_NBR.Value;
&rData.Delete();
End-For;
&rsItem.Fill("WHERE XMLFILE_ID = :1", &rDefn.XMLFILE_ID.Value);
For &k = 1 To &rsItem.ActiveRowCount
&rItem.XMLFILE_ID.Value = &rsItem(&k).XML_ITEM.XMLFILE_ID.Value;
&rItem.KEY1_FLD_VAL.Value = &rsItem(&k).XML_ITEM.KEY1_FLD_VAL.Value;
&rItem.KEY2_FLD_VAL.Value = &rsItem(&k).XML_ITEM.KEY2_FLD_VAL.Value;
&rItem.KEY3_FLD_VAL.Value = &rsItem(&k).XML_ITEM.KEY3_FLD_VAL.Value;
&rItem.Delete();
End-For;
If GPES_RC_FNQ1.GPES_EMPLOYEE_TYPE = "I" Then
&rsItem.Fill("WHERE XMLFILE_ID = :1", &rDefn.XMLFILE_ID.Value);
&rDefn.XMLFILE_ID.Value = "CC " | %OperatorId | GPES_RC_FNQ1.RUN_CNTL_ID;
&rDefn.DESCR.Value = "Company Certificate";
&rDefn.XML_TEMPLATE_ID.Value = "G01";
&rDefn.XML_SET.Value = "G01";
&rDefn.Insert();
/* Insert Data in XML_RC_ESP */
&rRC.OPRID.Value = %OperatorId;
&rRC.RUN_CNTL_ID.Value = GPES_RC_FNQ1.RUN_CNTL_ID;
&rRC.XMLFILE_ID.Value = &rDefn.XMLFILE_ID.Value;
&rRC.FILE_NAME.Value = "GPESFNQ1";
&rRC.XML_TEMPLATE_ID.Value = &rDefn.XML_TEMPLATE_ID.Value;
&rRC.XML_SET.Value = &rDefn.XML_SET.Value;
&rRC.Insert();
&r = 1;
&EmplidList = " ";
For &k = 1 To &rsFNQ.ActiveRowCount
If &rsFNQ(&k).GPES_RC_FNQ1_EE.GENERATE_REPORT.Value = "Y" And
&rsFNQ(&k).GPES_RC_FNQ1_EE.GPES_REASON.Value = "INE" And
&rsFNQ(&k).GPES_RC_FNQ1_EE.EMPLID.Value "" Then
If &r > 1 Then
&EmplidList = &EmplidList | ", ";
End-If;
&EmplidList = &EmplidList | "'" | &rsFNQ(&k).GPES_RC_FNQ1_EE.EMPLID.Value | "'";
&r = &r + 1;
End-If;
End-For;
If &EmplidList " " Then
&Sql = CreateSQL("SELECT DISTINCT B.SSN_EMPLOYER FROM PS_JOB_JR B WHERE EMPLID IN ("
| &EmplidList | ") AND %EffdtCheck(JOB_JR B1,B, :1)", %Date);
While &Sql.Fetch(&CCC)
&rItem.XMLFILE_ID.Value = &rDefn.XMLFILE_ID.Value;
&rItem.KEY1_FLD_VAL.Value = &CCC;
&rItem.KEY2_FLD_VAL.Value = " ";
&rItem.KEY3_FLD_VAL.Value = " ";
&rItem.XML_NODE_ID.Value = "G1 01";
&rItem.Insert();
End-While;
End-If;
End-If;
PeopleCode (Component): GPGB_ABS_EVENT(GBL).SavePostChange
Declare Function Update_Abs PeopleCode GPGB_ABS_EVT_JR.GPGB_ABS_LINK_DUR FieldFormula;
Declare Function Calculate_Half_Days PeopleCode GPGB_ABS_EVT_JR.GPGB_ABS_LINK_DUR
FieldFormula;
Component Rowset &level1, &level2;
Local date &first_bgn_dt, &bgn_dt;
Local number &prev_duration;
Component number &pin_take_num_ssp, &refershrow;
/*initilalizing ¤t_duration to zero */
¤t_duration = 0;
&level1_row = CreateRowset(Record.GP_ABS_EVENT);
&level0 = GetLevel0();
&level1 = &level0.GetRow(1).GetRowset(Scroll.GP_ABS_EVENT);
&level1.CopyTo(&level1_row);
&level1_row.Sort(GP_ABS_EVENT.END_DT, "D");
&level2 = &level1.GetRow(1).GetRowset(Scroll.GPGB_ABS_EVT_JR);
&Pin_num = &level2.GetRow(1).GPGB_ABS_EVT_JR.PIN_TAKE_NUM.Value;
&gp_abs_take = CreateRowset(Record.GP_ABS_TAKE);
rem &num_read = &gp_abs_take.Fill("where PIN_NUM=:1", GPGB_ABS_EVT_JR.PIN_TAKE_NUM);
&num_read = &gp_abs_take.Fill("where PIN_NUM=:1", &Pin_num);
rem If GP_PIN.PIN_CODE = "SSP AT1 GBR" Then;
rem &pin_take_num_ssp = GPGB_ABS_EVT_JR.PIN_TAKE_NUM;
REM &pin_take_num_ssp = &Pin_num;
rem End-If;
&gp_pin_cd = &level1.GetRow(1).GP_PIN.PIN_CODE.Value;
If &gp_pin_cd = "SSP AT1 GBR" Then;
&pin_take_num_ssp = &Pin_num;
End-If;
&i = 1; /* to check it is not the first event */
&j = 0; /* to link the first event date */
&prev_end_day_half_ind = "";
&prev_all_days_ind = "";
&prev_pin_take_num = 0;
For &z = &level1_row.ActiveRowCount To 1 Step - 1
&emplid = &level1_row.getRow(&z).GP_ABS_EVENT.EMPLID.Value;
&empl_rcd = &level1_row.getRow(&z).GP_ABS_EVENT.EMPL_RCD.Value;
&bgn_dt = Date(&level1_row.getRow(&z).GP_ABS_EVENT.BGN_DT.Value);
&end_dt = Date(&level1_row.getRow(&z).GP_ABS_EVENT.END_DT.Value);
&begin_day_half_ind =
Upper(&level1_row.getRow(&z).GP_ABS_EVENT.BEGIN_DAY_HALF_IND.Value);
&end_day_half_ind =
Upper(&level1_row.getRow(&z).GP_ABS_EVENT.END_DAY_HALF_IND.Value);
&begin_day_hrs = &level1_row.getRow(&z).GP_ABS_EVENT.BEGIN_DAY_HRS.Value;
&end_day_hrs = &level1_row.getRow(&z).GP_ABS_EVENT.END_DAY_HRS.Value;
&all_days_ind = Upper(&level1_row.getRow(&z).GP_ABS_EVENT.ALL_DAYS_IND.Value);
&pin_take_num = &level1_row.getRow(&z).GP_ABS_EVENT.PIN_TAKE_NUM.Value;
If (&pin_take_num = &pin_take_num_ssp) Then
&count2 = &count2 + 1;
&A = Date(&bgn_dt);
&b = Date(&end_dt);
If All(&A, &b) Then
&c = AddToDate(&A, 0, 0, - 1);
¤t_duration = &b - &c;
End-If;
/* ¤t_duration = &end_dt - (&bgn_dt - 1); */
/* Check for Partial Hours - starts */
If (&begin_day_hrs > 0) Then
&begin_day_half_ind = "Y";
End-If;
If (&end_day_hrs > 0) Then
&end_day_half_ind = "Y";
End-If;
/* Check for Partial Hours - ends */
/* Check for All days indicator="Y" - starts */
If (&all_days_ind = "Y" And
Not (&link_flag)) Then
&first_bgn_dt = &bgn_dt;
&prev_duration = 0;
Else
/* &all_days_ind ="N" */
/* &i Checks - it is not the first event */
If (&i > 1) Then
&compare_dt = Date(&bgn_dt) - Date(&prev_end_dt);
If (&compare_dt = 1 And
&prev_end_day_half_ind = "N" And
&begin_day_half_ind = "N" And
&prev_all_days_ind = "N" And
&prev_pin_take_num = &pin_take_num And
&all_days_ind = "N") Then
/* And &all_days_ind = "N" */
/* link the absence events */
¤t_duration = ¤t_duration + &prev_duration;
&prev_duration = Calculate_Half_Days(&begin_day_half_ind,
&end_day_half_ind, ¤t_duration);
If (&j = 0) Then
&first_bgn_dt = &prev_bgn_dt;
&first_end_dt = &prevenddate;
End-If;
&j = &j + 1;
&link_flag = True;
Else /* Not linked reset &j */
If (&j >= 1 And
&link_flag
/* And &level1.ActiveRowCount &i */
) Then
Update_Abs(&emplid, &empl_rcd, &first_bgn_dt, &prev_end_dt,
&pin_take_num, &last_prev_duration);
&link_flag = False;
End-If;
&prev_duration = Calculate_Half_Days(&begin_day_half_ind,
&end_day_half_ind, ¤t_duration);
&link_flag = False;
&j = 0;
&first_bgn_dt = &bgn_dt;
End-If; /*compare_dt */
Else /* if i = 1 */
&first_bgn_dt = &bgn_dt;
If (&end_day_half_ind = "Y" Or
&begin_day_half_ind = "Y") Then
&prev_duration = Calculate_Half_Days(&begin_day_half_ind,
&end_day_half_ind, ¤t_duration);
End-If;
End-If; /* & i > 1 */
End-If; /* Check for All days indicator="Y" - ends */
&prev_bgn_dt = &bgn_dt;
&prev_end_dt = &end_dt;
&prev_duration = ¤t_duration;
If (&i = 1 And
&level1.ActiveRowCount = 1) Then
&prev_duration = Calculate_Half_Days(&begin_day_half_ind, &end_day_half_ind,
¤t_duration);
Update_Abs(&emplid, &empl_rcd, &first_bgn_dt, &end_dt, &pin_take_num,
&prev_duration);
End-If;
If (&j >= 1 And
&link_flag And
&level1.ActiveRowCount = &i) Or
(&all_days_ind = "Y") Then
If (&all_days_ind = "Y") Then
&prev_duration = 0;
&link_flag = False;
End-If;
Update_Abs(&emplid, &empl_rcd, &first_bgn_dt, &end_dt, &pin_take_num,
&prev_duration);
End-If;
If (&j = 0 And
Not (&link_flag) /*And
&i 1 */) Then
If (&z 1) Then
&k = &z - 1;
&next_emplid = &level1_row.getRow(&k).GP_ABS_EVENT.EMPLID.Value;
&next_empl_rcd = &level1_row.getRow(&k).GP_ABS_EVENT.EMPL_RCD.Value;
&next_bgn_dt = Date(&level1_row.getRow(&k).GP_ABS_EVENT.BGN_DT.Value);
&next_end_dt = Date(&level1_row.getRow(&k).GP_ABS_EVENT.END_DT.Value);
&next_begin_day_half_ind =
Upper(&level1_row.getRow(&k).GP_ABS_EVENT.BEGIN_DAY_HALF_IND.Value);
&next_end_day_half_ind =
Upper(&level1_row.getRow(&k).GP_ABS_EVENT.END_DAY_HALF_IND.Value);
&next_begin_day_hrs =
&level1_row.getRow(&k).GP_ABS_EVENT.BEGIN_DAY_HRS.Value;
&next_end_day_hrs = &level1_row.getRow(&k).GP_ABS_EVENT.END_DAY_HRS.Value;
&next_all_days_ind =
Upper(&level1_row.getRow(&k).GP_ABS_EVENT.ALL_DAYS_IND.Value);
&next_pin_take_num = &level1_row.getRow(&k).GP_ABS_EVENT.PIN_TAKE_NUM.Value;
&compare_dt2 = Date(&next_bgn_dt) - Date(&end_dt);
REM If (&next_emplid = GPGB_ABS_EVT_JR.EMPLID And
&next_empl_rcd = GPGB_ABS_EVT_JR.EMPL_RCD And
&compare_dt2 = 1 And
&end_day_half_ind = "N" And
&next_begin_day_half_ind = "N" And
&all_days_ind = "N" And
&next_pin_take_num = &pin_take_num_ssp) Then;
If (&next_emplid = &level2.GetRow(1).GPGB_ABS_EVT_JR.EMPLID.Value And
&next_empl_rcd = &level2.GetRow(1).GPGB_ABS_EVT_JR.EMPL_RCD.Value
And
&compare_dt2 = 1 And
&end_day_half_ind = "N" And
&next_begin_day_half_ind = "N" And
&all_days_ind = "N" And
&next_pin_take_num = &pin_take_num_ssp) Then
Else
Update_Abs(&emplid, &empl_rcd, &first_bgn_dt, &end_dt, &pin_take_num,
&prev_duration);
End-If; /* 3 C */
Else /* k = 0 */
Update_Abs(&emplid, &empl_rcd, &first_bgn_dt, &end_dt, &pin_take_num,
&prev_duration);
End-If; /* relocate this 2 C */
End-If; /* 1C &j = 0 And
Not (&link_flag) */
&last_prev_duration = &prev_duration;
End-If; /* SSP Absence only */
&prev_end_day_half_ind = &end_day_half_ind;
&prev_all_days_ind = &all_days_ind;
&prev_pin_take_num = &pin_take_num;
&number_of_half_days = 0;
&i = &i + 1;
End-For;
/* CODE to mimic sort & synchronize */
If &refershrow > 0 Then
&refershrow = 0;
&level1.Refresh();
End-If;
PeopleCode (CompRecord): GPES_ABS_EVENT(GBL).INSTALLATION.SavePreChange
Local Rowset &rsGrid, &rsGrid_tmp, &RS3_tgr, &rsGrid_ESabs, &ABS_ATEP;
Local date &org_bgndt, &bgndt, &enddt, &month_bgndt, &month_enddt, &auxl_date, &org_bgndt1,
&bgndt1, &enddt1, &org_bgndt2, &BE_ITbgndt, &BE_ITenddt, &BE_ATEPbgndt, &BE_ATEPenddt,
&TGR_ATEPbgndt, &TGR_ATEPenddt, &TGR_ITorgbgndt, &TGR_ITbgndt, &TGR_ITenddt;
Local date &Date_REF;
&rsGrid = GetLevel0().GetRow(1).GetRowset(Scroll.GP_ABS_EVENT);
&rsGrid_tmp = GetLevel0().GetRow(1).GetRowset(Scroll.GP_ABS_EVENT);
&RS3_tgr = GetLevel0()(1).GetRowset(Scroll.GPES_ABS_TRIGR3);
/*------Fetch Reference Date-----*/
&Datepincode = "GEN VR F REF ACC ESP";
SQLExec("SELECT PIN_NUM FROM PS_GP_PIN WHERE PIN_CODE = :1", &Datepincode, &DatePinnum);
SQLExec("SELECT %DateOut(VARIABLE_DATE) FROM PS_GP_VARIABLE WHERE PIN_NUM = :1 ",
&DatePinnum, &Date_REF);
For &rsIndex = 1 To &rsGrid.ActiveRowCount
If &rsIndex = 1 Then
&RS3_tgr.Flush();
End-If;
&pintakenum = &rsGrid.GetRow(&rsIndex).GP_ABS_EVENT.PIN_TAKE_NUM.Value;
SQLExec("SELECT PIN_CODE FROM PS_GP_PIN WHERE PIN_NUM = :1", &pintakenum, &PIN_CODE);
&rsGrid_ESabs = &rsGrid.GetRow(&rsIndex).GetRowset(Scroll.GPES_ABSEVT_AD);
&lackprd = "N";
&lackprd = &rsGrid_ESabs.GetRow(1).GPES_ABSEVT_AD.GPES_LACKING_IND.Value;
&emplid = &rsGrid_ESabs.GetRow(1).GPES_ABSEVT_AD.EMPLID.Value;
&empl_rcd = &rsGrid_ESabs.GetRow(1).GPES_ABSEVT_AD.EMPL_RCD.Value;
/*Insertion of a row for Absence Type: IT or AT/EP (without lacking period indicator)*/
/* We need to process all the rows irrespective of whether anything is changed
(&rsGrid.GetRow(&rsIndex).GP_ABS_EVENT.BGN_DT.IsChanged)
for row with pin code IT or AT/EP because a date change in IT row could generate a trigger
for AT/EP row or vice versa*/
If (&PIN_CODE = "IT ESP" Or
&PIN_CODE = "AT/EP ESP") And
&lackprd = "N" Then
&org_bgndt = &rsGrid.GetRow(&rsIndex).GP_ABS_EVENT.ORIG_BEGIN_DT.Value;
&bgndt = &rsGrid.GetRow(&rsIndex).GP_ABS_EVENT.BGN_DT.Value;
&enddt = &rsGrid.GetRow(&rsIndex).GP_ABS_EVENT.END_DT.Value;
/*------Check Reference Date-----*/
If &bgndt >= &Date_REF Then
&org_bgndt = AddToDate(&org_bgndt, 0, 0, 1);
&bgndt = AddToDate(&bgndt, 0, 0, 1);
End-If;
&month = Month(&bgndt);
&year = Year(&bgndt);
If &month = 1 Or
&month = 3 Or
&month = 5 Or
&month = 7 Or
&month = 8 Or
&month = 10 Or
&month = 12 Then
&day = 31;
Else
If &month = 2 Then
&mod = Mod(&year, 4);
If &mod = 0 Then
&day = 29;
Else
&day = 28;
End-If;
Else
&day = 30;
End-If;
End-If;
/* Derive the Month Begin date and Month End date */
&DAYONE = "01";
&month_bgndt = Date3(&year, &month, &DAYONE);
&month_enddt = Date3(&year, &month, &day);
/* Process only if the Pin code is IT ESP*/
If &PIN_CODE = "IT ESP" Then
/* Check if the IT absence is extended to more than 15 days. i.e IT has Pago
Delegado*/
&auxl_date = AddToDate(&org_bgndt, 0, 0, 15);
If &auxl_date &rsIndex Then
&pintakenum1 =
&rsGrid.GetRow(&rsIntcnt).GP_ABS_EVENT.PIN_TAKE_NUM.Value;
SQLExec("SELECT PIN_CODE FROM PS_GP_PIN WHERE PIN_NUM = :1",
&pintakenum1, &PIN_CODE1);
If &PIN_CODE1 = "AT/EP ESP" Then
&org_bgndt1 =
&rsGrid.GetRow(&rsIntcnt).GP_ABS_EVENT.ORIG_BEGIN_DT.Value;
/* &org_bgndt1 =
&rsGrid.GetRow(&rsIntcnt).GP_ABS_EVENT.ORIG_BEGIN_DT.Value; */ /* Commenting this line as
&org_bgndt1 has not been used further anywhere */
&bgndt1 = &rsGrid.GetRow(&rsIntcnt).GP_ABS_EVENT.BGN_DT.Value;
&enddt1 = &rsGrid.GetRow(&rsIntcnt).GP_ABS_EVENT.END_DT.Value;
/*------Check Reference Date-----*/
If &bgndt1 >= &Date_REF Then
&bgndt1 = AddToDate(&bgndt1, 0, 0, 1);
End-If;
If &enddt1 = &month_bgndt Then
&ATdate_tmp = Max(&ATdate_tmp, &bgndt1);
/*&GenerateTrigger_IT = "Y";*/
/*Break;*/
End-If;
End-If;
End-If;
End-For;
/* Check absences in the backend (only the ones which are not in buffer), if
there is an AT/EP with the max dt just before the Begin dt of the IT Absence*/
/*If &GenerateTrigger_IT = "N" Then*/
&pincode_ATEP = "AT/EP ESP";
&BE1_ATEPbgndt = Date(19000101);
&BE1_ATEPenddt = Date(19000101);
&exists = "Y";
SQLExec("SELECT PIN_NUM FROM PS_GP_PIN WHERE PIN_CODE = :1", &pincode_ATEP,
&pintakenum_ATEP);
SQLExec("SELECT MAX(EMPLID), %DateOut(MAX(BGN_DT)), %DateOut(MAX(END_DT))
FROM PS_GP_ABS_EVENT WHERE EMPLID = :1 AND EMPL_RCD = :2 AND PIN_TAKE_NUM = :3 AND END_DT
= %DateIn(:5)", &emplid, &empl_rcd, &pintakenum_ATEP, &bgndt,
&month_bgndt, &exists, &BE1_ATEPbgndt, &BE1_ATEPenddt);
/*------Check Reference Date-----*/
If &BE1_ATEPbgndt >= &Date_REF Then
If All(&exists) Then
&BE1_ATEPbgndt = AddToDate(&BE1_ATEPbgndt, 0, 0, 1);
End-If;
End-If;
If All(&exists) Then
/* check if the row exists in the buffer. If yes assign the previously
processed AT/EP date itself */
If ((&BE1_ATEPbgndt >= DERIVED_GP_ABS.FROM_DATE And
&BE1_ATEPbgndt = &BE1_ATEPbgndt And
DERIVED_GP_ABS.FROM_DATE &rsIndex Then
&pintakenum1 =
&rsGrid.GetRow(&rsIntcnt).GP_ABS_EVENT.PIN_TAKE_NUM.Value;
SQLExec("SELECT PIN_CODE FROM PS_GP_PIN WHERE PIN_NUM = :1",
&pintakenum1, &PIN_CODE1);
&org_bgndt1_IT =
&rsGrid.GetRow(&rsIntcnt).GP_ABS_EVENT.ORIG_BEGIN_DT.Value;
&bgndt1_IT = &rsGrid.GetRow(&rsIntcnt).GP_ABS_EVENT.BGN_DT.Value;
&enddt1_IT = &rsGrid.GetRow(&rsIntcnt).GP_ABS_EVENT.END_DT.Value;
/*------Check Reference Date-----*/
If &bgndt1_IT >= &Date_REF Then
&org_bgndt1_IT = AddToDate(&org_bgndt1_IT, 0, 0, 1);
&bgndt1_IT = AddToDate(&bgndt1_IT, 0, 0, 1);
End-If;
If &PIN_CODE1 = "IT ESP" Then
&auxl_date_IT = AddToDate(&org_bgndt1_IT, 0, 0, 15);
If &auxl_date_IT &ATdate_tmp Then
&GenerateTrigger_IT = "N";
End-If;
End-If;
End-If;
End-If;
End-For;
End-If;
/*Scan through all the abences in the BE (the ones which are not in buffer) to
check if there is an IT absence
for more than 15days in the same month between the AT absence and the orginal IT abs*/
If &GenerateTrigger_IT = "Y" Then
&pincode_IT = "IT ESP";
&exists = "Y";
&bgndt_BEIT = Date(19000101);
&enddt_BEIT = Date(19000101);
SQLExec("SELECT PIN_NUM FROM PS_GP_PIN WHERE PIN_CODE = :1", &pincode_IT,
&pintakenum_IT);
SQLExec("SELECT EMPLID, %DateOut(BGN_DT), %DateOut(END_DT) FROM
PS_GP_ABS_EVENT WHERE EMPLID = :1 AND EMPL_RCD = :2 AND PIN_TAKE_NUM = :3 AND
%DATEADD(ORIG_BEGIN_DT,15) = %DateIn(:4) AND BGN_DT %DateIn(:6)", &emplid, &empl_rcd, &pintakenum_IT, &month_bgndt, &bgndt,
&ATdate_tmp, &exists, &bgndt_BEIT, &enddt_BEIT);
/*SQLExec("SELECT EMPLID, %DateOut(BGN_DT), %DateOut(END_DT) FROM
PS_GP_ABS_EVENT WHERE EMPLID = :1 AND EMPL_RCD = :2 AND PIN_TAKE_NUM = :3 AND
%DATEADD(ORIG_BEGIN_DT,15) = %DateIn(:4) AND BGN_DT %DateIn(:6)", &emplid, &empl_rcd, &pintakenum_IT, &month_bgndt, &bgndt,
&ATdate_tmp, &exists, &bgndt_BEIT, &enddt_BEIT);*/
SQLExec("SELECT EMPLID, %DateOut(ORIG_BEGIN_DT), %DateOut(BGN_DT),
%DateOut(END_DT) FROM PS_GP_ABS_EVENT WHERE EMPLID = :1 AND EMPL_RCD = :2 AND PIN_TAKE_NUM
= :3 AND END_DT >= %DateIn(:4) AND BGN_DT %DateIn(:6)", &emplid,
&empl_rcd, &pintakenum_IT, &month_bgndt, &bgndt, &ATdate_tmp, &exists, &bgndt_Org_BEIT,
&bgndt_BEIT, &enddt_BEIT);
/*------Check Reference Date-----*/
If All(&exists) Then
If &bgndt_BEIT >= &Date_REF Then
&bgndt_BEIT = AddToDate(&bgndt_BEIT, 0, 0, 1);
&bgndt_Org_BEIT = AddToDate(&bgndt_Org_BEIT, 0, 0, 1);
End-If;
&bgndt_BEIT_Aux = AddToDate(&bgndt_Org_BEIT, 0, 0, 15);
If &bgndt_BEIT_Aux > &enddt_BEIT Then
&exists = Null;
End-If;
End-If;
If None(&exists) Or
((&bgndt_BEIT >= DERIVED_GP_ABS.FROM_DATE And
&bgndt_BEIT = &bgndt_BEIT And
DERIVED_GP_ABS.FROM_DATE = &Date_REF Then
&Dec_IT_bgndt = AddToDate(&bgndt, 0, 0, - 1);
UpdateValue(GPES_ABS_TRIGR3.EFFDT, &lastrow, &Dec_IT_bgndt);
Else
UpdateValue(GPES_ABS_TRIGR3.EFFDT, &lastrow, &bgndt);
End-If;
End-If;
End-If;
/* Check if due to this IT absence, a trigger should be generated for an AT/EP
absence, that does
not exist in the buffer, but already saved to the backend*/
If &auxl_date %DateIn(:4) ", &emplid, &empl_rcd, &pintakenum_ATEP, &enddt, &exists, &TGR_ATEPbgndt,
&TGR_ATEPenddt);
/* Checking the lacking period indicator.*/
If All(&exists) Then
SQLExec("SELECT GPES_LACKING_IND FROM PS_GPES_ABSEVT_AD WHERE EMPLID = :1
AND EMPL_RCD = :2 AND PIN_TAKE_NUM = :3 AND BGN_DT = %DateIn(:4) AND END_DT = %DateIn(:5)",
&emplid, &empl_rcd, &pintakenum_ATEP, &TGR_ATEPbgndt, &TGR_ATEPenddt, &lackprd_ind);
End-If;
/*------Check Reference Date-----*/
If &TGR_ATEPbgndt >= &Date_REF Then
If All(&exists) Then
&TGR_ATEPbgndt = AddToDate(&TGR_ATEPbgndt, 0, 0, 1);
End-If;
End-If;
&GenTrgr_ATEP = "Y";
/* If there is no AT/EP absence after the IT in the same month or if this row
exists in the
buffer then do not generate trigger*/
If None(&exists) Or
&lackprd_ind = "Y" Or
(Month(&TGR_ATEPbgndt) Month(&enddt)) Or
(&TGR_ATEPbgndt >= DERIVED_GP_ABS.FROM_DATE And
&TGR_ATEPbgndt = &TGR_ATEPbgndt And
DERIVED_GP_ABS.FROM_DATE &rsIndex Then
&pintakenum1 = &rsGrid.GetRow(&rsIntcnt).GP_ABS_EVENT.PIN_TAKE_NUM.Value;
SQLExec("SELECT PIN_CODE FROM PS_GP_PIN WHERE PIN_NUM = :1", &pintakenum1,
&PIN_CODE1);
&org_bgndt1 = &rsGrid.GetRow(&rsIntcnt).GP_ABS_EVENT.ORIG_BEGIN_DT.Value;
&bgndt1 = &rsGrid.GetRow(&rsIntcnt).GP_ABS_EVENT.BGN_DT.Value;
&enddt1 = &rsGrid.GetRow(&rsIntcnt).GP_ABS_EVENT.END_DT.Value;
/*------Check Reference Date-----*/
If &bgndt1 >= &Date_REF Then
&org_bgndt1 = AddToDate(&org_bgndt1, 0, 0, 1);
&bgndt1 = AddToDate(&bgndt1, 0, 0, 1);
End-If;
If &PIN_CODE1 = "IT ESP" Then
&auxl_date = AddToDate(&org_bgndt1, 0, 0, 15);
If &auxl_date = &month_bgndt And
&auxl_date Date(19000101) Then
&auxl_date = &auxl_date_tmp;
End-If;
/* Check in the backend absences which are not in the buffer, if there is an IT
absence before the Begin dt of the AT/EP Absence*/
If &GenerateTrigger_atep = "N" Then
&pincode_IT = "IT ESP";
&BE_ITbgndt = Date(19000101);
&BE_ITenddt = Date(19000101);
&Bgndt_IT = Date(19000101);
&Bgndt_IT_org = Date(19000101);
&ATEP_Relapse = "N";
SQLExec("SELECT PIN_NUM FROM PS_GP_PIN WHERE PIN_CODE = :1", &pincode_IT,
&pintakenum_IT);
&exists = "Y";
SQLExec("SELECT MAX(EMPLID), %DateOut(MAX(ORIG_BEGIN_DT)),
%DateOut(MAX(BGN_DT)), %DateOut(MAX(END_DT)) FROM PS_GP_ABS_EVENT WHERE EMPLID = :1 AND
EMPL_RCD = :2 AND PIN_TAKE_NUM = :3 AND %DATEADD(ORIG_BEGIN_DT,15) =
%DateIn(:4) AND %DATEADD(ORIG_BEGIN_DT,15) =
%DateIn(:4) AND %DATEADD(ORIG_BEGIN_DT,15) = %DateIn(:4) ", &emplid, &empl_rcd,
&pintakenum_IT, &month_bgndt, &exists, &Bgndt_IT_org, &BE_ITbgndt, &BE_ITenddt);
/*------Check Reference Date-----*/
If All(&exists) Then
If &BE_ITbgndt >= &Date_REF Then
&BE_ITbgndt = AddToDate(&BE_ITbgndt, 0, 0, 1);
&Bgndt_IT_org = AddToDate(&Bgndt_IT_org, 0, 0, 1);
End-If;
&Bgndt_IT_org_Aux = AddToDate(&Bgndt_IT_org, 0, 0, 15);
If &Bgndt_IT_org_Aux = DERIVED_GP_ABS.FROM_DATE And
&BE_ITbgndt = &BE_ITbgndt And
DERIVED_GP_ABS.FROM_DATE = &Date_REF Then
&bgndt2 = AddToDate(&bgndt2, 0, 0, 1);
End-If;
/*When an AT/EP is being processed which has IT more than 15days before it,
then we check if there is
another AT/EP absence event between the current AT/EP absence and after 16days of IT
in the same month*/
/* If yes then we break because trigger needs to be generated for the AT/EP
event
which falls immediately after IT*/
If &PIN_CODE2 = "AT/EP ESP" And
&bgndt2 &auxl_date Then
&GenerateTrigger_atep = "N";
Break;
End-If;
End-For;
End-If;
/* Scan thru rows in the backend only the ones which are not in the buffer. bcoz
if a row is deleted in scroll it
would still exist in backend*/
If &GenerateTrigger_atep = "Y" Then
&pincode_ATEP1 = "AT/EP ESP";
&BE_ATEPbgndt = Date(19000101);
&BE_ATEPenddt = Date(19000101);
&exists = "N";
SQLExec("SELECT PIN_NUM FROM PS_GP_PIN WHERE PIN_CODE = :1", &pincode_ATEP1,
&pintakenum_ATEP1);
SQLExec("SELECT EMPLID, %DateOut(BGN_DT), %DateOut(END_DT) FROM
PS_GP_ABS_EVENT WHERE EMPLID = :1 AND EMPL_RCD = :2 AND PIN_TAKE_NUM = :3 AND BGN_DT %DateIn(:5)", &emplid, &empl_rcd, &pintakenum_ATEP1, &bgndt,
&auxl_date, &exists, &BE_ATEPbgndt, &BE_ATEPenddt);
If None(&exists) Or
(&BE_ATEPbgndt >= DERIVED_GP_ABS.FROM_DATE And
&BE_ATEPbgndt = &BE_ATEPbgndt And
DERIVED_GP_ABS.FROM_DATE %DateIn(:4) AND %DATEADD(ORIG_BEGIN_DT,15)
%DateIn(:4) AND %DATEADD(ORIG_BEGIN_DT,15)
%DateIn(:4)", &emplid, &empl_rcd,
&pintakenum_IT, &bgndt, &exists, &TGR_ITorgbgndt, &TGR_ITbgndt, &TGR_ITenddt);
/* Checking the lacking period indicator.*/
If All(&exists) Then
SQLExec("SELECT GPES_LACKING_IND FROM PS_GPES_ABSEVT_AD WHERE EMPLID = :1 AND
EMPL_RCD = :2 AND PIN_TAKE_NUM = :3 AND BGN_DT = %DateIn(:4) AND END_DT = %DateIn(:5)",
&emplid, &empl_rcd, &pintakenum_IT, &TGR_ITbgndt, &TGR_ITenddt, &lackprd_ind);
End-If;
/*------Check Reference Date-----*/
If All(&exists) Then
If &TGR_ITbgndt >= &Date_REF Then
&TGR_ITorgbgndt = AddToDate(&TGR_ITorgbgndt, 0, 0, 1);
&TGR_ITbgndt = AddToDate(&TGR_ITbgndt, 0, 0, 1);
End-If;
&TGR_ITorgbgndt_Aux = AddToDate(&TGR_ITorgbgndt, 0, 0, 15);
If &TGR_ITorgbgndt_Aux = DERIVED_GP_ABS.FROM_DATE And
&TGR_ITbgndt = &TGR_ITbgndt And
DERIVED_GP_ABS.FROM_DATE = &Date_REF Then
&Dec_TGR_ITbgndt = AddToDate(&TGR_ITbgndt, 0, 0, - 1);
UpdateValue(GPES_ABS_TRIGR3.EFFDT, &lastrow, &Dec_TGR_ITbgndt);
Else
UpdateValue(GPES_ABS_TRIGR3.EFFDT, &lastrow, &TGR_ITbgndt);
End-If;
End-If;
End-If; /* &PIN_CODE = "AT/EP ESP"*/
/**************************************************************************************
*/
End-If;
End-For;
/* Deletes the row for which a trigger is already inserted in the GP Core trigger table */
For &rs3_index = &RS3_tgr.ActiveRowCount To 1 Step - 1
&rs3_emplid = &RS3_tgr.GetRow(&rs3_index).GPES_ABS_TRIGR3.EMPLID.Value;
&rs3_emplrcd = &RS3_tgr.GetRow(&rs3_index).GPES_ABS_TRIGR3.EMPL_RCD.Value;
&rs3_effdt = &RS3_tgr.GetRow(&rs3_index).GPES_ABS_TRIGR3.EFFDT.Value;
&rs3_country = "ESP";
&rs3_trg_id = "RISK_CODE";
&tgr_row_exists = " ";
SQLExec("SELECT EMPLID FROM PS_GP_SEG_TRGR WHERE EMPLID = :1 AND EMPL_RCD = :2 AND COUNTRY
= :3 AND TRGR_EVENT_ID = :4 AND TRGR_EFFDT = %DATEIN(:5)", &rs3_emplid, &rs3_emplrcd,
&rs3_country, &rs3_trg_id, &rs3_effdt, &tgr_row_exists);
SQLExec("SELECT EMPLID FROM PS_GP_SEG_TRGR WHERE EMPLID = :1 AND EMPL_RCD = :2 AND COUNTRY
= :3 AND TRGR_EVENT_ID = :4 AND TRGR_EFFDT = %DATEIN(:5) AND SEG_TRGR_STATUS = 'A'",
&rs3_emplid, &rs3_emplrcd, &rs3_country, &rs3_trg_id, &rs3_effdt, &tgr_row_exists);
If All(&tgr_row_exists) Then
DeleteRow(Record.GPES_ABS_TRIGR3, &rs3_index)
End-If;
End-For;
PeopleCode (CompRecord): GPGB_ABS_EVENT(GBL).GP_ABS_EVENT.SaveEdit
Local Rowset &rs1;
If GetRow().IsNew Or
GetRow().IsChanged Then
&rs1 = GetRow().ParentRowset;
rem find the row number to start;
For &p = 1 To &rs1.ActiveRowCount
Local Row &row = &rs1(&p);
If &row.IsNew Or
&row.IsChanged Then
&a = &rs1(&p).GP_ABS_EVENT.BGN_DT.Value;
&b = &rs1(&p).GP_ABS_EVENT.END_DT.Value;
&c = &rs1(&p).GP_ABS_EVENT.PIN_TAKE_NUM.Value;
&loop = &p;
End-If;
End-For;
For &i = 1 To &rs1.ActiveRowCount
rem validate only rows that have been changed/added;
/* For &i = 1 To &rs1.ActiveRowCount
&o_st_date = &rs1(&i).GP_ABS_EVENT.BGN_DT.Value;
&o_ed_date = &rs1(&i).GP_ABS_EVENT.END_DT.Value;
&pin_num1 = &rs1(&i).GP_ABS_EVENT.PIN_TAKE_NUM.Value;
*/
&o_st_date = &a;
&o_ed_date = &b;
&pin_num1 = &c;
If All(&o_ed_date) Then
For &j = 1 To &rs1.ActiveRowCount
If &i &j Then
If &j &loop Then
&st_date = &rs1(&j).GP_ABS_EVENT.BGN_DT.Value;
&ed_date = &rs1(&j).GP_ABS_EVENT.END_DT.Value;
&pin_num2 = &rs1(&j).GP_ABS_EVENT.PIN_TAKE_NUM.Value;
If All(&ed_date) Then
If &pin_num1 = &pin_num2 And
&o_st_date = &st_date Then
Error MsgGet(17130, 207, "", &pin_num1, &o_st_date, &st_date);
Else
&pin_take_num = " ";
SQLExec(SQL.GPGB_PIN_NUM, &pin_num1, &pin_num2, &o_st_date,
&pin_take_num);
&dup_ind =
&rs1(&i).GP_ABS_EVENT.PIN_TAKE_NUM.GetRelated(GP_ABS_TAKE.EVT_DUP_IND).Value;
&dup_ind =
&rs1(&loop).GP_ABS_EVENT.PIN_TAKE_NUM.GetRelated(GP_ABS_TAKE.EVT_DUP_IND).Value;
If ((&o_st_date >= &st_date And
&o_st_date = &st_date And
&o_st_date &pin_take_num)) Then
Error MsgGet(17130, 208, "");
End-If;
End-If;
End-If;
End-If;
End-For;
End-If;
End-For;
rem End-For;
End-If;
PeopleCode (CompRecord): GPGB_EE_TAX(GBL).GPGB_EE_TAX.SaveEdit
Local Record &employment;
Local date &Start_Dt, &Leave_Dt;
Local date &hire_dt;
Local string &taxcode, &substr;
Local number &len, ✓
If GetRow().IsNew Or
GetRow().IsChanged Then
/*The following section of code validates the taxcode format. If the format is correct,
the &check variable is set to '1'. If &check is 0 at the end of processing, then an
error message is displayed. The validation is done in Upper case, since the field
uses the upper case format.
*/
&check = 0;
&taxcode = GPGB_EE_TAX.TAXCODE_UK.Value;
&len = Len(&taxcode);
/*Checking for Scottish taxcode*/
If GPGB_EE_TAX.GPGB_SV_TAX_IND.Value = "Y" Then
&substr = Substring(&taxcode, 1, 1);
If &substr = "S" Then
&taxcode = Substring(&taxcode, 2, &len - 1);
&len = &len - 1;
Else
&check = 2;
End-If;
End-If;
If &len >= 2 And
&len 0 Then
&check = 1;
/* GPGB_EE_TAX.GPGB_TAX_CD_ALPHA = &substr;
GPGB_EE_TAX.GPGB_TAX_CD_NUM = Value(Substring(&taxcode, 2, &len - 1));*/
End-If;
/*nnnnnnx where nnnnnn is in the range of 1 _ 999999 and x is one of T, L, P, V or
Y*/
&substr = Substring(&taxcode, &len, 1);
If (&substr = "T" Or
&substr = "L" Or
&substr = "P" Or
&substr = "P" Or
&substr = "V" Or
&substr = "Y") And
IsDigits(Substring(&taxcode, 1, &len - 1)) And
Value(Substring(&taxcode, 1, &len - 1)) > 0 Then
&check = 1;
/* GPGB_EE_TAX.GPGB_TAX_CD_ALPHA = &substr;
GPGB_EE_TAX.GPGB_TAX_CD_NUM = Value(Substring(&taxcode, 1, &len - 1));*/
End-If;
/*other standard codes*/
If (&taxcode = "BR" Or
&taxcode = "0T" Or
&taxcode = "D0" Or
&taxcode = "NT") Then
&check = 1;
/* GPGB_EE_TAX.GPGB_TAX_CD_ALPHA = &taxcode;
GPGB_EE_TAX.GPGB_TAX_CD_NUM = 0;*/
End-If;
End-If;
Evaluate(&check)
When 0
/*Invalid taxcode format*/
If &len > 0 Then
GPGB_EE_TAX.TAXCODE_UK.SetCursorPos(%Page);
Error MsgGet(17130, 59, ""); /*MESSAGE SHOULD BE MODIFIED*/
End-If;
When 2
/*No preceding 'S' for Scottish taxcode*/
GPGB_EE_TAX.TAXCODE_UK.SetCursorPos(%Page);
Error MsgGet(17130, 42, "");
End-Evaluate;
/* Erase value of the P45 Calendar_run when new Employment */
SQLExec(SQL.GPGB_GET_START_DT, GPGB_EE_TAX.EMPLID, GPGB_EE_TAX.EMPL_RCD,
GPGB_EE_TAX.EFFDT, &Start_Dt);
SQLExec("SELECT %dateout(MAX(EFFDT)), ACTION FROM PS_JOB WHERE EMPLID=:1 AND
HR_STATUS=:2 AND ACTION=:3 GROUP BY EFFDT,ACTION ", GPGB_EE_TAX.EMPLID, "A", "HIR",
&hire_dt, &ACTION);
If GPGB_EE_TAX.EFFDT 0 Or
GPGB_EE_TAX.GPGB_P45_TAX_TD.Value > 0) And
None(GPGB_EE_TAX.GPGB_TAX_YR_END) Then
Error MsgGet(17130, 88, "");
End-If;
/*Cross validation between p46 and stmts a,b,c*/
/*Cross validation between p46 and stmts a,b,c*/
If (GPGB_EE_TAX.GPGB_TAX_CD_SRC.Value = "P46") And
(GPGB_EE_TAX.GPGB_P46_STATMNTA "Y") And
(GPGB_EE_TAX.GPGB_P46_STATMNTB "Y") And
(GPGB_EE_TAX.GPGB_P46_STATMNTC "Y") Then
Error MsgGet(17130, 251, "");
End-If;
/*Cross validation when Notification Source is P45*/
If GPGB_EE_TAX.GPGB_TAX_CD_SRC.Value = "P45" Then
/* CHECK FOR THE MANDATORY EDI VALUES */
If Not All(GPGB_EE_TAX.GPGB_ER_TAXNUM, GPGB_EE_TAX.GPGB_PREV_ER_PAYE,
GPGB_EE_TAX.GPGB_LEAVE_DT, GPGB_EE_TAX.GPGB_PREV_TAX_CD, GPGB_EE_TAX.GPGB_PREV_TX_BASIS,
GPGB_EE_TAX.GPGB_TAX_YR_END) Then
Warning MsgGet(17130, 248, "");
If Not All(GPGB_EE_TAX.GPGB_ER_TAXNUM, GPGB_EE_TAX.GPGB_PREV_ER_PAYE,
GPGB_EE_TAX.GPGB_LEAVE_DT, GPGB_EE_TAX.GPGB_PREV_TAX_CD) Then
Error MsgGet(17130, 248, "");
End-If;
/* end check*/
If GPGB_EE_TAX.GPGB_PREV_TX_BASIS.Value = "1" And
(All(GPGB_EE_TAX.GPGB_PREV_PERIOD) Or
All(GPGB_EE_TAX.GPGB_PREV_WKMTH) Or
All(GPGB_EE_TAX.GPGB_P45_PAY_TD) Or
All(GPGB_EE_TAX.GPGB_P45_TAX_TD)) Then
Error MsgGet(17130, 128, "");
End-If;
If GPGB_EE_TAX.GPGB_PREV_TX_BASIS.Value = "0" And
(None(GPGB_EE_TAX.GPGB_PREV_PERIOD) Or
None(GPGB_EE_TAX.GPGB_PREV_WKMTH)) Then
Warning MsgGet(17130, 129, "");
End-If;
If GPGB_EE_TAX.GPGB_PREV_TX_BASIS.Value = "0" And
Not (GPGB_EE_TAX.GPGB_P45_PAY_TD.Value > 0 Or
GPGB_EE_TAX.GPGB_P45_TAX_TD.Value > 0) Then
Warning MsgGet(17130, 131, "");
End-If;
End-If;
/*Issue warning if history has been modified*/
If Not GetRow().IsNew And
GetRow().IsChanged Or
GetRow().IsDeleted Then
Warning MsgGet(17130, 136, "");
End-If;
/*Warnings to be displayed on changing Student Loans check box in P45/P46 group box*/
Local string &emplid1, &emplid2;
Local date &re_dt;
If Not GetRow().IsNew And
(GPGB_EE_TAX.GPGB_TAX_CD_SRC.Value = "P45" Or
GPGB_EE_TAX.GPGB_TAX_CD_SRC.Value = "P46") And
GPGB_EE_TAX.GPGB_P45_STLOAN.Value = "Y" And
GPGB_EE_TAX.GPGB_P45_STLOAN.OriginalValue = "N" Then
&emplid1 = "";
&emplid2 = "";
SQLExec("SELECT DISTINCT EMPLID FROM PS_GPGB_EE_STLOAN WHERE EMPLID = :1 AND EMPL_RCD
= :2", GPGB_EE_TAX.EMPLID.OriginalValue, GPGB_EE_TAX.EMPL_RCD.OriginalValue, &emplid2);
If &emplid2 = "" Then
/*no record previously exists in student loans record*/
SQLExec("SELECT DISTINCT A.EMPLID FROM PS_GP_PYE_PRC_STAT A, PS_GPGB_EE_RSLT B
WHERE A.EMPLID = B.EMPLID AND A.CAL_RUN_ID = B.CAL_RUN_ID AND A.EMPL_RCD = B.EMPL_RCD AND
A.GP_PAYGROUP = B.GP_PAYGROUP AND A.CAL_ID = B.CAL_ID AND A.EMPLID = :1 AND A.EMPL_RCD =
:2 AND A.PRD_BGN_DT = %DateIn(:3)",
GPGB_EE_TAX.EMPLID.OriginalValue, GPGB_EE_TAX.EMPL_RCD.OriginalValue,
GPGB_EE_TAX.EFFDT.OriginalValue, &emplid1);
If &emplid1 = GPGB_EE_TAX.EMPLID.Value Then
Warning MsgGet(17130, 133, "");
End-If;
Else
/*A record exists in the student loans record*/
&emplid1 = "";
SQLExec("SELECT EMPLID FROM PS_GPGB_EE_STLOAN WHERE EMPLID = :1 AND EMPL_RCD = :2
AND START_DATE = %DateIn(:3)", GPGB_EE_TAX.EMPLID.OriginalValue,
GPGB_EE_TAX.EMPL_RCD.OriginalValue, GPGB_EE_TAX.EFFDT.OriginalValue, &emplid1);
If &emplid1 = "" Then
Warning MsgGet(17130, 134, "");
End-If;
End-If;
End-If;
If Not GetRow().IsNew And
(GPGB_EE_TAX.GPGB_TAX_CD_SRC.OriginalValue = "P45" Or
GPGB_EE_TAX.GPGB_TAX_CD_SRC.OriginalValue = "P46") And
GPGB_EE_TAX.GPGB_P45_STLOAN.Value = "N" And
GPGB_EE_TAX.GPGB_P45_STLOAN.OriginalValue = "Y" Then
&emplid2 = "";
SQLExec("SELECT EMPLID FROM PS_GPGB_EE_STLOAN WHERE EMPLID = :1 AND EMPL_RCD = :2 AND
START_DATE = %DateIn(:3)", GPGB_EE_TAX.EMPLID.OriginalValue,
GPGB_EE_TAX.EMPL_RCD.OriginalValue, GPGB_EE_TAX.EFFDT.OriginalValue, &emplid2);
If &emplid2 = GPGB_EE_TAX.EMPLID.Value Then
Warning MsgGet(17130, 135, "");
End-If;
End-If;
End-If;
Local Rowset &grid2;
&grid2 = GetRowset(Scroll.GPGB_EE_TAX_NTS);
If (&grid2(1).GPGB_EE_TAX_NTS.GPGB_NOTES.Value = "") Then
&grid2(1).GPGB_EE_TAX_NTS.GPGB_NOTES.Label =
&grid2(1).GPGB_EE_TAX_NTS.GPGB_NOTES.GetLongLabel("GPGB_ADD_NOTES");
Else
&grid2(1).GPGB_EE_TAX_NTS.GPGB_NOTES.Label =
&grid2(1).GPGB_EE_TAX_NTS.GPGB_NOTES.GetLongLabel("GPGB_EDIT_NOTES");
End-If;
PeopleCode (CompRecord): GPIN_YE_F24_F16(GBL).GPIN_F16_AK_DTL.SaveEdit
Warning MsgGetText(17410, 49, "Message not found")
PeopleCode (CompRecFld): GPES_SSTC_IND_RES(GBL).DERIVED_GPES.SEARCH_BUTTON
FieldChange
Local Rowset &rs_dat;
If None(DERIVED_GPES.GPES_YEARFROM.Value) Then
SetCursorPos(Page.GPES_SSTC_IND_DAT, DERIVED_GPES.GPES_YEARFROM, CurrentRowNumber());
Error MsgGet(17170, 103, "", Field.GPES_YEARFROM.GetLongLabel("YEARFROM"));
End-If;
If None(DERIVED_GPES.GPES_MONTHFROM.Value) Then
SetCursorPos(Page.GPES_SSTC_IND_DAT, DERIVED_GPES.GPES_MONTHFROM,
CurrentRowNumber());
Error MsgGet(17170, 103, "", Field.GPES_MONTHFROM.GetLongLabel("MONTHFROM"));
End-If;
If None(DERIVED_GPES.GPES_YEARTO.Value) Then
DERIVED_GPES.GPES_YEARTO.Value = 2030;
End-If;
If None(DERIVED_GPES.GPES_MONTHTO.Value) Then
DERIVED_GPES.GPES_MONTHTO.Value = 12
End-If;
/*'From Month/Year' is greater than 'To Month/Year'*/
If (DERIVED_GPES.GPES_YEARFROM.Value > DERIVED_GPES.GPES_YEARTO.Value) Then
Error MsgGet(17170, 68, "");
End-If;
/*'From Month/Year' is greater than 'To Month/Year'*/
If (DERIVED_GPES.GPES_YEARFROM.Value = DERIVED_GPES.GPES_YEARTO.Value) And
(DERIVED_GPES.GPES_MONTHFROM.Value > DERIVED_GPES.GPES_MONTHTO.Value) Then
Error MsgGet(17170, 68, "");
End-If;
&rs_dat = GetLevel0()(1).GetRowset(Scroll.GPES_SSTC_DAT_C);
&rs_dat.Flush();
/*Avoiding DB2 Specific error SQL0417N A statement string to be prepared contains parameter
markers as the operands of the same operator: DB2 does not understand the part "... :2 =
:3 ...". It seems that it requiresto cast one of the operator sides. But CAST does not work
for Sybase (Which uses CONVERT). So, we convert the numeric values to string that way we
implicitly cast the parameters */
&rs_dat.Select(Record.GPES_SSTC_DAT_C, "
WHERE EMPLID = :1 AND ((:2 = :3 AND GPES_YEAR = :2 AND GPES_MONTH BETWEEN :4 AND :5) OR (:2
:3 AND ((GPES_YEAR = :2 AND GPES_MONTH >= :4) OR (GPES_YEAR = :3 AND GPES_MONTH :2 AND GPES_YEAR %NumToChar(:3) AND ((GPES_YEAR = :2 AND GPES_MONTH
>= :4) OR (GPES_YEAR = :3 AND GPES_MONTH :2 AND GPES_YEAR < :3))))
ORDER BY COMPANY, SSN_EMPLOYER, GPES_YEAR, GPES_MONTH, GPES_SSTC_PAYMNT, GPES_YEAR_RECALC,
GPES_MONTH_RECALC, SLICE_BGN_DT", GPES_SSTC_DAT_C.EMPLID.Value,
DERIVED_GPES.GPES_YEARFROM.Value, DERIVED_GPES.GPES_YEARTO.Value,
DERIVED_GPES.GPES_MONTHFROM.Value, DERIVED_GPES.GPES_MONTHTO.Value);