Oracle ADF Oracle Application Development Framework

Oracle ADF is a framework, which means that much of its functionality is contained in a set of libraries. Specific applications may change or add to the functionality of the library classes, creating specific business components. Oracle ADF application modules are business components that represent particular application tasks. The application module provides a data model for the task by aggregating the view object and view link instances required for the task while also providing services that help the client accomplish the task. An application module can assist with tasks like updating customer information, creating a new order, and processing salary increases.

Because application modules are data model components, we always consider our clients’ data needs when defining them. When designing an application module we consider the following carefully:

  1. what task is our client going to perform with this application module?
  2. what data does it need to perform that task and which view object definitions provide this data?
  3. what sets of data should stand in master-detail relationships? – This allows us to design the application module efficiently, without retrieving and storing more data than necessary. Application modules can also contain service methods that perform complex operations on data. At HCL, we use Oracle ADF for development of business services, user interfaces and building components.

Oracle ADF Architecture

Oracle ADF Architecture

Oracle ADF is based on the Model-View-Controller (MVC) design pattern. Separating applications into these layers simplifies maintenance and reuse of components across applications. The independence of each layer from the other results in a loosely coupled Service Oriented Architecture (SOA). Oracle ADF implements MVC and further separates the model layer from the business services to enable service-oriented development of applications. Oracle ADF architecture is based on four layers:

  1. The Business Services layer – provides access to data from various sources and handles business logic
  2. The Model layer – provides an abstraction layer on top of the Business Services layer, enabling the View and Controller layers to work with different implementations of Business Services in a consistent way
  3. The Controller layer – provides a mechanism to control the flow of the Web application
  4. The View layer – provides the user interface of the application

Oracle ADF lets us choose the technology we prefer to use when implementing each of the layers. The glue that integrates the various components of J2EE applications and makes development so flexible is the Oracle ADF model layer. EJB, Web Services, Java Beans, and TopLink objects can all be used as Business Services for the Oracle ADF Model. View layers can include Swing applications as well as HTML interfaces using JSP and JavaServer Faces (JSF).

Standard Services Offered & Benefits

Business Development Service

Oracle ADF Business Components is a framework focused on creating objects, which implement the Business Services layer on top of a database, in a more declarative way. It provides out-of-the box services such as transaction management, resource pooling, locking, declarative validation rules, translation and object-relational mapping. Oracle ADF Business Components let us leverage the full power of SQL when building Java objects that access their databases. With built-in implementation of common J2EE design patterns in the framework, the performance and scalability of the application is assured.

User Interface Development

Visual and declarative development features of the View and Controller layers of an application are plentiful in Oracle Jdeveloper:

  • A page flow modeler for both the standard JSF framework and the open-source Apache Jakarta Struts framework, providing visual page flow modeling using simple drag and drop of components onto the Struts or JSF diagram
  • A visual editor for HTML, Swing, and Wireless based user interfaces, allowing WYSIWYG development for all types of components, including JSF
  • Declarative development tools for adding components to the user interface, including a property inspector, extensible component palette, and data control palette

The visual and declarative development tools are synchronized in the Developer IDE so that the visual editor, property inspector, and modelers are synchronized with the source code at all times. Thus, we can choose our development style – drag and drop, declaratively define properties, or edit source code directly.

Unified Look & Feel experience

All legacy applications and standard applications built on J2EE compliant application servers and business services can be moved to a single user experience using ADF. All the Business Service Layers are bound to a common Controller and View Layer making the application look alike throughout the enterprise.

Enable migration to ADF from Forms and traditional technologies

Through its extensive knowledge and proven methodologies, HCL offers migration to ADF from traditional Forms based technologies. With a need to extend application life, meet business demands, avoid de-support of older and outdated technologies, and to create a standardized User Interface, HCL supports easy migration to ADF technologies.

Binding Business Services Components to the User Interface

Oracle Jdeveloper provides a very easy way to bind components from the Business Services layer to the Controller and View layers using an innovative implementation of the JSR-227 data control. The Data Control Palette provides a view into the Business Services layer. We can simply drag-and-drop data objects and bind them to their user interface implementation. The same mechanism enables an easy binding of controller actions to methods defined in the Business Services layer.

