🚀PROMO #PLANCARRERA2024 - 🔥Bonificaciones, Precios Congelados y Cuotas

 X 

✒️ABAP POO El manejo de excepciones en los Objetos ABAP

ABAP POO El manejo de excepciones en los Objetos ABAP

ABAP POO El manejo de excepciones en los Objetos ABAP

Manejo de Excepciones.

Excepciones basadas en clases

Una excepción es una situación que surge cuando un programa se ejecuta y durante la cual no es posible continuar el flujo normal del programa. SAP NetWeaver Application Server (SAP NetWeaver AS) S 6.10 presentó un nuevo concepto de excepción de objetos ABAP que existe de manera paralela al concepto existente basado en sy-subrc. Las excepciones y el tratamiento de excepciones se basan ahora en clases. Este nuevo concepto de excepción de objetos ABAP amplió la manera clásica de tratar excepciones con sy-subrc.

Consejo:

Tenga en cuenta que el uso de excepciones basadas en clases no está limitado a contextos orientados a objetos. Las excepciones basadas en objetos pueden emitirse y tratarse en todos los bloques de procesamiento. En particular, todos los errores de tiempo de ejecución interceptables anteriormente pueden tratarse como excepciones basadas en clases. En el nuevo concepto de excepción, esta se representa con un objeto de excepción. Un objeto de excepción es una instancia de una clase de excepción. Los valores de atributo de los objetos de excepción contienen información sobre la situación de error correspondiente. La emisión de una excepción basada en clases significa instanciar una clase de excepción y fijar los atributos. La gestión de una excepción basada en clases implica la evaluación del objeto de excepción y sus valores de atributo. Las excepciones basadas en clases se emiten por parte de la sentencia RAISE EXCEPTION o por parte del entorno de tiempo de ejecución. Intercepta y trata las excepciones basadas en clases con la estructura TRY...CATCH...ENDTRY.

Jerarquía de las clases de excepciones

Puede definir sus propias clases de excepción, pero el sistema ya incluye un rango de clases de excepción predefinidas, particularmente para las excepciones en el entorno del tiempo de ejecución. Las clases de excepción se pueden crear globalmente en el Generador de clases, pero también se pueden definir clases de excepción local dentro de un programa o clase global.Los nombres de las clases de excepción global siempre comienzan con <namespace>CX_. Estas clases de excepción global que utiliza el entorno de tiempo de ejecución comienzan con CX_SY_. Se recomienda comenzar los nombres de las clases de excepción local con LCX_. Todas las clases de excepción se derivan de la clase de excepción CX_ROOT. Por lo tanto, puede acceder genéricamente a cualquier objeto de excepción mediante una variable de referencia REF TO CX_ROOT. Sin embargo, no se permite que una nueva clase de excepción herede directamente de CX_ROOT; en lugar de eso, cualquier clase de excepción nueva se debe derivar de forma directa o indirecta desde una de las subclases CX_ROOT - CX_NO_CHECK, CX_DYNAMIC_CHECK, o CX_STATIC_CHECK A través de esto, todas las clases de excepción se subdividen en tres grupos. Según el grupo al que pertenece una excepción determinada, esta se tratará de manera diferente por la verificación de sintaxis y el entorno de tiempo de ejecución. El grupo predeterminado es CX_STATIC_CHECK, que garantiza una verificación de sintaxis y estabilidad de programa máximos. Utilice los otros grupos solo en casos especiales. El método GET_SOURCE_POSITION devuelve el nombre del programa principal o el programa de Include y también el número de línea del código fuente en el que se ha producido la excepción. El método GET_TEXT devuelve un texto de excepción en forma de un string. Este método no se define directamente en CX-ROOT pero sí en la interfaz IF_MESSAGE, que se implementa con CX-ROOT. Puede tratar una excepción si la sentencia que la emitió se encuentra en una estructura de control TRY-ENDTRY. Trata la excepción mediante la sentencia CATCH en la estructura TRY-ENDTRY. El bloque TRY contiene las sentencias para las que es necesario tratar las excepciones. Un bloque CATCH contiene el programa de control de excepciones que se ejecuta si una excepción especificada se ha producido en el bloque TRY asociado. Como todas las estructuras de control en objetos ABAP, puede anidar las estructuras TRY-ENDTRY hasta cualquier profundidad. Particularmente, los bloques TRY, CATCH y CLEANUP pueden contener estructuras TRY-ENDTRY completas. Especifique cualquier número de clases de excepción para la sentencia CATCH. De esta manera, se define un programa de control de excepciones para todas estas clases de excepción y sus subclases. Si se produce una excepción, el sistema busca la sentencia CATCH coincidente en la estructura TRY-ENDTRY que rodea inmediatamente a la sentencia. Busca en los bloques CATCH la clase de excepción relevante o las clases superiores de la jerarquía de herencia. Si se encuentra cualquiera de las clases de excepción, el programa navega directamente al programa de control. Si el sistema no encuentra una sentencia CATCH que coincida, busca gradualmente hacia el exterior en las estructuras TRY-ENDTRY circundantes. Si no puede encontrar un programa de control dentro del mismo procedimiento, el sistema intenta propagar la excepción al programa de llamada. Este proceso se discutirá de manera más detallada posteriormente. Si una estructura TRY-ENDTRY contiene un bloque CLEANUP, este bloque se ejecuta cuando se retira la estructura TRY-ENDTRY, porque el sistema no puede encontrar un controlador dentro de la estructura TRY-ENDTRY, pero sí en una estructura TRY-ENDTRY circundante o en un programa de llamadas.

