MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Tabla de Mensajes de un BI (foro/showthread.php?t=9129)

alterpeke 16/11/07 12:25:11

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.

azua14 16/11/07 13:45:50

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

Jorge L T 16/11/07 18:11:04

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)

tomasm 19/11/07 13:34:41

Prueba este código, por si te vale ..... :p

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 :eek:


Husos Horarios son GMT. La hora en este momento es 09:52:47.

www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web