Daten importieren: Nummernvergabe

Bei einigen Satzarten besteht die Möglichkeit, die Nummern für neu angelegte Objekte entweder vorzugeben, oder über den internen Nummernkreis bestimmen zu lassen. Die Unterscheidung erfolgt dabei über das Vorzeichen der übergebenen Nummer: Ist die Nummer positiv, gilt externe Nummernvergabe. Ist die Nummer dagegen leer oder negativ, gilt interne Nummernvergabe.

Externe Nummernvergabe

Bei der externen Nummernvergabe muss die Nummer externen eindeutig vergeben werden. Die Nummern müssen dabei so gewählt werden, dass es keine Überschneidung mit intern angelegten Objekten gibt.

Beispiel: Extern 1XXXX, intern 2XXXX. Die Nummer wird in der Satzart mit übergeben. Wenn das Objekt unter dieser Nummer schon existiert, wird es geändert sonst neu angelegt:

Satzart;Nr  ;Pos;...
CMXINV;10000;10;...
CMXINV;10000;20;...
CMXINV;10001;10;...
CMXINV;10001;20;...

Die externe Nummernvergabe ist einfach und robust. Außerdem kann man an der Nummer erkennen, ob ein Objekt importiert oder intern angelegt wurde.

Interne Nummernvergabe

Bei der internen Nummernvergabe wird bei neu anzulegenden Objekten keine Nummer mitgegeben. In diesem Fall wird beim Import eine neue Nummer vergeben. Beispiel:

Satzart;Kundennummer;Firma;Anrede;...
CMXKND; ;1;Frau;...

Alternativ kann auch eine negative Nummer übergeben werden. Diese kann beliebig gewählt werden und ist rein temporär, d.h. die Objekte können nach dem Anlegen über diese Nummer nicht angesprochen werden. Die negative Nummer ist insbesondere für Objekte mit mehreren Positionen sinnvoll:

Satzart;Nr  ;Pos;...
CMXINV;-10000;10;...
CMXINV;-10000;20;...
CMXINV;-10001;10;...
CMXINV;-10001;20;...

Bei Verwendung des Collmex API liefert das Programm für jede vergebene Nummer eine Meldung der Satzart NEW_OBJECT_ID. Über die Zeilennummer oder die temporäre Nummer kann der Bezug zu den übermittelten Daten hergestellt werden.

NrFeldTypMax.LängeBemerkung
1SatzartC Festwert NEW_OBJECT_ID
2Neue NummerI8Die neu vergebene Nummer für das Objekt
3Temporäre NummerI8Die übergebene temporäre Nummer (kleiner oder gleich Null)
4ZeileI8Zeilennummer der Upload-Datei, auf die sich die Meldung bezieht.

Im obigen Beispiel erhält das erste Objekt die Nummer 20000. Das Programm würde folgende Rückgabe liefern:

Satzart;Neue Nr;Temp Nr;Zeile
NEW_OBJECT_ID;20000;-10000;1
NEW_OBJECT_ID;20001;-10001;3

Die interne Nummernvergabe hat den Vorteil, dass für die Objekte nur ein Nummernkreis existiert. Nachteil ist, dass bei einem versehentlichen mehrfachen Import jeweils neue Objekte angelegt werden. Zudem muss bei Verwendung des Collmex API die neu vergebene Nummer erst ermittelt werden, bevor das Objekt über das API erneut angesprochen werden kann.

Siehe auch: Daten importieren