Table of Contents
- CREATE PAY HISTORY INTERFACE
- Setup Step 1 - Define Lexicons in IMLN
- X_INTERFACE_TYPE
- Setup Step 2 - Define Interface Format in IDIF
- Fixed File Format
- BYPASS capability
- BYPASS-1-PPL, BYPASS-ALL-PPL, BYPASS-TO-PPH
- GOTO#nn#nnn
- Multiple Fields processing
- P2K Internal Functions
- P2K Internal Functions with Parameters
- XML File format
- IDIF â Call User Calc
- Call User Calc function
- IDIF - Update Record Set Up
- IDIF â Update Record
- IDIF â Update Record Set Up
- Processing Information
- Qualify Process
- Interface Level 01 - Pay Headers
- Interface Level 02 - Pay Headers + Pay Lines
- Interface Level 10 - Journal Entries
- Pay Header Summary
- Update Record
- Report Parameter
- Report Parameters & Filters
- Notes
CREATE PAY HISTORY INTERFACE#
The system allows you to generate an interface file from pay history information for the pay headers and the associated information such as Pay Lines, Pay Line Details, Pay Amounts or the Journal Entries depending on the interface level. The employee's basic information such as Personals, Employments, Prime Assignments, Entities, Locations, Jobs, Positions, Departments, Units, Groups can also be used for the interface file.You define the interface file layout on IDIF screen.
Setup Step 1 - Define Lexicons in IMLN#
The following lexicons are provided by Wiki and used for UPPHF Pay History Interface.X_INTERFACE_TYPE#
The following value from X_INTERFACE_TYPE must be used for IDIF screen Interface Type field:32 - Pay History Interface X_INTERFACE_UPPHF is used on UPPHF selection criteria screen for Interface Level parameter:- 01 - Pay Headers
- Generate interface file with Pay Headers, Pay Amounts and employee basic information.
This is used when Interface File requires Element amounts without detail information from Pay Lines, performance for this Interface level will be better than '02' level.
- 02 - Pay Headers + Pay Lines
- Generate interface file with Pay Headers, Pay Lines, Pay Line Details, Pay Amounts and employee basic information.
This is used when Interface File requires Amounts or Element amounts from Pay Lines level and information such as Cost Center, Work Order etc, performance for this Interface level will be slower than '01' level.
- 10 - Journal Entries
- Generate interface file with Pay Headers, Journal Entries, Journal Details and employee basic information
This is used when Interface File requires Journal Entries information, performance for this Interface level will be slower than '01' level
Saved Value | Displayed Value | Source of Data | Comments |
---|---|---|---|
320001 | Execution ID | From Execution ID of the UPPHF run | |
320002 | XML Tag | Indicates this Rec#/Fld# is for XML tag. You should enter the XML tag in the XML Tag field, if XML Tag field is not specified, the field name is used as XML tag. e.g. <Request> or </Request> as XML tag. You should use one of the following ways to define XML tags: 1) use 320002-XML tag for all Begin and End tags i.e. you specify <Request> and </Request> 2) use 320604-XML Begin tag and 320605-XML End tag. This allows you to use XML tag option to indicate if the XML tag is mandatory or optional. You must not use 320002-XML tag to mix with 320604/320605 definition. | |
320003 | Constant Value | You should specify the Constant to be used in IDIF Constant Value field | |
320004 | System Date/Time | The current system date and time with following, select:to_char(sysdate,'DD-MON-YYYY HH24:MI:SS') | You can use derivation expression SUBSTR to retrieve Date Only or Time Only |
320005 | From Pay Period | This field holds the earliest pay period that have been processed from all pay headers | This can be used for Header or Trailer record |
320006 | To Pay Period | This field holds the latest pay period that have been processed from all pay headers | This can be used for Header or Trailer record |
320007 | Pay Header pph_id | This field holds the id of the current pay header | This can be used in the derivation expression to call some internal Wiki functions that needed the pph.id e.g. call Element function to return the value of an element: To retrieve the value of Element 'HOURS COMP TIME'. In Record# 50, Field#20, Variable Name = 'Pay Header PPH_ID', then in derivation expression: P2K_PPAMTS.SPELPAY(~,P2K_PPAMTS.SPGETPEL('HOURS COMP TIME')) |
320008 | Employment eem_id | This field holds the id of the current employment record, from P2K_HR_EMPLOYMENTS | This can be used in the derivation expression to call some internal functions that needed the eid.id |
320009 | Identity eid_id | This field holds the id of the current identity record from P2K_HR_IDENTITIES | This can be used in the derivation expression to call some internal functions that needed the EID_ID |
320010 | Person Code | From P2K_HR_IDENTITIES, person_code | |
320011 | First Name | From P2K_HR_IDENTITIES, first_name | |
320012 | Last Name | From P2K_HR_IDENTITIES, last_name | |
320013 | First,Last Name | From P2K_HR_IDENTITIES, first_name ', ' last_name | |
320014 | Last,First Name | From P2K_HR_IDENTITIES, last_name ', ' first_name | |
320015 | Trial Run | From parameter P_TRIAL (Trial Run) | The value of 'Y' or 'N' is always returned in P_TRIAL. If NULL is entered, P_TRIAL is set to 'N' |
320020 | Batch Number | From P2K_PR_BATCHES, batch_number | |
320030 | Pay Run Number | From P2K_PR_PAY_RUNS, pay_run_number | |
320031 | Pay Run Sequence | From P2K_PR_PAY_HEADERS, pay_run_sequence | |
320040 | Hired Date | From P2K_HR_EMPLOYMENTS, hire_date | |
320041 | Term Date | From P2K_HR_EMPLOYMENTS, termination_date | |
320042 | Seniority Date | From P2K_HR_EMPLOYMENTS, seniority_date | |
320043 | First Work Date | From P2K_HR_EMPLOYMENTS, first_work_date | |
320044 | Last Work Date | From P2K_HR_EMPLOYMENTS, last_work_date | |
320100 | Pay Header Stage | From P2K_PR_PAY_HEADERS, pay_header_stage | |
320101 | Pay Number | From P2K_PR_PAY_HEADERS, pay_number | |
320102 | Pay Period | From P2K_PR_PAY_HEADERS, pay_period | |
320103 | Pay Period Start | From P2K_PR_PAY_PERIODS, pay_period_start_date of the pay header | |
320104 | Pay Period End Date | From P2K_PR_PAY_PERIODS, pay_period_end_date of the pay header | |
320105 | Pay Issue Date | From P2K_PR_PAY_HEADERS, pay_issue_date | |
320106 | Period Fiscal | From Pay Period Fiscal of Pay Header | |
320107 | Period Fiscal Start | From Fiscal Start Date of Pay Period Fiscal | |
320108 | Period Fiscal End | From Fiscal End Date of Pay Period Fiscal | |
320109 | Issue Fiscal | From Pay Issue Fiscal of Pay Header | |
320110 | Issue Fiscal Start | From Fiscal Start Date of Pay Issue Fiscal | |
320111 | Issue Fiscal End | From Fiscal End Date of Pay Issue Fiscal | |
320200 | G/L Company Code | From P2K_CM_ENTITIES, GL Company Code | |
320201 | Entity Code | From P2K_CM_ENTITIES, Entity Code | |
320202 | Entity Name | From P2K_CM_ENTITIES, Entity Name | |
320203 | Payroll Code | From P2K_PR_PAYROLLS, Payroll Code | |
320204 | Payroll Desc | From P2K_PR_PAYROLLS, Payroll description | |
320205 | Unit Code | From P2K_CM_UNITS, Unit Code | |
320206 | Unit Name | From P2K_CM_UNIT_DETAILS, Unit Name | |
320207 | Group Code | From P2K_CM_GROUPS,Group Code | |
320208 | Group Desc | From P2K_CM_GROUP_DETAILS, Group Description | |
320209 | Department Code | From Pay Header assignment Department Code on P2K_CM_DEPARTMENTS or Pay Line Department Code if exists | |
320210 | Department Name | From Pay Header assignment Department Name on P2K_CM_DEPARTMENT_DETAILS or Pay Line Department name if exists | |
320211 | Job Code | From Pay Header assignment Job Code on P2K_CM_JOBS or Pay Line Job Code if exists | |
320212 | Job Title | From Pay Header assignment Job Title on P2K_CM_JOB_DETAILS or Pay Line Job Title if exists | |
320213 | Position Code | From Pay Header assignment Position Code on P2K_CM_POSITIONS or Pay Line Position Code if exists | |
320214 | Position Title | From Pay Header assignment Position Title on P2K_CM_POSITION_DETAILS or Pay Line Position Title if exists | |
320215 | Assignment Code | From Pay Header assignment Code on P2K_HR_ASSIGNMENTS or Pay Line assignment Code if exists | |
320216 | Assignment Title | From Pay Header assignment Title on P2K_HR_ASSIGNMENT_DETAILS or Pay Line assignment Code Title if exists | |
320217 | Pay Category Code | From Pay Header pay_category_code on P2K_PR_PAY_CATEGORIES | |
320218 | Check Number | From Pay Header Check Number on P2K_PR_CHECKS | |
320219 | Check Amount | From Pay Header Check Amount on P2K_PR_CHECKS | |
320220 | User Name | From Pay Header User Name on P2K_AM_USERS | |
320221 | Work State/Prov | From Pay Header Work State/Prov on P2K_PR_PAY_HEADERS | |
320222 | Res State/Prov | From Pay Header Residence State/Prov on P2K_PR_PAY_HEADERS | |
320223 | Work GEO Code | From Pay Header Work Jurisdiction GEO Code on P2K_CM_TAX_JURISDICTIONS | |
320224 | Res GEO Code | From Pay Header Residence Jurisdiction GEO Code on P2K_CM_TAX_JURISDICTIONS | |
320225 | Work Jurisdiction | From Pay Header Work Jurisdiction on P2K_PR_PAY_HEADERS | |
320226 | Res Jurisdiction | From Pay Header Residence Jurisdiction on P2K_PR_PAY_HEADERS | |
320227 | School District | From Pay Header School District on P2K_PR_PAY_HEADERS | |
320230 | Std Wage (eas) | From Pay Header Assignment Std Wage | |
320231 | Wage Basis (eas) | From Pay Header Assignment Wage Basis | |
320232 | Authorization Code | Authorization area is from pay header or pay line's assignment, then position, then department | |
320300 | PC Code | The PC Code of the current pay line detail or pay amount | |
320301 | PC Abbrev | The PC Abbreviation of the current pay line detail or pay amount | |
320302 | PC Amount | The PC Amount of the current pay line detail or pay amount | |
320303 | Element Code | You should specify the 'Element Code' in IDIF Constant Value | |
320304 | Element PC Value | You should specify the 'Element Code' in IDIF Constant Value | If the PC Code of the current pay line detail or pay amount is in the element, then the PC Amount is included |
320305 | Element Desc | You should specify the 'Element Code' in IDIF Constant Value | |
320306 | Element pph Value | You should specify the 'Element Code' in IDIF Constant Value | this returns the Element Value of this Pay Header PPH_ID |
320400 | Start Date (ppl) (32) | From Pay Line Start Date on P2K_PR_PAY_LINES | |
320401 | Time (ppl) (32) | From Pay Line Time on P2K_PR_PAY_LINES | |
320402 | Time Basis (ppl) (32) | From Pay Line Time Basis on P2K_PR_PAY_LINES | |
320403 | Std Wage (ppl) (32) | From Pay Line Std Wage on P2K_PR_PAY_LINES | |
320404 | Wage Basis (ppl) (32) | From Pay Line Wage Basis on P2K_PR_PAY_LINES | |
320405 | Cost Center (ppl) (32) | From Pay Line Cost Center on P2K_CM_COST_CENTERS | |
320406 | Cost Center Desc (32) | From Pay Line Cost Center description on P2K_CM_COST_CENTERS | |
320407 | Work Order (ppl) (32) | From Pay Line Work Order on P2K_PR_PAY_LINES | |
320408 | Reference Info (ppl) (32) | From Pay Line Reference Info on P2K_PR_PAY_LINES | |
320409 | Tran Pointer (ppl) (32) | From Pay Line Transaction Pointer on P2K_PR_PAY_LINES | |
320410 | Pay Line ID (ppl_id) (32) | From Pay Line ID | |
320411 | Pay Line Detail (ppld_id) (32) | From Pay Line Detail ID | |
320500 | Wage Rate (ppld) (32) | From Pay Line Detail Wage Rate on P2K_PR_PAY_LINE_DETAILS | |
320501 | Rate Basis (ppld) (32) | From Pay Line Detail Rate Basis on P2K_PR_PAY_LINE_DETAILS | |
320502 | Tran Pointer (ppld) (32) | From Pay Line Detail Transaction Pointer on P2K_PR_PAY_LINE_DETAILS | |
320600 | Total Value (32) | User should specify the Rec# and Field # to be totaled in IDIF Constant Value field e.g. if Rec # 50 Field # 70 specifies the hours for each employee and need to be totaled for the trailer record, then for trailer record entry, you should specify 'Total Value' with Constant Value = 5070 | This Total Value is available for Header and Trailer records. Multiple Rec# and Field # are allowed in the Constant field e.g. [611] + [612] + [613] + [623] - [624]. This means calculate the Totals for Rec# 61 Fld# 1 + Rec# 61 Fld# 2 + Rec# 61 Fld# 3 + Rec# 62 Fld# 3 - Rec# 62 Fld# 4. Any arithmetic operator can be used: +, -, *, /Note: The Accum Option and Total Option must be set for the Rec# Fld# that are specified in this Constant field, i.e.Rec# 61 Fld# 1 etc |
320601 | Detail Record Count (32) | Contains the Record Count of each set of Rec# 30-69 in the interface file, i.e. one set of IDIF Record Type of 'DetailRecord', can be used as employee count e.g. if an employee's one detail record generates three different Record types with Rec# 50, 60, 65, it counts as one because it is for one detail record | This Record Count is available for Header and Trailer records |
320602 | All Detail Count (32) | Contains the Record Count of all Rec# 30-69 in the interface file e.g. if an employee's one detail record generates 3 different Record types with Rec# 50, 60, 65, it counts as 3 because there are 3 entries generated on interface file | This Record Count is available for Header and Trailer records |
320603 | User Calc (32) | Indicates this Rec#/Fld# will invoke a UserCalc. You should enter the UserCalc Name in the Constant Value field | |
320604 | XML Begin Tag (32) | Indicates this Rec#/Fld# is for XML Begin tag | You should enter the XML tag in the XML tag field, if XML tag field is not specified, the Field name is used as XML tag. You should specify XML tag option for this field. If XML tag option is not specified, this XML tag is an optional tag. If you use 320604-XML Begin tag to define the XML tags, you must use 320605-XML End tag to pair with the XML Begin tag. You should use one of the following ways to define XML tags:1) use 320002-XML tag for all Begin and End tags i.e. you specify <Request> and </Request> 2) use 320604-XML Begin tag and 320605-XML End tag . This allows you to use XML tag option to indicate if the XML tag is mandatory or optional. You must not use 320002-XML tag to mix with 320604/320605 definition |
320605 | XML End Tag (32) | Indicates this Rec#/Fld# is for XML End tag | See 320604- XML Begin tag for detail |
320606 | UDF (EID) (32) | Indicates this Rec#/Fld# contains a UDF value from P2K_HR_IDENTITIES (EID) | You must define the UDF on IMUF screen for P2K_HR_IDENTITIES and then enter the value on IEID screen. On IDIF screen, you must enter the IMUF UDF name in the Constant Value field. If this Rec#/Fld# is defined with Record Type '92-Update Record', in non-Trial mode, this UDF will be inserted or updated, you do not need to set up UDF on IMUF screen |
320607 | UDF (EEM) (32) | Indicates this Rec#/Fld# contains a UDF value from P2K_HR_EMPLOYMENTS (EEM) | You must define the UDF on IMUF screen for P2K_HR_EMPLOYMENTS and then enter the value on IEEI screen. On IDIF screen, you must enter the IMUF UDF name in the Constant Value field. If this Rec#/Fld# is defined with Record Type '92-Update Record', in non-Trial mode, this UDF will be inserted or updated, you do not need to set up UDF on IMUF screen |
320608 | UDF (EPS) (32) | Indicates this Rec#/Fld# contains a UDF value from P2K_HR_PERSONALS (EPS) | You must define the UDF on IMUF screen for P2K_HR_PERSONALS and then enter the value on IEPI screen. On IDIF screen, you must enter the IMUF UDF name in the Constant Value field. If this Rec#/Fld# is defined with Record Type '92-Update Record', in non-Trial mode, this UDF will be inserted or updated, you do not need to set up UDF on IMUF screen |
320610 | UDF (EASD) (32) | Indicates this Rec#/Fld# contains a UDF value from P2K_HR_ASSIGNMENT_DETAILS (EASD) | User must define the UDF on IMUF screen for P2K_HR_ASSIGNMENT_DETAILS and then enter the value on IEAS screen Effective date sections. On IDIF screen, you must enter the IMUF UDF name in the Constant Value field. If this Rec#/Fld# is defined with Record Type '92-UpdateRecord', in non-Trial mode, this UDF will be inserted or updated, you do not need to set up UDF on IMUF screen. |
320621 | UDF (DED) (32) | Indicates this Rec#/Fld# contains a UDF value from P2K_CM_ENTITY_DETAILS (DED) | User must define the UDF on IMUF screen for P2K_CM_ENTITY_DETAILS and then enter the value on IDEN screen Effective date sections. On IDIF screen, you must enter the IMUF UDF name in the Constant Value field. If this Rec#/Fld# is defined with Record Type '92-Update Record', in non-Trial mode, this UDF will be inserted or updated, you do not need to set up UDF on IMUF screen |
320623 | UDF (DDD) (32) | Indicates this Rec#/Fld# contains a UDF value from P2K_CM_DEPARTMENT_DETAILS (EASD) | P2K_CM_DEPARTMENT_DETAILS and then enter the value on IDDP screen Effective date sections. On IDIF screen, you must enter the IMUF UDF name in the Constant Value field. If this Rec#/Fld# is defined with Record Type '92-Update Record', in non-Trial mode, this UDF will be inserted or updated, you do not need to set up UDF on IMUF screen |
320624 | UDF (DLN) (32) | Indicates this Rec#/Fld# contains a UDF value from P2K_CM_LOCATIONS (DLN) | User must define the UDF on IMUF screen for P2K_CM_LOCATIONS and then enter the value on IDLN screen. On IDIF screen, you must enter the IMUF UDF name in the Constant Value field. If this Rec#/Fld# is defined with Record Type '92-Update Record', in non-Trial mode, this UDF will be inserted or updated, you do not need to set up UDF on IMUF screen |
320626 | UDF (DUD) (32) | Indicates this Rec#/Fld# contains a UDF value from P2K_CM_UNIT_DETAILS (DUD) | User must define the UDF on IMUF screen for P2K_CM_UNIT_DETAILS and then enter the value on IDUN screen Effective date sections. On IDIF screen, you must enter the IMUF UDF name in the Constant Value field. If this Rec#/Fld# is defined with Record Type '92-Update Record', in non-Trial mode, this UDF will be inserted or updated, you do not need to set up UDF on IMUF screen |
320628 | UDF (DGD) (32) | Indicates this Rec#/Fld# contains a UDF value from P2K_CM_GROUP_DETAILS (DGD) | User must define the UDF on IMUF screen for P2K_CM_GROUP_DETAILS and then enter the value on IDGR screen Effective date sections. On IDIF screen, you must enter the IMUF UDF name in the Constant Value field. If this Rec#/Fld# is defined with Record Type '92-Update Record', in non-Trial mode, this UDF will be Inserted or Updated, you do not need to set up UDF on IMUF screen |
320629 | UDF (PRN) (32) | Indicates this Rec#/Fld# contains a UDF value from P2K_PR_PAY_RUNS (PRN) | User must define the UDF on IMUF screen for P2K_PR_PAY_RUNS and then enter the value on IPVP screen. On IDIF screen, you must enter the IMUF UDF name in the Constant Value field. If this Rec#/Fld# is defined with Record Type '92-Update Record', in non-Trial mode, this UDF will be inserted or updated, you do not need to set up UDF on IMUF screen |
320630 | UDF (PPH) (32) | Indicates this Rec#/Fld# contains a UDF value from P2K_PR_PAY_LINES (PPL) | User must define the UDF on IMUF screen for P2K_PR_PAY_LINES and then enter the value on IPPH screen. On IDIF screen, you must enter the IMUF UDF name in the Constant Value field. If this Rec#/Fld# is defined with Record Type '92-Update Record', in non-Trial mode, this UDF will be inserted or updated, you do not need to set up UDF on IMUF screen |
320631 | UDF (PPL) (32) | ||
320650 | Statistic Amt (IEST) (65) | Indicates this Rec#/Fld# contains a Statistics value from P2K_HR_STATISTICS (EST) | User must define the Statistics Code on IDSC screen for P2K_CM_STATISTIC_COMPONENTS and then enter the value on IEST screen. On IDIF screen, you must enter the IDSC Statistics Code in the Constant Value field. On IDIF screen, you must enter the IDSC Statistics Code in the Constant Value field |
320700 | Journal Entry ID (PJE) (32) | This field holds the id of the current Journal Entry | |
320701 | Distr Code (PJE) (32) | From Distribution Code on P2K_PR_JOURNAL_ENTRIES | |
320702 | Journal Source (PJE) (32) | From Journal Source on P2K_PR_JOURNAL_ENTRIES | |
320703 | G/L Post Number (PJE) (32) | From GL Post Numberon P2K_PR_JOURNAL_ENTRIES | |
320704 | G/L Post Seq (PJE) (32) | From GL Post Sequence on P2K_PR_JOURNAL_ENTRIES | |
320705 | Trial Journal (PJE) (32) | From Trial Journal on P2K_PR_JOURNAL_ENTRIES | |
320750 | Journal Detail ID (PJD) (32) | This field holds the id of the current Journal Detail | |
320751 | Pay Line ID (PJD) (32) | This field holds the PPL_ID of the current Journal Detail | |
320752 | Pay Detail ID (PJD) (32) | This field holds the PPLD_ID of the current Journal Detail | |
320753 | Pay Trans ID (PJD) (32) | This field holds the PTR_ID of the current Journal Detail | |
320754 | G/L Fund ID (PJD) (32) | This field holds the DGF_ID of the current Journal Detail | |
320755 | Time Code PTRC_ID (PJD) (32) | This field holds the PTRC_ID of the current Journal Detail | |
320756 | G/L Eff Date (PJD) (32) | From GL Effective Date on P2K_PR_JOURNAL_DETAILS | |
320757 | G/L Amount (PJD) (32) | From GL Amount on P2K_PR_JOURNAL_DETAILS | |
320758 | G/L Amt DR (PJD) (32) | From GL Amount if amount is positive, otherwise 0 | |
320759 | G/L Amt CR (PJD) (32) | From GL Amount if amount is negative,otherwise 0 | |
320760 | G/L Amt-Financial (PJD) (32) | From GL Amount if the DGA G/L Account Journal Type for this PJD = '01-Financial', otherwise 0 | |
320761 | G/L Amt-Statistical (PJD) (32) | From GL Amount if the DGA G/L Account Journal Type for this PJD = '01-Financial', otherwise 0 | |
320762 | G/L Amt-Time Usage (PJD) (32) | From GL Amount if the PC Usage Code for this PJD pay component = '10- Time', otherwise 0 | |
320763 | G/L Amt-Earn Usage (PJD) (32) | From GL Amount if the PC Usage Code for this PJD pay component = '11- Earnings', otherwise 0 | |
320764 | G/L Amt-Dedn Usage (PJD) (32) | From GL Amount if the PC Usage Code for this PJD pay component = '12- Deduction', otherwise 0 | |
320765 | G/L Amt-Ben Usage (PJD) (32) | From GL Amount if the PC Usage Code for this PJD pay component = '13- Benefit', otherwise 0 | |
320780 | Split Percent (PJD) (32) | From Split Percent on P2K_PR_JOURNAL_DETAILS | |
320781 | G/L Detail Seq (PJD) (32) | From GL Detail Sequence on P2K_PR_JOURNAL_DETAILS | |
320782 | Work Order (PJD) (32) | From Work Order on P2K_PR_JOURNAL_DETAILS | |
320783 | G/L Pointer (PJD) (32) | From GL Pointer on P2K_PR_JOURNAL_DETAILS | |
320800 | G/L Account ID (DGA) (32) | This field holds the id of the G/L Account of current journal entry | |
320801 | G/L Account Code (DGA) (32) | From GL Account Code on P2K_CM_GL_ACCOUNTS of current G/L Account | |
320802 | 0802 Account Type (DGA) (32) | From GL Account Type on P2K_CM_GL_ACCOUNTS of current G/L Account | |
320803 | Journal Type (DGA) (32) | From Journal Type on P2K_CM_GL_ACCOUNTS | |
320804 | 0804 Account Usage (DGA) (32) | From Account Usage on P2K_CM_GL_ACCOUNTS | |
320805 | 0805 Account Desc (DGA) (32) | From Account Desc on P2K_CM_GL_ACCOUNTS | |
320806 | Distr Mask (DGA) (32) | From Distribution Mask on P2K_CM_GL_ACCOUNTS | |
320807 | Affects Costing (DGA) (32) | From Affects Costing on P2K_CM_GL_ACCOUNTS | |
320808 | Pre Payroll (DGA) (32) | From Pre Payroll on P2K_CM_GL_ACCOUNTS | |
320809 | Post Payroll (DGA) (32) | From Post Payroll on P2K_CM_GL_ACCOUNTS | |
320810 | Retain Detail (DGA) (32) | From Retain Detail on P2K_CM_GL_ACCOUNTS | |
320811 | Accrued Required (DGA) (32) | From Accrued Required on P2K_CM_GL_ACCOUNTS | |
320812 | I/C Required (DGA) (32) | From I/C Required on P2K_CM_GL_ACCOUNTS | |
320813 | Posting Date Method (DGA (32) | From Posting Date Method on P2K_CM_GL_ACCOUNTS | |
320814 | G/L Acct Suffix (DGA) (32) | From GL Acct Suffixon P2K_CM_GL_ACCOUNTS | |
320815 | Acct Charge To (DGA) (32) | From Acct Charge To on P2K_CM_GL_ACCOUNTS | |
320900 | Pay Component ID (PPC) (32) | This field holds the id of the Pay Component of current journal detail | |
320901 | PC Code (PPC) (32) | From PC Code on P2K_PR_PAY_COMPONENTS | |
320902 | PC Abbrev (PPC) (32) | From PC Abbreviation on P2K_PR_PAY_COMPONENTS | |
320903 | PC Desc (PPC) (32) | From PC Description on P2K_PR_PAY_COMPONENTS | |
320904 | PC Action (PPC) (32) | From PC Action on P2K_PR_PAY_COMPONENTS | |
320905 | Store Results (PPC) (32) | From Store Results on P2K_PR_PAY_COMPONENTS | |
320920 | PC Usage ID (PCU) (32) | This field holds the id of the Pay Component Usage of the pay component of the current journal detail | |
320921 | PC Usage Code (PCU) (32) | From PC Usage Code on P2K_PR_PC_USAGES | |
320922 | PC Usage Type (PCU) (32) | From PC Usage Type on P2K_PR_PC_USAGES | |
320923 | PC Usage Desc (PCU) (32) | From PC Usage Description on P2K_PR_PC_USAGES | |
320924 | Unique Item (PCU) (32) | From Unique Item on P2K_PR_PC_USAGES | |
320925 | Mandatory (PCU) (32) | From Mandatory on P2K_PR_PC_USAGES | |
320926 | Legislation (PCU) (32) | From Legislation on P2K_PR_PC_USAGES | |
320927 | PC G/L Type (PCU) (32) | From PC GL Type on P2K_PR_PC_USAGES | |
321000 | Pays Per Year (PPP) (32) |
Setup Step 2 - Define Interface Format in IDIF#
Fixed File Format#
The system provides SEED_IDIF_HL$_UPPHF_ADMIN.sql script to load in HL$UPPHF-ADMIN as an example of a fixed format interface file. You should use (Copy Definition) to copy the script into a different Interface code and then enter their own company data.IDIF field descriptions:
Code: - user defined Interface Code - if IDIF layout is supplied by the system, the Interface Code begins with HL$ Interface Type: - must be 32 â Pay History Interface File Format: - specifies one of the File Formats from look up list Form Type: - please select âÂÂNot Specifiedâ from look up list, Form Type is not used for UPPHF Description: - user defined description File Name: - specifies the default file name, otherwise file name is entered on UPPHF parameter File Creation Number: - not used Taxation Level: - please select âÂÂNot Specifiedâ from look up list, Taxation Level is not used for UPPHF
Record Number - user assigned Record Number - each Record Number generates a new line in the interface file
The followings are suggested Record Numbers, user can set up their own numbers.
Record Number Interface File Records generated 0 Qualify Records 1 â 29 Header Records 30 â 69 Detail Records 70 â 99 Trailer Records or Update Records
Field Number - user assigned number Name - user assigned field name XML Tag - optional, used for XML File Format only - if XML Tag is not specified for XML File, then the Name field is used as XML Tag
Beginning Position - if File Format = âÂÂFixed FormatâÂÂ, the user must specify the Beginning position Ending Position - if File Format = âÂÂFixed FormatâÂÂ, the user must specify the Ending position - these positions must be continuous without gap, otherwise an error situation will occur - Beginning/Ending positions are not needed for xml and other file format
Field Type - indicate the result of the Field Variable is a type of âÂÂCharâÂÂ, âÂÂNumberâ or âÂÂDateâÂÂ
Variable Name - select from lexicon X_INF_VARIABLE_NAME 32nnnn, refer to lexicon list above
Sort Sequence - specifies the Sort Sequence for this Record #, Field # - use for Record # with Record Type = âÂÂDetail Recordâ only - for Record # with Record Type = âÂÂDetail Level 1â to âÂÂDetail Level 5âÂÂ, it uses the same Sort from Record Type = âÂÂDetail Recordâ so that the Detail Level n records are followed after the âÂÂDetail Recordâ e.g. Interface File need to sort by: Department, Employee First Name, Last Name - then for the Fld# entry that specify âÂÂDepartmentâÂÂ, enter sort sequence: 100 - for the Fld# that specify âÂÂEmployee First NameâÂÂ, enter sort sequence: 150 - for the Fld# that specify âÂÂEmployee Last NameâÂÂ, enter sort sequence: 200 - all Sort sequences must be entered on entries with the same Record Number
- Sort Sequence is not supported for XML file format because xml file may specify many different Record # to generate xml begin and end tags and the xml tags are not able to sort along with the data
- Sort Sequence is not supported if the IDIF format contains âÂÂPay Header Beginâ or âÂÂPay Header Summaryâ because the Sorting of the Detail Record cannot carry itâÂÂs associated Header/Summary Record
Format Mask - applicable to Numeric and Date field
Record Type - optional, may be used for this Interface Type
- if Record Type is not specified, the following Record Number range are used: Record Number Interface File Records generated 0 Qualify Records 1 â 29 Header Records 30 â 69 Detail Records 70 â 99 Trailer Records
- if Record Type is specified, lexicon X_RECORD_TYPE values are: 00 â Not Specified - not applicable for this Interface type 01 â Header Record - generate Header records at begin of file 10 â Employer Header - not used for UPPHF 11 â Employer Summary - not used for UPPHF 12 â Employer Header 2 - not used for UPPHF 13 â Employer Summary 2 - not used for UPPHF 14 â Employee Header - not used for UPPHF 15 â Employee Summary - not used for UPPHF 16 â Pay Header Begin - generate records at beginning of each Pay Header 17 â Pay Header Summary - generate records at the end of each Pay Header 20 â Detail Record - generate Pay Header interface records 21 â Detail Level 1 - Detail Level 1 is used for Journal Entries 22 â Detail Level 2 - not used for UPPHF 23 â Detail Level 3 - not used for UPPHF 24 â Detail Level 4 - not used for UPPHF 25 â Detail Level 5 - not used for UPPHF 30 â Detail Summary - not used for UPPHF 80 â Total Record - not used for UPPHF 90 â Trailer Record - generate Trailer records at end of file - may contain File totals, record counts etc 91 â Qualify Record - should be used for Record Number 0 - the Qualify records are performed at the beginning of every Pay Header to qualify the Pay Header - user can use derivation expression to BYPASS certain criteria 92 â Update Record - should be defined at the end of the IDIF definition - in non-Trial mode, the UDF can be Inserted or Updated as defined in the Variable Name and Constant Value field - user can use derivation expression to BYPASS certain criteria for Update
Record Identifier - not used for this Interface Type
Constant Value - if Variable Name = âÂÂConstant ValueâÂÂ, this field specifies the Constant Value to be used - if Variable Name = âÂÂUser CalcâÂÂ, this field specifies the User Calc Name - if Variable Name = âÂÂUDF (xxx)âÂÂ, this field specifies the User Defined Field Name - if Variable Name = âÂÂStatistics AmtâÂÂ, this field specifies the Statistics Code - if Variable Name = âÂÂElementâÂÂ, this field specifies the Element Code - if Variable Name = âÂÂTotal ValueâÂÂ, this field specifies the Rec# and Field # of the Detail Records to be totaled e.g. Record # 50 Field 70 is to be totaled and Total option = âÂÂCalculate TotalâÂÂ, then the Trailer record can report the âÂÂTotal ValueâÂÂ, Constant value should be 5070
Print Zero Rule - applicable to Numeric field only, use for Record Type = âÂÂDetail Recordâ - if amount is zero, this field indicates to include this amount in the interface file or not - e.g. if the field is from âÂÂElement Amountâ and the amount is zero, the user may not want to report this amount
- if all numeric amounts are zero within one Record# and the Print Zero Rule are set to âÂÂDo not Print zerosâ for each field, then this entry will not be reported on interface file - lexicon X_PRINT_ZERO_RULE 00 â Not Specified 01 â Print Zero Amounts 02 â DonâÂÂt Print Zeros
XML Tag option - applicable to XML file, if Variable Name = âÂÂXML begin TagâÂÂor âÂÂXML end TagâÂÂ, this field option indicates if the XML Tag should be written - lexicon X_XML_TAG_OPTION 00 â Not Specified 01 â Optional, omit tag if null 02 â Mandatory, always write
Accum Option - applicable to Numeric field only, use for Record Type = âÂÂDetail Recordâ - indicate if this Record #, Field # amount should be accumulated or not - e.g. if the field is a âÂÂPay Numberâ or âÂÂCheck NumberâÂÂ, then do not accumulate - if field is âÂÂElement Valueâ or âÂÂPC AmountâÂÂ, then you may want to accumulate to avoid writing too much detail per element or per pay component
Total Option - applicable to Numeric field only, use for Record Type = Detail Record, Detail Leveln - indicate if this Record #, Field # amount should be totaled for Header or Trailer record - e.g. if the field is a âÂÂFTEâ or âÂÂRate of PayâÂÂ, then do not totaled - if field is âÂÂStatistics Amountâ or âÂÂUser Calc AmountâÂÂ, then you may want to calculate the total for Trailer record - lexicon X_TOTAL_OPTION 00 â Not Specified 01 â Calculate Total
Derivation Expression - specifies the derivation expression for the Variable name - this derivation expression will apply to the result of the Variable name before format mask
- the user may use RTRIM(~) to remove trailing blanks before comparing the entire string because the data may contain blanks that are not visible at the end
- please refer to following Derivation Expression processing
BYPASS capability#
- on IDIF Derivation expression, user may decode the Variable Name using the character and return the word âÂÂBYPASSâ to bypass the Detail record entry that are with certain criteria
- the âÂÂBYPASSâ criteria can be set up for Record Type = âÂÂQualify recordâÂÂ, âÂÂDetail recordâÂÂ, and should not be used for Header and Trailer records
- if the return value of any IDIF Record Number/Field Number = âÂÂBYPASSâÂÂ, then this Detail record will be bypassed and will not be written to the Interface file
- Example:
- to include only Departments start with âÂÂPâ on interface file: decode(rtrim(substr(~,1,1)),'P',~,'BYPASS')
- to include only Departments ends with âÂÂCâ on interface file: decode(substr(~,length(rtrim(~)),1),'C','BYPASS',~)
- to bypass Cost Centers that has âÂÂ????â in second segments: decode(SUBSTR(~,5,4),'????','BYPASS',SUBSTR(~,5,4))
- to include Journal Entries with Account Numbers over 40000 in segment 5: decode(greatest('40000',substr(~,16,5)),'40000','BYPASS',substr(~,16,5))
BYPASS-1-PPL, BYPASS-ALL-PPL, BYPASS-TO-PPH#
- when UPPHF is run with Interface Level = âÂÂPay Headers + Pay LinesâÂÂ, user may want to BYPASS the current Pay Line and continue to process the next Pay Line
- when a Pay Line (ppl) is being processed, all the associated Pay Line Details (ppld) are processed one at a time until all ppld are finished
- the following BYPASS capabilities are available at the Pay Line level:
BYPASS - bypass current ppld, will go to process next ppld - usually BYPASS should be used for Qualify Records and is also used for other Record Types, this BYPASS also works in ppl
BYPASS-1-PPL - bypass current ppld, will go to process next ppld - when Interface Level = âÂÂPay Headers + Pay LinesâÂÂ, user should use âÂÂBYPASS-1-PPLâ instead of just âÂÂBYPASSâ for clarification
BYPASS-ALL-PPL - bypass all ppl and ppld from this point onward, will go to process Pay Amounts - the Pay Amounts will subtract the amounts that have been processed by ppld so far
BYPASS-TO-PPL - bypass all ppl, ppld, Pay Amounts from this point onward - will go to process Pay Header Summary
Example:
In Derivation Expression:
decode(~,'14-OCT-2008','BYPASS','16-OCT-2008','GOTO#60#1','22-OCT-2008','BYPASS-1-PPL','24-OCT-2008','BYPASS-ALL-PPL',~)
- this means DECODE the Pay Line Start Date, if the Pay Line Start Date:
1) equals to âÂÂ14-OCT-2008âÂÂ, then return the value of âÂÂBYPASSâ 2) equals to âÂÂ16-OCT-2008âÂÂ, then return the value of 'GOTO#60#1' - this will GOTO Rec# 60 Field # 1 3) equals to âÂÂ22-OCT-2008âÂÂ, then return the value of âÂÂBYPASS-1-PPLâ 4) equals to âÂÂ24-OCT-2008âÂÂ, then return the value of âÂÂBYPASS-ALL-PPLâÂÂ
GOTO#nn#nnn#
- when processing IDIF records of the same Record Type (e.g. Detail Record), the user may want to skip some Record # Field # based on certain criteria and resume processing of the same Record Type at a later Record# Field# onward
- the following GOTO capabilities are available for all Record Types in Derivation Expression:
GOTO#nn#nnn - where the 1st nn is the Record #, the 2nd nnn is the Field #
- since the IDIF entries are processed in chronological order, GOTO#nn#nnn must be for a Record# Field# that is after the current Record# Field#
- if an incorrect GOTO#nn#nnn is specified, or the #nn#nnn is NOT for the same Record Type, or if it is for a previous Rec# Field#, an exception message will be issued, the GOTO statement cannot be executed after skipping the records, the user must verify the Interface File from this point onward
- multiple GOTO#nn#nnn can be used within the same Record Type
- please see the above example for BYPASS-1-PPL that contains GOTO#60#1 to go to Record# 60 Field# 1
- if an Invalid GOTO is encountered in IDIF definition, the Trial mode parameter is set to âÂÂYâ in order to prevent the Updating of the User Defined Fields from the Record Type âÂÂ92-Update RecordâÂÂ
- for XML File Format, the GOTO#nn#nnn can be used to skip certain XML Tags and carry on the processing
- for Fixed File Format, if the GOTO#nn#nnn is for the current Record#, it will GOTO the specified #nn#nnn, the current Record# information will be written
- for Fixed File Format, if the GOTO#nn#nnn is for a different Record#, it will GOTO the specified #nn#nnn of the different Record#, the current Record# information will NOT be written
- e.g. UEEF IDIF Record# 30 Field # 45, decode Plan_Code, if it equals to âÂÂHL GROUP LIFEâÂÂ, GOTO#35#10 - this will skip the entire Record# 30 and carry on from Record# 35 Field#10 for the fixed file format
Multiple Fields processing#
- on IDIF derivation expression, user can specify multiple variable names processing by indicating the lexicon value of the X_INF_VARIABLE_NAME inside the bracket , e.g. [320001]
- lexicon values available from IMLN for X_INF_VARIABLE_NAME are: 32nnnn, 35nnnn
- this provides the full list of INF variables interchangeably for UPPHF, UEEF as long as the Database tables are being loaded according to the Interface Level parameter of the run
- please see example below
Example: Record # 50, Field # 20 Requirement for Employee Row id or Unit id:
- if Pay Header Group User Defined Field (UDF) âÂÂPROJECT HOURS BY PERSONâ is âÂÂYâÂÂ, this means the employee is an âÂÂADMINâ employee, then if the Journal Entry is reporting for âÂÂHoursâÂÂ, then use the Identities eid.id on the interface file field, otherwise, use the Unit dun.id on the field for all other situation
- from above IDIF set up, user should specify the Variable Name using âÂÂUDF (DGD)â and enter the UDF name in Constant Value field, then the value of UDF will be returned and represented as in the derivation expression
- in derivation expression, enter:
decode(~,'Y',decode([320803],'02',[320009],[350400]),[350400])
where: [320803] - Journal Type (DGA), 01 â Financial Journal, 02 â Statistical Journal [320009] - Identity eid_id [350400] - Unit dun_id (DUN)
- this derivation expression means:
- decode the value of from UDF - if the value = âÂÂYâÂÂ, then - decode the value from [320803] Journal Type - if Journal Type = âÂÂ02â Statistical Journal, then - return [320009] Identify eid.id - otherwise - return [350400] Unit dun_id - otherwise - return [350400] Unit dun_id
Example: Record # 50, Field # 10 Requirement: Work Date or Pay Period
- if Pay Header Group User Defined Field (UDF) âÂÂPROJECT HOURS BY PERSONâ is âÂÂYâÂÂ, this means the employee is an âÂÂADMINâ employee, then use the Pay Period on the interface file field, otherwise use the GL Effective date on the interface file field
- from above IDIF set up, user should specify the Variable Name using âÂÂUDF (DGD)â and enter the UDF name in Constant Value field, then the value of UDF will be returned and represented as in the derivation expression
- in derivation expression, enter:
decode(~,'Y',[320102],to_char(to_date([320756]),'DD/MM/YYYY')) where: [320102] - Pay Period [320756] - GL Eff Date (PJD)
- this derivation expression means:
- decode the value of from UDF - if the value = âÂÂYâÂÂ, then - return the value from [320102] Pay Period - otherwise - return the value from [320756] GL Effective date with the date format of âÂÂDD/MM/YYYYâÂÂ
P2K Internal Functions#
The user has ability to call some P2K internal functions in the derivation expression under the guidance of HL consultant. The following example is for UPPHF Payroll History Interface, and is used to demonstrate Derivation Expression only. In this example, the Element value of âÂÂHOURS COMP TIMEâ will be returned for Variable Name âÂÂPay Header pph_idâÂÂ.
Note: the IDIF screen layout is revised as above, the screen prints in this section are example of Derivation Expression only and therefore are not matched with revised layout above, please ignore the layout format
The above example can also be achieved by setting up Variable Name = âÂÂElement pph Valueâ with the Element Code specified in the Constant Value field.
P2K Internal Functions with Parameters#
The user has ability to call some P2K internal functions in the derivation expression under the guidance of HL consultant and pass the following internal parameters in order to perform some internal calculation:
#PPH_ID# - must be capital letters, this #PPH_ID# will be replaced by the current Pay HeaderâÂÂs pph.id #EEM_ID# - must be capital letters, this #EEM_ID# will be replaced by the current EmploymentâÂÂs eem.id #EID_ID# - must be capital letters, this #EID_ID# will be replaced by the current IdentityâÂÂs eid.id
e.g.. the Element PC value of âÂÂHOURS O/Tâ will be retrieved first and is represented as in derivation expression - the derivation expression will return the Element value of âÂÂHOURS COMP TIMEâ for #PPH_ID# and add to value of
User may perform some internal arithmetic calculation in the derivation expression to return some prorated amount.
Value of a PC in âÂÂHOURS O/Tâ element * Benefit Element âÂÂHOURS COMP TIMEâ Value of âÂÂHOURS O/Tâ Element
XML File format#
- the system provides starter_IDIF_HL$PAY-HIST-XML.sql script to load in example of a xml format interface file - the user should use Copy Definition to copy into a different Interface Code and then enter their own company data - please refer to IDIF Fixed File Format for details of field description - the Beginning and Ending positions are not needed for xml file format
IDIF â Call User Calc#
Call User Calc function#
- the user can call User Calc function at each Record Number, each Field Number - the user should set up Variable Name = âÂÂUser CalcâÂÂ, and specify the User Calc name in the Constant Value field - the Field Type must be defined with Char, Number or Date, the User Calc function on IMUC screen Return Value must match the values (Char, Number or Date) with the IMUC RET command to return the corresponding Char, Number or Date
- the data base tables available for User Calc are: at company level: DEN/DLN/DDP/DDD/DUN/DGR/DGD/DGV at employee level: EID/EPS/EEM/EAS/EASD/PPRU/PPRC
IDIF - Update Record Set Up#
During the UPPHF run, you have the ability to update certain User Defined Fields (UDF) to indicate that the Interface file has been generated and mark the records as being processed.You may reference these UDFs in IDIF to prevent the same information from being processed again.
On the IDIF screen, Record Type '92-Update Record' should be defined at the end of the IDIF definition
- the Variable Name should contain the UDF (xxx) that is to be updated or inserted,e.g. '320629 - UDF (PRN) (32)'
The Constant Value field should contain the name of the UDF, e.g UPPHF_CALPERS_PRN. If this UDF name does not exist on the IMUF screen, UPPHF will create the UDF with this name on IMUF screen for the Data Base Table to be updated.
The Derivation Expression field should contain the expression that is evaluated to the value to be updated for the UDF
The following derivation expression features can be used to derive the value to be updated:
- multiple fields processing, DECODE, BYPASS, string manipulation, concatenation, function calls, etc.
When UPPHF is run in non-Trial mode, Record Type '92-Update Record' will be processed at the appropriate levels to check if the UDF should be updated for the associated Data Base tables.
From above example:
- Rec#500 Field#10 indicates to update 'UDF (PRN)', this will be processed at the end of each qualified pay run
- Rec#500 Field#20 indicates to update 'UDF (PPH)', this will be processed at the end of each qualified pay header
- Rec#500 Field#30 indicates to update 'UDF (PPL)', this will be processed at the end of each qualified pay line
- Rec#500 Field#40 indicates to update 'UDF (EEM)', this will be processed at the end of each qualified pay header
- Rec#500 Field#50 indicates to update 'UDF (EASD)', this will be processed at the end of each qualified pay line
If the UDF is for a variable name that can be varied at the Pay Line level, then the UDF will be updated at each Pay Line level, e.g. 'UDF (DDD)', each pay line may point to a different department, therefore the UDF may be updated at the Pay Line level for that department
Using the Returned Value of the derivation expression, UPPHF finds if the UDF already exists; if the UDF exists and the new value is different than the existed UDF value, it will be updated; if the UDF does not exist, it will be inserted
List of UDF supported in UPPHF from X_INF_VARIABLE_NAME are:
- 320606 - UDF (EID) (32)
- 320607 - UDF (EEM) (32)
- 320608 - UDF (EPS) (32)
- 320610 - UDF (EASD) (32)
- 320621 - UDF (DED) (32)
- 320623 - UDF (DDD) (32)
- 320624 - UDF (DLN) (32)
- 320626 - UDF (DUD) (32)
- 320628 - UDF (DGD) (32)
- 320629 - UDF (PRN) (32)
- 320630 - UDF (PPH) (32)
- 320631 - UDF (PPL) (32)
After UDFs are updated or inserted in UPPHF, the number of records updated for each Data Base table will be displayed on the UPPHF report
The number of UDFs updated represents the number of times the tables are being touched. These may not necessarily be the exact number of UDF for that table. e.g. UDF (EEM) may be touched two times if an employee has two pay headers to update the same EEM, but with a different value.IDIF â Update Record#
IDIF â Update Record Set Up#
- During the UPPHF run, user has ability to Update certain User Defined Fields (UDF) to indicate the Interface File has been generated and mark the records as being processed. User may reference these UDFs in IDIF to prevent the same information from being processed again.- on IDIF screen, Record Type âÂÂ92-Update Recordâ should be defined at the end of the IDIF definition
- the Variable Name should contain the UDF (xxx) that is to be Updated or Inserted, e.g. âÂÂ320629 â UDF (PRN) (32)âÂÂ
- the Constant Value field should contain the Name of the UDF, e.g UPPHF_CALPERS_PRN - if this UDF name does not exist on the IMUF screen, UPPHF will create the UDF with this name on IMUF screen for the Data Base Table to be updated
- the Derivation Expression field should contain the Expression that is evaluated to the Value to be updated for the UDF - the following Derivation Expression features can be used to derive the Value to be updated: - multiple fields processing, DECODE, BYPASS, String manipulation, concatenation, function calls etc
- when UPPHF is run in non-Trial mode, Record Type âÂÂ92-Update Recordâ will be processed at the appropriate levels to check if the UDF should be updated for the associated Data Base Tables
From above Example:
- Rec#500 Field#10 indicates to update âÂÂUDF (PRN)âÂÂ, this will be processed at the end of each qualified Pay Run - Rec#500 Field#20 indicates to update âÂÂUDF (PPH)âÂÂ, this will be processed at the end of each qualified Pay Header - Rec#500 Field#30 indicates to update âÂÂUDF (PPL)âÂÂ, this will be processed at the end of each qualified Pay Line - Rec#500 Field#40 indicates to update âÂÂUDF (EEM)âÂÂ, this will be processed at the end of each qualified Pay Header - Rec#500 Field#50 indicates to update âÂÂUDF (EASD)âÂÂ, this will be processed at the end of each qualified Pay Line
- if the UDF is for a Variable Name that can be varied at the Pay Line level, then the UDF will be updated at each Pay Line level, e.g. âÂÂUDF (DDD)âÂÂ, each Pay Line may point to a different Department, therefore the UDF may be updated at the Pay Line level for that Department
- using the Returned Value of the Derivation Expression, UPPHF finds if the UDF already exists; if the UDF exists and the new value is different than the existed UDF value, it will be Updated; if the UDF does not exist, it will be Inserted
- list of UDF supported in UPPHF from X_INF_VARIABLE_NAME are: 320606 â UDF (EID) (32) 320607 â UDF (EEM) (32) 320608 â UDF (EPS) (32) 320610 â UDF (EASD) (32) 320621 â UDF (DED) (32) 320623 â UDF (DDD) (32) 320624 â UDF (DLN) (32) 320626 â UDF (DUD) (32) 320628 â UDF (DGD) (32) 320629 â UDF (PRN) (32) 320630 â UDF (PPH) (32) 320631 â UDF (PPL) (32)
- after UDFs are Updated or Inserted in UPPHF, the Number of Records Updated for each Data Base Table will be displayed on the UPPHF report
- note that these Number of UDF Updated represents the number of times the Tables are being touched, these may not necessarily be the exact or unique number of UDF for that Table, e.g. UDF (EEM) may be touched 2 times if an employee has 2 Pay Headers to update the same EEM but with a different Value
Processing Information#
Qualify Process#
From the selection criteria, UPPHF selects pay runs according to user specified From/To Pay Period, Entity, and Payroll.A pay run's Pay Period End date or Pay Issue date must be on the day of or prior to the user specified âÂÂAs ofâ date.
Pay runs with a Pay Run Stage of '70 - Closed' or '80 - Journalized' will be processed.
All pay headers of the qualified pay runs will be processed, pay headers may further be selected by Department, Org Level, Unit, Group, Person code etc.
As each pay header is processed, the associated database tables for this pay header will be loaded.
- e.g. Entity, Payroll, Unit, Group, Employment, Assignment of Pay Header, Department of Assignment, Position/Job of Assignment, Authorization Area of the applicable assignments, Organization Level of the department, Pay Period, Tax Jurisdiction, etc.
The pay header is then further qualified by using the IDIF record type, 'Qualify Record'. If the 'Qualify Record' returns the value of 'BYPASS', then this pay header will be bypassed.
After the pay header is qualified, then the UPPHF Interface Level parameter is checked.
Interface Level 01 - Pay Headers#
For the interface level of ' 01 - Pay Headers', the pay header and its associated pay amounts will be processed.Each pay header's information will be loaded.
- e.g.the pay header assignment, assignment's department, cost centers, position, job, authorization, organization level of department, etc.
If the IDIF numeric field specifies that an element (pph value) is to be used, then the Element code should be specified in the IDIF Constant Value field. UPPHF calls the Element function for this element to obtain the element amount.
If the IDIF numeric field specifies to 'Accumulate' and/or to 'Calculate Total', then the amount will be accumulated or totaled.
If the IDIF field specifies a sort sequence, then the Variable Name value is also used for sorting purpose. The IDIF Record Type 'Detail Record' (or Rec#30 - 69) information for this pay header will then be saved in an internal PL/SQL table.
With all the pay header information, UPPHF searches from the internal PL/SQL table to group the same information together.
If the Interface File layout specifies any field that is to be reported at the employee level, e.g. Employee Name, Pay Number etc, then UPPHF will write the internal PL/SQL table to Execution Run Log table with Trace Level = '7' with the Sort Data in the context 2 field.
If the Interface File layout does not specify any field that is to be reported at the employee level, then the internal PL/SQL internal table will be used for all employees. At the end of UPPHF run, it will write the internal PL/SQL table to Execution Run Log table with Trace Level = '7' with the Sort Data in the context 2 field. Then the Execution Run Log with Trace Level '7' will be re-read and sorted by context 2 field to write to the interface file.
If the sort sequence is not used in IDIF record type 'Detail Record' (or Rec# 30-69), then UPPHF will not write to Execution Run Log, it will directly read from the PL/SQL table and write to interface file.
After UPPHF is run, you should verify from the interface directory the Interface File layout
Interface Level 02 - Pay Headers + Pay Lines#
For interface level '02 - Pay Headers + Pay Lines', all pay lines of this pay header will be processed.Each pay line's information will be loaded.
- e.g. Pay line assignment, department, cost centers, position, job, authorization, organization level of department, etc. This may be different than the pay header's assignment, department, etc.
As each pay line is processed, all of its associated pay line details will be processed.
As each pay line detail is processed, the pay component and amount of this pay line detail is retrieved.
With one pay component and amount from one pay line detail, UPPHF will process IDIF record type 'Detail Record' (or Record # 30 - 69 if the record type does not exist).
The IDIF record type 'Detail Record' (or Record# 30 - 69) Variable Names can reference to the loaded pay line detail or pay header information. e.g. Pay Period, Department, Cost Centers,etc.
If the IDIF numeric field specifies to retrieve a pay component value, then the pay line detail amount will be used.
If the IDIF numeric field specifies to use an element, then the Element code is specified in the constant value and UPPHF checks if the Pay Line Detail pay component is in this element to include the pay line detail amount or not.
If the IDIF numeric field specifies to 'Accumulate' and/or to 'Calculate Total', then this Pay Line Detail amount will be accumulated or totaled.
If the IDIF field specifies a sort sequence, then the variable name result is also used for sorting purpose.
Then the IDIF record type 'Detail Record' (or Rec#30 - 69) information for this pay line detail will be saved in an internal PL/SQL table.
As the next pay line detail record is processed, UPPHF will search from the internal PL/SQL table to group the same information together.
After all pay line details and pay lines are processed for one pay header, then the pay amounts of this pay header will be processed.
As each pay amount is processed, it will subtract the amount that has been processed by the pay line details and then process the remaining amount with IDIF the record type 'Detail Record' (or Record # 30-69).
With the pay amount information, UPPHF searches from the internal PL/SQL table to group the same information together.
After all pay amounts are processed for one pay header, UPPHF will process the internal PL/SQL table and write to the interface file.
If the Interface File layout specifies any field that is to be reported at the employee level (e.g. Employee Name, Pay Number, etc.) then UPPHF will write the internal PL/SQL table to Execution Run Log table with Trace Level = '7' with the Sort Data in the context 2 field.
If the Interface File layout does not specify the field that is to be reported at the employee level, then the internal PL/SQL internal table will be used for all employees. At the end of UPPHF run, it will write the internal PL/SQL table to Execution Run Log table with Trace Level = '7' with the Sort Data in the context 2 field.
Then the execution run log with Trace Level '7' will be re-read and sorted by the context 2 field to write to the interface file.
If the sort sequence is not used in the IDIF record type 'Detail Record' (or Rec# 30-69), then UPPHF will not write to execution run log, it will directly read from PL/SQL table and write to interface file.
After UPPHF is run, you should verify the Interface File layout from the interface directory.
Interface Level 10 - Journal Entries#
For the Interface Level '10 - Journal Entries', UPPHF will first process the IDIF record type 'Detail Record' for the pay header and then process IDIF record type 'Detail Level 1' for all the pay header's related journal entries.Record Type: Interface File Record
Detail Record: This is an optional field and may generate a Header record for the pay header.
Detail Level 1: This is a mandatory field and will generate one entry per Journal Detail record. In this way you may generate interface records in following sequence:
- Pay header employee related info
- Journal Detail
- Journal Detail
- Journal Details
- Pay header employee related info
- Journal Detail
- Journal Detail
- Journal Detail
- Journal Detail
- . etc
As each journal detail is processed, UPPHF saves the IDIF information using the internal PL/ SQL table in the same manner as the '01 - Pay Headers' processing. After all journal entries are processed for one pay header, UPPHF will then process the internal PL/SQL table and write to the interface file.
Pay Header Summary#
After the interface level is processed for these levels and before writing to the Interface File, UPPHF will process IDIF Record Type '17-Pay Header Summary' to generate pay header related summary information for this pay header.Update Record#
When UPPHF is run in non-trial mode, Record Type '92-Update Record' will be processed at the appropriate levels to check if the User Defined Fields (UDF) are to be updated for the associated Data Base tables.Report Parameter#
Report Parameters & Filters#
Report Parameters | |
---|---|
From Pay Period | This is an optional field. You may select a From Pay period for the Payroll code specified. |
To Pay Period | This is an optional field. You may select a To Pay period for the Payroll code specified. |
From Pay Issue Date | This is an optional field. You may select a From Pay Issue date for the pay headers. |
To Pay Issue Date | This is an optional field. You may select a To Pay Issue date for the pay headers. If the From-To Pay Issue dates are entered, each pay header's Pay Issue date must be within this date range in order to be processed. |
As Of | This date is used to retrieve pay runs that are with the Pay Period end date or Pay Issue Date that is on or prior to this As Of date. |
Interface Format Code | Select Interface Format Code that is with the Interface Type of '32-Pay History Interface' |
Interface Level | This is a mandatory field. Specify the level of Interface file to be produced. |
Directory Name | Enter a valid directory name for interface file. |
File Name | Enter the file name of the interface file. If the word 'mex' is specified in the file name, then it will be replaced with the current execution id of UPPHF run. For a fixed format file, you may specify a file with extension .txt. For a comma delimited format file, you may specify a file with extension .csv For the XML file, you may specify a file with extension .XML |
Exception Level | If the exception level is '0', only exception messages will be printed. If the exception level is '1', one line will be printed per pay header with performance time. If the exception level is '2', one line will be printed per pay header with performance time and one line per Detail Level 1 record. If the exception level is '8' or '9', full utility trace is available only if the user selects by Person code. Otherwise UPPHF will internally reset to exception level '1' due to the volume of trace messages. |
Report Filters | |
---|---|
Entity | This is a mandatory field. You must enter one 'Entity Code' to be processed. |
Person Code | You may enter a list of 'Person Code' filters. |
Department | This is an optional field. Multiple 'Department Code' filters are allowed to be entered. |
Authorization | This is an optional field. You may enter either one or multiple 'Authorization area' filters. The authorization area is retrieved from either the pay header or pay line's assignment if authorization exists at assignment level. Otherwise it is retrieved from the position of the assignment if it exists, otherwise retrieve from the department of the assignment. |
Org Level Type | This is an optional field. You may enter either one or multiple 'Org Level Type' filters. You may enter 'Org Type 02', 'Org Type 03', etc to process applicable level types or you may enter 'Org Type 02' to process only this level. |
Org Level | This is an optional field. You may enter either one or multiple 'Org Level' filters. If multiple Org Level Types are entered, then you may process across multiple levels. |
Unit | This is an optional field. Multiple 'Unit Code' filters are allowed to be entered. |
Group | This is an optional field. Multiple 'Group Code' filters are allowed to be entered. |
Payroll | This is a mandatory field. You must enter one 'Payroll Code' to be processed. The pay headers must belong to this payroll code in order to be processed. |
Cost Center | This is an optional field. Multiple 'Cost Center Code' filters are allowed to be entered. The cost centers are retrieved from the pay lines and therefore are not applicable at the Pay Header level. |
Pay Run Number | This is an optional field. You may select a list of Pay Run numbers for the Payroll code specified. |
Entity: - mandatory, the user must enter one âÂÂEntity Codeâ to be processed Payroll: - mandatory, the user must enter one âÂÂPayroll Codeâ to be processed - Pay Headers must belong to this Payroll Code in order to be processed Department: - optional, multiple âÂÂDepartment Codeâ are allowed to be entered Org Level Type: - optional, one or multiple âÂÂOrg Level Typeâ are allowed to be entered - user may enter âÂÂOrg Type 02âÂÂ, âÂÂOrg Type 03â etc to process applicable level types or user may enter âÂÂOrg Type 02â to process only this Level Org Level: - optional, one or multiple âÂÂOrg Levelâ are allowed to be entered within the specified Org Level Types - if multiple Org Level Types are entered, then user may process across multiple levels Authorization: - optional, one or multiple âÂÂAuthorization areaâ are allowed to be entered - the authorization area is retrieved from Pay Header or Pay lineâÂÂs assignment if authorization exists at assignment level, otherwise retrieve from position of the assignment if it exists, otherwise retrieve from department of the assignment Unit: - optional, multiple âÂÂUnit Codeâ are allowed to be entered Group: - optional, multiple âÂÂGroup Codeâ are allowed to be entered Cost Center: - optional, multiple âÂÂCost Center Codeâ are allowed to be entered - the cost centers are retrieved from Pay Lines and therefore cost centers are not applicable at Pay Header level Pay Run Number - optional, user may select list of Pay Run numbers for the Payroll code specified Person Code: - the user may enter list of âÂÂPerson Codeâ From Pay Period: - optional, the user may select a From Pay Period for the Payroll code specified To Pay Period: - optional, the user may select a To Pay Period for the Payroll code specified - e.g. From Pay Period: 200402 To Pay Period: 200404 From Pay Issue Date: - optional, the user may select a From Pay Issue Date for the Pay Headers To Pay Issue Date: - optional, the user may select a To Pay Issue Date for the Pay Headers - if the From-To Pay Issue Dates are entered, each Pay HeaderâÂÂs Pay Issue Date must be within this date range in order to be processed As Of - this date is used to retrieve Pay Runs that are with Pay Period end date or Pay Issue date that are on or prior to this As of date Interface Format Code - select Interface Format Code that is with Interface Type = âÂÂ32-Pay History InterfaceâÂÂ
Interface Level - mandatory, specify the level for the Interface file to be produced - lexicon X_INTERFACE_UPPHF values are: 01 â Pay Headers 02 â Pay Headers + Pay Lines 10 â Journal Entries
Directory Name - enter valid directory name for interface file File name - enter file name for interface file - if the word âÂÂmexâ is specified in the file name, then it will be replaced with the current execution id of UPPHF run - for fixed format file, you may specify a file with extension .txt - for comma delimited format file, you may specify a file with extension .csv - for xml file, you may specify a file with extension .xml Write/Append to File - this specifies if the Interface File is to be overwritten or appended - lexicon: X_WRITE_APPEND A â Append to File W â Write to File Exception Level - if Exception Level = âÂÂ0âÂÂ, only exception messages will be printed - if Exception Level = âÂÂ1âÂÂ, one line will be printed per Pay Header with performance time - if Exception Level = âÂÂ2âÂÂ, one line will be printed per Pay Header with performance time and one line per Detail Level 1 record - if Exception Level = âÂÂ8â or âÂÂ9âÂÂ, full utility trace, available only if user selects by Person code, otherwise UPPHF will internally reset to Exception level âÂÂ1â due to volume of trace messages User Comment - enter the user comment to be displayed on first page of the report Trial Run - optional toggle to indicate if the UDFs are to be updated for the UPPHF run - the value of âÂÂYâ or âÂÂNâ is always returned in this parameter field - to run in non-Trial mode (Update mode), the user should define IDIF Record Type âÂÂ92-Update Recordâ to update UDFs