Sie sind auf Seite 1von 6

Oracle E-Business Suite

Concurrent Program

Document Content
S.N
o

Index

Page

3
4

Concurrent Programs in Oracle Apps


Types of Concurrent Programs in Oracle Apps

3
6

Concurrent Programs in Oracle Apps


The word program in the concurrent program is used in its broader sense in the
context of concurrent processing in Oracle Applications.
Most of us assume that a computer program is something that can be run as an operating
system executable or series of executable instructions that return some kind of a result or
perform some operations.
In Oracle Applications, the concurrent program has a subtly different meaning.
A concurrent program is an instance of an execution file, along with parameter
definitions and incompatibilities. Concurrent programs use concurrent program
executables to locate the correct execution file.
Say, for example, you are asked to create and periodically run a SQL script to purge
temporary data from some custom application module that you have developed in house. You
could define that script to be run as a concurrent program in Oracle Applications and use the
full power of concurrent processing to schedule and manage concurrent requests for your
newly defined program.
Concurrent Program Executable
A concurrent program executable links an execution file or and the method used to execute it
with a defined concurrent program.
An execution method can be a PL/SQL Stored Procedure, an Oracle Tool such as Oracle
Reports or SQL*Plus, a spawned process, or an operating system host language.
Concurrent Program Execution File
A concurrent program execution file is an operating system file or database stored procedure
which contains your application logic and can be executed by either invoking it directly on
the command line or by invoking a program which acts upon it. For example, you run a
Pro*C program by invoking it on the command line. You run a SQL script by running
SQL*Plus and passing the name of the SQL script without the .sql extension.
Execution Method
The execution method identifies the concurrent program executable type and the method
Oracle Application Object Library uses to execute it. An execution method can be a PL/SQL
Stored Procedure, an Oracle Tool such as Oracle Reports or SQL*Plus, a spawned process, or
an operating system host language.
Oracle Tool Concurrent Program
A concurrent program written in Oracle Reports, PL/SQL, SQL*Loader, or SQL*Plus.

Logical Database
A logical database is a set of logically related data stored in one or more ORACLE IDs.
Concurrent managers use logical databases to determine the scope of concurrent program
compatibilities. When you define a concurrent program, you specify what programs are
incompatible with this program and cannot run together with this program in the same logical
database. A user in a logical database submits a concurrent request to run a concurrent
program. If a concurrent manager that can process your request finds that there are no
incompatible programs currently running in the users logical database, then the concurrent
manager processes the concurrent request. Concurrent managers use logical databases to
ensure that incompatible programs do not run together.
The following illustration depicts the relationship between the application, concurrent
program, and executable code:

Oracle Applications
Concurrent Program
Param
eters

Execut
able

Relation between Application, Concurrent Program and executable

Overview of Designing Concurrent Programs


Among the functions that best take advantage of concurrent processing are reports and
functions that perform many database operations.
You should design your concurrent program to use the features and specifications of
concurrent processing most efficiently.
Your program should expect values to be passed as concurrent program parameters, and
should handle failure gracefully, allowing the concurrent manager to restart your program
without creating data integrity problems. If you want to generate error messages and output,
you should instruct your program to write to separate log and output files. This makes
diagnosing any problems much easier.
Users submit concurrent requests using Standard Request Submission.

If you want your users to submit your program through Standard Request Submission, you
must check theUse in SRS check box and register your program parameters when you
define your concurrent program.
When a user submits a concurrent request, the request waits in the queue of each concurrent
manager defined to be able to run the users concurrent request. Use Oracle System
Administration to set the priority of requests that a user submits and change the priority of
individual requests. The requests priority affects the requests position in the queues.

User Action
System maintains
Concurrent Managers
Read applicable
to
requests
RequestsList of requests
Concurrent
Start Concurrent
And start concurrent
Program programprograms
Multiple Concurrent programs
Request
Table
Reques
Concur
to Start
RunMay run simultaneously
Progra
t to run
rent
progra
mX
progra
Manag
mX
Started
m
er
Typical Concurrent Process Flow
Typical Concurrent Process flow
The first available concurrent manager that can process the users request looks at predefined
or system administratordefined data groups in Oracle Application Object Library tables.
The data group assigned the users responsibility contains a list of application names and
their corresponding ORACLE IDs. The concurrent manager automatically uses the ORACLE
ID associated with the concurrent programs application to run the program.
If no concurrent manager is currently running an incompatible program in the same logical
database as the users concurrent request, the concurrent manager removes the users
concurrent request from any other queues and runs your concurrent program. Your concurrent
program writes to a report output file and a log file. The concurrent manager automatically
prints the report output if you defined your program to print output.
If the program is submitted using Standard Request Submission, the user can specify printing
and submission information at runtime.
You can write different types of concurrent programs: Oracle Tool programs written in
SQL*Plus, PL/SQL, SQL*Loader, or Oracle Reports; programs written in C or Pro*C, or
host language programs.

Types of Concurrent Programs in Oracle Apps


You can divide concurrent programs into the following groups based on the tools
or programming language they are created with:
Oracle Tool Concurrent Programs
Oracle Reports: Created with Oracle Reports 10g in R12 and Oracle Reports 6i in R11i.
Traditionally this was the most common operational reporting tool in Oracle Applications
prior to R12. As of R12, BI Publisher has replaced most of the Oracle Reports, but even in
R12, Oracle Reports are still used.
PL/SQL: Based on the database procedure stored within the PL/SQL package. This is a
common type of concurrent program.
SQL*Loader: A database command-line utility used to load data from external flat files into
the Oracle Applications database. Used very often for data conversions and importing data
from third-party applications and other types of data import.
SQL*Plus: Executes SQL scripts as well as anonymous PL/SQL blocks.
Useful for noncomplicated SQL reports, data purge routines, and updates that need to be
executed repeatedly.
Java-based Concurrent Programs
Java stored procedure: Executes Java stored database procedures. Not used very frequently.
Java concurrent program: Executes a Java program that resides outside of the Oracle
database. Due to the popularity of Java and availability of various Java libraries, this type is
becoming very popular.
Executable file location:
It is worth noting that at runtime, the executable will need to be placed at a specific location.
Files are stored in the <application directory, AP/AR/INV etc> they are registered with.
Under this directory, they will be in the directory related to the type of program it is. For
example if the Application is AP, then copy the SQL script at:
D:oracleVISappsapps_stapplap12.0.0sql (same as $AP_TOP/sql)

Das könnte Ihnen auch gefallen