Domino 9 und frühere Versionen > ND6: Entwicklung

Zeit-Agenten ohne Laufzeitziel

<< < (2/6) > >>

Andreas Huhn:
Ich hab den ganzen Code unter Sub_Initialize gepackt und das zusammengecoded und es scheint tatsächlich auf Anhieb zu funktionieren... ich bin begeistert. Hab jetzt auf "durch Zeitplan" und "täglich" umgestellt und damit müsste er auf dem Server nun lauffähig sein, oder?


Hier der LS-Code:


Sub Initialize
   Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim view As NotesView
   Dim configdoc As NotesDocument
   Dim agent As NotesAgent
   
   Dim CoAgentIntervall As Integer
   Dim CoAgentDat As Variant
   Dim FreigAgentIntervall As Integer
   Dim FreigAgentDat As Variant
   Dim LieferAgentIntervall As Integer
   Dim LieferAgentDat As Variant
   Dim NowDat As Variant
   
   
   Set db= session.CurrentDatabase
   
   Set view = db.getview("AnsKonfiguration")
   Set configdoc = view.getdocumentbyKey("1")
   
   CoAgentIntervall = configdoc.ZahlCoAgentIntervall(0)
   CoAgentDat = configdoc.datCoAgentDat(0)
   FreigAgentIntervall = configdoc.ZahlFreigAgentIntervall(0)
   FreigAgentDat = configdoc.datFreigAgentDat(0)
   LieferAgentIntervall = configdoc.ZahlLieferAgentIntervall(0)
   LieferAgentDat = configdoc.datLieferAgentDat(0)
   NowDat = Now()
   
   
   If Typename(NowDat) = "DATE" And Typename(CoAgentDat) = "DATE" Then
      If Val( (NowDat - CoAgentDat) / 86400) >= CoAgentIntervall Then
         Set agent = db.GetAgent("CoordAgent")
         agent.Run
      End If
   End If
   
   If Typename(NowDat) = "DATE" And Typename(FreigAgentDat) = "DATE" Then
      If Val( (NowDat - FreigAgentDat) / 86400) >= FreigAgentIntervall Then
         Set agent = db.GetAgent("FreigAgent")
         agent.Run
      End If
   End If
   
   If Typename(NowDat) = "DATE" And Typename(LieferAgentDat) = "DATE" Then
      If Val( (NowDat - LieferAgentDat) / 86400) >= LieferAgentIntervall Then
         Set agent = db.GetAgent("LieferAgent")
         agent.Run
      End If
   End If
   
End Sub

Driri:
Ja, das sollte so auch auf dem Server laufen. Allerdings ist kein Errorhandling dabei, das wäre noch eine sinnvolle Verbesserung.

Andreas Huhn:
Mit Error-Handlich hab ich noch nie was gemacht.

Wie würd denn das aussehen?  ::)


Daß Datumswerte als Variant und die Intervalle (als Vergleichswert) als Integer definiert sind passt, oder?

Denn jetzt hab ich gar keine Typkonvertierungen mehr, wenn du dir mal den Formelcode anschaust da waren eine Menge und ohne die is es auch nicht gegangen. Drum bin ich grad noch ein wenig skeptisch.

Axel:
Schau mal hier: Best Practices: Error Handling in Lotus Script

Da gibt's jede Menge Infos zu dem Thema.


Axel

Andreas Huhn:
Danke Axel! Werd ich mich mal durchwühlen..

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln