Autor Thema: Agent läuft nicht periodisch  (Gelesen 3678 mal)

Offline MrMagoo

  • Senior Mitglied
  • ****
  • Beiträge: 359
  • Geschlecht: Männlich
  • AAAhhh
Agent läuft nicht periodisch
« am: 12.08.03 - 13:48:02 »
Hallo,

ich habe einen Agenten, der 1a läuft wenn ich den manuell starte. Wenn der Agent aber periodisch auf dem Server laufen soll, ist der immer in derselben Sekunde fertig in der er startet und hat irgendwie nix gemacht. Woran kann das liegen ???
Danke
« Letzte Änderung: 12.08.03 - 14:00:01 von MrMagoo »

Offline HRaq

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 688
  • Geschlecht: Männlich
  • Erst hat man kein Glück, dann kommt noch Pech dazu
Re:Agent läuft nicht periodisch
« Antwort #1 am: 12.08.03 - 14:22:55 »
Hi MrMagoo,

nur mal ne Idee: Hat der Server evtl. keine Rechte auf der Datenbank, auf der Agent laufen soll?

Gruß Henning
Gruß Henning

Offline MrMagoo

  • Senior Mitglied
  • ****
  • Beiträge: 359
  • Geschlecht: Männlich
  • AAAhhh
Re:Agent läuft nicht periodisch
« Antwort #2 am: 12.08.03 - 14:26:41 »
Danke hennig,
doch hat Managerrechte

Offline HRaq

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 688
  • Geschlecht: Männlich
  • Erst hat man kein Glück, dann kommt noch Pech dazu
Re:Agent läuft nicht periodisch
« Antwort #3 am: 12.08.03 - 14:37:10 »
sagt das Serverlogfile irgendwas aus?
Gruß Henning

Driri

  • Gast
Re:Agent läuft nicht periodisch
« Antwort #4 am: 12.08.03 - 14:49:33 »
Ich gehe mal von einem Script-Agent aus, wie greifst du da auf das Datenbankobjekt zu ?
Bzw. : Fragst du das Datenbankobjekt irgendwie ab ?

Beispiel : Wenn Du den Namen des Objekts hast und irgendwie vergleichen willst, dann enthält db.FilePath je nach Ausführung lokal oder auf dem Server verschiedene Werte.

lokal :

db.FilePath -> "mail\bmusterm.nsf"

Server :

db.FilePath -> "NOTESSERVER!!mail\bmusterm.nsf"

Offline MrMagoo

  • Senior Mitglied
  • ****
  • Beiträge: 359
  • Geschlecht: Männlich
  • AAAhhh
Re:Agent läuft nicht periodisch
« Antwort #5 am: 12.08.03 - 14:55:28 »
Also das Protokoll sagt:

Agent 'XXX' wurde am 12.08.2003 14:45:52 gestartet
Bearbeitet alle Dokumente in der Datenbank: insgesamt 198
198 Dokumente gefunden, die die Suchkriterien erfüllen
LotusScript Code ausgeführt
Agent 'XXX' wurde am 12.08.2003 14:45:53 beendet

@Diri, ja ist ein Scriptagent.

spreche 2 Datenbanken an

Set db = session.CurrentDatabase  'auf der der Agent läuft
Set db1 = New NotesDatabase "server", "Verzeichnis\DB" ) 'die andere DB

Driri

  • Gast
Re:Agent läuft nicht periodisch
« Antwort #6 am: 12.08.03 - 15:02:00 »
Hi,

ich bin zwar nicht der Script-Gott, aber vielleicht findet sich was, wenn du mal das Script hier postest.

Offline HRaq

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 688
  • Geschlecht: Männlich
  • Erst hat man kein Glück, dann kommt noch Pech dazu
Re:Agent läuft nicht periodisch
« Antwort #7 am: 12.08.03 - 15:12:01 »
Hi MrMagoo,

demzufolge macht er doch irgendwas. Wie lange dauert die Ausführung des manuell gestarteten Agenten?
Wo sind die Unterschiede im LogFile?

Wie Driri schon sagte, am besten, du postest mal das Script.

Gruß Henning
Gruß Henning

Glombi

  • Gast
Re:Agent läuft nicht periodisch
« Antwort #8 am: 12.08.03 - 15:21:14 »
Hi,
das
"Set db1 = New NotesDatabase "server", "Verzeichnis\DB" ) "
kann bei einem Hintergrundagenten nicht funktionieren.
veruchmal folgendes:

