Domino 9 und frühere Versionen > ND7: Entwicklung

Felder werden teilweise nicht befüllt

(1/6) > >>

Alperen15:
Hallo Ihr lieben,

ich bräuchte wieder mal einen Gedankenstoß. Der Agent von einem Mitarbeiter den ich kopiert und bearbeitet habe soll eine Datei mit den Feldern als dokument importieren usw.... Dieser Agent hat Funktionen wie z.B ReadFields, NächstesFeld usw....

in ReadFields und in den anderen Funktionen habe ich nichts geändert. Mein Agent läuft zwar aber befüllt drei vier Felder nicht. Hier der Quellcodeteil den ich bearbeitet habe. Bin der Meinung, dass das nichts damit zu tun hat. Wäre für jeden Tipp dankbar.


   Do While cFilename$ <> ""               
      filename = pathName$ + cFilename$                                                                                                   
      i = 1                                                                                                                                 
      
      Open pathName$ & cFilename$ For Input As filenum                                                                                
      Seek fileNum,1                                                                                                                     
      On Error Goto ErrorPrint                                                                                                            
      
      Do While Not Eof (filenum)                                                                                                            '*
         Line Input #filenum, i                                                                                                            
         If i <> "" Then                                                                                                                     
            i = i + cTrenn                                                                                                                  
            iZaehler = iZaehler + 1                            ' *** Datensatzzähler                                                                     
         Else                                                                                                                               
            'cError = "asImportCollect ERROR: ReadFields" + Cstr(iZaehler)                                                            
            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 )                                                                                    
      ' **************                                                                                                                           
' neues Dok wird angelegt 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)   
            'iZaehler = iZaehler + 1                            ' *** Datensatzzähler                                                                                          
         End If                                                                                                                  
         iZaehler = iZaehler + 1                                                                                                                  
         
         Loop '  Until Eof (filenum)   **** Neuen csv - Datensatz einlesen                
         Close filenum                                                                                                                     
         Call XQSchreiben("0", "1", cgTracerVorzugImport, "Vorzug_Export_TESTKUR" + cFilename$ + " - gelöscht ", 632637&)      
         cText = Cstr(iZaehler) + " Datensätze bearbeitet"                                                                              
         Call XQSchreiben("0", "1", cgTracerVorzugImport, cText, 632637&)                                                            
         
         
         Filecopy FileName,"E:\TestKUR\VerzeichnisTest\Archiv\" + cFilename$  ' *** Sichern der aktuellen File ins Archiv               
         Print cText                                                                                                                        
         Kill filename        ' Das File nach der Archivierung im Verzeichnis löschen                                                                                                               '*   
         cFilename$ = Dir$()                                                                                                               
         Loop         '*************Neue Datei im Verzeichnis lesen

klaussal:
Schon mal den Debugger mitlaufen lassen ?

Alperen15:
ja habe ich, mir ist da nichts aufgefallen

klaussal:
Im Debugger sollte aber die Stelle zu sehen sein, wo die Felder ermittelt bzw. gefüllt werden (vmtl. ReadFields bzw. FillFields).
Da würde ich mal genauer hinsehen.

ascabg:
Und ohne genau zu wissen, was in den Funktionen ReadFields(i) und FillFields(doc,i,cDate) ablaeuft, ist es auch sehr schwer eine einigermassen gesicherte Aussage zu treffen.

Ich entnehme den Namen der Prozeduren nur soviel, dass ReadFields den gelesenen String aus der Datei in einen Array splittet, der mit der Prozedur FillFields auf die entsprechenden Felder des Dokumentes verteilt wird.


Andreas

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln