DC1 Time has working interfaces to DC1 Manufacturing and Project Management. Time is also prepared to communicate with other manufacturing or project systems, but in this case some additional work is required to get a working interface. The same is also valid for the interface between Time and a payroll system.
This document describes the interface capabilities in Time and what is required to create the following interfaces:
- From DC1 Time to another manufacturing system than DC1 Manufacturing
- From DC1 Time to another project system than DC1 Project Management
- From DC1 Time to a payroll system
- From a payroll system to DC1 Time
Interface with manufacturing systems
The following does not apply to DC1 Manufacturing, which has a standard interface.
If another manufacturing system than DC1 Manufacturing is used, then Time sends the manufacturing reporting transactions (approved and rejected quantities and operation times for setup, machine and run/labour) by calling the interface program TME750 for each transaction. The values of the transactions are passed as parameters to the program.
TME750
| XPILNB | 12 0 | Manufacturing order number |
| XPIMNB | 5 0 | Operation number |
| XPINNB | 8 0 | Transaction date |
| XPIONB | 6 0 | Transaction time |
| XPC9NB | 3 0 | Sequence number |
| XPIPNB | 10 0 | Employee number |
| XPBEVA | 15 3 | Internal setup time |
| XPBFVA | 15 3 | External setup time |
| XPBGVA | 15 3 | Machine time |
| XPBHVA | 15 3 | Run/labour time |
| XPBMVA | 15 3 | Approved quantity |
| XPBNVA | 15 3 | Rejected quantity |
| XPEDCD | 6 | Reason code |
| XPJQST | 1 | Completed |
| XPJMCD | 6 | Work group code |
| XPTNNB | 12 0 | Consolidated order number |
| XPJGCD | 5 | Work centre code |
| XPAANB | 5 0 | Wage type code |
| XPJLCD | 6 | Work classification code |
| XPAXPR | 17 4 | Unit price |
The program and source code is included in the standard product. Relevant transfer logic must be added for each manufacturing system. See also the system values in Setting up DC1 Time to see how the transfer can be configured.
Interface with project systems
The following does not apply to DC1 Project Management, which has a standard interface.
If another project system than DC1 Project Management is used, then Time sends the project reporting transactions by calling the interface program TME740 for each transaction. The values of the transactions are passed as parameters to the program.
TME740
| XPIPNB | 10 0 | Employee number |
| XPADDT | 8 0 | Calendar date |
| XPESCD | 10 | Project code |
| XPJECD | 7 | Cost centre code |
| XPBHDT | 8 0 | Transaction start date |
| XPBBTM | 6 0 | Transaction start time |
| XPBPDT | 8 0 | Transaction end date |
| XPBCTM | 6 0 | Transaction end time |
| XPGXNB | 7 2 | Hours |
| XPTCST | 1 | Invoicing code |
The program and source code is included in the standard product. Relevant transfer logic must be added for each project system. See also the system values in Setting up DC1 Time to see how the transfer can be configured.
Interface to the payroll system
This section describes the interface is from DC1 Time to the payroll application, that is when payroll transactions are created and sent to the payroll system.
Time is capable of creating wage transactions for the payroll system, but the last step of the interface – sending the transactions into the payroll system – must be completed before the interface works. For each transaction the interface program TME730 is called. The values of the transactions are passed as parameters to the program.
TME730
| XPN5NB | 7 0 | Transfer number |
| XPIPNB | 10 0 | Employee number |
| XPCGNB | 3 | Wage group code |
| XPJECD | 7 | Home cost centre |
| XPIQNB | 10 | Payroll wage type |
| XPINNB | 8 0 | Transaction date |
| XPM9ST | 1 | Type project/quotation |
| XPOFNB | 12 0 | Project number |
| XPOGNB | 3 0 | Quotation version number |
| XPOJNB | 3 0 | Project phase number |
| XPOKNB | 4 0 | Project line number |
| XPESCD | 10 | Project code |
| XPJ6CD | 7 | Reported cost centre |
| XPILNB | 12 0 | Manufacturing order number |
| XPIMNB | 5 0 | Operation number |
| XPJLCD | 6 | Work classification code |
| XPGXNB | 7 2 | Hours |
| XPU8NB | 7 2 | Hours per day |
| XPOINB | 5 0 | Number of days/pieces |
| XPBMVA | 15 3 | Approved quantity |
| XPBNVA | 15 3 | Rejected quantity |
| XPAXPR | 17 4 | Unit price |
| XPODNB | 4 0 | Wage year |
| XPOCNB | 6 0 | Wage period |
| XPH7CD | 2 | Error code |
The program and source code is included in the standard product. Relevant transfer logic must be added for each payroll system.
See also the system values in Setting up DC1 Time to see how the transfer can be configured.
Interface from the payroll system
This interface allows you to share some basic data in the payroll system with DC1 Time, i.e., the information is maintained in the payroll system and then sent to DC1 Time.
The interface allows the following information to be updated from the payroll system:
- Employees
- Wage groups
- Wage types
- Transfer wage types, i.e. a specification per wage group of which wage types that should be transferred to the payroll system.
Solution
In this interface the systems communicate by using a data queue. The payroll system sends the requests for update to a data queue and Time contains logic to read the data queue and process the request. It is the same type of solution that that Time uses to communicate with external reporting terminals.
To activate the interface in Time the following must be done.
- A communication process reserved for the interface with the payroll system must be created. The default name of the process is TMESAL.
- The data queues of the process must be created in a library that is available both from Time and the payroll application.
- The name of the data queue for input of the process must be TMESAL or TMESALXX where XX is a code that is unique for the company.
- The system value SALFROM (Interface from payroll system) must be set to YES to activate the interface.
The following changes are needed in the payroll system when building the connection to Time.
To avoid unnecessary updates the payroll application should check whether Time is installed or not. This could be done by using an internal parameter or by using the DC1 routine ASGR990 to check if the application is active.
The logic to build and send the requests to Time has to be built. To put the request into the data queue, call the Time program TME760. The parameters to the program consist of the control characters, company code and the actual data.
The different types of requests are described in the following subsections. A request can be, for example, Update wage type.
The control characters tell Time what to do (i.e., the type of request).
The company code is useful if several Time companies are connected to one payroll company. If a company code is supplied, then the program TME760 adds the code as an extension to the name of the data queue. Since each Time company has its own server routine (which is attached to one data queue) this solution makes it possible to direct requests to different Time companies.
Example:
Company code is blank: Data queue name is TMESAL
Company code is DE: Data queue name is TMESALDE
TME760
| Parameter | Positions |
|---|---|
| Return code
Leave it blank. |
1-7 |
| Control characters
Mandatory, uppercase. |
8-9 |
| Company code
Optional. This is an extension to the data queue name. Should be left as blank if only one Time company is updated from the payroll systems. |
10-11 |
| Actual data
The actual request data used to update information in Time. |
12-267 |
The coded lines in RPG could be something like:
- CALL – ‘TME760’ – 90
- PARM – XPRTRN 7
- PARM – XPCTLC 2
- PARM – XPACOM 2
- PARM – XPDATA 256
The different types of requests and the information they can contain are listed below.
Update wage group
This request updates (create/change) the wage group information in Time. Note: The positions in the following are relative start positions of Actual data.
Controls and positions
| Control characters | Actual data | Length | Positions |
|---|---|---|---|
| UG | Wage group
Wage group code. Mandatory. |
3 A | 1-3 |
| Description
The descriptive name of the group. Mandatory if creation request. Not changed in Time if blank. |
30 A | 4-33 |
Update employee
This request updates (create/change) the employee information in Time. Note: The positions in the following are relative start positions of Actual data.
Controls and positions
| Control characters | Actual data | Length | Positions | |
|---|---|---|---|---|
| UP | Employee number
Employee number used in Payroll. Mandatory. |
10,0 S | 1-10 | |
| Wage group
The wage group to which the employee belongs. |
3 A | 11-13 | ||
| Surname
Employee surname. Mandatory if creation request. Not changed in Time if blank |
30 A | 14-43 | ||
| First name
Employee first name. Not changed in Time if blank. |
30 A | 44-73 | ||
| Active
Employee status. Blank = Do not change the status. Y = Set the employee as active in Time N = Set the employee as inactive in Time. |
1 A | 74 | ||
| Cost centre
The cost centre to which the employee belongs. Not changed in Time if blank. |
7 A | 75 | 81 |
Update wage type
This request updates (create/change) the wage type information in Time. Note: The positions in the following are relative start positions of Actual data.
Controls and positions
| Control characters | Actual data | Length | Positions |
|---|---|---|---|
| UW | Wage type code
Wage type code used in Payroll. Mandatory. |
5,0 S | 1-5 |
| Description
Description of the wage type. Mandatory if creation request. Not changed in Time if blank. |
30 A | 6-35 | |
| Presence Y/N
Indicates if the wage type is used for presence time. Blank = Do not change the value. Y = YES N = NO |
1 A | 36 | |
| Absence Y/N
Indicates if the wage type is used for absence time. Blank = Do not change the value. Y = YES N = NO |
1 A | 37 | |
| Flexitime Y/N
Indicates if the wage type is used for flexitime. Blank = Do not change the value. Y = YES N = NO |
1 A | 38 | |
| Overtime Y/N
Indicates if the wage type is used for overtime. Blank = Do not change the value. Y = YES N = NO |
1 A | 39 | |
| Inconvenient working hours Y/N
Indicates if the wage type is used for inconvenient working hours. Blank = Do not change the value. Y = YES N = NO |
1 A | 40 | |
| Break Y/N
Indicates if the wage type is used for break. Blank = Do not change the value. Y = YES N = NO |
1 A | 41 | |
| Update balance Y/N
Indicates if day balances should be calculated for this wage type in Time. Blank = Do not change the value. Y = Calculate the balance N = Do not calculate the balance |
1 A | 42 | |
| Extra definition 1
Not used. |
1 A | 43 | |
| Extra definition 2
Not used. |
1 A | 44 | |
| Extra definition 3
Not used. |
1 A | 45 | |
| Extra definition 4
Not used. |
1 A | 46 | |
| Extra definition 5
Not currently used. |
1 A | 47 |
Transfer wage types
This request updates the wage type transfer information in a group in Time. This information is used in Time to control for which wage types data will be transferred to the payroll system. Note: The positions in the following are relative start positions of Actual data.
Controls and positions
| Control characters | Actual data | Length | Positions |
|---|---|---|---|
| GW | Wage group code
Wage group code used in Payroll. Mandatory. The wage group must be defined in Time. |
3 A | 1-3 |
| Wage type code
Wage type code used in Payroll. Mandatory. The wage type must be defined in Time. |
5,0 S | 4-8 | |
| Transfer Y/N
Indicates if transactions with this wage type should be transferred to the payroll system. Mandatory. Y = Transfer. N = Do not transfer. |
1 A | 9 | |
| Summarise Y/N
Indicates if transactions with this wage type should be summarised when transferring from Time to the payroll system. Blank = Do not change the value. Y = Summarise. N = Transfer each Time transaction separately. |
1 A | 10 | |
| Absence for holidays Y/N
Indicates if Time should create absence for a holiday when it is immediately preceded and followed by absence. Blank = Do not change the value. Y = Generate wage transaction for holidays. N = Do not generate wage transaction. |
1 A | 11 | |
| Transfer detailed balances
Indicates if transactions for this wage type should be transferred as detailed balances per reference or as a total for the wage type. Blank = Do not change the value. Y = Transfer detailed balances N = Transfer total balances. |
1A | 12 | |
| Transfer hours
Indicates if transactions for this wage type should contain hours. Blank = Do not change the value. Y = Transfer hours. N = Do not transfer hours. |
1 A | 13 | |
| Count number of days/pieces
Indicates if number of records for this wage type should be counted. Blank = Do not change the value. Y = Count number of records. Summarise should then also be = Y. N = Do not count number of records. |
1 A | 14 | |
| Transfer quantities
Indicates if transactions for this wage type should also contain quantities from manufacturing reporting. Blank = Do not change the value. Y = Transfer quantities. Transfer detailed balances should also then be = Y N = Do not transfer quantities. |
1 A | 15 | |
| Sum equal hours
Indicates if summarised transactions should be base only on records with the same number of hours. Blank = Do not change the value. Y = Summation is based on records with the same number of hours. N = Summation does not require the same number of hours. |
1 A | 16 |