Receiving ProcessASN 856 -->
RCV_TRANSACTIONS_INTERFACE (PROCESSING_STATUS_CODE := 'PENDING'; TRANSACTION_STATUS_CODE := 'PENDING')
--> Receiving Transaction Processor
Receiving Open Interface is used for processing receipt data & ASNs.Load the receipt data into the RCV_HEADERS_INTERFACE and RCV_TRANSACTIONS_INTERFACE tables. Launch Receiving Open Interface program. The pre-processor selects unprocessed rows in the RCV_HEADERS_INTERFACE table with a PROCESSING_STATUS_CODE of ’PENDING’ and a VALIDATION_FLAG of ’Y’.
APIs in PurchasingPO_DOCUMENT_CONTROL_PUB - for the cancellation of a PO
PO_DOCUMENT_CONTROL_PUB.CONTROL_DOCUMENT
(p_api_version => 1.0
p_init_msg_list => FND_API.G_TRUE
p_commit => FND_API.G_TRUE
x_return_status OUT NOCOPY VARCHAR2,
p_doc_type => 'PO'
p_doc_subtype => 'STANDARD'
p_doc_id => po_header_id
p_doc_num => PO_HEADERS_ALL.segment1
p_release_id => null
p_release_num => null
p_doc_line_id => PO_LINES_ALL.po_line_id or null
p_doc_line_num => PO_LINES_ALL.line_num or null
p_doc_line_loc_id => PO_LINE_LOCATIONS_ALL.line_location_id or null
p_doc_shipment_num => PO_LINE_LOCATIONS_ALL.shipment_num or null
p_action => 'CANCEL'
p_action_date => sysdate
p_cancel_reason => 'cancelling'
p_cancel_reqs_flag => 'Y'
p_print_flag => NULL
p_note_to_vendor => NULL
p_use_gldate => 'P'
p_org_id => ln_org_id
);
KNOWN ISSUES:
- Issue
If during the insertion of the receipt records into the interface tables, a scheduled Receiving Transaction Processor (RTP) concurrent program is running this will cause some receipts to fail.
What happens is that the RTP will split the shipment, causing the second split to return the error of “Column Receipt_num is a mandatory field for this transaction.”
Solution
When inserting the ASN receipts records into the RCV_HEADERS_INTERFACE and RCV_TRANSACTIONS_INTERFACE tables, set the processing_status_code and transaction_status_code to PREPENDING. By setting the status to PREPENDING instead of PENDING this means regardless if the scheduled Receiving Transaction Processor is running, the records won’t be selected. Once all records are inserted, perform an update to set the values to PENDING. This way all records are processed within the one batch.