Sunday, March 8, 2015

API to Create QuickPay

DECLARE
   l_business_group_id         NUMBER := 82;
   l_assignment_id             NUMBER := 7830;
   l_consolidation_set_id      NUMBER := 62;
   l_effective_date            DATE := '30-NOV-2014';
   l_payroll_action_id         NUMBER := NULL;
   l_p_object_version_number   NUMBER := NULL;
   l_assignment_action_id      NUMBER := NULL;
   l_a_object_version_number   NUMBER := NULL;
   l_status                    VARCHAR2 (500) := 'START';
BEGIN
   --Initialize Session
   fnd_global.
    apps_initialize (user_id => 1091,                                -- BIJOYJ
                                     resp_id => 50717, -- XXX HRMS Super User
                                                      resp_appl_id => 800 -- Human Resources
                                                                         );

   pay_qpq_api.ins (p_business_group_id         => l_business_group_id,
                    p_assignment_id             => l_assignment_id,
                    p_consolidation_set_id      => l_consolidation_set_id,
                    p_effective_date            => l_effective_date,
                    p_date_earned               => l_effective_date,
                    p_pay_advice_message        => 'Hew Hire QP',
                    p_payroll_action_id         => l_payroll_action_id,
                    p_p_object_version_number   => l_p_object_version_number,
                    p_assignment_action_id      => l_assignment_action_id,
                    p_a_object_version_number   => l_a_object_version_number);

   COMMIT;

   DBMS_OUTPUT.put_line ('l_payroll_action_id: ' || l_payroll_action_id);
   DBMS_OUTPUT.
    put_line ('l_assignment_action_id: ' || l_assignment_action_id);

   IF l_payroll_action_id IS NOT NULL AND l_assignment_action_id IS NOT NULL
   THEN
      pay_qpq_api.
       start_quickpay_process (
         p_payroll_action_id         => l_payroll_action_id,
         p_p_object_version_number   => l_p_object_version_number,
         p_a_object_version_number   => l_a_object_version_number,
         p_status                    => l_status);

      COMMIT;

      DBMS_OUTPUT.put_line ('l_status: ' || l_status);
   END IF;
EXCEPTION
   WHEN OTHERS
   THEN
      DBMS_OUTPUT.put_line ('Main Exception: ' || SQLERRM);

END;

7 comments:

  1. Great post. Is there any API that we can create and run QuickPay Pre-Payments after QuickPay.

    ReplyDelete
  2. This comment has been removed by the author.

    ReplyDelete

  3. DECLARE
    l_business_group_id NUMBER := 0;
    l_assignment_id NUMBER := 510;
    l_effective_date DATE := '31-JUL-2018';
    l_payroll_action_id NUMBER ;
    l_assignment_action_id NUMBER ;
    l_aa_ovn NUMBER ;
    l_pa_ovn NUMBER ;
    l_sts varchar2(240) := 'START' ;
    R pay_qpq_api.g_rec_type ;
    BEGIN
    fnd_global.apps_initialize (0,50637,800 );

    r.business_group_id := 0 ; -- number
    r.consolidation_set_id := 1 ; --number
    r.action_status := l_sts ; -- varchar2
    r.effective_date := '31-JUL-2018' ; --date
    r.date_earned := r.effective_date ; --date

    pay_qpq_api.ins
    (p_rec => r , -- in out nocopy g_rec_type
    p_assignment_id => l_assignment_id , --in number
    p_assignment_action_id => l_assignment_action_id , -- out nocopy number
    p_a_object_version_number => l_aa_ovn -- out nocopy number
    --,p_validate => false , in boolean default false
    ) ;

    DBMS_OUTPUT.put_line ('l_payroll_action_id: ' || r.payroll_action_id);
    DBMS_OUTPUT.put_line ('l_assignment_action_id: ' || l_assignment_action_id );

    IF nvl(r.payroll_action_id,-1) < 1 or nvl(l_assignment_action_id,-1) < 1 THEN
    RAISE_APPLICATION_ERROR(-20111,'Error ID') ;
    END IF ;

    BEGIN
    SELECT aa.object_version_number , pa.object_version_number
    INTO l_aa_ovn , l_pa_ovn
    FROM PAY_ASSIGNMENT_ACTIONS AA, PAY_PAYROLL_ACTIONS PA
    WHERE pa.payroll_action_id = aa.payroll_action_id
    AND pa.payroll_action_id = r.payroll_action_id
    AND aa.assignment_action_id = l_assignment_action_id ;
    EXCEPTION WHEN OTHERS THEN
    RAISE_APPLICATION_ERROR(-20111,'Error ID Query') ;
    END ;

    pay_qpq_api.start_quickpay_process
    (p_payroll_action_id => r.payroll_action_id , -- in pay_payroll_actions.payroll_action_id%TYPE
    p_p_object_version_number => l_pa_ovn , --in pay_payroll_actions.object_version_number%TYPE
    p_a_object_version_number => l_aa_ovn , --in pay_assignment_actions.object_version_number%TYPE
    p_status => l_sts --in out nocopy varchar2
    );

    DBMS_OUTPUT.put_line ('p_status: ' || l_sts );

    END ;

    ReplyDelete
    Replies
    1. Hi,

      qorked with me now how make sure i select certain elements for that quickpay thru element selection button. i need thry PL/SQL

      Regards

      Reply

      Delete
  4. Hi,

    qorked with me now how make sure i select certain elements for that quickpay thru element selection button. i need thry PL/SQL

    Regards

    ReplyDelete