9 Nov 2010

Request vs Request Set


What are Request Groups and Request Sets :

Generally, we group similar functionality concurrent programs into a request set

 For an example:
1. Load a AR Invoice data file into staging table for an inbound interface
2. Import the step 1 data into Oracle  interface tables
3. Launch the Oracle standard Auto invoice import program
4. Generate an BI publisher report and send notification.

 All these 4 programs are different yet, they are inter-related.

• A request group is a collection of  concurrent programs. A System Administrator defines request groups in order to control user access to concurrent programs. Only a System Administrator can create a request group.

 • Request sets define run and print options, and possibly, parameter values, for a collection of reports or concurrent program. End users and System Administrators can define request sets. A System Administrator has request set privileges beyond those of an end user.

 •A request security group defines the concurrent programs, including requests and request sets that may be run by an application user under a particular responsibility. When a request group is assigned to a responsibility, it becomes a request security group.

 •You can run the same set of concurrent requests regularly by defining a request set,and then submitting the request set from the Submit Requests form. As System Administrator, you can include any Standard Request Submission report or concurrent program in the request sets you define. When end users define a request set, they can only select from reports and programs that belong to their responsibility’s request security group.


Request vs Request Set

              Reports or concurrent programs that are not included in a request security group on an individual basis, but that do belong to a request set included in a request security group, have the following privileges:

 • Users cannot use the Submit Requests form to run single requests and request sets that are not in their responsibility’s request security group.

 • Users can, however, run request sets that contain requests that are not in their request security group, if the request set is in their request security group.



Following Query lists all the Request Sets which are created with the given Concurrent Program .


SELECT DISTINCT user_request_set_name
  FROM fnd_request_sets_tl
 WHERE request_set_id IN
          (SELECT request_set_id
             FROM fnd_request_set_programs
           WHERE concurrent_program_id =
                     (SELECT concurrent_program_id
                        FROM fnd_concurrent_programs_tl
                       WHERE UPPER(user_concurrent_program_name)= UPPER (:p_conc_prog_name)));

6 Nov 2010

API to add concurrent program to a request group


API to add concurrent program to a request group 



Here is the way to add a concurrent program to a request group from back end.

 DECLARE

   v_program_short_name    VARCHAR2 (200);
   v_program_application   VARCHAR2 (200);
   v_request_group         VARCHAR2 (200);
   v_group_application     VARCHAR2 (200);
   v_check                 VARCHAR2 (2);

BEGIN

   v_program_short_name  := 'XX_CONC_PROG_SHORT_NAME';
   v_program_application := 'XX Order Management';
   v_request_group       := 'XX Request Group';
   v_group_application   := 'XXFND';


   apps.fnd_program.add_to_group
(program_short_name  => v_program_short_name,
 program_application => v_program_application,
 request_group       => v_request_group,
 group_application   => v_group_application
  );

  --COMMIT;

  END;





  SELECT 'Y'
  INTO   v_check
    FROM   FND_REQUEST_GROUPS FRG,
             FND_REQUEST_GROUP_UNITS FRGU,
               FND_CONCURRENT_PROGRAMS FCP
      WHERE  FRG.request_group_id       = FRGU.REQUEST_GROUP_ID
      AND    FRG.application_id         = FRGU.application_id
    AND    FRGU.request_unit_id       = FCP.concurrent_program_ID
    AND fcp.CONCURRENT_PROGRAM_NAME='XX_CONC_PROG_SHORT_NAME'