Domino 9 und frühere Versionen > Entwicklung
periodischer Agent
Ralph:
hab ein großes Problem.
Ich hab ein LSkript für die Datenübernahme aus einer anderen Datenbank und muß dieses mit einem Agenten starten.
1. Wenn ich den Agenten manuell starte funktioniert auch alles bestens.
2. sobald er es periodisch alleine machen soll, läuft er zwar laut Protokoll aber er liest keine Daten ein.
Was mache ich verkehrt ?
Hier der Code ( ist in Zusammenarbeit mit ATA entstanden )
Sub Click(Source As Button)
' # #### Übernahme von Adressen #####
' # Denkbar in einer Ansichts-Aktion oder einem Button...
Dim ws As New NotesUIWorkspace
Dim session As New NotesSession
Dim dbThis As NotesDatabase
Dim dbNAB As NotesDatabase
Dim vwParDocID As NotesView
Dim dc As NotesDocumentCollection
Dim sSearch As String
Dim dateTime As NotesDateTime
Set dateTime = New NotesDateTime("01/01/1990")
Dim docNew As NotesDocument
Dim i As Integer
Set dbThis = session.CurrentDatabase
Set vwParDocID = dbThis.getView("PersonByParDocId")
Call vwParDocID.Refresh
Set dbNAB = session.GetDatabase("pcoi4","names_test.nsf")
sSearch = | Select Form = "Person" |
Set dc = dbNAB.Search (sSearch ,dateTime,0)
'Set dc = ws. PickListCollection(1,True,"pcoi4","names_test.nsf","People","Auswahl der Dokumente","Wählen Sie die gewünschten Dokumente")
If dc.Count > 0 Then
Set docNAB = dc.GetFirstDocument
For i = 1 To dc.Count
' # Überprüfen. ob es dieses Dokument bereits gibt
Set docNew = vwParDocID.GetDocumentByKey(docNAB.UniversalID)
If docNew Is Nothing Then
' # Die Adresse ist noch nicht vorhanden
Set docNew = dbThis.CreateDocument
With docNew
.Form = "TeleMask"
.ParDocID = docNAB.UniversalID
.LastName = docNAB.LastName
.FirstName = docNAB.FirstName
.OfficePhoneNumber = docNAB.OfficePhoneNumber
.OfficeFaxPhoneNumber = docNAB.OfficeFaxPhoneNumber
.FullName = docNAB.FullName
.CompanyName = docNAB.CompanyName
.Department = docNAB.Department
.Location = docNAB.Location
.MailDomain = docNAB.MailDomain
.MailAdress = docNAB.Address
.InternetAddress = docNAB.InternetAddress
' # ... die gewünschten Felder eben...
Call .Save(True, True)
End With
Else
' # Die Adresse gibt es bereits - überspringen
End If
Set docNAB = dc.GetNextDocument(docNAB)
Next
Else
' # Es wurden keine Dokumente gewählt
End If
' # #### ENDE: Übernahme von Adressen #####
End Sub
ata:
... in einem periodischen Agent kann das eigentlich nicht funktionieren...,
... denn du verwendest eine PickList, daß ist UI - und damit kann der Agent nicht...
ata
Ralph:
Hi Ata,
nein Picklist ist auskommentiert,
ich wähle die Dokumente so aus
sSearch = | Select Form = "Person" |
ata:
... nimm in die Deklaration des ws heraus, vielleicht stört er sich daran...
ata
Till_21:
nicht nur vielleicht
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln