Oracle 11i ERP Training

Document Sample
Oracle 11i ERP Training Powered By Docstoc
					PDF by http://www.k2pdf.com
About Me



                    Name:         Dinesh Kumar S
                    Degree:       B.Tech, Computer Science
                    Job:          PL/SQL Developer
                    Email:        dineshcse86@gmail.com




About this Material



This is a complete Technical guide for Oracle Apps Beginners. The tutorial starts with
basics of ERP and slowly gets into oracle apps 11i concepts. All the concepts are
explained with practical scenarios and with simple examples. The exercises will be given
at the end of every chapter. Each & every step in the exercises is explained clearly with
screenshots. For people who are all interested in technical or programming field in
oracle apps, this material will be helpful in taking their first step towards oracle ERP. If
anything found wrong in this material please mail to my personal id, So that it helps me
to improve this material.




                                                                                           2
                         A Guide to Oracle Apps 11i – by Dinesh Kumar S
                                          Contents
 Chapters                                      Topic                        Page No.


Chapter 1     Overview of ERP                                               4
Chapter 2     Oracle Application Technical Terms                            9
Chapter 3     Overview of ERP Functional Flow (Financial Modules)           14
Chapter 4     Essential Tools in Oracle                                     15
Chapter 5     Application Architecture                                      19
Chapter 6     Oracle Application Technology Layer                           22
Chapter 7     File Systems                                                  24
Chapter 8     Overview of Oracle Application Developer User Guide           28
Chapter 9     Apps Login Screen                                             40
Chapter 10    Oracle Metalink & eTRM                                        52
Chapter 11    Designing Custom Application                                  67
Chapter 12    Application Object Library (AOL)                              75
Exercise 1    Responsibility with Mandatory Component (Menu & Data Group)   84
Exercise 2    Overview of Inventory Responsibility Menu Tree                98
Exercise 3    Creating Customized menus for Customized Responsibility       118
Exercise 4    Menu & Function Exclusion                                     135
Chapter 13    AOL Concurrent Processing & Program                           144
Exercise 5    Defining a Concurrent program (Default Parameters)            146
Exercise 6    Defining a Concurrent program (with user parameters)          154
Exercise 7    Concurrent program with report executable                     168
Chapter 14    AOL Table Relations                                           180
Chapter 15    Overview of Flexfield Concepts                                187
Exercise 8    Creating Accounting Flexfield Structure                       194
Exercise 9    Modifying Flexfield Definition                                204
Exercise 10   Enabling Descriptive Flexfield (DFF)                          210
Chapter 16    Oracle User Profile Options                                   223
Exercise 11   Custom Profile Option for Responsibility                      227
Exercise 12   Custom Profile Option for User                                238
Chapter 17    Oracle Alerts                                                 243
Exercise 13   Creating Periodic Alert                                       244
Exercise 14   Creating an Event Alert                                       267
Exercise 15   Transferring & Deleting Alert Definitions                     273
Chapter 18    Oracle FNDLOAD - Generic Loader                               281
Chapter 19    SQL *Loader                                                   287
Exercise 16   Upload data using SQL *Loader                                 294
Exercise 17   Upload data using SQL *Loader - Options                       300
REFERENCES    Useful Links                                                  306



                                                                                       3
                     A Guide to Oracle Apps 11i – by Dinesh Kumar S
Chapter 1                            Overview of ERP


Consider Real Time scenario

Business            :    Stationary shop Keeper.
Dealer              :    Indian dealers Pvt. Ltd.

Let us classify the business growth into 3 stages.




                                                                         4
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Entities Identified:

Dealer                           VENDOR
Shop Keeper                       OWNER
People Buying items              CUSTOMER
Store Room                       INVENTORY




Stage 1

Daily Job:

Collect goods from vendor.
Sell items/goods to customers.
If any goods out of stock note it down to order it from vendor.
Daily accounting – Profit & loss.




                                                                         5
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Stage 2

After a year you business is developed & you are becoming a whole sale dealer.

Changes in Business

Many branches.
Hire People for working.
Maintaining a small database for the business.
Transportation services.



Daily Job:

Collect goods from vendor & store it in inventory.
Take order from shop keepers.
Maintain a small database for goods, shopkeepers & employees.
Using a computer for accounting.
Delivering items to customers.



Stage 3

Changes in business

Worldwide Branches and customers.
Developed as a Multinational Organization.
International Transportation.
Ecommerce, Phone marketing, etc.

Workload in business

Now the owner of the business cannot go to sites (all over the world) daily.
He has to maintain a big database for his business to run continuously.
Need to manage inventory activities (how much is sold, received items etc.).
Need to maintain the employees and their benefits (Needs HR team).
Need to calculate accounting (profit & loss for worldwide business).
Asset management.


                                                                                 6
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Therefore, to maintain & control these kinds of situations Oracle Corporation have
created huge software known in the category of ERP (Enterprise Resource Planning) as
Oracle Applications.

To integrate all these activities and to run the business ERP is necessary.




                                                                                  7
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Identifying the modules

         Modules                                           Description
General Ledger (GL)            In banks they will be maintaining a Balance Sheet for credits &
                               debits. In the same way oracle General Ledger module keep
                               tracking of all transactions in the business.
Inventory (INV)                It is the place where your item stocks are stored. All the
                               Physical items/goods coming in and going out will be tracked. Thus
                               inventory is heart of the business.
Purchasing (PO)                This module manages all the purchasing order that deals with
                               business. This has information about Requisition, Po, Supplier,
                               Shipment details of the order.
Order Management (OM)          It is required to manage & control the sales order fulfillment. It
                               manages the order book, order entry, ATP(Available to Promise)
                               etc.
Account Payables (AP)          It handles all the payment you have to pay to the vendors. Oracle
                               Payables allows invoice entry, payment entry, and payment voiding
                               in open accounting periods.
Account Receivables (AR)       It allows you to create invoice, answers invoice related customer
                               queries, it runs AR reports, records and schedule collection
                               activities. Simply, it summarizes all the payments you need to get
                               from the customer.
Human Resource (HRMS)          This module deals with HR activities (Related to employees etc.)
                               Including recruiting performance management, learning,
                               compensation, benefits, payroll, time management, and real time
                               analytics.
Asset Management               It deals with the administrative cost related to business like
                               electricity, maintenance of building,, furniture’s etc.
Projects                       This module deals with the cost associated with the projects.
                               Which includes project costing, billing, time & expenses etc.
Work in Progress (WIP)         Oracle Work in Process is a complete production management
                               system. Supports discrete, project, repetitive, assemble-to-
                               order, work order-less, or a combination of manufacturing
                               methods. Inquiries and reports give you a complete picture of
                               transactions, materials, resources, costs, and job and schedule
                               progress.
Cost Management                Helps you effectively manage and control your cash cycle. It
                               provides comprehensive bank reconciliation and flexible cash
                               forecasting.




                                                                                               8
                           A Guide to Oracle Apps 11i – by Dinesh Kumar S
Chapter 2                  Oracle Application Technical Terms


Approver

Person who has authority to approve requisition or PO (Purchase order).

ASN Advance Shipment Notice

The “external” supplier ships the goods directly to the 3rd Party customer and confirms
the shipment through the use of an Advanced Shipment Notice (ASN).

You should take a note, Oracle uses this ASN to record a receiving transaction into
inventory followed by an immediate logical shipping transaction. From these
transactions, conveyance of title takes place and the customer can be invoiced and the
supplier’s invoice can be processed.

ATP: Available to Promise

Available to promise (ATP) inventory consists of on-hand inventory minus inventory
allocated for backorders and reserved inventory. ATP inventory is the inventory that is
available to fulfill orders.

The ATP support provides the ability to allocate from existing inventory or backorder
from expected inventory and obtain an estimated availability time once it has been
ordered for each order item.



Buyer

Buyer is a person who purchases finished goods, typically for resale, for a firm,
government, or organization.

Back Order

Backorder is a distribution term that refers to the status of items on a purchase order
in the event that some or all the inventory required to fulfill the order is insufficient to
satisfy demand.


                                                                                          9
                         A Guide to Oracle Apps 11i – by Dinesh Kumar S
Customer

A customer refers to individuals or households that purchase goods and services
generated within the economy.

Change Order

A document containing the changes made in approved purchase order.

Charge of Accounts

The account structure used to record transactions and maintaining account balance in
GL.

Deliver-to-Location

Actual physical location where goods to be delivered.

Drop Ship

Drop shipping, a retailing practice of sending items from a manufacturer directly to a
customer.



General Ledger

Maintains all accounting transactions i.e. Balance sheet (Contains credits, debits to
calculate profit & loss).

I-Procurement

One of the oracle self- servicing application for ordering goods or services.

Internal Purchase Order

A purchase order to another department within the organization.


                                                                                        10
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Item Type

Indicating whether one is requesting goods billed by quantity or services or by amount.

Invoice

An invoice or bill is a commercial document issued by a seller to the buyer, indicating
the products, quantities, and agreed prices for products or services the seller has
provided the buyer. An invoice indicates the buyer must pay the seller, according to the
payment terms.

Item

A physical quantity.

Notification

A electronic message that is involved when a specific business condition or rule is met.

Payment terms

Rules used to calculate the due date & payment date for payment of a transaction based
upon invoice date.

Pay site

A Supplier site that is designated to receive payments.

Preparer

An individual who is authorize to create a requisition.




                                                                                           11
                         A Guide to Oracle Apps 11i – by Dinesh Kumar S
Purchase Order (PO)

Purchase order (PO) is a commercial document issued by a buyer to a seller, indicating
the type, quantities and agreed prices for products or services the seller will provide to
the buyer.

Sending a PO to a supplier constitutes a legal offer to buy products or services.
Acceptance of a PO by a seller usually forms a once-off contract between the buyer and
seller so no contract exists until the PO is accepted.

Pack Slip

A pack slip denotes what should be "packed" for a delivery. It may consolidate several
orders to a route, truck or customer.

In Short, a pack slip facilitates the method in which orders are consolidated/ organized
and shipped to a customer.

"Pack" - pack up the truck

Pick Slip

A pick sheet denotes what items to pull from inventory. it too may be derived from
consolidated orders.

In short, a pick slip facilitates the method/order/consolidation of picking items from
inventory.

"Pick" - pick it from inventory



Receiver

An individual who is responsible for online receipt of goods & services.

Requestor

An individual who has identified a need of goods or services.


                                                                                       12
                         A Guide to Oracle Apps 11i – by Dinesh Kumar S
Requisition

A requisition is a request for something, especially a formal written request on a pre-
printed form.

Responsibility

It is a pre-defined set of menus, forms & form functions assigned to each user.

Supplier/Vendor

A supplier is "... a person who is a manufacturer, processor or packager of a controlled
product or a person who, in the course of business, imports or sells controlled products".

Sales Order

The sales order, sometimes abbreviated as SO, is an order received by a customer from
a business. A sales order may be for products and/or services.




                                                                                       13
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Chapter 3        Overview of ERP Functional Flow (Financial Modules)




Note: This functional flow is not complete process. For understanding purpose I have
explained in simple way for beginners.




                                                                                       14
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
Chapter 4                       Essential Tools in Oracle


     Oracle Reports
     Oracle Forms
     Workflow Builder
     Toad
     SQL Developer
     SQL Navigator
     Discoverer Reports
     XML/BI Publisher
     ADI: Application Desktop Integrator
     Putty



  Oracle reports

  Oracle Reports is a tool for developing reports against data stored in an Oracle
  database.

  Oracle Reports consists of Oracle Reports Developer (a component of the Oracle
  Developer Suite) and Oracle Application Server Reports Services (a component of
  the Oracle Application Server).

  Oracle Forms

  Oracle Forms is a tool (somewhat like Visual Basic in appearance, but the code inside
  is PL/SQL) which allows a developer to quickly create user-interface applications
  which access an Oracle database in a very efficient and tightly-coupled way.

  Workflow Builder

  Business process involves exchange of information between entities within and with
  entities outside the organization. In e-business some these messages are
  communicated through internet. For efficient exchange of information between
  processes., you need to implement an efficient workflow management system. This is
  done with the help of workflow builder.



                                                                                    15
                      A Guide to Oracle Apps 11i – by Dinesh Kumar S
Toad

TOAD is a database administration and SQL development software application from
Quest Software. It is widely used by Oracle developers and DBA’s (database
administrators).

SQL Developer

You can use Oracle SQL Developer to connect, run, and debug PL/SQL.

SQL Navigator

Database Applications of our age are becoming exceedingly complex, so are the
databases that support them. Though all information related to meta-data can be
retrieved from dictionary tables of Oracle™, SQL Navigator provides all this in one
IDE.

Apart from getting all necessary information from Dictionary, SQL Navigator also
provides the user with an interactive view of data in all tables.

 Code debugging tools offer a great deal of ease in debugging and tuning back-end
stored programs.

Discoverer Reports

Discoverer is an integrated, intuitive, and interactive business intelligence solution,
giving you complete coverage of everything related to report creation and delivery,
from data preparation in the database, to final presentation in an interactive
dashboard.




                                                                                    16
                     A Guide to Oracle Apps 11i – by Dinesh Kumar S
XML/BI Publisher

Oracle XML Publisher is a template-based publishing solution delivered with the Oracle
E-Business Suite.

It provides a new approach to report design and publishing by integrating familiar
desktop word processing tools with existing E-Business Suite data reporting.

