‎2016 Mar 28 3:51 AM
Hello! sorry guys but I have the next problem in my code to make a loop. I not understand why? This is my code in my BADI PROCESS_PS_CUST
LOOP AT t_posic INTO wa_posic.
wa_posic-mandt = SY-MANDT.
wa_posic-ebeln = im_ebeln.
MOVE-CORRESPONDING t_posic to ZME21N005.
MODIFY ZME21N005.
ENDLOOP.
Error:
| Field "ZME21NXXX is unknown. It is neither in one of the specified |
‎2016 Mar 28 4:48 AM
Your code is incorrect.
MOVE-CORRESPONDING t_posic to ZME21N005. -> you should move this one to work area and not direct to custom table.
Do something like this:
DATA: wa_zmew21n005 TYPE zme21n005.
LOOP AT t_posic INTO wa_posic.
wa_posic-mandt = SY-MANDT.
wa_posic-ebeln = im_ebeln.
MOVE-CORRESPONDING wa_posic TO wa_zmew21n005.
MODIFY ZME21N005 FROM wa_zmew21n005.
ENDLOOP.
Performance wise also, it is recommended to modify custom table outside loop.
DATA: wa_zmew21n005 TYPE zme21n005,
i_zmew21n005 TYPE STANDARD TABLE OF zme21n005.
LOOP AT t_posic INTO wa_posic.
wa_posic-mandt = SY-MANDT.
wa_posic-ebeln = im_ebeln.
MOVE-CORRESPONDING wa_posic TO wa_zmew21n005.
APPEND wa_zmew21n005 TO i_zmew21n005.
ENDLOOP.
MODIFY ZME21N005 FROM TABLE i_zmew21n005.
‎2016 Mar 28 4:48 AM
Your code is incorrect.
MOVE-CORRESPONDING t_posic to ZME21N005. -> you should move this one to work area and not direct to custom table.
Do something like this:
DATA: wa_zmew21n005 TYPE zme21n005.
LOOP AT t_posic INTO wa_posic.
wa_posic-mandt = SY-MANDT.
wa_posic-ebeln = im_ebeln.
MOVE-CORRESPONDING wa_posic TO wa_zmew21n005.
MODIFY ZME21N005 FROM wa_zmew21n005.
ENDLOOP.
Performance wise also, it is recommended to modify custom table outside loop.
DATA: wa_zmew21n005 TYPE zme21n005,
i_zmew21n005 TYPE STANDARD TABLE OF zme21n005.
LOOP AT t_posic INTO wa_posic.
wa_posic-mandt = SY-MANDT.
wa_posic-ebeln = im_ebeln.
MOVE-CORRESPONDING wa_posic TO wa_zmew21n005.
APPEND wa_zmew21n005 TO i_zmew21n005.
ENDLOOP.
MODIFY ZME21N005 FROM TABLE i_zmew21n005.
‎2016 Mar 28 6:51 AM