Oracle Cloud offers a broad portfolio of software as a service applications, platform as a service, and social capabilities, all on a subscription basis. Oracle Cloud delivers instant value and productivity for end users, administrators, and developers alike through functionally rich, integrated, secure, enterprise cloud services.
 Get a Free Magzine ...Profit:The Executive's Guide to Oracle Applications

Subscribe to the OracleAppsHub to receive notifications when there are new posts:

 get RSS feed
 Oracle Fusion Applications (OFA) is a portfolio of next generation suite of software applications from Oracle Corporation. It is distributed across various product families; including financial management, human capital management, customer relationship management, supply chain management, procurement, governance, and project portfolio management
 Get a Free Magzine ...Profit:The Executive's Guide to Oracle Applications

Incompatibility and Request Sets

Posted on August 21st, 2008 by Sanjit Anand |Print This Post Print This Post |Email This Post Email This Post

Have you tried OracleappsHub in ipad/iphone/smart Phone? Don't wait. try it today

ISD team of client side was struggling with such requirement.

Scenario :They have two request set name say 'X' and request set name 'Y'.

Their requirement was to make these two incompatible to each. So that when X runs Y should wait for X to complete or vice versa?

This might be very similar requirement for other so thought to bring into post.

dgreybarrowLets understand ..... "INCOMPATIBLE"

incompiatable

So left hand side figure , is what defined in m-w.com

Lets revisit in Oracle Context..

INCOMPATIBLE means: Two incompatible reports or request set are not allowed to run in parallel. Incompatible reports /program can only run sequentially, the first one must terminate before the other is allowed to start.

So, it can happen that a report is pending for a long time, when it is waiting for the incompatible report to finish.

In Oracle Context you have to know that INCOMPATIBLE type may be global or domain . If you choose Domain, the incompatibility is resolved at a domain-specific level. If you choose Global, then this concurrent program will be considered globally incompatible with your concurrent program, regardless of which domain it is running in.Make sense.. Lets take a look how documentation define:

dgreybarrowExample of Program Incompatibilities

You can understand like this: Oracle General Ledger's Posting program,which is used to post journal entries.

If the Posting program's incompatibility with other concurrent programs were not enforced, other financial reports running simultaneously with the Posting program could contain incorrect account balance information.

dgreybarrowDefinition of incompatible type "Domain" VS "Global"

If you choose Domain, the incompatibility is resolved at a domain-specific level.

If you choose Global(Fyi..The concept of "Global" incompatibilities was introduced with Patch 2364876), then this concurrent program will be considered globally incompatible with your concurrent program, regardless of which domain it is running in.

You can define a concurrent program to be globally incompatible with another program that is, the two programs cannot be run simultaneously at all; or you can define a concurrent program to be incompatible with another program in a Conflict Domain. Conflict domains are abstract representations of groups of data.

They can correspond to other group identifiers, such as sets of books, or they can be arbitrary.

dgreybarrowConcurrent Conflict Domains Concept

As per Oracle system admin user guide, 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 know where, in terms of data, they are incompatible. A Conflict Domain identifies the data where two incompatible programs cannot run simultaneously.

In Oracle Applications, data is stored in database tables that belong to a particular application. Each table may also contain information used to determine what conditions need to be met to access the individual records. These conditions may consist of one or more of the following data groupings:

  • Set of books : This is based out of underline profile option i.e..GL_SET_OF_BOOKS
  • Multiple Operating units :This is based out of underline profile option MO_OPERATING_UNIT)
  • Multiple Orgs :This is based out of underline profile option ie. INV_ORGANIZATION_ID Manufacturing Applications
  • HR may use business group as a conflict domain
  • Fixed asset may use Fixed asset dep. book(FA)

A conflict domain is an abstract representation of the groupings used to partition your data. There is no limit to the number of domains that can be defined, but excessive domains may hurt performance.

dgreybarrowMore on Oracle Conflict Domains

A conflict domain is a set of related data stored in one or more ORACLE schemas and linked by grants and synonyms. Do not confuse logical databases with your ORACLE database. The ORACLE database contains all your Oracle Applications data, with each application's data usually residing in one ORACLE schema. You can think of a logical Defining database as a line drawn around a set of related data for which you wish to define concurrent program incompatibilities. In other words, logical databases determine which concurrent programs cannot run at the same time.Make sense:)

dgreybarrowProfile Options as part of standard setup

  • Concurrent:Conflicts Domain :This option identifies the domain within which all the incompatibilities between programs has to be resolved.
    The profile can be set at Site, Application, Responsibility and User levels.This can be an operating unit name, a legal entity name, or a set of books name as the domain name. You are allowed to define as many as domains as you need. Since you cannot delete conflicts domains, you should keep the domains to a necessary minimum.

dgreybarrowDEFINING CONFLICTS DOMAINS

Navigate to Concurrent > Conflicts Domains

dgreybarrowHow its Conflict Domains Works with conflict resolution manager

tickAll programs are assigned a conflict domain when they are submitted. If a domain is defined as part of a parameter the concurrent manager will use it to resolve incompatibilities. If the domain is not defined by a parameter the concurrent manager uses the value defined for the profile option Concurrent:Conflicts Domain.

tickLastly, if the domain is not provided by a program parameter and the Concurrent:Conflicts Domain profile option has not been defined the 'Standard' domain is used. The Standard domain is the default for all requests.

tickAll programs use the Standard conflict domain unless a value is defined for the profile option Concurrent:Conflicts Domain or a conflict domain is defined through a program parameter.

tickEach request submitted uses parameters which identify the records that it will access.

tickFor programs that are defined with incompatibility rules an additional parameter (conflict domain parameter) is used. The conflict domain may be set automatically based on such variables as a login ID, set of books, or the organization the user is working in. The conflict domain parameter may in some cases be selected in the parameters field of the Submit Requests form. Once the parameter is determined the Conflict Resolution Manager (CRM) uses the domain to ensure that incompatible programs do not run simultaneously in the same domain.

dgreybarrowExample to make a report set incompatible with itself 11i

This came from Oracle Support and works for 11i.

  1. Go to system administration responsibility and navigate to Concurrent > Set
  2. Query on desired Request Set. For Example: Test_Report_set
  3. Check the "Allow Incompatibility" check box in the Run Options and then save this record.
    • This step will create a new concurrent program, the naming convention will be of the form "Request Set Test_Report_set "
  4. Navigate to Concurrent > Program > Define.
  5. Query on new concurrent program "Request Set Test_Report_set “, remembering the concurrent program name begins with "Request Set.".
  6. Click on 'Incompatibilities' button located at the bottom of the form
  7. In the Incompatible Programs form specify the name of the concurrent program,"Request Set Test_Report_set", in the Name column and the value in the Scope column should be ' Set ' and save this record.
  8. Test ..test ..test

dgreybarrow

Similar Post

Related Posts

Posted in AOL | 1 Comment »Email This Post Email This Post | Print This Post Print This Post

Have you tried OracleappsHub in ipad/iphone/smart Phone? Don't wait. try it today
One Response
  1. Mohan Says:

    Our incompitable option is not working. Both the program are running simulataneously. Is there any option to check.

Leave a Comment

Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.