PDA

Ver la Versión Completa : Reporte ALV con datos vacios al exportar a EXCEL


fa.luis
12/07/18, 22:48:03
Hola, alguien podria ayudarme? tengo un reporte ALV el cual cuando exporto los datos a excel no muestra nada, solo cuando lo exporto a otros formatos.
A continuacion dejo mi codigo, incluso lo pueden probar ya que es puro codigo duro. Espero puedan ayudarme

TYPES: BEGIN OF t_record,
mat_padre LIKE csap_mbom-matnr,
centro LIKE csap_mbom-werks,
utilizacion TYPE csap_mbom-stlan,
aternativa LIKE csap_mbom-stlal,
tipo_pos TYPE char1,
componen LIKE STPO_API03-COMPONENT,
cant_comp TYPE KMPMG,
unidad TYPE meins,
flag_new TYPE char1,
flag_delete TYPE char1,
flag_update TYPE char1,
Exito TYPE char1,
procesado TYPE char1,
message TYPE char200,
icon TYPE char4,
END OF t_record.

DATA: it_record TYPE STANDARD TABLE OF t_record INITIAL SIZE 0,
wa_record TYPE t_record.
DATA: g_it_fieldcat TYPE slis_t_fieldcat_alv,
g_st_fieldcat TYPE slis_fieldcat_alv.

wa_record-mat_padre = '000000000000016951'.
wa_record-centro = '2000'.
wa_record-utilizacion = '5'.
wa_record-aternativa = '01'.
*wa_record-tipo_pos = 'N'.
wa_record-componen = '000000000000016951'.
wa_record-cant_comp = '800.000'.
wa_record-unidad = 'PZA'.
wa_record-flag_new = abap_false.
wa_record-flag_delete = abap_false.
wa_record-flag_update = abap_true.
wa_record-exito = abap_false.
wa_record-procesado = abap_true.
wa_record-message = 'No se ha podido actualizar el componente:'.
*wa_record-icon = '@5C@'.
APPEND WA_RECORD TO IT_RECORD.
*
g_st_fieldcat-fieldname = 'icon'. "Nombre del campo de la tabla
g_st_fieldcat-seltext_m = 'Status'. "Descripción media
g_st_fieldcat-seltext_s = 'Stat.'. "Descripción corta
APPEND g_st_fieldcat TO g_it_fieldcat.

g_st_fieldcat-fieldname = 'message'. "Nombre del campo de la tabla
g_st_fieldcat-seltext_m = 'Resultado'. "Descripción media
g_st_fieldcat-seltext_s = 'Result'. "Descripción corta
g_st_fieldcat-intlen = 38.
APPEND g_st_fieldcat TO g_it_fieldcat.

g_st_fieldcat-fieldname = 'componen'. "Nombre del campo de la tabla
g_st_fieldcat-seltext_m = 'Componente'. "Descripción media
g_st_fieldcat-seltext_s = 'Comp.'. "Descripción corta
g_st_fieldcat-lzero = 'X'.
g_st_fieldcat-no_zero = 'X'.
g_st_fieldcat-intlen = 40.
APPEND g_st_fieldcat TO g_it_fieldcat.

g_st_fieldcat-fieldname = 'mat_padre'. "Nombre del campo de la tabla
g_st_fieldcat-seltext_m = 'Material Padre'. "Descripción media
g_st_fieldcat-seltext_s = 'Mat'. "Descripción corta
APPEND g_st_fieldcat TO g_it_fieldcat.

g_st_fieldcat-fieldname = 'utilizacion'. "Nombre del campo de la tabla
g_st_fieldcat-seltext_m = 'Utilizacion'. "Descripción media
g_st_fieldcat-seltext_s = 'Uti.'. "Descripción corta
APPEND g_st_fieldcat TO g_it_fieldcat.


g_st_fieldcat-fieldname = 'aternativa'. "Nombre del campo de la tabla
g_st_fieldcat-seltext_m = 'Alternativa'. "Descripción media
g_st_fieldcat-seltext_s = 'Alt.'. "Descripción corta
APPEND g_st_fieldcat TO g_it_fieldcat.


g_st_fieldcat-fieldname = 'Centro'. "Nombre del campo de la tabla
g_st_fieldcat-seltext_m = 'Centro'. "Descripción media
g_st_fieldcat-seltext_s = 'Cent.'. "Descripción corta
APPEND g_st_fieldcat TO g_it_fieldcat.




* DELETE it_record WHERE procesado IS INITIAL.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
it_fieldcat = g_it_fieldcat[]
i_callback_program = 'ZPP_LIST_MAT_MANT'

TABLES
t_outtab = it_record[]
EXCEPTIONS
program_error = 1
OTHERS = 2.

julmungal
28/07/18, 23:31:09
Buenas.

Cuando intentas pasar la información de un alv del tipo reuse a excel con el botón excel, me temo que no es exactamente un excel. De hecho si te saliera bien tu archivo excel te daría una advertencia en el excel de windows y te lo convierte al grabarlo ya desde windows.
Si abres el archivo resultante sin cambios por ejemplo en la versión gratis de excel en un sistema android, te daría un error, quizás sea este tu problema; en este caso no hace la conversión automática de un texto separado por tabuladores (realmente lo que se crea) a un excel (esta versión no lo hace).

