//============================================== // Erstelldatum des Ausweises : 15.02.2016 13:53:09 // Ersteller : ROE187 // Beschreibung : MCS_MDFIBUBUERFIMPORTMODELLMGR_CREATE //============================================== // ============================================== // globale Variablen: // ============================================== var gFilename : string; gFirmenNr : string; gFibuNr : string; gStammFile : MacroCSVFile; gStammFileName : String; //Wenn leer dann werden keine Stammdaten importiert gStammFileNr : TBMDInt; gStammExpFile : String; gStammExpFileNr : TBMDInt; j : TBMDInt; //------------------------------------------------------------------------------ // Stammdatenfile importieren //------------------------------------------------------------------------------ procedure StammdatenImportieren; begin if((gfirmennr<>'') AND (gfibunr<>''))then begin lParam := 'STP_FIB_COMPANYNO=' + BMD_FORMATNUM('0',gfirmennr) + ',STP_FIB_FIBUNO=' + BMD_FORMATNUM('0',gfibunr) + ',STP_IMP_FILENAME=' + gStammExpFile + ',STP_LOG_FILENAME=ENTEOSKontenImport.Log,' lParam := lParam + 'STP_IMP_SEPARATOR=;'; BMD_STARTFUNCTION('MCS_FRMFIBUVARCSVPERSONENKONTENIMPEXP_CREATE',lParam); end; end; //------------------------------------------------------------------------------ // Stammdatenfile erzeugen //------------------------------------------------------------------------------ procedure StammExpFileErzeugen; begin if(BMD_FILEEXISTS(gStammExpFile))then begin BMD_DELETEFILE(gStammExpFile); //DeleteFile end; BMD_CREATEFILE(gStammExpFile); //CreateFile BMD_ASSIGNFILE(gStammExpFileNr,gStammExpFile); BMD_OPENFILE_APPEND(gStammExpFileNr); //OpenFile_Append //Header mit ConstIDs lHeader := 'NTCS_CONSTID_INFO'; lHeader := lHeader + '%8%' ; //Anzahl der Datenfelder lHeader := lHeader + 'MCA_KTO_KONTONR%MCA_PER_VORNAME%MCA_PER_NAME%' + 'MCA_ADR_STRASSE%MCA_ADR_PLZ%MCA_ADR_ORTSNAME%MCA_PER_LANDNR%' + 'MCA_PER_UIDNR%'; BMD_WRITELN(gStammExpFileNr, lHeader); BMD_WRITELN(gStammExpFileNr,'Leerzeile NTCS-Const-Header --> wird beim Import ignoriert'); end; //------------------------------------------------------------------------------ // Stammdatenfile befüllen //------------------------------------------------------------------------------ procedure KontoLesen; begin lKtoNr := gStammFile.GetValue(j, '0'); lName := gStammFile.GetValue(j, '1'); lName1 := gStammFile.GetValue(j, '2'); lStrasse := gStammFile.GetValue(j, '3'); lPlz := gStammFile.GetValue(j, '4') lOrt := gStammFile.GetValue(j, '5') lLand := gStammFile.GetValue(j, '6'); lLandNr := '1'; if lLand = 'AT' then begin lLandNr := '1'; end; if lLand = 'DE' then begin lLandNr := '2'; end; lUid := gStammFile.GetValue(j, '7'); lLine := lKtoNr + ';' + lName + ';' + lName1 + ';' + lStrasse + ';' + lPlz + ';' + lOrt + ';' + lLandNr + ';' + lUid + ';'; //BMD_SHOWMESSAGE(lLine); //ShowMessage BMD_WRITELN(gStammExpFileNr, lLine); end; //------------------------------------------------------------------------------ // Hauptprogramm //------------------------------------------------------------------------------ gFirmenNr := INPUT_FIRMENNR; gFibuNr := INPUT_FIBUNR; gFileName := INPUT_FILENAME; gStammFileNr := 1; gStammExpFileNr := 2; BMD_STARTPROGRESSBAR(); gStammPfad := ''; lStammPfad := gFileName; while (BMD_POS(lStammPfad, '\') <> 0) do begin gStammPfad := gStammPfad + BMD_COPY(lStammPfad,1,BMD_POS(lStammPfad, '\')); lStammPfad := BMD_COPY(lStammPfad,BMD_POS(lStammPfad, '\')+1,BMD_LEN(lStammPfad)); end; gStammFileNamebasis := gStammPfad + '*Personenkonten*.csv'; gStammExpFile := gStammPfad + 'Perskto_Imp.csv'; if (gStammFileName <> '') AND (gStammExpFile <> '') then begin StammExpFileErzeugen; BMD_VarMyFile := MacroObject.CreateMacroFileMgr('Name'); //CreateMacroFileMgr gStammFileName := BMD_VarMyFile.FindFirstFile(gStammFileNamebasis); //FindFirstFile i := 1; while gStammFileName <> '' do begin gStammFileName := gStammPfad + gStammFileName; gstammfile := MacroObject.CreateMacroCSVFile(gStammFileName); gstammfile.SetSeparator(';'); gstammfile.Open(); spalten := gstammfile.GetNoOfCols(); zeilen := gstammfile.GetNoOfLines(); for j := 1 to (zeilen - 1) do begin KontoLesen; BMD_SHOWPROGRESSBAR(BMD_ROUND(j*100/zeilen,0),'Übernahme Stammdaten läuft...'); end; gFilecopy := gStammPfad + 'Perskto_Save_' + BMD_FORMATDATE(BMD_DATE(),'DD.MM.YYYY','DDMMYYYY') + '_' + BMD_FORMATDATE(BMD_TIME(),'HH:NN:SS','HHNN') + BMD_FORMATNUM('#',i) + '.csv'; BMD_RENAMEFILE(gStammFileName,gFilecopy); gStammFileName := BMD_VarMyFile.FindNextFile(); //FindNextFile i := i+1; end; BMD_VarMyFile.CloseFile(); //CloseFile BMD_CLOSEFILE(gStammExpFileNr); StammdatenImportieren; end; BMD_SHOWPROGRESSBAR(100,'Übernahme beendet');