IDOC_INPUT_ORDERS with error msg RV45A-VBAP_SELKZ (2) is not input field

[Issue]

Hi
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?

Thanks,
Magda

-----------------------------------------------------------------------------------------

[Proposal]

 

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.

Regards,
Joy.

-----------------------------------------------------------------------------------------

[Solution]

Hi Joy

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)'.
exit.
endif.

This is called only once when dxbdcdata-fval = 'SICH'.

Hope it helps.
Magda

你可能感兴趣的:(idea)