At runtime, XML Publisher merges the custom templates with the concurrent request
data extracts to generate output in PDF, HTML, RTF, EXCEL (HTML), or even TEXT for
use with EFT and EDI transmissions.

Oracle ADI (Application Desktop Integrator)

Oracle ADI is a spreadsheet-based extension to Oracle Applications that offers full
cycle accounting and asset management within the comfort and familiarity of a
spreadsheet.

Oracle ADI combines a spreadsheet’s ease of use with the power of Oracle Applications,
to provide true desktop integration during every phase of your accounting cycle. You can
create budgets, record transactions, add assets, reconcile inventory, and run financial
statements and inventory reports all without leaving your spreadsheet.

Putty

PuTTY is a terminal emulator application which can act as a client for the SSH, Telnet,
rlogin, and raw TCP computing protocols.




                                                                                     17
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
Please zoom out for viewing it.




                                                                         18
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Chapter 5                       Application Architecture


                                           Form Server


                                          Report Server



                                           HTTP Server


                                        Concurrent Processing
                                               Server




                                        Discoverer Server


                                           Administration
                                              Server




The Oracle Applications Architecture is a framework for multi-tiered, distributed
computing that supports Oracle Applications products.

In this model, various servers are distributed among multiple levels, or tiers.

Server - is a process or group of processes and provides a particular
functionality/service For example, Database Server listens and process database
requests, and similarly Web Server listens for and processes HTTP requests.

Tier - is a logical grouping of services, may be on single machine or spread across more
than one physical machine.

The three-tier architecture that comprises an Oracle E-Business Suite installation is
made up of,
      1. Database Tier
      2. Application Tier
      3. Desktop Tier

                                                                                     19
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Database tier
Which supports and manages the Oracle database?

Application Tier
This supports and manages the various Applications components, and is sometimes known
as the middle tier.

Desktop Tier
This provides the user interface via an add-on component to a standard web browser



Node - is referred as Machine, Each tier may consist of one or more node and each node
can potentially have more than one tier.

Each tier may consist of one or more nodes, and each node can potentially accommodate
more than one tier.

On the database tier, there is increasing use of Real Application Clusters (RAC) ,
where multiple nodes support a single database instance to give greater availability and
Scalability.

The connection between the application tier and the desktop tier can operate
successfully over a Wide Area Network (WAN). This is because the desktop and
application tiers exchange a minimum amount of information, for example field value
comparison
Differences




                                                                                     20
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
Desktop Tier




Application Tier




                                                                    21
                   A Guide to Oracle Apps 11i – by Dinesh Kumar S
Chapter 6                   Oracle Application Technology Layer


The Oracle Applications technology layer lies between the Oracle Applications
technology stack and the Oracle Applications product-specific modules.

It provides features common to all Oracle Applications products.

Products in the Oracle Applications technology layer include:

•   Oracle   Applications DBA (AD)
•   Oracle   Applications Object Library (FND)
•   Oracle   Applications Utilities (AU)
•   Oracle   Common Modules (AK)
•   Oracle   Workflow (WF)
•   Oracle   Alert (ALR)
•   Oracle   Applications Framework (FWK)
•   Oracle   XML Publisher (XDO)

1. Oracle Applications DBA (AD)

The Applications DBA product provides a set of tools for administration of the Oracle
Applications file system and database. AD tools are used for installing, upgrading,
maintaining, and patching the Oracle Applications system.

2. Oracle Common Modules (AK)

AK is an active data dictionary that enables you to define Oracle Applications
components for the HTML-based Applications, and generate many of the characteristics
of Oracle Applications at runtime.

The Oracle Common Modules can be used to develop inquiry applications for the HTML-
based Applications, without the need for any programming. They allow storage of
language-translated labels for all the attributes on a transaction page, thus assisting
with the provision of support for multiple languages.




                                                                                    22
                           A Guide to Oracle Apps 11i – by Dinesh Kumar S
3. Oracle Applications Utilities (AU)

The Applications Utilities (AU) component is used to maintain the Oracle Applications
system.

AU hosts a collection of files copied from other products. This allows generating on-site
classes of files such as Forms and reports.

Generating forms or reports may require access to shared PL/SQL libraries, so these
files are copied to AU_TOP as well.

4. Oracle Application Object Library (FND)

The Oracle Application Object Library is a key component of the Applications
technology layer.
It consists of a collection of reusable code, programs, and database objects that
provides common functionality across all products.

Also Makes System Administration easier.

5. Oracle Workflow (OWF)

Oracle Workflow provides an infrastructure for the enterprise-wide communication of
data related to defined business events using graphical workflow builder.

Acting as a system integration hub, Oracle Workflow can apply business rules to control
objects and route them between applications and systems.

6. Oracle Alert (ALR)

Oracle Alert (ALR) allows you to email system notifications to users when an exception
or event has occurred.

7. Oracle XML Publisher (XDO)

XML Publisher utilizes the XSL-FO standard to transform XML data into a formatting
object (FO).
Chapter 6


                                                                                      23
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Chapter 7                           File Systems


An Oracle Applications Release 11i system utilizes components from many Oracle
products. These product files are stored below a number of key top-level directories on
the database and application server machines.




                                                                                    24
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
Application Directory Structure




Data Directory

   o This file system contains .dbf files of oracle db.
   o Rapid installation installs system, data and index files in directories below
     several mount points (Can be specified during installation).



DB & ORA Directory

Oracle application supports linking program using tool from 2nd / 3rd version of DB.

ORACLE_HOME is used for backward compatibility.




                                                                                       25
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Application Directory

All application files are stored here. It is also known as APPL_TOP.

It contains:

   o Core technology files.
   o Product files & directories.
   o .env application environment file(Unix) & .cmdon (Windows).



Product Directory



   o Each product has its own directory under APPL_TOP.

   o Sub Directories are named based on the product standard abbreviation.

      For E.g. GL for general ledger.




                                                                             26
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
COMN Directory

COMN or COMMON_TOP directory contains files used by different oracle application
products and used with third party products.




Admin
It is default location for concurrent manager log and output directories.

Html
OA_HTML environmental settings points to HTML Directory.
Oracle application based sign-on screen & HTML files are installed here.
Also it contains files like JSP,XML etc.

 Java
JAVA_TOP points to java directory. This contains oracle application JAR files and ZIP
files.

Portal
This contains portal files. Portal is a webpage that provide access to post install task
that is necessary for application

Temp
Used for caching oracle products like reports.

Util
This contains JDE, JRE & ZIP utility.

Script
This contains application tier control scripts such as adstrtal.sh & adstpall.sh which
are located in sub directory.


                                                                                     27
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Chapter 8       Overview of Oracle Application Developer User Guide


      Coding Standards
      Setting up Application Framework
      PLSQL coding Standard
      Menus & Function Security
      User Profiles
      Flex fields
      Concurrent Processing



1. Coding Standards

If you want to build custom application code that integrates with and have same look
and feel as oracle application, these standards should be followed.

The libraries & procedures that are packed with oracle application follow these
standards.

Coding with Handler

Handlers are group of packaged procedure.
To organize Plsql Code in forms, to develop maintain & debug easily.

Different type of handlers:
   1. Item
   2. Table
   3. Business rules

Oracle Application Object Library (AOL):

It includes:
    1. Starting forms
          a) TEMPLATE
          b) APPSTAND
    2. PLSQL Libraries
    3. Development Standards


                                                                                 28
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Shared Objects

It relies on object referencing capabilities i.e. it allow object to reuse across master
forms.

If any changes are made it affects the objects (Inherit Property).

APPSTAND Form

It contains master copy of shared objects.

TEMPLATE Form

It is starting point for developing new forms. It references to many APPSTAND
objects.

Start developing new forms by copying these files in location:
$AU_TOP/Forms/US

FND Menu

Oracle application default menu contained in:
$AU_TOP/resources/US

Note: Do not modify this file.

Property Clause

These are set of attributes that can be applied to almost any oracle form object.




                                                                                     29
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
2. Setting up Application Framework



Oracle Applications and custom applications that integrate with Oracle
Applications rely on having their components arranged in a predictable
Structure.

This includes particular directory structures where you place reports, forms, programs
and other objects, as well as environment variables and application names that allow
Oracle Application Object Library to find your application components.

Points to be noted while setting up Framework

   i.      Set Up Your Application Directory Structures.
  ii.      Register Your Application.
iii.       Modify Your Environment Files.
 iv.       Set Up and Register Your Oracle Schema.
  v.       Create Database Objects and Integrate with APPS Schema.
 vi.       Add Your Application to a Data Group.
vii.       Set Up Concurrent Managers.

3. PLSQL Coding Standard

Some essential points to be considered while programming:

        a) Always use packages.
        b) Client side package size <=10k & server side package unlimited size.
        c) Adding new procedure:
               i.    Add only at end, not in middle f package.
               ii.   If added in middle we need to regenerate every form.
        d) Using field names in client Package:
               i.    Specify field name along with its block name.
                     Eg. Block.Field_name
        e) Field name in procedure parameter:
               i.    Do not use IN, OUT, IN/OUT Parameters.
                     Eg. Procedure (my_var Char IN)
                      Calling: p1 (‘Block. Field’).



                                                                                   30
                             A Guide to Oracle Apps 11i – by Dinesh Kumar S
   f) Initializing Parameters:
         i.      Use default instead of ‘:=’
   g) Formatting PLSQL Code:
         i.      Within package define private variable first & then private procedure
                 then public procedures.
   h) Avoid RAISE_APPLICATION_ERROR.
   i) Use END_MESSAGE for exceptions.



4. Menus & Functional Security

It restricts application functionality to authorized users.
System admin implements by creating responsibilities that include or exclude particular
function.

Function

Its an application functionality that is included or excluded in a menu.

Types of functions:
   i.    Form function
            It invokes oracle form developer forms.
   ii.   Sub-Function:
            A function executed within a form. These functions are
            associated with graphical elements or buttons.
   iii.  Non- Form Function:
            It is also called as self service function. Some functions include
            Other type of code like java, html, jsp etc on a menu
            Responsibility.

Menu

A menu is hierarchical arrangement of functions that appears in navigator.
Each responsibility has menus associated with it.

Menu Entry:

Its an menu component that identifies menu of functions or functions.


                                                                                    31
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Responsibility

It defines application user current privileges like functions that user can access,
concurrent program user can run & application DB account connected to data group.

Forms & Sub Functions

Form is special class of functions that differ from sub function in following ways:

         a. Forms appear in navigator window whereas sub functions cannot.
         b. Forms can exit their own. Sub functions can be only called by logical object
            within a form.

Form Security API for Plsql Procedure:

   1. FND_Function.Test
          Tests particular function is currently accessible or not.

   2. FND_Function.Query
           Tests function is accessible and return information.

   3. FND_Function.Execute
           It executes form function that is attached only to forms.

   4. FND_Function.User_function_name
          It returns user function name.

   5. FND_Function.Current_Form_Function
          It returns function name with current form which is called.




                                                                                      32
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
5. User Profiles

 It is a set of changeable options that affect the way when application runs.
AOL treats user profile as hierarchy where in user at top and next is responsibility.

Site Level – Affects all applications.
Application Level – Affects particular application.
Responsibility Level – Affects application runs for all user of
                       Responsibility.
User Level – It affects the way application runs for application user.



FND_PROFILE

It is a user profile API.
We can manipulate the value stored in client and server side.

Client side                                 Server side

Form A     Form B                           Form A     Form B
(Change in A affects B                      (Change in A not affects B)
 & vice versa)

1. FND_Profile.Put
       Puts value to specified user profile.

2.   FND_Profile.Get
        Gets current value for user profile option or NULL if data does not exits.

3. FND_Profile.Value
       It is similar to GET except it returns value as a function result.




                                                                                     33
                     A Guide to Oracle Apps 11i – by Dinesh Kumar S
6. Flexfield

Flex field is made up of segments.
Each segment has a name & set of valid values.

Types of Flexfield
   a. Key Flexfield (KFF)
   b. Descriptive Flexfield (DFF)

Note: Segments Corresponds to column in oracle table.

Oracle application uses KFF to represent Intelligent Keys with unique ID numbers.

ID numbers requires only one column whereas intelligent key requires multiple columns.

Key Flexfield

Key flexfield represents an intelligent key that uniquely identifies an application entity.

Each KFF has a name and specific set of valid values (Value sets).

Descriptive Flexfield

It’s a additional information, not stored in application or strictly for reference when
viewed on screen.

DFF can be created by using any of attribute columns.

When to use KFF

    i.   To uniquely identify an application entity with an intelligent key. Where key can
         be a multi part & each one have some value.

   ii.   To integrate your application with oracle application.




                                                                                         34
                         A Guide to Oracle Apps 11i – by Dinesh Kumar S
7. Concurrent Processing

Mechanism provided in oracle e-Business Suite (EBS) to facilitate background
processing of,

   1. Reports
   2. Batch Runs
   3. Longer Transaction

It is a series of background ‘managers’.

Separate program that control background processing (i.e. Request) that are:
     a. Initiated on demand by user
     b. Scheduled

In EBS concurrent manager (CM) schedules the work, and concurrent request (CR), do
the work.

Eg. Queen bee assign job to its worker bees.

Components of Concurrent Processing

Two basic components:
  1. Concurrent Manager (CM)
  2. Concurrent Request (CR)



Concurrent Managers

        Internal Concurrent Manager (ICM)
        Standard Manager (SM)
        Specific Concurrent Manager (SCM)
        Conflict Resolution Manager (CRM)




                                                                                35
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Internal Concurrent Manager

It is boss of all managers.
It controls behavior of all other managers.
Runs before any other manager runs or activated.

Starts & shuts down individual concurrent manager.
Reset other manager after one of them has a failure.

Standard Manager

Its function is to run any reports and batch jobs, which have not been defined in any
other project manager.

Specific Concurrent Manager

It includes inventory manager, CRP inquiry manager and receivables tax manager.

Conflict Resolution Manager

It handles scheduling conflict.
It Checks concurrent program definition for incompatibility rules.

Concurrent Request

It is the worker that gets scheduled and controlled by concurrent manager.

Life cycle of Concurrent request:

   1.   Pending
   2.   Running
   3.   Completed
   4.   Inactive




                                                                                  36
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Pending:     Request waiting to be run.
Running:     Request is processing.
Completed:   Request is finished processing.
Inactive:    Request cannot be run.

Different ways script attached to Concurrent Program

        SQL script
        SQL *Loader Program
        Java Program
        Oracle Report
        PLSQL Program (Stored Procedure / Packages)
        UNIX shell script
        Pro *C
        Perl

Value Sets

It’s a set of values.

Need:

We don’t want the user to insert junk values into all fields, so oracle application
validates whether correct data is entered in fields.

Value sets are attached to segments in flexfield (KFF).

Note: In reality oracle treat parameter as DFF.

Types of Validation
   1) None
   2) Independent
   3) Dependent
   4) Table
   5) Special
   6) Pair
   7) Tran stable Independent
   8) Tran stable Dependent


                                                                                37
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
None
Validation is minimal.

Independent
The data input is based on previously defined list of values.

Dependent
The data input is checked against a defined set of values.

Table
The data input is checked against values in a table.

Special
The data input is checked against a flex-field.

Pair
The data input is checked against two flex-field specified range of values.

Translatable independent
The data input is checked against previously defined list of values.

Translatable dependent
The data input is checked against defined set of values.


Changes You Should Never Make

 You should never make these types of changes (old value set to new value set) because
 you will corrupt your existing key flex-field combinations data:

 . Independent to Dependent

 . Dependent to Independent

 . None to Dependent

 . Dependent to Table

 . Table to Dependent

 . Translatable Independent to Translatable Dependent

                                                                                   38
                         A Guide to Oracle Apps 11i – by Dinesh Kumar S
 . Translatable Dependent to Translatable Independent

 . None to Translatable Dependent

 . Translatable Dependent to Table

 . Table to Translatable Dependent



Lookups

It is set of codes and their meaning.




                                                                         39
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Chapter 9                        Apps Login Screen


Type the URL of the server to see the apps screen.




                                                                        40
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
Then you can see the apps log in page. Enter the username & password.




                                                                        41
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
If the username & password is valid, the user is redirected to a page where he/she can
see their responsibilities assigned to them by system administrator.




                                                                                     42
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
Now click on to application developer responsibility. The window will be redirected to
application developer screen.




                                                                                         43
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Choose any one of the function of your choice.




                                                                        44
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
Note: Do not close this window. If you close, the application session will be terminated.




                                                                                        45
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Now the application developer Navigator Form is opened.




Now click any option in navigator that will open its related form.




                                                                         46
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Switching Responsibility




Choose any responsibility you want to switch.




                                                                         47
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Now the responsibility is changed to ‘inventory’.




Exit Oracle Application




                                                                           48
                          A Guide to Oracle Apps 11i – by Dinesh Kumar S
Oracle Application Toolbar




                                                                       49
                      A Guide to Oracle Apps 11i – by Dinesh Kumar S
                                                 50
A Guide to Oracle Apps 11i – by Dinesh Kumar S
                                                 51
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Chapter 10                         Oracle Metalink & eTRM

Metalink:

For technical assistance metalink will be useful. It also contains forums you can post
your query & any registered used will reply for your query.

URL: http://metalink.oracle.com/



Metalink: log in screen:




                                                                                         52
                           A Guide to Oracle Apps 11i – by Dinesh Kumar S
After logging into metalink the following page you can see:




                                                                         53
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
For quicker access uses quick find.




                                                                         54
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
For advance search click “Advance Search” tab.




                                                                        55
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
You can even search based on Bug number, date modified etc. or bug details.




                                                                              56
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
For updated or new oracle patches details go to “Patches & Updates” tab.




                                                                           57
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
eTRM:

For technical related documents like user guide, Table related information, AOL details
you can refer etrm. This is a place you can download all technical references related to
oracle apps 11i, 12i.

URL: http://etrm.oracle.com/




                                                                                       58
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
When you press the link the following page is shown:




At left side you can see the DB versions.




                                                                         59
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Let us go to the link 11.5.10.




Now we will go to “FBD Data”.
At left side you can see the Modules list.




                                                                           60
                          A Guide to Oracle Apps 11i – by Dinesh Kumar S
Now let use search some tables related to “purchase” module.




                                                                        61
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
At left side you can see the list of tables. For viewing those table details click the table
name.




Let us click “PO_HEADERS_ALL”.




                                                                                          62
                         A Guide to Oracle Apps 11i – by Dinesh Kumar S
At this page you can see the relation of PO_HEADERS_All tables with other tables.
It shows Primary & foreign key relation.




                                                                                    63
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
When we press “po.po_headers_all” , you can see the column details.




                                                                        64
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
                                                 65
A Guide to Oracle Apps 11i – by Dinesh Kumar S
                                                 66
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Chapter 11                  Designing Custom Application




Note: For Knowledge purpose you can go through this custom application creation
process.

(As I have not worked with customization, this below customization part alone is
referenced from internet.)




                                                                                   67
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Custom Applications are required if you are creating new forms, reports, etc.

This allows you to segregate your custom written files from the standard seeded
functionality that Oracle Applications provide.

Customizations can therefore be preserved when applying patches or upgrades to your
environment.

1) Make the directory structure for your custom application files.
       cd $APPL_TOP
       mkdir fz
       mkdir fz/11.5.0
       mkdir fz/11.5.0/admin
       mkdir fz/11.5.0/admin/sql
       mkdir fz/11.5.0/admin/odf
       mkdir fz/11.5.0/sql
       mkdir fz/11.5.0/bin
       mkdir fz/11.5.0/reports
       mkdir fz/11.5.0/reports/US
       mkdir fz/11.5.0/forms
       mkdir fz/11.5.0/forms/US
       mkdir fz/11.5.0/$APPLLIB
       mkdir fz/11.5.0/$APPLOUT
       mkdir fz/11.5.0/$APPLLOG

2) Add the custom module into the environment

Apply ADX.E.1 and add the entry to topfile.txt as a standard product top entry .
Customised environment variables can be added to AutoConfig by using the filename
specificed by s_custom_file,
which is then called from the APPSORA.env file.
If using Forms Listener Servlet, you may also need to add $CUSTOM_TOP to
formsservlet.ini in
$APACHE_TOP/Jserv/etc




                                                                                      68
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
3) Create new tablespace for database objects
   create tablespace FZ datafile '/u01/oracle/visdata/fz.dbf' size 10M default
storage(initial 10k next 10k)

4) Create schema
        create user fz identified by fz
                  default tablespace fz
                  temporary tablespace temp
                  quota unlimited on fz
                  quota unlimited on temp;
        grant connect, resource to fz;

5) Register your Oracle Schema.
   Login to Applications with System Administrator responsibility
   Navigate to Application-->Register
          Application = FZ Custom
          Short Name = FZ
          Basepath = FZ_TOP
          Description = FZ Custom Application

6) Register Oracle User
   Naviate to Security-->Oracle-->Register
         Database User Name = FZ
         Password        = FZ
         Privilege      = Enabled
         Install Group    =0
         Description      = FZ Custom Application User

7) Add Application to a Data Group
    Navigate to Security-->Oracle-->DataGroup
          Data Group = FZGroup
          Description = FZ Custom Data Group
    Click on "Copy Applications from" and pick Standard data Group, then add the
following entry.
          Application = FZ Custom
          Oracle ID = APPS
          Description = FZ Custom Application



                                                                                   69
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
8) Create custom request group
   This will act as a placeholder for any custom reports we wish to make available for
the Custom Responsibility
    Navigate to Security-->responsbility-->Request
         Group       = FZ Request Group
         Application = FZ Custom
         Code        = FZ
         Description = FZ Custom Requests
    We will not define any requests to add to the group at this stage, but you can add
some now if required.

9) Create custom menu
   This will act as a placeholder for any menu items we wish to make available for the
Custom Responsibility.
   We will create two menus, one for Core Applications and one for Self Service.
    Navigate to Application-->Menu
         Menu          = FZ_CUSTOM_MENU
         User Menu Name = FZ Custom Application
         Menu Type        = <leave blank>
         Description = FZ Custom Application Menu
         Seq        = 100
         Prompt       = View Requests
         Submenu = <leave blank>
         Function = View All Concurrent Requests
         Description = View Requests
         Seq        = 110
         Prompt       = Run Requests
         Submenu = <leave blank>
         Function = Requests: Submit
         Description = Submit Requests
         Menu          = FZ_CUSTOM_MENU_SSWA
         User Menu Name = FZ Custom Application SSWA
         Menu Type        = <leave blank>
         Description = FZ Custom Application Menu for SSWA




                                                                                         70
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
10) Create new responsibility. One for Core Applications and One for Self
Service (SSWA)
    Navigate to Security-->Responsibility-->Define
         Responsibility Name     = FZ Custom
         Application         = FZ Custom
         Responsibility Key     = FZCUSTOM
         Description          = FZ Custom Responsibility
         Available From        = Oracle Applications
         Data Group Name          = fzGroup
         Data Group Application = FZ Custom
         Menu               = FZ Custom Application
         Request Group Name        = FZ Request Group

         Responsibility Name     = FZ Custom SSWA
         Application         = FZ Custom
         Responsibility Key     = FZCUSTOMSSWA
         Description          = FZ Custom Responsibility SSWA
         Available From        = Oracle Self Service Web Applications
         Data Group Name          = fzGroup
         Data Group Application = FZ Custom
         Menu               = FZ Custom Application SSWA
         Request Group Name        = FZ Request Group

11) Add responsibility to user
    Navigate to Security-->User-->Define
    Add FZ Custom responsibility to users as required.

12) Other considerations
     You are now ready to create your database Objects, custom Reports, Forms,
Packages, etc
Create the source code files in the FZ_TOP directory appropriate for the type of
object. For example forms
would be located in $FZ_TOP/forms/US or package source code in $FZ_TOP/admin/sql
for example.




                                                                              71
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
Database Objects, such as tables, indexes and sequences should be created in the FZ
schema, then you need to

  a) Grant all privilege from each custom data object to the APPS schema.
                       1. For example : logged in as FZ user
                                   i. grant all privileges on myTable to apps;
  b) Create a synonym in APPS for each custom data object
                       1. For example : logged in as APPS user
                                   i. create synonym myTable for fz.myTable;
Other database objects, such as views and packages should be created directly in the
APPS schema.




                                                                                       72
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
Database User Creation & Registration




                                                                      73
                     A Guide to Oracle Apps 11i – by Dinesh Kumar S
Add Application to Data Group




                                                                      74
                     A Guide to Oracle Apps 11i – by Dinesh Kumar S
Chapter 12                Application Object Library (AOL)




      Collection of pre-built application components and facilities.
      Contains shared components – forms/reports/concurrent/database
      objects/libraries/menus/flex field definitions.
      Coding Standards use AOL.




Role of AOL



  •   Oracle AOL links all the objects of oracle application.
  •   It stores & contains the information & details about the data in file system.
  •   The object includes apps tables, user information, directory information, forms,
      reports, form functions, Log files etc.
  •   Thus AOL is a backbone of oracle apps 11i, which integrates all the objects &
      derives a relation between them.




                                                                                         75
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
                               AOL Responsibilities

The responsibilities associated with AOL operations.

      System Administrator
      Application Developer

Application Developer




                                                                         76
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
System Administrator




                                                                        77
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
                                                 78
A Guide to Oracle Apps 11i – by Dinesh Kumar S
 Apps Component Structure




                                                 79
A Guide to Oracle Apps 11i – by Dinesh Kumar S
APPLICATION SECURITY MANAGEMENT

Security Management Involves:

       1. Creating a user.
       2. Assigning Responsibilities to the user.



Responsibility

It is a collection of authorizations provided to a user. It Includes

  i.        Access to specific application.
 ii.        Set of books
iii.        Restricted list of windows.
iv.         Functions & reports.

Responsibilities can be shared by several users.
Oracle applications are installed with pre defined responsibilities.

Components of Responsibilities

       1)   Data group (mandatory)
       2)   Request Security group (optional)
       3)   Menu (mandatory)
       4)   Functions & menu Exclusion (optional)

We can modify existing responsibility if so it affects users who share these
responsibilities.

We can include or exclude function in responsibility.

We can use request group to add program or report privileges to responsibility.




                                                                                  80
                              A Guide to Oracle Apps 11i – by Dinesh Kumar S
Define a new responsibility by ‘System administrator’ responsibility.

Navigation:
System Administrator     Security      Define (responsibility)




                                                                         81
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
1. Data Group

      It is mandatory for defining responsibility.
      It defines relation between oracle application & oracle ID’s accessible to
      responsibility.
      It determines DB account accessible by forms, concurrent programs & reports.

Data groups in oracle applications are automatically defined.

Note: AOL of an application is automatically included in definition of data group.



Uses of Data Group

      It identifies the oracle ID belongs to which forms whenever user selects a
      responsibility.

      It enables concurrent manager to match applications that owns report or
      concurrent program with unique oracle ID.

2. Menu

It is hierarchical list of various application forms that are displayed in navigator window.

It can also point to non form functions.

It is mandatory.




                                                                                         82
                         A Guide to Oracle Apps 11i – by Dinesh Kumar S
3. Function Security

It is mechanism used to control user access to application functionality.

Function:
It is a set of code that is executed only if function name is present in list maintained
within responsibility.

Responsibilities have list of functions.

Types of Function

  i.   Form Function
 ii.   Non Form Function

Form Function:

Invokes oracle form and accessible from navigation window.

Non Form Function

It is subset of functionality of form.

       A menu is hierarchical arrangement of functions, menus of function and sub
       menus.

       To exclude a group function we need to exclude menu function responsibility.

4. Function & Menu Exclusion

Exclusions are used against a responsibility to limit its menu and function access
privileges.

It is optional.

Menu Exclusion          Exclude all menu & function
Functions Exclusion     Excludes occurrence of functions within menus.



                                                                                           83
                         A Guide to Oracle Apps 11i – by Dinesh Kumar S
Exercise 1         Responsibility with Mandatory Component (Menu & Data Group)

Description:

Let us create a responsibility with default data group & menu.

Instruction:

         1.    Create a Responsibility of your choice.
         2.    Assigns standard Data Group to it.
         3.    Also assign default Menu to it.
         4.    Save the responsibility.
         5.    Create a user & assign this responsibility.
         6.    Login as the user & check the responsibility is assigned correctly.




Note: To create a responsibility you should have “System Administrator” Responsibility.




                                                                                     84
                          A Guide to Oracle Apps 11i – by Dinesh Kumar S
Log in as system administrator. In Function Navigator select “Define” under
Responsibility.




                                                                              85
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
The responsibility form opens. Now assign a name of your choice. Here I have given
responsibility name as “BSL ADMIN” .

Select Application as “Application Object Library (AOL)”.

Responsibility key name can be user’s choice. Here I have given the name as
“BSL_ADMIN_KEY”.

Description of your choice.




                                                                                     86
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Effective date is the date from and to which this responsibility is active.

Default from date is sysdate. You can make this responsibility effective from date of
your choice.




                                                                                        87
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Now assign standard “Data Group” to the responsibility.




                                                                        88
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
Choose data group Application as “AOL”.




                                                                        89
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
Now Choose “Menu”. Here I have chosen existing menu “Administrator Menu”.




                                                                            90
                      A Guide to Oracle Apps 11i – by Dinesh Kumar S
Now save the responsibility you have created.




                                                                        91
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
Now define a user and assign this responsibility.




                                                                         92
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Type the password twice.




                                                                       93
                      A Guide to Oracle Apps 11i – by Dinesh Kumar S
Now assign responsibility “BSL ADMIN” to the user.




                                                                       94
                      A Guide to Oracle Apps 11i – by Dinesh Kumar S
IF Effective dates are given that responsibility or user is active / valid for those days
only. If it is blank it will be active till administrator deactivates it.




Save it. Now log in as new user.




                                                                                        95
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
                                                 96
A Guide to Oracle Apps 11i – by Dinesh Kumar S
                                                 97
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Exercise 2                  Overview of Inventory Responsibility Menu Tree

Description:

Now we will check out the existing Inventory in detail. Here we are going to analyze
what are all the responsibility components that are assigned to inventory responsibility.

Instruction:

      Select Responsibility "Inventory".
      Analyze the Mandatory responsibility components.
             DataGroup
             Menu
      Check out the DataGroup.
      Analyze the Menu assigned to Responsibility.
      Check out for Sub Menus in Menus.
      Check out for Form Functions assigned to Menu or Sub Menu.
      Finally check to which form these Form Functions are assigned.




                                                                                        98
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 1: Log in as administrator. Navigate to “ Responsibility /define “




                                                                          99
                  A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step2: Press “F11” for query mode and to search a responsibility press “Ctrl + F11”.




                                                                                       100
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 3: Now we will analyze the “Data Group”. The Data group assigned to this
responsibility is
“Standard” and application is “Inventory”.

Now Let us go to the navigator window.




                                                                                101
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
Now navigate to ORACLE/DataGroup.

Query the data group.




                                                                         102
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
The following application are assigned to that data group.




                                                                         103
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Data groups will be created by DBA people. So no need t worry. Just know the concepts.




                                                                                   104
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 4: Now coming to “Menu” the default menu assigned to inventory responsibility is
“INV_NAVIGATE”.

Let us check out the menu by navigating to Application/Menu.

Query the menu.




                                                                                    105
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
The menu structure as below.




Lets us check out the “MENU TREE”.

Click “View Tree” Tab to see the menu tree.

The “Seq” number tells us the order in which menu is structured.




                                                                        106
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
At left side you can see the order in which the functions are arranged. At right side you
can see the menu detail info.

Now you can see transaction is a menu & it has sub menu “Receiving” within it.




                                                                                      107
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
You can verify this in the main page (or) in Inventory Responsibility Navigator window.




                                                                                     108
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Inventory Navigator window.

Now let us check the menu “Transaction” assigned to menu “INV_NAVIGATE”.

The name assigned to transaction is “INV_TRANSACTIONS”.




                                                                           109
                      A Guide to Oracle Apps 11i – by Dinesh Kumar S
Now query that transaction menu.




                                                                       110
                      A Guide to Oracle Apps 11i – by Dinesh Kumar S
Now let us see the menu tree.




                                                                        111
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
Now let us check out the functions associated with the menu ”INV_TRANSACTIONS”




                                                                            112
                     A Guide to Oracle Apps 11i – by Dinesh Kumar S
Summary

Topics we have seen.

Responsibility --> Menu.

Responsibility: Inventory.
Menu: INV_NAVIGATE

Menu --> Sub Menu

Menu: INV_NAVIGATE
Sub Menu: INV_TRANSACTIONS

Now we are going to see the functions associated with sub menu.

Sub Menu --> Functions

Sub Menu: INV_TRANSACTIONS
Functions: Sub inventory Transfer, Interorganization Transfer, Miscellaneous
Transaction etc..




                                                                               113
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 5: Now navigate to Application / Functions.

Then query the function.




                                                                        114
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
                                                 115
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Go to “Property” tab to view the property of the function & its type.




                                                                         116
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
If you go to “Form” tab you can see the complete details about the form functions.

Now you can see this particular “Form Function” is attached to the form (.fmx)
“Inventory Transactions”.




You can find the forms in the following folder APPL_TOP/PO/11.5.10.2/forms.




                                                                                     117
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
Exercise 3       Creating Customized menus for Customized Responsibility



Description:

Now we are going to create customized menu for a customized responsibility from the
existing defined menus in oracle application.

Every business have some business flow of their choice. For this exercise consider we
are going to create a normal user with limited functionality.

So, I have taken selected functions from the existing oracle application menu, to create
customized responsibility as below.

System Administrator (only user defining rights)
Application Developer (Only Defining Concurrent Program)
GL Super User (Open & Close Calendar Periods)

Instructions:

Prerequisites:

Assume Forms & Form Functions are already created by oracle apps DBA.

Create a Customized Sub menu for the above responsibilities.
Now assign these Sub menus to other Main menu.
Define a customized Responsibility & assign the data group & this customized Main
Menu.
Now create a user & assign this responsibility to it.
Log in as the user.




                                                                                     118
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Remember we should always follow the below Function Security flow:




                                                                        119
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 1: Creating Customized Menu's

Now Navigate to Application / Menu.




                                                                        120
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
Menu Details

Menu Name:         DINESH SYS ADMIN
User Menu Name:    Dinesh_Sys_Admin
Function:          Users




                                                                   121
                  A Guide to Oracle Apps 11i – by Dinesh Kumar S
Now search for the existing oracle application Form function.




                                                                        122
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
Now menu tree is build after saving the menu.




Similarly create a customized menu for rest of the sub menu's.




                                                                        123
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
Menu Name:         DINESH APPL DEV
User Menu Name:    Dinesh_Appl_Dev
Function:          Concurrent Programs (Developer Mode)




                                                                   124
                  A Guide to Oracle Apps 11i – by Dinesh Kumar S
Menu Tree:




                                                              125
             A Guide to Oracle Apps 11i – by Dinesh Kumar S
Menu Name:         DINESH GL
User Menu Name:    Dinesh_GL
Function:          Open and Close Period




                                                                   126
                  A Guide to Oracle Apps 11i – by Dinesh Kumar S
Menu Tree:




                                                              127
             A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 2: Create a Main Menu by assigning these above created menus as sub menus.



Menu Name:              DINESH MANI MENU
Menu User name:         Dinesh_Main_Menu




                                                                                  128
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
Menu Tree:




                                                              129
             A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 3: Now create a responsibility & assign the above defined main menu.




Save the responsibility.




                                                                            130
                           A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 4: Now create a user & assign this responsibility.




Now log in as the above user.




                                                                         131
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 5: Logging in as user DINI_USER




At first log in change the password of your choice.




                                                                         132
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
The home page as below:




After clicking the responsibility “Dinesh_Custom_Resp”.




                                                                        133
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
Now press system Admin responsibility : User.

The following screen appears.




                                                                        134
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
Exercise 4                       Menu & Function Exclusion



Description:

We can exclude functions at any level to customize a responsibility.

Excluding a menu item from a responsibility will exclude all the menus and functions
nested within that menu item.

Excluding a function from a responsibility will exclude all occurrences of that function
Throughout the menu structure of the responsibility.

Instructions:

      First select the responsibility.
      Select which Menu to be excluded.
      Thirdly, select which function to be excluded.




                                                                                       135
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Menu and Function Exclusion

The user “DINI_USER” has the following responsibility assigned as below.




                                                                           136
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
                                                 137
A Guide to Oracle Apps 11i – by Dinesh Kumar S
System Admin:

This responsibility can create a user.




                                                                         138
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Application Developer:

This responsibility is to define & run Concurrent Program.




Similarly for General Ledger.




                                                                          139
                         A Guide to Oracle Apps 11i – by Dinesh Kumar S
Menu Exclusion:

Now we are going to exclude a menu from the “Dinesh_Cust_Resp”.

Log in as “System Administrator” and navigate to Security /Responsibility/ Define.

Then Query the responsibility.




In the menu exclusion Type select the type & name of function or menu.




                                                                                     140
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
Now I have excluded the “Application Developer” Menu.

Type:       Menu
Name:       Dineshs_Appl_Dev




Now Log in as the user & check out u can access “Application Developer” Responsibility.




The application Developer menu is excluded.

To enable the menu again delete the record by using icon




                                                                                     141
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Log in again & check out.




                                                                         142
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Function Exclusion:

Now we are going to exclude a function from the “Dinesh_Cust_Resp”.

Type:        Function
Name:        Users




Now the menu is not excluded only the function within the menu is excluded.

Since we have only one function within the Menu, the whole menu is disabled.

If we have more functions only that particular functionality is disabled.




                                                                               143
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Chapter 13                AOL Concurrent Processing & Program


Overview of Concurrent Processing

A mechanism in oracle e-business suite helps in background processing of Reports, batch
runs and longer transactions.

It is series of background “Managers”.

Concurrent processing is a separate Programs that control Background processing
(requests) which is initiated by user or Scheduled.



Major Features

Online Requests
We can submit requests from forms & concurrent manager takes care of work online.

Automatic Scheduling
Oracle AOL automatically schedules request based on priority and compatibility on
submitting.

Concurrent Processing options
We can control certain runtime options like profile options.

Online request review
We can review the processing online like getting log information, output and status of
the concurrent program.

Concurrent managers
Helps in managing, controlling all concurrent program transactions.

Simultaneous queuing
It helps in conflict one request with other i.e. avoids deadlock.

Multiple concurrent programs
For each executable we can have multiple concurrent programs defined.


                                                                                         144
                         A Guide to Oracle Apps 11i – by Dinesh Kumar S
Creating Concurrent Program




The basic process of creating concurrent program as follows:

   1.   Create a program execution file.
   2.   Define concurrent program executable.
   3.   Define concurrent program.
   4.   Request you program.
   5.   Make concurrent program available to user.




Note: Request Group & Request set will be covered in later part of the chapters.




                                                                                   145
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Exercise 5          Defining a Concurrent program (Default Parameters)

Description:

We are going to define a concurrent program in this exercise. Remember if we are going
to create a procedure of function default parameters to retrieve the status of the
concurrent program. The parameters as follows:

Errbuf    varchar2 (mandatory)
Retcode   varchar2 (mandatory)

For example:

Create or replace procedure sample (Errbuf out varchar2, Retcode out varchar2)
As
Begin
        // body of the document
End;

Instruction:

      Create a procedure.
      Create an executable.
      Attach this executable to the concurrent program (defining Concurrent pg.)
      Create a request group & assign this to the user responsibility.
      Now run the request.
      View the status.




                                                                                   146
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 1: Creating a simple procedure to update the description of the user in
Apps.FND_USER table.




Step 2: Create a executable

Log in as “Application Developer”

Navigation: Concurrent/Executable




                                                                               147
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Executable Details:



Create Executable as below.




                                                                        148
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 3: Defining a concurrent program.




                                                                        149
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 4: Now we need to define a request group & assign that to a responsibility of the
user who runs this request.




                                                                                     150
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 5: To the existing responsibility assign the created requested group.




                                                                             151
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 6: Submit the request.

Log in as “Application Developer”




                                                                         152
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Now you can view the status of the request you have submitted as below.




Expected Result: Change in description of the user.




                                                                          153
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
Exercise 6           Defining a Concurrent program (with user parameters)




Description:

We are going to define a concurrent program with user parameter other than the
mandatory parameters. Here the concept is same as above exercise, but slightly varies
in defining a parameter for concurrent program. We need to create a value set for the
parameter & attach to it.



Instructions:




      Create a procedure.
      Create an executable.
      Create a value set.
      Attach this executable to the concurrent program (defining Concurrent pg.)
      Now attach the value set to the parameter for validation.
      Create a request group & assign this to the user responsibility.
      Now run the request.
      View the status.



                Additional steps w.r.t. Exercise 5.




                                                                                   154
                          A Guide to Oracle Apps 11i – by Dinesh Kumar S
Procedure:




Executable:




                                                               155
              A Guide to Oracle Apps 11i – by Dinesh Kumar S
Value set:




Navigation:




                                                               156
              A Guide to Oracle Apps 11i – by Dinesh Kumar S
Values in value set:




                                                                        157
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
Entering values for validation:




                                                                          158
                         A Guide to Oracle Apps 11i – by Dinesh Kumar S
Concurrent Program:




After filling the main page press “Parameters”.




                                                                         159
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Defining Parameters:




“save” the set up.




                                                                        160
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
Defining Request group:




                                                                           161
                          A Guide to Oracle Apps 11i – by Dinesh Kumar S
Responsibility:




                                                                   162
                  A Guide to Oracle Apps 11i – by Dinesh Kumar S
Submit Request:

Switch responsibility to “Application Developer”




Go to “View” Select “Requests”.




                                                                        163
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
Press Submit new request button.




Select “Single request”




                                                                           164
                          A Guide to Oracle Apps 11i – by Dinesh Kumar S
When selecting the request name a pop up comes, that’s the “parameter” window to
substitute the user name.




Parameter:




Press “Ok”

                                                                                   165
                      A Guide to Oracle Apps 11i – by Dinesh Kumar S
Submit the request:




Status:




Successfully completed.


                                                                       166
                      A Guide to Oracle Apps 11i – by Dinesh Kumar S
Expected Result:




Now you can see the description of the user is modified.




                                                                        167
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
Exercise 7          Concurrent program with report executable




Description:

In this exercise we are going to create a report as executable and attach it to the
concurrent program. All the procedures & steps for creating concurrent program is
same but when passing parameters to the reports some points to be noted i.e. token
name. The name in the parameter form of the report should be same as token name in
the parameter form in apps screen.




Instructions:

      First place the created report in the reports folder in apps data structure.
      Then create an executable.
      Define a concurrent program & attach the executable to it.
      Set the parameter along with the token name (same as parameter names in report
      .rdf file)
      Create a request set & submit the request.




                                                                                  168
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 1: Create a report and place it in following directory in apps file system.



 Location: APPL_TOP/Module_name/11.5.0/Reports




Suppose if I am creating a report for purchasing module I need to place the report in
following location:

APPL_TOP/PO/11.5.0/Reports/Dini_PO_report.rdf




                                                                                    169
                         A Guide to Oracle Apps 11i – by Dinesh Kumar S
Report name: Dini_PO_report.rdf

Application: Purchasing



Executable:




                                                                           170
                          A Guide to Oracle Apps 11i – by Dinesh Kumar S
Concurrent Program:




                                                                       171
                      A Guide to Oracle Apps 11i – by Dinesh Kumar S
Parameters




                                                              172
             A Guide to Oracle Apps 11i – by Dinesh Kumar S
Parameter form in report




Note: The Concurrent parameter “Token Name” and the “user parameter” should be
same.




                                                                                 173
                      A Guide to Oracle Apps 11i – by Dinesh Kumar S
Now save the concurrent program & run the request.
PO_RELEASE_NUM is at bottom of layout it is not shown in screen shot.




                                                                        174
                      A Guide to Oracle Apps 11i – by Dinesh Kumar S
Create a request group.




     Assign this request group to the responsibility the user is going to execute
     the concurrent program.




                                                                                    175
                      A Guide to Oracle Apps 11i – by Dinesh Kumar S
Submit Request:

Enter value for report parameter:




Submit the request:




                                                                        176
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
                                                 177
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Status:

Refresh the status every time till it completes.




Note:

One mandatory report user parameter for running reports is:

P_CONC_REQUEST_ID (mandatory)




                                                                         178
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
This parameter is linked with Concurrent Request ID of concurrent program.




                                                                             179
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
Chapter 14                        AOL Table Relations




Let us summarize the functional Security flow:


                                          Forms




                                     Form Functions




                                          Menus




                                     Responsibilities




                                          User


Note:

In this chapter I have covered only main tables. For other tables please refer eTRM.
All the table description is referred from eTRM.


                                                                                       180
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
         Tables                                    Description
FND_FORM           Fnd_Form stores information about your registered application
                   forms.
FND_FORM_FUNCTIONS Fnd_Form_Functions stores information about function
                   grouping in forms.

Menus:


        Tables                             Description
FND_MENUS        Fnd_Menus lists the menus that appear in the Navigate
                 Window.
FND_MENU_ENTRIES Fnd_Menu_Entries stores information about individual
                 entries in the menus in FND_MENUS.

Responsibility:


        Tables                                    Description
                     Fnd_Responsibility stores information about responsibilities.
FND_RESPONSIBILITY   Each row includes the name and description of the responsibility,
                     the application it belongs to, and values that identify the main
                     menu, and the first form that it uses.

User:


         Tables                               Description
FND_USER             Fnd_User stores information about application users
FND_USER_RESP_GROUPS Responsibilities assigned to application users




                                                                                   181
                      A Guide to Oracle Apps 11i – by Dinesh Kumar S
Data Group:


       Tables                                       Description
FND_DATA_GROUPS      Fnd_Data_Groups stores information about different data
                     groups
FND_DATA_GROUP_UNITS Fnd_Data_Group_Units stores information about ORACLE
                     database
                     accounts associated with various applications under different
                     data groups

Concurrent:


          Tables                                       Description
FND_CONCURRENT_PROCESSORS      Fnd_Concurrent_Processors stores information about
                               immediate (subroutine) concurrent program libraries.
                               Each row includes the name and description of the
                               library.
FND_CONCURRENT_PROCESSES       Fnd_Concurrent_Processes stores information about
                               concurrent managers. Each row includes values that
                               identify the ORACLE process, the operating system
                               process, and the concurrent manager
                               (QUEUE_APPLICATION_ID and
                               CONCURRENT_QUEUE_ID).
FND_CONCURRENT_REQUESTS        Fnd_Concurrent_Requests stores information about
                               individual concurrent requests.
FND_CONCURRENT_PROGRAMS        Fnd_Concurrent_Programs stores information about
                               concurrent programs. Each row includes a name and
                               description of the concurrent program.
FND_EXECUTABLES                Fnd_Executables stores information about concurrent
                               program executables.




                                                                                 182
                      A Guide to Oracle Apps 11i – by Dinesh Kumar S
Request:


           Tables                                       Description
FND_REQUEST_GROUPS      Fnd_Request_Groups stores information about report
                        security groups.
FND_REQUEST_GROUP_UNITS Fnd_Request_Group_Units stores information about
                        individual reports and groups within each report security
                        group.
FND_REQUEST_SETS        Fnd_Request_Sets stores information about report sets.
FND_REQUEST_SET_STAGES  A request set is composed of one or more stages.
                        Information about each stage is stored in
                        Fnd_Request_Set_Stages.
FND_RUN_REQUESTS        Fnd_Run_Requests stores information about running
                        reports within a report set. Each row includes values that
                        identify the running request, the parent request, the
                        request set, and information for printing the report.

Application:


    Tables                                     Description
FND_APPLICATION     Applications registered with Oracle Application Object Library.




                                                                                      183
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Primary-Foreign Key Relations

For people who don’t have access to eTRM, I have given the relations from the eTRM
link.

Note: You can find foreign key relations between columns only for the topics we
have discussed.



Responsibility

Table: FND_RESPONSIBILITY

      Main Table                       Table                             Relating Column
                          FND_APPLICATION                    APPLICATION_ID
                          FND_DATA_GROUP_UNITS               DATA_GROUP_APPLICATION_ID,
                                                             DATA_GROUP_ID
                          FND_REQUEST_GROUPS                 GROUP_APPLICATION_ID
FND_RESPONSIBILITY                                           ,REQUEST_GROUP_ID
                          FND_MENUS                          MENU_ID
                          FND_PROFILE_OPTION_VALUES          LEVEL_VALUE_APPLICATION_ID
                          FND_USER_DESKTOP_OBJECTS           APPLICATION_ID
                          FND_APPLICATION                    RESPONSIBILITY_APPLICATION_ID




Data Group



Table: FND_DATA_GROUP_UNITS


         Main Table                       Table                         Relating Column
                                FND_DATA_GROUPS              DATA_GROUP_ID
FND_DATA_GROUP_UNITS            FND_RESPONSIBILITY           DATA_GROUP_APPLICATION_ID,
                                                             DATA_GROUP_ID




                                                                                           184
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
   Request Group

   Table: FND_REQUEST_GROUP


          Main Table                     Table                           Relating Column
                            FND_APPLICATION                   APPLICATION_ID
   FND_REQUEST_GROUP        FND_REQUEST_GROUP_UNITS           APPLICATION_ID,
                                                              REQUEST_GROUP_ID
                            FND_RESPONSIBILITY                GROUP_APPLICATION_ID,
                                                              REQUEST_GROUP_ID




   User

   Table: FND_USER_RESP_GROUPS

           Main Table                    Table                       Relating Column
                               FND_RESPONSIBILITY           RESPONSIBILITY_ID,
   FND_USER_RESP_GROUPS                                     RESPONSIBILITY_APPLICATION_ID
                               FND_USER                     USER_ID
                               FND_SECURITY_GROUPS          SECURITY_GROUP_ID




   Concurrent

   Table: FND_CONCURRENT_REQUESTS

       Main Table                      Table                             Relating Column
                          FND_CONCURRENT_PROGRAMS            PROGRAM_APPLICATION_ID
                          FND_USER                           REQUESTED_BY
FND_CONCURRENT_REQUESTS   FND_RESPONSIBILITY                 RESPONSIBILITY_APPLICATION_ID
                                                             ,RESPONSIBILITY_ID
                          FND_CONCURRENT_PROCESSES           CONTROLLING_MANAGER
                          FND_RUN_REQUESTS                   REQUEST_ID




                                                                                           185
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Applications

Table: FND_APPLICATION

     Main Table                                  Table                                  Relating Column
                             FND_CONCURRENT_PROCESSORS                         APPLICATION_ID
                             FND_CONCURRENT_PROGRAMS                           APPLICATION_ID
                             FND_DESCRIPTIVE_FLEXS                             APPLICATION_ID
                             FND_EXECUTABLES                                   APPLICATION_ID
                             FND_FORM                                          APPLICATION_ID
FND_APPLICATIONS             FND_LOOKUP_TYPES                                  VIEW_APPLICATION_ID
                             FND_PROFILE_OPTIONS                               APPLICATION_ID
                             FND_REQUEST_GROUPS                                APPLICATION_ID
                             FND_RESPONSIBILITY                                APPLICATION_ID
                             FND_TABLES                                        APPLICATION_ID
                             FND_VIEWS                                         APPLICATION_ID




Relation Diagram




         Fnd_Form         Fnd_Concurrent_Programs               Fnd_Concurrent_Processes
                                         Program_Application_id          Controlling_Manager
                    Application_id
                                                                                          Requested_By
                                          Fnd_Concurrent_Req
        Fnd_Form_Functions
                                     Responsibility_Application_id
                    Function_id      Responsibility_id

        Fnd_Menu_Entries                  Fnd_Data_Group                       Fnd_Request_Group_Units
                                                                                                   Application_id
                   Menu_id
                   Sub_Menu_id                          Data_Group_id                              Request_Group_id

               Fnd_menu                  Fnd_Data_Group_Units                      Fnd_Request_Group

                   Menu_id              Data_Group_Application_id          Group_Application_id

                                         Fnd_Responsibility                             Fnd_User_Resp_Group
                                                                        Responsibility_id
                                                       Application_id   Responsibility_Application_id      User_id

         Application_id                     Fnd_Application                                        Fnd_User




                                                                                                                     186
                             A Guide to Oracle Apps 11i – by Dinesh Kumar S
Chapter 15                      Overview of Flexfield Concepts


A Flexfield contains Segments or Sub-fields.

Each segment contains some set of values (Value Sets).



Flexfield Types

Two types of flexfields

      Key flexfield (KFF)
      Descriptive flexfield (DFF)




                                                                           187
                          A Guide to Oracle Apps 11i – by Dinesh Kumar S
Key Flexfield

KFF is made up of segments.
Segment represents entity characteristics.
We can Customize KFF by combining segment values.
Also we can define rules on segments.




                                                                       188
                      A Guide to Oracle Apps 11i – by Dinesh Kumar S
Descriptive Flexfield

DFF is mainly used for storing additional information’s.
DFF appears in form as icon “”.
Attributes in tables represents DFF.
DFF can also have set of values.




Features of flexfields



      Application customization.
      Use of “Intelligent Keys” – composed of combination of segment values.
      Value validations.
      Customizing data fields.




                                                                               189
                         A Guide to Oracle Apps 11i – by Dinesh Kumar S
Flexfield in Oracle Application




                        Flexfield                    Oracle Module
              Accounting Flexfield              General Ledger
              Account Aliases
              Item Catalogs
              Item Categories                      Inventory
              Sales Orders
              Stock Locators
              System Items
              Sales Tax Location Flexfield    Oracle Receivables
              Territory Flexfield
              Grade Flexfield GRD                Oracle Assets
              Job Flexfield
              Personal Analysis Flexfield   Oracle Human Resources
              Soft Coded Key Flexfield
              Asset Key Flexfield
              Category Flexfield                 Oracle Assets
              Location Flexfield
              Oracle Service Item Flexfield     Oracle Service




                                                                        190
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
Note:
No. of columns allocated for flexfields.

KFF – 30 Segments
DFF – 15 Attributes



For KFF we can view only enabled segments in table. For example, consider
“PO_Headers_All” table below.




                                                                            191
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
                                                 192
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Global_Attribute



Attributes are not used in tables for business, as these attributes are reserved for
future purpose by Oracle Corporation.




                                                                                       193
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Exercise 8                   Creating accounting Flexfield Structure

Description:

Now we are going to create a flexfield structure. Let us consider Accounting Flexfield
setup in GL. Before creating the structure we need to know some basic & essential
terms. They are as below.

      Accounting Flexfield
      Segment Separator
      Cross-Validate Segments
      Freeze Flexfield Definition
      Flexfield Qualifiers
      Segment Qualifiers
      Structure
      Freeze Rollup groups
      Allow dynamic insert




Accounting Flexfield:

This is used to design GL accounts. This helps in running an organization in proper
manner.
Also allows classification of accounting information. The structure provides a logical
order of values by grouping related accounts.

Segment Separator:

Segment Separator characters are used to separate different segment values with any
conflict.

Cross-Validate Segments:

Select the Cross-Validate Segments check box if you want to cross-validate multiple
segments using cross-validation rules

Freeze Flexfield Definition:


                                                                                         194
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
If we freeze the flexfield we cannot modify any values of the segment.
You must freeze and compile your flexfield definition before you can use your flexfield.

Flexfield Qualifiers:

The flexfield qualifier identifies the user customized segments, such that it ensures all
key segments required for application is defined or not.

Segment Qualifiers:

It describes the characteristics of segment values. It also helps in retrieving
information about segment values.

Structure:

It is a particular arrangement of flexfield segments. The size of structure depends
upon flexfield.

Freeze Rollup groups:

Rollup groups are used to create summary accounts for reporting purposes.

Allow dynamic insert:

We can enter new combination of segment values using flexfield value from a foreign
key form.

Instructions:

      Create a value set for accounting flexfield segments.
      Create flexfield structure.
      Create segments for Flexfield.
      Assign value set to the segments created.
      Enable/ Disable Options like Freeze rollups, Dynamic insert, cross validation.
      Compile Flexfield structure.




                                                                                       195
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 1: Log in as “GL Super User”.

Navigation:




Step 2: Creating a value set for flexfield segments.

Account segment uses Natural Account segment.
The company segment use Balancing Segment.
These segments are mandatory for defining the accounting flexfield.




                                                                         196
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Creating “value set” for Natural account.




Creating “value set” for Balancing account.




                                                                         197
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 3: Adding values to value sets created.
Navigation: Setup/Validation/Values




                                                                         198
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 4: Create flexfield structure for accounting flexfield.

Create segment for the flexfield.

Navigation: Setup/Financials/Flexfield/Key/Segments.



First Query the Flexfield title as “Accounting Flexfield”. Then add new record.




                                                                                  199
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Now click                     to define segments.




Now define Flexfield Qualifiers.




                                                                        200
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
For Company_BS:




For Account_NA:




                                                                   201
                  A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 5: Enabling other options.

Segment Separator:

You can define any of the 3 separator or a custom one. I am going to define a custom
one.




Allow Dynamic Insert:




Freeze Flexfield Definition:




                                                                                       202
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Save it & “Compile” Flexfield definition.




After compiling you will get message box as below.




                                                                         203
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Exercise 9                  Modifying Flexfield Definition




Description:



As we know once we freeze the values of flexfield segments we cannot modify or make
any changes in it. Now we are going to see how to modify the flexfield definition.



Instructions:

      Create a new value set for balancing segment.
      Unfreeze Flexfield definition.
      Update segment values by assigning new value set.
      Again freeze the flexfield definition.
      Compile flexfield structure.




                                                                                 204
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 1: Create a new value set as below and set the values as below.




Assign values to value set.




                                                                          205
                         A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 2: Open the Accounting Flexfield “Ac_Flexfield_GL” and unfreeze the “Freeze
Flexfield Definition” checkbox.

While unfreezing it you will get the following pop up message as below.




                                                                                   206
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 3: Now go to the segment tab                          and change the value set of
segment

“Company_BS” value set from BS_GL to BS_GL_2 and save it.




                                                                                         207
                      A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 4: Enable checkbox of “Freeze Flexfield Definition” and compile the Accounting
Structure “Ac_Flexfield_GL”.



The following message box appears while enabling checkbox.




                                                                                  208
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
Compile the Flexfield Definition.




                                                                         209
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Exercise 10                  Enabling Descriptive Flexfield (DFF)



Description:



Now we are going to enable a DFF segment in “GL Super User” Responsibility.
DFF appears as single character & enclosed as [ ].



Instruction:



      In Accounting Calendar Form, at GL you can see a DFF.
      You need either Application Developer (or) System Administrator Responsibility
      to do this task.
      Also for Diagnostic examination of DFF in form you need Oracle Apps Database
      Password.




                                                                                   210
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 1: Navigate: Purchase Order/Purchase orders




(or) In windows Navigator




                                                                       211
                      A Guide to Oracle Apps 11i – by Dinesh Kumar S
You can see the GL Accounting Calendar form as below.




Step 2: To see the name of the DFF do the following steps.

Go to help   Diagnostics   Examine.




                                                                        212
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
As Diagnostics is directly associated with Apps DB schema, you need to provide “Oracle
Apps Database password” to examine the form.




When the password is correct you can the following window, the details of DFF will be
populated in the pop up window.




Note down these values populated.




                                                                                    213
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 3: To enable this DFF switch to “Application Developer” responsibility (or) to
“System Administrator” Responsibility. Here I am switching to System admin.

Then navigate to Flexfield / Descriptive /Segments.




You will be seeing the below form and Query the DFF.

Query Details:




                                                                                      214
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
You can see the DFF details as below.




Now click                     you can see the segment summary form.




                                                                        215
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
Fill in the following details as below.

Number:                    5
Name:                      Dinesh Fin calendar
Window Prompt:             Dinesh Fin calendar
Column:                    Attribute 5
Value set:                 Optional (As I haven’t defined any not using it)

Then “Save” the record you have created.




                                                                              216
                          A Guide to Oracle Apps 11i – by Dinesh Kumar S
Now freeze the Flexfield definition by enabling the checkbox “Freeze Flexfield
Definition”.




                                                                                 217
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
Next step is to “Compile” the Flexfield definition by clicking           .




Now switch to “GL Super User” responsibility.




                                                                             218
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Now click the “DFF”.




You can see the DFF is enabled and the following pop window appears.




You can “Disable” the “Context” text field as below.

As we have free zed the Flexfield definition we need to unfreeze it & make the
changes.

Please follow the steps as below.




                                                                                 219
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Now save & freeze it again.




                                                                        220
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
You can also make “Context” text field as mandatory by enabling check box of
“Required” as below.




Save & freeze.

As discussed above I am going to disable the “Context” text field.




                                                                               221
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Now compile the Flexfield definition.




Now open the DFF and check out.




                                                                         222
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Chapter 16                     Oracle User Profile Options


User profile affects the way in which user runs the application. AOL provides plenty of
choices to set user interface with the business application.

In short profile option is used to control & manage transactions & activities in oracle
application.

User Profile Levels

AOL defines hierarchy for user profile.

                                      User         High



                                Responsibilit
                                y


                                  Application


                                                   Low
                                         Site


User Level:
This option value affects a single application user directly.

Responsibility Level:
This affects all the application users in the responsibility.

Application level:
This directly affects the application.

Site Level:
It affects all the application that run is apps.




                                                                                          223
                         A Guide to Oracle Apps 11i – by Dinesh Kumar S
Need of User Profile: A practical scenario to understand profile option.

Scenario 1:




                                      Organization




 Finance Dept           Sys Admin Dept           Manufacturing Dept       Quality Dept




      Users A                 Users B                    Users C              Users D




In the above scenario you can see for the organization there are 4 different
departments. Every department has its own user. These users have access to their
respective departments. Suppose consider a situation when organization has to update
10,000 users responsibility. In this case if the profile option is set this job is done at
very short time. This is one simple situation, like this we can use profile option for more
complex situations.




                                                                                         224
                         A Guide to Oracle Apps 11i – by Dinesh Kumar S
Scenario 2:

Consider the above diagram in scenario 1. Every department has users and user from
finance department cannot access details of quality department and vice versa.
Suppose consider this access security can be applied to apps users. That is when the
user logs into the apps and the profile option is set for the user, the user can be
redirected to any web page.

For example,

User A    Admin
User B    HR




The user will be redirected to the following link:

http://apps.DineshSoft.com:8011/OA_HTML/ADMIN.jsp?OAFunc=OAHOMEPAGE




                                                                                       225
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Similarly, when USER B logs in.




The user will be redirected to the following link:

http://apps.DineshSoft.com:8011/OA_HTML/HR.jsp?OAFunc=OAHOMEPAGE




                                                                         226
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Exercise 11                     Custom Profile Option for Responsibility



Description:

We are going to create profile option for employees working in Car manufacturing
industry say Company like ford, GM etc. In this industry employees are classified on the
basis of grades. We are going classify the employees as below.

Grade    Description
A0       Associate Engineer
A1       Sr. Engineer
A2       Chief Mechanical Engineer

As per the company policy when an employee buys a ford car, they will be given some
discounts based on their grade. The discounts are below.

A0      7%
A1      10%
A2      20%

Assume the Ford Company has implemented oracle apps 11i. Now we are going to create
profile options for grades and assign this profile to the responsibility. Such that the
employee who comes under particular responsibility will get discounts.

Instructions:

        Create responsibility        User
        Create Profile option        User
        Assign Discount %            Responsibility




                                                                                      227
                         A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 1: Creating responsibility for grade “A0”.

Navigation: System Administrator/Security/Responsibility/Define




                                                                         228
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
In the same way create responsibility for grade “A1” & “A2”.




For “A2”.




                                                                        229
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 2: Create “User” and assign above created responsibility.

Navigation: System Administrator/Security/User/Define




                                                                         230
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
In the same way create Users for grade “A1” & “A2”.




For “A2”.




                                                                        231
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 3: Define Profile options for Discount (Switch to Application Developer
responsibility).

Navigation: Application Developer/Profile




Access Level is based on “Hierarchy type”.

“Server” Type.




                                                                               232
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
“Organization” type.




“Security” type




For our exercise we are going to choose “Security” type.




                                                                        233
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
Defining Profile option.




                                                                            234
                           A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 4: Profile option assignment (Switch to System Administrator Responsibility) for
above created responsibilities.

Navigation: System Administrator/Profile/System

Assignment for “A0 Associate Engineer” Responsibility.




Click “Find”.




                                                                                   235
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
Based on the below table assign the discount values.

Grade   Description               Discounts %
A0      Associate Engineer              7
A1      Sr. Engineer                   10
A2      Chief Mechanical Engineer      20

Grade A0:




Grade A1:




                                                                         236
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Grade A2:




Now when the employee buys a car from the company automatically they will get
discount on total car cost.



                                                                                237
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
Exercise 12                    Custom Profile Option for User



Description:

Now we are going to create profile option for user who already has profile option set
for his responsibility. In this exercise we are going to check the hierarchy of the user
profile levels.



Instructions:

      Create new user   Responsibility
      Assign Profile  User

As we have already assigned profile to the responsibility that step is skipped.




                                                                                      238
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 1: Creating a new user.




Step 2: Assign profile option to be set to “User”.

As you can see already profile option is set with “Responsibility” .




                                                                          239
                         A Guide to Oracle Apps 11i – by Dinesh Kumar S
Now we are going to set for a user.




                                                                         240
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Now I have set the discount % as “22” which is greater than responsibility discount %.




                                                                                     241
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Observation:



We know the hierarchy for user profile option as below.

                                      User        High



                                Responsibility



                                  Application


                                                  Low
                                       Site


Here user has highest Priority/Preferences, such that it can override profile options
set to Responsibility, Application and Site.

Thus, in this exercise we have defied same profile option for responsibility & user with
different discount value, that is user value (20) > responsibility value (22). As user is at
top level its value (22) overrides responsibility value (20).

Therefore, employees SENTHIL.M will have Discount of 22% when he buys a car from
Dinesh motors.




                                                                                         242
                         A Guide to Oracle Apps 11i – by Dinesh Kumar S
Chapter 17                              Oracle Alerts



We all know about Exception handling in Java programming. In the same way oracle
alerts helps in exception handling & controlling.

