Aug 1, 2011

DEFINING PROGRAM INCOMPATIBILITY RULES

DEFINING PROGRAM INCOMPATIBILITY RULES

Incompatible and Run Alone Programs

When a concurrent program is incompatible with another program, the two programs cannot access or update the same data simultaneously. When you define a concurrent program, you can list those programs you want it to be incompatible with. You can also list the program as incompatible with itself, which means that two instances of the program cannot run simultaneously. You can also make a program incompatible with all other concurrent programs by defining the program to be run-alone.

You define a concurrent program to be run-alone or to be incompatible with specific concurrent programs by editing the concurrent program's definition using the Concurrent Programs window. See: Concurrent Programs.

An applications database account in which a concurrent program accesses or updates data and where program incompatibility and run-alone program definitions are enforced is referred to as a logical database.

Request Sets - Incompatibilities Allowed

When you define a request set, you create a concurrent program that runs the reports in your request set according to the instructions you entered. Using the Concurrent Programs window, when you list programs as incompatible with a request set, those programs are prevented from starting until all the reports in the set have completed running.

To define incompatibility rules for a request set:


· Check the Incompatibilities Allowed check box on the Request Set window.
· Navigate to the Incompatible Programs block in the Concurrent Programs form and list those programs that your request set is incompatible with.

All concurrent programs that run request sets are titled Request Set . In the Concurrent Programs form, if you query a request set concurrent program on the basis of the program's name, you must enter in the Name field the words:

· "Request Set" before the name of a concurrent program
· "Request Set %" to perform a query on all request set programs

REQUEST SET INCOMPATIBILITIES


A request set is actually a concurrent program that submits requests to run each program in the request set. You can allow incompatibility rules to govern your request set so that the request set does not run at the same time as other reports or concurrent programs.

Use the Concurrent Programs form to query the request set concurrent program and list those programs you want to define as incompatible with your request set.

All concurrent programs that run request sets are titled Request Set . In the Concurrent Programs form, if you query a request set concurrent program on the basis of the program's name, you must enter in the Name field the words:

"Request Set" before the name of a concurrent program
"Request Set %" to perform a query on all request set programs

When you list a program as incompatible with your request set, the program will not run simultaneously within the same logical database as the request set or any of the reports within the set.

Using Data Groups for cross-application reporting

A data group is a list of applications and the Oracle username associated with each application. Each responsibility has its own data group.

When a concurrent manager runs a report, it refers to your responsibility's data group to match the application that owns the report with a unique Oracle username.

Using data groups, you can select the Oracle username in which your report runs. You can let users run requests owned by an application other than the application associated with the user's responsibility, for example:

· you can let a user of an Oracle General Ledger responsibility run an Oracle Payables report in the Oracle Payables Oracle username.

· since you are using the Submit Requests form in the General Ledger Oracle username, the General Ledger Oracle username must have SELECT privileges on any Oracle Payables validation tables needed to validate report parameters

LOGICAL DATABASES

If two programs are defined as incompatible with one another, the data these programs cannot access simultaneously must also be identified.

In other words, to prevent two programs from concurrently accessing or updating the same data, you have to define where, in terms of data, they are incompatible. A logical database identifies the data where two incompatible programs cannot run simultaneously.

Oracle Usernames

In Oracle Applications, data is stored in database tables that belong to a particular application. Database privileges are determined by an application's Oracle username.

· An Oracle username and password allows access to an application's tables in an Oracle database. An Oracle username determines the database tables and table privileges accessible by the corresponding application.

You identify data where incompatible programs cannot run simultaneously by assigning Oracle usernames to belong to a logical database. You create a logical database name using the Logical Databases window, and you assign Oracle usernames to a logical database using the ORACLE Users window.

DATA GROUPS WINDOW
Use this window to define data groups. A data group is a list of Oracle Applications and the ORACLE usernames assigned to each application.

· If a custom application is developed with Oracle Application Object Library, it may be assigned an ORACLE username, registered with Oracle Applications, and included in a data group.

An ORACLE username allows access to an application's tables in an ORACLE database. All data groups automatically include an entry for Application Object Library.

· A concurrent manager running reports or programs under Oracle Applications refers to a data group to identify the ORACLE username it uses to access an application's tables in the database.

· Transaction managers running synchrous programs can only run programs submitted from responsibilities assigned the same data group as the transaction manager. If you create custom data groups, you should create new transaction managers for the applications that use transaction managers. Consult your product documenation to determine if your application uses transaction managers.

Each responsibility within Oracle Applications is assigned a data group.

During installation or upgrading of Oracle Applications, a standard data group is defined, pairing each installed application with an ORACLE username (note: a standard data group is defined for each set of books). You cannot change or delete the predefined values for Application or ORACLE username in a Standard data group. However, you may:

· Modify the Tool ORACLE username and description associated with an Application-ORACLE username pair.
· Add new Application-ORACLE username pairs to the group.

Data Groups Block
Create a new data group, or modify an existing data group.

