Skip to Content
0
Former Member
Sep 06, 2007 at 12:52 PM

delete rows based on condition

307 Views

I extract VBAK data, then I extract VBAP data with condition. Then I need to delete all orders from I_VBAK that dont exist in I_VBAP.

  SELECT vbeln auart augru lifsk faksk vkorg vtweg spart vsbed kunnr
    FROM vbak
    UP TO 10 ROWS
    INTO TABLE i_vbak
    WHERE vkorg IN s_vkorg
      AND vtweg IN s_vtweg
      AND spart IN s_spart
      AND erdat IN s_erdat
      AND vbeln IN s_vbeln
      AND kunnr IN s_kunnr
      AND lifsk IN s_lifsk
      AND faksk IN s_faksk
      AND augru IN s_augru.

  IF i_vbak[] IS NOT INITIAL.
    SELECT vbeln posnr matnr pstyv vrkme
      FROM vbap
      INTO TABLE i_vbap
      FOR ALL ENTRIES IN i_vbak
      WHERE vbeln = i_vbak-vbeln
      AND matnr IN s_matnr
      AND werks IN s_werks
      AND pstyv IN s_pstyv
      AND abgru = ' '.
  ENDIF.