Entries from August 2007 ↓

BPEL - False Error

The other day I had to design a BPEL process to interface data into Oracle eBusiness Suite. I built the validation logic via a PL/SQL procedure and expected to use Oracle Applications adapter to call it from the BPEL process. Everything went fine except the output variable from the invocation process did not seem to be populated.

Using the transformation node I dragged the return parameter to a local variable which produced the following code:

Continue reading →

Naming Conventions

Each Oracle eBusiness Suite implementation has heated debates on the object and file naming convention.

When it comes to the naming convention for custom objects there are debates on whether to include gap number, application module or some other identifying information into the name of the object. Let us consider a naming convention for a PL/SQL package in the form ____PKG, for example XBOL_1201_AR_SAMPLE_PKG. When you do a vanilla implementation with minimum number of gaps, any naming convention will do. However, when implementation is complex with numerous gaps, which is very typical for Oracle Lease Management implementation, adding ‘identifying’ information into the object name may be very misleading.

Continue reading →

New Dog, Old Tricks

11.5.10 CU1 patch introduced personalization for professional forms for Oracle eBusiness Suite. Personalization avoids changes to CUSTOM.pll to enable new menu items, add event handlers etc. Since most of the actions which can be done via CUSTOM.pll can now be done via personalization, it may be seen as a fall back approach to introduce changes to professional forms. But it is not always the case.

We had a task to execute a custom action when a sub-line on a Service Contract is terminated. The first solution was, definitely, to create personalization on WHEN-BUTTON-PRESSED event for the Terminate button. And it did not work. After some investigation we learned that this button did not trigger the above mentioned event. It means, forms personalization is not the solution in this case. No changes to CUSTOM.pll can help rectify the situation either.

The solution was in ‘old’ technologies. Oracle Contracts declared an event when a contract line is terminated. So, we defined an independent condition which listens to this event and executes the desired custom logic.

The lesson learn’t was - new technology, such as personalization, while it can help with many common tasks, does not necessarily make previous technology obsolete. This is something a designer should always keep in mind.