Thursday, 9 June 2011

KEY FLEX FIELDS (KFF)


KEY FLEX FIELDS (KFF)

KFF are used to capture mandatory or Key Business information of the Organization. Each Key Flex Field is having its won base Table.
key flexfield is a field made up of segments, each of which has both a value and a meaning. You can think of a key flexfield as an “intelligent” field that your business can use to store information represented as codes.
Most organizations use codes to identify general ledger accounts, part numbers, and other business entities. Each segment in the code represents a characteristic of the entity. A combination of segment values, also known as a key flexfield code combination, uniquely describes a business entity stored in a key flexfield.
The organization decides the following four basic information for each key flexfield:
  1. How many segments an entity has?
  2. What each segment means?
  3. What values each segment can have?
  4. What each segment value means?
Few Key Flexfields in different oracle modules are:
Module: GL
  1. Accounting
Module: HRMS
  1. Job
  2. Position
  3. Grade
  4. Personal Analysis   
Module: Inventory
  1. Account Aliases
  2. Item Catalogs
  3. Item Categories
  4. Sales Orders
  5. Stock Locations
  6. System Items
Module: Fixed Assets
  1. Asset
  2. Category
  3. Location
Module: AR
  1. Sales Tax Location
  2. Territory
Note:
Flexfields consists of Structures > Structures consists of Segments > Segments consists of Value Set >Value Set consists of Parameters.
Main Tables:
FND_ID_FLEXS:
This table captures the information of all the Key FlexFields. The main columns in this table are:
  • APPLICATION_ID ‐ Column consists of Application ID
  • ID_FLEX_CODE ‐ Column KFF Code (like ‘GL#’, ‘AR#’ etc.)
  • ID_FLEX_NAME  -  KFF Name (like ‘Accounting Flexfield’, ‘Category Flexfield’..etc.)
  • APPLICATION_TABLE_NAME – Name of combination table (like ‘GL_CODE_COMBINATIONS’ , ‘FA_LOCATIONS’ etc.)
FND_ID_FLEX_STRUCTURES:
This table stores structure information about key Flexfields. Each Structure is uniquely identified by
  • APPLICATION_ID – Module Code
  • ID_FLEX_CODE  – Code of KFF
  • ID_FLEX_NUM – Number of a Structure
FND_ID_FLEX_SEGMENTS:
It captures the information of Segments. Each Segment is Uniquely identified by
  • APPLICATION_ID – Module Code
  • ID_FLEX_CODE – Key Flexfield code
  • ID_FLEX_NUM – Key flexfield structure number
  • SEG_NUM – Segment number
  • FLEX_VALUE_SET_ID – Flexfield value set identifier
FND_FLEX_VALUE_SETS:
This table captures the information of each Segment’s Value Set. Each Value Set is Uniquely identified by FLEX_VALUE_SET_ID as Foreign Key of FND_ID_FLEX_SEGMENTS Table.
FND_FLEX_VALUES:
This table captures the information each Value codes of a Value Set of a Segment. Each Value Code is uniquely identified by
  • FLEX_VALUE_SET_ID
  • FLEX_VALUE_ID
FND_FLEX_VALUES_TL:
This table captures the information of each Value Description of a Value Set of a Segment. Each Value Description is uniquely identified by FLEX_VALUE_ID.
Query:


select  FIF.APPLICATION_ID  ,
        FIF.ID_FLEX_CODE    ,
        FIF.ID_FLEX_NAME    ,
        FIF.APPLICATION_TABLE_NAME ,
        FIF.DESCRIPTION     ,
        FIFS.ID_FLEX_NUM    ,
        FIFS.ID_FLEX_STRUCTURE_CODE  ,
        FIFSE.SEGMENT_NAME,
        FIFSE.SEGMENT_NUM,
        FIFSE.FLEX_VALUE_SET_ID
from    FND_ID_FLEXS FIF    ,
        FND_ID_FLEX_STRUCTURES FIFS ,
        FND_ID_FLEX_SEGMENTS FIFSE
where   FIF.APPLICATION_ID = FIFS.APPLICATION_ID
and     FIF.ID_FLEX_CODE   = FIFS.ID_FLEX_CODE
and     FIFSE.APPLICATION_ID = FIF.APPLICATION_ID
and     FIFSE.ID_FLEX_CODE = FIF.ID_FLEX_CODE
and     FIFSE.ID_FLEX_NUM = FIFS.ID_FLEX_NUM
and     FIF.ID_FLEX_CODE LIKE 'GL#'
and     FIF.ID_FLEX_NAME LIKE 'Accounting Flexfield';
Steps required to register a New Key Flexfield (KFF):
1] Create a KFF Table in Module Specific Schema.
2] Create a Public Synonym in APPS Schema.
3] Register the Table with AOL Module.
Go to Application Developer > Functions > Application > Database > Table
We can also register a Table using Application DBA Data Definitions (AD_DD) Package from the Back End.

