
LOS ESTÁNDARES DE PROGRAMACIÓN: determinan la forma en la que codificaremos los programas ABAP. Es decir, como declararemos las variables, las estructuras, las tablas internas, así como también la forma en que debemos definir los objetos que creamos en el Diccionario de datos o en cualquier otra transacción de SAP donde se creen objetos en el sistema. La utilización de estándares es beneficiosa ya que estandariza los programas ABAP para que sean mucho más simples de leer y mantener al momento de tener que realizar una modificación.
LOS CRITERIOS DE UN BUEN ESTÁNDAR DE PROGRAMACIÓN: se consideran los siguientes factores:
- El factor nemotécnico: para que el programador pueda recordar el nombre de una variable fácilmente se debe seguir alguna regla de tipo nemotécnica.
- El factor sugestivo: para que otros programadores puedas leer y entender rápidamente nuestro código, el solo nombre de una variable indica o sugiere su uso y finalidad.
- La consistencia: de modo que utilicemos las mismas convenciones de nomenclatura en todo el programa y hagamos que el texto del código sea “legible.”
LAS VENTAJAS DEL USO DE ESTÁNDARES DE PROGRAMACIÓN:
- Los nombres de las variables serán nemotécnicos con lo que se podrá saber el tipo de dato de cada variable con solo ver el nombre de la variable.
- Los nombres de variables serán sugestivos, de tal forma que se podrá saber el uso y finalidad de dicha variable o función fácilmente con solo ver el nombre de la variable.
- La decisión de poner un nombre a una variable o función será mecánica o automática, puesto que seguirá las reglas definidas por el estándar.
- La utilización de estándares permite el uso de herramientas automáticas de verificación de nomenclaturas tales como “LA VERIFICACIÓN AMPLIADA PARA EL PROGRAMA ABAP” O EL “INSPECTOR DE CÓDIGO”, los cuales son considerados una buena práctica de programación. Es decir, una vez definido el estándar a utilizar, se puede utilizar estas dos herramientas para asegurar la calidad del código, de modo que detecten todos los puntos dentro del código ABAP en donde no se cumple con el estándar definido.
- “LA VERIFICACIÓN AMPLIADA PARA EL PROGRAMA ABAP” O EL “INSPECTOR DE CÓDIGO (SCI)” se deben incluir como un paso necesario dentro de las pruebas unitarias que realiza el programador, la utilización de estas dos herramientas y que corrijan todos los errores y sugerencias que informan hasta llegar a cero, lo cual es la situación óptima.
POR QUÉ LOS ESTÁNDARES DE PROGRACIÓN SON UTILIZDOS TAN POCO: los estándares de programación tienen muchos beneficios por lo que es de suma importancia que se utilicen siempre después de la creación de cada programa, es por ellos que es imprescindible trabajar siempre con los estándares de programación.
NUESTROS ESTÁNDARES DE PROGRAMACIÓN ABAP: para las declaraciones dentro de un programa ABAP utilizaremos los siguientes estándares:
Declaración Se debe escribir de la siguiente forma
Variables locales: VL_XXXXXX
Variables Globales: V_XXXXXXX
Checkbox: CH_XXXXXX
Radio Button: RBG11_XXXXXXX, RBG12_XXXXX, RBG1N_XXXXXX, RBG21_XXXXX, RBG22_XXXX, RBG2N_XXXX
Rangos: R_XXXXXXX
Rangos locales: RL_XXXXXX
Constantes globales: C_XXXXXXX
Constantes locales: CL_XXXXXX
Estructura: WA_XXXXX
Estructura local: WAL_XXXX
Tabla interna: TI_XXXXXX
Tabla interna local: TIL_XXXXX
Tipos: TY_XXXXX
Parámetros: P_XXXXXX
Select Option: SO_XXXXX
Forms: F_XXXXXX
Parámetros de un Form: P_XXXXXX
Cuando hablemos de variables locales, constantes locales o cualquier otra declaración local, nos referimos a aquellas que se realizan dentro de subrutinas. Cuando hablamos de variables globales, constantes globales o cualquier otra declaración global, nos referimos a aquellas que se realizan dentro del programa principal, es decir dentro del evento START-OF-SELECTION.
Para la declaración de los datos que creamos en el Diccionario de Datos ABAP utilizaremos los siguientes estándares:
Declaración Se debe escribir de la siguiente forma
Campo nuevo en una tabla base de datos: XXXXX donde XXXXX es el nombre del campo nuevo
Elemento de datos: ZZ_XXXX (donde XXXX es el nombre del campo al que se va a asociar)
Dominio: ZDXXXXX (donde XXXXX deberá referenciar el tipo de datos)
Nombre tabla: ZTXXXXX (donde XXXXX se utiliza para describir el nombre de la tabla)
Estructuras: ZXXXXX (donde XXXXX se utiliza para describir el nombre de la estructura)
Utilizaremos la siguiente nomenclatura para establecer los nombres de los siguientes objetos:
Declaración Se debe escribir de la siguiente forma
Reporte o Programa: ZXXXXXX_LEGXXXX ej: ZREPORTE_USUARIOS_LEGAG330 donde LEG330 se corresponde al número de legajo
Módulo de función: ZMFXXXXX (donde XXXX se utuliza para decribir el nombre del módulo de función)
Grupo de función: ZGFXXXX (donde XXXX se utiliza para describir el nombre del grupo de función)
Module Pool o Programa de Diálogo: ZMPXXXX (donde XXXX se utiliza para decribir el objetivo del programa)
Vistas de actualización: ZVAXXXX (donde XXXX se utiliza para describir el nombre de la vista)
Clase de mensajes: ZCMXXXX (donde XXXX se utiliza para describir el nombre de la clase de mensajes)
Clase de objetos ABAP: ZCLXXX (donde XXXX se utiliza para describir nombre de la clase)
Clase de Desarrollo o Paquete: ZCDXXX (donde XXXX se utiliza para describir el nombre de la clase de desarrollo o paquete)
Ayuda de búsqueda: ZABXXXX (donde XXX se utiliza para describir el nombre de la ayuda de búsqueda)
Objeto de Bloqueo: ZOBXXX (donde XXXX se utiliza para describir el objetivo del objeto de bloqueo)
Nota: El nombre de un programa ABAP puede tener de 0 – 30 caracteres, se recomienda no utilizar los símbolos Puntos, Comas, espacios en blanco, paréntesis, apóstrofos, comillas dobles, signo igual, asteriscos, caracteres con acentos, signo de porcentaje.
PARA LOS ENCABEZADOS DE PROGRAMAS ABAP: se recomienda siempre utilizar el mismo encabezado, de modo que se unifiquen criterios entre todos los programadores de un mismo proyecto, por eso se recomienda copiar el que aparece en otros programas ABAP. Luego en el programa se recomienda especificar las declaraciones para los INCLUDES, TIPOS, TABLAS INTRRNAS, etc.