PI_PARTIC and PI_PARTIC_EXPT Tables
When a full-records or changes-only export is processed, flags are set in the PI_PARTIC and PI_PARTIC_EXPT tables. The values of these flags determine which data is written to the export file (or table).
This diagram illustrates the parent-child relationship between the PI_PARTIC and PI_PARTIC_EXPT tables:
This diagram illustrates the parent-child relationship between the PI_PARTIC and PI_PARTIC_EXPT tables.

The PI_PARTIC table contains one row of data for every employee and for every process. It contains high-level information that determines which employees are processed during the comparison phase. Two key fields in this table are EMPLID and PI_RUN_NUM. The PI_RUN_NUM is very important when doing a reprocess run. A critical field on the PI_PARTIC table is PI_CHANGE_IND. If an employee has had a data change since the last Export process, the PI_CHANGE_IND flag is set to Y.
The PI_PARTIC_EXPT table contains the historical (changed) data for the comparison phase. New rows are inserted into this table during each Export process run. Every field that will be sent to the third-party payroll system is in this table. In front of each data element on the PI_PARTIC_EXPT table is a change flag. If the field has changed since the last process, this flag is set to 1; otherwise, it is set to 0. If the field belongs to a group, the data element is prefixed with 2.
Within the PI_PARTIC_EXPT table, the Export Row column is a 250-byte character representation of employee-level data. This data field is the result of information that is set up using the Definition Table (INTRFC_DEFINITION) component. If there is more than 250 bytes of data, another row is inserted into the table and the EXPORT_SEQ is incremented. The export row is positional and is based on the order of the fields that are set up using the Definition Table component. This is very important for maintenance during live processing.
PI_PARTIC Table
If values change, PI_CHANGE_IND is set to Y.
Possible run status indicators for a successful export run are:
| Field | Value |
|---|---|
|
PI_PARTIC_STATUS |
Note: When the process finishes, the flag should be set to C or E. If the flag is set to P, then an error has occurred. |
|
PI_CHANGE_IND |
Note: Some data changes trigger a process; for example, if an employee is terminated, a stop transaction for deductions may be issued. |
|
PI_CHANGE_TYPE |
|
PI_PARTIC_EXPT Table
If values change, PI_CHANGE_IND is set to Y and the byte-length field flags that are attached to each field value are set to 0, 1, or 2. All exported data is written to EXPORT_ROW, a 250-character field. If the export file is defined at a length greater than 252 characters, then data is loaded into additional EXPORT_ROW fields and the EXPORT_SEQ sequence field is incremented.
Possible run status indicators for a successful export run are:
| Field | Value |
|---|---|
|
PI_CHANGE_IND |
|
|
EXPORT_ROW |
|
Example 1
Assume the following for the employee with EmplID KUI001:
-
Full-records export, run number 1.
-
Data values for salary, union dues, savings bond, and vehicle allowance.
| Export | Run Num | Salary | U-Dues | SV-BND | VEH |
|---|---|---|---|---|---|
|
Full-records |
1 |
1500 |
10 |
100 |
15 |
PI_PARTIC table—This is a full-records export and all data values are considered changed. PI_CHANGE_IND is set to Y.
| Field | Values |
|---|---|
|
EMPL_ID |
KUI001 |
|
PI_RUN_NUM |
1 |
|
PI_CHANGE_IND |
Y |
PI_PARTIC_EXPT table—PI_CHANGE_IND is set to Y and the byte-length field flag is set to 1 for all data values.
| Field | Values |
|---|---|
|
EMPL_ID |
KUI001 |
|
PI_RUN_NUM |
1 |
|
PI_CHANGE_IND |
Y |
|
EXPORT_ROW |
11500 110 1100 115 |
Export file—All data values are written to the export file (or table).
| Employee (EMPLID) | Salary | U-DUES | SV-BND | VEH |
|---|---|---|---|---|
|
KUI001 |
1500 |
10 |
100 |
15 |
Example 2
Assume the following for the employee with EmplID KUI001:
-
Changes-only export, run number 2.
-
Data values for salary and savings bond have changed.
| Export | Run Num | Salary | U-Dues | SV-BND | VEH |
|---|---|---|---|---|---|
|
Full-records |
1 |
1500 |
10 |
100 |
15 |
|
Changes-only |
2 |
1800 |
10 |
150 |
15 |
PI_PARTIC table—PI_CHANGE_IND is set to Y.
| Field | Values |
|---|---|
|
EMPL_ID |
KUI001 |
|
PI_RUN_NUM |
2 |
|
PI_CHANGE_IND |
Y |
PI_PARTIC_EXPT table—PI_CHANGE_IND is set to Y and the byte-length field flag is set to 1 for data values that have changed and to 0 for data values that have not changed.
| Field | Values |
|---|---|
|
EMPL_ID |
KUI001 |
|
PI_RUN_NUM |
2 |
|
PI_CHANGE_IND |
Y |
|
EXPORT_ROW |
11800 010 1150 015 |
Export file—Changed data values are written to the export file (or table).
| Employee (EMPLID) | Salary | U-DUES | SV-BND | VEH |
|---|---|---|---|---|
|
KUI001 |
1800 |
150 |
Example 3
Assume the following for the employee with EMPLID KUI001:
-
Changes-only export, run number 3.
-
No data values have changed.
| Export | Run Num | Salary | U-Dues | SV-BND | VEH |
|---|---|---|---|---|---|
|
Full-records |
1 |
1500 |
10 |
100 |
15 |
|
Changes-only |
2 |
1800 |
10 |
150 |
15 |
|
Changes-only |
3 |
1800 |
10 |
150 |
15 |
PI_PARTIC table — PI_CHANGE_IND is set to N.
| Field | Values |
|---|---|
|
EMPL_ID |
KUI001 |
|
PI_RUN_NUM |
3 |
|
PI_CHANGE_IND |
N |
PI_PARTIC_EXPT table — PI_CHANGE_IND is set to N and the byte-length field flag is set to 0 for all field values.
| Field | Values |
|---|---|
|
EMPL_ID |
KUI001 |
|
PI_RUN_NUM |
3 |
|
PI_CHANGE_IND |
N |
|
EXPORT_ROW |
01800 010 0150 015 |
Export file — No data values have changed; no data is written to the export file (or table).
| Employee (EMPLID) | Salary | U-DUES | SV-BND | VEH |
|---|---|---|---|---|
|
KUI001 |