This page (revision-79) was last changed on 20-Sep-2023 14:24 by Lilia Urtan

This page was created on 26-Nov-2021 10:22 by JEscott

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Page revision history

Version Date Modified Size Author Changes ... Change note
79 20-Sep-2023 14:24 81 KB Lilia Urtan to previous
78 05-May-2023 13:45 81 KB Lilia Urtan to previous | to last
77 21-Mar-2023 10:08 80 KB Kevin Higgs to previous | to last
76 26-Nov-2021 10:22 80 KB kparrott to previous | to last
75 26-Nov-2021 10:22 80 KB khiggs to previous | to last
74 26-Nov-2021 10:22 80 KB khiggs to previous | to last
73 26-Nov-2021 10:22 79 KB khiggs to previous | to last
72 26-Nov-2021 10:22 79 KB khiggs to previous | to last
71 26-Nov-2021 10:22 79 KB khiggs to previous | to last
70 26-Nov-2021 10:22 79 KB rmorrell to previous | to last
69 26-Nov-2021 10:22 79 KB rforbes to previous | to last
68 26-Nov-2021 10:22 78 KB jmyers to previous | to last
67 26-Nov-2021 10:22 78 KB jmyers to previous | to last
66 26-Nov-2021 10:22 78 KB jmyers to previous | to last
65 26-Nov-2021 10:22 78 KB jmyers to previous | to last
64 26-Nov-2021 10:22 78 KB jmyers to previous | to last
63 26-Nov-2021 10:22 78 KB jmyers to previous | to last
62 26-Nov-2021 10:22 78 KB jmyers to previous | to last
61 26-Nov-2021 10:22 79 KB jmyers to previous | to last

Page References

Incoming links Outgoing links

Version management

Difference between version and

