Autor Thema: ExpandGroup LotusScript NAB Group  (Gelesen 6988 mal)

Offline tokio_city

  • Frischling
  • *
  • Beiträge: 26
  • Geschlecht: Männlich
ExpandGroup LotusScript NAB Group
« am: 02.06.05 - 12:04:41 »
Hallo Notes Community,

auf der Suche nach einer Funktion, wie man Verteiler, die im Adressbuch stehen über eine Funktion ausliest und dabei Unterverteiler berücksichtigt, um dann letztlich eine Namensliste zurückzugeben, bin ich auf folgende Lösung gestoßen:
http://www-10.lotus.com/ldd/nd6forum.nsf/55c38d716d632d9b8525689b005ba1c0/79e19d7831735367852570050021e579?OpenDocument

Leider gibt es im Funktionsbereich (Function GetGroupMembers) in folgenden Zeile bei mir eine Fehlermeldung:
Set dbNAB = GetAddressBook()
Soweit ich weiss, sind doch die AddressBook properties wie folgt:
notesDatabaseArray = notesSession.AddressBooks

Mein Ziel ist es nun a) das Script zum Laufen zu bringen und b) über einen Button aus einer Ansicht heraus zu starten.
Könnt ihr mir da weiterhelfen?
« Letzte Änderung: 02.06.05 - 19:00:16 von tokio_city »

Offline dirk_2909

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.173
  • Geschlecht: Männlich
  • Expand your Notes Client with ECM functionality..
    • d.velop
Re: ExpandGroup LotusScript NAB Group
« Antwort #1 am: 02.06.05 - 12:13:25 »
Hallo

Was genau ist dein Problem?

Was steht in der Funktion getAdressBook() ???

Dort liegt bestimmt der Fehler.

Dirk
Dirk

[IBM CLP R5]
[IBM CAD 6/6.5]
[IBM CAD 7]
[IBM CAD 8]


"Nein!! … Es genügt nicht Mails in einen anderen Ordner oder Datenbank zu verschieben, um sie zu archivieren!"

   
Disclaimer:
Ich Antworte nach besten Wissen und Gewissen. Sollte sich jemand durch meine Antwort persönlich angegriffen fühlen, ist dies nicht meine Absicht!
Ich bin auch nur ein Mensch, der Fehler machen kann. ....

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: ExpandGroup LotusScript NAB Group
« Antwort #2 am: 02.06.05 - 12:14:10 »
"... gibt es ... bei mir eine Fehlermeldung:"

Das ist immer wieder nett für Hilfsbereite hier im Forum: Wir dürfen jetzt auch noch über die Fehlermeldung rätseln, die da wohl kommen könnte. Also muss man sich auch noch irgendwelchen Code von irgendwo aus dem Internet anschauen.
Okay, ich habe es mir angeschaut: Die Function GetAddressBook wurde von Anthony schlicht vergessen zu posten. Logisch, dass es dann ohne diese Function "eine Fehlermeldung" gibt.

Bernhard

Offline dirk_2909

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.173
  • Geschlecht: Männlich
  • Expand your Notes Client with ECM functionality..
    • d.velop
Re: ExpandGroup LotusScript NAB Group
« Antwort #3 am: 02.06.05 - 12:16:44 »
Hätte ich mir auch anschauen sollen.

Ist aber doch kein Problem sie kurz zu erstellen  ;)

Dirk
Dirk

[IBM CLP R5]
[IBM CAD 6/6.5]
[IBM CAD 7]
[IBM CAD 8]


"Nein!! … Es genügt nicht Mails in einen anderen Ordner oder Datenbank zu verschieben, um sie zu archivieren!"

   
Disclaimer:
Ich Antworte nach besten Wissen und Gewissen. Sollte sich jemand durch meine Antwort persönlich angegriffen fühlen, ist dies nicht meine Absicht!
Ich bin auch nur ein Mensch, der Fehler machen kann. ....

Offline tokio_city

  • Frischling
  • *
  • Beiträge: 26
  • Geschlecht: Männlich
Re: ExpandGroup LotusScript NAB Group
« Antwort #4 am: 02.06.05 - 12:22:21 »
Sorry,

hätte ich natürlich richtig beschreiben sollen. Mein Fehler, Asche auf mein Haupt... aber ich bin noch lernfähig...  ;)

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: ExpandGroup LotusScript NAB Group
« Antwort #5 am: 02.06.05 - 12:29:26 »
Ist aber doch kein Problem sie kurz zu erstellen  ;)

Das sehe ich genauso. Wer rekursiv mit group memberships umgehen will und sich dazu fremden Codes oder Algorithmen bedient (nicht unbedingt sträflich !), sollte zumindest wissen, wie er das gewünschte AdressBook instantiieren kann. Wobei gerade dieses ja nicht der einfachste Punkt ist und von den jeweiligen Gegebenheiten abhängt (Nur das EINE Server-NAMES.NSF oder mehrere ? Sollen lokale Repliken im offline-Betrieb berücksichtigt werden ? Usw. usf.).

Bernhard

