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

FeldInhalt
CodeLänder-/Regionscode, der Schlüssel. OCRD.Country verweist darauf.
NameLänder-/Regionsname.
AddrFormatAdressformat (OADF).
IsECY = EU-Mitglied, N = nicht EU.
ISO2Code / ISO3Code / ISONumericISO-Codes Alpha-2, Alpha-3 und numerisch.
TaxIdDigtsAnzahl der Stellen der Steuernummer.
BnkCodDgts / BnkActDgtsAnzahl der Stellen von Bankleitzahl und Kontonummer.
ValIbanY = IBAN prüfen, N = keine IBAN-Prüfung.
IsBlackLstY = auf der schwarzen Liste.
IsIntraSY = Intrastat-Vorgänge.
ReportCodeCode 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

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.