Tabela ITM1 no SAP Business One (Preços de itens (por lista de preços))

ITM1 é a tabela do SAP Business One que guarda os preços dos itens: uma linha por item e lista de preços, com o preço e a moeda. Relacione-a com a OITM por ItemCode e com a OPLN por PriceList = ListNum para obter o nome do item e o nome da lista de preços.

Campos-chave da ITM1

CampoO que contém
ItemCodeItem. Relaciona com OITM.ItemCode.
PriceListNúmero da lista de preços. Relaciona com OPLN.ListNum. ItemCode + PriceList é a chave primária.
PricePreço do item nesta lista de preços.
CurrencyMoeda do preço. Relaciona com OCRN.
OvrwrittenPreço informado manualmente: Y ou N.
BasePLNumNúmero da lista de preços base. Relaciona com OPLN.ListNum.
FactorFator aplicado à lista de preços base.
AddPrice1 / Currency1Preço adicional (1) e a moeda dele.
AddPrice2 / Currency2Preço adicional (2) e a moeda dele.
UomEntryEntrada da unidade de medida. Relaciona com OUOM.
PriceTypeI = preço na UM de estoque, P = preço na unidade de preço, M = I e P, O = preço em outra UM.

Como a ITM1 se relaciona com outras tabelas

A ITM1 fica entre a OITM (o item) e a OPLN (a lista de preços): ItemCode aponta para o item e PriceList para OPLN.ListNum. A lista de preços em si (nome, lista base, fator, arredondamento) fica na OPLN; o preço de cada item fica somente na ITM1. As versões anteriores das linhas da ITM1 são guardadas na AIT1, que o SDK descreve como Item - Prices - History (histórico de preços do item); a chave dela acrescenta LogInstanc a ItemCode + PriceList.

Joins mais comuns

  • ITM1 T0 INNER JOIN OPLN T1 ON T0.PriceList = T1.ListNum (nome da lista de preços)
  • ITM1 T0 INNER JOIN OITM T2 ON T0.ItemCode = T2.ItemCode (cadastro de itens)
  • ITM1 T0 LEFT JOIN AIT1 T3 ON T0.ItemCode = T3.ItemCode AND T0.PriceList = T3.PriceList (histórico de preços)

Quando usar a tabela ITM1

Use a ITM1 para exportar listas de preços para um e-commerce ou um portal, encontrar itens sem preço em uma lista, comparar preços entre listas e fazer conferências antes de um reajuste de preços. Filtre uma PriceList por vez, a menos que você realmente precise de todas as listas lado a lado.

Consulta de exemplo: preços de itens com nome da lista de preços e moeda

SQL Server

SELECT T2.ItemCode, T2.ItemName, T1.ListName, T0.Currency, T0.Price
FROM ITM1 T0
INNER JOIN OPLN T1 ON T0.PriceList = T1.ListNum
INNER JOIN OITM T2 ON T0.ItemCode = T2.ItemCode
WHERE T2.SellItem = 'Y'
ORDER BY T2.ItemCode, T1.ListNum

SAP HANA (nomes de colunas entre aspas duplas)

SELECT T2."ItemCode", T2."ItemName", T1."ListName", T0."Currency", T0."Price"
FROM ITM1 T0
INNER JOIN OPLN T1 ON T0."PriceList" = T1."ListNum"
INNER JOIN OITM T2 ON T0."ItemCode" = T2."ItemCode"
WHERE T2."SellItem" = 'Y'
ORDER BY T2."ItemCode", T1."ListNum"

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: Somar preços em moedas diferentes

Cada linha da ITM1 tem a sua própria Currency, e AddPrice1 e AddPrice2 também têm moedas próprias. Um relatório que soma ou calcula a média de Price entre itens ou listas sem verificar a Currency mistura valores. Agrupe ou filtre por Currency e filtre uma única PriceList ao comparar itens. Veja Itens sem preço em uma lista de preços.

Consultas prontas que usam a ITM1 (em inglês)

Perguntas sobre a tabela ITM1

Onde ficam os preços dos itens no SAP Business One?

Na ITM1, uma linha por item e lista de preços (ItemCode + PriceList), com Price e Currency. A OPLN contém apenas as definições das listas de preços, não os preços dos itens.

Como relaciono a ITM1 com o nome da lista de preços?

Faça o join de ITM1.PriceList com OPLN.ListNum e leia OPLN.ListName.

Onde fica o histórico de preços de um item?

O SDK do SAP B1 documenta a AIT1 como Item - Prices - History (histórico de preços do item), com as mesmas colunas de preço da ITM1 e LogInstanc acrescentado à chave.

Tabelas relacionadas

OPLN (Listas de preços) · OITM (Itens (cadastro de itens)) · 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.