función con join de 4 tablas

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • orfilia
    Junior Member
    • sep
    • 4

    #1

    función con join de 4 tablas

    Hola, buanas noches, les cuento que soy nueva en sap y necesito crear una funcion que mediante un select haga el join de 4 tablas.
    Estas son: USR02 ; USR21; ADRP; ADR6. debo mostrar los campos: BNAME; CLASS; NAME_TEXT; SMTP_ADDR. una de las cosas que me esta costando mucho es hacer el join de estas tablas, alguien me puede dar una mano?
  • sconoredhot
    Senior Member
    • feb
    • 341

    #2
    hola

    Hola,

    Ahi te va el código, lo probé y funciona, cualquier cosa me avisas.

    REPORT z_test_sebas2.

    PARAMETERS: p_user TYPE usr02-bname.

    TYPES: BEGIN OF ty_prueba,
    bname TYPE usr02-bname,
    class TYPE usr02-class,
    persnumber TYPE usr21-persnumber,
    addrnumber TYPE usr21-addrnumber,
    name_text TYPE adrp-name_text,
    smtp_addr TYPE adr6-smtp_addr,
    END OF ty_prueba.

    DATA: wa_prueba TYPE ty_prueba.



    SELECT SINGLE a~bname a~class b~persnumber b~addrnumber c~name_text d~smtp_addr
    INTO wa_prueba
    FROM usr02 AS a
    INNER JOIN usr21 AS b
    ON a~bname = b~bname
    INNER JOIN adrp AS c
    ON b~persnumber = c~persnumber
    INNER JOIN adr6 AS d
    ON b~addrnumber = d~addrnumber
    AND b~persnumber = d~persnumber
    WHERE a~bname = p_user.

    IF sy-subrc EQ 0.
    WRITE: wa_prueba-bname.
    SKIP.
    WRITE: wa_prueba-class.
    SKIP.
    WRITE: wa_prueba-persnumber.
    SKIP.
    WRITE: wa_prueba-addrnumber.
    SKIP.
    WRITE: wa_prueba-name_text.
    SKIP.
    WRITE: wa_prueba-smtp_addr.
    ENDIF.

    Saludos!
    Sebas

    Desarrollador ABAP.

    Comentario

    • orfilia
      Junior Member
      • sep
      • 4

      #3
      Hola Sebas! Mil gracias!
      Me sirvio de 10, lo acabo de probar porque en el trabajo no tengo internet!

      Saludos!

      Comentario

      Trabajando...