‎2010 Nov 02 5:53 PM
Hi all.
I have a customized program which generate PO from text file by using BAPI_PO_CREATE1. I've uploaded more than thousand items and everything's fine.
There're some items which cannot be created BUT bapi returns PO number and also sends error message to Workplace Inbox. The following are error messages which sent to Inbox:
Error info... ABAP/4 processor: BCD_FIELD_OVERFLOW
and
Error info... ABAP/4 processor: COMPUTE_FIELD_OVERFLOW
I'm really curios about this. BAPI returns PO number and success message but at the time I check PO on ME23N, there's no PO exists.
I've debugged customized program and the system sends error message to Inbox AFTER program has finished BAPI. Yes, I check BAPI return table and it returns PO number as well.
Please help me on this.
Cheers,
Peerasit
‎2010 Nov 02 7:10 PM
You might want to familiarize yourself with the [SAP update concept|http://help.sap.com/saphelp_nw70ehp1/helpdata/en/41/7af4cba79e11d1950f0000e82de14a/frameset.htm]. Usually updates are done separately in an update process (via [call function .. in update task|http://help.sap.com/abapdocu_70/en/ABAPCALL_FUNCTION_UPDATE.htm]). In your case I'd suspect the PO is created via function module ME_CREATE_DOCUMENT in an update task.
As the update processing is decoupled from the processing of the code that triggered it (i.e. BAPI_PO_CREATE1 in your case), any problems that occur during update processing are not reported back in the triggering code. Instead you get an update termination (which you can see in transaction SM13) and probably a short dump (which you can see in transaction ST22). Due to the decoupling of the processing, SAP automatically sends update terminations to the inbox of the corresponding user (along with an immediate popup if it happens in a dialog as otherwise the user would assume that everything is fine and not even know that a problem occurred).
So you need to analyze the short dump and check where that number overflow happens. Once you know the place, you should know which number(s) are causing the problem and how to fix it. It should probably be invalid data, some poorly coded enhancement or a bug in SAP code.
‎2010 Nov 02 7:10 PM
You might want to familiarize yourself with the [SAP update concept|http://help.sap.com/saphelp_nw70ehp1/helpdata/en/41/7af4cba79e11d1950f0000e82de14a/frameset.htm]. Usually updates are done separately in an update process (via [call function .. in update task|http://help.sap.com/abapdocu_70/en/ABAPCALL_FUNCTION_UPDATE.htm]). In your case I'd suspect the PO is created via function module ME_CREATE_DOCUMENT in an update task.
As the update processing is decoupled from the processing of the code that triggered it (i.e. BAPI_PO_CREATE1 in your case), any problems that occur during update processing are not reported back in the triggering code. Instead you get an update termination (which you can see in transaction SM13) and probably a short dump (which you can see in transaction ST22). Due to the decoupling of the processing, SAP automatically sends update terminations to the inbox of the corresponding user (along with an immediate popup if it happens in a dialog as otherwise the user would assume that everything is fine and not even know that a problem occurred).
So you need to analyze the short dump and check where that number overflow happens. Once you know the place, you should know which number(s) are causing the problem and how to fix it. It should probably be invalid data, some poorly coded enhancement or a bug in SAP code.