Tabela ODLN no SAP Business One (Entrega (cabeçalho))

ODLN é a tabela do SAP Business One que guarda o cabeçalho de cada entrega: cliente, datas, totais e status. As linhas ficam na DLN1, relacionadas por DocEntry, e o tipo de objeto é 15. Ao lançar uma entrega, o estoque sai do depósito.

Campos-chave da ODLN

CampoO que contém
DocEntryChave interna. Relaciona com DLN1.DocEntry.
DocNumNúmero da entrega que os usuários veem.
ObjTypeTipo de objeto, 15 = entrega.
DocDateData de lançamento.
DocDueDateData de vencimento.
CardCode / CardNameCódigo e nome do cliente. CardCode relaciona com OCRD.
DocTotalTotal do documento.
VatSumTotal de impostos.
DiscPrcntPercentual de desconto do cabeçalho.
DocStatusO = em aberto, C = fechado (por exemplo, totalmente faturado).
InvntSttusStatus de estoque do documento.
CANCELEDY se a entrega foi cancelada.
SlpCodeVendedor. Relaciona com OSLP.

Como a ODLN se relaciona com outras tabelas

ODLN é o cabeçalho e a DLN1 as linhas, relacionadas por DocEntry. Uma entrega copiada de um pedido de venda guarda BaseType = 17 e as chaves do pedido nas linhas da DLN1; uma nota fiscal copiada da entrega guarda BaseType = 15 e BaseEntry = ODLN.DocEntry nas linhas da INV1. DLN1.OpenQty é a quantidade ainda em aberto, ainda não faturada nem devolvida.

Joins mais comuns

  • ODLN T0 INNER JOIN DLN1 T1 ON T0.DocEntry = T1.DocEntry (linhas)
  • ODLN T0 INNER JOIN OCRD T2 ON T0.CardCode = T2.CardCode (cliente)
  • DLN1 T1 INNER JOIN RDR1 T3 ON T1.BaseType = 17 AND T1.BaseEntry = T3.DocEntry AND T1.BaseLine = T3.LineNum (linha do pedido)
  • INV1 T4 ON T4.BaseType = 15 AND T4.BaseEntry = T1.DocEntry AND T4.BaseLine = T1.LineNum (nota fiscal a partir da entrega)

Quando usar a tabela ODLN

Use a ODLN e a DLN1 para listas de “entregue, mas não faturado”, histórico de expedições por cliente ou item e conferências de comprovante de entrega. Em empresas que sempre faturam a partir das entregas, as entregas em aberto são receita que ainda falta faturar.

Consulta de exemplo: linhas de entrega ainda não faturadas

SQL Server

SELECT T0.DocNum, T0.DocDate, T0.CardCode, T0.CardName,
  T1.ItemCode, T1.Dscription, T1.Quantity, T1.OpenQty, T1.WhsCode
FROM ODLN T0
INNER JOIN DLN1 T1 ON T0.DocEntry = T1.DocEntry
WHERE T0.CANCELED = 'N' AND T1.LineStatus = 'O' AND T1.OpenQty > 0
ORDER BY T0.DocDate, T0.DocNum

SAP HANA (nomes de colunas entre aspas duplas)

SELECT T0."DocNum", T0."DocDate", T0."CardCode", T0."CardName",
  T1."ItemCode", T1."Dscription", T1."Quantity", T1."OpenQty", T1."WhsCode"
FROM ODLN T0
INNER JOIN DLN1 T1 ON T0."DocEntry" = T1."DocEntry"
WHERE T0."CANCELED" = 'N' AND T1."LineStatus" = 'O' AND T1."OpenQty" > 0
ORDER BY T0."DocDate", T0."DocNum"

Cole qualquer uma das duas versões em Ferramentas → Consultas → Gerador de consultas. Precisa do outro dialeto para a sua própria consulta? Use o conversor de SQL para HANA.

Erro comum: Contar entregas e notas fiscais como vendas duas vezes

Quando as notas fiscais são copiadas das entregas, a mesma mercadoria aparece uma vez na DLN1 e outra vez na INV1. Um relatório de vendas que soma ODLN e OINV duplica o valor. Reporte as vendas a partir da OINV (menos a ORIN) e use a ODLN apenas para o que foi entregue e ainda não faturado, como na consulta acima. Veja Por que os totais de vendas do SAP B1 não batem.

Tabelas relacionadas

ORDR (Pedido de venda (cabeçalho)) · RDR1 (Pedido de venda (linhas)) · OINV (Nota fiscal de saída (cabeçalho)) · OITW (Estoque do item por depósito) · pesquisar todas as tabelas do SAP Business One

Fontes: Documentação e SDK do SAP Business One (referência das tabelas do banco de dados da DI API), SAP Help Portal.

Pronto para começar?

Diga do que você precisa. Você recebe uma resposta técnica clara, um escopo fechado e um preço, normalmente em até 24 horas.