Oracle Apps Adapter 6.0 | webMethods Oracle Applications Adapter Documentation | webMethods Oracle Applications Adapter 12.2.7 Predefined Transaction Services Documentation | Manufacturing Predefined Transaction Services | Receive Inventory Transaction Service
 
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.
For more details on receive transactions, see Overview of Receive Service Transaction Processing.
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.