✒️ABAP Los Estándares de programación en ABAP
ABAP Los Estándares de programación en ABAP
Estandares de programacion
Determinan la forma de codificacion de los programas ABAP; osea como declaramos las variables, estructuras, tablas internas y demas objetos, tambien la forma en que creamos objetos en el Diccionario de datos o en cualquier transaccion.
Hace simple y beneficiosa la lectura y mantenimiento de los programas.
Criterios de un estandar de programacion
Un buen estandar considera los factores:
- Nemotecnico: para que uno pueda recordar el nombre de una variable facilmente, deben haber reglas de tipo nemotecnica.
- Sugestivo: para que otros puedan leer y entender nuestro codigo, solo el nombre de los objetos indican o sugieren su uso.
- La consistencia: utilizar las mismas convenciones de nomenclatura en todo el programa y para que el codigo sea legible.
Las ventajas del uso de estandares
Para resumir los veneficios en los siguientes puntos:
- Nombres de variables nemotecticos para saber el tipo de dato solo con leer el nombre.
- Nombres de variables sugestivos para que se pueda saber el uso o finalidad solo con el nombre.
- La decision de los nombres tendra que ser de forma mecanica y automatica.
- El correcto uso de los estandares permitira el uso de herremientas automaticas de verificaion de nomenclaturas como la verificacion ampliada para el programa o el inspector de codigo.
Nuestros estandares de programacion ABAP
Para declaraciones dentro de un programa ABAP:
- Variables locales: VL_xxxxx (dentro de subrutinas)
- Variables globales: V_xxxxx (dentro del programa principal)
- Checkbox: CH_xxxxx
- Radio Button: RBG11_xxxxxx, RBG12_xxxx, RBG1N_xxxxx.
RBG21_xxxxx, RBG22_xxxxx, RBG2N_xxxxx. - Rangos: R_xxxxxx
- Rangos locales: RL_xxxxx
- Constantes globales: C_xxxxx
- Constantes locales: CL_xxxxx
- Estructura: WA_xxxxx
- Estructura local: WAL_xxxxx
- Tabla interna: TI_xxxxx
- Tabla interna local: TIL_xxxxx
- Tipos: TY_xxxxx
- Parametros: P_xxxxxx
- Select options: SO_xxxxx
- Forms: F_xxxxxxxx
- Parametros de un form: P_xxxxx
Para declaraciones de datos en el diccionario de datos ABAP:
- Campo nuevo en una tabla base de datos: xxxxxx (Donde xxxxxxx es el nombre del campo nuevo)
- Elemento de datos: ZZ_xxxxxxx (Donde xxxxx es el nombre del campo al que se asociara)
- Dominio: ZDxxxxxxxx (Donde xxxxxx debera referenciar el tipo de datos)
- Nombre tabla: ZTxxxxxx (Donde xxxxxx se usa para describir el nombre de la tabla)
- Estructuras: Zxxxxxxx (Donde xxxxxx se utiliza para describir el nombre de la estructura)
Para declaraciones de nombres en objetos:
- Reporte o programa: Zxxxx_LEGxxxx (ej: ZREPORTE_USUARIOS_LEG1789) Donde LEGxxxx es el numero de legajo
- Modulo de funcion: ZMFxxxxx (Donde xxxxx describe el nombre del modulo)
- Grupo de funcion: ZGFxxxx (donde xxxxx describe el nombre del grupo de funcion)
- Module pool o programa de dialogo: ZMPxxxxxx (Donde xxxxxx describe el objetivo del programa)
- Vistas de actualizacion: ZVAxxxxxx (donde xxxxx describe el nombre de la vista)
- Clase de mensajes: ZCMxxxxx (donde xxxxx describe el nombre de la clase de mensajes)
- Clase de objetos ABAP: ZCLxxxx (donde xxxxx describe el nombre de la clase)
- Clase de desarrollo o paquete: ZCDxxxxxx (donde xxxx describe la clase de desarrollo o paquete)
- Ayuda de busqueda: ZABxxxx (donde xxxxxx describe el nombre de la ayuda de busqueda)
- Objeto de bloqueo: ZOBxxxxx (donde xxxxx describe el objetivo del objeto de bloqueo)
Para los encabezados de los programas:
*************************************************************************************************************
*NOMBRE DEL PROGRAMA
*
*DESCRIPCION: (descripcion breve de la funcionalidad del programa)
*
*NUMERO DE REQUERIMIENTO: (nro de requerimiento, mejora o incidencia que genero el desarrollo)
*
*AUTOR: (nombre y apellidos completos del programador)
*
*FECHA: DD/MM/AAAA
*----------------------------------------------------------------------------------------------------------------------------------------------------------------------
*CONTROL DE MODIFICACIONES:
*(esta seccion se completa con cada modificacion posterior a la implementacion en el Ambiente productivo del programa)
*----------------------------------------------------------------------------------------------------------------------------------------------------------------------
*MODIFICADO POR (nombre y apellido del autor de la modificacion)
*
*FECHA MODIFICACION: DD/MM/AAAA
*
*DESCRIPCION MODIFICACION: (breve descripcion de la modificacion)
*-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
REPORT Zxxxxxxx.
Mas abajo, dentro de la misma plantilla del programa nuevo, especificamos las declaraciones de los includes, tipo, tablas internas, etc.
******************************************************************************************************************************************
* INCLUDES
******************************************************************************************************************************************
*INCLUDE Zxxxxx_TOP. (declaracion de datos, donde xxx es el nombre del programa)
*INCLUDE Zxxxxx_FORMS. (declaracion de subrutinas, donde xxxx es el nombre del programa)
*******************************************************************************************************************************************
*Definicion de TYPES
*******************************************************************************************************************************************
*Definicion de estructuras
*******************************************************************************************************************************************
*Definicion de tablas internas
*******************************************************************************************************************************************
*Definicion de parametros
*******************************************************************************************************************************************
*Definicion de constantes
******************************************************************************************************************************************
*Definicion de ranges
******************************************************************************************************************************************
*Definicion de variables
******************************************************************************************************************************************
*Proceso principal: START-OF-SELECTION
******************************************************************************************************************************************
*Acciones de final de proceso: END-OF-SELECTION
******************************************************************************************************************************************
 
 
 
Sobre el autor
Publicación académica de Luciano Martinez, en su ámbito de estudios para la Carrera Consultor ABAP.
Luciano Martinez
Profesión: Consultor Abap - Argentina - Legajo: LR86R
✒️Autor de: 66 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: FullTime
Presentación:
Me capacito para desempe?ar el rol de un consultor abap, adem?s soy sql developer jr, como ambos lenguajes (sql y abap) se relacionan, hace que mi perfil sea m?s completo y se complemente.
Certificación Académica de Luciano Martinez