|
#1
|
|||
|
|||
Call transaction no me guarda mensaje de error
Hola
Estoy realizando un Call transaction 'KO88 ' el cual le estoy dando todos los parámetros correctos pero no me esta trayendo los mensajes de error. Como se que hay un mensaje de error? y es porque le pongo al Upmode 'N' para poder visualizarlo y además el Sy-subrc me trae '1001' lo cual es error en el proceso. No entiendo por qué mi tabla de mensaje no los trae. He leído que los Call transaction no son buenos trayendo los mensajes de error, pero no me había ocurrido antes. También he leído que es mejor usar una BAPI, alguna que sugieran para usar la KO88 ?? Muchas gracias. |
#2
|
|||
|
|||
Call transaction no me guarda mensaje de error
Hola Chisto,
1. para ir paso a paso visualizando la ejecución el modo debe ser igual a 'A'. 2. el call transaction que haces en el programa debería tener más o menos esta estructura: DATA: messtab LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE. DATA: L_MSTRING(480). REFRESH MESSTAB. CALL TRANSACTION TCODE USING BDCDATA MODE CTUMODE UPDATE CUPDATE MESSAGES INTO MESSTAB. IF SY-SUBRC NE 0. LOOP AT MESSTAB. SELECT SINGLE * FROM T100 WHERE SPRSL = MESSTAB-MSGSPRA AND ARBGB = MESSTAB-MSGID AND MSGNR = MESSTAB-MSGNR. IF SY-SUBRC = 0. L_MSTRING = T100-TEXT. IF L_MSTRING CS '&1'. REPLACE '&1' WITH MESSTAB-MSGV1 INTO L_MSTRING. REPLACE '&2' WITH MESSTAB-MSGV2 INTO L_MSTRING. REPLACE '&3' WITH MESSTAB-MSGV3 INTO L_MSTRING. REPLACE '&4' WITH MESSTAB-MSGV4 INTO L_MSTRING. ELSE. REPLACE '&' WITH MESSTAB-MSGV1 INTO L_MSTRING. REPLACE '&' WITH MESSTAB-MSGV2 INTO L_MSTRING. REPLACE '&' WITH MESSTAB-MSGV3 INTO L_MSTRING. REPLACE '&' WITH MESSTAB-MSGV4 INTO L_MSTRING. ENDIF. CONDENSE L_MSTRING. WRITE: / MESSTAB-MSGTYP, L_MSTRING(250). ELSE. WRITE: / MESSTAB. ENDIF. ENDLOOP. ENDIF. en la tabla interna MESSTAB debe registrarse todos los mensajes de error. Espero que lo enviado te ayude en algo. Saludos. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|