Since retirement for Oracle legacy methods, there was lot of queries on OUM vs AIM , therefore this post will help reader to know more about new method.
The OUM aka Oracle Unified Method supports the entire Enterprise IT Life cycle, including support for the successful implementation of every Oracle product.
It is a robust, technology agnostic methodology Oracle Methods …
  • Based on industry standards and field experience
  • Highly scalable to support project or program specific requirements
  • Iteratively developed through a continuous, evolutionary process
OUM Principal
This is based out of five main principles
  1. Business: Focus on the business and assure stake holder acceptance and delivery of the development’s efforts.
  2. Architecture: Define architecture before resources are committed for development and implementation.
  3. Adaptability: Encourages adaptability for scalable delivery across small and large projects possessing disparate resources and skill levels.
  4. Implementation: Provides rapid implementation techniques to ensure business solutions in short time frames
  5. Standards: Leverage the Unified Modeling Language and the Unified Software Development Process
OUM is able to…
Support the complete range of Oracle technology projects including
  • Service-Oriented Architecture (SOA)
  • Enterprise Integration
  • Custom Software
  • Enterprise Performance Management (EPM)
  • Business Intelligence (BI)
  • Enterprise 2.0
  • Enterprise Application Implementation
  • Software Upgrade
Currently Oracle Consulting using this methods, tools support a complete range of technology engagements.
In Summary… OUM structure
  • is a comprehensive set of method materials that is applicable to any type of information technology project.
  • is a plan-based method – that includes overview material on various approaches and standards.
  • It includes base guidelines for focus areas, views, phases, activities, processes and tasks, as well as work product descriptions.
OUM basically have focus areas and there underline phases and processes , in summary
OUM FOCUS AREAS
These 3 Focus Areas provide a frameworks for enterprise level planning, project and program management and implementing .
  1. Envision Focus Area deals with development and maintenance of enterprise level IT strategy, architecture, and governance. This also assists in the transition from enterprise-level planning and strategy activities to the identification and initiation of specific projects.
  2. Manage Focus Area provides a framework in which all types of projects can be planned, estimated, controlled, and completed in a consistent manner.
  3. Implement Focus Area This focus Area provides a framework to develop and implement Oracle-based business solutions .
Next let take a quick overview for Implement Focus area which got replacement of old methods like AIM Foundation, AIM for Business Flows, Compass, Results Roadmap, etc.
Understanding OUM’s Implement Focus
This focus area typically based out of milestone based approach.Typical Milestone are:
  • Life cycle objective milestone
  • Life cycle architecture milestone
  • Initial operation capability milestone
  • System in production milestone
  • Sign-off milestone
As mention earlier this comprises of 5 phases and 14 processes, details as follows:
OUM Project Phases
The Workflows within an OUM project are categorized into five phases: Inception, Elaboration, Construction,Transition, and Production. These phases are described below:
(A) Phase I: Inception :As the first phases in the project life cycle.Major goal of this phase is to achieve concurrence among all stakeholders on the lifecycle objectives for the project. Kick off’s, review , high-level business requirements along with initial project plan is being targeted in this phase only.
(B) Phase II: Elaboration :This is the second phases in the project life cycle, where major focus would be to develop the detailed requirements models, partition the solution, develop functional prototyping, and baseline the architecture of the system.
(C) Phase III: Construction :As the third phases in the project life cycle, Construction focuses on design, implementation, and testing of functions to develop a complete system.
(D) Phase IV: Transition :This typically consist from installation onto the production system through the UAT and launch of the live application, open and ready for business.
(E) Phase V: Production : The goal of the Production phase is to operate the newly developed system, assess the success of the system, and support the users. This includes: monitoring the system; acting appropriately to ensure continued operation; measuring system performance; operating and maintaining supporting systems; responding to help requests, error reports and feature requests by users; and managing the applicable change control process so that defects and new features are prioritized and assigned to future releases.
dgreybarrow OUM Process – Typically OUM process defined as “A discipline or sub-project that defines a set of tasks related by subject matter, required skills, and common dependencies”. A process usually spans several phases in an approach.
All OUM tasks are also organized into processes that group related tasks together. Project team members are assigned to these groupings according to their specialization and background. OUM includes the following 14 processes
Oracle Unified Method (OUM)
  1. BUSINESS REQUIREMENTS [RD] – Objective of the Business Requirements process is to identify, refine, and prioritize the business requirements for the proposed system
  2. REQUIREMENTS ANALYSIS [RA]– Objective of the Requirements Analysis process is to further analyze the requirements identified during the Business Requirements process as the basis for analysis and design.
  3. ANALYSIS [AN]– Objective of the Analysis process is to analyze, refine, and structure the system requirements via the Analysis Model.
  4. DESIGN [DS] – Objective of the Design process is to translate requirements into a system design that meets all functional and supplemental requirements.
  5. IMPLEMENTATION [IM] – Objective of the Implementation process is to develop the final system, through a number of iterative steps.
  6. TESTING [TE]– The Testing process is an integrated approach to testing the quality and conformance of all elements of the new system.
  7. PERFORMANCE MANAGEMENT [PT]– Objective of the Performance Management process is to define, construct, and execute an effective approach to managing performance throughout the project life cycle.
  8. TECHNICAL ARCHITECTURE [TA]– Objective of the Technical Architecture process is to design an information system architecture that realizes the business vision.
  9. DATA ACQUISITION AND CONVERSION [CV]– Objective of the Data Acquisition and Conversion process is to convert all legacy data necessary for the operation of the new system.
  10. DOCUMENTATION [DO]– Objective of the Documentation process is to develop documentation that augments product manuals with information about custom software and business procedures.
  11. ORGANIZATIONAL CHANGE MANAGEMENT [OCM]– Objective of the Organizational Change Management process is to identify the human and organizational challenges of the project in order to mitigate risk.
  12. TRAINING [TR]– Objective of the Training process is to adequately train the project team to begin the project and train the users to run the new system.
  13. TRANSITION [TS]– Objective of the Transition process is to install the system and go production.
  14. OPERATIONS AND SUPPORT [PS]– Objective of the Operations and Support process is to monitor and respond to system problems to fix errors and performance problems and plan enhancements.
