!!!How To Plan a UserCalc

1. Write a detailed description of what the user calculations needs to do.
;:For example: A UserCalc is required to calculate vacation pay for Groups A, B and D biweekly-paid employees. Vacation is calculated as 4% of the employee's eligible (vactionable) earnings for that regular pay.\\ \\

2. Break the description into logical sections. The following questions can help you to do this:
;:__Section 1__\\Who must be processed?
;:Employees with a GROUP - CODE of A, B and D in the lexicon list called Group_List.
;:__Section 2__\\What information is necessary for the calculation?
;:The 4% vacation pay is defined as a Variable or User constant called VACN- RATE.   Vacationable earnings are defined as an element called VACN-EARNS containing all qualified Earnings pay components.
;:__Section 3__\\What is the calculation?
;:Multiply VACN-EARNS by VACN- RATE to be paid out in pay component 256 Vac Pay\\ \\

3. Create all necessary ‘Components’ needed for the UserCalc
|[Pay Component|PAY COMPONENTS]|[IPPC] 256|Vac Pay
|[Pay Element|PAY ELEMENTS]|[IPPE]|VACN-EARNS
|User Constant|[IMVR]|VACN- RATE	Numeric		0.04
|Lexicon List|[IMLN]|Group List
|Variables|[IMUC]|Not needed for this UserCalc
|Global Variables|[IMUC]|Not needed for this UserCalc
\\

4. Code the UserCalc on the Maintain UserCalc Form ([IMUC])
||Line||CMD||OT||Operand 1||OPER||OT||Operand2||OT||Operand3||If Goto||Else GoTo
|00010|IF|DB|DGR.Group_Code|IN|	$L|Group List| |  |00020|99999
|00020|	LET|PC|0256|MLT|$C|VACN-RATE|EC|VACN-EARNS|00030|  	
|00030|	LET|PC|0256|RDN|PC|0256|N|.01|99999	|
|99999|	EXIT|  |  |  |  |  |  |  |99999	|
\\
5. Compile and Publish the UserCalc

\\  

6. Link the UserCalcs to the Calling Program or Application

||Program||Form||Details
|[UPCALC]|[IPPP]|Determine the Pay Point type and sequence in which the UserCalc should be executed, indicate the task of 'UserCalc', and enter the UserCalc in the 'User Calc Code' field.
|[UFCALC]|[IPPP]|Determine the Pay Point type and sequence in which the UserCalc should be executed, indicate the task of 'UserCalc', and enter the UserCalc in the 'User Calc Code' field.
|[FLSA]|[IDGR]|If a UserCalc is needed to aid the [FLSA] calculation, indicate the UserCalc to be executed in the 'Work Rules' tab, within the 'Accounting' section, in the 'FLSA User Calc' field.


||Application||Form||Details
|Attendance|[IALP]|Determine the component at which the UserCalc should be executed and indicate the UserCalc
|Benefits|[IBPN]|Determine the component at which the UserCalc should be executed and indicate the UserCalc


----
![Notes|Edit:Internal.HOW_TO_PLAN_A_USERCALC] 	
[{InsertPage page='Internal.HOW_TO_PLAN_A_USERCALC' default='Click to create a new notes page'}]