✒️ABAP Las herramientas de ABAP para asegurar la calidad del código
ABAP Las herramientas de ABAP para asegurar la calidad del código
Las herramientas de ABAP para asegurar la calidad del código
- Al crear un código ABAP necesitamos generar Código de calidad. Tenemos que crear código que cumpla con las cuestiones relativas al rendimiento, la sintaxis, la seguridad, la obsolencia y el cumplimiento de convenciones de nombres o estándares.
Se nos proporciona dos herramientas que aumentan en gran medida la calidad de los desarrollos.
- La verificación ampliada del programa: Accedemos a través de la Tx SLIN. Realiza una verificación completa que incluye las interfaces de los procedimientos externos llamados desde el programa, por ejemplo, verificando si el número y el tipo de los parámetros de la interfaz en una llamada de procedimiento externo es correcto.
- La verificación ampliada del programa es solo una verificación estática. No se pueden eliminar todas las circunstancias que podrían dar lugar a situaciones excepcionales O errores en tiempo de ejecución.
- Cualquier declaración en la que se especifiquen argumentos dinámicamente como el contenido de campos o en la que la llamen a procedimientos dinámicamente, no se puede verificar estáticamente.
- También se verifica si el programa se encuentra activado, si se utilizan Sentencias ABAP obsoletas, si se utilizan textos harcodeados en el programa en lugar de utilizar elementos de texto, si existen problemas de semántica si existen advertencias de sintaxis entre otras,
- Como resultado de la verificación visualizamos errores, advertencias o mensajes sobre cada una de las verificaciones realizadas al programa analizado.
- La otra herramienta es el inspector de código: Se puede acceder a través de la Tx SCI. Herramienta que se utiliza para comprobar los objetos del repositorio ABAP. Podemos verifican objetos individuales o conjuntos de objetos para el rendimiento, la seguridad, sixtaxis y el cumplimiento de las convenciones de nombres.
- Como resultado de una inspección, recibimos mensajes de información, mensajes de advertencia o mensajes de error sobre diferentes propiedades de los objetos examinados.
- También podemos acceder a la verificación ampliada del programa y al inspector de código a través del menú de la transacción SE38.
La verificación ampliada del programa
- En la pantalla verificación ampliada del programa se puede configurar la verificación que se va a realizar: Programa a verificar, Verificaciones, Salida de las verificaciones
Objetivo de las verificaciones más comúnmente utilizadas
- Interfases PERFORM /FORM: Aquí están agrupados los tests que verifican las llamadas de subrutinas PERFORM externas y las definiciones FORM.
Se realizan las siguientes verificaciones para las llamadas PERFORM externas:
- Se verifica si la definición FORM existe en el programa indicado.
- Se verifica si el programa que contiene la definición FORM llamada existe y no es un include
- Se verifica si coincide la cantidad de parámetros actuales con los parámetros formales.
- Si coinciden las categorías de los parámetros USING, CHANGING Y TABLES
- Se verifica si los parámetros actuales y los parámetros formales son compatibles.
- Se verifica si un literal se transfiere a un parámetro estructurado O en un parámetro de la categoría CHANGING
Se realizan las siguientes verificaciones para las definiciones FORM:
- Se verifica si para una definición FORM existe una llamada PERFORM
- Se verifica si existen parámetros FORM sin tipo
- Se verifica si las excepciones que pueden producirse mediante PERFORM llamados externo O CALL FUNCTION en una definición FORM, aparecen en la cláusula RAISING de FORM.
Interfases CALL FUNCTION: Aquí están agrupados los tests que verifican la llamada y la definición de módulos de funciones.
- Se verifica si en un módulo de funciones existe el grupo de funciones correspondiente y no contiene errores.
- Se verifica si existen los módulos de funciones llamados
- Se verifica si se transfieren todos los parámetros necesarios
- Se verifica que no se transfieran parámetros desconocidos
- Se verifica si los parámetros tienen la categoría correcta (IMPORT, EXPORT, TABLES,EXCEPTION)
- Se revisa si los parámetros actuales y los parámetros formales son compatibles
- Se verifica si para EXCEPTION 's se realiza un tratamiento SY. SUBRIC
- Si la Cláusula RAISING intercepta todas las excepciones correctamente.
- Si un módulo de funciones está identificado como obsoleto.
- Si un módulo de funciones contiene una entrada en la tabla base de datos TF DIR
- Si para cada exception existe un comando RAISE y si para cada comando RAISE aparece una EXCEPTION.
- Interfases programa externas: Se agrupan los tests que verifican las llamadas de las sentencias CALL TRANSACTION, LEAVE TO TRANSACTION, CALL DIALOG, SUBMIT y USER EXIT'S. (Verifica si el título esta definido, si todos los parámetros SUBMIT indicados mediante WITH están definidos en el report, si los programas llamados son correctos sintácticamente, si un report llamado mediante submit tiene el tipo, si existe un módulo de diálogo en la tabla de base de datos TDCT, tabla de módulos de diálogo. Si existe un código de transacción en la tabla de base de datos TSTC que es la tabla de códigos de transacciones de SAP.
- STATUS GUI y barra de títulos: se verifica si el estatus gui está definido. si el título está definido.
- Message: Se agrupan los tests que verifican cuestiones relativas a los mensajes que se muestran en la pantalla de los programas, algunas de las verificaciones de este test son las siguientes: si los mensajes dirigidos están definidos en la tabla base de datos T1002. Se verifica si la cantidad de parámetros transferidos con WITH coincide con la cantidad de parámetros formales en el mensaje o en el texto explicativo correspondiente. Se verifica si la sentencia MESSAGE necesita un texto explicativo, verifica si existe el texto explicativo para message.
- Cadenas caracteres: Se verifica si en un string falta el elemento de texto, si el elemento de texto no definido, si el estring en el texto fuente contiene caracteres no permitidos, si strings diferentes con mismo ID de elemento de texto, si un simbolo de texto no se utiliza, si existe un texto de selección superfluo.
- Propiedades del campo: si existe una ayuda de búsqueda no definida, si existen campos no utilizados o no leídos, si el nombre de campo es identico a un tipo predefinido pero tiene otro tipo, si el nombre de campo contiene un guion como parte del nombre.
- Sentencias superfluas: se verifica si el programa contiene sentencias breakpoint, si el programa contiene un flujo de control dependiente de usuario, es decir si se utiliza en una condición la variable del sistema SY-UNAME. Se verifica si existen sentencias trace, por ejemplo, para el análisis de tiempo de ejecución (SET RUNTIME) o el comando SYNTAX-TRACE ON. s i una sentencia consta sólo de un punto, si tras las sentencias EXIT ,RETURN, STOP, RAISE o SUBMIT AND RETURN
- Sentencias problemáticas: Se verifica si las mismas sentencias WHEN aparecen dos veces en una sentencia CASE ENDCASE, se verifica si la primera sentencia detrás de la sentencia CASE no es una sentencia WHEN. Se verifica si existen programas direccionados con la sentencia INCLUDE y si son del tipo I. Se verifica si se llama a la sentencia FREE MEMORY. Se verifica si existen nombres que empiezan por "%_" ya que están reservados para fines internos. Se verifica si un campo se asigna a si mismo.
- Sentencias obsoletas: se verifica que en el programa no se estén utilizando sentencias AB AP clasificadas por SAP como obsoletas.
El inspector de código
- Variante de verificación: define las reglas que se aplicarán, las verificaciones que se realizarán y la configuración de esas verificaciones. las variantes de verificación globales están disponibles para todos los usuarios. Las variantes de verificación locales están asociadas directamente con una identificación de usuario específico. SAP proporciona una variante de verificación global con el nombre "DEFAULT"
- Conjunto de objetos: define los objetos de desarrollo que se incluirán
- Inspección: define una combinación de variante de verificación y conjunto de objetos, qué verificaciones se aplicarán a que objetos de desarrollo.
 
 
 
Sobre el autor
Publicación académica de Alejandra Daniela Naranjo Belmonte, en su ámbito de estudios para la Carrera Consultor ABAP.
Alejandra Daniela Naranjo Belmonte
Profesión: Analista/desarrollador de Software - Mexico - Legajo: ON48V
✒️Autor de: 63 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Alejandra Naranjo