Tuesday, 11 February 2020

Hrms Technical(Submit the Rollback Run program from back end)

***The following used to run the 'Rollback Run' program from the back end.

declare
l_req_id     NUMBER;
      l_exis_cnt   NUMBER;

      --Getting the values to check that same payroll,consolidation set & date payroll ran or not
      CURSOR c1
      IS
         SELECT pa.*
           FROM pay_payroll_actions pa
          WHERE 1 = 1
            AND pa.business_group_id = p_bug_ig
            AND pa.payroll_id = p_payroll_id
            AND pa.consolidation_set_id = p_con_id
            AND pa.effective_date = TO_DATE (rtrim(p_payroll_period,'00:00:00'), 'yyyy/mm/dd');
   BEGIN
   log(p_bug_ig ||','||p_payroll_id||','||p_con_id||','||p_payroll_period);
      fnd_global.apps_initialize (user_id           => fnd_global.user_id,
                                  --1130
                                  resp_id           => fnd_global.resp_id,
                                  --50419
                                  resp_appl_id      => fnd_global.resp_appl_id
                                 );                                      --800

      --Checking same payroll,consolidation set & date payroll ran or not
      BEGIN
         SELECT COUNT (*)
           INTO l_exis_cnt
           FROM pay_payroll_actions pa
          WHERE 1 = 1
            AND pa.business_group_id = p_bug_ig
            AND pa.payroll_id = p_payroll_id
            AND pa.consolidation_set_id = p_con_id
            AND pa.effective_date = TO_DATE (rtrim(p_payroll_period,'00:00:00'), 'yyyy/mm/dd');
      EXCEPTION
         WHEN OTHERS
         THEN
            l_exis_cnt := 0;
      END;

      IF l_exis_cnt > 0
      THEN
         FOR i IN c1
         LOOP
            LOG ('Roll Back Running for Action ID:' || i.payroll_action_id);
            l_req_id :=
               fnd_request.submit_request (application      => 'PAY',
                                           program          => 'ROLLBACK_RUN',
                                           argument1        => 'ROLLBACK',
                                           argument2        => i.payroll_action_id,
                                           argument3        => NULL
                                          );
            LOG ('REQUEST_ID = ' || l_req_id);
         END LOOP;

         COMMIT;
      ELSE
         LOG ('Payroll not run for Payroll ID:' || p_payroll_id);
      END IF;
   END;

No comments:

Post a Comment

API to Delete Assignment Set

*** Before going to Delete Assignment Set first we have to delete the Assignment Amendments after that only we have to delete the Assignmen...