Friday, November 2, 2018

Concurrent Program Registration Scripts

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;
Query in the front-end to see whether your executable is created or not.
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' -- enable
                       , '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;
Query in the front-end to see whether your Concurrent program is created or not.
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;
Query in the front-end to see whether your Concurrent program is Attached to Request Group or not.
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';

1
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.
1
SELECT * FROM FND_CONCURRENT_REQUESTS WHERE   REQUEST_ID=2766602

No comments:

Post a Comment

SQL Important Queries

  How to delete rows with no where clause The following example deletes  all rows  from the  Person.Person  the table in the AdventureWork...