Monday, 2 May 2011

The world of Oracle API


The world of Oracle API


There are 3 types of APIs exist in EBS.
double-arrowPrivate APIs : Private API's are one which Oracle normally using internal, development purpose only. Details are not provided to anyone outside of the immediate development environment, nor are they intended for use by anyone outside of the e-Business Suite development environment.
double-arrowPublic APIs : These are designed for customers and Oracle consultants to integrate non-Oracle systems into Oracle e-Business Suite or to extend the functionality of the base products. Oracle does not support public APIs unless they are published in a reference manual.
double-arrowPublic, published APIs : These are one which Oracle guaranteed to remain valid from release to release, and patches will not alter the API behaviour. Public, published APIs are supported by Oracle to the same extent as released software.
Is there any way find out whether a standard API is PUBLIC or not in Oracle Application?
Yes, there is way, what you have do ,once you are able to find the information for API from irep, the next you have to find the file name and then you need to pull all information from specification header to know which one is public.
Take a simple case, you need to find API FND_USER_PKG which is defined in file AFSCUSRB.pls
logon to Unix box, and release this sort of command
grep -i public $FND_TOP/patch/115/sql/AFSCUSRB.pls
api's world
Based on the above result one can determine whether API is PUBLIC or not.
Simple example for checking AR Public APIs for finding the status
grep -i public $AR_TOP/patch/115/sql/ARXPRELB.pls
grep -i public $AR_TOP/patch/115/sql/ARXPRELS.pls
grep -i public $AR_TOP/patch/115/sql/ARXPRECS.pls
grep -i public $AR_TOP/patch/115/sql/ARXPRECB.pls
Important to Note:
For non-published APIs, Oracle expressly does not provide any guarantees regarding consistency of naming, usage, or behaviour of any API (public or private) between releases.
It Might be possible that a patch could alter any characteristic of any non-published e-Business Suite API.
Where are APIs located ?
For Oracle release 10.7, the APIs are located in the operating system directories such as:
$APPL_TOP/patchsc/107/sql
For Oracle release 11 and release 11i, the APIs are located in the operating system directories:
$APPL_TOP/patch/xxx/sql
where xxx represents the release 110 or 115.
Is there any tracking mechanism for API versions in different Applications releases?
As confirmed by some time back by Oracle support team , there is no such database object in Oracle Applications that keep such kind of information.
All APIs are owned and managed by different product groups within Oracle.
Normally each release comes with either product update notes, or and "About" note. You would need to review these documents for each E-Business Product.
The most comprehensive are the family pack "About" notes, as they in turn reference each individual product "About" note, which lists things like "Changes".

No comments: