Oracle A.I.M. Methodology – template list

Oracle A.I.M. Methodology encompasses a project management methodology with documentation templates that support the life cycle of an implementation. The life cycle methodology and documentation templates allows A.I.M. to be a very useful tool for managing implementation projects successfully. This is a depiction of the A.I.M. methodology life cycle:

Application Implementation Method is a proven approach for all the activities required to implement oracle applications. there are eleven processes of implementation.

1. Business Process Architecture [BP] – This phase outlines:

  • Existing Business Practices
  • Catalog change practices
  • Leading practices
  • Future practices
BP.010 Define Business and Process StrategyBP.020 Catalog and Analyze Potential Changes
BP.030 Determine Data Gathering Requirements
BP.040 Develop Current Process Model
BP.050 Review Leading Practices
BP.060 Develop High-Level Process Vision

BP.070 Develop High-Level Process Design

BP.080 Develop Future Process Model

BP.090 Document Business Procedure

2. Business Requirement Definition [RD] This phase explains about the initial baseline questionnaire and gathering of requirements.

RD.010 Identify Current Financial and Operating Structure RD.020 Conduct Current Business Baseline RD.030 Establish Process and Mapping Summary RD.040 Gather Business Volumes and Metrics RD.050 Gather Business Requirements RD.060 Determine Audit and Control Requirements RD.070 Identify Business Availability Requirements RD.080 Identify Reporting and Information Access Requirements

3. Business Requirement Mapping [BR]In this phase the requirements of business are matched with the standard functionality of the oracle applications.

BR.010 Analyze High-Level GapsBR.020 Prepare mapping environment
BR.030 Map Business requirements
BR.040 Map Business Data
BR.050 Conduct Integration Fit Analysis
BR.060 Create Information Model

BR.070 Create Reporting Fit Analysis

BR.080 Test Business Solutions

BR.090 Confirm Integrated Business Solutions

BR.100 Define Applications Setup

BR.110 Define security Profiles

4. Application and Technical Architecture [TA]This outlines the infrastructure requirements to implement oracle applications.

TA.010 Define Architecture Requirements and StrategyTA.020 Identify Current Technical Architecture
TA.030 Develop Preliminary Conceptual Architecture
TA.040 Define Application Architecture
TA.050 Define System Availability Strategy
TA.060 Define Reporting and Information Access Strategy

TA.070 Revise Conceptual Architecture

TA.080 Define Application Security Architecture

TA.090 Define Application and Database Server Architecture

TA.100 Define and Propose Architecture Subsystems

TA.110 Define System Capacity Plan

TA.120 Define Platform and Network Architecture

TA.130 Define Application Deployment Plan

TA.140 Assess Performance Risks

TA.150 Define System Management Procedures

5. Build and Module Design [MD]This phase emphasizes the development of new functionality (customization) required by the client. It mainly details how to design the required forms, database and reports.

MD.010 Define Application Extension StrategyMD.020 Define and estimate application extensions
MD.030 Define design standards
MD.040 Define Build Standards
MD.050 Create Application extensions functional design
MD.060 Design Database extensions

MD.070 Create Application extensions technical design

MD.080 Review functional and Technical designs

MD.090 Prepare Development environment

MD.100 Create Database extensions

MD.110 Create Application extension modules

MD.120 Create Installation routines

6. Data Conversion [CV]Data Conversion is the process of converting or transferring the data from legacy system to oracle applications. Ex. Transferring customer records from the legacy to the Customer Master.

CV.010 Define data conversion requirements and strategyCV.020 Define Conversion standards
CV.030 Prepare conversion environment
CV.040 Perform conversion data mapping
CV.050 Define manual conversion procedures
CV.060 Design conversion programs

CV.070 Prepare conversion test plans

CV.080 Develop conversion programs

CV.090 Perform conversion unit tests

CV.100 Perform conversion business objects

CV.110 Perform conversion validation tests

CV.120 Install conversion programs

CV.130 Convert and verify data

7. Documentation [DO]Documentation prepared per module that includes user guides and implementation manuals.

DO.010 Define documentation requirements and strategyDO.020 Define Documentation standards and procedures
DO.030 Prepare glossary
DO.040 Prepare documentation environment
DO.050 Produce documentation prototypes and templates
DO.060 Publish user reference manual

DO.070 Publish user guide

DO.080 Publish technical reference manual