Para analizar el objeto de excepción en un controlador de excepción, utilice la sentencia CATCH en la forma CATCH ... INTO ... Debe especificar una referencia de objeto tipificada correctamente después del suplemento opcional INTO. La referencia puede ser una referencia a la clase de excepción en sí o a cualquiera de sus clases superiores. Justo antes de que el sistema ejecute el bloque CATCH, se completará esta variable de referencia para apuntar al objeto de excepción que describe la situación de error que se presenta.

Si se supera el ámbito de valores para tipos de datos en el cálculo, el sistema de tiempo de ejecución emitirá la excepción CX_SY_ARITHMETIC_OVERFLOW. Esta excepción se trata en el bloque CATCH implementado. La referencia a la instancia adecuada se almacena en el objeto de datos GO_EXC del ejemplo. El programa de control puede acceder al texto de excepción de la instancia utilizando el método funcional GET_TEXT. El texto de excepción se almacena en el objeto de datos GV_TEXT con el tipo STRING, y después se visualiza en forma de mensaje de información.

Puede acceder cualquier otro componente público del objeto de excepción durante el tratamiento de excepciones de acuerdo con el tipo estático de la variable de referencia. En el ejemplo anterior, la variable de referencia se indica como REF TO CX_ROOT, que restringe el acceso a aquellos componentes definidos en CX_ROOT. Para acceder a componentes más específicos del objeto de excepción, necesita un tipo más específico para el tipo de variable de referencia. También puede utilizar la clase superior CX_SY_ARITHMETIC_ERROR y la clase superior CX_DYNAMIC_CHECK para acceder a los componentes específicos del objeto de excepción.


 

 

 


Sobre el autor

Publicación académica de Enrique Horacio Lugo Lander, en su ámbito de estudios para el Máster ABAP POO.

SAP SemiSenior

Enrique Horacio Lugo Lander

Profesión: Tsu en Informática - Argentina - Legajo: GB93C

✒️Autor de: 30 Publicaciones Académicas

🎓Egresado del módulo:

Certificación Académica de Enrique Lugo

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "El manejo de excepciones en los Objetos ABAP" de la mano de nuestros alumnos.

SAP Expert


El manejo de excepciones en los objetos ABAP. Excepción: se refiere a una situacion que sucede cuando un programa se esta ejecutando y por alguna razon ocurre una situacion anormal en el programa. Las excepciones basadas en clases pueden lanzarse utilizando la sentencia RAISE EXCEPTION o por el entorno de ejecucion. Cuando una excepcion basada en clases se produzca, el sistema interrumpira el flujo normal del programa e intentara encontrar el manejador adecuado, sino puede hacerlo ocurrira un error en tiempo de ejecucion. Todas las clases de excepciones estandar comienzan con CX_ Todas las clases de excepciones heredan el atributo KERNEL_ERRID de CX_ROOT. Una excepcion solo podra capturarse si la sentencia que la produjo esta encerrada...

Acceder a esta publicación

Creado y Compartido por: David De Jesùs Restrepo Cañas

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


Manejo de excepciones en los objetos ABAP Excepción: Para referirnos a una situación que sucede cuando un programa se está ejecutando y por alguna razón ocurre una situación anormal en el programa, la cual es tratada ya que previamente fue contemplada en el mismo programa. Muchas veces, la acción asociada a una excepción, es simplemente producir un mensaje informativo y terminar el procesamiento. Las excepciones basadas en clases pueden lanzarse utilizando la sentencia RAISE EXCEPTION o por el entorno de ejecución. En una situación de excepciones, una excepción es representada por un objeto excepción, que es una instancia de la clase excepción. Los atributos...

Acceder a esta publicación

Creado y Compartido por: Marvin Raul Lopez Morales / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


MANEJO DE EXCEPCIONES EXCEPCION: situación que sucede cuando un programa se está ejecutando y por alguna razón ocurre una situación anormal en el programa, la cual es tratada ya que previamente fue contemplada en el mismo programa. Se introduce el concepto de excepciones de los objetos ABAP: Excepciones basadas en clases. Pueden ser clases de excepción predefinidas o creadas por nosotros. RAISE EXCEPTION: Sentencia para lanzar excepciones basadas en clases. OBJETO EXCEPCION: representa una situación de excepción y es una instancia de la clase excepcion. Atributos = información de la situación del error. Transacción SE24 (class builder) para crear nuestras clases de excepciones...

Acceder a esta publicación

Creado y Compartido por: Juan Ignacio De Tejada Santiago / Disponibilidad Laboral: FullTime

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


MANEJO DE EXCEPCIONES EN LOS OBJETOS ABAP – LECCION 4-1 EXCEPCION, utilizamos el termino para referirnos a una situación que sucede cuando un programa se está ejecutando y por alguna razón ocurre una situación anormal en el programa, la cual es tratada yo que previamente fue contemplada en el mismo programa. Muchas veces. La acción asociada a una excepción, es simplemente producir un mensaje informativo y terminar el procesamiento. Otras veces, es solo la indicación de la necesidad de un cambio en la estrategia de resolución del programa. A partir de la versión SAP WER AS 6.10, SAP introduce un nuevo concepto en las excepciones de los objetos ABAP, en paralelo al que describimos...

Acceder a esta publicación

Creado y Compartido por: Cristian Darwin Arteaga Diaz / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Junior

Excepciones ABAP Se genera cuando al ejecutar un programa ocurre una situación anormal en el mismo. Puede indicar cambio de estrategia en el tratamiento en el procesamiento de los datos. Se puede enviar mensaje de alerta, informativo o terminación del programa. Excepciones Basadas en Clases Son generadas con la Sentencia RAISE EXCEPTION o por entorno de ejecución. Una Exception es representada por un objeto de Exception. Los atributos del objeto de exception contienen información del error. Se pueden definir las propias clases de excepciones Se pueden crear de manera global por la SE24 o local dentro del programa. Si se produce una excepción el sistema interrumpirá...

Acceder a esta publicación

Creado y Compartido por: Fabio Andres Medina Jimenez / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

