Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Alperen15 am 21.07.10 - 15:32:24

Titel: Agent soll alle Dateien aus Ordner in Notes importieren
Beitrag von: Alperen15 am 21.07.10 - 15:32:24
Hallo,

Problembeschreibung: AS/400 exportiert Vorzüge (csv Datei) in ein Verzeichnis. und Notes importiert es aus dem Verzeichnis die Dateien. Ein Agenten gibt es schon. Das Problem ist, wenn der Agent mal nicht laufen sollte, werden die Dateien durch das RPG programm überschrieben. D.h. die Vorzüge gibt es dann nicht mehr im Verzeichnis.

Der Agent läuft jede Stunde. und jede Stunde exportiert es ein rpg programm ins verzeichnis für notes.

Überlegung mit Mitarbeiter ist. Dass der Dateienname neben dem datum auch die uhrzeit(hhmmss) als laufnummer mit gibt. Somit werden die Dateien nicht überschrieben es werden nur neue dateien erstellt.

das heisst mein agent muss in das verzeichnis rein unabhänging vom Datum alle lesen und importieren. Denn die importierten Dateien werden in ein archiv verschoben.


wie könnte ich das am besten lösen? vlt eine Schleife? wäre dankbar für eure vorschläge
Hier der Quellcode

Dim session As New  NotesSession
   Dim db As NotesDatabase   
   Dim dc As NotesDocumentCollection
   Dim doc As NotesDocument   
   Dim filenum As Integer, iZaehler As Integer, pos As Integer     
   Dim filename As String, cRekNo As String, i As String
   Dim cTrenn As String, cText As String, cDate As String, cError As String, cSendTo As String, cSubject As String, cAusgabe As String
   Dim cSelection As String
   Dim vComplainNo As Variant
   Dim dtCutOff As New NotesDateTime("31.12.1900")
   Dim lDate As Long
   Dim cpathName As String
   Dim cFilename As String
   Dim Pathname As String
   Dim csvFilename As String
   
   Set db=session.CurrentDatabase   
   Set oHeute = New NotesDateTime(Now)                     ' *** Akt. Datum   
   cDate = Cstr(oHeute.DateOnly)   
   lDate = Year(oHeute.DateOnly) * 10000 + Month(oHeute.DateOnly) * 100 + Day(oHeute.DateOnly)
   cDate = Cstr(lDate)
   iZaehler = 1
   cTrenn = ";"                                                              ' *** Definition des Trennzeichens
   filenum=Freefile()
   filename="E:\TestKUR\VerzeichnisTEST\Vorzug_Export_" + cDate + ".csv"          ' *** Laufwerk für Zugriff von Alpha und Notes   
   cSendTo = "support@hilfe.com"
   cSubject = "Error asImportCollect"
   
   REM Tracerinitialisierungsparameter
   Dim aTracerPara(1) As Variant
   
   cgTracerVorzugImport = "asImportCollect"
   
   aTracerPara(0) = "Import WE-Vorzüge"
   aTracerPara(1) = "PDAllgemein"
   If Not(xQAnfangID(aTracerPara)) Then
      Print "Agent: ImportVorzug: Konnte Tracer/Logger/Protokoll nicht initialisieren. Abbruch der Funktion."
      Exit Sub
   End If     ' If Not(xQAnfangID(aTracerPara)) Then   
   
   ' *********** Öffnen des csv Datensatzes auf dem File System
   cError = "asImportCollect ERROR: No CSV - File found"
   On Error Goto EndeFileOpen
   
   pathName$ = "E:\TestKUR\VerzeichnisTEST\Vorzug_Export_" + cDate + ".csv"
   cFilename$ = Dir$(pathName$, 0)
   If cFilename$ <> "" Then
      cPathname = Left(pathName$,22)      ' *** Pfadname
      filename = cPathname + cFilename$
   End If
   Name filename As "E:\ImportNotes\Vorzug\Vorzug_Export_" + cDate + ".csv"
   filename = "E:\ImportNotes\Vorzug\Vorzug_Export_" + cDate + ".csv"
   
   Open filename For Input As filenum    
   Seek fileNum,1   
   On Error Goto ErrorPrint
   
   Do Until Eof (filenum)                                
      Line Input #filenum, i
      If i <> "" Then
         i = i + cTrenn
         iZaehler = iZaehler + 1                            ' *** Datensatzzähler
      Else
         Call XQSchreiben("0", "1", cgTracerVorzugImport, "asNightImport ERROR: Keine Datensätze im CSV-File", 632637&)   
         Call SendMail(doc, cSendTo, cSubject, "asImportCollect ERROR: Keine Datensätze im CSV-File")
         Goto EndeAlles
      End If
      ' **********  Einlesen des csv - Datensatzes  **************************
      cError = "asImportCollect ERROR: ReadFields" + Cstr(iZaehler)
      On Error Goto ErrorPrint
      Call ReadFields(i)                                             ' *** neuer Datensatz lesen   
      ' ************* Document Selection - Alle Documente in der DB werden nach der Auftrag/Position durchsucht - Anführungszeichen der Selection beachten !
      cSelection = "FORM = ""maNurVorzug"" & fdAuftrag = """+cImString(4)+"""  & fdAuftragsposition = """+cImString(5)+""""
      Set dc = db.Search ( cSelection , dtCutOff , 0 )      
      ' **************
      Set doc = dc.getFirstDocument
      If Not doc Is Nothing Then                                 ' *** Dokument mit gleichem Auftrag/Position gefunden
         cError = "asNightImport ERROR: UpdateAndReplace " + cImString(4) + " / " + cImString(5)
         On Error Goto ErrorPrint
         
         Call UpdateAndReplace(doc, cDate)           ' *** Überschreiben der Kopf und ersetzen der Pos-Daten
         
         If dc.count > 1 Then
            cError = "asImportCollect ERROR: Multiple Documents " + cImString(4) + " / " + cImString(5)
            Call XQSchreiben("0", "1", cgTracerVorzugImport, cError, 632637&)      
         End If
      Else      
         ' **** kein übereinstimmen WE-Vorzug gefunden -> neues Dok wird angelegtm falls Status aktiv ***********
         If cImString(1) = "A" Then
            Set doc = db.CreateDocument         
            doc.Form="maNurVorzug"
            cError = "asImportCollect ERROR: FillFields " + cImString(4) + "/" + cImString(5)
            On Error Goto ErrorPrint
            Call FillFields(doc,i,cDate)                          ' *** Schreiben komplettes Dokument            
            cError = "asImportCollect ERROR: DocSave " + cImString(4) + "/" + cImString(5)
            On Error Goto ErrorPrint
            Call doc.save(False,True)      
         End If
      End If   ' *** Not doc Is Nothing Then   
      
NextEntry:         
      Loop '  Until Eof (filenum)   **** Neuen csv - Datensatz einlesen
' *** Schleife - lese neuen csv - Datensatz ******************************************************************************   
      Call XQSchreiben("0", "1", cgTracerVorzugImport, "Ende VorzugImport", 632637&)         
EndeGut:
      Close filenum
      Call XQSchreiben("0", "1", cgTracerVorzugImport, "Vorzug_Export_" + cDate + ".csv - gelöscht ", 632637&)      
      cText = Cstr(iZaehler) + " Datensätze bearbeitet"
      Call XQSchreiben("0", "1", cgTracerVorzugImport, cText, 632637&)
      
      i = 1
      pathName$ = "E:\TestKUR\VerzeichnisTEST\Archiv\Vorzug_Export_" + cDate + "*.csv"
      cFilename$ = Dir$(pathName$, 0)
      Do While cFilename$ <> ""
         cPathname = Left(pathName$,29)      ' *** Pfadname
         csvFilename = cPathname + cFilename$
         i = i + 1
         cFilename$ = Dir$()   
      Loop
      Filecopy FileName,"E:\TestKUR\VerzeichnisTEST\Archiv\Vorzug_Export_" + cDate + "_" + Cstr(i) + ".csv"  ' *** Sichern der aktuellen File ins Archiv
      Print cText
      Kill filename                     ' *** Löschen des eingelesenen .csv Datensatzes
      Goto EndeAlles
ErrorPrint:   
      Call XQSchreiben("0", "1", cgTracerVorzugImport, cError, 632637&)      
      Resume Next
      cAusgabe = cError
      Call SendMail(doc, cSendTo, cSubject, cAusgabe)
      Print cError
EndeFileOpen:
      Call XQSchreiben("0", "1", cgTracerVorzugImport, cError, 632637&)      
      Goto EndeAlles
EndeAlles:
      Call xQEnde                     ' *** Schreiben und schließen LogFile
      Exit Sub
End Sub






Titel: Re: Agent soll alle Dateien aus Ordner in Notes importieren
Beitrag von: Driri am 21.07.10 - 16:12:07
Mit dem Dir-Befehl kannst Du dir eine Liste aller Dateien in dem Ordner geben lassen. Diese Liste mußt Du dann z.B. über ein Forall-Schleife durchlaufen.
Titel: Re: Agent soll alle Dateien aus Ordner in Notes importieren
Beitrag von: Alperen15 am 22.07.10 - 07:43:44
a ok ich versuch das im laufe des tages mal ....
Titel: Re: Agent soll alle Dateien aus Ordner in Notes importieren
Beitrag von: ascabg am 22.07.10 - 07:56:53
Hallo,

Noch ein kleiner Tip.

Schau Dir in der Hilfe einmal das Beispiel zum Dir-Befehl an.
Hier wird genau das gemachtmwas Du vor hast.
(Auslesen aller Dateien in einem Verzeichnis)


Andreas
Titel: Re: Agent soll alle Dateien aus Ordner in Notes importieren
Beitrag von: Alperen15 am 22.07.10 - 08:10:19
aa perfekt. Dass mach dann mal sobald ich den kram vom tisch hab. Dann kann ich mich ja schon auf wochenende freuen dank euch =)
Titel: Re: Agent soll alle Dateien aus Ordner in Notes importieren
Beitrag von: Alperen15 am 22.07.10 - 09:57:11
so ich hab es geändert. die Dateien sind im verzeichnis E:\TestKUR\VerzeichnisTest\Vorzuege\*.csv
Dateinamen Vorzug_Export_20080820151502.
Vorzug_Export_ bleibt fix nur das Datum und die Uhrzeit ist variabel. Er soll die drei vier Dateien importieren in Notes und Sie danach in den Archiv Ordner verschieben. Der Agent läuft meckert nicht nach Fehlern. Aber er importiert nichts die Dateien bleiben da wo sie sind.... Könntet Ihr vllt mal einen Blick auf meinen Quellcode werfen und mir sagen was ich falsch gemacht habe wäre sehr dankbar. Danke

Sub Initialize   
   Dim session As New  NotesSession
   Dim db As NotesDatabase   
   Dim dc As NotesDocumentCollection
   Dim doc As NotesDocument   
   Dim filenum As Integer, iZaehler As Integer, pos As Integer     
   Dim filename As String, cRekNo As String, i As String
   Dim cTrenn As String, cText As String, cError As String, cSendTo As String, cSubject As String, cAusgabe As String
   Dim cSelection As String
   Dim vComplainNo As Variant
   Dim dtCutOff As New NotesDateTime("31.12.1900")
   Dim cpathName As String
   Dim cFilename As String
   Dim Pathname As String
   Dim PathFileName As String
   Dim csvFilename As String
   
   Set db=session.CurrentDatabase   
   
   
   filename="E:\TestKUR\VerzeichnisTest\Vorzuege\*.csv"          ' *** Laufwerk für Zugriff von Alpha und Notes   
   iZaehler = 1
   cTrenn = ";"                                                              ' *** Definition des Trennzeichens
   filenum=Freefile()
   cSendTo = "helpsupport@test.com"
   cSubject = "Error asImportCollect"
   
   REM Tracerinitialisierungsparameter
   Dim aTracerPara(1) As Variant
   
   cgTracerVorzugImport = "asImportCollect"
   
   aTracerPara(0) = "Import WE-VorzügeTEST KUR"
   aTracerPara(1) = "PDAllgemein"
   If Not(xQAnfangID(aTracerPara)) Then
      Print "Agent:TESTKUR ImportVorzug: Konnte Tracer/Logger/Protokoll nicht initialisieren. Abbruch der Funktion."
      Exit Sub
   End If     ' If Not(xQAnfangID(aTracerPara)) Then   
   
   ' *********** Öffnen des csv Datensatzes auf dem File System
   cError = "asImportCollect ERROR: No CSV - File found"
   On Error Goto EndeFileOpen
   
   '************KUR***********
   pathName$ = "E:\TestKUR\VerzeichnisTest\Vorzuege\*.csv"
   cFilename$ = Dir$(pathName$, 0)
   
   Do While cFilename$ <> ""
      If Isempty(cFilename$) Then      
         Exit Sub
      End If
      PathFileName = "E:\TestKUR\VerzeichnisTest\Vorzuege" & Filename
      
   'lese erste Zeile      
      fileNum% = Freefile()
      Open filename For Input As filenum    
      Seek fileNum,1   
      On Error Goto ErrorPrint
      Line Input #filenum, i
      If i <> "" Then
         i = i + cTrenn
         iZaehler = iZaehler + 1                            ' *** Datensatzzähler
      Else
         Call XQSchreiben("0", "1", cgTracerVorzugImport, "asNightImport ERROR: Keine Datensätze im CSV-File", 632637&)   
         Call SendMail(doc, cSendTo, cSubject, "asImportCollect ERROR: Keine Datensätze im CSV-File")
         Goto EndeAlles
      End If
      
      
      '******Ende Änderung KUR*****
      
      
      
      ' **********  Einlesen des csv - Datensatzes  **************************
      cError = "asImportCollect ERROR: ReadFields" + Cstr(iZaehler)
      On Error Goto ErrorPrint
      Call ReadFields(i)                                             ' *** neuer Datensatz lesen   
      ' ************* Document Selection - Alle Documente in der DB werden nach der Auftrag/Position durchsucht - Anführungszeichen der Selection beachten !
      cSelection = "FORM = ""maNurVorzug"" & fdAuftrag = """+cImString(4)+"""  & fdAuftragsposition = """+cImString(5)+""""
      Set dc = db.Search ( cSelection , dtCutOff , 0 )      
      ' **************
      Set doc = dc.getFirstDocument
      If Not doc Is Nothing Then                                 ' *** Dokument mit gleichem Auftrag/Position gefunden
         cError = "asNightImport ERROR: UpdateAndReplace " + cImString(4) + " / " + cImString(5)
         On Error Goto ErrorPrint
         
         Call UpdateAndReplace(doc, cDate)           ' *** Überschreiben der Kopf und ersetzen der Pos-Daten
         
         If dc.count > 1 Then
            cError = "asImportCollect ERROR: Multiple Documents " + cImString(4) + " / " + cImString(5)
            Call XQSchreiben("0", "1", cgTracerVorzugImport, cError, 632637&)      
         End If
      Else      
         ' **** kein übereinstimmen WE-Vorzug gefunden -> neues Dok wird angelegtm falls Status aktiv ***********
         If cImString(1) = "A" Then
            Set doc = db.CreateDocument         
            doc.Form="maNurVorzug"
            cError = "asImportCollect ERROR: FillFields " + cImString(4) + "/" + cImString(5)
            On Error Goto ErrorPrint
            Call FillFields(doc,i,cDate)                          ' *** Schreiben komplettes Dokument            
            cError = "asImportCollect ERROR: DocSave " + cImString(4) + "/" + cImString(5)
            On Error Goto ErrorPrint
            Call doc.save(False,True)      
         End If
      End If   ' *** Not doc Is Nothing Then   
      
NextEntry:         
      Loop '  Until Eof (filenum)   **** Neuen csv - Datensatz einlesen
' *** Schleife - lese neuen csv - Datensatz ******************************************************************************   
      Call XQSchreiben("0", "1", cgTracerVorzugImport, "Ende VorzugImport", 632637&)         
EndeGut:
      Close filenum
      'Call XQSchreiben("0", "1", cgTracerVorzugImport, "Vorzug_Export_" + cDate + ".csv - gelöscht ", 632637&)      
      cText = Cstr(iZaehler) + " Datensätze bearbeitet"
      Call XQSchreiben("0", "1", cgTracerVorzugImport, cText, 632637&)
      
      i = 1
      pathName$ = "E:\TestKUR\VerzeichnisTest\Archiv\Vorzug_Export_" + cDate + "*.csv"
      cFilename$ = Dir$(pathName$, 0)
      Do While cFilename$ <> ""
         cPathname = Left(pathName$,29)      ' *** Pfadname
         csvFilename = cPathname + cFilename$
         i = i + 1
         cFilename$ = Dir$()   
      Loop                  
      Filecopy FileName,"E:\TestKUR\VerzeichnisTest\\Archiv\*.csv"  ' *** Sichern der aktuellen File ins Archiv
      Print cText
      Kill filename                     ' *** Löschen des eingelesenen .csv Datensatzes
      Goto EndeAlles
ErrorPrint:   
      Call XQSchreiben("0", "1", cgTracerVorzugImport, cError, 632637&)      
      Resume Next
      cAusgabe = cError
      Call SendMail(doc, cSendTo, cSubject, cAusgabe)
      Print cError
EndeFileOpen:
      Call XQSchreiben("0", "1", cgTracerVorzugImport, cError, 632637&)      
      Goto EndeAlles
EndeAlles:
      Call xQEnde                     ' *** Schreiben und schließen LogFile
      Exit Sub
End Sub

Titel: Re: Agent soll alle Dateien aus Ordner in Notes importieren
Beitrag von: ascabg am 22.07.10 - 10:19:58
Hallo,

Nur so eine Vermutung.
Koennte es sein, dass Dein Code an dieser Stelle nicht saucher den Dateinamen der zu lesenden Datei bekommt.

PathFileName = "E:\TestKUR\VerzeichnisTest\Vorzuege" & Filename


Andreas
Titel: Re: Agent soll alle Dateien aus Ordner in Notes importieren
Beitrag von: Driri am 22.07.10 - 10:22:40
Da kann auch nichts importiert werden.

Zitat
Do While cFilename$ <> ""
      If Isempty(cFilename$) Then      
         Exit Sub
      End If
      PathFileName = "E:\TestKUR\VerzeichnisTest\Vorzuege" & Filename

filename ist als String deklariert und erhält relativ weit oben im Code folgenden Wert zugewiesen :

"E:\TestKUR\VerzeichnisTest\Vorzuege\*.csv"

Das ergibt dann für PathFileName :

"E:\TestKUR\VerzeichnisTest\VorzuegeE:\TestKUR\VerzeichnisTest\Vorzuege\*.csv"

      
Zitat
  'lese erste Zeile      
      fileNum% = Freefile()
      Open filename For Input As filenum  

PathFileName verwendest Du dann aber gar nicht, sondern Du benutzt wieder Filename, das immer noch den folgenden Wert enthält :

"E:\TestKUR\VerzeichnisTest\Vorzuege\*.csv"


Bring erstmal Ordnung in deine Variablen. Du hast da keinen Überblick mehr.

Dann würde ich Dir empfehlen, mit einer ForAll-Schleife zu arbeiten, die ist IMO ideal für die Verarbeitung einer Liste.

Titel: Re: Agent soll alle Dateien aus Ordner in Notes importieren
Beitrag von: Alperen15 am 22.07.10 - 10:34:55
Als was soll ihc dann filename deklarieren wenn nciht als String?

soll ich dann anstatt

PathFileName = "E:\TestKUR\VerzeichnisTest\Vorzuege" & Filename

PathFileName = Filename zuweisen??

somit wäre PathfileName NICHT

"E:\TestKUR\VerzeichnisTest\VorzuegeE:\TestKUR\VerzeichnisTest\Vorzuege\*.csv"

liege ich da richtig
Titel: Re: Agent soll alle Dateien aus Ordner in Notes importieren
Beitrag von: Peter Klett am 22.07.10 - 10:39:02
wozu hast Du cFilename?

Die Deklaration der Variablen ist (abgesehen von dem Durcheinander) nicht das Problem, sondern die Inhalte
Titel: Re: Agent soll alle Dateien aus Ordner in Notes importieren
Beitrag von: Driri am 22.07.10 - 10:43:40
Ich wollte eigentlich nur darauf hinaus, daß die Zuordnungen Kuddelmuddel sind. String ist schon richtig.

cFilename$ = Dir$(pathName$, 0) liefert dir ja eine Liste aller Dateien in dem Verzeichnis zurück. Wenn Du jetzt mit ForAll durch diese Liste schleifst, kannst Du dir da einiges an Zuordnungen sparen.

z.B.

ForAll filename in cFilename$
...
Verarbeitung der Datei
...
End Forall


Somit steht in filename immer ein Dateiname drin, der dann innerhalb der Schleife verarbeitet wird. Die Zuweisungen für filename und Pathfilename kannst Du dir dann sparen.

Titel: Re: Agent soll alle Dateien aus Ordner in Notes importieren
Beitrag von: Peter Klett am 22.07.10 - 10:49:42
cFilename$ = Dir$(pathName$, 0) liefert dir ja eine Liste aller Dateien in dem Verzeichnis zurück.
Hallo Ingo,

ich glaube, Du irrst Dich. in cFilename$ steht immer nur ein Dateiname, aber nicht alle

Also (nur aus der Hüfte geschossen, ohne nachzusehen)

cFilename$ = Dir$(pathName$, 0)
Do while cFilename$ <> ""
   -> Datei verarbeiten
   cFilename$ = Dir ()
Loop
Titel: Re: Agent soll alle Dateien aus Ordner in Notes importieren
Beitrag von: Alperen15 am 22.07.10 - 11:01:45
sollte dieses ForAll vor der Do Schleife kommen?

Do While cFilename$ <> ""
      If Isempty(cFilename$) Then      
         Exit Sub
      End If
      PathFileName = Filename usw.....
Titel: Re: Agent soll alle Dateien aus Ordner in Notes importieren
Beitrag von: Alperen15 am 22.07.10 - 11:03:44
ja gut so hab ich es ja wie es der Peter sagt

also ich habe etwas ordnung reingebracht.... hier noch mal der quellcode. Mir nicht übel nehmen bin neu in diesem Gebiet ;-)

Sub Initialize   
   Dim session As New  NotesSession
   Dim db As NotesDatabase   
   Dim dc As NotesDocumentCollection
   Dim doc As NotesDocument   
   Dim filenum As Integer, iZaehler As Integer, pos As Integer     
   Dim filename As String, cRekNo As String, i As String
   Dim cTrenn As String, cText As String, cError As String, cSendTo As String, cSubject As String, cAusgabe As String
   Dim cSelection As String
   Dim vComplainNo As Variant
   'Dim dtCutOff As New NotesDateTime("31.12.1900")
   Dim cpathName As String
   Dim cFilename As String
   Dim Pathname As String
   Dim PathFileName As String
   Dim csvFilename As String
   REM Tracerinitialisierungsparameter
   Dim aTracerPara(1) As Variant
   
   Set db=session.CurrentDatabase   
   
   cSendTo = "helpsupport@test.com"
   cSubject = "Error asImportCollect"
   
   cgTracerVorzugImport = "asImportCollect"
   
   aTracerPara(0) = "Import WE-VorzügeTEST KUR"
   aTracerPara(1) = "PDAllgemein"
   If Not(xQAnfangID(aTracerPara)) Then
      Print "Agent:TESTKUR ImportVorzug: Konnte Tracer/Logger/Protokoll nicht initialisieren. Abbruch der Funktion."
      Exit Sub
   End If     ' If Not(xQAnfangID(aTracerPara)) Then   
   
   ' *********** Öffnen des csv Datensatzes auf dem File System
   cError = "asImportCollect ERROR: No CSV - File found"
   On Error Goto EndeFileOpen
   
   '************KUR***********
   'pathName$ = "E:\TestKUR\VerzeichnisTest\Vorzuege\*.csv"
   cFilename$ = Dir$(pathName$, 0)
   filename="E:\TestKUR\VerzeichnisTest\Vorzuege\*.csv"          ' *** Laufwerk für Zugriff von Alpha und Notes   
   iZaehler = 1
   cTrenn = ";"                                                              ' *** Definition des Trennzeichens
   filenum=Freefile()
   
   Do While cFilename$ <> ""
      If Isempty(cFilename$) Then      
         Exit Sub
      End If
      PathFileName = Filename
      
   'lese erste Zeile      
      fileNum% = Freefile()
      Open filename For Input As filenum    
      Seek fileNum,1   
      On Error Goto ErrorPrint
      Line Input #filenum, i
      If i <> "" Then
         i = i + cTrenn
         iZaehler = iZaehler + 1                            ' *** Datensatzzähler
      Else
         Call XQSchreiben("0", "1", cgTracerVorzugImport, "asNightImport ERROR: Keine Datensätze im CSV-File", 632637&)   
         Call SendMail(doc, cSendTo, cSubject, "asImportCollect ERROR: Keine Datensätze im CSV-File")
         Goto EndeAlles
      End If
      
      
      '******Ende Änderung KUR*****
      
      
      
      ' **********  Einlesen des csv - Datensatzes  **************************
      cError = "asImportCollect ERROR: ReadFields" + Cstr(iZaehler)
      On Error Goto ErrorPrint
      Call ReadFields(i)                                             ' *** neuer Datensatz lesen   
      ' ************* Document Selection - Alle Documente in der DB werden nach der Auftrag/Position durchsucht - Anführungszeichen der Selection beachten !
      cSelection = "FORM = ""maNurVorzug"" & fdAuftrag = """+cImString(4)+"""  & fdAuftragsposition = """+cImString(5)+""""
      'Set dc = db.Search ( cSelection , dtCutOff , 0 )      
      ' **************
      Set doc = dc.getFirstDocument
      If Not doc Is Nothing Then                                 ' *** Dokument mit gleichem Auftrag/Position gefunden
         cError = "asNightImport ERROR: UpdateAndReplace " + cImString(4) + " / " + cImString(5)
         On Error Goto ErrorPrint
         
         Call UpdateAndReplace(doc, cDate)           ' *** Überschreiben der Kopf und ersetzen der Pos-Daten
         
         If dc.count > 1 Then
            cError = "asImportCollect ERROR: Multiple Documents " + cImString(4) + " / " + cImString(5)
            Call XQSchreiben("0", "1", cgTracerVorzugImport, cError, 632637&)      
         End If
      Else      
         ' **** kein übereinstimmen WE-Vorzug gefunden -> neues Dok wird angelegtm falls Status aktiv ***********
         If cImString(1) = "A" Then
            Set doc = db.CreateDocument         
            doc.Form="maNurVorzug"
            cError = "asImportCollect ERROR: FillFields " + cImString(4) + "/" + cImString(5)
            On Error Goto ErrorPrint
            Call FillFields(doc,i,cDate)                          ' *** Schreiben komplettes Dokument            
            cError = "asImportCollect ERROR: DocSave " + cImString(4) + "/" + cImString(5)
            On Error Goto ErrorPrint
            Call doc.save(False,True)      
         End If
      End If   ' *** Not doc Is Nothing Then   
      
'*****************************************************************************   
'*****************************************************************************   
      
NextEntry:         
      Loop '  Until Eof (filenum)   **** Neuen csv - Datensatz einlesen
' *** Schleife - lese neuen csv - Datensatz ******************************************************************************   
      Call XQSchreiben("0", "1", cgTracerVorzugImport, "Ende VorzugImport", 632637&)         
EndeGut:
      Close filenum
      'Call XQSchreiben("0", "1", cgTracerVorzugImport, "Vorzug_Export_" + cDate + ".csv - gelöscht ", 632637&)      
      cText = Cstr(iZaehler) + " Datensätze bearbeitet"
      Call XQSchreiben("0", "1", cgTracerVorzugImport, cText, 632637&)
      
      i = 1         
      pathName$ = "E:\TestKUR\VerzeichnisTest\Vorzuege\*.csv"
      cFilename$ = Dir$(pathName$, 0)
      Do While cFilename$ <> ""
         cPathname = Left(pathName$,14)      ' *** Pfadname
         csvFilename = cPathname + cFilename$
         i = i + 1
         cFilename$ = Dir$()   
      Loop                  
      Filecopy FileName,"E:\TestKUR\VerzeichnisTest\\Archiv\*.csv"  ' *** Sichern der aktuellen File ins Archiv
      Print cText
      Kill filename                     ' *** Löschen des eingelesenen .csv Datensatzes
      Goto EndeAlles
ErrorPrint:   
      Call XQSchreiben("0", "1", cgTracerVorzugImport, cError, 632637&)      
      Resume Next
      cAusgabe = cError
      Call SendMail(doc, cSendTo, cSubject, cAusgabe)
      Print cError
EndeFileOpen:
      Call XQSchreiben("0", "1", cgTracerVorzugImport, cError, 632637&)      
      Goto EndeAlles
EndeAlles:
      Call xQEnde                     ' *** Schreiben und schließen LogFile
      Exit Sub
End Sub

Titel: Re: Agent soll alle Dateien aus Ordner in Notes importieren
Beitrag von: ascabg am 22.07.10 - 11:13:02
Code
filename="E:\TestKUR\VerzeichnisTest\Vorzuege\*.csv"          ' *** Laufwerk für Zugriff von Alpha und Notes   
   iZaehler = 1
   cTrenn = ";"                                                              ' *** Definition des Trennzeichens
   filenum=Freefile()
   
   Do While cFilename$ <> ""
      If Isempty(cFilename$) Then      
         Exit Sub
      End If
      PathFileName = Filename
      
   'lese erste Zeile      
      fileNum% = Freefile()
      Open filename For Input As filenum    

Und dennoch verstehe ich den Code nicht.

filename wird gesetzt auf "E:\TestKUR\VerzeichnisTest\Vorzuege\*.csv"
cFilename setzt Du mittels Dir$(pathname, 0)
pathname ist zu diesem Zeitpunkt allerdings leer.

Dann machst Du die Schleife solange cFilename <> "" ist.

In der Schleife setzt Du PathFileName auf FileName.
Pathfilename ist also "E:\TestKUR\VerzeichnisTest\Vorzuege\*.csv"

Diese Datei, was ja kein gueltiger Dateiname ist, versuchts Du anschliessend mit Open File ... zu oeffnen.


Andreas
Titel: Re: Agent soll alle Dateien aus Ordner in Notes importieren
Beitrag von: ascabg am 22.07.10 - 11:17:47
Ich glaube Du moechtest folgendes erreichen.

Im Verz.  stehen csv-Dateien. Diese moechtest Du der Reihe nach oeffnen und einlesen.

Code
sDirFile = "E:\TestKUR\VerzeichnisTest\Vorzuege\*.csv"

sOpenFile = Dir$(sDirFile, 0)

Do While sOpenFile <> ""

  FileNum = FreeFile
  Open sOpenFile For Input As FileNum

  'weitere Aktionen

  'Datei schliessen
  Close FileNum

  'bearbeitete CSV-Datei in das Archiv kopieren/verschieben
  
  'naechste CSV-Datei setzen
  sOpenFile = Dir$()
Loop

Sollte beim Setzen der naechsten CSV-Datei keine Datei mehr vorhanden sein, bricht die Schleife doch eh ab.
Titel: Re: Agent soll alle Dateien aus Ordner in Notes importieren
Beitrag von: Peter Klett am 22.07.10 - 11:20:05
Naja, der Begriff "Ordnung" trifft es wohl noch nicht ganz ...


  '************KUR***********
   'pathName$ = "E:\TestKUR\VerzeichnisTest\Vorzuege\*.csv"
   cFilename$ = Dir$(pathName$, 0)
-> pathName ist erst auskommentiert und dann verwendet. Warum ordnest Du pathName an verschiedenen Stellen zu, anstatt einmal oben im Code? Es ändert sich doch nie, oder?

   
   Do While cFilename$ <> ""
      If Isempty(cFilename$) Then     
         Exit Sub
      End If

-> das erscheint mir auch etwas überflüssig


      Filecopy FileName,"E:\TestKUR\VerzeichnisTest\\Archiv\*.csv"  ' *** Sichern der aktuellen File ins Archiv

-> auch das wird wohl kaum funktionieren

Insgesamt wäre es aber einfacher, wenn Du auch schreibst, was nicht funtkioniert, anstatt uns einen (sorry, ziemlich wilden) Code vorzuwerfen, und wir sollen mal schauen, was nicht in Ordnung ist. Oder funktioniert garnichts? Gibt es keine Fehlermeldungen? Nutzt Du Option Declare?
Titel: Re: Agent soll alle Dateien aus Ordner in Notes importieren
Beitrag von: Alperen15 am 22.07.10 - 11:22:41
pathName$ = "E:\TestKUR\VerzeichnisTest\Vorzuege\*.csv"
   cFilename$ = Dir$(pathName$, 0)
   filename="E:\TestKUR\VerzeichnisTest\Vorzuege\*.csv"          ' *** Laufwerk für Zugriff von Alpha und Notes   
   iZaehler = 1
   cTrenn = ";"                                                              ' *** Definition des Trennzeichens
   filenum=Freefile()
   
   Do While cFilename$ <> ""
      If Isempty(cFilename$) Then      
         Exit Sub
      End If
      'PathFileName = Filename
      
   'lese erste Zeile      
      fileNum% = Freefile()
      Open filename For Input As filenum    
      Seek fileNum,1   
      On Error Goto ErrorPrint
      Line Input #filenum, i
      If i <> "" Then
         i = i + cTrenn
         iZaehler = iZaehler + 1                            ' *** Datensatzzähler
      Else ....

so pathname ist gesetzt und pathfliename wird nicht auf filename gesetzt schon mal ein fehler korrigiert....
Titel: Re: Agent soll alle Dateien aus Ordner in Notes importieren
Beitrag von: Driri am 22.07.10 - 11:23:19
Mea culpa. Es ist zu lange her, daß ich was mit Dir gemacht habe. Entschuldigt bitte die dadurch vermutlich ausgelöste Irritation.

Ich würde den Code mal einfach im Debugger verfolgen. Da sollte man recht schnell erkennen, an welcher Stelle es klemmt.
Titel: Re: Agent soll alle Dateien aus Ordner in Notes importieren
Beitrag von: Alperen15 am 22.07.10 - 11:27:23
im debugger hab ich es mir schon ageschaut der klemmt nicht der agent läuft es wird nicht das gemacht was ich will

lese alle csv dateien und importiere diese in notes z.B. die 5 Zeilen in der ersten Datei, 4 Zeilen von der zweiten datei usw...

und anschließend verschiebe die gelesenen datei in den archiv ordner ist nichts wildes....für mich zwar shcon ;-)

könntet ihr vllt anhand meines quellcodes den teil verbessern und mir reinstellen? ich komm echt nicht weiter
Titel: Re: Agent soll alle Dateien aus Ordner in Notes importieren
Beitrag von: Driri am 22.07.10 - 11:33:02
Das Forum ist nicht dafür da, dir die Arbeit abzunehmen, sondern dir Hilfe zur Selbsthilfe zu bieten.

Wenn Du den Code im Debugger laufen läßt, müßte Dir doch eigentlich auffallen, daß in dieser Zeile hier

Zitat
Open filename For Input As filenum

die Variable filename einen falschen Wert enthält. Nämlich diesen hier :
"E:\TestKUR\VerzeichnisTest\Vorzuege\*.csv"


Den korrekten Wert hat in diesem Moment doch die Variable cFilename$.
Titel: Re: Agent soll alle Dateien aus Ordner in Notes importieren
Beitrag von: Peter Klett am 22.07.10 - 11:34:47
pathName$ = "E:\TestKUR\VerzeichnisTest\Vorzuege\*.csv"
   cFilename$ = Dir$(pathName$, 0)
->   filename="E:\TestKUR\VerzeichnisTest\Vorzuege\*.csv"          ' *** Laufwerk für Zugriff von Alpha und Notes   
   iZaehler = 1
   cTrenn = ";"                                                              ' *** Definition des Trennzeichens
   filenum=Freefile()
   
   Do While cFilename$ <> ""
->      If Isempty(cFilename$) Then     
->         Exit Sub
->      End If
      'PathFileName = Filename
     
   'lese erste Zeile     
      fileNum% = Freefile()
=>      Open filename For Input As filenum   
      Seek fileNum,1   
      On Error Goto ErrorPrint
      Line Input #filenum, i
      If i <> "" Then
         i = i + cTrenn
         iZaehler = iZaehler + 1                            ' *** Datensatzzähler
      Else ....

Das, was Du mit dem Script machen willst, finde ich auch nichts "Wildes", nur die Art der Umsetzung.

Ich kann mir nicht vorstellen, dass das ganze ohne Fehlermeldung abläuft. Spätestens bei der mit => gekennzeichneten Zeile muss es eine Fehlermeldung geben. Die mit -> markierten Zeilen würde ich auch überdenken
Titel: Re: Agent soll alle Dateien aus Ordner in Notes importieren
Beitrag von: Alperen15 am 22.07.10 - 13:17:05
beim => markiertem teil kommt er nicht mal so wiet weil er dann rausspringent...d.h. er ließt sich nicht die dateien bzw die datei durch
Titel: Re: Agent soll alle Dateien aus Ordner in Notes importieren
Beitrag von: Peter Klett am 22.07.10 - 13:25:29
Unter der Annahme, dass filename einen vollständigen und existierenden Dateinamen incl. Pfad enthält, fliegt er dann wohl beim Seek raus, denn das passt da nicht hin und ist auch nicht notwendig.
Titel: Re: Agent soll alle Dateien aus Ordner in Notes importieren
Beitrag von: ascabg am 22.07.10 - 13:26:15
Und was steht zu diesem Zeitpunkt in der Variablen filename?
Hier sollte doch der Dateiname der zu oeffnenden Datei enthalten sein.


Andreas
Titel: Re: Agent soll alle Dateien aus Ordner in Notes importieren
Beitrag von: Alperen15 am 22.07.10 - 14:25:13
bei fileNum% = Freefile()

steht bei
PATHNAME => E.\TestKUR\VerzeichnisTest\Vorzüge\*.csv
CFILENAME => Vorzug_Export_20080820151402.csv (Dateiname)
PATHFILENAME => "
CPATHNAME => "
CSVFILENAME => ""

vllt hilft die information ja weiter und hier nochmal der Quellcode


Sub Initialize   
   Dim session As New  NotesSession
   Dim db As NotesDatabase   
   Dim dc As NotesDocumentCollection
   Dim doc As NotesDocument   
   Dim filenum As Integer, iZaehler As Integer, pos As Integer     
   Dim filename As String, cRekNo As String, i As String
   Dim cTrenn As String, cText As String, cError As String, cSendTo As String, cSubject As String, cAusgabe As String
   Dim cSelection As String
   Dim vComplainNo As Variant
   'Dim dtCutOff As New NotesDateTime("31.12.1900")
   Dim cpathName As String
   Dim cFilename As String
   Dim Pathname As String
   Dim PathFileName As String
   Dim csvFilename As String
   REM Tracerinitialisierungsparameter
   Dim aTracerPara(1) As Variant
   
   Set db=session.CurrentDatabase   
   
   cSendTo = "help@info.com"
   cSubject = "Error asImportCollect"
   
   cgTracerVorzugImport = "asImportCollect"
   
   aTracerPara(0) = "Import WE-VorzügeTEST KUR"
   aTracerPara(1) = "PDAllgemein"
   If Not(xQAnfangID(aTracerPara)) Then
      Print "Agent:TESTKUR ImportVorzug: Konnte Tracer/Logger/Protokoll nicht initialisieren. Abbruch der Funktion."
      Exit Sub
   End If     ' If Not(xQAnfangID(aTracerPara)) Then   
   
   ' *********** Öffnen des csv Datensatzes auf dem File System
   cError = "asImportCollect ERROR: No CSV - File found"
   On Error Goto EndeFileOpen
   
   '************KUR***********
   pathName$ = "E:\TestKUR\VerzeichnisTest\Vorzuege\*.csv"
   cFilename$ = Dir$(pathName$, 0)
   filename="E:\TestKUR\VerzeichnisTest\Vorzuege\*.csv"          ' *** Laufwerk für Zugriff von Alpha und Notes   
   iZaehler = 1
   cTrenn = ";"                                                              ' *** Definition des Trennzeichens
   filenum=Freefile()
   
   Do While cFilename$ <> ""
      If Isempty(cFilename$) Then      
         Exit Sub
      End If
      'PathFileName = Filename
      
   'lese erste Zeile      
      fileNum% = Freefile()
      Open cFilename$ For Input As filenum    
      Seek fileNum,1   
      'On Error Goto ErrorPrint
      Line Input #filenum, i
      If i <> "" Then
         i = i + cTrenn
         iZaehler = iZaehler + 1                            ' *** Datensatzzähler
      Else
         Call XQSchreiben("0", "1", cgTracerVorzugImport, "asNightImport ERROR: Keine Datensätze im CSV-File", 632637&)   
         Call SendMail(doc, cSendTo, cSubject, "asImportCollect ERROR: Keine Datensätze im CSV-File")
         Goto EndeAlles
      End If
      
      
      '******Ende Änderung KUR*****
      
      
      
      ' **********  Einlesen des csv - Datensatzes  **************************
      cError = "asImportCollect ERROR: ReadFields" + Cstr(iZaehler)
      On Error Goto ErrorPrint
      Call ReadFields(i)                                             ' *** neuer Datensatz lesen   
      ' ************* Document Selection - Alle Documente in der DB werden nach der Auftrag/Position durchsucht - Anführungszeichen der Selection beachten !
      cSelection = "FORM = ""maNurVorzug"" & fdAuftrag = """+cImString(4)+"""  & fdAuftragsposition = """+cImString(5)+""""
      'Set dc = db.Search ( cSelection , dtCutOff , 0 )      
      ' **************
      Set doc = dc.getFirstDocument
      If Not doc Is Nothing Then                                 ' *** Dokument mit gleichem Auftrag/Position gefunden
         cError = "asNightImport ERROR: UpdateAndReplace " + cImString(4) + " / " + cImString(5)
         On Error Goto ErrorPrint
         
         Call UpdateAndReplace(doc, cDate)           ' *** Überschreiben der Kopf und ersetzen der Pos-Daten
         
         If dc.count > 1 Then
            cError = "asImportCollect ERROR: Multiple Documents " + cImString(4) + " / " + cImString(5)
            Call XQSchreiben("0", "1", cgTracerVorzugImport, cError, 632637&)      
         End If
      Else      
         ' **** kein übereinstimmen WE-Vorzug gefunden -> neues Dok wird angelegtm falls Status aktiv ***********
         If cImString(1) = "A" Then
            Set doc = db.CreateDocument         
            doc.Form="maNurVorzug"
            cError = "asImportCollect ERROR: FillFields " + cImString(4) + "/" + cImString(5)
            On Error Goto ErrorPrint
            Call FillFields(doc,i,cDate)                          ' *** Schreiben komplettes Dokument            
            cError = "asImportCollect ERROR: DocSave " + cImString(4) + "/" + cImString(5)
            On Error Goto ErrorPrint
            Call doc.save(False,True)      
         End If
      End If   ' *** Not doc Is Nothing Then   
      
'*****************************************************************************   
'*****************************************************************************   
      
NextEntry:         
      Loop '  Until Eof (filenum)   **** Neuen csv - Datensatz einlesen
' *** Schleife - lese neuen csv - Datensatz ******************************************************************************   
      Call XQSchreiben("0", "1", cgTracerVorzugImport, "Ende VorzugImport", 632637&)         
EndeGut:
      Close filenum
      'Call XQSchreiben("0", "1", cgTracerVorzugImport, "Vorzug_Export_" + cDate + ".csv - gelöscht ", 632637&)      
      cText = Cstr(iZaehler) + " Datensätze bearbeitet"
      Call XQSchreiben("0", "1", cgTracerVorzugImport, cText, 632637&)
      
      i = 1         
      pathName$ = "E:\TestKUR\VerzeichnisTest\Vorzuege\*.csv"
      cFilename$ = Dir$(pathName$, 0)
      Do While cFilename$ <> ""
         cPathname = Left(pathName$,14)      ' *** Pfadname
         csvFilename = cPathname + cFilename$
         i = i + 1
         cFilename$ = Dir$()   
      Loop                  
      Filecopy FileName,"E:\TestKUR\VerzeichnisTest\\Archiv\*.csv"  ' *** Sichern der aktuellen File ins Archiv
      Print cText
      Kill filename                     ' *** Löschen des eingelesenen .csv Datensatzes
      Goto EndeAlles
ErrorPrint:   
      Call XQSchreiben("0", "1", cgTracerVorzugImport, cError, 632637&)      
      Resume Next
      cAusgabe = cError
      Call SendMail(doc, cSendTo, cSubject, cAusgabe)
      Print cError
EndeFileOpen:
      Call XQSchreiben("0", "1", cgTracerVorzugImport, cError, 632637&)      
      Goto EndeAlles
EndeAlles:
      Call xQEnde                     ' *** Schreiben und schließen LogFile
      Exit Sub
End Sub

Titel: Re: Agent soll alle Dateien aus Ordner in Notes importieren
Beitrag von: Axel am 22.07.10 - 14:30:56
Nur mal so auf die Schnelle, hab im moment keine Zeit mich durch den gesamten Code zu quälen.

In CFILENAME steht der nur Dateiname. Sollte da auch nicht der Pfad mit enthalten sein?

So was wie z.B.  E:\TestKUR\VerzeichnisTest\Vorzüge\Vorzug_Export_20080820151402.csv

Axel
Titel: Re: Agent soll alle Dateien aus Ordner in Notes importieren
Beitrag von: Alperen15 am 22.07.10 - 14:35:05
du meinst diesen Abschnitt

pathName$ = "E:\TestKUR\VerzeichnisTest\Vorzuege\*.csv"
   cFilename$ = Dir$(pathName$, 0)   filename="E:\TestKUR\VerzeichnisTest\Vorzuege\*.csv"          ' *** Laufwerk für Zugriff von Alpha und Notes   
   iZaehler = 1
   cTrenn = ";"                                                              ' *** Definition des Trennzeichens
   filenum=Freefile()
Titel: Re: Agent soll alle Dateien aus Ordner in Notes importieren
Beitrag von: Axel am 22.07.10 - 14:43:15
Ich habe mich auf das hier bezogen.

bei fileNum% = Freefile()

steht bei
PATHNAME => E.\TestKUR\VerzeichnisTest\Vorzüge\*.csv
CFILENAME => Vorzug_Export_20080820151402.csv (Dateiname)
PATHFILENAME => "
CPATHNAME => "
CSVFILENAME => ""


Was steht in cFilename$ in dieser Zeile Open cFilename$ For Input As filenum ?

M.E. muss auch hier Pfad und Datei enthalten sein.

Axel
   
Titel: Re: Agent soll alle Dateien aus Ordner in Notes importieren
Beitrag von: Peter Klett am 22.07.10 - 14:57:08
So, mein letzter Hinweis zu diesem Thema:

pathName$ = "E:\TestKUR\VerzeichnisTest\Vorzuege\"
cFilename$ = Dir$(pathName$ & "*.csv", 0)
Do While cFilename$ <> ""
   fileNum% = Freefile()
   Open pathName$ & cFilename$ For Input As filenum   
   -> Datei verarbeiten
   Close #fileNum
   cFilename$ = Dir$()
Loop
Titel: Re: Agent soll alle Dateien aus Ordner in Notes importieren
Beitrag von: Alperen15 am 22.07.10 - 15:38:13
dankeschön bin dank dir ein schritt weiter gekommen jetzt liesst er wenigstens meine Felder
Titel: Re: Agent soll alle Dateien aus Ordner in Notes importieren
Beitrag von: Alperen15 am 23.07.10 - 10:36:14
So hallo, bin ein paar schritte weiter gekommen nach langem herumprobieren und diskutieren.

Momentaner Status: Der Agent öffnet die erste csv Datei liest die erste Zeile und erstellt die erste zeile mit den Feldern als dokument in der Ansicht. Doch in die zweite zeile springt er nicht. Er erstellt die erste solange in die Ansicht solange bis ich rausgehe aus notes (endlos Schleife)

Der Agent sollte die erste Datei zeile für zeile als dokument erstellen wenn er fertig ist dann das dokument ins archiv ordner verschieben und das nächste dokument öffnet usw.... hier der teil des quellcodes

   pathName$ = "E:\TestKUR\VerzeichnisTest\Vorzuege\"
   cFilename$ = Dir$(pathName$ & "*.csv", 0)
   
   iZaehler = 1
   cTrenn = ";"                                                              ' *** Definition des Trennzeichens
   
   Do While cFilename$<> ""
      If  Isempty(cFilename$) Then
         Exit Sub
      End If     
      PathFileName = "E:\TestKUR\ VerzeichnisTest\Vorzuege \" & Filename
      
      
      i = i + cTrenn
      iZaehler = iZaehler + 1       
      'lese erste zeile
      fileNum% = Freefile()
      Open pathName$ & cFilename$ For Input As filenum   
      Seek filenum,1   
      Line Input #filenum, i
      
      If i <> "" Then
         'i = i + cTrenn
         'iZaehler = iZaehler + 1                            ' *** Datensatzzähler
         Call ReadFields(i)                                    ' *** neuer Datensatz lesen   
         
         '  Document Selection - Alle Documente in der DB werden nach der Auftrag/Position durchsucht - Anführungszeichen der Selection beachten !
         cSelection = "FORM = ""maNurVorzug"" & fdAuftrag = """+cImString(4)+"""  & fdAuftragsposition = """+cImString(5)+""""
         Set dc = db.Search("@IsResponseDoc", Nothing, 0)
         Set doc = db.CreateDocument
         
         If cImString(1) = "A" Then
            Set doc = db.CreateDocument         
            doc.Form="maNurVorzug"
            cError = "asImportCollect ERROR: FillFields " + cImString(4) + "/" + cImString(5)
            On Error Goto ErrorPrint
            Call FillFields(doc,i,cDate)                          ' *** Schreiben komplettes Dokument            
            'cError = "asImportCollect ERROR: DocSave " + cImString(4) + "/" + cImString(5)
            On Error Goto ErrorPrint
            Call doc.save(False,True)      
         End If
      End If   ' *** Not doc Is Nothing Then   
   Loop
   
EndeGut:
   Close filenum
   cFilename$ = Dir$()
   
   cText = Cstr(iZaehler) + " Datensätze bearbeitet"
   Call XQSchreiben("0", "1", cgTracerVorzugImport, cText, 632637&)
   
   'i = 1         
      'pathName$ = "E:\TestKUR\VerzeichnisTest\Vorzuege\*.csv"
      'cFilename$ = Dir$(pathName$, 0)
      'Do While cFilename$ <> ""
      '   cPathname = Left(pathName$,14)      ' *** Pfadname
      '   csvFilename = cPathname + cFilename$
      '   i = i + 1
      '   cFilename$ = Dir$()   
   'Loop                  
   Filecopy FileName,"E:\TestKUR\VerzeichnisTest\\Archiv\*.csv"  ' *** Sichern der aktuellen File ins Archiv
   Print cText
   Kill filename                     ' *** Löschen des eingelesenen .csv Datensatzes
   Goto EndeAlles
ErrorPrint:   
   Call XQSchreiben("0", "1", cgTracerVorzugImport, cError, 632637&)      
   Resume Next
   cAusgabe = cError
   Call SendMail(doc, cSendTo, cSubject, cAusgabe)
   Print cError
EndeFileOpen:
   Call XQSchreiben("0", "1", cgTracerVorzugImport, cError, 632637&)      
   Goto EndeAlles
EndeAlles:
   Call xQEnde                     ' *** Schreiben und schließen LogFile
   Exit Sub
End Sub
Titel: Re: Agent soll alle Dateien aus Ordner in Notes importieren
Beitrag von: Peter Klett am 23.07.10 - 10:53:17
Das Script macht genau das, was Du geschrieben hast.

An welcher Stelle hast Du geschrieben, dass z.B. die zweite Zeile der Datei gelesen werden soll?

Und selbst, wenn die Datei sauber gelesen würde, käme der Agent nie an die Stelle, an der er die nächste Datei öffnet.

Do While Not Eof (filenum)

Loop

wird Dir helfen. Damit hast Du eigentlich Tipps genug, aufräumen und strukturieren solltest Du selber.
Titel: Re: Agent soll alle Dateien aus Ordner in Notes importieren
Beitrag von: Alperen15 am 23.07.10 - 11:27:12
gut, ich kenn GetNextDocument das bringt mich aber hier glaub nicht weiter es gibt bestimmt auch so ein ähnliches befehl für nächste zeile getnextfilenum ?! hab in der hilfe noch nichts gefunden
Titel: Re: Agent soll alle Dateien aus Ordner in Notes importieren
Beitrag von: Peter Klett am 23.07.10 - 11:30:11
Was macht denn Line Input #filenum, i?

Lies mal die Hilfe dazu
Titel: Re: Agent soll alle Dateien aus Ordner in Notes importieren
Beitrag von: Alperen15 am 23.07.10 - 12:10:23
jep funktioniert danke, allerdings sind die felder nicht richtig gefüllt. Dank dir wieder mal weiter gekommen danke