DO.090 Publish system management guide

8. Business System Testing [TE]A process of validating the setup’s and functionality by QA(functional consultant) to certify status.

TE.010 Define testing requirements and strategyTE.020 Develop unit test script
TE.030 Develop link test script
TE.040 Develop system test script
TE.050 Develop systems integration test script
TE.060 Prepare testing environments

TE.070 Perform unit test

TE.080 Perform link test

TE.090 perform installation test

TE.100 Prepare key users for testing

TE.110 Perform system test

TE.120 Perform systems integration test

TE.130 Perform Acceptance test

9. Performance Testing [PT] Performance testing is the evaluation of transactions saving time, transaction retrieval times, workflow background process, database performance, etc

PT.010 – Define Performance Testing StrategyPT.020 – Identify Performance Test Scenarios
PT.030 – Identify Performance Test Transaction
PT.040 – Create Performance Test Scripts
PT.050 – Design Performance Test Transaction Programs
PT.060 – Design Performance Test Data

PT.070 – Design Test Database Load Programs

PT.080 – Create Performance Test TransactionPrograms

PT.090 – Create Test Database Load Programs

PT.100 – Construct Performance Test Database

PT.110 – Prepare Performance Test Environment

PT.120 – Execute Performance Test

10. Adoption and Learning [AP]This phase explains the removal of the legacy system and oracle application roll out enterprise wide.

AP.010 – Define Executive Project StrategyAP.020 – Conduct Initial Project Team Orientation
AP.030 – Develop Project Team Learning Plan
AP.040 – Prepare Project Team Learning Environment
AP.050 – Conduct Project Team Learning Events
AP.060 – Develop Business Unit Managers’Readiness Plan

AP.070 – Develop Project Readiness Roadmap

AP.080 – Develop and Execute CommunicationCampaign

AP.090 – Develop Managers’ Readiness Plan

AP.100 – Identify Business Process Impact onOrganization

AP.110 – Align Human Performance SupportSystems

AP.120 – Align Information Technology Groups

AP.130 – Conduct User Learning Needs Analysis

AP.140 – Develop User Learning Plan

AP.150 – Develop User Learningware

AP.160 – Prepare User Learning Environment

AP.170 – Conduct User Learning Events

AP.180 – Conduct Effectiveness Assessment

11. Production Migration [PM]The process of “decommissioning” of legacy system and the usage(adoption) of oracle application system.

PM.010 – Define Transition Strategy

PM.020 – Design Production Support Infrastructure

PM.030 – Develop Transition and Contingency Plan

PM.040 – Prepare Production Environment

PM.050 – Set Up Applications

PM.060 – Implement Production Support Infrastructure

PM.070 – Verify Production Readiness

PM.080 – Begin Production

PM.090 – Measure System Performance

PM.100 – Maintain System

PM.110 – Refine Production System

PM.120 – Decommission Former Systems

PM.130 – Propose Future Business Direction

PM.140 – Propose Future Technical Direction

thanks – Shivmohan Purohit

Oracle Projects 11i & R12 – AutoAccounting – Concept & Overview

How does AutoAccounting work?

For each accounting transaction, you define rules to determine the appropriate account to charge. Each accounting transaction is identified by an AutoAccounting function. AutoAccounting functions are components of programs that you submit to generate accounting entries.

How do you implement AutoAccounting?

The steps are as follows:
a). Design your AutoAccounting setup based on your implementation data.
b). Define lookup sets. Navigation – Setup/AutoAccounting/Lookup Sets.
To define a lookup set, you specify pairs of values. For each intermediate value, you specify a corresponding account segment value. One or more related pairs of intermediate values and segment values form a lookup set.
You may need several lookup sets to map organizations to cost centers, expenditure types to account codes, event types to account codes, or for other situations where the segment value depends upon a particular predefined parameter.
You can use a lookup set more than once; several AutoAccounting rules can use the same lookup set.
You define and modify lookup sets using the AutoAccounting Lookup Sets window.
c). Define rules. Navigation – Setup/AutoAccounting/Rules.
Each AutoAccounting rule you define supplies one Accounting Flexfield segment value at a time. Thus, you need to specify one AutoAccounting rule for each segment in your Accounting Flexfield for each AutoAccounting transaction you want to use.
Some of the AutoAccounting rules you define can be quite simple, such as always supplying a constant company code or natural account. Others can draw upon context information (parameters), such as the revenue category for a particular posting or the organization that owns a particular asset. You can even use multiple parameters to provide a segment value.
You can reuse the same AutoAccounting rules for many different functions and their transactions.
You define rules based on project information that you enter. You can use these AutoAccounting parameters as input values to your rules. Note: AutoAccounting does not use Flexfield security rules when determining a valid account combination. You must define your AutoAccounting rules to determine the appropriate account based on the rules required by your company.
d). Assign rules for each function. Navigation – Setup/AutoAccounting/ Assignments.
When you are assigning rules to an AutoAccounting function, you may want to assign different rules to different conditions. For example, you may want to account for indirect projects using one set of rules, and use two different sets of rules for billable items and nonbillable items on contract projects.
To make it easy to do this, Oracle Projects provides function transactions to each function, which identifies commonly used conditions in which you may want to assign different rules.
You can assign rules to function transactions for each AutoAccounting function.
You complete the following steps to assign AutoAccounting rules to AutoAccounting functions and transactions:
Enable each transaction you want to use
For each transaction you enable, you specify an AutoAccounting rule for each segment of your Accounting Flexfield

How does AutoAccounting compare to Workflow Account Generator?

Both the account generation processes in Oracle Workflow and AutoAccounting in Oracle Projects can create account numbers dynamically, based on transactions in Oracle Projects. This section compares the Account Generator to AutoAccounting, and provides directions for:
Assigning a constant or lookup value to a segment
Assigning an attribute parameter to a segment
Deriving a segment value
Learning more about SQL functions to generate account codes




Workflow or Item Type Function



Defining and assigning rules to segments



Assigning a constant to a segment

Assigning a constant AutoAccounting rule to a segment

Assigning an attribute parameter to a segment

Assigning an AutoAccounting rule that uses a parameter, which becomes the value (a lookupset is not used)

Assigning a lookup set value to a segment

Assigning an AutoAccounting rule that passes a parameter to a lookup set to determine the segment value

Deriving a segment value by using SQL statements or If conditions

Using an AutoAccounting rule that derives the intermediate value or segment value via a SQL statement.


I have an AutoAccounting Error – where do I start?

In most cases, when a user encounters an AutoAccounting error when processing Oracle Projects transactions, you will utilize the debug log file to find the source of the error. Most AutoAccounting errors are specific and will provide you with enough information for troubleshooting purposes.  Setting the Profile Option ‘PA: Debug Mode’ = Yes will provide more detail information in the log file.


How can I find out which parameters are valid for an AutoAccounting Function?

Run the IMP: AutoAccounting Functions report.

Can I create or edit existing AutoAccounting transactions?

Oracle Projects predefines AutoAccounting transactions; you cannot modify them, or define additional transactions.

Oracle Interview Questions – Oracle Forms – Custom Development – FAQ

What is the ICX: Forms Launcher system profile option for?

This profile option is used by the Self Service Web Applications Personal Home Page (also known as ICX) to determine the base URL needed to launch an application, which in this case is a Forms application.

What should ICX: Forms Launcher be set to?

ICX: Forms Launcher –is set to ?http://machine_name:port/dev60cgi/f60cgi?. In Apps release 11i you can add some parameters to this URL to enable some Forms features like tracing.

FORMS60_TIMEOUT is an environment setting that determines the maximum idle time (in minutes) before f60webmx shuts down.  Note that it will only terminate an idle middle tier process, i.e. one which is waiting for the "next message" from the client. If the middle tier process is running a transaction or waiting for a query to complete it will not have take effect.

How do you enable Forms Runtime Diagnostics (FRD) in Apps?
To enable Forms Runtime Diagnostics (FRD):

– login to Apps as sysadmin
– click on Profile/System
– add the following to the end of its value at user level:

Note that like any Apps profiles you can do this on various levels e.g. site, user, etc. so that you target your FRD accordingly. Also be aware that FRD incurs significant overhead to Apps processing so disable it when not in use

How do you generate Apps Forms modules or FMB files?
Oftentimes as part of upgrading Forms or modifying a Form module or applying a patch modifying a Form module, you would encounter an issue that would necessitate manually regenerating the Forms module executable or FMX file. To do this you issue the following command:

f60gen module=form_name.fmb userid=apps/apps output_file=form_name.fmx module_type=form batch=yes compile_all=special