PS: Nix gegen konkrete Fragen auf dem Wege dorthin ...
« Letzte Änderung: 02.06.05 - 12:34:17 von koehlerbv »

Offline tokio_city

  • Frischling
  • *
  • Beiträge: 26
  • Geschlecht: Männlich
Re: ExpandGroup LotusScript NAB Group
« Antwort #6 am: 02.06.05 - 12:35:47 »
Hallo,

für meinen Bedarf soll nur auf ein Addressbuch zugegriffen werden und zwar auf den Standard, der bei mir cnnames.nsf heisst und direkt auf dem Server liegt, wo auch die Applikation läuft, von der das Script gestartet wird. Also keine Berücksichtigung von lokalen Repliken, keine Auswahl von X-Adressbüchern usw.

Offline dirk_2909

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.173
  • Geschlecht: Männlich
  • Expand your Notes Client with ECM functionality..
    • d.velop
Re: ExpandGroup LotusScript NAB Group
« Antwort #7 am: 02.06.05 - 12:39:28 »
Dann hast Du ja alles was Du benötigst  :) :
ServerName , Datenbankname
Set dbADR = New NotesDatabase( .....

Dirk

[IBM CLP R5]
[IBM CAD 6/6.5]
[IBM CAD 7]
[IBM CAD 8]


"Nein!! … Es genügt nicht Mails in einen anderen Ordner oder Datenbank zu verschieben, um sie zu archivieren!"

   
Disclaimer:
Ich Antworte nach besten Wissen und Gewissen. Sollte sich jemand durch meine Antwort persönlich angegriffen fühlen, ist dies nicht meine Absicht!
Ich bin auch nur ein Mensch, der Fehler machen kann. ....

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: ExpandGroup LotusScript NAB Group
« Antwort #8 am: 02.06.05 - 12:41:53 »
Standard, der bei mir cnnames.nsf heisst und direkt auf dem Server liegt

Standard ? Habe ich da was verpasst ? Standard ist NAMES.NSF.

Ansonsten gilt das, was Dirk gesagt hat: Schreib Dir die Function GetAddressBook, in der Du Deine gewünschte DB instantiierst, und gut ist.

Bernhard

Offline tokio_city

  • Frischling
  • *
  • Beiträge: 26
  • Geschlecht: Männlich
Re: ExpandGroup LotusScript NAB Group
« Antwort #9 am: 02.06.05 - 12:47:30 »
Ok, ich habe das bisher so gemacht:
server$ = NotesDB.server
Set NotesDB_New = New notesdatabase("","")
flag = NotesDB_New.open(server$, "cnnames.nsf")
Set view = NotesDB_New.getview("Groups")
Set NotesDocument= Notesview.getdocumentbykey("mein_Verteiler")
Field = NotesDocument.getitemvalue("members")

Habe ich das richtig verstanden, dass ich das Script mit allen weiteren Angaben in eine neue Funktion einfüge und auf diese dann in getAdressBook(hier integrieren) referiere?
« Letzte Änderung: 02.06.05 - 12:49:40 von tokio_city »

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: ExpandGroup LotusScript NAB Group
« Antwort #10 am: 02.06.05 - 12:51:13 »
Wenn Du das in den bestehenden Code aus dem LDD einfügen willst: Nein, dann hast Du das nicht richtig verstanden.

Und nochmal: Warum heisst Dein Adressbuch eigentlich nicht NAMES.NSF, wenn es doch das Standard-PubNAB sein soll ?

Bernhard

Offline tokio_city

  • Frischling
  • *
  • Beiträge: 26
  • Geschlecht: Männlich
Re: ExpandGroup LotusScript NAB Group
« Antwort #11 am: 02.06.05 - 12:58:45 »
Hallo Bernhard,

ich würde  - wie Du schreibst - ein neue Funktion erstellen, wo das Adressbuch angegeben wird. Dort könnte man im Bedarfsfall auch weitere Adressbücher zur Auswahl einfügen. Dann würde ich aus der Function GetGroupMembers auf die neue Funktion verweisen.

Zum Namen: Ich habe gerade mal nachgeschaut und Du hast recht,  cnnames.nsf ist doch nur eine Replik des Standard-PubNAB. In wie fern ist eigentlich der Name von Belangen?

Offline dirk_2909

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.173
  • Geschlecht: Männlich
  • Expand your Notes Client with ECM functionality..
    • d.velop
Re: ExpandGroup LotusScript NAB Group
« Antwort #12 am: 02.06.05 - 13:21:58 »
Du musst die Funktion "GetAddressBook()" erstellen.

Function GetAddressBook as NotesDatabase

strServer = "YourServerName/??(??"
strDB = "names.nsf" 'ODER ;-)
Set dbTmp = New notesdatabase(strserver , strDB)
if Not( dbTmp.Open ) Then
   call dbTmp.Open( (strserver , strDB)
end if

set GetAddressBook = dbTmp
Delete dbTmp

end FUnction


... so oder so ähnlich

Dirk
Dirk

[IBM CLP R5]
[IBM CAD 6/6.5]
[IBM CAD 7]
[IBM CAD 8]


"Nein!! … Es genügt nicht Mails in einen anderen Ordner oder Datenbank zu verschieben, um sie zu archivieren!"

   
Disclaimer:
Ich Antworte nach besten Wissen und Gewissen. Sollte sich jemand durch meine Antwort persönlich angegriffen fühlen, ist dies nicht meine Absicht!
Ich bin auch nur ein Mensch, der Fehler machen kann. ....

Offline Thomas Schulte

  • @Notes Preisträger
  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: ExpandGroup LotusScript NAB Group
« Antwort #13 am: 02.06.05 - 13:27:10 »
Alle verfügbaren Adressbücher bekommt man mit
adrbooks = session.AddressBooks
Und da ist das dann wurscht ob Namen.nsf oder cnnames.nsf oder hurlebautz.nsf
Gilt für Public Private und Directories und gibt es seit V5.05
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: ExpandGroup LotusScript NAB Group
« Antwort #14 am: 02.06.05 - 13:58:35 »
Im Prinzip ja, wobei ich meine, die Property ist für LS sicher älter als 5.0.5. Man darf allerdings nicht vergessen, dass viele, viele Applikationen "names.nsf" fest verdrahtet verwenden, um DAS Adressbuch zu bekommen. Ein Umbenennen, was spätestens seit R4 via den notes.ini Eintrag names.nsf möglich war, ist daher nicht besonders empfehlenswert.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: ExpandGroup LotusScript NAB Group
« Antwort #15 am: 02.06.05 - 15:28:45 »
Alle verfügbaren Adressbücher bekommt man mit
adrbooks = session.AddressBooks

Jo, und dabei bekommt man auch Adressbücher, die man eventuell gar nicht gebarauchen kann. Sooo einfach ist es dann in ernsthaften Umgebungen leider doch nicht ...

Bernhard

Offline Thomas Schulte

  • @Notes Preisträger
  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: ExpandGroup LotusScript NAB Group
« Antwort #16 am: 02.06.05 - 16:07:02 »
Alle verfügbaren Adressbücher bekommt man mit
adrbooks = session.AddressBooks

Jo, und dabei bekommt man auch Adressbücher, die man eventuell gar nicht gebarauchen kann. Sooo einfach ist es dann in ernsthaften Umgebungen leider doch nicht ...

Bernhard
Sorry Bernhard aber das sehe ich nicht so.
Da bekomme ich erst einmal alle Adressbücher dieser Session ohne Kopfstände machen zu müssen.
Hab ich die dann, kann ich ja immer noch die welche ich nicht will ausschließen. Also z.B. alle Privaten Adressbücher will ich nicht, dann mit der Eigenschaft b.IsPrivateAddressBook  in einer For Schleife die halt nicht hernehmen. Und wenn ich dann noch ausschließlich die haben will die einen bestimmten Namen haben kann ich das ja auch noch machen indem ich einfach den b.filename oder den b.filepath benutze und den gegen eine hinterlegte Liste prüfen lasse.

Also ist es doch soo einfach.
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: ExpandGroup LotusScript NAB Group
« Antwort #17 am: 02.06.05 - 16:13:53 »
Nix gegen den Erhalt aller verfügbaren Adressbücher, Thomas. Mir ging es um die brauchbaren. Und da ist es schon nicht mehr so trivial, bei einer lokalen Installation von öffentlichen Adressbüchern doppelte zu erkennen und private von öffentlichen zu unterscheiden. Für absolute beginners zumindest.

Für uns beide ist es natürlich trivial. Der Anfänger sollte sich aber mit der Problematik erstmal auseinandersetzen und diese versuchen zu verstehen. Meinst Du nicht ?

Bernhard
« Letzte Änderung: 02.06.05 - 16:54:05 von koehlerbv »

Offline Thomas Schulte

  • @Notes Preisträger
  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: ExpandGroup LotusScript NAB Group
« Antwort #18 am: 02.06.05 - 16:18:25 »
Gut so kann ich die Aussage akzeptieren  8)
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline tokio_city

  • Frischling
  • *
  • Beiträge: 26
  • Geschlecht: Männlich
Re: ExpandGroup LotusScript NAB Group
« Antwort #19 am: 02.06.05 - 18:22:22 »
Hallo an alle Teilnehmer,

ich wollte mich noch für die rege Beteiligung bedanken und habe den Vorschlag von Dirk (Antwort 12) aufgenommen und für meine Verhältnisse erfolgreich angepasst, es wird übrigens in einem Adressbuch gesucht ;).
Dennoch weiss ich jetzt auch wie man alle Adressbücher ansteuert und wo die Probleme liegen können. Wieder einmal 'ne Menge dazu gelernt!

Eine letzte Frage habe ich aber noch, bevor ich den Thread auf erledigt stelle: Gibt es eine Begrenzung an Unterverteilern, bzw. Durchläufen, bis das Script "den Geist" aufgibt. Ich habe da mal was von sechs Ebenen/Unterverteilern gehört, ist das korrekt? - Ich hoffe, ich habe mich verständlich ausgedrückt...

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz