Usage of 'for all entries' in Select Statement

FORM data_retrieval.

  DATA: ld_color(1) TYPE c.

  DATA: BEGIN OF T_VBAP OCCURS 0,
        VBELN  LIKE VBAP-VBELN,
        MATNR  LIKE VBAP-MATNR,
        POSNR  LIKE VBAP-POSNR,
        END OF T_VBAP.

  DATA: BEGIN OF T_VBFA OCCURS 0,
        VBELV  LIKE VBFA-VBELV,
        VBELN  LIKE VBFA-VBELN,
        VBTYP_N  LIKE VBFA-VBTYP_N,

        END OF T_VBFA.

  DATA: BEGIN OF T_VBAK OCCURS 0,
        VBELN  LIKE VBAK-VBELN,
        IHREZ  LIKE VBAK-IHREZ,
        END OF T_VBAK.

  DATA: BEGIN OF T_KNA1 OCCURS 0,
        KUNNR  LIKE KNA1-KUNNR,
        NAME1  LIKE KNA1-NAME1,
        END OF T_KNA1.

   DATA: BEGIN OF T_MAKT OCCURS 0,
        MATNR  LIKE MAKT-MATNR,
        MAKTX  LIKE MAKT-MAKTX,
        END OF T_MAKT.

  SELECT likp~vbeln likp~lifex likp~bldat likp~wadat likp~wadat_ist likp~kodat likp~lfart
         likp~kunnr likp~vstel lips~posnv lips~lfimg lips~vrkme lips~lgmng lips~meins
         lips~werks lips~lgort lips~charg lips~vbelv lips~posnr lips~matnr
         lips~vbeln LIPS~VGBEL LIPS~VGPOS vbup~kosta vbup~wbsta vbup~posnr vbup~vbeln
*           VBAK~IHREZ VBAK~VBELN VBAP~VBELN
     INTO CORRESPONDING FIELDS OF TABLE  it_itab
    FROM ( likp
           INNER JOIN lips
           ON  lips~vbeln = likp~vbeln
           INNER JOIN vbup
           ON  vbup~posnr = lips~posnr
           and VBUP~VBELN = LIPS~VBELN )
*           left outer join VBAK
*           on  VBAK~VBELN = LIPS~VGBEL
*           inner join VBAP
*           on  VBAP~VBELN = VBAK~VBELN )
         WHERE likp~vbeln IN so_vbeln
           AND likp~lifex IN so_lifex
           AND likp~lfart IN so_lfart
           AND likp~kunnr IN so_kunnr
           AND likp~vstel IN so_vstel
           AND likp~bldat IN so_bldat
           AND likp~wadat_ist IN so_wadat
           AND vbup~kosta IN so_kosta
           AND vbup~wbsta IN so_wbsta
           AND LIPS~LFIMG NE 0.

  SELECT VBELN IHREZ INTO TABLE T_VBAK
  FROM VBAK
  FOR ALL ENTRIES IN  IT_ITAB
  WHERE VBELN = IT_ITAB-VGBEL.
*  APPEND T_VBAK.
*  ENDSELECT.

  SELECT VBELN MATNR POSNR INTO TABLE T_VBAP
  FROM VBAP
  FOR ALL ENTRIES IN  IT_ITAB
  WHERE VBELN = IT_ITAB-VGBEL AND
        MATNR = IT_ITAB-MATNR AND
        POSNR = IT_ITAB-VGPOS.
*  APPEND T_VBAP.
*  ENDSELECT.

  SELECT VBELV VBELN VBTYP_N INTO TABLE T_VBFA
  FROM VBFA
  FOR ALL ENTRIES IN  IT_ITAB
  WHERE VBELV = IT_ITAB-VBELN AND
        VBTYP_N = 'M' .

  SELECT KUNNR NAME1 INTO TABLE T_KNA1
  FROM KNA1
  FOR ALL ENTRIES IN IT_ITAB
  WHERE KUNNR = IT_ITAB-KUNNR.
*  APPEND T_KNA1.
*  ENDSELECT.

  SELECT MATNR MAKTX INTO TABLE T_MAKT
  FROM MAKT
  FOR ALL ENTRIES IN IT_ITAB
  WHERE MATNR = IT_ITAB-MATNR.
*  APPEND T_MAKT.
*  ENDSELECT.


*Populate field with color attributes

  LOOP AT it_itab INTO wa_ITAB.

* Populate color variable with colour properties

* Char 1 = C (This is a color property)

* Char 2 = 3 (Color codes: 1 - 7)

* Char 3 = Intensified on/off ( 1 or 0 )

* Char 4 = Inverse display on/off ( 1 or 0 )

* i.e. wa_ekko-line_color = 'C410'
    REFRESH color.
    colourize 'VBELN' 0. " .
    WA_ITAB-farbe = color[].


    ld_color = ld_color + 1.

* Only 7 colours so need to reset color value

    IF ld_color = 3. "8

      ld_color = 1.

    ENDIF.

    CONCATENATE 'C' ld_color '10' INTO wa_ITAB-line_color.
    WA_ITAB-NAME1 = ''.
    WA_ITAB-MAKTX = ''.
    WA_ITAB-IHREZ = ''.
    WA_ITAB-VBELV = ''.
    READ TABLE T_KNA1 WITH KEY KUNNR = WA_ITAB-KUNNR.
    IF SY-SUBRC = 0.
       WA_ITAB-NAME1 = T_KNA1-NAME1.
    ENDIF.
    READ TABLE T_MAKT WITH KEY MATNR = WA_ITAB-MATNR.
    IF SY-SUBRC = 0.
    WA_ITAB-MAKTX = T_MAKT-MAKTX.
    ENDIF.
    READ TABLE T_VBAK WITH KEY VBELN = WA_ITAB-VGBEL.
    IF SY-SUBRC = 0.
    WA_ITAB-IHREZ = T_VBAK-IHREZ.
    ENDIF.
    READ TABLE T_VBFA WITH KEY VBELV = WA_ITAB-VBELN.
    IF SY-SUBRC = 0.
    WA_ITAB-VBELVA = T_VBFA-VBELN.
    ENDIF.
*    READ TABLE T_VBAP WITH KEY VBELN = WA_ITAB-VGBEL
*                               POSNR = WA_ITAB-VGPOS
*                               MATNR = WA_ITAB-MATNR.
*    IF SY-SUBRC = 0.
*    WA_ITAB-IHREZ = T_VBAK-IHREZ.
*    ENDIF.



* wa_ekko-line_color = 'C410'.

    MODIFY it_itab FROM wa_itab.

  ENDLOOP.

ENDFORM. " data_retrieval
ABAP Tips by : Mazna Hidayat

Get help for your ABAP problems
ABAP Forum - Do you have a ABAP Question?

ABAP Books
ABAP Certification, BAPI, Java, Web Programming, Smart Forms, Sapscripts Reference Books

More ABAP Tips

Best regards,
SAP Basis, ABAP Programming and Other IMG Stuff
http://www.erpgreat.com

All the site contents are Copyright © www.erpgreat.com and the content authors. All rights reserved.
All product names are trademarks of their respective companies.  The site www.erpgreat.com is in no way affiliated with SAP AG.
Every effort is made to ensure the content integrity.  Information used on this site is at your own risk.
 The content on this site may not be reproduced or redistributed without the express written permission of
www.erpgreat.com or the content authors.