📘Excepciones

Selector Alummnos / Empresas

Definición de Excepciones

En SAP, el término "excepciones" se refiere a una técnica de manejo de errores y situaciones especiales en la programación con el lenguaje ABAP (Advanced Business Application Programming).

Una excepción es un evento que ocurre durante la ejecución de un programa y que interrumpe el flujo normal de las instrucciones. No es necesariamente un error fatal (como un short dump), sino una condición que un programador puede anticipar y manejar de manera controlada.

 

Propósito y Mecanismo

 

El principal objetivo del manejo de excepciones es hacer que los programas sean más robustos y predecibles. En lugar de que un programa termine abruptamente (lo que podría causar un short dump) ante una situación inesperada, el programador puede "capturar" la excepción y tomar una acción correctiva o de manejo de errores, como:

  • Mostrar un mensaje de error al usuario.

  • Registrar el problema en un log.

  • Intentar una operación alternativa.

  • Terminar la ejecución de forma controlada.

El mecanismo de excepciones en ABAP se basa en las palabras clave TRY... CATCH.

  • TRY: Se utiliza para delimitar un bloque de código que podría generar una excepción.

  • CATCH: Se utiliza para "capturar" o manejar una excepción que se produce en el bloque TRY.

 

Tipos de Excepciones en ABAP

 

Existen dos tipos principales de excepciones en ABAP:

  1. Excepciones Basadas en Clases (Class-Based Exceptions):

    • Este es el enfoque moderno y recomendado para el manejo de excepciones en ABAP.

    • Las excepciones se definen como clases de excepción que se derivan de una clase padre, como CX_ROOT. Esto permite una jerarquía de excepciones y la posibilidad de capturar excepciones más generales o específicas.

    • El programador lanza una excepción utilizando la instrucción RAISE EXCEPTION.

    • Ejemplo:

      ABAP
      TRY.   CALL METHOD lcl_myclass=>do_something. CATCH cx_my_exception.   MESSAGE 'Error en el método' TYPE 'E'. ENDTRY. 

      En este caso, si el método do_something levanta una excepción de la clase cx_my_exception, el bloque CATCH se activará y mostrará el mensaje de error.

  2. Excepciones No Basadas en Clases (Non-Class-Based Exceptions) o Excepciones con RAISE:

    • Este es el enfoque más antiguo, aunque todavía se encuentra en código legado.

    • Las excepciones se definen y se activan utilizando la palabra clave RAISE seguida de un nombre simbólico de excepción.

    • No hay una jerarquía de clases.

    • Ejemplo:

      ABAP
      CALL FUNCTION 'MY_FUNCTION'   EXPORTING     iv_data = lv_data   EXCEPTIONS     not_found = 1     OTHERS    = 2.  IF sy-subrc <> 0.   CASE sy-subrc.     WHEN 1.       MESSAGE 'Datos no encontrados' TYPE 'E'.     WHEN 2.       MESSAGE 'Error desconocido' TYPE 'E'.   ENDCASE. ENDIF. 

      En este caso, la función MY_FUNCTION puede levantar las excepciones not_found o OTHERS. El sistema asigna un valor numérico (sy-subrc) a cada excepción, y el programador debe verificar este valor para saber qué ocurrió. Este enfoque es menos flexible que el basado en clases.

 

Diferencia con un Short Dump

 

Es fundamental entender la diferencia:

  • Short Dump: Es una terminación anormal no controlada. El programa se detiene y no puede recuperarse. Ocurre cuando un error grave no ha sido anticipado ni manejado por el programador.

  • Excepción: Es un evento que el programador ha anticipado y para el cual ha proporcionado un mecanismo de manejo. El programa puede "atrapar" la excepción y continuar su ejecución de forma controlada, sin fallar.

 

 

 

✒️+Comunidad Académica CVOSOFT

Para continuar aprendiendo, le invitamos a conocer las últimas 10 Publicaciones Académicas sobre el tema "Excepciones" creadas y compartidas abiertamente por nuestros alumnos.

SAP Expert



El manejo de excepciones en los objetos ABAP es un mecanismo esencial para controlar errores y garantizar la estabilidad de las aplicaciones. En la programación orientada a objetos, las excepciones permiten responder adecuadamente ante situaciones inesperadas sin interrumpir la ejecución del programa. En ABAP, las excepciones se gestionan mediante clases derivadas de CX_ROOT, que se dividen en CX_STATIC_CHECK, CX_DYNAMIC_CHECK y CX_NO_CHECK, según la necesidad de declaración o control explícito. Estas clases encapsulan información detallada del error, facilitando su análisis mediante métodos como GET_TEXT o GET_LONGTEXT. La captura de excepciones se realiza con las sentencias TRY...ENDTRY,...

Acceder a esta publicación

Creado y Compartido por: David Ibarra / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP Expert


El Manejo de Excepciones en los Objetos ABAP: Excepción: Se refiere 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 veces, es solo la indicación de la necesidad 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 de los objetos ABAP, en paralelo al que describimos anteriormente. Este nuevo concepto...

Acceder a esta publicación

Creado y Compartido por: Jeferson Jos Pena Curvelo / Disponibilidad Laboral: FullTime

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

SAP Senior

Como norma general, el status de campo específico de la cuenta se personaliza para las cuentas de mayor. Para el tratamiento de deudores y acreedores, el status de campo se personalizar en la clave de contabilización que corresponda. Subgrupos: Datos Generales. Imputaciones adicionales, Gestión de materiales. Pagos. Contabilidad de activos fijos. Impuestos. Excepciones: Si se usan divisiones, el campo División debe estar disponible para entradas. Solo puede usar el statuis de campor para definir si el mismo es obligatorio u opcional. Las entradas en los campos de impuestos solo son posibles si la cuenta de mayor es relevante para el impuesto. El status de campo Ocultar no se puede combinar con entrada Obligatoria....

Acceder a esta publicación

Creado y Compartido por: Juan Alfredo Maiztegui / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP Senior

# Notas sobre Módulos de Función en ABAP ## ¿Qué son los módulos de función? - Son funciones predefinidas almacenadas en SAP que pueden ser reutilizadas por cualquier programa ABAP - SAP incluye muchos módulos estándar, pero también podemos crear nuestros propios módulos (comenzando con Z) - Se acceden mediante la transacción SE37 (Biblioteca de Funciones) ## Estructura de un módulo de función ```ABAP CALL FUNCTION '<nombre_módulo_de_funciones>' EXPORTING <parámetros_de_entrada> IMPORTING <parámetros_de_salida> TABLES <tablas_internas> EXCEPTIONS <excepciones>. ``` ## Grupos de Función...

Acceder a esta publicación

Creado y Compartido por: Mara Fadua Romero Hernandez

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

lección "6: La creación de una clase global" • Creación de Clases Globales en ABAP: Explica el propósito y el proceso fundamental para crear una clase global que pueda ser reutilizada en cualquier desarrollo ABAP, utilizando la transacción SE24. â—¦ Utilidad: Permiten la reutilización de código en cualquiera de nuestros desarrollos ABAP. â—¦ Herramienta principal: La transacción estándar SE24 es la interfaz para crear estas clases. • Pasos para Definir una Clase Global: Detalla la secuencia de acciones a seguir dentro de la transacción SE24 para configurar una nueva clase, incluyendo su tipo, descripción, herencia y visibilidad. â—¦ Identificación:...

Acceder a esta publicación

Creado y Compartido por: Roberto Fluder Ahumada

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

SAP Master

La correcta configuración del MRP (Material Requirements Planning) en el módulo de SAP PP requiere una preparación meticulosa tanto a nivel de datos maestros como de parámetros del sistema. Es fundamental contar con materiales que incluyan vistas MRP completas, listas de materiales (BOM), rutas de fabricación, centros de trabajo y datos de planificación vigentes. En cuanto a la configuración, deben definirse los tipos de planificación (como PD, VB o V1), los perfiles de lotificación, los horizontes de planificación y los métodos de cálculo de necesidades netas. La priorización del aprovisionamiento se establece mediante estrategias de planificación,...

Acceder a esta publicación

Creado y Compartido por: Daisy Gonzalez / Disponibilidad Laboral: PartTime + Carta Presentación

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

SAP Expert



La lección final del Máster ABAP POO de CVosoft representa el cierre de un proceso de formación integral en programación orientada a objetos dentro del entorno SAP. En esta etapa, el alumno consolida los conocimientos adquiridos sobre clases, métodos, herencia, encapsulamiento, polimorfismo y manejo avanzado de excepciones, aplicándolos en proyectos reales. Además, se enfatiza la correcta estructuración del código y las buenas prácticas de desarrollo profesional en ABAP orientado a objetos. La lección también guía al estudiante sobre la continuación de su carrera SAP, ofreciendo orientación sobre certificaciones oficiales, especializaciones...

Acceder a esta publicación

Creado y Compartido por: David Ibarra / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP Senior

En el contexto de SAP, "crear un documento sin referencia" significa iniciar un proceso de negocio sin que este provenga de un documento precedente en el sistema. Si bien el flujo estándar de SAP opera con referencias (ej: factura creada a partir de una entrega), existen situaciones empresariales legítimas que requieren esta flexibilidad para manejar excepciones o inicios directos. Esta funcionalidad está disponible en varios módulos, siendo esencial para mantener la eficiencia operativa en casos no estándar. En el módulo de Logística (SD/MM), esta práctica es común. Por ejemplo, en Gestión de Materiales (MM), la Entrada de Mercancías sin Referencia a Pedido...

Acceder a esta publicación

Creado y Compartido por: Bernardo Xavier Bajana Figueroa

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

SAP Master

Lección 3: El grupo de Status Campo en Cuentas y Claves de Contabilización 1) El grupo de Status Campo: Al momento de crear una cuenta de mayor debemos asignarle un Grupo de Status Campo. Se visualizan diferentes campos dependiendo de la transacción y las cuentas que se utilicen. Como norma general, el status de campo específico de la cuenta se personaliza para las cuentas de mayor. Para el tratamiento de deudores y acreedores, el status de campo se personaliza en la clave de contabilización que corresponda, Como en el control del status campo para campos de las cuentas de mayor, en este caso también se utiliza el status de campo con la prioridad más alta} Excepciones a esta regla: - Si se...

Acceder a esta publicación

Creado y Compartido por: Daniela Milagros Gonzalez Moronta / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP Expert


Constructor: Es un método especial que es llamado por el sistema en tiempo de ejecución de forma implícita. Existen 2 tipos de métodos en los objetos ABAP. Aquellos que son llamados en forma explícita mediante la sentencia CALL METHOD (o la forma abreviada) y aquellos que son llamados en forma implícita que son los constructores. Cuando Utilizar Constructores: Sera necesario si después de crear una instancia de una clase necesitamos Asignar recursos. Iniciar atributos que no pueden ser cubiertos con la adición VALUE de la sentencia DATA. Modificar atributos estáticos. Enviar mensajes que indiquen que un nuevo objeto ha sido creado. Tipos...

Acceder a esta publicación

Creado y Compartido por: Jeferson Jos Pena Curvelo / Disponibilidad Laboral: FullTime


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