Receive Inventory Transaction Service
This service is in the WmOAMFG1227 package and has the following fully-qualified service name: inventory1227.intoOA.INVTransaction:receiveInvTransaction.
This service loads transactions from external applications and feeder systems into Oracle Inventory. These transactions can include:
Inventory issues and receipts (including user-defined transaction types).
Subinventory transfers.
Direct inter-organization transfers.
Intransit shipments.
WIP component issues and returns.
Sales orders shipments.
Inventory average cost updates.
Material transactions are processed by the Inventory Transaction Manager, which spawns transaction workers depending on the load. Normally, this is run asynchronously. For this transaction, one transaction worker will be spawned to process the records in the interface table. Because the Inventory Transaction Manager runs asynchronously, it will not pick up these records.
Database Scripts
This service uses the following database scripts:
Script | Description |
wm_install_into_invtxn.sql | Runs the scripts listed below, except the uninstall script. |
wm_into_invtxn_pkg.sql | Installs WM_INV_TXN_IMP_HANDLER_PKG.WM_HANDLE_INV_TXN, which calls the WM_CONC_REQUEST.WM_REQUEST_SUBMIT procedure to submit the Inventory Open Transaction Import process. The process in the Inventory Module is Material Transaction. |
wm_into_invtxn_seq.sql | Creates the following components: WM_MTL_TRANSACTION_HEADER_S, which creates the TRANSACTION_HEADER_ID sequence WM_SERIAL_TRANSACTION_TEMP_S, which create the SERIAL_TRANSACTION_TEMP_ID sequence WM_MATERIAL_TRANSACTION_S, which creates the TRANSACTION_INTERFACE_ID sequence |
wm_drop_into_invtxn.sql | Uninstalls all components created by wm_install_into_invtxn.sql. |
For more information about using database scripts, see
Database Scripts.
Supporting Transaction Definitions
This service was built from the configured services defined in the following transaction definitions:
setInvTransactionTxn1227.txp
InvTransactionTxn1227.txp
For information about using the transaction definition files to customize this service, see
Transaction Definitions.
Flow Control
This service uses the following flow steps to import inventory transactions:
specifyDefaultSettings specifies the default parameter settings required for service execution. You should change these settings accordingly.
specifyConcProgParams specifies the default parameter settings required for concurrent program execution. You should change these settings accordingly.
bizDocMapping maps the incoming business document structure to the required Oracle Applications data structures (the interface tables).
getInventoryItemId is a transformer for mapping the business document
IData structure to the interface table
IData structure. It takes
ITEM_CODE and
ORGANIZATION_NAME as the input parameter, and queries the table MTL_SYSTEM_ITEMS_B_KFV and HR_ALL_ORGANIZATIONS_UNITS to get the INVENTORY_ITEM_ID corresponding to the input parameters.
getLocatorId is a transformer for mapping the business document
IData structure to the interface table
IData structure. It takes
LOCATOR and
ORGANIZATION_NAME as the input parameter, and queries the view MTL_ITEM_LOCATIONS_KFV and the table ORG_ORGANIZATION_DEFINITIONS to get the INVENTORY_LOCATION_ID corresponding to the
LOCATOR and
ORGANIZATION_NAME.
getSourceId is a transformer for mapping the business document
IData structure to the interface table
IData structure. Transaction source ID can be generated from one of the input parameters. This service takes all the parameters and calls the appropriate service to return source_id.
getDispositionId is a transformer for mapping the business document
IData structure to the interface table
IData structure. It takes
ACCOUNT_ALIAS as the input parameter, and queries the table MTL_GENERIC_DISPOSITIONS to get the DISPOSITION_ID corresponding to the alias.
getSalesOrderHeaderId is a transformer for mapping the business document
IData structure to the interface table
IData structure. It takes
SALES_ORDER as the input parameter, and queries the table OE_ORDER_HEADERS_ALL to get the HEADER_ID corresponding to the SALES_ORDER.
getTransactionTypeId is a transformer for mapping the business document
IData structure to the interface table
IData structure. It takes
TRANSACTION_TYPE_NAME as the input parameter, and queries the table MTL_TRANSACTION_TYPES to get the TRANSACTION_TYPE_ID, TRANSACTION_ACTION_ID, and TRANSACTION_SOURCE_TYPE_ID corresponding to the TRANSACTION_TYPE_NAME.
getReasonId is a transformer for mapping the business document
IData structure to the interface table
IData structure. It takes
REASON_NAME as the input parameter, and queries the table MTL_TRANSACTION_REASONS to get the REASON_ID corresponding to the REASON_NAME.
getRequisitionLineId is a transformer for mapping the business document
IData structure to the interface table
IData structure. It takes
PO_REQUISITION_LINE_NUMBER as the input parameter, and queries the tables PO_REQUISITION_HEADERS_ALL and PO_REQUISITION_LINES_ALL to get the REQUISITION_LINE_ID corresponding to the PO_REQUISITION_LINE_NUMBER.
getEntityTypeValue is a transformer that converts the entity type text to a corresponding value.
getSubstitutionIdValue converts the incoming substitution ID string to an Oracle Applications understandable value.
getCostGroupId2 is a transformer for mapping the business document
IData structure to the interface table
IData structure. It takes
COST_GROUP as the input parameter, and queries the table CST_COST_GROUPS to get the COST_GROUP_ID.
getWIPEntityId is a transformer for mapping the business document that takes the
WIP_ENTITY_NAME and
ORGANIZATION_NAME as input, and returns WIP_ENTITY_ID by querying the WIP_ENTITIES table.
getSerialTempId is a transformer for mapping the business document
IData structure to the interface table
IData structure. It takes a record list containing records of serial controlled inventory. If the item is both lot-controlled and serial- controlled, then it selects only the sequence number.
setInvTransactionTxn inserts data into the interface table.
importInvTransaction imports data to the production table from the interface table. It calls the services
execInvTransactionConcProg,
checkInvTransactionImportStatus, and
getInvTransactionImport_ERR to execute the corresponding concurrent program that inserts data into the production table and generates the error/acknowledgement message. If the status of the execution is SUCCESS (returned by the service
execInvTransactionConcProg), it checks for records in the interface table. If records are found, it then indicates an error during import. In this case, this service calls
getInvTransactionImport_ERR to retrieve the errors. If no records are found, it comes out of the flow, indicating success of the data import process. If the status of the execution is FAILED, it comes out of execution.
execInvTransactionConcProg invokes the stored procedure WM_INV_TXN_IMP_HANDLER_PKG.WM_HANDLE_INV_TXN. The procedure calls the corresponding concurrent subroutine to execute the data import process for Inventory Open Transactions into Oracle Applications. This service returns Status ID, Request ID, Execution Status Message (for normal concurrent program completion), and database error message (if an exception occurs in the Stored Procedure execution).
checkInvTransactionImportStatus checks the status of the execution by checking the Interface Table for any rejected record corresponding to the current TRANSACTION_HEADER_ID. If the query does not return any rows, it indicates a successful import. If the query returns any row, it indicates that the concurrent program could not import data successfully in the production tables of Oracle Applications.
getInvTransactionImport_ERR gets the error message that occurs during the data import to the production table from interface table. Based on the parameter TRANSACTION_HEADER_ID, it scans the table MTL_TRANSACTIONS_INTERFACE to get the corresponding message.
Business Document Structure
This service uses the business document InvTransactionBizDoc. Its structure is as follows:
1.0. MTL_TRANSACTIONS
1.1. CST_COMP_SNAP
1.2. MTL_SERIAL_NUMBERS
1.3. MTL_TRANSACTION_LOTS
1.3.1. MTL_SERIAL_NUMBERS
Use the appropriate business document structures for items as follows:
For items that are: | Use this document structure: |
Serial-controlled | MTL_TRANSACTIONS and MTL_SERIAL_NUMBERS |
Lot-controlled | MTL_TRANSACTIONS and MTL_TRANSACTION_LOTS |
Serial-controlled and lot-controlled | MTL_TRANSACTIONS, MTL_SERIAL_NUMBERS, and MTL_TRANSACTION_LOTS |
Neither serial number-controlled nor lot-controlled | MTL_TRANSACTIONS |
The total number of records in the Material Serial Numbers/Material Lot Numbers must match the corresponding header transaction quantity for serial-controlled items. The total number of records in Material Serial Numbers must match the Material Lot Numbers transaction quantity if the item is both serial-controlled and lot-controlled. The business document structure CST_COMP_SNAP must be populated in case an average cost update is to be done.
1.0. MTL_TRANSACTIONS (Maps to MTL_TRANSACTIONS_INTERFACE)
Field Name | Maps to Column | Description |
SOURCE_CODE | SOURCE_CODE | Required. Identifies the external system. |
SOURCE_LINE_ID | SOURCE_ LINE_ID | Required. External System Reference to line. |
SOURCE_HEADER_ID | SOURCE_ HEADER_ID | Required. External System Reference to header. |
INVENTORY_ITEM | INVENTORY_ ITEM_ID | Derives the Inventory Item ID from the MTK_SYSTEM_ITEMS_B_KFV table. |
REVISION | REVISION | Revision number if under revision control. |
ORGANIZATION_NAME | ORGANIZATION_ ID | Required. Derived using ORG_ORGANIZATION_ DEFINITIONS table. |
SET_OF_BOOKS_NAME | | |
SUBINVENTORY_CODE | SUBINVENTORY_ CODE | Subinventory code for the item and all transaction types except cost update. |
LOCATOR | LOCATOR_ID | Derived from the MTK_ITEM_ LOCATIONS_KFV table. To be provided if item under locator control. |
TRANSACTION_ QUANTITY | TRANSACTION_ QUANTITY | Required. |
TRANSACTION_UOM | TRANSACTION_ UOM | Required. |
TRANSACTION_DATE | TRANSACTION_ DATE | Required. |
TRANSACTION_ SOURCE_NAME | TRANSACTION_ SOURCE_NAME | User defined source name. |
TRANSACTION_ TYPE_NAME | TRANSACTION_ TYPE_ID TRANSACTION_ SOURCE_ID | Derived from the MTL_TRANSACTION_ TYPES table. |
ACCOUNT | | Required for an account type of transaction. COMBINATION_ID is derived using GL_CODE_ COBMINATIONS_KFV. |
ACCOUNT_ALIAS | | Required for account alias transactions. DISPOSITION_ID is derived using the MTL_GENERIC_ DISPOSITIONS table. |
JOB | | Required only for WIP and Schedule transactions. WIP_ENTITY_ID is derived using WIP_ENTITIES table. |
SALES_ORDER | | Required for Sales Order Transactions. Key flexfield segments provided. HEADER_ID is derived from the OE_ORDER_ HEADERS_ALL table. |
REASON | REASON_ID | Derived from MTL_TRANSACTION_ REASONS. |
PO_REQUISITION_ NUMBER | REQUISITION_ LINE_ID | Derived from the PO_REQUISITION_ HEADERS_ALL and PO_REQUISITION_ LINES_ALL tables. |
PO_REQUISITION_ LINE_NUMBER | | |
TRANSACTION_REFERENCE | TRANSACTION_ REFERENCE | |
TRANSACTION_COST | TRANSACTION_ COST | Cost to be used for inventory issues. If left blank, the cost in the system is used. |
DISTRIBUTION_ ACCOUNT_CODE | DISTRIBUTION_ ACCOUNT_ID | Required in case of inventory issues and receipts of an asset item and for sales order shipment transactions. |
CURRENCY_CODE | CURRENCY_ CODE | Required if transaction cost is in a different currency than the set of books currency. |
CURRENCY_CONVERSION_ TYPE | CURRENCY_ CONVERSION_ TYPE | |
CURRENCY_CONVERSION_ RATE | CURRENCY_ CONVERSION_ RATE | |
CURRENCY_CONVERSION_ DATE | CURRENCY_ CONVERSION_ DATE | |
USSGL_TRANSCTION_CODE | USSGL_ TRANSACTION_ CODE | United States GL Code. |
ENCUMBRANCE_ ACCOUNT | ENCUMBRANCE_ ACCOUNT | Derived from GL_CODE_ COMBINATIONS_KFV. |
ENCUMBRANCE_ AMOUNT | ENCUMBRANCE_ AMOUNT | |
VENDOR_LOT_NUMBER | VENDOR_LOT_ NUMBER | Cross Reference Supplier Lot Number. |
TRANSFER_SUBINVENTORY | TRANSFER_ SUBINVENTORY | Required for subinventory transfers. |
TRANSFER_ORGANIZATION_ NAME | TRANSFER_ ORGANIZATION | Derives the ORGANIZATION_ID using the organization name. |
TRANSFER_LOCATOR_ SEGMENTED | TRANSFER_ LOCATOR | Destination Locator Internal ID derived from MTL_ITEM_ LOCATIONS_KFV. |
SHIPMENT_NUMBER | SHIPMENT_ NUMBER | Shipment Number. Required for in-transit shipments. |
TRANSPORTATION_COST | TRANSPORTATION_ COST | |
TRANSPORTATION_ ACCOUNT_CODE | TRANSPORTTAION_ ACCOUNT | Derives CODE_COMBINATION_ID from GL_CODE_ COMBINATIONS_KFV. |
TRANSFER_COST | TRANSFER_COST | |
FREIGHT_CODE | FREIGHT_CODE | |
CONTAINERS | CONTAINERS | Number of containers. |
WAYBILL_AIRBILL | WAYBILL_AIRBILL | |
EXPECTED_ARRIVAL_DATE | EXPECTED_ ARRIVAL_DATE | Has no timestamp. |
NEW_AVERAGE_COST | NEW_AVERAGE_COST | Required for average cost transactions. |
VALUE_CHANGE | VALUE_CHANGE | Required for average cost transactions. |
PERCENTAGE_CHANGE | PERCENTAGE_ CHANGE | Required for average cost transactions. |
WIP_ENTITY_TYPE | WIP_ENTITY_TYPE | Required for WIP component issues and returns. Use: 1 for Standard discrete jobs. 2 for Repetitive schedules. 3 for Non-standard discrete jobs. 4 for Work order less schedule. |
SCHEDULE_NUMBER | SCHEDULE_NUMBER | Schedule number. |
OPERATION_SEQ_NO | OPERATION_ SEQ_NUM | Required for WIP component issues and returns with routings. For WIP routings, values should be 1. |
SHIPPABLE_FLAG | SHIPPABLE_FLAG | |
BOM_REVISION | BOM_REVISION | |
ROUTING_REVISION | ROUTING_REVISION | |
BOM_REVISION_DATE | BOM_REVISION_DATE | |
ROUTING_REVISION_DATE | ROUTING_REVISION_ DATE | |
ALTERNATE_BOM_ DESIGNATOR | ALTERNATE_BOM_ DESIGNATOR | |
ALTERNATE_ROUTING_ DESIGNATOR | ALTERNATE_ ROUTING_ DESIGNATOR | |
ACCOUNTING_CLASS | ACCOUNTING_ CLASS | Accounting class to be used for the flow schedule. |
DEMAND_CLASS | DEMAND_CLASS | The class to which demand is tied. |
SUBSTITUTION_ID | SUBSTITUTION_ID | Use: 1 for Change. 2 for Delete. 3 for Add. 4 for Lot/Serial number information for items. |
SUBSTITUTION_ITEM | SUBSTITUTION_ ITEM_ID | Derived from MTL_SYSTEM_ITEMS_ B_KFV. |
SCHEDULED_FLAG | SCHEDULED_FLAG | |
SCHEDULE_GROUP | SCHEDULE_GROUP | |
REPETITIVE_LINE_ID | REPETITIVE_LINE_ID | |
PICKING_LINE_ID | PICKING_LINE_ID | |
CUSTOMER_SHIP_ID | CUSTOMER_SHIP_ID | |
FLOW_SCHEDULE | FLOW_SCHEDULE | |
COST_GROUP_NAME | COST_GROUP_ID | |
1.1. CST_COMP_SNAP (Maps to CST_COMP_SNAP_INTERFACE)
Field Name | Maps to Column | Description |
WIP_ENTITY_NAME | WIP_ENTITY_ID | Required. Derived WIP_ENTITY_ID from WIP_ENTITIES. |
OPERATION_SEQ_ NUM | OPERATION_SEQ_ NUMBER | Required. WIP operation sequence information. |
QUANTITY_ COMPLETED | QUANTITY_ COMPLETED | Required. |
1.2. MTL_SERIAL_NUMBERS (Maps to MTL_SERIAL_NUMBERS_INTERFACE)
Field Name | Maps to Column | Description |
SOURCE_CODE | SOURCE_CODE | Required. User Defined Source Identifier. |
SOURCE_LINE_ID | SOURCE_LINE_ID | External line identifier. |
VENDOR_SERIAL_ NUMBER | VENDOR_SERIAL_ NUMBER | References vendor information. |
FM_SERIAL_NUMBER | FM_SERIAL_NUMBER | Required. Starting serial number in the range. If only the FM_SERIAL_NUMBER is entered, the transaction processor assumes that only one transaction is being processed. |
TO_SERIAL_NUMBER | TO_SERIAL_NUMBER | Required. End serial number to specify a range. |
1.3. MTL_TRANSACTION_LOTS (Maps to MTL_TRANSACTION_LOTS_INTERFACE)
Field Name | Maps to Column | Description |
SOURCE_CODE | SOURCE_CODE | User-defined source identifier. |
SOURCE_LINE_ID | SOURCE_LINE_ID | User-defined line ID to identify external system. |
LOT_NUMBER | LOT_NUMBER | Required. Lot number being processed. |
LOT_EXPIRATION_DATE | LOT_EXPIRATION_DATE | Required if the item is under lot expiration control. |
TRANSACTION_ QUANTITY | TRANSACTION_ QUANTITY | Required. Quantity being processed. |
VENDOR_SERIAL_NUMBER | VENDOR_SERIAL_NUMBER | References vendor information. |
1.3.1. MTL_SERIAL_NUMBERS (MTL_SERIAL_NUMBERS_INTERFACE)
Field Name | Maps to Column | Description |
SOURCE_CODE | SOURCE_CODE | Required. User-defined source identifier. |
SOURCE_LINE_ID | SOURCE_LINE_ID | External line identifier. |
VENDOR_SERIAL_ NUMBER | VENDOR_SERIAL_ NUMBER | References vendor information. |
FM_SERIAL_NUMBER | FM_SERIAL_NUMBER | Required. Starting serial number in the range. If only the FM_SERIAL_NUMBER is entered, the transaction processor assumes that only one transaction is being processed. |
TO_SERIAL_NUMBER | TO_SERIAL_NUMBER | Required. End serial number to specify a range. |