Tabelle NNM1 in SAP Business One (Nummernkreise der Belege)

NNM1 ist die Tabelle der Nummernkreise in SAP Business One: eine Zeile pro Nummernkreis eines Beleg- oder Stammdatenobjekts, mit Objektcode, Nummernkreisnummer, Name, nächster Nummer, letzter zulässiger Nummer, Präfix, Suffix und Periodenkennzeichen. Belege speichern den Nummernkreis in Series; NNM1 erklärt daher, woher eine DocNum stammt und mit welchem Präfix sie gedruckt wird.

Wichtige Felder der Tabelle NNM1

FeldInhalt
ObjectCodeObjekt, zu dem der Nummernkreis gehört, zum Beispiel 13 für Ausgangsrechnungen und 17 für Kundenaufträge.
SeriesNummer des Nummernkreises, der Schlüssel. OINV.Series und ORDR.Series verweisen darauf.
SeriesNameName des Nummernkreises.
InitialNumAnfangsnummer.
NextNumberNächste zu verwendende Nummer.
LastNumLetzte zulässige Nummer.
BeginStr / EndStrPräfix- und Suffix-Zeichenfolgen.
IndicatorPeriodenkennzeichen (OPID).
LockedY = gesperrt, N = nicht gesperrt.
SeriesTypeD = Beleg, B = Geschäftspartner, I = Artikel, R = Ressource, W = Quellensteuerbescheinigungen.
IsManualY = manueller Nummernkreis.
BPLIdZugeordnete Niederlassung (OBPL).
DocSubTypeBeleg-Untertyp.

Wie NNM1 mit anderen Tabellen zusammenhängt

NNM1 enthält die Nummernkreiszeilen jedes in ONNM aufgeführten Objekts. Belegköpfe (OINV.Series, ORDR.Series und die übrigen) und Geschäftspartner (OCRD.Series) verweisen auf NNM1.Series. Das Paar ObjectCode plus Series identifiziert den Nummernkreis, und DocNum ist innerhalb eines Nummernkreises eindeutig, nicht über alle Nummernkreise hinweg.

Typische Joins

  • OINV T0 INNER JOIN NNM1 T1 ON T1.Series = T0.Series (Nummernkreis der Rechnung)
  • ORDR T2 INNER JOIN NNM1 T1 ON T1.Series = T2.Series (Nummernkreis des Auftrags)
  • NNM1 T1 WHERE T1.ObjectCode = '13' (alle Nummernkreise der Ausgangsrechnung)

Wann Sie die Tabelle NNM1 verwenden

Verwenden Sie NNM1, um Belegnummern mit ihrem Präfix zu drucken, vor dem Jahresende zu sehen, welcher Nummernkreis seiner letzten Nummer nahe ist, und die Nummernkreise pro Periodenkennzeichen oder Niederlassung aufzulisten.

Beispielabfrage: Rechnungsnummern mit Name und Präfix des Nummernkreises

SQL Server

SELECT T1.SeriesName, ISNULL(T1.BeginStr, '') + CAST(T0.DocNum AS varchar(20)) + ISNULL(T1.EndStr, '') AS PrintedNumber,
  T0.DocDate, T0.CardCode, T0.DocTotal
FROM OINV T0
INNER JOIN NNM1 T1 ON T1.Series = T0.Series
WHERE T0.DocDate >= DATEADD(day, -30, GETDATE())
ORDER BY T1.SeriesName, T0.DocNum

SAP HANA (Spaltennamen in doppelten Anführungszeichen)

SELECT T1."SeriesName", IFNULL(T1."BeginStr", '') + CAST(T0."DocNum" AS varchar(20)) + IFNULL(T1."EndStr", '') AS "PrintedNumber",
  T0."DocDate", T0."CardCode", T0."DocTotal"
FROM OINV T0
INNER JOIN NNM1 T1 ON T1."Series" = T0."Series"
WHERE T0."DocDate" >= ADD_DAYS(CURRENT_TIMESTAMP, -30)
ORDER BY T1."SeriesName", T0."DocNum"

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: DocNum als eindeutig behandeln

Bei mehreren Nummernkreisen (pro Jahr, pro Niederlassung oder pro Belegtyp) können zwei Rechnungen in verschiedenen Nummernkreisen dieselbe DocNum haben. Verwenden Sie DocEntry als Schlüssel oder DocNum zusammen mit Series. Vergleichen Sie außerdem vor dem Jahresende NextNumber mit LastNum, sonst stoppt das Buchen, wenn ein Nummernkreis ausgeschöpft ist. Siehe OINV-Tabelle (Kopf der Ausgangsrechnung).

Fertige Abfragen, die NNM1 verwenden

Fragen zur Tabelle NNM1

Welche Tabelle enthält die nächste Belegnummer in SAP Business One?

NNM1.NextNumber, pro Nummernkreis. Der Beleg speichert seinen Nummernkreis in Series.

Ist DocNum in SAP Business One eindeutig?

Nur innerhalb eines Nummernkreises. DocEntry ist der eindeutige Schlüssel eines Belegs.

Wo steht das Präfix einer Belegnummer?

In NNM1.BeginStr (Präfix) und NNM1.EndStr (Suffix).

Verwandte Tabellen

OINV (Ausgangsrechnung (Kopf)) · ORDR (Kundenauftrag (Kopf)) · OCRD (Geschäftspartner) · 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.