Ansicht
Dokumentation

/SAPSLL/NUMBER_GET_NEXT - SLL: Nummernkreis Nächste freie Nummer vergeben + entsperren

/SAPSLL/NUMBER_GET_NEXT - SLL: Nummernkreis Nächste freie Nummer vergeben + entsperren

BAL_S_LOG - Application Log: Log header data   CPI1466 during Backup  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book
Vorbemerkung

Dieser Funktionsbaustein ist freigegeben.

Die Dokumentation des Funktionsbausteins wird noch überarbeitet, so daß sie auch formal den Anforderungen genügt, die an freigegebene Funktionsbausteine gestellt werden.

Der Funktionsbaustein vergibt die nächsten freien Nummern eines Nummernkreisintervalls. Standardmäßig wird eine Nummer vergeben, wenn im Parameter QUANTITY keine größere Anzahl verlangt wird. Wenn mehr als eine Nummer verlangt wird und bis zur Intervallgrenze weniger Nummern zur Verfügung stehen, werden nur die Nummern bis zur Intervallgrenze vergeben. Wenn die letzte Nummer vergeben wurde, wird beim nächsten Aufruf wieder die erste Intervallnummer geliefert.

Die Länge der Nummer hängt von der Definition des Nummernkreisobjekts ab. Bei der Vergabe wird die Länge aber nicht über die Definition ermittelt, sondern aus der Länge der Von-Nummer des Nummernkreisintervalls berechnet.

Alle Ausnahmen werden mit MESSAGE ... RAISING ... erzeugt.

Beispiel:

  1. Objekt HUGO, nicht jahresabh., nächste freie Nummer gesucht

    DATA: RC LIKE INRI-RETURNCODE,
    NUMBER(10) TYPE C.

    CALL FUNCTION 'NUMBER_GET_NEXT'
    EXPORTING OBJECT = 'HUGO'
    NR_RANGE_NR = '01'
    IMPORTING RETURNCODE = RC
    NUMBER = NUMBER.

    CASE RC.
    WHEN ' '.
    * alles o.k.
    WHEN '1'.
    * die vergebene Nummer liegt im kritischen Bereich.
    WHEN '2'.
    * dies war die letzte Nummer, beim nächsten Mal wird die
    * erste Nummer vergeben
    ENDCASE.
  2. Objekt EGON, jahresabh., nächste 5 freien Nummer für 1992 im Buchungskreis 0001 gesucht.

    DATA: RC LIKE INRI-RETURNCODE,
    NUMBER(10) TYPE C,
    YEAR LIKE INRI-TOYEAR,
    QUAN LIKE INRI-QUANTITY.

    YEAR = '1992'.
    QUAN = 5.
    T001-BUKRS = '0001'.

    CALL FUNCTION 'NUMBER_GET_NEXT'
    EXPORTING OBJECT = 'EGON'
    NR_RANGE_NR = '01'
    SUBOBJECT = T001-BUKRS
    TOYEAR = YEAR
    IMPORTING RETURNCODE = RC
    QUANTITY = QUAN
    NUMBER = NUMBER.

    * in NUMBER steht die letzte vergebene Nummer
    * in QUANTITY steht die Anzahl der vergebenen Nummern
    * die erste freie Nummer berechnet sich aus:
    * NUMBER - QUANTITY + 1.

    CASE RC.
    WHEN ' '.
    * alles o.k.
    WHEN '1'.
    * die vergebene Nummer liegt im kritischen Bereich.
    WHEN '2'.
    * dies war die letzte Nummer, beim nächsten Mal wird
    * die erste Nummer vergeben
    WHEN '3'.
    * es werden mehr Nummern verlangt als zur Verfügung stehen,
    * in QUAN steht die Anzahl der vergebenen Nummern.
    ENDCASE.




Parameter

EV_NUMBER
EV_QUANTITY
EV_RETURNCODE
IS_DEBUG
IV_IGNORE_BUFFER
IV_NR_RANGE_NR
IV_OBJECT
IV_QUANTITY
IV_SUBOBJECT
IV_TOYEAR

Ausnahmen

INTERNAL_ERROR
INTERVAL_NOT_FOUND
INTERVAL_OVERFLOW
NUMBER_RANGE_NOT_INTERN
OBJECT_NOT_FOUND
QUANTITY_IS_0
QUANTITY_IS_NOT_1

Funktionsgruppe

SLL/SAPLCORE_BAS_MODULES

rdisp/max_wprun_time - Maximum work process run time   TXBHW - Original Tax Base Amount in Local Currency  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 4051 Date: 20240424 Time: 104439     sap01-206 ( 51 ms )