Skip to Content
0
Former Member
Mar 23, 2009 at 02:12 PM

Loop-EndLoop

108 Views

Hallo

I have a code for net value. it is working good. But when c_vkdfif-vbtyp = 'K' it dont enter in second loop.

can somebody tell me where is my mistake.

LOOP AT c_vkdfif.
  IF c_vkdfif-vbtyp = 'J' OR ( c_vkdfif-vbtyp = 'T' OR c_vkdfif-vbtyp = 'K' ).
    SELECT a~netwr b~lfimg a~kwmeng INTO CORRESPONDING FIELDS OF TABLE lt_vbap FROM lips AS b
    INNER JOIN vbap AS a ON b~vgbel = a~vbeln AND b~vgpos = a~posnr WHERE b~vbeln = c_vkdfif-vbeln.
    LOOP AT lt_vbap.
      lvx_netwr = ( lt_vbap-netwr / lt_vbap-kwmeng ) * lt_vbap-lfimg.
      lv_netwr  = lv_netwr  + lvx_netwr.
      IF c_vkdfif-vbtyp = 'T'.
        IF lv_netwr > 0 OR lv_netwr = 0.
          lv_netwr  = -1 * lv_netwr.
        ELSE.
          lv_netwr = lv_netwr - lvx_netwr.
        ENDIF.
      ENDIF.
      IF c_vkdfif-vbtyp = 'K'.
        IF lv_netwr > 0 OR lv_netwr = 0.
          lv_netwr  = -1 * ( lv_netwr  + lvx_netwr ).
        ELSE.
          lv_netwr = lv_netwr - lvx_netwr.
        ENDIF.
      ENDIF.
    ENDLOOP.
    c_vkdfif-netwr = lv_netwr.
    MODIFY c_vkdfif.
    CLEAR lv_netwr.
  ENDIF.
ENDLOOP.

Thanks a lot

Waseem.

Edited by: Matt on Mar 23, 2009 4:24 PM - added tags