Das Notes Forum
Lotus Notes / Domino Sonstiges => Java und .NET mit Notes/Domino => Thema gestartet von: Fraiser am 12.11.07 - 16:23:19
-
Hallo erstmal :)
Bin neu im Forum und werd ich sicherlich ab jetzt oft mit Fragen nerven.
Arbeite derzeit an einem Projekt wo ich per Java-Api auf Notes zugreife.
Hier nun meine erste Frage:
Ich habe ein Notes Document und entsprechende Items.
Per appendItemValue() kann man Items hinzufügen.
If an item of the same name already exists in a document, appendItemValue creates a second item of the same name
Das heißt es gibt Items mit dem selben Namen mehrfach.
Wie ist die Lotus Notes Sicht auf diesen Sachverhalt? Wozu ist dies nützlich?
Wenn ich nun mit der API ein Item überschreiben will, wie kann ich unterscheiden welches er nehmen soll?
Danke für eure Hilfe
-
Nützlich ist das nur unter absolut trickreichen Umständen.
Aus der DesignerHelp:
If multiple items in a document have the same name, programmatic access is limited to the first item. The remaining items yield invalid data. A work-around is to get the first item, process it, remove it, again get the first item (which was the second item), and so on until you process and remove all the items of a particular name. If you do not save the document, the items are not actually removed. However, the recommendation is that you avoid creating multiple items with the same name.
HTH,
Bernhard
PS: Willkommen bei AtNotes!
-
Welches Item liefert getItemValueString( "xxx")?
Immer dass zuletzt erstellte?
Nur mal so zum, Beispiel:
Ich hab im Lotus Notes eine Mail erstellt.
Nun appende ich per Java API ein Item EnterSendTo. (welche ja schon existiert)
Meine Notes-Mail hat nun 2x das Item EnterSendTo.
Lotus Notes zeigt mir weiter die alten Empfänger an, nicht aber den neuen.
Aber bei Zugriff auf die Java API bekomm ich nur das neue Item.
Find ich sehr unkonsequent...
Heißt für mich, das die API eine andere Sicht auf die Documente hat wie Lotus Notes selber.
-
Nein, die API ist das, was Notes intern auch selber macht. Und im geposteten Zitat steht "limited to the first item" (im Sinne: was er zuerst findet).
Warum verwendest Du denn überhaupt AppendItemValue?? Du stellst Dir da doch selber ein Bein.
Bernhard
-
Nimm document.replaceItemValue(java.util.Vector).
Das in einem Datensatz (Dokument) 2 Items den gleichen Namen haben können ist richtig beobachtet.
Ich äußer mich jetzt dazu nicht.
Die Sicht der Api stimmt schon mit Lotus Notes überein. Ein Datensatz (Dokument) kann einfach 2 Items mit gleichen Namen haben.
UND WICHTIG: Wenn du dich mit Notes selbst nicht so gut auskennst, kannst du sehr leicht memory leaks verursachen, sobald du von draussen auf Notes zugreifst. NIMM BESSER DAS: http://domingo.sourceforge.net/
Da werden zwar nicht alle Features der Notes Api unterstützt, da du aber vermutlich eh nix notes-fancy machst, erspart dir das vermutlich eine Menge Ärger.