!!!CUSTOM WAGE RATE (System Preference) Initiates custom wage rate logic in the application. Once all of the appropriate [Pay Components|PAY COMPONENTS] are marked as '~[X] Custom Rate', then the actual program name to invoke the custom logic must be specified in the value for this site preference. This preference is set by site ([IMST]) The custom wage rate logic identified in this scenario must be defined in as a function in the database which takes no parameters and returns a boolean TRUE; This data base function has access to all the P2K_PPGENR8 package variables including complete table structures like [Pay headers|P2K_PR_PAY_HEADERS] (K_PPH), [Pay lines|P2K_PR_PAY_LINES] (K_PPL) and [Pay line details|P2K_PR_PAY_LINE_DETAILS] (K_PPLD). The output of the custom wage rate function is populated into package variables that are then used in the subsequent payroll calculation: ;P2K_PPGENR8.K_CUSTOM_WAGE_RATE:The result of the computation or manipulation. This is the new wage rate that will be used for that transaction, on the pay line detail. ;P2K_PPGENR8.K_WAGE_MESSAGE: Any diagnostic or informational messaging is populated here. This ends up in the pay line's [AUDIT_TEXT] field Care should be taken to ensure that there are no places where the function can abort due to data problems. This is usually done with a construct at the end like {{{ EXCEPTION WHEN OTHERS THEN p2k_ppgenr8.k_wage_message := p2k_pmgen.error_stack; p2k_ppgenr8.k_wage_output := 0; RETURN TRUE; END; }}} ---- ![Notes|Edit:Internal.CUSTOM WAGE RATE(System_Preference)] [{InsertPage page='Internal.CUSTOM WAGE RATE(System_Preference)' default='Click to create a new notes page'}]