[{TableOfContents }]
!!!GENERIC EMPLOYEE INTERFACE
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.

!!Required Set Up

!Step 1 - Define Lexicons in [IMLN]
The following list of lexicons are provided and are used by the UEEF Employee Generic Interface.
*[X_INTERFACE_TYPE]\\The following Interface type from X_INTERFACE_TYPE must be used for IDIF screen:\\35 – EEM/EAS Interface


*[X_INTERFACE_LEVEL]
*[X_INF_VARIABLE_NAME]

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

You should use (Copy Definition) to copy into a different Interface code and then enter your own company data.

XML File Format
The following instructions are for building an XML format for the UEEF using the format [HL$BE-ELIG-XML.]

!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

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

Note that these 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 2 times if an employee has 2 Contacts to update the same
EEM but with a different Value

----
!!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|Must enter one entity. (Mandatory)
|As Of Date|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|You should sort employees by Last Name/First Name, however you may sort by employee's pay destination or sort by Person code. Lexicon [X_PERSON_SORT] values
|ER Address Location|Allows you to enter an overridden Location to retrieve the Employer Address.(Optional)
|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|Specify the level for the Interface file to be produced. (Mandatory) Lexicon [X_INTERFACE_LEVEL]
|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


||Report Filters||
|People List|Please specify if People list is to be used. (Optional)
|Person|Enter one or more Person Codes. (Optional)
|Location|Enter one or more Location codes. (Optional)
|Auth Area|Enter one or more Authorization Areas. (Optional)
|Department|Enter one or more Department Codes. (Optional)
|Org Level Type|Enter one or more Org Level Types. (Optional)
|Org Level|Enter one or more Org Level within Org Level Types. (Optional)
|Unit|Enter one or more Unit codes. (Optional)
|Group|Enter one or more Group codes. (Optional)
|Payroll|Enter one or more Payroll codes. (Optional)
|Employment Status|Enter one or more Employment Statuses. (Optional)
|Termination Reason|Enter one or more Termination Reasons. (Optional)
|Plan Type|Applicable if Interface Level = 'BE plans' or 'BE + Contacts'. (Optional)
|Plan|Applicable if Interface Level = 'BE plans' or 'BE + Contacts'. (Optional)


----
![Notes|Edit:Internal.UEEF] 	
[{InsertPage page='Internal.UEEF' default='Click to create a new notes page'}]