Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 8468c353

Von Holger Lindemann vor etwa 16 Jahren hinzugefügt

  • ID 8468c353d00846c241dd17f9bd3aa9052f7b1cd2
  • Vorgänger 64c4e3c6
  • Nachfolger 1763c7c7

Import von Bankdaten,

Tabelle wie in CRM/update/BLZ.sql beschrieben anlegen,
Menü erweitern:

[System--Import CSV--BLZ]
module=lxo-import/blz.php

Unterschiede anzeigen:

lxo-import/blz.php
1
<html>
2
<LINK REL="stylesheet" HREF="../css/lx-office-erp.css" TYPE="text/css" TITLE="Lx-Office stylesheet">
3
<body>
4
<?
5
/*
6
BLZimport mit Browser nach Lx-Office ERP
7
Holger Lindemann <hli@lx-system.de>
8
*/
9

  
10

  
11
function ende($nr) {
12
	echo "Abbruch: $nr<br>";
13
	echo "Fehlende oder falsche Daten.";
14
	exit(1);
15
}
16

  
17
if (!$_SESSION["db"]) {
18
	$conffile="../config/authentication.pl";
19
	if (!is_file($conffile)) {
20
		ende(4);
21
	}
22
}
23
require ("import_lib.php");
24

  
25
if (!anmelden()) ende(5);
26
/* get DB instance */
27
$db=$_SESSION["db"]; //new myDB($login);
28

  
29

  
30
/* display help */
31
if ($_POST["ok"]=="Hilfe") {
32
	echo "Importfelder:<br>";
33
	echo "Feldname => Bedeutung<br>";
34
	foreach($parts as $key=>$val) {
35
		echo "$key => $val<br>";
36
	}
37
	echo "<br>Die erste Zeile enth&auml;lt keine Feldnamen der Daten.<br>";
38
	echo "Die Datenfelder haben eine feste Breite.<br><br>"; 
39
	echo "Die Daten k&ouml;nnen hier bezogen werden:<br>";
40
	echo "<a http='http://www.bundesbank.de/zahlungsverkehr/zahlungsverkehr_bankleitzahlen_download.php'>";
41
	echo "http://www.bundesbank.de/zahlungsverkehr/zahlungsverkehr_bankleitzahlen_download.php</a>";
42
	exit(0);
43
} else if ($_POST) {
44
	$test=$_POST["test"];
45

  
46
	clearstatcache ();
47

  
48
	/* no data? */
49
	if (empty($_FILES["Datei"]["name"]))
50
		ende (2);
51

  
52
	/* copy file */
53
	if (!move_uploaded_file($_FILES["Datei"]["tmp_name"],"blz.txt")) {
54
		echo "Upload von Datei fehlerhaft.";
55
		echo $_FILES["Datei"]["error"], "<br>";
56
		ende (2);
57
	} 
58

  
59
	/* check if file is really there */
60
	if (!file_exists("blz.txt")) 
61
		ende(3);
62

  
63
	$sqlins="INSERT INTO blz_data (blz,fuehrend,bezeichnung,plz,ort,kurzbez,pan,bic,pzbm,nummer,aekz,bl,folgeblz) ";
64
	$sqlins.="VALUES ('%s','%s','%s','%s','%s','%s','%s','%s','%s',%d,'%s','%s','%s')";
65
	$sqldel="delete from blz";
66
	$ok="true";
67
	$f=fopen("blz.txt","r");
68
	if ($test) echo "Testdurchlauf <br>";
69
	$i=0;
70
	if ($f) {
71
		if (!$test) $rc=$db->query("BEGIN");
72
		if (!$test) $rc=$db->query($sqldel);
73
		while (($zeile=fgets($f,256)) != FALSE) {
74
			$sql=sprintf($sqlins,substr($zeile,0,8),substr($zeile,8,1),substr($zeile,9,58),substr($zeile,67,5),
75
						substr($zeile,72,35),substr($zeile,107,27),substr($zeile,134,5),substr($zeile,139,11),
76
						substr($zeile,150,2),substr($zeile,152,6),substr($zeile,158,1),substr($zeile,159,1),
77
						substr($zeile,160,8));
78
			if (!$test) $rc=$db->query($sql);
79
			if ($test) $rc=true;
80
			echo $rc;
81
			if (!$rc) { 
82
				$ok=false;
83
				break;
84
			}
85
			$i++;
86
		}
87
		if ($ok) {
88
			$rc=$db->query("COMMIT");
89
			echo "$i Daten erfolgreich importiert";
90
		} else {
91
			$rc=$db->query("ROLLBACK");
92
			ende(6);
93
		}
94
	} else {
95
		ende(4);
96
	}
97
} else {
98
?>
99

  
100
<p class="listtop">BLZ-Import f&uuml;r die ERP<p>
101
Achtung!! Die bestehenden BLZ-Daten werden zun&auml;chst gel&ouml;scht.
102
<br>
103
<form name="import" method="post" enctype="multipart/form-data" action="blz.php">
104
<input type="hidden" name="MAX_FILE_SIZE" value="20000000">
105
<input type="hidden" name="login" value="<?= $login ?>">
106
<table>
107
<tr><td><input type="submit" name="ok" value="Hilfe"></td><td></td></tr>
108
<tr><td>Test</td><td><input type="checkbox" name="test" value="1">ja</td></tr>
109
<tr><td>Daten</td><td><input type="file" name="Datei"></td></tr>
110
<tr><td></td><td><input type="submit" name="ok" value="Import"></td></tr>
111
</table>
112
</form>
113
<? }; ?>

Auch abrufbar als: Unified diff