✒️ABAP Los Estándares de programación en ABAP
ABAP Los Estándares de programación en ABAP
LOS ESTÀNDARES DE PROGRAMACIÓN
1.- Qué son los estándares de programación y por qué es tan importante que los utilicemos ?.
- Determina la forma en la que codificaremos nuestros programas ABAP.
Es decir como declararemos las variables, estructuras, tablas, así como también la forma en que debemos definir los objetos que creamos con el diccionario de datos o en cualquier otra transacción de SAP donde se crean objetos en el sistema.
La utilización de los Estándares de Programación es sumamente beneficiosa ya que hace que los programas sean mucho más simples de leer y mantener al momento de tener que realizar una modificación.
2.- Criterios de un buen estándar
- Factor nemónico: para que el programador pueda recordar el nombre de una variable facilmente.
- Factor sugestivo: Para que los programadores puedan leer y entender rápidamente nuestro código.
- Consistencia: de modo que utilicemos las mismas convenciones de nomenclatura en todo el programa y hagamos que el texto del código sea "legible"
3.- Ventaja del uso de Estándares.
- 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 las variables serán sugestivas, 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 y automática, puesto que seguirá las reglas definidas por el estándar.
- Permiten el uso de herramientas automáticas de verificación de nomenclaturas tales como el "chequeo Extendido del código o el inspector de código".
4.- Por qué los estándares de Programación son utilizados tan poco ?.
- Trabajan en un proyecto que no han adoptado ningún estánda
- No los entienden o no los pueden recordar
- No ven el beneficio de utilizarlos
- Están muy apurados o cansados
- Prefieren creatividad y consistencia arbitraria
- Piensan que es divertido usar nombres "bonitos" en el código
- Son "Artistas del software" y no quieren estar regidos por convenciones.
5.- Nuestros Estándares de programación.
. Para las declaraciones dentro de un programa ABAP:
Variables locales.- VL_XXXXXXXXX
Variables globales.- V_XXXXXXXXXX
Checkbox.- CH_XXXXXXXXXX
Radio Button.- RBG11_XXXX, RGB12_XXXX, RBGIN_XXXX
RBG21_XXXX, RBG22_XXXX, RBG2N_XXXX
Rangos.- R_XXXXXXXXXX
Rangos Locales.- RL_XXXXXXXXX
Constantes Globales.- C_XXXXXXXXXX
Constantes Locales.- CL_XXXXXXXXX
Estructura.- WA_XXXXXXXXX
Estructura Local.- WAL_XXXXXXXX
Tabla interna.- TI_XXXXXXXXX
Tabla interna local.- TIL_XXXXXXXX
Tipos.- TY_XXXXXXXXX
Parámetros P_XXXXXXXXXX
Select Options.- SO_XXXXXXXXX
Forms.- F_XXXXXXXXXXXXX
parámetro de un form.- P_XXXXXXXXXX
"CUANDO HABLAMOS 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 dentro del programa principal, es decir dentro dle evento START-OF-SELECTION"
- Para las declaraciones de los datos que creamos en el diccionario de datos ABAP utilizaremos los siguientes estándares.
Campo nuevo en una tabla de base de datos.- XXXXXXXX Donde XXXXXXXX es el nombre del campo.
Elemento de datos.- ZZ_XXXXXX (donde XXXXXX es el nombre del campo al que se va a asociar )
Dominio.- ZDXXXXXXXX( Donde XXXXXXXX deberá referenciar el tipo de datos)
Nombre de tabla.- ZTXXXXXXXX (Donde XXXXXXXX se utiliza para describir el nombre de la tabla)
Estructuras.- ZXXXXXXXX (Donde XXXXXXXX se utiliza para describir el nombre de la estructura).
- utilizamos la siguiente nomenclatura para establecer los nombres de los siguientes objetos.
Reporte o programa.- ZXXXXXXXX Ej. ZREPORTE_USUARIOS
Módulo de función.- ZMFXXXXXXXX(Donde XXXXXXXX se utiliza para describir el nombre del módulo de función).
Grupo de función.- ZGFXXXXXXXX (Donde XXXXXXXX se utiliza para describir el nombre del grupo de función).
Módulo POOL o programa de Diálogo.- ZMPXXXXXXXX (Donde XXXXXXXX se utiliza para el objeto del programa)
Vistas de actualización.- ZVAXXXXXXXX (Donde XXXXXXXX se utiliza para describir el nombre de la vista)
Clase de Mansajes.- ZCMXXXXXXXX (Donde XXXXXXXX se utiliza para describir el nombre de la clase del mensaje)
Clase de objetos ABAP.- ZCLXXXXXXXX (Donde XXXXXXXX se utiliza para describir el nombre de la clase)
Clase de desarrollo o Paquete.- ZCDXXXXXXXX (donde XXXXXXX se utiliza para describir el nombre de la clse de desarrollo o paquete)
Ayuda de búsqueda.- ZABXXXXXXXX (Donde XXXXXXXX se utiliza para describir el nombre de la ayuda de búsqueda)
Objeto de bloqueo.- ZOBXXXXXXXX (donde XXXXXXXX se utiliza para describir el objetivo del objeto de bloqueo)
- Para encabezados de programas ABAP
Esqueleto de un programa ABAP.
*NOMBRE DEL PROGRAMA
*DESCRIPCION (Descripción breve de la funcionalidad del programa)
*NUMERO DE REQUERIMIENTO (Nro del requerimiento, mejora o incidencia que generó el desarrollo)
*AUTOR (Nombre y apellidos completos del programador)
*FECHA DD/MM/AAAA
*CONTROL DE MODIFICACIONES.
*(Esta sección se completa con cada modificación posterior a la
* implementación en el ambiente productivo del programa)
*MODIFICADOR POR: (Nombre y apellido del autor de la modificación)
*FECHA MODIFICACION DD/MM/AAAA
*DESCRIPCION MODIFICACION (Breve descripción de la modificación)
REPORT ZXXXXXXXX
Declaraciones de los includes, Tipos, Tablas internas, etc.
*********************************************
* INCLUDES
*********************************************
include ZXXXXX_TOP (Include de declaración de datos, donde XXXXX es el nombre del programa)
include ZXXXX_FORMS ( iNCLUDE DE DECLARACIÓN DE SUBRUTINA, DONDE XXXXX es el nombre del programa)
*********************************************
* Definición de TYPES
*********************************************
*********************************************
* Definición de estructuras
*********************************************
*********************************************
* Definición de tablas internas
*********************************************
*********************************************
* Definición de parámetros
*********************************************
*********************************************
* Definición de constantes
*********************************************
*********************************************
* Definición de Rangos
*********************************************
*********************************************
* Definición de variables
*********************************************
*********************************************
* Proceso principal START-OF-SELECTION
*********************************************
*********************************************
* Acciones de final de proceso END-OF-SELECTION
*********************************************
 
 
 
Sobre el autor
Publicación académica de Miguel Angel Acosta Acosta, en su ámbito de estudios para la Carrera Consultor ABAP.
Miguel Angel Acosta Acosta
Profesión: Ingeniero de Sistemas - Ecuador - Legajo: TF64C
✒️Autor de: 238 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor en SAP SD Nivel Avanzado
- Carrera Consultor en SAP SD Nivel Inicial
- Máster ABAP for HANA
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial
Disponibilidad Laboral: FullTime
Presentación:
Profesional de ingeniería de sistemas en computación e informática, con experiencia en la implantación y soporte de proyectos informáticos para empresas del sector industrial y financiero.
Certificación Académica de Miguel Acosta