I am creating a multiple line sales order from Idoc and using the FM IDOC_INPUT_ORDERS. The idoc is processed with status 51 with error message RV45A-VBAP_SELKZ (2) is not input field.
It only happens for Idocs that are processed 1st time (re-processing is succesfull) and only in the background (if processed first time in foreground - it is ok).
Have you ever seen this message?
from FM IDOC_INPUT_ORDERS sap calls VA01 directly using call transaction statement. And as u know in foreground and in background screen flows can be different for same transaction...that's why in foreground it is working but not in background. So to identify ur prob. run VA01 from SHDB in background mode. It will show u the error location.
Thanks for an idea of creating a BDC from bdcdata before calling VA01 from an IDoc. I could analyze it and to correct an error I added some code in the user exit ZXVEDU04. I simply replaced all concurrencies of RV45A-VBAP_SELKZ (2) with RV45A-VBAP_SELKZ (1) and it worked:
* MW Replace RV45A-VBAP_SELKZ(2) with RV45A-VBAP_SELKZ(1)
move dxvbak to i_dxvbak.
if i_dxvbak-bsark = 'WINT' and dxbdcdata-fval eq 'SICH'.
dxbdcdata-fnam = 'RV45A-VBAP_SELKZ(1)'.
modify dxbdcdata transporting fnam
where fnam = 'RV45A-VBAP_SELKZ(2)'.
This is called only once when dxbdcdata-fval = 'SICH'.
Hope it helps.
I am also facing similar problem with idoc_input_ordchg .I found that if i select foreground after error i get a pop up when i interact with this pop up my sales order gets successfully updated. But in background i hope since interaction with this pop up is not possible so i am getting the above error. Since you also faced the same problem can you please tell me how did you solve this problem.....
I was having same issue for ORDERS05 inbound idoc to create standard sales order, including BOM item... According to scenario, customer sends only main items to me and I generate subitems through BOM master data. But when I try to create order, it failed as RV45A-VBAP_SELKZ (2) bla bla bla.. I debugged and realized that standard IDOC ORDERS05 calls transaction VA01 and during batch input session, the cursor positions in wrong field and it gives message.. Implemented OSS note 1264003 and voila.. It works like a charm