PDA

Ver la Versión Completa : Raise_exception.


BY_MY
20/09/07, 19:22:30
Hola, me han pedido poner un break-point dentro de esta funcion pero como se llama por rfc desde una aplicacion esterna creo que no es viable.El problema es que da un DUMP por raise-exception. He podido ver que no tiene la excepcion OTHERS pero co creo que sea por eso ¿o si?. Segun el DUMP el problema esta en la linea dentro del IF " RAISE FAILURE." pero no tengo ni idea de como comprobar el porque o como arreglarlo.Al ser codigo standar las opciones se reducen muchisimo y mas que probarlo lo que me piden es mi opinion de porque da el error o como ver los datos que llegan aqui.

¿Alguna idea?


CALL FUNCTION 'MEPO_DOC_ACCOUNTING_GET'
EXPORTING
IM_EBELP = L_ITEM_NUMBER
IM_ZEKKN = PO_ACCOUNTING_NUMBER
IMPORTING
EX_ACCOUNTING = EX_DATA
EXCEPTIONS
FAILURE = 01.
IF SY-SUBRC NE 0.
RAISE FAILURE.
ENDIF.



MUCHISIMAS GRACIAS de antemano.

Daemonjr
20/09/07, 19:33:10
Si tiene o no OTHERS la función no es importante en si, que los mensajes dentro del modulo de la funcion devuelvan la excepción es suficiente, luego solo hay que ver que tenga el RAISE delante del mensaje de error y lo devuelve a donde es llamado o capturado el error.
Proba activando el "debugging system", eso lo haces desde la barra de menu, en "sistema->Utilidades->debugging system"

Espero te haya ayudado.

BY_MY
24/09/07, 10:10:04
Hola, gracias por el interes y la respuesta. El problema es la propia linea "RAISE FAILURE" ya lo debugge hasta donde pude antes de escribiros, el problema es que es una llamada RFC desde un sistema externo con lo que la cosa del debbuging se complica por no decir imposible. Añadido a que es codigo Standart... bueno os cuento como hice.

En un entorno Sandbox se me ocurrio llamar al Patter y para mi sorpresa la llamada que se genera es distinta y esa funciona perfectamente, devolviendo el error en un mensaje, pero cuando pones el "RAISE FAILURE" :eek: :eek: :eek: :eek: :eek: :eek: :eek: :eek: Y ejecutas.... DUMP.

Con lo que la cosa esta clara, ahora si pudiera saber que datos le llegan y salen de la llamada seria genial peeeeerrrooo, como digo es una llamada remota desde un sistema externo y creo (al menos yo no se como) que poner break-point o debbugearlo es imposible si es llamada remota.

Saludos y muchas gracias.:) :) :) :)