Integration Module XML File Processing

This section deals with the enhancements required to the Zavanti Integration Module (interface and server) in order to maintain and process the Timesheet XML document as described 2.2.2.  by taking the XML data and creating the Unposted Timesheet data within the Job Costing system.

1.     Validating the Timesheet XML Document details

The Timesheet XML document will be rejected from processing if:

      Document invalid format

      Invalid Company (COM_CODE), Job (JOB_CODE) , Sub Job (SUB_JOB_CODE) combination has been entered

      Sub Job (SUB_JOB_CODE) is not blank, when Job Costing defaults ‘USE Sub Jobs’ is NOT enabled for selected company. SUB_JOB_CODE may be blank if this option is enabled

      Period Number (PERIOD_NO) does not correspond to the Entry Date (ENTRY_DATE), or either field if blank

      Invalid Engineer code (ENGINEER_CODE) is entered, for the selected Company, or Engineer code is blank

      Invalid Cost Centre (CLASS_CODE) is entered, for the selected Company, or Cost Centre code is blank

      Invalid Employee ID code (EMPLOYEE_ID) is entered, for the selected Company (may be left blank)

      Invalid ‘START_TIME’ and ‘END_TIME’, or end time is less than start time. Start and end times may be blank.

      Invalid Pay work id (PAY_WORK_ID) has bee entered for the selected company

      Invalid Pay work id (PAY_RATE_ID) has bee entered for the selected company

      Invalid Allowance id (ALLOWANCE_ID) has been entered for the selected company

2.     Creating the Unposted Timesheet data

Once all data from the XML document is validated, a new detail row is written to the Unposted Timesheet data table ‘GJC_TCTRANS’. This table described the mapping from the XML table field names to the column names on the database table.

Certain columns will require some additional checking and are not supplied from the XML table data.

 

GJC_TCTRANS table

Field Name

XML Document

Field Name

Notes

COM_CODE

COM_CODE

 

JOB_CODE

JOB_CODE

 

REFERENCE

 

This “reference” number is to be obtained from the Systems number table using the existing SYSNUM functionality. It is the TimeSheetID system number. This number will be the same for EACH XML file batch. This is a mandatory field

SUB_JOB_CODE

SUB_JOB_CODE

 

CLASS_CODE

CLASS_CODE

 

TRANS_TYPE

 

Always ‘TS’ for timesheet data

START_TIME

START_TIME

 

END_TIME

END_TIME

 

DESCRIPTION

DESCRIPTION

 

CHARGE_RATE

CHARGE_RATE

 

CHARGED_VALUE

CHARGED_VALUE

 

CHARGEABLE     

CHARGEABLE     

 

PERIOD_NO

PERIOD_NO

 

HOURS_WORKED

HOURS_WORKED

 

UNITS

UNITS

 

HOURLY_COST

HOURLY_COST

 

COST_VALUE

COST_VALUE

 

PAY_WORK_ID

PAY_WORK_ID

 

FACTOR

 

The Factor field is obtained from the PYPAY_WORK_TYPE table for the selected COM_CODE and PAY_WORK_ID. This is a mandatory field

ENTRY_DATE

ENTRY_DATE

 

ENGINEER_CODE

ENGINEER_CODE

 

EMPLOYEE_ID

EMPLOYEE_ID

 

PAY_RATE_ID

PAY_RATE_ID

 

UNIT_SIZE

UNIT_SIZE

 

ALLOWANCE_ID

 

 

TOTAL

 

 

QUANTITY

 

Always blank

AMOUNT

 

Always blank

PERCENTAGE

 

Always blank