What is the usage of for all entries ?

What is the Usage of read table  after using for all entries ?
In the following example what exactly it is doing ?
  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 likpvbeln likplifex likpbldat likpwadat likpwadat_ist likpkodat likp~lfart
         likpkunnr likpvstel lipsposnv lipslfimg lipsvrkme lipslgmng lips~meins
         lipswerks lipslgort lipscharg lipsvbelv lipsposnr lipsmatnr
         lipsvbeln LIPSVGBEL LIPSVGPOS vbupkosta vbupwbsta vbupposnr vbup~vbeln
          VBAKIHREZ VBAKVBELN VBAP~VBELN
     INTO CORRESPONDING FIELDS OF TABLE  it_itab
    FROM ( likp
           INNER JOIN lips
           ON  lipsvbeln = likpvbeln
           INNER JOIN vbup
           ON  vbupposnr = lipsposnr
           and VBUPVBELN = LIPSVBELN )
          left outer join VBAK
          on  VBAKVBELN = LIPSVGBEL
          inner join VBAP
          on  VBAPVBELN = VBAKVBELN )
         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

hi Jyotirmoy,
The explanation below can give u an idea of wat is going in ur code..
Use of FOR ALL Entries
Outer join can be created using this addition to the where clause in a select statement. It speeds up the performance tremendously, but the cons of using this variation are listed below
Duplicates are automatically removed from the resulting data set. Hence care should be taken that the unique key of the detail line items should be given in the select statement.
If the table on which the For All Entries IN clause is based is empty, all rows are selected into the destination table. Hence it is advisable to check before-hand that the first table is not empty.
If the table on which the For All Entries IN clause is based is very large, the performance will go down instead of improving. Hence attempt should be made to keep the table size to a moderate level.
Not Recommended
            Loop at int_cntry.
             Select single * from zfligh into int_fligh
             where cntry = int_cntry-cntry.
             Append int_fligh.
            Endloop.
Recommended
            Select * from zfligh appending table int_fligh
            For all entries in int_cntry
            Where cntry = int_cntry-cntry.
Thankyou,
Regards.

