Make Attendance Records - STUTMA
This utility is the heart of SubTracker. It is the process that takes the raw data imported into STUPIM by STUTLF and, based on business rules set up in STUPBR, builds attendance records in STUPAT. These attendance records are then extracted to payroll via STUTCT. Finally, PYTCIFPY is used to create Payroll Timecard records.
Entity ID to process: Defaults to default Entity, typically ROOT.
Payroll period: Enter the pay period that will be associated with these attendance records.
Name of the Flat File: Enter the name of the Import file.
Rate Determination Logic of STUTMA
The STUTMA process runs through each record in STUPIM two times; once for the Absentee Portion, and once for the Substitute portion. The reason for this is that there are different sets of rules (STUPBR) for Absentees and Substitutes.
Given the above, it follows that Absentee and Substitute rates are determined individually. Also, generally speaking, Absentee records coming in through STUTMA tend to be unpaid transactions (leave usage / reduction of leave balance etc.), whereas Substitute records are almost always paid at a specific rate. Regardless of the type of record being processed (Absentee or Substitute), below is a summary of how STUTMA determines the rate to be paid:
If there is an override Rate in STUPBR, Special Override and Adjustment Rules tab, that is applicable to the record being processed, that rate is used.
Else: If there is a rate (not null, > 0) on the STUPIM record, that rate is used (Abs Rate for Absentee and Sub Rate for Substitute)
Else: STUTMA will use the Hour from the matching rule on the Timecard Hour Rules tab of STUPBR to dictate how the rate will be determined using the below logic:
a) STUTMA retrieves the Hour Switches (Vectors) and Associated Value 01 from Hour Definition pages (PYUPHH) for the Hour where the Begin/End date range are either null or cross the absence date on the STUPIM record.
b) STUTMA retrieves the Rate Type from Hour Switch 2 and Day Type from Hour Switch 7 and determines the rate as follows. The Pay Assignment referenced below (Emppay) is the one that was chosen based on criteria in the business rule defined on STUPBR, Pay Rate/String Component Rules tab:
If Rate Type = “R” and Day Type is null, blank, or “N” then
Rate is set to Actual Hourly from Emppay
If Rate Type = “R” and Day Type = “Y” then
Rate is set to Actual Daily from Emppay
If Rate Type = “S”
Rate is set to Actual Hourly from Emppay
If Rate Type = “O” or “F” or “G” or “H” or “I” or “J”
Rate is set to Actual Hourly * 1.5
If Rate Type = “P”
Rate is set to Actual Hourly * 2
If Rate Type = “C”
Rate is set to the value in Associated Value 01
If Rate Type = “A” or “X”
Rate is set to Actual Hourly from Emppay * value in Associated Value 01
If Rate Type = “1”
Rate is set to the value in Num_01 on Emppay
If Rate Type = “2”
Rate is set to the value in Num_02 on Emppay
If Rate Type = “3”
Rate is set to the value in Num_03 on Emppay
If Rate Type = “4”
Rate is set to the value in Num_04 on Emppay
If Rate Type = “5”
Rate is set to the value in Num_05 on Emppay
Otherwise
Rate is set to 0.
Common Codes
STUTMA references the following common codes.
PYHR/SUBCNTRL
Short Description: Set to Q or DEBUG to turn on debug. This will write more information to the tail sheet. Only turn this on if running a small import file. It is NOT recommended to leave this activated when processing the entire import file.
Medium Description: Set to CALCDATES to have STUTMA use the Calc Dates instead of the Effective Dates on Employee Pay Assignments (HRPYPA) when comparing to Absence Date to find the appropriate record to use to build timecard record.
Associated Value 03: Use this field to tell STUTMA the length of the GL Key. If the process needs to parse the Account field on STUPIM, then it will use this length to know how to do so.
Associated Value 04: Use this field to tell STUTMA the length of the GL Object Code. If the process needs to parse the Account field on STUPIM (Import), then it will use this length together with the GL Key length in Associated Value 03 to do so.
PYHR/SUBCNTR2
Associated Value 03: Use this field to tell STUTMA the length of the JL Key.
Associated Value 04: Use this field to tell STUTMA the length of the JL Object Code.
Associated Code 05 or Associated Description 05: Use either one to implement functionality to override the default Object code from the Pay Assignment:
Associated Code 05: To override the Object Code from a column in HR PCN/Position Code Definitions (HRTBPC, Override Obj Method = P), put the column name from hr_pcntble in Associated Code 05. The system will verify that this is a valid column name in the hr_pcntble table. When it goes to get the distributions for the timecard record from the pay assignment, it will use the object code stored in the HRTBPC field specified in the common code.
Associated Description 05: To override the Object Code based on Position Type (either Classified or Certified) (Override Obj Method = H), fill Associated Description 05 as follows:
CL=XXXX|CE=YYYY (Note: Obj Code can be up to 8 long)
Where XXXX is the Object Code to be used for Positions defined in HRTBPC with Position Type starting with CL.
Where YYYY is the Object Code to be used for Positions defined in HRTBPC with Position Type starting with CE.
Use the pipe symbol "|" to separate classified from certified without any spaces between them.
Note that neither option will work if the distributions are hard-coded on Account Derivation Rules (STUPBR) or if they come from the Account field on STUPIM (Import) because a PCN/POSITION combination is required (from Pay Assignment) to do a lookup on the HRTBPC page.
Associated Code 02/Associated Description 02: If the user wants STUTMA to not look at the Account Derivation Business Rules (STUPBR) for Absentees (e.g., always take distributions from the Account field on STUPIM) for certain Reason Codes, put SKIPACCT in Associated Code 02, then list the Reason Codes separated by commas in the Associated Description 02 field.
Associated Code 03/Associated Description 03: If the user wants STUTMA to NOT look at the Account Derivation Business Rules (STUPBR) for Substitutes (e.g., always take distributions from the Account field on STUPIM) for certain Reason Codes, put SKIPACCT in Associated Code 03, then list the Reason Codes separated by commas in the Associated Description 03 field.
PYHR/SUBCNTR3
Associated Code 01: Enter Default GL Ledger.
Associated Code 02: Enter Default JL Ledger.
Associated Code 05: Enter a Y to cause STUTCT to create a timecard record even when both Absentee and Substitute records do not have the Timecard Flag box checked in STUPAT.
PYHR/SUBCNTR4 (Optional)
Associated Codes/Associated Descriptions: Specify additional Reason Codes to skip for Absentees and Substitutes. For Absentees, place SKIPABSREAS in the Associated Code and then list the Reason Codes, separated by a comma and no space, in the corresponding Associated Description field. For Substitutes, use SKIPSUBREAS.
ST Make Attendance