zoukankan      html  css  js  c++  java
  • Examples To howto Insert into Transaction Open Interface

               最近在写工单发料的接口,在metalink上找到一篇交易接口的sample,Copy下来,便于查询。

    Sample WMS Open Interface Insert Scripts / Examples To howto

    Insert into Transaction Open Interface [ID 357535.1]

    In this Document
      Goal
      Solution
         Scenario: 1: Account Alias Receipt (NO Lot/Serial)
         Scenario: 2: Account Alias (No Lot/Serial)
         Scenario: 3: Account Alias Receipt (Lot Controled)
         Scenario: 4: Account Alias Receipt (Serial Controlled)
         Scenario: 5: Subinventory Transfer
         Scenario: 6:  Misc. Receipt (with LPN and serial)
         Scenario: 7: Misc. Issue (with LPN and serial)
         Scenario: 8: Container Pack (No Lot/Serial)
         Scenario: 9: Container Unpack from LPN
         Scenario: 10: Direct Org Transfer (No Lot/Serial)
         Scenario: 11: Intransit Org Transfer (No Lot/Serial)
         Scenario: 12: Sales Order Issue (No Lot/Serial)
         Scenario: 13: Account Issue (No Lot/Serial)
         Scenario: 14: Account Receipt (No Lot/Serial)
         Scenario: 15: WIP Assembly Return (No Lot/Serial)
         Scenario: 16: WIP Component Return (No Lot/Serial)
         Scenario: 17: WIP Assembly Completion (No Lot/Serial)
         Scenario: 18: WIP Component Issue
           
         Frequently Asked Questions (FAQ):
         a. How do I know what error has occurred?
         b. What things should I check if I am getting errors?
         c. How do I resubmit the errored transactions?
         d. How to dig into errors more (Debug)?
      References


    Applies to:

    Oracle Warehouse Management - Version: 11.5.8 to 11.5.10.2 - Release: 11.5 to 11.5.10
    Oracle Inventory Management - Version: 11.5.10.0 and later    [Release: 11.5.10 and later]
    Information in this document applies to any platform.
    This document includes all versions of Oracle EBS 11i and R12
    MTL_TRANSACTIONS_INTERFACE - Transaction open interface
    MTL_TRANSACTIONS_LOTS_INTERFACE - Lot transaction open interface
    MTL_SERIAL_NUMBERS_INTERFACE - Serial number interface

    Goal

    The purpose of this note is to provide common transaction open interface examples showing how to correctly submit different transactions through the transaction open interface. Some debugging tips are also provided. The following scenarios are addressed:
    How can the transaction open interface be used in the following scenarios?

    Scenario: 1 Account alias receipt for an item that is neither Lot or Serial control.
    Scenario: 2 Account alias issue for an item that is neither Lot or Serial control.
    Scenario: 3 Account alias receipt for an item that is Lot controlled.
    Scenario: 4 Account alias receipt for an item that is Serial controlled
    Scenario: 5 Subinventory transfer for a lot controlled item.
    Scenario: 6 Miscellaneous receipt using LPN for an item under serial control
    Scenario: 7 Miscellaneous issue using LPN for an item under serial control
    Scenario: 8 Container pack item that is not Lot/Serial Control Into LPN
    Scenario: 9 Container Un pack from LPN
    Scenario: 10: Direct Org Transfer
    Scenario: 11: Intransit Org Transfer
    Scenario: 12: Sales Order Issue
    Scenario: 13: Account Issue
    Scenario 14: Account Receipt
    Scenario: 15: WIP Assembly Return
    Scenario: 16: WIP Component Return
    Scenario: 17: WIP Assembly Completion
    Scenario: 18: WIP Component Issue

    Solution

    The transaction open interface process can be used to interface different transactions to do onhand conversions from legacy systems,and other transactions like subinventory transfer , account alias issue / receipts etc.. The transactions could involve Lot and /or serial controlled items and LPN related transactions if the items are packed in LPN’s (ie. if the customer is using Warehouse Management System [WMS]).

    In this note we will give examples of some basic transactions that can be performed through the transaction open interface. The 3 main tables that we will concentrate on are:

    MTL_TRANSACTIONS_INTERFACE, MTL_TRANSACTION_LOTS_INTERFACE and MTL_SERIAL_NUMBERS_INTERFACE.

    Once you have set up the Inventory Concurrent Manager you can launch the Inventory Transactions Manager (INCTCM) through the Interface Managers Window which reads records from the MTL_TRANSACTIONS_INTERFACE table, validates them and moves the successful transactions onto  the MTL_MATERIAL_TRANSACTIONS_TEMP table, and submits the Transaction workers (sub-processes - INCTCW) which then processes these records through inventory. This process consists of data derivation, validation, and transfer of records from the MTL_TRANSCTIONS_INTERFACE,
    MTL_TRANSACTIONS_LOTS_INTERFACE and MTL_SERIAL_NUMBERS_INTERFACE tables
    into their respective TEMP (temporary) tables from where the transactions processor processes them.

    The MTL_TRANSACTIONS_INTERFACE table is the key table through which transactions can be submitted.
    The 3 main columns that needs to be set for the transaction processor to process the records are:
    LOCK_FLAG = 2
    PROCESS_FLAG = 1
    TRANSACTION_MODE = 3

    The TRANSACTION_INTERFACE_ID 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 and/or serial control this column maps to MTL_TRANSACTION_LOTS_INTERFACE.TRANSACTION_INTERFACE_ID and MTL_SERIAL_NUMBERS_INTERFACE.TRANSACTION_INTERFACE_ID.
     

    For more information on the tables please refer to Oracle Manufacturing API's and Open Interfaces Manual

    Scenario: 1: Account Alias Receipt (NO Lot/Serial)

    Testing the transaction open interface with minimum columns populated.
    Account alias receipt for an item that is neither Lot or Serial control.

    We have defined an item, bmw, and we have assigned the item to W1 Cherry hill organization.
    We are going to receive 10 quantity into subinventory FGI and locator '1.1.1'.
    Below is a SQL statement to check the organization id for organization W1:

    select organization_code,organization_id from org_organization_definitions
    where organization_code = 'W1';


    ORG ORGANIZATION_ID
    --- ---------------
    W1 1884

    Below is a SQL statement to check the inventory_item_id for out item bmw:

    select inventory_item_id , segment , organization_id from mtl_system_items_b
    where segment = 'bmw'
    and organization_id = 1884;

    INVENTORY_ITEM_ID SEGMENT1 ORGANIZATION_ID
    ----------------- ---------------------------------------- ---------------
    10531 bmw 1884

    Below is a SQL statement to find out the transaction_type_id for transaction type Account alias receipt:

    select transaction_type_id,transaction_type_name,description
    from mtl_transaction_types
    where transaction_type_name = 'Account alias receipt';

    TRANSACTION_TYPE_ID TRANSACTION_TYPE_NAME
    ------------------- ------------------------------
    DESCRIPTION
    ----------------------------------------------------------------------------------------------------
    41 Account alias receipt
    Receive material against account alias


    Below is the script to get the alias account name and the account id it is linked to.
    Segment is the account alias name.

    select disposition_id, description,segment , distribution_account
    from mtl_generic_dispositions
    where organization_id = 1884;


    DISPOSITION_ID DESCRIPTION
    -------------- --------------------------------------------------
    SEGMENT DISTRIBUTION_ACCOUNT
    ---------------------------------------- --------------------
    147 Default Account
    DEFAULT 17021

    Below is a SQL statement to get the locator id for locator ‘1.1.1’ associated with subinventory ‘FGI’.
     

    select inventory_location_id,segment1, segment2, segment3,subinventory_code from mtl_item_locations
        where organization_id = 1884
        and subinventory_code = 'FGI'
        and segment1 = '1'
        and segment2 = '1'
        and segment3 = '1';


     
    INVENTORY_LOCATION_ID SEGMENT1
    --------------------- ----------------------------------------
    SEGMENT2                                 SEGMENT3                                 SUBINVENTO
    ---------------------------------------- ---------------------------------------- ----------
      &nbsbsp;            1291 1
    1                       &nbnbsp;              1                                        FGI

    Below is a script to find the segments (account c) for the distribution acc021. to account
    alias screen in Inventory and verify the account for the alias that is defined:

    select code_combination_id, segment1 , segment2, segment3 , segment4 , segment5
    from gl_code_combinations
    where code_combination_id = 17021 ;


    CODE_COMBINATION_ID SEGMENT SEGMENT2 SEGMENT3
    ------------------- ------------------------- ------------------------- -------------------------
    SEGMENT4 SEGMENT5
    ------------------------- -------------------------
    17021 01 520 5250
    0000 000

    Finally here is the complete SQL statement to interface an account alias receipt. The values populated are based on the values obtained :rom the above SQL sttatements.

    Insert into mtl_transactions_interface(
    transaction_uom,
    transaction_date,
    source_code,
    source_line_id,
    source_header_id,
    process_flag ,
    transaction_mode ,
    lock_flag ,
    locator_id ,
    last_update_date ,
    last_updated_by ,
    creation_date ,
    created_by ,
    inventory_item_id ,
    subinventory_code,
    organization_id,
    transaction_source_name,
    transaction_source_id,
    transaction_quantity ,
    primary_quantity ,
    transaction_type_id ,
    dst_segment1,
    dst_segment2,
    dst_segment3,
    dst_segment4,
    dst_segment5)
    VALUES (
    'Ea', --transaction uom
    SYSDATE, --transaction date
    'Alias Receipt', --source code
    99, --source line id
    99, --source header id
    1, --process flag
    3 , --transaction mode
    2 , --lock flag
    1291 , --locator id
    SYSDATE , --last update date
    0, --last updated by
    SYSDATE , --creation date
    0, --created by
    10531 , --inventory item id
    'FGI', --From subinventory code
    1884, --organization id
    ' DEFAULT ', --transaction source
    147, --transaction source id
    10, --transaction quantity
    10, --Primary quantity
    41, --transaction type id
    '10 ', --segment account combination
    '520', --segment2 account combination
    '5250', --segment3 account combination
    '0000', --segment4 account combination
    '000' --segment5 account combination
    );

    commit;

    Scenario: 2: Account Alias (No Lot/Serial)

    Account alias issue for an item that is neither Lot or Serial control.
    We are issuing out 10 qty that we had received earlier. The subinventory is FGI and the locator is '1.1.1'. We are using the same account alias ' DEFAULT '.

    Below is a SQL statement to find out the transaction_type_id for the transaction type Account alias issue:

    select transaction_type_id,transaction_type_name,description
    from mtl_transaction_types
    where transaction_type_name = 'Account alias issue';


    TRANSACTION_TYPE_ID TRANSACTION_TYPE_NAME
    ------------------- ------------------------------
    DESCRIPTION
    ----------------------------------------------------------------------------------------------------
    31 Account alias issue
    Issue material against account alias

    Below is the complete SQL statement to interface the account alias issue.
    Note that the transaction type id is 3 for account alias issue and as we are issuing 10 quantity out, the transaction quantity is - 10.

    Insert into mtl_transactions_interface(
    transaction_uom,
    transaction_date,
    source_code,
    source_line_id,
    source_header_id,
    process_flag ,
    transaction_mode ,
    lock_flag ,
    locator_id ,
    last_update_date ,
    last_updated_by ,
    creation_date ,
    created_by ,
    inventory_item_id ,
    subinventory_code,
    organization_id,
    transaction_source_name,
    transaction_source_id,
    transaction_quantity ,
    primary_quantity ,
    transaction_type_id ,
    dst_segment1,
    dst_segment2,
    dst_segment3,
    dst_segment4,
    dst_segment5)
    VALUES (
    'Ea', --transaction uom
    SYSDATE, --transaction date
    'Alias Issue', --source code
    99, --source line id
    99, --source header id
    1, --process flag
    3 , --transaction mode
    2 , --lock flag
    1291 , --locator id
    SYSDATE , --last update date
    0, --last updated by
    SYSDATE , --creation date
    0, --created by
    10531 , --inventory item id
    'FGI', --From subinventory code
    1884, --organization id
    ' DEFAULT ', --transaction source
    147, --transaction source id
    -10, --transaction quantity
    10, --Primary quantity
    31 , --transaction type id
    '01', --segment1 account combination
    '520', --segment2 account combination
    '5250', --segment3 account combination
    '0000', --segment4 account combination
    '000' --segment5 account combination
    );

    commit;

    Scenario: 3: Account Alias Receipt (Lot Controled)

    Account alias receipt for an item that is Lot controlled.
    We have defined an item bmwlot and we have assigned the item to W1 Cherry hill organization. We are going to receive 10 quantity into subinventory FGI and locator '1.1.1'. The lot number we are going to assign is LT0001.

    select inventory_item_id , segment , organization_id,
    auto_lot_alpha_prefi , start_auto_lot_number
    from mtl_system_items_b
    where segment = 'bmwlot'
    and organization_id = 1884;

    INVENTORY_ITEM_ID SEGMENT ORGANIZATION_ID
    ----------------- ---------------------------------------- ---------------
    AUTO_LOT_ALPHA_PREFIX START_AUTO_LOT_NUMBER
    ------------------------------ ------------------------------
    10532 bmwlot 1884
    LT 0001

    Below is the complete SQL statement to interface the account alias receipt. The values populated are based on the values obtained from the above SQL statements:

    Insert into mtl_transactions_interface(
    transaction_uom,
    transaction_date,
    source_code,
    source_line_id,
    source_header_id,
    process_flag ,
    transaction_mode ,
    lock_flag ,
    locator_id ,
    last_update_date ,
    last_updated_by ,
    creation_date ,
    created_by ,
    inventory_item_id ,
    subinventory_code,
    organization_id,
    transaction_source_name,
    transaction_source_id,
    transaction_quantity ,
    primary_quantity ,
    transaction_type_id ,
    dst_segment1,
    dst_segment2,
    dst_segment3,
    dst_segment4,
    dst_segment5,
    transaction_interface_id)
    VALUES (
    'Ea', --transaction uom
    SYSDATE, --transaction date
    'Alias Receipt', --source code
    99, --source line id
    99, --source header id
    1, --process flag
    3 , --transaction mode
    2 , --lock flag
    1291 , --locator id
    SYSDATE , --last update date
    0, --last updated by
    SYSDATE , --creation date
    0, --created by
    10532, --inventory item id
    'FGI', --From subinventory code
    1884, --organization id
    ' DEFAULT ', --transaction source
    147, --transaction source id
    10, --transaction quantity
    10, --Primary quantity
    41 , --transaction type id
    '01', --segment1 account combination
    '520', --segment2 account combination
    '5250', --segment3 account combination
    '0000', --segment4 account combination
    '000', --segment5 account combination
    999--transaction interface id
    );


    Insert into mtl_transaction_lots_interface
    ( transaction_interface_id,
    lot_number,
    Lot_expiration_date,
    transaction_quantity,
    last_update_date ,
    last_updated_by ,
    creation_date ,
    created_by )
    VALUES (999 ,
    'LT00001',
    sysdate+100,
    10,
    sysdate ,
    0 ,
    sysdate ,
    0 );
    commit;

    Scenario: 4: Account Alias Receipt (Serial Controlled)

    Account alias receipt for an item that is Serial controlled.
    We have defined an item bmwserial and we have assigned the item to W1 Cherry hill organization. We are going to receive 10 quantity into subinventory FGI and locator '1.1.1'. The serial numbers we are going to assign are from SR0001 to SR001:.

    Select inventory_item_id , segment1 , organization_id,
    auto_serial_alpha_prefix, start_auto_serial_number
    from mtl_system_items_b
    where segment1 = 'bmwserial'
    and organization_id = 1884;


    INVENTORY_ITEM_ID SEGMENT1 ORGANIZATION_ID
    ----------------- ---------------------------------------- ---------------
    AUTO_SERIAL_ALPHA_PREFIX START_AUTO_SERIAL_NUMBER
    ------------------------------ ------------------------------
    10534 bmwserial 1884
    SR 0001


    Below is the complete SQL statement to interface the account alias receipt. The values populated are based on the values obtained from the above SQL statements:

    Insert into mtl_transactions_interface(
    transaction_uom,
    transaction_date,
    source_code,
    source_line_id,
    source_header_id,
    process_flag ,
    transaction_mode ,
    lock_flag ,
    locator_id ,
    last_update_date ,
    last_updated_by ,
    creation_date ,
    created_by ,
    inventory_item_id ,
    subinventory_code,
    organization_id,
    transaction_source_name,
    transaction_source_id,
    transaction_quantity ,
    primary_quantity ,
    transaction_type_id ,
    dst_segment1,
    dst_segment2,
    dst_segment3,
    dst_segment4,
    dst_segment5,
    transaction_interface_id)
    VALUES (
    'Ea', --transaction uom
    SYSDATE, --transaction date
    'Alias Receipt', --source code
    99, --source line id
    99, --source header id
    1, --process flag
    3 , --transaction mode
    2 , --lock flag
    1291 , --locator id
    SYSDATE , --last update date
    0, --last updated by
    SYSDATE , --creation date
    0, --created by
    10534, --inventory item id
    'FGI', --From subinventory code
    1884, --organization id
    ' DEFAULT ', --transaction source
    147, --transaction source id
    10, --transaction quantity
    10, --Primary quantity
    41 , --transaction type id
    '01', --segment1 account combination
    '520', --segment2 account combination
    '5250', --segment3 account combination
    '0000', --segment4 account combination
    '000', --segment5 account combination
    999--transaction interface id
    );

    Insert into mtl_serial_numbers_interface
    (transaction_interface_id,
    fm_serial_number,
    to_serial_number,
    last_update_date,
    last_updated_by,
    creation_date,
    created_by)
    values
    (999, --transaction interface_id
    'SR0001', --from serial number
    'SR0010' , --to serial number
    sysdate, --last update date
    0, --last updated by
    sysdate, --creation date
    0 --created by
    );

    commit;

    Scenario: 5: Subinventory Transfer

    Subinventory transfer for a lot controlled item.
    We have defined an item bmwlot and we have assigned the item to W1 Cherry hill organization. We have already received 10 quantity into subinventory FGI and locator '1.1.1'. We are planning to move a quantity of 2 from subinventory FGI locator '1.1.1' to subinventory 'TC-LOOSE' and locator 'TCLO.1.1.'

    Below is the SQL statement to find the locator id for locator 'TCLO.1.1'

    select inventory_location_id,segment1, segment2, segment3,subinventory_code from mtl_item_locations
    where organization_id = 1884
    and subinventory_code = 'TC-LOOSE';


    INVENTORY_LOCATION_ID SEGMENT1
    --------------------- ----------------------------------------
    SEGMENT2    SEGMENT3    SUBINVENTO
    ---------------------------------------- ---------------------------------------- ----------
    1482 TCLO
    1     1      TC-LOOSE

    Below is the SQL statement to find the transaction type id for transaction type 'Subinventory Transfer'

    select transaction_type_id,transaction_type_name,description
    from mtl_transaction_types
    where transaction_type_name ='Subinventory Transfer';


    TRANSACTION_TYPE_ID TRANSACTION_TYPE_NAME
    ------------------- ------------------------------
    DESCRIPTION
    ----------------------------------------------------------------------------------------------------
    2 Subinventory Transfer
    Transfer material between subinventories

    INSERT INTO MTL_TRANSACTIONS_INTERFACE
    (
    transaction_uom,
    transaction_date,
    source_code,
    source_line_id,
    source_header_id,
    process_flag ,
    transaction_mode ,
    lock_flag,
    locator_id ,
    last_update_date ,
    last_updated_by ,
    creation_date ,
    created_by ,
    inventory_item_id ,
    subinventory_code,
    organization_id,
    transaction_quantity ,
    primary_quantity ,
    transaction_type_id ,
    transfer_subinventory,
    transfer_locator,
    transaction_interface_id)
    VALUES (
    'Ea', --transaction uom
    sysdate, --transaction date
    'Subinventory Transfer', --source code
    99, --source line id
    99, --source header id
    1, --process flag
    3 , --transaction mode
    2 , --lock flag
    1291 , --locator id
    sysdate, --last update date
    0 , --last updated by
    sysdate, --created date
    0 , --created by
    10532 , --inventory item id
    'FGI', --subinventory code
    1884, --organization id
    2 , --transaction quantity
    2 , --primary quantity
    2, --transaction type id
    'TC-LOOSE', -- from subinventory
    1482, -- from locator id
    999); --transaction interface id

    INSERT INTO MTL_TRANSACTION_LOTS_INTERFACE
    ( transaction_interface_id,
    lot_number,
    Lot_expiration_date,
    transaction_quantity,
    last_update_date ,
    last_updated_by ,
    creation_date ,
    created_by)
    VALUES (999, --transaction interface id
    'LT00001', --Lot number
    sysdate+100, --Lot expiration date
    2, --transaction quantity
    sysdate, --last update date
    0, --last updated by
    sysdate, --creation date
    0); --created by

    commit;

    Scenario: 6:  Misc. Receipt (with LPN and serial)

    Miscellaneous receipt using LPN for an item under serial control

    Overview of License Plate Numbers (LPN):

    LPN's are used in the Oracle Warehouse Management System (WMS). Oracle WMS provides full visibility to inventory items that are stored in LPNs. An LPN in Oracle WMS is any object that
    exists in a location and holds items. Although LPNs are associated with containers, they do not need to represent a physical identity, such as a box. Thus, a LPN might be defined as just a label or a collection of items. Oracle WMS enables you to track, transact and nest LPNs and their contents.

    Using License Plate Numbers:

    The Oracle WMS LPN features enable you to do the following:
    a. Receive, store, and pick material by LPN
    b. View on-hand balances by LPN
    c. View contents of LPN, including item number, serial number, quantity, and so on
    d. Move many items in a transaction using the LPN
    e. Print labels and reports for referencing container contents
    f. Track nested LPNs (for example, cartons on a pallet)
    G. Pack, unpack, consolidate, split, and update LPNs
    h. Reuse empty LPNs

    Points to remember when using LPN s (License Plate Numbers):


    LPN_ID : the LPN from which an Unpack operation is to be done
    TRANSFER_LPN_ID : the LPN to which a Pack operation is to be done
    CONTENT_LPN_ID: field is populated for Issue transactions and the TRANSFER_LPN_ID for Receipt transactions (LPN_ID field in MTI should NOT be used for these transactions)

    We cannot issue individual serials from an LPN through an Issue transaction. If a Miscellaneous Issue is performed for an LPN the ENTIRE LPN and ALL ITS CONTENTS are issued out. If you want to issue out a single serial from an LPN, then you must first unpack the serial from the LPN by posting an unpack transaction and then issue the individual serial.

    In our scenario we will receive item bmwlpnserial into LPN A using a miscellaneous receipt. We are going to receive 10 quantity of the item into subinventory FGI and locator'1.1.1'. We have generated the LPN using Generate LPN program through Warehouse Manger responsibility and the concurrent program is under Other> Requests > Run. You can check the LPN number in the log file of the Generate LPN program.

    Below is the SQL statement to check the LPN information then Generate LPN program.

    select lpn_id,license_plate_number,lpn_content
    from wms_license_plate_numbers
    where license_plate_number = 'LPN1A';


    LPN_ID LICENSE_PLATE_NUMBER LPN_CONTEXT
    --------- ------------------------------ -----------
    128 LPN1A 5

    Below is the SQL statement to find out the meaning for the LPN content:

    select lookup_code,:meaning
    from mfg_lookups
    where lookup_type ='WMS_LPN_CONTEXT'
    order by lookup_code;


    LOOKUP_CODE MEANING
    ----------- --------------------------------------------------------------------------------
    1  Resides in Inventory
    2  Resides in WIP
    3  Resides in Receiving
    4  Issued out of Stores
    5  Defined but not used
    6  Resides in Intransit
    7  Resides in Vendor
    8  Packing content
    9  Loaded to Dock
    10 Prepack for WIP
    11 Picked

    We are going to use LPN A which has a content code of  5 - Defined but not used .

    select transaction_type_id,transaction_type_name,description
    from mtl_transaction_types
    where transaction_type_name = 'Miscellaneous receipt';

    TRANSACTION_TYPE_ID TRANSACTION_TYPE_NAME
    ------------------- ------------------------------
    DESCRIPTION
    ----------------------------------------------------------------------------------------------------
    42 Miscellaneous receipt
    Perform miscellaneous receipt of material

    select inventory_item_id , segment , organization_id
    from mtl_system_items_b
    where segment1 = 'bmwlpnserial'
    and organization_id = 1884;

    INVENTORY_ITEM_ID SEGMENT ORGANIZATION_ID
    ----------------- ---------------------------------------- ---------------
    11821 bmwlpnserial 1884

    Insert into mtl_transactions_interface(
    transaction_uom,
    transaction_date,
    source_code,
    source_line_id,
    source_header_id,
    process_flag ,
    transaction_mode ,
    lock_flag ,
    locator_id ,
    last_update_date ,
    last_updated_by ,
    creation_date ,
    created_by ,
    inventory_item_id ,
    subinventory_code,
    organization_id,
    transaction_quantity ,
    primary_quantity ,
    transaction_type_id ,
    dst_segment1,
    dst_segment2,
    dst_segment3,
    dst_segment4,
    dst_segment5,
    transaction_interface_id,
    transfer_lpn_id
    )
    VALUES (
    'Ea', --transaction uom
    SYSDATE, --transaction date
    'Miscellaneous Receipt', --source code
    99, --source line id
    99, --source header id
    1, --process flag
    3 , --transaction mode
    2 , --lock flag
    1291 , --locator id
    SYSDATE , --last update date
    0, --last updated by
    SYSDATE , --creation date
    0, --created by
    11821 , --inventory item id
    'FGI',--From subinventory code
    1884, --organization id
    10, --transaction quantity
    10, --Primary quantity
    42, --transaction type id
    '01', --segment1 account combination
    '520', --segment2 account combination
    '5250', --segment3 account combination
    '0000', --segment4 account combination
    '000', --segment5 account combination
    999, --transaction interface id
    128); --transfer lpn id

    Insert into mtl_serial_numbers_interface
    (transaction_interface_id,
    fm_serial_number,
    to_serial_number,
    last_update_date,
    last_updated_by,
    creation_date,
    created_by)
    values
    (999, --transaction interface_id
    'SR00001' , --from serial number
    'SR00010', --to serial number
    sysdate, --last update date
    0, --last updated by
    sysdate, --creation date
    0 --created by
    );

    commit;

    After the import when you check the content of  LPN1A you will see that the content has changed to Resides in Inventory .

    select lpn_id,license_plate_number,lpn_content
    from wms_license_plate_numbers
    where license_plate_number = 'LPN1A';


    LPN_ID LICENSE_PLATE_NUMBER LPN_CONTEXT
    --------- ------------------------------ -----------
    28 LPN1A

    Scenario: 7: Misc. Issue (with LPN and serial)

    Miscellaneous issue using LPN for an item under serial control

    We are going to perform a miscellaneous issue of the LPN, LPN A and its entire contents that we had received in scenario 6.

    Select transaction_type_id,transaction_type_name,description from mtl_transaction_types
    where transaction_type_name = 'Miscellaneous issue';

    TRANSACTION_TYPE_ID TRANSACTION_TYPE_NAME
    ------------------- ------------------------------
    DESCRIPTION
    ----------------------------------------------------------------------------------------------------
    32 Miscellaneous issue
    Perform miscellaneous issue of material

    Insert into mtl_transactions_interface(
    transaction_uom,
    transaction_date,
    source_code,
    source_line_id,
    source_header_id,
    process_flag ,
    transaction_mode ,
    lock_flag ,
    locator_id ,
    last_update_date ,
    last_updated_by ,
    creation_date ,
    created_by ,
    inventory_item_id ,
    subinventory_code,
    organization_id,
    transaction_quantity ,
    primary_quantity ,
    transaction_type_id ,
    dst_segment1,
    dst_segment2,
    dst_segment3,
    dst_segment4,
    dst_segment5,
    transaction_interface_id,
    content_lpn_id)
    VALUES (
    'Ea', --transaction uom
    SYSDATE, --transaction date
    'Miscellaneous Issue', --source code
    99, --source line id
    99, --source header id
    1, --process flag
    3 , --transaction mode
    2 , --lock flag
    2 , --locator id
    SYSDATE , --last update date
    0, --last updated by
    SYSDATE , --creation date
    0, --created by
    11821, --inventory item id
    'FGI', --From subinventory code
    1884, --organization id
    -10,--transaction quantity
    10, --Primary quantity
    32, --transaction type id
    '01', --segment1 account combination
    '520', --segment2 account combination
    '5250', --segment3 account combination
    '0000', --segment4 account combination
    '000', --segment5 account combination
    999, --transaction interface id
    128); --transfer lpn id

     

    Insert into mtl_serial_numbers_interface
    (transaction_interface_id,
    fm_serial_number,
    to_serial_number,
    last_update_date,
    last_updated_by,
    creation_date,
    created_by)
    values
    (999, --transaction interface_id
    'SR00001' , --from serial number
    'SR00010' , --to serial number
    sysdate, --last update date
    0, --last updated by
    sysdate, --creation date
    0 ; --created by
    );

    commit;

    select lpn_id,license_plate_number,lpn_content
    from wms_license_plate_numbers
    where license_plate_number = 'LPN1A';


    LPN_ID LICENSE_PLATE_NUMBER LPN_CONTEXT
    --------- ------------------------------ -----------
    128 LPN1A 4

    After the issue transaction when you check the content of LPN LPN1A you will see that the content has changed to 4 Issued out of Stores

    Scenario: 8: Container Pack (No Lot/Serial)

    Container pack item that is not Lot/Serial Control Into LPN

    Generated an LPN using Generate LPN program. Now we are going to pack item bmwp which we have defined and has received loose qty (10) in subinventory FGI and locator'1.1.1' into LPN 'LPN21A' .

    select lpn_id,license_plate_number,lpn_content
    from wms_license_plate_numbers
    where license_plate_number = 'LPN21A';

    LPN_ID LICENSE_PLATE_NUMBER LPN_CONTEXT
    --------- ------------------------------ -----------
    135 LPN21A 5

    We are going to use LPN21A which has a content 5 Defined but not used

    select inventory_item_id , segment , organization_id from mtl_system_items_b
    where segment = 'bmwp'
    and organization_id = 1884;

    INVENTORY_ITEM_ID SEGMENT ORGANIZATION_ID
    ----------------- ---------------------------------------- ---------------
    11822 bmwp 1884

    select transaction_type_id,transaction_type_name,description from mtl_transaction_types
    where transaction_type_name = 'Container Pack';

    TRANSACTION_TYPE_ID TRANSACTION_TYPE_NAME
    ------------------- --------------------------------------------------------------------------------
    DESCRIPTION
    ----------------------------------------------------------------------------------------------------
    87 Container Pack
    Container Pack

    The transaction type id for Container Pack is 87

    Insert into mtl_transactions_interface(
    transaction_uom,
    transaction_date,
    source_code,
    source_line_id,
    source_header_id,
    process_flag ,
    transaction_mode ,
    lock_flag ,
    locator_id ,
    last_update_date ,
    last_updated_by ,
    creation_date ,
    created_by ,
    inventory_item_id ,
    subinventory_code,
    organization_id,
    transaction_quantity ,
    primary_quantity ,
    transaction_type_id ,
    transfer_lpn_id
    )
    VALUES (
    'Ea', --transaction uom
    SYSDATE, --transaction date
    'Container Pack', --source code
    99, --source line id
    99, --source header id
    1, --process flag
    3 , --transaction mode
    2 , --lock flag
    1291 , --locator id
    SYSDATE,--last update date
    0, --last updated by
    SYSDATE , --creation date
    0, --created by
    11822, --inventory item id
    'FGI', --From subinventory code
    1884, --organization id
    10, --transaction quantity
    10, --Primary quantity
    87, --transaction type id
    135); --transfer lpn id
    commit;

    select license_plate_number,lpn_content,subinventory_code,
    locator_id, sealed_status
    from wms_license_plate_numbers
    where license_plate_number = 'LPN21A';

    LICENSE_PLATE_NUMBER LPN_CONTEXT SUBINVENTO LOCATOR_ID SEALED_STATUS
    ------------------------------ ----------- ---------- ---------- -------------
    LPN21A 1  FGI 1291  2

    LPN content is 1 which means Resides in Inventory .

    Scenario: 9: Container Unpack from LPN

    Container Unpack from LPN

    We are going to unpack LPN LPN21A which we had packed in scenario 8.

    select transaction_type_id,transaction_type_name,description from mtl_transaction_types
    where transaction_type_name = 'Container Unpack';

    TRANSACTION_TYPE_ID TRANSACTION_TYPE_NAME
    ------------------- ------------------------------------------------------------------------
    DESCRIPTION
    ------------------------------------------------------------------------------------
    88 Container Unpack
    Container Unpack


    The transaction type id for Container UnPack is 88
    Note that we are using column LPN_ID and NOT TRANSFER_LPN_ID as we are doing an unpack transaction.

    Insert into mtl_transactions_interface(
    transaction_uom,
    transaction_date,
    source_code,
    source_line_id,
    source_header_id,
    process_flag ,
    transaction_mode ,
    lock_flag ,
    locator_id ,
    last_update_date ,
    last_updated_by ,
    creation_date ,
    created_by ,
    inventory_item_id ,
    subinventory_code,
    organization_id,
    transaction_quantity ,
    primary_quantity ,
    transaction_type_id ,
    lpn_id
    )
    VALUES (
    'Ea', --transaction uom
    SYSDATE, --transaction date
    'Container UnPack', --source code
    99, --source line id
    99, --source header id
    1, --process flag
    3 , --transaction mode
    2 , --lock flag
    1291 , --locator id
    SYSDATE , --last update date
    0, --last updated by
    SYSDATE , --creation date
    0, --created by
    11822, --inventory item id
    'FGI', --From subinventory code
    1884, --organization id
    10, --transaction quantity
    10, --Primary quantity
    88, --transaction type id
    135); --lpn id

    commit;

    select license_plate_number,lpn_content,subinventory_code,
    locator_id, sealed_status
    from wms_license_plate_numbers
    where license_plate_number = 'LPN21A';

    LICENSE_PLATE_NUMBER LPN_CONTEXT SUBINVENTO LOCATOR_ID SEALED_STATUS
    ------------------------------ ----------- ---------- ---------- -------------
    LPN21A 5 2


    You can see that LPN21A content is 5 Defined but not used and the subinventory and locator id is null in wms_license_plate_numbers table.

    Scenario: 10: Direct Org Transfer (No Lot/Serial)

    Direct-org transfer transaction open interface with minimum columns populated.

    We have defined an item PISTON7 and we have assigned the item to M1 Seattle Manufacturing organization.
    Below is the SQL statement to check organization id for organization M1 .

    1)

    select organization_code,organization_id from org_organization_definitions
    where organization_code = 'M1';


    ORG ORGANIZATION_ID
    --- ---------------
    M1 207


    2) Below is the SQL statement to check the inventory_item_id for out item PISTON7 .

    select inventory_item_id , segment1 , organization_id from mtl_system_items_b
    where segment1 = 'PISTON7'
    and organization_id = 207;


    INVENTORY_ITEM_ID SEGMENT ORGANIZATION_ID
    ----------------- ---------------------------------------- ---------------
    264814 PISTON7 207


    3) Below is the SQL statement to find out the transaction_type_id for transaction type Account receipt.

    select transaction_type_id,transaction_type_name,description, transaction_action_id
    from mtl_transaction_types
    where transaction_type_name = 'Direct Org Transfer';



    TRANSACTION_TYPE_ID TRANSACTION_TYPE_NAME DESCRIPTION TRANSACTION_ACTION_ID
    -------------------- ---------------------- -------------- ---------------------
    3 Direct Org Transfer Direct transfer between two orgs 3

    insert into mtl_transactions_interface
    (source_code,
    source_header_id,
    source_line_id,
    process_flag,
    lock_flag,
    transaction_mode,
    last_update_date,
    last_updated_by,
    creation_date,
    created_by,
    organization_id,
    inventory_item_id,
    transaction_quantity,
    transaction_uom, transaction_date,
    transaction_type_id,
    transaction_action_id,
    transaction_source_type_id,
    distribution_account_id,
    transaction_interface_id,
    subinventory_code,
    dsp_segment1,
    dsp_segment2,
    dsp_segment3,
    dsp_segment4,
    dsp_segment5, transfer_organization,
    transfer_subinventory)
    values (
    'KM',
    1,
    1,
    1,
    2,
    3,
    SYSDATE,
    999,
    SYSDATE,
    999,
    207,
    264814,
    5,
    'Ea',
    SYSDATE,
    3,
    3,
    13,
    17347,
    116,
    'FGI',
    '01',
    '580',
    '7740',
    '0000',
    '000',
    '209',
    'FGI');

    COMMIT;

    Scenario: 11: Intransit Org Transfer (No Lot/Serial)

    Intransit transaction open interface for an item that is neither lot or serial controlled.

    We have defined an item PISTON7 and we have assigned the item to M1 Seattle Manufacturing organization.
    Below is the SQL statement to get the organization id for organization M1 .

    1)

    select organization_code,organization_id from org_organization_definitions
    where organization_code = 'M1';


    ORG ORGANIZATION_ID
    --- ---------------
    M1 207


    2) Below is the SQL statement to check the inventory_item_id for our item PISTON7 .

    select inventory_item_id , segment1 , organization_id from mtl_system_items_b
    where segment1 = 'PISTON7'
    and organization_id = 207;


    INVENTORY_ITEM_ID SEGMENT ORGANIZATION_ID
    ----------------- ---------------------------------------- ---------------
    264814 PISTON7 207


    3) Below is the SQL statement to find out the transaction_type_id for transaction type Account receipt.

    select transaction_type_id,transaction_type_name,description, transaction_action_id
    from mtl_transaction_types
    where transaction_type_name = 'Intransit Shipment';


    TRANSACTION_TYPE_ID TRANSACTION_TYPE_NAME DESCRIPTION TRANSACTION_ACTION_ID
    -------------------- ---------------------- -------------- ---------------------
    21 Intransit Shipment Ship to intransit sourced from Invnetory 21

    insert into mtl_transactions_interface
    (source_code,
    source_header_id,
    source_line_id,
    process_flag,
    lock_flag,
    transaction_mode,
    last_update_date,
    last_updated_by,
    creation_date,
    created_by,
    organization_id,
    inventory_item_id,
    transaction_quantity,
    transaction_uom,
    transaction_date,
    transaction_type_id,
    transaction_action_id,
    transaction_source_type_id,
    distribution_account_id,
    transaction_interface_id,
    subinventory_code,
    dsp_segment1,
    dsp_segment2,
    dsp_segment3,
    dsp_segment4,
    dsp_segment5,
    transfer_organization,
    transfer_subinventory)
    values (
    'KM',
    1,
    1,
    1,
    2,
    3,
    SYSDATE,
    999,
    SYSDATE,
    999,
    207,
    264814,
    -5,
    'Ea',
    SYSDATE,
    21,
    21,
    13,
    17347,
    120,
    'FGI',
    '01',
    '580',
    '7740',
    '0000',
    '000',
    '209',
    'FGI');

    COMMIT;

    Scenario: 12: Sales Order Issue (No Lot/Serial)

    Sales order transaction open interface for an item that is neither lot or serial controlled.

    We have defined an assembly WAKEBOARD and we have assigned the item to the M1 Seattle Manufacturing organization. The assembly has components L BOOT and R BOOT.

    The setup for this process is as follows:
    1. Create Sales Order
    2. Release Sales Order
    3. Transact the Move Order


    1) Below is the SQL statement to get the organization id for organization M1.

    select organization_code,organization_id from org_organization_definitions
    where organization_code = 'M1';


    ORG ORGANIZATION_ID
    --- ---------------
    M1 207


    2) Below is the SQL statement to check the inventory_item_id for out item PISTON7 .

    select inventory_item_id , segment1 , organization_id from mtl_system_items_b
    where segment1 = 'WAKEBOARD'
    and organization_id = 207;



    INVENTORY_ITEM_ID SEGMENT ORGANIZATION_ID
    ----------------- ---------------------------------------- ---------------
    1022349 WAKEBOARD 207


    3) Below is the SQL statement to find out the transaction_type_id for transaction type Account receipt.

    select transaction_type_id,transaction_type_name,description, transaction_action_id
    from mtl_transaction_types
    where transaction_type_name = 'Sales order issue';



    TRANSACTION_TYPE_ID TRANSACTION_TYPE_NAME DESCRIPTION TRANSACTION_ACTION_ID
    -------------------- ---------------------- -------------- ---------------------
    33 Sales order issue Ship confirm external sales order 1

    4) Below is the SQL statement to find out the transaction_source_id from the mtl_sales_orders table where the transaction_source_id is the sales order id:

    select sales_order_id from mtl_sales_orders
    where segment1 = '62034';



    SALES_ORDER_ID
    ------------------
    900350


    6) Below is the SQL statement to find the source_header_id and transaction_reference:

    select header_id from oe_order_headers_all
    where order_number = '62034';


    HEADER_ID
    ------------------
    120601

    7)  Below is the SQL statement to find the source_line_id and trx_source_line_id:

    select line_id from oe_order_lines_all
    where header_id = 120601;


    LINE_ID
    ----------------------------
    218694

    insert into mtl_transactions_interface
    (source_code,
    source_header_id,
    source_line_id,
    process_flag,
    lock_flag,
    transaction_mode,
    last_update_date,
    last_updated_by,
    creation_date,
    created_by,
    organization_id,
    inventory_item_id,
    transaction_quantity,
    transaction_uom,
    transaction_date,
    transaction_type_id,
    transaction_action_id,
    transaction_source_type_id,
    distribution_account_id,
    transaction_interface_id,
    subinventory_code,
    dsp_segment1,
    dsp_segment2,
    dsp_segment3,
    dsp_segment4,
    dsp_segment5,
    transaction_source_id,
    trx_source_line_id,
    acct_period_id,
    transaction_reference)
    values (
    'ORDER ENTRY',
    120601,
    218694,
    1,
    2,
    3,
    SYSDATE,
    999,
    SYSDATE,
    999,
    207,
    1022349,
    -5,
    'Ea',
    SYSDATE,
    33,
    1,
    2,
    17347,
    147,
    'FGI',
    '01',
    '580',
    '7740',
    '0000',
    '000',
    900350,
    218694,
    246356,
    120601);

    COMMIT;

    Scenario: 13: Account Issue (No Lot/Serial)

    Account issue transaction for an item that is neither Lot or Serial controlled.

    We have defined an item PISTON3 and we have assigned the item to M1 Seattle Manufacturing organization.
    Below is the SQL statement to get the organization id for organization M1 .

    select organization_code,organization_id from org_organization_definitions
    where organization_code = 'M1';


    ORG ORGANIZATION_ID
    --- ---------------
    M1 207

    Below is the SQL statement to check the inventory_item_id for out item PISTON:

    select inventory_item_id , segment1 , organization_id from mtl_system_items_b
    where segment1 = 'PISTON3'
    and organization_id = 207;



    INVENTORY_ITEM_ID segment1 ORGANIZATION_ID
    ----------------- ---------------------------------------- ---------------
    262810 PISTON3 207

    Below is the SQL statement to find out the transaction_type_id for transaction type Account issue:

    select transaction_type_id,transaction_type_name,description, transaction_action_id
    from mtl_transaction_types
    where transaction_type_name = 'Account issue';


    TRANSACTION_TYPE_ID TRANSACTION_TYPE_NAME DESCRIPTION TRX_ACTION_ID
    ------------------- --------------------- ------------------------------- -------------
    1 Account issue Issue material against accounts 1


    SELECT C.DISTRIBUTION_ACCOUNT_ID, C.* FROM MTL_MATERIAL_TRANSACTIONS C
    WHERE INVENTORY_ITEM_ID = 262810;





    Below is the complete SQL statement to do the account issue. The values populated are based on the values obtained from the above SQL statements:

    insert into mtl_transactions_interface
    (source_code,
    source_header_id,
    source_line_id,
    process_flag,
    lock_flag,
    transaction_mode,
    last_update_date,
    last_updated_by,
    creation_date,
    created_by,
    organization_id,
    inventory_item_id,
    transaction_quantity,
    transaction_uom,
    transaction_date,
    transaction_type_id,
    transaction_action_id,
    transaction_source_type_id,
    distribution_account_id,
    transaction_interface_id,
    subinventory_code,
    dsp_segment1,
    dsp_segment2,
    dsp_segment3,
    dsp_segment4,
    dsp_segment5)
    values (
    'KM',
    1,
    1,
    1,
    2,
    3,
    SYSDATE,
    999,
    SYSDATE,
    999,
    207,
    262810,
    -15,
    'Ea',
    SYSDATE,
    1,
    1,
    3,
    17347,
    116,
    'FGI',
    '01',
    '580',
    '7740',
    '0000',
    '000');

    COMMIT;

    Scenario: 14: Account Receipt (No Lot/Serial)

    Account receipt transaction open interface for an item that is neither Lot or Serial controlled.

    We have defined an item PISTON and have assigned the item to M1 Seattle Manufacturing organization.

    1) Below is the SQL statement to get the organization id for organization M1 .

    select organization_code,organization_id from org_organization_definitions
    where organization_code = 'M1';


    ORG ORGANIZATION_ID
    --- ---------------
    M1 207


    2) Below is the sql to check the inventory_item_id for out item PISTON .

    select inventory_item_id , segment1 , organization_id from mtl_system_items_b
    where segment1 = 'PISTON3'
    and organization_id = 207;



    INVENTORY_ITEM_ID SEGMENT ORGANIZATION_ID
    ----------------- ---------------------------------------- ---------------
    262810 PISTON3 207


    3) Below is the SQL statement to find the transaction_type_id for transaction type Account receipt:

    select transaction_type_id,transaction_type_name,description, transaction_action_id
    from mtl_transaction_types
    where transaction_type_name = 'Account receipt';


    TRANSACTION_TYPE_ID TRANSACTION_TYPE_NAME DESCRIPTION TRANSACTION_ACTION_ID
    -------------------- ---------------------- -------------- ---------------------
    40 Account receipt Receive material against account 27

    insert into mtl_transactions_interface
    (source_code,
    source_header_id,
    source_line_id,
    process_flag,
    lock_flag,
    transaction_mode,
    last_update_date,
    last_updated_by,
    creation_date,
    created_by,
    organization_id,
    inventory_item_id,
    transaction_quantity,
    transaction_uom,
    transaction_date,
    transaction_type_id,
    transaction_action_id,
    transaction_source_type_id,
    distribution_account_id,
    transaction_interface_id,
    subinventory_code,
    dsp_segment1,
    dsp_segment2,
    dsp_segment3,
    dsp_segment4,
    dsp_segment5)
    values
    (
    'KM',
    1,
    1,
    1,
    2,
    3,
    SYSDATE,
    999,
    SYSDATE,
    999,
    207,
    262810,
    15,
    'Ea',
    SYSDATE,
    40,
    27,
    3,
    17347,
    116,
    'FGI',
    '01',
    '580',
    '7740',
    '0000',
    '000');

    COMMIT;

    Scenario: 15: WIP Assembly Return (No Lot/Serial)

    WIP assembly return transaction open interface for an item that is neither Lot or Serial controlled.

    We have defined an assembly WAKEBOARD and we have assigned the item to M1 Seattle Manufacturing organization. The assembly has components L BOOT and R BOOT.

    1) Below is the SQL statement to check organization id for organization M1 .

    select organization_code,organization_id from org_organization_definitions
    where organization_code = 'M1';


    ORG ORGANIZATION_ID
    --- ---------------
    M1 207


    2) Below is the SQL statement to check the inventory_item_id for out item PISTON7 .

    select inventory_item_id , segment1 , organization_id from mtl_system_items_b
    where segment1 = 'WAKEBOARD'
    and organization_id = 207;



    INVENTORY_ITEM_ID SEGMENT ORGANIZATION_ID
    ----------------- ---------------------------------------- ---------------
    264815 WAKEBOARD 207


    3) Below is the SQL statement to find out the transaction_type_id for transaction type Account receipt.

    select transaction_type_id,transaction_type_name,description, transaction_action_id
    from mtl_transaction_types
    where transaction_type_name = 'WIP Completion Return';



    TRANSACTION_TYPE_ID TRANSACTION_TYPE_NAME DESCRIPTION TRANSACTION_ACTION_ID
    -------------------- ---------------------- -------------- ---------------------
    17 WIP Completion Return WIP Completion Return 32

    4) Below is the SQL statement to find out the transaction_source_id. For a WIP Issue the transaction_source_id is the wip_entity value. Choose the highest value (most current WIP job):

    select wip_entity_id from wip_entities
    where primary_item_id like '264815';



    wip_entity
    ---------------
    730992

    insert into mtl_transactions_interface
    (source_code,
    source_header_id,
    source_line_id,
    process_flag,
    lock_flag,
    transaction_mode,
    last_update_date,
    last_updated_by,
    creation_date,
    created_by,
    organization_id,
    inventory_item_id,
    transaction_quantity,
    transaction_uom,
    transaction_date,
    transaction_type_id,
    transaction_action_id,
    transaction_source_type_id,
    distribution_account_id,
    transaction_interface_id,
    subinventory_code,
    dsp_segment1,
    dsp_segment2,
    dsp_segment3,
    dsp_segment4,
    dsp_segment5 ,
    transaction_source_id,
    wip_entity_type,
    operation_seq_num)
    values (
    'CM',
    1,
    1,
    1,
    2,
    3,
    SYSDATE,
    999,
    SYSDATE,
    999,
    207,
    264816,
    5,
    'Ea',
    SYSDATE,
    43,
    27,
    5,
    17347,
    134,
    'FGI',
    '01',
    '580',
    '7740',
    '0000',
    '000',
    730992,
    1,
    10 );

    COMMIT;

    Scenario: 16: WIP Component Return (No Lot/Serial)

    WIP component return transaction open interface for an item that is neither Lot or Serial controlled.

    We have defined an assembly WAKEBOARD and we have assigned the item to M1 Seattle Manufacturing organization. The assembly has components L BOOT and R BOOT.

    1) Below is the SQL statement to get the organization id for organization M1:

    select organization_code,organization_id from org_organization_definitions
    where organization_code = 'M1';


    ORG ORGANIZATION_ID
    --- ---------------
    M1 207


    2) Below is the SQL statement to check the inventory_item_id for out item PISTON7:

    select inventory_item_id , segment1 , organization_id from mtl_system_items_b
    where segment1 = 'L BOOT'
    and organization_id = 207;



    INVENTORY_ITEM_ID SEGMENT ORGANIZATION_ID
    ----------------- ---------------------------------------- ---------------
    264816 L BOOT 207


    3) Below is the SQL statement to find out the transaction_type_id for transaction type Account receipt:

    select transaction_type_id,transaction_type_name,description, transaction_action_id
    from mtl_transaction_types
    where transaction_type_name = 'WIP Issue';


    TRANSACTION_TYPE_ID TRANSACTION_TYPE_NAME DESCRIPTION TRANSACTION_ACTION_ID
    -------------------- ---------------------- -------------- ---------------------
    43 WIP Return WIP Return 27

    4) Below is the SQL statement to find out the transaction_source_id. For a WIP Issue the transaction_source_id is the wip_entity value. Choose the highest value (most current WIP job).

    select wip_entity_id from wip_entities
    where primary_item_id like '264816';



    wip_entity
    ---------------
    730988

    insert into mtl_transactions_interface
    (source_code,
    source_header_id,
    source_line_id,
    process_flag,
    lock_flag,
    transaction_mode,
    last_update_date,
    last_updated_by,
    creation_date,
    created_by,
    organization_id,
    inventory_item_id,
    transaction_quantity,
    transaction_uom,
    transaction_date,
    transaction_type_id,
    transaction_action_id,
    transaction_source_type_id,
    distribution_account_id,
    transaction_interface_id,
    subinventory_code,
    dsp_segment1,
    dsp_segment2,
    dsp_segment3,
    dsp_segment4,
    dsp_segment5 ,
    transaction_source_id,
    wip_entity_type,
    operation_seq_num)
    values (
    'CM',
    1,
    1,
    1,
    2,
    3,
    SYSDATE,
    999,
    SYSDATE,
    999,
    207,
    264816,
    5,
    'Ea',
    SYSDATE,
    43,
    27,
    5,
    17347,
    134,
    'FGI',
    '01',
    '580',
    '7740',
    '0000',
    '000',
    730988,
    1 ,
    10 );

    COMMIT;

    Scenario: 17: WIP Assembly Completion (No Lot/Serial)

    WIP assembly completion transaction open interface for an item that is neither Lot or Serial controlled.

    We have defined an assembly WAKEBOARD and we have assigned the item to M1 Seattle Manufacturing organization. The assembly has components L BOOT and R BOOT.

    1) Below is the sql to check organization id for organization M1:

    select organization_code,organization_id from org_organization_definitions
    where organization_code = 'M1';


    ORG ORGANIZATION_ID
    --- ---------------
    M1 207


    2) Below is the SQL statement to check the inventory_item_id for out item PISTON7 .

    select inventory_item_id , segment1 , organization_id from mtl_system_items_b
    where segment1 = 'WAKEBOARD'
    and organization_id = 207;


    INVENTORY_ITEM_ID SEGMENT ORGANIZATION_ID
    ----------------- ---------------------------------------- ---------------
    264815 WAKEBOARD 207


    3) Below is the SQL statement to find out the transaction_type_id for transaction type Account receipt:

    select transaction_type_id,transaction_type_name,description, transaction_action_id
    from mtl_transaction_types
    where transaction_type_name = 'WIP Completion';



    TRANSACTION_TYPE_ID TRANSACTION_TYPE_NAME DESCRIPTION TRANSACTION_ACTION_ID
    -------------------- ---------------------- -------------- ---------------------
    44 WIP Completion WIP Completion 31

    4) Below is the SQL statement to find out the transaction_source_id. For a WIP Issue the transaction_source_id is the wip_entity value. Choose the highest value (most current WIP job).

    select wip_entity_id from wip_entities
    where primary_item_id like '264816';


    wip_entity
    ---------------
    730991

    insert into mtl_transactions_interface
    (source_code,
    source_header_id,
    source_line_id,
    process_flag,
    lock_flag,
    transaction_mode,
    last_update_date,
    last_updated_by,
    creation_date,
    created_by,
    organization_id,
    inventory_item_id,
    transaction_quantity,
    transaction_uom,
    transaction_date,
    transaction_type_id,
    transaction_action_id,
    transaction_source_type_id,
    distribution_account_id,
    transaction_interface_id,
    subinventory_code,
    dsp_segment1,
    dsp_segment2,
    dsp_segment3,
    dsp_segment4,
    dsp_segment5 ,
    transaction_source_id,
    wip_entity_type,
    operation_seq_num,
    final_completion_flag)
    values (
    'CM',
    1,
    1,
    1,
    2,
    3,
    SYSDATE,
    999,
    SYSDATE,
    999,
    207,
    264815,
    5,
    'Ea',
    SYSDATE,
    44,
    31,
    5,
    17347,
    134,
    'FGI',
    '01',
    '580',
    '7740',
    '0000',
    '000',
    730991,
    1 ,
    10,
    'N' );

    COMMIT;

    Scenario: 18: WIP Component Issue

    WIP component issue transaction open interface for an item that is neither Lot or Serial controlled.

    We have defined an assembly WAKEBOARD and we have assigned the item to M1 Seattle Manufacturing organization. The assembly has components L BOOT and R BOOT.

    1) Below is the sql to check organization id for organization M1:

    select organization_code,organization_id from org_organization_definitions
    where organization_code = 'M1';


    ORG ORGANIZATION_ID
    --- ---------------
    M1 207


    2) Below is the SQL statement  to check the inventory_item_id for out item PISTON7:

    select inventory_item_id , segment1 , organization_id from mtl_system_items_b
    where segment1 = 'L BOOT'
    and organization_id = 207;



    INVENTORY_ITEM_ID SEGMENT ORGANIZATION_ID
    ----------------- ---------------------------------------- ---------------
    264816 L BOOT 207


    3) Below is the SQL statement to find out the transaction_type_id for transaction type Account receipt:

    select transaction_type_id,transaction_type_name,description, transaction_action_id
    from mtl_transaction_types
    where transaction_type_name = 'WIP Issue';



    TRANSACTION_TYPE_ID TRANSACTION_TYPE_NAME DESCRIPTION TRANSACTION_ACTION_ID
    -------------------- ---------------------- -------------- ---------------------
    35 WIP Issue WIP Issue 1

    4) Below is the SQL statement to find out the transaction_source_id. For a WIP Issue the transaction_source_id is the wip_entity value.

    select wip_entity_id from wip_entities
    where primary_item_id like '264816';


    wip_entity
    730986

    insert into mtl_transactions_interface
    (source_code,
    source_header_id,
    source_line_id,
    process_flag,
    lock_flag,
    transaction_mode,
    last_update_date,
    last_updated_by,
    creation_date,
    created_by,
    organization_id,
    inventory_item_id,
    transaction_quantity,
    transaction_uom,
    transaction_date,
    transaction_type_id,
    transaction_action_id,
    transaction_source_type_id,
    distribution_account_id,
    transaction_interface_id,
    subinventory_code,
    dsp_segment1,
    dsp_segment2,
    dsp_segment3,
    dsp_segment4,
    dsp_segment5 ,
    transaction_source_id,
    wip_entity_type,
    operation_seq_num)
    values (
    'CM',
    1,
    1,
    1,
    2,
    3,
    SYSDATE,
    999,
    SYSDATE,
    999,
    207,
    264816,
    -5,
    'Ea',
    SYSDATE,
    35,
    1,
    5,
    17347,
    133,
    'FGI',
    '01',
    '580',
    '7740',
    '0000',
    '000',
    730986,
    1 ,
    10 );

    COMMIT;

      

    Frequently Asked Questions (FAQ):

    a. How do I know what error has occurred?

    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    Ans .  The process_flag in mtl_transactions_interface will be 3. The Error_Code and Error Explanation
    columns will usually explain why the error has occurred.
    The process flag indicates whether the row has been processed by the concurrent manager.
              The process flag status codes are:

                   1 = Pending
                   2 = Running
                   3 = Error

    b. What things should I check if I am getting errors?

    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    Ans. First check if you are populating the correct values in all the fields then check if there are any mandatory  columns. Often people forget to populate the mandatory values and the transaction import fails.
    Check if the item is transactable or not by going to theorganization items screen.
    Also check for invalid objects

    Select object_name,object_type from all_objects where status = 'INVALID';


    If any invalid objects exist recompile them and retest the transactions import.

    If you are using serial numbers check the following:
    The MTL_TRANSACTIONS_INTERFACE.TRANSACTION_QUANTITY will either match
    the sum of the records in the
    MTL_SERIAL_NUMBERS_INTERFACE.TRANSACTION_INTERFACE_ID for a specific
    MTL_TRANSACTIONS_INTERFACE.TRANSACTION_INTERFACE_ID, or the 
    FM_SERIAL_NUMBER and TO_SERIAL_NUMBER will have the number range to match the MTL_TRANSACTIONS_INTERFACE.TRANSACTION_QUANTITY for a particular record.

    If you are using Lot numbers check the following:
    Check to ensure that for a specific
    MTL_TRANSACTIONS_INTERFACE.TRANSACTION_INTERFACE_ID there is a corresponding record in the MTL_TRANSACTION_LOTS_INTERFACE table with a matching MTL_TRANSACTION_LOTS_INTERFACE.TRANSACTION_INTERFACE_ID.

    c. How do I resubmit the errored transactions?

    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

    1. Resubmission through the Application
     
    Navigation Inventory:Transactions >Transaction Open Interface
    Click in the check box under the "Submit" column then Save

    2. Resubmission through SQL*Plus:

    Update MTL_TRANSACTIONS_INTERFACE
        Set     PROCESS_FLAG = 1,
                LOCK_FLAG = 2,
                TRANSACTION_MODE = 3,
                VALIDATION_REQUIRED = 1,
                ERROR_CODE = NULL,
                ERROR_EXPLANATION = NULL
        Where   PROCESS_FLAG IN (1,3);

    d. How to dig into errors more (Debug)?

    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    Below are some documents that support requires when a customer creates a service request for MTI
    related issues.

    A.Getting log files that give more details to where the error is happening.

    1.Please enable inventory debug as per Note.148651.1. The details follow for your convenience:
      To generate a log file, set profile values for the user performing the transaction.
      a) These directories must be write enabled by the DBA;

      SELECT value
      FROM v$PARAMETER
      WHERE name = 'utl_file_dir';


      b) Set the following profile values

      INV: Debug Trace = YES
      INV: Debug File = [directory value from above query]/logfilename.log  (make sure that you have write permission for this file and directory)
      INV: Debug Level = 11


     
    2. Go to System administration > Concurrent > Program > define.
       Query on short name 'INCTCM' or program name 'Process transaction interface'.
       Check enable trace and save.

    3. Go to System administration > Concurrent > Program > define.
       Query on short name 'INCTCW' or program name 'Inventory transaction worker'.
       Check enable trace and save.

    4. Run the inventory worker.

    5. Provide the resulting worker log and inventory debug IF ONE IS CREATED.

    B. Collecting organization information.
    See Note:190893.1 Oracle Inventory Support Service Request Instrumentation for Organization Setup - for inventory (INVCt115h.sql)

    C. Collecting Item information.
    See Note: 223702.1 Oracle Inventory Item Setup Data Collection Tool - for the related item
    (INVItemCt115h.sql )

    D. See Note: 209928.1 (INVMTI115h.sql). This assists in diagnosing and resolving pending transactions in Release 11i from the MTL_TRANSACTIONS_INTERFACE table which could prevent further processing of Inventory records. Identifies records that are in error or have failed validation and provides some solutions.

    E. See Note: 204577.1 (INVMMTT115h.sql). This assists in diagnosing and resolving pending transactions in Release 11i from the MTL_MATERIAL_TRANSACTIONS_TEMP

    F. Provide file versions for the following files
    All errors will require the transaction manager file versions. 
    To get these versions, please run the following query:

    IN SQL:
    set serveroutput on;
    execute
    fnd_aolj_util.getClassVersionfromDB('oracle.apps.inv.transaction.server.BaseTransaction');
    execute
    fnd_aolj_util.getClassVersionfromDB('oracle.apps.inv.transaction.server.QtyManager');
    execute
    fnd_aolj_util.getClassVersionfromDB('oracle.apps.inv.transaction.server.LotTrxManager');
    execute
    fnd_aolj_util.getClassVersionfromDB('oracle.apps.inv.transaction.server.SerTrxManager');
    execute
    fnd_aolj_util.getclassversionfromdb('oracle.apps.inv.keyentities.SerialNumber');

    IN UNIX:
    $ strings -a $AU_TOP/resource/INVSLENT.pll |grep '$Header'
    $ strings -a $INV_TOP/bin/INVLIBR |grep inltis.ppc
    $ strings -a $INV_TOP/bin/INVLIBR |grep inlmsn.ppc
    $ strings -a $INV_TOP/lib/libinv.a |grep inumer.ppc
    $ strings -a $INV_TOP/lib/libinv.a |grep inutsu.ppc


    INVTXMGB.pls
    INVTXGGB.pls
    TrxProcessor.java
    BaseTransaction.java
    inltev.ppc
    inctcm.ppc
    INVTXMGB.pls
    INVTXMGS.pls
    SerialNumber.java
    SerTrxManager.java
    $AU_TOP/resource/INVSLENT.pll
    inltis.ppc inumer.ppc inutsu.ppc inlmsn.ppc


    欢迎转载,但请注明出处!
  • 相关阅读:
    网上订火车票,用chrome和firefox才是王道
    SYNOPSYS VCS常用命令使用详解
    archlinux failed retrieving file 'xxx'解决办法
    JQuery实现点击TreeView文本展开/折叠子节点
    解决VS2010下HTML5的无法智能提示的问题
    Win7 计算机右键“管理”失效
    virtualbox下安装archlinux
    Linux下修改(NTFS)磁盘(卷标)显示名称
    Win7下使用VMWare安装Archlinux
    1.XMLHttpRequest:
  • 原文地址:https://www.cnblogs.com/kevinsun/p/2663080.html
Copyright © 2011-2022 走看看