SAP ABAP Programación
Variables del sistema
TEORÍA
Variables del sistema
SAP ABAP Programación
1
SAP ABAP Programación
Variables del sistema
Contenido
1. Conceptos ............................................................................................................................. 3
2. Clasificación de campos de sistema ..................................................................................... 3
2.1. Campo SY-SUBRC .......................................................................................................... 3
2.2. Campo SY-UCOMM ....................................................................................................... 3
2.3. Campo SY-DATUM ........................................................................................................ 4
2.4. Campo SY-TABIX ........................................................................................................... 4
2.5. Campo SY-BATCH .......................................................................................................... 4
2.6. Campo SY-MSGID.......................................................................................................... 5
2.7. Campo SY-CUCOL .......................................................................................................... 5
3. Listado completo de las variables del sistema .................................................................... 6
2
SAP ABAP Programación
Variables del sistema
1. Conceptos
Los campos de sistema SY son variables internas que SAP carga
en memoria cada vez que se ejecuta un programa. Da igual que
no las hayamos declarado en ningún punto del programa, siempre
están disponibles para ser utilizadas. Por lo tanto, si estamos
programando y las necesitamos bastará con incluirlas en nuestro
código ABAP.
2. Clasificación de campos de sistema
Estos campos se subdividen en:
A. Campos generales de información de sistema.
B. Campos de programación ABAP.
C. Campos internos de sistema.
D. Campos obsoletos.
A continuación se exponen los campos de sistema más utilizados.
2.1. Campo SY-SUBRC
Nos indica si el resultado de la anterior sentencia ejecutada se ha
procesado correctamente o no. Cuando el resultado es correcto
entonces toma un valor '0', pero si no es así tomará un valor
diferente a '0'. Es muy útil en selecciones de datos SQL o en
excepciones de módulos de funciones.
2.2. Campo SY-UCOMM
Un campo SY-UCOMM devuelve el valor del último código de
función pulsado en pantalla. Sirve para determinar cómo el usuario
3
SAP ABAP Programación
Variables del sistema
interactúa en cada pantalla de un programa. Su valor suele
copiarse en una variable llamada OK_CODE y, a partir de ella,
tratarla. Por ejemplo, cuando un usuario pulsa una opción de un
menú SY-UCOMM se informará con el código de función de esa
opción para poder realizar la función correspondiente. Es un
campo es muy utilizado en la programación de MODULPOOLS y
DYNPROS.
2.3. Campo SY-DATUM
Guarda siempre el valor de la fecha actual en formato
AAAAMMDD (año mes día). Junto a ella también se puede
mencionar la variable SY-UZEIT que contiene el valor de la hora
actual. Es útil en la programación de reports cuando queremos
mostrar claramente fecha y hora de ejecución de un informe.
2.4. Campo SY-TABIX
Incorpora el número de registro de una tabla interna en el cual nos
encontramos cuando estamos en un bucle loop...endloop. Es útil
si, por ejemplo, sólo queremos mostrar un determinado número de
registros de una tabla interna.
2.5. Campo SY-BATCH
Indica si el programa se está lanzando en modo on-line o en
proceso de fondo. Cuando esté llene indicará que el programa
está en proceso de fondo. A veces queremos controlar que un
determinado programa no se lance nunca on-line. Entonces, ésta
será la variable a utilizar.
4
SAP ABAP Programación
Variables del sistema
2.6. Campo SY-MSGID
Contiene el valor de una clase de mensaje. Suele utilizarse en
combinación con los campos de sistema sy-msgno, sy-
msgv1, sy-msgv2, sy-msgv3 y sy-msgv4. Se puede ver cuando
se escribe una función a través de la opción modelo del editor
(Ctrl+F6) y estas seis variables aparecen después de una
sentencia SY-SUBRC. Eso es para controlar las excepciones del
módulo de funciones. Si como resultado de la función se genera
una excepción entonces podremos utilizar estas variables para
determinar de qué excepción se trata.
2.7. Campo SY-CUCOL
Al posicionar el cursor en la pantalla la variable sy-cucol guarda
el valor de la posición horizontal. Se usa juntamente con el
campo sy-curow. Entre ambos nos permitirá determinará el valor
del campo que el usuario está marcando en la pantalla.
5
SAP ABAP Programación
Variables del sistema
3. Listado completo de las variables del sistema
El listado completo de campos de sistema en ABAP se encuentra
en la estructura del diccionario de datos SYST.
Nombre Tipo de datos Longitud Descripción
INDEX INT4 10 Contador de loops
PAGNO INT4 10 Página de lista actual
TABIX INT4 10 Índice de tablas internas
TFILL INT4 10 Cantidad de líneas de tablas internas
TLOPC INT4 10 Campo interno de sistema ABAP
TMAXL INT4 10 Campo de sistema ABAP obsoleto
TOCCU INT4 10 Campo de sistema ABAP obsoleto
TTABC INT4 10 Campo de sistema ABAP obsoleto
TSTIS INT4 10 Campo interno de sistema ABAP
TTABI INT4 10 Campo de sistema ABAP obsoleto
DBCNT INT4 10 Líneas tratadas de tablas de banco de datos
FLPOS INT4 10 Hallazgo en cadena de bytes o caracteres
COLNO INT4 10 Columna actual en la lista
LINCT INT4 10 Longitud de la página de la lista
LINNO INT4 10 Línea actual en la lista
LINSZ INT4 10 Ancho de la línea de la lista
PAGCT INT4 10 Campo de sistema ABAP obsolete
MACOL INT4 10 Cantidad de columnas en margen izquierdo
lista de impresión
MAROW INT4 10 Cantidad de columnas en margen superior de
lista impresión
TLENG INT4 10 Longitud de las líneas de una tabla interna
SFOFF INT4 10 Campo interno de sistema ABAP
WILLI INT4 10 Campo de sistema ABAP obsoleto
LILLI INT4 10 Línea de listas seleccionada
SUBRC INT4 10 Código retorno de sentencias ABAP
FLENG INT4 10 Campo interno de sistema ABAP
CUCOL INT4 10 Posición del cursor horizontal en PAI
CUROW INT4 10 Posición del cursor vertical en PAI
LSIND INT4 10 Índice de lista de bifurcación
LISTI INT4 10 Índice de la línea visualizada
STEPL INT4 10 Índice de la línea step loop actual
TPAGI INT4 10 Campo de sistema ABAP obsoleto
WINX1 INT4 10 Campo de sistema ABAP obsoleto
WINY1 INT4 10 Campo de sistema ABAP obsoleto
WINX2 INT4 10 Campo de sistema ABAP obsoleto
WINY2 INT4 10 Campo de sistema ABAP obsoleto
WINCO INT4 10 Campo de sistema ABAP obsoleto
WINRO INT4 10 Campo de sistema ABAP obsoleto
WINDI INT4 10 Campo de sistema ABAP obsoleto
SROWS INT4 10 Imágenes pantalla, cantidad líneas
SCOLS INT4 10 Imágenes pantalla, cantidad columnas
6
SAP ABAP Programación
Variables del sistema
LOOPC INT4 Líneas visibles de un step loop
FOLEN INT4 10 Campo interno de sistema ABAP
FODEC INT4 10 Campo interno de sistema ABAP
TZONE INT4 10 Fecha y hora, [Link] con la hora de
Greenwich
DAYST CHAR 1 Marca de selección del horario de verano
FTYPE CHAR 1 Campo interno de sistema ABAP
APPLI RAW 2 Campo de sistema ABAP obsoleto
FDAYW INT1 3 Día de la semana en calendario fábrica
CCURS DEC 9 Campo de sistema ABAP obsoleto
CCURT DEC 9 Campo de sistema ABAP obsoleto
DEBUG CHAR 1 Campo interno de sistema ABAP
CTYPE CHAR 1 Campo de sistema ABAP obsoleto
INPUT CHAR 1 Campo interno de sistema ABAP
LANGU LANG 1 Clave de idioma del entorno de texto actual
MODNO INT4 10 Índice del modo externo
BATCH CHAR 1 El programa se ejecuta en proceso de fondo
BINPT CHAR 1 Programa ejecutado vía batch input
CALLD CHAR 1 Programa ABAP, modo de llamada al
programa
DYNNR CHAR 1 Número del dynpro actual
DYNGR CHAR 1 Grupo de imágenes del dynpro actual
NEWPA CHAR 1 Campo interno de sistema ABAP
PRI40 CHAR 1 Campo interno de sistema ABAP
RSTRT CHAR 1 Campo interno de sistema ABAP
WTITL CHAR 1 Indicador para cabecera de página estándar
CPAGE INT4 10 Número de páginas actual de unan lista
DBNAM CHAR 20 Banco de datos lógico de un programa
ejecutable
MANDT CLNT 3 Identificación del mandante del usuario actual
PREFX CHAR 3 Campo de sistema ABAP obsoleto
FMKEY CHAR 3 Campo de sistema ABAP obsoleto
PEXPI NUMC 1 Tiempo de permanencia en SPOOL
(parámetros de impresión)
PRINI NUMC 1 Campo interno de sistema ABAP
PRIMM CHAR 1 Salidas inmediatas (parámetros de impresión)
PRREL CHAR 1 Borrar tras salida (parámetros de impresión)
PLAYO CHAR 5 Campo interno de sistema ABAP
PRBIG CHAR 1 Portada de selección (parámetros de
impresión)
PLAYP CHAR 1 Campo interno de sistema ABAP
PRNEW CHAR 1 Orden SPOOL nueva (parámetros de
impresión)
PRLOG CHAR 1 Campo interno de sistema ABAP
PDEST CHAR 4 Dispositivo de salida (parámetros de
impresión)
PLIST CHAR 12 Nombre de la orden SPOOL (parámetros de
impresión)
PAUTH NUMC 2 Campo interno de sistema ABAP
PRDSN CHAR 6 Nombre de fichero SPOOL
PNWPA CHAR 1 Campo interno de sistema ABAP
CALLR CHAR 8 Ubicación inicial de la impresión de listas
7
SAP ABAP Programación
Variables del sistema
REPI2 CHAR 40 Campo interno de sistema ABAP
RTIT CHAR 70 Título del programa de impresión (parámetros
de impresión)
PRREC CHAR 12 Destinatario (parámetros de impresión)
PRTXT CHAR 68 Texto para portada (parámetros de impresión)
PRABT CHAR 12 Departamento en la portada (parámetros de
impresión)
LPASS CHAR 4 Campo interno de sistema ABAP
NRPAG CHAR 1 Campo interno de sistema ABAP
PAART CHAR 16 Edición de impresión (parámetros de
impresión)
PRCOP NUMC 3 Edición de impresión (parámetros de
impresión)
BATZS CHAR 1 Campo interno de sistema ABAP
BSPLD CHAR 1 Campo interno de sistema ABAP
BREP4 CHAR 4 Campo interno de sistema ABAP
BATZO CHAR 1 Campo interno de sistema ABAP
BATZD CHAR 1 Campo interno de sistema ABAP
BATZW CHAR 1 Campo de sistema ABAP obsoleto
BATZM CHAR 1 Campo de sistema ABAP obsoleto
CTABL CHAR 4 Campo de sistema ABAP obsoleto
DBSYS CHAR 10 Sistema de la base de datos central
DCSYS CHAR 4 Campo de sistema ABAP obsoleto
MACDB CHAR 4 Campo de sistema ABAP obsoleto
SYSID CHAR 8 Nombre sistema SAP
OPSYS CHAR 10 Sistema operativo del servidor de aplicación
PFKEY CHAR 20 Status GUI actual
SAPRL CHAR 4 Versión release del sistema SAP
TCODE CHAR 20 Código transacción actual
UCOMM CHAR 70 Código de función borrado por PAI
CFWAE CUKY 5 Campo interno de sistema ABAP
CHWAE CUKY 5 Campo interno de sistema ABAP
SPONO NUMC 10 Número SPOOL en listas de impresión
SPONR NUMC 10 Campo de sistema ABAP obsoleto
WAERS CUKY 5 Campo de sistema ABAP obsoleto
CDATE DATS 8 Campo de sistema ABAP obsoleto
DATUM DATS 8 Fecha actual del servidor de aplicación
SLSET CHAR 14 Variante de la imagen de selección utilizada
SUBTY RAW 1 Campo interno de sistema ABAP
SUBCS CHAR 1 Campo interno de sistema ABAP
GROUP CHAR 1 Campo interno de sistema ABAP
FFILE CHAR 8 Campo interno de sistema ABAP
UZEIT TIMS 6 Hora actual del servidor de aplicación
DSNAM CHAR 8 Campo interno de sistema ABAP
TABID CHAR 8 Campo interno de sistema ABAP
TFDSN CHAR 8 Campo de sistema ABAP obsoleto
8
SAP ABAP Programación
Variables del sistema
UNAME CHAR 12 Usuario
LSTAT CHAR 16 Campo de sistema ABAP obsoleto
ABCDE CHAR 26 Alfabeto latino
MARKY CHAR 1 Campo de sistema ABAP obsoleto
SFNAM CHAR 30 Campo de sistema ABAP obsoleto
TNAME CHAR 30 Campo de sistema ABAP obsoleto
MSGLI CHAR 60 Campo de sistema ABAP obsoleto
TITLE CHAR 70 Contenido de la línea de título
ENTRY CHAR 72 Campo interno de sistema ABAP
LISEL CHAR 255 Contenido de la línea de una lista seleccionada
ULINE CHAR 255 Marca de graduación horizontal
XCODE CHAR 70 Campo interno de sistema ABAP
CPROG CHAR 40 Programa de llamada
XPROG CHAR 40 Campo interno de sistema ABAP
XFORM CHAR 30 Campo interno de sistema ABAP
LDBPG CHAR 40 Programa de base de datos de una base de
datos lógica
TVAR0 CHAR 20 Variable de texto para reserva-espacio en
cabeceras de lista
TVAR1 CHAR 20 Variable de texto para reserva-espacio en
cabeceras de lista
TVAR2 CHAR 20 Variable de texto para reserva-espacio en
cabeceras de lista
TVAR3 CHAR 20 Variable de texto para reserva-espacio en
cabeceras de lista
TVAR4 CHAR 20 Variable de texto para reserva-espacio en
cabeceras de lista
TVAR5 CHAR 20 Variable de texto para reserva-espacio en
cabeceras de lista
TVAR6 CHAR 20 Variable de texto para reserva-espacio en
cabeceras de lista
TVAR7 CHAR 20 Variable de texto para reserva-espacio en
cabeceras de lista
TVAR8 CHAR 20 Variable de texto para reserva-espacio en
cabeceras de lista
TVAR9 CHAR 20 Variable de texto para reserva-espacio en
cabeceras de lista
MSGID CHAR 20 Clase de mensajes
MSGTY CHAR 1 Tipo de mensaje
MSGNO NUMC 3 Número de mensaje
MSGV1 CHAR 50 Variable de mensaje
MSGV2 CHAR 50 Variable de mensaje
MSGV3 CHAR 50 Variable de mensaje
MSGV4 CHAR 50 Variable de mensaje
ONCOM CHAR 1 Campo interno de sistema ABAP
VLINE CHAR 1 Barra de graduación vertical
WINSL CHAR 79 Campo de sistema ABAP obsoleto
STACO INT4 10 Primera columna de la lista visualizada
9
SAP ABAP Programación
Variables del sistema
STARO INT4 10 Línea superior visualizada
DATAR CHAR 1 Marca de selección para una entrada en un
campo dynpro
HOST CHAR 32 Nombre del servidor de aplicaciones actual
LOCDB CHAR 1 Campo de sistema ABAP obsoleto
LOCOP CHAR 1 Campo de sistema ABAP obsoleto
DATLO DATS 8 Fecha local del usuario actual
TIMLO TIMS 6 Hora local del usuario actual
ZONLO CHAR 6 Huso horario del usuario actual
10