of 900
8/6/2019 115devg - Oracle Applications Developer Guide
1/898
OracleR
Applications
DevelopersGuideRELEASE 11i
VOLUME 1
April 2001
8/6/2019 115devg - Oracle Applications Developer Guide
2/898
Oracle App lications Developer s Guide, RELEASE 11i VOLUME 1
The part n um ber for this volum e is A8370503.
To reorder this book, p lease use the set p art n um ber, A7554503.
Copyright E 1995, 2001 Oracle Corporation. All rights reserved.
Contribu ting Authors: Anne Carlson, Emily Nord hagen , Lisa Nord hagen , Dana Spradley,
Mart in Taylor, Peter Wallack, Millie Wang, Sara Woodh ullCont ribu tors: Ram Bhoopalam, Eric Bing, Steven Car ter, Cliff God win , Mark Fisher, Michael
Konopik, Michael Mast, Tom Morrow, Robert N ix, Gursat Olgu n, Susan Stratton, Leslie
Studd ard , Venkata Vengala, Maxine Zasowski
The Programs (which includ e both the software and docum entation) contain prop rietary information ofOracle Corporation; they are provided und er a license agreement containing restrictions on use an ddisclosure and are also protected by copyright, patent a nd other intellectual p roperty law. Reverse
engineering of the Programs is prohibited. No part of this document may be reprod uced or transm itted in
any form or by an y means, electronic or mechanical, for any p urp ose, without the express written
perm ission of Oracle Corporation.
Program Documen tation is licensed for use solely to supp ort the dep loyment of the Programs and not for
any other purpose.
The information contained in this docum ent is subject to change w ithout n otice. If you find an y problems
in the docum entation, please report them to u s in writing. Oracle Corporation does not warran t that thisdocum ent is error free. Except as may be expressly perm itted in you r license agreement for these
Programs, no part of these Programs m ay be reprodu ced or transmitted in any form or by an y means,electronic or mechanical, for any pu rpose, withou t the express w ritten permission of Oracle Corporation.
If the Programs are delivered to the U.S. Government or anyon e licensing or u sing the Programs on behalf
of the U.S. Government, the following notice is applicable:
RESTRICTED RIGHTS LEGEND
Programs d elivered su bject to the DOD FAR Sup plement are commercial compu ter software and u se,
du plication and disclosure of the Programs includ ing docum entation, shall be subject to the licensing
restrictions set forth in the ap plicable Oracle license agreement. O therwise, Programs delivered subject tothe Federal Acquisition Regulations are restricted comp uter software and u se, du plication and d isclosureof the Progr ams shall be su bject to th e restrictions in FAR 52.22719, Commercial Computer Software
Restricted Rights (Jun e, 1987). Oracle Corp oration , 500 Oracle Parkway, Redwood City, CA 94065.
The Programs are not intended for use in any nuclear, aviation, mass tran sit, medical, or other inherentlydan gerous app lications. It shall be licensees responsibility to take all approp riate failsafe, back up ,
redun dan cy and other m easures to ensure the safe use of such app lications if the Programs are used for
such pu rposes, and Oracle disclaims liability for any dam ages caused by su ch use of the Programs.
Oracle is a registered tradem ark and Oracle7, Oracle8, Oracle App lication Object Library, Oracle App lica-
tions, Oracle Alert, Or acle Financials, Oracle Workflow, SQL*Forms, SQL*Plus, SQL*Report, Oracle Data
Browser, Oracle Forms, Oracle General Ledger, Oracle H uman Resources, Oracle Manufacturing, Oracle
Reports, PL/ SQL, Pro*C and SmartClient are trademar ks or registered trademarks of Oracle Corporation.
All other company or product names are mentioned for identification purposes only, and may be trademarks
of their respective owners.
8/6/2019 115devg - Oracle Applications Developer Guide
3/898
iContents
Contents
Volume 1VOLUME 1 i. . . . . . . . . . . . . . . . . . . . . . . . .
Preface i. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Audience for This Guide ii. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Other Information Sources ii. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Do N ot Use Database Tools to Mod ify OracleApplications Data vi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Typographic Conventions vii. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
About Oracle ix. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Your Feedback ix. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapter 1 Overview of Coding Standards 1 1. . . . . . . . . . . . . . . . . . . . . . . . . . .
Overview of Coding Standards 1 2. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Importance of these Standards 1 2. . . . . . . . . . . . . . . . . . . . . . . . .
Coding Principles 1 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Coding With Handlers 1 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Libraries 1 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Performance 1 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Coding for Web Compatibility 1 6. . . . . . . . . . . . . . . . . . . . . . . . .
The Standard Development Environment 1 7. . . . . . . . . . . . . . . . . . .
Oracle Ap plication Object Library for Release 11i 1 9. . . . . . . . .
Setting Object Characteristics 1 9. . . . . . . . . . . . . . . . . . . . . . . . . .
Shared Objects 1 10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Standard Libraries 1 11. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8/6/2019 115devg - Oracle Applications Developer Guide
4/898
ii Oracle Applications Developers Guide
Property Classes 1 13. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Visual Attributes 1 14. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Overview of Build ing an Application 1 15. . . . . . . . . . . . . . . . . . . . . . .
Overall Design Issues to Consider 1 15. . . . . . . . . . . . . . . . . . . . . .
Overview of Application Development Steps 1 16. . . . . . . . . . . .Overview of Form Development Steps 1 17. . . . . . . . . . . . . . . . . .
Chapter 2 Setting Up Your Application Framework 2 1. . . . . . . . . . . . . . . . . . .
Overview of Setting Up You r Ap plication Fram ew ork 2 2. . . . . . . .
Definitions 2 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Set Up Your Application Directory Structures 2 3. . . . . . . . . . . .
Register Your Application 2 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . .Modify Your Environment Files 2 4. . . . . . . . . . . . . . . . . . . . . . . .
Set Up and Register Your Oracle Schema 2 4. . . . . . . . . . . . . . . .
Create Database Objects and Integrate with APPS Schema 2 5.
Add Your Application to a Data Group 2 5. . . . . . . . . . . . . . . . . .
Set Up Concurrent Managers 2 5. . . . . . . . . . . . . . . . . . . . . . . . . .
Applications Window 2 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Prerequisites 2 7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Applications Block 2 7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapter 3 Building Your Database Objects 3 1. . . . . . . . . . . . . . . . . . . . . . . . . .
Overview of Build ing Your Database Objects 3 2. . . . . . . . . . . . . . . .
Using CostBased Optimization 3 2. . . . . . . . . . . . . . . . . . . . . . . .
Trackin g Data Ch an ges w ith Record H istory (WH O) 3 2. . . . . .
Oracle8i Declarative Constraints 3 5. . . . . . . . . . . . . . . . . . . . . . .
LONG, LONG RAW and RAW Datatypes 3 7. . . . . . . . . . . . . . .
Columns Using a Reserved Word 3 7. . . . . . . . . . . . . . . . . . . . . . .
Views 3 7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sequences 3 10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table Registration API 3 11. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapter 4 Using PL/SQL in Oracle Applications 4 1. . . . . . . . . . . . . . . . . . . . .
Overview of Using PL/ SQL in Applications 4 2. . . . . . . . . . . . . . . . .
Definitions 4 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
General PL/ SQL Coding Standards 4 3. . . . . . . . . . . . . . . . . . . . .
Database Server Side versus Client Side 4 6. . . . . . . . . . . . . . . . .
Formatting PL/ SQL Code 4 7. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exception Handling 4 9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8/6/2019 115devg - Oracle Applications Developer Guide
5/898
iiiContents
SQL Coding Guidelines 4 11. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Triggers in Forms 4 11. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Resources 4 12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Replacemen ts for Oracle Form s Builtins 4 14. . . . . . . . . . . . . . . . . . . .
Coding Item, Event and Table Handlers 4 17. . . . . . . . . . . . . . . . . . . . .Coding Item Handlers 4 17. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Coding Event Handlers 4 19. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Coding Table Handlers 4 20. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example ClientSide Table Handler 4 21. . . . . . . . . . . . . . . . . . . . .
Example ServerSide Table Handler 4 24. . . . . . . . . . . . . . . . . . . .
Chapter 5 Setting the Properties of Container Objects 5 1. . . . . . . . . . . . . . . .Modules 5 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Windows 5 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NonModal Windows 5 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modal Windows 5 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Canvases 5 8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Content Canvases 5 8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Stacked Canvases 5 8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Blocks 5 10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Context Blocks 5 11. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Dialog Blocks 5 11. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Data Blocks With No Base Table 5 13. . . . . . . . . . . . . . . . . . . . . . .
SingleRecord Data Blocks 5 13. . . . . . . . . . . . . . . . . . . . . . . . . . . .
MultiRecord Blocks 5 14. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Combination Blocks 5 16. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .MasterDetail Relations 5 16. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Dynamic WHERE Clauses 5 17. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Regions 5 19. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tabbed Regions 5 19. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Alternative Regions (Obsolete for Release 11i) 5 19. . . . . . . . . . . .
Overflow Regions 5 19. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapter 6 Setting the Properties of Widget Objects 6 1. . . . . . . . . . . . . . . . . . .
Text Items 6 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Date Fields 6 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Display Items 6 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Poplists 6 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Option Groups 6 8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8/6/2019 115devg - Oracle Applications Developer Guide
6/898
iv Oracle Applications Developers Guide
Check Boxes 6 9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Buttons 6 10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Lists of Values (LOVs) 6 12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LOV Behaviors 6 14. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LOVs in ENTERQUERY Mode 6 15. . . . . . . . . . . . . . . . . . . . . . . .Alerts 6 17. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Editors 6 18. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Flexfield s 6 19. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Setting Item Properties 6 20. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Using APP_ITEM_PROPERTY.SET_PROPERTY 6 20. . . . . . . . . .
Item Properties with Unique Oracle App lications Behavior 6 21
Imp act of Itemlevel and Iteminstancelevel Settings 6 25. . . . .Setting Properties at Design Time 6 26. . . . . . . . . . . . . . . . . . . . . . .
Setting Visual Attributes Programatically 6 26. . . . . . . . . . . . . . . .
Chapter 7 Controlling Window, Block and Region Behavior 7 1. . . . . . . . . . .
Controlling Window Behavior 7 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Positioning Windows Upon Opening 7 2. . . . . . . . . . . . . . . . . . .
Closing Windows 7 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Setting Window Titles Dynamically 7 5. . . . . . . . . . . . . . . . . . . . .
Controlling Block Behavior 7 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Coding MasterDetail Relations 7 6. . . . . . . . . . . . . . . . . . . . . . . .
Implementing a Combination Block 7 8. . . . . . . . . . . . . . . . . . . . .
Coding Tabbed Regions 7 12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Definitions 7 12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tabbed Region Behavior 7 13. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Three Degrees of Coding Difficulty 7 14. . . . . . . . . . . . . . . . . . . . .
Implementing Tabbed Regions 7 15. . . . . . . . . . . . . . . . . . . . . . . . .
Tab Handler Logic 7 18. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
WHENTABPAGECHANGED Logic 7 18. . . . . . . . . . . . . . . . .
WHENNEWITEMINSTANCE Logic 7 22. . . . . . . . . . . . . . . . .
Handling Dynamic Tabs 7 23. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Other Code You May Need 7 25. . . . . . . . . . . . . . . . . . . . . . . . . . . .Coding Alternative Region Behavior 7 27. . . . . . . . . . . . . . . . . . . . . . .
Alternative Regions 7 27. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: Coding an Alternative Region 7 27. . . . . . . . . . . . . . . . .
Controlling Records in a Window 7 31. . . . . . . . . . . . . . . . . . . . . . . . . .
Duplicating Records 7 31. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Renumbering All Records in a Window 7 32. . . . . . . . . . . . . . . . .
Passing Instructions to a Form 7 34. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8/6/2019 115devg - Oracle Applications Developer Guide
7/898
vContents
Chapter 8 Enabling Query Behavior 8 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Overview of Query Find 8 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Raising Query Find on Form Startup 8 2. . . . . . . . . . . . . . . . . . . .
Implementing RowLOV 8 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Implementing Find Windows 8 4. . . . . . . . . . . . . . . . . . . . . . . . . .
Chapter 9 Coding Item Behavior 9 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Item Relations 9 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Dependent Items 9 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Conditionally Dependent Item 9 5. . . . . . . . . . . . . . . . . . . . . . . . .
Multip le Dependent Items 9 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Two Master Items and One Dependent Item 9 7. . . . . . . . . . . . .Cascading Dependence 9 8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Mutually Exclusive Items 9 10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Mutually Inclusive Items 9 12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Mutually Inclusive Items with Dependent Items 9 13. . . . . . . . . .
Conditionally Mandatory Items 9 15. . . . . . . . . . . . . . . . . . . . . . . .
Defau lts 9 18. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Integrity Checking 9 19. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Uniqueness Check 9 19. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Referential Integrity Check 9 20. . . . . . . . . . . . . . . . . . . . . . . . . . . .
The Calendar 9 23. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Advanced Calendar Options 9 24. . . . . . . . . . . . . . . . . . . . . . . . . . .
Calendar Examples 9 26. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CALENDAR: Calendar Package 9 28. . . . . . . . . . . . . . . . . . . . . . . . . . .
CALENDAR.SHOW 9 28. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .CALENDAR.SETUP 9 28. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CALENDAR.EVENT 9 28. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapter 10 Controlling the Toolbar and the Default Menu 10 1. . . . . . . . . . . . .
Pulldown Menus and the Toolbar 10 2. . . . . . . . . . . . . . . . . . . . . . . . . .
Menu and Toolbar Entries 10 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Save and Proceed 10 8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Synchronizing 10 8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ApplicationSpecific Entries: Special Menus 10 8. . . . . . . . . . . . .
Custom izing RightMouse Menus (Popup Menus) 10 10. . . . . . .
APP_POPUP: RightMouse Menu Control 10 13. . . . . . . . . . . . . . . . . .
APP_POPUP.INSTANTIATE 10 13. . . . . . . . . . . . . . . . . . . . . . . . . . .
APP_SPECIAL: Menu and Toolbar Control 10 15. . . . . . . . . . . . . . . . . .
APP_SPECIAL.INSTANTIATE 10 15. . . . . . . . . . . . . . . . . . . . . . . . .
8/6/2019 115devg - Oracle Applications Developer Guide
8/898
8/6/2019 115devg - Oracle Applications Developer Guide
9/898
viiContents
FND_MESSAGE.ERASE 12 12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FND_MESSAGE.ERROR 12 12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FND_MESSAGE.GET 12 13. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FND_MESSAGE.HINT 12 14. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FND_MESSAGE.QUESTION 12 14. . . . . . . . . . . . . . . . . . . . . . . . . .FND_MESSAGE.RETRIEVE 12 17. . . . . . . . . . . . . . . . . . . . . . . . . . .
FND_MESSAGE.SET_NAME 12 17. . . . . . . . . . . . . . . . . . . . . . . . . .
FND_MESSAGE.SET_STRING 12 19. . . . . . . . . . . . . . . . . . . . . . . . .
FND_MESSAGE.SET_TOKEN 12 19. . . . . . . . . . . . . . . . . . . . . . . . .
FND_MESSAGE.SHOW 12 22. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FND_MESSAGE.WARN 12 22. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Application Message Standards 12 24. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Definitions 12 24. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Message Naming Standards 12 26. . . . . . . . . . . . . . . . . . . . . . . . . . .
Message Numbering Standards 12 27. . . . . . . . . . . . . . . . . . . . . . . .
Message Type Standards 12 29. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Message Description Standards 12 31. . . . . . . . . . . . . . . . . . . . . . . .
Message Content Standards 12 33. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Message Token Standards 12 33. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A Few General Guidelines for Writ ing Good Messages 12 36. . . .When the User Needs to Get Help 12 37. . . . . . . . . . . . . . . . . . . . . .
Complex Messages 12 39. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Specific Types of Message Content 12 40. . . . . . . . . . . . . . . . . . . . . .
Message Writing Style 12 42. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Special Purpose Messages 12 52. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Messages Window 12 55. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Prerequisites 12 56. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Messages Block 12 56. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapter 13 User Profiles 13 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Overview of User Profiles 13 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Definitions 13 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Defining New User Profile Options 13 3. . . . . . . . . . . . . . . . . . . . .
Setting User Profile Option Values 13 4. . . . . . . . . . . . . . . . . . . . . .Setting Your Personal User Profile 13 4. . . . . . . . . . . . . . . . . . . . . .
Implementing User Profiles 13 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Predefined User Profile Options 13 5. . . . . . . . . . . . . . . . . . . . . . . .
FND_PROFILE: User Profile APIs 13 9. . . . . . . . . . . . . . . . . . . . . . . . . .
FND_PROFILE.PUT 13 9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FND_PROFILE.GET 13 10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FND_PROFILE.VALUE 13 11. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8/6/2019 115devg - Oracle Applications Developer Guide
10/898
viii Oracle Applications Developer s Guide
User Profile C Functions 13 12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
afpoget 13 12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
afpoput 13 12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Profiles Window 13 14. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Prerequisites 13 14. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Profiles Block 13 15. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapter 14 Flexfields 14 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Overview of Flexfields 14 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Definitions 14 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Build ing a Flexfield into Your Application 14 8. . . . . . . . . . . . . . .
Flexfields and Application Upgrades 14 10. . . . . . . . . . . . . . . . . . .Implementing Key Flexfields 14 11. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Defining Key Flexfield Database Columns 14 15. . . . . . . . . . . . . . .
Registering Your Key Flexfield Table 14 18. . . . . . . . . . . . . . . . . . . .
Registering Your Key Flexfield 14 18. . . . . . . . . . . . . . . . . . . . . . . . .
Add Your Flexfield to Your Forms 14 19. . . . . . . . . . . . . . . . . . . . . .
Implementing Descrip tive Flexfields 14 20. . . . . . . . . . . . . . . . . . . . . . . .
Planning for Reference Fields 14 20. . . . . . . . . . . . . . . . . . . . . . . . . .Defining Descrip tive Flexfield Database Colu mns 14 21. . . . . . . .
Ad ding a Descrip tive Flexfield to a Table with ExistingData 14 22. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Protected Descriptive Flexfields 14 23. . . . . . . . . . . . . . . . . . . . . . . .
Registering Your Descriptive Flexfield Table 14 24. . . . . . . . . . . . .
Registering Your Descriptive Flexfield 14 24. . . . . . . . . . . . . . . . . .
Add Your Flexfield to Your Forms 14 24. . . . . . . . . . . . . . . . . . . . . .
Adding Flexfields to Your Forms 14 25. . . . . . . . . . . . . . . . . . . . . . . . . . .
Create Your Hidden Fields 14 25. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Create Your Displayed Fields 14 27. . . . . . . . . . . . . . . . . . . . . . . . . .
Create Your Flexfield Definition 14 27. . . . . . . . . . . . . . . . . . . . . . . .
Invoke Your Flexfield Definition from Several EventTriggers 14 28. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Flexfield Definition Procedures 14 30. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Key Flexfield Definition Syntax 14 30. . . . . . . . . . . . . . . . . . . . . . . .Range (Type) Flexfield Definition Syntax 14 33. . . . . . . . . . . . . . . .
Descriptive Flexfield Definition Syntax 14 35. . . . . . . . . . . . . . . . . .
Flexfield Definition Arguments 14 36. . . . . . . . . . . . . . . . . . . . . . . .
Flexfield Definition Examples 14 55. . . . . . . . . . . . . . . . . . . . . . . . . .
Updating Flexfield Definitions 14 59. . . . . . . . . . . . . . . . . . . . . . . . .
Update Key Flexfield Definition Syntax 14 60. . . . . . . . . . . . . . . . .
Up date Range (Typ e) Flexfield Definition Syntax 14 62. . . . . . . . .
8/6/2019 115devg - Oracle Applications Developer Guide
11/898
ixContents
Update Descriptive Flexfield Definition Syntax 14 64. . . . . . . . . . .
Updating Flexfield Definition Example 14 65. . . . . . . . . . . . . . . . . .
Using Key Flexfields in Find Windows 14 65. . . . . . . . . . . . . . . . . .
Using Range Flexfields in Query Find Windows 14 67. . . . . . . . . .
Troubleshooting Flexfields 14 69. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Register Key Flexfields 14 71. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Register Key Flexfields Block 14 72. . . . . . . . . . . . . . . . . . . . . . . . . .
Qualifiers Window 14 74. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Columns Window 14 76. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Register Descriptive Flexfields 14 78. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Register Descriptive Flexfields Block 14 78. . . . . . . . . . . . . . . . . . . .
Reference Fields Window 14 81. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Columns Window 14 83. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Index
8/6/2019 115devg - Oracle Applications Developer Guide
12/898
x Oracle Applications Developer s Guide
Volume 2VOLUME 1 14 1. . . . . . . . . . . . . . . . . . . . . . . . .
Chapter 15 Overview of Concurrent Processing 15 1. . . . . . . . . . . . . . . . . . . . . . .
Overview of Concurrent Processing 15 2. . . . . . . . . . . . . . . . . . . . . . . .
Basic Application Development Needs 15 2. . . . . . . . . . . . . . . . . .
Major Features 15 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Definitions 15 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Overview of Designing Concurrent Programs 15 8. . . . . . . . . . . . . . .
Submitting Concurrent Programs on the Client 15 15. . . . . . . . . . .
Using Concurrent Processing 15 16. . . . . . . . . . . . . . . . . . . . . . . . . .
Automated Recovery for Concurrent Processing 15 17. . . . . . . . . .
Overview of Implementing Concurrent Processing 15 21. . . . . . . . . . .
Choosing Your Implementation 15 21. . . . . . . . . . . . . . . . . . . . . . . .
Chapter 16 Defining Concurrent Programs 16 1. . . . . . . . . . . . . . . . . . . . . . . . . . .
Defining Concurrent Programs 16 2. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Concurrent Program Executable Window 16 6. . . . . . . . . . . . . . . . . . .
Concurrent Program Executable Block 16 6. . . . . . . . . . . . . . . . . .Stage Function Parameters Window 16 9. . . . . . . . . . . . . . . . . . . .
Concurrent Programs Window 16 11. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Concurrent Programs Block 16 12. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Copy to Window 16 18. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Session Control Window 16 18. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Incompatible Programs Window 16 20. . . . . . . . . . . . . . . . . . . . . . .
Concurrent Program Libraries Window 16 27. . . . . . . . . . . . . . . . . . . . .
Prerequisites 16 28. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Concurrent Program Libraries Block 16 28. . . . . . . . . . . . . . . . . . . .
Concurrent Programs Block 16 29. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Rebuild Library 16 29. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapter 17 Coding Oracle Tools Concurrent Programs 17 1. . . . . . . . . . . . . . . . .
Oracle Tool Concurrent Program s 17 2. . . . . . . . . . . . . . . . . . . . . . . . .SQL*PLUS Programs 17 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PL/ SQL Stored Procedures 17 3. . . . . . . . . . . . . . . . . . . . . . . . . . . .
SQL*Loader 17 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Accept ing Input Parameters For Oracle Tool Programs 17 5. . . .
Naming Your Oracle Tool Concurrent Program 17 5. . . . . . . . . . .
8/6/2019 115devg - Oracle Applications Developer Guide
13/898
xiContents
Chapter 18 Coding Oracle Reports Concurrent Programs 18 1. . . . . . . . . . . . . . .
Oracle Reports 18 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Concurrent Processing with Oracle Reports 18 2. . . . . . . . . . . . . .
Oracle Reports Parameters 18 4. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Accessing User Exits and Profile Options 18 5. . . . . . . . . . . . . . . .User Exits Used in Oracle Reports 18 8. . . . . . . . . . . . . . . . . . . . . . . . . .
FND SRWINIT / FND SRWEXIT 18 8. . . . . . . . . . . . . . . . . . . . . . .
FND FLEXIDVAL / FND FLEXSQL 18 8. . . . . . . . . . . . . . . . . . . .
Using Dynamic Currency in Oracle Reports 18 9. . . . . . . . . . . . . . . . .
FND FORMAT_CURRENCY User Exit 18 10. . . . . . . . . . . . . . . . . .
Example Report Using FN D FORMAT_CURRENCY 18 15. . . . . . . . .
Sample Report Output 18 15. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Procedure 18 17. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Oracle Reports Troubleshooting 18 20. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Frequently Asked Questions 18 22. . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapter 19 Coding C or Pro*C Concurrent Programs 19 1. . . . . . . . . . . . . . . . . . .
Coding C and Pro*C Concurrent Programs 19 2. . . . . . . . . . . . . . . . . .
Pro*C Concurrent Programs 19 2. . . . . . . . . . . . . . . . . . . . . . . . . . .Header Files Used With Concurrent Programs 19 9. . . . . . . . . . .
Concurrent Processing Pro*C Utility Routines 19 10. . . . . . . . . . . . . . .
afpend() 19 10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
fdpfrs() 19 11. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
fdpscp() 19 13. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
fdpscr() 19 14. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
fdpwrt() 19 16. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapter 20 Coding Concurrent Programs using Java Stored Procedures 20 1. .
Coding Concurrent Programs Using Java Stored Procedures 20 2. . .
How to Write a Concurrent Program using a Java StoredProcedure 20 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example 20 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapter 21 PL/SQL APIs for Concurrent Processing 21 1. . . . . . . . . . . . . . . . . . .
FND_CONC_GLOBAL Package 21 2. . . . . . . . . . . . . . . . . . . . . . . . . . .
FND_CONC_GLOBAL.REQUEST_DATA 21 2. . . . . . . . . . . . . . .
FND_CONC_GLOBAL.SET_REQ_GLOBALS 21 2. . . . . . . . . . . .
Example 21 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FND_CONCURRENT Package 21 5. . . . . . . . . . . . . . . . . . . . . . . . . . . .
8/6/2019 115devg - Oracle Applications Developer Guide
14/898
xii Oracle Applications Developers Guide
FND_CONCURRENT.AF_COMMIT 21 5. . . . . . . . . . . . . . . . . . . .
FND_CONCURRENT.AF_ROLLBACK 21 5. . . . . . . . . . . . . . . . .
FND_CON CURRENT.GET_REQUEST_STATUS (Clientor Server) 21 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FND_CON CURRENT.WAIT_FOR_REQUEST (Client
or Server) 21 8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .FND_CONCURRENT.SET_COMPLETION_STATUS(Server) 21 9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FND_FILE: PL/ SQL File I/ O 21 11. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FND_FILE.PUT 21 11. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FND_FILE.PUT_LINE 21 11. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FND_FILE.NEW_LINE 21 12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FND_FILE.PUT_NAMES 21 13. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FND_FILE.CLOSE 21 13. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Error Handling 21 14. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FND_PROGRAM: Concurrent Program Loaders 21 15. . . . . . . . . . . . .
FND_PROGRAM.MESSAGE 21 15. . . . . . . . . . . . . . . . . . . . . . . . . .
FND_PROGRAM.EXECUTABLE 21 15. . . . . . . . . . . . . . . . . . . . . . .
FND_PROGRAM.DELETE_EXECUTABLE 21 16. . . . . . . . . . . . . .
FND_PROGRAM.REGISTER 21 17. . . . . . . . . . . . . . . . . . . . . . . . . .
FND_PROGRAM.DELETE_PROGRAM 21 19. . . . . . . . . . . . . . . . .FND_PROGRAM.PARAMETER 21 20. . . . . . . . . . . . . . . . . . . . . . .
FND_PROGRAM.DELETE_PARAMETER 21 21. . . . . . . . . . . . . . .
FND_PROGRAM.INCOMPATIBILITY 21 22. . . . . . . . . . . . . . . . . .
FN D_PROGRAM.DELETE_IN COMPATIBILITY 21 22. . . . . . . . .
FND_PROGRAM.REQUEST_GROUP 21 23. . . . . . . . . . . . . . . . . .
FND_PROGRAM.DELETE_GROUP 21 23. . . . . . . . . . . . . . . . . . . .
FND_PROGRAM.ADD_TO_GROUP 21 24. . . . . . . . . . . . . . . . . . .FND_PROGRAM.REMOVE_FROM_GROUP 21 24. . . . . . . . . . . .
FND_PROGRAM.PROGRAM_EXISTS 21 25. . . . . . . . . . . . . . . . . .
FND_PROGRAM.PARAMETER_EXISTS 21 25. . . . . . . . . . . . . . . .
FND_PROGRAM.INCOMPATIBILITY_EXISTS 21 26. . . . . . . . . .
FND_PROGRAM.EXECUTABLE_EXISTS 21 26. . . . . . . . . . . . . . .
FND_PROGRAM.REQUEST_GROUP_EXISTS 21 27. . . . . . . . . . .
FND_PROGRAM.PROGRAM_IN_GROUP 21 27. . . . . . . . . . . . . .
FND_PROGRAM.ENABLE_PROGRAM 21 27. . . . . . . . . . . . . . . .
FND_REQUEST Package 21 29. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FN D_REQUEST.SET_OPTION S (Clien t or Server) 21 29. . . . . . . .
FND_REQUEST.SET_REPEAT_OPTION S (Client or Server)21 30
FND_REQUEST.SET_PRINT_OPTIONS (Client or Server) 21 31.
FND_REQUEST.SUBMIT_REQUEST (Client or Server) 21 32. . . .
8/6/2019 115devg - Oracle Applications Developer Guide
15/898
xiiiContents
FND_REQUEST.SET_MODE (Server) 21 33. . . . . . . . . . . . . . . . . . .
Example Request Submissions 21 34. . . . . . . . . . . . . . . . . . . . . . . . .
FND_REQUEST_INFO and Multiple Language Supp ort (MLS) 21 38
FN D_REQUEST_IN FO.GET_PARAM_N UMBER 21 38. . . . . . . . .
FND_REQUEST_INFO.GET_PARAM_INFO 21 39. . . . . . . . . . . . .
FND_REQUEST_INFO.GET_PROGRAM 21 39. . . . . . . . . . . . . . . .
FND_REQUEST_INFO.GET_PARAMETER 21 39. . . . . . . . . . . . . .
Example MLS Function 21 40. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FND_SET: Request Set Loaders 21 42. . . . . . . . . . . . . . . . . . . . . . . . . . . .
FND_SET.MESSAGE 21 42. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FND_SET.CREATE_SET 21 42. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FND_SET.DELETE_SET 21 43. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FND_SET.ADD_PROGRAM 21 44. . . . . . . . . . . . . . . . . . . . . . . . . . .
FND_SET.REMOVE_PROGRAM 21 45. . . . . . . . . . . . . . . . . . . . . . .
FND_SET.PROGRAM_PARAMETER 21 45. . . . . . . . . . . . . . . . . . .
FND_SET.DELETE_PROGRAM_PARAMETER 21 46. . . . . . . . . .
FND_SET.ADD_STAGE 21 47. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FND_SET.REMOVE_STAGE 21 48. . . . . . . . . . . . . . . . . . . . . . . . . . .
FND_SET.LINK_STAGES 21 49. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FND_SET.INCOMPATIBILITY 21 49. . . . . . . . . . . . . . . . . . . . . . . . .FND_SET.DELETE_INCOMPATIBILITY 21 51. . . . . . . . . . . . . . . .
FND_SET.ADD_SET_TO_GROUP 21 52. . . . . . . . . . . . . . . . . . . . . .
FND_SET.REMOVE_SET_FROM_GROUP 21 52. . . . . . . . . . . . . . .
FND_SUBMIT: Request Set Submission 21 53. . . . . . . . . . . . . . . . . . . . .
FND_SUBMIT.SET_MODE 21 53. . . . . . . . . . . . . . . . . . . . . . . . . . . .
FND_SUBMIT.SET_REL_CLASS_OPTIONS 21 53. . . . . . . . . . . . .
FND_SUBMIT.SET_REPEAT_OPTIONS 21
54. . . . . . . . . . . . . . . . .
FND_SUBMIT_SET.REQUEST_SET 21 55. . . . . . . . . . . . . . . . . . . . .
FND_SUBMIT.SET_PRINT_OPTIONS 21 55. . . . . . . . . . . . . . . . . .
FND_SUBMIT.ADD_PRINTER 21 56. . . . . . . . . . . . . . . . . . . . . . . . .
FND_SUBMIT.ADD_NOTIFICATION 21 56. . . . . . . . . . . . . . . . . .
FND_SUBMIT.SET_NLS_OPTIONS 21 57. . . . . . . . . . . . . . . . . . . .
FND_SUBMIT.SUBMIT_PROGRAM 21 57. . . . . . . . . . . . . . . . . . . .
FND_SUBMIT.SUBMIT_SET 21 58. . . . . . . . . . . . . . . . . . . . . . . . . . .
Examples of Request Set Submission 21 58. . . . . . . . . . . . . . . . . . . .
Chapter 22 Standard Request Submission 22 1. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Overview of Standard Request Submission 22 2. . . . . . . . . . . . . . . . . .
Basic Application Development Needs 22 2. . . . . . . . . . . . . . . . . .
Major Features 22 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Definitions 22 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8/6/2019 115devg - Oracle Applications Developer Guide
16/898
8/6/2019 115devg - Oracle Applications Developer Guide
17/898
xvContents
Chapter 26 Handling Dates 26 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Year 2000 Compliance in Oracle Applications 26 2. . . . . . . . . . . . . . . .
RR Date Support 26 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Paths to Compliance 26 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Dates in Oracle Applications 26 4. . . . . . . . . . . . . . . . . . . . . . . . . . .
Date Coding Standards 26 9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Using Dates While Develop ing Ap plication Form s 26 9. . . . . . . .
Using Dates With Compliant Versions of OAS 26 13. . . . . . . . . . . .
Conversion To Date Compliance 26 15. . . . . . . . . . . . . . . . . . . . . . . . . . .
Verify Compliance 26 15. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Character Mode and Externa l P rograms Code Rev iew 26 16. . . . .
DateEnhanced Forms Code Review 26 17. . . . . . . . . . . . . . . . . . . .
NonDateEnhanced Forms Code Review 26 17. . . . . . . . . . . . . . .
Testing 26 18. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Troubleshooting 26 20. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Use the DATECHECK Scrip t to Identify Issues 26 20. . . . . . . . . . .
Problems Observed During Testing 26 21. . . . . . . . . . . . . . . . . . . . .
Date Checklist 26 21. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapter 27 Customization Standards 27 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Overview of Customizing Oracle Applications 27 2. . . . . . . . . . . . . . .
Basic Business Needs 27 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Definitions 27 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Determining Your Needs 27 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Customization By Extension 27 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Defining Your Custom Application 27 7. . . . . . . . . . . . . . . . . . . . .
Adding a Form 27 8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Adding a Report or Concurrent Program 27 9. . . . . . . . . . . . . . . .
Adding a New Report Submission Form 27 10. . . . . . . . . . . . . . . .
Adding Online Help 27 10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Adding Menus 27 10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Adding Responsibilities 27 11. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Adding Message Dictionary Messages 27 11. . . . . . . . . . . . . . . . . .
Customization By Modification 27 12. . . . . . . . . . . . . . . . . . . . . . . . . . . .Modifying an Existing Form 27 14. . . . . . . . . . . . . . . . . . . . . . . . . . .
Modifying an Existing Report 27 16. . . . . . . . . . . . . . . . . . . . . . . . . .
Modifying an Existing C Program 27 18. . . . . . . . . . . . . . . . . . . . . .
Mod ifying an Existing PL/ SQL Stored Proced ure 27 18. . . . . . . . .
Modifying Existing Online Help 27 19. . . . . . . . . . . . . . . . . . . . . . . .
Mod ifying Existing Message Dictionary Messages 27 19. . . . . . . .
8/6/2019 115devg - Oracle Applications Developer Guide
18/898
xvi Oracle Applications Developers Guide
Modifying Existing Menus and Responsibilities 27 19. . . . . . . . . .
Oracle Applications Database Customization 27 21. . . . . . . . . . . . . . . .
Oracle Applications Upgrades and Patches 27 24. . . . . . . . . . . . . . . . . .
Build ing Online Help for Custom Applications 27 26. . . . . . . . . . . . . .
How the Help System Works 27 26. . . . . . . . . . . . . . . . . . . . . . . . . .Prepare Your Forms 27 27. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Create HTML Help Files 27 27. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Create a Help Navigation Tree 27 28. . . . . . . . . . . . . . . . . . . . . . . . .
Upgrades and Patches 27 28. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Integrating Custom Objects and Schemas 27 29. . . . . . . . . . . . . . . . . . .
Upgrading Custom Forms to Release 11i 27 31. . . . . . . . . . . . . . . . . . . .
Converting Your Form to Oracle Forms 6i 27 31. . . . . . . . . . . . . . .
Upgrading Your Forms to Release 11i Standards 27 32. . . . . . . . . .
Per forming Required Manual Changes on Your Forms 27 32. . . .
Per forming Optional Manual Changes on Your Forms 27 33. . . . .
The Upgrad e Utility and Stand ards Compliance Checker:flint60 27 36. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Preparing to Run flint60 27 37. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Running the flint60 Utility 27 38. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Reviewing flint60 Log File Output 27 39. . . . . . . . . . . . . . . . . . . . . .Changes to Internal Menu Names from Release 11 toRelease 11i 27 42. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapter 28 Using the CUSTOM Library 28 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Customizing Oracle Applications with the CUSTOM Library 28 2. .
Writing Code for the CUSTOM Library 28 2. . . . . . . . . . . . . . . . . .
Events Passed to the CUSTOM Library 28 5. . . . . . . . . . . . . . . . . .
When to Use the CUSTOM Library 28 6. . . . . . . . . . . . . . . . . . . . .
Coding Zoom 28 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Coding Generic Form Events 28 10. . . . . . . . . . . . . . . . . . . . . . . . . .
Coding ProductSpecific Events 28 12. . . . . . . . . . . . . . . . . . . . . . . .
Adding Custom Entries to the Special Menu 28 12. . . . . . . . . . . . .
Support and Upgrading 28 15. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ProductSpecific Events in Oracle Application Object Library 28 17. .WHENLOGONCHANGED Event 28 17. . . . . . . . . . . . . . . . . . . .
WHENRESPONSIBILITYCHANGED Event 28 17. . . . . . . . . . .
CUSTOM Package 28 19. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CUSTOM.ZOOM_AVAILABLE 28 19. . . . . . . . . . . . . . . . . . . . . . . .
CUSTOM.STYLE 28 19. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CUSTOM.EVENT 28 20. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example of Implementing Zoom Using the CUSTOM Library 28 23. .
8/6/2019 115devg - Oracle Applications Developer Guide
19/898
xviiContents
Modify the Form 28 23. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modify the CUSTOM Library 28 24. . . . . . . . . . . . . . . . . . . . . . . . . .
Chapter 29 APPCORE Routine APIs 29 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
APP_COMBO: Combination Block API 29 3. . . . . . . . . . . . . . . . . . . . .APP_COMBO.KEY_PREV_ITEM 29 3. . . . . . . . . . . . . . . . . . . . . . .
APP_DATE and FN D_DATE: Date Conversion APIs 29 4. . . . . . . . . .
List of Date Terms 29 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
APP_DATE.CANON ICAL_TO_DATE andFND_DATE.CANONICAL_TO_DATE 29 5. . . . . . . . . . . . . . . . . .
APP_DATE.DISPLAYDATE_TO_DATE andFND_DATE.DISPLAYDATE_TO_DATE 29 6. . . . . . . . . . . . . . . . .
APP_DATE.DISPLAYDT_TO_DATE andFND_DATE.DISPLAYDT_TO_DATE 29 7. . . . . . . . . . . . . . . . . . . .
APP_DATE.DATE_TO_CANONICAL andFND_DATE.DATE_TO_CANONICAL 29 7. . . . . . . . . . . . . . . . . .
APP_DATE.DATE_TO_DISPLAYDATE andFND_DATE.DATE_TO_DISPLAYDATE 29 8. . . . . . . . . . . . . . . . .
APP_DATE.DATE_TO_DISPLAYDT andFND_DATE.DATE_TO_DISPLAYDT 29 8. . . . . . . . . . . . . . . . . . . .
APP_DATE.DATE_TO_FIELD 29 9. . . . . . . . . . . . . . . . . . . . . . . . .APP_DATE.FIELD_TO_DATE 29 10. . . . . . . . . . . . . . . . . . . . . . . . .
APP_DATE.VALIDATE_CHARDATE 29 11. . . . . . . . . . . . . . . . . . .
APP_DATE.VALIDATE_CHARDT 29 12. . . . . . . . . . . . . . . . . . . . .
FND_DATE.STRING_TO_DATE 29 12. . . . . . . . . . . . . . . . . . . . . . .
FND_DATE.STRING_TO_CANONICAL 29 13. . . . . . . . . . . . . . . .
APP_EXCEPTION: Exception Processing APIs 29 15. . . . . . . . . . . . . . .
APP_EXCEPTION.RAISE_EXCEPTION 29 15. . . . . . . . . . . . . . . . .APP_EXCEPTION.RETRIEVE 29 15. . . . . . . . . . . . . . . . . . . . . . . . .
APP_EXCEPTION.GET_TYPE 29 15. . . . . . . . . . . . . . . . . . . . . . . . .
APP_EXCEPTION.GET_CODE 29 16. . . . . . . . . . . . . . . . . . . . . . . .
APP_EXCEPTION.GET_TEXT 29 16. . . . . . . . . . . . . . . . . . . . . . . . .
APP_EXCEPTION .RECORD_LOCK_EXCEPTION 29 16. . . . . . .
APP_EXCEPTION.RECORD_LOCK_ERROR 29 16. . . . . . . . . . . .
APP_EXCEPTION.DISABLED 29 17. . . . . . . . . . . . . . . . . . . . . . . . .
APP_FIELD: Item Relationship Utilities 29 18. . . . . . . . . . . . . . . . . . . . .
APP_FIELD.CLEAR_FIELDS 29 18. . . . . . . . . . . . . . . . . . . . . . . . . .
APP_FIELD.CLEAR_DEPENDENT_FIELDS 29 18. . . . . . . . . . . . .
APP_FIELD.SET_DEPENDENT_FIELD 29 19. . . . . . . . . . . . . . . . .
APP_FIELD.SET_EXCLUSIVE_FIELD 29 20. . . . . . . . . . . . . . . . . .
APP_FIELD.SET_INCLUSIVE_FIELD 29 21. . . . . . . . . . . . . . . . . . .
APP_FIELD.SET_REQUIRED_FIELD 29 22. . . . . . . . . . . . . . . . . . .
8/6/2019 115devg - Oracle Applications Developer Guide
20/898
xviii Oracle Applications Developers Guide
APP_FIND: QueryFind Utilities 29 23. . . . . . . . . . . . . . . . . . . . . . . . . . .
APP_FIND.NEW 29 23. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
APP_FIND.CLEAR 29 23. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
APP_FIND.CLEAR_DETAIL 29 23. . . . . . . . . . . . . . . . . . . . . . . . . . .
APP_FIND.FIND 29 24. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
APP_FIND.QUERY_RANGE 29 24. . . . . . . . . . . . . . . . . . . . . . . . . .
APP_FIND.QUERY_FIND 29 24. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
APP_ITEM: Individual Item Utilities 29 26. . . . . . . . . . . . . . . . . . . . . . .
APP_ITEM.COPY_DATE 29 26. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
APP_ITEM.IS_VALID 29 26. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
APP_ITEM.SIZE_WIDGET 29 27. . . . . . . . . . . . . . . . . . . . . . . . . . . .
APP_ITEM_PROPERTY: Property Utilities 29 28. . . . . . . . . . . . . . . . . .
APP_ITEM_PROPERTY.GET_PROPERTY 29 28. . . . . . . . . . . . . . .
APP_ITEM_PROPERTY.SET_PROPERTY 29 28. . . . . . . . . . . . . . . .
APP_ITEM_PROPERTY.SET_VISUAL_ATTRIBUTE 29 29. . . . . .
APP_NAVIGATE: Open a Form Function 29 30. . . . . . . . . . . . . . . . . . .
APP_NAVIGATE.EXECUTE 29 30. . . . . . . . . . . . . . . . . . . . . . . . . . .
APP_RECORD: Record Utilities 29 33. . . . . . . . . . . . . . . . . . . . . . . . . . . .
APP_RECORD.TOUCH_RECORD 29 33. . . . . . . . . . . . . . . . . . . . .
APP_RECORD.HIGHLIGHT 29 33. . . . . . . . . . . . . . . . . . . . . . . . . .APP_RECORD.FOR_ALL_RECORDS 29 34. . . . . . . . . . . . . . . . . . .
APP_RECORD.DELETE_ROW 29 34. . . . . . . . . . . . . . . . . . . . . . . . .
APP_RECORD.VALIDATE_RANGE 29 35. . . . . . . . . . . . . . . . . . . .
APP_REGION: Region Utilities 29 37. . . . . . . . . . . . . . . . . . . . . . . . . . . .
APP_REGION.ALT_REGION 29 37. . . . . . . . . . . . . . . . . . . . . . . . . .
APP_STANDARD Package 29 38. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
APP_STANDARD.APP_VALIDATE 29 38. . . . . . . . . . . . . . . . . . . .APP_STANDARD.EVENT 29 38. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
APP_STANDARD.SYNCHRONIZE 29 39. . . . . . . . . . . . . . . . . . . .
APP_STANDARD.PLATFORM 29 39. . . . . . . . . . . . . . . . . . . . . . . .
APP_WINDOW: Window Utilities 29 40. . . . . . . . . . . . . . . . . . . . . . . . .
APP_WINDOW.CLOSE_FIRST_WINDOW 29 40. . . . . . . . . . . . . .
APP_WINDOW.PROGRESS 29 40. . . . . . . . . . . . . . . . . . . . . . . . . . .
APP_WINDOW.SET_COORDINATION 29 40. . . . . . . . . . . . . . . . .
APP_WINDOW.SET_WINDOW_POSITION 29 41. . . . . . . . . . . . .
APP_WINDOW.SET_TITLE 29 42. . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapter 30 FNDSQF Routine APIs 30 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FND_CURRENCY: Dynamic Currency APIs 30 2. . . . . . . . . . . . . . . . .
FND_CURRENCY.GET_FORMAT_MASK (Client or
Server) 30 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8/6/2019 115devg - Oracle Applications Developer Guide
21/898
xixContents
Currency Examples 30 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FND_DATE: Date Conversion APIs 30 4. . . . . . . . . . . . . . . . . . . . . . . .
FND_GLOBAL: WHO Column Maintenan ce and DatabaseInitialization 30 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FND_GLOBAL.USER_ID (Server) 30 5. . . . . . . . . . . . . . . . . . . . . .
FND_GLOBAL.APPS_INITIALIZE (Server) 30 5. . . . . . . . . . . . . .
FND_GLOBAL.LOGIN_ID (Server) 30 7. . . . . . . . . . . . . . . . . . . . .
FND_GLOBAL.CONC_LOGIN_ID (Server) 30 7. . . . . . . . . . . . . .
FND_GLOBAL.PROG_APPL_ID (Server) 30 7. . . . . . . . . . . . . . .
FND_GLOBAL.CONC_PROGRAM_ID (Server) 30 8. . . . . . . . . .
FND_GLOBAL.CONC_REQUEST_ID (Server) 30 8. . . . . . . . . . .
FND_ORG: Organization APIs 30 9. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FND_ORG.CHANGE_LOCAL_ORG 30 9. . . . . . . . . . . . . . . . . . .FND_ORG.CHANGE_GLOBAL_ORG 30 9. . . . . . . . . . . . . . . . . .
FND_ORG.CHOOSE_ORG 30 9. . . . . . . . . . . . . . . . . . . . . . . . . . . .
FND_STANDARD: Standard APIs 30 10. . . . . . . . . . . . . . . . . . . . . . . . .
FND_STANDARD.FORM_INFO 30 10. . . . . . . . . . . . . . . . . . . . . . .
FND_STANDARD.SET_WHO 30 10. . . . . . . . . . . . . . . . . . . . . . . . .
FND_STANDARD.SYSTEM_DATE 30 11. . . . . . . . . . . . . . . . . . . . .
FND_STANDARD.USER 30 11. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .FND_UTILITIES: Utility Routines 30 12. . . . . . . . . . . . . . . . . . . . . . . . . .
FND_UTILITIES.OPEN_URL 30 12. . . . . . . . . . . . . . . . . . . . . . . . . .
FND_UTILITIES.PARAM_EXISTS 30 12. . . . . . . . . . . . . . . . . . . . . .
Chapter 31 Naming Standards 31 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Naming Standards and Definitions 31 2. . . . . . . . . . . . . . . . . . . . . . . . .
Database Objects 31 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Form Objects 31 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
File Standards 31 9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PL/ SQL Packages, Procedures and Source Files 31 10. . . . . . . . . .
Reserved Words 31 11. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Glossary
Index
8/6/2019 115devg - Oracle Applications Developer Guide
22/898
xx Oracle Applications Developers Guide
8/6/2019 115devg - Oracle Applications Developer Guide
23/898
T
iPreface
Preface
his manual contains the coding standards followed by the Oracle
App lications developm ent staff. It describes the code need ed to
imp lement the Oracle App lications u ser interface described in the
Oracle Applications User Interface Standards for FormsBased Products. It
also provides information necessary to help you integrate you r Oracle
Forms Developer 6i forms with Oracle App lications. This preface
includ es the following top ics:
Aud ience for this Guide
Other Information Sources
Do N ot Use Database Tools to Mod ify Oracle Ap plications Data
Typograph ic Conventions
Your Feedback
8/6/2019 115devg - Oracle Applications Developer Guide
24/898
Y th S h f t t h b d h
8/6/2019 115devg - Oracle Applications Developer Guide
25/898
iiiPreface
You can u se the Search feature to search by w ords or ph rases.
You can u se the expand able menu to search for topics in the
menu structure we provide. The Library option on the menu
expand s to show all Oracle App lications HTML documen tation.
You can view H TML help in the following ways:
From an app lication w indow, use the help icon or the help menu
to open a new Web browser and d isplay help about that w indow.
Use the documentation CD.
Use a URL provided by you r system administrator.
Your H TML help m ay contain information that w as not available when
this guide w as printed.
Related User Guides
You can read Oracle Applications p rodu cts user guides online by
choosing Library from the expandable men u on you r HTML help
window, by reading from the Oracle Applications Document Library
CD includ ed in your m edia pack, or by using a Web browser with a
URL that you r system ad ministrator p rovides.
If you requ ire printed guid es, you can pu rchase them from the Oracle
store at http :/ / oraclestore.oracle.com.
User Guides Related to Al l Products
Oracle Applications User Guide
This guide explains how to navigate the system, enter d ata, and qu ery
information, and introdu ces other basic featu res of the GUI available
with this release of Oracle Application Object Library (and any other
Oracle Applications p rodu ct).
You can also access this u ser gu ide on line by choosing Getting Started
and Using Oracle Applications from the Oracle App lications help
system.
Oracle Alert User Guide
Use this guide to define period ic and event alerts that monitor the
status of your Oracle App lications data .
Oracle Applications Implementation Wizard Us er Guide
8/6/2019 115devg - Oracle Applications Developer Guide
26/898
iv Oracle Ap plications Develop er s Guide
Oracle Appl ications Implementation Wizard Us er Guide
If you are imp lementing more than one Oracle prod uct, you can use the
Oracle App lications Imp lementation Wizard to coordina te your setup
activities. This guid e describes how to use the wizard .
Oracle Applications User Interface Standards
This guid e, Oracle Applications User Interface Standards for FormsBased
Products, contains the u ser interface (UI) standard s followed by the
Oracle Applications developmen t staff. It describes the UI for the
Oracle App lications products and h ow to ap ply this UI to the design of
an ap plication bu ilt by using O racle Forms.
Oracle Applications Flexfields Guide
This guide p rovides flexfields p lanning, setup , and reference
information for the Oracle Applications imp lementation team , as well
as for users responsible for the ongoing maintenance of Oracle
App lications product data. This guid e also provides information on
creating custom reports on flexfields data.
Installation and System Administration Guides
Oracle Appl ications Concepts
This guide provid es an introdu ction to the concepts, features,
technology stack, architecture, and terminology for Oracle App lications
Release 11i. It provides a u seful first book to read before an installation
of Oracle Applications. This guide also introd uces the concepts behind ,
and major issues, for Applicationswid e features su ch as Business
Intelligence (BIS), langu ages and character sets, and selfservice
applications.
Installing Oracle Appl ications
This guide p rovides instructions for managing the installation of Oracle
Applications products. In Release 11i, mu ch of the installation process
is handled using Oracle OneHou r Install, which minimizes the time it
takes to install Oracle Applications and the Oracle 8i Server technology
stack by autom ating many of the required steps. This guid e contains
instructions for using Oracle OneHour Install and lists the tasks you
need to perform to finish your installation. You shou ld use this guide
in conjunction w ith individu al produ ct user guides and
implementation guides.
Upgrading Oracle Applications
8/6/2019 115devg - Oracle Applications Developer Guide
27/898
vPreface
Upgrading Oracle Appl ications
Refer to this guide if you are up grad ing your Oracle App lications
Release 10.7 or Release 11.0 products to Release 11i. This guide
describes the up grade p rocess in general and lists database upgrad e
and produ ctspecific upgrad e tasks. You m ust be at either Release 10.7
(NCA, SmartClient, or character mod e) or Release 11.0 to u pgrade to
Release 11i. You cannot upgrad e to Release 11i directly from releases
pr ior to 10.7.
Using the AD Utilities
Use this guide to help you run the various AD u tilities, such as
AutoInstall, AutoPa tch, AD Ad ministration, AD Controller, Relink,
and others. It contains how to steps, screenshots, and oth er
information that you need to run th e AD utilities.
Oracle Appl ications Product Update Notes
Use this guid e as a reference if you are resp onsible for up grad ing an
installation of Oracle App lications. It provides a h istory of the changes
to ind ividua l Oracle App lications p rodu cts between Release 11.0 andRelease 11i. It includes new features and enhancements and changes
made to d atabase objects, profile options, and seed d ata for this
interval.
Oracle Appl ications System Administrators Guide
This guide provid es planning an d reference information for the Oracle
App lications System Ad ministrator. It contains information on how todefine security, customize menus and online help, and man age
processing.
Oracle Applications Technical Reference Guides
These reference guides contain database diagram s and a detailed
description of database tables, forms, reports, and p rograms for Oracle
App lications produ cts. This information helps you convert data fromyour existing app lications, integrate Oracle App lications prod ucts with
nonOracle applications, and write custom reports for Oracle
Applications products.
You can ord er a technical reference guide for any p rodu ct you have
licensed . Technical reference gu ides are available in paper form at only.
Oracle Workflow Guide
8/6/2019 115devg - Oracle Applications Developer Guide
28/898
vi Oracle Ap plications Develop er s Guide
Oracle Workflow Guide
This guid e explains how to define new workflow bu siness processes as
well as custom ize existing Oracle App licationsembedd ed workflow
processes. You also use this guide to comp lete the setup step s
necessary for any Oracle App lications prod uct that includes
workflowenabled p rocesses.
Training and Support
Training
We offer a comp lete set of training courses to h elp you and your staff
master Oracle App lications. We can help you d evelop a training planthat p rovides thorough training for both your project team and your
end u sers. We will work with you to organize courses approp riate to
you r job or area of responsibility.
Training professionals can show you how to plan you r training
throughout the imp lementation process so that the right amoun t of
information is delivered to key people when they need it the most. You
can attend courses at any one of our many Edu cational Centers, or youcan arrange for our tra iners to teach at your facility. We also offer Net
classes, wh ere training is delivered over the Internet, and man y
multimediabased courses on CD. In ad dition, we can tailor stand ard
courses or develop custom courses to meet your need s.
Support
From onsite sup port to central sup port, our team of experiencedprofessionals provides the help and informat ion you need to keep
Oracle App lications produ cts working for you. This team includes
your Technical Representative, Accoun t Man ager, and Oracles large
staff of consu ltants and sup port sp ecialists with expertise in you r
business area, managing an Oracleserver, and your hardw are and
software environment.
Do N ot Use D atabase Tools to Modify Oracle Applications Data
We STRONGLY RECOMMEND that you never use SQL*Plus, Oracle
Data Brow ser, database triggers, or any ot her tool t o modify Oracle
Applications tables, unless w e tell y ou to do so in our guides.
Oracle provides p owerful tools you can u se to create, store, change,
8/6/2019 115devg - Oracle Applications Developer Guide
29/898
Syntax:Example:
viiPreface
p p y , , g ,
retrieve, and ma intain information in an Oracle database. But if you
use O racle tools such as SQL*Plus to mod ify Oracle Applications d ata,
you risk destroying the integrity of your d ata and you lose the ability to
aud it changes to your d ata.
Because Oracle Applications tables are interrelated , any change you
make u sing an Oracle Applications form can u pd ate many tables at
once. But w hen you mod ify Oracle Applications data using anyth ing
other than Oracle Applications forms, you might change a row in one
table without making correspond ing changes in related tables. If your
tables get out of synchronization w ith each other, you risk retrieving
erroneous information and you risk u npredictable results throughout
Oracle Applications.
When you use Oracle App lications forms to mod ify your d ata, Oracle
App lications autom atically checks that your changes are valid. Oracle
App lications also keeps track of who changes informat ion. But, if you
enter information into database tables using database tools, you m ay
store invalid information. You also lose the ability to track who h as
changed your information because SQL*Plus and other d atabase tools
do n ot keep a record of changes.
Typographic Conventions
This manual uses the following typograph ic conventions to distinguish
important elements from the bod y of the manu al.
Function Keys
Forms function keys are represented by the key nam e enclosed in
square brackets: [Next Item].
For key map pings for your par ticular keyboard type, refer to the
following sources:
Online help Show Keys screen (for m ost keyboards, [CtrlK] or
Help>Keyboard Help from w ithin Oracle App lications)
Command and Example Syntax
Comman ds and examp les app ear in a m onotype font, as follows:
SET_CANVAS_PROPERTY(canvas_name, property, value);
/*
** Builtin: SET_CANVAS_PROPERTY
8/6/2019 115devg - Oracle Applications Developer Guide
30/898
Syntax:
v iii O ra cle A pp lica tion s Develop er s Guide
** Example: Change the background color by setting the
** canvas color dynamically at runtime to the name
** of a visual attribute you created.
*/
BEGIN
Set_Canvas_Property(my_main_cnv,VISUAL_ATTRIBUTE,blue_text);
END;
Comman d and examp le syntax adhere to the following conventions:
Explanation
Used for code fragments and examples.
Indicates usersup plied items such as variables,exceptions, and actual parameters.
Indicates a default pa rameter. If you ind icate no
param eter in a param eter set, Forms ap plies the
default parameter.
An ellipsis show s that statemen ts or clauses w ere
left out. The ellipsis can app ear horizontally as
show n, or in vertical format.
A slash and asterisk begin a Cstyle commen t.
An asterisk and slash end a Cstyle commen t.
Two consecutive hyphens begin an ANSIstyle
commen t, which extend s to the end of the line.
Indentation h elps show structure w ithin code
examples, but is not required .
Case Sensitivity
Although neither PL/ SQL nor Forms command s are case sensitive
(that is, you can en ter text in upper or lower case withou t restriction),
in the docum entation both u pp er and lower case are used for ease in
reading.In syntax examp les, builtin names are usu ally show n in all caps;
userdefined values are usu ally show n in lower case.
SET_CANVAS_PROPERTY(canvas_name, property, value);
Convention
plain monotype
italic monotyp e
underlinedmonotype
...
/ *
*/
indentation
Syntax Examples
8/6/2019 115devg - Oracle Applications Developer Guide
31/898
Example Syntax:
With Values:
Example Syntax:
With Values:
ixPreface
This examp le illustrates first how the syntax is presented in this
manu al, followed by an examp le of how you actua lly enter a builtin
procedu re into your triggers.
SET_FORM_PROPERTY(formmodule_name, property, value);
Set_Form_Property(my_form, savepoint_mode, PROPERTY_ON);
SET_TIMER(timer_name, milliseconds, iterate);
Set_Timer(my_timer, 12000, REPEAT);
About Oracle
Oracle Corpora tion develops and m arkets an integrated line of
software products for database management, applications
developm ent, decision support an d office autom ation, as well as Oracle
App lications. Oracle App lications provides the Ebusiness Suite, a
fully integrated suite of more than 70 software modu les for financial
managem ent, Internet procuremen t, business intelligence, sup ply chainmanagem ent, man ufacturing, project systems, hu man resources and
sales and service managem ent.
Oracle produ cts are available for mainframes, minicomp uters, personal
comp uters, network comp uters, and personal digital assistants,
enabling organizations to integrate d ifferent comp uters, d ifferent
operating system s, different netw orks, and even d ifferent database
managem ent systems, into a single, un ified comp uting and information
resource.
Oracle is the world s leading su pp lier of software for information
managem ent, and the w orlds second largest software comp any. Oracle
offers its database, tools, and app lication p rodu cts, along w ith related
consulting, education and sup port services, in over 145 countries
around the world.
Your Feedback
Thank you for using Oracle App lication Object Library and this guid e.
We value your comm ents and feedback. This guid e contains a
Reader s Comment Form you can u se to explain what you like or
dislike about Oracle App lication Object Library or th is guide. Mail
your commen ts to the following ad dress or call us d irectly at (650)
506 7000
8/6/2019 115devg - Oracle Applications Developer Guide
32/898
x Oracle Applications Develop er s Guide
5067000.
Oracle Applications Documen tation Manager
Oracle Corporation
500 Oracle Parkway
Redw ood Shores, CA 94065U.S.A.
Or, send electronic mail to [email protected]
8/6/2019 115devg - Oracle Applications Developer Guide
33/898
C H A P T E R
1T
1 1Overview of Coding Stand ards
Overview of Coding
Standards
his chapter d escribes the general principles on wh ich the OracleApp lications Coding Stand ards are based, and introdu ces basic coding
standards that app ly to all forms.
The following topics are covered:
Importance of these Stand ards
Coding Pr inciples
Coding with Hand lers
Performance
The Standard Developm ent Environm ent
Shared Objects
Libraries
Property Classes
Visual Attributes
Overview of Building an Ap plication
Overall Design Issues to Consider
Overview of App lication Developmen t Steps
Overview of Form Developm ent Steps
Overview of Coding Standards
8/6/2019 115devg - Oracle Applications Developer Guide
34/898
1 2 Oracle App lica tions Developer s Guide
Importance of these Standards
The coding stand ards d escribed in this manu al, together with the u ser
interface standard s described in the Oracle Applications User Interface
Standards for FormsBased Products, are used by O racle Corporat ion
developers to build Oracle Applications. If you w ant to build custom
app lication code tha t integrates with and has the same look and feel as
Oracle App lications, you must follow these standard s. If you d o not
follow these stand ards exactly as they are presented, you may not
achieve an acceptable resu lt.
This man ual makes no attemp t to analyze the consequences of
deviating from the standards in particular cases. The libraries and
procedu res that are packaged with Oracle App lications all assum e
adherence to these standard s. In fact, since the behavior of Oracle
Forms, the Oracle App lications stand ard libraries, and the stand ards
are so tightly linked , a deviation from standards that app ears to be
minor m ay in fact have farreaching and un pred ictable results.Therefore, we recommend that when you develop custom ap plication
code, you follow the stan dard s exactly as they are described in th is
manual and in the Oracle Applications User Interface Standards for
FormsBased Products.
Coding PrinciplesOracle App lications coding stand ards are gu ided by the following
principles:
Code m ust be readable to be maintained
Tools such as Oracle Forms and PL/ SQL are used wh enever
possible (avoid comp lex user exits using other coding languages)
Fast per formance over the World Wide Web (the web) is critical
Platform specific code should be avoided except w here
absolutely necessary
Reusable objects shou ld be employed w herever possible
Coding With Handlers
8/6/2019 115devg - Oracle Applications Developer Guide
35/898
1 3Overview of Coding Stand ards
Oracle Applications u ses group s of packaged p rocedu res, called
handlers, to organize PL/ SQL code in forms so that it is easier to
develop, maintain, and d ebug.
In Oracle Forms, code is p laced in triggers, which execute th e codewhen that trigger event occurs. Implementing complex logic may
require scattering its code across multiple triggers. Because code in
triggers is not located in one p lace, it cannot be w ritten or reviewed
comprehen sively, mak ing development, ma intenance, and d ebugging
more d ifficult. To determ ine what code and events affect a par ticular
item, a developer m ust scan m any triggers throughout the form. Code
that affects mu ltiple items can be extremely difficult to trace.
To centralize the code so it is easier to d evelop, maintain, and debu g,
place the code in p ackaged p rocedu res and call those procedu res from
the triggers. Pass the name of the trigger as an argumen t for the
procedu re to process. This scheme allows the code for a single
business ru le to be associated w ith mu ltiple trigger points, but to reside
in a single location.
There are different kind s of procedu res for the different kind s of code
you w rite: item handlers, event han dlers, table hand lers, and businessrules. Code resides in these procedu res; do not put any code in the
triggers other than calls to the p rocedu res.
Hand lers may reside in program un its in the form itself, in form
libraries, or in stored packages in the d atabase as app ropriate.
Item Handlers
An item h andler is a PL/ SQL procedu re that encapsulates all of the
code that acts upon an item. Most of the validation, defaulting, and
behavior logic for an item is typically in an item hand ler.
Coding Item Hand lers (See page 4 17)
Event Handlers
An event h andler is a PL/ SQL procedu re that encapsulates all of the
code that acts upon an even t. Usua lly event handlers exist to satisfy
requiremen ts of either Oracle Forms or the Oracle Applications User
Interface Standards for FormsBased Products, as opp osed to part icular
business requirements for a prod uct.
Coding Event H and lers (See page 4 19)
Table Handlers
A t bl h d l l t ll f th d th t i t ti
8/6/2019 115devg - Oracle Applications Developer Guide
36/898
1 4 Oracle App lica tions Developer s Guide
A table hand ler encapsu lates all of the code that m anages interactions
between a block and its base table. When an u pd atable block is based
on a view, you m ust sup ply procedu res to man age the insert, up date,
lock and delete. Referential integrity checks often requ ire add itional
procedu res. Table hand lers may reside on either the forms server orthe d atabase, depend ing on their size and th e amou nt of interaction
with the database, but they typically reside in the database.
Coding Table Hand lers (See page 4 20)Server side versus Client side (See page 4 6)
Business Rules
A business ru le describes comp lex da ta behavior. For example, one
business ru le is: A d iscoun t cannot be greater than 10% if the cur rent
credit rating of the buyer is less than Good. Another business rule is:
A NeedBy Date is required if a requisition is made for an inventory
item.
A business ru le procedu re encapsulates all of the code to implement
one business rule wh en the bu siness rule is comp lex or affects more
than on e item or event. The business rule procedu re is then called by
the item or event hand lers that are involved in the bu siness rule. If the
business ru le is simple and affects only one item or event, imp lement
the bu siness rule directly in the item or even t handler.
Libraries
Libraries contain reusable clientside code. They sup port these form
coding stand ards by allowing the sam e code to be used by all forms to
enforce specific validation, navigation and cosmetic behaviors an d
appearances.
Libraries allow code to be written once and u sed by m ultiple forms.
Additionally, because the executab les attach at run time, they facilitate
development and maintenance without being invasive to a form.
Every form requ ires several standard triggers and p rocedures to link
the form with a library. Many of these triggers and p rocedu res have a
default behavior that a d eveloper overrides for specific items or blocks.
Special Triggers in the TEMPLATE form (See page 246)
ApplicationSpecific Libraries
Each ap plication is strongly encouraged to create its own libraries
8/6/2019 115devg - Oracle Applications Developer Guide
37/898
1 5Overview of Coding Stand ards
Each ap plication is strongly encouraged to create its own libraries.
Typically, each ap plication creates a centra l library tha t govern s
behaviors of objects found th rough out many of its forms. Additional
libraries shou ld be created for each major tran saction form to facilitate
the following :
Multiple developers can w ork on a single modu le, with some
developers coding the actual form and oth ers coding the
supporting libraries.
Shipm ent an d installation of patches to code is vastly simp lified
if the correction is isolated in a library. Libraries do not requ ire
any porting or translation.
All libraries should reside in th e $AU_TOP/ resource directory (or its
equivalent).
Attaching Libraries
Sometimes library attachmen ts can be lost on platforms that have
casesensitive filenam es. By Oracle Applications stand ards, library
nam es mu st be in a ll upp ercase letters (except for the file extension).However, for forms developed using Microsoft Wind ows, the library
filename m ay be attached u sing mixed case letters, mak ing the
attachmen t invalid on casesensitive platforms su ch as Unix. If you
attach a library to a form in th e Oracle Forms Developer on Microsoft
Wind ows, you shou ld avoid u sing the Browse mechan ism to locate the
file. Instead, type in just th e filename, in upp ercase only, with n o file
extension (for examp le, CUSTOM). Oracle Forms will then p reserve
the attachment exactly as you typ ed it. Note that your attachmentshou ld n ever include a d irectory p ath; your FORMS60_PATH shou ld
includ e the d irectory that h olds all your libraries.
Performance
Performance is a critical issue in any ap plication. App lications mu stavoid overload ing the netw ork that connects desktop client, server, and
da tabase server compu ters, since often it is network performance that
most influences users perceptions of application performance.
Oracle Applications are designed to m inimize network traffic on all
tiers. For example, they try to limit network rou nd tr ips to one per
userdistingu ishable event by emp loying the following coding
standards:
Use database stored procedu res when extensive SQL is required
Code all nonSQL logic on the client side w here p ossible
8/6/2019 115devg - Oracle Applications Developer Guide
38/898
1 6 Oracle App lica tions Developer s Guide
Code all non SQL logic on the client side w here p ossible
Cache data on the client side w here practical
Base blocks on v iews tha t denorm alize foreign key information
wh ere practical
Views (See page 3 7)Server Side versu s Client Side (See page 4 6)
Coding for Web Compatibility
Following Oracle App lications stand ards carefully will help ensure th at
your forms can be deployed on the Web.
You should avoid u sing the following featu res in your forms, as they
are not app licable in th is architecture:
ActiveX, VBX, OCX, OLE, DDE (Microsoft Wind ow sspecific
features that wou ld not be available for a browser ru nn ing on a
Macintosh, for examp le, and cannot be d isplayed to u sers fromwithin the browser)
Timers other than onemillisecond timers (onemillisecond
timers are treated as timers that fire imm ediately)
WHENMOUSEMOVE, WHENMOUSEENTER/ LEAVE and
WHENWINDOWACTIVATED/ DEACTIVATED triggers
Open File dialog box
It wou ld op en a file on the ap plications server, rather th an
on the client machine (wh ere the browser is) as a user m ight
expect
Combo boxes
Our stand ards d o not use combo boxes anyhow
Text_IO and HOST bu iltin routines
These wou ld take p lace on the ap plications server, rather
than on the client machine (where the brow ser is) as a user
might expect
The Standard Development Environment
Th di d d h d l i d i h
8/6/2019