MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   TRY-CATCH abap (foro/showthread.php?t=33412)

felix_cid 03/11/09 14:35:00

TRY-CATCH abap
 
Amigos:

Estoy tratando de controlar un dump en una función Z, el problema es que no sé como poder buscar el tipo de CATCH que corresponde al error que deseo manejar, ¿sabe alguien donde buscar los diferentes tipos de CATCH que existen?, por ejemplo encontré esto:

TRY.
INSERT INTO ZPROYECTOS VALUES WA_ZPROYEC.
CATCH CX_SY_DYNAMIC_OSQL_ERROR.
MESSAGE ‘Error al actualizar la tabla ZPROYECTOS’ TYPE ‘I’.
ENDTRY.

...pero...me imagino que no sólo existe el CX_SY_DYNAMIC_OSQL_ERROR, ¿dónde encuentro los demás tipos de control de error?

DavidXD_XD 03/11/09 14:48:29

Hola Felix, intenta que tu programa genere un DUMP, cuando lo veas veras en las 3 primeras lineas el nombre de la excepción que deberás colocar dentro de la sentencia CATCH, si ya generast un DUMP puedes ir d frente a la ST22 y verla, espero te pueda ayudar :D

ic_man_777 03/11/09 16:47:07

Cx_root
 
También existe una excepción genérica, la cuál nunca he probado, porque comunmente uno maneja las excepciones que uno sabe que pueden ocurrir (cuando ya nos ha mandado algún DUMP, como dice David). La excepción es:

CX_ROOT.

felix_cid 03/11/09 17:45:50

Muchas gracias por la información, me queda clarísimo la manera de poder utilizar la excepción dentro del CATCH. Mi duda es si el mensaje que se quiere mostrar cuando ocurre un dump, ¿es posible que no lo muestre por pantalla sino que lo envíe a través de una tabla interna que ya estoy manejando en la función Z???

ic_man_777 03/11/09 19:22:00

Cuando pones un TRY-CATCH, el Dump no se mostrará, se ejecutará el código que tengas en el catch, que quieres mandar a la tabla interna?, la excepción que se lanzó?

felix_cid 03/11/09 20:53:28

Tengo una tabla interna en donde envío los errores internos producidos en validaciones que hago, entonces en este caso quiero enviar, no el mensaje que me muestra el CATCH, sino que poner un error interno mío en la tabla, por ejemplo "Sistema inestable, inetente nuevamente".


Husos Horarios son GMT. La hora en este momento es 02:36:54.

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