Functions/User Functions

[Payroll Calculation]

Usage

Use this tab to define and manage your own functions. These functions are available for use in wage code calculation formulas. SQL knowledge is required to use the tab efficiently.

In the syntax of a user-defined function, the following variables are available:

 result_                   NUMBER;

 company_id_               VARCHAR2(20);

 emp_no_                   VARCHAR2(11);

 payroll_list_id_          VARCHAR2(16); 

 payroll_acc_date_from_    DATE; 

 payroll_acc_date_to_      DATE; 

 valid_date_               DATE;

 

 wage_code_id_             VARCHAR2(10);

 wc_valid_from_            DATE; 

 wc_valid_to_              DATE;    

 wc_acc_period_            DATE; 

 wc_tax_period_            DATE;

 

 period_date_from_         DATE; 

 period_date_to_           DATE;

 accounting_valid_from_    DATE;

 accounting_date_to_       DATE;

 agreement_no_             VARCHAR2(10); 

 agreem_valid_date_        DATE; 

 agreem_param_id_          VARCHAR2(10); 

 

 payroll_name_                VARCHAR2(2000);

 payroll_tax_period_          VARCHAR2(8);     

 payroll_accounting_period_   VARCHAR2(8);

 payroll_remark_              VARCHAR2(200);    

 payroll_validation_date_     DATE; 

 payroll_voucher_no_          NUMBER;     

 payroll_voucher_type_        VARCHAR2(3);  

 payroll_date_from_           DATE;      

 payroll_date_to_             DATE;    

 payroll_period_no_           NUMBER;     

 payroll_year_                NUMBER;    

 payroll_pl_period_type_      VARCHAR2(20);

                       

 

Intended function use is presented in brackets. The returned value must be assigned to the result_ variable.

Available parameters are:

param1_ VARCHAR2(2000);

param2_ VARCHAR2(2000);

param3_ VARCHAR2(2000);

param4_ VARCHAR2(2000);

param5_ VARCHAR2(2000);

param6_ VARCHAR2(2000);

param7_ VARCHAR2(2000);

param8_ VARCHAR2(2000);

param9_ VARCHAR2(2000);

 

Example:

 

DECLARE

 

  person_id_       VARCHAR2(100);

  date_to_           DATE;

  date_of_birth_  DATE;

 

  CURSOR get_attr IS

      SELECT date_of_birth

      FROM PERS_TAB

      WHERE person_id = person_id_;

     

BEGIN

 

  person_id_     := Company_Person_API.Get_Person_Id(company_id_, emp_no_ );

 

  OPEN  get_attr;

  FETCH get_attr INTO date_of_birth_;

  CLOSE get_attr;        

 

  date_to_       := to_date(period_date_from_, Payroll_Util_Api.Get_Date_format());

 

  IF param1_ = '1' THEN

    result_ := MONTHS_BETWEEN(date_to_, date_of_birth_);

  ELSE

    result_ := MONTHS_BETWEEN(date_to_, date_of_birth_) / 12;

  END IF;

 

END;

Activity Diagrams

Wage Code Definition

Activities

Define Calculation Functions