Alerts --    Entities.
      (Implies)
Oracle alert create entity called “alert’” to control organization business.



Types of Alerts

Alert Type        Usage/Example
Event             To monitor DB activities like insert or update etc.
Periodic          Checks DB information at scheduled time like email, concurrent program
                  or running SQL script.

Note: Both types of alerts are defined by SQL select statement.

Alerts in Business

      Alerts helps in Database exceptions & tracking transactions by emailing the
      activity or error or exception to the user.
      Takes predefined actions depending on exception or response to alert.
      It Schedules database activities like calling PLSQL stored procedures and
      decreases manual work.




                                                                                     243
                          A Guide to Oracle Apps 11i – by Dinesh Kumar S
Exercise 13                    Creating Periodic Alert



Description:

We are going to create a periodic alert. These alerts can be triggered daily, weekly,
monthly or yearly at particular interval of time.

Note:
This alert is no were related with any DB transaction or tracking activity.
Periodic alert will notify or report the user regardless of any activity.

Instruction:

Some steps to remember, while creating periodic alert             .


                              Define
                                        Detail
                                                 Action
                                                         Set

      Define periodic alert + frequency.
      Specify detail information about alert.
      Define actions for alerts.
      Create action set contains actions.

Things to Remember:

      Define mail account for alerts.
      Set up connection b/w alert and mail application.

Note: In the below exercises I haven’t configured mail account.




                                                                                        244
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 1: Go to Responsibility “Alert Manager”.




                                                                        245
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
Creating Periodic Alerts involves 4 steps.

   1.   Define alert & specify frequency.
   2.   Specify Details.
   3.   Define Action.
   4.   Create Action Set.




                                                                          246
                         A Guide to Oracle Apps 11i – by Dinesh Kumar S
Navigation: Oracle Alerts/ Define




Step 2: Fill the details of your periodic alert.




                                                                          247
                         A Guide to Oracle Apps 11i – by Dinesh Kumar S
Set “frequency” for Periodic alert.

There are nine frequency options for alerts as below.




       Frequency                                      Description
On Demand                    Alert is check only when user specify.
On Day of the Month          Alert is checked on monthly basis on the day you specify i.e.
                             14th day of every month.
On Day of the Week           As above it checks alert on day of week.
Every N Calendar Days        Checks alerts on every day a day calendar & does not skip
                             holidays.
                             Checks oracle alerts on every business days.
Every N Business Days        1    check on business day
                             2    Check on non-business days.
Every Day                    This is same as “Every N Calendar” and days field value as 1.
Every Other Day              This is same as “Every N Calendar” and days field value as 2.
Every Business Day           This is same as “Every N Business” and days field value as 1.
Every Other Business Day     This is same as “Every N Business” and days field value as 2.




                                                                                        248
                           A Guide to Oracle Apps 11i – by Dinesh Kumar S
On Day of the Month




On Day of the Week




Every N Calendar Days




Every N Business Days




                                                                         249
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Every Day




Every Other Day




Every Business Day




Every Other Business Day




Now we are going to select “On Demand” frequency for this exercise.




                                                                            250
                           A Guide to Oracle Apps 11i – by Dinesh Kumar S
Select Query:

We can write query in 2 ways:

   a) Manually Select Statement
   b) Import Select Statement

Points to Remember while writing Select Query:

   1. Periodic alert statement should include INTO clause.
   2. Identify inputs with colon (:) in front of name. Example “:Col_Name”.
   3. Identify outputs with ampersand (&) in front of name. Example “&Col_Name”.
   4. We can format column output by putting Pound sign (#) after column name &
      define the format. For example “&Amount#999.99”.
   5. For importing SQL statement click                          you can see the below
      screen.




                                                                                         251
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Sample SQL Statements:

Consider I have table like this.

Employee:

Emp_ID      Emp_Name            Emp_Department
101         Dinesh              IT
256         Vishnu Raju         Electronics
553         Srikanth.Pk         Mechanical
600         Shovan Mahapatra    Bio-Tech
809         Hima.k              Architecture
2241        Lokesh. BN          Civil

Statement 1:




Statement 2: To get user input




                                                                          252
                         A Guide to Oracle Apps 11i – by Dinesh Kumar S
Now for our exercise we are going to use the following “SQL Select Query”.

Below you can see the description of table “Fnd_User”.




We are going to select the following columns:

                                      Columns
                                      User_Id
                                      User_name
                                      End_Date
                                      Description
                                      Employee_Id
                                      Email_Address



                                                                             253
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Select Query:

SELECT     User_Id,
           User_name,
           End_Date,
           Description,
           Employee_Id,
           Email_Address
INTO
           &id,
           &name,
           &date,
           &desc,
           &emp_id,
           &email
FROM       APPS.FND_USER




                                                                     254
                    A Guide to Oracle Apps 11i – by Dinesh Kumar S
Verifying SQL Statement:

1. To verify the efficiency & accuracy of Select statement click .




2. To execute the Select statement click.                            Choose save before
running the statement using icon.

The fully completed periodic alert.




                                                                                          255
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
After running the statement you can see the number of rows selected in note window.




3. Go to “Alert Details” window to complete the definition of periodic alert.
  Click.

The alert detail window includes information’s like,
  a) Alert running against application.
  b) Default values to input variables.
  c) Additional characteristics of output variable to have.

Alert details window contains 3 tabbed regions:

   1) Inputs
   2) Outputs
   3) Installation




                                                                                  256
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Inputs Tab:




Oracle alerts automatically displays inputs unless they are implicit inputs like.

Implicit Inputs  Description
:ROWID           Contains ID number when insert/update trigger occurs.
:MAILID          Contains email username of the person who does insert/update
                 trigger.
:ORG_ID          Contains organization ID where alert runs.
:DATE_LAST_CHECK Contains date & time when alert is recently checked.


We can enter default value for these implicit inputs with maximum of 240 characters.

As our query does not contain implicit inputs all details in input tab regions are empty.

Outputs Tab:




In this region oracle alerts displays outputs used in SQL select statement without “&”
and numbering format (999.99).

Also we can mention maximum number of characters an output variable can have.
We can check the “Check for Duplicates” check box to customize the combination of
SQL statement results.



                                                                                        257
                         A Guide to Oracle Apps 11i – by Dinesh Kumar S
Installations Tab:




In installations tab region we can specify “Oracle ID” against which we can raise an
Oracle alert.

If oracle ID is not given, oracle alerts automatically checks alert against all installations
in database which owns this alert.

Check the “Enable” check box to run alert against any Oracle ID.




                                                                                         258
                         A Guide to Oracle Apps 11i – by Dinesh Kumar S
Creating Alert Actions:




Alert actions are created to perform actions to be performed by the alert.

Types of Actions:

    i.   Concurrent Program action
   ii.   Message action
  iii.   Operating Script actions
  iv.    SQL Statement Script




                                                                             259
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
   I. Message Action:

Navigation: Click                               then you can find this window below.



Select “Action Type” as Message.




                                                                                       260
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
This is similar to sending a email from yahoo or gmail or hotmail or from Outlook
Express.




Similarly, please fill the message details in the alert details form.




                                                                                    261
                         A Guide to Oracle Apps 11i – by Dinesh Kumar S
As I haven’t configured the mail setups, I cannot show the complete process. So, I have
given what are all the details you need to specify in this form.




When every detail is filled, please save it & move to alert definition window to create
“Action Sets”.




                                                                                          262
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
 II. Concurrent Program:




III. Operation Script Actions:




IV. SQL Statement Script:




                                                                       263
                      A Guide to Oracle Apps 11i – by Dinesh Kumar S
Creating an Action Set:

After creating an alert action, we should include them in “action set” to perform alert
check.

Action set is,
      Set of actions.
      Combination of actions.
      Combinations of action groups.

Oracle alert executes action sets in a sequence you define.

To define an action set click .




                                                                                      264
                         A Guide to Oracle Apps 11i – by Dinesh Kumar S
The following window opens. Fill in the details required.




Members Tab:




                                                                          265
                         A Guide to Oracle Apps 11i – by Dinesh Kumar S
Inputs Tab:




Outputs tab:




                                                                266
               A Guide to Oracle Apps 11i – by Dinesh Kumar S
Exercise 14                       Creating an Event Alert




Description:



We are going to create an event alert. These alerts are fired or triggered in any
transaction change in oracle apps database. For example, if the customer pays for his
purchase order, an alert can be set to send information regarding this to the supplier.



Instruction:



There are 4 tasks involved in creating an event alert:

      Define Database events.
      Specify details of alert.
      Define action for alert.
      Creation action set.



Note: The following points should be considered before creating an alert.

      Define mail account for alert.
      Make connection between oracle alert & mail account.

(I haven’t shown the mail account setups in this tutorial.)




                                                                                      267
                         A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 1: Go to “Alert Manager” Responsibility to define an alert.

Navigation: Alert Manager / Alerts / Define




(Or) in you can go from oracle home.




                                                                         268
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
In the “Alert” form go to “Event tab”            for defining event alert.




                                                                             269
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 2: Fill the following details in form as below:

Application:              Application Object Library
Name:                     Dinesh_Fnd_Event_Alert
Description:              Alert when an user description changes
Table:                    FND_USER
After insert/Update:      As the alert we are going to define is used only when we
                          change the description of Fnd_User we are going to enable
                          “After Update” not “After insert”.
Keep Days:                This is used to store no. of days the action history should be
                          Stored (10).

Note: We cannot define alert on following table “Fnd_Concurrent_Requests”.




                                                                                      270
                         A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 3: Write the following query in “Select Statement” text area.




Step 4: Verify the SQL Statement.

a) Choose Verify                         button to verify the sql statement.

   The following dialogue box appears.




b) Before running the SQL Statement, save your work by pressing the icon.

You can see the following message in status bar.




                                                                               271
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
c) Now run the SQL statement by clicking the icon.

Number of rows selected will be displayed in “Note window”.




Step 5: Go to the alert details & fill in the default inputs values if necessary.

(Please refer the above exercise for steps to fill these alert details, action & action set
details.)




                                                                                        272
                         A Guide to Oracle Apps 11i – by Dinesh Kumar S
Exercise 15            Transferring & Deleting Alert Definitions




Description:

Transferring:
We can transfer an alert definition to another database or make a copy of existing
alert.

Delete:
We can permanently delete an existing alert whether it is disabled or enabled.



Instruction:

Before deleting an alert we are going to see how to transfer it.




                                                                                     273
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Exercise (15-a): Transferring alert

Step 1: To transfer or copy the alert, go to “Transfer Alert Definition” form.

Navigation: Alert manager / Alerts / Define

Before transferring the alert “Query” the alert already created by pressing F11.




Now press Ctrl+ F11. You can see the existing alert.




                                                                                   274
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 2: Now transfer the alert by navigating to the following.

Navigation: Tools Menu / Transfer Alert.




Step 3: When you click “Transfer Alert”. You can see the details of alert in “Transfer
Alert Definition” Form.




                                                                                     275
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
When you are specifying the “Database” following points should be noted.

Source Alert:

Application: The name of the application the alert belongs.
Alert: Select an Alert you want to transfer or copy.
Database: There are two ways syntax can be defined.

                SQL * Net V1
                SQL * Net V2

SQL * Net V1 (Syntax):

Username/Password@t:testing:db1

SQL * Net V2 (Syntax):

Username/Password@db1

Destination Alert:

Application & Database fields are to be filled same as above.

Alert: We can assign our own name (i.e. it’s like “save as” concept in document.).




                                                                                     276
                         A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 4: As I do not have second instance for my apps application I am going to use the
same instance details in database.




Step 5: Now transfer the alert.




                                                                                     277
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Exercise (15-b): Deleting an alert

Step 1: Query & select any alert in the application.




                                                                         278
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 2: To delete this alert navigate to the following in alert form.

Navigation: Edit / Delete




While closing the form click “Yes”.




                                                                         279
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 3: Now query this alert, to check it’s deleted or not.




The alert is successfully deleted.




                                                                         280
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Chapter 18              Oracle FNDLOAD – Generic Loader



The FNDLOAD is a “Concurrent Program” that is used to transfer oracle application
entity to database instances.

Configuration (.lct) file is used to select the entity to be transferred.
Text (.ldt) file is created by Fndload contains entity definitions.

Use of Configuration file:

        Identify FND located in $FND_TOP/patch/115/import.
        Identify AME/HR located in $PER_TOP/patch/115/import.



Note:

Custom Configuration files are not supported by oracle.
Source & target oracle application cannot be different release. For example, we cannot
move concurrent program from oracle apps 10 to 11i and vice versa.



Entities that can be migrated/moved:

        Concurrent Program and its executables.
        Request group & request sets.
        Profile options.
        Form function, forms, menu, Responsibilities.
        Value sets and look up types.
        Document sequence and Messages.
        Printer Styles.
        KFF & DFF.




                                                                                    281
                         A Guide to Oracle Apps 11i – by Dinesh Kumar S
Configuration file, Entity & Parameter Details:



   Object Name          .LCT file                 Entity                   Parameter
Concurrent Program                                                 EXECUTABLE_NAME
                        afcpexec.lct   PROGRAM
                                                                   APPLICATION_SHORT_NAME
Executable
Concurrent Program                                                 CONCURRENT_PROGRAM_NAME
                        afcpprog.lct   PROGRAM
                                                                   APPLICATION_SHORT_NAME
Definitions
                                                                   REQUEST_GROUP_NAME
Request Group           afcpreqg.lct   REQUEST_GROUP
                                                                   APPLICATION_SHORT_NAME
                                                                   REQUEST_SET_NAME
Request Sets            afcprset.lct   REQ_SET
                                                                   APPLICATION_SHORT_NAME
                                                                   PROFILE_NAME
Profile options         afscprof.lct   PROFILE
                                                                   APPLICATION_SHORT_NAME
Menus                   afsload.lct    MENU                        MENU_NAME
Responsibilities        afscursp.lct   FND_RESPONSIBILITY          RESP_KEY
FND Form
                        affrmcus.lct   FND_FORM_CUSTOM_RULES       FUNCTION_NAME
Personalization
Value Sets              afffload.lct   VALUE_SET_VALUE             FLEX_VALUE_SET_NAME
                                                                   P_LEVEL
Key Flexfield (KFF)     afffload.lct   KEY_FLEX                    APPLICATION_SHORT_NAME
                                                                   P_STRUCTURE_CODE
                                                                   P_LEVEL
Descriptive Flexfield
                        afffload.lct   DESC_FLEX                   APPLICATION_SHORT_NAME
(DFF)                                                              P_CONTEXT_CODE
                                                                   LOOKUP_TYPE
Look ups                aflvmlu.lct    FND_LOOKUP_TYPE
                                                                   APPLICATION_SHORT_NAME
Printer Styles          afcppstl.lct   STYLE                       PRINTER_STYLE_NAME


FNDLOAD Modes:

Entity download: DOWNLAOD

Entity Partial or Full uploads: UPLOAD (or) UPLOAD_PARTIAL

Force Update: CUSTOM_MODE = FORCE
              UPLOAD_MODE = REPLACE

NLS uploads: UPLOAD_MODE = NLS




                                                                                            282
                          A Guide to Oracle Apps 11i – by Dinesh Kumar S
BASE Syntax:

Method 1:

FNDLOAD
APPS/APPS_DB_PASSWORD
0Y
MODE
COFIGURATION_FILE                          -- full Location path
TARGET_TEXT_FILE                           -- full Location path
ENTITY
PARAMETER

Method 2:

FNDLOAD
APPS/APPS_DB_PASSWORD@HOST
0Y
MODE
COFIGURATION_FILE                          -- full Location path
TARGET_TEXT_FILE                           -- full Location path
ENTITY
PARAMETER

Explanation:

Keyword                Description
FNDLOAD                FND Generic loader Keyword
APPS                   Application
APPS_DB_PASSWORD       Application DB password
0Y                     Concurrent Program Flags
MODE                   Upload (or) Upload_Partial (or) Download
COFIGURATION_FILE      $FND_TOP/patch/115/import/file_name.lct
(.LCT)                 $PER_TOP/patch/115/import/ file_name.lct
TARGET_TEXT_FILE       This file contains definition of entity that is migrated (the
(.LDT)                 name of the file is user’s choice).
ENTITY                 Type of object in oracle application
                       Parameter related to entity. These details are useful to
PARAMETER
                       migrate the entity faster.


                                                                                   283
                    A Guide to Oracle Apps 11i – by Dinesh Kumar S
Steps to move entity from one instance to another:

   1)   Define one entity (Concurrent program, menu, value sets etc.).
   2)   Register this entity in instance one.
   3)   Connect to “Unix Box” of instance one.
   4)   Run the command

                   FNDLOAD
                   APPS/APPS_DB_PASSWORD
                   0Y
                   DOWNLOAD
                   COFIGURATION_FILE
                   TARGET_TEXT_FILE
                   ENTITY
                   PARAMETER

   5) Move the downloaded .ldt to new instance using FTP.
   6) Connect to the new instance.
   7) Run the command

                   FNDLOAD
                   APPS/APPS_DB_PASSWORD
                   0Y
                   UPLOAD
                   COFIGURATION_FILE
                   TARGET_TEXT_FILE




Consider the following:

Apps Password:     dinesh123#
Application Short Name: FND
Concurrent Program Name: dini_demo_cp (Refer Exercise 5)

Note:

I have given example only for concurrent program. In the same manner you try it for
other oracle application entities.




                                                                                      284
                          A Guide to Oracle Apps 11i – by Dinesh Kumar S
Syntax based on mode:

Mode 1: Download

FNDLOAD
APPS/APPS_db_PASSWORD
0Y
DOWNLOAD
CONFIGURATION_FILE
TARGET_TEXT_FILE
ENTITY
PARAMETER



Example: Migrating Concurrent program

FNDLOAD
APPS/dinesh123#
0Y
DOWNLOAD
$FND_TOP/patch/115/import/ afcpprog.lct
Dinesh_cp.ldt
PROGRAM
CONCURRENT_PROGRAM_NAME = “dini_demo_cp”
APPLICATION_SHORT_NAME = “FND”




_______________________________________________________________



                                                                         285
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
_______________________________________________________________

Mode 2: Upload

FNDLOAD
APPS/APPS_db_PASSWORD
0Y
UPLOAD
CONFIGURATION_FILE
TARGET_TEXT_FILE

Example:

FNDLOAD
APPS/dinesh123#
0Y
UPLOAD
$FND_TOP/patch/115/import/ afcpprog.lct
Dinesh_cp.ldt
_______________________________________________________________
Mode 3: Upload_Partial

FNDLOAD
APPS/APPS_db_PASSWORD
0Y
UPLOAD_PARTIAL
CONFIGURATION_FILE
TARGET_TEXT_FILE
ENTITY
PARAMETER

Example:

FNDLOAD
APPS/dinesh123#
0Y
UPLOAD_PARTIAL
$FND_TOP/patch/115/import/ afcpprog.lct
Dinesh_cp.ldt
PROGRAM
CONCURRENT_PROGRAM_NAME = “dini_demo_cp”
APPLICATION_SHORT_NAME = “FND”
_______________________________________________________________


                                                                    286
                   A Guide to Oracle Apps 11i – by Dinesh Kumar S
Chapter 19                               SQL *Loader


SQL *Loader is a utility to load huge amount of data in oracle DB tables.
The data can be loaded from any text file into database.



Architecture:




Parameter    Data File   Control File
File                      Control File




                                                                             Log File


                                           SQL LOADER


                                                                              Discard File




                                                   Data                       Bad File




                                              Database




SQL *Loader reads data from data file and data information details from control file.
If any additional parameter required, it gets from parameter file. Then it loads data
into database.




                                                                                         287
                           A Guide to Oracle Apps 11i – by Dinesh Kumar S
Input Files:

Control File:

Control File is a text file which contains DLL instructions. It also contains table
information how data will be loaded. The information’s includes table name, Column & its
data types, Delimiters etc. Thus control file helps for data loading process for SQL
loader.

Sections of Control file:

The control file has 3 main sections with 2 mandatory & 1 optional sections in the
following order below.

  i.   Session wide information (mandatory)
 ii.   Table & field list information (mandatory)
iii.   Input data (optional)

a) Session wide information:

This section contains options like,
   o Global options – bindsize, rows, records to skip etc.
   o INFILE clause
   o Data Character set specification.

b) Table field information:

This contains one of more “INTO TABLE”.

c) Input data:

This section is optional & it contains input data.




                                                                                     288
                         A Guide to Oracle Apps 11i – by Dinesh Kumar S
Control File Syntax:




SQL *Loader Options:

Here I have described few options that is used frequently.




                                                                        289
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
Sample Control File:

Method 1:




Method 2:




Method 3: Data file in control file.




                                                                          290
                         A Guide to Oracle Apps 11i – by Dinesh Kumar S
Method 4: File name & path as parameter in concurrent program.




Method 5: Loading fixed format data file.

'Dinesh.dat' content

Dinesh_motors_Ltd#111***dinesh*asdfgv$*cse$%29-AUG-07##
Dinesh_motors_Ltd#222***Vishnu*asdfgv$*ece$%29-AUG-07##
Dinesh_motors_Ltd#231***sri.pk*asdfgv$*eee$%29-AUG-07##
Dinesh_motors_Ltd#561***vinush*asdfgv$*civ$%29-AUG-07##
Dinesh_motors_Ltd#423***hima.k*asdfgv$*Bio$%29-AUG-07##
Dinesh_motors_Ltd#964***shovan*asdfgv$*Mec$%29-AUG-07##

1                      19 21   25   30           40 42   45          53     55
Dinesh_motors_Ltd#111***dinesh*asdfgv$*cse$%29-AUG-07##




                                                                                 291
                           A Guide to Oracle Apps 11i – by Dinesh Kumar S
Method 6: Skip Columns

The columns can be skipped by using the keyword “FILLER”.




Data File:

This files stores text data which is to be loaded into the database table.
A particular data file can be in fixed record format, variable record format or stream
record format.

If the data file is within control file then data is interrupted in stream record format
with default record terminator.

Fixed file format:

If all the records in data file are of same byte length then the file is in fixed file
format.

Variable Record Format:

In this format the fields will be separated by some delimiter.

Stream record format:

The SQL loader load data by identifying record terminator.




                                                                                         292
                         A Guide to Oracle Apps 11i – by Dinesh Kumar S
Method 1: Loading data in fixed file format




Method 2: Loading data in variable record format




Method 3: Streamed record format




                                                                        293
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
Exercise 16                     Upload Data Using SQL *Loader



Description:

We are going to upload data into table “employee” using SQL * Loader. In this exercise
we are going to see the basic method to upload the data.

Instruction:

Follow the sets below to upload the data.

Create a table “employee”.
Write a control file & save it in ‘c:\’.
Prepare a data file which contains data to be uploaded.
Go to command prompt & upload the data.

Table Structure:




Data file name: dinesh.txt

Control file name: dinesh.ctl

Location to save: ‘C:\’




                                                                                    294
                          A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 1: Create a table & check the table is empty.




Step 2: Create a control file ‘dinesh.ctl’ and save it in ‘C: \’




                                                                          295
                         A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 3: Create a data file ‘dinesh.txt’ and save it in ‘C: \’.




Step 4: Now go to command prompt & type the following command as below.




Command Syntax:

Sqlldr username/password@host control=c:\xyz.ctl




                                                                          296
                         A Guide to Oracle Apps 11i – by Dinesh Kumar S
For our exercise the command as:

Sqlldr dbuser/password@blrge9i.blrge.birlasoft.com control=c:\dinesh.ctl
log=c:\diensh.log




Step 5: Check the log file to see data uploaded successfully or not.




                                                                           297
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Log file content:




                                                                     298
                    A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 6: Now check out the data in table ‘employee’

In SQL *PLUS:




In TOAD:




                                                                        299
                       A Guide to Oracle Apps 11i – by Dinesh Kumar S
Exercise 17                   Upload Data Using SQL *Loader – Options



Description:

We are going to ‘Append’ some more data in existing ‘employee’ table using SQL *Loader.
Also we are going to use some more additional loading options.

Instruction:

Create a ‘Control file’ & save it in ‘C: \’.
Create a text file to store additional data which is to append to ‘employee’ table.
Go to command prompt & enter the command below.

Data file Name: ‘dinesh.txt’

Control file name: ‘dinesh.ctl’

Discardfile name: ‘dinesh.dsc’

Bad file name: ‘dinesh.bad’

Location to save: ‘C: \’




                                                                                      300
                           A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 1: Check the existing records in table ‘employee’

In SQL *PLUS:                                    In TOAD:




Total no. of records: 6

Step 2: Create a control file ‘dinesh.ctl’ & save it in ‘C: \’




                                                                           301
                          A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 3: Create a data file which contains records to be appended. Input some data’s
which do not meet loading criteria.




Total no. of additional records: 7


Defective record: 1



Step 4: Now go to command prompt & type the following command.

Sqlldr dbuser/password@blrge9i.blrge.birlasoft.com control=c:\dinesh.ctl
log=c:\dinesh.log




                                                                                      302
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 5: Check in ‘C: \’ the files created.




Successfully ‘.log’ & ‘.bad’ bad file is created.

Step 6: Open the ‘dinesh.bad’ file to check the deleted record.




The above record is eliminated as it does not meet search criteria.




                                                                           303
                          A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 7: Open the ‘dinesh.log’ file to check all records are inserted successfully or not.




                                                                                       304
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 8: Check the ‘employee’ table.

In SQL *PLUS:




In TOAD:




Total records: 6+ (7-1) = 12


                                                                         305
                        A Guide to Oracle Apps 11i – by Dinesh Kumar S
REFERENCES                        USEFUL LINKS


Oracle Meta link: http://metalink.oracle.com/

Oracle eTRM: http://etrm.oracle.com/

Oracle Forums: http://forums.oracle.com/forums/

Oracle Application Documentation:
http://www.oracle.com/technology/documentation/applications.html

Oracle 11i Documentation Library :
http://compass.threesixtysourcing.com/appdoc11i/html/homeset.html

Oracle Use full Downloads: http://georgenet.net/oracle/

Oracle vision instances:

Solution Beacon: http://www.solutionbeacon.com/tools_vision.htm

Appshosting: http://www.appshosting.com/

Oracle blobs:

http://erpstuff.com/

http://www.appsbi.com/what-is-oracle-apps-erp/

http://it.toolbox.com/

http://oracle.anilpassi.com/




                                                                          306
                         A Guide to Oracle Apps 11i – by Dinesh Kumar S
                                                 307
A Guide to Oracle Apps 11i – by Dinesh Kumar S

				
DOCUMENT INFO