R12: AP/IBY: BUILD PROGRAM ERROR - CANNOT COMPLETE PAYMENT INSTRUCTION CREATION, in Build Payments (IBYBUILD) Step 9 Payment Instruction Creation (Doc ID 1380901.1)

Last updated on DECEMBER 08, 2016

Applies to:

Oracle Payments - Version 12.0.0 and later
Information in this document applies to any platform.

Symptoms

Certain batches fail in status Assembled Payments, with the following error messages seen in the third IBYBUILD concurrent request log file for the PPR (Payment Process Request):

BUILD PROGRAM ERROR - CANNOT COMPLETE PAYMENT INSTRUCTION CREATION

And if fnd debug logging is enabled, the following additional error message details are seen:
+------------------------------------+
|STEP 9: Payment Instruction Creation|
+------------------------------------+
IBY_PAYINSTR_PUB.createPaymentInstructions: Payment document id is mandatory for printed processing type. Insufficient data. Aborting program ..
IBY_DISBURSE_SUBMIT_PUB_PKG.submit_payment_process_request: Exception occured when  Creating payment instructions. Payment instruction creation will be aborted and no instructions will be committed for payment request 344
IBY_DISBURSE_SUBMIT_PUB_PKG.submit_payment_process_request: SQLCODE: -20001
IBY_DISBURSE_SUBMIT_PUB_PKG.submit_payment_process_request: SQLERRM: ORA-20001:

STEPS
-----------------------
The issue can be reproduced at will with the following steps:
1. Enter a new PPR for which the "When to Create Payment Instruction" option is set to "Automatically Initiate When Payment Process Request is Complete", but do not give values for Bank Account, Payment Document, or Payment Process Profile
2. Submit the PPR
3. Review the selected invoices at the Stop at PPR status Invoices Pending Review
4. When the PPR reaches status Information Required - Pending Action, populate assignments for Internal Bank Account & PPP (Payment Processing Profile, with Processing Type = Printed) on each proposed payment row
5. When the PPR reaches status Pending Proposed Payment Review, review the proposed payments
6. See that the PPR subsequently get stuck at status Assembled Payments
7. Check in the Request window, and see that the third IBYBUILD concurrent request has failed

Want to check on associated table data elements for a specific PPR that appears to have hit the problem described in this Note?
Generate the PPR Data Collector Diagnostic output for the PPR (see associated instructions in Note 732167.1).
.
1. Verify that the PPR is linked to a Payment Process Profile (PPP) for which Processing Type is set to: "Printed"
a) Find the IBY_PAYMENT_PROFILES row ("Key Columns" row, or the full-width row)
b) Check the value in column: PROCESSING_TYPE
.
2. Verify that the PPP linked to the PPR does NOT have a specified default Payment Document.
a) Find the IBY_PAYMENT_PROFILES ("Key Columns" row, or the full-width row)
b) Check for NULL in column: DEFAULT_PAYMENT_DOCUMENT_ID
.
3. Verify that the PPR was submited with option "When to Create Payment Instruction" set to "Automatically Initiate When Payment Process Request is Complete"
a) Find the row from table AP_INV_SELECTION_CRITERIA_ALL
b) Check for a 'Y' value in column CREATE_INSTRS_FLAG
--or--
c) Find the row from table IBY_PAY_SERVICE_REQUESTS ("Key Columns" row, or the full-width row)
d) Check for a 'Y' value in column CREATE_PMT_INSTRUCTIONS_FLAG
.
4. Verify whether the PPR was submitted without a PPP being specified.
a) Find the row from table AP_INV_SECTION_CRITERIA_ALL
b) Check for a NULL value in column PAYMENT_PROFILE_ID
--or--
c) Find the row from table IBY_PAY_SERVICE_REQUESTS ("Key Columns" row, or the full-width row)
d) Check for a NULL value in column PAYMENT_PROFILE_ID
.
5. Verify that the each of the proposed payments is currently linked to a PPP
a) Find the row(s) from table IBY_PAYMENTS_ALL ("Key Columns" row, or the full-width row)
b) Verify that every row has a a value in column PAYMENT_PROFILE_ID
.
6. Verify that the PPR was submitted without a disbursement Bank Account being specified.
a) Find the row from table AP_INV_SECTION_CRITERIA_ALL
b) Check for a NULL value in column BANK_ACCOUNT_ID
--or--
c) Find the row from table IBY_PAY_SERVICE_REQUESTS ("Key Columns" row, or the full-width row)
d) Check for a NULL value in column INTERNAL_BANK_ACCOUNT_ID
.
7. Verify that each of the proposed payments is currently linked to internal Bank Account
a) Find the row(s) from table IBY_PAYMENTS_ALL ("Key Columns" row, or the full-width row)
b) Verify that every row has a a value in column INTERNAL_BANK_ACCOUNT_ID

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms