BSEG
Posiciones de documentos contables.
- Módulo
FI- Texto SAP
- Accounting document segment
- Clase de entrega
A- Actualizado
- 21 de octubre de 2026
S/4HANA. En S/4HANA BSEG sigue existiendo como vista de entrada del documento, pero la fuente completa de los movimientos contables es ACDOCA (Universal Journal). Para informes, lee ACDOCA o sus vistas CDS. Ver ACDOCA.
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
BSEG guarda las posiciones de los documentos contables de FI: cada apunte al debe o al haber, con su cuenta, importe, cliente o proveedor, objeto de coste y datos de compensación. La cabecera del documento está en BKPF.
En ECC es una tabla cluster (RFBLG): no admite JOIN y es lenta si no se lee con la clave completa. Para buscar partidas por cuenta, cliente o proveedor se usan las tablas índice BSIS/BSAS, BSID/BSAD y BSIK/BSAK.
Campos
Los campos clave y los más usados. La lista completa está en la SE11.
| Campo | Elemento de datos | Descripción |
|---|---|---|
MANDTClave | MANDT | Mandante. |
BUKRSClave | BUKRS | Sociedad. |
BELNRClave | BELNR_D | Número de documento contable. |
GJAHRClave | GJAHR | Ejercicio. |
BUZEIClave | BUZEI | Número de posición. |
BSCHL | BSCHL | Clave de contabilización. |
KOART | KOART | Tipo de cuenta: S mayor, D deudor, K acreedor, A activo fijo, M material. |
SHKZG | SHKZG | Debe (S) o haber (H). |
DMBTR | DMBTR | Importe en moneda local. |
WRBTR | WRBTR | Importe en la moneda del documento. |
HKONT | HKONT | Cuenta de mayor. |
KUNNR | KUNNR | Cliente. |
LIFNR | LIFNR | Proveedor. |
AUGBL | AUGBL | Documento de compensación. |
AUGDT | AUGDT | Fecha de compensación. |
KOSTL | KOSTL | Centro de coste. |
MWSKZ | MWSKZ | Indicador de impuestos. |
ZUONR | DZUONR | Número de asignación. |
SGTXT | SGTXT | Texto de la posición. |
Cómo se une con otras tablas
Ejemplo
" 1. Cabeceras de los documentos del periodo (BKPF admite filtros por fecha)
SELECT bukrs, belnr, gjahr, budat, blart
FROM bkpf
WHERE bukrs = @lv_bukrs
AND gjahr = @lv_gjahr
AND budat BETWEEN @lv_desde AND @lv_hasta
INTO TABLE @DATA(lt_cab).
" 2. Sus posiciones, siempre con la clave completa (en ECC, BSEG no admite JOIN)
IF lt_cab IS NOT INITIAL.
SELECT bukrs, belnr, gjahr, buzei, hkont, shkzg, dmbtr, kostl
FROM bseg
FOR ALL ENTRIES IN @lt_cab
WHERE bukrs = @lt_cab-bukrs
AND belnr = @lt_cab-belnr
AND gjahr = @lt_cab-gjahr
INTO TABLE @DATA(lt_pos).
ENDIF.En S/4HANA: leyendo la vista CDS del Universal Journal
SELECT CompanyCode, AccountingDocument, FiscalYear, AccountingDocumentItem,
GLAccount, DebitCreditCode, AmountInCompanyCodeCurrency, CompanyCodeCurrency
FROM I_JournalEntryItem
WHERE CompanyCode = @lv_bukrs
AND FiscalYear = @lv_gjahr
AND Ledger = '0L'
AND PostingDate BETWEEN @lv_desde AND @lv_hasta
INTO TABLE @DATA(lt_partidas).Transacciones y consulta
Transacciones que la usan
FB03FBL3NFBL1NFBL5N
Cómo consultarla
Rendimiento: errores típicos
- BSEG sin la clave completa: en ECC, un WHERE por HKONT, KUNNR o LIFNR recorre la tabla cluster entera. Busca primero en las tablas índice (BSIS/BSAS, BSID/BSAD, BSIK/BSAK) o en BKPF.
- JOIN con BSEG en ECC: no es posible por ser tabla cluster; usa FOR ALL ENTRIES como en el ejemplo.
- En S/4HANA: para informes lee ACDOCA o I_JournalEntryItem, que tienen todos los ledgers y dimensiones en una sola tabla.
Relacionadas
Tablas relacionadas
Más en B
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.
Actualizado: 21 de octubre de 2026