Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: dasRalph am 20.03.03 - 16:54:28
-
Hallo!!!
Ich möchte einen Agenten dazu bringen, dass er ein Dokument mit einem bestimmten Wert sucht und dann dazu automatisch ein Antwortdokument erstellt. Geht das und wenn ja, wie???
Und was würde der Agent benötigen, wenn er "Suchen" und "Erstellen" auf einer Datenbank auf einem anderen Server machen soll???
Besten Dank!!! Ralph
-
Meinst du jetzt einen Agenten innerhalb einer Datenbank oder aber auf mehere Datenbanken ?
Also bei einer Datenbank -> in den Designer -> Agenten -> Neuer Agent, dort kannst du auswählen a) auf welchen Server b) kannst du angeben auf was er reagieren soll unter anderen auch: wenn ein Feld einen bestimmten Wert enthält und sagsten dann im aktionsfenster das er halt ne mail senden soll an den, der was weiss ich zum beispiel im feld: absender oder so steht.
(aber wie gesagt das geht nur bei einer Datenbank (soweit ich weiss))
-
... das geht mit einem LS-Agenten...
ata
-
Hi,
so oder so ähnlich kannst Du einsteigen in das Thema:
Sub Initialize
Dim session As New NotesSession
Dim db As NotesDatabase
Dim db2 As notesdatabase
Dim view As NotesView
Dim docA As NotesDocument
Dim docB As NotesDocument
Dim sKey(1) As String
'Datenbanken init
Set db = session.CurrentDatabase
'wenn es sich um eine andere db handelt dann mit dieser init weitermachen
Set db2 = New NotesDatabase( "Server2", "dbaufServer2.nsf" )
'setze ansicht in der gesucht werden soll, derzeit in der aktuellen db
Set view = db.GetView( "DeineAnsicht" )
'suche über ein Keyarray
sKey(0) = "Wert1"
sKey(1) = "Wert2"
'suche doc anhand Keyarray
Set docA = view.GetDocumentByKey( sKey, True )
'wenn doc gefunden dann mache weiter
If Not docA Is Nothing Then
'hole deinen bestimmten Feldwert
bestimmtenWert = Cstr(doc.Feld(0))
'wenn der Feldwert nicht leer ist dan erstelle doc in db
If bestimmtenWert<>"" Then
Call docB.MakeResponse( docA )
docB.Form = "Response"
Call docB.Save( True, True )
End If
End If
End Sub
-
Hallo!!!
Okay... ich sehe ein, ich hab mich was blöd ausgedrückt, ist eine Stärke von mir :-[
Ich hab folgendes vor. Ich hab eine Datenbank in der Anträge von unseren "Nutzern" erstellt werden, diese Daten der Anträge werden in eine MS Access-Datenbank übertragen. Nun soll LoNo automatisch per Agent in der Access-datenbank nachschauen, ob zu einem Antrag ein Ergebnis abgespeichert ist und wenn ja, dann soll LoNo ein Antwortdokument zu dem Antrag erstellen wo dann das Ergebnis zu sehen ist. Es soll keine Mail erzeugt werden oder so, ich möchte ein Antwortdokument damit man zum Antrag gleich das Egebnis sehen kann.
So dies Problem hab ich nun zwei mal. Beim einen mal soll der Server A in der Datenbank A dies verrichten. Dabei liegt die Datenbank A auch auf dem Server A. Beim anderen mal soll der Server A in der Datenbank B (auf Server B) dies machen. Dabei muss der Agent immer auf Server A laufen, da nur dieser eine Zugriffsmöglichkeit auf die Accessdatenbank hat.
Aber ich denke mit der Lösung von doliman läßt sich beides machen... oder liege ich da falsch???
Nochmals Besten Dank!!! Ralph
-
Hi,
1)
der Befehl:
Call docB.MakeResponse( docA )
erstellt ein Antwortdokument zu DokumentA
2)
auf Access mit ODBC drauzugreifen.
Select absetzten auf die Tabelle mit der jeweiligen Einschränkung,
Ergebnis Auswerten und anhand des Ergebnisses mit der aus 1. das Antwortdoc erstellen.