!!!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.

!!Required Set Up

!Step 1 - Define Lexicons in [IMLN]
The following lexicons are provided by P2K and used for UPPHF Pay History Interface.
*[X_INTERFACE_TYPE]
*[X_INTERFACE_UPPHF]
*[X_INF_VARIABLE_NAME]

!Step 2 - Define Interface Format in [IDIF]
The system provides starter_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 - 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 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.