"; echo "Feldname => Bedeutung
"; foreach($shiptos as $key=>$val) { echo "$key => $val
"; } $header=implode(";",array_keys($shiptos)); echo $header; exit(0); }; if (!$_SESSION["db"]) { $conffile="../config/authentication.pl"; if (!is_file($conffile)) { ende("authentication.pl nicht gefunden oder unlesbar"); } } if (!anmelden()) ende("Anmeldung fehlgeschlagen"); /* get DB instance */ $db=$_SESSION["db"]; //new myDB($login); $crm=checkCRM(); if ($_POST["ok"] == "Import") { $dir = "../users/"; $test=$_POST["test"]; $shipto_fld = array_keys($shiptos); $shipto=$shiptos; $nun=time(); clearstatcache (); $trenner=($_POST["trenner"])?$_POST["trenner"]:","; if ($trenner=="other") { $trenner=trim($trennzeichen); if (substr($trenner,0,1)=="#") if (strlen($trenner)>1) $trenner=chr(substr($trenner,1)); }; if (!empty($_FILES["Datei"]["name"])) { $file=$_POST["ziel"]; if (!move_uploaded_file($_FILES["Datei"]["tmp_name"],$dir.$file."_shipto.csv")) { $file=false; echo "Upload von ".$_FILES["Datei"]["name"]." fehlerhaft. (".$_FILES["Datei"]["error"].")
"; } } else if (is_file($dir.$_POST["ziel"]."_shipto.csv")) { $file=$_POST["ziel"]; } else { $file=false; } if (!$file) ende ("Kein Datenfile"); if (!file_exists($dir.$file."_shipto.csv")) ende($file."_shipto.csv nicht im Ordner gefunden oder leer"); $employee=chkUsr($_SESSION["employee"]); if (!$employee) ende("Benutzer unbekannt"); if (!$db->chkcol($file)) ende("Importspalte konnte nicht angelegt werden"); //Zeichencodierung des Servers $tmpcode = $db->getServerCode(); //Leider sind die Benennungen vom Server anders als von mb_detect_encoding if ($tmpcode == "UTF8") { define("ServerCode","UTF-8"); } else if ($tmpcode == "LATIN9") { define("ServerCode","ISO-8859-15"); } else if ($tmpcode == "LATIN1") { define("ServerCode","ISO-8859-1"); } else { define("ServerCode",$tmpcode); } //Zeichensatz sollte gleich sein, sonst ist die Datenkonvertierung nutzlos //DB und LxO müssen ja nicht auf der gleichen Maschiene sein. if($tmpcode<>$db->getClientCode()) { $rc = $db->setClientCode($tmpcode); } // Zeichenkodierung File if ($_POST["encoding"] == "auto") { define("Auto",true); define("Translate",true); } else { define("Auto",false); if ($_POST["encoding"] == ServerCode) { define("Translate",false); } else { define("Translate",true); define("FileCode",$_POST["encoding"]); } } $f=fopen($dir.$file."_shipto.csv","r"); $zeile=fgetcsv($f,1000,$trenner); $first=true; foreach ($zeile as $fld) { $fld = strtolower(trim(strtr($fld,array("\""=>"","'"=>"")))); $in_fld[]=$fld; } $j=0; $n=0; //$prenumber=$_POST["prenumber"]; $zeile=fgetcsv($f,1000,$trenner); while (!feof($f)){ $i=-1; $id=false; $sql="insert into shipto "; $keys=""; $vals=""; foreach($zeile as $data) { $i++; if (!in_array($in_fld[$i],$shipto_fld)) { continue; } $data=addslashes(trim($data)); if ($in_fld[$i]=="trans_id" && $data) { $data=chkKdId($data); if (!$id) $id = $data; continue; } else if ($in_fld[$i]=="trans_id") { continue; } if ($in_fld[$i]==$file."number" && $data) { $tmp=getFirma($data,$file); if ($id<>$tmp) $id=$tmp; continue; } else if ($in_fld[$i]==$file."number") { continue; } if ($in_fld[$i]=="firma") { if ($id) continue; if (Translate) translate($data); $data=suchFirma($file,$data); if ($data) { $id=$data["cp_cv_id"]; } continue; } $keys.=$in_fld[$i].","; if ($data==false or empty($data) or !$data) { $vals.="null,"; } else { /*if (in_array($in_fld[$i],array("shiptofax","shiptophone"))) { $data=$prenumber.$data; } */ if (Translate) translate($data); $vals.="'".$data."',"; // bei jedem gefuellten Datenfeld erhoehen $val_count++; } } if ($keys<>"" && $id) { $vals.=$id.",'CT'"; $keys.="trans_id,module"; if ($test) { if ($first) { echo "\n"; echo "\n"; $first=false; }; echo "\n"; flush(); } else { $sql.="(".$keys.")"; $sql.="values (".$vals.")"; $rc=$db->query($sql); if (!$rc) echo "Fehler: ".$sql."\n"; } $j++; } $n++; $zeile=fgetcsv($f,1000,$trenner); } fclose($f); echo "
".str_replace(",","",$keys)."
".str_replace(",","",$vals)."
".$j." $file shipto von $n importiert.\n"; } else { ?>

Lieferanschriftimport für die ERP

Zieltabellecustomer vendor
Trennzeichen Semikolon Komma Tabulator Leerzeichen
Testja
Daten
Verwendete
Zeichecodierung