Вы находитесь на странице: 1из 181

DATA CONVERSIONS HAND BOOK

Data Conversions Hand Book

Contents
Document Control....................................................................................................7 Introduction............................................................................................................8 Item Master.............................................................................................................9 Conversion Short Description..................................................................................................................................10 Data Category: .......................................................................................................................................................10 Interface Tables........................................................................................................................................................10 Concurrent Program / / / /APIs................................................................................................................................10 Parameters ...............................................................................................................................................................11 Setups/Pre-requisites ...............................................................................................................................................12 Process Flow Diagram ............................................................................................................................................13 Different ways of using the program / API..............................................................................................................14 Field Mapping details..............................................................................................................................................16 Validation Logic......................................................................................................................................................16 Errors and Solutions.................................................................................................................................................17 Data Validation Techniques ....................................................................................................................................18 Tuning Methods.......................................................................................................................................................18 Appendix A Links to Oracle Documentation.......................................................................................................18 Appendix A Definitions........................................................................................................................................20 INSTALLBASE.........................................................................................................22 Conversion Short Description..................................................................................................................................24 Data Category: .......................................................................................................................................................24 Interface Tables........................................................................................................................................................24 Base Tables..............................................................................................................................................................24 Concurrent Program / /APIs.....................................................................................................................................24 Parameters ...............................................................................................................................................................25 Setups/Pre-requisites ...............................................................................................................................................25 Process Flow Diagram ............................................................................................................................................26 Ways of using the program / API............................................................................................................................28 Field Mapping details..............................................................................................................................................30 .................................................................................................................................................................................30 Validation Logic......................................................................................................................................................30 Errors and Solutions.................................................................................................................................................30 Data Validation Techniques ....................................................................................................................................32 Tuning Methods.......................................................................................................................................................32 Appendix A Links to Oracle Documentation.......................................................................................................32 Appendix A Definitions........................................................................................................................................33 INVENTORY TRANSACTIONS....................................................................................35 Conversion Short Description..................................................................................................................................36 Data Category: .......................................................................................................................................................36 Interface Tables........................................................................................................................................................36 Base Tables..............................................................................................................................................................37 Concurrent Program / /APIs.....................................................................................................................................37 Parameters ...............................................................................................................................................................37 Setups/Pre-requisites ...............................................................................................................................................37 Process Flow Diagram ............................................................................................................................................38 Ways of using the program / API............................................................................................................................40 Field Mapping details..............................................................................................................................................42 Validation Logic......................................................................................................................................................43 Errors and Solutions.................................................................................................................................................43

Data Conversions Hand Book

Data Validation Techniques ....................................................................................................................................44 Tuning Methods.......................................................................................................................................................44 Appendix A Links to Oracle Documentation.......................................................................................................44 Appendix A Definitions........................................................................................................................................45 Customer Master...................................................................................................46 Conversion Short Description..................................................................................................................................47 Data Category: .......................................................................................................................................................47 Interface Tables........................................................................................................................................................47 Base Tables..............................................................................................................................................................48 Error Tables.............................................................................................................................................................48 Concurrent Program / /APIs.....................................................................................................................................48 Parameters ...............................................................................................................................................................48 APIs Involved..........................................................................................................................................................48 Setups/Pre-requisites ...............................................................................................................................................49 Process Flow Diagram ............................................................................................................................................50 Field Mapping details..............................................................................................................................................51 Validation Logic......................................................................................................................................................53 Errors and Solutions.................................................................................................................................................61 PO Vendors............................................................................................................63 Conversion Short Description..................................................................................................................................64 Data Category..........................................................................................................................................................64 Interface Tables........................................................................................................................................................64 Concurrent Program / /APIs.....................................................................................................................................64 Parameters ...............................................................................................................................................................64 Setups/Pre-requisites ...............................................................................................................................................65 Process Flow Diagram ............................................................................................................................................66 Different scenarios of using the program / API.......................................................................................................68 Field Mapping details..............................................................................................................................................71 Validation Logic......................................................................................................................................................71 Errors and Solutions.................................................................................................................................................72 Data Validation Techniques ....................................................................................................................................73 Tuning Methods.......................................................................................................................................................73 Appendix A Links to Oracle Documentation.......................................................................................................73 CRM Resources......................................................................................................74 Conversion Short Description..................................................................................................................................75 Data Category..........................................................................................................................................................75 Interface Tables........................................................................................................................................................75 Concurrent Program / /APIs.....................................................................................................................................75 Parameters ...............................................................................................................................................................75 Setups/Pre-requisites ...............................................................................................................................................76 Process Flow Diagram ............................................................................................................................................77 Technical Flow Diagram for the Loading data from staging tables to Oracle base tables:.....................................78 Different scenarios of using the APIs......................................................................................................................81 Field Mapping details.............................................................................................................................................83 Validation Logic......................................................................................................................................................83 Errors and Solutions.................................................................................................................................................84 Data Validation Techniques ....................................................................................................................................85 Tuning Methods.......................................................................................................................................................85 Appendix A Links to Oracle Documentation.......................................................................................................85 Appendix A Definitions........................................................................................................................................86 Counters Load.......................................................................................................88 Conversion Short Description..................................................................................................................................89 Data Category: .......................................................................................................................................................89 Interface Tables........................................................................................................................................................89 Base Tables..............................................................................................................................................................89 Error Tables.............................................................................................................................................................89

Data Conversions Hand Book

Concurrent Program / /APIs.....................................................................................................................................89 Parameters ...............................................................................................................................................................89 APIs Involved..........................................................................................................................................................89 Setups/Pre-requisites ...............................................................................................................................................90 Process Flow Diagram ............................................................................................................................................91 Field Mapping details..............................................................................................................................................92 Validation Logic......................................................................................................................................................92 Errors and Solutions.................................................................................................................................................97 AR Receipts Open & Closed....................................................................................98 Conversion Short Description..................................................................................................................................99 Data Category: .......................................................................................................................................................99 Interface Tables........................................................................................................................................................99 Base Tables..............................................................................................................................................................99 Error Tables.............................................................................................................................................................99 Concurrent Program / /APIs.....................................................................................................................................99 Parameters ...............................................................................................................................................................99 APIs Involved..........................................................................................................................................................99 Setups/Pre-requisites .............................................................................................................................................100 Process Flow Diagram ..........................................................................................................................................101 Field Mapping details............................................................................................................................................102 Validation Logic....................................................................................................................................................102 Errors and Solutions...............................................................................................................................................103 GL Balances Load.................................................................................................104 Conversion Short Description................................................................................................................................105 Data Category: .....................................................................................................................................................105 Interface Tables......................................................................................................................................................105 Base Tables............................................................................................................................................................105 Error Tables...........................................................................................................................................................105 Concurrent Program / /APIs...................................................................................................................................105 Parameters .............................................................................................................................................................105 APIs Involved........................................................................................................................................................105 Setups/Pre-requisites .............................................................................................................................................106 Process Flow Diagram ..........................................................................................................................................107 Field Mapping details............................................................................................................................................108 Validation Logic....................................................................................................................................................108 Errors and Solutions...............................................................................................................................................108 GL Budget Load....................................................................................................110 Conversion Short Description................................................................................................................................111 Data Category: .....................................................................................................................................................111 Interface Tables......................................................................................................................................................111 Base Tables............................................................................................................................................................111 Error Tables...........................................................................................................................................................111 Concurrent Program / /APIs...................................................................................................................................111 Parameters .............................................................................................................................................................111 APIs Involved........................................................................................................................................................111 Setups/Pre-requisites .............................................................................................................................................112 Process Flow Diagram ..........................................................................................................................................113 Field Mapping details............................................................................................................................................114 Validation Logic....................................................................................................................................................114 Appendix A Definitions......................................................................................................................................115 AR Invoices Open & Closed...................................................................................116 Conversion Short Description................................................................................................................................117 Data Category: .....................................................................................................................................................117 Interface Tables......................................................................................................................................................117 Base Tables............................................................................................................................................................117 Error Tables...........................................................................................................................................................117

Data Conversions Hand Book

Concurrent Program / /APIs...................................................................................................................................117 Parameters .............................................................................................................................................................117 APIs Involved........................................................................................................................................................117 Setups/Pre-requisites .............................................................................................................................................118 Process Flow Diagram ..........................................................................................................................................119 Field Mapping details............................................................................................................................................120 Validation Logic....................................................................................................................................................120 Purchase Orders..................................................................................................124 Conversion Short Description................................................................................................................................125 Data Category: .....................................................................................................................................................125 Interface Tables......................................................................................................................................................125 Base Tables............................................................................................................................................................125 Error Tables...........................................................................................................................................................125 Concurrent Program / /APIs...................................................................................................................................125 Parameters .............................................................................................................................................................125 APIs Involved........................................................................................................................................................125 Setups/Pre-requisites .............................................................................................................................................126 Process Flow Diagram ..........................................................................................................................................127 Field Mapping details............................................................................................................................................128 Validation Logic....................................................................................................................................................128 Bill of Material.....................................................................................................132 Conversion Short Description................................................................................................................................133 Data Category: .....................................................................................................................................................133 Interface Tables......................................................................................................................................................133 Base Tables............................................................................................................................................................133 Error Tables...........................................................................................................................................................133 Concurrent Program / /APIs...................................................................................................................................133 Parameters .............................................................................................................................................................133 APIs Involved........................................................................................................................................................133 Setups/Pre-requisites .............................................................................................................................................134 Process Flow Diagram ..........................................................................................................................................135 Field Mapping details............................................................................................................................................136 Validation Logic....................................................................................................................................................136 Errors and Solutions:..............................................................................................................................................137 PO Receipts (Open)..............................................................................................138 Conversion Short Description................................................................................................................................139 Data Category: .....................................................................................................................................................139 Interface Tables......................................................................................................................................................139 Base Tables............................................................................................................................................................139 Error Tables...........................................................................................................................................................139 Concurrent Program / /APIs...................................................................................................................................139 Parameters .............................................................................................................................................................139 APIs Involved........................................................................................................................................................139 Setups/Pre-requisites .............................................................................................................................................140 Process Flow Diagram ..........................................................................................................................................141 Field Mapping details............................................................................................................................................142 Validation Logic....................................................................................................................................................142 Errors and Solutions:..............................................................................................................................................143 Fixed Asset (Operating)........................................................................................144 Conversion Short Description................................................................................................................................145 Data Category: .....................................................................................................................................................145 Interface Tables......................................................................................................................................................145 Base Tables............................................................................................................................................................145 Error Tables...........................................................................................................................................................145 Concurrent Program / /APIs...................................................................................................................................145 Parameters .............................................................................................................................................................145

Data Conversions Hand Book

APIs Involved........................................................................................................................................................145 Setups/Pre-requisites .............................................................................................................................................146 Process Flow Diagram ..........................................................................................................................................147 Field Mapping details............................................................................................................................................149 Validation Logic....................................................................................................................................................149 Errors and Solutions:..............................................................................................................................................151 Appendix ...............................................................................................................................................................151 Sales Orders (Open & Closed)...............................................................................151 Conversion Short Description................................................................................................................................152 Data Category: .....................................................................................................................................................152 Interface Tables......................................................................................................................................................152 Base Tables............................................................................................................................................................152 Error Tables...........................................................................................................................................................152 Concurrent Program / /APIs...................................................................................................................................152 Parameters .............................................................................................................................................................152 APIs Involved........................................................................................................................................................152 Setups/Pre-requisites .............................................................................................................................................153 Process Flow Diagram ..........................................................................................................................................153 Field Mapping details............................................................................................................................................156 Validation Logic....................................................................................................................................................156 Errors and Solutions:..............................................................................................................................................161 Appendix ...............................................................................................................................................................163 Service Contracts.................................................................................................163 Conversion Short Description................................................................................................................................164 Data Category: .....................................................................................................................................................164 Interface Tables......................................................................................................................................................164 Base Tables............................................................................................................................................................164 Concurrent Program / /APIs...................................................................................................................................164 Parameters .............................................................................................................................................................164 Setups/Pre-requisites .............................................................................................................................................164 Process Flow Diagram ..........................................................................................................................................165 Field Mapping details............................................................................................................................................167 Validation Logic....................................................................................................................................................167 Errors and Solutions...............................................................................................................................................171 Appendix A Links to Oracle Documentation.....................................................................................................171 Appendix B Definitions......................................................................................................................................172 SALES CONTRACTS...............................................................................................173 Conversion Short Description................................................................................................................................174 Data Category: .....................................................................................................................................................174 Interface Tables......................................................................................................................................................174 Base Tables............................................................................................................................................................174 Concurrent Program / /APIs...................................................................................................................................174 Parameters .............................................................................................................................................................174 Setups/Pre-requisites .............................................................................................................................................174 Process Flow Diagram ..........................................................................................................................................175 Field Mapping details............................................................................................................................................177 Validation Logic....................................................................................................................................................177 Errors and Solutions...............................................................................................................................................178 Data Validation Techniques ..................................................................................................................................179 Tuning Methods.....................................................................................................................................................179 Appendix A Links to Oracle Documentation.....................................................................................................180 Appendix B Definitions.......................................................................................180

Data Conversions Hand Book

Document Control
Change Record
Date Author Version Change Reference

1-Nov-2004 15-Nov-2004 15-Dec-2004 1-Jan-2005 28-Feb-2005 01-Mar-2005 02-Mar-2005 15-Mar-2005 05-Apr-2005 18-Apr-2005

Rohit Jain Amitava Samaddar Dushmanta Mohanty Naveen Koka Dushmanta Mohanty Dushmanta Mohanty Dushmanta Mohanty Dushmanta Mohanty Dushmanta Mohanty Savitha Rao

0.0 0.0 0.0 1.0 2.0 2.1 2.2 2.3 2.4 2.5 Initial Review Added the AR Invoice Load Added the Purchase Order Load, Bill of Material Load PO receipts - Open Fixed Asset (Operating) Sales Orders (Open & Closed) Service Contracts Modified Sales Orders and Counters

Data Conversions Hand Book

Introduction
This document can be used as a Hand Book for any project that involves Data Conversions into Oracle. This document has been prepared while developing and executing the Data Conversions for Ricoh, USA. The project involved data conversions and development of numerous customizations in the form of Workflows, Reports, Interfaces and Extensions. This Hand Book will be helpful to all Project Managers, Team Leads and Developers as it covers all aspects of the Conversions. This document covers details on the following areas of a Conversion: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Conversion Short description Interface Tables Base Tables Error Tables Oracle Concurrent Program Parameters to the program APIs involved Parameters to each API Pre Requisite Setup Steps Errors and issues encountered while testing Estimates for development of program

The authors and their contact information is listed below: 1. 2. 3. 4. Rohit Jain Savitha Rao Amitava Samaddar Dushmanta Mohanty

Reviewer: 1. Naveen Koka

Data Conversions Hand Book

Item Master

Data Conversions Hand Book

Conversion ShortItem Master Conversion involved import of items from any legacy system to the Oracle system. Once the Organization structure has been defined in Oracle, the Items will need to be defined in the Description
a) Item Master Organization b) Other Child Organizations

Oracle has a vanilla program for this import. The name of the program is Import Items. Using the Item Import Program you can perform the following operations : 1. Import the Items into Oracle Inventory. 2. Create new items in your item master organization or assign existing items to additional organizations. 3. You can specify values for all the item attributes, or you can specify just a few attributes and let the remainder default or remain null. 4. The Item Interface also lets you import revision details, including past and future revisions and effectivity dates. 5. You can also use the Item Interface to import item material cost, material overhead, and revision details. The Item Interface reads data from two tables for importing items and item details. You use the MTL_SYSTEMS_ITEM_INTERFACE table for your new item numbers and all item attributes. This is the main item interface table, and may be the only table you choose to use. If you are importing revision details for your new items, you can use the MTL_ITEM_ REVISIONS_INTERFACE table. This table is used only for revision information, and is not required. A third table, MTL_INTERFACE_ERRORS, is used for error tracking of all items that the Item Interface fails. Before you use the Item Interface, you must write and run a custom program that extracts item information from your source system and inserts it into the MTL_SYSTEM_ITEM_ INTERFACE table, and (if revision detail is included) the MTL_ITEMS_REVISIONS_ INTERFACE table. After you load the items into these interface tables, you run the Item Interface to import the data. The Item Interface assigns defaults, validates data you include, and then imports the new items. You must import items into a master organization before you import items into additional organizations. You can accomplish this by specifying only your master organization on a first pass run of the Item Interface. Once this has completed, you can run the Item Interface again, this time specifying an additional or all organizations.

Data Category: Interface Tables

Concurrent Program / / / /APIs

Master MTL_SYSTEM_ITEMS_INTERFACE MTL_ITEM_CATEGORIES_INTERFACE MTL_REVISIONS_INTERFACE (optional) Item Import Program(INCOIN)

Data Conversions Hand Book

Parameters

When you run the Item Interface, you are prompted for report parameters. These are runtime options for the Item Interface: All Organizations Yes Run the interface for all organization codes in the item interface table. No Run the interface only for the organization you are currently in. Item interface rows for organizations other than your current organization are ignored. Validate Items Yes Validate all items and their data residing in the interface table that have not yet been validated. If items are not validated, they will not be processed into Oracle Inventory. No Do not validate items in the interface table. Note that items that have not been validated will not be processed into Oracle Inventory. You would use this option if you had previously run the item interface and responded Yes for Validate Items and No for Process Items, and now want to process your items. Process Items Yes All qualifying items in the interface table are inserted into Oracle Inventory. No Do not insert items into Oracle Inventory. Use this option, along with Yes for Delete Processed Items, to remove successfully processed rows from the interface table without performing any other processing. You can also use this option, along with Yes for Validate Items, if you want to validate items without any processing. Delete Processed Rows Yes Delete successfully processed items from the item interface tables. No Leave all rows in the item interface tables. Process Set Enter a number for the set id for the set of rows you want to process. The program picks up the rows marked with that id in the SET_PROCESS_ID column. If you leave this field blank, all rows are picked up for processing regardless of the SET_PROCESS_ID column value.

Data Conversions Hand Book

Setups/Pre-requisites
SR. No. 1 2 Setup Name Internal and standard concurrent managers Check that the standard indexes exist on the mtl_system_items Setup Values up and running Notes system admin resp/concurrent/manager/administer SELECT TABLE_NAME,INDEX_NAME FROM ALL_INDEXES WHERE TABLE_NAME IN (MTL_SYSTEM_ITEMS_B,MTL_SYSTEM_ITEMS_INTERFA CE) ORDER BY TABLE_NAME,INDEX_NAME

Data Conversions Hand Book

Process Flow Diagram


Legacy System Legacy Extraction Process Oracle Interface Table

Corretion

Oracle Item Import Program (INCOIN)

Errors

Oracle Error Table

Oracle Base Tables

Database ERD
Interface Tables:

MTL_SYSTEM_ITEMS_INTER FACE

MTL_ITEM_REVISIONS_I NTERFACE

Item_number Organization_id/Organization_code

MTL_ITEM_CATEGORIES _INTERFACE

Base Tables: 1. 2. 3. MTL_SYSTEM_ITEMS_B MTL_ITEM_CATEGORIES MTL_ITEM_REVISIONS_B

Data Conversions Hand Book

Different ways of using the program / API


Scenario 1: Basic item import with minimum columns populated : Step1 : Minimum columns to be populated in MTL_SYSTEM_ITEMS_INTERFACE table are : 1. Process_flag => 1 2. Set_process_id => 1 3. Transaction_Type => CREATE 4. Organization_Id => Valid Organization_id from MTL_PARAMETERS 5. Segment1..n => Items Segments 6. Description => Description of the Item Scenario 2: Import items using item templates : Step1 : Minimum columns to be populated in MTL_SYSTEM_ITEMS_INTERFACE table are : 1. Process_flag => 1 2. Set_process_id => 1 3. Transaction_Type => CREATE 4. Organization_Id => Valid Organization_id from MTL_PARAMETERS 5. Segment1..n => Items Segments 6. Description => Description of the Item 7. Template_id => Valid template from MTL_ITEM_TEMPLATES Templates are a collection of values assigned to Item Attributes (i.e. columns in the Item Master tables). Multiple Templates can be defined o for different Item Types o for different Organizations o for different combinations of Item Type and Organization etc.. If you populate a value for an attribute in MTL_SYSTEM_ITEMS_INTERFACE table, and the same attribute has a value assigned in the Template that has been assigned to the Item, the former will take precedence. Scenario 3: Import items and material cost associated to it : Step1 : Minimum columns to be populated in MTL_SYSTEM_ITEMS_INTERFACE table are : 1. Process_flag => 1 2. Set_process_id => 1 3. Transaction_Type => CREATE 4. Organization_Id => Valid Organization_id from MTL_PARAMETERS table 5. Segment1..n => Items Segments 6. Description => Description of the Item 7. Template_id => Valid template from MTL_ITEM_TEMPLATES 8. Material_cost => Cost 9. Material_Sub_Elem => Valid Resource_Code from BOM_RESOURCES table Scenario 4: Import item and revisions associated to it Step1 : Minimum columns to be populated in MTL_ ITEM_REVISIONS_INTERFACE table are : 1. Item_number => Concatenation of Item Segments 2. Revision => New Revision 3. Revision_label => New Revision Label 4. Implementation_date => Date 5. Effectivity_date => Date 6. Process_flag => 1 7. Organization_id => Organization_id for the Item 8. Set_process_id => Same as in MSII Table 9. Transaction_type => CREATE Scenario 5: Import item categories along with items

Data Conversions Hand Book

Step1 : Minimum columns to be populated in MTL_ ITEM_CATEGORIES_INTERFACE table are : 1. Item_number => Concatenation of Item Segments 2. Category_set_Id => Category_set_id from mtl_category_sets_v 3. Category_Id => Category_Id from Mtl_Categories_V Where Category_set_id = <param2> 4. Process_flag => 1 5. Organization_id => Organization_id for the Item 6. Set_process_id => Same as in MSII Table 7. Transaction_type => CREATE Scenario 6: Updating existing item categories Categories can be updated only by performing a combination of DELETE and then CREATE Step1 : Minimum columns to be populated in MTL_ ITEM_CATEGORIES_INTERFACE table for DELETE : 1. Item_number => Concatenation of Item Segments 2. Category_set_Id => => Category_set_id from mtl_category_sets_v 3. Category_Id => Category_Id from Mtl_Categories_V Where Category_set_id = <param2> 4. Process_flag => 1 5. Organization_id => Organization_id for the Item 6. Set_process_id => Same as in MSII Table 7. Transaction_type => DELETE Step2 : Minimum columns to be populated in MTL_ ITEM_CATEGORIES_INTERFACE table for CREATE : 8. Item_number => Concatenation of Item Segments 9. Category_set_Id => => Category_set_id from mtl_category_sets_v 10. Category_Id => Category_Id from Mtl_Categories_V Where Category_set_id = <param2> 11. Process_flag => 1 12. Organization_id => Organization_id for the Item 13. Set_process_id => Same as in MSII Table 14. Transaction_type => CREATE Scenario 7: Import item catalogs along with items Step1 : Minimum columns to be populated in MTL_SYSTEM_ITEMS_INTERFACE table are : 1. Process_flag => 1 2. Set_process_id => 1 3. Transaction_Type => CREATE 4. Organization_Id => Valid Organization_id from MTL_PARAMETERS 5. Segment1..n => Items Segments 6. Description => Description of the Item 7. Item_Catalog_Group_Id => Item_Catalog_Group_Id from MTL_ITEM_CATALOG_GROUPS_B Scenario 8: Update existing items

