Table of Contents
Define UserCalcs#
The other component of workflow requires setting up the UserCalc to incorporate the action event created in IMWA. The integration of workflow required some additional functionality that was not previously available to UserCalcs. This section should be used as a supplemental aid to the User Calculations section and is not to be used in place of it. Please refer to the User Calculations section for a more thorough explanation of UserCalcs and their functionality.
The Define UserCalcs (IMUC) screen is where all of the coding is done for each UserCalc.
wf_4-1.jpg
'Define UserCalcs Usages' and Examples#
UserCalc Header data is stored in the P2K_AM_USER_CALCS table. Header wf_4-2.jpg- User Calc
- This field refers to the user-defined name given to the UserCalc.;:Once the UserCalc has been created it can be edited, however, you can not edit it once the UserCalc is in production. You have to Un-Publish it on IMUCA first.
- Status
- This field describes the status of the UserCalc. The following values are available.
Under Construction | This status value indicates that the UserCalc has not been completed and therefore will not be published. |
Being Tested | This status value indicates that the UserCalc has been completed, compiled and is being tested by the user who created it. It will not be published. |
To Be Published | This status value indicates that the UserCalc is ready for publishing. You can not set the user calc to this value manually. |
In Production | This status value indicates that the UserCalc has already been published and is in use. |
Pre-Compiled | This status is now obsolete and will be removed in a future version. |
- Type
- This field defines what values may be passed or used between UserCalcs and what capabilities may be performed. There are three types available:
Calculations | These are used by the main program and may call Qualifiers and Functions in order to perform a customized action or operation. The Payroll, Forecasting & Costing and Workflow modules exclusively use calculations. |
Qualifiers | These are used to reduce the number or employees or calculations processed by the UserCalc. |
Functions | These are used to perform a calculation or query and return a value to the calculation. The Benefits and Attendance modules exclusively use "Functions". |
- Return Value
- The "Return Value" is used by Functions and Qualifiers to define what type of value will be returned by the Function or Qualifier UserCalc.;:If the UserCalc type is set to Calculation, then no return value is indicated. This field will automatically be grayed out once this type has been selected and the cursor has been tabbed to the next field.;:Since Workflow UserCalcs are always of the type "Calculation", they will not return a value.
- Usage
- This field is optional but can add additional definition to how/when this UserCalc should function. There are three entries to select from:
Not Specified | Use this or leave it blank for most purposes. |
Disbursement Message | Not used for Work Flows - see UserCalc for more details on this usage. |
Secondary WF | This option tells the Work Flow engine that this UserCalc is ONLY to be called from another UserCalc and should NOT be fired on its own by the triggering product. |
- Compile UserCalc SQL
- This button allows the user to check the syntax of a UserCalc by generating the PL/SQL code that is used behind the scenes.:;This step does not ensure accuracy of the UserCalc. It merely checks that there are no UserCalc language errors such as incorrect syntax or infinite loops.
- Publish UserCalc
- This button preps the UserCalc for Publishing and sets the status as "To Be Published".
Line Tab#
Data for the Lines tab is stored in the P2K_AM_USER_CALC_DETAILS table.
- Line
- The UserCalc is processed according to the order of the line numbers indicated. For example, 10, 20, 30, etc… ;:If a UserCalc line refers to a line number, it must exist in the UserCalc.
Line | CMD | Type 1 | Operand 1 | OPER | Type 2 | Operand 2 | Type 3 | Operand 3 | If GOTO | Else GOTO |
---|---|---|---|---|---|---|---|---|---|---|
10 | IF | CF | NewHire | EQ | B | TRUE | 200 | 99999 |
It is useful to increment line numbers to the next 100 or 1000 at the start of each section of logic. This will make your UserCalc easier to read and maintain by future users.
- CMD
- Commands are used to perform operations within a UserCalc.
There are two commands that are available and strictly used for Workflow. These are: ACT and STOP.
ACT | This command is used to initiate a workflow action event. The workflow action event is created in IMWA and referenced in the UserCalc using this command. |
STOP | This command is used to raise an exception to the user. This command should only be used to absolutely stop a save from taking place. It throws a database exception that displays the brief text in Operand 1 along with the stack trace of where it came from. |
The ACT command is unique in that once it has been selected Type 1, OPER and Type 3 fields are defaulted with the values AC, LOG, and RT respectively, as indicated in the diagram below.
- Type 1 (Operand Type 1)
- Operands must have a type. For example, DB, AC, V, etc…
The following table indicates five special operand types that are available for workflow.
Old Value (OV) | This refers to the Old Value of the item being referenced in the Operand. |
New Value (NV) | This refers to the New Value of the item being referenced in the Operand. |
Action Code (AC) | This refers to the name of the workflow action code (Type 1 only) |
Database Value (DB) | This refers to other database columns that are available based on the Product Tables (IMPT) records. |
Recipient Type (RT) | This describes who will be in receipt of this action event as defined in the Maintain Workflow Actions IMWA screen (Type 3 only). |
- Operand 1
- Operand 1 is typically used to store the result of any line of a UserCalc, or to compare to a value in Operand2.
Line | CMD | Type 1 | Operand 1 | OPER | Type 2 | Operand 2 | Type 3 | Operand 3 | If GOTO | Else GOTO |
---|---|---|---|---|---|---|---|---|---|---|
200 | ACT | AC | NEW EE EMAIL | LOG | $S | CURRENT-DATE | RT | Manager | 300 |
In the case were the CMD is ACT, Operand1 displays the name of the workflow action event that was created in IMWA.
Clicking on the "Operand 1" LOV button will bring up a list from which a selection can be made.
- OPER
- Operators are the actions that need to be taken in regards to the command being issued and the operands indicated.:;i.e. Add, Divide, convert to a Character, Beginning of Day, etc. Please refer to the User Calculations manual for a detailed description of the existing operators that are available. :;The LOG Operator is a new operator that is available strictly for Workflow and ONLY for the ACT CMD; it is used to log the workflow action event. :;When the "ACT" command is selected this value automatically defaults into this field.
- Type 2 (Operand Type 2)