Oracle Application Framework OAF — introduction, more coming soon

Oracle Applications Framework is also referred to as OA Framework. This is a framework that excels at creating 3-tier web-based applications that link to an 11i Oracle Applications instance while maintaining all the security features of that 11i instance. OAF is a model-view-controller technology stack that is fully oriented towards E-BS application development. The OAF stack is comprised of underlying technologies like UIX and BC4J that respectively form the core of the view and model layers. It includes Application Object Library (AOL) that provides common E-BS artifacts such as menus, functions, messages, profiles, flexfields and attachments, etc.

An important significance of the OA framework model is that it facilitates the customization of existing out of box i modules as well as allows development of new Self Service Web Application modules. As a result, the OA Framework provides benefits of productivity, scalability, and customizability. OA Framework Architecture is based on the J2EE MVC design pattern. The MVC architecture is a component-based design pattern with clean interfaces between the Model, View, and Controller. The Model is where the application implements its business logic. The View is where the application implements its user interface and the Controller is where the application handles user interaction and directs business flow. Though the OA Framework is J2EE based, it also uses various industry standards like HTML, XML, Java, JSP, SQL and Web Services.

OAF Architecture

OAF Architecture

OAF Key Features

Standards Compliance

  • Oracle Applications development and deployment platform for HTML-based applications
  • 100% Java & XML J2EE based, middle-tier application framework and services provide for rapid development & deployment
  • Built on Fusion Middleware
  • Built on Oracle platform

Declarative Environment

  • Rapid application development environment
  • Consistent & compelling UI
  • Built-in durable personalization
  • Extensible UI and business logic

Model-View-Controller Design

  • A component-based design with clean interfaces among model, view, and controller objects
  • The controller responds to user actions and directs application flow
  • The view formats and presents data from a model to the user
  • Model encapsulates data and business logic of the application

OAF Key Benefits

  • Consistent and Compelling User Interface
  • User Interface Interactivity
  • Built-in Security
  • Integrated Development Environment
  • Mobile Support
  • Functional Administration Tool
  • Durable Personalization and Extensibility

Extra Tips – How to Managing and Leading people

what should be the approach to managing and leading people ? Here are a few guidelines drawn from my own practice and conversations I have had with senior executives and staff in companies that are handling their people well.

  • Be visible. Walk around, hold meetings and speak in small groups
  • Be as open, honest, fair and decent as possible
  • Be serious and realistic but remain positive and hopeful for the future
  • Keep people in the picture even when there is little concrete news. Share as much information as you are able — in person, in meetings and through frequent updates — about the challenges the company is facing and how it is performing. If you don’t know what’s going on, say so.
  • Give people frequent opportunities to discuss and ask questions about the situation
  • Be a role model. Do your job well and stay positive. This will ensure there is a positive mood in the office and that morale is high so people can work with fewer distractions.
  • Engage your staff — leverage their expertise, involve them in decisions and remind them of the shared responsibility to pull the organisation through the crisis.
  • Encourage and motivate people through positive feedback and extra help if they are struggling. Don’t be over-critical as this may backfire on you.
  • Let your people know how much you value them. This can be done through positive feedback, recognition and rewards such as small gifts or flexible working. If people feel they are valued, you will have their loyalty and support.
  • Keep an eye on your peoples’ health and wellbeing.
  • Ensure that you have good training and development programmes in place — these are a good investment for the future and will pay dividends when the organization has come through. Coaching and mentoring also foster self-reliance and self-worth, which are important factors when it comes to keeping motivation high.

These are just a few ideas for keeping your team on track and ensuring that your people skills remained sharp. What is your experience of managing or being managed? Have you found it tough to give people attention when there are so many pressing business issues? Have your boss and company been supportive to you ? Have you — or your boss — changed styles? If so, what have been the effects?

Oracle Application – General Interview (Technical – Functional Questions)

Oracle Applications / Financials – General Questions for interview or to increase overall awareness on some of the concepts you already aware and worked upon. this is terms as refreshing some of those.

