Configuring Shop Floor Time to Use Multiple Data Collection Systems

There are many ways to collect attendance punches, labor punches, and other data for Shop Floor Time, including InTeract Client terminals, InTouch terminals, and Web Services such as Solumina.

As a best practice, it is recommended that you use a single data collection system (e.g., InTeract Client terminals or Solumina). If one or more terminals go offline, the offline data will be placed in the Offline Data Queue once the terminal comes back online. The OFFLINE_DATA_PROCESSOR service will sort and process the records in the order of their transaction timestamps.

If both a Web Service and terminals are used to collect punches, problems can occur when the Web Service goes offline (sends offline punches to Shop Floor Time) but the terminals continue to send online punches to Shop Floor Time. For example, the clock-in and clock-out punches are being processed from the online InTeract Client terminals, but the labor punches are still in the offline queue because the Solumina Web Service is offline.

To help reduce the number of errors that can occur in this situation, the Web Service and the InTeract Client terminals can be configured as a Terminal Group. When the Web Service goes offline, the InTeract Client terminals in the group will also go offline. Data from both systems will be processed as offline transactions and will be properly sorted. Once the Web Service is back online, the InTeract Client terminals will also be returned to online mode.

Note that this configuration can help reduce the problem of out-of-sync punches when collecting data from two systems, but it will not eliminate the problem completely.

See Also:

How a Terminal Group’s Status is Determined

How a Terminal Group Member’s Status is Determined

If you are using Solumina and terminals to record punches, you need to perform the following configurations:

1. Configure the Solumina Web Service’s Terminal Settings

2. Configure the Solumina Web Service’s Terminal Type Setting

3. Configure the Solumina Web Service Terminal’s Check Online Time Setting

4. Configure the WSOAGIS_PROCESSEMPLOYEEWORKTIME Import Definition

5. Define the Terminal Group

6. Display the Terminal Group Information in Terminal Monitor

7. Run the TERMINAL_MONITOR and OFFLINE_DATA_PROCESSOR Services

 

Configure the Solumina Web Service’s Terminal Settings

You need to define the Solumina Web Service terminal in the Terminal form. You also need to enable a setting for the Web Service Terminal Type.

In the Terminal form, select the record for the Web Service terminal that represents Solumina. Change the GID, DID, Terminal Profile, and other settings as necessary. Make sure the Monitor box is checked.

Go to the Terminal Setting tab and add the following settings:

OFFLINE_RECORDS_MAX_AGE

OFFLINE_RECORDS_MAX_NUM

OFFLINE_RECORDS_MAX_AGE defines the maximum age in seconds allowed for the Solumina Web Service terminal’s offline records in order to return the terminal to an online state.

OFFLINE_RECORDS_MAX_NUM defines the maximum number of offline records that the Solumina Web Service terminal can have in order to return to an online state.

These settings allow the Solumina Web Service terminal to go back online if it has offline records, provided the maximum age and number of these records does not exceed the threshold. If you do not use these settings, then the terminal may remain offline until all offline records are processed.

PING_SUPPORT

PING_SUPPORT needs be set to Enabled to ensure that the TERMINAL_MONITOR service will correctly update the Solumina Web Service terminal’s status, which will in turn affect the status of the Terminal Group.

When PING_SUPPORT is Enabled, the Solumina Web Service terminal will send a ping request to Shop Floor Time to update the terminal’s last communication time in the Terminal Monitor form (Last Comm to Server field in Communication Details). The TERMINAL_MONITOR service uses this last communication time to determine whether a terminal is online or offline. If PING_SUPPORT is not used or is set to Disabled, the TERMINAL_MONITOR service may not update the terminal status correctly.

 

Configure the Web Service’s Terminal Type Setting

In the Terminal Type form, make sure the Solumina Web Service terminal type has the TRIGGERING_OFFLINE_TERMINAL_TYPE setting of True. This setting will allow you to configure the Solumina terminal as a triggering terminal in a Terminal Group.

