Here are the steps to create a simple search page in OA Framwork. I have used OAF Version 12.1.1 for this exercise. There are many ways to do this and here I have followed one of these.
Step 1: Create a Package
All BC4J model components must belong to a Business Components (BC4J) package. So create a package with a name like xxhci.oracle.apps.custom.LabExamples.server.
Step2: Create an Entity Object (EO)
Entity objects encapsulate business logic and DML operations for application tables.
To create a new entity object in the above defined Business Components (BC4J) package:
1. In the JDeveloper Navigator, select the BC4J package where you want to create your entity object.
2. Right click and select ‘New Entity Object’
3. Do the following steps to create an EO.
2.1 Specify a Schema Object (the exact name of the table for the entity object)
2.2 In the Attributes page (Step 2 of 5), you should see all the columns in the table that you specified in the Name page.
Select New… to create a transient attribute that is used in the business logic, such as a calculated OrderTotal in a purchase order that is used for approval checking.
2.3 In the Attribute Settings page (Step 3 of 5), verify or set the following information for each of the entity object’s attributes:
The Attribute and Database Column Name and Type properties default correctly from the table definition. For primary key columns, ensure that the Primary Key and Mandatory checkboxes are selected. For columns that are never updateable, or updateable only when new, select the appropriate Updateable radio button. For columns whose values change after database triggers execute, select the Refresh After update or insert as appropriate.
2.4 In the Java page (Step 4 of 5) page:
- Check the option for generating an Entity Object Class. In the Generate Methods box, opt to generateAccessors, a Create Method and a Remove Method.
2.5 Click on ‘Generate default view object’ to create a VO. Select Finish to save your entity object definition and implementation. BC4J will create an XML definition file and a Java implementation file for your entity object.
Step3: Create an View Object (VO)
If you click ‘Generate default view object’ tab as mentioned above, you don’t have to create a VO separately. If you forgot this, you have to create a VO. Click on the VO to test the SQL Statement generated by the EO and check in the ‘Expert Mode’.
Step4: Create a New Application Module (AM)
To create a new application module in a Business Components (BC4J) package:
1. In the JDeveloper Navigator, select the BC4J package where you want to create your application module.
2. From the main menu, choose File > New to open the New Object Gallery.
Select the view object.
In the Java page (Step 4 of 5), deselect the Generate Java File(s) checkbox ONLY if you are certain that you won’t be writing any code for your application module (you can always delete the class later if you find that you don’t need it, so it’s probably best to simply generate it at this point unless you are creating a simple container for LOV view objects).
Select Finish to create your application module. BC4J will create an XML definition and implementation file.
Step5: Create a Page (EmpSearchPG)
Create the EmpSearchPG page as follows
- Right click on project à New à Web Tier à OA Components à Page
- Give the Page Name as EmpSearchPG and package as “xxhci.oracle.apps.custom.LabExamples.webui”
- Select region1 page from Structure Window and change its properties as
ID à PageLayoutRN
- Select the AM Definition as ‘xxhci.oracle.apps.custom.LabExamples.server.XxhciOafTrngEmpTabAM’
- Give a Window Title as ‘Employees Search Window’
- Give a Title as ‘Employees’
Step6: Add a Query region and Results table
- Right click on PageLayoutRN à New à Region. Set the properties of the new region as
ID à QueryRN
- Select the Region Style as ‘query’ and Construction Mode as ‘resultBasedSearch’.
- Right click on QueryRN region on structure navigator à New à Region using wizard.
- Select the AM and VO which we have created in earlier steps as shown in below figure.
Set the Region Style as Table
Change the Prompt and Style for all three items.
Step7: Changes the Item Properties
Go to EmpNo item and set the Search Allowed property to true. Similarly do the steps for EmpName and Department also.
Step8: Save all changes (Save All).
Step9: Run the Page (EmpSearchPG)
Creation of search page is complete. Run the EmpSearchPG to test the page. If everything works fine for you, you should able to view an output like below:
Few Note:
Understanding Query Regions
When you add a query region to a pageLayout region, OA Framework automatically generates an oracle.apps.fnd.framework.webui.beans.layout.OAQueryBean which, depending on its configuration, works in concert with a child table, advanced table or HGrid to implement any combination of simple search, advanced search and view panels. OA Framework automatically generates buttons as appropriate for toggling between the applicable regions.
Construction Modes:
There are three construction modes available. In the above example we have used ‘resultBasedSearch’construction mode. Here is a brief comparison of the three modes.
1] resultsBasedSearch:
- OA Framework automatically renders both the Simple and Advanced search regions based on the designated queryable items in the associated table.
- The search regions automatically include both a Go and a Clear button.
- OA Framework automatically executes the underlying search when the user selects the Go button.
2] autoCustomizationCriteria:
- OA Framework automatically renders both the Simple and Advanced search regions based on the corresponding Simple search and Advanced search regions that you define and specify as named children of the query region.
- The search regions automatically include a Go button. In addition, the Advanced search region includes a Clear button.
- OA Framework automatically executes the underlying search when the user selects the Go button. However, developers must explicitly define mappings between items in the Search panel and items in the table region.
3] none
- The Search regions are rendered based on the Simple Search and Advanced Search regions that you define and specify as named children of the query region.
- You must implement your own Go button in this mode.
- The underlying search must be executed by the developer.
HZ tables in Oracle Receivables
The HZ_PARTIES table stores basic information about parties that can be shared with any relationship that the party might establish with another party. The primary key for this table is PARTY_ID.
Few Important Columns are
HZ_PARTY_SITES:
The HZ_PARTY_SITES table links a party (HZ_PARTIES) and a location (HZ_LOCATIONS) and stores location-specific party information. One party can optionally have one or more party sites. One location can optionally be used by one or more parties. The primary key for this table is PARTY_SITE_ID.
Few Important Columns are
HZ_LOCATIONS:
The HZ_LOCATIONS table stores information about a delivery or postal address such as building number, street address, postal code, and directions to a location. This table provides physical location information about parties (organizations and people) and customer accounts. The primary key for this table is LOCATION_ID.
Few Important Columns are
HZ_CUST_ACCOUNTS:
The HZ_CUST_ACCOUNTS table stores information about customer accounts , or business relationships that the deploying company establishes with a party of type Organization or Person. This table focuses on business relationships and how transactions are conducted in the relationship. Since a party can have multiple customer accounts, this table might contain several records for a single party. For example, an individual person can establish a personal account, family account, and a professional account for a consulting practice. The primary key for this table is CUST_ACCOUNT_ID.
Few Important Columns are
HZ_CUST_ACCT_SITES_ALL:
The HZ_CUST_ACCT_SITES_ALL table stores all customer account sites across all operating units. Customer account sites are addresses, for customer accounts, where the deploying company does business with its customers. One customer account can have multiple customer account sites, and customer account sites for one customer account can belong to multiple operating units. The primary key for this table is CUST_ACCT_SITE_ID.
Few Important Columns are
HZ_CUST_SITE_USES_ALL:
The HZ_CUST_SITE_USES_ALL table stores business purposes assigned to customer account sites, for example Bill-To, Ship-To, and Statements. Each customer account site can have one or more purposes. This table is a child of the HZ_CUST_ACCT_SITES_ALL table, with the foreign
key CUST_ACCT_SITE_ID. The HZ_CUST_SITE_USES_ALL table also stores operating unit identifier, though the HZ_CUST_ACCT_SITES_ALL table itself stores the operating unit for customer account sites. The primary key for this table is SITE_USE_ID.
Few Important Columns are
HZ_CUSTOMER_PROFILES:
The HZ_CUSTOMER_PROFILES table stores information about the credit characteristics of a single customer account or a customer account site or a party. A profile class defined in the
HZ_CUSTOMER_PROFILE_CLASSES table can be used to provide default values for the attributes in this table. The primary key for this table is CUST_ACCOUNT_PROFILE_ID.
Few Important Columns are
HZ_CUST_PROFILE_CLASSES:
The HZ_CUST_PROFILE_CLASSES table stores information about the credit characteristics that are common across a group of customer accounts. The characteristics specified in this table can be used as default characteristics for similar customer accounts. The primary key for this table is PROFILE_CLASS_ID.
HZ_PARTY_RELATIONSHIPS:
The HZ_PARTY_RELATIONSHIPS table stores information about relationships between parties.
Share this:
Oracle Apps Concurrent Processing:An Introduction
Concurrent Program:
An instance of an execution file, along with parameter definitions and incompatibilities. Several concurrent programs may use the same execution file to perform their specific tasks, each having different parameter defaults and incompatibilities.
Concurrent Program Executable:
An executable file that performs a specific task. The file may be a program written in a standard language, a reporting tool or an operating system language.
An execution method can be a PL/SQL Stored Procedure, an Oracle Tool such as Oracle Reports or SQL*Plus, a spawned process, or an operating system host language.
Concurrent Request:
A request to run a concurrent program as a concurrent process.
Concurrent Process:
An instance of a running concurrent program that runs simultaneously with other concurrent processes.
Concurrent Manager:
A program that processes user’s requests and runs concurrent programs. System Administrators define concurrent managers to run different kinds of requests.
There are many concurrent managers each monitoring the flow within each apps area.
But there are 3 MASTER CONCURRENT MANAGERS:
1. Internal Concurrent Manager (ICM): This is the one which monitors all other CMs
2. Standard Manager (SM) : This takes care of report running and batch jobs
3. Conflict Resolution Manager (CRM): checks concurrent program definitions for incompatibility checks.
We cannot delete a concurrent manager… but we can disable it… but it’s not recommended.
Concurrent Queue:
List of concurrent requests awaiting to be processed by a concurrent manager.
Phases and Statuses through which a concurrent request runs:
A concurrent request proceeds through three, possibly four, life cycle stages or phases:
Within each phase, a request’s condition or status may change. Below appears a listing of each phase and the various states that a concurrent request can go through.
Concurrent Request Phase and Status
Phase: PENDING
Phase:RUNNING
Phase:COMPLETED
Phase:INACTIVE
Different execution methods of executabls:
Output formats of a concurrent program:
Share this:
Build simple search page in OA Framework
ID à PageLayoutRN
ID à QueryRN
Share this:
Personalization vs Extension vs Customization
Share this:
OAF vs ADF 10g
OA Framework:
ADF 10g
Conclusion
Share this: