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
| Campo | Contenuto |
|---|---|
Code | Codice paese/regione, la chiave. OCRD.Country punta a questo campo. |
Name | Nome del paese/regione. |
AddrFormat | Formato dell’indirizzo (OADF). |
IsEC | Y = membro UE, N = non UE. |
ISO2Code / ISO3Code / ISONumeric | Codici ISO alfa-2, alfa-3 e numerico. |
TaxIdDigts | Numero di cifre dell’identificativo fiscale. |
BnkCodDgts / BnkActDgts | Numero di cifre del codice banca e del numero di conto. |
ValIban | Y = convalida IBAN, N = nessun controllo IBAN. |
IsBlackLst | Y = in lista nera. |
IsIntraS | Y = operazioni Intrastat. |
ReportCode | Codice 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)
- Vendite per cliente in un periodo: Vendite nette per cliente (fatture cliente meno note di credito cliente) tra due date, dalla più alta alla più bassa.
- Business Partner senza identificativo fiscale: Clienti e fornitori attivi senza identificativo fiscale (partita IVA / RUC / NIT / NTN).
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
Iniziamo?
Ci descriva di cosa ha bisogno. Riceverà una risposta tecnica chiara, un perimetro definito e un prezzo, di norma entro 24 ore.
