You are previewing Oracle E-Business Suite R12 Core Development and Extension Cookbook.
O'Reilly logo
Oracle E-Business Suite R12 Core Development and Extension Cookbook

Book Description

Building extensions in Oracle E-Business Suite is greatly simplified when you follow the step-by-step instructions in this book. Whether novice or pro, this is a great tutorial with over 60 recipes and stacks of screenshots.

  • Gain key skills learning to extend Oracle E-Business Suite Release 12

  • Build forms with advanced features and deploy them in the application

  • Create personalizations and understand how to modify functionality through them

  • Step by step examples guiding you through the development process

  • In Detail

    Oracle’s suite of applications is used by many major businesses and public sector organizations throughout the world. The book will show you how to build different types of extensions with different toolsets with Oracle E-Business Suite R12. It will take you from start to finish with fully working examples.

    This book will show you how to extend Oracle E-Business Suite Release 12. You will learn highly desirable skills on how to extend the application and develop your expertise. The book will provide detailed information about why things have to be done in certain ways, and will take you through the process of how to get started, what tools are needed, how to develop working examples, and how to deploy them within the application.

    Learn how to extend Oracle E-Business Suite (EBS) Release 12. There are detailed examples to work through, such as how various components are configured and how we can extend standard functionality. The book focuses on core development and extension and each chapter will introduce a topic before going through working examples from start to finish. There are plenty of detailed screen shots throughout each chapter giving clear instructions of what we are doing and why. Each recipe will develop a solution that will utilize core components to that topic. The Oracle E-Business Suite R12 Core Development and Extension Cookbook focuses on starting an extension right from the beginning, to deploying it within E-Business Suite. At the end of each chapter the reader will have a good understanding of what they need to do for each area to take away, and start using it in practice.

    Each chapter will detail how to build an extension in the supported manner and also comes with complete fully tested code, and scripts that can be downloaded.

    Table of Contents

    1. Oracle E-Business Suite R12 Core Development and Extension Cookbook
      1. Oracle E-Business Suite R12 Core Development and Extension Cookbook
      2. Credits
      3. About the Author
      4. About the Reviewers
      5. www.PacktPub.com
        1. Support files, eBooks, discount offers, and more
          1. Why Subscribe?
          2. Free Access for Packt account holders
          3. Instant Updates on New Packt Books
      6. Preface
        1. Extending Oracle E-Business Suite
          1. Understanding the EBS architecture
          2. Before we start
        2. What this book covers
        3. What you need for this book
        4. Who this book is for
        5. Conventions
        6. Reader feedback
        7. Customer support
          1. Downloading the example code
          2. Errata
          3. Piracy
          4. Questions
      7. 1. Creating Concurrent Programs
        1. Introduction
        2. Defining a concurrent program
          1. Introducing concurrent programs
            1. Types of concurrent programs
            2. Executable file location
            3. Output and log files
          2. Register a custom application
            1. How to do it...
            2. How it works
          3. Configure an executable
            1. Getting ready
            2. How to do it...
            3. How it works...
          4. Configure a concurrent program
            1. How to do it...
            2. How it works...
        3. Making a concurrent program available to a user
          1. Configure a menu
            1. How to do it...
            2. How it works...
            3. There's more...
              1. Viewing a menu structure
          2. Create a new request group
            1. How to do it...
            2. How it works...
          3. Create a new responsibility
            1. How to do it...
            2. How it works...
          4. Assign the responsibility to a user
            1. How to do it...
            2. How it works...
          5. Run the concurrent program
            1. How to do it...
            2. How it works...
          6. View the request
            1. How to do it...
            2. How it works...
            3. See also...
        4. Adding a concurrent program parameter
          1. Adding a parameter to the concurrent program
            1. How to do it...
            2. How it works...
          2. Amend the XXHREEBS package to add the new parameter
            1. Getting ready
            2. How to do it...
            3. How it works...
          3. Amend the XXHREEBS package to change the completion status of the concurrent program
            1. Getting ready
            2. How to do it...
            3. How it works...
          4. Testing the concurrent program
            1. How to do it...
            2. How it works...
            3. There's more...
        5. Creating a value set
          1. Create a value set
            1. How to do it...
            2. How it works...
            3. There's more...
              1. What happens to the data entered?
          2. Create a new parameter for the concurrent program
            1. How to do it...
            2. How it works...
          3. Modify the executable to accept the new parameter
            1. How to do it...
            2. How it works...
          4. Run the concurrent program
            1. How to do it...
            2. How it works...
        6. Creating dependent parameters
          1. Create a dependent value set
            1. How to do it...
            2. How it works...
          2. Create a new parameter for the concurrent program
            1. How to do it...
            2. How it works...
          3. Modify the executable to accept the new parameter
            1. How to do it...
            2. How it works...
          4. Run the concurrent program
            1. How to do it...
            2. How it works...
        7. Adding messages to the concurrent program log file
          1. Create a profile option to turn logging on or off
            1. How to do it...
            2. How it works...
            3. There's more...
          2. Set the profile option value
            1. How to do it...
            2. How it works...
          3. Add a procedure to write to the log file
            1. How to do it...
            2. How it works...
          4. Writing to the log file
            1. How to do it...
            2. How it works...
          5. Run the concurrent program
            1. How to do it...
            2. How it works...
          6. Viewing the log file
            1. How to do it...
            2. How it works...
        8. Reporting to the concurrent program output file
          1. Add a procedure to write to the output file
            1. How to do it...
            2. How it works...
          2. Add a cursor to get some data
            1. How to do it...
            2. How it works...
          3. Add code to fetch data and write to the output file
            1. How to do it...
            2. How it works...
          4. Running the concurrent program
            1. How to do it...
            2. How it works...
          5. View the concurrent program output file
            1. How to do it...
            2. How it works...
        9. Scheduling a concurrent program
          1. Add default values for any required parameters
            1. Getting ready
            2. How to do it...
            3. How it works...
          2. Schedule the concurrent program
            1. How to do it...
            2. How it works...
        10. Creating multiple concurrent programs
          1. Copy an existing concurrent program
            1. How to do it...
            2. How it works...
          2. Add a concurrent program to a request set
            1. How to do it...
            2. How it works...
        11. Creating request sets
          1. Run request set wizard
            1. How to do it...
            2. How it works...
          2. Add a request set to a request group
            1. How to do it...
            2. How it works...
          3. Run the request set
            1. How to do it...
            2. How it works...
        12. Installing the database objects
          1. How to do it...
          2. How it works...
        13. Creating a HOST concurrent program
          1. Creating a PL/SQL executable
            1. How to do it...
            2. How it works...
          2. Configuring a concurrent program to call the PL/SQL executable
            1. How to do it...
            2. How it works...
          3. Creating a HOST executable
            1. How to do it...
            2. How it works...
          4. Configuring a concurrent program to call the HOST executable
            1. How to do it...
            2. How it works...
          5. Adding concurrent programs to a request group
            1. How to do it...
            2. How it works...
          6. Creating an OUT directory
            1. How to do it...
            2. How it works...
          7. Creating a symbolic link
            1. How to do it...
            2. How it works...
          8. Testing a host concurrent program
            1. Getting started...
            2. How to do it...
            3. How it works...
      8. 2. Oracle Forms
        1. Introduction
        2. Using forms builder for E-Business Suite
          1. Creating a custom schema
        3. Installing the database objects
          1. How to do it...
          2. How it works...
        4. Getting started with forms
          1. Installing Oracle Developer Suite
            1. How to do it...
            2. How it works...
          2. Creating the forms builder desktop shortcut
            1. How to do it...
            2. How it works...
          3. Adding a TNS names entry
            1. How to do it...
            2. How it works...
          4. Setting runtime parameters in the environment file
            1. How to do it...
            2. How it works...
          5. FTP forms and libraries
            1. Getting ready
              1. Forms (FMB files)
              2. Libraries (PLL files)
            2. How to do it...
            3. How it works...
          6. Opening the TEMPLATE form
            1. How to do it...
            2. How it works...
          7. Renaming the TEMPLATE form
            1. How to do it...
            2. How it works...
        5. Creating a master block and container objects
          1. Creating a block using the block wizard
            1. How to do it...
            2. How it works...
          2. Setting the block properties
            1. How to do it...
            2. How it works...
          3. Setting the item properties
            1. How to do it...
            2. How it works...
          4. Setting the canvas properties
            1. How to do it...
            2. How it works...
          5. Setting the window properties
            1. How to do it...
            2. How it works...
          6. Setting the module properties
            1. How to do it...
            2. How it works...
          7. Creating a dummy item
            1. How to do it...
            2. How it works...
          8. Removing unwanted objects
            1. How to do it...
            2. How it works...
          9. Renaming prompts
            1. How to do it...
            2. How it works...
          10. Resizing the viewport
            1. How to do it...
            2. How it works...
        6. Modifying the template code
          1. Modifying the PRE-FORM trigger
            1. How to do it...
            2. How it works...
          2. Modifying the WHEN-NEW-FORM-INSTANCE trigger
            1. How to do it...
            2. How it works...
          3. Modifying the APP_CUSTOM procedure
            1. How to do it...
            2. How it works...
        7. Adding a detail block to a form
          1. Creating a lookup
            1. How to do it...
            2. How it works...
          2. Creating a detail block
            1. How to do it...
            2. How it works...
          3. Setting the block properties
            1. How to do it...
            2. How it works...
          4. Setting the item properties
            1. How to do it...
            2. How it works...
          5. Creating a relationship between the master and detail blocks
            1. How to do it...
            2. How it works...
          6. Adding a record indicator to the block
            1. How to do it...
            2. How it works...
        8. Adding insert, update, and delete events
          1. Creating a program unit package specification
            1. How to do it...
            2. How it works...
          2. Creating a program unit package body
            1. How to do it...
            2. How it works...
          3. Creating ON-INSERT, ON-UPDATE, ON-DELETE, and ON-LOCK triggers
            1. How to do it...
            2. How it works...
          4. Creating PRE-INSERT and PRE-UPDATE triggers to set the WHO columns
            1. How to do it...
            2. How it works...
        9. Deploying forms
          1. Registering a form
            1. How to do it...
            2. How it works...
          2. Creating a function that calls a form
            1. How to do it...
            2. How it works...
          3. Adding a form to a menu
            1. How to do it...
            2. How it works...
          4. FTP the form to the application tier
            1. How to do it...
            2. How it works...
          5. Compiling a form
            1. How to do it...
            2. How it works...
          6. Testing a form
            1. How to do it...
            2. How it works...
        10. Adding buttons, list, and checkbox items
          1. Adding OK and Cancel buttons
            1. How to do it...
            2. How it works...
          2. Modifying the layout
            1. How to do it...
            2. How it works...
          3. Adding triggers to the buttons
            1. How to do it...
            2. How it works...
          4. Creating an LOV for the society name field
            1. How to do it...
            2. How it works...
          5. Configuring the date fields
            1. How to do it...
            2. How it works...
          6. Creating a list item
            1. How to do it...
            2. How it works...
          7. Creating a checkbox item
            1. How to do it...
            2. How it works...
          8. Testing the form
            1. How to do it...
            2. How it works...
        11. Adding a query screen to a form
          1. Adding code to the WHEN-NEW-FORMS-INSTANCE trigger
            1. How to do it...
            2. How it works...
          2. Copying the QUERY_FIND object group
            1. How to do it...
            2. How it works...
          3. Setting the block, canvas, and window properties
            1. How to do it...
            2. How it works...
          4. Editing the button triggers on the QUERY_FIND block
            1. How to do it...
              1. How it works...
            2. Creating items in the query block
              1. How to do it...
              2. How it works...
            3. Resizing the objects on the canvas
              1. How to do it...
              2. How it works...
            4. Creating a PRE-QUERY trigger
              1. How to do it...
                1. How it works...
              2. Creating a QUERY_FIND trigger
                1. How to do it...
                  1. How it works...
        12. Passing parameters to a form
          1. Creating a parameter
            1. How to do it...
            2. How it works...
          2. Bypassing the query find screen
            1. How to do it...
            2. How it works...
          3. Testing the form
            1. How to do it...
            2. How it works...
          4. Testing the form with the PERSON_ID parameter passed in
            1. How to do it...
            2. How it works...
      9. 3. Advanced Oracle Forms
        1. Introduction
        2. Installing the database objects
          1. How to do it...
            1. How it works...
        3. Using messages from the message dictionary
          1. Creating a message directory
            1. How to do it...
            2. How it works...
          2. Creating a message
            1. How to do it...
            2. How it works...
          3. Creating a message file
            1. How to do it...
            2. How it works...
          4. Coding logic to display messages
            1. How to do it...
            2. How it works...
          5. Compiling the form
            1. How to do it...
            2. How it works...
          6. Testing the form
            1. How to do it...
            2. How it works...
        4. Creating tabs within a form
          1. Creating a tabbed region
            1. How to do it...
            2. How it works...
          2. Resizing objects on a canvas
            1. How to do it...
            2. How it works...
          3. Creating a new block
            1. How to do it...
            2. How it works...
          4. Setting block properties
            1. How to do it...
            2. How it works...
          5. Setting item properties
            1. How to do it...
            2. How it works...
          6. Creating a relationship between the master and detail blocks
            1. How to do it...
            2. How it works...
          7. Adding a record indicator to a block
            1. How to do it...
            2. How it works...
          8. Sizing and positioning items on a tabbed canvas
            1. How to do it...
            2. How it works...
          9. Aligning a tabbed canvas on a content canvas
            1. How to do it...
            2. How it works...
          10. Adding a form level trigger to show a tabbed canvas
            1. How to do it...
            2. How it works...
          11. Adding code to manage a tabbed canvas
            1. How to do it...
            2. How it works...
        5. Creating program units
          1. Creating a new package to handle database transactions
            1. How to do it...
            2. How it works...
          2. Adding triggers to capture transactional events on a block
            1. How to do it...
            2. How it works...
          3. Creating triggers to set the WHO columns
            1. How to do it...
            2. How it works...
        6. Adding lookups, date fields, and lists
          1. Creating a lookup
            1. How to do it...
            2. How it works...
          2. Creating a new LOV based upon a record group
            1. How to do it...
            2. How it works...
          3. Configuring date fields
            1. How to do it...
            2. How it works...
          4. Creating a list item
            1. How to do it...
            2. How it works...
        7. Controlling menu items
          1. Copying the standard menu from the application server and opening it in forms
            1. How to do it...
            2. How it works...
          2. Disabling an existing menu item
            1. How to do it...
            2. How it works...
          3. Adding a new menu item
            1. How to do it...
            2. How it works...
          4. Adding a trigger to capture new menu item events
            1. How to do it...
            2. How it works...
            3. There's more...
          5. Compiling the form
            1. How to do it...
            2. How it works...
        8. Creating pop-up menu items
          1. Adding items to a pop-up menu
            1. How to do it...
              1. How it works...
            2. Compiling the form
              1. How to do it...
              2. How it works...
            3. Adding a trigger to capture pop-up events
              1. How to do it...
              2. How it works...
        9. Adding flexfields to forms
          1. Adding flexfield items to a table
            1. How to do it...
            2. How it works...
          2. Registering a table within EBS
            1. How to do it...
            2. How it works...
          3. Viewing the table registration in EBS
            1. How to do it...
            2. How it works...
          4. Registering a Descriptive Flexfield
            1. How to do it...
            2. How it works...
          5. Enabling a flexfield value
            1. How to do it...
            2. How it works...
          6. Adding a flexfield item to a form
            1. How to do it...
            2. How it works...
        10. Creating triggers for flexfield events
          1. Adding a WHEN-NEW-FORM-INSTANCE event
            1. How to do it...
            2. How it works...
          2. Adding a WHEN-NEW-ITEM-INSTANCE event
            1. How to do it...
            2. How it works...
          3. Testing the form
            1. How to do it...
            2. How it works...
        11. Adding a zoom using the CUSTOM library
          1. Finding the short name of the form we want to zoom from
            1. How to do it...
            2. How it works...
          2. Finding the name of a block
            1. How to do it...
            2. How it works...
          3. Enabling a zoom
            1. How to do it...
            2. How it works...
          4. Creating an object-specific library
            1. How to do it...
            2. How it works...
          5. Attaching a library to the CUSTOM library
            1. How to do it...
            2. How it works...
          6. Coding an event in the CUSTOM library
            1. How to do it...
            2. How it works...
          7. Compiling libraries on the application server
            1. How to do it...
            2. How it works...
          8. Adding a function to a menu
            1. How to do it...
            2. How it works...
          9. Testing the zoom
            1. How to do it...
            2. How it works...
        12. Adding a spreadtable to a form
          1. Adding the CRM Administrator responsibility
            1. How to do it...
            2. How it works...
          2. Configuring a spreadtable
            1. How to do it...
            2. How it works...
          3. Adding a tab page
            1. How to do it...
            2. How it works...
          4. Adding the JTF_GRID object group
            1. How to do it...
            2. How it works...
          5. Adding a block
            1. How to do it...
            2. How it works...
          6. Adding an item
            1. How to do it...
            2. How it works...
          7. Adding a library
            1. How to do it...
            2. How it works...
          8. Adding code to manage the grid
            1. How to do it...
            2. How it works...
          9. Adding code to populate the grid
            1. How to do it...
            2. How it works...
          10. Testing the form
            1. How to do it...
            2. How it works...
        13. Capturing events for a spreadtable
          1. Configuring a hyperlink on a spreadtable
            1. How to do it...
            2. How it works...
          2. Adding triggers to capture events for a grid
            1. How to do it...
            2. How it works...
          3. Adding a custom trigger to capture an event
            1. How to do it...
            2. How it works...
          4. Adding code to manage events from a grid
            1. How to do it...
            2. How it works...
          5. Testing the form
            1. How to do it...
            2. How it works...
      10. 4. Forms Personalization
        1. Introduction
        2. Opening the personalization screen
          1. Getting started
            1. How it works...
            2. The Personalization screen
            3. Definition
            4. Condition tab
            5. Context region
            6. Actions tab
            7. Property
            8. Message
            9. Builtin
            10. Menu
            11. How it works...
        3. Installing the database objects
          1. How to do it...
            1. How it works...
        4. Changing properties
          1. Changing prompts
            1. How to do it...
            2. How it works...
          2. Disabling buttons
            1. How to do it...
            2. How it works...
          3. Renaming tabs
            1. How to do it...
            2. How it works...
          4. Hiding fields
            1. How to do it...
            2. How it works...
          5. Moving fields
            1. How to do it...
            2. How it works...
          6. Testing the form after applying personalization
            1. How to do it...
            2. How it works...
          7. Fixing personalization that doesn't seem to work
            1. How to do it...
            2. How it works...
        5. Adding a menu item to a form
          1. Adding a menu item
            1. How to do it...
            2. How it works...
          2. Testing whether the menu item has been added
            1. How to do it...
            2. How it works...
        6. Performing a simple validation and displaying a message
          1. Adding validation when an event is triggered
            1. How to do it...
            2. How it works...
          2. Adding a message
            1. How to do it...
            2. How it works...
          3. Testing the form
            1. How to do it...
            2. How it works...
        7. Launching a form
          1. Adding a condition
            1. How to do it...
            2. How it works...
          2. Adding a builtin to launch a form
            1. How to do it...
            2. How it works...
          3. Testing the form is launched
            1. Getting started
            2. How to do it...
            3. How it works...
        8. Adding a toolbar icon to a form
          1. Adding an icon to the toolbar
            1. How to do it...
            2. How it works...
          2. Testing to see if the toolbar icon is displayed
            1. How to do it...
            2. How it works...
        9. Performing complex validation
          1. Creating a lookup
            1. How to do it...
            2. How it works...
          2. Calling a database function in a condition statement
            1. Getting ready
            2. How to do it...
            3. How it works...
          3. Adding a warning message
            1. How to do it...
            2. How it works...
          4. Testing the validation
            1. How to do it...
            2. How it works...
          5. Stop any further processing
            1. How to do it...
            2. How it works...
          6. Checking a database value against a form value
            1. How to do it...
            2. How it works...
            3. There's more...
        10. Altering an LOV's record group
          1. Creating a new record group
            1. How to do it...
            2. How it works...
            3. There's more...
          2. Assigning a new record group to an LOV
            1. How to do it...
            2. How it works...
          3. Testing a radio group has changed
            1. How to do it...
            2. How it works...
      11. 5. Workflow
        1. Introduction
        2. Introducing Workflow Builder
          1. How to do it...
          2. How it works...
          3. There's more...
          4. See also
        3. Installing the database objects
          1. How to do it...
          2. How it works...
        4. Creating an advanced queue
          1. Getting started
          2. How to do it...
            1. How it works...
        5. Building a workflow
          1. Creating a new workflow
            1. Getting ready
            2. How to do it...
            3. How it works...
          2. Creating a new item type
            1. How to do it...
            2. How it works...
          3. Creating a new process
            1. How to do it...
            2. How it works...
          4. Creating a start function
            1. How to do it...
            2. How it works...
          5. Creating an end function
            1. How to do it...
            2. How it works...
          6. Creating attributes to store the event details
            1. How to do it...
            2. How it works...
          7. Assigning the start event details
            1. How to do it...
            2. How it works...
          8. Saving a workflow to the database
            1. How to do it...
            2. How it works...
        6. Creating a business event
          1. Setting up the workflow administrator responsibility
            1. How to do it...
            2. How it works...
          2. Creating an agent
            1. How to do it...
            2. How it works...
          3. Creating an agent listener
            1. How to do it...
            2. How it works...
          4. Defining a business event
            1. How to do it...
            2. How it works...
          5. Subscribing to a business event
            1. How to do it...
            2. How it works...
        7. Viewing a workflow status and monitoring progress
          1. Adding a message to an advanced queue
            1. How to do it...
            2. How it works...
          2. Viewing a workflow in status monitor
            1. How to do it...
            2. How it works...
          3. Viewing the workflow status diagram
            1. How to do it...
            2. How it works...
          4. Viewing workflow attributes and event messages
            1. How to do it...
            2. How it works...
        8. Adding a function
          1. Updating an employee record for testing
            1. How to do it...
            2. How it works...
          2. Adding attributes
            1. How to do it...
            2. How it works...
          3. Adding a function
            1. How to do it...
            2. How it works...
            3. There's more...
          4. Testing the workflow
            1. How to do it...
            2. How it works...
        9. Creating a lookup
          1. Creating a Success/Fail lookup
            1. How to do it...
            2. How it works...
            3. See also
          2. Adding an error message attribute
            1. How to do it...
            2. How it works...
        10. Creating a subprocess
          1. Creating a subprocess
            1. How to do it...
            2. How it works...
          2. Adding a validate employee function
            1. How to do it...
            2. How it works...
          3. Adding a validate absence type function
            1. How to do it...
            2. How it works...
          4. Adding a validate absence dates function
            1. How to do it...
            2. How it works...
          5. Creating end functions
            1. How to do it...
            2. How it works...
          6. Joining the functions
            1. How to do it...
            2. How it works...
          7. Adding a subprocess to a parent process
            1. How to do it...
            2. How it works...
          8. Testing the workflow
            1. How to do it...
            2. How it works...
            3. There's more...
        11. Creating messages
          1. Creating an absence approval message
            1. How to do it...
            2. How it works...
          2. Adding attributes to our approval message
            1. How to do it...
            2. How it works...
          3. Creating a rejection message
            1. How to do it...
            2. How it works...
          4. Adding attributes to our rejection message
            1. How to do it...
            2. How it works...
          5. Creating an invalid XML message
            1. How to do it...
            2. How it works...
          6. Adding invalid XML message attributes
            1. How to do it...
            2. How it works...
        12. Sending notifications and processing responses
          1. Creating an absence approval notification
            1. How to do it...
            2. How it works...
          2. Creating an absence rejection notification
            1. How to do it...
            2. How it works...
          3. Creating invalid XML notification
            1. How to do it...
            2. How it works...
          4. Adding notifications to the process diagram
            1. How to do it...
            2. How it works...
          5. Mapping the notifications
            1. How to do it...
            2. How it works...
          6. Testing the workflow
            1. How to do it...
            2. How it works...
          7. Viewing the notifications and workflow diagrams
            1. How to do it...
            2. How it works...
        13. Calling an API
          1. Creating a function to call the database package
            1. How to do it...
            2. How it works...
          2. Adding a function to a process
            1. How to do it...
            2. How it works...
          3. Testing the workflow
            1. How to do it...
            2. How it works...
      12. 6. Utilities
        1. Introduction
        2. Setting the environment variables
          1. Setting the environment on the application server
            1. How to do it...
            2. How it works...
          2. Setting the environment on the database server
            1. How to do it...
            2. How it works...
        3. Starting and stopping an environment
          1. Starting an environment
            1. How to do it...
            2. How it works...
          2. Stopping an environment
            1. How to do it...
            2. How it works...
        4. Creating a custom schema
          1. Making a new environment parameter
            1. How to do it...
          2. Running AutoConfig (adautocfg.sh)
            1. How to do it...
            2. How it works...
            3. There's more...
          3. Creating a CUSTOM schema directory structure
            1. How to do it...
            2. How it works...
          4. Creating a new tablespace
            1. How to do it...
            2. How it works...
          5. Creating a database user
            1. How to do it...
            2. How it works...
          6. Registering an Oracle schema
            1. How to do it...
            2. How it works...
          7. Registering an Oracle user
            1. How to do it...
            2. How it works...
            3. There's more...
        5. Extracting data using FNDLOAD
          1. Extracting a lookup using FNDLOAD
            1. How to do it...
            2. How it works...
          2. Extracting a Descriptive Flexfield using FNDLOAD
            1. How to do it...
            2. How it works...
          3. Extracting a concurrent program using FNDLOAD
            1. How to do it...
            2. How it works...
          4. Extracting a request set using FNDLOAD
            1. How to do it...
            2. How it works...
          5. Extracting a profile option using FNDLOAD
            1. How to do it...
            2. How it works...
          6. Extracting a form and function using FNDLOAD
            1. How to do it...
            2. How it works...
            3. There's more...
          7. Extracting a menu using FNDLOAD
            1. How to do it...
            2. How it works...
          8. Extracting a request group using FNDLOAD
            1. How to do it...
            2. How it works...
          9. Extracting a responsibility using FNDLOAD
            1. How to do it...
            2. How it works...
          10. Extracting a personalization using FNDLOAD
            1. How to do it...
            2. How it works...
          11. Extracting a message using FNDLOAD
            1. How to do it...
            2. How it works...
          12. Downloading multiple objects
            1. How to do it...
            2. How it works...
        6. Uploading using FNDLOAD
          1. Uploading a lookup using FNDLOAD
            1. How to do it...
            2. How it works...
          2. Uploading a Descriptive Flexfield using FNDLOAD
            1. How to do it...
            2. How it works...
          3. Uploading a concurrent program using FNDLOAD
            1. How to do it...
            2. How it works...
          4. Uploading a request set using FNDLOAD
            1. How to do it...
            2. How it works...
          5. Uploading a profile option using FNDLOAD
            1. How to do it...
            2. How it works...
          6. Uploading a form and function using FNDLOAD
            1. How to do it...
            2. How it works...
          7. Uploading a menu using FNDLOAD
            1. How to do it...
            2. How it works...
          8. Uploading a request group using FNDLOAD
            1. How to do it...
            2. How it works...
          9. Uploading a responsibility using FNDLOAD
            1. How to do it...
            2. How it works...
          10. Uploading a personalization using FNDLOAD
            1. How to do it...
            2. How it works...
          11. Uploading a message using FNDLOAD
            1. How to do it...
            2. How it works...
          12. Modifying the LDT file
            1. How to do it...
            2. How it works...
        7. Using a script for FNDLOAD
            1. How to do it...
            2. How it works...
        8. Using a script for migrating objects
            1. How to do it...
          1. How it works...