Report ALV NO MUESTRA LA DATA

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • dayanareyes
    Member
    • jul
    • 36

    #1

    Report ALV NO MUESTRA LA DATA

    hola, tengo un programa elaborado por otra persona que no me muestra los materiales de un proyecto.

    los parametros obligatorios de entrada son proyecto y entrega, pero no los muestra, pero si me voy a otra transaccion si muestra materiales para esa combinacion (proyecto-entrega).

    Si me pueden ayudar.... tengo solo un par de semanas en el mundo de SAP y este codigo lo veo bien complicado.... gracias,

    saludos


    INCLUDE zps_lista_entrega_top_03.
    INCLUDE zps_lista_entrega_for_03.

    INITIALIZATION.
    g_repid = sy-repid.
    PERFORM print.
    g_save = 'A'.


    AT SELECTION-SCREEN ON VALUE-REQUEST FOR variant.
    PERFORM f4_for_variant.


    START-OF-SELECTION.

    * Obtenemos las unidades de manipulación de la entrega.
    PERFORM unidades_manipulacion.

    PERFORM datos_proyecto.
    PERFORM obtener_proyecto.
    PERFORM entregas_proyecto.

    PERFORM mostrar_datos.

    PERFORM agrupar.


    *********** MOSTRAR DATOS **********************
    * Catalogo de campos para ALV.
    PERFORM catalogo.
    PERFORM layout.

    * Cabecera del informe para ALV
    PERFORM eventtab_build CHANGING gt_events.
    PERFORM comment_build CHANGING gt_list_top_of_page.

    * Mostramos el informe en ALV.
    PERFORM mostrar_alv.

    *&---------------------------------------------------------------------*
    *& Include ZPS_LIST_ENTREGA_001 *
    *&---------------------------------------------------------------------*

    REPORT zps_lista_entrega_001 .

    TABLES: zuma, vbplk, mara.

    TYPE-POOLS: slis.


    * Variables y tablas para BAPI de obtención de proyecto y sus
    * componentes.
    DATA: project_definition LIKE bapipr-project_definition,
    with_activities LIKE bapipr-with_activities,
    with_milestones LIKE bapipr-with_milestones,
    with_subtree LIKE bapipr-with_subtree.

    DATA: e_project_definition LIKE bapi_project_definition_ex,
    return LIKE bapireturn1.

    DATA: i_wbs_element_table LIKE bapi_wbs_elements
    OCCURS 0 WITH HEADER LINE,
    e_wbs_element_table LIKE bapi_wbs_element_exp
    OCCURS 0 WITH HEADER LINE,
    e_wbs_milestone_tabl LIKE bapi_wbs_milestone_exp
    OCCURS 0 WITH HEADER LINE,
    e_wbs_hierarchie_tab LIKE bapi_wbs_hierarchie
    OCCURS 0 WITH HEADER LINE,
    e_activity_table LIKE bapi_network_activity_exp
    OCCURS 0 WITH HEADER LINE,
    e_message_table LIKE bapi_meth_message
    OCCURS 0 WITH HEADER LINE.

    DATA: e_network LIKE bapi_network_exp
    OCCURS 0 WITH HEADER LINE,
    e_network2 LIKE bapi_network_exp
    OCCURS 0 WITH HEADER LINE,
    e_activity LIKE bapi_network_activity_exp
    OCCURS 0 WITH HEADER LINE,
    e_activity2 LIKE bapi_network_activity_exp
    OCCURS 0 WITH HEADER LINE,
    e_relation LIKE bapi_network_relation_exp
    OCCURS 0 WITH HEADER LINE,
    e_message_table2 LIKE bapi_meth_message
    OCCURS 0 WITH HEADER LINE,
    e_activity_element LIKE bapi_act_element_exp
    OCCURS 0 WITH HEADER LINE,
    e_activity_milestone LIKE bapi_act_milestone_exp
    OCCURS 0 WITH HEADER LINE,
    e_component2 LIKE bapi_component_exp
    OCCURS 0 WITH HEADER LINE,
    e_component LIKE bapi_component_exp
    OCCURS 0 WITH HEADER LINE,
    return2 LIKE bapireturn1.

    DATA: t_entregas LIKE psli OCCURS 0 WITH HEADER LINE.
    DATA: BEGIN OF t_entregas_comp OCCURS 0,
    vbeln LIKE lips-vbeln,
    posnr LIKE lips-posnr,
    lfimg LIKE lips-lfimg,
    END OF t_entregas_comp.

    * Variables y tablas para UMA en entregas.
    DATA: comwa LIKE vbco3,
    vbplk_tab LIKE vbplk OCCURS 0 WITH HEADER LINE,
    vbplp_tab LIKE vbplp OCCURS 0 WITH HEADER LINE,
    vbpls_tab LIKE vbpls OCCURS 0 WITH HEADER LINE.

    DATA: contador. "variable para controlar el primer salto de linea.

    DATA: BEGIN OF t_uma_sup OCCURS 0 ,
    exidv LIKE vbplk_tab-exidv,
    venum_inf LIKE vbplk_tab-venum,
    finalsite LIKE e_activity-description,
    seal_mc(10) TYPE c,
    seal_ed(10) TYPE c,
    num_caj LIKE zuma-bultos,
    ntgew LIKE vbplk_tab-ntgew,
    brgew LIKE vbplk_tab-brgew,
    tavol LIKE vbplk_tab-tavol,
    vhilm LIKE vbplk_tab-vhilm,
    vebez LIKE vbplk_tab-vebez,
    END OF t_uma_sup.


    DATA: BEGIN OF t_tabla OCCURS 0,
    wbs_element LIKE e_wbs_element_table-wbs_element ,
    network LIKE e_activity-network ,
    activity LIKE e_activity-activity ,
    description LIKE e_activity-description,
    item_number LIKE e_component-item_number ,
    matl_desc LIKE e_component-matl_desc ,
    desc_larga(120) TYPE c,
    vemng LIKE vbplp_tab-vemng ,
    ntgew LIKE vekp-ntgew ,
    brgew LIKE vekp-brgew ,
    laeng LIKE vekp-laeng ,
    breit LIKE vekp-breit ,
    hoehe LIKE vekp-hoehe ,
    tavol LIKE vekp-tavol ,
    exidv LIKE vekp-exidv ,
    pos_uma(5) TYPE c,
    inclu(15) TYPE c,
    num_bultos LIKE zuma-bultos,
    ntgew_sup LIKE vekp-ntgew ,
    brdew_sup LIKE vekp-brgew ,
    tavol_sup LIKE vekp-tavol ,
    exidv_sup LIKE vekp-exidv ,
    * VMSM - añadidos para la visualizacion de unidades.
    meabm LIKE vbplk_tab-meabm ,
    gewei LIKE vbplk_tab-gewei ,
    voleh LIKE vbplk_tab-voleh ,
    geweit LIKE vbplk_tab-gewei ,
    voleht LIKE vbplk_tab-voleh ,
    * Modificaicón ETB 19/05/2006. Añadimos el campo orden SAP.
    ordensap LIKE resbd-sortf,
    * Fin Modificación ETB 19/05/2006.

    END OF t_tabla.

    DATA: BEGIN OF temporal,
    wbs_element LIKE e_wbs_element_table-wbs_element ,
    network LIKE e_activity-network ,
    activity LIKE e_activity-activity ,
    description LIKE e_activity-description,
    item_number LIKE e_component-item_number ,
    matl_desc LIKE e_component-matl_desc ,
    desc_larga(120) TYPE c,
    vemng LIKE vbplp_tab-vemng ,
    ntgew LIKE vekp-ntgew ,
    brgew LIKE vekp-brgew ,
    laeng LIKE vekp-laeng ,
    breit LIKE vekp-breit ,
    hoehe LIKE vekp-hoehe ,
    tavol LIKE vekp-tavol ,
    exidv LIKE vekp-exidv ,
    pos_uma(5) TYPE c,
    inclu(15) TYPE c,
    num_bultos LIKE zuma-bultos,
    ntgew_sup LIKE vekp-ntgew ,
    brdew_sup LIKE vekp-brgew ,
    tavol_sup LIKE vekp-tavol ,
    exidv_sup LIKE vekp-exidv ,
    * VMSM - añadidos para la visualizacion de unidades.
    meabm LIKE vbplk_tab-meabm ,
    gewei LIKE vbplk_tab-gewei ,
    voleh LIKE vbplk_tab-voleh ,
    geweit LIKE vbplk_tab-gewei ,
    voleht LIKE vbplk_tab-voleh ,
    * Modificaicón ETB 19/05/2006. Añadimos el campo orden SAP.
    ordensap LIKE resbd-sortf,
    * Fin Modificación ETB 19/05/2006.

    END OF temporal.

    * Tabla auxiliar para agrupar Lista de entrega.
    DATA: BEGIN OF t_tabla2 OCCURS 0,
    wbs_element LIKE e_wbs_element_table-wbs_element ,
    network LIKE e_activity-network ,
    activity LIKE e_activity-activity ,
    description LIKE e_activity-description,
    item_number LIKE e_component-item_number ,
    matl_desc LIKE e_component-matl_desc ,
    desc_larga(120) TYPE c,
    vemng LIKE vbplp_tab-vemng ,
    ntgew LIKE vbplk_tab-ntgew ,
    brgew LIKE vbplk_tab-brgew ,
    laeng LIKE vbplk_tab-laeng ,
    breit LIKE vbplk_tab-breit ,
    hoehe LIKE vbplk_tab-hoehe ,
    tavol LIKE vbplk_tab-tavol ,
    exidv LIKE vbplk_tab-exidv ,
    pos_uma(5) TYPE c,
    inclu(15) TYPE c,
    num_bultos LIKE zuma-bultos,
    ntgew_sup LIKE vbplk_tab-ntgew ,
    brdew_sup LIKE vbplk_tab-brgew ,
    tavol_sup LIKE vbplk_tab-tavol ,
    exidv_sup LIKE vbplk_tab-exidv ,
    * VMSM - añadidos para la visualizacion de unidades.
    meabm LIKE vbplk_tab-meabm ,
    gewei LIKE vbplk_tab-gewei ,
    voleh LIKE vbplk_tab-voleh ,
    geweit LIKE vbplk_tab-gewei ,
    voleht LIKE vbplk_tab-voleh ,
    * Modificaicón ETB 19/05/2006. Añadimos el campo orden SAP.
    ordensap LIKE resbd-sortf,
    * Fin Modificación ETB 19/05/2006.
    END OF t_tabla2.

    * Tabla auxiliar para agrupar Lista de entrega.
    DATA: BEGIN OF t_tabla3 OCCURS 0,
    wbs_element LIKE e_wbs_element_table-wbs_element ,
    network LIKE e_activity-network ,
    activity LIKE e_activity-activity ,
    description LIKE e_activity-description,
    item_number LIKE e_component-item_number ,
    matl_desc LIKE e_component-matl_desc ,
    desc_larga(120) TYPE c,
    vemng LIKE vbplp_tab-vemng ,
    ntgew LIKE vbplk_tab-ntgew ,
    brgew LIKE vbplk_tab-brgew ,
    laeng LIKE vbplk_tab-laeng ,
    breit LIKE vbplk_tab-breit ,
    hoehe LIKE vbplk_tab-hoehe ,
    tavol LIKE vbplk_tab-tavol ,
    exidv LIKE vbplk_tab-exidv ,
    pos_uma(5) TYPE c,
    inclu(15) TYPE c,
    num_bultos LIKE zuma-bultos,
    ntgew_sup LIKE vbplk_tab-ntgew ,
    brdew_sup LIKE vbplk_tab-brgew ,
    tavol_sup LIKE vbplk_tab-tavol ,
    exidv_sup LIKE vbplk_tab-exidv ,
    * VMSM - añadidos para la visualizacion de unidades.
    meabm LIKE vbplk_tab-meabm ,
    gewei LIKE vbplk_tab-gewei ,
    voleh LIKE vbplk_tab-voleh ,
    geweit LIKE vbplk_tab-gewei ,
    voleht LIKE vbplk_tab-voleh ,
    * Modificaicón ETB 19/05/2006. Añadimos el campo orden SAP.
    ordensap LIKE resbd-sortf,
    * Fin Modificación ETB 19/05/2006.
    END OF t_tabla3.

    * Las Uma ya tratadas no las repetimos.
    DATA: BEGIN OF t_uma OCCURS 0,
    exidv LIKE zuma-exidv,
    network LIKE e_activity-network ,
    activity LIKE e_activity-activity ,
    item_number LIKE e_component-item_number,
    inclu(15) TYPE c,
    END OF t_uma.

    * Tabla para contenedores
    DATA: t_conte LIKE vbplk OCCURS 0 WITH HEADER LINE,
    wa_conte LIKE vbplk.
    * Tabla relacion contenedores-uma.
    DATA: BEGIN OF t_contuma OCCURS 0,
    uma LIKE zuma-exidv,
    conte LIKE zuma-exidv,
    END OF t_contuma.

    *Patalla de selección.
    SELECTION-SCREEN BEGIN OF BLOCK 1 WITH FRAME TITLE text-001.
    PARAMETER: p_proy LIKE bapipr-project_definition OBLIGATORY.
    SELECT-OPTIONS: s_pep FOR e_activity-wbs_element,
    s_gra FOR e_network-network,
    s_ope FOR e_activity-activity,
    s_mat FOR e_component-material.
    SELECT-OPTIONS: s_vbeln FOR t_entregas-vbeln OBLIGATORY
    NO-EXTENSION NO INTERVALS MATCHCODE OBJECT zentregas.

    SELECTION-SCREEN END OF BLOCK 1.

    ***Variante de visualización
    SELECTION-SCREEN BEGIN OF BLOCK 2 .
    PARAMETER: variant LIKE disvariant-variant.
    SELECTION-SCREEN END OF BLOCK 2.

    * Variables para formato ALV.
    DATA: g_repid LIKE sy-repid,
    gs_layout TYPE slis_layout_alv,
    gt_sort TYPE slis_t_sortinfo_alv,
    ls_print TYPE slis_print_alv,
    gt_events TYPE slis_t_event,
    g_save(1) TYPE c,
    gx_variant LIKE disvariant,
    g_variant LIKE disvariant,
    g_tabname_header TYPE slis_tabname,
    g_tabname_item TYPE slis_tabname,
    g_exit(1) TYPE c,
    gt_list_top_of_page TYPE slis_t_listheader,
    gt_fieldcat TYPE slis_t_fieldcat_alv.

    *******************
    el otro include en otro tema porque no cabe...

    gracias, Report ALV NO MUESTRA LA DATA_2
  • mcarrasco
    Member
    • jul
    • 71

    #2
    Reporte ALV

    Hola, esteee ese codigo esta muy largo como para verlo y probarlo! tiene demasiado! yo t puedo dar un ejemplo sencillo de como hacer un ALV... de echo ya tngo un programa que esta explicado usando ALV. Si lo quieres enviame correo a bc.marcos03@gmail.com

    Atte. Marcos Carrasco...

    Comentario

    • vickxo
      Senior Member
      • nov
      • 118

      #3
      Hola

      Hola he intentado activar el programa que pones en los post, peor me falta la defincion de la tabla z ZUMA me la puedes mandar asi como los datos z que hayas generado (no se si haya o no). Hasta pronto.
      el tema esta en hacer la pregunta correcta...

      Comentario

      • dayanareyes
        Member
        • jul
        • 36

        #4
        MANDT MANDT CLNT 3 0 Mandante
        EXIDV2 EXIDV CHAR 20 0 Identificación externa de la unidad de manipulación
        EXIDV EXIDV CHAR 20 0 Identificación externa de la unidad de manipulación
        CONTADOR NUMC 10 0 Contador de relación Jaula Bulto
        PEP PS_POSID CHAR 24 0 Elemento del plan de estructura de proyecto (elemento PEP)
        GRAFO NW_AUFNR CHAR 12 0 Número de grafo
        OPERACION CN_VORNR CHAR 4 0 Número de operación del grafo y grafo estándar
        ITEM APOSN CHAR 4 0 Número de posición de lista de materiales
        MATERIAL MATNR CHAR 18 0 Número de material
        CANTIDAD VEMNG QUAN 15 3 Cantidad base embalada en posición de unidad manipulación
        NBULTO CHAR 10 0 Número de bulto
        RESPONSABLE CHAR 30 0 Responsble de la creación de la JAULA
        TOTAL CHAR 10 0 Total o Parcial
        TEXTO CHAR 40 0 Identificador de texto (TEXT/TDID/códUMA)
        BULTOS INT4 10 0 Bultos en la Jaula
        MATRICULA CHAR 18 0 Matrícula del contenedor
        PRECINTO1 CHAR 18 0 Precinto 1
        PRECINTO2 CHAR 18 0 Precinto 2








        lo que me dices de datos no lo entiendo :S

        Comentario

        • dayanareyes
          Member
          • jul
          • 36

          #5
          Sos

          porfa alguien ha podido ver esto

          Comentario

          • dayanareyes
            Member
            • jul
            • 36

            #6
            holaaaa
            perdona, has podido ver algooo.... no entiendo este codigoooo :S:S:S creo q los datos se pierden en esta parte

            *&---------------------------------------------------------------------*
            *& Form mostrar_datos
            *&---------------------------------------------------------------------*
            FORM mostrar_datos .
            PERFORM elementos.
            ENDFORM. " mostrar_datos
            *&---------------------------------------------------------------------*
            *& Form elementos
            *&---------------------------------------------------------------------*
            FORM elementos .
            LOOP AT e_wbs_element_table.
            PERFORM grafos.
            ENDLOOP.
            ENDFORM. " elementos
            *&---------------------------------------------------------------------*
            *& Form grafos
            *&---------------------------------------------------------------------*
            FORM grafos .
            LOOP AT e_activity
            WHERE wbs_element = e_wbs_element_table-wbs_element.
            * Componentes.
            PERFORM componentes .
            ENDLOOP.
            ENDFORM. " grafos
            *&---------------------------------------------------------------------*
            *& Form componentes
            *&---------------------------------------------------------------------*
            FORM componentes .

            LOOP AT e_component WHERE network = e_activity-network AND
            activity = e_activity-activity
            AND deletion_flag = ' '.

            * PASAMOS LOS DATOS A LA TABLA INTERNA.
            t_tabla-wbs_element = e_wbs_element_table-wbs_element.
            t_tabla-network = e_activity-network .
            t_tabla-activity = e_activity-activity.
            t_tabla-description = e_activity-description.
            t_tabla-item_number = e_component-item_number .
            t_tabla-matl_desc = e_component-matl_desc.
            * ETB 19/05/2006. Añadimos el campo orden de SAP.
            t_tabla-ordensap = e_component-sort_string.
            * Fin ETB 19/05/2006.

            * Tala auxliliar.
            MOVE-CORRESPONDING t_tabla TO t_tabla2.

            * Buscamos las entregas asociadas a ese componente. Pposteriormente
            * busacaremos las UMA asociadas a la posición de la entrega
            * correspondiente al componente que estamos tratando.
            PERFORM entrega_componente.

            ENDLOOP.


            ENDFORM. " componentes




            ya que cuando hago el debbuger y me posiciono en MOVE-CORRESPONDING t_tabla TO t_tabla2.
            t_tabla esta aparece con un solo registro........

            graciasssssssss

            Comentario

            • pirri
              Senior Member
              • dic
              • 127

              #7
              A mi me falta algún append, para rellenar t_tabla. No sé si dentro de entrega_componente exista. Sino se está usando t_tabla como un registro, pero nunca rellegará la tabla. t_tabla2 también le falta alguna sentencia que rellene la tabla. Ahora sólo parece que rellena el registro de cabecera de la tabla pero no lo añade con un append a la tabla.

              Un saludo.

              Comentario

              • dayanareyes
                Member
                • jul
                • 36

                #8
                Originalmente publicado por pirri
                A mi me falta algún append, para rellenar t_tabla. No sé si dentro de entrega_componente exista. Sino se está usando t_tabla como un registro, pero nunca rellegará la tabla. t_tabla2 también le falta alguna sentencia que rellene la tabla. Ahora sólo parece que rellena el registro de cabecera de la tabla pero no lo añade con un append a la tabla.

                Un saludo.

                UMMM VALE... PERO NO TENGO CONOCIMEINTOS DE ABAP... APENAS TENGO 2 SEMANAS CON ESTE LENGUAJE... SI ME EXPLICAS UN POCO MEJOR....

                Comentario

                • pirri
                  Senior Member
                  • dic
                  • 127

                  #9
                  Una ayuda bastante buena es la tecla F1 cuando estas visualizando un programa o escribiendo. Te colocas sobre la sentencia y pulsas F1. te mostrará la ayuda con todas las variantes y algunos ejemplos. Mira append.

                  Sobre las tablas internas t_tabla y t_tabla2. Te puedo decir que están declaradas como tablas internas.


                  En el form componentes, veo que hay un recorrido a la tabla interna e_component.

                  Cuando declaras una tabla interna es como declarar un registro que puede tener multiples instancias, con el occurs.

                  Si relleno los campos de t_tabla como se hace es ese form. lo que hago es rellenar un registro de cabecera de la tabla, pero no estoy añadiendo a la tabla. Es necesario usar una sentencia como append para añadir esa información dentro de la tabla.

                  Lo mismo pasa al hacer el move-corresponding a t_tabla2. Lo que haces es mover los campos iguales del registro de cabecera de ambas tablas internas. Pero nunca veo que añadas el registro a la tabla. Es en palabras coloquiales como si llamas a una casa a la puerta te presentas pero nunca entras. Cuando haces debuging estas viendo ese registro con contenido pero la tabla vacía.

                  Los pasos básicos para añadir registros a una tabla son:

                  1.- definir la tabla (si no hay que rellenar vamos mal)
                  2.- rellenar el registro de cabecera
                  3.- añadir este registro a la tabla.

                  Puedes hacerlo en tres pasos o en dos si usas un registro distinto al de la tabla. usando "append reg_1 to tabla_1".

                  hay muchas formas de jugar con tablas internas.

                  Espero que esto te aclare algo, en descargar seguramente tengas algún manual que te lo explique.

                  Comentario

                  Trabajando...