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