!!!LOAD TIME SHEET ENTRIES

!!Processing Information
The purpose of LPTS is to load time sheet entries into [IPTS] from a comma-delimited file. The LPTS can be used to load the Start and End times each day and have the system calculate the 'value' or hours worked. It can also be used to load just hours.


LPTS may create time sheets depending on how the interface format is defined in [IDIF]. In order to have LPTS create new time sheets, there must be an entry in [IDIF] for: PTSE.ACT_DIF_PRE_INSERT_CREATE_TS. This will force the system to call the new logic to create a new time sheet, if necessary. 

If the PTSE.ACT_DIF_PRE_INSERT_CREATE_TS line is missing from [IDIF] LPTS will not create time sheets, just time sheet entries so clients should ensure there are exiting time sheets for the period to be loaded. If a time sheet cannot be located, the LPTS will fail to load that record.

The LPTS strictly loads data into the table, it does not check to see what records are currently in the database. If there are existing time entries for the day, another entry will just be added to that day.

LPTS will respect any date formats that are set up in the [INPT DATE FORMAT] preference in [IMST]. If no format has been defined, then the LPTS will respect any ddmm type formats i.e.:ddmmyyyy, ddmmmyyyy, dd-mmm-yyyy

Any time rules that have been set up on the employee's work rule will be invoked when the time entries are loaded in.

;Step 1 - Define Interface Format in [IDIF]
An interface format is needed for the LPTS to load time sheets. 

The [Times Based Interface for LPTS|TIMES BASED INTERFACE FOR LPTS] page shows an example of an interface format for loading time sheets with Start and End times. 

The [Hours Based Interface for LPTS|HOURS BASED INTERFACE FOR LPTS] shows an example of an interface format for loading time sheets that are hours based. 

;Step 2 - Define Site Preferences in [IMST]
Within the [IMST] screen, the administrator must define where the Extract and Load files are located and where the load functions are to write the exception files to. These locations are used by the functions to create and retrieve information. The customer can modify these values to represent any directory on their system, which is convenient. 

The extract directory is defined using the [EXTRCT DATA FLDR] preference. The load directory is defined using the [LOAD DATA FLDR] preference. The [ATTACHMENTS FLDR] must be specified so the load functions know where to write the report exceptions log to.

If the full path is not specified here, then the path used by the HL Application Directory will apply. The user who is running the LPTS must have Read/Write/Create access to this directory on the server.

;Step 3 - Run LPTS to load the file
Launch the LPTS function specifying the appropriate parameters as indicated below. 

;Step 4 - Review Report and Exception File for Results
During the load process, all non-fatal exceptions as well as the number of insertions and updates (by table) are logged in the execution run logs. After the load process completes, a report is written to a text file indicating the number of records read, number of records bypassed, number of records processed, number of records that were bypassed because an identical one already existed in the table, and number of records updated/inserted by table. The report will display all non-fatal business exceptions encountered during the load with a record number indicating for which record the exception occurred. The report will also display the amount of time that was taken for the load process to complete.

There are 2 tiers of exceptions that can be generated during the load process. The first tier involves extracting and building data from the source file and the second involves processing the extracted data. However, there will only be ONE exception for each failed load. Basically, if the record fails to build data correctly, the program will not bother loading it so you will never see 2 exceptions for a single failed record load.

Exceptions generated while extracting and building data from the source file will indicate that the exception occurred while "reading data from file". Exceptions generated while processing the extracted data will indicate that the exception occurred while "loading data into the DB".

When a Null Pointer Exception (NPE) occurs during the load process, the entire stack trace to the NPE is captured and displayed as part of the exception message in the load report.

The report text file will be located in the directory which was specified in the [IMST] preference [LOAD DATA FLDR].

;Step 5 - Verify Loaded Data in [IPTS]
If there are no exceptions in the report, you should navigate to the [IPTS] where the data was loaded and verify that the load was done correctly.

----
!!Report Parameters

||Report Parameters||
|File Name| This field is the name of the file that has been placed on the server \\in the directory specified in the [IMST] record [LOAD DATA FLDR]. \\Mandatory
|Interface Code| The Interface Code that was created in step 1 must be specified. 
|Allow Update| The lexicon values of this field are YES or NO. Selecting "NO" disallows \\the updating of existing records in the database. If there are new records \\in the load file, the program will still perform an insertion of these records \\into the destination table. In short, selecting "NO" for Allow Update does \\not allow you to run the program in trial as it only prevents existing records\\ in the database from being updated. Selecting "YES" will update existing \\records in the database with changes found in the load file.
|Allow Insert| The lexicon values of this field are YES or NO. By selecting "NO" LPTS will\\ not load any new records into the specified table. By selecting "YES" new\\ records found in the load file will be inserted into the specified table.
|Exception Level| The lexicon values of this field are 0 to 9. Allows you to specify the level\\ of trace you wish to see in the report.


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