Eindeutige Nummerierung wird erzwungen
Obwohl doppelte Nummern selten sind, erzwingt die Nummerierung standardmäßig keine Eindeutigkeit.
Um Eindeutigkeit zu erzwingen, können Sie:
- Erstellen Sie nur beim Einfügen eine vor-Business-Regel, um nach doppelten Werten zu suchen und Duplikate durch die nächste verfügbare Zahl zu ersetzen.
- Aktivieren Sie einen eindeutigen Index in der Tabelle. Weitere Informationen finden Sie unter Erstellen Sie einen Tabellenindex.Hinweis:Eindeutige Indizes stellen zwar die Datenintegrität sicher, verhindern aber auch Einfügungen mit einer doppelten Zahl. Dies kann zu unerwarteten Fehlern bei der Dateneingabe führen.
Beispiel für eine Business-Regel
Dieses Beispielskript kann als Teil einer vor-Business-Regel beim Einfügen nur verwendet werden, um nach doppelten Nummern zu suchen und sie durch die nächste verfügbare Nummer zu ersetzen. Das folgende Skript verweist auf ein in erstelltes Skript Konfigurieren Sie den linken Abstand einer Systemnummer in einer Tabelle.
var curNum = current.number + '';
if(curNum) {
var recordClass = current.getRecordClassName();
var now_GR = new GlideRecord(recordClass);
now_GR.addQuery('number', curNum);
now_GR.setLimit(1);
now_GR.query();
if(now_GR.getRowCount() > 0) {
var newNum = getNextObjNumberPadded();
gs.addInfoMessage("The number " + current.number + " was already used by another " +
recordClass + ". The " + recordClass + " number has been changed to " + newNum);
current.number = newNum;
}
}