Saturday 27 February 2016

OAF - JDeveloper Configuration and DB Connection

Finding JDeveloper version:

  1. Login to Oracle Applications
  2. Enable FND: Diagnostics Profile Option to Yes at site level/User level to enable the ‘About This Page’ link at the left bottom of the page.
  3. Click on ‘About This Page’ link on the Oracle Applications Home Page. Navigate to Technology Components Tab, note down OA framework version
  4. Search in Oracle Metalink to find the exact version of Jdeveloper with OA Extensions for the framework version noted above.
Jdeveloper Installation:


JDeveloper comes as a zip file and does not require any installation. After extracting the ZIP file to any of the folder, it creates below 3 folders

  1. JDEVBIN: This is the JDeveloper software directory and contains the executables for the IDE.
  2. JDEVDOC: This contains all help documentation including the OAF Developer Guide which will become invaluable to you as an OAF developer
  3. JDEVHOME: This is where by default all of your project files and code will be created, sort of a my documents folder for JDeveloper.
Screenshot Below

JDeveloper executable file will be available from below path
C:\<extracted directory>\jdevbin\jdev\bin\jdevW.exe



Configuring JDEV_USER_HOME environment variable:

Purpose :To set up the location where we can store our files, when JDeveloper is launched it will now automatically save your files

Right Click on the “My Computer” icon and select the “Properties” option. Click the “Advanced” tab and then “Environment Variables”. Create a new user variable by clicking on the “New” button and enter JDEV_USER_HOME as the environment variable name and the path to your central directory as the value i.e. C:\ <extracted directory>\jdevhome\Jdev.


Click on Environment Variable and then click on New button 

Note: Variable value should be path of Parent Folder of myprojects which means  C:\OAF\p9879989_R12_GENERIC\jdevhome\jdev as per my system setup
Click on OK > OK > OK to close the properties window

DBC File 

Place the DBC File under $ jdevhome> jdev>dbc_files>secure
























OAF - Introduction and MVC Concept

Oracle Application Framework (OAF)

Introduction of OAF
* Oracle Application Framework (OA Framework) is the Oracle Applications development  and  
   deployment platform for HTML-based business applications. 

* OA Framework consists of a set of middle-tier run time services and a design-time extension to
   Oracle JDeveloper called Oracle Applications Extension (OA Extension).

OA Framework:

  • Regions are created as XML but then loaded into Database into JDR% tables.
  • The meta-data is defined as XML at design time, which is latter loaded into JDR* tables in the database.
  • Completely integrated within jDeveloper for design and development purposes.
  • MVC Industry Standard Architecture.

Disadvantages

  1. Declarative design of screens. What you see is not what you get for layout
  2. No drag and drop  for designing layout of the Page.
  3. Oracle does not provide access to Java source code for OA Framework or  products. You should consider the Developer's guide and available Javadoc for the classes

Architecture of OAF
OA Framework is based on the industry-standard J2EE MVC design pattern. Developers manipulate the application's metadata using Oracle JDeveloper OA Extension, while OA Framework uses the most efficient manner to execute the application. 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.









OA Extension offers the following design time tools: 

1. UML tools to model and generate business logic.
2. Guided user interface (and visual editors in a future release) to lay out client user interfaces.
3. Code generation for Controller classes.

The OA Framework Model is implemented using Oracle Business Components for Java (BC4J). BC4J provides optimized, ready-to-use implementations of the J2EE design patterns that developers otherwise would have to code, debug, and test by hand. By leveraging BC4J's combination of tested code and productivity tools inside the Oracle JDeveloper IDE, development teams can focus immediately and only, on writing business logic and user interfaces instead of on designing, coding, and debugging handcrafted application "plumbing" code. 

