Optimizar Select

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • acontreras
    Junior Member
    • oct
    • 16

    #1

    Optimizar Select

    Miren en el trabajo me pidieron optimizar unos select reemplazando los for all entries por unos inner join. Tengo dudas en como utilizar el inner join y que datos poner en el select en vez de *. El código es el siguiente:

    SELECT * INTO CORRESPONDING FIELDS OF TABLE t_ekko
    FROM ekko
    WHERE ebeln IN ebeln
    AND kdatb IN s_kdatb
    AND kdate IN s_kdate .

    SELECT * INTO CORRESPONDING FIELDS OF TABLE t_ekpo
    FROM ekpo
    FOR ALL ENTRIES IN t_ekko
    WHERE ebeln EQ t_ekko-ebeln .

    select * into corresponding fields of table i_eban
    from eban
    for all entries in t_ekpo
    where banfn eq t_ekpo-banfn
    and bnfpo eq t_ekpo-bnfpo
    and banfn in banfn
    and werks in werks
    and bsart in bsart
    and badat in badat
    and ekgrp in ekgrp
    and ebeln in ebeln
    and bedat in bedat
    and konnr in konnr.

    Espero me puedan ayudar
  • mcarrasco
    Member
    • jul
    • 71

    #2
    Ejemplo!

    Los inner join se hacen con otras tablas de la base de datos... El FOR ALL ENTRIES creo q se usa solo con una tabla interna.! Esa creo es una diferencia.!

    Te coloco un ejemplo de Inner Join:
    form find_data.

    data columns type string.
    data ls_outtab type e_outtab.
    data indx type sy-tabix.
    data ls_color type lvc_s_scol.


    columns = `mseg~matnr mseg~werks mseg~bwart `
    & ` mseg~mblnr mseg~menge mseg~ebelp `
    & ` mseg~lgort mkpf~budat mseg~zeile`
    & ` mseg~erfme mseg~shkzg `.

    select (columns) into corresponding fields of table gt_outtab
    from ( mseg inner join mkpf on
    mseg~mblnr = mkpf~mblnr and
    mkpf~budat >= p_budat-low and
    mkpf~budat <= p_budat-high
    )
    where
    mseg~matnr <> space and
    mseg~matnr in p_matnr and
    mseg~werks = p_werks and
    mseg~lgort in p_lgort and
    mseg~bwart in p_bwart.

    endform.

    Saludos!

    Atte. Marcos Carrasco...

    Comentario

    • acontreras
      Junior Member
      • oct
      • 16

      #3
      Gracias

      Gracias por la ayuda voy a revisar

      Comentario

      Trabajando...