MacLochlainns Weblog

Michael McLaughlin's Technical Blog

Site Admin

Archive for the ‘Oracle EBS 12.2’ Category

Oracle EBS Forms

without comments

Somebody wanted to know how to discover the difference between a customized and generic set of forms in an Oracle EBS solution without manually cataloging. That’s simple, create a vanilla instance from the media and then designate the customized instance as production; and create database links for them respectively as @vanilla and @production.

After doing that, here a query that will return only the customized forms:

COL application_short_name FORMAT A20 HEADING "Application|Short Name"
COL form_name              FORMAT A20 HEADING "Form Name"
COL basepath               FORMAT A12 HEADING "Basepath|Product|Top"
 
SET PAGESIZE 9999
 
SELECT   a.application_short_name
,        f.form_name
,        a.basepath
FROM     fnd_form@production f INNER JOIN fnd_application@production a
ON       f.application_id = a.application_id
WHERE    NOT EXISTS
          (SELECT NULL
           FROM   fnd_form@vanilla vf
           WHERE  f.application_id = vf.application_id
           AND    f.form_id = vf.form_id
           AND    f.form_name = vf.form_name)
ORDER BY form_name;

As always, I hope this helps.

Written by maclochlainn

December 23rd, 2021 at 6:29 pm

Oracle EBS 12.2 & Ruby

without comments

As does seem to occur from time-to-time, I’m out there in the weeds again and sorting out a solution that fits a customer’s need. They wanted to know if they could write Oracle EBS 12.2 Concurrent Manager Programs in Ruby. They don’t want to write Java.

I checked the documentation, which as is too common, didn’t answer the question. I’m sure if I downloaded the PDF and searched it for one of the languages I knew Oracle supported, I would have found the list of supported languages.

It was simply quicker to query the Oracle EBS 12.2 FND_LOOKUPS table like so:

SELECT   lookup_type
,        lookup_code
,        SUBSTR(meaning,1,30) AS meaning
FROM     fnd_lookups
WHERE    lookup_type = 'CP_EXECUTION_METHOD_CODE'
ORDER BY meaning;

It returns the list of possible types of Oracle EBS 12.2 Concurrent Manager Programs:

LOOKUP_TYPE		   LOOKUP_CODE	MEANING
-------------------------- ------------ ------------------------------
CP_EXECUTION_METHOD_CODE   X		FlexRpt
CP_EXECUTION_METHOD_CODE   F		FlexSql
CP_EXECUTION_METHOD_CODE   H		Host
CP_EXECUTION_METHOD_CODE   S		Immediate
CP_EXECUTION_METHOD_CODE   K		Java Concurrent Program
CP_EXECUTION_METHOD_CODE   J		Java Stored Procedure
CP_EXECUTION_METHOD_CODE   M		Multi Language Function
CP_EXECUTION_METHOD_CODE   P		Oracle Reports
CP_EXECUTION_METHOD_CODE   I		PL/SQL Stored Procedure
CP_EXECUTION_METHOD_CODE   E		Perl Concurrent Program
CP_EXECUTION_METHOD_CODE   B		Request Set Stage Function
CP_EXECUTION_METHOD_CODE   L		SQL*Loader
CP_EXECUTION_METHOD_CODE   Q		SQL*Plus
CP_EXECUTION_METHOD_CODE   R		SQL*Report
CP_EXECUTION_METHOD_CODE   Z		Shutdown Callback
CP_EXECUTION_METHOD_CODE   A		Spawned

That gave me some of the answer. You can’t call Ruby programs directly. However, Perl lets you use Inline::Ruby. You can use Inline:Ruby to call your Ruby programs. So, if you use Perl to wrap Ruby you don’t have to use Java.

Written by maclochlainn

August 23rd, 2016 at 11:50 am