Oracle Application – General Interview (Technical – Functional Questions)

What are different period types?
You use accounting period types to define your accounting calendar. Different Accounting Periods are-
  • General Ledger Periods (attached to Set of Books),
  • Purchasing Periods (Operating Unit Specific),
  • Cost Periods (Inventory Organization Specific),
  • AP Periods, and
  • AR Periods

If it is accounting period types, you can define your own period types to use in addition to the General Ledger standard period types Month, Quarter and Year. You use these period types when you define the accounting calendar for your organization. However the year type should be either Calendar or Fiscal. We have different Period types-

1) 13 Month (13 Month Calendar with An Adjusting Period).

2) Annual.

3) Monthly.

4) Quarterly.

5) Semi Monthly.

6) Weekly.

What types of invoices are there in AP and AR?

Types of Invoices are:

Credit Memo
Debit Memo
Expenses Report

AWT (Automatic Withholding Tax Invoice)

Interest Invoice

PO Default

Quick Match


Recurring Invoice

Arrears Invoice

Advance Invoice


Charge Back


What is the difference between cross-validation rules and security-rules?

Cross validation rules prevent all the responsibilities/users entering invalid account combinations. Security rules are attached to specific responsibilities to prevent using few of the segment values for a segment. Cross Validation Rule: Rules that define valid combinations of segment values a user can enter in an account. Cross-validation rules restrict users from entering invalid combinations of account segment values. Security Rule: It determines the accounting transaction user can view at different levels of hierarchy, such as at Site Level –>Application Level –> Responsibility Level –> User level. Cross Validation Rule applies across the chart of account where Security Rule is applicable at Responsibility Level or User Level. Cross Validation Rules are meant for defining the set of combinations that are excluded from the global set whereas Security Rules are to restrict Users/Responsibilities. Cross-Validation Rules are to control the certain code combinations. Security Rules are to control the certain segment values.

How many ways can you enter a journal in GL?

1. Manual entry 2. Subledger Entry 3. Spreadsheet Entry 4. Recurring Entry 5. Mass Allocation

What is a recurring invoice?

Recurring Invoice is a type of invoice which occurs at definite intervals of time. The best example for a recurring invoice is Rent paid to the Owner.

What are the general setup steps for AP, AR, and GL?

For GL:

1. Define Chart of Accounts2. Define Calendar
3. Define Currency
4. Create Set of Books
For AP:
1. Define Suppliers (Creditors)

2. Invoice

3. Look up codes

4. Selection of Set of Books

5. Payment Terms

6. Financial & Payable Options

7. Define Banks

For AR:

1. Flexifield

2. System Options

3. Payment Terms

4. Open period

5. Auto Accounting

6. Transaction Type

7. Transaction Source

How do we integrate AP or AR to GL ?

There is a program in payables to transfer AP to GL is “payables transfer to general ledger” GL is like AR->GL<-AP, AR and AP both transfer the data in GL. AR Contains all Invoices/Receipts /CM/DM and same way AP also have AP Vouchers. Yes, there is a clear Integration of AP/AR with GL.

The integration is like this: all the accounting created in subledgers (AP/AR) are transferred to Gl. The journal created from AP/AR are clearly identified in GL according to their batch names and journal names.
What is the difference between GL date and GL posted date in GL ?
GL date is the date used to determine the correct accounting period for your transactions where as the GL posting date is the date when the journal entry is posted the GL. GL date is the date used to determine the correct accounting period for your transactions where as the GL posting date is the date when the journal entry is posted the GL, also Called Transaction Date & Posted Date.

In GL there is no org id. So how can we differentiate the data different operating units when no other modules are given ?

HR data is at business group level. GL Data is differentiated based on set of books id. AP and AR data is mostly at operating unit level. Inventory, BOM, WIP data is at inventory organization level. In the gl_sets_of_books we have the set_of_books_id column. This column is enough to differentiate between one operating unit with the other. If you see the multiorg structure of Oracle Apps modules, we’ll see that GL is setup at set of books level. Now you generally won’t get data at OU level. OU data sums up at a higher SOB level. Please follow the below structure if you want more clarification top->bottom HR org->SOB->OU->inventory org

At what stage, the subledger data is posted to GL?

When Transactions are completed in subledgers data may be posted to GL Basically after entering the transactions, report will be taken to verify the transactions. In case, if approval is needed, it is approved after verifying the transactions. Once you are sure that the transactions are correct, the same can be posted to GL. Once it is posted, most of the information for the posted transaction can not be modified in the subledger. In case of any wrong entry, you need to follow the reversal procedure. Practically, the verification of transactions are done only during the initial stages after implementation. Once the system becomes stable, it is not followed strictly. Note: Make sure that GL period is open for the transaction GL date. Close all the periods in subledger after you reconciled all your transactions. Once you close the period, sweep program will run and all the un-posted and future entries will be transferred to next open period. Once this is done run the GL Transfer program and Journal import programs to complete the transaction transfer process. Once this is done you will find un-posted journal entries in GL you can post the same or reverse the same if you find something is missing. GL periods should also been opened and the GL period should be closed at the last.

Why cant interest rates are set uniquely supplier wise in payables module, whereas interest rate is applied to all suppliers the same rate?

Terms and conditions differ with each supplier.

What is FSG and its use?

Financial Statement Generator is a powerful report building tool for Oracle GL. FSG is used by the management for the decision making in the financial sector of the firm or an enterprise.

Uses of FSG :1. Generate financial reports such as income statements and balance based upon the data in your GL.
Note: If you have average balance processing enabled in your set of books, you can report on functional, foreign–entered, or translated average balances.
2. Define your reports with reusable report objects, making it easy to create new reports from the components of reports you’ve already defined. 3. Design custom financial reports to meet specific business needs.
4. Print as many reports as you need simultaneously.
5. Print the same report for multiple companies, cost centers, departments in the same report request.

6. Schedule reports to run automatically.

7. Produce ad-hoc reports whenever you need them.

8. Print reports to tab-delimited files for easy import into client-based spreadsheet programs. In addition, you can use the Report Wizard feature of Applications Desktop Integrator to design and submit your financial reports, as well as view the results, directly from a spreadsheet. 9. Define segment value security rules to restrict financial information contained in FSG report output generated by specific users and responsibilities. Note: To apply segment value security rules, the profile option FSG: Enforce Segment Value Security must be enabled

Explain ADI and its features?

ADI means application desktop integrator. It is a excel file which allows you to transfer the data pertaining to General Ledger, Fixed Assets and Budget to oracle apps and allows to run a request. ADI functionality provides an alternative to users who prefer to load information directly from Microsoft Excel rather than using the Oracle user interface. It should read Oracle Interface Programs (batch jobs) rather than Oracle User Interfaces. Broadly following are the feature / elements of ADI

1. Journal Wizard

2. Budget Wizard

3. Report Wizard.

4. Account Hierarchy Editor.

5. Analysis Wizard.

6. Request Center

ADI allows users take advantage of many of the data-entry shortcuts of a spreadsheet, such as copying and pasting cells, dragging and dropping ranges of cells and using formulas to calculate journal line amounts. ADI validates the data entered against the accounts, security rules and reference information that are defined in the General Ledger (GL).

What is EDI and its functions?

EDI – Electronic Data Interchange, to send the data to another server/destination via EDI server.E-Commerce Gate Way is the one of the Module in Oracle Apps. EDI (Electronic Data Interchange) is way of exchanging the Business documents like Sales Order, Invoice, PO etc., between two business entities in agreed standard format like ASCII X12 format. In oracle application, business documents may be referred as 850POI (purchase order Inbound), 810INO (Invoice Outbound) etc.. There are several third party sources are available which may be use in mapping of several documents from Oracle Format to X12 and vice versa. Some of them like Sterling Commerce, Klein Schmidt…. EDI is a toll where in whenever the customer is sending the PO it gets saved in this toll, again when the supplier after supplying the material will send an invoice through EDI, wherein the EDI of the customer will match the PO with the invoice and the invoice will get processed automatically, in case if it is not matching it will be in the error sheet

Shivmohan Purohit