Ir al contenido
Programación ABAP

ACDOCA

Universal Journal: posiciones contables unificadas de S/4HANA.

TablaA
Módulo
FI
Texto SAP
Universal Journal Entry Line Items
Clase de entrega
A
Actualizado
21 de octubre de 2026

S/4HANA. Esta tabla solo existe en S/4HANA. Es la fuente única de los movimientos contables; BSEG y las tablas índice de FI se leen a través de ella.

Vista CDS equivalente: I_JournalEntryItem Liberada para ABAP Cloud. En desarrollos Clean Core se lee la vista en lugar de la tabla. Más en CDS.

Para qué sirve

ACDOCA es el Universal Journal de S/4HANA: una única tabla con todas las posiciones contables de FI y CO (mayor, activos fijos, costes, resultados), con todas las dimensiones (cuenta, centro de coste, centro de beneficio, material, cliente…) y todos los ledgers.

Sustituye en la práctica a BSEG, a las tablas índice (BSIS, BSAS…), a las tablas de totales y a buena parte de las de CO, que pasan a ser vistas de compatibilidad.

Campos

Los campos clave y los más usados. La lista completa está en la SE11.

CampoElemento de datosDescripción
RCLNTClave—Mandante.
RLDNRClave—Ledger (0L = ledger principal).
RBUKRSClave—Sociedad.
GJAHRClave—Ejercicio.
BELNRClave—Número de documento.
DOCLNClave—Posición en el ledger (6 dígitos).
BUDAT—Fecha de contabilización.
POPER—Periodo contable.
RACCT—Cuenta de mayor.
DRCRK—Debe (S) o haber (H).
HSL—Importe en moneda de la sociedad.
RHCUR—Moneda de la sociedad.
WSL—Importe en moneda del documento.
RWCUR—Moneda del documento.
RCNTR—Centro de coste.
PRCTR—Centro de beneficio.
KUNNR—Cliente.
LIFNR—Proveedor.
MATNR—Material.
WERKS—Centro.

Cómo se une con otras tablas

TablaPor los camposPara qué
BKPFRBUKRS = BUKRS + GJAHR + BELNRCabecera del documento.
SKA1RACCT = SAKNR (+ plan de cuentas)Cuenta de mayor.

Generar un JOIN desde ACDOCA

Ejemplo

ABAP 7.5
" Saldo por cuenta de mayor en un periodo (ledger principal)
SELECT racct, SUM( hsl ) AS saldo, rhcur
  FROM acdoca
  WHERE rldnr  = '0L'
    AND rbukrs = @lv_bukrs
    AND gjahr  = @lv_gjahr
    AND poper  = @lv_periodo
  GROUP BY racct, rhcur
  INTO TABLE @DATA(lt_saldos).

Leyendo la vista CDS

CDS
SELECT GLAccount, SUM( AmountInCompanyCodeCurrency ) AS Saldo, CompanyCodeCurrency
  FROM I_JournalEntryItem
  WHERE Ledger      = '0L'
    AND CompanyCode = @lv_bukrs
    AND FiscalYear  = @lv_gjahr
  GROUP BY GLAccount, CompanyCodeCurrency
  INTO TABLE @DATA(lt_saldos).

Transacciones y consulta

Transacciones que la usan

FB03FAGLL03HFBL3N

Cómo consultarla

  • Contenido: SE16N o SE16 con el nombre ACDOCA.
  • Definición, campos y claves externas: SE11.

Rendimiento: errores típicos

  • Filtra siempre el ledger: sin RLDNR = '0L' (o el que corresponda) sumarás los importes de todos los ledgers paralelos.
  • Agrega en la base de datos: ACDOCA tiene millones de filas; usa SUM y GROUP BY en el SELECT en lugar de leer y sumar en ABAP.

Relacionadas

Tablas relacionadas

BSEGBKPFBSISSKA1

Más en A

ADRCAFKOAFPOAFRUAFVCAFVVAGR_USERSAUFKAUFM

En abap.es

¿Dudas con esta tabla?

Pregunta en el foro de abap.es: la comunidad lleva años resolviendo dudas de ABAP en español.

Preguntar en el foro

Actualizado: 21 de octubre de 2026