Avalados por :

Descubre la importancia del manejo excepcional y cómo aplicarlo

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 5 Vistas
0
Cargando...

¿Qué es el manejo excepcional? Por favor, dime.

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Hola,

Verifica esto:

... EXCEPCIONES except1 = rc1 ... exceptn = rcn

Efecto

EXCEPTIONS lista las excepciones que deben ser manejadas por el programa que llama. Al final de la lista de excepciones, puedes usar OTHERS para referirte a todas las excepciones restantes.

Si ocurre una de las excepciones listadas, SY-SUBRC se establece en el valor apropiado rc (¡un literal numérico!) y el control pasa de regreso al programa que llama. Al especificar un código de retorno, puedes dividir las excepciones en clases. Con la segunda forma, sin "=rc", SY-SUBRC se establece en un valor distinto de 0 si ocurre una excepción.

Si el módulo de función desencadena una excepción (con las sentencias RAISE y MESSAGE ... RAISING) y la excepción no debe ser manejada por el programa que llama,

RAISE termina el programa con un error en tiempo de ejecución;

MESSAGE ... RAISING muestra el mensaje.

Nota

Las siguientes EXCEPCIONES están predefinidas por el sistema y tienen un significado especial:

OTHERS: Cubre todas las excepciones definidas por el usuario en el módulo de función llamado.

ERROR_MESSAGE: Esta excepción instruye al sistema a ignorar mensajes S, mensajes I y mensajes W hasta el retorno del módulo de función (aunque aún aparecen en el registro durante el procesamiento en segundo plano). Cuando ocurre un mensaje E o un mensaje A, el módulo de función llamado termina, como si se hubiera desencadenado la excepción ERROR_MESSAGE.

Ejemplo

DATA: WA_SFLIGHT TYPE SFLIGHT, 
      P_LOSS LIKE SFLIGHT-PAYMENTSUM, 
      P_REVENUE LIKE SFLIGHT-PRICE, 
      P_CARRID LIKE SFLIGHT-CARRID. 
... 
SELECT * FROM SFLIGHT INTO WA_SFLIGHT WHERE CARRID = P_CARRID ... . 
CALL FUNCTION 'CALCULATE_REVENUE_LOSS' 
     EXPORTING 
          PAYMENTSUM = WA_SFLIGHT-PAYMENTSUM 
          SEATSOCC   = WA_SFLIGHT-SEATSOCC 
          PRICE      = WA_SFLIGHT-PRICE 
     IMPORTING 
          LOSS       = P_LOSS 
          REVENUE    = P_REVENUE 
     EXCEPTIONS 
          OTHERS     = 1. 
... 
ENDSELECT. 
... 


Ejemplo 
TABLES SFLIGHT. 
DATA: ITAB TYPE STANDARD TABLE OF BCAXX WITH 
NON-UNIQUE DEFAULT KEY INITIAL SIZE 10. 
P_YEAR ... . 



            
Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

¿Estás hablando de manejo de excepciones?

Si es así, entonces

Las excepciones son situaciones que ocurren mientras se ejecuta un programa ABAP, en las cuales la continuación normal del programa no tiene sentido. Las excepciones pueden ser generadas implícitamente en el entorno de tiempo de ejecución ABAP o explícitamente en el programa ABAP. Por ejemplo, la división por cero conduce a una excepción en el entorno de tiempo de ejecución ABAP. Es posible determinar esta situación a través de una consulta en el programa ABAP y desencadenar una excepción allí.

Hay dos tipos principales de excepciones: aquellas que pueden ser manejadas y aquellas que no pueden ser manejadas.

· Las excepciones que pueden ser manejadas ocurren en situaciones de error en el entorno de tiempo de ejecución o en el programa ABAP, donde el programa puede continuar ejecutándose después de que el programa ABAP haya manejado la excepción, sin que el sistema termine en un estado crítico. Si una excepción de este tipo no se maneja, se produce un error en tiempo de ejecución.

· El segundo tipo de excepciones son aquellas que no pueden ser manejadas. Estas son situaciones de error críticas en el entorno de tiempo de ejecución. El manejo con medios ABAP no es posible y siempre causan un error en tiempo de ejecución.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola,

No es 'manejo de acceptiones', es Manejo de Excepciones.

Generalmente, cuando estás trabajando con Módulos Divertidos, tienes que definir EXCEPCIONES que se activarán según la ocurrencia del error.

De lo contrario, el programa se bloquea, lo cual no es correcto.

Saludos,

Anji

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?