Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Silent_Bob am 10.10.05 - 10:26:55
-
Guten Morgen,
habe ein Problem mit alphanumerischen Feldern:
Ich habe unseren Artikelstamm in eine NotesDB importiert. Soweit kein Problem.
Das Dumme ist, dass unsere Original Artikelnummern alphanumerisch sind.
Die Daten, die ich importiert habe, enthalten in dem Artikelnummern Feld jedoch nur numerische Werte.
Ich möchte die Sortierung in der Ansicht natürlich numerisch haben, da eine alphanumerische Sortierung bei Artikelnummern ziemlich blöd ist.
Ich habe schon in der Exceltabelle, von der ich importiert habe, die Zellen ins Zahlenformat gewandelt. Auch in der Importmaske ist das Artikelnummernfeld als Zahlentyp definiert.
Aber nach dem Import ist die Sortierung in der Ansicht immer noch alphanumerisch.
Habe schon versucht einen Agenten über alle Dokumente laufen zu lassen, das mit@TextToNumber alles umwandelt, aber das hat auch nicht funktioniert.
Wo liegt mein Fehler?
-
Kann man mal ein Beispiel oder einen Screenshot sehen ?
-
Vom Agenten?
Der Code ist einfach nur:
SELECT @All;
@TextToNumber(artnr)
-
Ich würde ein neues num. Feld erstellen die Werte in das neue Feld kopieren und dann das alte alphanum. Feld löschen und dann das Feld effektiv wieder als num. Feld erstellenn und dann wieder die Werte zurückspielen.
robert
-
... von den Artikelnummern.....
-
@robertpp: ich denke das ist wohl die einzige Möglichkeit. Wäre auf jeden Fall eine idee.
@klaus:
so sieht das aus (siehe anhang)
-
Wie sieht das Feld in den Docs denn tatsächlich aus ? Text oder Zahl oder was ?
-
Solche Datentyps Verwirrungen sind aus Notes bekannt.
Normalerweise müsste ein einfaches @Command([ToolsRefreshAllDocs]) aus einer Ansicht ausreichen ?
Zumindest wenn du in der Umsetzungsformel des betreffenden Feldes sowas in der Art schreibst:
@if(@isText(feldName); @textToNumber(feldName); feldName);
Du kannst so eine Formel natürlich auch in die Spalte der Ansicht packen. Ist aber bei vielen Datensätzen aus Performance-Gesichtspunkten nicht unbedingt das gelbe. Würd ich aber mit einer realistischen Menge an Datensätze ausprobieren, falls du keine andere Lösung findest.
-
Hallo zusammen,
so, ich habe das jetzt folgendermaßen gelöst:
habe ein neues Zahlenfeld erstellt mit der Eigenschaft "berechnet". Als Wert dann das ursprüngliche Artikelnummernfeld verwendet.
Dann habe ich per "...Refresh All..." alle Dokumente aktualisiert, das alte Feld gelöscht und das neue Feld umbenannt in den Namen des alten Feldes.
Ist zwar nicht die sauberste Lösung, aber für meinen Fall ist das in Ordnung, und das funktioniert auch so. Die Sortierung ist jetzt korrekt.
Ich bedanke mich für die HIlfe und Denkanstösse
-
Ich denke es macht keinen Sinn bei diesem speziellen Problem, dass einfach durch einen falschen Feldtype entstanden ist und nur einen einmaligen Aufwand benötigt, der auch jetzt eigentlich nicht länger als 15min in Anspruch nimmt in einer View eine @if Abfrage zu machen. Da ist der Aufwand 5 Views zu ändern größer als wenn ich gleich eine richtige Datenpflege mache.
robert
-
Nunja, der Feldtyp war nicht wirklich falsch. In unserer Warenwirtschaft sind die Artikelnummern alphanumerisch. Und zwar mit Absicht.
In der Notes DB wollte ich das jedoch nicht, und brauche das auch gar nicht.
Also ein Fehler in der Datenpflege war das nicht.
Aber das ist jetzt auch nicht so schlimm. Ich werde jetzt einmalig die 46.000 Datensätze importieren und dann das Feld halt mit diesen Umwegen abändern, und dann ist das erledigt. Artikeländerungen in dieser DB erfolgen eh von Hand und das auch nur 2-3 mal die Woche, wo dann wiederrum auch nur 2-3 Datensätze angepackt werden.
Von daher kann ich das so jetzt machen. Wenn diese Artikeldaten jetzt permanent mit der der Warenwirtschaft abgeglichen werden müssten, wär das was anderes.