Data Conversions Hand Book

Field Mapping details


<insert the interface table with field descriptions, and mandatory/non mandatory, and foreign key relationships if possible . Insert as an object what ever excel files you may have>

Validation Logic
<insert any specific validations to be done before calling import program or APIs. Do not mention mandatory fields that you have already specified in the field mapping details>

Data Conversions Hand Book

Errors and Solutions


Potential Errors [Describe instances where errors may occurkeep high level. This should include the extent to which the organization is responsible for error monitoring in correction versus users responsibilities. Full details on how operations will be notified are not required; however, state the business expectations for level of service provided. Include details of validation routines]] BOM_PARSE_ITEM_ERROR *** BAD RETURN CODE b *** Possible Reasons State the possible reasons Solution Strategy State the possible solutions

1)Please see that setup > Receiving > (Purchasing and Receiving) setups are complete. 2)Please auto extend all MTL Tables and MTL Indexes. 3)Please auto extend Table Space. 4)Re-Link all Inventory libraries. Relink INCOIN.o. 5)Compile all Inventory Key Flex Fields. 6)Compile all invalid objects. 7)Please check all INV profile options are set. 8)Now truncate the interface tables and populate it with few records and run import. The error should go.

1.

Data Conversions Hand Book

Data Validation Techniques


Conversion Tool Audit Log:

<Forms, reports and queries that can be run to compare data between legacy and Oracle >
Oracle Application Standard Report(s)

Tuning Methods
<Indexes, methods that can be used to improve performance>

Appendix A Links to Oracle Documentation


[Enter conversion enhancements, updates to the design, etc. Please reference the changes in the original design and include the author and date in the appendix as well as in the Change Control section.]

Refer to the Oracle Manufacturing APIs and Interfaces Manual and Oracle Inventory Users Guide on Metalink for the Inventory Transactions APIs and functionality. User Guide - http://metalink.oracle.com/cgi-bin/cr/getfile_cr.cgi?284553 Inventory APIs Vol. 1 - http://metalink.oracle.com/cgi-bin/cr/getfile_cr.cgi?284259 Inventory APIs Vol. 2 - http://metalink.oracle.com/cgi-bin/cr/getfile_cr.cgi?284260 Refer to the ERD Diagram on the Oracle eTRM website for relationships between the Inventory base tables (Inventory ERD and Item ERD). Oracle Inventory ERD - http://etrm.oracle.com/pls/etrmlatest/etrm_fndnav.show_file? n_file_id=145&c_mode=INLINE Oracle Item ERD - http://etrm.oracle.com/pls/etrmlatest/etrm_fndnav.show_file? n_file_id=146&c_mode=INLINE

Data Conversions Hand Book

Data Conversions Hand Book

Appendix A Definitions
Accounting Period The fiscal period a company uses to report financial results, such as a calendar month or fiscal period. Application Programming Interface (API) The APIs provide an extensive error handling and error-reporting mechanism whereby all errors encountered in the different phases of API execution are reported and put on the message stack. The calling program has the option of looking up all the error messages or the first error message on the stack. If there is only one error in the message stack, the error comes out as one of the output parameters of the API routine and the user does not need to fetch the message from the stack. API Error Statuses The return status (x_return_status) of the API informs the caller about the result of the operation (or operations) performed by the API. The different possible values for an API return status are listed below: Success (FND_API.G_RET_STS_SUCCESS) A success return status means that the API was able to perform all the operations requested by its caller. A success return status may be accompanied by messages in the API message list that will be informative. Error (FND_API.G_RET_STS_ERROR) An error return status means that the API failed to perform some or all of the operations requested by its caller. An error return status is usually accompanied by messages describing the error (or errors) and how to fix it. In most cases, you should be able to take corrective actions to fix regular, expected errors such as missing attributes or invalid date ranges. Unexpected error (FND_API.G_RET_STS_UNEXP_ERROR) An unexpected error status means that the API has encountered an error condition it did not expect or could not handle. In this case, the API is unable to continue with its regular processing. Examples of such error are irrecoverable data inconsistency errors, memory errors, and programming errors (like attempting a division by zero). In most cases, the end user will not be able to correct unexpected errors. It is usually system administrators or application developers who can fix these errors. Bill of Material (BOM) A list of component items associated with a parent item and information about how each item relates to the parent item. Oracle Manufacturing supports standard, model, option class, and planning bills. The item information on a bill depends on the item type and bill type. The most common type of bill is a standard bill of material. A standard bill of material lists the components associated with a product or subassembly. It specifies the required quantity for each component plus other information to control work in process, material planning, and other Oracle Manufacturing functions. Also known as product structures. BOM Item Type An item classification that determines the items you can use as components in a bill of material. BOM Item types include standard, model, option class, and planning items. Category Code used to group items with similar characteristics, such as plastics, metals, or glass items. Category Sets A feature in Inventory where users may define their own group of categories. Typical category sets include purchasing, materials, costing, and planning. Concurrent Manager Components of your applications concurrent processing facility that monitor and run time consuming tasks for you without tying up your terminal. Whenever you submit a request, such as running a report, a concurrent manager does the work for you, letting you perform many tasks simultaneously. Concurrent Process A task in the process of completing. Each time you submit a task, you create a new concurrent process. A concurrent process runs simultaneously with other concurrent processes (and other activities on your computer) to help you complete multiple tasks at once with no interruptions to your terminal. Configuration A product a customer orders by choosing a base model and a list of options. It can be shipped as individual pieces as a set (kit) or as an assembly (configuration item). Inventory Controls Parameter settings that control how Inventory functions.

Data Conversions Hand Book

Inventory Item Items you stock in inventory. You control inventory for inventory items by quantity and value. Typically, the inventory item remains an asset until you consume it. You recognize the cost of an inventory item as an expense when you consume it or sell it. You generally value the inventory for an item by multiplying the item standard cost by the quantity on hand. Item Attributes Specific characteristics of an item, such as order cost, item status, revision control, COGS account, etc. Item Status Code used to control the transaction activity of an item. Locator Physical area within a subinventory where you store material, such as a row, aisle, bin, or shelf. Logical Organization A business unit that tracks items for accounting purposes but does not physically exist. On-hand Quantity The physical quantity of an item existing in inventory. Organization A business unit such as a plant, warehouse, division, department, and so on. Order Management refers to organizations as warehouses on all Order Management windows and reports. Physical Inventory A periodic reconciliation of item counts with system onhand quantities. Revision A particular version of an item, bill of material, or routing. Serial Number A number assigned to each unit of an item and used to track the item. Serialized Unit The unique combination of a serial number and an inventory item. Set of Books A financial reporting entity that partitions General Ledger information and uses a particular chart of accounts, functional currency, and accounting calendar. This concept is the same whether or not the Multiorganization support feature is implemented. Standard Costing A costing method where a predetermined standard cost is used for charging material, resource, overhead, period close, job close, and cost update transactions and valuing inventory. Any deviation in actual costs from the predetermined standard is recorded as a variance. Subinventory Subdivision of an organization, representing either a physical area or a logical grouping of items, such as a storeroom or receiving dock. Transaction Interface An open interface table through which you can import transactions. Transaction Manager A concurrent program that controls your manufacturing transactions. Transaction Worker An independent concurrent process launched by a transaction manager to validate and process your manufacturing transactions. Unit of Measure (UOM) The unit that the quantity of an item is expressed. Unit of Measure Class A group of units of measure and their corresponding base unit of measure. The standard unit classes are Length, Weight, Volume, Area, Time, and Pack. Unit of Measure Conversion Numerical factors that enable you to perform transactions in units other than the primary unit of the item being transacted.

Data Conversions Hand Book

INSTALLBASE

Data Conversions Hand Book

Data Conversions Hand Book

Conversion ShortOracle Install Base is an item instance life cycle tracking application that facilitates Description

enterprise-wide life cycle item management and tracking capabilities. Oracle Install Base tracks an item from the time that it is received in inventory, in work in process, in projects, at customer sites, and throughout the return and repair process. It records a history of changes to tracked items and supports the creation and maintenance of Oracle Install Base configurations. Oracle Install Base is a centralized repository of information for an item instance and its tracking details including location, status, ownership, party relationships, account relationships, contact relationships, configuration data, and the change history of customer products or corporate assets. As you define items in Oracle Inventory, you can designate your items as serviceable products. When you designate an item as a serviceable product, the installed base will track them. Each time you sell a serviceable product in Oracle Order Entry, the installed base interface automatically creates a customer product record in the Oracle Service installed base. A customer product is an instance of a particular product you sold to an end customer or distributor. The customer product reference number uniquely identifies any customer product, with or without a serial number, in the installed base. Quantity, serial number (the serviceable product must be under serial control in Oracle Inventory and assigned a serial number at the time of shipment), location code (bill-to, ship-to, and installation location), contacts, order information, and revision history further distinguishes the customer product. Oracle Install Base provides the Open Interface feature to mass load item instances. This is useful during initial conversion and for synchronizing multiple environments. It can be used to create new instances or to update existing item instances. It can also be used to create or update relationships between item instances including replacing instances in Component-Of configurations.

Data Category:

Master CSI_I_PARTY_INTERFACE CSI_IEA_VALUE_INTERFACE CSI_II_RELATION_INTERFACE CSI_ITEM_INSTANCES CSI_I_PARTIES CSI_IEA_VALUES CSI_II_RELATIONSHIPS CSI_I_PRICING_ATTRIBS Install Base Open Interface (CSICONB)

Interface Tables CSI_INSTANCE_INTERFACE

Base Tables

Concurrent Program / /APIs

Data Conversions Hand Book

Parameters

When you run the Install Base Interface Program, you are prompted for report parameters. These are runtime options for the Interface program: From Transaction Date Starting Transaction Date to Load the Instances To Transaction Date End Transaction Date to Load the Instances. Source System Name Source System Name is used as selection criteria for the rows to be processed from Interface table. It should exist in setup table csi_interface_sources. Batch Name : Batch Name of the records to be Process. If NULL is passed all the records will be selected for processing. Resolve Oracle Ids : Yes : Resolves the ids from different tables from the descriptive values provided in the interface tables and also validates the existence of all the referenced Ids No : Doesnt Resolve the Ids. Purge Processed Records Yes Delete successfully processed rows. No Leave all interface tables for successfully processed rows. Error Reprocess Options All Selected

Setups/Pre-requisites
SR. No. 1. Setup Name Source system details setup Setup Values Populating at least one record into the csi_interface_sources table. Notes

Data Conversions Hand Book

Process Flow Diagram


Legacy System Legacy Extraction Process Oracle Interface Table

Corretion

Oracle Install Base Open Interface (CSICONB)

Errors

Oracle Error Table

Oracle Base Tables

Database ERD
<show the Various links between interface and base tables > Interface Tables:
C SI_IN A CE T R C ST N _IN E FA E

In In st_ terfa Id ce_ In In rfa _ -> st_ te ce Id Sb u ject_Inte rface an _id d O ct_in bje terfa _ ce Id

C I_IE _V LU _IN E F C S A A E T RA E

Inst_ Inte ce Id rfa _

C SI_I_PA T _IN E FA E RY TR C

C I_II_R LA IO _IN E F C S E T N T RA E

Data Conversions Hand Book

Base Tables:

C I_ E _ S A C S S IT M IN T N E

In ta c _ s n e Id In ta c _ -> s n e Id S b c id a d u je t_ n O je t_ b c Id

C I_ A V L E S IE _ A U S

In ta ce Id s n _

C I_ P R IE S I_ A T S

C I_ R L T N H S S II_ E A IO S IP

Data Conversions Hand Book

Ways of using the program / API


Scenario 1 : Creating Instance Minimum columns to be populated in CSI_INSTANCE_INTERFACE table are : a. INST_INTERFACE_ID => Sequence b. SOURCE_SYSTEM_NAME => Source System Name from CSI_INTERFACE_SOURCES c. TRANSACTION_IDENTIFIER => Transaction_identifier in csi_instance_interface table represents a transaction. This column along with source_system_name forms a unique key. Open interface records will be processed as units for commit or rollback. All the records with the same transaction_identifier will be considered to correspond to a single transaction in the source system. SOURCE_TRANSACTION_DATE => Transaction Date that this Instance will be processed with the Open Interface e. PROCESS_STATUS => Process Status for Instance. Value Values are 'R' - Ready, 'E' Error, 'P' - Processed f. INVENTORY_ITEM_ID => Inventory Item Id for the instance you are interfacing g. INV_VLD_ORGANIZATION_ID => Validation Organization ID that is used for Validating the Inventory Attributes h. UNIT_OF_MEASURE_CODE => Unit of Measure Code that will be used for this Instance (i.e. 'EA') Minimum columns to be populated in CSI_I_PARTY_INTERFACE table are : a. IP_INTERFACE_ID => Instance Party Interface ID b. INST_INTERFACE_ID => Instance Interface ID that will be used to link the rows in this table to its parent in CSI_INSTANCE_INTERFACE c. PARTY_ID => Party Id d. PARTY_NUMBER => Party Number e. PARTY_SOURCE_TABLE => Party Source Table for ex HZ_PARTIES f. PARTY_RELATIONSHIP_TYPE_CODE => IPA_RELATION_TYPE_CODE from CSI_IPA_RELATION_TYPES table for ex OWNER . Owner Relationship is mandatory for Instance Creation . g. CONTACT_FLAG => Primary Contact Flag ( Y if party is a Contact else N) h. PARTY_ACCOUNT1_NUMBER => Populate HZ_CUST_ACCOUNTS.Account_number by making Party_Id join i. PARTY_ACCOUNT1_ID => Populate HZ_CUST_ACCOUNTS.Cust_Account_Id by making Party_Id join j. ACCT1_RELATIONSHIP_TYPE_CODE => OWNER Scenario 2 : Creating Instance and Relationships : Along with CSI_INSTANCE_INTERFACE and CSI_I_PARTY_INTERFAC table we need to populate CSI_II_RELATION_INTERFACE table. Minimum columns to be populated in CSI_II_RELATION_INTERFACE table are : 1. REL_INTERFACE_ID => Relationship Interface ID (Sequence) 2. SUBJECT_INTERFACE_ID => Parent Instance_Interface_Id from CSI_INSTANCE_INTERFACE table 3. 4. OBJECT_INTERFACE_ID => Child Insntance_Interface_Id from CSI_INSTANCE_INTERFACE table RELATIONSHIP_TYPE_CODE =>Populate CSI_II_RELATION_TYPES.RELATIONSHIP_TYPE_CODE for example COMPONENT-OF d.

Note: The Transaction_Identifier in CSI_INSTANCE_INTERFACE table for both the Parent and Child Instances should be same.

Data Conversions Hand Book

Scenario 3 : Creating Instance with Extended Attributes: Along with CSI_INSTANCE_INTERFACE and CSI_I_PARTY_INTERFAC table we need to populate CSI_IEA_VALUE_INTERFACE table. Minimum columns to be populated in CSI_IEA_VALUE_INTERFACE table are : 1. IEAV_INTERFACE_ID => Extended Attribute Interface ID (Sequence) 2. INST_INTERFACE_ID => Instance Interface ID that will be used to link the rows in this table to its parent in CSI_INSTANCE_INTERFACE 3. ATTRIBUTE_ID => ATTRIBUTE_ID FROM csi_i_extended_attribs 4. ATTRIBUTE_CODE => ATTRIBUTE_CODE FROM csi_i_extended_attribs 5. ATTRIBUTE_VALUE => Value for Attribute

Data Conversions Hand Book

Field Mapping details


<insert the interface table with field descriptions, and mandatory/non mandatory, and foreign key relationships if possible . Insert as an object what ever excel files you may have> CSI_INSTANCE_INTERFACE
C:\Ricoh\InstallBase\ CSI_INSTANCE_INTERFACE.doc

CSI_I_PARTY_INTERFACE
C:\Ricoh\InstallBase\ CSI_I_PARTY_INTERFACE.doc

CSI_II_RELATION_INTERFACE
C:\Ricoh\InstallBase\ CSI_II_RELATION_INTERFACE.doc

CSI_IEA_VALUE_INTERFACE
C:\Ricoh\InstallBase\ CSI_IEA_VALUE_INTERFACE.doc

Validation Logic Errors and Solutions


Potential Errors Install Base extract program populated the CSI_II_REALTION_INTERFACE table, however no records were ultimately processed for relationships. Possible Reasons Transaction Identifier field in CSi_INSTANCE_INTERFACE table not populated Solution Strategy It is required to populate the same transaction_identifier for all the related instance . For example if subject_interface_id=5 and object_interface_id = 4 in CSI_II_RELATION_INTERFACE table then the rows having instance_interface_id = 4 and 5 in CSI_INSTANCE_INTERFACE table should have same transaction_identifier

Data Conversions Hand Book

Data Conversions Hand Book

Data Validation Techniques


Conversion Tool Audit Log:

<Forms, reports and queries that can be run to compare data between legacy and Oracle >
Oracle Application Standard Report(s)

Tuning Methods
<Indexes, methods that can be used to improve performance>

Appendix A Links to Oracle Documentation


[Enter conversion enhancements, updates to the design, etc. Please reference the changes in the original design and include the author and date in the appendix as well as in the Change Control section.]

User Guide - Oracle Install Base User Guide Release 11.5.9, Part B10683-01<131739.1>

Data Conversions Hand Book

Appendix A Definitions

Data Conversions Hand Book

Application Programming Interface (API) The APIs provide an extensive error handling and error-reporting mechanism whereby all errors encountered in the different phases of API execution are reported and put on the message stack. The calling program has the option of looking up all the error messages or the first error message on the stack. If there is only one error in the message stack, the error comes out as one of the output parameters of the API routine and the user does not need to fetch the message from the stack. API Error Statuses The return status (x_return_status) of the API informs the caller about the result of the operation (or operations) performed by the API. The different possible values for an API return status are listed below: Success (FND_API.G_RET_STS_SUCCESS) A success return status means that the API was able to perform all the operations requested by its caller. A success return status may be accompanied by messages in the API message list that will be informative. Error (FND_API.G_RET_STS_ERROR) An error return status means that the API failed to perform some or all of the operations requested by its caller. An error return status is usually accompanied by messages describing the error (or errors) and how to fix it. In most cases, you should be able to take corrective actions to fix regular, expected errors such as missing attributes or invalid date ranges. Unexpected error (FND_API.G_RET_STS_UNEXP_ERROR) An unexpected error status means that the API has encountered an error condition it did not expect or could not handle. In this case, the API is unable to continue with its regular processing. Examples of such error are irrecoverable data inconsistency errors, memory errors, and programming errors (like attempting a division by zero). In most cases, the end user will not be able to correct unexpected errors. It is usually system administrators or application developers who can fix these errors. Concurrent Manager Components of your applications concurrent processing facility that monitor and run time consuming tasks for you without tying up your terminal. Whenever you submit a request, such as running a report, a concurrent manager does the work for you, letting you perform many tasks simultaneously. Concurrent Process A task in the process of completing. Each time you submit a task, you create a new concurrent process. A concurrent process runs simultaneously with other concurrent processes (and other activities on your computer) to help you complete multiple tasks at once with no interruptions to your terminal.

Data Conversions Hand Book

INVENTORY TRANSACTIONS

Data Conversions Hand Book

Conversion ShortOracle Inventory provides an open interface for you to easily load transactions from external applications and feeder systems. These transactions could include sales order shipment Description
transactions from an order entry system other than Oracle Order Entry, or they could be simple material issues, receipts, or transfers loaded from data collection devices. The following transaction types are supported by this interface: X Inventory issues and receipts (including user-defined transaction types) X Subinventory transfers X Direct inter-organization transfers X Intransit shipments X WIP component issues and returns X WIP assembly completions and returns X Sales order shipments X Inventory average cost updates

You must write the load program that inserts a single row for each transaction into the MTL_ TRANSACTIONS_INTERFACE table. For material movement of items that are under lot or serial control, you must also insert rows into MTL_TRANSACTION_LOTS_ INTERFACE and MTL_SERIAL_NUMBERS_INTERFACE respectively. If you insert WIP assembly/completion transactions that complete or return job assemblies, you must also insert rows into the CST_COMP_SNAP_ INTERFACE table if the organization referenced uses average costing. The system uses this information to calculate completion cost. There are two modes you can use to process your transactions through the interface. In the first processing mode, you populate the interface table only. Then the Transaction Manager polls the interface table asynchronously looking for transactions to process, groups the transaction rows, and launches a Transaction Worker to process each group. In the second processing mode, you insert the rows in the interface table and call a Transaction Worker directly, passing the group identifier of the interfaced transactions as a parameter so that the worker can recognize which subset of transactions to process. The Transaction Worker calls the Transaction Validator which validates the row, updates the error code and explanation if a validation or processing error occurs, and derives or defaults any additional columns. Next, the Transaction Processor records the transaction details in the transaction history table along with relevant current cost information. All material movement transactions update inventory perpetual balances for the issue, receipt, or transfer locations. Once the transaction has been successfully processed, the corresponding row is deleted from the interface table. Finally, the transaction is costed by the transaction cost processor which runs periodically, picking up all transactions from the history table that have not yet been marked as costed. The rows in mtl_transactions_interface are processed in 5 phases. 1. Derives dependant columns, eg:acct_period_id, primary_quantity etc.. 2. Detailed validation performed on the records 3. On hand qty check for negative qty's etc.. 4. Reservations Relieved if demand was created in order entry 5. Rows are moved to mtl_material_transactions_temp where the transaction processor is called to process these rows and update the inventory levels etc..

Data Category:

Transaction MTL_TRANSACTION_LOTS_INTERFACE MTL_SERIAL_NUMBERS_INTERFACE

Interface Tables MTL_TRANSACTIONS_INTERFACE

Data Conversions Hand Book

Base Tables

Concurrent Program / /APIs Parameters

MTL_MATERIAL_TRANSACTIONS MTL_SERIAL_NUMBERS MTL_ONHAND_QUANTITIES_DETAIL MTL_UNIT_TRANSACTIONS MTL_LOT_NUMBERS Process transaction interface ( INCTCM)

None

Setups/Pre-requisites
SR. No. 1. Setup Name Setting the Parallel degree for Inventory Transaction Manager Setup Values The number of target processes will limit the number of workers available to the transaction manager, workers can be run in parallel, therefore to significantly reduce the time taken to process your inventory transactions,then increase the number of target processes to the maximum allowable within your system limits. For this request the assistance of your dba, system memory and central processor performance will be the limiting factors for this target parameter. Navigate - > Inventory Resp : Setups->Transactions->Interface Managers-> Worker Rows = 200 Notes

2.

Transaction Worker Rows

Data Conversions Hand Book

Process Flow Diagram


Legacy System Legacy Extraction Process Oracle Interface Table

Errors

Oracle Transaction Manager (INCTCM)

Oracle Base Tables

Oracle Transaction Worker (INCTCW)

Database ERD
<show the Various links between interface and base tables > Interface Tables:
M L R N C IO S_IN E FA E T _T A SA T N TR C

Tra ctio _ te ce Id nsa n In rfa _

Tra saction In rfa _ n _ te ce Id

M L_S R L_N M E S_IN E T E IA U B R T RA E F C

M TL_TRA S CTIO _LO _I NA N TS N TERF CE A

Data Conversions Hand Book

Base Tables:

M L M T R L T A S C IO S T _ A E IA _ R N A T N

C a _ ra sa tio _ re te T n c n Id

M L O H N _ U N IT S T _ N A D Q A T IE _ D T IL EA

L S _ R N A T N ID A T T A S C IO _

T n c n Id ra sa tio _

MLU I _ R NA T N T _ NT T A S C IO S

SR LN ME E IA _ U B R

ML S R L N M E S T _ E IA _ U B R

Data Conversions Hand Book

Ways of using the program / API


Scenario 1 : Transactions for Non Serial and Non Lot Controlled Items : Minimum fields to be populated in MTL_TRANSACTIONS_INTERFACE table are :
=> This column is required for Sales Order transactions to identify the source Order Entry system. For other transaction types, you can enter any useful value for tracking purposes.The values entered are transferred directly to the transaction history table. SOURCE_CODE => You can use this column as an external system reference. The values entered are transferred directly to the transaction history table. SOURCE_LINE_ID => You can use this column as an external system reference. The values entered are transferred directly to the transaction history table. SOURCE_HEADER_ID => This column controls whether rows in the interface table are processed. You should insert a row that you intend to be processed with a value of 1 (Yes). The valid values are: 1 Yes 2 No 3 - Error PROCESS_FLAG => This column determines how the interfaced transactions will be processed. The valid options are: 2 Concurrent 3 Background Interface transactions marked for Background processing will be picked up by the transaction manager polling process and assigned to a transaction worker. These transactions will not be processed unless the transaction manager is running. You use Concurrent transaction mode if you want to launch a dedicated transaction worker to explicitly process a set of transactions. The Transaction Manager does not process transactions marked for concurrent processing. TRANSACTION_MODE => The Transaction Manager uses this column to manage the worker assignment process. You should need to update this column only if a transaction has failed due to an exceptional failure such as the system going down in the middle of transaction worker processing. In this case, you will need to reset the LOCK_FLAG to 2 so your failed transactions can be reprocessed. LOCK_FLAG => This column groups transactions for assignment to specific transaction workers. Depending on the value of TRANSACTION_MODE, this column is either required (concurrent mode) or derived by the transaction manager (background mode). This column maps to MTL_MATERIAL_TRANSACTIONS.TRANSACTION_SET_ID in the transaction history tables. TRANSACTION_HEADER_ID => This column is required for transactions of items under lot or serial control. The value in the column in this table is used to identify the child rows in the lot or serial interface tables MTL_TRANSACTION_LOTS_INTERFACE and MTL_SERIAL_NUMBERS_INTERFACE. If the transacted item is under lot control, this column maps to MTL_TRANSACTION_ LOTS_INTERFACE.TRANSACTION_INTERFACE_ID. If the transacted item is under serial control and not lot control, this column maps to MTL_SERIAL_NUMBERS_INTERFACE.TRANSACTION_INTERFACE_ID. TRANSACTION_INTERFACE_ID INVENTORY_ITEM_ID ORGANIZATION_ID TRANSACTION_QUANTITY => =>

Active Item from MTL_SYSTEM_ITEMS_B Active Organization from MTL_PARAMTERS

=> Enter the transaction quantity in the transaction unit of measure. The quantity should be positive for receipts into inventory, and negative for both issues out of inventory and transfers. Enter a quantity of 0 for Average Cost Update transactions. => You can enter the TRANSACTION_QUANTITY in any unit of measure that has conversion rates defined to the items primary unit of measure. Use this column to specify the transacted unit of measure even if it is the same as the primary unit of measure. TRANSACTION_UOM TRANSACTION_DATE => Transaction Date

Data Conversions Hand Book

=> Use this column (or the flexfield segment columns) to specify the account to charge for the cost of the Inventory transaction. It is required for user-defined transactions, and derived by the Transaction Worker based on the transaction source type and source for Account Issue/Receipt and Account Alias Issue/Receipt transactions. DISTRIBUTION_ACCOUNT_ID

=> TRANSACTION_SOURCE_ID or the corresponding flexfield segment columns (DSP_SEGMENT1 to DSP_SEGMENT30) are required for all transaction source types other than those that are userdefined. You should enter the foreign key ID that points to the context table identified by the transaction source type. TRANSACTION_SOURCE_ID => This column is required for user-defined transaction source types. Enter the value of the source name, such as an order number, to be displayed on all transaction reports and inquiries. TRANSACTION_SOURCE_NAME TRANSACTION_TYPE_ID => Enter the type of transaction you are executing.

Scenario 2 : Transactions for Serial Controlled and Non Lot Controlled Items Minimum fields to be populated in MTL_SERIAL_NUMBERS_INTERFACE table are :
TRANSACTION_INTERFACE_ ID => Use this column to associate serial number transaction detail rows with their

parent rows. If the item is serial controlled and not lot controlled , this should point to MTL_TRANSACTIONS_INTERFACE.TRANSACTION_INTERFACE_ID
=> Enter the starting serial number in the range. If you enter only the from serial number, the Transaction Processor assumes that only one serial number is being transacted. FM_SERIAL_NUMBER => You can enter a to serial number to specify a range. The transaction processor will attempt to transact all serial numbers within the range of the right-most numeric digits. TO_SERIAL_NUMBER

Scenario 3 : Transactions for Not Serial Controlled and Lot Controlled Items Minimum fields to be populated in MTL_TRANSACTION_LOTS_INTERFACE table are :
=> Use this column to associate lot transaction detail rows with the parent transaction row in MTL_TRANSACTIONS_INTERFACE. TRANSACTION_INTERFACE_ID LOT_NUMBER TRANSACTION_QUANTITY => Enter the lot number that is being transacted. => Quantity

Scenario 4 : Transactions for Serial and Lot Controlled Items Minimum fields to be populated in MTL_SERIAL_NUMBERS_INTERFACE table are :
TRANSACTION_INTERFACE_ ID => Use this column to associate serial number transaction detail rows with their

parent rows. If the item is serial lot controlled both , this should point to MTL_TRANSACTION_ LOTS_INTERFACE.SERIAL_TRANSACTION_TEMP_ID.
=> Enter the starting serial number in the range. If you enter only the from serial number, the Transaction Processor assumes that only one serial number is being transacted. FM_SERIAL_NUMBER

Data Conversions Hand Book

=> You can enter a to serial number to specify a range. The transaction processor will attempt to transact all serial numbers within the range of the right-most numeric digits. TO_SERIAL_NUMBER

Minimum fields to be populated in MTL_TRANSACTION_LOTS_INTERFACE table are :


=> Use this column to associate lot transaction detail rows with the parent transaction row in MTL_TRANSACTIONS_INTERFACE. TRANSACTION_INTERFACE_ID LOT_NUMBER TRANSACTION_QUANTITY => Enter the lot number that is being transacted. => Quantity

SERIAL_TRANSACTION_TEMP_ID=> This column is required only for items under both lot and serial control. It is used

to identify the child rows in MTL_SERIAL_NUMBERS_INTERFACE.

Field Mapping details


<insert the interface table with field descriptions, and mandatory/non mandatory, and foreign key relationships if possible . Insert as an object what ever excel files you may have> MTL_TRANSACTIONS_INTERFACE

C:\Ricoh\ InventoryTrx-457\MTL_TRANSACTIONS_INTERFACE.doc

MTL_TRANSACTION_LOTS_INTERFACE
C:\Ricoh\ InventoryTrx-457\MTL_TRANSACTION_LOTS_INTERFACE.doc

MTL_SERIAL_NUMBERS_INTERFACE
C:\Ricoh\ InventoryTrx-457\MTL_SERIAL_NUMBERS_INTERFACE.doc

Data Conversions Hand Book

Validation Logic

Errors and Solutions


Potential Errors Inventory item ID is invalid or does not have the flags enabled correctly to be processed by material processor Subinventory code is either not entered or not valid for the given organization Total serial numbers does not match the transaction quantity Possible Reasons Item exist in master Org but not in organization which is specified in Transaction Solution Strategy Assign the Item in Transaction Organization

Subinventory Code not defined in Organization

Define the Subinventory Code in Transaction Organization and validate it from MTL_SECONDARY_INVENTORIES table. Enter the same number of records in MTL_SERIAL_NUMBERS_INTERFACE as the Transaction quantity.

No open period found for date entered

This is caused because Transaction_quantity is more than the number of serial_number lines in MTL_SERIAL_NUMBERS_INTERFACE table. For ex. if transaction_quantity is 5 there should be 5 serial number entries in MTL_SERIAL_NUMBERS_INTERFACE table. Accounting periods not open for Transaction Date

Open the accounting periods in Inventory . Navigate : Inventory Resp : Accounting Close Cycle -> Inventory Accounting Periods

Data Conversions Hand Book

Data Validation Techniques


<Forms, reports and queries that can be run to compare data between legacy and Oracle >
Conversion Tool Audit Log: Oracle Application Standard Report(s)

Tuning Methods
<Indexes, methods that can be used to improve performance> 1. Set the Parallel degree for Inventory Manager. This will decide the number of Parallel transaction workers to run. To set this go to System Administrator and navigate Concurrent > Manager > Define; Query for 'Invnetory Manager'; Click 'Work Shifts. Set the parameter Processes which will determine the number of parallel workers. For optimal processing in the Inventory Transaction Interface, you need to set up your concurrent manager to best handle your transaction volumes while balancing your performance requirements and your system load restrictions. Oracle Inventory ships the Transaction Manager to be run in Inventorys own concurrent manager named Inventory Manager. It is defaulted to run in the Standard work shift with Target Processes = 1 and Sleep Time of 60 seconds. See: Transaction Managers, Oracle Inventory Users Guide. With this configuration, the Material Transaction Manager and all Transaction Workers that are spawned must share the same processing queue. If you have the available resources, you can substantially reduce the time to process your interfaced transactions by increasing the target processes and reducing the concurrent manager sleep time using the Concurrent Managers window. This will allow Transaction Workers to run in parallel with the Transaction Manager and with each other. See: Defining Managers and their Work Shifts,

Appendix A Links to Oracle Documentation


Refer to the Oracle Manufacturing APIs and Interfaces Manual and Oracle Inventory Users Guide on Metalink for the Inventory Transactions APIs and functionality. User Guide - http://metalink.oracle.com/cgi-bin/cr/getfile_cr.cgi?284553 Inventory APIs Vol. 1 - http://metalink.oracle.com/cgi-bin/cr/getfile_cr.cgi?284259 Inventory APIs Vol. 2 - http://metalink.oracle.com/cgi-bin/cr/getfile_cr.cgi?284260 Refer to the ERD Diagram on the Oracle eTRM website for relationships between the Inventory base tables (Inventory ERD and Item ERD). Oracle Inventory ERD - http://etrm.oracle.com/pls/etrmlatest/etrm_fndnav.show_file? n_file_id=145&c_mode=INLINE Oracle Item ERD - http://etrm.oracle.com/pls/etrmlatest/etrm_fndnav.show_file? n_file_id=146&c_mode=INLINE

Data Conversions Hand Book

Appendix A Definitions
Application Programming Interface (API) The APIs provide an extensive error handling and error-reporting mechanism whereby all errors encountered in the different phases of API execution are reported and put on the message stack. The calling program has the option of looking up all the error messages or the first error message on the stack. If there is only one error in the message stack, the error comes out as one of the output parameters of the API routine and the user does not need to fetch the message from the stack. API Error Statuses The return status (x_return_status) of the API informs the caller about the result of the operation (or operations) performed by the API. The different possible values for an API return status are listed below: Success (FND_API.G_RET_STS_SUCCESS) A success return status means that the API was able to perform all the operations requested by its caller. A success return status may be accompanied by messages in the API message list that will be informative. Error (FND_API.G_RET_STS_ERROR) An error return status means that the API failed to perform some or all of the operations requested by its caller. An error return status is usually accompanied by messages describing the error (or errors) and how to fix it. In most cases, you should be able to take corrective actions to fix regular, expected errors such as missing attributes or invalid date ranges. Unexpected error (FND_API.G_RET_STS_UNEXP_ERROR) An unexpected error status means that the API has encountered an error condition it did not expect or could not handle. In this case, the API is unable to continue with its regular processing. Examples of such error are irrecoverable data inconsistency errors, memory errors, and programming errors (like attempting a division by zero). In most cases, the end user will not be able to correct unexpected errors. It is usually system administrators or application developers who can fix these errors. Concurrent Manager Components of your applications concurrent processing facility that monitor and run time consuming tasks for you without tying up your terminal. Whenever you submit a request, such as running a report, a concurrent manager does the work for you, letting you perform many tasks simultaneously. Concurrent Process A task in the process of completing. Each time you submit a task, you create a new concurrent process. A concurrent process runs simultaneously with other concurrent processes (and other activities on your computer) to help you complete multiple tasks at once with no interruptions to your terminal. Transaction Interface An open interface table through which you can import transactions. Transaction Manager A concurrent program that controls your manufacturing transactions. Transaction Worker An independent concurrent process launched by a transaction manager to validate and process your manufacturing transactions. Unit of Measure (UOM) The unit that the quantity of an item is expressed. Unit of Measure Class A group of units of measure and their corresponding base unit of measure. The standard unit classes are Length, Weight, Volume, Area, Time, and Pack. Unit of Measure Conversion Numerical factors that enable you to perform transactions in units other than the primary unit of the item being transacted.

Data Conversions Hand Book

Customer Master

Data Conversions Hand Book

Conversion ShortCustomer Master conversions involve the loading of customers related legacy data into the Oracle System. Each prospect in the business is identified as a party. The parties can be one of four types: Description
1. 2. 3. 4. Organization-for example, Oracle Corporation. Person-for example, Jane Doe. Group-for example, World Wide Web Consortium. Relationship-for example, Jane Doe at Oracle Corporation.

Primary entities involved in Customer Master Conversions are 1. Party 2. Organization Profiles / Person Profiles 3. Location 4. Customer Accounts 5. Customer Account Sites 6. Customer Site Uses 7. Relationship Types 8. Relationships between person and Organization 9. Relationship between related customers 10. Contact point details of the customers. 11. Tax Exemption details. The conversion process will begin by extracting data from multiple systems and loading to staging tables. Several PL/SQL scripts will be used to pre-validate the data fetched from staging tables, call and pass the data to the customer APIs provided by Oracle. Once the data is passed to the customer APIs the data will either be accepted by Oracle or be errored out. If the API accepts the data then the data will be written to the base tables. Conversely, if the data is errored out the data will require a fix prior to rerunning the information or manually entering the data into the application. Also data will be populated into a custom Cross Reference Table to align the legacy cust_bll_to and cust_shp_to with the Oracle ids/numbers.

Data Category:

Master CNV_HZ_ORG_PROFILES CNV_HZ_PERSON_PROFILES CNV_HZ_CUST_ACCOUNTS CNV_HZ_CUSTOMER_PROFILES CNV_HZ_CUST_PROFILE_AMTS CNV_HZ_LOCATIONS CNV_HZ_PARTY_SITES CNV_HZ_CUST_ACCT_SITES CNV_HZ_CUST_SITE_USES CNV_HZ_CONTACT_POINTS CNV_HZ_PARTY_REL_TYPES CNV_HZ_RELATIONSHIPS CNV_HZ_CUST_ACCT_RELATE CNV_XREF_CUSTOMERS CNV_RA_TAX_EXEMPTIONS CNV_AP_CREDIT_CARD_ACCOUNTS

Interface Tables CNV_HZ_PARTIES

Data Conversions Hand Book

Base Tables

Error Tables Concurrent Program / /APIs Parameters APIs Involved

HZ_PARTIES HZ_ORGANIZATION_PROFILES HZ_CUST_ACCOUNTS_ALL HZ_CUSTOMER_PROFILES HZ_CUST_PROFILE_AMTS HZ_LOCATIONS HZ_PARTY_SITES HZ_CUST_ACCT_SITES_ALL HZ_CUST_SITE_USES_ALL HZ_CONTACT_POINTS HZ_ORG_CONTACTS HZ_PERSON_PROFILES HZ_CUST_ACCOUNT_ROLES HZ_ROLE_RESPONSIBILITY HZ_RELATIONSHIPS HZ_CUST_ACCT_RELATE_ALL HZ_ORIG_SYS_REFERENCES RA_TAX_EXEMPTIONS AP_BANK_ACCOUNTS_ALL CNV_CONVERSION_ERRORS CNV_CONTROL_TOTALS Customer Master Load

Hz_Party_V2Pub.Create_Organization Hz_Party_V2Pub.Create_Person Hz_Location_V2Pub.Create_Location Hz_Cust_Account_V2Pub.Create_Cust_Account Hz_Customer_Profile_V2Pub.Create_Cust_Profile_Amt Hz_Party_Site_V2Pub.Create_Party_Site Hz_Cust_Account_Site_V2Pub.Create_Cust_Acct_Site Hz_Cust_Account_Site_V2Pub.Create_Cust_Site_Use Hz_Party_Contact_V2Pub.Create_Org_Contact Hz_Cust_Account_Role_V2Pub.Create_Cust_Account_Role Hz_Cust_Account_Role_V2Pub.Create_Role_Responsibility Hz_Contact_Point_V2Pub.Create_Email_Contact_Point Hz_Contact_Point_V2Pub.Create_Phone_Contact_Point Hz_Relationship_V2Pub.Create_Relationship Hz_Cust_Account_V2Pub.Create_Cust_Acct_Relate Arp_Bank_Pkg.Process_Cust_Bank_Account

Data Conversions Hand Book

Setups/Pre-requisites
SR. No. 1 Setup Name Internal and standard concurrent managers Setup Values up and running Notes system admin resp/concurrent/manager/administer

Data Conversions Hand Book

Process Flow Diagram

Database ERD
<show the Various links between interface and base tables > Interface Tables: Base Tables:

Data Conversions Hand Book

Field Mapping details


Source Table Name

: CNV_HZ_PARTIES

CNV_HZ_PARTIES.d oc

Source Table Name

: CNV_HZ_LOCATIONS

CNV_HZ_LOCATION S.doc

Source Table Name

CNV_HZ_ORG_PROFILES

CNV_HZ_ORG_PROF ILES.doc

Source Table Name

: CNV_HZ_PERSON_PROFILES

CNV_HZ_PERSON_P ROFILES.doc

Source Table Name

: CNV_HZ_CUST_ACCOUNTS

CNV_HZ_CUST_ACC OUNTS.doc

Source Table Name

: CNV_HZ_CUSTOMER_PROFILES

CNV_HZ_CUSTOMER _PROFILES.doc

Source Table Name

: CNV_HZ_PARTY_SITES

CNV_HZ_PARTY_SIT ES.doc

Source Table Name

: CNV_HZ_CUST_ACCT_SITES

CNV_HZ_CUST_ACC T_SITES.doc

Source Table Name

: CNV_HZ_CUST_SITE_USES

Data Conversions Hand Book

CNV_HZ_CUST_SITE _USES.doc

Source Table Name

: CNV_HZ_CONTACT_POINTS

CNV_HZ_CONTACT_ POINTS.doc

Source Table Name

: CNV_HZ_PARTY_REL_TYPES

CNV_HZ_PARTY_REL _TYPES.doc

Source Table Name

: CNV_HZ_RELATIONSHIPS

CNV_HZ_RELATIONS HIPS.doc

Source Table Name

: CNV_HZ_CUST_ACCT_RELATE

CNV_HZ_CUST_ACC T_RELATE.doc

Source Table Name

: CNV_RA_TAX_EXEMPTIONS

CNV_RA_TAX_EXEM PTIONS.doc

Source Table Name

: CNV_XREF_CUSTOMERS

CNV_XREF_CUSTOM ERS.doc

Source Table Name

: CNV_AP_CREDIT_CARD_ACCOUNTS

CNV_AP_CREDIT_CA RD_ACCOUNTS.doc

Source Table Name

: CNV_PARTY_BATCHES

Data Conversions Hand Book

CNV_PARTY_BATCH ES.doc

Source Table Name

: CNV_CONVERSION_ERRORS

CNV_CONVERSION_ ERRORS.doc

Source Table Name

: CNV_CONTROL_TOTALS

CNV_CONTROL_TOT ALS.doc

Validation Logic
To Load Customer Master Data Begin Select the Count of records in CNV_HZ_PARTIES table and calculate the number of batches to be processed(based on the number of records per batch entered while submitting the Customer Load program) For each batch id LOOP INSERT batch id and orig_system_cust_reference INTO cnv_party_batches /* Submit the Customer Master Conversion Program */ l_ar_request_id : = apps.fnd_request.submit_request (application => 'AR', program => 'CNVCML', argument1 => l_batch_id ); /*Check whether the concurrent program fails or not*/ IF l_ar_request_id = 0 THEN errbuff := 'Failure in submitting the Customer Master Program for Batch Id '| l_batch_id;retcode := 2; END IF; END LOOP; END; Customer Master Conversion program :
BEGIN

/* Declare local variables */ l_target_num_of_records NUMBER; l_error_num_of_records NUMBER; Begin /* Count the total number of records to be processed */
SELECT Count (*) INTO l_ target_num_of_records FROM CNV_HZ_LOCATIONS WHERE STATUS_FLAG = I SELECT Count (*) INTO l_ target_num_of_records

Data Conversions Hand Book FROM CNV_HZ_PARTIES WHERE STATUS_FLAG =I SELECT Count (*) INTO l_ target_num_of_records FROM CNV_HZ_CUST_ACCOUNTS WHERE STATUS_FLAG = I SELECT Count(*) INTO l_ target_num_of_records FROM CNV_HZ_CUSTOMER_PROFILES WHERE STATUS_FLAG = I SELECT Count(*) INTO l_ target_num_of_records FROM CNV_HZ_CUST_PROFILE_AMOUNTS WHERE STATUS_FLAG = I SELECT Count(*) INTO l_ target_num_of_records FROM CNV_HZ_CONTACT_POINTS WHERE STATUS_FLAG = I SELECT Count(*) INTO l_ target_num_of_records FROM CNV_HZ_CUST_ACCT_SITES WHERE STATUS_FLAG = I SELECT Count(*) INTO l_ target_num_of_records FROM CNV_HZ_CUST_SITE_USES WHERE STATUS_FLAG = I SELECT Count(*) INTO l_ target_num_of_records FROM CNV_HZ_PARTY_REL_TYPES WHERE STATUS_FLAG = I SELECT Count(*) INTO l_ target_num_of_records FROM CNV_HZ_RELATIONSHIPS WHERE STATUS_FLAG = I SELECT Count(*) INTO l_ target_num_of_records FROM CNV_HZ_CUST_ACCT_RELATE WHERE STATUS_FLAG = I SELECT Count(*) INTO l_ target_num_of_records FROM CNV_RA_TAX_EXEMPTIONS WHERE STATUS_FLAG = I

/* Pseudo code for PL/SQL Program to call APIs */ Define cursor for Party Info from Staging table CNV_HZ_PARTIES, CNV_HZ_ORG_PROFILES where orig_system_reference is in cnv_party_batches corresponding to the batch_id passed Define cursor for Customer Account Information ( from Staging Table CNV_HZ_CUST_ACCOUNTS_ALL) where orig_system_reference is in cnv_party_batches corresponding to the batch_id passed Define cursor for Org Contacts, Cust Acct Roles, Role responsibility and Contact Points information (from Staging Table CNV_HZ_CONTACT_POINTS) where substr(orig_system_reference,1,8) is in cnv_party_batches corresponding to the batch_id passed Define cursor for Party Relationship Type Information from Staging Table CNV_HZ_PARTY_REL_TYPES where orig_system_reference is in cnv_party_batches corresponding to the batch_id passed Define cursor for Party Relationships Information from Staging Table CNV_HZ_RELATIONSHIPS where orig_system_reference is in cnv_party_batches corresponding to the batch_id passed Define cursor for Customer Account Site Information from Staging Table CNV_HZ_CUST_ACCT_SITES

Data Conversions Hand Book

where substr(orig_system_reference,1,8) is in cnv_party_batches corresponding to the passed batch_id. Define cursor for Customer Site Uses Information from Staging Table CNV_HZ_CUST_SITE_USES Where substr(orig_system_reference,1,8) is in cnv_party_batches corresponding to the batch_id passed Define cursor for Location Information from Staging Table CNV_HZ_LOCATIONS where Substr(orig_system_reference,1,8) is in cnv_party_batches corresponding to the batch_id passed Define cursor for Cust Relationships information from staging table CNV_HZ_CUST_ACCT_RELATE Where Substr(orig_system_reference,1,8) is in cnv_party_batches Define cursor for Tax Exemptions from staging table CNV_RA_TAX_EXEMPTIONS Where Substr (orig_system_reference, 1, 8) is in cnv_party_batches corresponding to the batch_id passed Begin If l_target_num_of_records > 0 (count of Location records ) THEN /* To validate and populate Location Information */ Open Location Cursor Loop begin Fetch Data from Staging Tables Call API hz_location_v2pub.create_location to populate Location information into base tables If error encountered then insert error number and error message in Staging Table Update status flag in Staging table with value 'E' Else Update Staging table with status = P End if; End End loop Close cursor End if; If l_target_num_of_records > 0 (count of Party records ) THEN /* To validate and populate Party Information */ Open Party Cursor Loop begin Fetch Data from Staging Tables If party_type= ORGANIZATION Pick corresponding data from CNV_HZ_ORG_PROFILES Call API hz_party_v2pub.create_organization to create party of type ORGANIZATION Elsif party_type = PERSON Pick data from CNV_HZ_PERSON_PROFILES Call API hz_party_v2pub.create_person to create party of type PERSON End if If error encountered then insert error number and error message in Staging Table Update status flag in Staging table with value 'E' Else

Data Conversions Hand Book

Update Staging table with status = P End if; End End loop Close cursor End if; If l_target_num_of_records > 0 (count of Cust Account records ) THEN / * Validate and populate Cust Account Imformation */

Open Customer Account Cursor loop begin Fetch and Validate Data from Staging Tables If data passes thru validation Populate the columns cust_prof_cons_inv_flag and cust_prof_cons_inv_type,profile_class_id into the customer profile rec. All other columns are NULL. Call API hz_cust_account_v2pub.create_cust_account to populate Party and Customer Account information and Profile Information into base tables If error encountered then insert error number and error message in Staging Table Update status flag in Staging table with value E End if Else Update Staging table with status = P End if End End loop Close Customer Account cursor /Load Profile Amounts */ Open Customer Profile Amount Cursor for all successfully processed customers. loop begin Fetch and Validate Data from Staging Tables If data passes thru validation Call API Hz_Customer_Profile_V2pub.create_cust_profile_amt to populate Profile Amount information into base tables If error encountered then insert error number and error message in Staging Table Update status flag in Staging table with value E Else Update Staging table with status = P End if; End if End End loop Close cursor End if; /* Validate and populate Customer Account Site Information */ If l_target_num_of_records > 0 (count of Cust Acct Site records ) THEN Open Cursor for Customer Account Site Information

Data Conversions Hand Book

loop begin Fetch and Validate Data from Staging Tables If data passes thru validation Call API hz_party_site_v2pub.create_party_site to populate Party Site information to base tables. Call API hz_cust_acct_site_v2pub. Create_cust_acct_site to populate Customer Account Site information into base tables If error encountered then insert error number and error message in Staging Table Update status flag in Staging table with value E Else Update Staging table with status = P End if; End if End End loop Close cursor End if; /* Validate and populate Customer Site Uses Information */ If l_target_num_of_records > 0 (count of Site Use records ) THEN Open Cursor for Customer Site Uses Information loop begin Fetch and Validate Data from Staging Tables If data passes thru validation Call API hz_cust_acct_site_v2pub. Create_cust_site_use to populate Customer Site Uses information into base tables End if; If error encountered then insert error number and error message in Staging Table Update status flag in Staging table with value E Else Update Staging table with status = P End if; End if End End loop Close cursor End if; /* Validate and populate Party Contacts information */ If l_target_num_of_records > 0 (count of Conatct records ) THEN Open Cursor for Org Contacts, Cust Account Roles, Role responsibility and Contact Points Information loop begin Fetch and Validate Data from Staging Tables If data passes thru validation If Conatct person does not exist , Create a PERSON party rec for the contact person. Call APIs hz_contact_point_v2pub.create_contact_point hz_cust_account_role_v2pub.create_cust_account_role hz_cust_account_role_v2pub. create_role_responsibility

Data Conversions Hand Book

to populate Party Contact information into base tables If error encountered then insert error number and error message in Staging Table Update status flag in Staging table with value E Else Update Staging table with status = P End if; End if End End loop Close cursor End if; /* Validate and populate Party Relationship Types */ If l_target_num_of_records > 0 (count of Rel type records ) THEN Open Cursor for Party Relationship Types Information loop begin Fetch and Validate Data from Staging Tables If data passes thru validation Call API hz_relationship_type_v2pub.create_relationship_type to populate Party Relationship Type information into base tables If error encountered then insert error number and error message in Staging Table Update status flag in Staging table with value E Else Update Staging table with status_flag = P End if; End if End End loop Close cursor End if; If l_target_num_of_records > 0 (count of Relationship records ) THEN Open Cursor for Party Relationships Information loop begin Fetch and Validate Data from Staging Tables If data passes thru validation Call API hz_relationship_v2pub.create_relationship to populate Party Relationships information into base tables If error encountered then insert error number and error message in Staging Table Update status flag in Staging table with value E Else Update Staging table with status = P End if; End if End End loop Close cursor End if;

Data Conversions Hand Book

End; If l_target_num_of_records > 0 (count of Cust Account Relationship records ) THEN Open Cursor for Cust Account Relationships Information loop begin Fetch and Validate Data from Staging Tables If data passes thru validation Call API HZ_CUST_ACCOUNT_V2PUB.create_cust_acct_relate to populate Cust Account Relationships information into base tables If error encountered then insert error number and error message in Staging Table Update status flag in Staging table with value E Else Update Staging table with status = P End if; End if End End loop Close cursor End if; End; /* Validate and populate Tax Exemption */ If l_target_num_of_records > 0 (count of Tax Exemption records ) THEN Open Cursor for Tax Exemptions Information loop begin Fetch and Validate Data from Staging Tables If data passes thru validation Insert Cust Account Relationships information into base table If error encountered then insert error number and error message in Staging Table Update status flag in Staging table with value E Else Update Staging table with status = P End if; End if End End loop Close cursor End if; End; /* Cross Reference Load */ For successfully loaded site use records Pick the legacy numbers from staging tables and load the legacy values and Oracle ids Into the CNV_XREF_CUSTOMERS table. End;

Load Credit Card Accounts

Data Conversions Hand Book

SELECT Count(*) INTO l_target_num_of_records FROM CNV_AP_CREDIT_CARD_ACCOUNTS WHERE STATUS_FLAG = I Define cursor to select credit card information from staging table CNV_AP_CREDIT_CARD_ACCOUNTS If l_target_num_of_records > 0 THEN Call the API ARP_BANK_PKG.process_cust_bank_account to Populate Credit Card Accounts Update the base table to populate other related information. If error encountered then insert error number and error message in Error Table Update status flag in Staging table with value E Else Update Staging table with status = P End if; END IF; SELECT Count(*) INTO l_target_num_of_records FROM CNV_AP_CREDIT_CARD_ACCOUNTS WHERE STATUS_FLAG = E INSERT INTO CNV_CONTROL_TOTALS ( PROGRAM_NAME , START_TIME , END_TIME , TARGET_RECORDS, ERROR_RECORDS , SEGMENT1 , SEGMENT2 , SEGMENT3 ) VALUES ( Credit Card Load, l_Start_time, l_End_time, l_target_num_of_records, l_err_num_of_records, "", "", "", );

Data Conversions Hand Book

Errors and Solutions


Potential Errors [Describe instances where errors may occurkeep high level. This should include the extent to which the organization is responsible for error monitoring in correction versus users responsibilities. Full details on how operations will be notified are not required; however, state the business expectations for level of service provided. Include details of validation routines]] S.T. CNV_HZ_PARTIES Error in getting Profile Record from cnv_hz_org_profiles table ORA-01403: no data found S.T. CNV_HZ_CUST_ACCT_SITES ORIG_SYSTEM_LOC_REF ORA-01403: no data found Possible Reasons State the possible reasons Solution Strategy State the possible solutions

There is no related data in the cnv_hz_org_profiles for the Original System Reference of the party of type Organisation Location Id Not found in HZ_LOCATIONS table for the ORIG_SYSTEM_LOC_REF used in the staging table.

There has to be a record in cnv_hz_org_profiles table for each record of cnv_hz_parties of party type as Organization Create a location for the ORIG_SYSTEM_LOC_REF used.

S.T. CNV_HZ_CUST_ACCT_SITES ORIG_SYSTEM_CUST_REF ORA-01403: no data found

Customer Not Found in HZ_CUST_ACCOUNTS_ALL table for the given ORIGINAL_SYSTEM_CUST_REF used in the staging table. Site Use Id for Bill_To locations is not found in HZ_CUST_SITE_USES_ALL table for the given orig_bill_to_site_use_ref in the staging table. Customer Account Site is not found in HZ_CUST_ACCT_SITES for the given orig_system_cust_acct_site_ref in the staging table. The standard API finding the SUBJECT_ID and OBJECT_ID same while loading the data.

Create a customer accounts for the given ORIGINAL_SYSTEM_CUST_REF used in the staging table.

S.T. CNV_HZ_CUST_SITE_USES ORIG_SYS_BILL_TO_SITE_USE_REF ORA-01403: no data found.

Create a Bill_To site for the given orig_bill_to_site_use_ref used in the staging table.

S.T. CNV_HZ_CUST_SITE_USES ORIG_SYSTEM_CUST_ACCT_SITE_REF ORA-01403: no data found.

Create a customer account site for the given orig_system_cust_acct_site_ref used in the staging table.

S.T. CNV_HZ_RELATIONSHIPS Subject ID and object ID cannot refer to the same party ID.

S.T. CNV_HZ_RELATIONSHIPS OBJECT_ID_ORIG_SYSTEM_REF ORA-01403: no data found

OBJECT_ID_ORIG_SYSTEM_REF used in the staging table dosent exists in HZ_PARTIES table.

Create a party for the given OBJECT_ID_ORIG_SYSTEM_REF in the staging table.

S.T. CNV_HZ_CONTACT_POINTS Either a Raw Phone Number or the Area Code and Phone Number should be passed. S.T. CNV_HZ_CONTACT_POINTS Column email_address must have a value

The respective data is not populated in the error column of the staging table.

Populate the data of the said columns in the staging table.

The value is not provided in the email_address column of contact point type as EMAIL.

Populate the email_address column in the

Data Conversions Hand Book S.T. CNV_HZ_CUST_ACCT_RELATE ORIG_SYSTEM_RELATED_CUST_REF ORA-01403: no data found The related customer not found in HZ_CUST_ACCOUNTS_ALL for the given ORIG_SYSTEM_RELATED_CUST_REF in the staging table. The related customer should be created for establishing a relationship.

Data Conversions Hand Book

PO Vendors

Data Conversions Hand Book

Conversion Short Description

The Oracle PO Vendors application is used to record information about companies from whom goods and services are purchased. Vendors are also defined as employees that are reimbursed for expense reports. General vendor information is stored once at the header level. If the vendor has multiple sites, the address and contact information will be stored separately for each site under that header. Under each site, there are contacts for each site. The Oracle base tables for Vendors are PO_VENDORS for Vendor information, PO_VENDOR_SITES_ALL for Vendor Site Information and PO_VENDOR_CONTACTS for Vendor Contact information. For conversion purposes, the legacy data can be extracted into staging tables, which are identical with the base tables, and then a concurrent program should be fired to take data from staging tables to base tables. The existing records in the oracle base tables can also be updated with the information from staging tables. Master There is no interface table. The user has to create staging tables. The most preferable is to create three staging tables for Vendors, Vendor Sites and Vendor Contacts. Customized code for importing Vendors. (API is there, but not using that).

Data Category Interface Tables Concurrent Program / /APIs Parameters

Data Conversions Hand Book

Setups/Pre-requisites
SR. No. 1 2 Setup Name Internal and standard concurrent managers Setup Values up and running Notes system admin responsibility/concurrent/manager/administer

Data Conversions Hand Book

Process Flow Diagram


A/P vendors Data Cleanup Script or manual intervention

Oracle A/P Vendors Error Handling Tables

No?

Legacy System

Legacy extract program

A/P Vendors Intermediate Tables

Oracle A/P Vendors Load Script

Data Validation Succesful?

Yes?

PO_VENDORS PO_VENDOR_SITES PO_VENDOR_CONTACTS

Database ERD
Interface Tables:
Vendor Staging Table

Vendor Id

Vendor Site Staging Table Vendor Contact Staging Table

Vendor Site Id

Data Conversions Hand Book

Base Tables:

Vendor Table (PO_VENDORS)

Vendor Id

Vendor Site Table (PO_VENDOR_SITES_ ALL) Vendor Contact Table (PO_VENDOR_CONTA CTS)

Vendor Site Id

Data Conversions Hand Book

Different scenarios of using the program / API


Scenario 1: Use of customized code When using customized code, then there will be only insert/update statements to the three base tables, taking data from the staging tables. The insertion will follow the following rules; When a Vendor Site will be inserting, check whether the related Vendor is entered or not. When a Vendor Contact will be inserting, check whether the related Vendor Site is entered or not. There are unique id fields in the base tables. These id fields can be populated by two ways, firstly the program can take the legacy ids, or secondly the program can use the system sequences to generate ids. The system sequences available are: PO_VENDORS_S (for VENDOR_ID in PO_VENDORS) PO_VENDOR_SITES_S (for VENDOR_SITE_ID in PO_VENDOR_SITES_ALL) PO_VENDOR_CONTACTS_S (for VENDOR_CONTACT_ID in PO_VENDOR_CONTACTS) The Vendor Number (SEGMENT1) is a unique field. The Vendor number has to be updated in the system, from where the automatic Vendor number is generated. This is to be done using the following code. UPDATE PO_UNIQUE_IDENTIFIER_CONTROL SET current_max_unique_identifier = (SELECT MAX(TO_NUMBER(segment1)) FROM po_vendors) WHERE table_name = 'PO_VENDORS'; (From Application point of view: In the Payables Manager responsibility, the SETUP for the Vendor Number has to be set to Automatic. Navigation: Setup Options Financials. Go to Suppliers-Entry tab.)

Data Conversions Hand Book

Scenario 2: Use of API Oracle has the API AP_PO_VENDORS_APIS_PKG to load Vendors, Sites and Contact. This package has procedures to insert Vendors, Sites and Contacts as follows: procedure insert_new_vendor( p_vendor_name p_vendor_type_lookup_code p_taxpayer_id p_tax_registration_id p_women_owned_flag p_small_business_flag p_minority_group_lookup_code p_supplier_number x_vendor_id x_status x_exception_msg IN VARCHAR2, IN VARCHAR2 DEFAULT NULL, IN VARCHAR2, IN VARCHAR2, IN VARCHAR2, IN VARCHAR2, IN VARCHAR2, IN VARCHAR2, OUT NOCOPY NUMBER, OUT NOCOPY VARCHAR2, OUT NOCOPY VARCHAR2);

procedure insert_new_vendor_site( p_vendor_site_code IN VARCHAR2, p_vendor_id IN NUMBER, p_org_id IN VARCHAR2, p_address_line1 IN VARCHAR2, p_address_line2 IN VARCHAR2, p_address_line3 IN VARCHAR2, p_address_line4 IN VARCHAR2, p_city IN VARCHAR2, p_state IN VARCHAR2, p_zip IN VARCHAR2, p_province IN VARCHAR2, p_county IN VARCHAR2, p_country IN VARCHAR2, p_area_code IN VARCHAR2, p_phone IN VARCHAR2, p_fax_area_code IN VARCHAR2, p_fax IN VARCHAR2, p_email_address IN VARCHAR2, p_purchasing_site_flag IN VARCHAR2 DEFAULT 'N', p_pay_site_flag IN VARCHAR2 DEFAULT 'N', p_rfq_only_site_flag IN VARCHAR2 DEFAULT 'N', x_vendor_site_id OUT NOCOPY NUMBER, x_status OUT NOCOPY VARCHAR2, x_exception_msg OUT NOCOPY VARCHAR2); procedure insert_new_vendor_contact( p_vendor_site_id IN NUMBER, p_first_name IN VARCHAR2, p_last_name IN VARCHAR2, p_middle_name IN VARCHAR2, p_prefix IN VARCHAR2, p_title IN VARCHAR2, p_mail_stop IN VARCHAR2, p_area_code IN VARCHAR2, p_phone IN VARCHAR2, p_alt_area_code IN VARCHAR2 DEFAULT NULL,

Data Conversions Hand Book

p_alt_phone p_fax_area_code p_fax p_email_address p_url x_vendor_contact_id x_status x_exception_msg

IN VARCHAR2 DEFAULT NULL, IN VARCHAR2 DEFAULT NULL, IN VARCHAR2 DEFAULT NULL, IN VARCHAR2 DEFAULT NULL, IN VARCHAR2 DEFAULT NULL, OUT NOCOPY NUMBER, OUT NOCOPY VARCHAR2, OUT NOCOPY VARCHAR2);

When using these API, the main constraint is, these procedures are giving little options to pass as parameter. If the scenario requires much more information to be converted, then we have to write an update program with those informations after the data are loaded.

Data Conversions Hand Book

Field Mapping details


<insert the interface table with field descriptions, and mandatory/non mandatory, and foreign key relationships if possible . Insert as an object what ever excel files you may have>

Validation Logic
<insert any specific validations to be done before calling import program or APIs. Do not mention mandatory fields that you have already specified in the field mapping details>

Data Conversions Hand Book

Errors and Solutions


Potential Errors [Describe instances where errors may occurkeep high level. This should include the extent to which the organization is responsible for error monitoring in correction versus users responsibilities. Full details on how operations will be notified are not required; however, state the business expectations for level of service provided. Include details of validation routines]] Possible Reasons State the possible reasons Solution Strategy State the possible solutions

Vendor Insert Statement Fails due to unique constraint violation PO_VENDORS_U1 (Vendor ID) PO_VENDORS_U2 (Vendor Name) PO_VENDORS_U3 (Segment1) Vendor Site Insert Statement Fails due to unique constraint violation PO_VENDOR_SITES_U1 (Vendor Site ID) PO_VENDOR_SITES_U2 (Vendor Id, Vendor Site Code, Org Id) Vendor Contact Insert Statement Fails due to unique constraint violation PO_VENDOR_CONTACTS_U1 (Vendor Contact ID)

There are unique fields in Vendor table. The violation of this uniqueness causes the errors. Check for uniqueness of the Vendor Id. Check for uniqueness of the Vendor Name. Check for uniqueness of the Vendor Number. There are unique indexes in Vendor Site table. The violation of this uniqueness causes the errors. Check for uniqueness of the Vendor Site Id. Check for uniqueness of Vendor Id, Vendor Site Code and Org Id. There are unique indexes in Vendor Contact table. The violation of this uniqueness causes the errors. Check for uniqueness of the Vendor Contact Id.

Data Conversions Hand Book

Data Validation Techniques


Conversion Tool Audit Log:

<Forms, reports and queries that can be run to compare data between legacy and Oracle >
Oracle Application Standard Report(s)

Tuning Methods
<Indexes, methods that can be used to improve performance>

Appendix A Links to Oracle Documentation


[Enter conversion enhancements, updates to the design, etc. Please reference the changes in the original design and include the author and date in the appendix as well as in the Change Control section.]

Refer to the Oracle Payables APIs Manual and Oracle Payables Users Guide on Metalink for the Supplier APIs and functionality. Refer to the Oracle eTRM website for relationships between the base tables, the required fields and the indexes.

Data Conversions Hand Book

CRM Resources

Data Conversions Hand Book

Conversion Short Description

Oracle 11i provides functionality through the CRM foundations module to store information about an individual or object (Resource) that can be assigned a level of work (Task). These resources will be populated into the Oracle CRM Foundation Resource Manager. Resources can be of several types, e.g. Employee, Supplier Contact, Party etc. The resources can be assigned as the Salespersons. The resources are working within Groups. After creation of resources, they have to be assigned to respective Groups. For resources, Roles have to be defined. And the roles to be attached to the resources also. Oracle 11i comes equipped with new Resource Manager APIs. These APIs are used to load the data from the legacy systems. The converted data can be used by Service, Finance and Order to Cash to facilitate Service Calls, Ordering, and Financial Reporting. Master There is no interface table. The user has to create staging tables. The staging tables will be created as per the requisition. Oracle supported APIs are used to create the several resource related entities.

Data Category Interface Tables Concurrent Program / /APIs Parameters

Data Conversions Hand Book

Setups/Pre-requisites
SR. No. 1 2 Setup Name Internal and standard concurrent managers Setup Values up and running Notes system admin responsibility/concurrent/manager/administer

Data Conversions Hand Book

Process Flow Diagram


PL/SQL Load Program w/ Resource Manager APIs

Legacy System

Data Extraction

Resource Resource Base Staging Tables Tables

Data Conversions Hand Book

Technical Flow Diagram for the Loading data from staging tables to Oracle base tables:
Start A

Staging Tables Resources, Groups, Group Usages, Group Members, Salespersons, Roles, Role Relations

Manual Correction of the Erroneous data

No Status set to SUCCESS

Pl/SQL Procedure for loading data from staging table to Oracle base tables.

Custom Oracle reports to view the errors

Errors

Yes Data remains in the Staging tables with Status as ERROR

No

Load details of errors occurred in the control table and error table

Oracle Applications Base Tables JTF_RS_RESOUCE_EXTNS JTF_RS_GROUPS_B JTF_RS_GROUP_USAGES JTF_RS_GROUP_MEMBERS JTF_RS_SALESREPS JTF_RS_ROLES_B JTF_RS_ROLE_RELATIONS

Load details of successful records in the control table Control table for conversion statistics

Check for all data in staging tables whether Status is SUCCESS or not

No

Yes

End

Data Conversions Hand Book

Database ERD
Staging Tables:

Sales Person Staging Table

Group Usages Staging Table

Resource Id

Group Id

Resources Staging Table

Resource Id

Group Members Staging Table

Group Id

Groups Staging Table

Resource Id

Role Relations Staging Table

Role Id

Roles Staging Table

Data Conversions Hand Book

Base Tables:

Sales Person Table (JTF_RS_SALESREPS)

Group Usages Table (JTF_RS_GROUP_USAGES)

Resource Id

Group Id

Resources Table (JTF_RS_RESOURCE_EXTNS)

Resource Id

Group Members Table (JTF_RS_GROUP_MEMBERS)

Group Id

Groups Table (JTF_RS_GROUPS_B)

Resource Id

Role Relations Table (JTF_RS_ROLE_RELATIONS)

Role Id

Roles Table (JTF_RS_ROLES_B)

Data Conversions Hand Book

Different scenarios of using the APIs


List of APIS: Resource APIs: JTF_RS_RESOURCE_PUB.Create_Resource (for creating resources) JTF_RS_RESOURCE_PUB.Update_Resource (for updation of existing resources) Group APIs: JTF_RS_GROUP_PUB.Create_Resource_Group (for creating resource groups) JTF_RS_GROUP_PUB.Update_Resource_Group (for updation of existing resource groups) JTF_RS_GROUP_MEMBERS_PUB.Create_Resource_Group_Members (for creating group members) Salesrep APIs: Roles APIs: JTF_RS_SALESREPS_PUB.Create_Salesrep (for creating sales persons) JTF_RS_SALESREPS_PUB.Update_Salesrep (for updation of existing sales person) JTF_RS_ROLES_PUB.Create_Rs_Resource_Roles (for creating roles) JTF_RS_ROLES_PUB.Update_Rs_Resource_Roles (for updation of existing roles) JTF_RS_ROLE_RELATE_PUB.Create_Resource_Role_Relate (for creating resource role relation) Resource Conversion: Resources can be of following types: Employee Supplier contact Party Partner Other TBH

The Create_Resource API creates resources of all the above resource categories. Except for the categories Other and TBH, all the other resources are referred from respective bases, i.e., the Employee resource should be an existing employee, the Supplier Contact resource will be an existing vendor contact etc. For the resources of categories Employee, Supplier Contact, Party and Partner, it is required to pass some identification of the entity during the creation of resource. The parameter P_SOURCE_ID is used for that. If a resource be of category Employee then the PERSON_ID from table PER_ALL_PEOPLE_F of that employee should be passed as a value to this parameter. Similarly, we have to pass the VENDOR_CONTACT_ID from PO_VENDOR_CONTACTS for Supplier Contact, PARTY_ID from HZ_PARTY_SITES for Party, PARTY_ID from JTF_RS_PARTNERS_VL for Partners. Salesrep Conversion: Salespersons are resources, who deal with the sales. Once the resource is created, that resource can be assigned as a sales person by the Create_Salesrep API.

Data Conversions Hand Book

Group Conversion: Resource Group is a logical cluster, which is doing some work. Resources are entered into the group as Group Members. Groups are created using the Create_Resource_Group API. Then resources are assigned to groups as Group Members using the Create_Resource_Group_Members API. Group usages can be created by simply inserting records into JTF_RS_GROUP_USAGES. Role Conversion: Role is to determine the role of a resource or of a group. Role can be created using the Create_Rs_Resource_Roles API. After creation of roles, the roles can be assigned to resources or groups using the Create_Resource_Role_Relate API.

Data Conversions Hand Book

Field Mapping details


<insert the interface table with field descriptions, and mandatory/non mandatory, and foreign key relationships if possible . Insert as an object what ever excel files you may have>

Validation Logic
<insert any specific validations to be done before calling import program or APIs. Do not mention mandatory fields that you have already specified in the field mapping details>

Data Conversions Hand Book

Errors and Solutions


Potential Errors [Describe instances where errors may occurkeep high level. This should include the extent to which the organization is responsible for error monitoring in correction versus users responsibilities. Full details on how operations will be notified are not required; however, state the business expectations for level of service provided. Include details of validation routines]] Possible Reasons State the possible reasons Solution Strategy State the possible solutions

Data Conversions Hand Book

Data Validation Techniques


Conversion Tool Audit Log:

<Forms, reports and queries that can be run to compare data between legacy and Oracle >
Oracle Application Standard Report(s)

Tuning Methods
<Indexes, methods that can be used to improve performance>

Appendix A Links to Oracle Documentation


[Enter conversion enhancements, updates to the design, etc. Please reference the changes in the original design and include the author and date in the appendix as well as in the Change Control section.]

Refer to the CRM API Reference Guide Resource APIs and functionality. Refer to the Oracle eTRM website for relationships between the base tables, the required fields and the indexes.

Data Conversions Hand Book

Appendix A Definitions
Accounting Period The fiscal period a company uses to report financial results, such as a calendar month or fiscal period. Application Programming Interface (API) The APIs provide an extensive error handling and error-reporting mechanism whereby all errors encountered in the different phases of API execution are reported and put on the message stack. The calling program has the option of looking up all the error messages or the first error message on the stack. If there is only one error in the message stack, the error comes out as one of the output parameters of the API routine and the user does not need to fetch the message from the stack. API Error Statuses The return status (x_return_status) of the API informs the caller about the result of the operation (or operations) performed by the API. The different possible values for an API return status are listed below: Success (FND_API.G_RET_STS_SUCCESS) A success return status means that the API was able to perform all the operations requested by its caller. A success return status may be accompanied by messages in the API message list that will be informative. Error (FND_API.G_RET_STS_ERROR) An error return status means that the API failed to perform some or all of the operations requested by its caller. An error return status is usually accompanied by messages describing the error (or errors) and how to fix it. In most cases, you should be able to take corrective actions to fix regular, expected errors such as missing attributes or invalid date ranges. Unexpected error (FND_API.G_RET_STS_UNEXP_ERROR) An unexpected error status means that the API has encountered an error condition it did not expect or could not handle. In this case, the API is unable to continue with its regular processing. Examples of such error are irrecoverable data inconsistency errors, memory errors, and programming errors (like attempting a division by zero). In most cases, the end user will not be able to correct unexpected errors. It is usually system administrators or application developers who can fix these errors. Bill of Material (BOM) A list of component items associated with a parent item and information about how each item relates to the parent item. Oracle Manufacturing supports standard, model, option class, and planning bills. The item information on a bill depends on the item type and bill type. The most common type of bill is a standard bill of material. A standard bill of material lists the components associated with a product or subassembly. It specifies the required quantity for each component plus other information to control work in process, material planning, and other Oracle Manufacturing functions. Also known as product structures. BOM Item Type An item classification that determines the items you can use as components in a bill of material. BOM Item types include standard, model, option class, and planning items. Category Code used to group items with similar characteristics, such as plastics, metals, or glass items. Category Sets A feature in Inventory where users may define their own group of categories. Typical category sets include purchasing, materials, costing, and planning. Concurrent Manager Components of your applications concurrent processing facility that monitor and run time consuming tasks for you without tying up your terminal. Whenever you submit a request, such as running a report, a concurrent manager does the work for you, letting you perform many tasks simultaneously. Concurrent Process A task in the process of completing. Each time you submit a task, you create a new concurrent process. A concurrent process runs simultaneously with other concurrent processes (and other activities on your computer) to help you complete multiple tasks at once with no interruptions to your terminal. Configuration A product a customer orders by choosing a base model and a list of options. It can be shipped as individual pieces as a set (kit) or as an assembly (configuration item). Inventory Controls Parameter settings that control how Inventory functions.

Data Conversions Hand Book

Inventory Item Items you stock in inventory. You control inventory for inventory items by quantity and value. Typically, the inventory item remains an asset until you consume it. You recognize the cost of an inventory item as an expense when you consume it or sell it. You generally value the inventory for an item by multiplying the item standard cost by the quantity on hand. Item Attributes Specific characteristics of an item, such as order cost, item status, revision control, COGS account, etc. Item Status Code used to control the transaction activity of an item. Locator Physical area within a subinventory where you store material, such as a row, aisle, bin, or shelf. Logical Organization A business unit that tracks items for accounting purposes but does not physically exist. On-hand Quantity The physical quantity of an item existing in inventory. Organization A business unit such as a plant, warehouse, division, department, and so on. Order Management refers to organizations as warehouses on all Order Management windows and reports. Physical Inventory A periodic reconciliation of item counts with system onhand quantities. Revision A particular version of an item, bill of material, or routing. Serial Number A number assigned to each unit of an item and used to track the item. Serialized Unit The unique combination of a serial number and an inventory item. Set of Books A financial reporting entity that partitions General Ledger information and uses a particular chart of accounts, functional currency, and accounting calendar. This concept is the same whether or not the Multiorganization support feature is implemented. Standard Costing A costing method where a predetermined standard cost is used for charging material, resource, overhead, period close, job close, and cost update transactions and valuing inventory. Any deviation in actual costs from the predetermined standard is recorded as a variance. Subinventory Subdivision of an organization, representing either a physical area or a logical grouping of items, such as a storeroom or receiving dock. Transaction Interface An open interface table through which you can import transactions. Transaction Manager A concurrent program that controls your manufacturing transactions. Transaction Worker An independent concurrent process launched by a transaction manager to validate and process your manufacturing transactions. Unit of Measure (UOM) The unit that the quantity of an item is expressed. Unit of Measure Class A group of units of measure and their corresponding base unit of measure. The standard unit classes are Length, Weight, Volume, Area, Time, and Pack. Unit of Measure Conversion Numerical factors that enable you to perform transactions in units other than the primary unit of the item being transacted.

Data Conversions Hand Book

Counters Load

Data Conversions Hand Book

Conversion ShortCounters conversion is used to move historical meter read data from legacy system to Oracle Service Module. Description
The conversion process will begin by extracting data from legacy systems and loading to intermediate counters tables. The scope of this unit of work (Load Conversion) is to extract data from intermediate tables and populate the Oracle base tables. The Oracle Counters Load script extracts data from the intermediate tables and validates data. Upon successful validation the Oracle Counters packages insert routines are called to populate data in the Counter base tables. The load process will start by submitting the Generic Custom Conversion Concurrent process by giving Counters Load as parameter. All Load conversion processes will kickoff by submitting this Generic Conversion program with the appropriate parameters.

Data Category: Interface Tables

Base Tables

Error Tables Concurrent Program / /APIs Parameters APIs Involved

Master CNV_COUNTER_GROUPS CNV_COUNTER_GRP_LOG CNV_COUNTERS CNV_COUNTER_VALUES CS_COUNTER_GROUPS CS_COUNTER_GRP_LOG CS_COUNTERS CS_COUNTER_VALUES CS_CTR_AUDIT CNV_CONVERSION_ERRORS CNV_CONTROL_TOTALS Counters Load

Cs_Counter_Groups_Pkg.Insert_Row Cs_Counters_Pkg.Insert_Row Cs_Counter_Grp_Log_Pkg.Insert_Row Cs_Counter_Values_Pkg.Insert_Row

Data Conversions Hand Book

Setups/Pre-requisites
SR. No. 1 Setup Name Internal and standard concurrent managers Setup Values up and running Notes system admin resp/concurrent/manager/administer

Data Conversions Hand Book

Process Flow Diagram

Database ERD
<show the Various links between interface and base tables > Interface Tables: Base Tables:

Data Conversions Hand Book

Field Mapping details


Source Table Name : CNV_COUNTER_GROUPS

CNV_COUNTER_GRO UPS.doc

Source Table Name

CNV_COUNTERS

CNV_COUNTERS.doc

Source Table Name

CNV_COUNTER_GRP_LOG

CNV_COUNTER_GRP _LOG.doc

Source Table Name

CNV_COUNTER_VALUES

CNV_COUNTER_VAL UES.doc

Validation Logic
Begin Declare l_counter_group_num_of_records l_counter_grp_log_num_of_records l_counter_num_of_records l_counter_value_num_of_records l_counter_group_num_of_error_records l_counter_grp_log_num_of_error_records l_counter_num_of_error_records l_counter_value_num_of_error_records Begin /* Count the total number of records to be process */ SELECT Count (*) INTO l_counter_group_num_of_records FROM CNV_COUNTER_GROUPS WHERE STATUS_FLAG = I SELECT Count (*) INTO l_counter_grp_log_num_of_records FROM CNV_COUNTER_GRP_LOG WHERE STATUS_FLAG = I SELECT Count (*) INTO l_counter_value_num_of_records FROM CNV_COUNTERS

Data Conversions Hand Book

WHERE STATUS_FLAG = I SELECT Count(*) INTO l_counter_value_num_of_records FROM CNV_COUNTER_VALUES WHERE STATUS_FLAG = I /* Submit the Counters Conversion Program */ l_cs_request_id : = FND_REQUEST.SUBMIT_REQUEST; IF l_cs_request_id = 0 THEN Print('ERROR: Counters Conversion Program failed'); Print('Please verify the concurrent program.'); RETURN; ELSE /* Wait till the concurrent program completes */ LOOP l_completed := FND_CONCURRENT.WAIT_FOR_REQUEST; IF dev_phase = 'COMPLETE' THEN EXIT; END IF; END LOOP; END IF; /* Count the total number of records errored */ SELECT Count (*) INTO l_counter_group_num_of_error_records FROM CNV_COUNTER_GROUPS WHERE STATUS_FLAG = E SELECT Count (*) INTO l_counter_grp_log_num_of_error_records FROM CNV_COUNTER_GRP_LOG WHERE STATUS_FLAG = E SELECT Count (*) INTO l_counter_num_of_error_records FROM CNV_COUNTERS WHERE STATUS_FLAG = E SELECT Count(*) INTO l_counter_value_num_of_error_records FROM CNV_COUNTER_VALUES WHERE STATUS_FLAG = E

/ * Insert the log details into custom control file */ INSERT INTO CNV_CONTROL_TOTALS (PROGRAM_NAME , START_TIME , END_TIME , TARGET_RECORDS, ERROR_RECORDS, SEGMENT1 , SEGMENT2 ,

Data Conversions Hand Book

SEGMENT3 , ) VALUES ( COUNTERS CONVERSION, l_Start_time, l_End_time, l_counter_group_num_of_records , l_counter_group_num_of_error_records, COUNTER GROUP", "", "", ); INSERT INTO CNV_CONTROL_TOTALS ( PROGRAM_NAME , START_TIME , END_TIME , TARGET_RECORDS, ERROR_RECORDS, SEGMENT1 , SEGMENT2 , SEGMENT3 , ) VALUES ( COUNTERS CONVERSION, l_Start_time, l_End_time, l_counter_group_log_num_of_records , l_counter_group_log_num_of_error_records, COUNTER GRP LOG", "", "", ); INSERT INTO CNV_CONTROL_TOTALS ( PROGRAM_NAME , START_TIME , END_TIME , TARGET_RECORDS, ERROR_RECORDS, SEGMENT1 , SEGMENT2 , SEGMENT3 , ) VALUES ( COUNTERS CONVERSION, l_Start_time, l_End_time, l_counter_num_of_records , l_counter_num_of_error_records, COUNTERS", "", "", ); INSERT INTO CNV_CONTROL_TOTALS ( PROGRAM_NAME , START_TIME , END_TIME , TARGET_RECORDS,

Data Conversions Hand Book

ERROR_RECORDS, SEGMENT1 , SEGMENT2 , SEGMENT3 , ) VALUES (COUNTERS CONVERSION, l_Start_time, l_End_time, l_counter_value_num_of_records , l_counter_value_num_of_error_records, COUNTER VALUES", "", "", ) END; /* Pseudo code for PL/SQL Program to call Oracle Counter Package Insert Routines */ Define cursor for Counter Group Information (from Staging table CNV_COUNTER_GROUPS where STATUS_FLAG = I) Define cursor for Counter Group Log Information (from Staging Table CNV_COUNTER_GRP_LOG where STATUS_FLAG = I) Define cursor for Counters Information (from Staging Table CNV_COUNTERS where STATUS_FLAG = I) Define cursor for Counter Values info (from staging table CNV_COUNTER_VALUES where status_flag = I and orig_system_ctr_grp_log_id = counter grp log cursor.attribute1) Declare local variables Begin /* To validate and populate Counter Group Information */ Open Counter Group Cursor Loop Fetch and Validate Data from Staging Table Call the package CS_COUNTER_GROUPS_PKG (Insert Routine) to populate Counter Group information into base tables If counter group is successfully loaded Update staging table CNV_COUNTER_GROUPS with Status Flag = P If erroneous records then Update staging table CNV_COUNTER_GROUPS with Status Flag = E Insert error message, error number and time stamp in the error log table End Loop; Close Counter Groups cursor Open Counters cursor Loop Fetch and validate Counters data Call the package CS_COUNTERS_PKG (Insert Routine) to populate Counter information into base tables If successfully processed , update staging table CNV_COUNTERS with Status Flag = P If erroneous records Update status flag for this row in the staging table CNV_COUNTERS with value = E Insert error message, error number and time stamp in the error log table End Loop Close Counters cursor.

Data Conversions Hand Book

Open Counter Group Log cursor Loop Fetch and validate Counter Group Log data Open Counter values cursor For each combination of this counter group log with corresponding counter value in CNV_COUNTER_VALUES table, Call the package CS_COUNTER_GRP_LOG_PKG (Insert Routine) to populate Counter Group Log information into base tables If erroneous records Update status flag for this row in the staging table CNV_COUNTER_GRP_LOG with value = E Insert error message, error number and time stamp in the error log table If successfully processed, Pass the data of CNV_COUNTER_VALUES table and the Call the package CS_COUNTER_VALUES_PKG (Insert Routine) to populate Counter Values information into base tables If successfully processed, update staging table CNV_COUNTER_VALUES with Status Flag = P If erroneous records Update status flag for this row in the staging table CNV_COUNTER_VALUES with value = E Insert error message, error number and time stamp in the error log table. End Loop Close Counter values cursor IF group logs are processed for all corresponding counter values of CNV_COUNTER_VALUES update staging table CNV_COUNTER_GRP_LOG with Status Flag = P ELSE Update staging table CNV_COUNTER_GRP_LOG with Status Flag = E END IF; End Loop Close Group Log cursor

Data Conversions Hand Book

Errors and Solutions


Potential Errors [Describe instances where errors may occurkeep high level. This should include the extent to which the organization is responsible for error monitoring in correction versus users responsibilities. Full details on how operations will be notified are not required; however, state the business expectations for level of service provided. Include details of validation routines]] Possible Reasons State the possible reasons Solution Strategy State the possible solutions

2.

Data Conversions Hand Book

AR Receipts Open & Closed

Data Conversions Hand Book

Conversion ShortThe object of this automated conversion is to convert the Cash, Applications and adjustment transactions data into the Oracle Receivables module. It will extract the specified data from the Description

Legacy Systems (RBAS) into a custom staging table, transform/translate the legacy data to meet oracle requirements and load the data into the oracle base tables via the custom pl/sql program. Scope of this design document is extracting data from custom staging table (CNV_AR_RECEIPTS) and after validating for proper data format and business rules using PL/SQL program, load the data into the Oracle Receivables base tables. All records that do not pass data validation will be flagged with error status and an associated error description will be populated in staging table

Data Category:

Master AR_CASH_RECEIPTS_ALL AR_PAYMENT_SCHEDULES_ALL AR_RECEIVABLES_APPLICXATIONS AR_CASH_RECEIPT_HISTORY_ALL AR_RECEIVABLES_TRX_ALL CNV_CONVERSION_ERRORS CNV_CONTROL_TOTALS AR Receipts Load

Interface Tables CNV_AR_RECEIPTS Base Tables

Error Tables Concurrent Program / /APIs Parameters APIs Involved

CNV_AR_RECEIPTS_PKG (Custom Package) AR_RECEIPT_API_PUB.APPLY AR_RECEIPT_API_PUB.Create_Cash

Data Conversions Hand Book

Setups/Pre-requisites
SR. No. 1 Setup Name Internal and standard concurrent managers Setup Values up and running Notes system admin resp/concurrent/manager/administer

Data Conversions Hand Book

Process Flow Diagram

Database ERD
<show the Various links between interface and base tables > Interface Tables: Base Tables:

Data Conversions Hand Book

Field Mapping details


Source Table Name : CNV_AR_RECEIPTS

CNV_AR_RECEIPTS. doc

Validation Logic
Pseudo Code for AR Receipts Load Concurrent Program: Declare the Cursor to select all unprocessed records from CNV_AR_RECEIPTS table where status_flag=V. Define required local variables Begin Assign who columns into local variables Initialize the environment FND_GLOBAL.APPS_INITIALIZE( user_id, Responsibility_ID, Resp_APPl_ID) Count the total number of records to be process Open the Cursor for loop Check the Required columns are not null Validate the record If Validation fails Update the Row with error message and Status_flag=E Else Call the AR_RECEIPTS_API_PUB.Create_And_Apply API for insert into Base tables End If If Error in API Call Update the Row with error message and Status_flag=E Else Update the Row with Status_flag=P End If End Loop Count the number of error records in CNV_AR_RECEIPTS table where status_flag= E 1 Insert the log details like start time, end time, error counts etc into custom control table End

Data Conversions Hand Book

Errors and Solutions


Potential Errors [Describe instances where errors may occurkeep high level. This should include the extent to which the organization is responsible for error monitoring in correction versus users responsibilities. Full details on how operations will be notified are not required; however, state the business expectations for level of service provided. Include details of validation routines]] Possible Reasons State the possible reasons Solution Strategy State the possible solutions

Data Conversions Hand Book

GL Balances Load

Data Conversions Hand Book

Conversion ShortThe purpose of this conversion is to move historical data from the legacy General Ledger to the new Oracle General ledger. Description
Since 100% GL data that is needed is present here so there will be no need for a manual conversion process. Scope of this design document is extracting data from GL_INTERFACE (Data in this interface table is already populated by extraction design) and import the GL data into GL_JE_LINES, GL_JE_HEADERS, GL_JE_BATCHES oracle base tables by kickoff the oracle standard Journal Import process and log the number of successful records, number of failure records details into the custom control table CNV_CONTROL_TOTALS. The GL load process will start by submitting the Generic Custom Conversion Concurrent process by giving GL Balance as parameter.

Data Category: Interface Tables Base Tables Error Tables Concurrent Program / /APIs Parameters APIs Involved

Transaction GL_INTERFACE GL_JE_LINES GL_JE_HEADERS GL_JE_BATCHES CNV_CONTROL_TOTALS GL Balance Load

CNV_GL_BALANCE_PKG (Custom Package)

Data Conversions Hand Book

Setups/Pre-requisites
SR. No. 1 Setup Name Internal and standard concurrent managers Setup Values up and running Notes system admin resp/concurrent/manager/administer

Data Conversions Hand Book

Process Flow Diagram

Database ERD
<show the Various links between interface and base tables > Interface Tables: Base Tables:

Data Conversions Hand Book

Field Mapping details


Source Table Name
GL_INTERFACE.doc

GL_INTERFACE

Validation Logic
/* Pseudo code for budget upload into Oracle System */ Declare a cursor to select the user je source names from GL_INTERFACE table for NEW & P type statuses. Define required local variables Begin Assign who columns into local variables Initialize the environment FND_GLOBAL.APPS_INITIALIZE (user_id, Responsibility_ID, Resp_APPl_ID) Open the Cursor for loop Count the total number of records to be process for each user je source name from GL_INTERFACE table. Insert a row for Source name to be Load in gl_interface_control table. /* Submit the Journal Import Request */ l_gl_request_id := apps.fnd_request.submit_request ( application => 'SQLGL' --Application , program => 'GLLEZL' --Program , argument1 => TO_CHAR(l_interface_run_id) --Interface run Id , argument2 => 1 --Set Of Books id , argument3 => 'N' --Post errors to suspense , argument4 => NULL --Start Date , argument5 => NULL --End Date , argument6 => 'N' --Create journal Summary , argument7 => 'N' --Validate DFF ); End Loop; Count the number of error records in GL_INTERFACE for status flag like E% Insert the log details like start time, end time, error counts etc into custom control table. End

Errors and Solutions


Potential Errors [Describe instances where errors may occurkeep high level. This should include the extent to which the organization is responsible for error monitoring in correction versus users responsibilities. Full details on how operations will be notified are not required; however, state the business expectations for level of service provided. Include details of validation routines]] Possible Reasons State the possible reasons Solution Strategy State the possible solutions

Data Conversions Hand Book

Data Conversions Hand Book

GL Budget Load

Data Conversions Hand Book

Conversion ShortBudgeting is used to estimate account balances for a specified range of periods. This important function allows each department to project the amount of money Description
that will be necessary to run that department for the determined budget period. The data can be compared to actual balances to control actual and expected expenditures, thereby reducing costs when possible and not allowing costs to escalate out of control.

The Budget Extract conversion will select the current fiscal year budget from the legacy system, transform this data and then load the Oracle Interface table. Finally, the Budget load conversion program will take information from the Budget Open Interface Table (OIT), validate the data and load the Oracle base tables.

Data Category:

Master GL_BUDGETS

Interface Tables GL_BUDGET_INTERFACE Base Tables

Error Tables GL Budget Load Concurrent Program / /APIs Parameters APIs Involved
CNV_BUDGETS_PKG (Custom Package)

Data Conversions Hand Book

Setups/Pre-requisites
SR. No. 1 Setup Name Internal and standard concurrent managers Setup Values up and running Notes system admin resp/concurrent/manager/administer

Data Conversions Hand Book

Process Flow Diagram

Database ERD
<show the Various links between interface and base tables > Interface Tables: Base Tables:

Data Conversions Hand Book

Field Mapping details


GL_BUDGET_INTERF ACE.doc

Validation Logic
/* Pseudo code for budget upload into Oracle System */ Declare a cursor to select the budget name, budget entity name, budget entity id, budget version id and set of books id from gl_budget_interface, gl_budget_versions, gl_budget_entities Define required local variables Begin Assign who columns into local variables Initialize the environment FND_GLOBAL.APPS_INITIALIZE( user_id, Responsibility_ID, Resp_APPl_ID) Count the total number of records to be process Open the Cursor for loop Check the Required columns are not null apps.fnd_request.submit_request (application => 'SQLGL', -- Application program => 'GLBBSU', -- Program argument1 => <set_of_books_id>, -- Set of Books argument2 => 50249, --Acct Key structure identifier argument3 => <budget_name>, -- Budget Name argument4 => <budget_version_id>, -- Budget Version id argument5 => <budget_entity_name>, -- Budget Organization argument6 => <budget_entity_id> ); -- Budget Entity Id If Error in API Call Update the Row with error message and Status_flag=E Else Update the Row with Status_flag=P End If

End Loop; Count the number of error records in GL_BUDGET_INTERFACE Insert the log details like start time, end time, error counts etc into custom control table End

Data Conversions Hand Book

Appendix A Definitions
Budget - Estimated cost, revenue, labor hours or other quantities for a project or task. Each budget may optionally be categorized by resource. Different budget types may be set up to classify budgets for different purposes. In addition, different versions can exist for each user defined budget type: current, original, revised original and historical versions. The current version of a budget is the most recently base lined version. Budget interface table - In Oracle General Ledger, a database table that stores information needed for budget upload. Budgets upload - In Oracle General Ledger, the ability to transfer budget information from a spreadsheet to General Ledger. For example, with the spreadsheet interface you can upload budget information from your spreadsheet to General Ledger.

Data Conversions Hand Book

AR Invoices Open & Closed

Data Conversions Hand Book

Conversion ShortThis conversion will extract Invoices, Credit Memos, and Debit Memos from the various legacy systems. The project management team will utilize a phased Description

approach for converting data from the respective Business Units. The general approach will be to extract information from the legacy systems (direct database connection), load a staging area (trying to maximize speed using bulk loading by SQL*Loader), then leveraging Oracle approved methods for loading Oracle base tables (Import programs). In this case, the conversion will seek to leverage the Oracle AutoInvoice program to select information from the Interface tables to automatically create the necessary transactions in the Oracle Receivables module.

Data Category:

Master RA_INTERFACE_LINES_ALL RA_INTERFACE_SALESCREDITS_ALL RA_INTERFACE_DISTRIBUTIONS_ALL RA_BATCHES_ALL AR_PAYMENT_SCHEDULES_ALL AR_RECEIVABLE_APPLICATIONS_ALL AR_ADJUSTMENTS_ALL RA_CUSTOMER_TRX_ALL RA_CUSTOMER_TRX_LINES_ALL RA_CUST_TRX_LINE_GL_DIST_ALL RA_CUST_TRX_LINE_SALESREPS_ALL

Interface Tables CNV_CONTROL_TOTALS

Base Tables

RA_INTERFACE_ERRORS_ALL Error Tables AR Invoice Load (RAXMTR) Concurrent Program / /APIs

Parameters APIs Involved

CNV_AR_INVOICE_PKG (Custom Package)

Data Conversions Hand Book

Setups/Pre-requisites
SR. No. 1 Setup Name Internal and standard concurrent managers Setup Values up and running Notes system admin resp/concurrent/manager/administer

Data Conversions Hand Book

Process Flow Diagram

Legacy System RBAS

Data Extract

Informatica Power Center

AutoInvoice Interface Tables

RA_INTERFACE_LINES_ALL RA_INTERFACE_SALECREDITS_ALL RA_INTERFACE_DISTRIBUTIONS_ALL

RA_INTERFA CE_ERRORS_ ALL

Insert the Error Records Failure

Oracle Standard AutoInvoice Master Program (RAXMTR)

Success

Oracle Receivable Base Tables

RA_BATCHES_ALL AR_PAYMENT_SCHEDULES_ALL AR_RECEIVABLE_APPLICATIONS_ALL AR_ADJUSTMENTS_ALL RA_CUSTOMER_TRX_ALL RA_CUSTOMER_TRX_LINES_ALL RA_CUST_TRX_LINE_GL_DIST_ALL RA_CUST_TRX_LINE_SALEREPS_ALL

Database ERD
<show the Various links between interface and base tables > Interface Tables: Base Tables:

Data Conversions Hand Book

Field Mapping details


Source Table Name
RA_INTERFACE_LIN ES_ALL.doc

: RA_INTERFACE_LINES_ALL

Source Table Name


RA_INTERFACE_SAL ESCREDITS_ALL.doc

: RA_INTERFACE_SALESCREDITS_ALL

Source Table Name


RA_INTERFACE_DIS TRIBUTIONS_ALL.doc

RA_INTERFACE_DISTRIBUTIONS_ALL

Validation Logic
CREATE OR REPLACE PACKAGE CNV_AR_INVOICE_PKG AS PROCEDURE LOAD_AR_INVOICES (errbuf out VARCAHR2, retcode out VARCHAR2); END CNV_AR_INVOICE__PKG; / /* This package will execute the submit request */ CREATE OR REPLACE PACKAGE BODY CNV_AR_INVOICE_PKG AS PROCEDURE LOAD_AR_INVOICES (errbuf OUT VARCHAR2, retcode OUT VARCHAR2) IS CURSOR c_inv IS SELECT batch_source_name, cust_trx_type_id,count(*) batch_total FROM ra_interface_lines_all WHERE interface_status is null AND request_id is null GROUP BY batch_source_name, cust_trx_type_id; l_ar_request_id NUMBER; l_no_of_records NUMBER := 0; l_no_of_err_records NUMBER := 0; l_completed BOOLEAN; o_phase VARCHAR2 (250); o_status VARCHAR2 (250); o_dev_phase VARCHAR2 (250); o_dev_status VARCHAR2 (250); o_message VARCHAR2 (250); l_start_time DATE; l_end_time DATE; l_count NUMBER := 0; l_exception EXCEPTION; l_batch_source_id NUMBER; l_number_of_instance NUMBER; BEGIN /* Get the Start Time */ SELECT SYSDATE INTO l_start_time

Data Conversions Hand Book

FROM dual; /* Get the Number of Instances */ SELECT NVL(FND_PROFILE.VALUE('CNV AR INVOICE INSTANCES'),4) INTO l_number_of_instance FROM DUAL; apps.Fnd_File.put_line (apps.Fnd_File.LOG,' No of Instance: '||l_number_of_instance ); FOR r_inv IN c_inv LOOP BEGIN SELECT rba.batch_source_id INTO l_batch_source_id FROM ra_batches_all rba WHERE rba.batch_source_name= r_inv.batch_source_name; EXCEPTION WHEN OTHERS THEN Errbuff: = 'Error : '||SQLCODE || ' - '||SQLERRM; Retcode: = g_ora_failure; RAISE l_exception; END; /* Submit the Invoice Import Master Program */ /* This Master Program will initiate the import program RAXTRX */ l_ar_request_id := apps.fnd_request.submit_request (application => 'AR', -- Application program => 'RAXMTR', -- Program argument1 => l_number_of_instance -- Number of Instances argument2 => TO_CHAR(l_batch_source_id), -- Batch Source Id argument3 => r_inv.batch_source_name, -- Batch Source Name argument4 => SYSDATE, -- Default Date argument5 => NULL, -- Transaction Flexfield argument6 => r_inv.cust_trx_type_id, -- Transaction Type argument7 => NULL, -- (Low) Bill To Customer Number argument8 => NULL, -- (High) Bill To Customer Number argument9 => NULL, -- (Low) Bill To Customer Name argument10 => NULL, -- (High) Bill To Customer Name argument11 => NULL, -- (Low) GL Date argument12 => NULL, -- (High) GL Date argument13 => NULL, -- (Low) Ship Date argument14 => NULL, -- (High) Ship Date argument15 => NULL, -- (Low) Transaction Number argument16 => NULL, -- (High) Transaction Number argument17 => NULL, -- (Low) Sales Order Number argument18 => NULL, -- (High) Sales Order Number argument19 => NULL, -- (Low) Invoice Date argument20 => NULL, -- (High) Invoice Date argument21 => NULL, -- (Low) Ship To Customer Number argument22 => NULL, -- (High) Ship To Customer Number

Data Conversions Hand Book

argument23 Name Customer Name on Trx Date Days argument24 argument25 argument26 argument27 );

=> NULL, => NULL, => 'Yes', => NULL , => 82

-- (Low) Ship To Customer -- (High) Ship To -- Base Due Date -- Due Date Adjustment -- Org Id

apps.fnd_file.put_line (apps.fnd_file.LOG, 'Start ..' || l_ar_request_id); /*Check whether the concurrent program fails or not*/ IF l_ar_request_id = 0 THEN errbuf := 'ERROR : Invoice Import Concurrent Program Failed'; RETURN; ELSE /*Wait till the concurrent program completes*/ LOOP l_completed := apps.fnd_concurrent.wait_for_request (l_ra_request_id, 60, 60, o_phase, o_status, o_dev_phase, o_dev_status, o_message ); l_count := l_count + 1; IF o_dev_phase = 'COMPLETE' THEN SELECT actual_start_date, actual_completion_date INTO l_start_time, l_end_time FROM apps.fnd_concurrent_requests WHERE request_id = l_ar_request_id; EXIT; ELSIF o_dev_phase = 'ERROR' THEN EXIT; END IF; IF l_count = 1 THEN EXIT; END IF; END LOOP; END IF; END LOOP; /*Count the total no of errors occurred*/ SELECT COUNT (1) INTO l_no_of_err_records FROM apps.ra_interface_lines_all WHERE NVL(interface_status,'~') <> 'P' AND request_id is null;

Data Conversions Hand Book

/* This procedure will insert data into load control totals table */ CNV_CTRL_TOTALS_PKG.LAOD_CONTROL_TOTALS ('Invoice Import Load', l_start_time, l_end_time, l_no_of_records, l_no_of_err_records, NULL, NULL, NULL); EXCEPTION WHEN OTHERS THEN retcode :=g_ora_failure; errbuff :='Error while doing insertion in control table.'; END; COMMIT; EXCEPTION WHEN OTHERS THEN errbuf := 'Others Error ' || '*' || SQLCODE || '*' || SQLERRM; END LOAD_AR_INVOICES; END CNV_AR_INVOICES_PKG;

Data Conversions Hand Book

Purchase Orders

Data Conversions Hand Book

Conversion ShortThis conversion will import all Open and Partially received purchase orders from various legacy systems into Oracle (all those purchase orders with status not Description
equal to Closed or Cancelled and having a creation date no more than one year old).

Data will be populated in the Oracle Open Interfaces tables by the Extract developer. This Conversion program will call the Import Standard Purchase Orders Program to transfer data from the Open Interface tables into the base tables.

Data Category: Transaction Interface Tables CNV_CONTROL_TOTALS

Base Tables

Error Tables Concurrent Program / /APIs Parameters APIs Involved

PO_HEADERS_INTERFACE PO_LINES_INTERFACE PO_DISTRIBUTIONS_INTERFACE PO_HEADERS_ALL PO_LINES_ALL PO_LINE_LOCATIONS_ALL PO_DISTRIBUTIONS_ALL PO_INTERFACE_ERRORS Purchase Order Load

CNV_PURCHASE_ORDER_PKG (Custom Package)

Data Conversions Hand Book

Setups/Pre-requisites
SR. No. 1 Setup Name Internal and standard concurrent managers Setup Values up and running Notes system admin resp/concurrent/manager/administer

Data Conversions Hand Book

Process Flow Diagram

Database ERD
<show the Various links between interface and base tables > Interface Tables: Base Tables:

Data Conversions Hand Book

Field Mapping details


Source Table Name
PURCHASEORDER.xl s

: PO_HEADERS_INTERFACE

Source Table Name : PO_LINES_INTERFACE Refer to Worksheet po_lines_interface in the above attached xls. Source Table Name : PO_DISTRIBUTIONS_INTERFACE Refer to Worksheet po_distribution_interface in the above attached xls.

Validation Logic
SQL Statements : -- Query to get the total number of records to be processed from PO headers interface table SELECT COUNT(*) INTO l_num_no_of_purchaseorders FROM po_headers_interface WHERE process_code IS NULL; -- Query SELECT INTO FROM WHERE to get the total number of records to be processed from PO lines interface table COUNT(*) l_num_no_of_lines po_lines_interface process_code IS NULL;

-- Query to get the total number of records from PO distribution interface table. SELECT COUNT(*) INTO l_num_no_of_distributions FROM po_distributions_interface; --Get the Operating Unit Id from PO headers interface table. SELECT DISTINCT ORG_ID INTO l_num_operating_unit_id FROM po_headers_interface WHERE ROWNUM = 1; --Update the Line Location table for the Received Quantity for wholly received POs UPDATE po_line_locations_all SET quantity_received = quantity, quantity_billed = quantity, closed_code = 'CLOSED FOR RECEIVING' WHERE attribute11 = 'W'; UPDATE po_line_locations_all SET quantity_billed = quantity, closed_code = 'CLOSED FOR INVOICE', firm_status_lookup_code = 'Y' WHERE attribute11 = 'I'; Parameters to be passed to Standard Purchase Order Import:

Data Conversions Hand Book

1. Buyer_ID quotes, hence

: Applicable only for creating blanket order agreements and/or

default value passed will be NULL 2. Document Type : Default value passed will be STANDARD 3. Document Subtype : Default value passed will be NULL, since it is used only for quotes 4. Create Items Flag : Default value passed will be NO since we are not creating/updating items through this program 5. Create Sourcing Rule Flag: Default value passed will be NO since Sourcing rule need not be created for STANDARD Pos 6. Approval Status : Default value passed will be APPROVED 7. Default for release generation method for auto source rules: Default value will be NULL 8. Batch ID : Default value will be NULL since we will not be providing BATCH ID as the volume of records to be processed is LOW 9. Operating Unit : Default value will be the ORG_ID of the OPERATING UNIT to which the responsibility calling this program, is assigned. (This value will be provided in the ORG_ID column of the PO_HEADERS_INTERFACE table) 10. Global agreement : Default value will be NULL, since it is used only for BLANKET Pos. Pseudocode: Declare required local variables Begin Count the total number of records to be processed in PO_HEADERS_INTERFACE table where PROCESS_CODE is NULL. Count the total number of records to be processed in PO_LINES_INTERFACE table where PROCESS_CODE is NULL. Get the total number of records from PO_DISTRIBUTIONS_INTERFACE. Get the Operating Unit Id from PO_HEADERS_INTERFACE table. Call the procedure account generate of CNV_PURCHASE_ORDER_PKG to generate the account. If Number of Records to be processed is greater than Zero Submit the Concurrent Request for Standard Purchase Order Import Wait till the concurrent program completes. Count the number of error records all the interface tables where process_code in PO_HEADERS_INTERFACE is not equal to ACCEPTED and insert the same into the control table. Insert the log details like start time, end time, error counts etc into custom control table. Update the Line Location table for the Received Quantity for wholly received Pos. Update the Line Location table for the Received Quantity for in transit Pos. End Pseudo code for account generate Procedure : Parameters: P_success_flag : Return Y, if success. Declare a Cursor to get the fob,vendor_id,vendor_site_id,po_header_id,item_id,category_id, destination_type_code,destination_organization_id,charge_account_id,accrual_account_id,

Data Conversions Hand Book

delive_to_person_id by joining po_headers_interface x, po_lines_interface y, po_distributions_interface z Where y.interface_header_id = x.interface_header_id AND z.interface_header_id = y.interface_header_id AND z.interface_line_id = y.interface_line_id Open the Cursor for Loop Call the procedure GET_CCID of CNV_PURCHASE_ORDER_PKG package by passing the appropriate cursor values. Update the charge account id and accrual account id of PO_DISTRIBUTION_INTERFACE table with the values generated from above procedure. End Loop. Pseudo code for GET_CCID Procedure: Parameters: P_category_id : Category Id. P_destination_type_code : Destination type code. P_destination_organization_id : Destination organization id. P_item_id : Item Id. P_deliver_to_person_id : Delivery person id. P_vendor_id : Vendor Id. P_vendor_site_id : Vendor site id P_fob_dsp : Fob P_charge_account : Out parameter to hold the generated charge account. P_accrual_account : Out parameter to hold the generated accrual account. P_error_flag : Out parameter for error flag. P_error_message : Out parameter for error message. Declare the local variables. Begin Check that Destination organization id, Item Id, Destination type code, Vendor Id, Vendor site id is not null. If the above values are Null, raise an error. If p_fob_dsp IS NULL Get the fob_lookup_code from po_vendor_sites_all table for the parameter vendor site id. Else Log an error message saying Invalid Vendor Id or Site Id. End If. If P_Category_id IS NULL Get the category id by joining mtl_system_items_b msib, mtl_item_categories mic and mtl_category_sets_tl mcsl tables WHERE msib.inventory_item_id = mic.inventory_item_id AND msib.organization_id = mic.organization_id AND mcsl.category_set_id = mic.category_set_id AND mcsl.category_set_name = 'INV: Item Categories' AND msib.organization_id = (SELECT organization_id FROM hr_organization_units WHERE NAME = ' ITEM MASTER') AND msib.inventory_item_id = P_item_id End If. Get the chart of accounts into a local variable from fnd_id_flex_structures_tl where id_flex_structure_name = ACCOUNTING_FLEXFIELD.

Data Conversions Hand Book

Call the API Po_Wf_Build_Account_Init._Start_Workflow to get the charge account and accrual account. End

Data Conversions Hand Book

Bill of Material

Data Conversions Hand Book

Conversion ShortThe Supply Chain Team analyzed the current legacy data sources and deemed these sources incompatible for an automated extract. The conversion approach Description
will be to manually compile all BOMs (Configured items, kits). The expectation of this conversion will be to enable order takers to build/pick configured models. The Bill of Material will consist of PTO models, Option Classes and Kits. The conversion will then leverage the standard Interface tables.

Data Category: Transaction Interface Tables CNV_CONTROL_TOTALS Base Tables Error Tables Concurrent Program / /APIs Parameters APIs Involved

BOM_BILL_OF_MTLS_INTERFACE BOM_INVENTORY_COMPS_INTERFACE BOM_BILL_OF_MATERIALS BOM_INVENTORY_COMPONENTS CNV_CONVERSION_ERRORS Bill of Material Load

CNV_BOM_PKG (Custom Package)

Data Conversions Hand Book

Setups/Pre-requisites
SR. No. 1 Setup Name Internal and standard concurrent managers Setup Values up and running Notes system admin resp/concurrent/manager/administer

Data Conversions Hand Book

Process Flow Diagram


Manually compiled BOM Spreadsheet

Informatica Program

BOM_BILL_OF_MTLS_INTERFACE BOM_INVENTORY_COMPS_INTERFACE Bill of Material Shell Script to call Import Program

Correct Data and Rerun PL/SQL Script

No

Data Passes Validation

Yes

BOM_BILL_OF_MATERIALS BOM_INVENTORY_COMPONENTS

Database ERD
<show the Various links between interface and base tables > Interface Tables: Base Tables:

Data Conversions Hand Book

Field Mapping details


Source Table Name
BOM_BILL_OF_MTLS _INTERFACE.doc

: BOM_BILL_OF_MTLS_INTERFACE

Source Table Name


BOM_INVENTORY_C OMPS_INTERFACE.doc

: BOM_INVENTORY_COMPS_INTERFACE

Validation Logic
SQL Statements : /* Count the total number of records to be process in bom_bill_of_mtls_interface table */ SELECT COUNT (1) INTO l_no_of_bom_records FROM bom_bill_of_mtls_interface WHERE process_flag = 1; /* Count the total number of records to be process in bom_inventory_comps_interface table*/ SELECT COUNT (1) INTO l_no_of_comp_records FROM bom_inventory_comps_interface WHERE process_flag = 1; /*Count the total no of errors occurred in bom_bill_of_mtls_interface table */ SELECT COUNT (1) INTO l_no_of_bom_err_records FROM apps.bom_bill_of_mtls_interface WHERE process_flag = 3; /*Count the total no of errors occurred in bom_inventory_comps_interface table*/ SELECT COUNT (1) INTO l_no_of_comp_err_records FROM apps.bom_inventory_comps_interface WHERE process_flag = 3; Pseudo Code for Bill of Material Load Concurrent Program Declare local variables. Begin Get the total number of records to be processed in bom_bill_of_mtls_interface where process flag = 1. Get the total number of records to be processed in bom_inventory_comps_interface where process flag = 1. If number of records to be processed either in in bom_bill_of_mtls_interface or in bom_inventory_comps_interface is greate than zero Call the apps.bom_open_interface_api.import_bom import program. If the program returns a error code Log the errors into conversion errors tables. End If. End If. Count the number of error records in bom_bill_of_mtls_interface where process flag = 3.

Data Conversions Hand Book

Count the number of error records in bom_inventory_comps_interface where process flag = 3. Insert the log details like start time, end time, error counts etc into custom control table for bom bill of material as well as bom inventory components. End.

Errors and Solutions:


Potential Errors Possible Reasons Solution Strategy

Standard Errors

API errors

Records will be validated using the standard Oracle Bill of Material Import program. All other data quality will be managed through the Mock Test Fires and only clean data will be manually compiled in the spreadsheet.

Data Conversions Hand Book

PO Receipts (Open)

Data Conversions Hand Book

Conversion ShortThe objective of this conversion is to move the Open Receipts (ASN) - from Business Application System to Oracle. Description
The outstanding Vendors receipts data will be extracted from the legacy system and fed into the Open Interface Tables. This program will migrate Receipts for only those Purchase Orders that already exist in the Oracle system. The scope of this design document is to extract Receipts data from the Open Interface Tables and load to Oracle through the Receiving Transaction Processor.

Data Category: Transaction Interface Tables CNV_CONTROL_TOTALS Base Tables Error Tables Concurrent Program / /APIs Parameters APIs Involved

RCV_HEADERS_INTERFACE RCV_TRANSACTIONS_INTERFACE RCV_SHIPMENT_HEADERS RCV_SHIPMENT_LINES RCV_TRANSACTIONS CNV_CONVERSION_ERRORS PO_INTERFACE_ERRORS Purchase Order Receipts Load

CNV_OPEN_RECEIPTS_PKG (Custom Package)

Data Conversions Hand Book

Setups/Pre-requisites
SR. No. 1 Setup Name Internal and standard concurrent managers Setup Values up and running Notes system admin resp/concurrent/manager/administer

Data Conversions Hand Book

Process Flow Diagram

Database ERD
<show the Various links between interface and base tables > Interface Tables: Base Tables:

Data Conversions Hand Book

Field Mapping details


Source Table Name
PURCHASEORDERRE CEIPTS.xls

: RCV_HEADERS_INTERFACE

Source Table Name : RCV_TRANSACTIONS_INTERFACE Refer to Worksheet rcv_transactions_interface in the above attached xls.

Validation Logic
Count the total number of records to be processed SELECT Count (*) INTO l_no_of_records FROM RCV_HEADERS_INTERFACE WHERE PROCESSING_STATUS_CODE = PENDING AND VALIDATION_FLAG = Y; Count the number of error records in table. SELECT Count (*) INTO l_no_of_err_records FROM RCV_HEADERS_INTERFACE WHERE PROCESSING_STATUS_CODE in (ERROR,PRINT); Submit the concurrent request to fire Receiving Transaction Processor (RCVTP) fnd_request.submit_request ( application => 'PO' --Application ,program => 'RCVTP' --Program ) Parameters: 1. Mode 2. Group_ID : Default value for this parameter will be Batch : Default value for this parameter will be NULL

Logic: Define required local variables Begin Get the Start time. Count the total number of records to be processed Submit the concurrent request to fire Receiving Transaction Processor (RVCTP) Check for the Completion of the Concurrent Requests If Concurrent Request is completed Count the number of error records in RCV_HEADERS_INTERFACE table where PROCESSING_STATUS_CODE IN (ERROR,PRINT) Else Wait; End if; Get the End time; Insert the log details like start time, end time, error counts etc into custom control table End;

Data Conversions Hand Book

Errors and Solutions:


Potential Errors Possible Reasons Solution Strategy

Invalid data Purchase Orders not found

Incorrect PO receipt number.

Review and correct Purchase Order has to be there if error occurred during PO conversion it must be added manually so that all receipts have a matching PO prior to this conversion

Data Conversions Hand Book

Fixed Asset (Operating)

Data Conversions Hand Book

Conversion ShortThe Oracle operating assets application is a mechanism for tracking the companys depreciable assets. Operating assets provide a method to track the Description
following amongst other related items: depreciation of assets, including amount and time left to depreciate, assets by tag number lease/ownership information

This tracking is done in order to maintain tax values and whereabouts of companys owned equipment. All operating assets information is kept and tracked within the RBAS Legacy system. There is one RBAS master table that will identify the assets to convert. It should then be joined to four related tables with only one of them having the same asset in it, containing additional information about the asset for conversion. Because tracking of operating assets will be done within the Oracle Application in the future, a conversion process will extract operating asset information from the RBAS legacy system and load the data into the Oracle operating assets module. The conversion process will perform a set of validations/ lookups, then load the data to the required Oracle Open interface table that will in turn map to the appropriate Oracle application base tables. Prior to this conversion, Install base should be converted since the location will be driven from the install base module so as to not have to maintain location information in 2 modules. Item master should also be converted prior in order to have all items in the system prior to referencing them in this conversion.

Data Category: Master Interface Tables FA_MASS_ADDITIONS FA_TRANSACTION_HEADERS Base Tables


FA_ADDITIONS FA_ASSET_HISTORY FA_ASSET_INVOICES FA_INVOICE_TRANSACTIONS FA_BOOKS FA_DISTRIBUTION_HISTORY FA_DEPRN_SUMMARY FA_DEPRN_DETAIL CNV_FA_MASS_ADDITIONS CNV_CONTROL_TOTALS CNV_CONVERSION_ERRORS PO_INTERFACE_ERRORS Fixed Asset Operating Load (FAMAPT, FAS824)

Error Tables Concurrent Program / /APIs Parameters APIs Involved

CNV_FA_OPERATING_PKG (Custom Package)

Data Conversions Hand Book

Setups/Pre-requisites
SR. No. 1 Setup Name Internal and standard concurrent managers Setup Values up and running Notes system admin resp/concurrent/manager/administer

Before run the program, ensure that the following fields contain a value for each row in FA_MASS_ADDITIONS: o o o o o o o o o o o o o o o o o o Mass_addition_id (assigned by a sequence) Description (not null constraint in staging table) Asset_category_id Book_type_code Date_placed_in_serv ice (not null constraint in staging table) Fixed_assets_cost (not null constraint in staging table) Payables_units Fixed_assets_units Payables_code_combination_id Expense_code_combination_id Location_id Posting_status (assigned a default when inserted in OIT) Queue_name (assigned a default when inserted in OIT) Payables_cost (not null constraint in staging table) Depreciate_flag Asset_type Accounting_date (not null constraint in staging table) Inventorial_date

Data Conversions Hand Book

Process Flow Diagram

Database ERD
<show the Various links between interface and base tables >

Data Conversions Hand Book

Interface Tables: Base Tables:

Data Conversions Hand Book

Field Mapping details


Source Table Name
CNV_FA_MASS_ADD ITIONS.doc

: CNV_FA_MASS_ADDITIONS

Source Table Name


FA_ADDITIONS.doc

: FA_ADDITIONS

Validation Logic
SQL Statements Counting the Number of records: SELECT Count(1) INTO l_no_of_records FROM FA_MASS_ADDITIONS WHERE posting_status = POST AND queue_name = POST; Copy to the back up/ history table: INSERT INTO CNV_FA_MASS_ADDITIONS SELECT * FROM FA_MASS_ADDITIONS WHERE posting_status = POSTED; Pseudo code for Fixed Asset Operating Loading Program : Declare l_fa_request_id l_no_of_records l_no_of_err_records Begin /* Count the total number of records to be process */ SELECT Count(1) INTO l_no_of_records FROM FA_MASS_ADDITIONS WHERE posting_status = POST AND queue_name = POST; /* Submit the Mass Additions Program */ l_fa_request_id := FND_REQUEST.SUBMIT_REQUEST(FA, FAMAPT); /*Check whether the concurrent program fails or not*/ IF l_fa_request_id = 0 THEN PRINT(ERROR : Asset Posting Concurrent Program Failed);; number; number; number;

Data Conversions Hand Book

ELSE

PRINT(Please verify the concurrent program.); RETURN;

/*Wait till the concurrent program completes*/ LOOP l_completed := FND_CONCURRENT.WAIT_FOR_REQUEST; IF dev_phase = COMPLETE THEN EXIT; END IF; END LOOP; END IF; /*Count the total no of errors occurred*/ SELECT Count(1) INTO l_no_of_err_records FROM FA_MASS_ADDITIONS WHERE posting_status = POST AND queue_name = POST; /* Insert the log details into custom control file */ INSERT INTO CNV_CONTROL_TOTALS (PROGRAM_NAME , START_TIME , END_TIME , TARGET_RECORDS , ERROR_RECORDS , SEGMENT1 , SEGMENT2 , SEGMENT3) VALUES ('FA POST MASS ADDITIONS', l_Start_time, l_End_time, l_no_of_records, l_no_of_err_records, "", "", ""); Call the updation program to update the life of the Asset in FA_BOOKS. (CNV_FA_UPDATION_PKG.UPDATE_ASSET_LIFE).

END;

Pseudo code for Fixed Asset Updation Program : DECLARE Declare Life Cursor to select Asset Id and Asset Life in Months from FA_ADDITIONS_B (the asset life will be in Attribute15). BEGIN

Data Conversions Hand Book

FOR cursor record in Life Cursor LOOP UPDATE fa_books SET life_in_months = cursor_record.attribute15 WHERE asset_id = cursor_record.asset_id; UPDATE fa_additions_b SET attribute15 = null WHERE asset_id = cursor_record.asset_id; END LOOP; COMMIT; END; Pseudo code for Correction Logic: The mass addition lines in FA_MASS_ADDITIONS, which will be still in POST status (POSTING_STATUS), are the erroneous records. The records should be corrected through the interface form and again the conversion program will be run to load the corrected records. After all records in the FA_MASS_ADDITIONS will be in POSTED status (POSTING_STATUS), the conversion will be over. Pseudo code for Backup Creation Logic: After the conversion will be over, the data in FA_MASS_ADDITIONS will be copied into CNV_FA_MASS_ADDITIONS for back up data. Begin INSERT INTO CNV_FA_MASS_ADDITIONS SELECT * FROM FA_MASS_ADDITIONS WHERE posting_status = POSTED;

End;

Errors and Solutions:


Potential Errors Possible Reasons Solution Strategy

Mandatory data missing.

Mandatory data missing.

Check for Mandatory columns before loading.

Appendix
Oracle Assets Users Guide Oracle Applications White Paper for Mass Additions Oracle e-TRM on FA_MASS_ADDITIONS, FA_TRANSACTION_HEADERS, FA_ADDITIONS, FA_ASSET_HISTORY, FA_ASSET_INVOICES, FA_INVOICE_TRANSACTIONS, FA_BOOKS, FA_DISTRIBUTION_HISTORY, FA_DEPRN_SUMMARY, FA_DEPRN_DETAIL http://metalink.oracle.com/metalink/plsql/ml2_gui.startup

Sales Orders (Open & Closed)

Data Conversions Hand Book

Conversion ShortThis conversion involves converting sales order related information. All Open (Entered and Booked) sales orders are imported into Oracle Order Management Description
from the legacy systems. Extracts will be performed against the legacy systems across the various businesses. This will be formatted into a standard format, and transformed from data provided in cross-reference tables (i.e. customer number, part number, UOM, etc.). The formatted data will b populated into Oracle interface tables. The Conversion program calls the standard import programs will create the Order Header and Line information in the Oracle Order Management module.

Data Category: Master Interface Tables OE_HEADERS_IFACE_ALL

Base Tables

Error Tables Concurrent Program / /APIs Parameters APIs Involved

OE_LINES_IFACE_ALL OE_PRICE_ADJS_IFACE_ALL OE_CREDITS_IFACE_ALL OE_ORDER_HEADERS_ALL OE_ORDER_LINES_ALL OE_PRICE_ADJUSTMENTS OE_SALES_CREDITS CNV_CONTROL_TOTALS CNV_CONVERSION_ERRORS OE_PROCESSING_MSGS_VL Sales Order Load (OEOIMP)

CNV_SALES_ORDER_PKG (Custom Package)

Data Conversions Hand Book

Setups/Pre-requisites
SR. No. 1. 2. 3. Setup Name Set up and Configuration in oracle Order management Conversion of prior conversions such as Customer Master, Inventory Items Internal and standard concurrent managers Setup Values Notes Example , Payment Terms, Ship Methods, Freight Carriers etc The Sales Orders conversion will depend on prior conversions such as Customers, Master Inventory Items etc system admin resp/concurrent/manager/administer

up and running

Process Flow Diagram

Data Conversions Hand Book

Lequecy System

Staging Table

PLSQL Process and Validate Data Correct Data and Rerun PL/SQL Script

Data Passes Validation

No

Yes

Order Import Interface tables

Order Import

Correct errors in the Order Import Correction window

Oracle OM Production Tables

Yes

Is the import successful?

No

Activate Workflow Process for close the required Orders.

Database ERD
<show the Various links between interface and base tables >

Interface Tables:

Data Conversions Hand Book

Oe_headers_iface_all

Oe_credits_iface_all

oe_price_adjs_iface_all

Oe_lines_iface_all

Base Tables: Oe_order_headers_all (header_id)

Oe_sales_credits (sales_credit_id)

oe_price_adjustments (price_adjustment_id)

Oe_order_lines_all (line_id)

Data Conversions Hand Book

Field Mapping details


Source Table Name
OE_HEADERS_IFACE _ALL.doc

: OE_HEADERS_IFACE_ALL

Source Table Name


OE_LINES_IFACE_AL L.doc

: OE_LINES_IFACE_ALL

Source Table Name


OE_PRICE_ADJ S_IF ACE_ALL.doc

: OE_PRICE_ADJS_IFACE_ALL

Source Table Name


OE_CREDITS_IFACE _ALL.doc

OE_CREDITS_IFACE_ALL

Validation Logic
SQL Statements 1. Counting the Number of records to be processed from headers: SELECT Count (*) INTO l_no_of_records FROM OE_HEADERS_IFACE_ALL WHERE ERROR_FLAG IS NULL; 2. Counting the Number of records to be processed from lines: SELECT Count (*) INTO l_no_of_records FROM OE_LINE_IFACE_ALL WHERE ERROR_FLAG IS NULL

3. Counting the Number of records errored out from headers: SELECT Count (*) INTO l_no_of_records FROM OE_HEADERS_IFACE_ALL WHERE ERROR_FLAG IS NOT NULL; 4. Counting the Number of records errored out from headers: SELECT Count (*) INTO l_no_of_records FROM OE_LINES_IFACE_ALL WHERE ERROR_FLAG IS NOT NULL; Pseudo code for Sales Order Loading Program :

Data Conversions Hand Book

DECLARE Define cursor for updation of INSTALL BASE record with the Order line number. l_no_of_records NUMBER; l_no_of_ib_records NUMBER; l_no_of_err_records NUMBER; l_no_of_ib_err_records NUMBER; l_oe_request_id NUMBER; errbuff VARCHAR2(100); l_completed BOOLEAN; lo_phase VARCHAR2 (250); lo_status VARCHAR2 (250); lo_dev_phase VARCHAR2 (250); lo_dev_status VARCHAR2 (250); lo_message VARCHAR2 (250); l_start_time DATE; l_end_time DATE; l_no_ofupdate_success NUMBER; l_seq NUMBER; BEGIN /* Delete the temporary tables and insert interface data into those */ DELETE DELETE DELETE DELETE INSERT INSERT INSERT INSERT cnv_oe_headers_iface_all; cnv_oe_lines_iface_all; cnv_oe_price_adjs_iface_all; cnv_oe_credits_iface_all; INTO INTO INTO INTO cnv_oe_headers_iface_all SELECT * FROM oe_headers_iface_all; cnv_oe_lines_iface_all SELECT * FROM oe_lines_iface_all; cnv_oe_price_adjs_iface_all SELECT * FROM oe_price_adjs_iface_all; cnv_oe_credits_iface_all SELECT * FROM oe_credits_iface_all;

/* Count the total number of records to be processed */ SELECT COUNT (1) INTO l_no_of_records FROM oe_headers_iface_all WHERE NVL (error_flag, 'N') = 'N' AND NVL (ready_flag, 'Y') = 'Y'; /* Submit the Order Import Program */ IF l_no_of_records > 0 THEN l_oe_request_id := apps.Fnd_Request.submit_request (application => 'ONT', -- Application program => 'OEOIMP', -- Program argument1 => NULL, -- Order Source argument2 => NULL, --Original System Document Ref argument3 => NULL, -- Operation Code argument4 => 'N', -- Validate Only? argument5 => 1, -- Debug Level argument6 => 4 -- Number of Order Import instances ); END IF;

Data Conversions Hand Book

/*Check whether the concurrent program fails or not*/ IF l_oe_request_id = 0 THEN errbuf := 'ERROR : Sales Order Import Concurrent Program Failed'; RETURN; ELSE /*Wait till the concurrent program completes*/ LOOP l_completed := apps.Fnd_Concurrent.wait_for_request (l_oe_request_id, 60, 60, lo_phase, lo_status, lo_dev_phase, lo_dev_status, lo_message ); IF lo_dev_phase = 'COMPLETE' THEN /* Capture the start and end time to log into the Control table */ SELECT actual_start_date, actual_completion_date INTO l_start_time, l_end_time FROM apps.fnd_concurrent_requests WHERE request_id = l_oe_request_id; /* Update the intermediate org id */ BEGIN UPDATE oe_order_lines_all a SET a.intmed_ship_to_org_id = (SELECT TO_NUMBER(b.attribute20) FROM cnv_oe_lines_iface_all b WHERE b.ORIG_SYS_DOCUMENT_REF = a.ORIG_SYS_DOCUMENT_REF AND b.attribute20 is not null AND b.orig_sys_line_ref = a.orig_sys_line_ref AND b.orig_sys_line_ref IS NOT NULL AND b.ORIG_SYS_DOCUMENT_REF IS NOT NULL) WHERE EXISTS (SELECT TO_NUMBER(c.attribute20) FROM cnv_oe_lines_iface_all c WHERE c.ORIG_SYS_DOCUMENT_REF = a.ORIG_SYS_DOCUMENT_REF AND c.attribute20 is not null AND c.orig_sys_line_ref = a.orig_sys_line_ref AND c.orig_sys_line_ref IS NOT NULL AND c.ORIG_SYS_DOCUMENT_REF IS NOT NULL); EXCEPTION WHEN OTHERS THEN errbuf := 'ERROR : Sales Order Updation with Intermediate Org Id is Failed';

Data Conversions Hand Book

EXIT; END; EXIT; ELSIF lo_dev_phase = 'ERROR' THEN EXIT; END IF; END LOOP; END IF; /*Count the total no of errors occurred*/ SELECT COUNT (1) INTO l_no_of_err_records FROM oe_headers_iface_all WHERE NVL (error_flag, 'N') <> 'N'; /* Insert the log details into custom control file */ cnv_Ctrl_Totals_Pkg.load_control_totals ('Sales Order Upload', l_start_time, l_no_of_records, l_no_of_err_records, NULL, NULL, NULL, errbuf ); COMMIT; /* Updtaing Installbase record with the Order line number */ BEGIN /* Find the count of the target records */ SELECT COUNT(*) INTO l_no_of_ib_records FROM csi_item_instances csi WHERE csi.serial_number IS NOT NULL AND csi.last_oe_order_line_id IS NULL; Open Cursor for IB Updation. LOOP BEGIN UPDATE csi_item_instances csiii SET csiii.last_oe_order_line_id = (SELECT oeol.line_id FROM oe_order_lines_all oeol WHERE oeol.packing_instructions = rec_c_instances_to_update.serial_number AND trim(oeol.packing_instructions) IS NOT NULL) WHERE csiii.serial_number = rec_c_instances_to_update.serial_number; l_no_ofupdate_success := l_no_ofupdate_success +1;

Data Conversions Hand Book

IF MOD (l_no_ofupdate_success, 2000) = 0 THEN COMMIT; END IF; EXCEPTION WHEN OTHERS THEN errbuf := 'Others Error ' || '*' || SQLCODE || '*' || SQLERRM; SELECT cnv_conversion_errors_s.NEXTVAL INTO l_seq FROM DUAL; cnv_Ctrl_Totals_Pkg.load_cnv_errors (l_seq, 'Sales Order Upload - IB Update', 'OE_ORDER_LINES', NULL, NULL, NULL, 'Update of IB record failed' || '*' || 'SqlErr- Mess ' || SQLERRM, errbuf ); -- Close Cursor.

END;

END LOOP; COMMIT;

l_no_of_ib_err_records := l_no_of_ib_records - l_no_ofupdate_success; cnv_Ctrl_Totals_Pkg.load_control_totals ('Sales Order Upload - IB Update with Order Line ID', l_start_time, l_no_of_ib_records, l_no_of_ib_err_records, NULL, NULL, NULL, errbuf ); END; EXCEPTION WHEN OTHERS THEN errbuf := 'Others Error ' || '*' || SQLCODE || '*' || SQLERRM; SELECT cnv_conversion_errors_s.NEXTVAL INTO l_seq FROM DUAL; cnv_Ctrl_Totals_Pkg.load_cnv_errors

Data Conversions Hand Book

END;

(l_seq, 'Sales Order Upload', 'OE_HEADERS_IFACE_ALL', NULL, NULL, NULL, 'Sales Order uplooad Program Failed' || '*' || 'SqlErr- Mess ' || SQLERRM, errbuf );

Errors and Solutions:


Potential Errors Possible Reasons Solution Strategy

Invalid Order Source

Order Source not setup for the Order Import Process. Customer does not exist for the customer reference after the customer conversion. Transaction and Line types not setup in Order management or are inactive. Sales person is invalid or does not exist in oracle resource manager. Inventory Item does not exists in Oracle Inventory or is Inactive.

Error out Transactions. Setup Order Source in Order Management and reprocess. Error out Transaction with Invalid Customer. Need to setup customer reference for the customer record and then reprocess transaction. Error out Transaction. Need to setup transaction and line types in Order Management and then reprocess transaction. Error out Transaction. Setup salesperson and territory information using oracle CRM foundation and then reprocess transaction. Error out Transaction with Invalid Inventory Item. Need to setup the Inventory Item in oracle Inventory and then process the Transaction. Error out Transaction. Need to setup Inventory Organization in oracle inventory and then reprocess transaction. Error out Transaction for Inventory Item does not exist in Inventory Organization. Need to Assign Inventory Item to organization and then reprocess transaction.

Invalid Customer Number or customer does not exist.

Invalid Transaction and Line Type.

Invalid Salesperson

Invalid Inventory Item

Invalid Warehouse for the sales order line.

Inventory Organization does not exists in oracle inventory or is inactive Inventory Item is not assigned to the Inventory Organization

Inventory Item does not exists for the Inventory Organization.

Data Conversions Hand Book

Invalid price lists or price on Order.

Price Lists does not exist, is inactive or price is invalid.

Item does not exist on Price Lists.

Inventory Item is not assigned to the Price lists on the order.

Error out transaction. Setup up price lists with association to order and reprocess or correct the price if invalid and reprocess. Error out transaction. Add item to price lists and then reprocess transaction. Error out Transaction with error. Update transaction with required values and reprocess Error out Transaction with error. Update transaction and reprocess.

Required Data on the Order Header and Line is Null

Field values are Null

Invalid Data types and data formats

Invalid data types and format

Data Conversions Hand Book

Appendix

Service Contracts

Data Conversions Hand Book

Conversion ShortService Contracts automates the contract process and provides seamless access to Description
information contained in Oracle CRM and ERP applications. Using Service Contracts, users can define any combination of services and gain visibility to their contracts by ensuring that those deliverables are automatically tracked. This scope of this document is to create a Service Contract Header, Service Contract Lines (Service and Usage), Service Contract Covered Products and Billing Schedule. Transaction XX_SER_CONTRACT_HEADERS XX_SER_CONTRACT_LINES XX_SER_CONT_COVEREDLINES XX_SER_CONT_STREAMLEVELS XX_SER_CONT_SALESCREDITS OKC_K_HEADERS_B OKC_K_HEADERS_TL OKC_K_LINES_B OKC_K_LINES_TL OKC_K_ITEMS OKC_RULES_B OKC_RULE_GROUPS_B OKS_K_SALES_CREDITS OKS_LEVEL_ELEMENTS OKC_K_PROCESSES OKS_CONTRACTS_PUB.CREATE_CONTRACT_HEADER OKC_CONTRACT_PUB.CREATE_CONTRACT_PROCESS OKS_CONTRACTS_PUB.CREATE_SERVICE_LINE OKS_CONTRACTS_PUB.CREATE_COVERED_LINE OKS_CONTRACTS_PUB.CREATE_BILL_SCHEDULE

Data Category: Interface Tables

Base Tables

Concurrent Program / /APIs

Parameters

Setups/Pre-requisites
SR. No. Setup Name Setup Values Notes

Data Conversions Hand Book

Process Flow Diagram


Legacy System Legacy Extraction Process Custom Staging Tables

Corretion

Call Service Contract Creation APIs

Errors

Custom Error Table

Oracle Base Tables

Database ERD
<show the Various links between interface and base tables > Interface Tables:

X_E XS R

C NR C _ E DR O T A THA E S

R c rd H a e Id e o _ e d r_

R c rd H a e Id e o _ e d r_

X _ E _ OT A TL E X S R C N R C _ IN S

X _ E _ OTS L S RD S X S R C N _ A E C E IT

R c rd L e Id e o _ in _ R co _ in _ e rd L e Id

X _ E _ OTSRA L V L X S R C N _ T E ME E S

X _ E _ O T C V R D IN S X S RC N_ O E E L E

Base Tables:

Data Conversions Hand Book

O C KH A E S B K _ _ E DR _

C r Id<- Id h_ Id C r Id h_

O CK L E _ K _ _ IN S B O CK P O E S S K _ _ R CS E
D z C r Id<- Id n _ h_ Id C _ le Id

O C K IT M K_ _ E S
Id C _ le Id

O CR L _ R U S B K _ UE G O P _

Id R P Id G_

O CR L S B K _ UE _
Id R L Id U_

OSL V L EE E T K _ E E _ L MNS

Data Conversions Hand Book

Field Mapping details


<insert the interface table with field descriptions, and mandatory/non mandatory, and foreign key relationships if possible . Insert as an object what ever excel files you may have> XX_SER_CONTRACT_HEADERS
C:\Ricoh\ Conversions-Generic Material\tables\XX_SER_CONTRACT_HEADERS.doc

XX_SER_CONTRACT_LINES
C:\Ricoh\ Conversions-Generic Material\tables\XX_SER_CONTRACT_LINES.doc

XX_SER_CONT_COVEREDLINES
C:\Ricoh\ Conversions-Generic Material\tables\XX_SER_CONT_COVEREDLINES.doc

XX_SER_CONT_STREAMLEVELS
C:\Ricoh\ Conversions-Generic Material\tables\XX_SER_CONT_STREAMLEVELS.doc

XX_SER_CONT_SALESCREDITS
C:\Ricoh\ Conversions-Generic Material\tables\XX_SER_CONT_SALESCREDITS.doc

Validation Logic
XX_SER_CONTRACT_HEADERS
Column Name Required Validation

STS_CODE QCL_ID SCS_CODE CHR_GROUP PARTY_ID BILL_TO_ID SHIP_TO_ID PRICE_LIST_ID ACCOUNTING_RULE_TYPE INVOICE_RULE_TYPE PAYMENT_TERM_ID TRANSACTION_TYPE

Select lookup_code from fnd_lookups where lookup_type ='OKC_STATUS_TYPE' Select Id from OKCQA_CHECK_LISTS_TL where short_description=RFG- Checklist select code from okc_subclasses_tl where meaning '& contract Category' SELECT ID FROM OKC_K_GROUPS_B SELECT PARTY_ID FROM HZ_PARTIES HZ_CUST_SITE_USES_ALL HZ_CUST_SITE_USES_ALL List_Header_Id from QP_LIST_HEADERS_B Id1 from OKX_RULES_V For ex . 'Immediate', 'MONTHLY - 3 months' Id1 from OKX_RULES_V For ex. 'Advance Invoice' ID1 from OKX_RECEIVABLES_TERMS_V ID1 from OKX_CUST_TRX_TYPES_V

Y Y Y Y Y Y

Data Conversions Hand Book

RENEWAL_TYPE

SELECT LOOKUP_CODE FROM FND_LOOKUPS WHERE LOOKUP_TYPE ='OKC_RENEWAL_TYPE'

XX_SER_CONTRACT_LINES
Column Name Required Validation

K_HDR_ID LINE_STS_CODE CUSTOMER_ID LINE_TYPE LINE_RENEWAL_TYPE SRV_ID

USAGE_TYPE ( For Usage Line only) XX_SER_CONT_COVEREDLINES


Column Name Required

Contract Header Id Select lookup_code from fnd_lookups where lookup_type ='OKC_STATUS_TYPE' Customer_Id from HZ_CUST_ACCOUNTS Populate 'S' for service and 'U' for Usage SELECT LOOKUP_CODE FROM FND_LOOKUPS WHERE LOOKUP_TYPE ='OKC_LINE_RENEWAL_TYPE' Service-> SELECT * FROM OKX_SYSTEM_ITEMS_V WHERE SERVICE_ITEM_FLAG='Y' AND ID2=83 Usage -> SELECT * FROM OKX_SYSTEM_ITEMS_V WHERE USAGE_ITEM_FLAG='Y' AND ID2=83 'VRT' -> Actual Per Period 'QTY' -> Actual Per Quantity 'FRT' -> Fixed Per Period 'NPR' -> Negotiated Price

Validation

K_ID ATTACH_2_LINE_ID CUSTOMER_PRODUCT_ID XX_SER_CONT_SALESCREDITS


Column Name Required

Contract Header Id Contract Line Id Instance_Id from CSI_ITEM_INSTANCES

Validation

CTC_ID SALES_CREDIT_TYPE_ID XX_SER_CONT_STREAMLEVELS


Column Name Required

Id from JTF_RS_SALESREP Id1 from OKX_SALES_CRED_TYPES_V

Validation

OBJECT1_ID1 JTOT_OBJECT1_CODE RULE_INFORMATION_CATEG ORY RULE_INFORMATION1 RULE_INFORMATION2 RULE_INFORMATION3 RULE_INFORMATION4 RULE_INFORMATION5 RULE_INFORMATION6 RULE_INFORMATION7 RULE_INFORMATION8

If Days then 'DAY' , If Month then 'MTH' Populate with OKS_TUOM Populate with SLL Populate with Sequence like 1,2,3,4 UOM/Period Null Amount Offset Interface

Data Conversions Hand Book

SQL Statements 1. Derive and Validate the SCS_CODE Select code from okc_subclasses_tl where meaning = <contract Category> 2. Validate the STS_CODE Select x from okc_statuses_b where code = <status code> Validate id of QA Check List Select Id From OKCQA_CHECK_LISTS_TL where Short_description=<RFG- Checklist> Validate the price_list_id Select ID From OKX_LIST_HEADERS_V Where Name = <price list name> Validate the Payment terms. Validate Bill_to_id and Ship_to_id. Derive and Validate the Line Type. Derive the SIR_ID Select ID1 From OKX_SYSTEM_ITEMS_V Where NAME = <service item name>

3.

4.

5. 6. 7. 8.

Load Program Logic


[Document the steps necessary to process the load into the Oracle base tables.]

Procedure LOAD_SER_CONTRACTS_MAIN Begin table.

Get the System Date Call CNV_FIX_CONTRACT_BILLING procedure for correcting the billing data in staging Count the total number of records to be process in header table. Count the total number of records to be process in Lines table. Count the total number of records to be process in coverLine table. Count the total number of records to be process in Stream Level table. Get the minimum and maximum record header id. Calculate the batch size. Submit the concurrent request for service contracts load. Count the total no of errors occurred in header Count the total number of error records in Lines table Count the total number of error records in coverLine table. Count the total number of records error out in Stream Level table. Insert the log details into custom control table

End; Procedure LOAD_SER_CONTRACTS

Data Conversions Hand Book

Define Cursor for XX_SER_CONTRACT_HEADER where status_flag = I and record_header_id >=start_id and record_header_id <= end_id ; Define Cursor for XX_SER_CONTRACT_LINES where status_flag = I; Define Cursor to select all unprocessed records from XX_SER_CONT_COVEREDLINE table where status_flag='I' Define Cursor XX_ser_cont_stream_level where status_flag = I; Define Cursor for XX_ser_cont_salescredits where status_flag = I; Define required local variables Begin Start the cursor for Loop Prepare header record Default contacts Open Salescredit cursor for Header Id and prepare salescredit record. Call oks_contracts_pub.create_contract_header API to Load the record If Success Update the staging table headers table with Status 'P' Update the sales credit staging table with Status P Update okc_k_headers_b table with Orig_System_Reference1 and Attribute_Category from staging table. Update the okc_k_headers_tl table with Cognomen. Else Get the Error Id and update the conversion error table. Update the staging tables(Header and Salescredit) with Status E Raise the header exception to skip line records processing End IF Create the Process record to load Workflow Name. Call okc_contract_pub.create_contract_process to create Contract Process. Start the cursor for Loop for Lines Prepare Line Record Call oks_contracts_pub.create_service_line API to create Lines If Success Update the staging table with Status 'P' Update okc_k_lines_b table with Attribute Category and Price Negotiated. IF Line Type = U Update the okc_rules_b table for QRE Category with Rule Information1= 2 and Rule_information3= 1 End If; Else Get the Error Id and update the conversion error table. Update the staging table with Status E Raise the header exception to skip line records processing End IF Start the cursor for Loop for Covered Lines Call oks_contracts_pub.create_covered_line API to create covered line If Success Update the staging table with Status 'P' Call Rule API to Create Extended Price Rule Else Get the Error Id and update the conversion error table. Update the staging table with Status E

Data Conversions Hand Book

Raise the header exception to skip line records processing End IF End Loop Prepare the Stream Level Line Record Call oks_contracts_pub.Create_Bill_Schedule API End Loop Update the okc_k_headers_b record with Estimated Amount . End Loop End Procedure CNV_FIX_CONTRACT_BILLING Define the cursor for selecting records from XX_SER_CONT_COVEREDLINE table with Status I. Define the cursor for selecting records from XX_ser_cont_stream_level table. Define variables. Begin Open the cursor for XX_SER_CONT_COVEREDLINE Open the Stream Level cursor IF stream_level_rec.scsl_rule_information3 > 1 THEN ln_total := ln_total+ rule_information3 * listprice; ELSE ln_total := ln_total +rule_information6 /listprice * sccl_listprice; END IF; End Loop; Update rfgcnv_ser_cont_coveredline table with negotiated_amount = round (ln_total, 2) END LOOP;

Errors and Solutions


Potential Errors Original System Reference not getting Populated Possible Reasons API doesnt Support Solution Strategy Write a Update script to update OKC_K_HEADERS_B after creating Header

Attribute Category not getting Populated

API doesnt Support

Write a Update script to update OKC_K_HEADERS_B after creating Header

Appendix A Links to Oracle Documentation


Refer to the Oracle Service Contracts Concepts and Procedures on Metalink for general Service Contracts Information. http://metalink.oracle.com/cgi-bin/cr/getfile_cr.cgi?284384 Refer to the Oracle Contracts for Service API Reference Guide on Metalink for technical details on the population of the Oracle base tables.

Data Conversions Hand Book

http://metalink.oracle.com/cgi-bin/cr/getfile_cr.cgi?283042 Refer to the Oracle Contracts Core API Reference Guide on Metalink for technical details on the population of the Oracle base tables. http://metalink.oracle.com/cgi-bin/cr/getfile_cr.cgi?283844 Refer to the Oracle Contracts Core Contracts Model on Metalink for interaction of the data entities of the Oracle base tables. http://etrm.oracle.com/pls/etrmlatest/etrm_fndnav.show_file?n_file_id=181&c_mode=INLINE

Appendix B Definitions Warranty Standard manufacturers warranty against manufacturing defects. It does not provide bumperto-bumper coverage. Service codes at the close of a service call will determine whether the parts and labor for the call are billable items. The warranty period is channel-driven. Service Agreement A service agreement that is purchased as part of the original hardware transaction that overlays the manufacturers warranty and allows bumper-to-bumper coverage for the warranty period and full coverage for the remaining time up to the Service Agreements end-of-term. Pricing for Service Agreements is driven by the Customer/Dealers Sales Contracts, which can be discounted to account for the overlap of the original warranty period. Serial Number A number assigned to each unit of an item and used to track the item. Serialized Unit The unique combination of a serial number and an inventory item.

Data Conversions Hand Book

SALES CONTRACTS

Data Conversions Hand Book

Conversion ShortOracle Contracts for Sales has Contracts Core Functionality plus integration to Oracle iStore, Oracle Order Capture and Oracle Order Management. Oracle Sales allows user to automate their sales Description
contracting process. Contracts for Sales assists a company in enhancing its customer interactions by incorporating contract management into the opportunity to cash business flow. Oracle Contracts for Sales takes advantage of existing Oracle sales management applications such as Oracle TeleSales, Sales Online, and iStore to complete the quote to contract to order flow. Transaction XX_OKC_K_HEADERS_B XX_OKC_K_HEADERS_TL XX_OKC_K_PARTY_ROLES_B XX_OKC_CONTACTS OKC_K_HEADERS_B OKC_K_HEADERS_TL OKC_K_LINES_B OKC_K_LINES_TL OKC_K_PROCESSES OKC_K_PARTY_ROLES_B OKC_K_PARTY_ROLES_TL OKC_CONTACTS OKC_CONTRACT_PUB.CREATE_CONTRACT_HEADER OKC_CONTRACT_GROUP_PUB.CREATE_CONTRACT_GRPNGS OKC_CONTRACT_PARTY_PUB.CREATE_K_PARTY_ROLE OKC_CONTRACT_PARTY_PUB.CREATE_CONTACT OKC_CONTRACT_PUB.CREATE_CONTRACT_PROCESS

Data Category: Interface Tables

Base Tables

Concurrent Program / /APIs

Parameters

Setups/Pre-requisites
SR. No. Setup Name Setup Values Notes

Data Conversions Hand Book

Process Flow Diagram


Legacy System Legacy Extraction Process Custom Staging Tables

Corretion

Call Sales Contract Creation APIs

Errors

Custom Error Table

Oracle Base Tables

Database ERD
<show the Various links between interface and base tables > Interface Tables:

X _ K _ _ E DR_ XO C KH A E S B

C r_ < h id --ID

ID

X _ K _ _ A T _ OE _ X O CK P RY R L S B

X _ K _ _ E DR_L X O CK H A E S T

ID D z c r_ -> n _ h id ID ->C L ID P_

X _ K _ O T CS XO CC NA T

Base Tables:

Data Conversions Hand Book

O C KH A E S B K _ _ E DR _

C r Id<- Id h_ Id C r Id h_

O CK L E _ K _ _ IN S B O CK P O E S S K _ _ R CS E
D z C r Id<- Id n _ h_ Id C _ le Id

O CR L _ R U S B K _ UE G O P _

O CK P RY R L S B K _ _ A T _ OE _

Id R P Id G_

O CR L S B K _ UE _

Data Conversions Hand Book

Field Mapping details


<insert the interface table with field descriptions, and mandatory/non mandatory, and foreign key relationships if possible . Insert as an object what ever excel files you may have> XX_OKC_K_HEADERS_B

XX_OKC_K_HEADERS_TL

XX_OKC_K_PARTY_ROLES_B

XX_OKC_CONTACTS

Validation Logic
Load Program Logic
[Document the steps necessary to process the load into the Oracle base tables.]

Pseudo code for LOAD_SALES_CONTRACT Program : Define Cursor for RFGCNV_OKC_K_HEADERS_B; Define Cursor for RFGCNV_OKC_K_HEADERS_TL; Define Cursor for RFGCNV_OKC_K_PARTY_ROLES_B; Define Cursor for RFGCNV_OKC_OKC_CONTACTS; Define required local variables Begin Assign who columns into local variables Initialize the environment FND_GLOBAL.APPS_INITIALIZE( user_id, Responsibility_ID, Resp_APPl_ID) Open cursor Headers Prepare Header record Call OKC_CONTARCT_PUB.create_contract_header API If error then Log the error in errors table Else if success UPDATE rfgcnv_okc_k_headers_b table with status_flag = 'P' Call okc_contract_group_pub.create_contract_grpngs API to assign a group to Contract End If; Open Cursor RFGCNV_CONTRACT_PARTIES Call OKC_CONTRACT_PARTY_PUB.create_k_party_role (Insert into OKC_K_PARTY_ROLES_B & OKC_K_PARTY_ROLES_TL thro API) If error then Log the error in errors table Else if success UPDATE rfgcnv_okc_k_party_roles_b with status_flag = 'P'

Data Conversions Hand Book

Call the okc_contract_party_pub.create_contact API to load Contacts information. End If; Close Cursor RFGCNV_CONTRACT_PARTIES Call okc_contract_pub.create_contract_process API to create contract process Close Cursor Headers Commit; Count the Total successful records loaded into base table for all the tables. End;

Errors and Solutions


Potential Errors Start date and end date are not in chronological order or have invalid values. Possible Reasons The start date is greater then end date. Solution Strategy Populate Start_Date and End_Date in chronological order

Your profile option does not allow automatic numbering.Please ask your system administrator to change the sequential numbering profile. Sales Contract are not getting assigned to any Group

Profile Option not set properly.

Standard API for Sales Contract does not support assigning the Contract to Group.

Create an additional Responsibility and assigning Sequential Numbering to 'Always Used' at the Responsibility Level and set the Sales Order program to that Responsibility Level. After creating the Contract Header have the logic to assign it to Group using API (okc_contract_group_pub.create_contract_grp ngs)

Data Conversions Hand Book

Data Validation Techniques


Conversion Tool Audit Log:

<Forms, reports and queries that can be run to compare data between legacy and Oracle >
Oracle Application Standard Report(s)

Tuning Methods
<Indexes, methods that can be used to improve performance>

Data Conversions Hand Book

Appendix A Links to Oracle Documentation


1. Oracle Contracts Core Concepts and Procedures Release 11.5.6 http://metalink.oracle.com/cgi-bin/cr/getfile_cr.cgi?283084 2. Oracle Contracts Core Users Guide Release 11.5.8 http://metalink.oracle.com/cgi-bin/cr/getfile_cr.cgi?284314 3. Oracle Contracts Core Implementation Guide Release 11.5.8 http://metalink.oracle.com/cgi-bin/cr/getfile_cr.cgi?284313 4. Oracle Contracts Core API Reference Guide Release 11.5.7 http://metalink.oracle.com/cgi-bin/cr/getfile_cr.cgi?283844

Appendix B Definitions Warranty Standard manufacturers warranty against manufacturing defects. It does not provide bumperto-bumper coverage. Service codes at the close of a service call will determine whether the parts and labor for the call are billable items. The warranty period is channel-driven. Service Agreement A service agreement that is purchased as part of the original hardware transaction that overlays the manufacturers warranty and allows bumper-to-bumper coverage for the warranty period and full coverage for the remaining time up to the Service Agreements end-of-term. Pricing for Service Agreements is driven by the Customer/Dealers Sales Contracts, which can be discounted to account for the overlap of the original warranty period. Serial Number A number assigned to each unit of an item and used to track the item. Serialized Unit The unique combination of a serial number and an inventory item.

Data Conversions Hand Book

Вам также может понравиться