In IFS Cloud 22R2, certain advance invoices need to print automatically so they can reach PostedAuth. A workflow triggered from an event action called projection CustomerOrderInvoiceHandling action CustomerOrderInvHead_PrintInvoice(NcfReference):ReportResultStruc and failed with ORA-00034: cannot ROLLBACK in current PL/SQL session and cannot SET SAVEPOINT errors in CUSTOMER_ORDER_INV_HEAD_API (lines 3139 and 2781). How can advance invoices with specific payment terms be printed or advanced automatically?
Technical details
Product: IFS Cloud 22R2. Projection: CustomerOrderInvoiceHandling. Action: CustomerOrderInvHead_PrintInvoice(NcfReference):ReportResultStruc. Errors: ORA-00034: cannot ROLLBACK in current PL/SQL session; cannot SET SAVEPOINT, raised in CUSTOMER_ORDER_INV_HEAD_API lines 3139 and 2781. Goal: only advance invoices with selected payment terms.
Any attachments are visible to signed-in members.
1 answer
0
✓ Accepted answer
Confirmed workaround: configure a report rule that prints the advance invoice when created, filtering on payment-term parameters in the report rule. Users must choose print and create rather than create alone when creating the advance invoice. Explained platform limitation (IFS employees in the thread; names omitted): the PrintInvoice path contains commits inside PL/SQL; workflows must remain atomic, so such APIs cannot be invoked from BPA. If no alternative API exists, workflow is not the right tool and customization may be required.
Prerequisites and limitations
Report-rule workaround depends on users selecting print and create. Workflow-based PrintInvoice remains unsupported while the API contains mid-transaction commits. Does not provide fully hands-off API automation without customization or process redesign.