Believe with this method companies get simplified project management, improved planning, reduced risk which make them manage project within time within Budget.Next post will more the details for other Focus area.Keep watching this space.
Last week there was an email from Oracle for retirement for legacy Methods like AIM Advantage, AIM for Business Flows, EMM Advantage. These methods and Methodology been used by mostly Oracle Consulting,and there partners. The retirement date is January 31, 2011. Going Forward , OUM is going to be replaced by these methods, and not to forgot OUM version 5.3 was released a month back (November 13,2010).
OUM aka ORACLE UNIFIED METHOD is currently available to certified Oracle Partners(Platinum and Gold) and it is not freely downloadable publically. OUM supports the complete range of Oracle technology projects including:
  • Oracle Database
  • Oracle E-Business Suite
  • Oracle Enterprise 2.0
  • Oracle Fusion Middleware
  • Oracle Service-Oriented Architecture (SOA)
  • Oracle Business Intelligence – Applications
  • Oracle Business Intelligence – Technology
  • Oracle Data Warehousing
  • Governance, Risk, & Compliance (GRC)
  • Identity Management (IdM)
  • Oracle Transportation Management
  • Performance Management – Business Intelligence and Analytics
  • JD Edwards EnterpriseOne
  • PeopleSoft Enterprise
  • Siebel
Will keep you posted with some more updated on OUM time to time.
Here I am trying to describe R12 SLA(Sub Ledger Accounting) Procedure.
1) All accounting performed before transfer to the GL. Accounting data generated and stored in “Accounting Events” tables prior to transfer to GL


2) Run “Create Accounting” to populate accounting events (SLA) tables. User can “View Accounting” only after “Create Accounting” is run. Create Accounting process


– Applies accounting rules

 Loads SLA tables, GL tables
 Creates detailed data per accounting rules, stores in SLA “distribution links” table

3) Below are the key tables for SLA in R12


XLA_AE_HEADERS xah

XLA_AE_LINES xal


XLA_TRANSACTION_ENTITIES xte


XLA_DISTRIBUTION_LINKS xdl


GL_IMPORT_REFERENCES gir


Below are the possible joins between these XLA Tables

xah.ae_header_id = xal.ae_header_id



xah.application_id = xal.application_id


xal.application_id = xte.application_id


xte.application_id = xdl.application_id


xah.entity_id = xte.entity_id


xah.ae_header_id = xdl.ae_header_id


xah.event_id = xdl.event_id


xal.gl_sl_link_id = gir.gl_sl_link_id


xal.gl_sl_link_table = gir.gl_sl_link_table


xah.application_id = (Different value based on Module)



xte.entity_code =

‘TRANSACTIONS’ or


‘RECEIPTS’ or


‘ADJUSTMENTS’ or


‘PURCHASE_ORDER’ or


‘AP_INVOICES’ or


‘AP_PAYMENTS’ or


‘MTL_ACCOUNTING_EVENTS’ or


‘WIP_ACCOUNTING_EVENTS’



xte.source_id_int_1 =


‘INVOICE_ID’ or


‘CHECK_ID’ or


‘TRX_NUMBER’


XLA_DISTRIBUTION_LINKS table join based on Source Distribution Types

xdl.source_distribution_type = ‘AP_PMT_DIST’


and xdl.source_distribution_id_num_1 = AP_PAYMENT_HIST_DISTS.payment_hist_dist_id


—————


xdl.source_distribution_type = ‘AP_INV_DIST’


and xdl.source_distribution_id_num_1 = AP_INVOICE_DISTRIBUTIONS_ALL.invoice_distribution_id


—————


xdl.source_distribution_type = ‘AR_DISTRIBUTIONS_ALL’


and xdl.source_distribution_id_num_1 = AR_DISTRIBUTIONS_ALL.line_id


and AR_DISTRIBUTIONS_ALL.source_id = AR_RECEIVABLE_APPLICATIONS_ALL.receivable_application_id


—————


xdl.source_distribution_type = ‘RA_CUST_TRX_LINE_GL_DIST_ALL’


and xdl.source_distribution_id_num_1 = RA_CUST_TRX_LINE_GL_DIST_ALL.cust_trx_line_gl_dist_id


—————


xdl.source_distribution_type = ‘MTL_TRANSACTION_ACCOUNTS’


and xdl.source_distribution_id_num_1 = MTL_TRANSACTION_ACCOUNTS.inv_sub_ledger_id


—————


xdl.source_distribution_type = ‘WIP_TRANSACTION_ACCOUNTS’


and xdl.source_distribution_id_num_1 = WIP_TRANSACTION_ACCOUNTS.wip_sub_ledger_id


—————


xdl.source_distribution_type = ‘RCV_RECEIVING_SUB_LEDGER’


and xdl.source_distribution_id_num_1 = RCV_RECEIVING_SUB_LEDGER.rcv_sub_ledger_id.

Hope this will help you.
Prerequisites:


Step1 : Create the Element and Element links
Step2: write the fast formula
Step3: Attach the fast formula in Formula Results

Package used to call the fast formula from the backed : ff_exec

Simple Code Snippet below: 

      l_formula_id        NUMBER;
      l_element_inputs    ff_exec.inputs_t;
      l_element_outputs   ff_exec.outputs_t;
      l_in_count          NUMBER;
      l_out_count         NUMBER;
      l_pay_value         NUMBER;

   BEGIN

      BEGIN
         SELECT formula_id
           INTO l_formula_id
           FROM ff_formulas_f
          WHERE formula_name = ‘XX_PAYROLL_FORMULA’
          AND p_effective_date BETWEEN effective_start_date  
             AND effective_end_date;
      EXCEPTION 
      WHEN OTHERS 
      THEN
      DBMS_OUTPUT.put_line (‘NO formula exists’);
      END;

      IF l_formula_id IS NOT NULL

      THEN

— Insert FND_SESSIONS row ( Optional )

  INSERT INTO fnd_sessions
             ( session_id, 
               effective_date
             )
        VALUES 
            ( USERENV (‘sessionid’), 
              p_effective_date
             );


— Initialize the formula.


ff_exec.init_formula (l_formula_id,
                      p_effective_date,
                      l_element_inputs,
                      l_element_outputs
                      );


— Loop through the Input Values

FOR l_in_count IN l_element_inputs.FIRST .. l_element_inputs.LAST
    LOOP

    —
    — Pass The each Input value name and its Value : Eg: START_DATE and p_start_date
    —    
       IF (l_element_inputs (l_in_count).NAME = ‘START_DATE’)
        THEN
           l_element_inputs (l_in_count).VALUE :=
                fnd_date.date_to_canonical (p_start_date);
        END IF;

END LOOP;


–Run The formula


ff_exec.run_formula (l_element_inputs, l_element_outputs);


— Get the Out Put Values

FOR l_out_count IN l_element_outputs.FIRST .. l_element_outputs.LAST

    LOOP
      —
      — Get all the Out Put Values Here L_PAY_VALUE is the out put value
      —
      IF (l_element_outputs (l_out_count).NAME = ‘L_PAY_VALUE’)
        THEN
           l_pay_value := l_element_outputs (l_out_count).VALUE;
      END IF;

    END LOOP;

RETURN (l_pay_value);

END;

FND MESSAGES:
Here i am Explaining  how to create Fnd Messages  via  E-Business suite  and the implementation of message retrieval via the pl/sql API package provided with Oracle Applications.
Creating an Oracle E-Business Suite Message

