This chapter provides overviews of time administration and rules, lists common elements, and discusses how to:
Create value lists.
Define rule elements.
Specify table access.
Define table relationships.
Define template-built rules.
Use actions and conditions to create rules.
Create SQL objects.
Define attendance programs.
Assemble rules.
Add rules to a rule program.
The create rules component
The batch processing component
The online processing component
Although the Time Administration processes are complex and varied, the Time Administration business process has these main components:
Create Rules |
The Create Rules component consists of the online tools that enable you to create, compile, and apply rules to reported and scheduled time. You can create rules for the batch process only or for both batch and online rules processing. |
Batch Processing |
The Time Administration batch processing component applies the rules to time reporter data and generates payable time from reported and scheduled time. |
Online Processing |
From the Timesheet, the Apply Online Rules process immediately applies your online rules to the time for a specific time reporter. |
The Create Rules component has these online tools for defining rules:
Templates |
Use templates to create a variety of rules for the Time Administration program to execute when processing reported and scheduled time. Create compensation rules for overtime and holidays, notification rules for irregular attendance, and rules for other time reporting that requires special processing. There are more than 40 delivered rule templates. |
Use Actions and Conditions to define actions and conditions independently of one another and then join them to create rules. You cannot perform select actions or subqueries with Actions and Conditions, so if your rule requires either of these, use SQL objects. |
|
SQL Objects |
SQL objects are the most flexible Time and Labor rule creation tool. You can use SQL objects to create rules using Select statements, Insert statements, Update statements, Delete statements, table joins, and subqueries. |
User Exits |
With delivered rule templates and rule objects (Actions, Conditions, and SQL objects), you scan build rules that address most business needs. Use a user exit when a particular business rule cannot be accommodated by delivered rule templates or rule objects. With user exits, you can add PeopleCode and PeopleSoft Application Engine (AE) sections to regular processing. Also, to build a complex Time and Labor rule, you can create the rule in AE and add a user exit that calls the rule during processing. When you write user exits, you must add AE sections to the AE program TL_TA_RULES. You can use all the AE constructs supported by PeopleTools (SQL, PeopleCode, looping constructs like Do When, Do While, and so on). |
See Also
Creating Rules with Actions and Conditions
Enterprise PeopleTools PeopleBook: Application Engine
The batch process in Time and Labor generates payable time. It executes the rules defined using the Time and Labor online tools for rule creation, selects the appropriate time reporters for processing, combines time reporters into batches for efficient processing, determines the period to process, and calculates prior period adjustments.
See Also
Understanding the Batch Process in Time Administration
Time and Labor enables you to define online rules and immediately estimate the effect of applying these rules to weekly elapsed and punch time. You can invoke the Apply Online Rules process from the Timesheet page. When you do, the system executes an abbreviated version of the Time Administration process for a selected time reporter, applying only those rules that are defined for both batch and online processing. (You specify the maximum number of online rules that can be added to a rule program when you complete the Time and Labor Installation page during implementation.)
The system begins by looking at the transactions entered on the Time Reporting page. Depending on your rule definitions, it may pull in and process time for a day, week, or specified time period and will display the results accordingly.
When you define a rule for both online and batch use, be sure the time period that the rule evaluates will handle day, week and time periods that may be defined on the timesheet. Templates for attendance rules, such as templates 360, 360A, 360B as well as templates for exception rules 300, 310, and 320 may be better suited for batch processing.
Estimated payable time that is created by the online process is assigned the payable time status online estimate (OE). The next time you run the Time Administration batch process, the system deletes online estimates and replaces them with payable time in an estimated or needs approval payable status.
To create actual payable time, run your rules as part of the Time Administration batch process; however, online processing enables you to preview the effect of weekly elapsed and punch time rules directly, online, in advance of the batch run. In addition, you can detect and resolve user-defined exceptions that result from the application of online rules.
The Apply Online Rules process bypasses these phases of processing, which are executed during the batch Time Administration run:
Attendance processing.
Offset processing.
Compensatory time balance validation.
Calculation of estimated gross for rule override transactions.
Update of TA_STATUS and EARLIEST_CHGDT.
General setup steps.
Rules from actions and conditions and SQL objects.
Rule step creation guidelines.
All rules in Time and Labor are written in SQL. You don’t have to be a SQL expert to create rules because you will probably create most rules using templates, and the templates contain the basic logic, underlying structures, and necessary SQL objects. However, an understanding of SQL is helpful, particularly if you use actions and conditions, or SQL objects to define your rules, since these tools give direct access to SQL logic and language. In addition, to properly create, test, and troubleshoot rules, you should understand the structure of a SQL statement and the basic procedures for converting business rules into SQL rules.
Perform these two setup steps before creating rules if you are using either actions and conditions, or SQL objects to define the rules:
Specify which tables (or records) to access and which SQL actions rule's developers can access.
You’ll do this using the Working Tables page.
If you create a condition that references a field that is not part of the record being updated, define a relationship definition (or join) between the record you are updating and the external record.
To do this, use the TL Relationship Definitions page. Setting up a relationship definition eliminates the need to code this relationship. If you are creating rules using actions and conditions, set up this relationship definition beforehand (if you must refer to external tables). You cannot define a table join within the rule itself. If you are using SQL objects, create a table join directly in the rule.
See Also
When you use the Actions and Conditions or the SQL Objects pages, you won’t create complete rules, but the building blocks of rules: rule components. To define a complete rule, you must:
Link the components to other components.
Place the components in the proper order for processing (define rule steps).
Specify the period of interest for the resulting rule.
Group rules into rule programs and then link these rules to time reporters through workgroups.
Note. Template-built rules are fully defined rules. This means that you don’t need to define the rule steps that make up a template-built rule. However, you do need to add template-built rules to rule programs on the Rule Programs page, and assign the rule program to a workgroup.
To complete a rule definition:
Define the rule components.
Use Actions and Conditions or SQL Objects.
Define the rule period.
Specify the period of interest for the rule using the Define Rule Header page. Valid periods include PeopleSoft-delivered periods and any time periods created using the Time Period pages. The system uses time periods to determine the data for a particular span of time on which the rule will act. The Time Administration program also uses the time period to determine which reported time to load into the working tables during processing.
Define rule steps.
Once you define the individual building blocks that make up a rule using actions and conditions or SQL objects, you must combine these components into complete rules and place them in the correct processing order by arranging them into rule steps. Each rule can have one or multiple steps. You’ll order individual rule components into rule steps on the Define Rule Steps pages. SQL processes the records in sets. Rule steps must be properly ordered for set processing. Review delivered rule templates (with the rule ID prefix of TEMPLATE) to see how rule steps are organized for set processing. Test the SQL statement for each rule step with the database query tool to ensure that it produces the desired results before continuing with the next step. You may need to replace meta-SQL with platform–specific SQL before testing the SQL statement.
Assign the rule to a rule program.
Add your rules to a rule program using the Rule Program and Program Detail pages. The rule program specifies the set of rules and the order in which the Time Administration process executes them.
Note. The number of online rules you can include in a rule program is determined by the entry in the Maximum Online Rules field on the TL Installation page.
Note. Rule programs are effective-dated, but the individual rules contained within them are not. You cannot modify a rule once you assign it to a rule program. However, you can remove the rule from the rule program and replace it, if appropriate, with a new rule. This feature ensures the referential integrity of rules processing.
Attach the rule program to a workgroup.
Use the Workgroup page. The rule program determines which rules are processed for the time reporters in the workgroup. If a rule does not exist in the rule program associated with a workgroup, no member of the workgroup is processed using that rule.
See Also
Creating Rules with Actions and Conditions
When you create rules in Time Administration, you translate the organization’s business rules into SQL statements for the system. The Time Administration pages enable you to implement rules, but they are not design tools. Before you enter any information in these pages, design and organize your rule steps, consider the SQL involved, and decide which Time Administration options to use. This section provides guidelines for understanding, designing, and organizing rule steps. The end of this section provides an example that outlines more explicitly how to enter rule steps into the system.
Note. Use the simplest building blocks when creating rules. Whenever possible, use or modify the delivered rule templates rather than creating new actions and conditions or SQL objects to define rules.
Design and Organize Rule Steps
Determine whether you can use one of the delivered rule templates or if you must create either actions and conditions or SQL objects. Consider which rules or parts of rules to reuse. If you can use part of a rule repeatedly or in many ways, create an action or condition or a SQL object so that you can reuse that part of the rule.
Think about dependencies: what should be checked or processed first. If you want to act on a subset of data or the results of a query, define that data or subquery first. If you want to act only if a certain condition exists, create the statement to determine if the condition is true before inputting the action. If you want to perform multiple actions on a single row, think about processing order. For example, if you must compare daily reported time to daily scheduled hours, sum the daily reported time and scheduled time first. Although the comparison and summation could be a single step, keep each step relatively simple for maintenance and troubleshooting. Specify and order rule steps on the Define Rule Steps page.
Avoid broad or redundant querying or processing. For optimal performance, create conditions that retrieve the fewest possible records and still satisfy your data needs. For example, specifying certain column names in your Select statements is more efficient than selecting all columns. Use the logical operator IN instead of OR, since IN is processed faster than OR.
If you want to create a rule that concerns a certain period of time, define a valid rule period ID for that rule.
Use all the tools available to you. When possible, use PeopleSoft-delivered objects. Create value lists instead of multiple conditions. Several working tables are delivered within rules, but you can create your own working tables. They must be temporary tables.
Warning! Do not modify delivered working tables. If any of the delivered working tables are modified, template-built rules abort or generate unexpected results.
Translate Business Rules into SQL Rules
Before you create rules in Time and Labor, have a clear idea of how you manage both time and time reporters, and have the business rules in front of you when you begin. Certain terminology in these documents has counterparts in particular SQL conditions and actions. Words such as update, replace, and substitute frequently imply the SQL action update. Words such as where, if, when, and in case of imply dependencies and conditions.
Use Working Tables Within Rules
Before Time Administration can execute a rule, it moves the time reporter data needed to run the rule from scheduled and reported time into a data store known as Intermediate Payable Time. Rules are applied to information in the data store rather than to data in scheduled or reported time to protect the integrity of the source data. The Intermediate Payable Time data store comprises these five tables:
TL_IPT1
TL_IPT2
TL_IPT3
TL_IPT4
TL_IPT5
In addition to the Intermediate Payable Time tables, you can access a number of other working tables in the system. Most of these working tables start with the prefix TL_WRK.
Note. You can create your own working tables to store data temporarily, but they must be temporary tables.
Rules for Using Working Tables
When you create rules in Time Administration, remember that:
Time Administration automatically loads much of the data for executing rules into the Intermediate Payable Time table TL_IPT1.
In the rules, you can move data back and forth between this table and the other Intermediate Payable Time tables. For example, the rule can move time data from TL_IPT1 to TL_IPT2, apply a specific TRC to this time, and then update the original row of data in TL_IPT1 with the new TRC-associated data.
You must decide when and how to move data from TL_IPT1 to other working tables.
After the rules process and modify the data in other tables, return any processed data to send to Payable Time back to TL_IPT1, which is the table containing the original, raw data. That is, push the data in its final form—the form in which to the data to Payable Time—back to TL_IPT1. If the data does not exist in TL_IPT1, it will not become part of Payable Time.
You must always truncate (or clear) working tables before moving data into them.
This ensures that the data that remains in those tables from previous rules processing does not interfere with or corrupt the new data. To truncate any working table, use the %TruncateTable command, which is included in the list of meta-SQL commands supported by PeopleSoft. However, never truncate or delete the data in TL_IPT1; it contains raw time data to execute the rules. If you delete this data, the rules have nothing to process.
You can move data from external tables (nonworking tables) into working tables.
If you do not plan to process or modify this data, but you must verify it (in a condition statement, for example), consider reading the external tables directly rather than moving large quantities of information into the working tables. Moving large quantities of data into TL_IPT1 can affect processing speed.
Example: Translating A Business Rule into A SQL Rule
This example illustrates how to translate a business rule into a SQL rule, and how the resulting SQL rule moves data from TL_IPT1 to other working tables in the system. Suppose that your business rule states: All hours worked in excess of 40 hours in any one week shall be paid at the rate of 1.5 times the employee’s applicable hourly rate.
The first step is to rewrite the business rule in a simpler sentence. If possible, translate business concepts into Time and Labor terms. For example, you recognize that the rate of 1.5 times the normal rate implies a different (overtime) TRC. Rewrite this business rule as: Replace all hours in excess of 40 in a week with TRC OT 1.5.
Next, determine what type of action the system will take. Most business rules require an insert or update and may require subqueries to determine more precisely which rows to affect. This example requires the update action.
Note. If your business rules require you to store the original rows and add rows only where the TRC changes, you would create an insert action.
Next, consider what conditions exist in the statement. In our example, in excess of 40 hours and in one week are conditions.
To accomplish this rule, you need seven steps. Steps one through two are actions; steps three through seven are SQL objects:
Delete TL_IPT2 (truncate working table).
Delete TL_IPT3 (truncate working table).
Insert affected row (Friday, 10, 46, REG) into TL_IPT2 with hours over threshold and new TRC.
Insert rows after affected row (Saturday, 6, 52, REG) into TL_IPT3.
Calculate TL_QTY-TL_QTY in work record (TL_IPT2) and update row (Friday, 10, 46, REG becomes Friday, 4, 40, REG) in TL_IPT1.
Insert new row (Friday, 6, 46, OT1.5) into TL_IPT1 with new sequence number.
Update TL_IPT1 TRC with ‘ot1.5’ where exists in TL_IPT3.
The shaded rows in these tables represent Intermediate Payable Time created by these rule steps. Changes to the original TL_IPT1 data are in italics:
Data in IPT1
(filler)
Day |
Hours |
Total Week Hours |
TRC |
Monday |
8 |
8 |
REG |
Tuesday |
10 |
18 |
REG |
Wednesday |
8 |
26 |
REG |
Thursday |
10 |
36 |
REG |
Friday |
10 |
46 |
REG |
Saturday |
6 |
52 |
REG |
Data in IPT2
(filler)
Day |
Hours |
Total Week Hours |
TRC |
Friday |
4 |
40 |
REG |
Friday |
6 |
46 |
OT 1.5 |
Data in IPT3
(filler)
Day |
Hours |
Total Week Hours |
TRC |
Saturday |
6 |
52 |
OT 1.5 |
Data in IPT1 After Processing
(filler)
Day |
Hours |
Total Week Hours |
TRC |
Monday |
8 |
8 |
REG |
Tuesday |
10 |
18 |
REG |
Wednesday |
8 |
26 |
REG |
Thursday |
10 |
36 |
REG |
Friday |
4 |
40 |
REG |
Friday |
6 |
46 |
OT1.5 |
Saturday |
6 |
52 |
OT1.5 |
Note. This simple example ignores the TRC. A more complicated example could also include a daily rule run before this and might also create overtime.
Using Value Lists Within Rules
When you want the condition or action clause of a rule to apply to multiple values—such as multiple TRC codes, multiple shifts, or multiple task groups—create value lists rather than defining multiple conditions.
For example, you have a rule that tells the system to create premium time when a time reporter reports more than 40 hours to time reporting codes Regular, Sick, Vacation, and Holiday. Before you create this rule, you set up a TRC value list and add the TRCs for Regular, Sick, Vacation, and Holiday. When Time Administration executes the rule, it will refer only to the four TRCs in your list. For another example, you want to restrict the punch types that can follow an In punch. You can create a value list that includes only those punch types you deem valid. You can then use Rule Template240 to create a rule that generates an exception when an invalid punch type follows an In punch. Value lists are used within template-built rules.
This table shows each type of list you can create and where the values are defined:
Type of Value List |
Where Values Are Defined |
Companies |
PS_COMPANY_TBL |
Dept IDs |
PS_DEPT_TBL |
Employee Statuses |
Translate Values for EMPL_STATUS |
Employee Types |
Translate Values for EMPL_TYPE |
Grades |
PS_SAL_GRADE_TBL |
Jobcodes |
PS_JOBCODE_TBL |
Paygroups |
PS_PAYGROUP_TBL |
Position numbers |
PS_POSITION_DATA |
Punch Types |
Translate Values for PUNCH_TYPE |
Steps |
PS_SAL_STEP_TBL |
Shifts |
PS_SCH_SHIFT_TBL |
TCD Groups |
PS_TL_TCDGRP_TBL |
Taskgroups |
PS_TL_TASKGRP_TBL |
TRCs |
PS_TL_TRC_TBL |
Union Codes |
PS_UNION_TBL |
Workgroups |
PS_TL_WRKGRP_TBL |
To control how and when rules are applied to different groups of time reporters, use rule elements. You can define up to five rule elements to represent any type of data, and then use these elements within the conditions for your rules.
Rule elements are associated with time reporters by:
Assigning rule elements directly to time reporters on the Create Time Reporter Data page or the Maintain Time Reporter Data page.
Positively reporting rule elements when entering time.
Example: Defining and Using Rule Elements
You define a rule element called Jobs. You also create these values for Jobs: HOST, CASHIER, ASST MGR, WAITER. Next, you build a rule that creates a premium if a worker positively reports the value ASST MGR for rule element 1. As an alternative, you might build your rule so that the system creates a premium whenever time is reported by a person for whom the value, ASST MGR is entered in the Rule Element 1 field on the Create Time Reporter Data page or the Maintain Time Reporter Data page.
Note. Both the Time Reporting Template page and the Rapid Time Template page include options to override rule elements.
Meta-SQL Within Rules
Use meta-SQL as an alternative to creating complex SQL commands on your own. Meta-SQL enables you to perform many SQL functions by giving you access to complex SQL operations in a shorthand form. Meta-SQL functions expand to platform-specific SQL statements. Time and Labor uses meta-SQL to interface with different database platforms. A meta-SQL operand begins with a percent (%) sign and returns a scalar value. Almost all meta-SQL constructs that are visible in Time and Labor are PeopleTools meta-SQL constructs that are processed at run time.
Common HR Data in Rules
To use Human Resources or Time and Labor employee data within your rules, check whether the data exists in TL_PROF_WRK before creating multiple joins to tables in Human Resources. TL_PROF_WRK is a temporary table created at the beginning of the Time Administration batch run. It contains employee-related data retrieved from various HRMS and Time and Labor source tables, effective as of the current run. Instead of accessing the various source tables to create a rule, you can create a single join to this table to retrieve information relating to all the time reporters you must process.
Warning! Do not alter the structure of TL_PROF_WRK. Time Administration references this table at different times during the batch run.
TL_PROF_WRK contains fields derived from these source tables:
# |
Field Name |
Source |
Description |
1 |
EMPLID |
TL_EMPL_DATA |
Employee identification number. |
2 |
EMPL_RCD |
TL_EMPL_DATA |
Employee record number. |
3 |
NAME |
PERSONAL_DATA |
Employee name. |
4 |
EFFDT |
BADGE_TBL |
Effective date of the badge. |
5 |
BADGE_NBR |
BADGE_TBL |
Badge number. |
6 |
HIRE_DT |
EMPLOYMENT |
Hire date. |
7 |
REHIRE_DT |
EMPLOYMENT |
Rehire date. |
8 |
CMPNY_SENIORITY_DT |
EMPLOYMENT |
Seniority date. |
9 |
SUPERVISOR_ID |
EMPLOYMENT |
Supervisor ID. |
10 |
WORKGROUP |
TL_EMPL_DATA |
Workgroup ID. |
11 |
PAYGROUP |
JOB |
Paygroup. |
12 |
EMPL_STATUS |
JOB |
Employee status. |
13 |
REG_TEMP |
JOB |
Regular or temporary indicator. |
14 |
FULL_PART_TIME |
JOB |
Full-time or part-time indicator. |
15 |
EMPL_TYPE |
JOB |
Employee type indicator (hourly, salaried, and so on). |
16 |
PER_TYPE |
PERSONAL_DATA |
Personnel type indicator. |
17 |
COMPANY |
JOB |
Company. |
18 |
JOBCODE |
JOB |
Job code. |
19 |
LOCATION |
JOB |
Location. |
20 |
COMPRATE |
JOB |
Compensation rate. |
21 |
UNION_CD |
JOB |
Union code. |
22 |
DEPTID |
JOB |
Department ID. |
23 |
BUSINESS_UNIT |
JOB |
Business unit. |
24 |
POSITION_NBR |
JOB |
Position number. |
Note. This table contains data on the employees in each batch of time reporters for the period of interest defined by the Build Rule Map process. Because it only contains data for the period of interest defined by the rule map process, you cannot use it as a source of human resources data for periods extending beyond the period of interest.
Rules Prioritization in A Rule Program
Consider rule priority when dependencies exist among the rules in a rule program. For example, you’ve defined these rules for the organization:
Default TRC: Set any blank TRC to REG.
Daily 8: Pay overtime (OT1.5) for hours worked in excess of 8.0 per day.
Daily 12: Pay double time (OT2.0) for hours in excess of 12 per day.
Weekly 40: Pay overtime (OT1.5) for hours worked in excess of 40 per week.
In this example, the second, third, and fourth rules evaluate time with a TRC of REG. In addition, they are replace-type rules, for which REG is reduced to the threshold number and a new TRC is created for the excess hours. Based on this information, order your rule program as follows:
Default TRC
Other rules must evaluate TRC REG.
Daily 12
This must execute before the Daily 8 rule because REG is set to 12 if hours are over 12. If the Daily 8 rule runs first, the Daily 12 rule does not generate double time because all records with hours over 12 are set to 8.
Daily 8
Daily 12 reduces hours in excess of 12 to 12.
Weekly 40
Executed last because it needs to capture all the REG hours (including REG hours that are reduced by daily rules and REG hours that are not altered by daily rules).
Time Period Selection for A Rule
When creating rules, carefully analyze the time period to use. For rules that apply to punch time reporters, evaluate your daybreaker and the relationship between the out punch of one day and the in punch of the next day. In many cases, you may need to apply a time period greater than a day for the proper evaluation of a daily rule.
Always test any rule you create using an interactive SQL tool. Otherwise, the system could generate incorrect results when it processes the rules.
Note. When testing a template-built rule, you may need to replace meta-SQL with platform specific code and enter values for variables that users would normally insert into the template’s condition and action statements through the template pages.
See Also
Creating Rules with Actions and Conditions
Step 5: Building Time Reporter Profiles
Setting Up Day Breaker Options
Creating Rules from A Template
|
Click to view the SQL text of the action, condition, or SQL object. |
To create value lists, use the Value List (TL_VALUE_LST_PNL) component.
This section discusses how to group codes into value lists.
Page Name |
Object Name |
Navigation |
Usage |
TL_VALUE_LST_PNL |
Set Up HRMS, Product Related, Time and Labor, Rules and Workgroups, Value List |
Group codes for rules processing. |
Access the Value List page.
Value List Detail
Value Group |
Select the values to include in your list. Press the Add button to add another value to the list. |
To define rule elements, use the Rule Element 1 through Rule Element 5 (TL_RULE_ELEM1_PNL, TL_RULE_ELEM2_PNL, TL_RULE_ELEM3_PNL, TL_RULE_ELEM4_PNL and TL_RULE_ELEM5_PNL) components. Use the TL_RULE_ELEM1_PNL, TL_RULE_ELEM2_PNL, TL_RULE_ELEM3_PNL, TL_RULE_ELEM4_PNL and TL_RULE_ELEM5_PNL component interfaces to load data into the tables for these components.
This section discusses how to create user-defined rule elements.
Page Name |
Object Name |
Navigation |
Usage |
TL_RULE_ELEM1_PNL TL_RULE_ELEM2_PNL TL_RULE_ELEM3_PNL TL_RULE_ELEM4_PNL TL_RULE_ELEM5_PNL |
Set Up HRMS, Product Related, Time and Labor, Task Elements, Rule Element 1 through Rule Element 5 |
Create user-defined values that the system can evaluate during the Time Administration process. |
Access the appropriate Rule Element page.
Note. If you want to relabel the rule element fields, see the instructions in your PeopleTools PeopleBook.
To specify table access, use the Working Tables (TL_TA_WORK) component.
Before creating rules using actions and conditions or SQL Objects, identify the tables (or records) to access and the actions to allow or prevent on these tables. This task consists of granting access to tables in Time and Labor and Human Resources.
Page Name |
Object Name |
Navigation |
Usage |
TL_TA_WORK_PNL |
Set Up HRMS, System Administration, Utilities, Build Time and Labor Rules, Working Tables |
Grant SQL access to tables in the Time and Labor and Human Resources systems. |
Access the Working Tables page.
The tables listed in the Record (Table) Name column are the records and tables to which you can grant (or deny) SQL access. Although we have predefined access to many tables in the Time and Labor system, you can change the delivered settings and can insert new rows for additional tables that you must access within your rules. All tables in the HRMS system are available for rules development. The only tables you do not have access to are PeopleTools tables.
SQL Action Elements
SQL Access Delete |
Select to delete a field or row in the table listed in the Record (Table) Name field. Note. If you use an Expression Text field to write free-form SQL, you can delete a table even though the table is defined with SQL Access Delete turned off on the Working Tables page. |
SQL Access Insert |
Select to insert rows in the table listed in the Record (Table) Name field. |
SQL Access Select |
Select to select fields in the table listed in the Record (Table) Name field. |
SQL Access Update |
Select to update rows in the table listed in the Record (Table) Name field. |
Additional Elements
AE State Record (application engine state record) |
The check boxes in the AE State Record column enable you to specify which AE state records rules developers can access when they create SQL objects. If a state record does not exist on the Working Tables page, it won’t be available in the edit tables on the SQL Objects pages. Note. The Working Tables page is delivered with many AE state records already available for use in SQL objects. If you create new AE state records, enter rows for these records on the Working Tables page and specify those to make available in your SQL objects. |
Time Admin Runtime Table (time administration runtime table) |
The check boxes in the Time Administration Runtime column enable you to specify which temporary (working) tables used by the Time Administration batch process are deleted during batch processing. Deletion can take place at two points: within the loop Time Administration runs for each batch and at the beginning of the Time Administration process. If a runtime table does not exist on the Working Tables page and is not defined for deletion, it isn't truncated during the batch run. Note. The Working Tables page is delivered with the runtime tables for Time Administration preselected for deletion. If you create new runtime tables, you must enter rows for these tables on the Working Tables page and specify the AE program that they are part of. |
AE Program (application engine program) |
All runtime tables predefined for deletion are associated with an AE program in the AE Program column of the Working Tables page. If you create runtime tables, assign these tables to their appropriate AE program in the AE Program column. |
Load Record Fields |
If you add new records (tables) to the Working Tables page, click the Load Record Fields button to access specific fields in these records when creating rules in actions and conditions or SQL objects. If you enter new records on the Working Tables page but forget to click Load Record Fields, the fields won’t appear in the prompt tables on the Actions and Conditions or SQL Objects pages. Warning! If you create new records in Time Administration, you must add them to the Working Tables page and grant the appropriate level of access. Otherwise, the system does not know that they exist, and you can’t access them in the rules. |
Working Tables on the Working Tables Panel
All working tables that are truncated during batch processing must be identified on the Working Tables panel and marked as Time Administration Runtime tables. If a runtime table is not listed in the Working Tables panel and is not defined for deletion, it isn't truncated during the batch run. The Working Tables panel is delivered with the PeopleSoft-delivered runtime tables for Time Administration preselected for deletion (truncation). If you create new runtime tables, enter rows for these tables on the Working Tables panel and specify the AE program that they belong to.
To define table relationships, use the Relationship Definitions (TL_RELATIONSHIP) component.
Defining table relationships consists of joining fields on different record tables.
Page Name |
Object Name |
Navigation |
Usage |
TL_RELATIONSHIP |
Set Up HRMS, System Administration, Utilities, Build Time and Labor Rules, Relationship Definitions |
Create relationships between tables. |
Access the Relationship Definitions page.
Fields
Join Fields 1-5 |
Enter the fields from each table that the system must use to create a relationship between the tables. |
Define a relationship definition when you use a condition that references a field that is not part of the updated record.
Example
If a time reporter belongs to Union ‘ABC’ and reports more than eight hours per day under TRC REG, change REG to DBL.
The action for this statement is:
UPDATE PS_TL_IPT1 SET TRC = ‘DBL’
The two conditions for this statement are:
WHERE PS_TL_IPT1.TRC = ‘REG’ AND PS_JOB.UNION_CD = ‘ABC’
To identify the correct effective-dated row and sequence from the JOB table, we would need several additional lines of code comparing the employee IDs, employee record numbers, and dates in the TL_IPT1 and JOB tables. Setting up a relationship definition eliminates the need to code this relationship individually.
To define template-built rules, use the Template-Built Rules (TL_TA_RULE_TMPLT) component.
Time and Labor delivers more than 40 rule templates. Use templates to create a variety of rules for the Time Administration program to execute when processing reported or scheduled time. You can create compensation rules for overtime and holidays, notification rules for irregular attendance, and rules for other time-reporting situations that require special processing.
Rules consist of condition and action statements. When using a template to create a rule, enter values for the variables within the template’s condition and action statements. For example, to pay overtime when a time reporter reports more than 40 hours per week, you might use one of the Period Threshold templates to create the rule. The rule text of Template020 says:
“When a time reporter reports time under time reporting code a and the sum of hours is greater than b in the specified period c, then all hours in excess of b will be paid using TRC d.”
To create a rule, open Template020, enter values for variables a, b, c, and d, and then save the new rule with a unique rule ID. Add the rule to a rule program on the Rule Programs page and assign the rule program to a workgroup.
After you save a template-built rule and include it in a rule program, you cannot change the values in the action or condition statements. However, you can modify rules by changing the actions or conditions (not simply the values within the conditional clauses), or by defining your own SQL Objects.
Before you modify a template-built rule, you need to understand how the values you have defined are stored and accessed. When you save your rule with a unique rule ID, the rule is compiled and the values you entered are stored in the record TL_TMPLT_RULE2, replacing a generic rule parameter in the template called %RuleTemplate(), which acts as a placeholder for each variable you defined. (A rule parameter is a variable that is substituted with a user-defined value when a template-built rule is compiled.) The record TL_TMPLT_RULE2 tracks the values that will be resolved in each rule step by rule ID. Because the same rule parameter represents all the values you define in a template-built rule, and there may be multiple instances of %RuleTemplate() in a single rule and in a single rule step, the record TL_TMPLT_RULE2 identifies the different occurrences of %RuleTemplate by step and sequence number.
You have several options for modifying a rule you have defined using the Define Template-Built Rules component:
Copy the rule and name a new rule using the Copy Rules page. When you copy the rule, however, you need to change the AE section to represent the new rule. In addition, for every occurrence of %RuleTemplate(), you need to substitute actual values by defining your own SQL Objects. The reason for this is that the connection is broken between the original rule ID and the values stored in the record TL_TMPLT_RULE2.
Modify the existing rule using the Define Rules component by changing one of the rule steps, or by adding a new step or substituting a different SQL Object or action and condition in place of one originally created from the rule template. You must then compile this new rule. However, if you customize a rule in this way, the only way to view or make future changes to the rule is to use the Define Rules component; you can no longer access the rule through the Define Template-Built Rules component.
Although this modification may not break the connection between the rule and the values contained in TL_TMPLT_RULE2, we recommend that you do not rely on this connection, but instead do the following:
To add a new step to a rule or change an existing step or object, hard code the values you want to use in that step (replace %RuleTemplate() with actual values), and recompile the rule.
To delete a step, recompile the rule; you do not need to worry about the connection being broken.
Note. When modifying a rule, always test the rule to make sure that it functions as you expect.
Create a new rule ID from the same rule template, modify this rule using the Define Rules component, and compile the new rule. In this way, you retain the original rule, and have a newly modified rule to work with.
Note. To change a rule that is already in a rule program, temporarily remove the rule from the rule program before changing it. After changing the rule, reassociate the rule to a rule program. This safeguard protects the integrity of the data generated by the original rule. After saving the new rule, be sure to update the appropriate rule program.
Example: Multiple Jobs and Rules
This example shows a Daily Overtime Rule and a Period Threshold rule, and shows how the overtime hours for all jobs are calculated:
Daily Overtime: The system totals the overtime for the day, checks where the threshold falls, and applies it to the job accordingly.
Note. In this example, overtime is defined as any time over eight hours.
Empl Rcd # |
Reported Hours |
Overtime |
0 |
0 |
0 |
1 |
5 |
0 |
2 |
2 |
0 |
3 |
3 |
2 |
Weekly Overtime:
Note. In this example, overtime is defined as any time over 40 hours.
Empl Rcd # |
Monday |
Tuesday |
Wednesday |
Thursday |
Friday |
0 |
2 |
8 |
|||
1 |
8 |
2 |
|||
2 |
5 |
5 |
5 |
||
3 |
3 |
3 |
9 |
||
Total Hours |
8 |
8 |
10 |
15 |
9 |
Delivered Templates
The following tables list the rule templates delivered with Time and Labor. They are presented alphabetically by template type. The possible variables are in uppercase letters.
The Combine Data? heading identifies whether the Time Administration process combines the results for time reporters with multiple jobs. Results are combined only if each job (employee record) is in the same workgroup. (The employee records do not need to be in the same run of the Time Administration process to be combined.)
The Punch, Elapsed or Both Column indicates whether the rule template applies to punch time reporters, elapsed time reporters or both types of time reporters.
Accumulator Templates
Name |
Description or Example |
Rule |
Combine Data? |
Punch, Elapsed, or Both |
Template 510 |
Determines if overtime hours exceeds a specified value. (Create or Replace.) This template is not available for online rules. |
When a time reporter reports time under TRC(s) (1)SPECIFIED_TRCs and the sum of hours from ((1)SPECIFIED_TRCs + Accumulator TRC (2)SPECIFIED_ACCUMULATOR) is in the (3)SPECIFIED_PERIOD period, and is greater than (4)SPECIFIED_HOURS hours, then all hours in excess of (4)SPECIFIED_HOURS will be paid under (5)SPECIFIED_TRC TRC. |
Y |
Both |
Template 520 |
Inserts the sum of selected TRCs into the Accumulator table (TL_IPT1_CNT). If you include more than one rule that updates the same TRC in the same rule program, the system overwrites the accumulator value each time it is resolved. On the Template Header page, the default setting for the Time Period ID field is “NONE.” This template is not available for online rules. |
When a time reporter reports time under TRC(s) (1)SPECIFIED_TRCs, then store the sum of hours into the (2)SPECIFIED_ACCUMULATOR Accumulator TRC. |
Y |
Both |
Template 540 |
Loads a value from the Accumulator table to the specified TRC (see Template 520 for more information). Rules created with this template should not be used alone. For example, you might execute the rule before applying a rule created with template 020. On the Template Header page, the default setting for the Time Period ID field is “NONE.” This template is not available for online rules. |
Load (1)SPECIFIED_ACCUMULATOR Accumulator TRC from the Accumulator Table (TL_IPT1_CNT) into the Rules working table (TL_IPT1) for processing. |
N |
Both |
Template 550 |
Similar to Period Threshold Template 020, but the threshold is determined by another TRC List. This template is not available for online rules. |
When the hours of Accumulator TRC (1)SPECIFIED_ACCUMULATOR are greater than the hours of Accumulator TRC (2)SPECIFIED_ACCUMULATOR, in the specified period (3)SPECIFIED_PERIOD, then all hours in excess of Accumulator TRC (2)SPECIFIED ACCUMULATOR will be paid under (4)SPECIFIED_TRC TRC. The value of Accumulator TRC (2)SPECIFIED_ACCUMULATOR is the threshold for comparison. |
Y |
Both |
Approval Required Template
Name |
Description or Example |
Rule |
Combine Data? |
Punch, Elapsed or Both |
Template 180 |
All time reported to specific TRC or TRC list requires manager approval before being paid. This template is not available for online rules. The system sets payable status for online rules to Online Estimate, not Needs Approval. |
All time reported to TRCs (1)SPECIFIED_TRC or (2)SPECIFIED_TRC_LIST requires manager approval prior to being paid. Use this template to require approval for time reported to a specific TRC or list of TRCs, rather than for an entire workgroup. |
N |
Both |
Attendance Templates
Name |
Description or Example |
Rule |
Combine Data? |
Punch, Elapsed or Both |
Template 360 |
If a time reporter doesn't report SICK for x number of days, create y hours of compensatory time. |
If an elapsed time reporter doesn't report time to TRC (1)SPECIFIED_TRC for (2)SPECIFIED_DURATION days, create (3)SPECIFIED_HOURS hours of TRC (4)SPECIFIED_TRC. Use this template to compensate employees reporting elapsed time for perfect attendance. |
N |
Elapsed |
Template 360A |
If a time reporter doesn’t report any attendance violations for x number of days, create y hours of a TRC. |
If a punch time reporter doesn't record an attendance violation for (1)SPECIFIED_NUMBER_OF_DAYS days, then create (2)SPECIFIED_HOURS hours of TRC (3)SPECIFIED_TRC for perfect attendance compensation. Use this template to compensate employees reporting punch time for perfect attendance. |
N |
Punch |
Template 360B |
If a time reporter doesn’t report any attendance violations or report SICK for x number of days, create y hours of a TRC. |
If a time reporter doesn't report time to TRC (1)SPECIFIED_TRC for (2)SPECIFIED_DURATION days, create (3)SPECIFIED_HOURS hours of TRC (4)SPECIFIED_TRC. Use this template to compensate employees reporting elapsed time or punch time for perfect attendance. |
N |
Both |
Consecutive Days Templates
Name |
Description or Example |
Rule |
Combine Data? |
Punch, Elapsed or Both |
Template 110 |
If a time reporter works x consecutive days, then all hours on day x pay specific TRC. (Create or replace.) |
When a time reporter reports more than (1)SPECIFIED_HOURS hours under TRCs (2)SPECIFIED_TRC_LIST in a day for (3)SPECIFIED_DURATION consecutive days, then all time reported for day (3)SPECIFIED_DURATION will be paid under TRC (4)SPECIFIED_TRC. |
Y |
Both |
Template 111 |
If a time reporter works x consecutive days, then all hrs < 8 on the seventh day are paid specific TRC, while all hrs > 8 on the seventh day are paid another specified TRC. (California 7 Day Rule.) (Create or replace.) |
When a time reporter works seven consecutive days in the state of California and reports time under TRCs (1)SPECIFIED_TRC_LIST in a given workweek, the first 8.0 hours worked on the seventh day are paid as overtime (time and a half) under TRC (2)SPECIFIED_TRC1, while hours worked on the seventh day in excess of 8.0 are paid as double time under TRC (3)SPECIFIED_TRC2. |
Y |
Both |
Template 120 |
If a time reporter works x consecutive days, then all hours on days >= x pay specific TRC. (Create or replace.) |
When a time reporter reports more than (1)SPECIFIED_HOURS hours in a day under TRCs (2)SPECIFIED_TRC_LIST for (3)SPECIFIED_DURATION consecutive days, then all time reported for day (3)SPECIFIED_DURATION is paid under TRC (4)SPECIFIED_TRC. |
Y |
Both |
Daily Threshold Template
Name |
Description or Example |
Rule |
Combine Data? |
Punch, Elapsed or Both |
Template 010 |
Pay OT for all hours in a day > x. (Create or replace.) |
When a time reporter reports time under TRCs (1)SPECIFIED_TRCs and the sum of hours is greater than (2)SPECIFIED_HOURS hours in a day, then all hours in excess of (2)SPECIFIED_HOURS are paid under (3)SPECIFIED_TRC TRC. |
Y |
Both |
Default Template
Name |
Description or Example |
Rule |
Combine Data? |
Punch, Elapsed or Both |
Template 130 |
Replace all hours reported without a time reporting code to x. |
Assigns any hours without a TRC to TRC (1)SPECIFIED_TRC. |
N |
Both |
Template 135 |
Replace or remove the Time Reporting Code for the indicated punch types with the specified TRC. Only an hours type TRC can be chosen for this rule. |
Replaces the Time Reporting Code (TRC) entered with the specified hours type TRC: (1) PUNCH_TYPE:SPECIFIED_TRC |
N |
Punch |
Exception Templates
Name |
Description or Example |
Rule |
Combine Data? |
Punch, Elapsed or Both |
Template 140 |
If a time reporter reports hours > x, then create an exception. |
Create exception (1)SPECIFIED_EXCEPTION when a time reporter reports more than (2)SPECIFIED_HOURS total hours of TRCs (3)SPECIFIED_TRC_LIST for a day. Use this template to warn a manager when time reporters are reporting an excessive number of hours. The results for multiple jobs combine to Empl Rcd 0 for rule evaluation. |
Y |
Both |
Template 150 |
If a time reporter reports x OT hours for a period, then create an exception. |
Create exception (1)SPECIFIED_EXCEPTION when a time reporter reports more than (2)SPECIFIED_HOURS total hours of (3)SPECIFIED_TRC_LIST during the rule period. Use this template to warn that a time reporter is approaching overtime for the specified period. The results for multiple jobs combine to Empl Rcd 0 for rule evaluation. |
Y |
Both |
Template 210 |
If a time reporter reports x minutes past scheduled start time, create an exception. |
When a time reporter punches IN more than (1)SPECIFIED_MINUTES minutes after their scheduled IN punch, generate exception (2)SPECIFIED_EXCEPTION_ID. |
N |
Punch |
Template 230 |
Create an exception when time is reported and the employee's status is in the following list ('Deceased', 'Terminated', 'Suspended',…) |
Create exception (1)SPECIFIED_EXCEPTION_ID when time is reported and the employee status is in the following list (2)SPECIFED_EMPLOYEE_STATUS_LIST. |
N |
Both |
Template 240 |
Valid punch types to follow a punch type. |
When a punch type of (1)SPECIFIED_PUNCH_TYPE is followed by one of the following punch types (2)SPECIFIED_LIST_OF_PUNCH_TYPES, generate exception (3)SPECIFIED_EXCEPTION_ID. This rule ensures that time reporters report their clock time in correct punch type sequence. (For example, an IN punch must always follow an OUT punch, and so on.) You could use this rule in conjunction with Exception Template 250. |
N |
Punch |
Template 250 |
Create an exception if a time reporter reports x minutes > threshold for specified PUNCH_TYPE. |
When a time reporter reports more than (2)SPECIFIED_HOURS hours for the following punch types (3)SPECIFIED_PUNCH_TYPE, create exception (1)SPECIFIED_EXCEPTION. This rule ensures that a time reporter has no missing punches. For example, if time reporters never have more than 10 hours associated to an IN punch (because of meals, breaks, and so on), then create a rule that creates an exception when an IN punch > 10 hours. |
N |
Punch |
Template 280 |
If a time reporter works x number of hours without a break, create an exception. |
When a time reporter works more than (1)SPECIFIED_DURATION hours without a break, create exception (2)SPECIFIED_EXCEPTION. Use this template to inform managers if time reporters are working too many hours without a break. |
Y |
Punch |
Template 300 |
Average hours per week threshold. Weekly rolling period. |
When a time reporter reports time under TRCs (1)SPECIFIED_TRC_LIST more than (2)SPECIFIED_AVERAGE_HOURS hours per week during the last (3)SPECIFIED_NUMBER_OF_WEEKS weeks, create exception (4)SPECIFIED_EXCEPTION_ID. Template 300 must have a weekly rolling period ID assigned. (For example, first period is week 1 through week 10, second period is week 2 through week 11, and so on). |
Y |
Both |
Template 310 |
Average hours per week threshold. Daily rolling period. |
When a time reporter reports time under TRCs (1)SPECIFIED_TRC_LIST more than (2)SPECIFIED_AVERAGE_HOURS hours per week during the last (3)SPECIFIED_NUMBER_OF_WEEKS weeks, create exception (4)SPECIFIED_EXCEPTION_ID. This template will have a Daily rolling period ID assigned. For example, first period is day one of week 1 through day seven of week 10; second period is day two of week 1 through day one of week 11 and so on. |
Y |
Both |
Template 320 |
Night work limits. |
When the average number of hours worked per day between (1)SPECIFIED_START_TIME and (2)SPECIFIED_END_TIME reported under TRCs (3)SPECIFIED_TRC_LIST is greater than (4)SPECIFIED_HOURS hours during the last (5)SPECIFIED_NUMBER_OF_WEEKS weeks, create exception (6)SPECIFIED_EXCEPTION_ID. |
Y |
Punch |
Template 330 |
Weekly rest period. |
When the number of hours for an uninterrupted rest period in a period is less than (1)SPECIFIED_HOURS hours, create exception (2)SPECIFIED_EXCEPTION_ID. |
N |
Punch |
Template 340 |
Daily rest period. |
When the number of hours between shifts (daily rest period) is less than (1)SPECIFIED_HOURS hours, create exception 2)SPECIFIED_EXCEPTION_ID.. |
N |
Punch |
Template 350 |
In-work rest period. |
When a time reporter worked at least (1)SPECIFIED_HOURS hours per day and did not take at least a total of (2)SPECIFIED_MINUTES minutes break, then create exception (3)SPECIFIED_EXCEPTION_ID. |
N |
Punch |
Template 400 |
Minors may not work hours > 18 in a week or hours > three in a day when school is in session. Minors may not work hours > 40 in a week or hours > 8 in a day when school is not in session. |
Create exception (1)SPECIFIED_EXCEPTION when minors between the ages of 14 and 16 work more than (2)SPECIFIED_HOURS hours in the period (3)SPECIFIED_PERIOD (day, week, month) and school is in or out of session between (4)SPECIFIED_DATE1 and (5)SPECIFIED_DATE2 . Use this FLSA rule for minors when school is in and out of session. The period for the rule is defined in the template header. When using this template, it is recommended that an In Session rule and an Out of Session rule are created and added to the rule program to provide the system with the school in session dates required to properly evaluate minors' reported time. Note. Update this rule annually for traditional schools and possibly quarterly for year-round schools. |
N |
Both |
Template 430 |
If a time reporter reports vacation time on a day that is in a future period, create an exception. This template is not available for online rules. |
Create exception (1)SPECIFIED_EXCEPTION when a time reporter reports TRCs (2)SPECIFIED_TRC for a future period. |
N |
Both |
Guaranteed Hours Templates
Name |
Description or Example |
Rule |
Combine Data? |
Punch, Elapsed or Both |
Template 030 |
If a time reporter reports hours on a nonscheduled day, then they are guaranteed x number of hours. |
When a time reporter reports hours to TRCs (1)SPECIFIED_TRCs on an unscheduled day, and the sum of reported hours is (2)SPECIFIED_OPERATOR (3)SPECIFIED_HOURS hours, then replace the reported number of hours with (4)SPECIFIED_HOURS hours. Use this template for Guaranteed Hours rules. |
Y |
Both |
Template 031 |
If a time reporter reports a specific number of hours to a specific TRC, then they are guaranteed x number of hours. |
When a time reporter reports hours to TRCs (1)SPECIFIED_TRCs, and the sum of reported hours is (2)SPECIFIED_OPERATOR (3)SPECIFIED_HOURS hours, then replace the reported number of hours with (4)SPECIFIED_HOURS hours. You can use this template to pay a guaranteed number of hours to a time reporter. |
Y |
Both |
Holiday Templates
For proper evaluation of all holiday rules, use a time period that is greater than one day for the rule.
Note. For all "create" holiday rules, the system will create holiday pay in addition to reported or scheduled time. For all "replace" construct holiday rules, only scheduled time will be replaced with holiday pay. Any reported time will not be replaced with holiday pay.
Name |
Description or Example |
Rule |
Combine Data? |
Punch, Elapsed or Both |
Template 060 |
Pay all time reporters HOL for a holiday. (Create or replace.) |
Pay the following time reporters (1)SPECIFIED_EMPLOYEE_TYPE (2)SPECIFIED_HOURS hours of TRC (3)SPECIFIED_TRC for holiday pay. Use this template to pay holiday pay to all time reporters. |
N |
Both |
Template 070 |
Pay HOL for a holiday only if a time reporter worked the day before and the day after the holiday. (Create or replace.) |
Pay the following time reporters (1)SPECIFIED_EMPLOYEE_TYPE (2)SPECIFIED_HOURS hours of TRC (3)SPECIFIED_TRC for holiday pay if they work the day before AND the day after the holiday. Use this template to pay holiday pay to all time reporters based on their attendance around the holiday. |
N |
Both |
Template 071 |
Pay HOL for a holiday only if a time reporter worked the day before AND the day after the holiday. (Create or replace.) Note. For all "create" holiday rules, the system will create holiday pay in addition to reported or scheduled time. For all "replace" construct holiday rules, only scheduled time will be replaced with holiday pay. Any reported time will not be replaced with holiday pay. |
Pay the following time reporters (1)SPECIFIED_EMPLOYEE_TYPE (2)SPECIFIED_HOURS hours of TRC (3)SPECIFIED_TRC for holiday pay if they work the day before OR the day after the holiday. Use this template to pay holiday pay to all time reporters based on their attendance around the holiday. |
N |
Both |
Template 080 |
If a time reporter works on a holiday, create X pay premium for each hour reported. (Create or replace.) |
When the following time reporters (1)SPECIFIED_EMPLOYEE_TYPE report hours on a holiday, pay an additional (2)SPECIFIED_HOURS hour(s) of TRC (3)SPECIFIED_TRC for premium pay, based on each hour reported to (4)TRC . Use this template to pay a premium for hours worked to all time reporters who work on a holiday. |
N |
Both |
Template 420 |
Pay part-time time reporters x hours of holiday pay where x is = AVG (hours worked per day) for specified period. |
Pay part-time time reporters the average hours worked per day during the specified period using TRC (1)SPECIFIED_TRC. The period ID selected for this rule should have an end date that falls on the holiday. For example, to pay holiday pay for 1/1/2005 based on average hours worked for the past two months, the period ID should be 11/1/2004 through 1/1/2005. |
N |
Both |
Meal Template
Name |
Description or Example |
Rule |
Combine Data? |
Punch, Elapsed or Both |
Template 160 |
If a punch time reporter works more than x number of hours, then deduct y hours for meal. |
When a punch time reporter reports at least (1)SPECIFIED_HOURS hours in a day and no meal is reported, create a (2)SPECIFIED_DURATION hour meal with TRC (3)SPECIFIED_TRC. The punch type of MEAL must be selected on the primary page for this rule to work properly. Use this template for automatic meal deductions. If two automeal deduct rules are created for one rule program, only one applies. |
Y |
Punch |
Miscellaneous Templates
Name |
Description or Example |
Rule |
Combine Data? |
Punch, Elapsed or Both |
Template 530 |
Remove (1)SPECIFIED_TRC TRC from Rules working table (TL_IPT1) to ensure the TRC is not included in Payable Time. On the Template Header page, the default setting for the Time Period ID field is “NONE.” WARNING! Any TRC used in this template is not included in Payable Time and is not sent to a payroll system. This rule template is often used to clean up Accumulators that are loaded into TL_IPT1. This template is not available for online rules. |
Remove (1)SPECIFIED_TRC TRC. |
N |
Not applicable |
Template 560 |
Performs calculations (add, subtract, multiply, or divide) between a TRC and a specified value. On the Template Header page, the default setting for the Time Period ID field is “NONE.” This template is not available for online rules. |
Update the quantity associated with TRC (1)SPECIFIED_TRC to be equal to TRC (1)SPECIFIED_TRC (2)SPECIFIED_CALCULATION (3)SPECIFIED_VALUE. |
N |
Not applicable |
Missing Punch Templates
Name |
Description or Example |
Rule |
Combine Data? |
Punch, Elapsed or Both |
Template 260 |
Update duration for specified PUNCH_TYPE with user-specified duration. |
When a time reporter reports more than (1)SPECIFIED_DURATION hours for a (2)SPECIFIED_PUNCH_TYPE punch, then update time reported to (3)SPECIFIED_DURATION hours. |
N |
Punch |
Template 270 |
Update duration for specified PUNCH_TYPE with scheduled Out punch. |
When a time reporter works more than (1)SPECIFIED_DURATION hours for a (2)SPECIFIED_PUNCH_TYPE punch, then update time worked to scheduled hours. |
N |
Punch |
Period Threshold Templates
Name |
Description or Example |
Rule |
Combine Data? |
Punch, Elapsed or Both |
Template 020 |
Pay overtime for all hours in a week > x. (Create or replace.) |
When a time reporter reports time under TRCs (1)SPECIFIED_TRCs and the sum of hours is greater than (2)SPECIFIED_HOURS hours in the specified period, then all hours in excess of (2)SPECIFIED_HOURS will be paid under (3)SPECIFIED_TRC TRC. |
Y |
Both |
Template 021 |
Pay overtime for all hours in a week > x to the day the a time reporter worked overtime. (Create or replace.) |
When a time reporter reports more than (1)SPECIFIED_HOURS hours under TRCs (2)SPECIFIED_TRC_LIST in a specified period, then all daily reported time greater than daily scheduled time will be paid under TRC (3)SPECIFIED_TRC. |
Y |
Both |
Premium Zone Templates
Name |
Description or Example |
Rule |
Combine Data? |
Punch, Elapsed or Both |
Template 100 |
If a time reporter works between x and y o'clock, then pay premium. |
When a time reporter works between (1)SPECIFIED_START_TIME and (2)SPECIFIED_END_TIME, create a shift premium only for those hours worked within the specified time, to be charged to TRC (3)SPECIFIED_TRC. |
N |
Punch |
Template 090 |
If a time reporter clocks in between x and y o'clock, then pay premium. |
When a time reporter punches IN between (1)SPECIFIED_START_TIME and (2)SPECIFIED_END_TIME, create a shift premium for all hours worked, to be charged to TRC (3)SPECIFIED_TRC. If the time reporter punches in within the specified time period, this rule creates a TRC for all hours worked, even when the time reporter punches out after the specified time period. |
N |
Punch |
Schedule Deviation Templates
Name |
Description or Example |
Rule |
Combine Data? |
Punch, Elapsed or Both |
Template 050 |
If a time reporter works outside of scheduled workweek, pay premium. |
When a time reporter reports hours on an unscheduled day, replace all reported hours with TRC (1)SPECIFIED_TRC. Use this template to pay a premium to employees for working outside of their regular work week. |
N |
Both |
Template 290 |
If a time reporter works shift other than home shift, then pay specific TRC. |
When a time reporter reports hours to a shift that is not their home shift, and the hours are reported to TRCs (1)SPECIFIED_TRC_LIST, then replace all the hours worked that day to TRC (2)SPECIFIED_TRC. When the In punch is more than (3)SPECIFIED_GRACE_EARLY minutes early or (4)SPECIFIED_GRACE_LATE minutes late, based on assigned schedule, all hours for that day's shift are assigned to TRC (2)SPECIFIED_TRC. The time reporter must also work at least the scheduled number of hours for this rule to be enacted. |
N |
Punch |
Template440 |
Replace with nearest schedule. |
If a time reporter reported an In punch more than (1)SPECIFIED_GRACE_EARLY minutes early or (2)SPECIFIED_GRACE_LATE minutes late, then change their schedule for the day to the schedule with the closest start time to the reported In punch, using the following list of shifts: (3)SPECIFIED_SHIFTS (with respective SetID). |
N |
Punch |
Shift Template
Name |
Description or Example |
Rule |
Combine Data? |
Punch, Elapsed or Both |
Template 190 |
Create premium if a time reporter works specified shift. |
When a time reporter is scheduled to work in one of these shifts (1)SPECIFIED_SHIFTS (with respective SetID), create a shift premium of (2)SPECIFIED_AMOUNT for each full hour worked with TRC (3)SPECIFIED_TRC. |
N |
Both |
Specific Day Template
Name |
Description or Example |
Rule |
Combine Data? |
Punch, Elapsed or Both |
Template 040 |
If hours exist on a specific day, then replace all hours with another TRC. (Create or replace.) |
When a time reporter reports hours that exceed (1)SPECIFIED_HOURS hours on (2)SPECIFIED_DAY, then replace the reported TRC with TRC (3)SPECIFIED_TRC. |
Y |
Both |
Task Template
Name |
Description or Example |
Rule |
Combine Data? |
Punch, Elapsed or Both |
Template 170 |
If a time reporter reports time for a specific TRC, then change tasks to x |
When a time reporter reports time under TRC (1)SPECIFIED_TRC, then charge time to task profile (2)SPECIFIED_TASK_PROFILE Use this template to change how time is charged when reporting a specific TRC. |
N |
Both |
See Also
Adding Rules to A Rule Program
Page Name |
Object Name |
Navigation |
Usage |
TL_TEMPLATE_PNL |
Set Up HRMS, Product Related, Time and Labor, Rules and Workgroups, Template-Built Rules |
Define or view general information for a rule. |
|
TL_TEMPLATE180_PNL |
Set Up HRMS, Product Related, Time and Labor, Rules and Workgroups, Template-Built Rules, Approval Required |
Define or view what the rule does (the condition and the action). Note. The page name and the object name have the suffix XXX, where XXX represents the number of the template. For example TL_TEMPLATE190_PNL. The page name is dynamic and will change depending on the template accessed. |
This section discusses how to:
Define and view general information for a rule.
Define the condition and action for the rule.
Access the Template Header page.
Note. Template-built rules are not effective-dated; however, they are associated with an effective-dated rule program.
Time Period ID |
The time period ID determines the date range for the selection criteria of the rule. The Time Administration program also uses the time period to determine which reported time to load into the working tables during processing. (Values for the Time Period ID field are defined on the Time Period pages.) Note. Select the appropriate time period ID for a rule. For example, suppose that a period rule is to evaluate seven days worth of data. Ensure that the specified time period ID contains exactly seven days to produce accurate results. |
AE Section |
Create a name for the application engine section to assign to this rule. You can enter up to eight alphanumeric characters. The Time Administration program requires a section name for processing. |
Punch Type
Select one or more punch types to apply the rule to, and select Include Elapsed Time, when applicable. For example, if you’re creating an overtime rule, select Include IN Punch, Include BREAK Punch, and Include XFER Punch. When a template applies only to punch time reporters, the option to include elapsed time is unavailable.
Include IN Punch |
Apply this rule to In punches. |
Include OUT Punch |
Apply this rule to Out punches. |
Include BREAK Punch |
Apply this rule to Break punches. |
Include MEAL Punch |
Apply this rule to Meal punches. |
Include XFER Punch |
Apply this rule to Xfer punches. |
Include Elapsed Time |
Apply this rule to Elapsed Time. |
Use Task Profile Indicator
When defining a rule that creates rows of time, select a task profile indicator to tell the system which task-related data to associate with the new row. This feature applies only to rules that create data. The options in this region are unavailable if a rule replaces data or generates an exception.
Template020 is an example of a rule that creates data. It states: “When a time reporter reports time under TRCs x and the sum of hours is greater than y in a specified period z, then all hours in excess of y will be paid under TRC z. A new TRC is created for each reported TRC affected by this rule.”
Template110 is an example of a rule that replaces data. It states: “When a time reporter reports more than a hours under TRCs b in a day for c consecutive days, then all time reported for day c will be paid under TRC d.”
We’ll use Template020 and the following reported times to illustrate how each option in this region works. Assume we’re creating an overtime rule that states if a person reports more than 40 hours in a week, create all hours over 40 with the TRC named OT. (The shaded row in this table represents the created time.)
Day |
Hours |
Task Profile Reported |
TRC |
Monday |
8 |
A |
REG |
Tuesday |
8 |
A |
REG |
Wednesday |
10 |
A |
REG |
Thursday |
8 |
B |
REG |
Friday |
10 |
B |
REG |
Friday |
4 |
Varies per your selection |
OT |
In this example, the time reporter crosses the 40–hour boundary on Friday, so the system creates four hours as OT. The task data that it associates with the four hours (in this case, department), depends on the selected task profile indicator:
Use Previous Row Tasks |
Select for the system to use the task profile associated with the row of data where the condition was met. Example: The four hours of OT are associated with task profile B since this was the profile to which the 40th hour was reported. |
Use Default Task Profile |
If you select this option, the system looks at the time reporter’s default task profile to determine which task-related data to associate with the new time. For example, suppose that the default task profile states that time should be reported to department C. In this case, the four hours of OT are associated with department C. |
Use Specified Task Profile |
If you select this option, a Task Profile ID field appears. You can select the task profile for the system to use to determine which task-related data to associate with the new time. For example, suppose that we select a task profile that states that time should be reported to department A. In this case, the four hours of OT are associated with department A. |
Distribute Tasks Equally |
Select for the system to first determine the percentage of time the time reporter reported to each task profile, and then use the same percentages to allocate the created time across the reported task profiles. The system distributes the tasks equally to the newly created time, based on the task profiles reported for the rule period. For example, of the 44 hours reported, 26 (or 60 percent) were reported to task profile A and 18 (or 40 percent) were reported to task profile B. The system allocates 60 percent of the four OT hours (or 2.40 hours) to task profile A and 40 percent of the four OT hours (or 1.60 hours) to task profile B. |
Task Profile ID |
This field appears only when you select the Use Specified Task Profile option. Select the task profile to use. |
Run Location Indicator
These fields are available only if you activate the Run On-line Rules option on the TL Installation page.
Batch Only |
Select for the system to apply this rule when you run the Time Administration batch process. |
On-line and Batch |
Select for the system to apply this rule when you run the Time Administration batch process or the Apply Online Rules process, which you start from the Weekly Elapsed Time page or the Weekly Punch Time page. |
See Also
Understanding Time and Labor Implementation
Adding Rules to A Rule Program
Defining Task Reporting Requirements
Access the Approval Required page.
Explanation |
Describes the action of the rule when you run the Time Administration process. The description includes both a condition and an action. |
Update Rule Text |
Click to see the values entered on this page inserted in the explanation of the rule as it appears in the Explanation field. |
Modify Conditions |
This button is available once a template-built rule is saved. It takes you to the Entering Basic Information About a Rule, which you can use to modify the conditional clause of the rule. This feature is for SQL users. If you use the Entering Basic Information About a Rule to modify the condition within a template-built rule, you cannot view the rule or change its values in the Template-Built Rules component. All future changes must be made on the Define Rules page. |
Criteria (Conditions)
Use the fields in this region to define the exact conditions that must be met to trigger the rule. Enter a value for each of the numbered variables in the conditional clause of the explanation. The conditional clause (known as the Where clause in SQL), often begins with if or when. For example, the conditional clause shown contains two variables labeled (1) and (2):
If an elapsed time reporter doesn't report time to TRC (1)SPECIFIED_TRC for (2)SPECIFIED_DURATION days, create (3)SPECIFIED_HOURS hours of TRC (4)SPECIFIED_TRC. Use this template to compensate employees reporting elapsed time for perfect attendance.
Variable in If Clause |
Enter Value in This Field |
(1)SPECIFIED TRC |
TRC or TRC List field |
(2)SPECIFIED DURATION |
Days |
Note. The fields that appear in the Criteria (Conditions) region vary by template. All possible fields are listed alphabetically and described:
Conditional Operator |
This field appears only when using a template type of Guaranteed Hours. You can select one of the following values: < (less than) <= (less than or equal to) = (equal to) > (greater than) >= (greater than or equal to) |
Daily Threshold |
This field appears only when using a Daily Threshold template. Enter the number of hours in the day over which the rule is triggered. For example, if you want the rule to be applied when a person reports more than 10 hours a day, enter 10 in this field. You can enter partial hours, in decimal format, in this field. |
Day of the Week |
Select the desired day of the week or enter the number that represents the day you want: Sunday = 1, Monday = 2, and so on. |
Days |
Enter a number of days in this field. |
Duration |
Enter a number of hours in this field. Use decimals for partial hours. |
Employee Type |
Select the type of time reporter to which to apply the condition. Valid values are Exception Hourly, Hourly, Salaried, or Not Applicable. (This field applies to both employees and nonemployees.) |
Grace Minutes |
This field appears only when using a Schedule Deviation template. Enter a grace period, in minutes, for punching in early. |
Grace Minutes Late |
This field appears only when using a Schedule Deviation template. Enter a grace period, in minutes, for punching in late. |
Hours |
Enter a number of hours. Use decimals for partial hours. |
Minutes |
Enter a number of minutes. |
Number of Days |
Enter a number of days. |
Period End Date |
Enter an end date. |
Period Start Date |
Enter a start date. |
Period Threshold |
Enter a number or hours, units, or an amount, as applicable. |
Premium Zone End |
Enter a start time. |
Premium Zone Start |
Enter an end time. |
Punch Type |
Enter the punch type to which the condition applies. Valid entries are Elapsed, In, Out, Meal, Break, Transfer. |
Punch Type List |
This field works in conjunction with the Punch Type field. Select a punch type list that defines which punch types can follow the punch type selected in the Punch Type field. For example, a punch type list may specify that only Meal and Out punches can follow an In punch. Punch type lists are defined on the Define Values List page. After you select a list, click the View List button to see the list of punch types included in the list. |
Shift List |
Select the appropriate shift list. Shift lists are defined on the Define Value List page. After you select a list, you can click the View List button to see the shifts included in the list. |
Time Period ID |
Select the appropriate time period. |
TRC |
Select the TRC that the condition applies to. |
TRC List |
If the condition applies to more than one TRC, select the TRC list that defines the set of TRCs. After you select a list, you can click the View List button to see which TRCs are included in the list. |
Use Value List |
Select the value list to which the condition applies. Value lists, such as shift lists, TRC lists, and employee status lists, identify a predefined set of valid codes. You can define up to 15 different types of value lists. |
View List |
The View List button is available only when the page contains an option for punch type list, shift list, TRC list, or use value list. Clicking it displays the contents of the selected list. |
Result (Action)
Use the fields in this region to define the action for the system to take when the condition is met. Enter a value for each of the numbered variables in the action clause of the explanation. For example, the action clause shown contains two variables labeled (3) and (4):
If an elapsed time reporter doesn't report time to TRC (1)SPECIFIED_TRC for (2)SPECIFIED_DURATION days, create (3)SPECIFIED_HOURS hours of TRC (4)SPECIFIED_TRC. Use this template to compensate employees reporting elapsed time for perfect attendance.
Variable in If Clause |
Enter Value in this Field |
(3)SPECIFIED HOURS |
Hours |
(4)SPECIFIED TRC |
Time Reporting Code |
Note. The fields that appear in the Result (Action) region vary by template. All possible fields are listed alphabetically and described:
Accumulator |
Select the TRC to which to assign the accumulated results of other TRCs. |
Doubletime TRC |
Select the time reporting code for double-time pay. |
Exception ID |
Select the type of exception for the system to generate when the rule is executed. Define exception IDs on the Define Exception page. |
Guaranteed Hours |
Enter a number of hours. |
Hours |
Enter a number of hours. |
Overtime TRC |
Select the TRC for overtime. |
Quantity |
Enter the number of hours or units. |
Rate |
Enter a monetary amount. |
Shift List |
Select the appropriate shift list. After you select a list, you can click the View List button to see the shifts included in the list. |
Task Profile ID |
Select the appropriate task profile ID. |
TRC |
Select the TRC. |
View List |
The View List button is only available when the page contains an option for punch type list, shift list, TRC list, or use value list. It displays the contents of the selected list. |
You can click the links at the bottom of the template page to access other pages within this component.
To define create rules with actions and conditions, use the Actions and Conditions (TL_ACTION and TL_CONDITIONS) components.
When you define actions and conditions in Time and Labor, you define them independently of one another, which enables you to reuse the same actions or conditions in more than one rule without having to define them again. Using actions and conditions does not require a mastery of SQL.
This section discusses how to:
Define general information for a SQL action.
Create the text of a SQL action.
Copy an action.
Define general information for a SQL condition.
Create the text of a SQL condition.
Copy a condition.
Page Name |
Object Name |
Navigation |
Usage |
TL_ACTION_PNL1 |
Set Up HRMS, System Administration, Utilities, Build Time and Labor Rules, Actions |
Define or view general information for a SQL action. Specify the action to perform (delete, insert, or update) and identify the target record (table) to perform the action on. If action type is insert (from another table), specify the source record (table). |
|
TL_ACTION_PNL2 |
Set Up HRMS, System Administration, Utilities, Build Time and Labor Rules, Action Detail |
Create the text of your SQL action. |
|
TL_TA_ACTN_CPY_CTL |
Set Up HRMS, System Administration, Utilities, Build Time and Labor Rules, Copy Actions |
Copy an action. |
|
TL_CONDITION1_PNL |
Set Up HRMS, System Administration, Utilities, Build Time and Labor Rules, Conditions |
Define or view general information for a SQL condition. |
|
TL_CONDITION2_PNL |
Set Up HRMS, System Administration, Utilities, Build Time and Labor Rules, Conditions, Define Condition Detail tab |
Create the text of a SQL condition. |
|
TL_TA_COND_CPY_CTL |
Set Up HRMS, System Administration, Utilities, Build Time and Labor Rules, Copy Conditions |
Copy a condition. |
Access the Action Header page.
Some fields on the Action Header page always appear; others appear only in connection with the action type of Insert. These elements always appear:
Action Type |
Specify the SQL action to perform. Valid values are:
|
Core Component |
This field is display-only and system-maintained. Several SQL objects are delivered with the Time and Labor application. These objects are used in templates. If the object you are viewing was created by the PeopleSoft system, this check box is selected; if you created this object, this check box is cleared. You cannot modify or save this object, but you can copy it and modify the copy. |
Target Record (Table) Name |
Enter the record (table) you want to delete, update, or perform the insert on. The records contained in the prompt table are those made available for deletion, insertion, or updating on the Working Tables page. |
Explanation |
Use this expression text box to explain the action you are defining. |
These fields appear only if you select an action type of Insert:
Source Record (Table) Name |
The source record (table) from which you are taking data to perform the insert. |
Insert Src Ind (insert source indicator) |
The field that enables you to specify the exact source of the data used to perform the Insert. Valid values are: From Another Table: If you select this value, the Source Record (Table) Name field is available. Enter the source record from which you are taking data to perform the insert. Go to the Action Details pages to specify the source of the data to enter into the Target Record (Table) fields. From a List of Values: If you select this value, the Source Record (Table) Name field is unavailable. Enter the target record into which you are inserting the list of values. To define the exact values to insert in each field contained in this record, go to the Action Details pages. |
Note. Click the links at the bottom of this page to access other pages in this component.
Access the Action Detail page: Action Details 1 tab.
If the action type on the Action Header page is Update or Insert, provide additional information about the fields in the target record (table) on which you are performing the action. For example, answer these questions: what fields are you updating or inserting data into and what are the sources (and types) of data that you are using to perform the insert or update?
The specific information to enter depends on the type of action specified on the Action Header page and the value entered in the Insert Src Ind field.
Enter the action details on the Action Details 1 and Action Details 2 tabbed grids. These grids work in combination; when you select a value on the Action Details 1 grid, related fields become available on the Action Details 2 grid.
Note. The Action Detail page is not available if your action type is Delete. Because you are deleting the contents of an entire record (table), do not enter field-level information on the Action Detail page.
Field Name |
|
Source Field Indicator |
|
Action Detail
Field Name |
This column contains the fields in the target record (table) that you are updating or performing the insert action on.
|
This page displays additional fields, depending on the source field indicator selected on the Action Detail 1 page:
Constant |
Displays if the source field indicator is Constant. Enter the constant to use for the update or insert. |
|
Displays if the source field indicator is Expression. Click the button to access the Expression Text field. |
Meta-SQL |
Displays if the source field indicator is Meta-SQL. Enter the meta-SQL to use for the insert or update action. |
|
Displays if the source field indicator is Meta-SQL. Click the button to set parameters within the meta-SQL. |
SRC FieldName (source fieldname) |
The system displays this field if the source field indicator is Rec Field (Record.Field) and the action type is Update or Insert - From Another Record.
|
State Variable |
The system displays this field if the source field indicator is State Var(state variable). Enter the state variable from any Time and Labor state record to use as the source of the update or insert. |
Access the Copy Action page.
Duplicate the action by changing the name. Then you can modify the action and combine it with other actions and conditions to form new rules.
Note. You cannot modify individual actions or conditions after they are part of a rule and the system is in production (that is, after Production Environment is selected on the Installation Options page).
Source Action ID |
Select the action to copy. When you enter a value in this field, the system displays the appropriate Short Description for this action. |
Target Action ID |
Enter a name for the new or duplicate action. |
Note. After copying an action, use the Define Actions component (in correction mode) to modify the copy.
Access the Define Condition Header page.
Note. Template-built rules are not effective-dated; however, they are associated with an effective-dated rule program.
Core Component |
This field is display-only and system-maintained. Time and Labor delivers many SQL objects that are used in templates. If the object you are viewing was created by PeopleSoft, this check box is selected; if you created this object, this check box is cleared. You cannot modify or save this object, but you can copy it and modify the copy. |
Explanation |
Use this expression text box to explain the condition you are defining. |
Click the links at the bottom of this page to access other pages within this component.
Access the Define Condition Detail page.
To define a condition on the Define Condition Detail page, specify the exact relationship that must occur between the elements before an action occurs. The action occurs only if the defined relationship is true. For example, you can specify that an action occurs only if a field equals a certain value Or you can specify that an action occurs only if a field value is greater than another defined value. You specify the kinds of elements to compare (for example, a field value to a constant) in the Left Condition Expr Type (left condition expression type) and Right Condition Expr Type (right condition expression type) fields. You define the precise relationship to occur between these elements (before an action can occur) in the Conditional Operator field.
The Define Condition Detail page contains several fields that appear permanently, and others that display or hide depending on the left and right condition expression type. These fields always appear:
Left Condition Expr Type (left condition expression type) |
Specify the type of element to compare to the element in the Right Condition Expr Type field to define the condition. Establish the correct relationship between these elements using the Conditional Operators field. Valid values are: Constant, Expression, Meta-SQL, RecField,and State Var (state variable). |
Right Condition Expr Type (right condition expression type) |
Specify the type of element to compare to the element in the Left Condition Expr Type field to define the condition. Establish the correct relationship between these elements using the Conditional Operators field. Valid values are: Constant, Expression, Meta-SQL, RecField, and State Var (state variable). |
Conditional Operator |
This field always appears, regardless of the left or right expression condition type. Use the conditional operator to define the relationship between the elements on the left and the right halves of the page. Select one of these values: < (less than) <= (less than or equal to) = (equal to) > (greater than) >= (greater than or equal to) |
Depending on the values in the Left Condition Expr Type and Right Condition Expr Type fields, these additional fields appear:
Left or Right Expression Type |
Additional Fields |
Constant |
The Left Constant or Right Constant field appears. Enter a constant to define the condition. |
Expression |
The Left Condition Expr Type (left condition expression type) or Right Condition Expr Type (right condition expression type) field appears. Enter an expression to define your condition. The expression text can be any length. |
Meta-SQL |
The Left Meta-SQL or Right Meta-SQL field appears. Enter the appropriate meta-SQL to define the condition. |
RecField |
If ther left or right condition expression type is RecField, these fields appear:
|
State Var |
The State Variable field appears. Enter the state variable to use to define the condition. |
Access the Copy Conditions page.
First, duplicate the condition. Second, rename and modify the condition. Then, combine the condition with other actions and conditions to form new rules.
Note. You cannot alter individual actions or conditions after they are part of a rule and the system is in production (that is, after Production Environment is selected on the Installation Options page).
Source Condition ID |
Select the condition to copy. When you enter a value in this field, the system displays the appropriate short description for this action. |
Target Condition ID |
Enter a name for the new or duplicate condition. |
After you copy the condition, use the Define Conditions component (in correction mode) to modify the copy.
To create SQL objects, use the SQL Objects (TL_SQL_OBJECT) component.
SQL objects are the most complex Time and Labor rule objects that PeopleSoft delivers. Use them to define rules that are more complicated than those accommodated by templates or actions and conditions.
SQL objects are complete SQL statements that consist of an action and may consist of one or more conditions. They can include select statements, insert statements, table joins, and subqueries. If you prefer to write free-form SQL statements, use an expression text box within the SQL object pages to enter and format the SQL statements. If you do not want to use free-form SQL statements, the SQL object pages provide guidance for each aspect of an action and condition.
If you create a SQL statement, modify a PeopleSoft-delivered object using the Copy SQL Object page to create and modify a copy. Or, use the SQL Object component to build the statement.
We use this example for discussing most pages in the SQL Object component. This SQL statement applies to the SQL Objects, Tables, Automatic Joins, Select Fields, and Where Expressions pages. It does not apply to the Expression Text, Insert, or Update pages.
INSERT INTO PS_TL_WRK02 (DUR , EMPLID , TL_QUANTITY) SELECT A.DUR , A.EMPLID , SUM(A.TL_QUANTITY) - %RuleTemplate() FROM PS_TL_IPT1 A , PS_TL_WRK01 B WHERE A.EMPLID = B.EMPLID AND A.DUR = B.DUR AND A.SEQ_NBR <= B.SEQ_NBR AND A.PUNCH_TYPE IN %RuleTemplate() AND A.TRC IN %RuleTemplate() GROUP BY A.DUR, A.EMPLID ORDER BY A.DUR, A.EMPLID
Note. PeopleSoft recommends that you have adequate SQL training before attempting to use these pages. Use templates, actions, and conditions whenever possible.
For any SQL object you create, designate a name, several descriptions, and the type of object you are building. Although this component has eight pages, you see a maximum of five. The visible pages depend on the type of SQL object you are building. Here are some questions to consider when defining a SQL object:
What type of SQL statement do I want to create?
What is the driver table for the statement?
What is the result table for the SQL Select statement?
What do I want to name the resulting SQL statement?
What other tables do I want to join to the driver table?
For each table added, how do I want to join this table to the driver table?
Do I want to do this later?
What fields do I want to select?
What fields on the driver table do I want to update?
How do I want to determine the scope of the Where clause statement?
In the example, we want to create a select with Insert statement. We select from TL_IPT1 and insert the results of the query into TL_TA_RESULTS. Entries on the SQL Object page provide this clause of the original example:
INSERT INTO PS_TL_WRK02 (DUR , EMPLID , TL_QUANTITY)
Setup Tasks
Creating SQL objects comprises the following tasks:
Selecting the type of action and creating descriptions of the SQL statement.
Creating free-from SQL text.
Entering values in the record field of a particular table.
Defining meta-SQL parameters.
Creating expression text.
Updating a record field.
Designating which tables you will use in this SQL object.
Creating expression text for tables.
Joining tables.
Creating the first clause of a Select statement.
Creating expression text for the first clause of a Select statement.
Creating the Where clause of your SQL statement.
Creating expression text for the Where clause of a SQL statement.
Copying a SQL object.
SQL Object Component
The SQL Object component changes according to the type of SQL statement you are building. Use this table to determine which pages are visible for each type of SQL statement:
Statement Type |
SQL Object |
Tables |
Automatic Joins |
Select Fields |
Where Exp. |
Exp. Text |
Insert Fields |
Update Fields |
Delete |
X |
|
|
|
X |
|
|
|
Expression |
X |
|
|
|
|
X |
|
|
Insert |
X |
|
|
|
|
|
X |
|
Select |
X |
X |
X |
X |
X |
|
|
|
Update |
X |
|
|
|
X |
|
|
X |
Page Name |
Object Name |
Navigation |
Usage |
TL_SQL_OBJECT_PNL |
Set Up HRMS, System Administration, Utilities, Build Time and Labor Rules, SQL Objects |
Select the type of action and create descriptions of the SQL statement you are creating. |
|
TL_SQL_EXPRESS_PNL |
Set Up HRMS, System Administration, Utilities, Build Time and Labor Rules, SQL Objects, Expression Text Expression must be entered in the *SQL Type field for the Expression Text tab to appear at the top of the page. |
Enter free-form SQL text. |
|
TL_SQL_INSERT_PNL |
Set Up HRMS, System Administration, Utilities, Build Time and Labor Rules, SQL Objects, Insert Fields You must select Insert from the SQL Type field menu for the Insert Fields tab to appear. |
Enter values in the record field of a table. |
|
TL_SQL_INSMSQL_SEC |
Click the Meta-SQL button on the Insert Fields page. |
Enter meta-SQL parameters. |
|
TL_SQL_OBJ_SECPNL4 |
Click the Expression Text button on the Insert Fields page. |
Enter expression text. |
|
TL_SQL_UPDATE |
Set Up HRMS, System Administration, Utilities, Build Time and Labor Rules, SQL Objects, Update Fields You must select Update from the SQL Type field menu for the Update Fields tab to appear. |
Update a record field. |
|
TL_SQL_OBJECT_TABLES |
Set Up HRMS, System Administration, Utilities, Build Time and Labor Rules, SQL Objects, Tables tab You must select Select from the SQL Type field menu for the Tables tab to appear. |
Designate which tables to use in this SQL object. |
|
TL_EXPRESN_SEC |
Click the Expression Text button on the Tables page. |
Enter expression text for tables. |
|
TL_SQL_JOINS_PNL |
Set Up HRMS, System Administration, Utilities, Build Time and Labor Rules, SQL Objects, Automatic Joins You must select Select from the SQL Type field menu for the Automatic Joins tab to appear. |
Join tables. |
|
TL_SQL_SELECT_PNL |
Set Up HRMS, System Administration, Utilities, Build Time and Labor Rules, SQL Objects, Select Fields. You must select Select from the SQL Type field menu for the Select Fields tab to appear. |
Create the first clause of a Select statement. |
|
TL_SQL_OBJ_SECPNL1 |
|
Enter expression text for the first clause of a Select statement. |
|
TL_SQL_WHERE_PNL |
Set Up HRMS, System Administration, Utilities, Build Time and Labor Rules, SQL Objects, Where Expressions You must select Delete, Select, or Update from the SQL Type field menu for the Where Expressions tab to appear. |
Create the Where clause of the SQL statement. |
|
TL_SQL_BINDS_PNL |
Click the Left/Right Bind button on the Where Expressions page. |
Enter expression text for the Where clause of a SQL statement. |
|
TL_TA_COPY_CTL |
Set Up HRMS, System Administration, Utilities, Build Time and Labor Rules, Copy SQL Objects |
Copy a SQL object. |
Access the SQL Object page.
Note. SQL objects are not effective-dated, but they are associated with rules that are included in effective-dated rule programs.
SQL Type |
Select the SQL action that this SQL object should perform. Valid options are: Delete: Use to create a Delete statement. If you select this option, the component displays only the SQL Object and Where Expressions pages. If you create a Delete statement to clear a table, we recommend that you create a truncate action step on the Define Rule Steps page instead. Expression: Use to enter free-form SQL expression text. If you select this option, the component displays only the SQL Object and Expression Text pages. Insert: Use to create an Insert statement. If you select this option, the component displays only the SQL Object and Insert Fields pages. Select: Use to create a Select statement. You use a Select statement to query. If you select this option, the component displays the SQL Object, Tables, Automatic Joins, Select Fields, and Where Expressions pages. Also, the Select Type field appears. Update: Use to create an Update statement. If you select this option, the component displays only the SQL Object, Update Fields, and Where Expressions pages. |
Select Type |
This field appears if you chose Select in the SQL Type field. Select the type of action to use. Valid values are: State, Subquery, w/Insert. State: Use to select fields into a state record. A state variable is from the AE State records. Use to retrieve an exception description to be used in multiple locations within the AE program. Store the exception description in a state record so that you don’t have to issue a SELECT every time you need it. A state record field is equivalent to a variable in a procedural language. Subquery: Use to use the Select statement you create as a subquery in another query. A subquery must be bound to an outer query. Time and Labor does not limit the number of nested subqueries, but the database platform might have constraints. w/Insert: This option is like a SQL insert with select. It is only visible if Select is chosen. Use a SQL insert to insert a list of values into a table. Select w/Insert to select fields from a source table to insert into a target table. |
Record (Table) Name |
This field appears if you selected w/Insert in the Select Type field. Choose the table against which the statement is made. The drop-down list box contains all tables loaded on the Working Tables page. |
Core Component |
This field is display-only and system-maintained. Time and Labor delivers several SQL objects that are used in templates. If the PeopleSoft system created the object that you are viewing, the system selects this check box to signify that you did not build the object. If you created this object, the system clears this check box. You cannot modify or save this object, but you can copy it and modify the copy. |
Explanation |
Enter a detailed description of the SQL Object. |
Click the links at the bottom of this page to access other pages within this component.
See Also
Adding Rules to A Rule Program
Access the Expression Text page.
Format Expression Text |
Click to format the SQL text in the Expression field. You must enter your statement before clicking the button. |
Expression |
This field is an expression text box in which to type SQL statements. You can also paste text from other applications. The system stores anything you enter and does not check for errors. Before entering your statement and saving the page, run the SQL statements through an interactive SQL tool. |
See Also
Access the Insert Fields page.
Complete both the SQL Object and Insert Fields pages to create a complete Insert statement.
Field Name |
Select the column in which you want to enter the value. |
Insert Value Source |
Select the source of the value. Valid values are: Constant, Expression, Meta-SQL, Template, and Variable. The page is modified according to the option you select. |
Constant |
If you selected Constant in the Insert Value Source field, this field becomes available. Enter a constant in this field. |
State Variable |
Enter the variable to use. This field is available if you selected Variable in the Insert Value Source field. |
|
Click to select a meta-SQL option. The TL SQL Insert SecPNL page appears. |
|
Click to enter expression text. The Expression Text Sec Panel appears. |
Click the links at the bottom of this page to access other pages within this component.
Access the TL SQL Insert SecPNL page.
MetaSQL |
Select the meta-SQL variable to include in the Insert statement. |
Parameter (X) |
Note. (X) represents the number of the Parameter (X) field. The system assigns successive numbers to each Parameter field that appears. |
Access the Update Fields page. You can update a field with a constant, the result of a subquery, or an other value. You can perform basic mathematical functions on this constant before the final update of the field.
UPDATE PS_TL_IPT1 SET TL_QUANTITY = TL_QUANTITY − (SELECT DISTINCT A.TL_QUANTITY FROM PS_TL_WRK02 A, PS_TL_WRK01 B WHERE A.EMPLID = B.EMPLID AND A.DUR = B.DUR AND A.EMPLID = PS_TL_IPT1.EMPLID AND A.DUR = PS_TL_IPT1.DUR), TL_RULE_ID = %RuleTemplate() WHERE PS_TL_IPT1.SEQ_NBR = (SELECT DISTINCT B.SEQ_NBR FROM PS_TL_WRK01 B WHERE B.EMPLID = PS_TL_IPT1.EMPLID AND B.DUR = PS_TL_IPT1.DUR) AND EXISTS (SELECT 'X' FROM PS_INSTALLATION I WHERE 'R' = %RuleTemplate())
Field Name |
Select the record field to update. The result of the subquery or math operation is placed in the specified field. |
Value Source(L) |
Select the source of the value to act upon. Valid options are: Constant, Field, Meta-SQL, Subquery, Template, Variable. |
Field Name |
Select the record field on which you want to base the calculation. |
Math. Operator |
To perform a mathematical function, select the operator. If you do not want to perform any mathematical functions, select (none). Valid options are: -, +, *, /. |
Value Source(R) |
Select the source of the value you want to act upon. Valid options are: Constant, Field, Meta-SQL, Subquery, Template, Variable. |
Right SQL Object ID |
This field is used to add a subquery to a Set clause. |
Access the Tables page. In our example, TL_IPT1 is assigned an alias of A and TL_WRK01 is assigned an alias of B. The clause covered by this page is:
FROM PS_TL_IPT1 A , PS_TL_WRK01 B
Update Where Clause |
Click to update the Where clause of the SQL statement. The system automatically generates a SQL Where clause based on the effective date option. |
Tables
Record (Table) Name |
Select the name of the table to act upon. |
Table Alias − Correlation ID |
Select an alias for this table. An alias is used as another table name. It is generally shorter than the actual table name to save typing time. |
Conditional Operator |
This field is available if you are working with an effective-dated table and selecting an effective date option. |
Effdt Options (effective date options) |
This field provides predefined effective date logic to append to the join conditions. Valid values are: First, Join, Last, None. First: Select this value to select the first effective-dated row. Join: Select this value for the system to select the current dated row for this table. Last: Select this value to select the last effective-dated row, even if that date is in the future. None: Select this value for the system to not use any effective date logic in the query. |
Conditional Operator |
This field is available if you are working with an effective-dated table and selecting an effective date option of Join. |
Effective Date Type |
Select either Current or Expression. If you select Expression, the system enables the Expression Text button. |
|
Click to enter expression text. The Expression Text Secondary page appears. |
Click the links at the bottom of this page to access other pages within this component.
Access the Automatic Joins page.
You can only create inner joins in Time and Labor. You can join on any fields using custom-selecting or by selecting the key fields option. Because of platform constraints, you cannot perform three-way joins or unions using the Automatic Joins page, but you can make several selects into a working table and use the data from there. You can also use the Expression Text page to write free-form SQL text that can include three-way joins or unions.
We want to join the TL_IPT1 table to the TL_WRK01 on the EMPLID and DUR columns in the following clauses:
WHERE A.EMPLID = B.EMPLID AND A.DUR = B.DUR
Left Table |
Select (by alias) the first table in your join. Valid options are: (none), A, B, C, D, E, F, G, H, I, J. |
Join Type |
You can join in various ways. Valid options are: Fields and Key Fields. Select Fields to select any record fields in the five drop-down list boxes that appear. Select Key Fields to select from the key fields that appear in the drop-down list box. |
Right Table |
Select (by alias) the second table in the join. Valid options are: (none), A, B, C, D, E, F, G, H, I, J. |
SQL Join Text |
This field displays the text of the join. The system uses the meta-SQL construct %JOIN. |
Click the links at the bottom of this page to access other pages within this component.
Access the Select Fields page.
All the options that you include in the text of the statement are available as field values. Using this page, you can create the SQL text for this part of the example:
SELECT A.DUR , A.EMPLID , SUM(A.TL_QUANTITY) - %RuleTemplate() GROUP BY A.DUR, A.EMPLID ORDER BY A.DUR, A.EMPLID
Corr ID (correlation ID) |
The system displays the correlation ID you selected for reference while creating the Logical Operator/Where clause. |
Record |
The system displays the record you selected for reference while creating the Logical Operator/Where clause. |
Distinct? |
Select to exclude duplicate results of the query. Selecting this check box is a method of using the SQL DISTINCT command. DISTINCT is not valid with some aggregates (COUNT(*), MIN, MAX), but is valid with COUNT if you specify columns. |
Group By |
This value is automatically generated when there is an aggregate function. |
Seq Nbr (sequence number) |
Enter a sequence number for this row. The system reorders all entries on this page according to this field. |
Source |
Select the source of the fields to include in this statement. The value in the Source field determines which other fields are visible. Valid options are: Constant: Select this value to specify a constant. The Order by and Field Name fields appear on the page. Expression: Select this value to enter expression text. The flashlight button appears. Recfield: Select this value to specify a record field. Statevar: Select this value to specify a state variable. Template: Select this value to specify a template. |
Aggregate |
To perform an aggregate function, select that option here. Valid options are: (none), AVG, COUNT, COUNT(*), MAX, MIN, and SUM. |
Corr ID (correlation ID) |
Select the alias of the table to specify for this sequence number. |
Field Name |
Select the column from which to select. |
Order by |
The system generates this value. |
Field Name |
Select the column from which to select. |
Click the links at the bottom of this page to access other pages within this component.
Access the Expression Text page.
Enter up to 254 characters in the expression text box.
Access the Where Expressions page.
In the example, the statement is true where the date under report is greater than or equal to itself.
AND A.SEQ_NBR <= B.SEQ_NBR AND A.PUNCH_TYPE IN %RuleTemplate() AND A.TRC IN %RuleTemplate()
The system displays the record and correlation ID you selected for reference while creating the Logical Operator/Where clause.
Logical Operator |
Select an operator in this field. Valid values are: (none), AND, HAVING, NONE, OR, and WHERE. |
Use Conditional Prompts |
Select to build the clause in the page instead of entering expression text for this clause. The system selects this check box automatically. |
Expression Text |
This field holds 254 characters. Only a small SQL expression or subquery can be entered into this field. |
Left Expr Type (left expression text) |
Valid values are: (none), Binding, Constant, Meta-SQL, Recfield, SubQuery, Template, and Variable. If you select Meta-SQL, the %SQL button appears on the page. |
Corr ID (correlation ID) |
Select the alias of the table to use. This field appears only when Recfield is selected for the left expression type. |
Left Field Name |
Select a column name of the table to use for the left expression. |
|
If you select Recfield, the function button appears. Click the function button to see a list of aggregate functions. Valid values are: NONE, MIN, MAX, AVG, SUM, COUNT, and COUNT(*). |
Operator |
Enter an operator. Valid values are: (none), <, <=, <>, =, >, >=, EXISTS, IN, NOT EXIST, and NOT IN. |
Right Expr Type (expression type) |
Enter a right expression type. Valid values are: (none), Binding, Constant, Meta-SQL, Recfield, SubQuery, Template, and Variable. |
Corr ID (correlation ID) |
Select the alias of the table to use. This field appears only when Recfield is selected for the right expression type. |
Right Field Name |
Select a column name of the table to use for the right expression. |
|
Click the Left/Right Binds button to access the SQL Bind Mapping page, where you can enter data for a bind. |
Access the SQL Bind Mapping page.
You must use the %Bind option in some situations. For example, to create a query that uses a subquery, you create the subquery first. As you create the subquery, you do not know in what table the field occurs (it could be an IPT table or another work record). Select the %Bind option. Once the subquery is added to another SQL object (the query that contains the subquery), click the Bind button and select the field.
For example, take date under report, join to dates table:
UPDATE TL_IPT1 SET TRC = 'OTSUN' WHERE EXISTS (SELECT 'X' FROM TL_DATES_TBL A WHERE A.DAY_OF_WK = '1' AND A.DATE = TL_IPT1.DUR)
Access the Copy SQL Object page.
Use the Copy SQL Objects function to copy an existing SQL object.
To copy a SQL object:
Duplicate a SQL object by giving it a different name.
Modify the new SQL object.
The copy function is similar to a Save As command and occurs when saving the page.
Note. You cannot modify SQL objects after they are part of a rule and the system is in production (that is, once Production Environment is selected on the Installation Options page.
Source SQL Object ID |
Select the object to copy. When you enter a value in this field, the system displays the appropriate description for the object. |
Target SQL Object ID |
Enter a name for the new object. |
After copying the SQL object, use the SQL Object component (in Correction mode) to modify the copy. Remember that the component will be modified according to the type of statement built.
User exits are an optional feature that can add PeopleCode and AE sections to regular Time and Labor processing. When you write user exits, add AE sections to the AE program TL_TA_RULES. Use all the AE constructs supported by PeopleTools (SQL, PeopleCode, looping constructs like Do When, Do While, and so on).
Note. If you create AE sections, they must have eight-character names. This is a PeopleSoft Application Engine requirement.
Note. Have adequate Application Engine and PeopleCode training before creating AE sections.
See Also
Enterprise PeopleTools PeopleBook: Application Engine
To define attendance programs, use the Attendance Programs (TL_ATTEND_PGM_PNLG) component.
PeopleSoft Attendance Tracking is an optional feature that enables you to control time and administer attendance. You can track when punch-time reporters are late for work, leaving work early, or taking long lunches and breaks. The Attendance subfeature tracks punch-related attendance infractions. You do not have to create Time Administration rules to track attendance, which would be extremely cumbersome. This is a PeopleSoft-delivered set of rules to use if your business requires attendance tracking.
Attendance tracking prevents a time reporter from taking advantage of rounding rules. For example, suppose your organization rounds clock punches to the nearest quarter hour. If a time reporter clocks in late and clocks out early for every scheduled punch, this can result in paying the time reporter for almost 2.5 hours of nonwork time every week. Moreover, if you are paying overtime to this time reporter, the overtime rate will begin before the employee has worked 40 hours.
Attendance tracking compares punch-time, scheduled time, and attendance settings. Attendance infractions include tardiness, long lunches, early outs, and long breaks. The tracking can occur by three methods: fixed period, rolling period, and step period. The purpose for tracking punch-related infractions is to report user-defined recommended actions to be taken when tracking thresholds are met. This type of tracking provides a history of time reporters’ attendance habits. We store this history information even when the period changes. Attendance processing occurs after IPT tables are loaded, but before rule are run.
A point system weights the severity of each infraction. While taking a long break might be a minor infraction, arriving at work late and clocking out early at the end the day might be major infractions. After you set up the recommended actions, the system automatically monitors a time reporter’s behavior according to the information from the TCD.
A time manager can override or cancel any action scheduled by the system, and you can change the settings of attendance tracking any time the business rules or union regulations change. Although the system is delivered with standard actions, you can create custom actions.
Attendance tracking enables you to define the attendance characteristics and maintain those changes. When setting up, specify the tracking method, period ID, tracking items (tardies, long lunches, early outs, and long breaks), and points associated with each tracking item. Define the recommended actions and threshold of each action. You can choose a recommended action from a predefined list of actions or create a custom action. If you choose to create custom actions, choose Other and enter comments that describe the action.
See Also
Understanding the Batch Process in Time Administration
You can choose from three tracking method types: fixed period, rolling period, and step period. Each method is described in this table:
Tracking Method |
Description |
Fixed Period |
Based on a period ID for a fixed period of time. Fixed period is commonly represented by month, quarter, semi-year, or year. Attendance is tracked for the duration of the fixed period and is reset at the start of the next fixed period. For example, if you track attendance monthly, a time reporter’s attendance record is cleared at the beginning of each monthly period. The attendance infractions are retained in the TL_ATTEND_HIST table. You can view them with the View Attendance History page. Information for current and previous tracking periods is differentiated by the IN_PERIOD flag. |
Rolling Period |
Based on the current date and the period of interest. Define a rolling period by specifying the length of days for the period of interest. The system subtracts the duration from the current date and uses the result as a start date. For example, if you define a rolling period of 90 days and the current date is July 12, 2000, then the system tracks attendance from April 16, 2000. It compiles all relevant attendance data to the present to determine if a time reporter’s infractions require action. The next day, July 13, 2000, the system uses data from April 17, 2000, to the present date. It ignores attendance data for April 16, 2000, because this date is outside the period of interest. |
Step Period |
Based on specified successive increments of time periods. You determine a series of periods of interest. Unlike the rolling period, the system uses the date that an action is triggered, not the current system date. When a time reporter’s infractions trigger an action, the period of interest begins. If the time reporter does not reach another threshold in the period of interest, the attendance record is cleared and attendance tracking reverts to the first step. If another threshold is reached, a new step is invoked and a new period of interest applies. You define a step period by specifying steps of time. For example, if you define a step period as three steps and each step is equivalent to 30 days, then step one is 30 days, step two is 60 days, and step three is 90 days. Each time an employee violates a predefined threshold, a step period is incremented. If a time report is currently being tracked for a 30-day period and violates the attendance rule, the tracking period is extended to 60 days from the date of the most current violation, not the original tracking time. If the time reporter violates the attendance rule a second time, it is extended to 90 days. |
Defining attendance programs and tracking attendance violations comprises the following tasks:
Specifying infractions to track, grace periods to allow, and the severity of each infraction.
Specifying which actions and when actions occur when infractions are committed.
Adding attendance programs to a rule program on the Program page.
Viewing, by employee ID, the action thresholds that a time reporter has crossed.
Viewing a time reporter’s violation history.
Note. You must link your attendance programs to rule programs, and then associate both to workgroups.
Page Name |
Object Name |
Navigation |
Usage |
TL_ATTEND_PGM_PNL |
Set Up HRMS, Product Related, Time and Labor, Rules and Workgroups, Attendance Programs |
Specify infractions to track, grace periods to allow, and the severity of each infraction. |
|
TL_ATTEND_ACT_PNL |
Set Up HRMS, Product Related, Time and Labor, Rules and Workgroups, Attendance Programs, Attendance Actions |
Specify which actions occur when infractions are committed and when these actions occur. |
|
TL_ATTENDANCE_PNL |
Time and Labor, View Exceptions and Attendance, Attendance Actions |
View, by employee ID, the action thresholds that a time reporter has crossed. |
|
TL_ATTEND_HIST_PNL |
Time and Labor, View Exceptions and Attendance, Attendance History |
View a time reporter’s violation history. |
Access the Attendance Program page.
Attendance Tracking Detail
Use this group box to specify the particular rules and limits of your attendance program.
Tracking Method |
Select the type of time period to use for this attendance program. Valid values are: Fixed, Rolling, Step. If you select Fixed or Rolling, the Time Period ID field appears. If you select Step, the Time Period ID field is unavailable. |
Time Period ID |
Select the time period ID that applies to the attendance program. You can select a period delivered by the PeopleSoft system or a custom period. This field does not apply if you are creating a step-based attendance program. For Fixed Period attendance programs, you can select from day, week, or month-type periods only. For day-type periods, the offset can only be 1. For rolling period attendance programs, you can only choose a day-type time period that has an offset of less than or greater than 1. |
Track Tardies |
Select to track when time reporters clock in late to work at the beginning of a workday. The system compares the time of the first In punch of the workday with the scheduled punch time. |
Grace (Minutes) |
Enter the grace period (in whole minutes). You can enter a value from 1 to 99. |
Points |
Enter the value of this infraction. The value you enter can be up to 999 and can have up to two decimal places. |
Track Long Lunch |
Select to track when time reporters take a long lunch. The system compares the duration of the meal punches with the meal duration that you enter on this page. |
Meal Duration (Minutes) |
Enter a maximum duration for a meal punch. |
Track Early Out |
Select to track when time reporters clock out early from the workday. The system compares the time of the Out punch with the scheduled end of the workday. |
Track Long Break |
Select to track when time reporters take a long break. The system compares the punch duration with the break duration that you enter on this page. |
Break Duration |
Enter a maximum duration for a break. |
See Also
Access the Attendance Actions page.
Action # (action number) |
The system populates this column with the next consecutive sequence number. Although the numbers are automatic, enter actions in any order. Lower-numbered items occur first, so enter the least severe actions at the top of this list. Note. The order in which you enter attendance actions is crucial to system accuracy and data integrity. If you enter actions in the wrong sequence, the system does not reorder or re-prioritize them. |
Attendance Action |
Select the recommended action for this sequence number. Valid values are: Letter, Other, Suspension, Terminate, Verbal 1, Written 1, Written 2, Written 3. Letters are placed on file without the employee’s knowledge. Written warnings are signed by the employee and manager as an acknowledgement that the employee was notified of the infraction. You can write an API to send a message when an action occurs, but the system only identifies infractions and displays the recommended action—it does not take any action. You cannot publish warnings or messages back to the TCD. The process does not progress if a manager excuses a step. |
Points |
Select when you want this action to occur. The system invokes this action when the time reporter’s total number of points for the current tracking period is equal to or greater than the value in this field. The entry does not have to be a whole number; you can enter a three-digit number with up to two decimal places. The value must be a multiple of the highest point value on the Attendance Program page to prevent recommended actions from being skipped. |
Comment |
This 30-character, alphanumeric field is available only if you selected Other in the Attendance Action field. Enter a description of, or comment about, the action. You can create custom actions. For example, you might dock a time reporter’s pay. |
Access the Review Attendance Actions page.
Date Under Report |
The date that applies to this row of data. |
Description |
The system displays a description of the exception that occurred. |
Action Required |
The system displays the recommended action that you entered on the Attendance Actions page. |
Date Cleared |
This field displays the date that the time manager cleared the action. |
Access the Review Attendance History page.
Date Under Report |
This field displays the date that applies to this row of data. |
Description |
The system description of the exception that occurred. |
In Period |
The system selects this check box if this row is in the current period. The system clears this check box for all history rows (archived data). |
To assemble rules, use the Rules (TL_RULES) component.
Once you have defined the individual building blocks that make up a rule using actions and conditions or SQL objects, you need to combine these components into complete rules and place them in a logical order by arranging them into rule steps using the pages described in this section.
You’ll also use these pages to modify existing rules or copies of rules. For example, you can take an existing rule (whether template built or of another type), open it within the Define Rules component, modify or add new actions or conditions to it, and then recompile the rule.
Rule Assembly Tasks
Assembling rules comprises the following tasks:
Entering basic information about a rule.
Defining the steps of the rule.
Creating descriptions for each rule step.
Viewing the SQL text of the rule step you are adding to a rule.
Copying rules.
Page Name |
Object Name |
Navigation |
Usage |
TL_RULE_PNL1 |
Set Up HRMS, System Administration, Utilities, Build Time and Labor Rules, RulesSet Up HRMS, System Administration, Utilities, Build Time and Labor Rules, Rules |
Enter basic information about a rule. |
|
TL_RULE_PNL2 |
Set Up HRMS, System Administration, Utilities, Build Time and Labor Rules, Rules, Define Rule Steps |
|
|
TL_RULE_TEXT_SP |
Click the Compile Rule SQL Text button on the Define Rule Steps page. |
View the SQL text of the rule step you are adding to a rule. |
|
TL_RULE_COPY |
Set Up HRMS, System Administration, Utilities, Build Time and Labor Rules, Copy Rules |
Create a rule that is similar to an existing rule or a PeopleSoft-delivered rule object. |
These buttons are standard action buttons for defining rules:
|
Click the Compile Rule button to compile the SQL of the rule. The compile inserts the section and steps into the AE program/library. |
Access the Define Rule Header page.
Time Period ID |
Select the time period of interest that applies to this rule. Values include the values delivered by the PeopleSoft system and any time periods that you created using the Time Period pages. The system uses the time period to determine the date range for the selection criteria of the rule. The Time Administration program also uses the time period to determine which reported time to load into the working tables during processing. |
User Exit |
Select if the components of the rule are written in PeopleSoft Application Engine or in PeopleCode. If you select this option, the Compiled and Last Compiled fields are unavailable and the Define Rule Steps page is unavailable. The system locates the created section in the TL_TA_RULES library. Create a user exit by creating a new AE section within the TL_TA_RULES library. Add the AE section name to the AE section list on the AE Section page. |
AE Section (application engine section) |
Select the AE section to use to process this rule. This section is inserted into TL_TA_RULES library when you compile the rule. Note. Do not modify Time and Labor objects in the AE library. Use the Time and Labor pages. |
Compiled? |
The system populates this field automatically to signify whether the rule was compiled. Valid values are: N (no): The rule has changed since the last compilation. Y (yes): The rule was compiled and hasn’t changed since that compliation. |
Last Compiled |
The system-maintained field that displays the last date and time that this rule was compiled. |
Core Component |
This field is display-only and is system-maintained. Many rules are delivered with Time and Labor. These rules are used in rule templates. If the rule you are viewing was created by the PeopleSoft system, then this field is set to Y. If you created this object, the system sets this field to N. When you add a new rule, the system sets the Core Component field to N. |
Run Location |
You can update this field only if you activate the Run On-line Rules option on the TL Installation page. Valid values are: Batch Only: Select for the system to apply this rule when you run the Time Administration batch process. Online and Batch: Select for the system to apply this rule when you run the Time Administration batch process or the Apply Online Rules process that you start from the Weekly Elapsed Time page or the Weekly Punch Time page. |
Explanation |
Enter a detailed description of the rule. You can include examples of how this rule is used and how it affects data in different scenarios. |
See Also
Understanding the Batch Process in Time Administration
Building and Viewing Time Period Calendars
Access the Define Rule Steps page: Rule Step Details tab.
Note. Multiple views of this page are available by selecting the tabs in the scroll area. We document fields that are common to all views first.
Rules usually begin with steps to truncate working tables (TL_IPT2-5 and other working tables) to create spaces within the working tables for processing steps in the rule.
Warning! Never truncate TL_IPT1. Doing so destroys the data.
Generally, order the rules by period. For example, if you have daily rules and weekly rules, the system should resolve the
daily rules first.
Rule Step Details Tab
Use this grid to enter the steps of the rule.
Step |
Enter a value in this column to determine the processing order of the rule steps. Lower numbers indicate higher priority. Numbers can be up to three digits. Each number within this column must be unique. We suggest assigning numbers in increments of 10 so that you can insert steps later without renumbering the entire rule. The processing order is extremely important because it can directly affect payable time calculations. |
Step Type |
Select a value from the list. Valid values are: (none): Select for the system not to use any effective date logic. SQL Obj: Select to add a SQL object in this rule step. If you select this option, the Record (Table) Name column is unavailable. Action: Select to add an action in this rule step. If you select this option, the Record (Table) Name column is unavailable. Expr Text: Select to add expression text in this rule step. If you select this option, the component changes and the Expression Text page is visible. Truncate: Select to truncate a table in this rule step. If you select this option, the SQL ID, Page Transfer, and Rule Step SQL Text button columns in the grid are unavailable. |
SQL Object ID |
Select the object to include in this rule step. |
Action |
Select the action to include in this rule step. |
|
Click to view the details of the SQL object that you are adding to the rule step. You cannot modify the object. |
|
To view the SQL text of the object you are adding to the rule, click the Rule Text button to access the Action SQL Text Resolution secondary page. You will not see the SQL text of other objects in the step list. To view the entire rule text, click the button at the top of the page. |
Record (Table) Name |
Select the table that you want to truncate, if applicable. |
Access the Define Rules Steps - Description page.
Note. All of the fields in this page except this one were documented in the Define Rule Header: Rule Step Details page description:
Description |
Enter a short description of what this rule step should accomplish. |
See Also
Access the Rule SQL Text Resolution page.
Access the Copy Rules page.
To copy a rule:
Duplicate a rule by giving it a different name.
Modify the new rule.
The copy function is similar to a Save As, and is performed when you save the page. Use the Define Rule Header page to modify the copy.
Source TL Rule ID |
Select the rule to copy. |
Target TL Rule ID |
Enter a name for the duplicate rule. |
To add rules to a program, use the Rule Programs (TL_RULE_PGM) component.
After you organize the components of your rules in the proper order, you need to add your rules to a rule program using the Rule Program and Program Detail pages. The rule program specifies the set of rules the Time Administration process executes and the order in which it executes the rules. Rules programs are also the method by which you assign attendance programs to time reporters.
If you have elected to use online rule processing, the number of online rules you can include in a rule program is determined by your entry in the Maximum Online Rules field on the TL Installation page.
Adding rules to a rule program comprises the following tasks:
Naming and describing the rule program.
Linking an attendance program to the rule program.
Selecting the rules in the program and the order in which the Time Administration feature executes them.
Note. To activate a rule program (and its associated attendance program), you must link the program to a workgroup on the Workgroup page.
Note. Rule programs are effective-dated, but the individual rules contained within them are not. You cannot modify a rule once you assign it to a rule program. However, you can remove the rule from the rule program and replace it, if appropriate, with a new rule. This feature ensures the referential integrity of rules processing.
Page Name |
Object Name |
Navigation |
Usage |
TL_RULE_PGM_PNL |
Set Up HRMS, Product Related, Time and Labor, Rules and Workgroups, Rule Programs |
Name and enter a description of the rule program. To link an attendance program to a rule program. |
|
TL_RULE_PGMDTL_PNL |
Set Up HRMS, Product Related, Time and Labor, Rules and Workgroups, Rule Programs, Program Detail |
Select the rules to be included in the program and the order in which the Time Administration program is to execute them. |
Access the Program page.
Attendance Program |
Select the attendance program to associate with this rule program, if applicable. Attendance programs contain rules that track various attendance issues. |
Description |
Enter a complete description of the rule program in this field. |
See Also
Access the Program Detail page.
Note. The maximum number of online rules you can add to a rule program is determined by the entry in the Maximum Online Rules field on the Time and Labor Installation page.
Priority |
Assign a sequence number to each rule to specify its processing order. The lower the number, the higher the priority. Numbers can be up to three digits and each number within the program must be unique. It’s a good idea to assign numbers in increments of 10 or some other factor. If you do this, you will not need to renumber if you insert a row later. The processing order is important because it directly affects payable time calculations. In general, rules with a shorter time period should be processed first. For example, assign daily rules a lower number than weekly and monthly rules. Place rules that consider thresholds (such as overtime rules) and rules that use default TRCs after those that resolve regular hours and defaults. For example, a rule created with Template440 is always placed at the beginning of a rule program because other rules may need to act on the scheduled IN punch time. This rule says: “If a time reporter clocks in outside of normal schedule, assign schedule with the closest start time to the time reporter’s IN punch.” Note. This field triggers the Referential Integrity process. Referential integrity ensures that if a time reporter’s earliest change date is less than the effective-dated change of the setup table, the earliest change date will not be updated. If, however, the earliest change date is null or greater than the effective date of the setup table change, the earliest change date is updated to the minimum effective date of reported or payable time for the time reporter. |
Rule ID |
Select the rule to include in the program. Note. This field triggers the Referential Integrity process. Referential integrity ensures that if a time reporter’s earliest change date is less than the effective-dated change of the setup table, the earliest change date is not updated. If, however, the earliest change date is null or greater than the effective date of the setup table change, the earliest change date is updated to the minimum effective date of reported or payable time for the time reporter. |
Description |
The description of the rule you selected in the Rule ID field displays for reference. |
View Rule Description |
Click to see the full text description of the rule. |