|
Código fuente -
Informativos
|
|
Lunes, 07 de Julio de 2003 21:09 |
Extrae información de logs de Batch Input
************************************************************************
* Listado que muestra la información de un log resultado de la *
* ejecución de un batch input. *
* Útil para analizar resultados tras la ejecución *
* *
* Andrés Picazo 18/11/2002 http://www.sapabap.cc *
* *
************************************************************************
REPORT z_logs_batch_input LINE-SIZE 132.
TABLES: apqd, apql, tst01, bapiret2.
DATA: BEGIN OF logtable OCCURS 50, " plain log information in TemSe
enterdate LIKE btctle-enterdate,
entertime LIKE btctle-entertime,
logmessage(400) TYPE c,
END OF logtable.
DATA: l_logtable LIKE logtable.
DATA: i_apql LIKE apql OCCURS 100 WITH HEADER LINE.
SELECTION-SCREEN BEGIN OF BLOCK a1 WITH FRAME.
SELECT-OPTIONS: s_credat FOR apql-credate, "Fecha creación batch input
s_groupi FOR apql-groupid OBLIGATORY, "N. juego datos
s_creato FOR apql-creator. "Usuario que lo creo SELECTION-SCREEN END OF BLOCK a1.
SELECTION-SCREEN BEGIN OF BLOCK a2 WITH FRAME.
SELECT-OPTIONS: s_date FOR sy-datum, "Fecha log
s_time FOR sy-uzeit. "Hora log
SELECTION-SCREEN END OF BLOCK a2.
START-OF-SELECTION.
SELECT * FROM apql
INTO TABLE i_apql
WHERE credate IN s_credat
AND groupid IN s_groupi
AND creator IN s_creato
AND mandant = sy-mandt.
LOOP AT i_apql.
WRITE: / 'Inicio log',
i_apql-groupid.
SKIP.
FREE logtable.
PERFORM read_bdc_log_plain(rsbdc_protocol)
TABLES
logtable
USING
i_apql-temseid i_apql-mandant.
LOOP AT logtable WHERE enterdate IN s_date
AND entertime IN s_time.
l_logtable = logtable.
AT FI??†?_?;?;???;?;???????????????????????????????????†††???????????????????????†††?????????????????†††???????????????›?????????????????????????›????????????????†††††††††††††???????????††††???????????????††???????????????????????†††††††??????????????????????????????????????????;?;??????????????†††††††????????????????????????8??????????????????†††††††???????????????†††††††????????????_A????RST.
WRITE: / 'Fecha: ', l_logtable-enterdate,
l_logtable-entertime.
SKIP.
ENDAT.
IF logtable-logmessage+9(20) NE ''.
WRITE: / logtable-entertime,
logtable-logmessage+3(6), "Indice
(4) logtable-logmessage+9(20), "Transacción
(12) logtable-logmessage+29(40), "Programa
logtable-logmessage+69(4), "Nº dynpro
logtable-logmessage+73(1), "Tipo mensaje
(3) logtable-logmessage+74(16), "Clase mensaje
logtable-logmessage+94(3), "Nº mensaje
logtable-logmessage+100(20). "Var1
bapiret2-id = logtable-logmessage+74(16).
bapiret2-number = logtable-logmessage+94(3).
bapiret2-message_v1 = logtable-logmessage+100(20).
CALL FUNCTION 'BAPI_MESSAGE_GETDETAIL'
EXPORTING
id = bapiret2-id
number = bapiret2-number
textformat = 'ASC'
message_v1 = bapiret2-message_v1
IMPORTING
message = bapiret2-message.
WRITE: (60) bapiret2-message.
ENDIF.
AT LAST.
SKIP.
ULINE.
SKIP.
ENDAT.
ENDLOOP.
ENDLOOP.
|