The OA Framework View is implemented using UI XML (UIX). UIX uses XML to describe the 
components and hierarchy that make up an application page. UIX also provides run time 
capabilities to translate that metadata into HTML output so that it can be shown on a Browser or 
a mobile device. The metadata used to describe the UI is loaded into a database repository, called 
Meta Data Services (MDS), at deployment time and optionally at design time as well. 

User- and application-driven interactions are handled by the OA Controller, which is a pure Java 
class implementation. Simple page flows (such as a 2-step transaction) are implemented directly 
into the Controller object; others are implemented using Oracle Workflow. In a future release, 
business flows will be implemented in a declarative manner similar to that used to define model 

and view objects.
Whenever there’s a request for a new page submitted then the OA framework first read the metadata associated with that page from the XML files stored in the MDS database repository And creates a web bean hierarchy(Java Beans) controlled by the controller. Now,when the page processing completes then the code written in the beans get converted to the html code n being sent to the html browser by the UIX framework.

















Oracle Workflow

Oracle Workflow
Oracle Workflow lets you automate and continuously improve business processes,

Features of WF
• Oracle Workflow Builder
      Oracle Workflow Builder lets you create, view, or modify a business process with simple drag 
      and drop operations. Using the Workflow Builder, you can create and modify all workflow 
      objects, including activities, item types, and messages

• Workflow Engine
     The Workflow Engine embedded in the Oracle database server monitors workflow states and 
     coordinates the routing of activities for a process. These are the API like wf_engine , wf_core.
• Workflow Definitions Loader
      Used to move workflow definitions from a development to a production database

• Complete Programmatic Extensibility
    Oracle Workflow lets you include your own PL/SQL procedures or external functions as activities 
    in your workflows. Without modifying your application code, you can have your own program run
    whenever the Workflow Engine detects that your program's prerequisites are satisfied. 

 Major Components in Work Flow Builder

Attributes      : (Variables)
Processes       : Actual Work Flow to automate the business process
Notifications : Through which send and receive the message
Functions      : PL/SQL procedure for any functionality
Messages       :  Text/message to be sent
Lookup Types :Which contain look up code that is used for conditional flow.


Create a Simple Notification 


1. Open Workflow Builder > File > New

   

Right Click on Untitled-1 > New Item Type




Provide the New Item Type details as below then Click on Apply and OK
Expand Test Type Item Type (Click on +)  symbol to add its components

Create Attribute: 
Right Click on Attributes > New Attribute > Provide the details as below

Create Message
Right Click on Messages > New Message > Provide the details as below
Click on Body Tab to provide the message body 



Create Notifications
Right Click on Notifications > New Notification > Provide the details as below




Create Process
Right Click  on Processed > New Process > Provide the details as below



Save the Workflow by clicking on SAVE button



Design the Workflow Process

1. Add the Node (Start and End) to your new process (Test Process)
Note: Start and End Node are available in WFSTD file which is available in Workflow Builder.
         Open WFSTD file as below
           Click on Open  Icon> Browse > Choose WFSTD.WFT > Click on Open        

This WFSTD.WFT file will be available in <WF Installed Folder>WF>DATA>US

1. Double Click on Test Process to open the Process window
2. Expand WFSTD to drag and drop the START and END node to your process
3. Drag your notification to your Process
4. Connect them by Right Click and Drag as below

Click on Node tab in START function and select Start for Start/End filed
Click on Node tab in END function and select End for Start/End filed

Attach Message to the Notification
Double Click on Test Notification you have created to open the same.
Select message name from 'Message' field that you have created above.

Add Performer to the Notification. Performer is a application user who will get the notification.
Click on Node Tab from the Notification Window and Select the user from the list
Check your Design by clicking on Verify icon from the Menu





Save the Workflow in the Database

To start  the Process we need to follow these steps:
1.  Create the workflow process
2. Set the item attributes
3. Start the workflow process


Check your WF :
Go to Work flow Administration Web Applications Resp.






































Thursday 25 February 2016

Overview of Oracle e-Business Suite

      Overview of Oracle Applications (Oracle e-Business Suite)

