Friday, May 2, 2014

How to Compile Payroll Fast Formula_files

How to Compile Payroll Fast Formula

 

 

Here is the simple way to compile your payroll fast formula; you can compile single formula or maybe you can compile all formulas using bulk concurrent program.

Single Formula uses FFXBCP program to compile fast formula, this is recommended by oracle. Please refer my old post on migrating Payroll Fast Formulas.

-- To Compile One Fast Formula

-- Please make sure you have given correct formula name, their is a possibility to have multiple records with same formula name

-- To avoid selecting multiple records please pass correct formula id or name by changing cursor query

 

DECLARE

 

 CURSOR csr_formula_name IS

   SELECT ff.formula_name,

          ft.formula_type_name

     FROM ff_formulas_f ff,

          ff_formula_types ft

    WHERE ff.formula_type_id = ft.formula_type_id

      AND ff.formula_NAME = 'ANIL_NI_CALC2013';

 

   ln_req_id        NUMBER(10);

   --Please change below values based on your user, responsibility and application

   ln_user_id       NUMBER:=0;

   ln_resp_id       NUMBER:=51800;

   ln_resp_appl_id  NUMBER:=800;

BEGIN

 

     -- Initialize your application here

  FND_GLOBAL.APPS_INITIALIZE(ln_user_id,ln_resp_id,ln_resp_appl_id);

  -- Submit concurrent Request, it will compile all formulas

 

   FOR csr_formula_name_rec IN csr_formula_name

   LOOP

     l_req_id := fnd_request.submit_request(

                        application    => 'FF',

                        program        => 'SINGLECOMPILE',

                        argument1      => csr_formula_name_rec.formula_type_name,

                        argument2      => csr_formula_name_rec.formula_name);

   COMMIT;

   DBMS_OUTPUT.PUT_LINE('Request ID :' || ln_req_id);

   END LOOP;

  

  

END ;

 

--// This program is used to compile all formulas

DECLARE

 

   ln_req_id        NUMBER(10);

  --Please change below values based on your user, responsibility and application

   ln_user_id       NUMBER:=0;

   ln_resp_id       NUMBER:=51800;

   ln_resp_appl_id  NUMBER:=800;

BEGIN

 

  -- Initialize your application here

  FND_GLOBAL.APPS_INITIALIZE(ln_user_id,ln_resp_id,ln_resp_appl_id);

  -- Submit concurrent Request, it will compile all formulas

 

  ln_req_id := fnd_request.submit_request(

                    application    => 'FF',

                    program        => 'BULKCOMPILE',

                    argument1      => '-W',

                    argument2      => '%',

                    argument3      => '%');

 

   COMMIT;

   DBMS_OUTPUT.PUT_LINE('Request ID :' || ln_req_id);    

                 

END;

1 comment:

  1. This comment has been removed by a blog administrator.

    ReplyDelete