Tabela OCRY no SAP Business One (Países/regiões)

OCRY é a tabela do SAP Business One de países e regiões: uma linha por código de país, com nome, formato de endereço, indicador de UE, códigos ISO e as regras de dígitos para identificações fiscais e dados bancários. Os endereços dos parceiros de negócios guardam o código do país, então a OCRY transforma OCRD.Country em um nome legível para relatórios de vendas por país.

Campos-chave da OCRY

CampoO que contém
CodeCódigo do país/região, a chave. OCRD.Country aponta para ele.
NameNome do país/região.
AddrFormatFormato de endereço (OADF).
IsECY = membro da UE, N = fora da UE.
ISO2Code / ISO3Code / ISONumericCódigos ISO alfa-2, alfa-3 e numérico.
TaxIdDigtsNúmero de dígitos da identificação fiscal.
BnkCodDgts / BnkActDgtsNúmero de dígitos do código do banco e do número da conta.
ValIbanY = validar IBAN, N = sem verificação de IBAN.
IsBlackLstY = na lista negra.
IsIntraSY = transações Intrastat.
ReportCodeCódigo usado nos relatórios.

Como a OCRY se relaciona com outras tabelas

OCRY é um dado mestre. OCRD.Country (país de cobrança) aponta para OCRY.Code, assim como as colunas de país dos endereços dos parceiros de negócios e dos dados de endereço dos documentos. OCRY.AddrFormat aponta para a tabela de formatos de endereço.

Joins mais comuns

  • OCRD T0 LEFT JOIN OCRY T1 ON T1.Code = T0.Country (país de cobrança do parceiro de negócios)
  • OINV T2 INNER JOIN OCRD T0 ON T0.CardCode = T2.CardCode (notas fiscais e depois o país via OCRD)

Quando usar a tabela OCRY

Use a OCRY para vendas por país, para separar clientes da UE e de fora da UE (IsEC), para mapear códigos ISO a partir dos códigos de país em arquivos de faturamento eletrônico ou EDI e para encontrar parceiros de negócios sem país.

Consulta de exemplo: clientes e vendas faturadas por país neste ano

SQL Server

SELECT T1.Code, T1.Name, T1.IsEC, COUNT(DISTINCT T0.CardCode) AS Customers,
  SUM(T2.DocTotal - T2.VatSum) AS SalesExclTax
FROM OINV T2
INNER JOIN OCRD T0 ON T0.CardCode = T2.CardCode
LEFT JOIN OCRY T1 ON T1.Code = T0.Country
WHERE T2.CANCELED = 'N' AND YEAR(T2.DocDate) = YEAR(GETDATE())
GROUP BY T1.Code, T1.Name, T1.IsEC
ORDER BY SalesExclTax DESC

SAP HANA (nomes de colunas entre aspas duplas)

SELECT T1."Code", T1."Name", T1."IsEC", COUNT(DISTINCT T0."CardCode") AS "Customers",
  SUM(T2."DocTotal" - T2."VatSum") AS "SalesExclTax"
FROM OINV T2
INNER JOIN OCRD T0 ON T0."CardCode" = T2."CardCode"
LEFT JOIN OCRY T1 ON T1."Code" = T0."Country"
WHERE T2."CANCELED" = 'N' AND YEAR(T2."DocDate") = YEAR(CURRENT_TIMESTAMP)
GROUP BY T1."Code", T1."Name", T1."IsEC"
ORDER BY "SalesExclTax" DESC

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: Um INNER JOIN descarta parceiros sem país

OCRD.Country pode estar vazio. Um INNER JOIN com a OCRY descarta sem aviso esses parceiros de negócios e as vendas deles de um relatório por país. Use LEFT JOIN e mostre o país vazio como uma linha própria; depois corrija os dados mestre. Veja Consulta de parceiros de negócios sem identificação fiscal.

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

Perguntas sobre a tabela OCRY

Como obtenho o nome do país de um cliente?

Relacione OCRD.Country com OCRY.Code e leia OCRY.Name.

A OCRY guarda os códigos ISO de país?

Sim: ISO2Code, ISO3Code e ISONumeric.

Como encontro os países da UE no SAP Business One?

Filtre OCRY.IsEC = 'Y'.

Tabelas relacionadas

OCRD (Parceiros de negócios) · OINV (Nota fiscal de saída (cabeçalho)) · 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.