Tabla ODRF en SAP Business One (Documentos preliminares (cabecera))

ODRF es la tabla de SAP Business One que guarda la cabecera de cada documento preliminar: facturas, entregas, entradas y otros documentos guardados como borrador o en espera de autorización. ODRF.ObjType indica en qué documento se convertirá el borrador (por ejemplo 13 = factura de clientes). Las filas están en DRF1, unidas por DocEntry.

Campos clave de ODRF

CampoQué contiene
DocEntryClave interna del borrador. Se une con DRF1.DocEntry.
ObjTypeTipo del documento al que corresponde el borrador, por ejemplo 13 = factura de clientes, 15 = entrega, 14 = nota de crédito de clientes.
DocNumNúmero de documento.
DocDateFecha de contabilización.
CardCode / CardNameSocio de negocios. Se une con OCRD.CardCode.
DocStatusO = abierto, C = cerrado.
WddStatusEstado de autorización: - = sin autorización, W = pendiente, Y = autorizado, N = rechazado, P = generado, A = generado por el autorizador, C = cancelado.
DocTotal / DocCurTotal y moneda del documento.
UserSignUsuario que creó el borrador. Se une con OUSR.
CreateDateFecha de creación.

Cómo se relaciona ODRF con otras tablas

ODRF es una única tabla de cabecera compartida por los borradores de muchos tipos de documento; ObjType los separa. DRF1 contiene las filas. Un documento real contabilizado desde un borrador guarda el vínculo en su propia columna draftKey (por ejemplo OPDN.draftKey = ODRF.DocEntry).

Joins habituales

  • ODRF T0 INNER JOIN DRF1 T1 ON T1.DocEntry = T0.DocEntry (filas)
  • ODRF T0 LEFT JOIN OCRD T2 ON T2.CardCode = T0.CardCode (socio de negocios)
  • OPDN T3 INNER JOIN ODRF T0 ON T0.DocEntry = T3.draftKey (entrada de mercancías contabilizada desde el borrador)

Cuándo se usa la tabla ODRF

Use ODRF para listar los borradores abiertos por tipo de documento y usuario, encontrar documentos en espera de autorización (WddStatus W) y depurar borradores antiguos que nunca se contabilizaron.

Consulta de ejemplo: borradores abiertos por tipo de documento con estado de autorización

SQL Server

SELECT T0.DocEntry, T0.ObjType, T0.DocDate, T0.CardCode, T0.CardName, T0.DocTotal,
  T0.WddStatus, T0.UserSign, DATEDIFF(day, T0.CreateDate, GETDATE()) AS DaysOld
FROM ODRF T0
WHERE T0.DocStatus = 'O'
ORDER BY T0.ObjType, T0.CreateDate

SAP HANA (nombres de columna entre comillas dobles)

SELECT T0."DocEntry", T0."ObjType", T0."DocDate", T0."CardCode", T0."CardName", T0."DocTotal",
  T0."WddStatus", T0."UserSign", DAYS_BETWEEN(T0."CreateDate", CURRENT_TIMESTAMP) AS "DaysOld"
FROM ODRF T0
WHERE T0."DocStatus" = 'O'
ORDER BY T0."ObjType", T0."CreateDate"

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: Reportar borradores como documentos contabilizados

Los borradores de todos los tipos están en ODRF, así que un reporte debe filtrar ObjType por el documento al que se refiere, y los borradores nunca deben sumarse a los totales de ventas o compras. Use el DocEntry del borrador (no DocNum) para vincularlo con el documento contabilizado mediante draftKey. Vea Consulta de autorizaciones pendientes.

Consultas listas que usan ODRF

Preguntas sobre la tabla ODRF

¿Dónde se guardan los documentos preliminares en SAP Business One?

En ODRF (cabecera) y DRF1 (filas), para todos los tipos de documento. ODRF.ObjType indica de qué tipo es el borrador.

¿Cómo encuentro los borradores en espera de autorización?

Filtre ODRF.WddStatus = 'W' (pendiente).

¿Cómo encuentro el documento contabilizado desde un borrador?

El documento contabilizado tiene draftKey = ODRF.DocEntry.

Tablas relacionadas

DRF1 (Documentos preliminares (filas)) · OINV (Factura de clientes (cabecera)) · ORDR (Pedido de cliente (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.