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
…can be used for this purpose.
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 (p_invoice_id => p_invoice_id ,p_calling_sequence => v_calling_sequence );