Académique Documents
Professionnel Documents
Culture Documents
ESTANDARES DE
PROGRAMACIÓN ABAP
Una guía rápida con respecto a nombres y mejores prácticas en ABAP
pág. 1
Estándares de Programación - Intellego Peru
I. Objetivo
Contar con un marco referencial para uniformizar la nomenclatura a utilizar en los
desarrollos ABAP, permitiendo una identificación rápida, precisa y oportuna durante la
etapa de desarrollo y mantenimiento.
Donde:
Tipo : CU (Customizing), WB (Workbench)
Módulo : CO, FI, MM, SD, etc.
Proyecto/REN : Siglas del Proyecto ó Código de REN ó MC para Mejora Continua
Descripción : Transacción u objeto principal modificado + Texto descriptivo
Versión : Cuando se maneja más de una OT relacionada. Comenzar con 00.
Funcional : Siglas de funcional responsable o solicitante
Ejemplo
NOTA
- Si a la OT creada se le acumula una OT predecesora, se coloca como notación un (*)
antes del número de versión que le corresponde.
pág. 2
Estándares de Programación - Intellego Peru
*&---------------------------------------------------------------------*
*& MODIFICACIONES *
*&---------------------------------------------------------------------*
*& Marca....:
*& Autor....:
*& Funcional:
*& Fecha....:
*& Motivo...:
*&---------------------------------------------------------------------*
<Acción> @<NNN>
Donde:
Acción :
- INSERT : Insertar
- REPLACE : Modificar
- DELETE : Comentar
NNN : Número correlativo de 3 dígitos
pág. 3
Estándares de Programación - Intellego Peru
pág. 4
Estándares de Programación - Intellego Peru
pág. 5
Estándares de Programación - Intellego Peru
Todo desarrollo debe contar con la validación de uno o varios objetos de autorización según
lo solicitado en el requerimiento respectivo. Esto con el objetivo de restringir la información
a mostrar o procesar. Asimismo la transacción con su respectivo objeto de autorización
debe registrarse en la tx SU24 a fin de llevar un mejor control.
Todo objeto de repositorio Y/Z válido para PRD, debe crearse haciendo referencia a un
paquete de desarrollo.
La asignación estará relacionada con el módulo SAP al que pertenece.
pág. 6
Estándares de Programación - Intellego Peru
pág. 7
Estándares de Programación - Intellego Peru
Comentarios
Todo programa desarrollado debe incluir comentarios, con el propósito de facilitar a futuros
programadores una mejor comprensión del código desarrollado y disminuir el impacto que
representa para esta persona la modificación de un código no propio. Todo comentario
debe estar en letra minúscula, además debe ser claro y conciso, dando una idea general de
la función que realiza esa sección de código en el programa.
Cabecera de Programa
*&---------------------------------------------------------------------*
*& Proyecto...: *
*& Módulo.....:
*& Funcional..:
*& Transacción:
*& Autor......:
*& Fecha......:
*& Descripción:
*&---------------------------------------------------------------------*
*& MODIFICACIONES *
*&---------------------------------------------------------------------*
*& Marca....:
*& Autor....:
*& Funcional:
*& Fecha....:
*& Motivo...:
*&---------------------------------------------------------------------*
Las primeras líneas del programa deben ser destinadas al nombre del programa, clase de
mensaje, tamaño del reporte de salida, etc.
pág. 8
Estándares de Programación - Intellego Peru
En el caso de objetos creados por nuevos proyectos no será necesario indicar marcas de
modificación debido a que se trata de un nuevo objeto.
pág. 9
Estándares de Programación - Intellego Peru
LOCAL LR<NOMBRE>
CONSTANTES GLOCAL GCO<NOMBRE>
LOCAL LCO<NOMBRE>
FIELD-SYMBOLS GLOBAL <G<NOMBRE>>
LOCAL <F<NOMBRE>>
SUBTURINAS PERFORM
F_<NOMBRE>
MACROS <NOMBRE>
TYPES GLOBAL GTY_<NOMBRE>
LOCAL LTY_<NOMBRE>
CLASES GLOBAL GCL_<NOMBRE>
LOCAL LCL_<NOMBRE>
PARAMETROS DE IMPORTING PARAMETRO IP_<NOMBRE>
FUNCION ESTRUCTURA IW_<NOMBRE>
TABLA IT_<NOMBRE>
TABLES T_<NOMBRE>
MODIFY PARAMETRO MP_<NOMBRE>
ESTRUCTURA MW_<NOMBRE>
TABLA MT_<NOMBRE>
pág. 10
Estándares de Programación - Intellego Peru
PROGRAMAS INCLUDE
ZMMZNNNN_TOP VARIABLES
ZMMZNNNN_SEL SCREEN SELECT
ZMMZNNNN_CLS CLASES
ZMMZNNNN_MAI MAIN PROGRAMM
ZMMZNNNN_F01 RUTINAS
ZMMZNNNN_O01 PBO
ZMMZNNNN_I01 PAI
pág. 11
Estándares de Programación - Intellego Peru
TRANSACCION / PROGRAMA
Donde:
Z : Por definición SAP
MM : Módulo SAP (Ver tabla 1)
Z : Tipo de Programa (ver tabla 2)
NNN : Correlativo numérico
TTTT : Código de transacción que se está ampliando
[NOMBRE]: Descripción literal
El numeral [NNNN] debe ser el mismo en el nombre del programa y en la transacción (sin
el 0 inicial), por lo que será utilizado sólo una vez. Ejemplo, si el programa es ZMMR0023,
la transacción respectiva es ZMMR023.
Si se encontrara algún espacio en los correlativos de txs, utilizar dichos espacios para las
nuevas txs a crear. Ejm: Si en el sistema existe la tx ZFIP001, ZFIP003, ZFIP004..., utilizar el
nombre ZFIP002 como nueva tx a crear.
ENHANCEMENT Z[MM]EI_TTTT_[NOMBRE]
IMPLEMENTATION
TABLA Z[MM]T_[NOMBRE]
pág. 12
Estándares de Programación - Intellego Peru
ESTRUCTURA Z[MM]S_[NOMBRE]
DOMINIO ZD_[NOMBRE]
SAPSCRIPT Z[MM]SS_[NOMBRE]
SMARTFORM Z[MM]SF_[NOMBRE]
FUNCION Z[MM]F_[NOMBRE]
FUNCION DE Z[MM]UF_[NOMBRE]
ACTUALIZACIÓN
RFC Z[MM]RFC_[NOMBRE]
IMPLEMENTACION BADI Z[NOMBRE]_[NNN]
QUERY Y[MM]Q_[NOMBRE]
pág. 13
Estándares de Programación - Intellego Peru
pág. 14
Estándares de Programación - Intellego Peru
VIII. Performance
Al desarrollar un programa, no solo debemos tomar en cuenta la estandarización de los
objetos, sino también, mejorar la interacción con la base de datos. Esto lo logramos
mejorando la extracción de información, y logrando una muy buena codificación.
La creación de AMDP, nos ayuda en una BD HANA, y nos permitirá crearlo para validar
procesos repetitivos.
pág. 15
Estándares de Programación - Intellego Peru
Por volumen de datos, si el volumen de datos, en las tablas seleccionadas es muy grande,
por ejemplo las tablas BKPF/BSEG/MKPF/MSEG/VBAK/VBAP etc.
Por el número de tablas, se debe realizar los CDS con 3 tablas como mínimo, un ejemplo
claro FOR ALL ENTRIES consecutivos, si detectamos este posible escenario es mejor crear
un CDS.
Por el número de campos a seleccionar, tomar en cuenta que numero mínimo para crear
un CDS es de 15 campos.
pág. 16
Estándares de Programación - Intellego Peru
Por reportes extensos, si al crear un reporte vemos que contiene mucha data, es
necesario crear un ALV with IDA que pueda soportarlo.
Por dinamismo con la BD, crear un reporte usando CDS podemos ver el dinamismo con la
BD.
Por dinamismo con eventos de un ALV, crear un reporte usando CDS podemos controlar
los eventos del ALV.
pág. 17