Hallo!
Hier habe ich mal den Code reinkopiert; ich habe die Subtraktion an zwei Stellen eingefügt; einmal, wenn es den Satz, für den die Subtraktion durchgeführt werden soll, noch nicht gibt, und nochmal, wenn der Satz schon vorhanden ist - dann soll er upgedated werden.
Vielen Dank!
Sub Initialize
Dim i As Integer
'Zu Prüfende Schlüssel
Dim koaunr As Variant
Dim psposi As Variant
Dim pkadr1 As Variant
Dim adadr1 As Variant
Dim pkadr101 As Variant
Dim kovast As Variant
Dim pstebz As Variant
Dim pskzli As Variant
Dim prueb As Variant
Dim pspdkz As Variant
Dim psbes1 As Variant
Dim psmek1 As Variant
Dim pslfs1 As Variant
Dim p9mek1 As Variant
Dim p9swgs_v As Variant
Dim p9swgs_n As Variant
Dim p9sngs_v As Variant
Dim p9sngs_n As Variant
Dim p9algs_v As Variant
Dim p9algs_n As Variant
Dim p9sfgs_v As Variant
Dim p9sfgs_n As Variant
Dim koyald1 As Variant
Dim pskzli01 As Variant
Dim pskzli02 As Variant
Dim key As String
Dim keys (0 To 2) As String
Dim session As New NotesSession
Dim fileNum As Integer
Dim now_time As String
Dim dateTime As New NotesDateTime( "" )
dateTime.LSLocalTime = Now
Call dateTime.SetNow
now_Time = dateTime.LocalTime
' fileNum% = Freefile()
' Open "g:\logs\NotesAgentLog.txt" For Append As fileNum%
' Print #fileNum%, now_Time", " ; "Agent zum kopieren Zeitenpool zu Zeiten fuer OCS gestartet"
' Close fileNum%
Set dbzeiten = New notesDatabase ("OCS02/OCS GmbH","Zeiten.nsf")
Set dbzeitenpool = New notesDatabase ("OCS02/OCS GmbH","Zeitenpool.nsf")
Set collectzeitenpool = dbzeitenpool.alldocuments
Set viewzeiten = dbzeiten.getview ("ugabe")
Print collectzeitenpool.count
For i = 1 To collectzeitenpool.count
Set zeitenpooldoc = collectzeitenpool.GetNthDocument(i)
koaunr = zeitenpooldoc.GetItemValue( "KOAUNR" )
psposi = zeitenpooldoc.GetItemValue( "PSPOSI" )
pkadr1 = zeitenpooldoc.GetItemValue( "pkadr1" )
adadr1 = zeitenpooldoc.GetItemValue( "adadr1" )
pkadr101 = zeitenpooldoc.GetItemValue( "pkadr101" )
kovast = zeitenpooldoc.GetItemValue( "kovast" )
pstebz = zeitenpooldoc.GetItemValue( "pstebz" )
pskzli = zeitenpooldoc.GetItemValue( "pskzli" )
prueb = zeitenpooldoc.GetItemValue( "prueb" )
pspdkz = zeitenpooldoc.GetItemValue( "pspdkz" )
psbes1 = zeitenpooldoc.GetItemValue( "psbes1" )
pslfs1 = zeitenpooldoc.GetItemValue( "pslfs1" )
p9mek1 = zeitenpooldoc.GetItemValue( "p9mek1" )
p9swgs_v = zeitenpooldoc.GetItemValue( "p9swgs_v" )
p9swgs_n = zeitenpooldoc.GetItemValue( "p9swgs_n" )
p9sngs_v = zeitenpooldoc.GetItemValue( "p9sngs_v" )
p9sngs_n = zeitenpooldoc.GetItemValue( "p9sngs_n" )
p9algs_v = zeitenpooldoc.GetItemValue( "p9algs_v" )
p9algs_n = zeitenpooldoc.GetItemValue( "p9algs_n" )
p9sfgs_v = zeitenpooldoc.GetItemValue( "p9sfgs_v" )
p9sfgs_n = zeitenpooldoc.GetItemValue( "p9sfgs_n" )
koyald1 = zeitenpooldoc.GetItemValue( "koyald1" )
pskzli01 = zeitenpooldoc.GetItemValue( "pskzli01" )
pskzli02 = zeitenpooldoc.GetItemValue( "pskzli02" )
keys(0) = koaunr(0)
keys(1) = psposi(0)
key = keys(0) + " " + keys(1)
Set collectzeiten = viewzeiten.getalldocumentsbykey(key,exact)
Print collectzeiten.count
If (collectzeiten.count = "0") Then
Set zeitendoc = New NotesDocument( dbzeiten )
Call zeitenpooldoc.CopyAllItems( zeitendoc, True )
Call zeitenpooldoc.ReplaceItemValue("psbes1", zeitenpooldoc.GetItemValue( "psbes1")(0) -1000000)
Call zeitendoc.Save( True, True )
End If
For a = 1 To collectzeiten.count
Set zeitendoc = collectzeiten.GetNthDocument(a)
Call zeitendoc.replaceItemValue("KOAUNR", koaunr )
Call zeitendoc.replaceItemValue( "PSPOSI" , psposi)
Call zeitendoc.replaceItemValue( "pkadr1" , pkadr1)
Call zeitendoc.replaceItemValue( "adadr1" , adadr1)
Call zeitendoc.replaceItemValue( "pkadr101" , pkadr101)
Call zeitendoc.replaceItemValue( "kovast" , kovast)
Call zeitendoc.replaceItemValue( "pstebz" , pstebz)
Call zeitendoc.replaceItemValue( "pskzli" , pskzli)
Call zeitendoc.replaceItemValue( "prueb" , prueb)
Call zeitendoc.replaceItemValue( "pspdkz" , pspdkz)
' Call zeitendoc.replaceItemValue( "psbes1" , psbes1)
Call zeitenpooldoc.ReplaceItemValue("psbes1", zeitenpooldoc.GetItemValue( "psbes1")(0) -1000000)
Call zeitendoc.replaceItemValue( "psmek1" , psmek1)
Call zeitendoc.replaceItemValue( "pslfs1" , pslfs1)
Call zeitendoc.replaceItemValue( "p9mek1" , p9mek1)
Call zeitendoc.replaceItemValue( "p9swgs_v" , p9swgs_v)
Call zeitendoc.replaceItemValue( "p9swgs_n" , p9swgs_n)
Call zeitendoc.replaceItemValue( "p9sngs_v" , p9sngs_v)
Call zeitendoc.replaceItemValue( "p9sngs_n" , p9sngs_n)
Call zeitendoc.replaceItemValue( "p9algs_v" , p9algs_v)
Call zeitendoc.replaceItemValue( "p9algs_n" , p9algs_n)
Call zeitendoc.replaceItemValue( "p9sfgs_v" , p9sfgs_v)
Call zeitendoc.replaceItemValue( "p9sfgs_n" , p9sfgs_n)
Call zeitendoc.replaceItemValue( "koyald1" , koyald1)
Call zeitendoc.replaceItemValue( "pskzli01" , pskzli01)
Call zeitendoc.replaceItemValue( "pskzli02" , pskzli02)
Call zeitendoc.save (True,True )
Next ' collectzeiten
Next ' collectzeitenpool
' fileNum% = Freefile()
' Open "g:\logs\NotesAgentLog.txt" For Append As fileNum%
' Print #fileNum%, now_Time", " ; "Agent zum kopieren Zeitenpool zu Zeiten fuer OCS beendet"
' Close fileNum%
Print "Kopieren Zeitenpool zu Zeiten für OCS beendet"
End Sub