Las excepciones en ABAP se pueden manejar usando las declaraciones TRY y CATCH. Sin embargo, cuando no se controla una excepción, se produce un error de tiempo de ejecución y volcado corto es creado.
Un ejemplo de una excepción no controlada ocurre si ejecuta el siguiente código e ingresa «0» para el parámetro. Como resultado, obtendrá una excepción no controlada para dividir por cero.
SELECTION-SCREEN BEGIN OF BLOCK selection.
PARAMETERS: p_param TYPE i.
SELECTION-SCREEN END OF BLOCK selection.
START-OF-SELECTION.
DATA: result TYPE i.
result = 10 / p_param.
WRITE: result.
Si los usuarios acceden al sistema mediante SAP GUI, verán un breve volcado, como el que se muestra en la siguiente figura. El volcado breve contiene mucha información útil para un desarrollador, pero no es muy fácil de usar y se parece a la temida pantalla azul de la muerte de Microsoft.
Al utilizar una aplicación Web Dynpro, el volcado breve se mostrará al usuario como un 500 Error interno del servidor SAP, Como se muestra abajo. El usuario solo verá el error 500, pero el volcado corto completo se registrará en el backend ABAP sistema.
Al usar los servicios web de OData, la excepción no controlada se convierte en una respuesta de error 500, como se muestra en la siguiente figura, que la aplicación que usa el servicio puede manejar de cualquier forma y se registrará en el sistema ABAP de back-end.
No importa cómo accedió el usuario al sistema, el volcado corto se registra y se puede ver ingresando la Transacción ST22. La pantalla de selección se muestra a continuación, donde puede ver el Hoy y Ayer botones, que mostrarán todas las excepciones no controladas que ocurrieron en el día seleccionado. El Selección Propia La sección contiene varias opciones de selección, como Fecha y Tiempo, que se puede usar para buscar una excepción específica que haya ocurrido. Haga clic en el Comenzar para buscar en función de las selecciones introducidas. Si un usuario informa que ocurrió un error, puede usar estas selecciones para encontrar la excepción, usando el nombre de usuario del usuario que informó el error y el día en que el usuario dijo que ocurrió el error.
La lista de errores se mostrará según las selecciones que ingresó o el día que seleccionó (vea a continuación). Haga doble clic en cualquier excepción para ver más información sobre esa excepción.
8
Después de abrir una de las excepciones, accederá a una vista de texto largo de la excepción, que contendrá mucha información útil, como se muestra a continuación. En el lado izquierdo hay un árbol de navegación para las diversas partes del registro de volcado corto.
Los siguientes párrafos repasan algunos de los elementos más importantes para los desarrolladores.
La parte superior de la pantalla muestra información básica sobre la excepción que ocurrió, como el nombre del programa en el que ocurrió la excepción, la fecha y hora en que ocurrió la excepción y el tipo de excepción. En el siguiente ejemplo, puede ver que el programa ABAP es PRUEBA Z y el tipo de excepción es CX_SY_ZERODIVIDE. También hay alguna información adicional en el Texto corto sección para ayudarle a entender lo que significa la excepción.
Para un desarrollador, el Extracto de código fuente suele ser el elemento más útil. Extracto de código fuente Las flechas encuadradas en la siguiente figura muestran la línea de código donde ocurrió la excepción; puede ver que ocurrió al realizar una operación de división. Puede hacer doble clic en el extracto del código fuente para ver el código en el editor de código fuente.
También puede ver los valores de las variables del programa en el momento en que ocurrió la excepción en el Variables elegidas sección. En la siguiente figura se puede ver que p_param no se le asignó un valor, por lo que mantiene el valor inicial de cero; resultado nunca se le dio un valor, por lo que también tiene el valor de cero.
A veces, estas excepciones no se producirán en su propio código, sino en el código ABAP estándar de SAP que puede haber sido llamado cuando su programa accedió a un módulo de función, método o BAPI escrito por SAP. En este caso, puede encontrar más información o posiblemente una nota de soporte de SAP ingresando el programa donde ocurrió la excepción y el tipo de excepción en el Buscar opción en http://soporte.sap.com.
Nota del editor: Esta publicación ha sido adaptada de una sección del libro. ABAP: una introducción por Brian O’Neill y Jelena Perfiljeva.
Calle Eloy Gonzalo, 27
Madrid, Madrid.
Código Postal 28010
Paseo de la Reforma 26
Colonia Juárez, Cuauhtémoc
Ciudad de México 06600
Real Cariari
Autopista General Cañas,
San José, SJ 40104
Av. Jorge Basadre 349
San Isidro
Lima, LIM 15073