PDA

Ver la Versión Completa : Report ALV NO MUESTRA LA DATA_3


dayanareyes
19/02/08, 09:16:49
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