tengo un alv, que al exportar los datos se me corta 1 caracter de el codigosap de los articulos.
mi codigo es el siguiente.
antes tenia en el alv un outlen de 9. ya lo salve y lo active con valores superiores y me sigue exportanto igual. yo necesito 10 caracteres de el "codigosap".
gracias por la ayuda.
leandor
**ZBDS_MM133B
INCLUDE zbds_mm133b_top.
START-OF-SELECTION.
PERFORM realiza_consulta.
PERFORM build_fieldcatalog.
PERFORM display_alv_report.
END-OF-SELECTION.
**ZBDS_MM133B_TOP
TYPE-POOLS : slis.
TABLES:
mara,
mard,
marc,
zrota,
t024,
ztmarca,
makt,
eina,
lfa1,
t023,
t023t.
TYPES:
BEGIN OF s_consulta,
codigoean LIKE mara-ean11,
codigosap type mara-matnr,
descripcion LIKE makt-maktx,
* modelo LIKE mara-zzmodelo,
nommarca LIKE ztmarca-descripcion,
gpoartic LIKE mara-matkl,
gpoartic2 LIKE t023t-wgbez60,
teorico LIKE mard-labst,
fechaact LIKE zrota-laeda,
END OF s_consulta.
DATA:
ok_code LIKE sy-ucomm,
g_variant TYPE disvariant,
gd_repid LIKE sy-repid,
fieldcatalog TYPE slis_t_fieldcat_alv WITH HEADER LINE,
g_container TYPE scrfname VALUE 'CONTENEDOR',
grid TYPE REF TO cl_gui_alv_grid,
g_custom_container TYPE REF TO cl_gui_custom_container,
gs_layout TYPE lvc_s_layo,
a TYPE i,
b TYPE i,
gt_consulta2 TYPE TABLE OF zv_rotrj,
ls_zv_rotrj LIKE LINE OF gt_consulta2,
gt_consulta TYPE STANDARD TABLE OF s_consulta,
ls_consulta LIKE LINE OF gt_consulta.
* Parámetros para los docto de inventario,ruta y nombre del archivo
SELECTION-SCREEN BEGIN OF BLOCK block1 WITH FRAME TITLE text-001.
PARAMETER: p_tienda LIKE t001w-werks OBLIGATORY,
p_almace LIKE t001l-lgort OBLIGATORY.
*MODIFICACION 15/10/2010 PASO DE SER OBLIGATORIO A NO OBLIGATORIO.
*SELECT-OPTIONS: P_GrupoA FOR T023-MATKL OBLIGATORY NO-EXTENSION.
SELECT-OPTIONS:
p_ekgrp FOR marc-ekgrp OBLIGATORY MEMORY ID
idc.
SELECTION-SCREEN SKIP 1.
SELECT-OPTIONS: p_marca FOR makt-maktx NO INTERVALS MEMORY ID idcff
,
p_desgrp FOR ztmarca-descripcion NO INTERVALS MEMORY ID
idcgg.
SELECT-OPTIONS: p_grupoa FOR t023-matkl MEMORY ID
idf.
SELECTION-SCREEN END OF BLOCK block1.
*&---------------------------------------------------------------------*
*& Form Realiza_Consulta
*&---------------------------------------------------------------------*
FORM realiza_consulta.
*modificacion 15/10/2010
*decarga los datos de la vista zv_rotrj a una tabla gt_consulta.
SELECT * FROM zv_rotrj
INTO ls_zv_rotrj
WHERE lgort = p_almace AND
werks = p_tienda AND
ekgrp IN p_ekgrp AND
matkl IN p_grupoa.
*consige los datos que faltan
PERFORM busqueda_datos.
ENDSELECT.
SORT gt_consulta BY gpoartic.
ENDFORM.
*---------------------------------------------------------------------*
* FORM BUSQUEDA_DATOS *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
FORM busqueda_datos.
*busca la descripcion de la marca
SELECT SINGLE descripcion INTO ls_consulta-nommarca
FROM ztmarca
WHERE marca = ls_zv_rotrj-zzmarca.
IF sy-subrc <> 0.
ls_consulta-nommarca = ls_zv_rotrj-zzmarca.
ENDIF.
a = 0.
b = 0.
*Filtro para la descripcion del grupo
LOOP AT p_desgrp.
IF ls_zv_rotrj-wgbez60 CS p_desgrp-low.
a = 1.
exit.
ENDIF.
ENDLOOP.
IF sy-subrc <> 0.
a = 1.
ENDIF.
*Filtro para la descripcion de la marca
LOOP AT p_marca.
IF ls_consulta-nommarca CS p_marca-low.
b = 1.
exit.
ENDIF.
ENDLOOP.
IF sy-subrc <> 0.
b = 1.
ENDIF.
IF a = 1 and b = 1.
PERFORM busqueda2.
ENDIF.
ENDFORM.
*---------------------------------------------------------------------*
* FORM BUSQUEDA2 *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
FORM busqueda2.
ls_consulta-codigoean = ls_zv_rotrj-ean11.
ls_consulta-codigosap = ls_zv_rotrj-matnr.
ls_consulta-descripcion = ls_zv_rotrj-maktx.
* ls_consulta-modelo = ls_zv_rotrj-zzmodelo.
ls_consulta-gpoartic = ls_zv_rotrj-matkl.
ls_consulta-teorico = ls_zv_rotrj-labst.
ls_consulta-gpoartic2 = ls_zv_rotrj-wgbez60.
*busca la fecha de ultima modificación
SELECT SINGLE laeda
INTO ls_consulta-fechaact
FROM zrota
WHERE werks = p_tienda AND
lgort = p_almace AND
matnr = ls_zv_rotrj-matnr.
IF sy-subrc <> 0.
ls_consulta-fechaact = ''.
ENDIF.
APPEND ls_consulta TO gt_consulta.
ENDFORM.
*---------------------------------------------------------------------*
* FORM BUILD_FIELDCATALOG *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
FORM build_fieldcatalog .
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'CODIGOEAN'.
fieldcatalog-seltext_m = 'CÓDIGO EAN/UPC'.
fieldcatalog-col_pos = 0.
fieldcatalog-outputlen = 16.
APPEND fieldcatalog TO fieldcatalog.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'CODIGOSAP'.
fieldcatalog-seltext_m = 'ARTÍCULO'.
fieldcatalog-col_pos = 1.
fieldcatalog-outputlen = 11.
APPEND fieldcatalog TO fieldcatalog.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'DESCRIPCION'.
fieldcatalog-seltext_m = 'DESCRIPCIÓN ARTÍCULO'.
fieldcatalog-col_pos = 2.
fieldcatalog-outputlen = 40.
APPEND fieldcatalog TO fieldcatalog.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'GPOARTIC'.
fieldcatalog-seltext_m = 'GRUPO DE ARTÍCULO'.
fieldcatalog-col_pos = 3.
fieldcatalog-outputlen = 14.
APPEND fieldcatalog TO fieldcatalog.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'GPOARTIC2'.
fieldcatalog-seltext_m = 'DES. GPO. ARTÍCULO'.
fieldcatalog-col_pos = 3.
fieldcatalog-outputlen = 25.
APPEND fieldcatalog TO fieldcatalog.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'NOMMARCA'.
fieldcatalog-seltext_m = 'MARCA'.
fieldcatalog-col_pos = 5.
fieldcatalog-outputlen = 12.
APPEND fieldcatalog TO fieldcatalog.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'TEORICO'.
fieldcatalog-seltext_m = 'TEÓRICO'.
fieldcatalog-col_pos = 6.
fieldcatalog-outputlen = 9.
APPEND fieldcatalog TO fieldcatalog.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'FECHAACT'.
fieldcatalog-seltext_m = 'ULTIMA MODIFICACIÓN.'.
fieldcatalog-col_pos = 7.
fieldcatalog-outputlen = 10.
APPEND fieldcatalog TO fieldcatalog.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form DISPLAY_ALV_REPORT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM display_alv_report .
gd_repid = sy-repid.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = gd_repid
i_callback_user_command = 'USER_COMMAND'
it_fieldcat = fieldcatalog[]
i_save = 'X'
is_variant = g_variant
TABLES
t_outtab = gt_consulta
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.
mi codigo es el siguiente.
antes tenia en el alv un outlen de 9. ya lo salve y lo active con valores superiores y me sigue exportanto igual. yo necesito 10 caracteres de el "codigosap".
gracias por la ayuda.
leandor
**ZBDS_MM133B
INCLUDE zbds_mm133b_top.
START-OF-SELECTION.
PERFORM realiza_consulta.
PERFORM build_fieldcatalog.
PERFORM display_alv_report.
END-OF-SELECTION.
**ZBDS_MM133B_TOP
TYPE-POOLS : slis.
TABLES:
mara,
mard,
marc,
zrota,
t024,
ztmarca,
makt,
eina,
lfa1,
t023,
t023t.
TYPES:
BEGIN OF s_consulta,
codigoean LIKE mara-ean11,
codigosap type mara-matnr,
descripcion LIKE makt-maktx,
* modelo LIKE mara-zzmodelo,
nommarca LIKE ztmarca-descripcion,
gpoartic LIKE mara-matkl,
gpoartic2 LIKE t023t-wgbez60,
teorico LIKE mard-labst,
fechaact LIKE zrota-laeda,
END OF s_consulta.
DATA:
ok_code LIKE sy-ucomm,
g_variant TYPE disvariant,
gd_repid LIKE sy-repid,
fieldcatalog TYPE slis_t_fieldcat_alv WITH HEADER LINE,
g_container TYPE scrfname VALUE 'CONTENEDOR',
grid TYPE REF TO cl_gui_alv_grid,
g_custom_container TYPE REF TO cl_gui_custom_container,
gs_layout TYPE lvc_s_layo,
a TYPE i,
b TYPE i,
gt_consulta2 TYPE TABLE OF zv_rotrj,
ls_zv_rotrj LIKE LINE OF gt_consulta2,
gt_consulta TYPE STANDARD TABLE OF s_consulta,
ls_consulta LIKE LINE OF gt_consulta.
* Parámetros para los docto de inventario,ruta y nombre del archivo
SELECTION-SCREEN BEGIN OF BLOCK block1 WITH FRAME TITLE text-001.
PARAMETER: p_tienda LIKE t001w-werks OBLIGATORY,
p_almace LIKE t001l-lgort OBLIGATORY.
*MODIFICACION 15/10/2010 PASO DE SER OBLIGATORIO A NO OBLIGATORIO.
*SELECT-OPTIONS: P_GrupoA FOR T023-MATKL OBLIGATORY NO-EXTENSION.
SELECT-OPTIONS:
p_ekgrp FOR marc-ekgrp OBLIGATORY MEMORY ID
idc.
SELECTION-SCREEN SKIP 1.
SELECT-OPTIONS: p_marca FOR makt-maktx NO INTERVALS MEMORY ID idcff
,
p_desgrp FOR ztmarca-descripcion NO INTERVALS MEMORY ID
idcgg.
SELECT-OPTIONS: p_grupoa FOR t023-matkl MEMORY ID
idf.
SELECTION-SCREEN END OF BLOCK block1.
*&---------------------------------------------------------------------*
*& Form Realiza_Consulta
*&---------------------------------------------------------------------*
FORM realiza_consulta.
*modificacion 15/10/2010
*decarga los datos de la vista zv_rotrj a una tabla gt_consulta.
SELECT * FROM zv_rotrj
INTO ls_zv_rotrj
WHERE lgort = p_almace AND
werks = p_tienda AND
ekgrp IN p_ekgrp AND
matkl IN p_grupoa.
*consige los datos que faltan
PERFORM busqueda_datos.
ENDSELECT.
SORT gt_consulta BY gpoartic.
ENDFORM.
*---------------------------------------------------------------------*
* FORM BUSQUEDA_DATOS *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
FORM busqueda_datos.
*busca la descripcion de la marca
SELECT SINGLE descripcion INTO ls_consulta-nommarca
FROM ztmarca
WHERE marca = ls_zv_rotrj-zzmarca.
IF sy-subrc <> 0.
ls_consulta-nommarca = ls_zv_rotrj-zzmarca.
ENDIF.
a = 0.
b = 0.
*Filtro para la descripcion del grupo
LOOP AT p_desgrp.
IF ls_zv_rotrj-wgbez60 CS p_desgrp-low.
a = 1.
exit.
ENDIF.
ENDLOOP.
IF sy-subrc <> 0.
a = 1.
ENDIF.
*Filtro para la descripcion de la marca
LOOP AT p_marca.
IF ls_consulta-nommarca CS p_marca-low.
b = 1.
exit.
ENDIF.
ENDLOOP.
IF sy-subrc <> 0.
b = 1.
ENDIF.
IF a = 1 and b = 1.
PERFORM busqueda2.
ENDIF.
ENDFORM.
*---------------------------------------------------------------------*
* FORM BUSQUEDA2 *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
FORM busqueda2.
ls_consulta-codigoean = ls_zv_rotrj-ean11.
ls_consulta-codigosap = ls_zv_rotrj-matnr.
ls_consulta-descripcion = ls_zv_rotrj-maktx.
* ls_consulta-modelo = ls_zv_rotrj-zzmodelo.
ls_consulta-gpoartic = ls_zv_rotrj-matkl.
ls_consulta-teorico = ls_zv_rotrj-labst.
ls_consulta-gpoartic2 = ls_zv_rotrj-wgbez60.
*busca la fecha de ultima modificación
SELECT SINGLE laeda
INTO ls_consulta-fechaact
FROM zrota
WHERE werks = p_tienda AND
lgort = p_almace AND
matnr = ls_zv_rotrj-matnr.
IF sy-subrc <> 0.
ls_consulta-fechaact = ''.
ENDIF.
APPEND ls_consulta TO gt_consulta.
ENDFORM.
*---------------------------------------------------------------------*
* FORM BUILD_FIELDCATALOG *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
FORM build_fieldcatalog .
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'CODIGOEAN'.
fieldcatalog-seltext_m = 'CÓDIGO EAN/UPC'.
fieldcatalog-col_pos = 0.
fieldcatalog-outputlen = 16.
APPEND fieldcatalog TO fieldcatalog.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'CODIGOSAP'.
fieldcatalog-seltext_m = 'ARTÍCULO'.
fieldcatalog-col_pos = 1.
fieldcatalog-outputlen = 11.
APPEND fieldcatalog TO fieldcatalog.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'DESCRIPCION'.
fieldcatalog-seltext_m = 'DESCRIPCIÓN ARTÍCULO'.
fieldcatalog-col_pos = 2.
fieldcatalog-outputlen = 40.
APPEND fieldcatalog TO fieldcatalog.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'GPOARTIC'.
fieldcatalog-seltext_m = 'GRUPO DE ARTÍCULO'.
fieldcatalog-col_pos = 3.
fieldcatalog-outputlen = 14.
APPEND fieldcatalog TO fieldcatalog.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'GPOARTIC2'.
fieldcatalog-seltext_m = 'DES. GPO. ARTÍCULO'.
fieldcatalog-col_pos = 3.
fieldcatalog-outputlen = 25.
APPEND fieldcatalog TO fieldcatalog.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'NOMMARCA'.
fieldcatalog-seltext_m = 'MARCA'.
fieldcatalog-col_pos = 5.
fieldcatalog-outputlen = 12.
APPEND fieldcatalog TO fieldcatalog.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'TEORICO'.
fieldcatalog-seltext_m = 'TEÓRICO'.
fieldcatalog-col_pos = 6.
fieldcatalog-outputlen = 9.
APPEND fieldcatalog TO fieldcatalog.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'FECHAACT'.
fieldcatalog-seltext_m = 'ULTIMA MODIFICACIÓN.'.
fieldcatalog-col_pos = 7.
fieldcatalog-outputlen = 10.
APPEND fieldcatalog TO fieldcatalog.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form DISPLAY_ALV_REPORT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM display_alv_report .
gd_repid = sy-repid.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = gd_repid
i_callback_user_command = 'USER_COMMAND'
it_fieldcat = fieldcatalog[]
i_save = 'X'
is_variant = g_variant
TABLES
t_outtab = gt_consulta
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.
Comentario