se cortortan caracteres alv grid a exel

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • leandor
    Junior Member
    • jul
    • 28

    #1

    se cortortan caracteres alv grid a exel

    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.
  • kiboqac
    Member
    • mar
    • 55

    #2
    Ponele char10 al tipo de dato del campo que te sale mal... en otro de los post se soluciono asi.

    Si eso no funciona, pensaremos en algo mas logico
    Kibo

    Comentario

    • DCErick
      Moderator
      • mar
      • 1090

      #3
      Hola, porque no tratas con:

      Código:
      CLEAR fieldcatalog.
       fieldcatalog-fieldname = 'CODIGOSAP'.
       fieldcatalog-seltext_m = 'ARTÍCULO'.
       fieldcatalog-col_pos = 1.
       fieldcatalog-outputlen = 11.
      [B] fieldcatalog-ref_fieldname  = 'MATNR'.
       fieldcatalog-ref_tabname    = 'MARA'.[/B]
       APPEND fieldcatalog TO fieldcatalog.
      -------------------
      ¿Dudas para descargar manuales? Ver este tema -> Cómo descargar manuales de la sección "Descargas" ?

      Comentario

      • leandor
        Junior Member
        • jul
        • 28

        #4
        Gracias lo probare

        Saludos
        Leandor

        Comentario

        Trabajando...