In a Terminal Group, the status of the triggering terminal is used by the TERMINAL_MONITOR service to set the status of the other terminals in the group. When the triggering terminal goes offline, the status of the other terminals changes to offline. Likewise, when the triggering terminal returns online, the status of the other terminals in the group changes to online.

Select the Web Service in the Terminal Type form and go to the Setting tab. If necessary, add the TRIGGERING_OFFLINE_TERMINAL_TYPE setting and make sure it is set to True.

 

Configure the Solumina Web Service Terminal’s Check Online Time Setting

Solumina will send Shop Floor Time punch data and/or ping requests that are marked Offline or Online. The interval between pings is configured in Solumina.

You need to make sure the Solumina Web Service terminal’s Check Online Time setting is greater than the interval between these pings. You system administrator can contact Deltek to obtain this ping interval.

A terminal type’s Check Online Time setting determines how often the terminal will perform a status check with the server. Note that if you are using the OFFLINE_CHECK_ONLINE_TIME and ONLINE_CHECK_ONLINE_TIME Terminal Profile settings, you need to configure these settings instead of the Check Online Time setting.

 

Configure the WSOAGIS_PROCESSEMPLOYEEWORKTIME Import Definition

The WSOAGIS_PROCESSEMPLOYEEWORKTIME Import Definition processes the ProcessEmployeeWorkTime BOD, which Solumina uses to send real-time transactions and quantity changes to Shop Floor Time.

You will need to modify the PING record in this Import Definition to specify the GID and DID of the Solumina Web Service terminal. The GID and DID are defined in the Terminal form. The PING record indicates which Solumina terminal will be sending transactions via this Import Definition.

If you have more than one Solumina terminal, you need to add a PING record to the Import Definition for each one.

To change the GID and DID of the PING record, select the PING record in the Destination Records tab of the Import Definition form. In the Record Value Map tab, change the Field Value of the DID and GID fields.

To add a PING record for another Solumina terminal, click Add in the Destination Records tab. For the Context Name, select Processemployeeworktime, and for the Record Name, enter a name for the PING field (e.g., PING2). In the XML Source Selector box, enter EmployeeWorkTime. You will also have to add Record Value Map records for the GID and DID of this terminal. The Field Value Type for these records is Static.

 

Define the Terminal Group

Make sure all terminals that will be in your Terminal Group have the Monitor box checked in the Terminal form.

You need to define a Terminal Group that includes the Solumina Web Service terminal and the InTeract Client terminals that you will be using to collect data. The Solumina terminal will be the triggering terminal in the group. When the Solumina triggering terminal goes offline, the other terminals in the group will also go offline. When the Solumina triggering terminal goes back online, the other terminals in the group will also go back online. All the terminals in the group will be set to online of offline status to ensure that the punch transactions coming from the different systems will be processed in order.

In the Terminal Group form, create a new Terminal Group. In the Group Member tab, add the terminals that will be in this group. Make sure you add the Solumina terminal you configured earlier. Also, make sure the Triggering Offline box is checked for the Solumina terminal. Make sure all terminals that will be in your Terminal Group have the Monitor box checked in the Terminal form.

 

Display the Terminal Group Information in Terminal Monitor

You can view the status of your Terminal Group and its members using the Terminal Monitor form. However, you will need to make these fields visible in your Form Profile.

To make these fields visible, select the Form Profile Name in the Form Profile form and click Find. On the left side of the form, select Web > Administration > Terminal > Terminal Monitor. On the right side of the form, go to the Resultset Fields. Move the Terminal Group Name, Group Status, and Group Member Status fields from the Available box to the Selected box. Click Save. You can also make the Terminal Group Name filter fields visible in the Selection Criteria section of the form.

 

Run the TERMINAL_MONITOR and OFFLINE_DATA_PROCESSOR Services

You will need to run the TERMINAL_MONITOR service to update the individual status of the terminals in the Terminal Group, and to update the Terminal Group’s status.

You will also need to run the OFFLINE_DATA_PROCESSOR service to process the offline punches that are in the Offline Data Queue.

How often you schedule these services to run will depend on your business needs.