Guía de nomenclatura en ABAP: convenciones técnicas

Cómo nombrar correctamente variables, objetos y desarrollos SAP

Una buena nomenclatura en ABAP no es solo una cuestión estética. Es clave para que el código sea legible, mantenible, escalable y fácil de entender, tanto para ti como para cualquier persona que trabaje en el proyecto después.

El objetivo es que puedas leer un nombre y entender inmediatamente qué es y para qué sirve.

Principios básicos de nomenclatura en ABAP

Antes de entrar en cada caso concreto, estas son las reglas base:

  • Usa inglés siempre (salvo textos visibles al usuario)
  • Nombres claros y descriptivos, evita abreviaturas confusas
  • Usa snake_case (convención ABAP)
  • consistente en todo el proyecto
  • Prefiere nombres largos y claros a nombres cortos e ambiguos

Nomenclatura de variables

Variables globales

Prefijo según tipo de dato:

TipoPrefijoEjemplo
Variable simplegv_gv_total_amount
Estructurags_gs_customer
Tabla internagt_gt_orders

Variables locales

Prefijo según tipo de dato:

TipoPrefijoEjemplo
Variable simplelv_lv_total_amount
Estructurals_ls_customer
Tabla internalt_lt_orders

Constantes

Las constantes indican claramente si son locales o globales.

ÁmbitoPrefijoEjemplo
GlobalGC_gc_success
LocalLC_lc_error

Rangos

ÁmbitoPrefijoEjemplo
GlobalGR_gr_date
LocalLR_lr_status

Pantalla de selección

TipoPrefijoEjemplo
PARAMETERSP_p_status
SELECT-OPTIONSS_s_kunnr

Parámetros de funciones y métodos

Prefijo (*) según tipo de dato (variables, estructuras, tablas):

TipoPrefijoUsoEjemplo
IMPORTINGi*_Solo entradaiv_amount | it_charges
EXPORTINGe*_Solo salidaev_total | es_item
CHANGINGc*_Entrada y salidacv_status | ct_devices
RETURNINGr*_Solo salidarv_total | rt_items

Atributos de clases

En clases no trabajamos con variables, sino con atributos.

PrefijoTipo
V_*Variable
S_*Estructura
T_*Tabla
O_*Objeto
CX_*Constante (X indica tipo de edato)

Objetos (referencias)

ÁmbitoPrefijoEjemplo
GlobalGO_go_alv
LocalLO_lo_handler

Field Symbols

Los field symbols siguen la misma nomenclatura que las variables, pero entre < >.

TipoEjemplo
Estructura local<ls_order>
Tabla local<lt_items>
Estructura global<gs_customer>
Tabla global<gt_orders>
Rango local<lr_date>
Rango global<gr_status>

Objetos de Diccionario (SE11)

Convenciones generales

ObjetoConvención
Tablas / Dominios / Data ElementsZ**_(modulo)_*
EstructurasZ**_(modulo)_*_ST
Tipos tablaZ**_(modulo)_*_TT

👉 ** suele identificar cliente/proyecto y (modulo) el módulo funcional.

Desarrollos ABAP

TipoConvención
ProgramaZ**_(modulo)_*
Function ModuleZ**_FM_(modulo)_*
ClaseZ**_CL_(modulo)_*
InterfaceZ**_IF_(modulo)_*
SmartFormZ**_SF_(modulo)_*
Clase de mensajesZ**_MSG_(modulo)_*

Paquetes

Tipo de paqueteConvención
GeneralZ**_(modulo)
Proyecto específicoZ**_(modulo)_*

Includes de programas

IncludeUso
Z**_XX_*_TOPVariables globales
Z**_XX_*_SCRPantalla de selección
Z**_XX_*_CLSClases / eventos ALV
Z**_XX_*_PBOPBO Dynpros
Z**_XX_*_PAIPAI Dynpros
Z**_XX_*_F01Subrutinas

Convenciones para Excepciones (CX)

Muy importante en OO ABAP.

TipoPrefijoEjemploUso
Clase de excepciónZCX_*ZCX_INVALID_DATAExcepciones propias
Objeto excepciónLO_CX_*LO_CX_ERRORManejo en TRY/CATCH

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *