Tabla OJDT en SAP Business One (Asiento contable (cabecera))

OJDT es la tabla de SAP Business One que guarda la cabecera de cada asiento contable, ya sea registrado a mano o creado automáticamente por una factura, un pago o un documento de stock. Sus líneas de débito y crédito están en JDT1, unidas por TransId.

Campos clave de OJDT

CampoQué contiene
TransIdClave del asiento contable. Se une con JDT1.TransId.
RefDateFecha de contabilización.
DueDateFecha de vencimiento.
TaxDateFecha del documento.
TransTypeTipo de documento de origen: 13 = factura de clientes, 18 = factura de proveedores, 24 = pago recibido, 30 = asiento manual…
BaseRefNúmero del documento de origen.
MemoComentarios del asiento.
Ref1 / Ref2Campos de referencia.
LocTotalTotal del asiento en moneda local.
UserSignUsuario que lo creó. Se une con OUSR.USERID.

Cómo se relaciona OJDT con otras tablas

OJDT es la cabecera y JDT1 guarda una fila por cada línea de débito o crédito, unidas por TransId. Cada documento que contabiliza crea exactamente un asiento contable, así que TransType y BaseRef le llevan de vuelta a la factura, el pago o la entrada de mercancías que lo generó.

Joins habituales

  • OJDT T0 INNER JOIN JDT1 T1 ON T0.TransId = T1.TransId (líneas)
  • JDT1 T1 INNER JOIN OACT T2 ON T1.Account = T2.AcctCode (cuenta de mayor)
  • OJDT T0 LEFT JOIN OUSR T3 ON T0.UserSign = T3.USERID (usuario)

Cuándo se usa la tabla OJDT

Use OJDT y JDT1 para movimientos de cuentas de mayor, pistas de auditoría, conciliaciones y para revisar qué contabilizó un documento. Filtre por RefDate para reportes por período, y por TransType cuando solo quiera asientos manuales (30) o un solo tipo de documento.

Los asientos contables de una integración se contabilizan mediante la DI API (objeto JournalEntries) o el Service Layer (JournalEntries), nunca escribiéndolos directamente en OJDT y JDT1. Un Add() fallido devuelve un código negativo; léalo con GetLastError de inmediato. Vea Códigos de error de la DI API.

Consulta de ejemplo: asientos contables manuales en un período

SQL Server

SELECT T0.TransId, T0.RefDate, T0.Memo, T0.LocTotal, T1.USER_CODE
FROM OJDT T0
LEFT JOIN OUSR T1 ON T0.UserSign = T1.USERID
WHERE T0.TransType = '30' AND T0.RefDate >= '20260101'
ORDER BY T0.RefDate, T0.TransId

SAP HANA (nombres de columna entre comillas dobles)

SELECT T0."TransId", T0."RefDate", T0."Memo", T0."LocTotal", T1."USER_CODE"
FROM OJDT T0
LEFT JOIN OUSR T1 ON T0."UserSign" = T1."USERID"
WHERE T0."TransType" = '30' AND T0."RefDate" >= '20260101'
ORDER BY T0."RefDate", T0."TransId"

Pegue cualquiera de las dos versiones en Herramientas → Consultas → Generador de consultas. ¿Necesita el otro dialecto para su propia consulta? Use el conversor de SQL a HANA.

Error frecuente: RefDate, TaxDate y DueDate son distintas

El libro mayor y el balance de comprobación usan la fecha de contabilización, RefDate. Filtrar por TaxDate (fecha del documento) da totales que no cuadran con los informes financieros cuando las dos fechas son diferentes. Vea Consulta de movimientos de cuentas de mayor.

Consultas listas que usan OJDT

Tablas relacionadas

JDT1 (Líneas del asiento contable) · OINV (Factura de clientes (cabecera)) · OPCH (Factura de proveedores (cabecera)) · buscar todas las tablas de SAP Business One

Fuentes: Documentación y SDK de SAP Business One (referencia de tablas de base de datos de DI API), SAP Help Portal.

¿Listo para empezar?

Cuéntenos lo que necesita. Recibirá una respuesta técnica clara, un alcance definido y un precio fijo, normalmente en 24 horas.