set db1 = New NotesDatabase("","")
call db1.Open("", "Verzeichnis\DB.nsf" )
if not db1.IsOpen then
  print "Die Datenbank Verzeichnis\DB.nsf konnte nicht geöffnet werden!"
  exit sub

end if


Die Print Meldung wird dann im log.nsf des Servers ausgegeben.

Du kannst Print Meldungen auch zum Debuggen ins Log schreiben lassen, damit Du sehen kannst, wie weit er kommt.

Hintergrundagenten können keine DBs auf anderen Servern öffnen (auch der gleiche Server nicht). Daher muss man bei db1.Open als Server = "" eingegeben.

Andreas
« Letzte Änderung: 12.08.03 - 15:22:00 von Glombi »

Offline MrMagoo

  • Senior Mitglied
  • ****
  • Beiträge: 359
  • Geschlecht: Männlich
  • AAAhhh
Re:Agent läuft nicht periodisch
« Antwort #9 am: 12.08.03 - 16:10:06 »
hm ging leider nicht, auch im serverlog hat er ne andere Meldung
AMgr: Agent ('Agentname' in 'Verzeichnis\DB) Fehlermeldung: Error creating product object

kann mir jemand helfen ???

Driri

  • Gast
Re:Agent läuft nicht periodisch
« Antwort #10 am: 12.08.03 - 16:46:13 »
Poste doch mal das Script hier, das sollte einfach sein als raten  ;D

Offline AC

  • Senior Mitglied
  • ****
  • Beiträge: 367
  • Geschlecht: Männlich
Re:Agent läuft nicht periodisch
« Antwort #11 am: 12.08.03 - 16:54:20 »
Hallo Maggoo,

arbeitest Du mit Datumsoperationen im Script ?

Wenn auf dem Server (Version) andere Datumskonventionen gelten als lokal am Client muß man das beim Handling von Zeit- / Datumswerten berücksichtigen.

Gruß Holcomb
Microsoft Certified Technology Specialist Microsoft Dynamics NAV 5.0 C/Side Introduction
Microsoft Certified Technology Specialist Microsoft Dynamics NAV 5.0 C/Side Solution Development

"...Glücklich ist, wer vergisst, was doch nicht zu ändern ist..."

Offline MrMagoo

  • Senior Mitglied
  • ****
  • Beiträge: 359
  • Geschlecht: Männlich
  • AAAhhh
Re:Agent läuft nicht periodisch
« Antwort #12 am: 12.08.03 - 17:09:18 »
@Holcomb:
ja mache ich, das könnte es sein.
hier mal ne abgespeckte Version des Scripts
Sub Initialize
   Dim workspace As New NotesUIWorkspace   
   Dim session As New NotesSession
   Dim db As NotesDatabase         'CurrentDB
   Dim db1 As NotesDatabase   'DB1
   Dim doc As NotesDocument            
   Dim col As NotesDocumentCollection
   Dim subj As Variant      'YES oder NO

'Collection bauen: alle Dokumente die in den letzten 7 Tagen geändert wurden

Set db = session.CurrentDatabase
Set col = db.Search(" (@Today -(modified) )/(60*60*24) =<7",Nothing,0)
Set doc = col.GetFirstDocument
While Not (doc Is Nothing)
           subj = doc.GetItemValue( "CurrentDB_Feld" )
             If subj(0) = "YES" Then
   Set db1 = New NotesDatabase("", "" )
   Call db1.Open( "", "Verzeichnis\DB1.nsf" )
           If Not db1.IsOpen Then
              Print "Die Datenbank Verzeichnis\DB1.nsf
                            konnte nicht geöffnet werden!"
           Exit Sub   
              End If
      ...
         Wend
End Sub

Offline MrMagoo

  • Senior Mitglied
  • ****
  • Beiträge: 359
  • Geschlecht: Männlich
  • AAAhhh
Re:Agent läuft nicht periodisch
« Antwort #13 am: 13.08.03 - 10:27:31 »
Also, habe jetzt so ziemlich jede Variante ausprobiert, sogar auf die Datumsgeschichte verzichtet.
Aber sobald das Ding periodisch laufen soll, sagt er immer, im log File

AMgr: Agent ('Agentname' in 'Verzeichnis\Datenbank.nsf') Fehlermeldung: Error creating product object

hilfe ??? ???

Glombi

  • Gast
Re:Agent läuft nicht periodisch
« Antwort #14 am: 13.08.03 - 10:33:34 »
Hi,
das Problem ist, dass man in Servergestützten Agenten KEINE UI-Klassen wie bspw. Dim workspace As New NotesUIWorkspace  
verwenden darf!

Also lösche die und versuche es erneut.
Alternativ kannst Du die, wenn die unbedingt benötigt werden, auch als Variant deklarieren.

Andreas

Offline MrMagoo

  • Senior Mitglied
  • ****
  • Beiträge: 359
  • Geschlecht: Männlich
  • AAAhhh
Re:Agent läuft nicht periodisch
« Antwort #15 am: 13.08.03 - 10:42:13 »
@glombi: danke, aber ich benutze keien uiKlassen
aber hier jetzt mal das gesamte Script

Sub Initialize
   
   Dim workspace As New NotesUIWorkspace   
   Dim session As New NotesSession
   Dim db As NotesDatabase         
   Dim db1 As NotesDatabase         
   
   Dim doc As NotesDocument      
   Dim doc1 As NotesDocument   
   Dim docB As NotesDocument      
   Dim col As NotesDocumentCollection
   
   Dim subj As Variant               
   Dim subj1 As Variant               
   Dim ID_DA As Variant            
   Dim ID_O As Variant               
   Dim ID_DN As Variant         
   
   Dim Doc_ID As String
   Dim NeueID As String
   Dim CopyD_ID As String          
   Dim View_selection1 As String      
   
   Set db = session.CurrentDatabase
   Set col = db.AllDocuments
   Set doc = col.GetFirstDocument
   While Not (doc Is Nothing)
      subj = doc.GetItemValue( "Feld1" )
      subj1 = doc.GetItemValue( "Feld2" )
'Dokument nach bestimmten Bedingungen   
      If subj(0) = "YES" Then
         If subj1(0)="1" Then
'DB2 öffnen, hier gibt es, glaube ich die Probleme
            Set db1 = New NotesDatabase("", "" )
            Call db1.Open("","DB2")
            If Not db1.IsOpen Then
               Print "Die Datenbank DB2 konnte nicht geöffnet werden!!!"
               Exit Sub   
            End If
'Dokument in DB2 suchen
            Set doc1 = db1.GetDocumentByUNID( doc.GetItemValue ("CopyD_ID")( 0 ))
            Call doc1.ReplaceItemValue ( "Doc_Deleted",1)   
            Call doc1.Save(True, False)
'Neues dok erstellen
            Set docB = New NotesDocument( db1 )
            Call doc.CopyAllItems( docB, True )
            
'Werte in neuem Dok setzen   
            ID_O = doc.GetItemValue( "Doc_ID" )
            docB.DocO_ID= ID_O
            docB.View_selection1="Wert setzen"
            Call docB.Save( True, True )
            Call docB.ComputeWithForm(False,False)
            Call docB.Save( True, True )
            
            ID_DN= docB.GetItemValue( "Doc_ID" )
            doc.CopyD_ID= ID_DN
            Call doc.Save( True, True )
         End If
      End If
      Set doc = col.GetNextDocument(doc)
   Wend
End Sub

Offline Hoshee

  • Administrator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 697
  • Geschlecht: Männlich
  • Try To Be Mensch ...
    • Syslords Solutions IT-Dienstleistungen
Re:Agent läuft nicht periodisch
« Antwort #16 am: 13.08.03 - 10:57:08 »
Yoo,

@glombi: danke, aber ich benutze keien uiKlassen
aber hier jetzt mal das gesamte Script

Sub Initialize
   
   Dim workspace As New NotesUIWorkspace   

Das "Dim" bezieht sich aber auf eine UI-Klasse!!!

Gruss ...

Hoshee
Detlef

-> Syslords Solutions
*************************************
Wer dem Chef in den Hintern kriecht, muß damit rechnen, daß er ihm eines Tages zum Hals heraushängt

Offline MrMagoo

  • Senior Mitglied
  • ****
  • Beiträge: 359
  • Geschlecht: Männlich
  • AAAhhh
Re:Agent läuft nicht periodisch
« Antwort #17 am: 13.08.03 - 11:07:35 »
AaaaaaaaaaaaaaaaHHHHHHHHHHHH
ja danke, das war es,
jetzt deklariere ich in der ersten Zeile etwas was ich gar nicht brauche und des kostet mich schon ein paar Stunden :P
aber nu gehts ja

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz