interfaces & conversions

Upload: krishan0432

Post on 05-Apr-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/31/2019 Interfaces & Conversions

    1/11

    INTERFACES & CONVERSIONS

    ABOUT INTERFACES:

    In Oracle Apps Interfaces are generally tables, which act as a medium to transfer the data

    from one module to another module or to transfer the data from legacy system into OracleApplications. There are 352 tables provided by the Oracle Package. Each module has its ownInterface Tables.A typical path to transfer the data from Legacy System to Oracle Apps:

    What is Interfacing?

    It is the process of converting the records from one format to another format. The maincomponents of this interfacing are

    Transfer Program Interface Table and Import Program

    A] Transfer Program:If the source modules data are implemented in Oracle Applications then the Transfer Programsare integrated with the Package. If the source modules are implemented in external system(i.e. other than Oracle Applications) then we have to develop our own Transfer Programs.Generally these Transfer Programs are developed using PL/SQL, JAVA or SQL Loader.

    What they do? It maps the columns of source table with the columns of Interface Tables.

    It performs Row Level and Column Level validations.

    It transfers the data from Source to the Interface Table.

    B] Interface Tables:The Interface tables basically have 4 types of columns.

    1. Mandatory Columns.2. Conditionally Required Columns.3. Optional Columns.4. Internal Processing Columns.

  • 7/31/2019 Interfaces & Conversions

    2/11

    Mandatory Columns:These are the main columns which are required in the destination tables (i.e. Oracle

    Application Module Tables). With the help of mandatory columns only the Import Program willconverts the records from source to destination.

    Conditionally Required Columns:The values for these columns are based on the values of Mandatory columns. For Example:Ifyou are converting foreign currency transactions to INR then it as compulsory to provideconditionally required columns like Currency conversion rate, Conversion Time and ConversionDate.

    Optional Columns:These are used when a client wanted to transfer some additional information from source todestination. These are based on clients requirement.

    Internal Processing Columns:Status and Error Message columns are called Internal Processing Columns. These are specificonly to Interface Table. These columns are going to be used by the Import Program to updatethe status and error message, if the record fails its validation while importing from Interface

    Table to the Destination Table.

    C] Import Program:For all Interface Tables, Oracle Application Package is going to provide Import Programs.

    These are generally registered with destination modules. These Import Programs are designedusing PL/SQL, JAVA, C, C++, etc.What they do?

    It maps the columns of the Interface Table with one or more columns in the destinationtable.

    It performs row level and column level validation. It imports the data from Interface Table to the Destination tables, if the recordsvalidated successfully.

    It deletes all the successfully validated records from Interface Table. If the record fails its validation then the Import Program will update the status anderror message columns of Interface Table.

    What are Interfaces? Interfaces are used in Oracle Applications to integrate external systems and DataConversion.

    The interfaces are mainly used to either transfer data from Oracle Applications to a flatfile or data from legacy system to Oracle Applications.

    Used extensively at the time of Data Conversion from legacy/ old systems to a freshimplementation of Oracle Applications. Used also at regular intervals when data transfer is from other live systems if thesystems are not defined in Oracle Applications implementation.

  • 7/31/2019 Interfaces & Conversions

    3/11

    Oracle provides flexible and flexible tools in the form of Interface programs to importthe master and transactional data like Customers, Invoices, and Sales Orders etc fromexternal systems into Oracle Applications.

    Types of Interfaces

    There are two major types of Interfaces:

    Inbound Interface : These interfaces are used to transfer data from external systems

    to Oracle Applications. Outbound Interface : These interfaces are used to transfer data from OracleApplications to external systems.

    Two other distinctions of Interfaces:

    Open Interface: If the interface logic is provided by Oracle Applications, it is called anOpen Interface.

    Custom Interface: If the interface logic needs to be developed by the implementationteam, it is called a Custom Interface.

    Interface Components

    Open Interface Logic

    First the data from the source application is loaded into a database table (calledInterface table).

    Then the provided validation program logic validates the records whether they arecorrect or not .

    If the validation fails, the errors are transferred into another table (called Error Table).

  • 7/31/2019 Interfaces & Conversions

    4/11

    If the validation succeeds, the correct records are transferred through a process intothe destination application table.

    Components of an Interface

    a] Source Application:

    You obtain data from a source application to pass on to a destination application for furtherprocessing and/or storage.b] Source Data Issues:

    Type of file, Size, Frequency of upload, Record Length (Variable or fixed), Delimiter, Datatypefor each field, Any unwanted data, Naming convention and uniqueness of file, Location of thefile, Access on the file.c] Destination Application:

    You send data to a destination application so that the application can perform furtherprocessing and/or storage.d] Interface Table:

    For inbound interfaces, the interface table is the intermediary table where the data from yoursource application temporarily resides until it is validated and processed into the destinationapplication.

    e] Identifier columns:Uniquely identify rows in the interface table provide foreign key reference to both the sourceand destination applications.f] Control Columns:

    Control columns track the status of each row in the interface table, as it is inserted,validated, rejected, processed, and ultimately deleted.

    WHO columns are also control columns.g] Data Columns:

    Stores the data that is being converted. Required columns store the minimum information needed by the destinationapplication to successfully process the interface row.

    h] Derived Columns:

    Derived columns are created by the destination application from information in the requiredcolumns.i] Optional Columns:

    Optional columns are not necessarily required by the destination application, but can be usedby the destination application for additional value-added functionality beyond the basics.

    j] Error Table:

    For inbound interfaces, the errors table stores all errors found by the validation andprocessing functions. In some cases, the errors table is a child of the interface table. This allows each row inthe interface table to have many errors, so that you can easily manage multiple errors atonce.

    In other cases, the errors are stored in a column within the interface table, whichrequires you to fix each error independently.

    Developing an Interface

    1] Identification:

    Find out if there exists an Open Interface to carry out the functionality.2] Creation of Pre-Interface table ( staging Table):

    A table in the format of the data file which can be pruned to load as clean a data into theInterface table.3] Load data into Pre-Interface table:

    SQL*LOADER can be used to load the flat file into the pre-interface table.

  • 7/31/2019 Interfaces & Conversions

    5/11

    4] Validate data in the Pre-Interface table:

    Basic validation of the data loaded into the Pre-Interface table can be carried out like:

    For checking NULL values in required columns

    Checking for Foreign Key and Quick Code values. Duplication Validation

    Business Rule validation

    5] Mapping the values:Generated fields in Oracle Applications can be mapped in this step to either default values orsequences.6] Load data into Interface table:

    Once the data is as clean as you can get it, the data can be inserted into the Interfacetable.

    At such a time, certain columns, which are necessary in Applications but not found inlegacy system, need to be populated accordingly like WHO columns.

    7] Run the interface program8] Check for Errors9] Report on the Interface

    AR Invoice Interface

    The main three steps for AR Invoice Interface are:1] Put the data into your staging tables.2] Calls your package to validate the data and load into AR Interface tables(RA_INTERFACE_LINES_ALL & RA_INTERFACE_DISTRIBUTIONS_ALL).3] Then submits a concurrent request for AutoInvoice.If any errors occur it can be found in ra_interface_errors_all table. The concurrent program has2 stages. First the Master program fires which intern kicks of the Import Program. Once this is

    completed data is inserted into the following tables.1) ra_customer_trx_all (Invoice Header Info)2) ra_customer_trx_lines_all (Invoice Line Level Info)3) ra_cust_trx_line_gl_dist_all (Accounting Info. One record for each Account Type is insertedinto this ex. Receivable Revenue Tax Freight etc)4) ar_payment_schedules_all (All Payment related info)Validations:Validation are generally done on the below columns.

    Batch_source_name Set_of_books_id

    Orig_sys_batch_name

    orig_system_bill_customer_ref

    orig_system_bill_address_ref Line_Type

    Currency_Code Term_name

    Transaction_type

    Interface_line_attribute1-7

    Account_class Accounting Flexfields segments

  • 7/31/2019 Interfaces & Conversions

    6/11

    1- AR Transaction Type Validation: Check if the Transaction type provided in data file isdefined in AR transaction types (RA_CUST_TRX_TYPES_ALL)2- Transaction Batch Source Validation: Check if the source provided in data file is defined inAR transaction Batch source (RA_BATCH_SOURCES_ALL).3- Invoice Currency Validation: Check if the currency provided in data file is defined in ARCurrency (FND_CURRENCIES).

    4- Customer Validation: Check if the Bill to Customer Number, Ship to Customer Number, Billto Custom Location, Ship to Customer Location provided in the data file is defined in ARCustomer (RA_CUSTOMERS).5- Primary Sales Representative Validation: Sales representative number to be hardcode to -3 for No Sales Credit.6- Term Name: Check if the Term name provided in the data file is defined in Payment terms(RA_TERMS)7- Inventory Item Validation: Check if the Item provided in data file is defined in InventoryItems (MTL_SYSTEM_ITEMS).8- Unit of Measurement validation: Check if the UOM provided is defined inMTL_UNITS_OF_MEASURE Table9- Invoice Tax Code Validation: Check if the Tax Code provided in data file is defined inAR_VAT_TAX_ALL_B Table.

    10- Invoice GL Date Validation: Check if the GL Data of provided invoices is in open period.For MOAC:

    You need to add the below columns and need to do validations if your application supportsMOAC.

    conversion_type

    conversion_rate

    conversion_date

    GL Budget Interface

    This program lets you prepare and analyze your budget outside of General Ledger and thentransfer your budget information into General Ledger. This enables you to perform yourbudgeting in the environment you choose, and still maintain the integrity of your database.Interface Table:GL_BUDGET_INTERFACE is used to upload budget data into your Oracle General Ledgerapplication from an external source. Each row includes one fiscal years worth of budgetamounts for an account. When you load this table, you must supply all NOT NULL columnswith data. In addition, you must supply a valid account combination in the SEGMENT columnsappropriate to your chart of accounts. Finally, you must supply the budget amounts in theappropriate AMOUNT columns.

    The mandatory (not null) columns of the Interface table are:

    BUDGET_NAME

    BUDGET_ENTITY_NAME (the budget organization) CURRENCY_CODE

    FISCAL_YEAR

    UPDATE_LOGIC_TYPE (A for Add, R for Replace)

    Other important columns are:

  • 7/31/2019 Interfaces & Conversions

    7/11

    SET_OF_BOOKS_ID

    BUDGET_VERSION_ID PERIOD1_AMOUNT through PERIOD60_AMOUNT

    SEGMENT1 through SEGMENT30

    Validations:

    Budget Name and Budget Entity Name Currency Code Account Segments(Code Combination in GL_CODE_COMBINATIONS Table)

    To upload a budget:1. Navigate to the Upload Budget window (Budgets > Enter > Upload).2. Enter the Budget and Budget Organization.3. click Upload.

    General Ledger submits a concurrent process to upload budget information from theGL_BUDGET_INTERFACE table.

    Budget Upload Validation:

    Budget Upload validates all of your budget information for compatibility with General Ledger.Budget Upload also checks to make sure that the following conditions are true: Your account is assigned to a budget organization The budget entry type for your account is Entered Your budget is not Frozen Your budget organization is not Frozen Your budget fiscal year is open for your budgetOnce updated, General Ledger automatically deletes the rows of budget records in the BudgetInterface table.

    Base Tables:

    GL_BUDGETS GL_BUDGET_ASSIGNMENTS

    GL_BUDGET_TYPES

    For more information see Oracle General Ledger User Guide

    AP Invoice Interface

  • 7/31/2019 Interfaces & Conversions

    8/11

    This interface helps us to import vendor invoices into Oracle applications from externalsystems into Oracle Applications.Interface tables:

    1] AP_INVOICES_INTERFACEThis is the open interface table for importing AP Invoices from external sources and storesheader information about invoices. Invoice data comes from sources including:

    EDI invoices from suppliers that are loaded through Oracle e-Commerce Gateway Supplier invoices that are transferred through the Oracle XML Gateway

    Invoices that are loaded using Oracle SQL*Loader

    Lease invoices from Oracle Property Manager

    Lease payments from Oracle Assets Credit card transaction data that are loaded using the Credit Card Invoice InterfaceSummary

    Expense Report invoices from Oracle Internet Expenses

    Payment Requests from Receivables

    Invoices that are entered through the Invoice Gateway.There is one row for each invoice you import. Oracle Payables application uses thisinformation to create invoice header information when Payables Open Interface program is

    submitted.Data in the AP_INVOICES_INTERFACE table used in conjunction withAP_INVOICE_LINES_INTERFACE table to create Payables Invoice, Invoice lines, Distributionsand Schedule payments. Data in this table can be viewed and edited using Open InterfaceInvoices window. The Payables Open Interface program validates each record in this interfacetable selected for import, and if the record contains valid data then the program creates aPayables Invoice.Important columns:INVOICE_ID (Required) : Unique identifier for this invoice within this batch. Same valueshould be populated in invoices lines in the AP_INVOICE_LINES_INTERFACE table to identifythe data as belonging to the same invoice.INVOICE_NUM (Required) : Enter the invoice number that needs to be assigned to theinvoice created in Payables from this record.

    INVOICE_TYPE_LOOKUP_CODE (Optional) : Type of invoice: Credit or Standard.INVOICE DATE (Optional) : Date of the invoice. If you do not enter a value, the system usesthe date you submit Payables Open Interface Import as the invoice date.PO_NUMBER (Optional) : Purchase order number from PO_HEADERS.SEGMENT1. This columnneeds to be populated if invoice to be matched with an purchase order.VENDOR_ID & VENDOR_SITE_ID (Required) : VENDOR_ID isunique identifier for a supplierand VENDOR_SITE_ID isInternal supplier site identifier. Supplier of the invoice to be derivedby value in one of the following columns in this table: VENDOR_ID, VENDOR_NUM,VENDOR_NAME, VENDOR_SITE_ID or PO_NUMBER.VENDOR_NUM & VENDOR_NAME (Optional) : Supplier number and name. You must identifythe supplier by entering a value for one of the following columns in this table: VENDOR_ID,VENDOR_NUM, VENDOR_SITE_ID, VENDOR_SITE CODE, or PO_NUMBER.

    INVOICE_AMOUNT (Required) : Amount of the invoice.INVOICE_CURRENCY_CODE (Optional) : Currency code for the invoice. If you want to createforeign currency invoices, enter a currency code that is different from your functionalcurrency.EXCHANGE_RATE (Optional) : This column is required if you enter a foreign currency code inthe INVOICE_CURRENCY_CODE column and you enter User as the EXCHANGE_RATE_TYPE.TERMS_ID (Optional) : Internal identifier for the payment terms.DESCRIPTION (Optional) : Enter the description that you want to assign to the invoicecreated from this record.

  • 7/31/2019 Interfaces & Conversions

    9/11

    SOURCE (Required) : Source of the invoice data. If you import EDI invoices from the OracleEDI Gateway, the source is EDI Gateway. For invoices you import using SQL*Loader, use aQuickCode with the type Source that you have defined in the QuickCodes window in Payables.2] AP_INVOICE_LINES_INTERFACE

    This is the lines interface table for the AP Invoice Open Interface and it is used in conjunctionwith AP_INVOICE_INTERFACE table. AP_INVOICE_LINES_INTERFACE stores information used to

    create one or more invoice distributions. Note that one row in this table may create, duringthe import process, more than one invoice distribution.Important columns:INVOICE_ID (Required) :Enter the INVOICE_ID of the corresponding invoice in theAP_INVOICES_INTERFACE table.INVOICE_LINE_ID :This value is not required. You can enter a unique number for eachinvoice line of an invoice.LINE_NUMBER (Optional) :You can enter a unique number to identify the line.LINE_TYPE_LOOKUP_CODE (Required) : Enter the lookup code for the type of invoicedistribution that you want Payables Open Interface Import to create from this record. The codeyou enter must be ITEM, TAX, MISCELLANEOUS, or FREIGHT. These lookup codes are stored inthe AP_LOOKUP_CODES table.AMOUNT (Required) : The invoice distribution amount. If you are matching to a purchase

    order, the AMOUNT = QUANTITY_INVOICED x UNIT PRICE. If the total amount of all the invoicedistributions does not equal the amount of the invoice that has the same INVOICE_ID, thenPayables Open Interface Import will reject the invoice.Concurrent program:

    Payables Open Interface ImportParameters:Source: Choose the source of the invoices from the list of values. Use EDI Gateway, CreditCard, or a Source type QuickCode you defined in the Payables QuickCodes window.Group:To limit the import to invoices with a particular Group ID, enter the Group ID. TheGroup must exactly match the GROUP_ID in the Payables Open Interface tables.Batch Name: Payables groups the invoices created from the invoices you import and createsan invoice batch with the batch name you enter. You can enter a batch name only if you have

    enabled the Use Batch Control Payables option, and if you have enabled the Use Batch ControlPayables option, you must enter a batch name. If you use a batch name and some invoicesare rejected during the import process, you can import the corrected invoices into the samebatch if you enter the exact batch name during the subsequent import.Hold Name: If you want to place all invoices on hold at the time of import, enter an InvoiceHold Reason. You can define your own hold reasons in the Invoice Approvals window.Hold Reason: Payables displays the Invoice Hold Reason Description.GL Date: If you want to assign a specific GL Date to all invoices, enter a GL Date. If you donot enter a value here, the system will assign a GL Date based on the GL Date Payablesoption.Purge: Enter Yes if you want Payables to delete all successfully imported invoice records thatmatch the Source and Group ID of this import. Payables does not delete any invoice data forwhich it has not yet created invoices. If you want to purge later, you can use the Payables

    Open Interface Purge Program.Steps:

    1] Firstly, lets get a unique number to be used as INVOICE_ID to the invoice to be imported.This method ensures that each invoice has a unique INVOICE_ID assignment.2] Then, create records in the Invoice Open Interface tables through SQL queries.3] You can go to Payables > Invoices > Entry > Open Interface Invoices to check the details ofInvoice and Invoice Lines from the front end. If required you can do any modifications here.Alternatively you can use these forms to put invoice data in AP_INVOICES_INTERFACE andAP_INVOICE_LINES_INTERFACE tables.

  • 7/31/2019 Interfaces & Conversions

    10/11

    4] Go to the front end and run the concurrent program Payables Open Interface Import tosubmit a request for Invoice Import.

    5] The imported invoice becomes available for review in Invoices Workbench.

  • 7/31/2019 Interfaces & Conversions

    11/11