Thursday, November 5, 2009

How to submit the concurrent request from PLSQL?

FND_REQUEST.SUBMIT_REQUEST buit-ins used for submit the concurrent request from PLSQL.

We first need to initialise oracle applications session (FND_GLOBAL.APPS_INITIALIZE) then only we can call this "FND_REQUEST.SUBMIT_REQUEST".


vn_resp_appl_id NUMBER;
vn_resp_id NUMBER;
vn_user_id NUMBER;
vn_request_id NUMBER;

/* Getting Profile option values */
vn_resp_appl_id := apps.fnd_profile.VALUE ('RESP_APPL_ID');
vn_resp_id := apps.fnd_profile.VALUE ('RESP_ID');
vn_user_id := apps.fnd_profile.VALUE ('USER_ID');

/* Application Initialisation */
apps.fnd_global.apps_initialize (n_user_id, n_resp_id, n_resp_appl_id);

/* Concurrent request submission */
vn_request_id := apps.fnd_request.submit_request (
argument1 IN VARCHAR2 DEFAULT CHR (0),
argument2 IN VARCHAR2 DEFAULT CHR (0),
argument3 IN VARCHAR2 DEFAULT CHR (0),
----- argument4 to argument99 -------------
argument100 IN VARCHAR2 DEFAULT CHR (0)

/* Commit */


application : Short name of application under which the program is registered.
program : concurrent program name for which the request has to be submitted.
description : [Optional] Will be displayed along with user concurrent program name.
start_time : [Optional] Time at which the request has to start running.
sub_request : [Optional] Set to TRUE if the request is submitted from another running request and has to be treated as a sub request. Default is FALSE
argument1..100 : [Optional] Arguments {parameters} for the concurrent request.

Tuesday, November 3, 2009

How to register the oracle reports in oracle apps?


1. Concurrent executable creations.
2. Concurrent program definitions & adding parameters.
3. Attach this program into request group.
4. Develop the oracle reports as per requirements.
5. Move the reports into $XXCUSTOM_TOP/reports/US.
6. Run and verify the report output. (concurrent program)

Steps in detail

1. Concurrent executable creations.
     Navigation: Application Developer > Concurrent > Executable

Enter the valid values for the “Executable, short name, application, execution method , execution file name

Execution methods
1. Oracle Reports – used for the RDF reports.
2. Host – used for shell scripts, basically the language of the host operating system.
3. PL/SQL Stored procedure – used to run the stored procedure through oracle applications.
4. SQL*Loader – used to run the sql loader programs.
5. SQL*Plus - used to run the anonymous PL/SQL blocks. It will get executed in the same fashion as you are running on SQL Plus.
6. Java Stored Procedure – The execution file is a Java stored procedure.
7. Java Concurrent Program – Used for program written in Java.
8. Spawned – used for c or pro*c Program. Mainly used by standard oracle interfaces.
9. Perl Concurrent Program – used for programs written in CGI Perl.
10. Request Set Stage Function – PL/SQL stored function that can be used to calculate the completion statuses of request set stages.
11. Immediate – execution file is a program written to run as subroutine of the concurrent manager. Oracle doesn’t recommend use of this executable type.
12. Multi-Language function – execution file is an MLS function that supports running concurrent program in multiple languages.

PL/SQL Stored Procedure, Oracle Reports, Host, SQL*loader, SQL*Plus are the most commonly used executable types.

2. Concurrent program definitions & adding parameters.
    Navigation: Application Developer > Concurrent > program

Token (nothing but report parameter name)

3. Attach this program into appropriaterequest group.
4. Develop the oracle reports as per requirements.
5. Move the reports into $XXCUSTOM_TOP/reports/US.
6. Run and verify the report output. (concurrent program)

Monday, November 2, 2009

How to register the forms in oracle applications?


1. Download the required fmb(s) and pll(s) from the server.
2. Develop the custom form in forms developer.
3. Move the form into server.
4. Compile the form file.
5. Form registration.
6. Form function registration.
7. Attaching the form function into menu.

Steps in detail

1. Download the TEMPLATE.fmb and APPSTAND.fmb from $AU_TOP/forms/US.
    (You can find all the oracle apps seeded forms in this directory)

2. Download the required pll files from $AU_TOP/resource.
    (You can find all the oracle apps seeded library files in this directory)

3. Copy and save the TEMPLATE.fmb into meaningful custom name.

4. Delete the following objects
             i. Window name (BLOCKNAME)
            ii. Canvas name (BLOCKNAME)
           iii. Data blocks (BLOCKNAME and DETAILBLOCK)

5. Create the windows, canvases and data blocks as per the requirements. (Don’t forget to sub class the properties for the same.) If you are creating the multi record blocks then include a one non-data base item in the same block and sub class the property called “CURRENT_RECORD_INDICATOR”.

6. You must modify the following triggers
          i. PRE-FORM

7. You do not modify these form-level triggers, but you can write block or item level triggers that override the form-level trigger.
           i. KEY-LISTVAL
          ii. ON-ERROR.

8. You do not modify the following triggers in any way.
               i. STANDARD_ATTACHMENTS
              ii. ZOOM
             iii. FOLDER_ACTION
             iv. KEY-HELP
              v. KEY-EXIT
             vi. KEY-EDIT
            vii. KEY-COMMIT
           viii. WHEN-WINDOW-CLOSED
            ix. CLOSE_WINDOW

9. You must modify the APP_CUSTOM package body as mentioned like a below figure.

10. Move the fmb file into $XXCUSTOM_TOP/forms/US.

11. Compile the fmb file in PuTTY (connect to PuTTY and change the current directory into $XXCUSTOM_TOP/forms/US, execute the below mentioned command with apps password.)

Release 12
frmcmp_batch module= userid=apps/ output_file= module_type=form batch=yes compile_all=special

11i Release
f60gen module= userid=APPS/ output_file= module_type=form batch=yes compile_all=special

12. Register the form in oracle apps.
Navigation -> Application Developer > Application > Form

13. Register the form functions
Navigation -> Application Developer > Application > Function

Description TAB (Function name and user function name)
Properties TAB (Type -> Form)
Form TAB (chose the custom form name)

14. Attach this form function into menu.
Navigation -> Application Developer > Application > Menu
Query the appropriate menu and add the custom function into the same.

15. Verify the form in oracle apps.

Sunday, November 1, 2009

Oracle EBS - Introduction

Oracle E-Business Suite ("EB-Suite" or "EBS") consists of a collection of computer applications/modules. (like Oracle Financials, Oracle HRMS, Oracle Projects, Oracle CRM, Oracle PO, etc.)

How to user access (DML) the oracle apps table data or getting reports?
An oracle apps user can access the table data’s or reports through responsibilities.

The below figure may be help you to understand some more.

Oracle apps login
To connect to the Oracle Applications, you must have an Oracle Apps login ID created by the System Administrator of the Oracle Applications instance.

If the login is successful it will lead you to the responsibility page as shown in figure below. This page will show all the responsibilities that have been assigned to your Login ID by the System Administrator.

Responsibilities control what applications the user can access and - once in - what they can do within the application. They control what screens the user sees, what choices they may make from those screens, what reports they can run, and, at the lowest level...

Every responsibility has application, menu, request group details.
Oracle Applications comprise the applications software or business software of Oracle Corporation.

Oracle Corporation sells many functional modules which use the Oracle RDBMS as a back-end, notably Oracle Financials, Oracle HRMS, Oracle Projects, Oracle CRM, Oracle PO, etc.

Menu controls what screens the user sees, what choices they may make from those screens.

Request group
Request group controls, what reports they can run.

Data group
A data group is a list of Oracle Applications and the ORACLE usernames assigned to each application.