Hallo,
ich habe ein kleines Problem.
Es werden jede Nacht Daten aus SAP überspielt...
Diese kommen durch ein SOAP Gateway in meine NotesDB.
Die Maske enthält ein berechnetes Feld, welches sich erst nach aktualisierung des Dokumentes auflöst.
Hierfür habe ich nun folgenden Agenten...
Im ersten Teil werden alle neuen Dokumente, in denen das besagte Feld noch leer ist, gegriffen und sollen neu berechnet werden und werden dann gespeichert.
Im 2. Teil werden die Dokumente weiterverarbeitet... der Teil ist jedoch problemlos.
Mein Problem ist nun, dass durch anstupsen durch den LEI Job keine neuen Dokumente aktualisiert werden. Irgendwie greift er an den Dokumenten vorbei.
Der 2. Teil funktioniert komischerweise bei antriggern durch LEI.
Wenn ich den Agenten nun aber im Designer schedule aktualisiert er brav alle Dokumente und macht was er soll...
Wo liegt das Problem? Ich habe erst gedacht, dass evtl ein View refresh hilft. Aber das hat ebenfalls nicht geklappt.
Sub Initialize
Dim s As New NotesSession
Dim vi As NotesView
Dim vi2 As NotesView
Dim vi3 As NotesView
Dim dc As NotesDocumentCollection
Dim doc As NotesDocument
Dim doc2 As NotesDocument
Dim docnext As NotesDocument
Dim key As String
Dim temp As String
Set db = s.CurrentDatabase
Set vi3 = db.GetView("AlleRabattGruppen")
Set vi2 = db.GetView("RabattNEU")
Call vi2.Refresh
Set doc = vi2.GetFirstDocument
While Not doc Is Nothing
Set docnext = vi2.GetNextDocument(doc)
Call doc.ComputeWithForm(False,False)
Call doc.Save(True,False)
Set doc = docnext
Wend
key =""
temp =""
Set vi = db.GetView("RabattGruppen")
Call vi.Refresh
Call vi3.Refresh
Set doc = vi.GetFirstDocument
While Not doc Is Nothing
temp = doc.KUNNR_T(0)+"."+doc.Gruppe(0)+"."+doc.KSCHL(0)+"."+doc.DATAB(0)
If key<> temp Then
key = temp
Set doc2 = vi3.GetDocumentByKey(key)
If doc2 Is Nothing Then
Set doc2 = New NotesDocument(db)
Call doc.CopyAllItems(doc2)
doc2.Form="RabattGruppe"
Call doc2.RemoveItem("PRODH1")
Call doc2.Save(False,False)
Else
If doc2.DATBI(0) <> doc.DATBI(0) Then
doc2.DATBI = doc.DATBI(0)
Call doc2.Save(False,False)
End If
If doc2.KBETR(0) <> doc.KBETR(0) Then
doc2.KBETR = doc.KBETR(0)
Call doc2.Save(False,False)
End If
End If
End If
Set doc = vi.GetNextDocument(doc)
Wend
End Sub