Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Silent_Bob am 10.10.05 - 10:26:55

Titel: Feld mit alphanumerischem Wert in numerisch umwandeln
Beitrag 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?
Titel: Re: Feld mit alphanumerischem Wert in numerisch umwandeln
Beitrag von: klaussal am 10.10.05 - 10:36:14
Kann man mal ein Beispiel oder einen Screenshot sehen ?
Titel: Re: Feld mit alphanumerischem Wert in numerisch umwandeln
Beitrag von: Silent_Bob am 10.10.05 - 10:46:11
Vom Agenten?

Der Code ist einfach nur:

SELECT @All;
@TextToNumber(artnr)

Titel: Re: Feld mit alphanumerischem Wert in numerisch umwandeln
Beitrag von: robertpp am 10.10.05 - 10:48:41
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
Titel: Re: Feld mit alphanumerischem Wert in numerisch umwandeln
Beitrag von: klaussal am 10.10.05 - 10:49:05
... von den Artikelnummern.....
Titel: Re: Feld mit alphanumerischem Wert in numerisch umwandeln
Beitrag von: Silent_Bob am 10.10.05 - 11:03:53
@robertpp: ich denke das ist wohl die einzige Möglichkeit. Wäre auf jeden Fall eine idee.

@klaus:

so sieht das aus (siehe anhang)
Titel: Re: Feld mit alphanumerischem Wert in numerisch umwandeln
Beitrag von: klaussal am 10.10.05 - 11:10:33
Wie sieht das Feld in den Docs denn tatsächlich aus ? Text oder Zahl oder was ?
Titel: Re: Feld mit alphanumerischem Wert in numerisch umwandeln
Beitrag von: flaite am 10.10.05 - 11:23:03
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.
Titel: Re: Feld mit alphanumerischem Wert in numerisch umwandeln
Beitrag von: Silent_Bob am 10.10.05 - 11:53:24
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

Titel: Re: Feld mit alphanumerischem Wert in numerisch umwandeln
Beitrag von: robertpp am 10.10.05 - 13:15:50
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
Titel: Re: Feld mit alphanumerischem Wert in numerisch umwandeln
Beitrag von: Silent_Bob am 10.10.05 - 14:11:50
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.