Tabelle OCRY in SAP Business One (Länder/Regionen)
OCRY ist die Tabelle der Länder und Regionen in SAP Business One: eine Zeile pro Ländercode, mit Name, Adressformat, EU-Kennzeichen, ISO-Codes und den Stellenregeln für Steuernummern und Bankdaten. Geschäftspartneradressen speichern den Ländercode, daher macht OCRY aus OCRD.Country einen lesbaren Namen für Umsatzberichte nach Land.
Wichtige Felder der Tabelle OCRY
| Feld | Inhalt |
|---|---|
Code | Länder-/Regionscode, der Schlüssel. OCRD.Country verweist darauf. |
Name | Länder-/Regionsname. |
AddrFormat | Adressformat (OADF). |
IsEC | Y = EU-Mitglied, N = nicht EU. |
ISO2Code / ISO3Code / ISONumeric | ISO-Codes Alpha-2, Alpha-3 und numerisch. |
TaxIdDigts | Anzahl der Stellen der Steuernummer. |
BnkCodDgts / BnkActDgts | Anzahl der Stellen von Bankleitzahl und Kontonummer. |
ValIban | Y = IBAN prüfen, N = keine IBAN-Prüfung. |
IsBlackLst | Y = auf der schwarzen Liste. |
IsIntraS | Y = Intrastat-Vorgänge. |
ReportCode | Code für Berichte. |
Wie OCRY mit anderen Tabellen zusammenhängt
OCRY sind Stammdaten. OCRD.Country (Land der Rechnungsadresse) verweist auf OCRY.Code, ebenso die Länderspalten der Geschäftspartneradressen und der Adressdaten in Belegen. OCRY.AddrFormat verweist auf die Tabelle der Adressformate.
Typische Joins
OCRD T0 LEFT JOIN OCRY T1 ON T1.Code = T0.Country (Land der Rechnungsadresse des Geschäftspartners)OINV T2 INNER JOIN OCRD T0 ON T0.CardCode = T2.CardCode (Rechnungen, dann das Land über OCRD)
Wann Sie die Tabelle OCRY verwenden
Verwenden Sie OCRY für Umsatz nach Land, um EU- und Nicht-EU-Kunden zu trennen (IsEC), Ländercodes für E-Rechnungs- oder EDI-Dateien auf ISO-Codes abzubilden und Geschäftspartner ohne Land zu finden.
Beispielabfrage: Kunden und berechneter Umsatz pro Land in diesem Jahr
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 (Spaltennamen in doppelten Anführungszeichen)
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
Fügen Sie eine der beiden Versionen unter Extras → Abfragen → Abfragegenerator ein. Sie brauchen den anderen Dialekt für Ihre eigene Abfrage? Nutzen Sie den SQL-zu-HANA-Konverter.
Typischer Fallstrick: Ein INNER JOIN verliert Partner ohne Land
OCRD.Country kann leer sein. Ein INNER JOIN auf OCRY lässt diese Geschäftspartner und ihren Umsatz stillschweigend aus einem Länderbericht weg. Verwenden Sie einen LEFT JOIN, zeigen Sie ein leeres Land als eigene Zeile und korrigieren Sie dann die Stammdaten. Siehe Abfrage: Geschäftspartner ohne Steuernummer.
Fertige Abfragen, die OCRY verwenden
- Umsatz pro Kunde für einen Zeitraum: Nettoumsatz pro Kunde (Ausgangsrechnungen abzüglich Gutschriften) zwischen zwei Daten, absteigend sortiert.
- Geschäftspartner ohne Steuernummer: Aktive Kunden und Lieferanten ohne Steuernummer (USt-IdNr. / RUC / NIT / NTN).
Fragen zur Tabelle OCRY
Wie erhalte ich den Ländernamen eines Kunden?
Verknüpfen Sie OCRD.Country mit OCRY.Code und lesen Sie OCRY.Name.
Speichert OCRY ISO-Ländercodes?
Ja: ISO2Code, ISO3Code und ISONumeric.
Wie finde ich EU-Länder in SAP Business One?
Filtern Sie OCRY.IsEC = 'Y'.
Verwandte Tabellen
OCRD (Geschäftspartner) · OINV (Ausgangsrechnung (Kopf)) · alle SAP-Business-One-Tabellen durchsuchen
Quellen: Dokumentation und SDK zu SAP Business One (Referenz der DI-API-Datenbanktabellen), SAP Help Portal.
Bereit für den Start?
Sagen Sie uns, was Sie brauchen. Sie erhalten eine klare technische Antwort, einen festen Leistungsumfang und einen Preis, in der Regel innerhalb von 24 Stunden.
