‎2007 Feb 12 7:27 AM
Here G_T_VTD1,G_T_VTD are internal tables,
S_TAXNUM is selection option input.
G_RFDYM is a vriable.
S_RFDPRD is selection option input.
G_RFDYM is a variable
S_RFDPRD is selection option input.
<b> LOOP AT G_T_VTD1.
CHECK: S_TAXNUM.
MOVE G_T_VTD1-RFDMY+2(4) TO G_RFDYM(4).
MOVE G_T_VTD1-RFDMY(2) TO G_RFDYM+4(2).
IF S_RFDPRD-LOW <> SPACE.
CHECK: G_RFDYM GE S_RFDPRD-LOW.
ENDIF.
IF S_RFDPRD-HIGH <> SPACE.
CHECK: G_RFDYM LE S_RFDPRD-HIGH.
ENDIF.
CLEAR G_T_VTD.
MOVE-CORRESPONDING G_T_VTD1 TO G_T_VTD.
APPEND G_T_VTD.
ENDLOOP.</b>
Hai All, here how to avoid the check statements inside the loop, tell me logic for that
Thanks,
Sanu
‎2007 Feb 12 7:31 AM
Change your code as below:
IF NOT S_TAXNUM IS INITIAL.
LOOP AT G_T_VTD1.
MOVE G_T_VTD1-RFDMY+2(4) TO G_RFDYM(4).
MOVE G_T_VTD1-RFDMY(2) TO G_RFDYM+4(2).
IF S_RFDPRD-LOW <> SPACE.
CHECK: G_RFDYM GE S_RFDPRD-LOW.
ENDIF.
IF S_RFDPRD-HIGH <> SPACE.
CHECK: G_RFDYM LE S_RFDPRD-HIGH.
ENDIF.
CLEAR G_T_VTD.
MOVE-CORRESPONDING G_T_VTD1 TO G_T_VTD.
APPEND G_T_VTD.
ENDLOOP.
ENDIF.The other two checks cannot be avoided because they are dependant on the loop values.
‎2007 Feb 12 8:03 AM
‎2007 Feb 12 7:59 AM