Tabella OCRY in SAP Business One (Paesi/regioni)

OCRY è la tabella di SAP Business One dei paesi e delle regioni: una riga per codice paese, con nome, formato dell’indirizzo, indicatore UE, codici ISO e regole sul numero di cifre per partite IVA e dati bancari. Gli indirizzi dei business partner memorizzano il codice paese, quindi OCRY trasforma OCRD.Country in un nome leggibile per i report delle vendite per paese.

Campi chiave di OCRY

CampoContenuto
CodeCodice paese/regione, la chiave. OCRD.Country punta a questo campo.
NameNome del paese/regione.
AddrFormatFormato dell’indirizzo (OADF).
IsECY = membro UE, N = non UE.
ISO2Code / ISO3Code / ISONumericCodici ISO alfa-2, alfa-3 e numerico.
TaxIdDigtsNumero di cifre dell’identificativo fiscale.
BnkCodDgts / BnkActDgtsNumero di cifre del codice banca e del numero di conto.
ValIbanY = convalida IBAN, N = nessun controllo IBAN.
IsBlackLstY = in lista nera.
IsIntraSY = operazioni Intrastat.
ReportCodeCodice usato nei report.

Come OCRY si collega alle altre tabelle

OCRY è un’anagrafica. OCRD.Country (paese di fatturazione) punta a OCRY.Code, così come le colonne paese degli indirizzi dei business partner e dei dati di indirizzo dei documenti. OCRY.AddrFormat punta alla tabella dei formati di indirizzo.

Join più comuni

  • OCRD T0 LEFT JOIN OCRY T1 ON T1.Code = T0.Country (paese di fatturazione del business partner)
  • OINV T2 INNER JOIN OCRD T0 ON T0.CardCode = T2.CardCode (fatture, poi il paese tramite OCRD)

Quando si usa la tabella OCRY

Usi OCRY per le vendite per paese, per distinguere i clienti UE da quelli extra UE (IsEC), per associare i codici ISO ai codici paese nei file di fatturazione elettronica o EDI e per trovare i business partner senza paese.

Query di esempio: clienti e fatturato per paese nell’anno in corso

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 (nomi delle colonne tra virgolette doppie)

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

Incolli una delle due versioni in Strumenti → Query → Generatore di query. Le serve l’altro dialetto per una Sua query? Usi il convertitore da SQL a HANA.

Errore frequente: Un INNER JOIN esclude i partner senza paese

OCRD.Country può essere vuoto. Un INNER JOIN con OCRY esclude senza avviso questi business partner e le loro vendite da un report per paese. Usi un LEFT JOIN e mostri il paese vuoto come riga a sé; poi corregga le anagrafiche. Veda Query dei business partner senza partita IVA.

Query pronte che usano OCRY (pagine in inglese)

Domande sulla tabella OCRY

Come ottengo il nome del paese di un cliente?

Unisca OCRD.Country a OCRY.Code e legga OCRY.Name.

OCRY memorizza i codici ISO dei paesi?

Sì: ISO2Code, ISO3Code e ISONumeric.

Come trovo i paesi UE in SAP Business One?

Filtri OCRY.IsEC = 'Y'.

Tabelle correlate

OCRD (Business Partner) · OINV (Fattura cliente (testata)) · cerca tutte le tabelle di SAP Business One

Fonti: Documentazione e SDK di SAP Business One (riferimento delle tabelle del database della DI API), SAP Help Portal.

Iniziamo?

Ci descriva di cosa ha bisogno. Riceverà una risposta tecnica chiara, un perimetro definito e un prezzo, di norma entro 24 ore.