Import von Aufträgen

Hallo @nebergd,
bin heute erst auf dein Frage gestossen: ob es eine Möglichkeit gibt von meinem Windowsrechner die csv Datei per “was weiß ich” und unter Hinzugabe von Zauber in die Datenbank zu importieren

Dieses “was weiß ich”+Zauber heisst für uns Schnittstelle zu ms-COM (excel,outlook,…) via groovy.

Du schreibst Deine scripte nicht in vb sondern in groovy. In diesem Skript kannst Du auf excel (COM-ActiveXObjects) und auf metasfresh-(java)-Objekte zugreifen und so den Import bewerkstelligen.

Hier ein kleines Beispiel (macht das Gegenteil dessen was Du brauchst - es erstellt xls aus mf-Objekten):

 	private static final FILE_PRE = "EndCustomerData-"
	private static final FILE_EXT = ".xlsx"
	def makeExcel = { datamap=this.mapBP , workdir="C:\\Projekte\\mf\\demo\\" , initialXls="demo-EndCustomerData.xlsx" ->
		def excel = new ActiveXObject(ACTIVEX_EXCEL)

		def workbook = excel.Workbooks.Open( workdir+initialXls , 0 , true)
		datamap.each{ k, v -> 
			try {
				workbook.Names(k).RefersToRange.Value = v  // copy value v to xls-workbook
			} catch(Exception e) {
				println "${CLASSNAME}:makeExcel catch  (Name doesn't refer to a range) in set value for '${k}'"
			}
		}
		def fileName = "${FILE_PRE}${datamap.get(MAP_DOCNO)}${FILE_EXT}"
		def savedXls = workdir+fileName
		def file = new File( savedXls )
		def msg = " erstellt."
		if( file.exists() ) {
			...
		}
		
		workbook.SaveCopyAs(savedXls)
		workbook.Saved = true
		excel.Workbooks.Close()
		
		workbook = excel.Workbooks.Open( savedXls , 0 )
		excel.Visible = true  // show xls to user
		return fileName+msg
	}

Leider will metas die Impementierung nicht in mf integrieren. Daher werden wir es auf alternativem Weg in unsere clients einbauen.