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 |