Oracle E-Business Suite is the most comprehensive suite of integrated, global business applications that enable organizations to make better decisions, reduce costs, and increase performance.

                        Releases of Oracle Applications

Oracle Application Architecture

Oracle Application Server file Structure



Operational/Functional security in Oracle APPS


     User : The application user who will access to Oracle Application 

Responsiblities
It’s a level of authority in Oracle Applications which allows user to access only those functions and data that are appropriate to their role in an organization
Each responsibility allows access to:
Ø  A specific application or applications
Ø  A set of books
Ø  A restricted list of functions a user can perform. Example: Two resp having same name
       but one may have more function where as other mayn’t have .
Ø  Reports in specific applications
Ø  Each user has at least one or more responsibility  and several users can share the same
      responsibility.

Request Group:
A request security group is the collection of requests, request sets, and concurrent programs that a user, operating under a given responsibility, can select from the Submit Requests window.
Data Group: A data group is a list of Oracle Applications and the Oracle username assigned to each application
 1. It identifies the Oracle username that forms connect to when you select the responsibility.
 2. Concurrent managers use a data group to match the application that owns a report or
     concurrent program (submitted by a user of the responsibility) with a Oracle username.
Menu:  Menu is a hierarchical listing of functions (forms) so that the user can easily navigate through the forms once he is in a responsibility.  Every responsibility will be assigned only one main menu. Under that main menu, you can have either have other sub menus or functions.
Function: Functions are nothing but the forms in Oracle Application

Organization Structure in e-Business Suite


BUSINESS GROUP (BG): A business group is the top level in org structure. In Oracle EBS, Business Group holds the employee information. If there is a Group of Companies and they all are using a single instance of Oracle Apps then every employee in each company will be defined at BG level. Each employee will then be assigned a responsibility. That responsibility determines which company that employee belongs to and what type of transaction can be carried out.
A BG can have multiple ledger attached to it and there can be Multiple Business Groups in one instance.
LEDGER: It’s a register which notes every transaction related to money or finances.
There are 4C’s concepts in Ledger.
1.Chart of Account (Particulars of Goods)
2.Currency (Amount)
3.Calendar (Date)
4.Subledger Accounting Convention (Cash / Accrual)
Oracle General Ledger resides at this level.
LEGAL ENTITY (LE): A legal entity is the one for which you want a Balance Sheet and Income statement. Legal Entity definition is any company which is reporting to Government.
OPERATING UNIT (OU): Operating Unit (OU) comes under a ledger with a legal context. “Legal Context” is referred to as the Legal entity to which it is attached. The purpose of an operating unit is to segregate or separate sub ledger transactions.
Oracle Payable, Purchasing, Receivables, Order Management resides at this level of Org.
INVENTORY ORGANIZATION: Inventory Organization is last or the lowest level of Org structure. Inventory organization refers to any kind storage of item, finished goods and raw materials, etc. This storage can be Warehouse, Floors, Cabinets, Drawers, or a logical store which don’t exists physically.


Multi Org Structure

The figure above shows a corporation with two business groups, three legal entities, four operating units, and five inventory organizations.

The business groups are U.S. and U.K. The U.S. business group consists of two legal entities - Western Division and Eastern Operations. These legal entities are assigned to the same ledger (US Operations) because they share the same ledger currency, accounting flexfield structure, and calendar. The U.K. legal entity - UK Division - is assigned to a separate ledger (UK Operations) because its ledger currency is different from that of the U.S. legal entities.
The US Western Division legal entity consists of two operating units - Northwest Region and Southwest Region. The Northwest Region consists of two inventory organizations - Plant 1 and Plant 2. The Southwest Region has one inventory organization, named Plant 3. The US Eastern Operations legal entity is also an operating unit and inventory organization.
The UK Division legal entity has one operating unit, named UK Sales Office. The operating unit has one inventory organization, named UK Plant.