Tuesday, October 6, 2015

Add request set to request group from Back end

DECLARE     
   new_requet_group    VARCHAR2 (30)                             := 'test_RG';     
   new_rg_appl_name    VARCHAR2 (240)           := 'Custom Application';     
   old_request_group   VARCHAR2 (30)                       := 'Test_Pavan_RG';     
   ol_rg_appl_name     VARCHAR2 (240)           := 'Custom Application';     
   new_rg_short_name   VARCHAR2 (8);
   CURSOR c1    -- to get the application short name of the new request group     
   IS     
      SELECT fa.application_short_name     
        FROM applsys.fnd_request_groups frg,     
             applsys.fnd_application_tl fat,     
             applsys.fnd_application fa     
       WHERE fat.application_id = frg.application_id     
         AND fa.application_id = fat.application_id     
         AND fat.LANGUAGE = 'US'     
         AND frg.request_group_name = new_requet_group     
         AND fat.application_name = new_rg_appl_name;
   CURSOR c2     
         -- to get the concurrent programs of the  old or parent request group     
            (     
      request_group_name_var   IN   VARCHAR2,     
      application_name_var     IN   VARCHAR2     
   )     
   IS     
      SELECT fcp.concurrent_program_name, fat1.application_name     
        FROM applsys.fnd_request_groups frg,     
             applsys.fnd_application_tl fat,     
             applsys.fnd_application_tl fat1,     
             applsys.fnd_request_group_units fgu,     
             applsys.fnd_concurrent_programs_tl fcpt,     
             applsys.fnd_concurrent_programs fcp     
       WHERE fat.application_id = frg.application_id     
         AND fgu.request_group_id = frg.request_group_id     
         AND fcpt.concurrent_program_id = fgu.request_unit_id     
         AND fcp.concurrent_program_id = fcpt.concurrent_program_id     
         AND fcpt.application_id = fat1.application_id     
         AND fat.LANGUAGE = fcpt.LANGUAGE     
         AND fat1.LANGUAGE = fat.LANGUAGE     
         AND fat.LANGUAGE = 'US'     
         AND fgu.request_unit_type = 'P'     
         AND frg.request_group_name = request_group_name_var     
         AND fat.application_name = application_name_var;
   CURSOR c3     -- to get the request set of the  old or parent request group     
            (     
      request_group_name_var   IN   VARCHAR2,     
      application_name_var     IN   VARCHAR2     
   )     
   IS     
      SELECT frst.request_set_name, fat1.application_short_name     
        FROM applsys.fnd_request_groups frg,     
             applsys.fnd_application_tl fat,     
             applsys.fnd_application fat1,     
             applsys.fnd_request_group_units fgu,     
             applsys.fnd_request_sets frst     
       WHERE fat.application_id = frg.application_id     
         AND fgu.request_group_id = frg.request_group_id     
         AND frst.request_set_id = fgu.request_unit_id     
         AND frst.application_id = fat1.application_id     
         AND fat.LANGUAGE = 'US'     
         AND fgu.request_unit_type = 'S'     
         AND frg.request_group_name = request_group_name_var     
         AND fat.application_name = application_name_var;
   prg_name_var        applsys.fnd_concurrent_programs.concurrent_program_name%TYPE;     
   prg_app_name_var    applsys.fnd_application_tl.application_name%TYPE;     
   set_name_var        applsys.fnd_request_sets_tl.user_request_set_name%TYPE;     
   set_app_name_var    applsys.fnd_application_tl.application_name%TYPE;     
BEGIN     
   OPEN c1;
   IF c1%ISOPEN     
   THEN     
      LOOP     
         FETCH c1     
          INTO new_rg_short_name;
         EXIT WHEN c1%NOTFOUND;     
      END LOOP;     
   END IF;
   OPEN c2 (old_request_group, ol_rg_appl_name);
   IF c2%ISOPEN     
   THEN     
      LOOP     
         FETCH c2     
          INTO prg_name_var, prg_app_name_var;
         EXIT WHEN c2%NOTFOUND;     
         ---DBMS_OUTPUT.put_line (prg_name_var || '---' || prg_app_name_var);     
         begin     
   fnd_program.add_to_group (prg_name_var,     
                                   prg_app_name_var,     
                                   new_requet_group,     
                                   new_rg_appl_name     
                                  );     
              
         EXCEPTION     
   WHEN OTHERS     
   THEN     
   DBMS_OUTPUT.PUT_LINE ('Error in attaching '|| prg_name_var ||' to equest group :-' || SQLERRM);     
   END;
      END LOOP;     
   END IF;     
   OPEN c3 (old_request_group, ol_rg_appl_name);
   IF c3%ISOPEN     
   THEN     
      LOOP     
         FETCH c3     
          INTO set_name_var, set_app_name_var;
         EXIT WHEN c3%NOTFOUND;     
        -- DBMS_OUTPUT.put_line (set_name_var || '---' || set_app_name_var);     
  begin     
           fnd_set.add_set_to_group (request_set            => set_name_var,     
                                   set_application        => set_app_name_var,     
                                   request_group          => new_requet_group,     
                                   group_application      => new_rg_short_name);     
            
   EXCEPTION     
   WHEN OTHERS     
   THEN     
     DBMS_OUTPUT.PUT_LINE ('Error in attaching '|| set_name_var ||' to equest group :-' || SQLERRM);     
   END;                             
         END LOOP;     
   END IF;     
END;

No comments:

Post a Comment