Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: PeterD2 am 05.08.08 - 12:54:44

Titel: Umgang mit Arrays in Formelsprache
Beitrag von: PeterD2 am 05.08.08 - 12:54:44
Sorry, bin ein bischen aus der Übung was @Formelsprache angeht. In meiner Datenbank haben die Dokumente Reader-Felder mit mehreren Einträgen. Sagen wir mal "Deutschland, Bayern, München".

Letztlich muss ich mit einem Agenten (Skriptsprache) die Dokumente, auf die z.B. Bayern zugreifen kann, weiterverarbeiten. Ich hatte mir gedacht zunächst eine View zu bauen, die mir immer den zweiten Wert aus dem Reader Feld in einer Spalte ausgibt, um dann in einer NotesViewEntryCollection über GetAllEntriesByKey darauf zuzugreifen. Währe zu Kontrollzwecken der letztlich bearbeiteten Dokumente ganz nett gewesen, bin aber daran gescheitert mit der Formelsprache jeweils (nur) den zweiten Wert des Reader Feldes auszugeben.

Wenn ich das aber hinkriegen würde, könnte ich in einem Profil Dokument die Namen der jeweils durch meinen Agenten zu bearbeitenden Gruppen als Mehrfachwerte hinterlegen (es handelt sich IMMER um die zweite Gruppe im Reader Feld) und dann so etwas in der Art machen:

Code
migration_groups=ProfileDoc.GetItemValue("migration_groups") 'Typ Variant, der alle zu bearbeitenden Gruppennamen enthält
Set MyDB=getMyDB(session,MyProfile)
Set viewRequests=MyDB.GetView("My_View")
Set ViewCollection=viewRequests.getAllEntriesByKey(migration_groups,False)

Das scheitert momentan alles nur daran, dass ich es nicht hinbekomme genau den jeweils zweiten Eintrag aus dem Reader Feld der zu bearbeitenden Dokumente in einer Spalte der View anzuzeigen.

Bin für alle Tipps dankbar, auch wenn sie das Problem auf andere Weise angehen. Ich möchte nur nicht mit einem db.search() durch die ganze Datenbank nudeln um die passenden Dokumente zu finden, da sie sehr groß ist.

Danke im Voraus
Titel: Re: Umgang mit Arrays in Formelsprache
Beitrag von: DerAndre am 05.08.08 - 13:01:32
Feldname[2] sollte helfen. Weiß nur gerade nicht ob Base 0 oder 1...


P.S. Du kannst auch mit @Subset arbeiten.
Titel: Re: Umgang mit Arrays in Formelsprache
Beitrag von: koehlerbv am 05.08.08 - 13:08:54
Alternativ:
@Subset (@Subset (Feldname); 2); -1)

Bernhard
Titel: Re: Umgang mit Arrays in Formelsprache
Beitrag von: PeterD2 am 05.08.08 - 13:11:58
Danke schon mal, die View funktioniert so (hatte es bisher immer mit runden Klammern versucht  ::) )

Jetzt ist nur noch das Problem, dass die Mehrfachwerte in meiner Variant Variable offensichtlich nicht geeignet sind um ein getAllEntriesByKey direkt damit durchzuführen. Mein neues Problem lautet also jetzt: Wie mache ich aus der Variant Variable ein Array?
Titel: Re: Umgang mit Arrays in Formelsprache
Beitrag von: LN4ever am 05.08.08 - 23:36:32
Hallo Peter,

da wirst du wohl kaum um ein

ForAll Einzelwert in mygrationgroups
   Set ViewCollection=viewRequests.getAllEntriesByKey(Einzelwert,False)
...
End ForAll

herumkommen.

Gruß

Norbert