procedure register_table
(p_appl_short_name in varchar2,
p_tab_name in varchar2,
p_tab_type in varchar2,
p_next_extent in number default 512,
p_pct_free in number default 10,
p_pct_used in number default 70);
procedure register_column
(p_appl_short_name in varchar2,
p_tab_name in varchar2,
p_col_name in varchar2,
p_col_seq in number,
p_col_type in varchar2,
p_col_width in number,
p_nullable in varchar2,
p_translate in varchar2,
p_precision in number default null,
p_scale in number default null);
You can also use the AD_DD API to delete the registrations of tables and columns from Oracle Application Object Library tables.
4] Register the KFF with AOL Module.
Go to Application Developer > FlexField > Key > Register


post signature

Finding SQL Queries on Java Page in oracle apps



Finding SQL Queries  on Java Page in oracle apps

Here are the steps to view the SQL Statements from Java User Interface (UI) Pages. For the purpose of this exercise, we will look at the query used to retrieve Bank Accounts attached to a Customer Site.
1. Update the following Profile Option Values to YES at user level
  • FND: Diagnostics
  • Personalize Self-Service Defn
2. Go to the Java UI Page where the SQL Query executes. In this example we go to Customers > Customer Sites.
3. Click on the link ‘About this Page’ in the bottom Left Hand Side of the page.
4. Navigate to the Page Tab on the Top Left Hand Side of the page.
5. In the Business Component References Details Section (You may need to expand this section), Go to theView Objects Sub Section.
6. Find the Object that describes the piece of information that you want to find the query for. In this case it’s Bank Accounts. The relevant Object has been highlighted (I searched the HTML for bank to find this).
7. Click on the link.
The full Query used can be cut and pasted into a SQL Editor and the query run.
Note: You will have to find the Bind Variables passed to the query in order to do this!! This may be found by looking up one of the previous queries.



post signature

Oracle Application:Data Model


Oracle Application:Data Model
When we install Oracle Database by default system will creates SYS and SYSTEM schemas. These consist of all Data Dictionary Tables. Like this if we install Oracle Applications System will automatically creates schemas of all Modules (i.e. GL, AR, AP, etc.) with the respective module name as User and Password. Along with these schemas some special Schemas i.e. APPS, APPLSYS, APPLSYSPUB will be created for special purpose.
APPS Schema:
  • It is Public Schema.
  • The APPS schema is an ORACLE schema that has access to the complete Oracle Applications data model. It is analogous to the SYSTEM schema, which has access to the entire database.
  • AutoInstall creates the necessary grants and synonyms between the schemas.
  • Oracle Applications responsibilities connect to an APPS schema.
  • There is one APPS schema for every product installation group.
  • It consists of a collection of public synonym of all the objects of all the schemas in the Application database. All the Procedures, Functions and Packages created must be stored in this Schema.
