Professional Documents
Culture Documents
0
Basic Interface Programming
Participant Workbook
Revision A
P/N 8604337-001
Version 8.0
The information in this document is subject to change without notice and should not be construed as a commitment by Kronos Incorporated. Kronos
Incorporated assumes no responsibility for any errors that may appear in this manual. This document is for the use of the intended recipient, and it
may not be reproduced in whole or in part or used for any other purpose than that for which it was provided without the prior written permission of
Kronos Incorporated. Copyright Kronos Incorporated or a related company, 2015. All rights reserved.
Altitude, Cambridge Clock, CardSaver, Datakeeper, Datakeeper Central, eForce, Gatekeeper, Gatekeeper Central, Imagekeeper, Jobkeeper
Central, Keep.Trac, Kronos, Kronos Touch ID, Kronos InTouch, the Kronos logo, Kronos Workforce Ready, My Genies, PeoplePlanner,
PeoplePlanner & Design, Schedule Manager & Design, ShopTrac, ShopTrac Pro, StarComm, StarPort, StarSaver, StarTimer,Timekeeper,
Timekeeper Central, TimeMaker, Visionware, Workforce Accruals, Workforce Central, Workforce Decisions, Workforce Express, Workforce Genie,
and Workforce TeleTime are registered trademarks of Kronos Incorporated or a related company. Altitude Dream, Altitude Pairing, Altitude PBS,
Comm.Mgr, CommLink, DKC/Datalink, FasTrack, HR and Payroll Answerforce, HyperFind, Improving the Performance of People and Business,
Kronos 4500, Kronos 4500 Touch ID, Kronos e-Central, Kronos KnowledgePass, KronosWorks, KVC On Demand, Labor Plus, Momentum,
Momentum Essentials, Momentum Online, Schedule Assistant, Smart Scheduler, Smart View, StartLabor, Start Quality, Start WIP, Starter Series,
Timekeeper Decisions, Timekeeper Web, VisionPlus, Winstar Elite, WIP Plus, Workforce Activities, Workforce Attendance, Workforce Collaboration,
Workforce Connect, Workforce Employee, Workforce HR, Workforce Leave, Workforce Manager, Workforce Mobile, Workforce MobileTime,
Workforce Payroll, Workforce Record Manager, Workforce Recruiter, Workforce Scheduler, Workforce Scheduler with Optimization, Workforce Smart
Scheduler, Workforce Tax Filing, Workforce Timekeeper, Workforce Analytics, Workforce Acquisition, Workforce View, Workforce Absence Manager,
Workforce Device Manager, Workforce Integration Manager, Workforce Forecast Manager, and Workforce Operations Planner, Workforce Task
Management, and Workforce TeleTime IP are trademarks of Kronos Incorporated or a related company.
IBM, eServer, and iSeries are trademarks of International Business Machines Corporation. StandardsPro® is a registered trademark of H.B.
Maynard and Company, Inc. Vortex and Vortex Mobile Scheduler Connect are trademarks of Vortex Connect. Citrix is a registered trademark of
Citrix. All other product and company names mentioned are for identification purposes only, and may be trademarks of their respective owners.
When using and applying the information generated by Kronos products, customers should ensure that they comply with the applicable requirements
of federal and state law, such as the Fair Labor Standards Act. Nothing in this Guide shall be construed as an assurance or guaranty that Kronos
products comply with any such laws.
These training materials are provided for general educational purposes and are not intended to convey legal, accounting, or regulatory compliance
advice. Such advice can only be obtained through your own attorney, certified public accountant or other qualified professional, with full knowledge
of your organization's particular operations, circumstances and policies. Readers are encouraged to consult with appropriate professional advisors
concerning their individual circumstances before making decisions affecting their business operations. Last updated March 18, 2015.
Kronos KnowledgePass™ subscription is designed to be your pre-training, post-training, and refresher skills destination. Kronos KnowledgePass
contains tutorials, learning snippets, job aids, and much more to support the training you receive from Kronos-certified instructors. Kronos
KnowledgePass education support materials stream right to your desktop and are all available 24/7.
To see if your organization subscribes to Kronos KnowledgePass, speak to the individual responsible for the Kronos solution at your organization. If
you are not a subscriber and you are interested in Kronos KnowledgePass, please give us a call at 888 293 5549.
Module 1: Introduction
Lesson 1: What is Workforce Integration Manager ..................................................................................... 1-2
What is Workforce Integration Manager? ............................................................................................. 1-2
Technical and architectural overview.................................................................................................... 1-3
Lesson 2: Installing Workforce Integration Manager ................................................................................... 1-6
Installing the software ........................................................................................................................... 1-6
Summary .............................................................................................................................................. 1-7
Course introduction
Welcome
Welcome to the Workforce Integration Manager Basic Interface Programming
course. Your instructor will take a few minutes for introductions:
Name
Organization and role
Responsibilities on the Project Team
Time line for your Workforce Integration Manager implementation
Kronos Product knowledge
Course objectives
After completing this course, you should be able to:
Execute interfaces in Workforce Central
Create simple interfaces using text files and databases as sources and
outputs
Create interfaces that extract data from Workforce Timekeeper
Create interfaces for importing data to Workforce Central
Set up and configure administrative tasks
Module 1
Introduction
Workforce Integration Manager is a complete tool set for creating interfaces for
Workforce Central and other applications. Your understanding of the basic
concepts of the tool set is critical to successfully using the various tools to create
an interface that completes the task at hand.
Module objectives
After completing this section you should be able to:
Describe the concept of an interface
Explain the three installation options for Workforce Integration Manager
Explain the two ways Workforce Integration Manager accesses a
database
Launch Workforce Integration Manager from the start menu
Lesson objectives
After completing this lesson, you should be able to:
Describe the components of Workforce Integration Manager
Describe what Workforce Integration Manager does
What is an interface?
An interface is a solution to a business problem that requires data transfer
between two systems:
Extracts data from a source and manipulates it into an output format.
Possibly involves a Kronos application such as Workforce Timekeeper, or
Workforce Activities, although other sources such as text files and SQL
queries are supported.
Has a destination (the output) for the data which can be a text file,
database, or even another Kronos application.
Architectural structure
The following diagram illustrates a simplified view of the architecture.
Source types
Workforce Integration Manager is intelligent in that it knows the description of the
data found in the typical Timekeeper Central and Workforce Timekeeper exports.
Text files and databases usually have documentation of the file layout available.
Output types
The Workforce Integration Manager tool provides several options for the format of
the output data. Some options include:
ADP
Database
Dual Field – ASCII
Lookup Table
Text File
Workforce Central Import
Workforce HR/Payroll Import
XML Document
Actions
The Workforce Integration Manager product can perform several types of
formatting and conversion processes, called Actions, on the source data:
Transferring the data from the source to the output
Parsing the source for substrings or subfields
Entering static (constant or literal) text
Prompting the user for values that are used in the output or in calculations
Validating user input against acceptable values
Looking up values from the source and replacing them by examining a
table of replacement values
Performing numeric and string calculations on source data elements
Totaling numeric values for inclusion in footer records
Counting output records
Running SQL queries to return values
Including dates and times
Defining a link
The general flow of defining an interface is:
1. Define the Source.
2. Define the Output.
3. Define the Records/Tables.
The installation wizards guide you through the process. Consult the Installation
Guide for details on installing the product.
Lesson objectives
After completing this lesson you should be able to:
Describe the installation options for Workforce Integration Manager and
Interface Designer.
Interface Designer
The details of the installation procedure are spelled out in the installation guide.
The following list of tasks is provided to give an overview and check list for the
actions that are required to install the software.
1. Load the install CD and run SETUP.
2. Specify the location for the install.
3. Launch Interface Designer and start developing interfaces.
What is installed
The installation process places the Interface Designer primary program files and
subdirectories for documentation and SQL scripts in the
\Kronos\InterfaceDesigner directory.
Knowledge check
Answer the following questions:
What three pieces of information are essential to any interface?
________________________________________________________________
________________________________________________________________
________________________________________________________________
Name three of the possible sources for a Workforce Integration Manager
interface.
________________________________________________________________
________________________________________________________________
________________________________________________________________
Name four supported destinations for a Workforce Integration Manager interface.
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
Summary
The key points of this section are summarized below.
Workforce Integration Manager builds interfaces that manipulate source
data into a format that is acceptable to a destination application.
Make sure that you clearly understand both the format and content
requirements of the destination.
Workforce Integration Manager can accept several formats of source data.
The Workforce Integration Manager system can perform several types of
data conversions, including lookups, calculations, user input validation, and
record counts.
Interface Designer is installed separately from Workforce Integration
Manager.
Module 2
Performing Data Integration Tasks
There are several tasks associated with data integration tasks in Workforce
Central. It is important to understand how to complete each of these tasks so that
the integration process proceeds smoothly.
Module objectives
After completing this section you should be able to:
Launch the Workforce Integration Manager application
Set the Working Directory
Run an interface
Load an interface
Edit an interface
Lesson objectives
After completing this lesson, you should be able to:
Run an interface and access reports associated with the interface.
Running interfaces
The runtime engine executes interfaces that are already configured. Executing
interfaces is the most frequently performed data integration task.
General Access Data Profiles, GDAPs, control access to interfaces.
Running an interface
Execute interfaces from the Run Interfaces workspace. Access the workspace by
selecting Run Interfaces from the Data Integration tab menu.
When the interface is run, the runtime engine secures an available thread and
opens the interface and all the included files. Then the processing begins. The
engine reads the source and creates output files, summary reports,
disqualification reports, and error reports.
Note
Any employee running an interface must have a Workforce Manager
license.
To run an interface:
1. From the suite home page, select the Data Integration tab, and then click
Interfaces.
2. Select the interface you want to run.
3. Set the runtime options if required.
4. Click the Run button.
5. Click the OK button.
Results of interface runs are stored in the database and are available for viewing.
Previous run information is available on the Interface Monitoring workspace.
Click the Cancel button to cancel an interface that is running.
Use the interface Monitoring workspace to monitor the interface that is running.
Tip
If users run an interface but do not have hyperlinks available on their
reports, there is a problem with their FAP (View Output Files
Displayed on IRS is disallowed).
The items that can be overridden depend on the source and output for the link. To
set the runtime options, select the interface, then select Set Runtime Options.
Recommended practice
Although it is possible to set overrides for an interface, it is generally
not a good idea. Edits should only be performed by users who have a
through understanding of how the interface functions and what effect
any changes may have.
Scheduling an interface
Interfaces can be scheduled to run using the Event Manager. Select the interface
you want to schedule, set any runtime options, and click the Schedule button. In
Event Manager, specify the schedule and the time frame.
The interface runs on the application server where it was originally scheduled. If
you need to direct an interface to a specific application server, use the API logon
to specify the server.
Reference
The Workforce Integration Manager User’s Guide provides detailed information
on running interfaces.
Knowledge check
What tab includes the ability to run interfaces?
________________________________________________________________
Is it possible to see the output from the last interface executed? How?
________________________________________________________________
Is it possible to edit tables associated with a link?
________________________________________________________________
Is it possible to edit all parts of the link with overrides?
________________________________________________________________
Can you schedule an interface?
________________________________________________________________
What license is required to run interfaces?
________________________________________________________________
Lesson objectives
After completing this lesson, you should be able to:
Create Function Access Profiles related to Workforce Integration Manager
Create Generic Data Access Profiles related to Workforce
Integration Manager
Create a mapped folder
Create a database or API connection
View a record retention policy for Workforce Integration Manager results
View and describe the system settings for data integration
System Configuration
Workforce Integration Manager has some critical global system settings
Workforce Integration Manager has several system settings that can be edited to
modify performance. To access the settings, go to System Settings in the System
Configuration group. Select from these options on the Data Integration tab:
Global settings
Performance settings
Date and time default interpretation
Date and time formats
Sorting options
Permissions for run commands in the interface
Consult on-line help for details
These setting provide a means to create your own DDL for the sorting database.
Specify your own data types and table name length
Note
The century divide setting is part of the Windows Regional Date
Settings. If the century divide is critical to the interface, it should be
handled in the interface.
Note
The century divide setting is hard-coded in Workforce Integration
Manager. If the century divide is critical to the interface, it should be
handled in the interface.
Creating GDAPs
Generic Data Access Profiles, GDAPs, allow you to control the Workforce
Integration Manager objects, interfaces, connections, and mapped folders that a
user sees.
Steps for creating a GDAP.
1. Access the GDAP workspace.
2. Click New.
3. Select the Data Integration Setup Category.
4. Select the setup item.
5. Assign the items to the GDAP. Repeat with other setup items.
Mapped folders
A mapped folder is simply a named shortcut for the path to a folder. For example,
the mapped folder, Payroll, represents the file path
C:\Kronos\WIM\Interfaces\Payroll. Mapped folders are used to specify the
location of source or output files.
Note
The path to the mapped folder must exist at runtime. Mapped folders
can refer to a path that does not actually exist when the mapped folder
is created. If an interface cannot resolve the location of the mapped
folder, the interface fails and returns an error.
Mapped folders are defined within the Workforce Central Setup area. There is a
new group called Data Integration that contains the option.
Tip
Use Windows Explorer to browse to the folder you intend to use as a
map. Copy the path in the address bar and paste it into the mapped
folder dialog box.
Recommended practice
Kronos recommends that you create a unique mapped folder for
each interface. This way, you’ll have a single location for the source
files and output files.
Connections
Database connections are defined within the Workforce Central Setup area.
Workforce Integration Manager uses JDBC connections to talk to databases.
Access for creating connections is controlled by a FAP. Access for viewing the
individual connections is controlled by a GDAP.
ODBC and OLE DB connections are used by DBView within the Interface
Designer. ODBC connections are created using the Windows tool. OLE-DB
connections are created by copying an existing OLE-DB connection file (*.UDL)
and editing the settings.
Note
Kronos provides JDBC drivers for the Microsoft SQL Server and
Oracle database applications. Drivers for any other database
applications must be provided by the user.
Recommended practice
Kronos recommends that you use the suprkron user for database
connections. This user has all the required permissions.
API connections should use the import user.
Testing connections
When you define a connection, you should use the Test button to verify that the
connection is defined correctly. The test results are displayed in the upper part of
the workspace. Errors are written to WFC.LOG.
Default connections
There are three default connections created during the Workforce Integration
Manager installation:
Connect to Sort Table
Default Database Connection
Default XML API Connection
If you overrode the assigned locale policy when you logged on to the
system, the connection parameters appear in the language that you
selected on the logon screen.
Recommended practice
To improve the efficiency of creating or upgrading interfaces, define
all mapped folders and connections in Workforce Central before
doing any work in Interface Designer.
Recommended practice
Kronos recommends that you set up record retention policies for
interface results.
Knowledge check
Answer the following questions:
Where are mapped folders created and edited?
________________________________________________________________
GDAPs control access to mapped folders and connections, true or false?
________________________________________________________________
Mapped folders are a shortcut to identify the ______ of a file.
________________________________________________________________
The Workforce Central installation creates default connects that Workforce
Integration Manager can use, true or false?
________________________________________________________________
Name two JDBC drivers installed by Workforce Integration Manager.
________________________________________________________________
Summary
The key points of this module are summarized below.
An interface is composed of one or more links.
The link has the location of the source file and output file stored as part of
the configuration.
The system automatically displays a summary of the actions taken in the
interface process. This summary is available from within Workforce Central.
Access to data integration tasks are controlled by FAPs and GDAPs.
Record retention policies can be configured for Workforce Integration
Manager results.
Database and API connections contain the logon and password data.
Module 3
Creating Text File to Text File
Interfaces
Interfaces involving text files for source and output are commonly used as part or
all of an interface. Using this basic concept provides a strong foundation for
learning many of the basic functions of Workforce Integration Manager.
Module objectives
After completing this section you should be able to:
Log on to Workforce Integration Manager Interface Designer
Explain the difference between an interface and a link
Change the Interface Designer password
Create a basic link and interface
Deploy and test an interface
Lesson objectives
After completing this lesson, you should be able to:
Explain the difference between a link and an interface
Define a source
Define an output
Define some basic transformations
Test a link
Overview
You use the Workforce Integration Manager Interface Designer to build the
interface and links that convert the source data to the destination format.
Step 1 Link_A.KNX
Step 2 Link_B.KNX Interface.KNI
Step 3 Link_C.KNX
Step 4 Link_D.KNX
The link editor window contains a series of tabs that indicate functional areas.
Some tabs will not appear unless enabled.
KnowledgePass
If you have a KnowledgePass subscription, you can also access the various links,
interfaces, and other source files referenced in this course.
General information
The General tab, allows you to set up some security and select additional
configuration options.
Note
If you use passwords on a link, record the password in a secure place.
If you forget the password, it can only be reset by following the
procedures established by Kronos Global Support. Contact your
support representative for more information.
Delimited format
Delimited files have a defined delimiter separating the values. Each data item is
identified by its order in the record. The following is an example of a
comma-delimited file:
123456,Jones,John,18 Mar 1960
456789,Smyth,Samuel,1 Jan 1950
789123,Abbot,Anabelle,4 Jul 1965
369852,Carson,Carlina,12 Dec 1970
Delimiters
Each external application has its own standards for delimiters. Common delimiters
are the tab (ASCII 009) and comma.
Note
Text file characters below 032 are non-printable and are by definition
not visible in printed output. If the file specification does not include
the delimiter information, you may need to view the file in an editor
that displays the hexadecimal character values.
Fixed-length format
Fixed-length files have a predefined number of characters for each value in the
file. Each data item is identified by its starting position and length. The following is
an example of a fixed length file:
123456 Jones John 18 Mar 1960
456789 Smyth Samuel 01 Jan 1950
789123 Abbot Anabelle 04 Jul 1965
369852 Carson Carlina 12 Dec 1970
Caution
If you create a link defined for a fixed length text file source, you
cannot change the text file type to delimited if the source changes.
You must redefine each of the actions for data elements, variables,
functions, and special lookup tables. Failure to do so will likely result
in incorrect output.
Recommended practice
It is generally a good idea to examine the source file if possible. This
allows you to verify the structure before getting too far into the
project.
Defining output
The Output tab is similar to the source tab in that the available options depend on
the Output Type that you selected.
ADP
Text file
Database
Dual Field - ASCII
Lookup Table
Workforce Central Import
Workforce HR/Payroll Import
XML Document
Many attributes for defining the output file format are similar in function to those
for defining a source file forma. Some attributes are unique.
Append records to any previous output file
Enable batch processing
No CRLF at the end of the file
Include Byte Order Mark (BOM)
Sort Output File
Defining Records/Tables
After you define the source and output for the link, it is time to provide greater
detail about the specific makeup of the output and how the data is transformed
going from source to output.
Use the Records/Tables tab to define the structure and detail.
Think of records as a complete chunk of data, such as a row in a database
table or a line of data in a text file.
Within the records are individual data elements that represent one piece of
information.
Data elements have formatting attributes and an action that specifically
defines the content of the field.
The window has two areas: the listing of records on the top, and the record detail
(data elements and qualifiers) of the selected record on the bottom.
Records
Data
Elements
Data elements
If you use batch processing functionality, there are additional interval options.
Note
Context menus provide additional options throughout the product.
Always check the context menus for available options.
Record intervals
Each record is defined to occur at a given interval. It is possible to have several
records in a link, each with different intervals, or several with the same interval.
The available intervals on the Records/Tables tab depend on the Source type
that was specified.
Text file sources have three options for the record interval:
Header
One record for each source record (detail)
Footer
The summary line displays some of the attributes of the data element.
Summary line
The view is a summary of some of the format information and the action.
The fields cannot be edited
You can double-click to edit the data element
You can use the context (right-click) menus.
Recommended practice
Try to obtain a sample of typical output. Analyze this in the same way
as the source file to determine the need for header records,
delimiters, field formats, etc.
Note
Text fields can contain numeric data such as an employee number. As
text, you can’t apply a batch total to the field or other numeric only
formatting, but otherwise text is acceptable.
Some destination applications want to receive all data as text. In this situation, the
destination application handles data type conversions.
Defining an action
Part of defining a data element is the formatting, the other part is defining the
action, or defining exactly what the content of the data element is.
The key point here is summed up in the question “Where does this field get its
data?”
The dialog box that appears next is determined by the action that you select.
When you edit an action, you must always complete the Field Action dialog box
first.
The most commonly used action is Transfer from source. This allows you to
specify exactly where in the source file the data originates.
Reports for such test runs are in the TestRuns folder that resides in the folder
specified for Run History Logs settings found in the Global tab in System Settings.
What actually happens is that the link is automatically deployed to the WFC server
with a unique name that includes a date stamp, processed by the runtime engine,
and then removed from the database.
Caution
Links must be saved before they can be tested. The testing process
temporarily deploys the link and any associated lookup tables to
Workforce Central for execution. Only the saved parts of the link are
deployed and tested. Any changes made since the last save are
ignored.
Sign placement
The following table summarizes the sign placement options for the values 123.45
and -98.76.
Option Format
Leading +/- Sign +123.45 -98.76
Trailing +/- Sign 123.45+ 98.76-
Use Space for + Sign 123.45 -98.76
Caution
Do not use this data type for a time of day! Times of the day are
usually expressed in either 24-hour format or with AM/PM indicators.
The HH:mm data type does not support these.
If you want to include a time of the day, use the Date/Time data type.
Handling errors
If Workforce Integration Manager encounters an error, such as having to truncate
a field to make it fit in the available space, it generates an error file and does its
best to make the data fit. If you encounter such errors, you may need to adjust the
formatting of the data element or the size of the field.
Access the error report via the IRS report. Analyze the nature of the errors and
take appropriate steps to solve the problem.
Knowledge check
Answer the following questions as a check of progress.
What five tabs are available for all links?
________________________________________________________________
What is the purpose of the password defined on the General tab?
________________________________________________________________
What formats are supported for a Text File source type?
________________________________________________________________
Explain a Recommended practice concerning text file source files.
________________________________________________________________
About actions
Actions are the second part of a data element.
This specifies the exact source of the data.
You can view Actions by double-clicking the Actions column or by selecting
Actions from the context menus.
There are several actions to meet interface needs:
Transfer from source
Static text
Formatted Numeric Value
Lookup table
Double lookup
Calculation
Batch data
Record count
Date table
Variable
Dates
SQL query
Probation table
Lesson objectives
After completing this lesson, you should be able to:
Create an interface from a link
Create a new interface
Deploy an interface
Deploying interfaces
Interfaces should be deployed before they are run from Workforce Central. The
deployment process copies all the link, interface, and lookup tables to the
application server. Links, interfaces, and lookup tables must be saved before they
can be deployed.
Links as well as interfaces can be tested within the Interface Designer.
Lesson objectives
After completing this lesson, you should be able to:
Define and use static text actions
Define and use lookup tables
Define and use batch totals
Define and use dates
Copy records and data elements
Specify the lookup data the same way as you did for Transfer from source.
Workforce Integration Manager uses the text from the source to search the lookup
column of the table for matching text.
If a match is found, the text or pattern from the return column of the table is copied
to the output field.
Default values
You can set up the lookup table to return a default value for the field by using a
wildcard character in the last row of the lookup.
You can also enable the default value from source in the dialog box to return a
value if the lookup fails. The value can come from:
A field in the source file
A variable
Static text
Lookup logic
Workforce Integration Manager searches lookup tables from the top down. When
a match is found, the lookup process terminates and the next process begins.
Workforce Integration Manager does not continue searching down the
lookup table for a better match.
Place the most frequently found lookup values near the top of the table.
Remember to place wildcard values after any explicit values.
Lookup values
There are three special characters used in the lookup column. These act as
wildcard characters.
Character Description
? This represents any single character.
* Represents any number of characters.
! Represents the escape character. Whatever follows the ! is taken
literally and not interpreted as a wildcard.
Lookup order
The following sequence demonstrates the proper sort order for wildcard entries:
2?????
??1???
????4?
??????
12*
*
Return values
The following table describes the possible wildcards in the return column.
Character Description
? Replace with character in lookup text.
! The next character is taken as a literal and is not skipped in the lookup
text.
~ Skip a character in the lookup text.
Other characters, A–Z and 0–9, etc. are simply substituted based on their position
in the string in the return column.
Note
If you are using extended wildcard characters, and you want to look
up one of the wildcard characters, you must precede it with an
exclamation point (!).
Rule.TBL Sal.TBL
Salaried Sal.TBL REG E-REG
Hourly Hour.TBL OT E-REG
WEREG E-REG
WEOT E-REG
Hour.TBL
REG H-REG
OT H-OT
WEREG H-REG
WEOT H-OT
The following figure illustrates the case where the text is used as the lookup value
in the second table.
Table1.TBL Table2.TBL
EmpNum SSN SSN PRID
1234 111-22-3333 111-22-3333 A14723
5678 555-66-7777 555-66-7777 B98745
You have complete control over the values that are used for the lookup:
Default values if there is a failure
Case sensitivity
Subfields
Note
Only Numeric or HH:mm data types can be used in batch totals.
The drop-down list contains all of the data elements that have the Enable Batch
Total option selected. If the list is empty, go back and verify that the check box is
selected.
Record count data elements can be text or numeric. They can have any of the
formatting described earlier.
If the Interface Designer client, the Workforce Central application server, and the
database server are all in the same time zone, the differences, if any, are likely to
be minimal. However, if any of the three sources are located in a different time
zone, the differences could be significant.
The selected date action inserts the system date from the appropriate source.
Date format Date/Time format strings appear in the Output Field
dialog box.
When dates are used as an action, Workforce Integration Manager sets the
format to the format specified in the system settings.
When you use the system date as part of a calculation, there an additional dialog
box appears that allows you to further format the date.
Caution
Be careful that you only apply Date/Time format strings in one place;
otherwise, Workforce Integration Manager will format the date twice
and produce questionable results. If your dates are not correct in the
output, verify that you applied Date/Time format strings in one
location only.
Workforce Integration Manager does not let you make inappropriate copies such
as data elements to records.
When you are copying in this manner, the icon changes to indicate that a copy is
in process.
This is the copy icon .
This is the illegal copy icon
When the copy is complete, the copied record appears in the destination link.
Copying within a link uses the same procedure.
Click and
drag
Click and
drag here
The record summary is excluded from this functionality due to its unique nature
and correlation between the records and the data elements.
After you select multiple items, you can delete or move them. Use the tool bar or
context menus to perform a move.
Delete is only available through the context menu.
Knowledge check
Answer the following questions:
What does a record represent?
________________________________________________________________
What is a data element?
________________________________________________________________
Name the three basic record types.
________________________________________________________________
Are all three record types required in all links?
________________________________________________________________
Is it possible to rearrange data elements? [Yes] How?
________________________________________________________________
Field definitions (data elements) are composed of two parts. Name them.
________________________________________________________________
Name six of the possible actions.
________________________________________________________________
Lookup tables are used for what purpose?
________________________________________________________________
Can a lookup table be edited from the Workforce Integration Manager tool?
________________________________________________________________
What tasks must be completed to use a batch total?
________________________________________________________________
Summary
The key points of this section are summarized below.
The Workforce Integration Manager Interface Designer builds the template
that is used to convert the source file to meet the requirements of the
destination file.
The configuration settings are on separate functional tabs.
The appearance of the tab may vary depending on the selections made.
Text file sources can fixed and delimited formats as well as different
encodings.
Text file output can be delimited or fixed length.
Text file output can be encoded in different formats.
Records are composed of several data elements strung together.
Any given output can include header, detail, and footer records.
The contents of each record are highly flexible.
Any given data element is composed of its formatting and actions.
There are several possible actions that can be applied to the data source
for any given data element.
Transfer from source varies depending on the source type.
Lookup tables provide a way of translating one value to another.
Lookup tables can be case sensitive.
It is possible to default a value if a lookup value is not found.
Wildcards can be used in a lookup table.
Double lookups return a value based on two lookup items.
Record counts can have an adjustment factor.
Module 4
Using Variables, Calculations, and
Qualifiers
Variables, calculations and qualifiers are important tools in the Interface Designer
application. They each bring special functionality for creating interfaces.
Module objectives
After completing this module you should be able to:
Create a variable
Use a variable in a link
Create a simple numeric calculation
Create a simple string calculation
Create a qualifier
Lesson objectives
After completing this lesson you should be able to:
Create a variable
Assign an action to a variable
Associate error messages with a variable
Use a variable in a link
Overview
Variables allow you to extract and manipulate data in much the same way as with
data elements.
Variables store a value so that it can be used multiple times in a link and interface.
They also have additional functionality that make them a valuable tool when
creating an interface.
After you define a variable, it becomes available as one of the selections
whenever you select Variable as the action.
Typical examples of variable use are:
Storing a value so that it can be used multiple places in the output
Uniquely identifying output
Storing mapped folder and connection information
System variables
Defining variables
To access the Functions and Variables tab, you must select the option on the
General tab of the link.
Variable names:
Note
Variables can also be defined from the Records/Tables tab.
Note
The available execution intervals are dependent on the Source type
selected on the Source tab.
The interval you select for the variable depends on the purpose of the variable:
Use Preopen for values that will not change while the interface is running.
Use Preopen for any variables that use Prompt User as the action.
Use Preprocess for values that will not change while the interface is
running but do not need to be used on the source tab. These values can be
read from the source file.
Use detail for values that need to be evaluated every time a source record
is read.
Use Postprocess for cleanup tasks.
Data types
Workforce Integration Manager supports the following data types for variables:
Text
Numeric
Date/Time
HH:mm
Recommended practice
If your link includes multiple connections or mapped folders, use a
variable to store the value. Then if you need to change the
connection or mapped folder, you only need to change the value of
the variable.
Variable actions
Variables also have an Action that indicates where the variable gets its data.
Behaves like the action for data elements
Has many of the same options
Can be reused either as a part of the output data, a SQL query or in
calculations.
Additional Qualifier Action
Available actions dependent on Source Type
Note
Recall that Preopen variables are limited to selected actions.
Prompt User actions can only be defined on a Preopen interval in a
variable.
Caution
Because the variable used as part (or all) of the output file name is
not selected from a drop-down list, it must be spelled correctly!
Remember that variable names are case sensitive!
The variable name, including the colon, is typed between angle brackets, <>. It is
important to type the name exactly as it is defined, otherwise, it will be evaluated
as a blank.
If the variable is defined as :Output file name, then the text on the output tab
would be <:Output file name>. The variable can be part or all of the output
file name.
Note
Any value for the variable must conform to the allowable file names for
your operating system. For example, do not use forward or backward
slashes, they could lead to problems.
If you attempt to execute a link with a variable in the output file name and the
variable is not defined as having a preopen execution interval, you will receive an
error message.
Recommended practice
Always enter prompting text when defining a prompt user action. This
makes the request for the prompted data much clearer and less
prone to errors.
Prompt validation
If you want to validate the entries against a list of values in lookup table, you are
prompted for the name of the table.
If no validation is necessary, the user is prompted for the information and
whatever value they enter is accepted.
Pick list
A pick list presents a pre-defined list of acceptable entries for the prompt. You are
limited to selecting a value from the list. Free text entry is not an option.
Lesson objectives
After completing this lesson you should be able to:
Create a calculation using string data
Create a calculation using numeric data
Create a calculation using Boolean operators
Overview
Calculations provide a way to manipulate numeric and string data and make
decisions based on the results. Some typical calculations include:
Reordering and concatenating name parts
Building strings of data from multiple data elements such as labor level
combinations
Performing arithmetic on numeric values such as multiplying wage rates
and hours worked
Conditional calculations
Rounding
Math
The first group is the math operators. These are used to perform numeric
calculations such as multiplying hours and wage rates to get total wages.
Assign value
Add
Multiply
Subtract
Divide
Round
Modulo
Strings
The next group of operators is used for string manipulation.
Assign string
Build string
Left String
Right String
To Uppercase
To Lowercase
Trim Left
Trim Right
Add Character
Search
Substring
Length
Reverse
Replace
Booleans
Boolean comparisons allow you to make complex If … then…else… statements.
In String
IF == (If equal)
IF != (if not equal)
IF > (if greater than)
IF < (if less than)
IF >= (if greater than or equal)
IF <= (if less than or equal)
FAIL
Time math
Time operators provide methods for manipulating times or time spans.
HHmm/HH:mm to HH.hh
HH.hh to HHmm/HH:mm
HHmm to HH:mm
HH:mm to HHmm
Fraction of a day to HH.hh
Understanding operands
Operands are the data manipulated by the operators. The data can come from
any of the actions discussed so far.
Most operators require two operands.
Some operators do not require a separate operand. The operand is considered to
be the current value of the calculation. Examples include:
To Uppercase
To Lowercase
Trim Left
Trim Right
Length
Building calculations
Calculations are built in a series of steps with operators and operands. The
general steps for building a calculation are:
1. Assign an initial value.
2. Build on it.
Note
All calculations must begin with an Assign String or Assign Value
operator! This initializes the calculation. From this point you can
perform math operations with numeric values and string operations
with text values. For Boolean operations, the Assign String/Value
operator loads the left side of the comparison.
Calculation GUI
The calculation window contains two panes.
The left pane displays a tree view of the calculation. The right pane is the working
space where the calculation is built, one step at a time.
There are additional areas for comments and labels for calculations on different
levels. Comments and labels help to identify what a particular calculation is doing.
This especially helpful when a calculation contains other calculations.
Calculations that involve arithmetic work with numeric values must begin with an
Assign Value operator.
After you assign an initial value, you can perform other arithmetic on that value.
Workforce Integration Manager keeps updating the value for each operation.
Add “4” 9
Multiply “2” 18
Divide “6” 3
Note
Workforce Integration Manager sees all incoming data as a string of
characters. Numbers are seen as a string of digits. If you want to use
any of the above operators, you must convert the text to a numeric
value by using the Assign Value operator. If you attempt to perform
any arithmetic without first using Assign Value, the results may not be
what you expect.
Round
You can use the Round operator in any numeric calculation. You can choose to
round the decimal part of a number to a specified number of decimal places. The
number of decimal places can range from 0 to 15.
Modulo
The Modulo operator returns the remainder of a division.
Requires two operands
First (left or dividend) operand is the current value of the calculation
Second (divisor) operand is supplied using the typical list of actions
Usually a static text value
The two operands are not limited to being integers
Decimal values are allowed
Operator Description
Left String (n) Returns the left most <n> characters of the current string. The
dialog box allows you to specify the number of characters.
Right String (n) Returns the right most <n> characters of the current string. The
dialog box allows you to specify the number of characters.
To Uppercase Converts the current string to uppercase. Punctuation and numeric
characters are ignored.
To Lowercase Converts the current string to lowercase. Punctuation and numeric
characters are ignored.
Trim Left Removes all leading blanks from the current string.
Trim Right Removes all trailing blanks from the current string.
Add Character Adds a character to the string the specified number of times. The
dialog box allows you to specify the character, the number of times
to add it, and options to add to the beginning (left) or end (right) of
the existing string.
Substring Extracts (returns) a range of characters from the string stored in the
calculation beginning with a starting position and for a specified
length of characters.
Search Searches for a substring within the string stored in the calculation
and returns the starting position of that search string if it is found.
This changes the calculation to a numeric value.
Length Returns the length of the string stored in the calculation. This
changes the calculation to a numeric value.
Reverse Reverses the order of characters in the string stored in the
calculation.
Replace Searches for a substring within the string stored in the calculation
and replaces the substring with another string.
You can include numeric characters in the building of a string. They are simply
concatenated with the existing value.
Operator Description
In String Determines whether or not string A is contained in string B
IF == If equal
IF != If not equal
IF > If greater than
IF < If less than
IF >= If greater than or equal
IF <= If less than or equal
The Boolean calculation process differs from the calculations described so far.
The basic calculation steps are:
1. Use Assign Value or Assign String to initialize the comparison.
2. Perform any further numeric or string functions. This stores the assigned
value/string in the “left” side of the comparison.
3. Select the Boolean operator.
4. Describe the source of the data that is used for the “right” side of the
comparison. This is any of the actions described in this guide.
5. Decide what action is taken next.
6. Click OK.
The ability to return with another calculation based on the truth of the comparison
is a very powerful feature. You can “nest” calculations to perform complex
combinations.
When a Boolean is used in a calculation, there are four options based on the
result of the comparison.
Return with another calculation
Return left side of the comparison
Return right side of the comparison
Return as failure
Return as field failure
Note
Workforce Integration Manager performs each comparison in the
order listed. When a comparison is found to be true, Workforce
Integration Manager performs the option selected and stops looking
for further comparisons.
The second option is to create a variable with identifying information from the
source record and reference that variable in a second variable that tests for
possible errors.
Note
The location of the Error.XML file is in the ServerRuns or TestRuns
folder depending on the application from which the interface was
executed.
Recommended practice
Configurable error messages are very helpful in accurately
diagnosing errors. Use this feature as often as possible to make links
easier to use.
The order of the two variables in the Functions/Variables tab is important. The
message must be built before the test is evaluated.
Operator Description
HHmm/HH:mm to HH.hh This operator takes a variety of input values and converts
them from hours and minutes to hours and hundreths of
hours.
HH.hh to HHmm/HH:mm This operator takes values of hours and hundreths of
hours and converts them to hours and minutes.
HHmm to HH:mm This operator converts hours and minutes without a colon
to hours and minutes with a colon.
HH:mm to HHmm This operator converts hours and minutes with a colon to
hours and minutes without a colon.
Fraction of minutes to This operator takes the result from the previous
HH.hh calculation and multiplies it by 24.
These operators all need to work with numeric values, so any calculation using
them must begin with Assign Value.
You can apply other calculation operators to the converted value.
My notes on calculations
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
Lesson objectives
After completing this lesson, you should be able to:
Create a simple qualifier
Use the qualifier in a link
Overview
Qualifiers attached to records allow you to include or exclude records on an
individual basis depending on the contents of the record.
Options available differ with the source
Separate qualifiers are available for each of the records in a link
Equality comparison
Choice to qualify or disqualify
May be disabled for testing
Multiple qualifiers are supported
Listed in summary fashion
Creating qualifiers
Qualifiers are located on the Records/Tables tab next to the Field Definitions tab.
When multiple qualifiers are present, they are evaluated top to bottom, individually
without regard to any other qualifiers in the list, according to the following rules:
When Workforce Integration Manager finds the first TRUE qualifier that
Qualifies a record, it continues to evaluate the remaining qualifiers in the
list.
When Workforce Integration Manager finds the first FALSE qualifier that
Qualifies a record, Workforce Integration Manager no longer examines
other qualifiers. It skips the record and examines the next record.
When Workforce Integration Manager finds the first TRUE qualifier that
Disqualifies a record, Workforce Integration Manager no longer examines
other qualifiers. It skips the record and examines the next record.
When Workforce Integration Manager finds the first FALSE qualifier that
Disqualifies a record, it continues to evaluate the remaining qualifiers in
the list.
Qualify Disqualify
TRUE Continue Stop
My notes on qualifiers
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
Knowledge check
1. Complete the following statement: “All calculations begin with
___________________________________________________ _____________
2. Does Workforce Integration Manager support parenthesis in math calculations?
________________________________________________________________
3. What are the four options for a Boolean calculation?
________________________________________________________________
4. Explain the purpose of qualifiers.
________________________________________________________________
5. What character do variables begin with?
________________________________________________________________
6. Can variables be used as part of the output file name? If so, are there any
restrictions?
________________________________________________________________
Summary
The key points of this section are summarized below.
Calculations provide power to make complex If… then… else…
statements, perform string manipulations, and arithmetic.
Calculations are composed of operators and operands.
Qualifiers are available to include/exclude records based on the
comparison of two data elements.
Variables begin with a colon.
Variables can be used to store a value which can be reused multiple times
or when the record the value originated from is no longer available.
Variables can also be used as qualifiers.
Module 5
Exporting Data from Workforce
Timekeeper
Workforce Integration Manager is designed to have a special relationship with
Workforce Timekeeper for the purpose of data extraction. This can save you a
great deal of time when creating interfaces with Workforce Timekeeper as the
source.
Module objectives
After completing this section you should be able to:
Create links to extract data from a Workforce Timekeeper source
Create batch output from Workforce Timekeeper
Configure the Interface Results Summary report
Lesson objectives
After completing this lesson, you should be able to:
Explain the use of record intervals
Create a simple Workforce Timekeeper extract
Configure the content of the Interface Results Summary report
Source options
Workforce Integration Manager accesses the Workforce Timekeeper database
through a series of predefined SQL queries.
The Workforce Timekeeper source type provides several options:
Select the pay period
Ignore signoff
Output daily records
Include only active employees
Accrual extract options
Specify the decimal precision
Use the Payroll Prep options in Workforce Timekeeper
Modify parts of the SQL query
Select options for jobs
Include or exclude Accrual an Overtime Equalization options
Include or exclude historical edits
Some of the options are found on the Source tab, others are elsewhere in the
interface.
Create records on different intervals
Batch processing options
Connections
To extract data from Workforce Timekeeper, you need to identify the database
server by defining a database connection. When you perform an accrual extract,
you need to supply an API connect name as well.
Pay periods
Workforce Integration Manager provides three options for selecting the pay
period:
Previous
Current
Range of dates
Historical edits
The historical edits options allow you to specify whether to include historical edits
in totals. Historical edits are entered in the current pay period and adjust an
amount in a signed-off or locked pay period.
Exclude HE: include only actual totals, do not include totals that result from
historical edits.
HE only: include only totals that result from historical edits.
Include all: include all totals, actual totals and totals that result from
historical edits.
Note
Over 90% of Workforce Central interfaces use the One record for
each pay code worked interval.
Sub fields
Selected Workforce Timekeeper data consists of multiple pieces of other data.
Subfields extract the individual pieces of data.
One example for Workforce Timekeeper is the Home Account field which is
composed of several labor levels. If you wanted only the second labor level, you
would select subfield 2.
The list of items that have multiple pieces of data supporting subfields is detailed
in the following table.
Note
The date used in lookup is the hours worked date for both Workforce
Timekeeper and Timekeeper Central. This limits the use of the Date
Table action to only Workforce Timekeeper or Timekeeper Central
sources. It also requires that the hours worked date be correct. This is
possible only if records are generated for each day and not summed
for a range of dates.
The Date Table is used to look up two pieces of information and return a result.
The first piece of information is just like any other lookup table. It is usually some
data from the source file. The second is an effective date. A typical example is for
payroll changes in the middle of a pay period.
The date table is arranged with the lookup values grouped and future dates at the
top within each group.
The columns are the lookup value, the effective date, and the return value. In this
example the lookup value is labor level 2 and the return value is a rate.
The lookup column is treated like any lookup table. It is searched downward
looking for a match. When a match is found, Workforce Integration Manager looks
at the column specified for the date value that is on the same row as the matching
lookup. If the date in the table is after the Hours worked date, the row is ignored,
and Workforce Integration Manager drops down to the next row.
If the date in the table is equal to or before the Hours Worked date, the value in
the return column is sent back and the lookup terminates.
Caution
It is important that the table be structured with the lookup values
grouped and the date values sorted with the future dates at the top of
each group.
Note
The date used in lookup is the hire date for Workforce Timekeeper or
the hire date stored in a custom string for Timekeeper Central. This
limits the use of the Probation Table action to only Workforce
Timekeeper or Timekeeper Central sources.
These are combined vertical and horizontal lookups. It is typically used to define a
return value based on the employees length of employment. Because Workforce
Integration Manager calculates the length of employment based on the hire date,
this option only works with Kronos applications where Workforce Integration
Manager has the hire date information. The following table illustrates the structure
of a probation table.
30 60 90
101 10.00 11.00 12.00
102 10.50 11.50 12.75
201 10.25 10.50 10.75
202 10.25 10.75 11.50
The vertical lookup is identical to a regular lookup table. You specify the field from
the database or variable to look up. Wildcards are acceptable
The horizontal lookup is a time interval expressed in days or months. These must
be arranged in increasing value from left to right. As mentioned earlier, the time
interval is calculated by subtracting the hire date from the hours worked date.
The lookup column is the first column of the table. It is searched, top to bottom, for
a match. When a match is found, Workforce Integration Manager searches the
selected row for the first column that contains a day or month span value that is
greater than the difference between the hire date and the worked date. The return
value is at the intersection.
Another way to think of the Probation Table columns is that the column labeled
“60” returns the value for someone employed fewer than 60 days but more than
30 days.
Month designations are defined as the number of months between the hours
worked date (which could be defined as the pay period end date if daily records
are not preserved). The hire date is based on calendar month. There are no
fractional months. Here are some examples.
Qualifying records
The next step in the process is to create some variables to assist in qualifying the
records that have a weekly pay period.
The first variable should return the length of the pay period from the lookup table.
The second variable should act as a qualifier and disqualify all records that do not
have a pay rule with a weekly pay period.
If the link is configured with the Use Jobs option on the Source tab, you can select
Job for the Compute Totals By option.
The Use option provides choices for creating totals for only the selected Labor
Level, or for the full Labor Account from Labor Level 1 through the selected labor
level.
If you are computing totals by Labor Account or Job, only account/job interval
records will be presented for selection. If you are computing totals by pay code,
only pay code interval records will be presented for selection.
If the records being totaled have fields of the same name, their totals will be
summed together.
Lesson objectives
After completing this lesson, you should be able to:
Create an employee extract from Workforce Central
Employee extracts
The “One record for each employee” execution interval is useful for extracting
data related to the employee regardless of pay period. Examples include:
Profile information
Custom dates and data
Hire date
The source is defined exactly the same. The key to getting one record per
employee is to select the correct record creation interval.
ID vs. number
There is often confusion on the difference between Employee ID and Employee
number. Both are numbers but each has a very specific role in the database.
Value Description
Employee ID Assigned by the system as employees are entered. This
number cannot be edited using the Workforce Timekeeper
GUI. It is the same as the person ID
Employee Number Assigned by the human resources or payroll department when
the employee record is created. This number can be edited,
although it must be unique for each employee.
Employee badge Assigned by the human resources department if badges are
number used. It can change each time an employee gets a new badge.
Accruals extracts
Another common extract is accrual information. The typical output is one record
for each accrual code. Consequently, an employee may have several lines in the
output.
Select the “One record for each Accrual code” option for the “Record Creation
Interval”.
The accruals data is found in the Transfer from source drop-down list near the
bottom of the list.
Summary
Remember the following key points:
Workforce Timekeeper uses SQL calls to extract data from the database.
Workforce Timekeeper sources have several configuration options for
selecting data.
Workforce Integration Manager supports different intervals for creating
records for Kronos sources.
Subfields can be used to easily extract parts of Kronos source data.
There are special tools for creating pay code lookup tables.
The Interface Run Summary report can be configured to display source and
output totals for pay codes.
Workforce Integration Manager provides record intervals for extracting
employee and accrual information from Workforce Central.
Module 6
Using Database Sources and
Destinations
Databases are another typical source and destination for integration. It is
important to understand the similarities and differences that these have with text
files as sources and destinations.
Module objectives
After completing this section you should be able to:
Create an interface with a database as the source
Create an interface with a database as the output
Use the SQL query action
Define a special lookup table
Use a special lookup table in a link
Lesson objectives
After completing this lesson, you should be able to:
Define a SQL Query source type
Workforce Integration Manager can extract data from databases, with the
requirement that there is a JDBC compliant driver to define the connection.
Recommended practice
Perfect the query in a SQL editor, and when the query returns the
data you want, copy and paste it into Workforce Integration Manager.
Recommended practice
Do not use a wildcard in the select statement!
SELECT * from Employee
This returns all of the columns in the Employee table. This may be
many more columns than you need for the query. By not specifying
the names of the columns, you do not know which field number to
associate with each column.
Lesson objectives
After completing this lesson you should be able to:
Define a database output type
Steps
Steps to define a link that creates database output:
1. Create the database connection.
2. Complete the Output tab.
3. Define records and data elements. Records must use the table name.
Data elements must use column names.
On the output tab you must supply the connection name.
Spelling counts!
Important considerations
You need to understand how the database output you create is used by the
destination application. You also need to understand the rules that apply to the
table.
Does the table need to be emptied before it is populated?
What application is responsible for emptying the table?
Is the table dropped and created each time it is populated?
Defining functions
Functions differ from variables primarily in that they usually perform a SQL task.
Functions can begin with any character except a colon (:).
Typical functions include:
Deleting rows in a table
Creating a temporary database table
Dropping a temporary database table
The selected function leads to a dialog box. In the case of clearing the employee
import table, a SQL query is necessary.
Note
Functions and variables are evaluated first according to their defined
interval. Furthermore they are evaluated according to their position in
the list. Therefore it is possible to define a variable and use the result
in a later function or variable as long as they are placed in the proper
order in the list.
Emptying tables
If the interface specification calls for deleting all rows in the table before
populating it, you can use a SQL statement to perform this task.
The SQL statement is usually preformed as a Preopen function. Functions are
defined on the Functions and Variables tab.
The SQL statement to empty a table is:
Delete from tablename
Note
Depending on the database, the login may require special rights to
delete rows in a table. This privilege is sometimes reserved for the
database administrator.
Note
You should not use a SQL query action to retrieve data for a detail
type interval. This generates one SQL call for each record in the
source and places an extra burden on the database server
responding to the request. Try using a special lookup table instead.
Lesson objectives
After completing this lesson you should be able to:
Create a special lookup table using a SQL query
When you define a special lookup table, it is available for any actions that use the
different types of lookup tables:
Lookup table
Double lookup
Date table
Validation tables for user prompts
The data for the special lookup table can come from any of the supported source
types.
The SQL Query can retrieve the data from any JDBC-compliant source; it’s not
limited to the same database as your link source.
The fields of the dialog box vary with the source selected.
.VAL
All of the sources except SQL Query will produce a single-column table. The
selections are similar to those available in the Transfer from Source action. You
identify the data item that you want to include in the table. The tables are named
NAME.VAL. You can enter the table name in the appropriate lookup dialog box by
typing it in with the .VAL extension.
.CS
SQL Query Source type produces a table that can have multiple columns
depending on the columns included in the SELECT statement. Tables created by
a SQL Query also only exist in memory while the link is running. The tables are
named NAME.CS. You can enter the table name in the appropriate lookup dialog
box by typing it in with the .CS extension.
Knowledge check
Answer the following questions.
What does a record in a database represent?
________________________________________________________________
Can a SQL query source type and a Database output type use the same
connection?
________________________________________________________________
In database output, the name of the record must be the same as ________. Fill in
the blank.
________________________________________________________________
In database output, the name of the data element must be the same as ________.
Fill in the blank.
________________________________________________________________
Do SQL queries as actions have to query the same source as the rest of the data?
________________________________________________________________
Summary
The key points of this section are summarized below.
Perfect SQL queries in a SQL editor before copying them into Workforce
Integration Manager.
The order of the fields in the source SQL query defines the field number
used to identify the data.
Never use SELECT *!
Specifically name each field in the source SQL query.
For database output, the record name contains the table name, and the
data element contains the name of the column.
Use functions to create, drop, and delete tables.
Do not use a SQL query action in a detail level action.
Special lookup tables provide additional sources of runtime data.
Module 7
Creating a Pay Code Edit Import
Workforce Central APIs are the preferred method of importing data. Workforce
Integration Manager provides a platform for generating XML that automates much
of the process.
Module objectives
After completing this module you should be able to:
Describe some typical reasons for importing data
Name two benefits of using the API import process
Describe the API import process
Create a pay code edit import
Identify required fields in the import
Change a choice field
Include optional data in the import
Clean up errors in the Transaction Assistant
Prepare the link for production use
Lesson 1: Overview
Understanding the general API import process is an important first step in creating
successful interfaces for importing data into Workforce Central.
Lesson objectives
After completing this lesson, you should be able to:
List the benefits of using API import
Outline the basic import process
Understanding Imports
Today’s business uses a variety of systems. Each system does its particular job
well, but one system cannot do everything. Sometimes, data needs to pass from
one system to another.
Importing data poses several advantages:
Eliminates duplicate entry
Data is available where it needs to be in less time
Provides business logic validation
Import choices
Workforce Central provides two methods for bringing data into the system.
Providing APIs that understand XML and verify and import data in a single
process.
Providing database import staging tables with utilities for processing data
for import.
The single process nature of the API process makes the import task much easier
and faster. The ability to read and interpret XML files provides flexibility for the
source of those files.
Any application that can create valid XML that follows the rules for the Workforce
Central APIs can create the import files.
Note
Workforce Integration Manager produces the XML required by the
API. However, it is still your responsibility to understand the API
requirements of the import transaction.
2. The API validates the data and puts it into the database. The API uses the
same business logic to validate the data that is found in the Workforce
Central GUI. Correct data is processed into the appropriate database
tables.
3. Workforce Central updates the import statistics so reports can be
generated.
4. Any invalid data rejected by the API is returned to Workforce Integration
Manager with an error message, which in turn ends up in the interface
error report.
5. Invalid data returned to Workforce Integration Manager is resubmitted to
the FailedXML API as a failed transaction. If Workforce Integration
Manager has the option to submit errors to the Transaction Assistant
turned on, Workforce Integration Manager will generate another XML
transaction that is routed to the Failed XML queue.
6. The Transaction Assistant is used to correct invalid data and re-send it to
the API. It reads failed XML data from the queue. The Transaction
Assistant is not part of Workforce Integration Manager; it is part of
Workforce Central.
7. Any errors found by the Transaction Assistant are submitted directly to
the API. Data without errors is processed and updates the database.
Errors are sent to the FailedXML API, which update the database and the
cycle continues.
Lesson objectives
After completing this lesson, you should be able to:
Create a pay code edit import
Use a choice field in an import
Preview API import data
In all cases, the data must be brought into the Workforce Timekeeper system for
further processing and storage.
Workforce Integration Manager can read this data, format it, and send it to
Workforce Timekeeper via the API. The API then validates the data and stores it
in the appropriate tables in the database.
This scenario provides a good introduction to the Workforce Central Import
methodology found in Workforce Integration Manager.
Example
Acme Corporation has a web application written by their programming staff that
allows employees to enter their time in a simple way. The data is stored in a
proprietary database. The application also provides some standard exports from
the database to comma-separated text files.
Acme Corporation does not want to make the employees change the way they are
entering their time. The company does want to take advantage of using Workforce
Timekeeper as the final destination for the employee’s data.
To do this, you will need to create an interface that uses the standard export as
the source and sends the data to the correct Workforce Central API so it can be
stored as pay code edits in the Workforce Timekeeper system.
As a preliminary step, you should obtain a file layout diagram of the source file.
Make sure it is accurate and includes a sample or test file that you will use during
the interface development process.
Updating schemas
The list of database versions is read from the available schemas. If you do not see
the correct version listed, you should import the schema from Workforce Central
Follow these steps to update the schema:
1. On the menu, select Admin > Update Schema Definition.
2. Supply the name of the Workforce Central application server.
3. Click Update schema now.
4. Optional. Select Enable automatic updates.
Schema updates are issued with Workforce Central service packs. Any given
service pack may or may not contain a new schema.
Selecting an action
The Action field identifies the operation that is performed on the Data type. It is
part of the task of defining the record.The available actions vary with the Data
type that is selected. The following table describes the actions for a Pay Code.
In this case, you are adding pay code edits to the Workforce Timekeeper system.
The only action that applies is AddOnly
The available actions are different for each Data type.
Often, but not always, the actions are equivalent to the request codes used for
table imports in previous versions of Workforce applications.
Note
The version of Workforce Timekeeper you select determines what
options are available to you on the Records/Tables tab. Workforce
Integration Manager gets this information from XML schema files.
Automatic naming
You must enter a name for a record. The name can be any text value. If you do
not enter a name and click OK, you will see a message that offers to default the
record name to the value of the Data Type.
Recommended practice
Name your records descriptively, for example, Add Pay Code Edit.
This makes the purpose of the record easy to identify in summary
view.
Parent
Children
Container
Choice
Required
One task is to identify the required fields, which are marked with an asterisk. You
must provide values for these fields or the import will fail.
There are four required fields found at the top level for a pay code edit:
Amount of pay code, in time or currency
Date to which the edit applies
Employee
Pay code
In the example, each of these values can be found in the source file.
If you do not supply values for the required fields, the link will not run.
Note
Not all required fields are marked with an asterisk. Some fields
become required based on the existence of data in another field.
These are conditionally required fields. The XML schema does not
recognize this type of required field.
Another task is to define actions for the required fields that provide legitimate
values. Because the values for the required fields are all found in the source file,
the action can be a simple transfer from source.
Another task is to determine which of the data elements you will need for optional
data.
Actions
The default action for definable data elements is Action is undefined, which is the
equivalent to Static Text of blank. Data elements with this action are not included
in the output.
Person number is the default field for identifying the employee; Badge number is
also acceptable. Changing this field is described later.
In our example, the data for identifying the employee will come directly from the
source file.
Data elements with Action is undefined are not included in the output.
Note
Interface Designer must have a connection to the application server to
create the preview data.
Compare the values from random records in the source to the displayed output to
verify the values are correct.
Any errors returned by the API are directed to the error report that appears once
the link has completed its run. The error count is also noted on the Interface
Results Summary report.
Determining the cause of the error involves careful interpretation of the error
message returned by the API.
Examples
The following are typical errors when the ID for the person cannot be matched to
one in the database:
The action required an existing person, but either the
person for the key could not be found, the user does not have
rights to that person, or a database error occurred - Key XX.
The person could not be found with the specified ID: XX.
When a value in the import does not match a value in the database, you receive
an error such as:
The value assigned to the property could not be found - Name:
PayCodeName, Value: XXXX.
The message identifies the XML tag name (which usually resembles the
non-technical name) and the value sent to the API. In this case you need to find
the list of accepted values for this field and ensure that the value you are sending
matches one of those. Sometimes values are case sensitive.
Another error is generated when the API is expecting a numeric value and ends
up with text instead.
The value for the property is not valid. - Name:
AmountInTimeOrCurrency, Value: XXXX
Usually you know whether the source file gives you a person number or a badge
number, and you make the change for the identifier early in the link. However it is
also common that the provider of the source file makes a change, which requires
edits of the interface.
Person number is only one common example of a choice tag. Another example
for adding a pay code edit is the amount of time. There are two choices:
Amount of pay code in time or currency
Amount of pay code in time based on schedule
Labor account
When labor account data is part of the source file for a pay code edit, it usually
indicates that the time should be charged to a different labor account. This might
occur when an employee is on loan to a different department or other area.
The labor account information can be included as part of the pay code edit. There
are several ways to format the labor level information.
102/202/302/404/502//
102/202/302/404/502
102/202/302/404/@H
@H/202/302/404/502
@H/@H/@H/405/@H
Comments
Comments can also be included. The data must match exactly how it is stored in
the Workforce Timekeeper database. The exact text of comments is stored in the
COMMENTS table.
The first option is difficult because it involves sifting through raw data and
somehow identifying the bad data.
The second option is much easier. The API can feed data for an error to the
FailedXML API which in turn feeds the Workforce Central Transaction Assistant.
The Transaction Assistant is a Workforce Central utility that is useful for cleaning
up import errors. You should always have Workforce Integration Manager submit
errors to the Transaction Assistant because it lists each error.You can supply
values for just the bad data—without having to locate the data in the source
file—and reprocess the problematic records.
Editing transactions
The Transaction Assistant displays each transaction based on the data included
when it was sent from Workforce Integration Manager. Details for the erroneous
transaction are found in the edit window.
Make the corrections and resubmit the data. Workforce Integration Manager is no
longer part of the process. The Transaction Assistant submits the corrected data
directly to the API.
Massive errors, such as including a labor level in the source file that is not in the
Workforce Central database, can be corrected by adding the labor level, selecting
all the failed transactions, and resubmitting them. This saves you the work of
re-running the Workforce Integration Manager interface.
Failures due to missing data cannot be fixed in the Transaction Assistant. The tool
only displays the fields it is sent. If you do not send a field, it will not appear in the
erroneous transaction and therefore cannot be fixed. Your only solution here is to
correct the link and re-run the interface.
Summary
Remember the following key points:
There are many different APIs available in Workforce Central.
API import is the preferred method for bringing in data to Workforce
Central.
API import is faster and it is a single-step process.
You do not need to know XML in order to write an API import with
Workforce Integration Manager.
The Data type identifies the data being imported.
The Action is dependent on the Data type.
The record is built based on data from the XML schema.
Required fields are marked with an asterisk.
Data elements that end with a question mark must have True or False as a
value.
Employees are generally identified by their person number or their badge
number.
Some fields have choices for what data is supplied. For example Person
number and amount of hours.
Preview your output before sending it to the API.
Test and troubleshoot with test data.
Remove or disable fields that are not used
Module 8
Creating a Personality Import
Personality imports are one of the most commonly defined interfaces. They are
also among the most difficult to define.
Module objectives
After completing this section you should be able to:
Describe the typical options for source data
Create an import for a Workforce Timekeeper Employee
Create an import for a Workforce Employee
Create an import that handles multiple employee types in a single file
Lesson objectives
After completing this lesson, you should be able to:
Create a basic person import
Overview
One common task with implementing a new Workforce Central system is to load
that system with information about employees. Using the Workforce Central
import is the most efficient way of entering the information.
Advantages
There are advantages of using an import for person data:
Saves time spent on data entry
Eliminates errors that would be caused by manual entry of data
The Personality Data import provides the means to import the core data.
Because Workforce Central is a flexible system with different components, such
as Workforce Activities, and Workforce Scheduler, there are additional APIs to
import people data associated with the different components.
All of the additional components require that the basic person data be present in
the system before any additional imports are run.
The information for the additional components may come from the same source
file and may be part of the same import. Additionally, the add-on components may
impose requirements for data found in the basic person import.
Examples of people data required by add on components are:
Activity employee settings
Skills and certifications
Seniority data
Scheduling employee settings
Example
Acme Company is implementing a new Workforce Central system. To avoid typing
in the employee data, they have chosen to bring in as much data as possible from
their human resources system. This system contains many of the key fields they
want to have in the Workforce Timekeeper system.
Their human resources database has pre-defined utilities that make it easy to
export employee information to a delimited text file. The Kronos implementation
team plans to used this text file as the source of the data for the import.
The Kronos implementation team will configure the Workforce Timekeeper system
with the exception of employee data and will use Workforce Integration Manager
to write an import link to bring the data in via the API. They realize that they will
need to determine how to supply values for fields that are needed in Workforce
Timekeeper but do not exist in the text source file.
?
Pay rule
Labor
Account
Profiles
Questions to answer
You need to understand the following:
What data you have available in your source?
How the Workforce Central system is configured?
What types of persons will the import source include?
What data can be determined from the source?
What data can be directly transferred?
What data can be assigned default values?
The source may not contain all of the data. There are fields which are unique to
Workforce Central, such as pay rule and labor account, that may not be part of the
source data. Consider the options.
Determine the value based on other data in the source
Default the value to the most common case
If the field is required, you must supply a valid value in the import.
If the field is optional, you need to first decide whether or not you want the data in
Workforce Central at all, and if you do, what is the most efficient way of getting the
value correctly entered.
The Personality Data Data type is the person import for the core Workforce
Central data. If you have additional Workforce applications with their own special
imports for person information, they will be run after the Personality Data import is
complete.
Actions
There are four possible actions for Personality Data:
AddOnly
Delete
Update
UpdateOnly
The second is the critical criteria and is usually a superset of the first.
There are additional licenses for other Workforce Central applications that may
affect what fields are required.
What is required?
A Workforce Employee has the following required fields:
Labor account or job
Pay rule
Employment status
Person number
Last name
Is the license active? (2)
License (2)
User name
Password
Account status of the user
The user name and password are located under the top level User data branch.
Remember to supply a hire date unless you want it defaulted to the current date.
Licenses
The Workforce Employee needs to have two licenses.
You will need to add a second set of license data elements. The icon
indicates that you can include multiple instances of this field.
Licenses are controlled by the Is the license active? field. If the field has a value of
FALSE, the license is not selected in the Workforce Central GUI.
To insert a second instance of a field and its children do the following:
1. Select the field with the icon.
2. Right-click and select Add Field from the context menu.
3. Select the desired field from the list presented. This list is context sensitive
based on the selected field so only one option may be available.
4. Choose to copy the actions from the existing selected field if desired.
Copying may save some time.
5. Click OK. The field is inserted in the proper relationship to the other fields.
License types
Licenses can be identified by name or number.
Handling licenses
You need to understand the customer’s business logic for assigning licenses.
Consider the three basic licenses for Workforce Central.
Some simple license scenarios are illustrated in the following table.
License Description
Workforce Workforce Workforce
Timekeeper Employee Manager
Employee
Yes No No Punches at clock
Yes Yes No Enters time via web
Yes Yes Yes Manager who enters his own time
and manages employees
No No Yes Manager only, does not enter time
Yes No Yes Manager who punches at a clock
License example
Acme Company has only three types of employees:
Those who only punch at a clock
Those who enter their time via the web
Those who manage employees via the web and record their own time via
the web.
License
Workforce Workforce Workforce
Description
Timekeeper Employee Manager
Employee
Yes No No Punches at clock
Yes Yes No Enters time via web
Yes Yes Yes Manager who enters his own
time and manages employees
data for all employees, the import may fail unless the employee has the correct
license.
The challenge is to create calculations that provide the correct data when needed,
and provide no data at all when the fields are not needed.
The Fail Field option in Workforce Integration Manager makes it possible to select
when to place values in a field and when to not include the field in the output at all.
Use a calculation to process the logic. Begin by loading the calculation with a
value from the source that will determine whether or not the field needs to be
included in the output.
Example
Whatever information you used to assign the Workforce Professional Employee
license can usually determine whether or not an employee needs to have user
information included.
If the pay rule is the determining factor, you would program the following
calculation for the Account status of the user:
Assign String :Payrule
If == ‘Professional Hourly’; new calculation
Assign String ‘Active’
If == :Payrule; return as field failure
In the case where several pay rules would make the value Active, you would
include multiple IF statements before the final IF that fails the field.
A similar calculation needs to be included for every field related to being a user:
Person number (Identity) for user
Account status of the user
The Workforce Central database can support multiple contact types, however, the
application restricts the contact type choices.
The definition of telephone numbers can use up to three user-defined contact
types. E-mail addresses and postal addresses are limited to two contact types:
home or work.
Telephone number
When providing telephone number information via the Personality import, the
contact type must be one of the three site-defined labels configured in Setup
Applications > Display Preferences > Site Defined Labels > Telephone Field
labels. You may also use the corresponding CONTACTTYPEID.
Label CONTACTTYPEID
Telephone Field 1 1
Telephone Field 2 2
Telephone Field 3 3
The basic Personality data import comes with only a single set of fields for
telephone contacts. You can create up to three sets of Telephone number.
Do not use UpdateOnly unless you are certain the source contains only
employees who already exist in the Workforce Central system.
Example
Acme Company maintains all of their employee information in their human
resources system, separate from their Workforce Central system. The Workforce
Central system contains a subset of employee data that is necessary for running
the labor tracking functions.
It is important that employee contact information, such as telephone numbers and
addresses be available in the Workforce Central system, so that managers can
have access to that information in case they need to contact an employee. For
example, if the manager needs to call in extra employees to meet an unexpected
demand, he must have current telephone numbers.
Another example is contacting employees to come in to perform emergency
maintenance. It is better to call someone who lives closer than someone who lives
50 miles away. Current address information will assist the manager in making the
correct decision.
Updating requirements
The Personality data import has different requirements for updating employees
than it does for adding new employees. Some of these are:
Where the employee is identified
Not overwriting Workforce Central specific fields with blanks
Not resetting passwords
The Identity of the person for an Update action must be established in the first
top-level Identity branch.
You need to supply the identifier in any location where you have an action that
supplies other data under a first level field. So if you are supplying data for fields in
each of these areas, you need to supply the person identifier in each case. Use a
variable.
Examples
Fields that are not required, such as the postal address fields, may be failed if
they are blank. The interface can pass blank values regardless if the employee is
new or existing.
Field that are required for new employees, such as the pay rule, may not be failed
if the source contain a blank. Existing employees already have a pay rule, so
failing the field is an option.
If the pay rule value has not changed for an existing employee, the source
contains a blank. The interface cannot pass a blank value because the API would
return an error. Pay rule is a required field for most employees.
If the existing employee’s pay rule is changing, the source contains the new pay
rule which must be passed to the API.
Another example is the default password for a user account. If the source file
contains the default value or a blank, this would overwrite the existing password
which has likely already been changed in Workforce Central.
The employee status is used later in determining active and inactive employees.
If the employee ID exists in Workforce Central, it is found in the lookup table and
is the value that is returned. If the employee ID does not exist in Workforce
Central, the calculation returns the static text value of “NEW.”
You can use the “NEW” value for the employee status to fail fields that are used
only for updating employee records. One example of this is the Person number in
the top level Identity field.
You can also use the “NEW” value for keeping existing values when updating
records and for handling blanks in the source file.
Similar logic would be used wherever the source could contain blanks for fields
that are not changed.
Another option would be to use a special lookup table to return the existing pay
rule for existing employees.
Example
The source file contains the employee’s status in field 20 which defines the
variable :SourceStatus. The possible values are Active, Inactive, and
Terminated. Because these match the acceptable values, they may be
assigned to the Employment status field directly or with a variable.
The Account status of the user field requires a calculation to account for each
possibility.
If the source indicates active, then check the pay rule, or other determining value,
to decide which value to assign. For example, user accounts are only assigned to
employees with certain pay rules.
If the source indicates inactive or terminated, the calculation must check the pay
rule in the same manner so that ineligible employees do not end up with a
terminated or inactive user status.
Assign String :SourceStatus
IF == ‘Active’ return with new Calculation:
Assign String :Payrule
IF == ‘Professional Hourly’ return with new Calculation:
Assign String ‘Active’
IF == ‘Professional Salaried’ return with new
Calculation:
Assign String ‘Active’
IF == :Payrule return as Field failure
IF == ‘Inactive’ return with new Calculation:
Assign String :Payrule
IF == ‘Professional Hourly’ return with new Calculation:
Assign String ‘Inactive’
IF == ‘Professional Salaried’ return with new
Calculation:
Assign String ‘Inactive’
IF == :Payrule return as Field failure
IF == ‘Terminated’ return with new Calculation:
Assign String :Payrule
IF == ‘Professional Hourly’ return with new Calculation:
Assign String ‘Terminated’
IF == ‘Professional Salaried’ return with new
Calculation:
Assign String ‘Terminated’
IF == :Payrule return as Field failure
Note
If you are using a non-system account (ex. PSuper, JAdams, etc.), a
HyperFind name must always be supplied. Several system accounts
like Import and SuperUser enjoy additional privileges which will allow
the omitted Query name element to deleted or disabled during import.
Workforce Timekeeper
Personality Data*
Process Profiles Assigned to a Person*
Seniority Date*
Working Time Directive Employee Assignment
Employee to Processor
Employee Group Assignments
Workforce Scheduler
Shift Template Profiles Assigned to Employees
Certifications Assigned to Employees*
Minor Employee Information
Rule Sets Assigned to Employees*
School Calendar Profiles for Managers
Skills Assigned to Employees*
Workforce Activities
Activities Employee Data*
Workforce Leave
Assign a Leave Profile to a Person
Workforce Attendance
Workforce Attendance Employee Profile
* Also found in Workforce Central v5.0.
Summary
Remember the following points about this section:
Importing employees is a common task when implementing a new
Workforce Central system.
Importing employees reduces errors and the amount of time required to
populate the system.
The Workforce Central API provides a fast and efficient method for
transferring data from the source to the proper location in the Workforce
Central application.
Sources for person data can be text files or SQL queries.
Workforce Central provides several default values for profile information.
If you use the AddOnly action for a Personality import, the person cannot
already exist in the database.
Use multiple fields with TRUE/FALSE values to indicate what licenses an
employee has.
Use calculations to toggle the value of the Is the license active? field.
Values for many required fields must match those already in the Workforce
Central database.
Some values for required fields can be found by looking in the tables or
views of the Workforce Central database.
Some fields are dependent on the licenses an employee holds. One
example is Account status of the user. Use a calculation to set the value or
fail the field.
Use special lookup tables to determine if a person exists in the database.
Use the fail field feature in calculations to exclude fields from the output.
The top level Identity tag identifies updated employees. It should be failed
for new employees.
Module 9
Other Sources and Outputs
There are other source and output types available in Workforce Integration
Manager. They may not be used as frequently as the ones you have already
covered, but they are still important.
Module objectives
After completing this module you should be able to:
Create a simple API Export
Examine a XML Document extract
Lesson objectives
After completing this lesson, you should be able to:
Describe each of the other sources supported by Workforce Integration
Manager
The Workforce Activities Data source type extracts all activities related data for a
date range. You must define a date range by using variables named
:EVENTSTART and :EVENTEND. The implementation of this source type is
beyond the scope of this course.
The Workforce Activities Changed data source type depends on values found in
another table that contains information about when the last export took place.
Workforce Integration Manager accesses the Workforce Central database
through SQL queries to a views.
Uses standard views
Standard list of commonly requested data
Over 70 different fields are available
You must provide logon information for the application server on the source tab.
This source type requires another tab, Source Configuration, to further define
what data is returned by the API.
There are over 300 API exports that can be selected.
Select the API you wish to use and the action. Actions are usually to load the data
for export.
In some cases you may need to supply additional information in order to export
the data.
Updating schemas
Using API export requires that the API schema be present. Schema updates are
delivered in service packs.
Defining records
Defining records is similar to how other sources and output are handled; however,
there is one significant difference. You must select the field that acts as the
interval for the record.
When you click Select Field, you will get another dialog box with a tree-view of
the top level element.
XML Document
Use the XML Document source type to extract data from any XML file for which
you can provide an acceptable XML schema document. The schema is necessary
for Workforce Integration Manager to understand the content and structure of the
XML file.
Workforce Integration Manager enables you to select elements from the schema
that represent the information you want to extract from the XML source file.
Lookup table
Lookup tables as a source behave similarly to a delimited text file. The difference
is that the lookup table is stored in the Workforce Central database.
When you use the Lookup Table source type, you need to understand the
structure of the lookup table, just like you need to understand any other text
source. The columns represent the fields and each row of the table represents a
record.
SAP® ERP
The SAP ERP source type is specially designed to exchange data with the SAP
ERP software. When used in conjunction with specially designed templates,
Lesson objectives
After completing this lesson, you should be able to:
Describe each of the other destinations supported by Workforce
Integration Manager
Caution
Do not modify the ADP templates except for the actions or deleting
fields that are not needed. If fields are added or existing ones
modified, the link may not work.
Variables are acceptable as part of the file name for the output file.
The system looks for two special data element names, Pay Rate and
Earnings
These are actually treated as one field and occupy the same position in the
output file.
If the category being processed represents hours, the Pay Rate field is
used.
If the category represents wages (dollars), the Earnings field is used.
Note
The Pay Rate and Earnings data elements must be the same length
and be next to each other in the Records/Tables listing. This is a fixed
length text file, delimiters are not allowed.
Lookup table
Lookup tables as output are stored in the Workforce Central database. They may
be used as a source for a different link or as a true lookup table in the traditional
sense.
When you use the Lookup Table output type, you need to understand that the
structure of the lookup table is determined by the structure of the record. The data
elements become the values in the columns.
There are two fields for the Lookup table Output type.
Output Table Name
Append records to any previous lookup table
After this decision is made, Workforce Integration Manager creates the necessary
data elements and presents them in tree format.
For details on the various record data types consult the Workforce HR/Payroll
integration documents.
You only need to supply:
Login name
Password (database)
The options for the Data Types are read from the schema.
Data elements
After you have define the record, Workforce Integration Manager builds the data
elements based on information in the schema.
Requirements
The requirements are that you have an XML schema document (.XSD) that meets
W3C schema requirements.
Summary
The key points of this section are summarized below.
Workforce Central API Export provides easy access to data without the
need to construct SQL queries.
Exporting data via the APIs requires selecting the API and action, and
defining any required parameters
Records are defined by selecting a top level record interval element.
The Transfer from source action for data elements provides a tree-like
structure for selecting the data from the available fields for the API
transaction.
Workforce Integration Manager can use a lookup table as a source type.
Workforce Integration Manager can extract data from XML documents.
Valid schemas must exist for any XML document sources.
The ADP Output type should only be used with an approved template.
The Dual Field ASCII type produces a fixed length Text file.
The Dual Field type has special naming constraints for the data elements.
Workforce Integration Manager can use a lookup table as an output type.
Workforce Integration Manager can create XML output if it has a valid XML
schema.
Module 10
Using Other Features
There are several additional features of Workforce Integration Manager that
provide useful functionality when creating interfaces. It is important to understand
how to use this functionality, so that it can be programmed when necessary.
Module objectives
After completing this section you should be able to:
Create a link that sorts the output
Enable the Batch Processing tab
Create a link that uses batch processing for output
Use the Batch Data action
Create batch headers and footers
Create interface level overrides for links
Create an e-mail notification for an interface
Create a desktop shortcut to run Workforce Integration Manager
Run a link configuration report
Enable the Audit Log
View an audit log report
Define Date and Time locales for Workforce Integration Manager links
Lesson objectives
After completing this lesson, you should be able to:
Use the sorting feature
Sorting output
Normally, output records are created in the same order they were extracted from
the source. You can sort those output records on up to three fields as defined in
the detail-level record.
Some of the instances in which records need to be sorted in an output file include,
but are not limited to:
Sorting by date (typical for scheduling systems)
Sorting by employee type (typical for person imports into Workforce
Central)
Sorting by employee number
Sorting by labor levels; home and/or worked account (typical for payroll
systems)
Sorting by weeks (typical for payroll systems)
This greatly reduces the need for multiple links and temporary database tables.
The sort option is only available for Text file output and only detail-level records
can be sorted.
Note
The sorting feature is dependent on having SQL Express installed.
SQL Express is part of the normal installation, but it is an option and it
can be omitted. If SQL Express is not present, the sort options are
dimmed.
Sort order
The sort order for each field is based on the data type of the output field.
Be careful when using fields where the action is a variable and the data type of the
field does not match the data type of the variable. The data type of the field takes
precedence.
A common example is where a date value is stored in a variable but the output
field has a text data type. A sort on the output field would be lexical, not date, so
unexpected results may occur.
The sort options are found on the Output tab when the output type is text file.
Limitations
Text fields included in the sort are only sorted on the first 255 characters. The
exception to this are the Job worked and Primary job fields from a Workforce
Timekeeper source which are sorted on the first 2000 characters.
Cautions
Interface Designer returns errors for the following situations:
Deleting or disabling a record that is included in the sort list
Deleting or disabling a field that is included in the sort list
Defining a sort record but not defining sort fields
Options
Sorting on a field requires that the field be defined as a data element. However, it
is possible to sort on a field and not include it in the output. Select the Used only
for sorting check box in the Output Field dialog box.
Lesson objectives
After completing this lesson, you should be able to:
Enable batch processing
Describe the different batch intervals
Create batch output for a text file source
Create batch output for a Workforce Timekeeper source
Overview
Batch Processing allows you to have more control over the output file
Additional record types within the file
Options for determining what constitutes a batch
Number of records in the files
Name multiple output files by using the batch identifier as a prefix or suffix
More options for the Batch Data action
Batch location
You can choose to have all of the batches:
In a single output file
In multiple uniquely-named output files
If the file name on the Output tab is Payroll.txt, then the separate batch files may
have names like ones shown in the following table.
1Payroll.txt Payroll1.txt
2Payroll.txt Payroll2.txt
3Payroll.txt Payroll3.txt
There is no limit as to the number of batch header/footer records that you can
define.
They can be used in conjunction with other records
You can also apply qualifiers
The appearance of the batch intervals in the Edit Record dialog box depends on
batch processing being enabled, not the source type.
If the value is set to 1, then only the first labor level is used; if it is set to 2, then
only the second labor level is used, and so on.
If the Labor level used to separate accounts is set to 1, there will only be a
single batch because the first labor level does not change.
If the level is set to 2, there are three different batches; one for the 201
level, one for the 202 level, and one for the 233 level.
If the Labor level used to separate accounts is set to 3, there are four
different batches.
Additional parsing
Furthermore, you can perform additional parsing by using offsets and lengths.
Use this in situations where a single labor level is used to store more than one
level. For example, the first five characters contain the division and the next four
characters contain the location.
Batch location
With the labor account method of separating batches, there are always separate
files for each batch. Workforce Integration Manager uses the labor account name
as the prefix or suffix of the filename.
If the file name on the Output tab is Payroll.txt, then the separate batch files
have names like those shown in the following table.
202Payroll.txt Payroll202.txt
212Payroll.txt Payroll212.txt
222Payroll.txt Payroll222.txt
Weeks are defined as seven day intervals starting from the first day of the time
frame chosen on the Source tab and ending on the last day of the time frame.
This behavior can be modified by specifying the start day of the week.
S M T W Th F S
X Batch 1
Batch 1 X X X X X X
X X X X X X X
X X X X X X X
S M T W Th F S
X X X Batch 1
Batch 1 Batch 2
Batch 2 X X X X
X X X X X X X
S M T W Th F S
X Batch 1
Batch 2
Batch 3
Batch 4 X X
Batch location
You can choose to have
All of the batches in a single output file
Separate files for each batch of records
If the file name on the Output tab is Payroll.txt, then the separate batch files may
have names like those below
1Payroll.txt Payroll1.txt
2Payroll.txt Payroll2.txt
3Payroll.txt Payroll3.txt
Constraints
If the period start date for the batch isn't the same day of week as the start day of
week selected by the user, the first batch file generated will represent less than a
full week of data. It will start with the first day of the specified batch period, and will
end with data from the day preceding the start day of week.
At the same time, if the period end date for the batch isn't the same day of week
as the day preceding the start day of week, the last batch file generated will
represent less than a full week of data. It will start with the start day of the week,
and will end with data from the period end date.
You are alerted to either of these conditions.
Example
Start day of the week: Thursday
Start of batch period: 3/3/2009 (DOW: Tuesday)
End of batch period: 4/3/2009 (DOW: Friday)
Lesson objectives
After completing this lesson, you should be able to:
Explain the purpose of interface runtime overrides
Configure and deploy an interface that allows runtime overrides
Interface overrides
An interface is a package for one or more links that are executed in a defined
order. The order of the links is determined by their placement in the interface
(step).
Each link in the interface contains settings that can be overridden at runtime,
provided that the interface programmer configured the interface to allow
overrides. These settings are those found on the Source and Output tabs.
Naturally the fields that can be overridden depend on the source type and output
type.
Each step in the interface has an Interface Overrides Link Options check box.
This option is accessed by double-clicking the step name. If the option is selected,
the user will have access to the runtime options in Workforce Central. If the option
is not selected, the interface will not allow overrides.
If the option is selected, you will see the possible overrides for the selected link
below the list of interface steps.
Caution
It is important to note that if you make a change to a setting at the link
level, that change is not automatically propagated to the interface
level. You must use the Reset Link Run Options check box.
Note
You can only assign interface variables to preopen link variables.
The variables tab is divided into two sections. Use the top portion to add and
define interface variables. Use the bottom portion to assign interface variables to
link variables.
One typical use case for interface level variables is when an interface contains
several independent links that may need to access different databases. Links
often have to individually provide the database connection and mapped folder
information. If this information changes frequently, you would need to change it in
every location it is used, in every link. But, if the designations are referenced as
variables and assigned at the interface level, the task becomes a simple one of
changing the value at the interface level and the new value is passed to all links in
the interface.
Syntax
The syntax for the command line in the interface depends on the operating
system as well. For Windows the simple syntax is shown below.
@MappedFolder@\command_script
The various parts of the command are explained in the following table.
Text Description
@ This is the default character for indicating the beginning and end
of a mapped folder name.
The character is set in the knx.engine.RunCommandVarDelimiter
which is located in the Data Integration System Settings.
MappedFolder The name of the mapped folder that points to the location of the
command. The name is not case-sensitive.
command script The script or batch file name you want to execute.
Batch files
If you are executing a batch file, you should ensure that you use absolute paths to
identify the source and destination. This practice avoids confusion. The following
is a sample of copying using absolute paths:
copy c:\Kronos\InterfaceDesigner\file.txt
c:\Kronos\InterfaceDesigner\Payroll\file.txt
If you are copying files to another server, be sure to include the server name and
shared folder information:
copy c:\Kronos\InterfaceDesigner\file.txt
\\HR-Serv\Employee\file.txt
My notes on interfaces
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
Lesson 4: Notification
Another feature of Workforce Integration Manager interfaces is the ability to
provide notification to selected users regarding the success or failure of the
interface execution. It is important to understand the requirements and limitations
of this feature.
Lesson objectives
After completing this lesson, you should be able to:
Configure e-mail notification for Workforce Integration Manager
\
Overview
Workforce Integration Manager provides a method for appropriate users to
receive an e-mail when an interface completes processing or when the
processing fails.
This feature allows select users to determine the success of the interface without
having to access the results in Workforce Central.
The message can be sent via:
K-mail to Workforce Central users
External e-mail addresses
Lists of users defined by a hyperfind query
Requirements
To send e-mail, Workforce Central must be installed and Process Manager must
be up and running. The EMS service must be configured to allow the SMTP
protocol. The SMTP service must be running as well.
Messaging, k-mail, must be set up in Workforce Central. Process Manager does
not need to be installed or running.
Constraints
The E-mail notification feature does have some restrictions.
An external mail server must be available and configured in Workforce
Central
Recipients cannot send replies
There are no error messages for invalid external E-mail addresses
Configuring notification
Notification is configured at the interface level.
Adding recipients
When you click Add, you can add multiple recipients.
My notes on notifications
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
Lesson objectives
After completing this lesson, you should be able to:
Configure an interface to run from a desktop shortcut
You can run the Workforce Integration Manager utility from the command line. The
syntax is:
“C:\Kronos\InterfaceDesigner\KNX.EXE” /run=InterfaceName
/switch
You can use the following list of commonly used command line switches when
Workforce Integration Manager is run from a shortcut or a command line prompt.
/run=”Interface_Name”
/current
/previous
/range
/ignoresignoff
Additional options are found in the online Help.
Creating shortcuts
Typically, a link is not run from the Workforce Integration Manager runtime
environment; it is set up as a shortcut on the end user’s desktop.
To set up a shortcut on the desktop:
1. Right-click anywhere on the Windows Desktop.
2. Select New > Shortcut.
3. At the Command Line prompt, specify the path of the knx.exe file. Also use
the command line parameter:
/run=”Interface_Name“
Options
You add switch settings following the /run= entry.
To specify the previous pay period for a Workforce Timekeeper source, add the
/previous parameter as follows:
“C:\Kronos\InterfaceDesigner\KNX.exe” /run=”FirstLink”
/previous
Lesson objective
After completing this lesson, you should be able to:
Run a link configuration report
Configuration report
The configuration report provides a detailed description of the link
Presented in functional areas for easy reference
Run the report when the link is complete
Lesson objectives
After competing this lesson, you should be able to:
Turn on the audit log
Run an audit log report
Because there are several possible configuration changes, there are a series of
codes that explain some aspects of the changes when presented in the report. A
configuration change detail record consists of these columns:
Date/time of change
User interface location
Status code
Details of the change
After the report is run, it is found in the working directory with the name
link_name.AUD.
Lesson objective
After completing this lesson, you should be able to:
Configure a locale policy for Workforce Integration Manager.
Confirm that the Workforce Integration Manager locale policy operated
as it was defined.
Note
Use the Locale Policy field in the People Editor (Job Assignment >
Access Profiles).
Note
The date and time settings specified in the locale policy override the
corresponding date and time system settings specified on the Data
Integration system settings tab. The Data Integration system settings
are used by default if the user is not assigned a locale policy.
In addition to viewing the Interface Results Summary, also review the output file to
confirm that the locale policy setting did, in fact, override the system settings or
any date/time settings on the Workforce Integration Manager link itself.
Knowledge check
1. Where is Batch Processing enabled?
________________________________________________________________
3. Does having batch processing enabled give you different record creation
intervals? Name them.
________________________________________________________________
4. Does having batch processing turned on give you additional options for the
Batch Data action?
________________________________________________________________
5. Does having batch processing turned on give you additional options for the
Transfer from Source Action?
________________________________________________________________
6. What is the maximum number of data elements that can be included in a sort?
________________________________________________________________
7. How is the working directory set when you launch an interface from a desktop
shortcut?
________________________________________________________________
Summary
The following bullets summarize the key points of this section:
You can sort text file output on up to three fields.
Sorting is enabled on the Output tab.
The type of sort used depends on the data type of the selected data
element.
Batches are subdivisions of the regular output.
Batch processing is enabled on the Output tab.
Batch processing is available only for text file type output.
Batches can be separated based on record count.
Batches can be kept within a single file or placed in multiple files with an
identifier as part of the output file name.
When batch processing is enabled, there are additional options for the
Batch Data action. The available options depend on the record creation
interval.
Some link settings can be overridden at the interface level.
You can send e-mail notifications for the success and failure of an interface
run.
There are command line options available to run interfaces from the
desktop.
Workforce Integration Manager interfaces can be run from a shortcut.
An audit log is available to track configuration changes and runtime events
for a link.
The audit log is off by default.
The audit log should only be turned on after the link is deemed complete.
The audit log report is stored within the Workforce Integration Manager link
file (*.KNX).
The audit log has a purge utility.
Date and time formats can be specified by locale.
Course Summary
Conclusion
Thank you for your participation in class. You have successfully completed this
course and are on your way to applying what you’ve learned in class to your work.
Course objectives
After completing this course, you should be able to:
Execute interfaces in Workforce Central
Create simple interfaces using text files as sources and outputs
Create interfaces that extract data from Workforce Timekeeper
Create interfaces for importing data to Workforce Central
Set up and configure administrative tasks
Use online Help for context sensitive information. You can also use the index to
locate help on a specific topic. Online Help guides you through the necessary
steps for performing common tasks.