Domino 9 und frühere Versionen > ND6: Entwicklung

Agent soll alle Dateien aus Ordner in Notes importieren

<< < (7/8) > >>

Alperen15:
dankeschön bin dank dir ein schritt weiter gekommen jetzt liesst er wenigstens meine Felder

Alperen15:
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

Peter Klett:
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.

Alperen15:
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

Peter Klett:
Was macht denn Line Input #filenum, i?

Lies mal die Hilfe dazu

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln