Vous êtes sur la page 1sur 17

Estándares de Programación - Intellego Peru

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.

Contar con pautas y recomendaciones para programar.

II. Nomenclaturas de OTs

Las órdenes de transporte deben ser nombradas de acuerdo a la siguiente nomenclatura:


<Tipo>-<Módulo> <Proyecto/REN> <Descripción> <Versión> <Funcional>

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

WB-SD EAGEC2 YSDP241 Creación masiva de NC 00 MN -> OT inicial


WB-SD EAGEC2 YSDP241 Creación masiva de NC * 01 MN -> Acumuló la OT anterior
WB-SD EAGEC2 YSDP241 Creación masiva de NC * 02 MN -> Acumuló la OT anterior

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

III. Marcas para modificaciones

*&---------------------------------------------------------------------*
*& 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

- CASO1: Agregar varias líneas de código

- CASO2: Modificar varias líneas de código

pág. 4
Estándares de Programación - Intellego Peru

- CASO3: Eliminar/Comentar varias líneas de código

- CASO4: Agregar una línea de código

- CASO5: Modificar una línea de código

- CASO6: Eliminar/Comentar una línea de código

pág. 5
Estándares de Programación - Intellego Peru

IV. OBJETO DE AUTORIZACION

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.

NOTA: Considerar el campo actividad en la validación, la actividad a validar debe ir acorde


a la función principal del programa (crear, modificar, visualizar, borrar, imprimir,
contabilizar, etc).

V. PAQUETE - CLASE DE DESARROLLO

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

VI. ESTRUCTURA DE PROGRAMAS

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

La cabecera de un programa ABAP deberá respetar el siguiente formato:

*&---------------------------------------------------------------------*
*& Proyecto...: *
*& Módulo.....:
*& Funcional..:
*& Transacción:
*& Autor......:
*& Fecha......:
*& Descripción:
*&---------------------------------------------------------------------*
*& MODIFICACIONES *
*&---------------------------------------------------------------------*
*& Marca....:
*& Autor....:
*& Funcional:
*& Fecha....:
*& Motivo...:
*&---------------------------------------------------------------------*

REPORT YMMZNNNN MESSAGE-ID Z0


LINE-SIZE 132 LINE-COUNT 65 NO STANDARD PAGE HEADING.

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.

Convención para nombres internos ABAP4/SAP

OBJETO DE AMBITO TIPO DATO VALOR


PROGRAMACION
TABLA INTERNA GLOBAL STANDARD GDT<NOMBRE>
SORTED GST<NOMBRE>
HASHED GHT<NOMBRE>
LOCAL STANDARD LDT<NOMBRE>
SORTED LST<NOMBRE>
HASHED LHT<NOMBRE>
ESTRUCTURA GLOBAL GWA<NOMBRE>
LOCAL LWA<NOMBRE>
VARIABLE GLOBAL C: CARACTER GC_<NOMBRE>
N: NUMERICO GN_<NOMBRE>
D: FECHA GD_<NOMBRE>
T: HORA GT_<NOMBRE>
X: BYTE (HEXADECIMAL) GX_<NOMBRE>
I: ENTERO GI_<NOMBRE>
P: EMPAQUETADO GP_<NOMBRE>
F: FLOTANTE GF_<NOMBRE>
OTROS G_<NOMBRE>
LOCAL C: CARACTER LC_<NOMBRE>
N: NUMERICO LN_<NOMBRE>
D: FECHA LD_<NOMBRE>
T: HORA LT_<NOMBRE>
X: BYTE (HEXADECIMAL) LX_<NOMBRE>
I: ENTERO LI_<NOMBRE>
P: EMPAQUETADO LP_<NOMBRE>
F: FLOTANTE LF_<NOMBRE>
OTROS L_<NOMBRE>
PARAMETRO DE USING PI_<NOMBRE>
PERFORM CHANGING PO_<NOMBRE>
TABLAS PT_<NOMBRE>
PARAMETRO DE PA_<NOMBRE>
SELECCION
SELECT-OPTION SO_<NOMBRE>

pág. 9
Estándares de Programación - Intellego Peru

BLOCKS SELECTION B<NOMBRE>


SCREEN

RANGOS GLOBAL GR<NOMBRE>

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>

EXPORTING PARAMETRO EP_<NOMBRE>


ESTRUCTURA EW_<NOMBRE>
TABLA ET_<NOMBRE>

TABLES T_<NOMBRE>
MODIFY PARAMETRO MP_<NOMBRE>
ESTRUCTURA MW_<NOMBRE>
TABLA MT_<NOMBRE>

PARAMETROS DE IMPORTING PARAMETRO IP_<NOMBRE>


CLASES ESTRUCTURA IW_<NOMBRE>
TABLA IT_<NOMBRE>
CLASE IC_<NOMBRE>
EXPORTING PARAMETRO EP_<NOMBRE>
ESTRUCTURA EW_<NOMBRE>
TABLA ET_<NOMBRE>
CLASE EC_<NOMBRE>
RETURN PARAMETRO RP_<NOMBRE>
ESTRUCTURA RW_<NOMBRE>
TABLA RT_<NOMBRE>
CLASE RC_<NOMBRE>

pág. 10
Estándares de Programación - Intellego Peru

PROGRAMAS INCLUDE

Para estructurar programas con muchas líneas de código.


Para generar código re-utilizable en otros programas.
Para definir FORMS utilizables por otros programas (Ejemplo: Rutinas de programas
BATCH-INPUT).

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

VII. NOMENCLATURA DE OBJETOS

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.

INCLUDE GENERICO ZIN_[NOMBRE]


COMPOSITE Z[MM]CE_[NOMBRE]
ENHANCEMENT
IMPLEMENTATION

ENHANCEMENT Z[MM]EI_TTTT_[NOMBRE]
IMPLEMENTATION

TABLA Z[MM]T_[NOMBRE]

VISTA ACTUALIZACION Z[MM]V_[NOMBRE]

VISTA APPEND Z[MM]VA_[NOMBRE]

VISTA AYUDA Z[MM]VH_[NOMBRE]

CLUSTER DE VISTA Z[MM]VC_[NOMBRE]

pág. 12
Estándares de Programación - Intellego Peru

ESTRUCTURA Z[MM]S_[NOMBRE]

TIPO TABLA Z[MM]TT_[NOMBRE]

ELEMENTO DE DATO ZE_[NOMBRE]

DOMINIO ZD_[NOMBRE]

AYUDA DE BÚSQUEDA ZH_[NOMBRE]

OBJETO DE BLOQUEO ZB_[NOMBRE]

SAPSCRIPT Z[MM]SS_[NOMBRE]

SMARTFORM Z[MM]SF_[NOMBRE]

ESTILO (SMARTFORM) Z[MM]ST_[NOMBRE]

MÓDULO DE TEXTO ZMT_[NOMBRE]


(SMARTFORM)

GRUPO DE FUNCIONES Z[MM]GF_[NOMBRE]

FUNCION Z[MM]F_[NOMBRE]

FUNCION DE Z[MM]UF_[NOMBRE]
ACTUALIZACIÓN

RFC Z[MM]RFC_[NOMBRE]
IMPLEMENTACION BADI Z[NOMBRE]_[NNN]

OBJETO DE AMPLIACION Z[MM][NNN]


(CMOD)

GRUPO DE USUARIO Z[MM]GU_[NOMBRE]


(QUERY)

INFOSET (QUERY) Z[MM]IS_[NOMBRE]

QUERY Y[MM]Q_[NOMBRE]

PROYECTO (LSMW) ZP_[NOMBRE]

pág. 13
Estándares de Programación - Intellego Peru

SUB PROYECTO (LSMW) Z[MM]SP_[NOMBRE]

OBJETO (LSMW) Z[MM]O_[NOMBRE]

OBJETO DE AUTORIZACION Z[MM]_ [NOMBRE]

CLASE DE MENSAJE Z[MM][NN]

NUMEROS DE MENSAJE [NNN]

CORE DATA SERVICES ZMMCDS_[NNNNN] (Debe tener el mismo nombre que el


DDL)
DATA DEFINICION (DDL) ZMMDDL_[NNNNN](Debe tener el mismo nombre que el
CDS)
AMDP ZMMAMDP_[NOMBRE]

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 CDS ayuda en una BD HANA en la extracción de datos, la creación depende


del Funcional y el ABAP, es un tema de criterio, si ven que hay muchas consultas a tablas
continuamente, es posible crear un CDS que nos ayude a mejorar el performance del
programa.

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

Criterios de Creación de CDS


Al realizar un realizar un CDS se debe tener en cuenta las siguientes características:

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.

NOTA: Preguntar siempre si un CDS ha sido creado.

Criterios de Creación de AMDPs


Al realizar un realizar un AMDPs se debe tener en cuenta las siguientes características:

Por procesos repetitivos, si definimos procesos repetitivos en nuestros programas es


posible crear un AMDP para controlarlo.

NOTA: Preguntar siempre si un AMDP ha sido creado.

pág. 16
Estándares de Programación - Intellego Peru

Criterios de Creación de ALV with IDA


Al realizar un realizar un AMDPs se debe tener en cuenta las siguientes características:

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

Vous aimerez peut-être aussi