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)
Sé 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:
Tipo
Prefijo
Ejemplo
Variable simple
gv_
gv_total_amount
Estructura
gs_
gs_customer
Tabla interna
gt_
gt_orders
Variables locales
Prefijo según tipo de dato:
Tipo
Prefijo
Ejemplo
Variable simple
lv_
lv_total_amount
Estructura
ls_
ls_customer
Tabla interna
lt_
lt_orders
Constantes
Las constantes indican claramente si son locales o globales.
Ámbito
Prefijo
Ejemplo
Global
GC_
gc_success
Local
LC_
lc_error
Rangos
Ámbito
Prefijo
Ejemplo
Global
GR_
gr_date
Local
LR_
lr_status
Pantalla de selección
Tipo
Prefijo
Ejemplo
PARAMETERS
P_
p_status
SELECT-OPTIONS
S_
s_kunnr
Parámetros de funciones y métodos
Prefijo (*) según tipo de dato (variables, estructuras, tablas):
Tipo
Prefijo
Uso
Ejemplo
IMPORTING
i*_
Solo entrada
iv_amount | it_charges
EXPORTING
e*_
Solo salida
ev_total | es_item
CHANGING
c*_
Entrada y salida
cv_status | ct_devices
RETURNING
r*_
Solo salida
rv_total | rt_items
Atributos de clases
En clases no trabajamos con variables, sino con atributos.
Prefijo
Tipo
V_*
Variable
S_*
Estructura
T_*
Tabla
O_*
Objeto
CX_*
Constante (X indica tipo de edato)
Objetos (referencias)
Ámbito
Prefijo
Ejemplo
Global
GO_
go_alv
Local
LO_
lo_handler
Field Symbols
Los field symbols siguen la misma nomenclatura que las variables, pero entre < >.
Tipo
Ejemplo
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
Objeto
Convención
Tablas / Dominios / Data Elements
Z**_(modulo)_*
Estructuras
Z**_(modulo)_*_ST
Tipos tabla
Z**_(modulo)_*_TT
👉 ** suele identificar cliente/proyecto y (modulo) el módulo funcional.