Monday, December 25, 2017

The concept of Business Events in the context of EBS plays a critcal role in enabling event-driven integration with other systems outside the application.

In addition to that, the Business Events in E-Business Suite in particular allow for an exceptionally effective way of decoupling the standard product functionality, available out of the box, from client customizations that seek to adapt the standard product to meet customer-specific business needs. In other words, Oracle Applications developers should consider using Business Events whenever possible when configuring and customizing the standard products.

dgreybarrow What are Business Events

“A business event is an occurrence in an internet or intranet application or program that might be significant to other objects in a system or to external agents.”

For example, the creation of a purchase order is an example of a business event in a purchasing application

Business events

dgreybarrow Oracle Business Events =>Architecture

The Oracle Workflow Business Event System is an application service that leverages the Oracle Advanced Queuing (AQ) infrastructure to communicate business events between systems.

The Business Event System consists of the Event Manager and workflow process event activities

Is available with both standalone and E-Business Suite Workflow
Provides event driven processing
Allows Application modules and external systems to raise events
Facilitates Oracle Application modules and external system to subscribe to these events
Subscriptions can be synchronous or asynchronous
Business events1

dgreybarrow Do you know,

11i10 E-Business Suite is preconfigured with 915 Business Events
Each Business Event represents a ready to use Integration or extension point
915 Outbound Integration/extension points
915 Inbound Integration/extension points
Integration points centered around the major E-Business Suite flows like p2p, o2c etc
dgreybarrowComponent Architecture

Typically Business events Component can be best understood as:

Business eventscomponents

Transactional Diagram of business Events can be best understood as:

Business events2

Below is Architectural Diagram for Inbound Business Events , typical flow consist of



Event Name
Payload
Event Parameter
Unique Event Key (auto generated)
Business events3



Below is Architectural Diagram for Outbound Business Events , typical flow consist of

Creates deferred subscription to the selected
Deferred subscription transfers the event to the customer queue (WF_BPEL_Q)
Unique consumer is created automatically
Business events4

dgreybarrow Event Manager for Oracle Applications

The Oracle Workflow Event Manager lets you register interesting business events that may occur in your applications, the systems among which events will be communicated, named communication agents within those systems, and subscriptions indicating that an event is significant to a particular system. The Event Manager also performs subscribtion processing when events occur.

dgreybarrow Subscriptions for Business Events

Events that trigger custom code
Events that send information to Workflow
Events that send information to other queues or systems
dgreybarrow where you can Uses of Business Events

System integration messaging hubs
Distributed applications messaging
Message-based system integration
Business-event based workflow processes
Non-invasive customization of packaged applications
dgreybarrow PLSQL vs Java Business Event System

Oracle Workflow provides Business Event System implementation within the database (PLSQL) and in the middle tier (Java).

The implementation is exactly the same in terms of the event subscription processing in both these layers but the only difference is how the Developer wants to leverage Business Event System's capabilities for event processing requirements.

With the availability of Business Event System implementation in PLSQL and Java, different subscription processing scenarios can be achieved.

dgreybarrow How to Proceed if Business events are required to use

Design your Business Event/s
Define your event
dgreybarrow Setting Up the Business Event System [Adopted workflow user documentation]

To set up the Business Event System and enable message propagation, perform the following steps:

If you want to communicate business events between the local system and external systems, create database links to those external systems.
If you want to use custom queues for propagating events, set up your queues.
Check the Business Event System setup parameters.
Schedule listeners for local inbound agents.
Schedule propagation for local outbound agents.
If you are using the version of Oracle Workflow embedded in Oracle Applications, synchronize event and subscription license statuses with product license statuses.
Ensure that the WF_CONTROL queue is periodically cleaned up to remove inactive subscribers.
For Creating a event in R11i or R12 you can refer to Oracle documentation .

Sunday, December 24, 2017

How to enable and disable Self Service Personal by script



Enable Disable Self-Service Personal by script





DECLARE
stat boolean;
BEGIN




dbms_output.disable;
dbms_output.enable(100000);
stat := FND_PROFILE.SAVE('FND_DISABLE_OA_CUSTOMIZATIONS''Y''SITE');
IF stat THEN
dbms_output.put_line'Stat = TRUE - profile updated' );
ELSE
dbms_output.put_line'Stat = FALSE - profile NOT updated' );
END IF;
commit;
END;

Disable Disable Self-Service Personal by script





DECLARE
stat boolean;
BEGIN
dbms_output.disable;
dbms_output.enable(100000);
stat := FND_PROFILE.SAVE('FND_DISABLE_OA_CUSTOMIZATIONS''N''SITE');
IF stat THEN
dbms_output.put_line'Stat = TRUE - profile updated' );




ELSE
dbms_output.put_line'Stat = FALSE - profile NOT updated' );
END IF;
commit;


END;

How to clear cache from Application (frontend)

By using Functional Administrator responsibility, cache can be cleared.

Switch to Functional Administrator/ Core Services/ Caching Framework / Global Configuration
 Clear All Statistics or Clear All Cache






Friday, December 22, 2017

How to join GL tables to XLA tables

select
      *
from




      gl_je_headers gh,
      gl_je_lines jl,
      xla_ae_lines xl,
      xla_ae_headers xh
     
where
      gh.je_header_id=jl.je_header_id
      and xl.gl_sl_link_id=jl.gl_sl_link_id
      and xl.gl_sl_link_table=jl.gl_sl_link_table
      and jl.gl_sl_link_table='XLAJEL'
      and xh.ae_header_id=xl.ae_header_id
      and xh.ae_header_id=461566960

Monday, December 18, 2017

Removing OA Framework VO substitutions


As part of OA Framework extensibility it is possible to substitute a VO definition, which allows to satisfy business requirements such as adding additional conditions to it as well as to retrieve additional columns.

Such extensions, however, are not shown on the personalization catalog available under the System Administration responsibility and thus are not easily disabled in case something is wrong with them.

In order to remove the substitution definition, you have to identify the customization path and then use the jdr API to remove it.

In order to identify the customization, use the following call:


begin
jdr_utils.listcustomizations('/oracle/apps/po/notifications/server/PoNotifLinesSummaryVO');
end

It will output the path of the customization, which is the one to remove.
/oracle/apps/po/notifications/server/customizations/site/0/PoNotifLinesSummaryVO

In order to delete the customization definition, use the following call, using the output from the previous command as a parameter.

begin
jdr_utils.deletedocument('/oracle/apps/po/notifications/server/customizations/site/0/PoNotifLinesSummaryVO');
end;


You will get the following message if everything is ok, otherwise you could get an error if document is not found in case you did not properly copy the path or if you execute the command a second time.
Succesfuly deleted document
/oracle/apps/po/notifications/server/customizations/site/0/PoNotifLinesSummaryVO
Now, be careful not to pass the base document path to the delete call, otherwise you will remove the actual seeded VO or page definition and you will panic (I did) when the page no longer opens when called on the application. Do not Worry, you will find the xml either on $JAVA_TOP or under the mds folder of the corresponding application and XMLImporter can be used to restore it.