Ver Mensaje Individual
  #6  
Viejo 02/06/14, 18:26:12
aaron alfonso aaron alfonso is offline
Junior Member
 
Fecha de Ingreso: may 2014
Localización: culiacan mexico
Mensajes: 27
help.!!

hola estoy atorado he seguido consejos pero aun no me inserta los datos en alv aun si me muestra alv pero vacío.



*&---------------------------------------------------------------------*
*&Report ZVERCONSULTA
*&---------------------------------------------------------------------*
*&Analisis de Documentos FI
*&---------------------------------------------------------------------*
REPORT ZCONSULTA_DOCFI.

TABLES:BKPF,BSEG.
TYPES: BEGIN OF TY_BKPF,
BUKRS TYPE BKPF-BUKRS,
BELNR TYPE BKPF-BELNR,
GJAHR TYPE BKPF-GJAHR,
BLDAT TYPE BKPF-BLDAT,
BUDAT TYPE BKPF-BUDAT,
XBLNR TYPE BKPF-XBLNR,
BKTXT TYPE BKPF-BKTXT,
BLART TYPE BKPF-BLART,
END OF TY_BKPF.

TYPES: BEGIN OF TY_BSEG,
BUKRS TYPE BSEG-BUKRS,
BELNR TYPE BSEG-BELNR,
GJAHR TYPE BSEG-GJAHR,
SGTXT TYPE BSEG-SGTXT,
PRCTR TYPE BSEG-PRCTR,
END OF TY_BSEG.

TYPES: BEGIN OF TY_DATOS,
BUKRS TYPE BKPF-BUKRS,
BELNR TYPE BKPF-BELNR,
GJAHR TYPE BKPF-GJAHR,
BLDAT TYPE BKPF-BLDAT,
BUDAT TYPE BKPF-BUDAT,
XBLNR TYPE BKPF-XBLNR,
BKTXT TYPE BKPF-BKTXT,
BLART TYPE BKPF-BLART,
SGTXT TYPE BSEG-SGTXT,
PRCTR TYPE BSEG-PRCTR,
END OF TY_DATOS.

DATA:e_layout TYPE lvc_s_layo,
t_fcat TYPE lvc_t_fcat,
fldtext TYPE char50.

DATA: T_DATOS TYPE STANDARD TABLE OF TY_DATOS,
T_BKPF TYPE STANDARD TABLE OF TY_BKPF,
T_BSEG TYPE STANDARD TABLE OF TY_BSEG.

DATA: WA_BKPF TYPE TY_BKPF,
WA_BSEG TYPE TY_BSEG,
WA_DATOS TYPE TY_DATOS.

" FILTROS DE BUSQUEDA DE CAMPOS
SELECT-OPTIONS:
S_BELNR FOR BKPF-BELNR,
S_BLDAT FOR BKPF-BLDAT,
S_GJAHR FOR BKPF-GJAHR,
S_BUDAT FOR BKPF-BUDAT,
S_XBLNR FOR BKPF-XBLNR,
S_BLART FOR BKPF-BLART.
PARAMETERS:
P_BUKRS LIKE BKPF-BUKRS OBLIGATORY.
*&--------------------------------------------------------------------*
START-OF-SELECTION."Ejecuta sub-rutinas
PERFORM PIDE_DATOS. "Sub-rutina paso 1
PERFORM REPORTE_ALV."Sub-rutina paso 2
*&--------------------------------------------------------------------*
FORM PIDE_DATOS.
SELECT BUKRS BELNR GJAHR BLDAT BUDAT XBLNR BKTXT BLART
FROM BKPF INTO TABLE T_BKPF
WHERE
BUKRS EQ P_BUKRS
AND BELNR IN S_BELNR
AND GJAHR IN S_GJAHR.

IF T_BKPF[] IS NOT INITIAL.

SELECT BUKRS BELNR GJAHR SGTXT PRCTR
FROM BSEG INTO TABLE T_BSEG
FOR ALL ENTRIES IN T_BKPF
WHERE
BUKRS EQ T_BKPF-BUKRS
AND BELNR EQ T_BKPF-BELNR
AND GJAHR EQ T_BKPF-GJAHR.
ENDIF.

LOOP AT T_BKPF INTO WA_BKPF.

