🚀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 EN OBJETOS ABAP

Utilizamos el término “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.

Otras es solo indicación de la necesitas de un cambio en la estrategia de resolución del problema.

A partir de la versión SAP WEB AS 6.10, SAP introduce un nuevo concepto en las excepciones. El nuevo concepto es llamado “EXEPCIONES BASADAS EN CLASES”.

Las excepciones basadas en clases pueden lanzarse utilizando la sentencia RAISE EXCEPTION o por el entorno de ejecución.

NOTA: La división por cero es un ejemplo de una excepción causada por el entorno de ejecución.

Una excepción es representada por un objeto excepción, que es una instancia de la clase excepción. Los atributos de cada objeto excepción contienen información de la situación del error.

Podemos definir nuestras propias clases de excepción, pero debemos tener en cuenta que ya existe un amplio rango de clases de excepciones predefinidas en el sistema, particularmente para las excepciones del entorno de ejecución.

Las clases de excepciones globales las creamos en el CLASS BUILDER a través de la transacción SE24, aunque también las podemos definir localmente en nuestros programas.

Cuando una excepción basada en clase se produzca, el sistema interrumpirá el flujo normal del programa e intentará encontrar el manejador adecuado, si no puede ocurrirá un error en tiempo de ejecución.

Todas las clases de excepciones son derivadas de las clases estándar CX_NO_CHECK, CX_DYNAMIC_CHECK o CX_STATIC_CEHCK que son a su vez subclases de la superclase CX_ROOT.

NOTA: Todas las clases de excepciones estándar comienzan con CX_

La clase CX_ROOT proporciona algunos métodos predefinidos que son heredados por todas las clases, como el método GET_SOURCE_POSITION, que devuelve el nombre del programa principal, los includes y línea del código fuente donde se produjo la excepción y el método GET_TEXT que devuelve un texto de la excepción en el formato STRING.

Las nuevas clases de excepciones que creemos heredarán de alguna de las superclases anteriormente mencionadas, por lo que podremos agregarles otros componentes que generalmente serán textos. Luego podemos especificar que texto se utilizará cuando se dispare una excepción.

Podemos crear muchos textos en una clase, los ID a estos textos son creados en el calss builder en la pestaña TXT dentro de la clase global como constantes estáticas podemos especificar que texto será utilizado cuando se genera una excepción pasando el parámetro de entrada TEXTID la constante de texto que hemos creado, en el constructor de instancia

Totas las clases de excepciones heredan el atributo KERNEL_ERRID de CX_ROOT.

Este atributo contiene el nombre del error en tiempo de ejecución que ha sido disparado por el entorno de ejecución. Por ejemplo BDC_ZERODIVIDE si el programa captura una excepción CX_SY_ZERODIVIDE que es la división por cero.

Una excepción solo podrá capturarse si al sentencia que la produjo está encerrada en un bloque TRY-ENDTRY. La excepción luego será manejada utilizando la sentencia CTACH en el bloque TRY-ENDTRY.

El bloque TRY contiene el conjunto de sentencias que manejan las excepciones. Si una excepción ocurre en el bloque TRY, el sistema busca la primera sentencia CATH dentro del mismo bloque TRY-ENTRY y luego gradualmente busca hacia afuera en todos los bloques TRY-ENDTRY que puedan manejar la excepción.

Si no encuentra uno, trata de buscar su manejador. Si no encuentra manejador pero el bloque TRY-ENDTRY está dentro de una subrutina entonces el sistema tratará de propagar la excepción al programa llamador.

El bloque CATCH contiene el manejador de excepciones que es ejecutado si una excepción específica ocurre en el bloque TRY asociado.

NOTA: Dentro de la sentencia CATCH podemos especificar la cantidad de clases de excepciones que necesitamos.

El bloque CLEANUP es ejecutado si el sistema no encuentra un manejador de excepciones dentro del bloque TRY-ENDTRY.

Los bloques TRY-ENDTRY podemos anidarlos. El bloque TRY, CATH, CLEANUP pueden a su vez contener más bloques TRY-ENDTRY en su interior.

EJEMPLO DEL MANJEO DE UNA EXCEPCION PREDEFINIDA.

*&---------------------------------------------------------------------*

*& Report ZTEST_EXCEPCIONES

*&

*&---------------------------------------------------------------------*

*&

*&

*&---------------------------------------------------------------------*

REPORT ztest_excepciones.

PARAMETERS: v_num1 TYPE i,

v_num2 TYPE i.

DATA: v_resultado TYPE i,

text TYPE string,

ref_exc TYPE REF TO cx_root.

START-OF-SELECTION.

TRY.

v_resultado = v_num1 / v_num2.

WRITE: 'El resultado es: ', v_resultado.

CATCH cx_sy_zerodivide INTO ref_exc.

text = ref_exc->get_text( ).

MESSAGE text TYPE 'I'.

ENDTRY.


 

 

 


Sobre el autor

Publicación académica de Josep Antoni Lopez Moyano, en su ámbito de estudios para el Máster ABAP POO.

✒️+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!