ayuda -concatenar texto a mostrar en cabecera ALV

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • Alfredosite
    Senior Member
    • jul
    • 135

    #1

    ayuda -concatenar texto a mostrar en cabecera ALV

    Tengo este rango r_paises lo que me interesa mostrar los valores r_paises-low de manera de forma consecutiva en la cabecera de un ALV:
    sign Option Low
    Peru
    Brasil
    Mexico

    Desearia que en mi cabecera salga de esta manera:

    Reporte de Empresa
    PAISES : Peru, Brasil y Mexico

    Se que con estas lineas de codigo podria mostrarlo en la cabecera...con este codigo solo podria mostrar el primer del pais del rango....(Peru) lo que yo quiero que me ayuden es como haria para poder concatenar los demas paises como deseo mostarlos ( Peru, Brasil y Mexico), estab pensando en un loop al rango pero nose como concatenar el valor r_paises-low con el anterior valor y unirlos al lado solo me falta eso.... alguna idea???
    Pdta: Recordando que mi r_paises puede variar de registros...
    REFRESH gt_heading.
    CLEAR d_line.
    d_line-typ = 'H'.
    d_line-info = text-101.
    APPEND d_line TO gt_heading.

    CLEAR d_line.
    d_line-typ = 'S'.
    d_line-key = 'PAISES'.
    d_line-info = r_paises-low.
    APPEND d_line TO gt_heading.

    APPEND d_line TO gt_heading.

    CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    EXPORTING
    it_list_commentary = gt_heading.
    Saludos Cordiales,
    Alfredo Pastor Avendaño
    SAP - Consultant HCM
  • frankmerlos
    Member
    • oct
    • 51

    #2
    Hola alfredo.

    prueba de la siguiente manera:

    DATA MENSAJE TYPE STRING.

    MENSAJE = ''

    LOOP AT R_PAISES.
    CONCATENATE MENSAJE R_PAISES-LOW INTO MENSAJE
    SEPARATED BY ','.
    ENDLOOP.


    CLEAR d_line.
    d_line-typ = 'S'.
    d_line-key = 'PAISES'.
    d_line-info = MENSAJE.
    APPEND d_line TO gt_heading.

    Comentario

    • ludmila22
      Junior Member
      • may
      • 24

      #3
      trata con el comando concatenate variable variable variable into variableresult

      así en variableresult guardara el valor de las variables anteriores.

      Luego haces un write de variableresult

      sldos,

      Comentario

      • Alfredosite
        Senior Member
        • jul
        • 135

        #4
        Muchas gracias Frankmerlos por la orientacion con esa logica me resulto y lo termine haciendo de esta manera.
        DESCRIBE TABLE r_empresa LINES N.
        *Rutina para mostrar descripcion mas de una sociedad en ALV

        DATA:
        v_empresatxt(60) TYPE C,
        n TYPE I,
        m TYPE I. "Contador
        LOOP AT r_empresa.
        m = m + 1.
        * primero
        if m = 1.
        v_empresatxt = r_empresa-low.
        else.
        * ultimo
        if m = n.
        concatenate v_empresatxt r_empresa-low INTO v_empresatxt
        separated by ' y '.
        else.
        concatenate v_empresatxt r_empresa-low INTO v_empresatxt
        separated by ' , '.
        endif.
        endif.
        ENDLOOP.

        Salio perfecto para poder con esto completar si en caso necesito el conector 'y' si tiene mas de 3 paises....muchas gracias por el aporte....
        Saludos Cordiales,
        Alfredo Pastor Avendaño
        SAP - Consultant HCM

        Comentario

        Trabajando...