ID de BREAK-POINT para ayudar al desarrollador de ABAP

El uso de declaraciones de ruptura y punto de ruptura en el desarrollo de ABAP se considera de mala educación. La declaración de identificación del punto de ruptura es otro asunto completamente diferente. Es útil y en esta publicación aprenderá para qué puede usarlo.



Qué está haciendo



El operador establece un grupo de puntos de control. Cualquier usuario consultor en la transacción SAAB puede activar un grupo específico , limitando el período máximo de activación. Cuando se alcanza el ID de punto de interrupción con un grupo activo, se iniciará el depurador para este consultor.



Como puede ser usado



Un grupo de puntos se puede colocar en objetos relacionados en su significado con una función o proyecto. Puede ser algún tipo de implementación de subsistema o servicio. En este caso, el nombre del grupo debe describir el significado o contener una abreviatura / nombre del subsistema:

  • Grupos de puntos estándar:
    • cpe_formula_evaluation , cpe_formula_check , cpe_failing_quot_forecast - cálculo de fórmulas y verificación de precios;
    • alv_grid , salv_bs : formación de cuadrículas alv.
  • Grupos de puntos de clientes:
    • zabap_edo - implementación de la gestión de documentos electrónicos;
    • zabap_odata - implementación del servicio odata.


La identificación del punto de interrupción se puede colocar dentro de la funcionalidad, que se llama a través de la configuración o llamadas remotas. Dichos módulos de software no tienen un lugar de llamada explícito y el nombre del grupo puede explicar el principio de llamada. La activación del punto de control puede facilitar la búsqueda de la funcionalidad z que se invoca durante una transacción estándar o cuando se está ejecutando un servicio web.

Ejemplo:

  • zabap_pc_open_fi , z_bf_open_fi - puntos de control para manejar eventos open-fi / BTE ;
  • zabap_bp_bdt : puntos de interrupción para extender la transacción de BP a través de BDT ;
  • zabap_hr_padru - puntos para depurar extensiones de formulario en hr;


Es conveniente tener grupos de puntos de control universales cuando se crea un grupo para un tipo particular de extensión estándar. El nombre de dicho grupo debe indicar el tipo de extensión:

  • zabap_badi - implementación de BADI ;
  • zabap_exit - salidas de usuario;
  • zabap_enh - implementación de extensiones explícitas e implícitas.


Dado que es imposible deshabilitar temporalmente los grupos activos durante la depuración, en algunos casos vale la pena prever su deshabilitación de software. Por ejemplo, así:



  STATICS sv_break_off  TYPE flag.
  "         ,  
  "    sv_break_off = ‘X’.
  IF sv_break_off = abap_false.

    BREAK-POINT ID zabap_exit.

  ENDIF.




ID de punto de interrupción es una herramienta simple y conveniente para reducir el tiempo dedicado al mantenimiento de su código. Como con cualquier herramienta, lo principal es no abusar de ella. Cuanto mejor defina las reglas para su uso, más eficaz será. ¿Y si no lo usas, y el sistema ya tiene muchas extensiones en las que podría ser útil? Introdúzcalo en su arsenal y úselo en todos los desarrollos nuevos, y agréguelo a los antiguos cuando se realicen ajustes en ellos.



All Articles