Saludos.

Dlanor20777
16/05/19, 14:36:25
Hola, alguien podria ayudarme? tengo un reporte ALV el cual cuando exporto los datos a excel no muestra nada, solo cuando lo exporto a otros formatos.
A continuacion dejo mi codigo, incluso lo pueden probar ya que es puro codigo duro. Espero puedan ayudarme

TYPES: BEGIN OF t_record,
mat_padre LIKE csap_mbom-matnr,
centro LIKE csap_mbom-werks,
utilizacion TYPE csap_mbom-stlan,
aternativa LIKE csap_mbom-stlal,
tipo_pos TYPE char1,
componen LIKE STPO_API03-COMPONENT,
cant_comp TYPE KMPMG,
unidad TYPE meins,
flag_new TYPE char1,
flag_delete TYPE char1,
flag_update TYPE char1,
Exito TYPE char1,
procesado TYPE char1,
message TYPE char200,
icon TYPE char4,
END OF t_record.

DATA: it_record TYPE STANDARD TABLE OF t_record INITIAL SIZE 0,
wa_record TYPE t_record.
DATA: g_it_fieldcat TYPE slis_t_fieldcat_alv,
g_st_fieldcat TYPE slis_fieldcat_alv.

wa_record-mat_padre = '000000000000016951'.
wa_record-centro = '2000'.
wa_record-utilizacion = '5'.
wa_record-aternativa = '01'.
*wa_record-tipo_pos = 'N'.
wa_record-componen = '000000000000016951'.
wa_record-cant_comp = '800.000'.
wa_record-unidad = 'PZA'.
wa_record-flag_new = abap_false.
wa_record-flag_delete = abap_false.
wa_record-flag_update = abap_true.
wa_record-exito = abap_false.
wa_record-procesado = abap_true.
wa_record-message = 'No se ha podido actualizar el componente:'.
*wa_record-icon = '@5C@'.
APPEND WA_RECORD TO IT_RECORD.
*
g_st_fieldcat-fieldname = 'icon'. "Nombre del campo de la tabla
g_st_fieldcat-seltext_m = 'Status'. "Descripción media
g_st_fieldcat-seltext_s = 'Stat.'. "Descripción corta
APPEND g_st_fieldcat TO g_it_fieldcat.

g_st_fieldcat-fieldname = 'message'. "Nombre del campo de la tabla
g_st_fieldcat-seltext_m = 'Resultado'. "Descripción media
g_st_fieldcat-seltext_s = 'Result'. "Descripción corta
g_st_fieldcat-intlen = 38.
APPEND g_st_fieldcat TO g_it_fieldcat.

g_st_fieldcat-fieldname = 'componen'. "Nombre del campo de la tabla
g_st_fieldcat-seltext_m = 'Componente'. "Descripción media
g_st_fieldcat-seltext_s = 'Comp.'. "Descripción corta
g_st_fieldcat-lzero = 'X'.
g_st_fieldcat-no_zero = 'X'.
g_st_fieldcat-intlen = 40.
APPEND g_st_fieldcat TO g_it_fieldcat.

g_st_fieldcat-fieldname = 'mat_padre'. "Nombre del campo de la tabla
g_st_fieldcat-seltext_m = 'Material Padre'. "Descripción media
g_st_fieldcat-seltext_s = 'Mat'. "Descripción corta
APPEND g_st_fieldcat TO g_it_fieldcat.

g_st_fieldcat-fieldname = 'utilizacion'. "Nombre del campo de la tabla
g_st_fieldcat-seltext_m = 'Utilizacion'. "Descripción media
g_st_fieldcat-seltext_s = 'Uti.'. "Descripción corta
APPEND g_st_fieldcat TO g_it_fieldcat.


g_st_fieldcat-fieldname = 'aternativa'. "Nombre del campo de la tabla
g_st_fieldcat-seltext_m = 'Alternativa'. "Descripción media
g_st_fieldcat-seltext_s = 'Alt.'. "Descripción corta
APPEND g_st_fieldcat TO g_it_fieldcat.


g_st_fieldcat-fieldname = 'Centro'. "Nombre del campo de la tabla
g_st_fieldcat-seltext_m = 'Centro'. "Descripción media
g_st_fieldcat-seltext_s = 'Cent.'. "Descripción corta
APPEND g_st_fieldcat TO g_it_fieldcat.




* DELETE it_record WHERE procesado IS INITIAL.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
it_fieldcat = g_it_fieldcat[]
i_callback_program = 'ZPP_LIST_MAT_MANT'

TABLES
t_outtab = it_record[]
EXCEPTIONS
program_error = 1
OTHERS = 2.


Buenas, ya paso bastante tiempo pero te dejare cual debe ser tu problema en caso de que aun lo necesites u otro usuario.

Todos tus g_st_fieldcat-fieldname estan en minúsculas, por ejemplo:

g_st_fieldcat-fieldname = 'icon'. "Nombre del campo de la tabla

La declaración correcta es en mayúsculas:

g_st_fieldcat-fieldname = 'ICON'. "Nombre del campo de la tabla

Prueba y nos comentas.