[{TableOfContents }]
!!!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|MODULE-UC] section and is not to be used in place of it. Please refer to the [User  
Calculations|MODULE-UC] 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|USER_CALC_CODE]: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.
%%information As with Benefit and Attendance UserCalcs, we recommend that a naming convention be used for Workflow UserCalcs. For example, AT is used for the Attendance application, BE for the Benefits application and WF for the Workflow application. This will allow for efficient queries once the UserCalc list becomes large.%%

;[Description|DESCRIPTION]:
The description field may be used to further define the purpose of the UserCalc in more detail than is available in the UserCalc name.

;[Product|PRODUCT_CODE]:
The product indicates which module the UserCalc has been defined for. For example, PR-Payroll, BE-Benefits, AT- Attendance, FC-Forecasting & Costing and WF-Workflow.%%information With respect to Workflow, this field specifies the table code on which the workflow trigger is located. This field should be identical to the name of the "Table" in IMWA.  In all cases except workflow, it is the application that controls which fields in which tables will be accessible by the UserCalc. For example, in an Attendance UserCalc, the Leave Accrual Table would be accessible, but not benefits information.%% 

;[Status|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|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|RETURN_VALUE_TYPE]: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|MODULE-UC] 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".