Class MovementSequenceNumber
Server-lose Kernlogik zur Ermittlung der nächsten freien
SequenceNumber eines DIWASS-Bewegungsdokuments aus den bereits
vergebenen Transportpapiernummern einer Notifizierung.
public static class MovementSequenceNumber
- Inheritance
-
MovementSequenceNumber
- Inherited Members
Remarks
Die SequenceNumber ist die laufende Nummer der Verbringung innerhalb einer Notifizierung; zusammen mit der NotificationId bildet sie die MovementId. Zwei Formate derselben fachlichen Sequenz sind im Umlauf und werden hier beide geparst:
-
ZEDAL-Transportpapiernummer (Index-Feld
doc.sequence_number):<NotificationId>.<sequenz>, z.B.DE0126013235i.00002— 5-stellig, ohneMOV-Suffix. -
DIWASS-MovementId:
<NotificationId>.<sequenz>MOV, z.B.DE0126005197i.000001MOV— 6-stellig mitMOV-Suffix.
Dieser Helper trifft keine Aussage darüber, woher die Liste der vergebenen Nummern stammt — er rechnet nur. Der Bezug einer Nummer läuft über GetNextMovementSequenceNumber(string, ZedalCallContext).
Methods
- NextFrom(IEnumerable<string>)
Ermittelt aus den bereits vergebenen Transportpapiernummern das höchste numerische Sequenz-Suffix und gibt es + 1 zurück. Leere und nicht parsbare Einträge werden ignoriert; ohne jeden Treffer ist das Ergebnis
1.
- NextRangeFrom(IEnumerable<string>, int)
Wie NextFrom(IEnumerable<string>), aber für einen Mehrfachabruf: liefert
countaufeinanderfolgende freie Nummern ab der nächsten freien.
- ParseSuffix(string)
Extrahiert das numerische Sequenz-Suffix aus einer Transportpapiernummer.
DE0126013235i.00002→ 2,DE…i.000001MOV→ 1. Liefert 0, wenn kein Suffix parsbar ist.