How do you generate Apps Forms library modules or PLL files?
To do this you issue the following command:

f60gen module=library_name.pll userid=apps/apps module_type=library batch=yes compile_all=special

How do you generate Apps Forms menu modules or MMB files?
Note that there is only one menu for Apps so it is rare that you need to regenerate the menu. To do this you issue the following command:

f60gen module=FNDMENU.mmb userid=apps/apps output_file=FNDMENU.mmx module_type=menu batch=yes compile_all=special

What is the sequence in which Forms resolves program unit calls?
Forms will attempt to resolve a program unit call in the following sequence:

Program Units node
Forms Library

Where can you find the source Forms modules for Apps?
Apps places all its source (FMB) files in the $AU_TOP/forms/<language> directory whereas the FMX files reside in their respective $PRODUCT_TOP/forms/<language> directory. On the other hand, all menu (MMB, MMX) and library (PLL and PLX) files are copied to the $AU_TOP/resource directory.

How can you find the version of Forms in Apps?
Once you are in an Apps form …

click on Help
click on About Oracle Applications

information is under the Current Form section. The Form Name corresponds to the FMB and FMX file for that form.  The Form Version corresponds to the release level of that form.

How can I open an Apps form in Forms Builder

If you want to open a product specific form, make sure you have all its associated forms and libraries copied over.  Since it is quite difficult to pinpoint exactly what this is, its best to just copy over the entire contents of $AU_TOP/forms/<language> and $AU_TOP/resource.

How can you confirm the version of the FMX or FMB file?
Oftentimes, once you determine the version and name of the current form you want to peek into the internal workings of the actual form itself. To ensure that you are peeking at the right release of the FMB file you can do the following:

$adident Header FNDSCSGN.fmb

If you simply copy the form over to a a machine that does not have Apps installed, you will run into is a lot of FRM-18108: "Failed to load the following objects" errors.  This is because an Apps form is usually dependent on a host of other forms, libaries and menus.

If you want to open the TEMPLATE.fmb form, make sure you have the following forms, libraries, copied over as well from the $AU_TOP/forms/<language> and $AU_TOP/resource directories:


What is a Forms Builder node?

    A Forms Builder node refers to the leaves and branches of its Object Navigator. The Object Navigator provides a hierarchical display of the objects in a Form modules.

       +Attached Libraries
       +Data Blocks
       +Object Groups
       +Pop Up Menus
       +Program Units
       +Property Classes
       +Record Groups
       +Visual Attributes
    +PL/SQL Libraries
    +Object Libraries
    +Built-In Packages
    +Database Objects

    Objects are grouped under their respective nodes. For example, all of the windows defined in a form module appear under the Windows node; all the LOVs defined in the form module appearunder the LOVs node and all the program units appear under the Program Units node.  It is important to familiarize yourself with this in case you need to navigate within an Apps form during the course of debugging a problem.



How To Make All The Responsibilities Read Only For A User

Here is a sample code could be used to make all the responsibilities read only for a specific user. I am sure we can use it in different variations.

1. Open the Custom.pll in the Form Builder.
2.Add the following sample code in the Procedure Event for the event WHEN-NEW-FORM-INSTANCE
3.Compile the Custom.pll and place under the directory $AU_TOP/resource

COPY(‘Entering app_form.query_only_mode.’,’global.frd_debug’);
formname := NAME_IN(‘system.current_form’);
blockname := GET_FORM_PROPERY(formname, FIRST_BLOCK);
WHILE (blockname is not null) LOOP
blockname := GET_BLOCK_PROPERTY(blockname, NEXTBLOCK);
END query_only_mode;

The above code will make all the Responsibilities read only for a specific user.

It will fundamentally make all the form functions to behave as passing the parameter QUERY_ONLY.

Oracle Project Intercompany Invoices to Payables

Friends, here is Oracle Project billing insight on its integration with AR. How to Interface Oracle Project Intercompany Invoices to Payables


To explain how intercompany invoices are interfaced to Payables


When the provider operating unit runs the Tieback Invoices from Receivables process, the intercompany invoices are automatically copied into the interface table of the receiver operating unit’s Payables. Intercompany invoices interfaced to Payables are identified with the following attributes:


Source. All intercompany invoices have a source of Projects Intercompany Invoices.

