During the course of supplier invoice processing in Oracle eBusiness Suite, it may be necessary to release invoice holds programmatically, to render invoices eligible for payment. The packaged procedure
ap_holds_pkg.release_single_hold
…can be used for this purpose.
For example:
ap_holds_pkg.release_single_hold (x_invoice_id => p_invoice_id ,x_hold_lookup_code => v_hold_lookup_code ,x_release_lookup_code => v_release_lookup_code ,x_held_by => NULL --,x_calling_sequence => v_calling_sequence );
However, this can lead to create-accounting issues, as it appears that the method results in incomplete invoice accounting events in the Sub-Ledger Accounting (SLA) tables. This can be remedied by calling another seeded procedure after releasing holds, to effectively refresh the accounting events:
ap_accounting_events_pkg.update_invoice_events_status
For example:
ap_accounting_events_pkg.update_invoice_events_status (p_invoice_id => p_invoice_id ,p_calling_sequence => v_calling_sequence );