‎2007 May 29 7:58 AM
is there any alternative to the following code to improve performance.
LOOP AT S_S_IF-T_SELECT INTO L_S_SELECT WHERE FIELDNM = 'MATNR'
.
MOVE-CORRESPONDING L_S_SELECT TO L_R_MATNR.
APPEND L_R_MATNR.
ENDLOOP.
LOOP AT S_S_IF-T_SELECT INTO L_S_SELECT WHERE FIELDNM = 'WERKS'.
MOVE-CORRESPONDING L_S_SELECT TO L_R_WERKS.
APPEND L_R_WERKS.
ENDLOOP.
regards
‎2007 May 29 8:02 AM
Hi,
Please try this:
LOOP AT S_S_IF-T_SELECT INTO L_S_SELECT.
case L_S_SELECT-FIELDNM.
when 'MATNR'.
MOVE-CORRESPONDING L_S_SELECT TO L_R_MATNR.
APPEND L_R_MATNR.
when 'WERKS'.
MOVE-CORRESPONDING L_S_SELECT TO L_R_WERKS.
APPEND L_R_WERKS.
endcase.
clear: l_s_select.
ENDLOOP.
‎2007 May 29 8:01 AM
if u want to write the whole thing in one loop , try this
LOOP AT S_S_IF-T_SELECT INTO L_S_SELECT.
CASE FIELDNM.
WHEN 'MATNR'.
MOVE-CORRESPONDING L_S_SELECT TO L_R_MATNR.
APPEND L_R_MATNR.
WHEN 'WERKS'.
MOVE-CORRESPONDING L_S_SELECT TO L_R_WERKS.
APPEND L_R_WERKS.
ENDCASE.
ENDLOOP.
‎2007 May 29 8:02 AM
Hi,
Please try this:
LOOP AT S_S_IF-T_SELECT INTO L_S_SELECT.
case L_S_SELECT-FIELDNM.
when 'MATNR'.
MOVE-CORRESPONDING L_S_SELECT TO L_R_MATNR.
APPEND L_R_MATNR.
when 'WERKS'.
MOVE-CORRESPONDING L_S_SELECT TO L_R_WERKS.
APPEND L_R_WERKS.
endcase.
clear: l_s_select.
ENDLOOP.
‎2007 May 29 8:03 AM
Hi,
LOOP AT S_S_IF-T_SELECT INTO L_S_SELECT WHERE FIELDNM = 'MATNR' OR FIELDNM = 'WERKS'.
if FIELDNM = 'MATNR' .
MOVE-CORRESPONDING L_S_SELECT TO L_R_MATNR.
APPEND L_R_MATNR.
else.
MOVE-CORRESPONDING L_S_SELECT TO L_R_WERKS.
APPEND L_R_WERKS.
endif.
clear : L_S_SELECT , L_R_MATNR, L_R_WERKS.
ENDLOOP.
Thanks
Sandeep
Reward if helpful
‎2007 May 29 8:05 AM
Hi Ravi.
If you want to improve performance use field-symbols instead of structure.
So take the code of Chandrasekha modified like this:
FIELD-SYMBOLS: <L_S_SELECT> TYPE type_of_l_s_select.
LOOP AT S_S_IF-T_SELECT ASSIGNING <L_S_SELECT>.
CASE FIELDNM.
WHEN 'MATNR'.
MOVE-CORRESPONDING <L_S_SELECT> TO L_R_MATNR.
APPEND L_R_MATNR.
WHEN 'WERKS'.
MOVE-CORRESPONDING <L_S_SELECT> TO L_R_WERKS.
APPEND L_R_WERKS.
ENDCASE.
ENDLOOP.Regards,
Timo
‎2007 May 29 8:08 AM
LOOP AT S_S_IF-T_SELECT ASSIGNING <F1>
IF S_S_IF-T_SELECT-<F1> = 'MATNR' .
MOVE S_S_IF-T_SELECT-<F1> TO L_R_MATNR-fieldname.
APPEND L_R_MATNR.
ENDIF.
Silmilarly write this logic for werks here.
....
....
....
....
ENDLOOP.