Download presentation
Presentation is loading. Please wait.
Published byHarvey Evelyn Walsh Modified over 9 years ago
1
Working Effectively with Oracle’s Public APIs Finding, Understanding, Using, Tuning, and Extending Presented by Rob Lepanto, API Wizard
2
About the Presenter, Rob Lepanto 17 years working with Oracle Apps/EBS Project manager and techno-functional consultant President of the NYC-OAUG (geo group) API Guru at API Wizard www.linkedin.com/in/RobLepanto
3
Presentation Overview What’s an API and how are they used How to identify available APIs Working with APIs When APIs fail Improving API performance Extensions and private APIs
4
Presentation Goal By the end of this presentation, you should have a better understanding of how you can find and use public APIs to improve business processing at your organization
5
What’s an API? API stands for 'Application Programming Interface' A software program which serves as an intermediary or interface between two other software programs or between a software program and data APIs are used in a very wide array of contexts with today’s technology and often mean slightly different things in each.
6
Oracle EBS: Public API vs Private API Public APIs have been created by Oracle for customer use. Supported / safe Documented Relatively simple to use Private/internal APIs are created by Oracle for its internal processing Not supported Use at your own risk
7
How are public APIs used? UsageExample Interface two systemsSynch customers with third-party application such as salesforce.com Custom applicationsA custom set of forms to more easily manage service contracts. Load or update bulk dataUpdate inventory items across dozens of orgs API WizardTo streamline data entry
8
Why is it important to use Public APIs? Along with open interfaces, public APIs represent the only safe, supported way to enter data in Oracle EBS aside from Oracle forms. "(Public) APIs are guaranteed to maintain the integrity of the database… Invalid data cannot be entered into the system and existing data is protected from incorrect alterations." Oracle Implementation Guide
9
Great mysteries The Voynich Manuscript The Beale Ciphers Who built Stonehenge and why? Where do I find a list of Public APIs? No single, complete source of API information You have to employ a variety of approaches to find the public APIs that you are looking for Hard to find but there are a lot of them: Over 1,500 in R11, over 2,500 in R12 Some processes have both public APIs and Open Interfaces Some processes have one or the other A few processes have neither
10
How to find Public APIs? Place to lookDescription Oracle Integration Repository Either online at irep.oracle.com or using Integration Repository Responsibility (R12 only) Oracle Documentationdocs.oracle.com Web SearchSearch terms: Oracle API and what you’re looking for. For example, 'Oracle API Receipts' My Oracle SupportKnowledge Base, Forum, raise an SR Your services providerShould have knowledge or way to get information API WizardHas a knowledge base which it shares Query DBA ObjectsA powerful do-it-yourself option, described in detail on next slide.
11
Querying DBA Objects Use standard naming conventions and some ingenuity to find public APIs SELECT distinct object_name pkg, procedure$ proc FROM dba_objects obj, sys.argument$ args WHERE obj.object_id = args.obj# AND obj.object_type = 'PACKAGE' AND obj.owner = 'APPS' AND ( obj.object_name LIKE '%API%' OR obj.object_name LIKE '%PUB%' ) AND args.procedure$ LIKE '%ITEM%' AND args.argument LIKE '%LEAD_TIME_LOT_SIZE%' ORDER BY object_name, procedure$ Results: The public APIs generally have the term 'API' or 'PUB' in them, so this is a good way to narrow down your search This is part of the procedure name, generally somewhat descriptive to the task at hand. In this case, I want to update item info, so I’ll use 'ITEM' in my search to reduce the resultset This is the name of a parameter in the API. You’re probably guessing here but oftentimes API parameters are similar to the name of the field in the table where the data is stored. You can also look in the forms using Help > Examine
12
De-Facto Public API Standards StandardDescription Package.procedureMost public APIs are package.procedures (rather than stand-alone procedures). There are some package.functions. Standard input parameters These input parameters are included in the majority of public APIs: p_api_version p_init_msg_list p_commit Standard output parameters These output parameters are included in the majority of public APIs: p_return_status / x_return_status p_msg_count / x_msg_count p_msg_data / x_msg_data InitializationsUser, Responsibility, Application, Organization, MO_Global Flexfield SupportAbility to process flexfields Internal identifiersInternal Oracle IDs rather than common values (i.e. party_id rather than party_name) Owned by 'apps'Unlike other objects like tables, which are owned by individual module schemas, all of the APIs are owned by the 'apps' schema
13
No quite standards but fairly common StandardDescription p_object_version_ number Required by several public APIs. For example, required when updating parties/customers and employees. No status parameter Some public APIs don’t provide a status parameter, so how do you know if they were processed successfully? No messages parameter They write out to fnd_msg or another utility rather than have an output messages parameter Special messagesUser, Responsibility, Application, Organization, MO_Global
14
Error message handling Messages Number of messages controls how you retrieve them for most APIs. As a general rule, most APIs have a p_msg_count or x_msg_count parameter that gives you the message count Single message Generally go to output parameter p_msg_data (or x_msg_data) Multiple messages Generally written to fnd message buffer, Must retrieve with fnd_msg_pub.get
15
Public API Failures "I have not failed. I've just found 10,000 ways that won't work." - Thomas Edison Types of API Failures Failure TypeDescriptionHow to address Failure to make valid API Call API not executed because call is invalid, typical error is: ORA-0650 Wrong number of types of arguments 1.Check data-types of values passed and data- types of parameters. 2.If that’s not it, then look at documentation or look at the API code (TOAD and SQL*Developer make this easy) to find required parameters (those that do not have default values). Validation failureData does not pass validation and does not create or update data 1.Check the error messages, some are fairly explicit. 2.If error message is not meaningful, try to eliminate non-required parameters and then add back one at a time until error occurs. 3.Check the documentation 4.Search 5.Raise an SR
16
Public API Performance "Whenever you are asked if you can do a job, tell 'em, 'Certainly I can!' Then get busy and find out how to do it." - Theodore Roosevelt You can’t improve API performance… can you? Performance techniques Traces and indexes Parallel execution Coordinating activity Data preparation Commit frequency Use internal IDs Pre-validate Pinning Patches
17
Extending functionality with Wrappers Wrappers Program which provides a programming shell within which one or more APIs, validations, and output translations can occur. Why use wrappers? Often takes multiple APIs to complete a business process Allows addition of logic, validations, and workflows Requires programming effort but process efficiency usually makes it a good investment
18
Private APIs "Risk comes from not knowing what you're doing." -Warren Buffett When do private APIs come into play? When there are business process you need to perform outside of the forms and there’s no public API… but you’ve found a private API. Should you use it? What are the risks? Risks Use of private APIs is not supported by Oracle May not work as you expect Benefits Significantly better than direct table writes Not really that difficult to fully vet and test Do Oracle customers use private APIs? Yes. In my experience working with many (50+) organizations that make use of public APIs, approximately half also use private APIs.
19
Conclusion Oracle has invested heavily in exposing APIs to its customers, which is evident by the big increase in public APIs between R11 (1,500) and R12 (2,500) Public APIs provide a safe and effective way to perform Oracle EBS transactions much faster and more efficiently than standard forms or custom programs While it isn’t always easy to find them, there are public APIs for nearly every business process. With some ingenuity and elbow grease you can find them and learn how to use them You can put them in wrappers for a more complete business process and you can improve their performance when needed This is the 'right' (i.e. safe and supported) way to work with your Oracle EBS data
20
For more information To see white paper that was the source of data for this presentation, please go to: www.api-wizard.com/oaug_api_paper.html To email Rob Lepanto
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.