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
| Campo | O que contém |
|---|---|
Code | Código do país/região, a chave. OCRD.Country aponta para ele. |
Name | Nome do país/região. |
AddrFormat | Formato de endereço (OADF). |
IsEC | Y = membro da UE, N = fora da UE. |
ISO2Code / ISO3Code / ISONumeric | Códigos ISO alfa-2, alfa-3 e numérico. |
TaxIdDigts | Número de dígitos da identificação fiscal. |
BnkCodDgts / BnkActDgts | Número de dígitos do código do banco e do número da conta. |
ValIban | Y = validar IBAN, N = sem verificação de IBAN. |
IsBlackLst | Y = na lista negra. |
IsIntraS | Y = transações Intrastat. |
ReportCode | Có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)
- Sales by customer for a date range: Net sales per customer (invoices minus credit notes) between two dates, highest first.
- Business partners missing a tax ID: Active customers and vendors with no federal tax ID (VAT / RUC / NIT / NTN).
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
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.