To create a message in the E-Business suite message library you will need the “Application Developer” responsibility.
Navigate to Application Developer > Application > Messages. This will launch a form

Enter a unique name for your message
Eg: XX_CUSTOMER_MSG
Select the language that your message is written in and the application that the message belongs
Enter the message text in the “Current Message Text” box.
Eg: This is my first message
Click the save icon.

Retrieving a message using PL/SQL:

In order to retrieve the message from the database we need to use a standard API’s in the FND_MESSAGE package.
An E-Business suite message should be retrieved as follows:
1. Clear the current session of any message variables that may already be set
2. Tell E-Business suite which message you wish to retrieve
3. Retrieve the actual message string
4. Clear the session (Optional)

Below is the PL/SQL Block to retrive the message

DECLARE
 my_message VARCHAR2(100);

 BEGIN

  –Initialize Apps Session
  fnd_global.apps_initialize( user_id      => 1234
                             ,resp_id      => 1235
                             ,resp_appl_id => 1236
                           );
                         
  /*–Note: You will get the uer_id, resp_id and Resp_appl_id using below Query
    select fnd.user_id ,
         fresp.responsibility_id,
         fresp.application_id
  from   fnd_user fnd,
         fnd_responsibility_tl fresp
  where  fnd.user_name = ‘OEAG’
  and    fresp.responsibility_name = ‘Custom HRMS Responsibility‘;
  */
 
  –Clear the existing session
  FND_MESSAGE.CLEAR;

  –Tell e business suite which message you want (custom application short name/message name) 
  FND_MESSAGE.SET_NAME(‘XXERP’,’XX_CUSTOMER_MSG’);

  –Retrieve the message
  my_message := FND_MESSAGE.GET;  

  –Output the message
  DBMS_OUTPUT.PUT_LINE(my_message);
 END;

Output for the Above Block Is : This is my first message

Using Tokens in the message:

The Oracle E-Business suite allows the substitution of tokens within a message string to enable the programmer to add dynamic content to the message at run time.
Open the E-Business Suite message create a New Message
Navigate to Application Developer > Application > Messages. This will launch a form

Enter a unique name for your message
Eg: XX_UNAME_TOKEN_MSG
Select the language that your message is written in and the application that the message belongs
Enter the message text in the “Current Message Text” box.
Eg: This is my second message and the Token User name is &USERNAME
Click the save icon.
Note: In order to insert a token into a message it is necessary to prefix the token with a ampersand e.g. &USERNAME
Retrieving message With Token Substitution
Here USERNAME is called as TOKEN, we will Add the value dynamically

Example Block  is below:

DECLARE
 my_message VARCHAR2(100);
BEGIN
 –Initialize Apps Session
 fnd_global.apps_initialize( user_id      => 1234
                            ,resp_id      => 1235
                            ,resp_appl_id => 1236
                           );
                         
  /*–Note: You will get the uer_id, resp_id and Resp_appl_id using below Query
    select fnd.user_id ,
         fresp.responsibility_id,
         fresp.application_id
  from   fnd_user fnd,
         fnd_responsibility_tl fresp
  where  fnd.user_name = ‘OEAG’
  and    fresp.responsibility_name = ‘Custom HRMS Responsibility’;
  */
 
 –Clear the existing session
 FND_MESSAGE.CLEAR;

 –Tell e business suite which message you want (Application short name/message name)
 FND_MESSAGE.SET_NAME(‘XXERP‘,’XX_UNAME_TOKEN_MSG’);

  –Set the username message token with the current applications user
 FND_MESSAGE.SET_TOKEN(‘USERNAME’,FND_GLOBAL.USER_NAME);

 –Retrieve the message
 my_message := FND_MESSAGE.GET;

 –Output the message
 DBMS_OUTPUT.PUT_LINE(my_message);
END;

Out put for above block is : 

This is my second message and the Token User name is IAMKRISHNA

Downloading and Uploading Messages using the Generic Loader

To download our example message we would use the following command at the Unix prompt on the mid-tier:
 
FNDLOAD apps/apps 0 Y DOWNLOAD $FND_TOP/patch/115/import/afmdmsg.lct XX_UNAME_TOKEN_MSG.ldt
FND_NEW_MESSAGES APPLICATION_SHORT_NAME=’PER’ MESSAGE_NAME=”XX_UNAME_TOKEN_MSG”

To Upload our example message we would use the following command at the Unix prompt on the mid-tier:

FNDLOAD apps/apps 0 Y UPLOAD $FND_TOP/patch/115/import/afmdmsg.lct XX_UNAME_TOKEN_MSG.ldt