WA_DATOS-BUKRS = WA_BKPF-BUKRS.
WA_DATOS-BELNR = WA_BKPF-BELNR.
WA_DATOS-GJAHR = WA_BKPF-GJAHR.
WA_DATOS-XBLNR = WA_BKPF-XBLNR.
WA_DATOS-BKTXT = WA_BKPF-BKTXT.
WA_DATOS-BLART = WA_BKPF-BLART.
WA_DATOS-BUDAT = WA_BKPF-BUDAT.
WA_DATOS-BLDAT = WA_BKPF-BLDAT.

IF SY-SUBRC EQ 0.
WA_DATOS-SGTXT = WA_BSEG-SGTXT.
WA_DATOS-PRCTR = WA_BSEG-PRCTR.
ENDIF.

READ TABLE T_BKPF INTO WA_BKPF
WITH KEY BUKRS = WA_BKPF-BUKRS
BELNR = WA_BKPF-BELNR
GJAHR = WA_BKPF-GJAHR.

ENDLOOP.

APPEND WA_DATOS TO T_DATOS.
CLEAR WA_DATOS.

ENDFORM.
*&--------------------------------------------------------------------*
*REPORTE_ALV.- "SUBRUTINA" (SI AHI DATOS EMPIEZA)SI HAY DATOS,CARGA LOS DATOS Y EL CATALOGO.
*SI NO(NO PRESENTA DATOS)
*&--------------------------------------------------------------------*
FORM REPORTE_ALV.
CHECK NOT T_DATOS[] IS INITIAL." REVISA SI REALMENTE AHI DATOS EN (TAB.INT.) T_DATOS
PERFORM catalogo_fcat.
e_layout-zebra = 'X'.
e_layout-sel_mode = 'D'.
e_layout-no_rowmove = 'X'.
e_layout-col_opt = 'X'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC' "LLAMADO DE FUNCION ALV.
EXPORTING
i_callback_program = sy-repid
i_callback_html_top_of_page = 'MY_HTML_TOP_PAGE'
is_layout_lvc = e_layout
it_fieldcat_lvc = t_fcat
TABLES
t_outtab = T_DATOS
EXCEPTIONS
program_error = 1.

IF SY-TCODE ='ZCONSULTA_DOCFI'.
ENDIF.
ENDFORM.
*&---------------------------------------------------------------------*
* CATALOGO.- COLOCA LAS CABECERAS DEL ALV
*&---------------------------------------------------------------------*
FORM catalogo_fcat.
PERFORM agrega_campos USING:
'BUKRS' 'BUKRS' 'BKPF' space space,
'BELNR' 'BELNR' 'BKPF' space space,
'GJAHR' 'GJAHR' 'BKPF' space space,
'BLDAT' 'BLDAT' 'BKPF' space space,
'BUDAT' 'BUDAT' 'BKPF' space space,
'XBLNR' 'XBLNR' 'BKPF' space space,
'BKTXT' 'BKTXT' 'BKPF' space space,
'BLART' 'BLART' 'BKPF' space space,
'SGTXT' 'SGTXT' 'BSEG' space space,
'PRCTR' 'PRCTR' 'BSEG' space space.
ENDFORM. " CATALOGO_FCAT
*&---------------------------------------------------------------------*
* AGREGA CAMPOS
*&---------------------------------------------------------------------*
FORM agrega_campos USING
value(p1) value(p2) value(p3) value(p4) value(p5).
DATA l_fcat TYPE lvc_s_fcat.
l_fcat-fieldname = p1.
l_fcat-ref_field = p2.
l_fcat-ref_table = p3.
l_fcat-coltext = p4.
l_fcat-inttype = p5.
l_fcat-col_opt = 'X'.
IF p5 NE space.
l_fcat-intlen = 20.
l_fcat-decimals = 2.
l_fcat-decimals_o = 2.
ENDIF.
APPEND l_fcat TO t_fcat.
ENDFORM. " finliza agrega_campos
*&---------------------------------------------------------------------*
*&Form MY_USER_COMMAND
*&---------------------------------------------------------------------*
FORM my_user_command USING p_ucomm TYPE sy-ucomm
p_selfield TYPE slis_selfield.
CASE p_ucomm.
WHEN 'REGR' OR 'SALI'.
p_selfield-exit = abap_true.
ENDCASE.

ENDFORM. " MY_USER_COMMAND
*-----------------------------------------------------------------------*
__________________
tenchy
Responder Con Cita