Alv Oo

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • oskymoreok
    Junior Member
    • jul
    • 25

    #1

    Alv Oo

    Bueno dias como estan? mi consulta es por que estuve trabajando con alv oo pero me da el siguiente error "No es posible determinar un catálogo de campo" si me pueden dar una manito!

    EPORT zdrynpro_alv_contenedor.

    TABLES: zrecep_pesada.

    TYPE-POOLS: slis.

    DATA: gf_contenedor TYPE REF TO cl_gui_custom_container, "Para crear el contenedor
    gr_alv TYPE REF TO cl_gui_alv_grid. "Para crear el objeto ALV

    DATA: ls_fcat TYPE slis_fieldcat_alv.
    DATA: gt_fieldcat TYPE LVC_T_FCAT.

    DATA: gt_datos TYPE TABLE OF zrecep_pesada WITH HEADER LINE,
    lv_fecha TYPE dats.

    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-t01.
    PARAMETERS: p_cant(2) TYPE c.
    SELECTION-SCREEN END OF BLOCK b1.

    START-OF-SELECTION.
    lv_fecha = sy-datum - p_cant.

    SELECT *
    FROM zrecep_pesada
    INTO TABLE gt_datos
    WHERE datum_bal EQ lv_fecha
    AND werks EQ 'CE05'.
    SORT gt_datos BY num_op_centro.

    CALL SCREEN 0100.

    ************************************************** **********************
    REFRESH gt_fieldcat.

    PERFORM f_agregarcampo USING 'GT_DATOS' 'WERKS' 'CHAR' 4 'Centro' '' '' ''.
    PERFORM f_agregarcampo USING 'GT_DATOS' 'DATUM_BAL' 'DATS' 8 'Fecha' '' '' ''.
    PERFORM f_agregarcampo USING 'GT_DATOS' 'CPUTM' 'TIMS' 6 'Hora' '' '' ''.
    PERFORM f_agregarcampo USING 'GT_DATOS' 'NUM_OP_CENTRO' 'NUMC' 6 'N op' '' '' ''.
    PERFORM f_agregarcampo USING 'GT_DATOS' 'KUNNR ' 'CHAR' 10 'Cliente' '' '' ''.
    PERFORM f_agregarcampo USING 'GT_DATOS' 'PATENTE' 'CHAR' 4 'Patente' '' '' ''.
    PERFORM f_agregarcampo USING 'GT_DATOS' 'MATNR' 'CHAR' 18 'Material' '' '' ''.
    PERFORM f_agregarcampo USING 'GT_DATOS' 'BRUTO' 'QUAN' 15 'Bruto' '' '' ''.
    PERFORM f_agregarcampo USING 'GT_DATOS' 'TARA' 'QUAN' 15 'Tara' '' '' ''.
    PERFORM f_agregarcampo USING 'GT_DATOS' 'NETO' 'QUAN' 15 'Neto' '' '' ''.
    PERFORM f_agregarcampo USING 'GT_DATOS' 'NUMTIC' 'CHAR' 10 'N tic' '' '' ''.
    PERFORM f_agregarcampo USING 'GT_DATOS' 'OBSERVACIONES' 'CHAR' 10 'Obser' '' '' ''.
    PERFORM f_agregarcampo USING 'GT_DATOS' 'COD_PLANTA_REC' 'CHAR' 4 'Codg' '' '' ''.
    PERFORM f_agregarcampo USING 'GT_DATOS' 'NUM_OP_SAP' 'CHAR' 8 'N Sap' '' '' ''.
    PERFORM f_agregarcampo USING 'GT_DATOS' 'BZA_BALANCERO' 'CHAR' 10 'balzro' '' '' ''.
    ************************************************** **********************

    *----------------------------------------------------------------------*
    * MODULE LIST OUTPUT
    *----------------------------------------------------------------------*
    *
    *----------------------------------------------------------------------*
    MODULE list OUTPUT.

    CREATE OBJECT gf_contenedor
    EXPORTING
    container_name = 'Contenedor'.


    CREATE OBJECT gr_alv
    EXPORTING
    i_parent = gf_contenedor.


    CALL METHOD gr_alv->set_table_for_first_display
    CHANGING
    it_outtab = gt_datos[]
    it_fieldcatalog = gt_fieldcat.


    ENDMODULE.

    INCLUDE ZDRYNPRO_ALV_CONTENEDOR_F_AF01.R

    form f_agregarcampo USING
    p_tabname TYPE slis_tabname
    p_fname TYPE slis_fieldname
    p_dtype TYPE dynptype
    p_outlen TYPE outputlen
    p_tit_l TYPE scrtext_l
    p_tit_s TYPE scrtext_s
    p_dosum TYPE char01
    p_align TYPE char01.

    DATA:
    lw_fieldcat TYPE lvc_s_fcat.

    lw_fieldcat-tabname = p_tabname.
    lw_fieldcat-fieldname = p_fname.
    lw_fieldcat-outputlen = p_outlen.
    lw_fieldcat-datatype = p_dtype.

    endform. " F_AGREGARCAMPO
  • SAPING
    Senior Member
    • may
    • 199

    #2
    Puede que te falte el append a gt_fieldcat ?

    Slds.

    Comentario

    • oskymoreok
      Junior Member
      • jul
      • 25

      #3
      Aca lo solucione paso el codigo asi lo ven!

      REPORT zdrynpro_alv_contenedor.

      TABLES: zrecep_pesada.

      TYPE-POOLS: slis.

      DATA: gf_contenedor TYPE REF TO cl_gui_custom_container, "Para crear el contenedor
      gr_alv TYPE REF TO cl_gui_alv_grid. "Para crear el objeto ALV

      DATA: ls_fcat TYPE slis_fieldcat_alv.
      DATA: gt_fieldcat TYPE LVC_T_FCAT.

      DATA: gt_datos TYPE TABLE OF zrecep_pesada WITH HEADER LINE,
      lv_fecha TYPE dats.

      SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-t01.
      PARAMETERS: p_cant(2) TYPE c.
      SELECTION-SCREEN END OF BLOCK b1.

      START-OF-SELECTION.
      lv_fecha = sy-datum - p_cant.

      SELECT *
      FROM zrecep_pesada
      INTO TABLE gt_datos
      WHERE datum_bal EQ lv_fecha
      AND werks EQ 'CE05'.
      SORT gt_datos BY num_op_centro.


      ************************************************** **********************
      REFRESH gt_fieldcat.

      PERFORM f_agregarcampo USING 'GT_DATOS' 'WERKS' 'CHAR' 4 'Centro' '' '' ''.
      PERFORM f_agregarcampo USING 'GT_DATOS' 'DATUM_BAL' 'DATS' 8 'Fecha' '' '' ''.
      PERFORM f_agregarcampo USING 'GT_DATOS' 'CPUTM' 'TIMS' 6 'Hora' '' '' ''.
      PERFORM f_agregarcampo USING 'GT_DATOS' 'NUM_OP_CENTRO' 'NUMC' 6 'N op' '' '' ''.
      PERFORM f_agregarcampo USING 'GT_DATOS' 'KUNNR ' 'CHAR' 10 'Cliente' '' '' ''.
      PERFORM f_agregarcampo USING 'GT_DATOS' 'PATENTE' 'CHAR' 4 'Patente' '' '' ''.
      PERFORM f_agregarcampo USING 'GT_DATOS' 'MATNR' 'CHAR' 18 'Material' '' '' ''.
      PERFORM f_agregarcampo USING 'GT_DATOS' 'BRUTO' 'QUAN' 15 'Bruto' '' '' ''.
      PERFORM f_agregarcampo USING 'GT_DATOS' 'TARA' 'QUAN' 15 'Tara' '' '' ''.
      PERFORM f_agregarcampo USING 'GT_DATOS' 'NETO' 'QUAN' 15 'Neto' '' '' ''.
      PERFORM f_agregarcampo USING 'GT_DATOS' 'NUMTIC' 'CHAR' 10 'N tic' '' '' ''.
      PERFORM f_agregarcampo USING 'GT_DATOS' 'OBSERVACIONES' 'CHAR' 10 'Obser' '' '' ''.
      PERFORM f_agregarcampo USING 'GT_DATOS' 'COD_PLANTA_REC' 'CHAR' 4 'Codg' '' '' ''.
      PERFORM f_agregarcampo USING 'GT_DATOS' 'NUM_OP_SAP' 'CHAR' 8 'N Sap' '' '' ''.
      PERFORM f_agregarcampo USING 'GT_DATOS' 'BZA_BALANCERO' 'CHAR' 10 'balzro' '' '' ''.
      ************************************************** **********************

      CALL SCREEN 0100.

      *----------------------------------------------------------------------*
      * MODULE LIST OUTPUT
      *----------------------------------------------------------------------*
      *
      *----------------------------------------------------------------------*
      MODULE list OUTPUT.

      CREATE OBJECT gf_contenedor
      EXPORTING
      container_name = 'GF_CONTENEDOR'.

      CREATE OBJECT gr_alv
      EXPORTING
      i_parent = gf_contenedor .

      CALL METHOD gr_alv->set_table_for_first_display
      CHANGING
      it_outtab = gt_datos[]
      it_fieldcatalog = gt_fieldcat.

      ENDMODULE.

      INCLUDE ZDRYNPRO_ALV_CONTENEDOR_F_AF01.

      Comentario

      Trabajando...