Report ALV NO MUESTRA LA DATA_3

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

    #1

    Report ALV NO MUESTRA LA DATA_3

    VIENE DE ALV NO MUESTRA LA DATA_2

    CLEAR fieldcat_ln.
    fieldcat_ln-fieldname = 'NTGEW'.
    fieldcat_ln-tabname = 'T_TABLA'.
    fieldcat_ln-seltext_m = 'Peso Neto'.
    fieldcat_ln-no_convext = ' '.
    fieldcat_ln-no_out = ' '.
    fieldcat_ln-decimals_out = 0.
    fieldcat_ln-ref_fieldname = ' '.
    fieldcat_ln-ref_tabname = ' '.
    fieldcat_ln-qfieldname = 'GEWEI'.
    fieldcat_ln-col_pos = pos.
    APPEND fieldcat_ln TO gt_fieldcat.
    pos = pos + 1.

    CLEAR fieldcat_ln.
    fieldcat_ln-fieldname = 'BRGEW'.
    fieldcat_ln-tabname = 'T_TABLA'.
    fieldcat_ln-seltext_m = 'Peso bruto'.
    fieldcat_ln-no_convext = ' '.
    fieldcat_ln-no_out = ' '.
    fieldcat_ln-decimals_out = 0.
    fieldcat_ln-ref_fieldname = ' '.
    fieldcat_ln-qfieldname = 'GEWEI'.
    fieldcat_ln-ref_tabname = ' '.
    fieldcat_ln-col_pos = pos.
    APPEND fieldcat_ln TO gt_fieldcat.
    pos = pos + 1.

    * MODIFICACION - VMSM - 31/03/2006 - Campo añadido Unidad de peso
    CLEAR fieldcat_ln.
    fieldcat_ln-fieldname = 'GEWEI'.
    fieldcat_ln-tabname = 'T_TABLA'.
    fieldcat_ln-seltext_m = 'Unid. Peso'.
    fieldcat_ln-no_convext = ' '.
    fieldcat_ln-no_out = ' '.
    fieldcat_ln-decimals_out = 0.
    fieldcat_ln-ref_fieldname = ' '.
    fieldcat_ln-ref_tabname = ' '.
    fieldcat_ln-col_pos = pos.
    APPEND fieldcat_ln TO gt_fieldcat.
    pos = pos + 1.
    * FIN MODIFICACION - VMSM

    CLEAR fieldcat_ln.
    fieldcat_ln-fieldname = 'LAENG'.
    fieldcat_ln-tabname = 'T_TABLA'.
    fieldcat_ln-seltext_m = 'Longitud'.
    fieldcat_ln-no_convext = ' '.
    fieldcat_ln-no_out = ' '.
    fieldcat_ln-decimals_out = 0.
    fieldcat_ln-ref_fieldname = ' '.
    fieldcat_ln-ref_tabname = ' '.
    fieldcat_ln-qfieldname = 'MEABM'.
    fieldcat_ln-col_pos = pos.
    APPEND fieldcat_ln TO gt_fieldcat.
    pos = pos + 1.

    CLEAR fieldcat_ln.
    fieldcat_ln-fieldname = 'BREIT'.
    fieldcat_ln-tabname = 'T_TABLA'.
    fieldcat_ln-seltext_m = 'Ancho'.
    fieldcat_ln-no_convext = ' '.
    fieldcat_ln-no_out = ' '.
    fieldcat_ln-decimals_out = 0.
    fieldcat_ln-ref_fieldname = ' '.
    fieldcat_ln-ref_tabname = ' '.
    fieldcat_ln-qfieldname = 'MEABM'.
    fieldcat_ln-col_pos = pos.
    APPEND fieldcat_ln TO gt_fieldcat.
    pos = pos + 1.

    CLEAR fieldcat_ln.
    fieldcat_ln-fieldname = 'HOEHE'.
    fieldcat_ln-tabname = 'T_TABLA'.
    fieldcat_ln-seltext_m = 'Alto'.
    fieldcat_ln-no_convext = ' '.
    fieldcat_ln-no_out = ' '.
    fieldcat_ln-decimals_out = 0.
    fieldcat_ln-ref_fieldname = ' '.
    fieldcat_ln-ref_tabname = ' '.
    fieldcat_ln-qfieldname = 'MEABM'.
    fieldcat_ln-col_pos = pos.
    APPEND fieldcat_ln TO gt_fieldcat.
    pos = pos + 1.

    * MODIFICACION - VMSM - 31/03/2006 - Campo añadido Unidad de medida
    CLEAR fieldcat_ln.
    fieldcat_ln-fieldname = 'MEABM'.
    fieldcat_ln-tabname = 'T_TABLA'.
    fieldcat_ln-seltext_m = 'Unid. Medida'.
    fieldcat_ln-no_convext = ' '.
    fieldcat_ln-no_out = ' '.
    fieldcat_ln-decimals_out = 0.
    fieldcat_ln-ref_fieldname = ' '.
    fieldcat_ln-ref_tabname = ' '.
    fieldcat_ln-col_pos = pos.
    APPEND fieldcat_ln TO gt_fieldcat.
    pos = pos + 1.
    * FIN MODIFICACION - VMSM

    CLEAR fieldcat_ln.
    fieldcat_ln-fieldname = 'TAVOL'.
    fieldcat_ln-tabname = 'T_TABLA'.
    fieldcat_ln-seltext_m = 'Volumen'.
    fieldcat_ln-no_convext = ' '.
    fieldcat_ln-no_out = ' '.
    fieldcat_ln-decimals_out = 3.
    fieldcat_ln-ref_fieldname = ' '.
    fieldcat_ln-ref_tabname = ' '.
    fieldcat_ln-qfieldname = 'VOLEH'.
    fieldcat_ln-col_pos = pos.
    APPEND fieldcat_ln TO gt_fieldcat.
    pos = pos + 1.

    * MODIFICACION - VMSM - 31/03/2006 - Campo añadido Unidad de volumen
    CLEAR fieldcat_ln.
    fieldcat_ln-fieldname = 'VOLEH'.
    fieldcat_ln-tabname = 'T_TABLA'.
    fieldcat_ln-seltext_m = 'Unid. Volumen'.
    fieldcat_ln-no_convext = ' '.
    fieldcat_ln-no_out = ' '.
    fieldcat_ln-decimals_out = 0.
    fieldcat_ln-ref_fieldname = ' '.
    fieldcat_ln-ref_tabname = ' '.
    fieldcat_ln-col_pos = pos.
    APPEND fieldcat_ln TO gt_fieldcat.
    pos = pos + 1.
    * FIN MODIFICACION - VMSM

    CLEAR fieldcat_ln.
    fieldcat_ln-fieldname = 'EXIDV'.
    fieldcat_ln-tabname = 'T_TABLA'.
    fieldcat_ln-seltext_m = 'UMA'.
    fieldcat_ln-no_convext = ' '.
    fieldcat_ln-no_out = 'X'.
    fieldcat_ln-decimals_out = 0.
    fieldcat_ln-ref_fieldname = ' '.
    fieldcat_ln-ref_tabname = ' '.
    fieldcat_ln-col_pos = pos.
    APPEND fieldcat_ln TO gt_fieldcat.
    pos = pos + 1.

    CLEAR fieldcat_ln.
    fieldcat_ln-fieldname = 'POS_UMA'.
    fieldcat_ln-tabname = 'T_TABLA'.
    fieldcat_ln-seltext_m = 'Núm. Caja'.
    fieldcat_ln-no_convext = ' '.
    fieldcat_ln-no_out = ' '.
    fieldcat_ln-decimals_out = 0.
    fieldcat_ln-ref_fieldname = ' '.
    fieldcat_ln-ref_tabname = ' '.
    fieldcat_ln-col_pos = pos.
    APPEND fieldcat_ln TO gt_fieldcat.
    pos = pos + 1.

    CLEAR fieldcat_ln.
    fieldcat_ln-fieldname = 'NUM_BULTOS'.
    fieldcat_ln-tabname = 'T_TABLA'.
    fieldcat_ln-seltext_m = 'Núm bultos'.
    fieldcat_ln-no_convext = ' '.
    fieldcat_ln-no_out = ' '.
    fieldcat_ln-decimals_out = 0.
    * fieldcat_ln-do_sum = 'X'.
    fieldcat_ln-ref_fieldname = ' '.
    fieldcat_ln-ref_tabname = ' '.
    fieldcat_ln-col_pos = pos.
    APPEND fieldcat_ln TO gt_fieldcat.
    pos = pos + 1.

    CLEAR fieldcat_ln.
    fieldcat_ln-fieldname = 'INCLU'.
    fieldcat_ln-tabname = 'T_TABLA'.
    fieldcat_ln-seltext_m = 'Incluido'.
    fieldcat_ln-no_convext = ' '.
    fieldcat_ln-no_out = ' '.
    fieldcat_ln-decimals_out = 0.
    * fieldcat_ln-do_sum = 'X'.
    fieldcat_ln-ref_fieldname = ' '.
    fieldcat_ln-ref_tabname = ' '.
    fieldcat_ln-col_pos = pos.
    APPEND fieldcat_ln TO gt_fieldcat.
    pos = pos + 1.

    CLEAR fieldcat_ln.
    fieldcat_ln-fieldname = 'NTGEW_SUP'.
    fieldcat_ln-tabname = 'T_TABLA'.
    fieldcat_ln-seltext_m = 'Neto total'.
    fieldcat_ln-no_convext = ' '.
    fieldcat_ln-no_out = ' '.
    fieldcat_ln-decimals_out = 0.
    fieldcat_ln-ref_fieldname = ' '.
    fieldcat_ln-ref_tabname = ' '.
    fieldcat_ln-col_pos = pos.
    APPEND fieldcat_ln TO gt_fieldcat.
    pos = pos + 1.

    CLEAR fieldcat_ln.
    fieldcat_ln-fieldname = 'BRDEW_SUP'.
    fieldcat_ln-tabname = 'T_TABLA'.
    fieldcat_ln-seltext_m = 'Bruto total'.
    fieldcat_ln-no_convext = ' '.
    fieldcat_ln-no_out = ' '.
    fieldcat_ln-decimals_out = 0.
    fieldcat_ln-ref_fieldname = ' '.
    fieldcat_ln-ref_tabname = ' '.
    fieldcat_ln-qfieldname = 'GEWEIT'.
    fieldcat_ln-col_pos = pos.
    APPEND fieldcat_ln TO gt_fieldcat.
    pos = pos + 1.

    * MODIFICACION - VMSM - 31/03/2006 - Campo añadido Unidad de peso total
    CLEAR fieldcat_ln.
    fieldcat_ln-fieldname = 'GEWEIT'.
    fieldcat_ln-tabname = 'T_TABLA'.
    fieldcat_ln-seltext_m = 'Unid. Peso T'.
    fieldcat_ln-no_convext = ' '.
    fieldcat_ln-no_out = ' '.
    fieldcat_ln-decimals_out = 0.
    fieldcat_ln-ref_fieldname = ' '.
    fieldcat_ln-ref_tabname = ' '.
    fieldcat_ln-col_pos = pos.
    APPEND fieldcat_ln TO gt_fieldcat.
    pos = pos + 1.
    * FIN MODIFICACION - VMSM

    CLEAR fieldcat_ln.
    fieldcat_ln-fieldname = 'TAVOL_SUP'.
    fieldcat_ln-tabname = 'T_TABLA'.
    fieldcat_ln-seltext_m = 'Volumen Total'.
    fieldcat_ln-no_convext = ' '.
    fieldcat_ln-no_out = ' '.
    fieldcat_ln-decimals_out = 3.
    fieldcat_ln-ref_fieldname = ' '.
    fieldcat_ln-ref_tabname = ' '.
    fieldcat_ln-qfieldname = 'VOLEHT'.
    fieldcat_ln-col_pos = pos.
    APPEND fieldcat_ln TO gt_fieldcat.
    pos = pos + 1.

    * MODIFICACION - VMSM - 31/03/2006 - Campo añadido Unid de volumen total
    CLEAR fieldcat_ln.
    fieldcat_ln-fieldname = 'VOLEHT'.
    fieldcat_ln-tabname = 'T_TABLA'.
    fieldcat_ln-seltext_m = 'Unid. Volumen T'.
    fieldcat_ln-no_convext = ' '.
    fieldcat_ln-no_out = ' '.
    fieldcat_ln-decimals_out = 0.
    fieldcat_ln-ref_fieldname = ' '.
    fieldcat_ln-ref_tabname = ' '.
    fieldcat_ln-col_pos = pos.
    APPEND fieldcat_ln TO gt_fieldcat.
    pos = pos + 1.
    * FIN MODIFICACION - VMSM

    CLEAR fieldcat_ln.
    fieldcat_ln-fieldname = 'EXIDV_SUP'.
    fieldcat_ln-tabname = 'T_TABLA'.
    fieldcat_ln-seltext_m = 'Contenedor'.
    fieldcat_ln-no_convext = ' '.
    fieldcat_ln-no_out = 'X'.
    fieldcat_ln-decimals_out = 0.
    fieldcat_ln-ref_fieldname = ' '.
    fieldcat_ln-ref_tabname = ' '.
    fieldcat_ln-col_pos = pos.
    APPEND fieldcat_ln TO gt_fieldcat.
    pos = pos + 1.

    CLEAR fieldcat_ln.
    fieldcat_ln-fieldname = 'ORDENSAP'.
    fieldcat_ln-tabname = 'T_TABLA'.
    fieldcat_ln-seltext_m = 'Orden SAP'.
    fieldcat_ln-no_convext = ' '.
    fieldcat_ln-no_out = ' '.
    fieldcat_ln-decimals_out = 0.
    fieldcat_ln-ref_fieldname = ' '.
    fieldcat_ln-ref_tabname = ' '.
    fieldcat_ln-col_pos = pos.
    APPEND fieldcat_ln TO gt_fieldcat.
    pos = pos + 1.


    ENDFORM. " tratar_catalogo
    *&---------------------------------------------------------------------*
    *& Form sort
    *&---------------------------------------------------------------------*
    FORM sort.
    * Plantilla para añadir nuevos criterios de clasificación.
    * sólo será necesario añadir el nombre del campo y situarlo en tras
    * el campo que queremos que aparezca.
    * CLEAR LN_SORT.
    * LN_SORT-FIELDNAME = ' '.
    * LN_SORT-TABNAME = 'T_DATOS'.
    * LN_SORT-spos = POS.
    * LN_SORT-UP = 'X'.
    * APPEND LN_SORT TO GT_SORT.
    * pos = pos + 1.



    DATA: ln_sort LIKE LINE OF gt_sort.
    DATA: pos TYPE i.
    pos = 1.

    CLEAR ln_sort.
    ln_sort-fieldname = 'WBS_ELEMENT'.
    ln_sort-tabname = 'T_DATOS'.
    ln_sort-spos = pos.
    ln_sort-up = 'X'.
    APPEND ln_sort TO gt_sort.
    pos = pos + 1.

    CLEAR ln_sort.
    ln_sort-fieldname = 'NETWORK'.
    ln_sort-tabname = 'T_DATOS'.
    ln_sort-spos = pos.
    ln_sort-up = 'X'.
    APPEND ln_sort TO gt_sort.
    pos = pos + 1.

    CLEAR ln_sort.
    ln_sort-fieldname = 'ACTIVITY'.
    ln_sort-tabname = 'T_DATOS'.
    ln_sort-spos = pos.
    ln_sort-up = 'X'.
    APPEND ln_sort TO gt_sort.
    pos = pos + 1.

    CLEAR ln_sort.
    ln_sort-fieldname = 'NUM_BULTOS'.
    ln_sort-tabname = 'T_DATOS'.
    ln_sort-spos = pos.
    ln_sort-subtot = 'X'.
    ln_sort-up = ' '.
    APPEND ln_sort TO gt_sort.
    pos = pos + 1.

    CLEAR ln_sort.
    ln_sort-fieldname = 'ITEM_NUMBER'.
    ln_sort-tabname = 'T_DATOS'.
    ln_sort-spos = pos.
    ln_sort-up = 'X'.
    APPEND ln_sort TO gt_sort.
    pos = pos + 1.




    ENDFORM. " sort
    *&---------------------------------------------------------------------*
    *& Form layout
    *&---------------------------------------------------------------------*
    FORM layout .

    gs_layout-zebra = 'X'.
    gs_layout-colwidth_optimize = 'X'.


    ENDFORM. " layout
    *&---------------------------------------------------------------------*
    *& Form eventtab_build
    *&---------------------------------------------------------------------*
    FORM eventtab_build CHANGING lt_events TYPE slis_t_event.
    CONSTANTS:
    gc_formname_top_of_page TYPE slis_formname VALUE 'TOP_OF_PAGE'.
    *GC_FORMNAME_END_OF_PAGE TYPE SLIS_FORMNAME VALUE 'END_OF_PAGE'.

    DATA: ls_event TYPE slis_alv_event.

    CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
    EXPORTING
    i_list_type = 0
    IMPORTING
    et_events = lt_events.

    READ TABLE lt_events WITH KEY name = slis_ev_top_of_page
    INTO ls_event.
    IF sy-subrc = 0.
    MOVE gc_formname_top_of_page TO ls_event-form.
    APPEND ls_event TO lt_events.
    ENDIF.


    ENDFORM. " eventtab_build
    *&---------------------------------------------------------------------*
    *& Form comment_build
    *&---------------------------------------------------------------------*
    FORM comment_build CHANGING gt_top_of_page TYPE slis_t_listheader.
    DATA: fecha(10) TYPE c.
    DATA: hora(8) TYPE c.
    DATA: entrega LIKE likp-vbeln.

    DATA: post1 LIKE proj-post1.
    DATA: texto(40).
    DATA: gs_line TYPE slis_listheader.

    CALL FUNCTION 'CONVERSION_EXIT_ABPSN_INPUT'
    EXPORTING
    input = p_proy
    IMPORTING
    output = p_proy.


    * Obtenemos la definición del proyecto.
    SELECT SINGLE post1 FROM proj INTO post1
    WHERE pspid = p_proy.



    CLEAR gs_line.
    gs_line-typ = 'H'.
    gs_line-info = post1.
    APPEND gs_line TO gt_top_of_page.

    CALL FUNCTION 'CONVERSION_EXIT_ABPSN_OUTPUT'
    EXPORTING
    input = p_proy
    IMPORTING
    output = p_proy.
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
    EXPORTING
    input = s_vbeln-low
    IMPORTING
    output = entrega.

    CONCATENATE 'Lista de Entrega: ' p_proy '--' entrega INTO texto
    SEPARATED BY space.

    CONCATENATE texto '(ZLE01)' INTO texto SEPARATED BY space.


    CLEAR gs_line.
    gs_line-typ = 'H'.
    gs_line-info = texto.
    APPEND gs_line TO gt_top_of_page.



    CLEAR gs_line.
    gs_line-typ = 'S'.
    gs_line-key = 'Fecha:'.
    WRITE sy-datum TO fecha DD/MM/YYYY.
    gs_line-info = fecha.
    APPEND gs_line TO gt_top_of_page.

    gs_line-key = 'Hora:'.
    WRITE sy-uzeit TO hora.
    gs_line-info = hora.
    APPEND gs_line TO gt_top_of_page.

    * CLEAR GS_LINE.
    * GS_LINE-TYP = 'A'.
    *
    * GS_LINE-INFO = 'ACTION'.
    * APPEND GS_LINE TO GT_TOP_OF_PAGE.



    ENDFORM. " comment_build
    *&---------------------------------------------------------------------*
    *& Form MOSTRAR_ALV
    *&---------------------------------------------------------------------*
    FORM mostrar_alv .

    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
    * I_INTERFACE_CHECK = ' '
    * I_BYPASSING_BUFFER = ' '
    i_buffer_active = ' '
    i_callback_program = g_repid
    * I_CALLBACK_PF_STATUS_SET = ' '
    * I_CALLBACK_USER_COMMAND = ' '
    * I_CALLBACK_TOP_OF_PAGE = ' '
    * I_CALLBACK_HTML_TOP_OF_PAGE = ' '
    * I_CALLBACK_HTML_END_OF_LIST = ' '
    i_structure_name = 'T_TABLA'
    * I_BACKGROUND_ID = ' '
    * I_GRID_TITLE =
    * I_GRID_SETTINGS =
    is_layout = gs_layout
    it_fieldcat = gt_fieldcat[]
    * IT_EXCLUDING =
    * IT_SPECIAL_GROUPS =
    it_sort = gt_sort[]
    * IT_FILTER =
    * IS_SEL_HIDE =
    i_default = 'X'
    i_save = 'A'
    is_variant = gx_variant
    it_events = gt_events[]
    * IT_EVENT_EXIT =
    is_print = ls_print
    * IS_REPREP_ID =
    * I_SCREEN_START_COLUMN = 0
    * I_SCREEN_START_LINE = 0
    * I_SCREEN_END_COLUMN = 0
    * I_SCREEN_END_LINE = 0
    * IT_ALV_GRAPHICS =
    * IT_HYPERLINK =
    * IT_ADD_FIELDCAT =
    * IT_EXCEPT_QINFO =
    * I_HTML_HEIGHT_TOP =
    * I_HTML_HEIGHT_END =
    * IMPORTING
    * E_EXIT_CAUSED_BY_CALLER =
    * ES_EXIT_CAUSED_BY_USER =
    TABLES
    t_outtab = t_tabla
    EXCEPTIONS
    program_error = 1
    OTHERS = 2
    .
    IF sy-subrc <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.


    ENDFORM. " MOSTRAR_ALV

    *&---------------------------------------------------------------------*
    *& Form top_of_page
    *&---------------------------------------------------------------------*
    FORM top_of_page.
    CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    EXPORTING
    it_list_commentary = gt_list_top_of_page.
    WRITE: sy-datum, 'Page No', sy-pagno LEFT-JUSTIFIED.
    ENDFORM. " top_of_page
    *&---------------------------------------------------------------------*
    *& Form agrupar
    *&---------------------------------------------------------------------*
    FORM agrupar .
    DATA: indice LIKE sy-tabix.
    DATA: bultos TYPE i.
    CLEAR indice.

    LOOP AT t_tabla2.
    indice = sy-tabix.
    pos_uma = t_tabla2-pos_uma.
    CLEAR temporal.
    bultos = 1.
    LOOP AT t_tabla WHERE network = t_tabla2-network AND
    activity = t_tabla2-activity AND
    item_number = t_tabla2-item_number AND
    pos_uma = t_tabla2-pos_uma.

    IF temporal-ntgew NE t_tabla-ntgew OR
    temporal-brgew NE t_tabla-brgew OR
    temporal-laeng NE t_tabla-laeng OR
    temporal-breit NE t_tabla-breit OR
    temporal-hoehe NE t_tabla-hoehe OR
    temporal-brgew NE t_tabla-brgew OR
    temporal-tavol NE t_tabla-tavol OR
    temporal-ntgew_sup NE t_tabla-ntgew_sup OR
    temporal-brdew_sup NE t_tabla-brdew_sup OR
    temporal-tavol_sup NE t_tabla-tavol_sup.
    temporal = t_tabla.
    t_tabla2-num_bultos = 1.
    t_tabla2-vemng = t_tabla-vemng.
    t_tabla2-ntgew = t_tabla-ntgew.
    t_tabla2-brgew = t_tabla-brgew.
    t_tabla2-laeng = t_tabla-laeng.
    t_tabla2-breit = t_tabla-breit.
    t_tabla2-hoehe = t_tabla-hoehe.
    t_tabla2-tavol = t_tabla-tavol.
    t_tabla2-desc_larga = t_tabla-desc_larga.
    t_tabla2-ntgew_sup = t_tabla-ntgew * t_tabla2-num_bultos.
    t_tabla2-brdew_sup = t_tabla-brgew * t_tabla2-num_bultos.
    t_tabla2-tavol_sup = t_tabla-tavol * t_tabla2-num_bultos.

    * MODIFICACION - VMSM - 31/03/2006 - Asignacion de valores de unidades
    t_tabla2-meabm = t_tabla-meabm.
    t_tabla2-gewei = t_tabla-gewei.
    t_tabla2-voleh = t_tabla-voleh.
    t_tabla2-geweit = t_tabla-geweit.
    t_tabla2-voleht = t_tabla-voleht.
    * FIN MODIFICACION - VMSM

    * MODIFICACIÓN - ANM- 24/09/2007 - Rellenar uma/conten
    t_tabla2-exidv = t_tabla-exidv.
    READ TABLE t_contuma WITH KEY uma = t_tabla-exidv.
    IF sy-subrc IS INITIAL.
    t_tabla2-exidv_sup = t_contuma-conte.
    ENDIF.

    MODIFY t_tabla2 INDEX indice.
    t_tabla3 = t_tabla2.
    APPEND t_tabla3.
    * FIN MODIFICACION - VMSM
    ELSE.
    bultos = bultos + 1.
    ENDIF.
    ENDLOOP.

    LOOP AT t_tabla3 WHERE network = t_tabla2-network AND
    activity = t_tabla2-activity AND
    item_number = t_tabla2-item_number AND
    pos_uma = t_tabla2-pos_uma.
    t_tabla3-num_bultos = bultos.
    MODIFY t_tabla3.
    ENDLOOP.
    DELETE t_tabla WHERE network = t_tabla2-network
    AND activity = t_tabla2-activity
    AND item_number = t_tabla2-item_number
    AND pos_uma = t_tabla2-pos_uma.

    ENDLOOP.
    REFRESH t_tabla. CLEAR t_tabla.
    * t_tabla[] = t_tabla2[].
    t_tabla[] = t_tabla3[].

    ENDFORM. " agrupar
    *&---------------------------------------------------------------------*
    *& Form descripcion_larga
    *&---------------------------------------------------------------------*
    * text
    *----------------------------------------------------------------------*
    * -->P_E_COMPONENT_MATERIAL text
    *----------------------------------------------------------------------*
    FORM descripcion_larga USING material LIKE mara-matnr.
    DATA: t_lineas LIKE tline OCCURS 0 WITH HEADER LINE.
    DATA: longitud TYPE i.
    DATA: material_ex(18). "LIKE MARA-MATNR.
    DATA: mater LIKE thead-tdname.


    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
    EXPORTING
    input = material
    IMPORTING
    output = material_ex.

    WRITE: material_ex TO mater.


    CALL FUNCTION 'READ_TEXT'
    EXPORTING
    * CLIENT = SY-MANDT
    id = 'GRUN'
    language = sy-langu
    name = mater
    object = 'MATERIAL'
    * ARCHIVE_HANDLE = 0
    * LOCAL_CAT = ' '
    * IMPORTING
    * HEADER =
    TABLES
    lines = t_lineas
    EXCEPTIONS
    id = 1
    language = 2
    name = 3
    not_found = 4
    object = 5
    reference_check = 6
    wrong_access_to_archive = 7
    OTHERS = 8
    .
    IF sy-subrc <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.

    IF NOT t_lineas[] IS INITIAL.
    LOOP AT t_lineas.
    IF sy-tabix = 1.
    WRITE t_lineas-tdline TO t_tabla-desc_larga.
    ELSE.
    CONCATENATE t_tabla-desc_larga t_lineas-tdline
    INTO t_tabla-desc_larga SEPARATED BY space.
    ENDIF.

    longitud = STRLEN( t_tabla-desc_larga ).
    IF longitud >= 120.
    EXIT.
    ENDIF.
    CLEAR longitud.

    ENDLOOP.
    ENDIF.

    ENDFORM. " descripcion_larga
    *&---------------------------------------------------------------------*
    *& Form unidades_manipulacion
    *&---------------------------------------------------------------------*
    FORM unidades_manipulacion .

    REFRESH: vbplk_tab, vbplp_tab, vbpls_tab.
    CLEAR: comwa, vbplk_tab, vbplp_tab, vbpls_tab.

    * Recuperamos las UMA asociadas a la entrega.
    comwa-vbeln = s_vbeln-low.

    CALL FUNCTION 'SD_PACKING_PRINT_VIEW'
    EXPORTING
    comwa = comwa
    TABLES
    vbplk_tab = vbplk_tab
    vbplp_tab = vbplp_tab
    vbpls_tab = vbpls_tab.
    CLEAR: vbplk_tab, vbplp_tab, vbpls_tab.


    * Nos quedamos con las unidades de manipulación que sean contenedores.
    * Esto se identifica por los campos c_vbplk-vhart <> '0004' y
    * mara-matkl = '0007' con mara-matnr = c_vbplk-vhilm .
    LOOP AT vbplk_tab WHERE vhart NE '0004'.
    SELECT SINGLE * FROM mara WHERE matnr = vbplk_tab-vhilm.
    IF mara-matkl = '0007'.
    t_conte = vbplk_tab.
    APPEND t_conte. CLEAR t_conte.
    ENDIF.
    CLEAR mara.
    ENDLOOP.

    * Obtenemos la relacion uma / contenedores.
    LOOP AT t_conte INTO wa_conte.
    LOOP AT vbplk_tab WHERE uevel = wa_conte-venum.
    CLEAR t_contuma.
    t_contuma-uma = vbplk_tab-exidv.
    t_contuma-conte = wa_conte-exidv.
    APPEND t_contuma.
    ENDLOOP.
    ENDLOOP.


    ENDFORM. " unidades_manipulacion
    *&---------------------------------------------------------------------*
    *& Form f4_for_variant
    *&---------------------------------------------------------------------*
    * text
    *----------------------------------------------------------------------*
    * --> p1 text
    * <-- p2 text
    *----------------------------------------------------------------------*
    FORM f4_for_variant .

    g_variant-report = sy-repid.

    CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
    EXPORTING
    is_variant = g_variant
    i_save = g_save
    i_tabname_header = g_tabname_header
    i_tabname_item = g_tabname_item
    * it_default_fieldcat =
    IMPORTING
    e_exit = g_exit
    es_variant = gx_variant
    EXCEPTIONS
    not_found = 2.

    IF sy-subrc = 2.
    MESSAGE ID sy-msgid TYPE 'S' NUMBER sy-msgno
    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ELSE.
    IF g_exit = space.
    variant = gx_variant-variant.
    ENDIF.
    ENDIF.


    ENDFORM. " f4_for_variant
Trabajando...