Similar Messages

  • What is the use of for all entries in select statement

    what is the use of for all entries in select statement

    hi,
    FOR ALL ENTRIES is an effective way of doing away with using JOIN on two tables.
    You can check the below code -
    SELECT BUKRS BELNR GJAHR AUGDT
    FROM BSEG
    INTO TABLE I_BSEG
    WHERE BUKRS = ....
    SELECT BUKRS BELNR BLART BLDAT
    FROM BKPF
    INTO TABLE I_BKPF
    FOR ALL ENTRIES IN I_BSEG
    WHERE BUKRS = I_BSEG-BUKRS
    AND BELNR = I_BSEG-BELNR
    AND BLDAT IN SO_BLDAT.
    *******************************8
    look another example
    what is the use of FOR ALL ENTRIES
    1. INNER JOIN
    DBTAB1 <----
    > DBTAB2
    It is used to JOIN two DATABASE tables
    having some COMMON fields.
    2. Whereas
    For All Entries,
    DBTAB1 <----
    > ITAB1
    is not at all related to two DATABASE tables.
    It is related to INTERNAL table.
    3. If we want to fetch data
    from some DBTABLE1
    but we want to fetch
    for only some records
    which are contained in some internal table,
    then we use for alll entries.
    1. simple example of for all entries.
    2. NOTE THAT
    In for all entries,
    it is NOT necessary to use TWO DBTABLES.
    (as against JOIN)
    3. use this program (just copy paste)
    it will fetch data
    from T001
    FOR ONLY TWO COMPANIES (as mentioned in itab)
    4
    REPORT abc.
    DATA : BEGIN OF itab OCCURS 0,
    bukrs LIKE t001-bukrs,
    END OF itab.
    DATA : t001 LIKE TABLE OF t001 WITH HEADER LINE.
    itab-bukrs = '1000'.
    APPEND itab.
    itab-bukrs = '1100'.
    APPEND itab.
    SELECT * FROM t001
    INTO TABLE t001
    FOR ALL ENTRIES IN itab
    WHERE bukrs = itab-bukrs.
    LOOP AT t001.
    WRITE :/ t001-bukrs.
    ENDLOOP.
    Hope this helps!
    Regards,
    Anver
    <i>if hlped pls mark points</i>

  • Hi guru's what is the diff between for all entries & joins

    hi guru's what is the diff between for all entries & joins

    Hi Vasu,
    Joins are used to fetch data fast from Database tables:
    Tables are joined with the proper key fields to fetch the data properly.
    If there are no proper key fields between tables don't use Joins;
    Important thing is that don't USE JOINS FOR CLUSTER tableslike BSEG and KONV.
    Only use for Transparenmt tables.
    You can also use joins for the database VIews to fetch the data.
    JOINS
    ... FROM tabref1 [INNER] JOIN tabref2 ON cond
    Effect
    The data is to be selected from transparent database tables and/or views determined by tabref1 and tabref2. tabref1 and tabref2 each have the same form as in variant 1 or are themselves Join expressions. The keyword INNER does not have to be specified. The database tables or views determined by tabref1 and tabref2 must be recognized by the ABAP Dictionary.
    In a relational data structure, it is quite normal for data that belongs together to be split up across several tables to help the process of standardization (see relational databases). To regroup this information into a database query, you can link tables using the join command. This formulates conditions for the columns in the tables involved. The inner join contains all combinations of lines from the database table determined by tabref1 with lines from the table determined by tabref2, whose values together meet the logical condition (join condition) specified using ON>cond.
    Inner join between table 1 and table 2, where column D in both tables in the join condition is set the same:
    Table 1 Table 2
    A
    B
    C
    D
    D
    E
    F
    G
    H
    a1
    b1
    c1
    1
    1
    e1
    f1
    g1
    h1
    a2
    b2
    c2
    1
    3
    e2
    f2
    g2
    h2
    a3
    b3
    c3
    2
    4
    e3
    f3
    g3
    h3
    a4
    b4
    c4
    3
    |--|||--|
    Inner Join
    A
    B
    C
    D
    D
    E
    F
    G
    H
    a1
    b1
    c1
    1
    1
    e1
    f1
    g1
    h1
    a2
    b2
    c2
    1
    1
    e1
    f1
    g1
    h1
    a4
    b4
    c4
    3
    3
    e2
    f2
    g2
    h2
    |--||||||||--|
    Example
    Output a list of all flights from Frankfurt to New York between September 10th and 20th, 2001 that are not sold out:
    DATA: DATE LIKE SFLIGHT-FLDATE,
    CARRID LIKE SFLIGHT-CARRID,
    CONNID LIKE SFLIGHT-CONNID.
    SELECT FCARRID FCONNID F~FLDATE
    INTO (CARRID, CONNID, DATE)
    FROM SFLIGHT AS F INNER JOIN SPFLI AS P
    ON FCARRID = PCARRID AND
    FCONNID = PCONNID
    WHERE P~CITYFROM = 'FRANKFURT'
    AND P~CITYTO = 'NEW YORK'
    AND F~FLDATE BETWEEN '20010910' AND '20010920'
    AND FSEATSOCC < FSEATSMAX.
    WRITE: / DATE, CARRID, CONNID.
    ENDSELECT.
    If there are columns with the same name in both tables, you must distinguish between them by prefixing the field descriptor with the table name or a table alias.
    Note
    In order to determine the result of a SELECT command where the FROM clause contains a join, the database system first creates a temporary table containing the lines that meet the ON condition. The WHERE condition is then applied to the temporary table. It does not matter in an inner join whether the condition is in the ON or WHEREclause. The following example returns the same solution as the previous one.
    Example
    Output of a list of all flights from Frankfurt to New York between September 10th and 20th, 2001 that are not sold out:
    DATA: DATE LIKE SFLIGHT-FLDATE,
    CARRID LIKE SFLIGHT-CARRID,
    CONNID LIKE SFLIGHT-CONNID.
    SELECT FCARRID FCONNID F~FLDATE
    INTO (CARRID, CONNID, DATE)
    FROM SFLIGHT AS F INNER JOIN SPFLI AS P
    ON FCARRID = PCARRID
    WHERE FCONNID = PCONNID
    AND P~CITYFROM = 'FRANKFURT'
    AND P~CITYTO = 'NEW YORK'
    AND F~FLDATE BETWEEN '20010910' AND '20010920'
    AND FSEATSOCC < FSEATSMAX.
    WRITE: / DATE, CARRID, CONNID.
    ENDSELECT.
    Note
    Since not all of the database systems supported by SAP use the standard syntax for ON conditions, the syntax has been restricted. It only allows those joins that produce the same results on all of the supported database systems:
    Only a table or view may appear to the right of the JOIN operator, not another join expression.
    Only AND is possible in the ON condition as a logical operator.
    Each comparison in the ON condition must contain a field from the right-hand table.
    If an outer join occurs in the FROM clause, all the ON conditions must contain at least one "real" JOIN condition (a condition that contains a field from tabref1 amd a field from tabref2.
    Note
    In some cases, '*' may be specified in the SELECT clause, and an internal table or work area is entered into the INTO clause (instead of a list of fields). If so, the fields are written to the target area from left to right in the order in which the tables appear in the FROM clause, according to the structure of each table work area. There can then be gaps between table work areas if you use an Alignment Request. For this reason, you should define the target work area with reference to the types of the database tables, not simply by counting the total number of fields. For an example, see below:
    Variant 3
    ... FROM tabref1 LEFT [OUTER] JOIN tabref2 ON cond
    Effect
    Selects the data from the transparent database tables and/or views specified in tabref1 and tabref2. tabref1 und tabref2 both have either the same form as in variant 1 or are themselves join expressions. The keyword OUTER can be omitted. The database tables or views specified in tabref1 and tabref2 must be recognized by the ABAP-Dictionary.
    In order to determine the result of a SELECT command where the FROM clause contains a left outer join, the database system creates a temporary table containing the lines that meet the ON condition. The remaining fields from the left-hand table (tabref1) are then added to this table, and their corresponding fields from the right-hand table are filled with ZERO values. The system then applies the WHERE condition to the table.
    Left outer join between table 1 and table 2 where column D in both tables set the join condition:
    Table 1 Table 2
    A
    B
    C
    D
    D
    E
    F
    G
    H
    a1
    b1
    c1
    1
    1
    e1
    f1
    g1
    h1
    a2
    b2
    c2
    1
    3
    e2
    f2
    g2
    h2
    a3
    b3
    c3
    2
    4
    e3
    f3
    g3
    h3
    a4
    b4
    c4
    3
    |--|||--|
    Left Outer Join
    A
    B
    C
    D
    D
    E
    F
    G
    H
    a1
    b1
    c1
    1
    1
    e1
    f1
    g1
    h1
    a2
    b2
    c2
    1
    1
    e1
    f1
    g1
    h1
    a3
    b3
    c3
    2
    NULL
    NULL
    NULL
    NULL
    NULL
    a4
    b4
    c4
    3
    3
    e2
    f2
    g2
    h2
    |--||||||||--|
    Example
    Output a list of all custimers with their bookings for October 15th, 2001:
    DATA: CUSTOMER TYPE SCUSTOM,
    BOOKING TYPE SBOOK.
    SELECT SCUSTOMNAME SCUSTOMPOSTCODE SCUSTOM~CITY
    SBOOKFLDATE SBOOKCARRID SBOOKCONNID SBOOKBOOKID
    INTO (CUSTOMER-NAME, CUSTOMER-POSTCODE, CUSTOMER-CITY,
    BOOKING-FLDATE, BOOKING-CARRID, BOOKING-CONNID,
    BOOKING-BOOKID)
    FROM SCUSTOM LEFT OUTER JOIN SBOOK
    ON SCUSTOMID = SBOOKCUSTOMID AND
    SBOOK~FLDATE = '20011015'
    ORDER BY SCUSTOMNAME SBOOKFLDATE.
    WRITE: / CUSTOMER-NAME, CUSTOMER-POSTCODE, CUSTOMER-CITY,
    BOOKING-FLDATE, BOOKING-CARRID, BOOKING-CONNID,
    BOOKING-BOOKID.
    ENDSELECT.
    If there are columns with the same name in both tables, you must distinguish between them by prefixing the field descriptor with the table name or using an alias.
    Note
    For the resulting set of a SELECT command with a left outer join in the FROM clause, it is generally of crucial importance whether a logical condition is in the ON or WHERE condition. Since not all of the database systems supported by SAP themselves support the standard syntax and semantics of the left outer join, the syntax has been restricted to those cases that return the same solution in all database systems:
    Only a table or view may come after the JOIN operator, not another join statement.
    The only logical operator allowed in the ON condition is AND.
    Each comparison in the ON condition must contain a field from the right-hand table.
    Comparisons in the WHERE condition must not contain a field from the right-hand table.
    The ON condition must contain at least one "real" JOIN condition (a condition in which a field from tabref1 as well as from tabref2 occurs).
    Note
    In some cases, '*' may be specivied as the field list in the SELECT clause, and an internal table or work area is entered in the INTO clause (instead of a list of fields). If so, the fields are written to the target area from left to right in the order in which the tables appear in the llen in der FROM clause, according to the structure of each table work area. There can be gaps between the table work areas if you use an Alignment Request. For this reason, you should define the target work area with reference to the types of the database tables, as in the following example (not simply by counting the total number of fields).
    Example
    Example of a JOIN with more than two tables: Select all flights from Frankfurt to New York between September 10th and 20th, 2001 where there are available places, and display the name of the airline.
    DATA: BEGIN OF WA,
    FLIGHT TYPE SFLIGHT,
    PFLI TYPE SPFLI,
    CARR TYPE SCARR,
    END OF WA.
    SELECT * INTO WA
    FROM ( SFLIGHT AS F INNER JOIN SPFLI AS P
    ON FCARRID = PCARRID AND
    FCONNID = PCONNID )
    INNER JOIN SCARR AS C
    ON FCARRID = CCARRID
    WHERE P~CITYFROM = 'FRANKFURT'
    AND P~CITYTO = 'NEW YORK'
    AND F~FLDATE BETWEEN '20010910' AND '20010920'
    AND FSEATSOCC < FSEATSMAX.
    WRITE: / WA-CARR-CARRNAME, WA-FLIGHT-FLDATE, WA-FLIGHT-CARRID,
    WA-FLIGHT-CONNID.
    ENDSELECT.
    And for all entries,
    this will help u.
    use of FOR ALL ENTRIES:
    1. INNER JOIN
    DBTAB1 <----
    > DBTAB2
    It is used to JOIN two DATABASE tables
    having some COMMON fields.
    2. Whereas
    For All Entries,
    DBTAB1 <----
    > ITAB1
    is not at all related to two DATABASE tables.
    It is related to INTERNAL table.
    3. If we want to fetch data
    from some DBTABLE1
    but we want to fetch
    for only some records
    which are contained in some internal table,
    then we use for alll entries.
    1. simple example of for all entries.
    2. NOTE THAT
    In for all entries,
    it is NOT necessary to use TWO DBTABLES.
    (as against JOIN)
    3. use this program (just copy paste)
    it will fetch data
    from T001
    FOR ONLY TWO COMPANIES (as mentioned in itab)
    4
    REPORT abc.
    DATA : BEGIN OF itab OCCURS 0,
    bukrs LIKE t001-bukrs,
    END OF itab.
    DATA : t001 LIKE TABLE OF t001 WITH HEADER LINE.
    itab-bukrs = '1000'.
    APPEND itab.
    itab-bukrs = '1100'.
    APPEND itab.
    SELECT * FROM t001
    INTO TABLE t001
    FOR ALL ENTRIES IN itab
    WHERE bukrs = itab-bukrs.
    LOOP AT t001.
    WRITE :/ t001-bukrs.
    ENDLOOP.
    cheers,
    Hema.

  • What is the use of FOR ALL ?

    What is the use of FOR ALL ?. Need clear explanation with examples

    http://www.oracle.com/pls/db112/portal.portal_db?selected=5&frame=#sql_and_pl_sql_languages
    http://download.oracle.com/docs/cd/E11882_01/appdev.112/e10472/tuning.htm#i48876
    http://download.oracle.com/docs/cd/E11882_01/appdev.112/e10472/tuning.htm#i54218
    Straight SQL operations are faster, but if you can't write those for some reason bulk operations are not quite as slow as PL/SQL loops.

  • Maximum number of records for usage of "For all entries"

    Hi,
    Is there a limit on maximum number of records to be selected from the database using "For all entries"  statement ?
    Thanks in advance

    There is a UNDOCUMENTED(??) behaviousr
    FOR ALL ENTRIES does ahidden SELECT DISTINCT & drops duplicates.
    http://web.mit.edu/fss/dev/abap_review_check_list.htm
    3 pitfalls
    "FOR ALL ENTRIES IN..." (outer join) are very fast but keep in the mind the special features and 3 pitfalls of using it.
    (a) Duplicates are removed from the answer set as if you had specified "SELECT DISTINCT"... So unless you intend for duplicates to be deleted include the unique key of the detail line items in your select statement. In the data dictionary (SE11) the fields belonging to the unique key are marked with an "X" in the key column.
    ^^!!!!
    (b) If the "one" table (the table that appears in the clause FOR ALL ENTRIES IN) is empty, all rows in the "many" table (the table that appears in the SELECT INTO clause ) are selected. Therefore make sure you check that the "one" table has rows before issuing a select with the "FOR ALL ENTRIES IN..." clause.
    (c) If the 'one' table (the table that appears in the clause FOR ALL ENTRIES IN) is very large there is performance degradation Steven Buttiglieri created sample code to illustrate this.

  • Unable to Get the Data Using For All Entries

    Hi everybody, i am using for all entries in a program. but when i am writing a code using for all entries i am getting an error as 
    Where condition does not refers to the FOR ALL ENTRIES tables...
    SELECT KUNNR
           NAME1
           ORT01
           LAND1
       FROM KNA1 INTO TABLE ITAB1 WHERE KUNNR IN S_KUNNR.
    IF NOT ITAB1 IS INITIAL.
    SELECT VBELN
            ERDAT
            KUNNR
       FROM VBAK INTO TABLE ITAB2 FOR ALL ENTRIES IN ITAB1 WHERE KUNNR = IT_KNA1-KUNNR.
    ENDIF.
    can anybody help out in this
    regards
    hyder ali

    The correct one may be like this:
    SELECT KUNNR
    NAME1
    ORT01
    LAND1
    FROM KNA1 INTO TABLE ITAB1 WHERE KUNNR IN S_KUNNR.
    IF NOT ITAB1 IS INITIAL.
    SELECT VBELN
    ERDAT
    KUNNR
    FROM VBAK INTO TABLE ITAB2 FOR ALL ENTRIES IN ITAB1 WHERE KUNNR = ITAB1-KUNNR. "modified here
    ENDIF.
    Edited by: XuJian84 on Mar 9, 2010 4:25 AM

  • HOW TO PRINT THE MATTER IN FOR ALL ENTRIES

    HI HOW T  PRINT THE FOR ALL ENTRIES MATTER

    Hi Naresh,
    You can only use FOR ALL ENTRIES IN ...WHERE ...in a SELECT statement.
    SELECT ... FOR ALL ENTRIES IN itab WHERE cond returns the union of the solution sets of all SELECT statements that would result if you wrote a separate statement for each line of the internal table replacing the symbol itab-f with the corresponding value of component f in the WHERE condition.Duplicates are discarded from the result set. If the internal table itab does not contain any entries, the system treats the statement as though there were no WHERE cond condition, and selects all records (in the current client).
    For example:
    SELECT * FROM sflight INTO wa_sflight 
    FOR ALL ENTRIES IN ftab 
    WHERE CARRID = ftab-carrid AND 
                 CONNID = ftab-connid AND 
                     fldate = '20010228'. 
    This condition, return all entries of the sflight.
    When using FOR ALL ENTRIES the number of matching records is restricted to the number of records in the internal table. If the number of records in the database tables is too large then join would cause overheads in performance. Additionally a JOIN bypasses the table buffering.
    Thanks,
    Reward If Helpful.

  • Usage of FOR ALL ENTRIES in SELECT query

    Hi All,
    While writing SELECT query using FOR ALL ENTRIES, in the WHERE condition can we use IN operator on a range table?
    Will this work out.
    Thanks,
    Anil Kumar

    HI,
    Yes you can use the in operator.
    SELECT *
      FROM MARC
      INTO TAB:E i_mARC
        FOR ALL ENTRIES IN I_MARA
      WHERE MATNR EQ I_MARA_MATNR
        AND WERKS IN S_WERKS.

  • The select with for all entries is not working correctly

    IF NOT i_ekko_ekpo[] IS INITIAL.
        SELECT ebeln
               ebelp
               zekkn
               vgabe
               bewtp
               menge
               bpmng
               shkzg
               INTO TABLE i_ekbe
               FROM ekbe
               FOR ALL ENTRIES IN i_ekko_ekpo
               WHERE ebeln EQ i_ekko_ekpo-ebeln.
                AND ebelp EQ i_ekko_ekpo-ebelp.
        IF sy-subrc EQ 0.
          SORT i_ekbe.
        ENDIF.
      ENDIF.
    I have a PO with 2 line items in i_ekko_ekpo. In EKBE, I have 49 recs for this PO and this select is returning only 13 recs.
    I tried by commenting EBELP and still the same result.
    Thanks
    Kiran
    Edited by: kiran dasari on May 22, 2009 9:56 PM

    Hi Sudhi, I added these now but still no charm
        SELECT ebeln
               ebelp
               zekkn
               vgabe
               bewtp
               menge
               bpmng
               shkzg
               INTO TABLE i_ekbe
               FROM ekbe
               FOR ALL ENTRIES IN i_ekko_ekpo
               WHERE ebeln EQ i_ekko_ekpo-ebeln
                 AND ebelp EQ i_ekko_ekpo-ebelp
                 AND zekkn GE '00'
                 AND vgabe IN ('1','2').
    And as per your note: in the 13 entries, am having duplicate also. This is something weird for me now.
    Any more clues.
    Thanks
    Kiran

  • What is the correct Procedure for all of this?

    I'm on a Mac with latest Mavericks OS  and Latest Aperture 3.5.1
    I moved around a lot of Projects and added to them and deleted some.
    I want to replace my Photo internal hard drive with a new one
    I want to replace my external hared drive that has my Vault on it that is now too small with a 1TB hard drive.
    I  haven't done anything with the library like restoring it and done nothing with the Vault since my current external hard drive is now too small. One big mistake I made was I have a folder with folders in it on my desktop 37 GB of images That I added to Aperture If I now drag that folder and all it's internal folders to my Photography internal hard drive will the link to them be broken?
    I would also like to rename my Vault and Library since they have old dates in there name.
    Thank You

    One big mistake I made was I have a folder with folders in it on my desktop 37 GB of images That I added to Aperture If I now drag that folder and all it's internal folders to my Photography internal hard drive will the link to them be broken?
    Have imported that folder to Aperture as referenced images? Then don't move the images in this folder using the Finder, but let Aperture relocate the original image files in this folder to your new drive.  Select all referenced images in Aperture in the browser and use the command "File > Relocate Originals" and select a destination folder on your new drive.
    See this manual page:  Working with Referenced Images
    To move the library itself, just drag it to the new drive and then double click the copy  to open it in Aperture.
    As to the vault - it is essentially an aperture library, but it might be easier to let Aperture create a new vault on a replacement drive, then to copy the vault over.
    -- Léonie

  • Logic of for all entrie in abap programming

    Hi !
    This is ravi, i am working as consultant i have one doubt can any body clarify it.
    what is the' logic of for all entries' statement using in the abap coding?its very urgent , can any body helps me plz
    regards,
    ravi.

    Hi,
    it is a type of outer join using ITAB.  if u r using for all entries then all records from left table will be selected and only matching records form right table will be selected and where it doesnot found the entry in right table then it will return null.
    important points while useing this clasue:
    1. u should chk itab should not be blank like: if itab[] is not null. "then process entries
    2. itab should not contain huge data as it may slowdown sql
    3. only uniques keys will be selected so ensures fileds should not be unique using fields like posnr which are differenct for each recort in fld likst
    jogdand M B

  • Innerjoin or for all entries

    Hi Friends,
    please suggest me in performance innerjoin is better or for all entries is better to get data from two transparent tables.
    Krishna.

    hi,
    <b>for all entries is the better method.</b>
    FOR ALL ENTRIES is an effective way of doing away with using JOIN on two tables.
    You can check the below code -
    SELECT BUKRS BELNR GJAHR AUGDT
    FROM BSEG
    INTO TABLE I_BSEG
    WHERE BUKRS = ....
    SELECT BUKRS BELNR BLART BLDAT
    FROM BKPF
    INTO TABLE I_BKPF
    FOR ALL ENTRIES IN I_BSEG
    WHERE BUKRS = I_BSEG-BUKRS
    AND BELNR = I_BSEG-BELNR
    AND BLDAT IN SO_BLDAT.
    *******************************8
    look another example
    what is the use of FOR ALL ENTRIES
    1. INNER JOIN
    DBTAB1 <----
    > DBTAB2
    It is used to JOIN two DATABASE tables
    having some COMMON fields.
    2. Whereas
    For All Entries,
    DBTAB1 <----
    > ITAB1
    is not at all related to two DATABASE tables.
    It is related to INTERNAL table.
    3. If we want to fetch data
    from some DBTABLE1
    but we want to fetch
    for only some records
    which are contained in some internal table,
    then we use for alll entries.
    1. simple example of for all entries.
    2. NOTE THAT
    In for all entries,
    it is NOT necessary to use TWO DBTABLES.
    (as against JOIN)
    3. use this program (just copy paste)
    it will fetch data
    from T001
    FOR ONLY TWO COMPANIES (as mentioned in itab)
    4
    REPORT abc.
    DATA : BEGIN OF itab OCCURS 0,
    bukrs LIKE t001-bukrs,
    END OF itab.
    DATA : t001 LIKE TABLE OF t001 WITH HEADER LINE.
    itab-bukrs = '1000'.
    APPEND itab.
    itab-bukrs = '1100'.
    APPEND itab.
    SELECT * FROM t001
    INTO TABLE t001
    FOR ALL ENTRIES IN itab
    WHERE bukrs = itab-bukrs.
    LOOP AT t001.
    WRITE :/ t001-bukrs.
    ENDLOOP.
    Hope this helps!
    Regards,
    Anver

  • What are dyanmic internal tables and what s the exact use of forall entries

    what are dyanmic internal tables and what s the exact use of forall entries?

    hi,
    <u><b>dynamic internal table.</b></u>
    http://searchsap.techtarget.com/tip/1,289483,sid21_gci912390,00.html
    http://www.sap-img.com/ab030.htm
    <u><b>
    FOR ALL ENTRIES</b></u> is an effective way of doing away with using JOIN on two tables.
    You can check the below code -
    SELECT BUKRS BELNR GJAHR AUGDT
    FROM BSEG
    INTO TABLE I_BSEG
    WHERE BUKRS = ....
    SELECT BUKRS BELNR BLART BLDAT
    FROM BKPF
    INTO TABLE I_BKPF
    FOR ALL ENTRIES IN I_BSEG
    WHERE BUKRS = I_BSEG-BUKRS
    AND BELNR = I_BSEG-BELNR
    AND BLDAT IN SO_BLDAT.
    *******************************8
    look another example
    what is the use of FOR ALL ENTRIES
    1. INNER JOIN
    DBTAB1 <----
    > DBTAB2
    It is used to JOIN two DATABASE tables
    having some COMMON fields.
    2. Whereas
    For All Entries,
    DBTAB1 <----
    > ITAB1
    is not at all related to two DATABASE tables.
    It is related to INTERNAL table.
    3. If we want to fetch data
    from some DBTABLE1
    but we want to fetch
    for only some records
    which are contained in some internal table,
    then we use for alll entries.
    1. simple example of for all entries.
    2. NOTE THAT
    In for all entries,
    it is NOT necessary to use TWO DBTABLES.
    (as against JOIN)
    3. use this program (just copy paste)
    it will fetch data
    from T001
    FOR ONLY TWO COMPANIES (as mentioned in itab)
    4
    REPORT abc.
    DATA : BEGIN OF itab OCCURS 0,
    bukrs LIKE t001-bukrs,
    END OF itab.
    DATA : t001 LIKE TABLE OF t001 WITH HEADER LINE.
    itab-bukrs = '1000'.
    APPEND itab.
    itab-bukrs = '1100'.
    APPEND itab.
    SELECT * FROM t001
    INTO TABLE t001
    FOR ALL ENTRIES IN itab
    WHERE bukrs = itab-bukrs.
    LOOP AT t001.
    WRITE :/ t001-bukrs.
    ENDLOOP.
    Hope this helps!
    Regards,
    Anver

  • Need help for all entries

    hi to all experts,
    I'm a beginner in ABAP please help me out with following questions
    1.what is the purpose of for all entries please please help with an example(joining 3 tables)
    2. how it is different when compared with joins
    3. how too use for all entries
    4.performance issues
                               thanks in advance
    helpful answers will rewarded

    Hi,
    Go through the below link, here i gave a answer on inner joins issue, you will understand.
    Re: Improve performance of a SQL request
    <b>Reward points if it helps,</b>
    Satish

  • What are the usage caps, if any for each DSL plan?

    Hello Verizon users and staff.
    I am considering purchasing one of your DSL plans, and I am wondering what the maximum usage cap is for each plan. I can not find this information officially on this website, but I read on another website that the cap was around 5GB a month. If someone could tell me the usage limit for all three plans, I would appreciate it!
    Thank you,
    --kosmos

    There are no usage caps for the DSL plans. DSL is not a pay-per-usage service. You pay for the service and you can use it as much as you want. The 5 gig cap is ONLY for the data plans from Verizon Wireless for tethering from your phone, etc.
    If a forum member gives an answer you like, give them the Kudos they deserve. If a member gives you the answer to your question, mark the answer as Accepted Solution so others can see the solution to the problem.
    "All knowledge is worth having."

Maybe you are looking for

  • Line art effect?

    does fcpx have the line art effect?

  • Error in the macro 'rp-provide-from-last'

    Hi, experts! Can anyone please help me address an error regarding the macro rp-provide-from last? During activation, this error is returned: "Unable to interpret SPACE. Possible causes: Incorrect spelling or comma error".  The line in question is thi

  • Validation The tage name: "embed"

    I embedded a flash movie using Dreamweaver but when I run the code Validation it returns - The tage name: "embed" Not found in currently active versions. [XHTML 1.0 transitional] :confused;

  • Compacting Panes - How To

    Configuration: Oracle SQL Developer 3.0.04, Windows 7 x64. Question: If you right click on a SQL file tab, it gives you the option of merging all of the file tabs onto one row so you can only see one file at once, but you can see a "full screen" of i

  • Cost Elements in CO

    Hi, We assign profit center in material master. In case of FI reports, Inventory balances can be seen PC wise. However, in CO-PCA, inventory balances cannot be seen. Any ideas? As per my understanding, since Inventory accounts are not Cost elements,