You cannot change or delete the predefined values for Application or ORACLE username in a Standard data group. However, you may modify the Tool ORACLE username and description, or add new Application-ORACLE username pairs to a Standard group.

Data Group

A data group is uniquely identified by its name. You cannot create a data group with a name already in use. Once saved, data group names cannot be edited. Application-ORACLE Username Pairs Block

Pair applications with ORACLE usernames.

When you copy a data group, each application, its assigned ORACLE username, and, if present, its Tool ORACLE username and description, appear in this zone automatically. All data groups automatically include an entry for Application Object Library.

Application

Within each data group, an application can be listed only one time.

Oracle User Name

Tool

A Tool ORACLE username can be added to each application-ORACLE username pair within a data group. A Tool ORACLE username identifies an ORACLE account that users can automatically connect to when using an Oracle Tool, for example, SQL*Plus. Users select the Oracle Tools window from the standard Oracle Applications menu.

Attention: The Oracle Tools window may not be available on your desktop platform. The Oracle Tools window is primary for the character mode environment.

When a responsibility is defined, a data group is chosen, and an application within the data group is selected for the responsibility's forms to connect to.

· When a Tool ORACLE username is associated with that application, users of an Oracle Tool can connect to that ORACLE account without entering a username and password.

· If a Tool ORACLE username is not associated with that application, then users of an Oracle Tool must enter a username and password to obtain access to an ORACLE account.

Attention: You cannot select a Tool ORACLE username to associate with Application Object Library. The Application Object Library-ORACLE username pair is inserted into each data group, and cannot be updated or deleted.

Suggestion: You should assign a Tool ORACLE username that is restricted (read-only).

Warning: Modifying data or table structures using an Oracle Tool, for example, SQL*Plus, may damage your data's integrity and is not supported by Oracle.

Copy Applications From...

Use this button to copy an existing data group, then add or delete application-ORACLE username pairs to create a new data group.

MODIFYING DATA GROUPS
Predefined Standard Data Groups

During installation or upgrade of Oracle Applications, a standard data group is defined that pairs each installed application with an ORACLE username (note: this occurs for each set of books).

You cannot change or delete the predefined values for Application or ORACLE username in a Standard data group. However, you may modify the Tool ORACLE username and description, or add new Application-ORACLE username pairs to the group.

Defining new Data Groups
Since the installation process automatically defines Data Groups for Oracle Applications, you only need to define any additional data groups you wish to utilize.

You can copy a data group and give it a new name, creating a new data group. Each application, its assigned Oracle username, and, if present, its Tool Oracle username and description, are copied to the new data group.

Suggestion: Make a backup copy of your standard Data Group, and do not assign it to a responsibility. That way, if you ever inadvertently connect the wrong Oracle username to an application, or lose track of your applications' configuration, you have an initial configuration you can revert to.

Adding a custom application to a Data Group

If a custom application is developed with Oracle Application Object Library, to include it in a Data Group, you:

· Register the application with Oracle Applications using the Applications form
· Assign an Oracle username to the application using the ORACLE Usernames form

Registering an Oracle Username
Registering an Oracle username with Oracle Applications sets up the privileges to the Oracle Application Object Library database tables (such as flexfield tables, menu tables, and so on) that are necessary to successfully use Oracle Applications.

EXECUTABLE
Define a concurrent program executable for each executable source file you want to use with concurrent programs. The concurrent program executable links your source file logic with the concurrent requests you and your users submit to the concurrent manager. The Installation Guide for your operating system details where to place the execution files for each execution method.

Attention: You cannot add new immediate programs to a concurrent manager program library. We recommend that you use spawned concurrent programs instead.

Concurrent Program Executable Block
The combination of application name plus program name uniquely identifies your concurrent program executable.

CONCURRENT PROGRAM EXECUTABLE WINDOW
Executable

Enter a name for your concurrent program executable. In the Concurrent Programs window, you assign this name to a concurrent program to associate your concurrent program with your executable logic.

Application

The concurrent managers use the application to determine in which directory structure to look for your execution file.

Execution Method

The execution method cannot be changed once the concurrent program executable has been assigned to one or more concurrent programs in the Concurrent Programs window. The possible execution methods are:


FlexRpt The execution file is wrnitten using the FlexReport API.
FlexSql The execution file is written using the FlexSql API.
Host The execution file is a host script.
Oracle Reports The execution file is an Oracle Reports file.
PL/SQL Stored Procedure The execution file is a stored procedure.
SQL*Loader The execution file is a SQL script.
SQL*Plus The execution file is a SQL*Plus script.
SQL*Report The execution file is a SQL*Report script.
Spawned The execution file is a C or Pro*C program.
Immediate The execution file is a program written to run as a subroutine of the concurrent manager. We recommend against defining new immediate concurrent programs, and suggest you use either a PL/SQL Stored Procedure or a Spawned C Program instead.
Execution File Name

Enter the operating system name of your execution file. Some operating systems are case sensitive, so the name entered here should match the file name exactly.

