#1
|
||||
|
||||
Tabla de Mensajes de un BI
Buenas a todos!!
Me surgio el siguiente problema: en un BI cargo los datos correspondientes y luego necesito visualizar un log con aquellos registros que se actualizaron y con aquellos que, por alguna razon, no se actualizaron. El tema es que muchas veces el registro no se actualizo y me viene en la tabla de mensajes del BI el tipo de mensaje S el cual tengo entendido que me lo tira cuando esta todo bien, sin embargo, el registro no fue actualizado. alguna sugerencia? Muchas gracias! saludos Alterpeke.
__________________
Cuando El Sabio Apunta a La Luna... El Necio Solo Logra Ver El Dedo. |
#2
|
|||
|
|||
bueno..si copiaras los mensajes que estan en la tabla de mensajes sería bastante útil, es posible que ciertos registros no sean actualizados y por como esta hecho el proceso en vez de deternerse sigue con el proximo registro..en esa tabla se puede analizar porqué.
A veces los mensajes ahi no son del todo claros y hay que buscar los textos mas explicativos en una tabla donde estan descritos los textos de los mensajes depeniendo de su tipo de mensaje y su numero Úlima edición por azua14 fecha: 16/11/07 a las 13:48:46. |
#3
|
|||
|
|||
No entiendo algo de tu descripción del problema:
Si tienes un Batch Input, el log YA ESTA resuelto en la SM35.... ¿o cargas una BDCDATA para hacer Call Transaction??? En ese caso al recuperar los mensajes (transacc por transacc.) deberás saber de antemano cuál es el correcto (type=S, ID=XX, number=yyy => "registro actualizado correctamente") y preguntar si ESE específicamente está entre los mensajes de la Transacc. que acaba de realizarse, si NO se encuentra es que NO se actualizó la tabla de SAP y por lo tanto tu puedes programar lo que quieras (un mensaje al usuario; cargar los datos en una tabla para un futuro reproceso; etc) |
#4
|
||||
|
||||
Prueba este código, por si te vale .....
DATA: BEGIN OF messages OCCURS 0. INCLUDE STRUCTURE bdcmsgcoll. DATA: END OF messages. batch input .... batch input .... batch input .... batch input .... CALL TRANSACTION 'XXXXX' USING bdcdata MODE 'N' UPDATE 'A' MESSAGES INTO messages. LOOP AT messages WHERE msgtyp = 'E' OR msgtyp = 'A'. ENDLOOP. IF sy-subrc EQ 0. MESSAGE ID messages-msgid TYPE 'I' NUMBER messages-msgnr WITH messages-msgv1 messages-msgv2. MESSAGE i398(00) WITH 'No se pudo crear el registro'. e_flg_error = true. ENDIF. REFRESH messages. REFRESH bdcdata. CLEAR: bdcdata, messages. Saludos
__________________
Úlima edición por tomasm fecha: 19/11/07 a las 13:51:22. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|