Manejo de Excepciones en los Objetos ABAP. Excepción nos referimos a una situación que sucede cuando un programa se esta ejecutando y por alguna razón ocurre una situación anormal en el programa. La cual es tratada ya que previamente fue contemplada en el mismo programa. Las Excepciones basadas en clases se introduce a partir de la versión SAP WEB AS 6.10 estas excepciones basadas en clase pueden lanzarse utilizando la sentencia RAISE EXCEPTION o por el entorno de ejecución. “La división por cero en un ejemplo de una excepción causada por el entorno de ejecución”. En sap ya existen variables clases de excepciones predefinidas por el sistema, particularmente para las excepciones...

Acceder a esta publicación

Creado y Compartido por: Tobias Emanuel Mareco Rojas / Disponibilidad Laboral: FullTime

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

U4-L1 Excepciones Situación anormal que sucede en la ejecución de un programa, la cual es tratada ya que previamente fue contemplada en el mismo. Acciones asociadas a una excepción: - Producir un mensaje informativo y terminar proceso - Cambio de estrategia de resolución del programa. A partir de la versión SAP Web AS 6.10, se introducen las "Excepciones basadas en clases", las cuales pueden lanzarse utilizando la sentencia RAISE EXCEPTION o por el entorno de ejecución (ej, la división por cero). Una excepción es representada por un objeto de excepción (instancia de la clase excepción). Se pueden definir las propias clases de excepciones aunque ya existen muchas...

Acceder a esta publicación

Creado y Compartido por: Denisse Adriana Hernandez Trujillo

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP SemiSenior

Manejo de Excepciones. Excepciones basadas en clases Una excepción es una situación que surge cuando un programa se ejecuta y durante la cual no es posible continuar el flujo normal del programa. SAP NetWeaver Application Server (SAP NetWeaver AS) S 6.10 presentó un nuevo concepto de excepción de objetos ABAP que existe de manera paralela al concepto existente basado en sy-subrc. Las excepciones y el tratamiento de excepciones se basan ahora en clases. Este nuevo concepto de excepción de objetos ABAP amplió la manera clásica de tratar excepciones con sy-subrc. Consejo: Tenga en cuenta que el uso de excepciones basadas en clases no está limitado a contextos orientados a objetos. Las excepciones...

Acceder a esta publicación

Creado y Compartido por: Enrique Horacio Lugo Lander

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP SemiSenior

Manejo de exceptions en los objetos abap Es una situacion que sucede cuando un programa se está ejecutando y ocurre una Situacion anormal, la cual es tratada porque fue previamente contemplada en el codigo. La mayoria de las veces es mostrar un mensaje informativo y terminar el proceso. Otras Veces es lan necesidad de un cambio en la estrategia de resolver el problema A partir de SAP web AS 6.10 aparecen las instrucciones basadas en clases Estas se pueden lanzar usando RAISE EXCEPTION o por el entorno de ejecucion. Una excepcion es representada por un objeto exception. Sus atributos continienen informacion del error. Existen varias clases de excepciones predefinidas en el sistema, especialmente para el entorno de ejecución....

Acceder a esta publicación

Creado y Compartido por: Juan Pablo Carro / Disponibilidad Laboral: FullTime

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Las excepciones basadas en clases pueden lanzarse utilizando la sentencia RAISE EXCEPTION o por el entorno de ejecución. Usualmente crearemos las clases de excepciones globales en el class builder se24. è Todas las clases de excepciones estándar inician con CX_ Ø èLos IDs de los textos de las excepciones se crean en la se24 en la pestaña text. àPodemos definir nuestras propias excepciones, pero hay que tomar en cuenta que ya existe un amplio rango de clases de excepciones definidas en el sistema; en especial para la excepciones de entorno de ejecución. àTodas las clases de excepciones son derivadas de las clases estándar CX_NO_CHECK, CX_DYNAMIC_CHECK, CX_STATIC_CHECK que...

Acceder a esta publicación

Creado y Compartido por: Elda Martinez Soto

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 79.000 publicaciones académicas abiertas, libres y gratuitas compartidas con la comunidad, para acceder a ellas le dejamos el enlace a CVOPEN ACADEMY.

Buscador de Publicaciones:

 


 

No sea Juan... Solo podrá llegar alto si realiza su formación con los mejores!