Do not include spaces or periods (.) in the execution file name, unless the execution method is PL/SQL stored procedure. See the Oracle Applications Installation Guide for details on the path Oracle Applications uses to find each executable file.

The maximum size of an execution file name is 30 characters.

Subroutine Name

Enter the name of your C or Pro*C program subroutine here. Do not use spaces or periods (.) in this field. Only immediate programs or spawned programs using the Unified C API use the subroutine field. We recommend against defining new immediate concurrent programs, and suggest you use either a PL/SQL Stored Procedure or a Spawned C Program instead.

Concurrent Program Libraries

Register program libraries, which are lists of immediate concurrent programs that you wish to link with a concurrent manager. Concurrent managers use the programs in a program library to run their immediate programs. You must register libraries before you can define concurrent managers. You can only include immediate-type concurrent programs in program libraries.

After adding any immediate concurrent program to your library or creating a new library, you must rebuild and relink your library before your changes take effect. After you rebuild and relink your library, the system administrator must restart the concurrent manager using your library.

You can only register program libraries that you have already built at the operating system level.

Prerequisites

· Use the Applications window to register your application with Oracle Application Object Library.
· Use the Concurrent Program Executables window to define your concurrent program executable file.

Concurrent Program Libraries Block

The combination of application name plus library name uniquely identifies your set of programs.

Library Name

This is the same name you gave to your program library file at the operating system. The library name must be eight characters or less.

System administrators can then assign this library name to concurrent managers. Each concurrent manager is linked to one program library and can only run immediate-type programs that use concurrent program executables that are part of that library. A concurrent manager can run other execution type programs that are not in its program library.

APPLICATION
The bin directory under this application's top directory should contain the executable program library file.

Library Type

There are two types of program library you can define:

Concurrent Library A library of immediate concurrent programs to link with a concurrent manager.
Transaction Library A library of transaction programs to link with a transaction manager.

Concurrent Programs Block

List the concurrent program executables you have linked to this program library at the operating system level.

Program

Enter the name of an immediate-type concurrent program executable that you linked into your program library at the operating system. This block verifies that the program name and application name you specify uniquely identify a defined concurrent program executable.

Application

This is the application to which your concurrent program belongs.

Rebuild Button

Select this button when you need to rebuild your concurrent library. You should rebuild your library whenever you add new programs to your library.

Applications Window

You can use your custom application to name your custom menus, concurrent programs, custom responsibilities, and many other custom components.

When you define a custom application, you supply several pieces of information to Oracle Applications. First, you name the new application with the specified terms for users, hidden application fields and messages. Then, you define how to find the files associated with your custom application.

You can use your custom application to name your custom menus, concurrent programs, custom responsibilities, and many other custom components. For some objects, the application part of the name only ensures uniqueness across Oracle Applications. For other components, the application you choose has an effect on the functionality of your custom object.

Prerequisites

· Define an environment variable that translates to your application's basepath (see the Oracle Applications Installation Guide for your operating system).

Applications Block

When you register a custom application, you provide the information Oracle uses to identify it whenever you reference it. Although you can change the name of an application, doing so may cause a change in the application code where you hardcode your application name. For example, if you pass program arguments through the menu that have application name hardcoded, you will also have to update them.

Attention: You should not change the name of any application that you did not develop, as you cannot be sure of the consequences. You should never change the name of any Oracle Applications application, because these applications contain hardcoded references to the application name.

Application

This user-friendly name appears in lists seen by application users.

Short Name

Oracle Applications use the application shortname when identifying forms, menus, concurrent programs and other application components. The short name is stored in hidden fields while the name displays for users.

Your short name should not include spaces. You use an application short name when you request a concurrent process from a form, and when you invoke a subroutine from a menu.

Suggestion: Although your short name can be up to 50 characters, we recommend that you use only three or four for ease in maintaining your application and in calling routines that use your short name.

Basepath

Enter the name of an environment variable which translates into the top directory of your application's directory tree. Oracle Applications search specific directories beneath the basepath for your application's executable files and scripts when defining actions that reside in external files.

In general, your application's basepath should be unique so that separate applications do not write to the same directories.

However, you may define custom applications that will be used only for naming your custom responsibilities, menus and other components. In this case, you can use the basepath of the Oracle application that uses the same forms as your application. For example, if you are defining a Custom_GL application, you could use the GL_TOP basepath for your custom application.

Abbreviation

The abbreviation guarantees a unique name that is less than four characters. Application processes that require a brief application name use the abbreviation. Most application abbreviations consist of the first three letters of the application short name.

Message Prefix


Users see the message prefix at the beginning of error messages. In the SQL*Forms 2.3-based (character mode) Oracle Applications products, a message uses the prefix of the application associated with the responsibility the user is currently using. In the Oracle Forms 4.5-based (GUI) applications, the message prefix is always APP, regardless of what you specify here. The usual value for this field is APP or your application short name.

Suggestion: Although your prefix can be up to 15 characters, we recommend that you use only three or four characters. This makes your messages easier to read.


No comments:

Post a Comment