Saturday, March 16, 2013

Concurrent Program Registration Scripts


The scripts in this article can be used to:
1)    Register the executable and Program
2)    Attach Concurrent program to a Request Group
3)    Submit Concurrent program

1)    Registering the Executable from back end
       Usually we create executable in the front-end, but this can be done from the database tier i.e. back-end too.
          Below is the PL/SQL code to create an executable from back-end.
         BEGIN
              FND_PROGRAM.executable('XXMZ_ERPSCHOOLS_EMPLOYEE' -- executable
                                                       , 'XXMZ Custom' -- application
                                                       , 'XXMZ_ERPSCHOOLS_EMPLOYEE' -- short_name
                                                       , 'Executable for ERPSCHOOLS Employee INFORMATION' -- description
                                                       , 'PL/SQL Stored Procedure' -- execution_method
                                                       , 'XXMZ_ERPSCHOOLS_EMPLOYEE' -- execution_file_name
                                                       , '' -- subroutine_name
                                                       , '' -- Execution File Path
                                                       , 'US' -- language_code
                                                       , '');
             COMMIT;
         END;


2)    Registering the Concurrent program from back end
            Usually we create Concurrent program in the front-end, but this can be done from the database tier too.
            Below is the program to create a Concurrent program from back-end.
            BEGIN
                     FND_PROGRAM.register('Concurrent program for ErpSchools Employee Information' -- program
                                                                , 'XXMZ Custom' -- application
                                                                , 'Y' -- enabled
                                                                , 'XXMZ_ERPSCHOOLS_EMPLOYEE' -- short_name
                                                                , 'ErpSchools Employee Information' -- description
                                                                , 'XXMZ_ERPSCHOOLS_EMPLOYEE' -- executable_short_name
                                                                , 'XXMZ Custom' -- executable_application
                                                                , '' -- execution_options
                                                                , '' -- priority
                                                                , 'Y' -- save_output
                                                                , 'Y' -- print
                                                                , '' -- cols
                                                                , '' -- rows
                                                                , '' -- style
                                                                , 'N' -- style_required
                                                                , '' -- printer
                                                                , '' -- request_type
                                                                , '' -- request_type_application
                                                                , 'Y' -- use_in_srs
                                                                , 'N' -- allow_disabled_values
                                                                , 'N' -- run_alone
                                                                , 'TEXT' – output_type
                                                                , 'N' -- enable_trace
                                                                , 'Y' -- restart
                                                                , 'Y' -- nls_compliant
                                                                , '' -- icon_name
                                                                , 'US'); -- language_code
                        COMMIT;
            END;

3)    Attaching the concurrent program to the request group
Usually we Attach Concurrent program to the request group in the front-end, but this can be done from database tier too. Below is the program to Attach Concurrent program to the request group from back-end.
               BEGIN
                        FND_PROGRAM.add_to_group('XXMZ_ERPSCHOOLS_EMPLOYEE' -- program_short_name
                                                                             , 'XXMZ Custom' -- application
                                                                             , 'xxmz Request Group' -- Report Group Name
                                                                             , 'XXMZ'); -- Report Group Application
                        COMMIT;
              END;
4)    Submitting Concurrent Program from Back-end
We first need to initialize oracle applications session using
fnd_global.apps_initialize(user_id,responsibility_id,application_responsibility_id) and then run fnd_request.submit_request
 DECLARE
         l_request_id NUMBER(30);
Begin
  FND_GLOBAL.APPS_INITIALIZE (user_id => 1318, resp_id => 59966, resp_appl_id => 20064);
   l_request_id:= FND_REQUEST.SUBMIT_REQUEST ('XXMZ' --Application Short name,
                                                                           'VENDOR_FORM'-- Concurrent Program Short Name );
    DBMS_OUTPUT.PUT_LINE(l_request_id);
     commit;
 End;
To get the resp_id and resp_appl_id use the below queries.
      SELECT APPLICATION_ID, RESPONSIBILITY_ID FROM FND_RESPONSIBILITY_TL
      WHERE RESPONSIBILITY_NAME='xxmz Custom'
     SELECT USER_ID FROM FND_USER WHERE USER_NAME='OPERATIONS'
Once the concurrent program is submitted from back-end, status of the concurrent program can be checked using below query.     
 SELECT * FROM FND_CONCURRENT_REQUESTS WHERE   REQUEST_ID=2766602

No comments:

Post a Comment