APPLSYS Schema:
This is a special Schema consists of the files starts with FND, ALR, WF and AD.
APPLSYSPUB Schema:
This schema is a collection of public synonyms of all FND Tables, which are used for User verification. This is the Gate Way User ID of Oracle Applications.
Few Other Base Product Schemas:
  • GL ( General Ledger )
  • INV ( Inventory)
  • AP ( Accounts Payables)
  • APPLSYS ( Application Object Library)
  • ALR ( Alerts)

Implementation Documentation


Implementation Documentation

Following are the list of standard documentation that needs to be prepared for Oracle Applications Implementation.

You can download the documentation templates from http://download-east.oracle.com/partners/265498.EXE. After installation you can find the templates in C:\Method\OM30\AIM30\AIM30FND\Wordlib path.

Among this list most important documentation for Oracle Apps implementation are MD030, MD040, MD120, BR.100, MD050, MD070, TE020.

Technical consultants read MD050 and write MD070, TE020.


Business Process Architecture

BP.010 Define Business and Process Strategy
BP.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



Business Requirements Definition (RD)

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


Business Requirements Mapping

BR.010 Analyze High-Level Gaps
BR.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


Application and Technical Architecture

TA.010 Define Architecture Requirements and Strategy
TA.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


Module Design and Build

MD.010 Define Application Extension Strategy
MD.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


Data Conversion

CV.010 Define data conversion requirements and strategy
CV.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


Documentation

DO.010 Define documentation requirements and strategy
DO.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


Business System Testing

TE.010 Define testing requirements and strategy
TE.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


Perfomance Testing

PT.010 - Define Performance Testing Strategy
PT.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


Adoption And Learning

AP.010 - Define Executive Project Strategy
AP.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


Production Migration

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

post signature

Oracle Open Interface


Oracle Open Interface

What is Oracle open interfaces?

Open interfaces used to integrate Oracle Applications with the non-oracle systems.
such as
1. Import data from your custom applications or legacy systems.
2. Migrate the old custom application data to the Oracle applications.
3. Import data from the banks, partners, suppliers, customers etc.


What is conversion?

Conversion is a one time Interface to migrate data from legacy application to the Oracle


Inbound Interface
The Interface which transforms and loads the data into the Oracle Applications system is called inbound interface.


Outbound Interface
The Interface which extracts the data from the oracle Application system for the purpose of loading into the external system is called outbound interface.


Common approach to interface is
  1. Data would be extracted from the source machine and loaded into the custom table (stagging table) in Oracle apps database. Depending upon the complexity of the data Stagging table can be avoided.
  2. The extracted data is then transformed into a form which oracle can recognize and pushed into interface tables.
  3. Final step is load the data from interface table to base table of Oracle applications.
This whole process is called extract load and transformation (ETL).


Oracle provides Interface tables for data intensive applications like Invoice, receipts, journals etc and PL/SQL APIs for master data interfaces like people, items, suppliers etc.


Traditional approach used sql Loader to load the data and pl/sql program to validate and extract data.
Modern approach uses BPEL, ESB for online data interfaces and Oracle Data Integrator for data intensive batch processing.


Common Interface technologies
1. XML Gateway
2. SQL*Loader
3. DB Link
4. Java Concurrent Program
5. BPEL or ESB
6. Oracle Data Integrator or ODI
7. PL/SQL package for reading file or XML data
8. Oracle Advanced Queuing
post signature

GL Interface Tables


GL Interface Tables

GL_BUDGET_INTERFACE 
Used to upload budget data into your Oracle General Ledger application

GL_DAILY_RATES_INTERFACE
Used to insert, update, or delete daily rates in the GL_DAILY_RATES table.

GL_IEA_INTERFACE
Used to create intercompany transaction data.

GL_INTERFACE
Used to create journal entries, Transfers source information into a target set of books, Creates accounting for Intercompany Transactions etc.

Base Tables
Following are the base table for Journal entry.
GL_JE_HEADERS
GL_JE_LINES
GL_JE_BACTHES

Concurrent program
Journal Import
Journal Posting


GL_INTERFACE_CONTROL
GL_INTERFACE_HISTORY