✒️ABAP - Los Estándares de programación en ABAP

ABAP Los Estándares de programación en ABAP

¿Qué son los Estándares de Programación y por qué es tan importante que los utilicemos?

Determinan 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 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 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.

Les propongo evaluar la utilidad de seguir estándares de programación en la siguiente situación hipotética

pero que se repite muy a menudo en el ambiente laboral real de SAP:

Supongamos que en la empresa en donde trabajamos el equipo de Programación o Desarrollo ABAP

está compuesto por dos programadores entre los cuales nos encontramos nosotros.

Supongamos que en esta empresa no se ha definido ningún Estándar de Programación y que cada una de las dos personas

que se encargan de la programación en ABAP tiene bien dividido el trabajo,

de modo que dependiendo de que trate el desarrollo ABAP a realizar lo tomará uno de los programadores o el otro.

Ahora por último imaginemos que debido a la alta demanda de empleo en SAP,

nuestro compañero de equipo se va de la empresa y a nosotros nos toca tener que modificar los programas ABAP que él creó.

Si no se utilizó ningún Estándar de programación es muy probable que modificar los programas ABAP desarrollados por otro

programador se convierta en una tarea complicada, que nos puede llegar a llevar más del doble del tiempo que debería.

Criterios de un buen estándar

Hay muchos estándares de programación que se pueden utilizar.

Un buen estándar de programación generalmente considerará los siguientes factores:

Factor nemotécnico:

para que el programador pueda recordar el nombre de una variable fácilmente.

Factor sugestivo:

para que otros 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".

Ventajas del uso de Estándares

Podemos resumir algunos de los beneficios de utilizar estándares de programación en los siguientes puntos:

Los nombres de variables serán nemotécnicos,

y se podrá saber el tipo de dato de cada variable con sólo 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 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.

¿Por qué los Estándares de Programación son utilizados tan poco ?

Si los estándares tienes tantos beneficios, entonces la pregunta es ¿por qué los programadores los usan muy pocas veces?

La razón tiene que ver más con los seres humanos que con la tecnología:

Trabajan en un proyecto que no ha adoptado ningún estándar.

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.

Nuestros Estándares de Programación

A continuación les presentamos los Estándares de Programación que utilizaremos a lo largo de la Carrera SAP ABAP.

Es importante que sepas que dentro de los estándares que definiremos a continuación es probable que mencionemos

conceptos que desconoces, pero que iremos incorporando a lo largo de la Carrera Consultor SAP ABAP.

Los estándares que les presento a continuación fueron elaborados en base a la experiencia recopilada

en los distintos proyectos en los que he participado como Consultor SAP ABAP y como Líder del equipo de Desarrollo.

Para las declaraciones dentro de un programa ABAP utilizaremos los siguientes estándares:

Variables Locales: VL_XXXXXXXX

Variables Globales: V_XXXXXXXX

Checkbox: RGB11_XXXX, RGB12_XXXX, RGB1N_XXXX,

RGB21_XXXX, RGB22_XXXX, RGB2N_XXXX,

Rangos: R_XXXXXXXX

Rangos Locales: RL_XXXXXXXX

Constantes Globales: C_XXXXXXXX.

Constantes Locales: CL_XXXXXXXX.

Tabla Interna Globales: TI_XXXXXXXX.

Tabla Interna Locales: TIL_XXXXXXXX.

Tipos: TY_XXXXXXXX.

Parametros: P_XXXXXXXX.

Select Options: SO_XXXXXXXX.

Forms: F_XXXXXXXX.

Parametros de un Forms: P_XXXXXXXX.

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 que se realizan dentro del programa principal, es decir dentro del evento START-OF-SELECTION.

Para las declaraciones de los datos que creamos en el Diccionario de datos ABAP utilizaremos los siguientes estándares:

Campos nuevo de una tabla BD XXXXXXXX Donde XXXXXXXX es el nombre del campo nuevo

Elementos de datos ZZ_XXXXXXXX Donde XXXXXXXX es el nuevo nombre del campo al que se va a asociar

Dominio ZD_XXXXXXXX Donde XXXXXXXX deberá referenciar el tipo de datos

Nombre 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

Utilizaremos la siguiente nomenclatura para establecer los nombres de los siguientes objetos:

Reporte o programa ZXXXXXXXX Ejemplo ZREPORTE_USUARIOS

Modulo de Función ZMFXXXXXXXX Donde XXXXXXXX se utililza para describir el nombre del modulo de función

Grupo de Función ZGFXXXXXXXX Donde XXXXXXXX se utililza para describir el nombre del grupo de función

Modulo Pool o Prog de Dialogo ZMPXXXXXXXX Donde XXXXXXXX se utililza para describir el Objetivo del programa

Vistas de Actualización ZVAXXXXXXXX Donde XXXXXXXX se utililza para describir el nombre de la vista

Clases de Mensajes ZCMXXXXXXXX Donde XXXXXXXX se utililza para describir el nombre de la clase de mensajes

Clases de Objetos ABAP ZCLXXXXXXXX Donde XXXXXXXX se utililza para describir el nombre de la clase

Clases de Desarrollo o Paquete ZCDXXXXXXXX Donde XXXXXXXX se utililza para describir el nombre de la clase de desarrollo o paquete

Ayuda de Búsqueda ZABXXXXXXXX Donde XXXXXXXX se utililza para describir el nombre de la ayuda de búsqueda

Objeto de Bloqueo ZOBXXXXXXXX Donde XXXXXXXX se utililza para describir el objetivo del objeto de bloqueo

Para los Encabezados de Programas ABAP

Cuando creamos un programa ABAP nuevo en SAP es recomendable utilizar siempre el mismo encabezado

de modo de unificar criterios entre todos los programadores de un mismo proyecto.

A continuación les proponemos una versión del esqueleto de un programa ABAP que pueden utilizar para sus desarrollos.

*****************************************************************************************

* NOMBRE DEL PROGRAMA

* DESCRIPCION: Descripción breve de la funcionalidad del programa

* NUMERO DE REQUERIMIENTO: Numero de 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 implementación

* MODIFICADO POR: Nombres y Apellidos completos del autor de la modificación)

* FECHA MODIFICACION: DD.MM.AAAA

* DESCRIPCION MODIFICACION: Breve descripción de la modificación

*****************************************************************************************

Más abajo, dentro de la misma plantilla de programa nuevo,

especificamos las declaraciones de los Includes, Tipos, Tablas internas, etc.

*****************************************************************************************

* INCLUDES

*****************************************************************************************

INCLUDE ZXXXX_TOP. "Include de declaraciones de datos, donde XXXX Es el nombre del programa

INCLUDE ZXXXX_FORMS. "Include de declaraciones de subrutinas, donde XXXX 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 ranges

*****************************************************************************************

*****************************************************************************************

* Definición de variables

*****************************************************************************************

*****************************************************************************************

START-OF-SELECTION. "Proceso principal

*****************************************************************************************

*****************************************************************************************

END-OF-SELECTION. "Acciones de final de proceso

*****************************************************************************************


Sobre el autor

Publicación académica de Alex Francisco Lemos Collazos, en su ámbito de estudios para la Carrera Consultor ABAP.

SAP Expert

Alex Francisco Lemos Collazos

Profesión: Ingeniero en Sistemas - Colombia - Legajo: QS36A

✒️Autor de: 156 Publicaciones Académicas

🎓Egresado de los módulos:

Certificación Académica de Alex Lemos

 

:: Al igual que Alex ¿Usted está dispuesto a aprender SAP SD?

El lunes 17 Enero 2022 comenzamos la 🎓Carrera Consultor en SAP SD.
Juntos para realizar sus más grandes desafíos!

 Cargando presentación, aguarde unos instantes...

 

 

+Recursos Gratuitos en CVOSOFT:

¡Lo importante es aprender!, por eso en CVOSOFT la comunidad SAP más grande de habla hispana, ponemos a su alcance los siguientes recursos abiertos libres y gratuitos:

Buscador de Publicaciones:

 

 

Consultas y Soporte

👋Hola! Estamos listos para ayudarle con el soporte que su carrera merece.

Acceda sección contacto y seleccione canal de comunicación más cómodo para usted.

🤝Aguardamos su mensaje, ¡Éxitos!

 


 

👉Que las empresas tomen en serio sus estudios es muy importante para que su inversión educativa tenga sentido.
Las empresas líderes de United States y del Mundo confían a CVOSOFT su recurso más valioso, la formación de su gente.

¿Quieres conocerlas?