Verwendung von SAP Nummernkreis Objekte in ABAP Programmen

Nummernkreise werden in verschiedenen SAP Programmen eingesetzt um automatisch eine fortlaufende Nummerierung von Einträgen wie z.B. Auftragsnummern, Materialbelege, Warenbegleitscheine, Einkaufsbelege zu gewährleisten. Sie ermöglichen eine systematische Organisation der Nummernvergabe. Die Nummernkreise sind Objekten zugeordnet und bestehen aus einer numerischen Zahl, die bei Bedarf je Geschäftsfunktion um einen alphanumerischen Präfix erweitert werden kann. Diese werden in der Tabelle NRIV abgelegt bzw. sind dort aufrufbar.

Für eine Beispielanwendung wird ein neues Nummernkreisobjekt mit der Transaktion SNRO angelegt.

Mit der Transaktion SNRO muss nun ein Nummernkreis für dieses Nummernkreisobjekt zugeordnet werden bzw. definiert werden. Hierbei können verschiedene Intervallnummern zu einem Nummernkreisobjekt zugeordnet sein.

Im jeweiligen SAP Programm kann nun der aktuelle Nummernstand mit der Funktion „NUMBER_GET_NEXT“ abgerufen werden. Die durch die Funktion abgerufenen Nummern werden nach ausgeführter Funktion im Nummernstand fortgeschrieben. Über den Exportparameter QUANTITY könnte eine beliebige Anzahl (Variableneinsatz im Programm) fortgeschrieben bzw. vom Programm reserviert werden, sodass man die Funktion nicht für jede Nummernvergabe erneut aufrufen müsste. Zudem sollte eine Sperrfunktion „NUMBER_RANGE_ENQUEUE“ vor dem Aufruf zum Schutz vor Mehrfachzugriffen genutzt werden, die den Nummernkreis für die Verarbeitungsdauer sperrt. In diesem Beispiel erfolgt eine einzelne Nummernkreisvergabe im Rahmen eines Schleifendurchlaufs.

Die zurückgemeldeten Nummer (lv_number) aus der Nummernkreisfunktion kann nun für die weitere Programmverarbeitung genutzt werden.