• Supplier. The supplier is identified by the provider operating unit’s internal billing implementation options.

• Supplier Site. The supplier site is based on how the provider operating unit defines the receiver controls for the receiver operating unit.

• Invoice Amount. The Payables invoice amount is the amount of the related Receivables invoice, including taxes. The interface process populates the project–related attributes for intercompany Payables invoice distributions, as indicated below:

• Project Number. The number of the cross charged project indicated in the invoice line.

Task Number. The number of the task specified in the Intercompany Tax Receiving Task field on the cross charged project.

• Expenditure Item Date. The invoice date of the intercompany Receivables invoice.

• Expenditure Type. The expenditure type specified by the receiver operating unit in the Receiver Controls tab.

Expenditure Organization. The expenditure organization specified by the receiver operating unit in the Receiver Controls tab.


In addition, the interface process matches the tax code from each invoice line of the Receivables invoice to the appropriate Oracle Payables tax code. This process indicates that the Payables invoice distributions do not include tax amounts, so that the Payables Open Interface process creates the invoice distributions for the entire invoice by grouping the tax lines based on the following attributes:


Tax code

Project information (project, task, expenditure item date, expenditure type, expenditure organization)

thanks – shivmohan purohit

Overview – Oracle Projects

Last few days I have been involved with the Oracle Projects module. I’ll try and put forth some basic learning of this module.

Oracle Projects is meant primarily for organizations that are project-oriented. Using this module, it becomes easy to track costs, budget and track the project status.


Oracle Projects consists of the following products:

• Oracle Project Costing

• Oracle Project Billing

• Oracle Project Connect for Microsoft Project

• Oracle Activity Management Gateway

• Oracle Project Analysis Collection Pack


Prior to Oracle Projects Setup, one has to setup the Set of Books in GL, setup Organization and Organization hierarchy in Oracle HRMS, define employees and job in HRMS and create customer in Oracle Receivables. However if Oracle Projects is being installed as a standalone package then one needs to define all above in Oracle Projects itself. Some other mandatory setups include defining locations, defining implementation options, defining Project Accounting periods, defining expenditure types and categories, define revenue categories, etc. Also one has to create a burdening hierarchy in Oracle HRMS which may vary from the Project or Task Organization hierarchy.


Invariably a Project is broken into a hierarchy of tasks as per Work Breakdown Structure (WBS, a hierarchy of tasks that rollup into a project) to manage project and task related information. One can define as many levels of tasks in a hierarchy in Oracle Projects. However, proper naming conventions need to be followed while naming projects, tasks and sub-tasks. An organization has to be associated with a project and a Task, which may be same or different.


One can have three different Project Types for managing the cost of a project: Indirect, Capital and Contract. An Indirect Project Type is used to track the overhead costs and labor hours for overhead activities like Admin, Legal, etc. Capital Project Type is selected to track costs and labor hours related to asset development activities which ultimately results in an asset for the organization. A Contract Project Type is selected in case the costs are reimbursed by a client.


Oracle Costing is the used for processing of expenditures for finding out costs which can be attributed to projects and tasks which can then be posted to GL corresponding to different account lines. There are two cost amounts associated to each transaction: Raw and Burdened. The raw cost is the actual cost of the work performed, and the burden cost is the indirect cost or overhead of work performed, like administrative cost. The Burden cost is calculated by multiplying Raw Cost with the Burden Multiplier. The burdened cost is the total cost that is incurred, i.e., the sum of raw cost and burden cost.

Burden Cost = Raw Cost x Burden Multiplier

Burdened Cost = Raw Cost + Burden Cost

More on Oracle Projects, primarily I’ll try and provide inputs on Burdening Cost and Oracle Project Billing in subsequent days.

SQL script to assist in the identification of Projects revenue issues

Project Billing

To provide an SQL script to assist in the identification of Projects (PA) revenue issues.

This script could prove very useful for PA revenue problems.  It will sum up all the accrued and unearned revenue, thus providing a figure for the total revenue against a project.


select   dr.draft_revenue_Num, sum(dri.amount) amt

from     pa_draft_Revenues dr, pa_draft_revenue_items dr

where    dri.project_id = dr.project_Id

and      dri.draft_revenue_Num = dr.draft_revenue_Num

and      dr.project_Id = &project_Id

group by dr.draft_revenue_Num;


Thanks – do share ur feedback – shivmohan