At line 3 changed one line
The UEEF provides the capability to generate an interface file from the employee basic information such as Personals, Employments, prime Assignments, Entities, Locations, Jobs, Positions, Departments, Units, Groups etc and additional information for Benefit plans with Contacts information.
The UEEF screen provides the capability to generate an interface file from the employee's basic information such as Personals, Employments, Prime Assignments, plus the associated work assignment information derived from Entities, Locations, Jobs, Positions, Departments, Units, Groups etc., and additional information for Benefit plans with Contacts information.
At line 9 changed one line
*[X_INTERFACE_LEVEL]\\The following Interface types from X_INTERFACE_LEVEL are used on UEEF selection screen.:\\__01 - EEM + EASD__ Generate interface file with Employment ([EEM]) and Prime Assignment ([EASD]) basic information\\__02 - EEM + EASD + Contacts__ Same as 01, include EID Contact information\\__10 - BE Plans__ Same as 01, include BE Plans information\\__11 - BE + Contacts__ Same as 10, include BE Contacts information\\__12 - BE + Pay Lines__ Not supported in UEEF, used by [UPNVPERS]\\__13 - [GAPERS]/[GATRS]__ Not supported in UEEF, used by [UBEF].
*[X_INTERFACE_LEVEL]\\The following Interface types from X_INTERFACE_LEVEL are used on UEEF selection screen.:\\__01 - EEM + EASD__ Generate interface file with Employment ([EEM|IEEI]) and Prime Assignment ([EASD|P2K_HR_ASSIGNMENT_DETAILS]) basic information\\__02 - EEM + EASD + Contacts__ Same as 01, include EID Contact information\\__03 - EEM + EASD ALL__ extracts historical employee data (multiple records) with Employment ([EEM|IEEI]) and Prime Assignment ([EASD|P2K_HR_ASSIGNMENT_DETAILS]) basic information\\__10 - BE Plans__ Same as 01, include BE Plans information\\__11 - BE + Contacts__ Same as 10, include BE Contacts information\\__12 - BE + Pay Lines__ Not supported in UEEF, used by [UPNVPERS]\\__13 - [GAPERS|HL$GAPERS]/[GATRS|HL$GATRS]__ Not supported in UEEF, used by [UBEF].
At line 11 changed one line
*[X_INF_VARIABLE_NAME]\\X_INF_VARIABLE_NAME contains a list of system-defined variables that are eligible by Interface type.\\ \\Below is a list describing each variable and its usage for Interface type 35:
!!Setup Step 2 - Define Interface Format in [IDIF]
!Fixed File Format
The following set up instructions for a Fixed File format using the interface [HL$BE-ELIGTOTAL].\\
The interface does not need to be manually entered in IDIF, it is loaded through seed data during an install or upgrade.
At line 16 added 51 lines
The starter script SEED_IDIF_HL$BE_ELIG_TOTAL.sql is provided to load in example of a fixed format interface file. You should use (Copy Definition) to copy into a different Interface code and then enter your own company data.
IDIF Field Descriptions:
*The maximum length of a file size is 10000 bytes.
*The maximum length of a file size with Sort Sequence is 4000 bytes.
;Code:
*User defined Interface Code
*If IDIF layout is supplied, Interface code begins with HL$
;Interface Type:Must be 35 - EEM/EAS 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 UEEF
;Description:User defined description
;File Name:Specifies the default file name, otherwise file name is entered on UEEF parameter
;File Creation Number:Not used
;Taxation Level:Please select "Not Specified" from look up list, Taxation Level is not used for UEEF
;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
*The maximum length of a file size is 10000 bytes, therefore the Ending Position must not exceed 10000
*If Sort Sequence is used, the Ending Position must not exceed 4000
;Field Type:Can be 'Char', 'Number' or 'Date'
;Variable Name:Select from lexicon X_INF_VARIABLE_NAME 35nnnn, refer to lexicon list above
;Sort Sequence:Specifies the Sort Sequence for this Record #, Field #
*Used 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. if 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 'Employee Header' or 'Employee Summary' because the Sorting of the Detail Record cannot carry its associated Employee Header/Summary Record
;Format Mask:Applicable to Numeric and Date field
;Record Type:Must be used for this Interface Type, lexicon X_RECORD_TYPE values are:
At line 68 added 324 lines
|00 - Not Specified |Not used for UEEF
|01 - Header Record |Generate Header records at begin of file
|10 - Employer Header |Not used for UEEF
|11 - Employer Summary |Not used for UEEF
|12 - Employer Header2 |Not used for UEEF
|13 - Employer Summary2 |Not used for UEEF
|14 - Employee Header |Generate Employee Header at the beginning of an employee (EEM) after the Qualify record
|15 - Employee Summary |Generate Employee Summary at the end of an employee (EEM)
|16 - Pay Header Begin |Not used for UEEF
|17 - Pay Header Summary |Not used for UEEF
|20 - Detail Record |Generate Employee Detail record
|21 - Detail Level 1 |Detail Level 1 to 5 hangs beneath the Employee Detail record and loops through BE plans or Contacts etc., depending on UEEF parameter Interface Level selection criteria
|22 - Detail Level 2 |Detail Level 1 to 5 hangs beneath the Employee Detail record and loops through BE plans or Contacts etc., depending on UEEF parameter Interface Level selection criteria
|23 - Detail Level 3 |Detail Level 1 to 5 hangs beneath the Employee Detail record and loops through BE plans or Contacts etc., depending on UEEF parameter Interface Level selection criteria
|24 - Detail Level 4 |Detail Level 1 to 5 hangs beneath the Employee Detail record and loops through BE plans or Contacts etc., depending on UEEF parameter Interface Level selection criteria
|25 - Detail Level 5 |Detail Level 1 to 5 hangs beneath the Employee Detail record and loops through BE plans or Contacts etc., depending on UEEF parameter Interface Level selection criteria
|30 - Detail Summary |Wraps up for Employee Detail record\\Mostly used for XML file xml end tag
|80 - Total Record |Not used for UEEF
|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 Detail record to qualify employees\\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 UEEF
;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 'Statistics 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, you 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))
It is important to note that BYPASS means that the record (at the highest level - i.e. Employee or Pay Header - will be bypassed. If you wish to just not output the record (such as when you are processing multiple detail or detail level n records, you can use the Skip Rec feature.
!SKIP REC# Capability
If, in the course of processing you determine thatyou do not want a specific record output, you can have a derivation that returns a value of *SKIPREC#* (including the asterisks). The field that you put this into (if it is a fixed position format) must be large enough to hold the ten characters that it will need. The program will continue to do all the processing for each record, but at the point where it will write the record to the file, if it finds this text in the data, the writing of the data (with the same record number in the IDIF definition) will be skipped.
Using this mechanism allows you to bypass selected records when you have multiple records at the same level, or to bypass child records, without tossing the entire employee or pay header out as would happen with the BYPASS structure.
!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.
*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
[UEEF_01.JPG]
!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. [350001]
*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
The following example is an excerpt from UPPHF and the same processing logic is applicable to UEEF
__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 [320009] Identify eid.id
**otherwise
***return [350400] Unit dun_id
**otherwise
***return [350400] Unit dun_id
!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 only, 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’.
%%Information 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.%%
[UEEF_02.JPG]
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.
[UEEF_03.JPG]
!P2K Internal Functions with Parameters
You have ability to call some P2K internal functions in the derivation expression under the guidance of a 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 ~
[UEEF_04.JPG]
User may perform some internal mathematic calculation in the derivation expression to return some prorated amount.
((Value of a PC in ‘HOURS O/T’ element / Value of ‘HOURS O/T’ Element) * Benefit Element ‘HOURS COMP TIME’)
[UEEF_05.JPG]
!XML File Format
The following instructions are for building an XML format for the UEEF using the format [HL$BE-ELIG-XML.]
SEED_IDIF_HL$BE_XML_FILE.sql script is provided to load in example of a XML format interface file
You should use [Deep Copy|DEEP_COPY_FACILITY] to copy into a different Interface Code and then enter their own company data
!!Setup Step 3 - Defining UserCalcs
The file format for the UEEF can be defined to call a UserCalc function at each Record Number, each Field Number.
The Variable Name must equal 'UserCalc' and the UserCalc name must be specified in the Constant Value field.
The Field Type must be defined with Char, Number or Date, the UserCalc 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 UserCalc are:
*at company level: DEN / DLN / DDP / DDD / DUN / DGR / DGD / DGV
*at employee level: EID / EPS / EEM / EAS / EASD / PPRU / PPRC / ECT
*for BE only: BPT / BPN / BCG / BCGD / BCGD / BCGR / BEND / BBR / ECT
!!Setup Step 4 - Update Record Set Up
During the UEEF run, you may update certain User Defined Fields (UDF) to indicate 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 [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.'358043 - UDF (ECT) (35)'.
The Constant Value field should contain the name of the UDF, e.g 'UEEF by BEN'.
%%information Please note that it will be up shifted.%%
If this UDF name does not exist on the [IMUF] screen, UEEF 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 UEEF 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#200 Field#10 indicates to update 'UDF (ECT)', this will be processed at the end of each qualified Contact
*Rec#200 Field#15 indicates to update 'UDF (BPN)', this will be processed at the end of each qualified Benefit Plan
*Rec#200 Field#20 indicates to update 'UDF (BEN)', this will be processed at the end of each qualified employee [IBEN] Benefit plan
*Rec#200 Field#30 indicates to update 'UDF (BEND)', this will be processed at the end of each qualified employee [IBEN] Benefit plan
* Rec#200 Field#40 indicates to update 'UDF (EPS)', this will be processed at the end of each qualified employee
Using the Returned Value of the Derivation Expression, UEEF 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 UEEF from [X_INF_VARIABLE_NAME] are:
*358030 - UDF (EID) (35)
*358031 - UDF (EEM) (35)
*358032 - UDF (EASD) (35)
*358033 - UDF (EASD) (35)
*358034 - UDF (EPS) (35)
*358035 - UDF (DED) (35)
*358036 - UDF (DDD) (35)
*358037 - UDF (DLN) (35)
*358038 - UDF (DUD) (35)
*358039 - UDF (DGD) (35)
*358043 - UDF (ECT) (35)
*358044 - UDF (BEN) (35)
*358045 - UDF (BEND) (35)
After UDFs are updated or inserted in UEEF, the number of records updated for each data base table will be displayed on the UEEF report.
%%information Note that the 'Number of UDF 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 contacts to update the same EEM but with a different value.)%%
----
!!Processing Information
!Employee Generic Interface Processing
Based on the selection criteria, UEEF retrieves employee basic information and primary assignment information
From the UEEF parameter 'Interface Level', the data base tables will be loaded accordingly:
*at company level: DEN / DLN / DDP / DDD / DUN / DGR / DGD / DGV
*at employee level: EID / EPS / EEM / EAS / EASD / PPRU / PPRC / ECT
*for BE only: BPT / BPN / BCG / BCGD / BCGD / BCGR / BEND / BBR / ECT
Based on the value selected in the parameter 'Interface Level', the following information will be written to the interface file
||Interface Level Value||Usage
| EEM + EASD|Primary assignment and related data base tables are loaded. This level will perform [IDIF] Record Type 'Detail Record' for each primary assignment information, i.e. write one entry per employee
| EEM + EASD + Contacts|Primary assignment and related data base tables are loaded. This level will perform [IDIF] Record Type 'Detail Record' for each primary assignment information, i.e. write one entry per employee. Then the Contacts information for this employee will be loaded and perform [IDIF] Record Type 'Detail Level 1 to 5' for each Contact information, i.e. generate all contact entries for this employee
| EEM + EASD ALL|Historical employee data from Primary assignment and related data base tables are loaded. This level will perform [IDIF] Record Type 'Detail Record' for each primary assignment record information, i.e. write multiple entries per employee
| BE Plans|Primary assignment and BE related data base tables are loaded. This level will perform [IDIF] Record Type 'Detail Record' for each BE plan, i.e. write one entry per employee for each BE plan
| BE + Contacts|Primary assignment and BE related data base tables are loaded. This level will perform [IDIF] Record Type 'Detail Record' for each BE plan, i.e. write one entry per employee for each BE plan. Then the Contacts information for this BE plan will be loaded and perform [IDIF] Record Type 'Detail Level 1 to 5' for each Contact information, i.e. generate all contact entries for this BE plan.
| BE + Pay Lines|Not supported in UEEF, used by UPNVPERS
| GAPERS/GATRS|Not supported in UEEF, used by UBEF
!Update Records
When UEEF 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
-----
!!UEEF to Extract Changes Only
The Generic Employee Interface (UEEF) may be used as a data extraction process that selects only the changed data. Quite often third party vendors will not accept all records being transmitted with each transfer. The UEEF will filter extracted data based on a specified list of tables that have changed after a given date.
!Turn on Change Logging
In order for the extracted data to be filtered by changes a system administrator must first turn on 'Logging' on the tables they wish to pick up changes for. This is done in [IMTD] and [IMCD].
Setting up logging on tables and columns should only be done by an administrator since this can have an impact on performance.
Please refer to the Detailed Change Auditing document for instructions on how to configure this
!Process UEEF with Changes Only
Review the above section for detailed information on how to set up the interface file format for the UEEF function. Once the interface file format has been set up and the logging has been turned on, you are now able to run UEEF to extract changes only data.
In order for UEEF to extract changes only two new parameters have been added:
#Changed Since:
#Changed Tables:
If you need to run an exception level 9 for additional trace, you need to supply a person code. If you do not do so, there will be a warning message in the report indicating that due to the volume of trace messages, the exception level is internally reset to 1 and that if you need to run with level 9, to enter an employee to be traced.
----
!!Report Parameters
||Report Parameters||
|Entity|Mandatory, LOV Available\\You must enter one entity
|As Of Date|Mandatory,Date, LOV Available\\This date is used to retrieve employee information where a date is needed
|Sort By Active EEs|Check this toggle to sort inactive employees first
|Sort People By|Optional,[Person Sort|X_PERSON_SORT] lexicon available\\You should sort employees by Last Name/First Name, however you may sort by employee's pay destination or sort by Person code.
|ER Address Location|Optional, LOV Available\\Allows you to enter an overridden Location to retrieve the Employer Address. If this is not specified, the Entity’s location address is used.
|Changed Since|This date field is used to filter the [P2K_AM_CHANGE_LOGS] table to only show data changed since this date. When this parameter is left blank, the interface process will not be filtered by the change logs
|Changed Tables|If a table is selected, the system will only look for changes that have occurred in the specified table. More than one table may be selected at a given time. If there is no table selected and if a changed 'Since' date has been supplied, the system will not export any rows. Tables that are currently supported are: [P2K_HR_IDENTITIES], [P2K_HR_PERSONALS], [P2K_HR_EMPLOYMENTS], [P2K_HR_ASSIGNMENTS], [P2K_HR_ASSIGNMENT_DETAILS], [P2K_PR_PAYMENT_RULE_DETAILS], [P2K_PR_US_PAY_RULES]
|Trial Run|Optional toggle to indicate if the UDFs are to be updated for the UEEF run. The value of 'Y' or 'N' is always returned in this parameter field. To run in non-Trial mode (Update mode), you should define [IDIF] Record Type '92-Update Record' to update UDFs
|Interface Format Code|Enter the Interface code from [IDIF] screen. (Mandatory)
|Interface Level|Mandatory,[Interface Level|X_INTERFACE_LEVEL] lexicon available\\Specify the level for the Interface file to be produced.
|Directory Name|Enter a valid directory name
|File Name|Enter a file name or use the default file name from [IDIF] screen
|Write Append to File|Mandatory,[Write Append|X_WRITE_APPEND] lexicon available\\Provides the option to write a file or append to an existing one.
|Exception Level|You should always run with Exception level unless for tracing. In Trace Level 1, the employee Header with Person Code and Employee Name are displayed with performance time, this can be used for Progress bar or to locate employee with problem. In Trace Level 2, the BE plans are displayed after employee header information
|User Comments |Optional, Text \\This field holds the user-supplied comment which will appear in the header of all pages of the report. This is useful during testing phases to identify similar reports from each other.
||Report Filters||
|People List|Optional, Multiple Selection Available, LOV Available\\Please specify if People list is to be used.
|Person|Optional, Multiple Selection Available, LOV Available\\Enter one or more Person Codes.
|Location|Optional, Multiple Selection Available, LOV Available\\Enter one or more Location codes.
|Auth Area|Optional, Multiple Selection Available, LOV Available\\Enter one or more Authorization Areas.
|Department|Optional, Multiple Selection Available, LOV Available\\Enter one or more Department Codes.
|Org Level Type|Optional, Multiple Selection Available, LOV Available\\Enter one or more Org Level Types.
|Org Level|Optional, Multiple Selection Available, LOV Available\\Enter one or more Org Level within Org Level Types.
|Unit|Optional, Multiple Selection Available, LOV Available\\Enter one or more Unit codes.
|Group|Optional, Multiple Selection Available, LOV Available\\Enter one or more Group codes.
|Payroll|Optional, Multiple Selection Available, LOV Available\\Enter one or more Payroll codes.
|Employment Status|Optional, Multiple Selection Available, LOV Available\\Enter one or more Employment Statuses.
|Termination Reason|Optional, Multiple Selection Available, LOV Available\\Enter one or more Termination Reasons.
|Plan Type|Optional, Multiple Selection Available, LOV Available\\Applicable if Interface Level = 'BE plans' or 'BE + Contacts'.
|Plan|Optional, Multiple Selection Available, LOV Available\\Applicable if Interface Level = 'BE plans' or 'BE + Contacts'.
!!Available EEM/EAS Interface (35) Variables
%%zebra-table
At line 35 changed one line
| 350201 | Location Code (DLN) | [P2K_CM_LOCATIONS] (DLN) is retrieved from [DED.DLN_ID]|If the [UEEF] parameter 'Er Addr Location' is specified, then this location is used as the Employer Address
| 350201 | Location Code (DLN) | [P2K_CM_LOCATIONS] (DLN) is retrieved from the [location code|LOCATION_CODE] field found on IDEN (DED.DLN_ID).|If the [UEEF] parameter 'Er Addr Location' is specified, then this location is used as the Employer Address
At line 948 added one line
| 359010 | Employee Count (35) |Contains Total Count of unique employees in the file across Detail Record Types 'Detail Record', 'Detail Level 1', 'Detail Level 2', 'Detail Level 3', 'Detail Level 4' and 'Detail Level 5'. Available for Header and Trailer records| If an employee appears in a 'Detail Record' at Rec# 30 and can also be found in 3 additional Detail Record Types in Rec# 40,50 and 60 the employee record will only be counted as 1. If the employee is being bypassed by the BYPASS derivation or the *SKIPREC#* derivation, this record entry will not be used in the Employee Count.|
At line 571 removed 4 lines
!!Setup Step 2 - Define Interface Format in [IDIF]
!Fixed File Format
The following set up instructions for a Fixed File format using the interface [HL$BE-ELIGTOTAL].\\
The interface does not need to be manually entered in IDIF, it is loaded through seed data during an install or upgrade.
At line 576 removed 288 lines
The starter script SEED_IDIF_HL$BE_ELIG_TOTAL.sql is provided to load in example of a fixed format interface file. You should use (Copy Definition) to copy into a different Interface code and then enter your own company data.
IDIF Field Descriptions:
*The maximum length of a file size is 10000 bytes.
*The maximum length of a file size with Sort Sequence is 4000 bytes.
;Code:
*User defined Interface Code
*If IDIF layout is supplied, Interface code begins with HL$
;Interface Type:Must be 35 - EEM/EAS 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 UEEF
;Description:User defined description
;File Name:Specifies the default file name, otherwise file name is entered on UEEF parameter
;File Creation Number:Not used
;Taxation Level:Please select "Not Specified" from look up list, Taxation Level is not used for UEEF
;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
*The maximum length of a file size is 10000 bytes, therefore the Ending Position must not exceed 10000
*If Sort Sequence is used, the Ending Position must not exceed 4000
;Field Type:Can be 'Char', 'Number' or 'Date'
;Variable Name:Select from lexicon X_INF_VARIABLE_NAME 35nnnn, refer to lexicon list above
;Sort Sequence:Specifies the Sort Sequence for this Record #, Field #
*Used 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. if 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 'Employee Header' or 'Employee Summary' because the Sorting of the Detail Record cannot carry its associated Employee Header/Summary Record
;Format Mask:Applicable to Numeric and Date field
;Record Type:Must be used for this Interface Type, 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 UEEF
|11 - Employer Summary|Not used for UEEF
|12 - Employer Header2|Not used for UEEF
|13 - Employer Summary2|Not used for UEEF
|14 - Employee Header|Generate Employee Header at the beginning of an employee (EEM) after the Qualify record
|15 - Employee Summary|Generate Employee Summary at the end of an employee (EEM)
|16 - Pay Header Begin|Not used for UEEF
|17 - Pay Header Summary|not used for UEEF
|20 - Detail Record|generate Employee Detail record
|21 - Detail Level 1|Detail Level 1 to 5 hangs beneath the Employee Detail record and loops through BE plans or Contacts etc., depending on UEEF parameter Interface Level selection criteria
|22 - Detail Level 2|
|23 - Detail Level 3|
|24 - Detail Level 4|
|25 - Detail Level 5|
|30 - Detail Summary|Wraps up for Employee Detail record\\Mostly used for XML file xml end tag
|80 - Total Record|Not used
|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 Detail record to qualify employees\\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 'Statistics 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, you 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))
!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
*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. [350001]
*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
The following example is an excerpt from UPPHF and the same processing logic is applicable to UEEF
__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 [320009] Identify eid.id
**otherwise
***return [350400] Unit dun_id
**otherwise
***return [350400] Unit dun_id
!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 only, 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’.
%%Information 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.%%
INSERT GRAPHIC
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.
INSERT GRAPHIC
!P2K Internal Functions with Parameters
You have ability to call some P2K internal functions in the derivation expression under the guidance of a 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 ~
INSERT GRAPHIC
User may perform some internal mathematic calculation in the derivation expression to return some prorated amount.
((Value of a PC in ‘HOURS O/T’ element / Value of ‘HOURS O/T’ Element) * Benefit Element ‘HOURS COMP TIME’)
!XML File Format
The following instructions are for building an XML format for the UEEF using the format [HL$BE-ELIG-XML.]
SEED_IDIF_HL$BE_XML_FILE.sql script is provided to load in example of a XML format interface file
You should use [Copy Definition] to copy into a different Interface Code and then enter their own company data
!!Setup Step 3 - Defining UserCalcs
The file format for the UEEF can be defined to call a UserCalc function at each Record Number, each Field Number.
The Variable Name must equal 'UserCalc' and the UserCalc name must be specified in the Constant Value field.
The Field Type must be defined with Char, Number or Date, the UserCalc 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 UserCalc are:
*at company level: DEN / DLN / DDP / DDD / DUN / DGR / DGD / DGV
*at employee level: EID / EPS / EEM / EAS / EASD / PPRU / PPRC / ECT
*for BE only: BPT / BPN / BCG / BCGD / BCGD / BCGR / BEND / BBR / ECT
!!Setup Step 4 - Update Record Set Up
During the UEEF run, you may update certain User Defined Fields (UDF) to indicate 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 [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.'358043 - UDF (ECT) (35)'.
The Constant Value field should contain the name of the UDF, e.g 'UEEF by BEN'.
%%information Please note that it will be up shifted.%%
If this UDF name does not exist on the [IMUF] screen, UEEF 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 UEEF 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#200 Field#10 indicates to update 'UDF (ECT)', this will be processed at the end of each qualified Contact
*Rec#200 Field#15 indicates to update 'UDF (BPN)', this will be processed at the end of each qualified Benefit Plan
*Rec#200 Field#20 indicates to update 'UDF (BEN)', this will be processed at the end of each qualified employee [IBEN] Benefit plan
*Rec#200 Field#30 indicates to update 'UDF (BEND)', this will be processed at the end of each qualified employee [IBEN] Benefit plan
* Rec#200 Field#40 indicates to update 'UDF (EPS)', this will be processed at the end of each qualified employee
Using the Returned Value of the Derivation Expression, UEEF 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 UEEF from [X_INF_VARIABLE_NAME] are:
*358030 - UDF (EID) (35)
*358031 - UDF (EEM) (35)
*358032 - UDF (EASD) (35)
*358033 - UDF (EASD) (35)
*358034 - UDF (EPS) (35)
*358035 - UDF (DED) (35)
*358036 - UDF (DDD) (35)
*358037 - UDF (DLN) (35)
*358038 - UDF (DUD) (35)
*358039 - UDF (DGD) (35)
*358043 - UDF (ECT) (35)
*358044 - UDF (BEN) (35)
*358045 - UDF (BEND) (35)
After UDFs are updated or inserted in UEEF, the number of records updated for each data base table will be displayed on the UEEF report.
%%information Note that the 'Number of UDF 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 contacts to update the same EEM but with a different value.)%%
At line 865 removed 106 lines
!!Processing Information
Based on the selection criteria, UEEF retrieves employee basic information and primary assignment information
From the UEEF parameter 'Interface Level', the data base tables will be loaded accordingly:
*at company level: DEN / DLN / DDP / DDD / DUN / DGR / DGD / DGV
*at employee level: EID / EPS / EEM / EAS / EASD / PPRU / PPRC / ECT
*for BE only: BPT / BPN / BCG / BCGD / BCGD / BCGR / BEND / BBR / ECT
Based on the value selected in the parameter 'Interface Level', the following information will be written to the interface file
||Interface Level Value||Usage
| EEM + EASD|Primary assignment and related data base tables are loaded. This level will perform [IDIF] Record Type 'Detail Record' for each primary assignment information, i.e. write one entry per employee
| EEM + EASD + Contacts|Primary assignment and related data base tables are loaded. This level will perform [IDIF] Record Type 'Detail Record' for each primary assignment information, i.e. write one entry per employee. Then the Contacts information for this employee will be loaded and perform [IDIF] Record Type 'Detail Level 1 to 5' for each Contact information, i.e. generate all contact entries for this employee
| BE Plans|Primary assignment and BE related data base tables are loaded. This level will perform [IDIF] Record Type 'Detail Record' for each BE plan, i.e. write one entry per employee for each BE plan
| BE + Contacts|Primary assignment and BE related data base tables are loaded. This level will perform [IDIF] Record Type 'Detail Record' for each BE plan, i.e. write one entry per employee for each BE plan. Then the Contacts information for this BE plan will be loaded and perform [IDIF] Record Type 'Detail Level 1 to 5' for each Contact information, i.e. generate all contact entries for this BE plan.
| BE + Pay Lines|Not supported in UEEF, used by UPNVPERS
| GAPERS/GATRS|Not supported in UEEF, used by UBEF
;Update Records
When UEEF 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
-----
!!UEEF to Extract Changes Only
The Generic Employee Interface (UEEF) may be used as a data extraction process that selects only the changed data. Quite often third party vendors will not accept all records being transmitted with each transfer. The UEEF will filter extracted data based on a specified list of tables that have changed after a given date.
!Turn on Change Logging
In order for the extracted data to be filtered by changes a system administrator must first turn on 'Logging' on the tables they wish to pick up changes for. This is done in [IMTD] and [IMCD].
Setting up logging on tables and columns should only be done by an administrator since this can have an impact on performance.
Please refer to the Detailed Change Auditing document for instructions on how to configure this
!Process UEEF with Changes Only
Review the above section for detailed information on how to set up the interface file format for the UEEF function. Once the interface file format has been set up and the logging has been turned on, you are now able to run UEEF to extract changes only data.
In order for UEEF to extract changes only two new parameters have been added:
#Changed Since:
#Changed Tables:
If you need to run an exception level 9 for additional trace, you need to supply a person code. If you do not do so, there will be a warning message in the report indicating that due to the volume of trace messages, the exception level is internally reset to 1 and that if you need to run with level 9, to enter an employee to be traced.
----
!!Report Parameters
||Report Parameters||
|Entity|Mandatory, LOV Available\\You must enter one entity
|As Of Date|Mandatory,Date, LOV Available\\This date is used to retrieve employee information where a date is needed
|Sort By Active EEs|Check this toggle to sort inactive employees first
|Sort People By|Optional,[Person Sort|X_PERSON_SORT] lexicon available\\You should sort employees by Last Name/First Name, however you may sort by employee's pay destination or sort by Person code.
|ER Address Location|Optional, LOV Available\\Allows you to enter an overridden Location to retrieve the Employer Address. If this is not specified, the Entity’s location address is used.
|Changed Since|This date field is used to filter the [P2K_AM_CHANGE_LOGS] table to only show data changed since this date. When this parameter is left blank, the interface process will not be filtered by the change logs
|Changed Tables|If a table is selected, the system will only look for changes that have occurred in the specified table. More than one table may be selected at a given time. If there is no table selected and if a changed 'Since' date has been supplied, the system will not export any rows. Tables that are currently supported are: [P2K_HR_IDENTITIES], [P2K_HR_PERSONALS], [P2K_HR_EMPLOYMENTS], [P2K_HR_ASSIGNMENTS], [P2K_HR_ASSIGNMENT_DETAILS], [P2K_PR_PAYMENT_RULE_DETAILS], [P2K_PR_US_PAY_RULES]
|Trial Run|Optional toggle to indicate if the UDFs are to be updated for the UEEF run. The value of 'Y' or 'N' is always returned in this parameter field. To run in non-Trial mode (Update mode), you should define [IDIF] Record Type '92-Update Record' to update UDFs
|Interface Format Code|Enter the Interface code from [IDIF] screen. (Mandatory)
|Interface Level|Mandatory,[Interface Level|X_INTERFACE_LEVEL] lexicon available\\Specify the level for the Interface file to be produced.
|Directory Name|Enter a valid directory name
|File Name|Enter a file name or use the default file name from [IDIF] screen
|Write Append to File|Provides the option to write a file or append to an existing one.
|Exception Level|You should always run with Exception level unless for tracing. In Trace Level 1, the employee Header with Person Code and Employee Name are displayed with performance time, this can be used for Progress bar or to locate employee with problem. In Trace Level 2, the BE plans are displayed after employee header information
|User Comments |Optional, Text \\This field holds the user-supplied comment which will appear in the header of all pages of the report. This is useful during testing phases to identify similar reports from each other.
|Sort People By|Mandatory,[Sort People By|X_PERSON_SORT] lexicon available\\This field will indicate how the people information will be sorted.\\
Sort by Active/Inactive - check this toggle to sort inactive employees first
Trial Run - optional toggle to indicate if the UDFs are to be updated for the UEEF 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
Sort Employees by: - user should sort employees by Last Name/First Name, however user may sort by employee’s pay destination or sort by Person code
- lexicon X_PERSON_SORT values are:
01 – Person Code
02 – Last Name/First Name
03 – Destin/Last/First
Directory Name: - enter a valid directory name
File Name: - enter a file name or use the default file name from IDIF screen
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
||Report Filters||
|People List|Optional, Multiple Selection Available, LOV Available\\Please specify if People list is to be used.
|Person|Optional, Multiple Selection Available, LOV Available\\Enter one or more Person Codes.
|Location|Optional, Multiple Selection Available, LOV Available\\Enter one or more Location codes.
|Auth Area|Optional, Multiple Selection Available, LOV Available\\Enter one or more Authorization Areas.
|Department|Optional, Multiple Selection Available, LOV Available\\Enter one or more Department Codes.
|Org Level Type|Optional, Multiple Selection Available, LOV Available\\Enter one or more Org Level Types.
|Org Level|Optional, Multiple Selection Available, LOV Available\\Enter one or more Org Level within Org Level Types.
|Unit|Optional, Multiple Selection Available, LOV Available\\Enter one or more Unit codes.
|Group|Optional, Multiple Selection Available, LOV Available\\Enter one or more Group codes.
|Payroll|Optional, Multiple Selection Available, LOV Available\\Enter one or more Payroll codes.
|Employment Status|Optional, Multiple Selection Available, LOV Available\\Enter one or more Employment Statuses.
|Termination Reason|Optional, Multiple Selection Available, LOV Available\\Enter one or more Termination Reasons.
|Plan Type|Optional, Multiple Selection Available, LOV Available\\Applicable if Interface Level = 'BE plans' or 'BE + Contacts'.
|Plan|Optional, Multiple Selection Available, LOV Available\\Applicable if Interface Level = 'BE plans' or 'BE + Contacts'.
----