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 |