Information about Oracle APIs and How to find APIs of Oracle Modules?

Generally developers will be in need of APIs to add/modify data on existing tables but its a bit difficult task to find out APIs

What is an API?

An application programming interface (API) is a source code based specification intended to be used as an interface by software components to communicate with each other. Even ever a data is entered on an Oracle Form, the data will be picked up by the corresponding APIs, validated and inserted into respective predefined tables by taking processing constraints into consideration.

Types of Oracle APIs

  • Private APIs: Private APIs are for internal, development use 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.
  • Public APIs: Public APIs 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 such as this one. The user accepts all risk and responsibility for working with non-published public APIs.
  • Public, published APIs: Public Published APIs are guaranteed by Oracle to remain valid from release to release and that patches will not alter the API behavior. Public, published APIs are supported by Oracle to the same extent as released software. For non-published APIs, Oracle expressly does not provide any guarantees regarding consistency of naming, usage, or behavior of any API (public or private) between releases. It is also possible that a patch could alter any characteristic of any non-published e-Business Suite API. As such, those who choose to use these APIs do so at their own risk. However, Oracle does attempt to minimize all changes to public APIs, even if not published.

For more information on type of APIs click here

How to find APIs?

Its difficult for a developer to find out APIs from DBA_OBJECTS table, so Oracle Corp. has come up with a web portal named Oracle Integration Repository (iRep) to access all public APIs.

Oracle® Integration Repository

Oracle Integration Repository is a compilation of information about the numerous interface endpoints exposed by Oracle applications. The full list of public APIs and the purpose of each API is available in the integration repository. It provides a complete catalog of Oracle E-Business Suite’s business interfaces, and a comprehensive view of the interface mechanisms available. You can use this tool to easily discover and deploy the appropriate business interface from the catalog for integration with any system, application, or business partner.

Website URL: http://www.irep.oracle.com/

Release 12 Integration Repository

In Oracle EBS R12, Integration Repository is bundled as a part of EBS suite as a responsibility “Integrated SOA Gateway”.
Integration Repository_Integrated SOA Gateway

Where are these APIs Stored?

Each API is placed in a file with extension as ‘pls'(pl/sql source code file). These pls files are stored in Unix box in the following path

$APPLICATION_TOP/patch/115/sql/

Query to find APIs

You can use the below query to find out the APIs to some extent

 SELECT SUBSTR(a.OWNER,1,20) ,
  SUBSTR(a.NAME,1,30)        ,
  SUBSTR(a.TYPE,1,20)        ,
  SUBSTR(u.status,1,10) Stat ,
  u.last_ddl_time            ,
  SUBSTR(text,1,80) Description
   FROM dba_source a,
  dba_objects u
  WHERE 2         =2
AND u.object_name = a.name
AND a.text LIKE '%Header%'
AND a.type = u.object_type
AND a.name LIKE 'PA_%API%'
ORDER BY a.owner,
  a.name;

Here PA is application short name of Project Accounting application