URGENTE AYUDA CON AlV

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • dayanareyes
    Member
    • jul
    • 36

    #1

    URGENTE AYUDA CON AlV

    hola...

    tengo un ALV que me estaba funcionando perfecto... lo he creado yo (anuqe no tengo nada de experiencia.....) y seguia modificandolo, agregue unos campos mas que era necesario y funciono perferto.

    ya despues intente descomentar la parte de SORT Ordenar y no me funciono me saltaba errores, asi que intente reversar el cambio y ahora no se que hice que no me trae datos el ALV

    AYUDA PORFAAAAAAAAAA

    *&---------------------------------------------------------------------*
    *& Report ZPS_LISTADO_VBRK *
    *& *
    *&---------------------------------------------------------------------*
    *& *
    *& *
    *&---------------------------------------------------------------------*
    REPORT zps_listado_facturas .

    *--Definición de las tablas
    TABLES: vbrk, kna1, bkpf.

    *--Definición de las Tipos, datos y TI
    TYPES: BEGIN OF t_vbrk,
    fkdat LIKE vbrk-fkdat, "Fecha de la Factura
    vbeln LIKE vbrk-vbeln, "Numero de la Factura
    belnr LIKE vbrk-belnr, "Numero de Factura
    zuonr LIKE vbrk-zuonr, "Codigo Analitico
    kunag LIKE vbrk-kunag, "Codigo Solicitante Cliente
    name1 LIKE kna1-name1, "Nombre Cliente
    opera LIKE vbrk-vbeln, "Operacion
    netwr LIKE vbrk-netwr, "Importe - Valor Neto
    waerk LIKE vbrk-waerk, "Moneda
    fksto LIKE vbrk-fksto, "Anulada
    budat LIKE bkpf-budat, "Fecha de Contabilizacion
    xblnr LIKE bkpf-xblnr, "
    fkart LIKE vbrk-fkart, "Clase de Documento
    END OF t_vbrk.


    DATA: wa_factura TYPE STANDARD TABLE OF t_vbrk WITH HEADER LINE.
    DATA: it_fact TYPE STANDARD TABLE OF t_vbrk WITH HEADER LINE.

    *DATA: it_output TYPE STANDARD TABLE OF t_vbrk WITH HEADER LINE,
    *p_tipo(10).

    *
    **--Selección de la pantalla principal

    SELECTION-SCREEN: BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    SELECT-OPTIONS: so_vbeln FOR vbrk-vbeln.
    SELECT-OPTIONS: so_fkdat FOR vbrk-fkdat.
    SELECT-OPTIONS: so_kunag FOR vbrk-kunag.
    SELECT-OPTIONS: so_fkart FOR vbrk-fkart.
    PARAMETER: so_budat LIKE bkpf-budat.
    PARAMETER: so_fksto LIKE vbrk-fksto.

    SELECTION-SCREEN: END OF BLOCK b1.



    *1- Añadir un checkbox en la pantalla de selección para filtrar por
    *las facturas contabilizadas.
    *2- Añadir en el listado la columna fecha de contabilización

    *Para ver la fecha de contabilización de una factura tienes que acceder
    *a la tabla BKPF y mostrar el campo BUDAT. La manera de linkar la VBRK
    *(cabecera Facturas) y BKPF (cabecera documento contable) es a través
    *del campo , es decir con ese campo de la VBRK accedes a la BKPF y
    *sacas la fecha de contabilización.

    *3- Ordenar por número de factura.

    *Entiendo que esto, sin problema.

    *4- Poner la clase de documento en la pantalla de selección.
    *
    *5- Incluir una columna en el listado que sea la clase de documento.

    *La clase de documento está en VBRK-FKART. Pones un SELECT-OPTION en la
    *pantalla de selección y cuando hagas la selección de la VBRK haces el
    *filtro por este parámetro y listos.

    *&---------------------------------------------------------------------*
    *& Form seleccion_datos
    *&---------------------------------------------------------------------*
    * text
    *----------------------------------------------------------------------*
    * -->IT_ text
    *----------------------------------------------------------------------*
    FORM seleccion_datos TABLES it_vbrk STRUCTURE it_fact. "it_output.

    *--Seleccionando los datos de la BD
    SELECT *
    FROM ( vbrk INNER JOIN kna1
    ON vbrk~kunag = kna1~kunnr )
    INNER JOIN bkpf ON vbrk~xblnr = bkpf~xblnr
    INTO CORRESPONDING FIELDS OF TABLE wa_factura
    WHERE vbeln IN so_vbeln AND
    fkdat IN so_fkdat AND
    kunag IN so_kunag AND
    fksto = so_fksto AND
    budat = SO_BUDAT.


    *--Si trae la información de la BD, clasificar la información
    IF sy-subrc = 0.
    *--Interactuando con la WA donde se guardo la información extraida de BD
    LOOP AT wa_factura.
    *--Moviendo la información de la WA a la TI que se mostrará en el ALV
    MOVE-CORRESPONDING wa_factura TO it_fact.
    *--Agregando la información a la TI
    APPEND it_fact.
    ENDLOOP.
    ENDIF.
    ENDFORM. "selección



    *--Definiendo el primer evento del reporte
    START-OF-SELECTION.
    *-Llamando a las subrutinas y pasandole la TI que se mostraran en el ALV
    PERFORM seleccion_datos TABLES it_fact. "it_output.
    PERFORM alv_create TABLES it_fact. "it_output.


    *Type Pool donde vienen definidas todas las estructuras y tablas
    TYPE-POOLS: slis.

    DATA:
    * Catálogo de campos: contiene la descripción de los campos de salida
    alv_git_fieldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE,
    alv_git_fieldcat_par TYPE slis_t_fieldcat_alv WITH HEADER LINE,
    w_field TYPE slis_t_fieldcat_alv WITH HEADER LINE,
    alv_sort TYPE slis_t_sortinfo_alv,
    t_spec_groups TYPE slis_t_sp_group_alv,

    * Descripción de la estructura de salida
    alv_gwa_layout TYPE slis_layout_alv,
    * alv_gwa_print type slis_print_alv,

    * Cabecera del reporte
    alv_git_heading TYPE slis_t_listheader WITH HEADER LINE,

    * Eventos
    alv_git_events TYPE slis_t_event WITH HEADER LINE,
    alv_gc_save(1) TYPE c,
    alv_gc_exit(1) TYPE c,
    alv_gx_variant LIKE disvariant,
    alv_gx_tmpvariant LIKE disvariant,
    sp_group TYPE slis_sp_group_alv,


    * Nombre de la Tabla con los datos para el ALV
    alv_it_data TYPE slis_formname VALUE 'IT_ALV',

    * Nombre del programa
    alv_gx_repid LIKE sy-repid.


    *-------------------------------------------------------------------*
    * Declaración de constantes
    *-------------------------------------------------------------------*
    CONSTANTS:

    * FORM para escribir el encabezado
    alv_formname_top_of_page TYPE slis_formname VALUE 'ALV_TOP_OF_PAGE',
    * * alv_formname_user_command TYPE slis_formname VALUE 'USER_COMMAND',
    alv_formname_end_of_list TYPE slis_formname VALUE 'ALV_END_OF_LIST'.


    INITIALIZATION.

    * NOMBRE DEL PROGRAMA VARIABLE ALV
    alv_gx_repid = sy-repid.
    PERFORM initialize_variant.
    * gs_print-no_print_listinfos = 'X'.


    *Subrutinas del ALV
    *---------------------------------------------------------------------*
    * FORM alv_build_eventtab *
    *---------------------------------------------------------------------*
    * ........ *
    *---------------------------------------------------------------------*
    FORM alv_build_eventtab.

    FREE alv_git_events.
    *Llamada de la funcion
    CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
    EXPORTING
    i_list_type = 0
    IMPORTING
    et_events = alv_git_events[].

    *Llamada del Top_of_page
    READ TABLE alv_git_events WITH KEY name = slis_ev_top_of_page.

    IF sy-subrc = 0.
    MOVE alv_formname_top_of_page TO alv_git_events-form.
    APPEND alv_git_events.
    ENDIF.


    *Llamada del End_of_list
    READ TABLE alv_git_events WITH KEY name = slis_ev_end_of_list.

    IF sy-subrc = 0.
    MOVE alv_formname_end_of_list TO alv_git_events-form.
    APPEND alv_git_events.
    ENDIF.

    ENDFORM. "alv_build_eventtab


    *&---------------------------------------------------------------------*
    *& Form alv_ini_layout
    *&---------------------------------------------------------------------*
    * text
    *----------------------------------------------------------------------*
    FORM alv_ini_layout.
    * alv_gwa_layout-box_fieldname = 'SEL'.
    * alv_gwa_layout-edit = 'X'.
    *
    *Indica como se vera la pantalla de salida.
    * zebra = 'X' (Lista los registros con dos colores, uno por linea).
    * zebra = ' ' (Lista los registro de un solo color).

    alv_gwa_layout-zebra = 'X'.

    *Detail_popup = ' ' (Al pulsar doble-click en un registro de la lista
    *principal, se presenta otra lista con el detalle).
    *Detail_popup = 'X' (Al pulsar doble-click en un registro de la lista
    *principal, se presenta una ventana con el detalle).
    *
    alv_gwa_layout-detail_popup = ' '.
    ENDFORM. "alv_ini_layout

    *&---------------------------------------------------------------------*
    *& Form alv_ini_fieldcat
    *&---------------------------------------------------------------------*
    * text
    *----------------------------------------------------------------------*
    FORM alv_ini_fieldcat.
    * Mediante esta tabla vamos a definir los campos que se quiere mostrar
    * en el listado de salida.

    *COLUMNAS CLAVES
    CLEAR alv_git_fieldcat.
    REFRESH alv_git_fieldcat.
    alv_git_fieldcat-tabname = alv_it_data.
    alv_git_fieldcat-fix_column = space. "# Dejar campos Fijos

    *--Fecha
    alv_git_fieldcat-fieldname = 'FKDAT'.
    alv_git_fieldcat-seltext_l = text-002.
    alv_git_fieldcat-just = 'C'.
    alv_git_fieldcat-col_pos = '0'.
    alv_git_fieldcat-outputlen = '15'.
    APPEND alv_git_fieldcat. CLEAR alv_git_fieldcat.

    *--Numero de la Factura
    alv_git_fieldcat-fieldname = 'VBELN'.
    alv_git_fieldcat-seltext_l = text-003.
    alv_git_fieldcat-just = 'C'.
    alv_git_fieldcat-col_pos = '1'.
    alv_git_fieldcat-outputlen = '20'.
    APPEND alv_git_fieldcat. CLEAR alv_git_fieldcat.

    *--Numero de la Factura 2
    alv_git_fieldcat-fieldname = 'BELNR'.
    alv_git_fieldcat-seltext_l = text-003.
    alv_git_fieldcat-just = 'C'.
    alv_git_fieldcat-col_pos = '1'.
    alv_git_fieldcat-outputlen = '20'.
    APPEND alv_git_fieldcat. CLEAR alv_git_fieldcat.


    *--Codigo Analitico
    alv_git_fieldcat-fieldname = 'ZUORN'.
    alv_git_fieldcat-seltext_l = text-004.
    alv_git_fieldcat-just = 'L'.
    alv_git_fieldcat-col_pos = '2'.
    alv_git_fieldcat-outputlen = '20'.
    APPEND alv_git_fieldcat. CLEAR alv_git_fieldcat.

    *--Cliente
    alv_git_fieldcat-fieldname = 'NAME1'. "'KUNAG'.
    alv_git_fieldcat-seltext_l = text-005.
    alv_git_fieldcat-just = 'L'.
    alv_git_fieldcat-col_pos = '3'.
    alv_git_fieldcat-outputlen = '40'.
    APPEND alv_git_fieldcat. CLEAR alv_git_fieldcat.

    *--Operacion
    alv_git_fieldcat-fieldname = 'VBELN'.
    alv_git_fieldcat-seltext_l = text-006.
    alv_git_fieldcat-just = 'L'.
    alv_git_fieldcat-col_pos = '4'.
    alv_git_fieldcat-outputlen = '20'.
    APPEND alv_git_fieldcat. CLEAR alv_git_fieldcat.

    *--Importe
    alv_git_fieldcat-fieldname = 'NETWR'.
    alv_git_fieldcat-seltext_l = text-007.
    alv_git_fieldcat-just = 'L'.
    alv_git_fieldcat-col_pos = '5'.
    alv_git_fieldcat-outputlen = '7'.
    APPEND alv_git_fieldcat. CLEAR alv_git_fieldcat.

    *--Moneda local
    alv_git_fieldcat-fieldname = 'WAERK'.
    alv_git_fieldcat-seltext_l = text-007.
    alv_git_fieldcat-just = 'L'.
    alv_git_fieldcat-col_pos = '5'.
    alv_git_fieldcat-outputlen = '7'.
    APPEND alv_git_fieldcat. CLEAR alv_git_fieldcat.

    *--Anulada
    alv_git_fieldcat-fieldname = 'FKSTO'.
    alv_git_fieldcat-seltext_l = text-008.
    alv_git_fieldcat-just = 'L'.
    alv_git_fieldcat-col_pos = '5'.
    alv_git_fieldcat-outputlen = '7'.
    APPEND alv_git_fieldcat. CLEAR alv_git_fieldcat.


    *--Fecha de Contabilizacion
    alv_git_fieldcat-fieldname = 'BUDAT'.
    alv_git_fieldcat-seltext_l = text-010.
    alv_git_fieldcat-just = 'L'.
    alv_git_fieldcat-col_pos = '5'.
    alv_git_fieldcat-outputlen = '15'.
    APPEND alv_git_fieldcat. CLEAR alv_git_fieldcat.

    ENDFORM. "alv_ini_fieldcat
    *&---------------------------------------------------------------------*
    *& Form alv_build_comment
    *&---------------------------------------------------------------------*
    * text
    *----------------------------------------------------------------------*
    FORM alv_build_comment.

    *Definicion del contenido del top_of_page
    DATA: aux_1(100) TYPE c,
    aux_2(100) TYPE c,
    empresa_nombre TYPE t001-butxt,
    fch1(10) TYPE c,
    fch2(10) TYPE c.

    DATA: divi(100) TYPE c,
    div_asignada TYPE c.

    FREE alv_git_heading.

    CLEAR aux_1.
    aux_1 = ' '.
    alv_git_heading-typ = 'H'.
    alv_git_heading-key = aux_1.
    alv_git_heading-info = aux_1.
    APPEND alv_git_heading.


    CLEAR aux_1.
    aux_1 = 'Listado de Facturas'.
    alv_git_heading-typ = 'H'.
    * alv_git_heading-key = aux_1.
    alv_git_heading-info = aux_1.
    APPEND alv_git_heading.

    * Fecha
    alv_git_heading-typ = 'S'.
    DATA fecha(10).
    PERFORM format_date USING sy-datum CHANGING fecha.
    alv_git_heading-key = 'Fecha: '.
    alv_git_heading-info = fecha.
    APPEND alv_git_heading.

    ENDFORM. "alv_build_comment
    *&---------------------------------------------------------------------*
    *& Form format_date
    *&---------------------------------------------------------------------*
    * text
    *----------------------------------------------------------------------*
    * -->P_SY_DATUM text
    * <--P_FECHA text
    *----------------------------------------------------------------------*
    FORM format_date USING fecha_entrada LIKE sy-datum
    CHANGING fecha_salida TYPE c.

    *Definicion formato de la fecha
    CONCATENATE fecha_entrada+6(2) fecha_entrada+4(2) fecha_entrada+0(4)
    INTO fecha_salida SEPARATED BY '/'.


    ENDFORM. " format_date

    *&---------------------------------------------------------------------*
    *& Form alv_listado
    *&---------------------------------------------------------------------*
    * text
    *----------------------------------------------------------------------*
    * -->P_IT_ALV text
    *----------------------------------------------------------------------*
    FORM alv_listado TABLES it_fact. "p_it_alv.

    DATA: lc_glay TYPE lvc_s_glay.

    lc_glay-edt_cll_cb = 'X'.

    *Llamado de la funcion del ALV



    ***************
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
    * I_INTERFACE_CHECK = ' '
    * I_BYPASSING_BUFFER = ' '
    i_buffer_active = ' '
    i_callback_program = alv_gx_repid "g_repid
    * i_callback_pf_status_set = 'ALV_PF_STATUS_SET'
    * i_callback_user_command = 'USER_COMMAND'
    i_structure_name = 'it_fact' "alv_it_data "'T_DATOS'
    is_layout = alv_gwa_layout "gs_layout
    it_fieldcat = alv_git_fieldcat[] "gt_fieldcat[]
    * I_CALLBACK_PROGRAM = ' '
    * 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 =
    * I_BACKGROUND_ID = ' '
    * I_GRID_TITLE =
    * I_GRID_SETTINGS =
    * IT_FIELDCAT =
    * IT_EXCLUDING =
    * IT_SPECIAL_GROUPS =
    it_sort = alv_sort[]
    * IT_FILTER =
    * IS_SEL_HIDE =
    i_default = 'A' " 'X'
    i_save = alv_gc_save "'A'
    is_variant = alv_gx_variant "gx_variant
    it_events = alv_git_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 = it_fact "t_datos

    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. "alv_listado
    *&---------------------------------------------------------------------*
    *& Form alv_top_of_page
    *&---------------------------------------------------------------------*
    * text
    *----------------------------------------------------------------------*
    FORM alv_top_of_page.

    *Llamado de la funcion del top_of_page
    CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    EXPORTING
    it_list_commentary = alv_git_heading[].
    * I_LOGO =
    * I_END_OF_LIST_GRID =

    ENDFORM. "alv_top_of_page
    *&---------------------------------------------------------------------*
    *& Form alv_create
    *&---------------------------------------------------------------------*
    * text
    *----------------------------------------------------------------------*
    FORM alv_create TABLES it_fact. "p_it_output.

    *Llamados de las subrutinas del ALV
    *** PERFORM ordenar_por USING alv_sort[].
    PERFORM alv_build_eventtab.
    PERFORM alv_ini_layout.
    PERFORM alv_ini_fieldcat.
    PERFORM alv_build_comment.
    PERFORM alv_listado TABLES it_fact. "p_it_output.


    ENDFORM. "alv_create
    *&---------------------------------------------------------------------*
    *& Form initialize_variant
    *&---------------------------------------------------------------------*
    * text
    *----------------------------------------------------------------------*
    FORM initialize_variant.

    *Llamado de la variable de inicializacion del programa
    alv_gc_save = 'A'.
    CLEAR alv_gx_variant.
    alv_gx_variant-report = alv_gx_repid.
    alv_gx_variant = alv_gx_variant.

    CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
    EXPORTING
    i_save = alv_gc_save
    CHANGING
    cs_variant = alv_gx_variant
    EXCEPTIONS
    not_found = 2.
    IF sy-subrc = 0.
    vari = alv_gx_variant-variant.
    ENDIF.

    ENDFORM. "initialize_variant

    **&---------------------------------------------------------------------
    *
    **& Form ordenar_por
    **&---------------------------------------------------------------------
    *
    ** text
    **----------------------------------------------------------------------
    *
    ** -->P_SORT text
    **----------------------------------------------------------------------

    ***FORM ordenar_por USING p_sort TYPE slis_t_sortinfo_alv.
    ***
    *** DATA: wa_sort TYPE slis_sortinfo_alv.
    *** CLEAR wa_sort.
    *** wa_sort-fieldname = 'vbeln'.
    *** wa_sort-spos = 1.
    *** wa_sort-up = 'X'.
    *** wa_sort-subtot = 'X'.
    *** APPEND wa_sort TO p_sort.
    ***
    ***
    ***ENDFORM. " ordenar_por

    *&---------------------------------------------------------------------*
    *& Form alv_pf_status_set
    *&---------------------------------------------------------------------*
    * text
    *----------------------------------------------------------------------*
    * -->EXTAB text
    *----------------------------------------------------------------------*
    *FORM alv_pf_status_set USING extab TYPE slis_t_extab."TABLES
    *p_it_output
    *
    * SET PF-STATUS 'ESTANDAR_NEW_II'. " EXCLUDING p_it_output.
    *
    *ENDFORM. "alv_pf_status_set

    *&---------------------------------------------------------------------*
    *& Form refresca_alv
    *&---------------------------------------------------------------------*
    * text
    *----------------------------------------------------------------------*
    * -->U_SELFIELD text
    *----------------------------------------------------------------------*
    FORM refresca_alv USING u_selfield TYPE slis_selfield.

    u_selfield-refresh = 'X'.
    u_selfield-col_stable = 'X'.
    u_selfield-row_stable = 'X'.

    ENDFORM. "refresca_alv

    *&---------------------------------------------------------------------*
    *& Form ALV_END_OF_LIST
    *&---------------------------------------------------------------------*
    * text
    *----------------------------------------------------------------------*
    *FORM alv_end_of_list.
    *
    **Seleccion del end_of_list
    ** DATA: aux_5(100) TYPE c.
    **
    ** FREE alv_git_heading.
    ** aux_5 = 'Días'.
    ** alv_git_heading-typ = 'S'.
    ** alv_git_heading-key = aux_5.
    *** alv_git_heading-info = suma.
    ** APPEND alv_git_heading.
    **
    ** CLEAR aux_5.
    *** FREE alv_git_heading.
    ** aux_5 = 'Promedio de días'.
    ** alv_git_heading-typ = 'S'.
    ** alv_git_heading-key = aux_5.
    *** alv_git_heading-info = promedio.
    ** APPEND alv_git_heading.
    **
    * CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    * EXPORTING
    * it_list_commentary = alv_git_heading[]
    * i_end_of_list_grid = 'end'.
    **
    **
    **
    *ENDFORM. "ALV_END_OF_LIST

    Gracias....
  • pirri
    Senior Member
    • dic
    • 127

    #2
    Así por encima... ¿has mirado que te lleguen datos de la selección?

    Ponle un break-point despues de la selección, quizás sólo sea que no te está encontrando datos.


    Otra cosa, que no impide obtener datos pero sería bueno revisar, usas el parametro it_vbrk como tabla en seleccion_datos pero luego usas el global it_fact. Sería mejor usar it_vrk.


    Un saludo.

    Comentario

    • dayanareyes
      Member
      • jul
      • 36

      #3
      Originalmente publicado por pirri
      Así por encima... ¿has mirado que te lleguen datos de la selección?

      Ponle un break-point despues de la selección, quizás sólo sea que no te está encontrando datos.


      Otra cosa, que no impide obtener datos pero sería bueno revisar, usas el parametro it_vbrk como tabla en seleccion_datos pero luego usas el global it_fact. Sería mejor usar it_vrk.


      Un saludo.
      si que trae los datos pero nada no me salen en el listado POR FAVOR tengo q entregar esto ya

      Comentario

      • larmadovr
        Member
        • ene
        • 77

        #4
        Hola, estoy revisando tu programa.

        Avisame si todavía necesitas ayuda, para poder enviarte el código
        I.S.C.T. Luis Armando Valdez Rodríguez
        Consultor ABAP
        correo: larmandovr@hotmail.com
        cel: (045) 5537406023

        "La vida premia la acción"

        Comentario

        • larmadovr
          Member
          • ene
          • 77

          #5
          Por si aún lo ocupas.

          tienes el siguiente código:

          TYPES: BEGIN OF t_vbrk,
          fkdat LIKE vbrk-fkdat, "Fecha de la Factura
          vbeln LIKE vbrk-vbeln, "Numero de la Factura
          belnr LIKE vbrk-belnr, "Numero de Factura
          zuonr LIKE vbrk-zuonr, "Codigo Analitico
          kunag LIKE vbrk-kunag, "Codigo Solicitante Cliente
          name1 LIKE kna1-name1, "Nombre Cliente
          opera LIKE vbrk-vbeln, "Operacion
          netwr LIKE vbrk-netwr, "Importe - Valor Neto
          waerk LIKE vbrk-waerk, "Moneda
          fksto LIKE vbrk-fksto, "Anulada
          budat LIKE bkpf-budat, "Fecha de Contabilizacion
          xblnr LIKE bkpf-xblnr, "
          fkart LIKE vbrk-fkart, "Clase de Documento
          END OF t_vbrk.


          DATA: wa_factura TYPE STANDARD TABLE OF t_vbrk WITH HEADER LINE.
          DATA: it_fact TYPE STANDARD TABLE OF t_vbrk WITH HEADER LINE.


          Prueba con lo siguiente:

          1.- Crear estructura zvbrk con los datos que tienes en tu tabla interna del ejemplo de arriba.

          2.- Declarar lo siguiente:

          * Se declara tu wa del tipo estructura que creaste en el diccionario
          TYPES: BEGIN OF wa_factura .
          INCLUDE STRUCTURE zvbrk.
          TYPES: END OF wa_factura .

          * Se declara una tabla interna con referencia a tu wa
          DATA: t_vbrk TYPE STANDARD TABLE OF wa_factura WITH HEADER LINE.

          3.- Los datos que quieres sean mostrados, asignalos directamente a t_vbrk

          4.- ejecuta el programa y listo.

          Este problema es básicamente por la versión de R/3. Por que incluso yo ejecute tu mismo código en la 4.6C y si mostró datos.

          Ahora prueba con este ejemplo y si no sale, me avisas para seguir analizando.

          Saludos.
          3.-
          I.S.C.T. Luis Armando Valdez Rodríguez
          Consultor ABAP
          correo: larmandovr@hotmail.com
          cel: (045) 5537406023

          "La vida premia la acción"

          Comentario

          • nenuke
            Member
            • sep
            • 87

            #6
            Hola,

            he probado tu código y saca los datos perfectamente, prueba a cerrar todos los modos de desarrollo y volver a activar los objetos. A veces se te queda la versión anterior a la modificación activa y no estas ejecutando la ultima versión de tu programa.

            Un saludo.

            Comentario

            • pirri
              Senior Member
              • dic
              • 127

              #7
              Después del agonico mensaje también lo he comprobado y va bien. Alguna cosita modificaría del select y demás, pero a mi me saca los datos OK.

              Lo único que te debería dar problema es el campo SO_BUDAT si no coincide la contabilización, debe ir relleno con alguna fecha. BKPF debe tener fecha de contabilización.

              Un saludo.

              Comentario

              • pirri
                Senior Member
                • dic
                • 127

                #8
                Creo que no se entiende mi última frase. SO_BUDAT debe tener alguna fecha ya que en la BKPF el campo BUDAT siempre contiene fecha de contabilización y con parameter obligas si no está relleno a que este vacío también en la tabla BKPF.

                Si en lugar de parameter usas "SELECT-OPTIONS so_budat for bkpf-budat" te quitas el problema.

                Y en el select a mí me gusta poner la tabla de cada campo

                Where
                vbrk~vbeln IN so_vbeln AND
                vbrk~fkdat IN so_fkdat AND
                vbrk~kunag IN so_kunag AND
                vbrk~fksto = so_fksto AND
                bkpf~budat IN so_budat.

                Un saludo y espero que llegaras a tiempo.

                Comentario

                • dayanareyes
                  Member
                  • jul
                  • 36

                  #9
                  holaaaaaaa

                  gracias a todos ya lo he podido respolver si era una de las validaqciones del select q me daba problema.

                  graciasssss

                  Comentario

                  Trabajando...