+ All Categories
Home > Documents > 115devg - Oracle Applications Developer Guide

115devg - Oracle Applications Developer Guide

Date post: 07-Apr-2018
Category:
Upload: tmp20009
View: 223 times
Download: 0 times
Share this document with a friend

of 900

Transcript
  • 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


Recommended