Index: trunk/var/www/info/alkis/alkis_conf_location.php
===================================================================
--- trunk/var/www/info/alkis/alkis_conf_location.php	(revision 122)
+++ trunk/var/www/info/alkis/alkis_conf_location.php	(revision 123)
@@ -6,12 +6,14 @@
 	Version:
 	14.12.2010 zentrale Anpassung des Pfades
-	25.07.2011 PostNAS 0.5/0.6 Versionen unterscheiden
+	25.07.2011 PostNAS  0.5/0.6 Versionen unterscheiden
+	04.11.2011 PostNAS  Datenbankname um "_neu" erweitert
 */
 # relativ:
-#require_once(dirname(__FILE__)."/../../../../conf/alkis_www_conf.php");
+#	require_once(dirname(__FILE__)."/../../../../conf/alkis_www_conf.php");
 #
 # absolut:
 #  Hier: Entwicklungs-Version
-require_once("/data/conf/alkis_www_conf.php");
-$dbname = $dbpre.$dbvers.$gkz;  // Prefix + Konverter-Version + Mandant
+	require_once("/data/conf/alkis_entw_conf.php");
+	$dbname = $dbpre.$dbvers.$gkz;			// Prefix + Konverter-Version + Mandant
+//	$dbname = $dbpre.$dbvers.$gkz."_neu";	// Prefix + Konverter-Version + Mandant  ENTWICKLUNG aus neuem Schema
 ?>
Index: trunk/var/www/info/alkis/alkisfsnw.php
===================================================================
--- trunk/var/www/info/alkis/alkisfsnw.php	(revision 122)
+++ trunk/var/www/info/alkis/alkisfsnw.php	(revision 123)
@@ -8,5 +8,6 @@
 	11.07.2011  Ersetzen $self durch $_SERVER['PHP_SELF']."?"
 	25.07.2011  PostNAS 0.5/0.6 Versionen unterscheiden
-	26.07.2011  debug	
+	26.07.2011  debug, SQL nur im Test-Modus anzeigen.
+	02.11.2011  6.+7. Parameter fuer function eigentuemer()
 	
 	ToDo:
@@ -72,5 +73,8 @@
 $res = pg_prepare("", $sql);
 $res = pg_execute("", $v);
-if (!$res) echo "\n<p class='err'>Fehler bei Flurstuecksdaten\n<br>".$sql."</p>\n";
+if (!$res) {
+	echo "\n<p class='err'>Fehler bei Flurstuecksdaten</p>\n";
+	if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
+}
 if ($row = pg_fetch_array($res)) {
 	$gemkname=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8");
@@ -84,7 +88,9 @@
 	if ($nenner > 0) {$flstnummer.="/".$nenner;} // BruchNr
 	$flae=number_format($row["amtlicheflaeche"],0,",",".") . " m&#178;";
+	$entsteh=$row["zeitpunktderentstehung"];
+	$name=$row["name"]; // Fortfuehrungsnummer
 } else {
 	echo "<p class='err'>Fehler! Kein Treffer fuer gml_id=".$gmlid."</p>";
-	if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = ".$gmlid."</p>";}
+	if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
 }
 // Balken
@@ -112,7 +118,7 @@
 	echo "\n\t<table class='fsd'>";
 		echo "\n\t<tr>\n\t\t<td>Entstehung</td>";
-		echo "\n\t\t<td>".$row["zeitpunktderentstehung"]."</td>\n\t</tr>";
+		echo "\n\t\t<td>".$entsteh."</td>\n\t</tr>";
 		echo "\n\t<tr>\n\t\t<td>letz. Fortf</td>";
-		echo "\n\t\t<td title='Jahrgang / Fortf&uuml;hrungsnummer - Fortf&uuml;hrungsart'>".$row["name"]."</td>\n\t</tr>";
+		echo "\n\t\t<td title='Jahrgang / Fortf&uuml;hrungsnummer - Fortf&uuml;hrungsart'>".$name."</td>\n\t</tr>";
 	echo "\n\t</table>";
 	if ($idanzeige) {linkgml($gkz, $gmlid, "Flurst&uuml;ck"); }
@@ -136,5 +142,8 @@
 $res = pg_prepare("", $sql);
 $res = pg_execute("", $v);
-if (!$res) echo "<p class='err'>Fehler bei Gemeinde<br>".$sql."<br></p>";
+if (!$res) {
+	echo "\n<p class='err'>Fehler bei Gemeinde</p>\n";
+	if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."</p>";}
+}
 $row = pg_fetch_array($res);
 $gnam = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8");
@@ -151,5 +160,8 @@
 $res = pg_prepare("", $sql);
 $res = pg_execute("", $v);
-if (!$res) echo "<p class='err'>Fehler bei Kreis<br>".$sql."<br></p>";
+if (!$res) {
+	echo "\n<p class='err'>Fehler bei Kreis</p>\n";
+	if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."</p>";}
+}
 $row = pg_fetch_array($res);
 $knam = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8");
@@ -161,7 +173,12 @@
 
 // R e g - B e z
-$sql="SELECT bezeichnung FROM ax_regierungsbezirk WHERE regierungsbezirk='".$bezirk."' "; 
-$res=pg_query($con, $sql);
-if (!$res) echo "<p class='err'>Fehler bei Regierungsbezirk<br>".$sql."<br></p>";
+$sql="SELECT bezeichnung FROM ax_regierungsbezirk WHERE regierungsbezirk= $1 ";
+$v = array($bezirk);
+$res = pg_prepare("", $sql);
+$res = pg_execute("", $v);
+if (!$res) {
+	echo "<p class='err'>Fehler bei Regierungsbezirk</p>";
+	if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."</p>";}
+}
 $row = pg_fetch_array($res);
 $bnam = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8");
@@ -196,5 +213,8 @@
 $res = pg_prepare("", $sql);
 $res = pg_execute("", $v);
-if (!$res) {echo "<p class='err'>Fehler bei Lagebezeichnung mit Hausnummer<br>\n".$sql."</p>";}
+if (!$res) {
+	echo "<p class='err'>Fehler bei Lagebezeichnung mit Hausnummer</p>";
+	if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."</p>";}
+}
 $j=0;
 while($row = pg_fetch_array($res)) {
@@ -240,5 +260,8 @@
 $res = pg_prepare("", $sql);
 $res = pg_execute("", $v);
-if (!$res) echo "<p class='err'>Fehler bei Lagebezeichnung ohne Hausnummer<br>\n".$sql."</p>";
+if (!$res) {
+	echo "<p class='err'>Fehler bei Lagebezeichnung ohne Hausnummer</p>";
+	if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."</p>";}
+}
 $j=0;
 // Es wird auch eine Zeile ausgegeben, wenn kein Eintrag gefunden!
@@ -298,5 +321,8 @@
 $res = pg_prepare("", $sql);
 $res = pg_execute("", $v);
-if (!$res) {echo "<p class='err'>Fehler bei Suche tats. Nutzung<br>\n".$sql."</p>";}
+if (!$res) {
+	echo "<p class='err'>Fehler bei Suche tats. Nutzung</p>\n";
+	if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
+}
 $j=0;
 while($row = pg_fetch_array($res)) {
@@ -457,5 +483,6 @@
 $ress = pg_execute("", $v);
 if (!$ress) {
-	echo "\n<p class='err'>Keine Buchungsstelle.<br>\nSQL= ".$sql."</p>\n";
+	echo "\n<p class='err'>Keine Buchungsstelle.</p>\n";
+	if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
 }
 $bs=0; // Z.Buchungsstelle
@@ -478,5 +505,6 @@
 	$resg = pg_execute("", $v);
 	if (!$resg) {
-		echo "\n<p class='err'>Kein Buchungsblatt.<br>\nSQL= ".$sql."</p>\n";
+		echo "\n<p class='err'>Kein Buchungsblatt.</p>\n";
+		if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmls."'</p>";}
 	}
 	$bl=0; // Z.Blatt
@@ -550,5 +578,5 @@
 		echo "\n</table>";
 
-		// +++ Weitere Felder ausgeben ?? beschreibungdesumfangsderbuchung
+		// +++ Weitere Felder ausgeben? BeschreibungDesUmfangsDerBuchung
 		if ($rows["sond"] != "") {
 			echo "<p class='sond' title='Sondereigentum'>Verbunden mit dem Sondereigentum<br>".$rows["sond"]."</p>";
@@ -561,5 +589,5 @@
 		// Person <-benennt< AX_Namensnummer  >istBestandteilVon-> AX_Buchungsblatt
 		if ($eig=="j") { // Wahlweise mit/ohne EigentÃŒmer
-			$n = eigentuemer($con, $gkz, $idanzeige, $gmlg, false); // hier aber ohne Adresse
+			$n = eigentuemer($con, $gkz, $idanzeige, $gmlg, false, $showkey, $debug); // hier aber ohne Adresse
  			if ($n == 0) {
 				if ($blattkeyg == 1000) {
@@ -574,5 +602,5 @@
 	}
 	if ($bl == 0) {
-		echo "\n<p class='err'>Kein Buchungsblatt gefunden<br>\nSQL= ".$sql."</p>";
+		echo "\n<p class='err'>Kein Buchungsblatt gefunden.</p>";
 		echo "\n<p class='err'>Parameter: gml_id= ".$gmls.", Beziehung='istBestandteilVon'</p>";
 		linkgml($gkz, $gmls, "Buchungstelle");
@@ -595,11 +623,10 @@
 	$sql.="AND v.beziehungsart = 'istBestandteilVon' ";
 	$sql.="ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung;";
-
 	$v = array($gmls);
 	$resan = pg_prepare("", $sql);
 	$resan = pg_execute("", $v);
-
 	if (!$resan) {
-		echo "\n<p class='err'>Keine weiteren Buchungsstellen.<br>\nSQL=<br>".$sql."</p>\n";
+		echo "\n<p class='err'>Keine weiteren Buchungsstellen.</p>\n";
+		if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmls."'</p>";}
 	}
 	$an=0; // Stelle an Stelle
@@ -676,6 +703,6 @@
 			echo "<p class='sond' title='Sondereigentum'>Verbunden mit dem Sondereigentum<br>".$rowan["sond"]."</p>";
 		}
-		if ($eig=="j") {
-			$n = eigentuemer($con, $gkz, $idanzeige, $rowan["g_gml"], false, $showkey); // ohne Adresse
+		if ($eig == "j") {
+			$n = eigentuemer($con, $gkz, $idanzeige, $rowan["g_gml"], false, $showkey, $debug); // ohne Adresse
 			// Anzahl $n kontrollieren? Warnen?
 		}
Index: trunk/var/www/info/alkis/alkisauszug.css
===================================================================
--- trunk/var/www/info/alkis/alkisauszug.css	(revision 122)
+++ trunk/var/www/info/alkis/alkisauszug.css	(revision 123)
@@ -8,4 +8,5 @@
 	04.01.2011  Spalte td.fla im fsnw
 	26.01.2011  einheitlich td padding-top 6px
+	03.11.2011  FS-Historie
 */
 body	{background-color: #FDFFFD;}
@@ -14,11 +15,12 @@
 
 /* ** Banner im Kopf (Balken), Farbcode fuer Nachweis-Art ** */
-p.fsausk		{text-align: right; background: teal;	color: silver;} /* Uebersichts-Seite Flurstuecks-Auskunft */
-p.fskennz	{text-align: right; background: navy;	color: silver;} /* Flurstuecks-Nachweis */
-p.fsei		{text-align: right; background: olive;	color: silver;} /* Flurstuecks- und Eigentuemer-Nachweis */
-p.gbkennz	{text-align: right; background: green;	color: silver;} /* Bestandsnachweis */
-p.nakennz	{text-align: right; background: maroon; color: silver;} /* Personen- und Adressdaten */
-p.geb			{text-align: right; background: yellow; color: gray;}	/* Gebaeude zum FS */
-p.lage		{text-align: right; background: lime; color: gray;}	/* Gebaeude zum FS */
+p.fsausk		{text-align: right; background: teal;	color: silver;}	/* Uebersichts-Seite Flurstuecks-Auskunft */
+p.fskennz	{text-align: right; background: navy;	color: silver;}	/* Flurstuecks-Nachweis */
+p.fsei		{text-align: right; background: olive;	color: silver;}	/* Flurstuecks- und Eigentuemer-Nachweis */
+p.fshis		{text-align: right; background: gray;	color: white;}		/* Flurstuecks-Historie */
+p.gbkennz	{text-align: right; background: green;	color: silver;}	/* Bestandsnachweis */
+p.nakennz	{text-align: right; background: maroon; color: silver;}	/* Personen- und Adressdaten */
+p.geb			{text-align: right; background: yellow; color: gray;}		/* Gebaeude zum FS */
+p.lage		{text-align: right; background: lime; color: gray;}		/* Gebaeude zum FS */
 
 p.bezieh	{text-align: right; background: olive;	color: silver;} /* Beziehungen */
@@ -46,19 +48,10 @@
 
 /* komplette Adresse im Rahmen*/
-div.adr {border-left-width: 0px; 
-	border-right-width: 0px; 
-	border-bottom-width: 2px; 
-	border-top-width: 2px; 
-	width: 60%;
-	border-color: #a2d545;
-	border-style: solid; 
-	font-size: 12pt;
-	margin-bottom: 8px;
-	margin-top: 8px;
-	margin-left: 0.7in;
-	overflow: auto;
-	padding: 6px;
-	background: #e4f7dd;
-}
+div.adr {border-left-width: 0px; border-right-width: 0px; border-bottom-width: 2px; border-top-width: 2px; 
+	width: 60%; font-size: 12pt;
+	border-color: #a2d545; border-style: solid; 
+	margin-bottom: 8px; margin-top: 8px; margin-left: 0.7in;
+	overflow: auto; padding: 6px;
+	background: #e4f7dd;}
 
 span.key 		{color: gray; font-style: italic;} /* Schluesselwert vor Text, Wert zurueck nehmen */
@@ -73,4 +66,5 @@
 /* Kennzeichen mit Rahmen, Rahmen-Farben wie 'Balken' */
 table.kennzfs	{border: 2px solid  navy;  padding: 3px; margin: 0px;}	/* Flurstueck */
+table.kennzfsh	{border: 2px dotted navy;  padding: 3px; margin: 0px;}	/* - historisch */
 table.kennzgb	{border: 2px solid  green; padding: 3px; margin: 0px;}	/* Grundbuch */
 table.kennzgbf	{border: 2px dotted green; padding: 3px; margin: 0px;}	/* - fiktiv */
Index: trunk/var/www/info/alkis/alkisfkt.php
===================================================================
--- trunk/var/www/info/alkis/alkisfkt.php	(revision 122)
+++ trunk/var/www/info/alkis/alkisfkt.php	(revision 123)
@@ -10,4 +10,5 @@
 	17.12.2010  Astrid Emde: Prepared Statements (pg_query -> pg_prepare + pg_execute)
 	01.02.2011  *Left* Join - Fehlertoleranz bei unvollstaendigen Schluesseltabellen
+	02.11.2011  Parameter debug in function eigentuemer
 */
 
@@ -203,5 +204,5 @@
 }
 
-function eigentuemer($con, $gkz, $idanzeige, $gmlid, $mitadresse, $showkey) {
+function eigentuemer($con, $gkz, $idanzeige, $gmlid, $mitadresse, $showkey, $debug) {
 	// Tabelle mit Eigentuemerdaten zu einem Grundbuchblatt ausgeben
 	// Sp.1 = Namennummer, Sp. 2 = Name / Adresse, Sp. 3 = Link
@@ -214,17 +215,22 @@
 	// Beziehung: ax_namensnummer  >istBestandteilVon>  ax_buchungsblatt
 
-	$sql="SELECT n.gml_id, n.laufendenummernachdin1421 AS lfd, n.zaehler, n.nenner, ";
-	$sql.="n.artderrechtsgemeinschaft AS adr, n.beschriebderrechtsgemeinschaft as beschr, n.eigentuemerart, n.anlass ";
-	$sql.="FROM ax_namensnummer n ";
-	$sql.="JOIN alkis_beziehungen b ON b.beziehung_von=n.gml_id ";
-	$sql.="WHERE b.beziehung_zu= $1 "; // id blatt
-	$sql.="AND b.beziehungsart='istBestandteilVon' ";
-	$sql.="ORDER BY laufendenummernachdin1421;";
+	if ($debug > 1) {echo "<p class='err'>function eigentuemer, gml(Blatt)=".$gmlid.", mit Adresse='".$mitadresse."'</p>";}
+
+	$sqln="SELECT n.gml_id, n.laufendenummernachdin1421 AS lfd, n.zaehler, n.nenner, ";
+	$sqln.="n.artderrechtsgemeinschaft AS adr, n.beschriebderrechtsgemeinschaft as beschr, n.eigentuemerart, n.anlass ";
+	$sqln.="FROM ax_namensnummer n ";
+	$sqln.="JOIN alkis_beziehungen b ON b.beziehung_von=n.gml_id ";
+	$sqln.="WHERE b.beziehung_zu= $1 "; // id blatt
+	$sqln.="AND b.beziehungsart='istBestandteilVon' ";
+	$sqln.="ORDER BY laufendenummernachdin1421;";
 
 	$v = array($gmlid);
-	$resn = pg_prepare("", $sql);
+	$resn = pg_prepare("", $sqln);
 	$resn = pg_execute("", $v);
 
-	if (!$resn) {echo "<p class='err'>Fehler bei Eigentuemer<br>SQL= ".$sql."<br></p>\n";}
+	if (!$resn) {
+		echo "<p class='err'>Fehler bei Eigent&uuml;mer</p>\n";
+		if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqln."<br>$1=gml= '".$gmlid."'</p>";}
+	}
 
 	//echo "<p class='nwlink noprint'>weitere Auskunft:</p>"; // oben rechts von der Tabelle
@@ -250,11 +256,7 @@
 				} else {
 					echo "\n\t\t<p class='zus' title='Art der Rechtsgemeinschaft'>".htmlentities(rechtsgemeinschaft($rown["adr"]), ENT_QUOTES, "UTF-8")."</p>";
-					// !! Feld /td und Zeile /tr nicht geschlossen
-					//	echo "\n\t</td>\n</tr>"; // !!! IMMER? oder nur wenn letzte Zeile?
 				}
 			}
 			//if ($rown["anlass"] > 0 ) {echo "<p>Anlass=".$rown["anlass"]."</p>";} // TEST:
-
-			//echo "\n\t\t</td>\n\t\t<td></td>\n</tr>";
 
 			// Schleife Ebene 2: andere Namensnummern
@@ -271,24 +273,26 @@
 		// Schleife 2: P e r s o n  
 		// Beziehung: ax_person  <benennt<  ax_namensnummer
-		$sql ="SELECT p.gml_id, p.nachnameoderfirma, p.vorname, p.geburtsname, p.geburtsdatum, p.namensbestandteil, p.akademischergrad ";
-		$sql.="FROM ax_person p JOIN alkis_beziehungen v ON v.beziehung_zu=p.gml_id ";
-		$sql.="WHERE v.beziehung_von= $1 AND v.beziehungsart='benennt';";
+		$sqlp ="SELECT p.gml_id, p.nachnameoderfirma, p.vorname, p.geburtsname, p.geburtsdatum, p.namensbestandteil, p.akademischergrad ";
+		$sqlp.="FROM ax_person p JOIN alkis_beziehungen v ON v.beziehung_zu=p.gml_id ";
+		$sqlp.="WHERE v.beziehung_von= $1 AND v.beziehungsart='benennt';";
 
 		$v = array($gmlnn);
-		$rese = pg_prepare("", $sql);
-		$rese = pg_execute("", $v);
-		// +++ kein Ergebnis bei leeren Schluesseltabellen !?
-
-		if (!$rese) {echo "\n\t<p class='err'>Fehler bei Eigentuemer<br>SQL= ".$sql."<br></p>\n";}
-		$i=0; // Z.Eig.
-		//echo "\n<!-- vor Schleife 2 Person -->";
-		while($rowe = pg_fetch_array($rese)) {
+		$resp = pg_prepare("", $sqlp);
+		$resp = pg_execute("", $v);
+
+		if (!$resp) {
+			echo "\n\t<p class='err'>Fehler bei Person</p>\n";
+			if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqlp."<br>$1=gml= '".$gmlnn."'</p>";}
+		}
+
+		$i=0; // cnt Person
+		while($rowp = pg_fetch_array($resp)) {
 			$diePerson="";
-			if ($rowe["akademischergrad"] <> "") {$diePerson=$rowe["akademischergrad"]." ";}
-			$diePerson.=$rowe["nachnameoderfirma"];
-			if ($rowe["vorname"] <> "") {$diePerson.=", ".$rowe["vorname"];}
-			if ($rowe["namensbestandteil"] <> "") {$diePerson.=". ".$rowe["namensbestandteil"];}
-			if ($rowe["geburtsdatum"] <> "") {$diePerson.=", geb. ".$rowe["geburtsdatum"];}
-			if ($rowe["geburtsname"] <> "") {$diePerson.=", geb. ".$rowe["geburtsname"];}
+			if ($rowp["akademischergrad"] <> "") {$diePerson=$rowp["akademischergrad"]." ";}
+			$diePerson.=$rowp["nachnameoderfirma"];
+			if ($rowp["vorname"] <> "") {$diePerson.=", ".$rowp["vorname"];}
+			if ($rowp["namensbestandteil"] <> "") {$diePerson.=". ".$rowp["namensbestandteil"];}
+			if ($rowp["geburtsdatum"] <> "") {$diePerson.=", geb. ".$rowp["geburtsdatum"];}
+			if ($rowp["geburtsname"] <> "") {$diePerson.=", geb. ".$rowp["geburtsname"];}
 			$diePerson=htmlentities($diePerson, ENT_QUOTES, "UTF-8"); // Umlaute
 
@@ -303,6 +307,6 @@
 			// Spalte 3 = Link
 			echo "\n\t<td>\n\t\t<p class='nwlink noprint'>";
-				if ($idanzeige) {linkgml($gkz, $rowe["gml_id"], "Person"); echo "&nbsp";}
-				echo "\n\t\t<a href='alkisnamstruk.php?gkz=".$gkz."&amp;gmlid=".$rowe[0];
+				if ($idanzeige) {linkgml($gkz, $rowp["gml_id"], "Person"); echo "&nbsp";}
+				echo "\n\t\t<a href='alkisnamstruk.php?gkz=".$gkz."&amp;gmlid=".$rowp[0];
 				if ($idanzeige) {echo "&amp;id=j";}
 				if ($showkey)   {echo "&amp;showkey=j";}
@@ -313,18 +317,20 @@
 			if ($mitadresse) {
 				// Schleife 3:  A d r e s s e  (OPTIONAL)
-				$sql ="SELECT a.gml_id, a.ort_post, a.postleitzahlpostzustellung AS plz, a.strasse, a.hausnummer, a.bestimmungsland ";
-				$sql.="FROM ax_anschrift a ";
-				$sql.="JOIN alkis_beziehungen b ON a.gml_id=b.beziehung_zu ";
-				$sql.="WHERE b.beziehung_von= $1 AND b.beziehungsart='hat';"; // ORDER?
-
-				$v = array($rowe["gml_id"]);
-				$resa = pg_prepare("", $sql);
+				$sqla ="SELECT a.gml_id, a.ort_post, a.postleitzahlpostzustellung AS plz, a.strasse, a.hausnummer, a.bestimmungsland ";
+				$sqla.="FROM ax_anschrift a ";
+				$sqla.="JOIN alkis_beziehungen b ON a.gml_id=b.beziehung_zu ";
+				$sqla.="WHERE b.beziehung_von= $1 AND b.beziehungsart='hat';"; // ORDER?
+
+				$gmlp=$rowp["gml_id"]; // Person
+				$v = array($gmlp);
+				$resa = pg_prepare("", $sqla);
 				$resa = pg_execute("", $v);
 
 				if (!$resa) {
-					echo "\n\t<p class='err'>Fehler bei Adressen.<br>\nSQL= ".$sql."</p>\n";
+					echo "\n\t<p class='err'>Fehler bei Adressen</p>\n";
+					if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqla."<br>$1=gml= '".$gmlp."'</p>";}
 				}
+
 				$j=0;
-				//echo "\n<!-- vor Schleife 3 Adresse -->";
 				while($rowa = pg_fetch_array($resa)) {
 					$gmla=$rowa["gml_id"];
@@ -363,12 +369,9 @@
 					$j++;
 				}
-				//echo "\n<!-- nach Schleife 3 Adresse -->";
-			} // if
+			} // End if
 			// 'keine Adresse' kann vorkommen, z.B. "Deutsche Telekom AG"
-			$i++; // Z. Person
-
+			$i++; // cnt Person
 			// als eigene Tab-Zeile?
-			// 'Anteil' ist der Anteil der Berechtigten in Bruchteilen (Par. 47 GBO) 
-			// an einem gemeinschaftlichen Eigentum (GrundstÃŒck oder Recht).
+			// 'Anteil' ist der Anteil der Berechtigten in Bruchteilen (Par. 47 GBO) an einem gemeinschaftlichen Eigentum (GrundstÃŒck oder Recht).
 			if ($rown["zaehler"] != "") {
 				echo "\n<tr>\n\t<td>&nbsp;</td>"; // Sp. 1
@@ -376,22 +379,33 @@
 				echo "\n\t<td>&nbsp;</td>\n</tr>"; // Sp. 3
 			}
-		}
-		//echo "\n<!-- nach Schleife 2 Person -->";
-
+		} // End Loop Person
 		if ($i == 0) { // keine Pers zur NamNum
-			echo "\n<!-- Rechtsgemeinscahft='".$rechtsg."' -->";
+			if ($debug > 0) {
+				echo "<p class='err'>Keine Person zur Namensnummer ".$namnum."</p>";
+			}			
+			if ($debug > 2) {
+				echo "<p class='err'>SQL=<br>".$sqlp."<br>$1=gml(NamNum)= '".$gmlnn."'</p>";
+			}
+		//	echo "\n<!-- Rechtsgemeinschaft='".$rechtsg."' -->";
 			// Wann warnen?
-			//if ($rechtsg != 9999) {
-				// Art der Rechtsgemeinsachft, 0 Eigent. ist Normal bei Sondereigentum
-				//echo "\n<tr>\n<td>";
-				//linkgml($gkz, $rown["gml_id"], "Namensnummer");
-				//echo "</td>\n<td>\n\t\t<p class='err'>Kein Eigent&uuml;mer gefunden. (Rechtsgemeinschaft=".$rechtsg.")</p>";
-			//}
+		//	if ($rechtsg != 9999) {
+			// Art der Rechtsgemeinsachft, keine Eigent. ist Normal bei Sondereigentum
+			//echo "\n<tr>\n<td>";
+			//linkgml($gkz, $rown["gml_id"], "Namensnummer");
+			//echo "</td>\n<td>\n\t\t<p class='err'>Kein Eigent&uuml;mer gefunden. (Rechtsgemeinschaft=".$rechtsg.")</p>";
+		//	}
 			echo "</td>\n\t<td>&nbsp;</td>\n<tr>";
 		}
 		$n++; // cnt NamNum
 	} // End Loop NamNum
-	//echo "\n<!-- nach Schleife 1 Namensnummer -->";
 	echo "\n</table>\n";
+	if ($n == 0) {
+		if ($debug > 0) {
+			echo "<p class='err'>keine Namensnummern zum Blatt</p>";
+		}
+		if ($debug > 2) {
+			echo "<p class='err'>Namensnummern: SQL=<br>".$sqln."<br>$1=gml(Blatt)= '".$gmlid."'</p>";
+		}
+	}	
 	return $n; 
 } // End Function eigentuemer
@@ -402,16 +416,8 @@
 function anrede($key) {
 	switch ($key) {
-		case 1000:
-			$wert = "Frau";
-			break;
-		case 2000:
-			$wert = "Herr";
-			break;
-		case 3000:
-			$wert = "Firma";
-			break;
-		default:
-			$wert = "";
-			break;
+		case 1000: $wert = "Frau"; break;
+		case 2000: $wert = "Herr"; break;
+		case 3000: $wert = "Firma"; break;
+		default:   $wert = ""; break;
 	}
 	return $wert;
@@ -421,20 +427,9 @@
 function rechtsgemeinschaft($key) {
 	switch ($key) {
-		case 1000:
-			$wert = "Erbengemeinschaft"; 
-			break;
-		case 2000:
-			$wert = "GÃŒtergemeinschaft"; 
-			break;
-		case 3000:
-			$wert = "BGB-Gesellschaft"; 
-			break;
-		case 9999:
-			$wert = "Sonstiges"; 
-		// dann: beschriebDerRechtsgemeinschaft
-			break;
-		default:
-			$wert = "";
-			break;
+		case 1000: $wert = "Erbengemeinschaft"; break;
+		case 2000: $wert = "GÃŒtergemeinschaft"; break;
+		case 3000: $wert = "BGB-Gesellschaft"; break;
+		case 9999: $wert = "Sonstiges"; break;	// dann: beschriebDerRechtsgemeinschaft
+		default:   $wert = ""; break;
 	}
 	return $wert;
@@ -444,19 +439,9 @@
 function eigentuemerart($key) {
 	switch ($key) {
-		case 1000:
-			$wert = "Nat&uuml;rliche Person"; 
-			break;
-		case 2000:
-			$wert = "Juristische Person"; 
-			break;
-		case 3000:
-			$wert = "K&ouml;rperschaft"; 
-			break;
-		case "": // falls (noch) nicht gefuellt
-			$wert = "Person"; 
-			break;
-		default:
-			$wert = "** Unbekannte Eigent&uuml;merart '".$key."' **";;
-			break;
+		case 1000: $wert = "Nat&uuml;rliche Person"; break;
+		case 2000: $wert = "Juristische Person"; break;
+		case 3000: $wert = "K&ouml;rperschaft"; break;
+		case "":   $wert = "Person"; break; // falls (noch) nicht gefuellt
+		default:   $wert = "** Unbekannte Eigent&uuml;merart '".$key."' **"; break;
 	}
 	return $wert;
@@ -465,25 +450,15 @@
 function blattart($key) {
 	switch ($key) {
-		case 1000:
-			$wert = "Grundbuchblatt"; 
-			// Ein Grundbuchblatt ist ein Buchungsblatt, das die Buchung im Grundbuch enthÃ€lt.
-			break;
-		case 2000:
-			$wert = "Katasterblatt";
-			// Ein Katasterblatt ist ein Buchungsblatt, das die Buchung im Liegenschaftskataster enthÃ€lt.
-			break;
-		case 3000:
-			$wert = "Pseudoblatt";
-			// Ein Pseudoblatt ist ein Buchungsblatt, das die Buchung, die bereits vor Eintrag im Grundbuch Rechtskraft erlangt hat, enthÃ€lt 
-			// (z.B. Ãbernahme von Flurbereinigungsverfahren, Umlegungsverfahren).
-			break;
-		case 5000:
-			$wert = "Fiktives Blatt";
-			// Das fiktive Blatt enthÃ€lt die aufgeteilten GrundstÃŒcke und Rechte als Ganzes. 
-			// Es bildet um die Miteigentumsanteile eine fachliche Klammer.
-			break;
-		default:
-			$wert = "** Unbekannter Wert '".$key."'";;
-			break;
+		case 1000: $wert = "Grundbuchblatt"; break;
+		// Ein Grundbuchblatt ist ein Buchungsblatt, das die Buchung im Grundbuch enthÃ€lt.
+		case 2000: $wert = "Katasterblatt"; break;
+		// Ein Katasterblatt ist ein Buchungsblatt, das die Buchung im Liegenschaftskataster enthÃ€lt.
+		case 3000: $wert = "Pseudoblatt"; break;
+		// Ein Pseudoblatt ist ein Buchungsblatt, das die Buchung, die bereits vor Eintrag im Grundbuch Rechtskraft erlangt hat, enthÃ€lt 
+		// (z.B. Ãbernahme von Flurbereinigungsverfahren, Umlegungsverfahren).
+		case 5000: $wert = "Fiktives Blatt"; break;
+		// Das fiktive Blatt enthÃ€lt die aufgeteilten GrundstÃŒcke und Rechte als Ganzes. 
+		// Es bildet um die Miteigentumsanteile eine fachliche Klammer.
+		default: $wert = "** Unbekannter Wert '".$key."'"; break;
 	}
 	return $wert;
@@ -492,52 +467,20 @@
 function dienststellenart($key) {
 	switch ($key) {
-		case 1000:
-			$wert = "Grundbuchamt";
-			break;
-		case 1100:
-			$wert = "Katasteramt"; 
-			break;
-		case 1200:
-			$wert = "Finanzamt"; 
-			break;
-		case 1300:
-			$wert = "Flurbereinigungsbeh&ouml;rde"; 
-			break;
-		case 1400:
-			$wert = "Forstamt"; 
-			break;
-		case 1500:
-			$wert = "Wasserwirtschaftsamt"; 
-			break;
-		case 1600:
-			$wert = "StraÃenbauamt"; 
-			break;
-		case 1700:
-			$wert = "Gemeindeamt"; 
-			break;
-		case 1900:
-			$wert = "Kreis- oder Stadtverwaltung"; 
-			break;
-		case 2000:
-			$wert = "Wasser- und Bodenverband"; 
-			break;
-		case 2100:
-			$wert = "Umlegungsstelle"; 
-			break;
-		case 2200:
-			$wert = "Landesvermessungsverwaltung"; 
-			break;
-		case 2300:
-			$wert = "&Ouml;bVI"; 
-			break;
-		case 2400:
-			$wert = "Bundeseisenbahnverm&ouml;gen"; 
-			break;
-		case 2500:
-			$wert = "Landwirtschaftskammer"; 
-			break;
-		default:
-			$wert = "** Unbekannter Wert '".$key."'";
-			break;
+		case 1000: $wert = "Grundbuchamt"; break;
+		case 1100: $wert = "Katasteramt"; break;
+		case 1200: $wert = "Finanzamt"; break;
+		case 1300: $wert = "Flurbereinigungsbeh&ouml;rde"; break;
+		case 1400: $wert = "Forstamt"; break;
+		case 1500: $wert = "Wasserwirtschaftsamt"; break;
+		case 1600: $wert = "StraÃenbauamt"; break;
+		case 1700: $wert = "Gemeindeamt"; break;
+		case 1900: $wert = "Kreis- oder Stadtverwaltung"; break;
+		case 2000: $wert = "Wasser- und Bodenverband"; break;
+		case 2100: $wert = "Umlegungsstelle"; break;
+		case 2200: $wert = "Landesvermessungsverwaltung"; break;
+		case 2300: $wert = "&Ouml;bVI"; break;
+		case 2400: $wert = "Bundeseisenbahnverm&ouml;gen"; break;
+		case 2500: $wert = "Landwirtschaftskammer"; break;
+		default: $wert = "** Unbekannter Wert '".$key."'"; break;
 	}
 	return $wert;
Index: trunk/var/www/info/alkis/alkisinlaybaurecht.php
===================================================================
--- trunk/var/www/info/alkis/alkisinlaybaurecht.php	(revision 122)
+++ trunk/var/www/info/alkis/alkisinlaybaurecht.php	(revision 123)
@@ -116,5 +116,5 @@
 if (!$res) {
 	echo "\n<p class='err'>Keine Flurst&uuml;cke ermittelt.<br>\nSQL=<br></p>\n";
-	echo "\n<p class='err'>".$sql."</p>\n";
+	if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = ".$gmlid."</p>\n";}
 }
 
Index: trunk/var/www/info/alkis/alkisinlayausk.php
===================================================================
--- trunk/var/www/info/alkis/alkisinlayausk.php	(revision 122)
+++ trunk/var/www/info/alkis/alkisinlayausk.php	(revision 123)
@@ -14,4 +14,6 @@
 	01.02.2011  *Left* Join - Fehlertoleranz bei unvollstaendigen Schluesseltabellen
 	25.07.2011  PostNAS 0.5/0.6 Versionen unterscheiden
+	26.07.2011  debug, SQL nur im Testmodus ausgeben
+	02.11.2011  6.+7. Parameter fuer function eigentuemer()
 
 	ToDo:  Link im neuen Fenster erzwingen (Javascript?), statt _blank = tab
@@ -57,6 +59,8 @@
 $res = pg_prepare("", $sql);
 $res = pg_execute("", $v);
-
-if (!$res) {echo "\n<p class='err'>Fehler bei Flurstuecksdaten\n<br>".$sql."</p>\n";}
+if (!$res) {
+	echo "\n<p class='err'>Fehler bei Flurstuecksdaten.</p>\n";
+	if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
+}
 
 if ($row = pg_fetch_array($res)) {
@@ -118,5 +122,8 @@
 $res = pg_prepare("", $sql);
 $res = pg_execute("", $v);
-if (!$res) {echo "<p class='err'>Fehler bei Lagebezeichnung mit Hausnummer<br>\n".$sql."</p>";}
+if (!$res) {
+	echo "<p class='err'>Fehler bei Lagebezeichnung mit Hausnummer.</p>";
+	if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
+}
 $j=0;
 while($row = pg_fetch_array($res)) {
@@ -156,6 +163,8 @@
 $resg = pg_prepare("", $sql);
 $resg = pg_execute("", $v);
-
-if (!$resg) echo "\n<p class='err'>Keine Buchungen.<br>\nSQL= ".$sql."</p>\n";
+if (!$resg) {
+	echo "\n<p class='err'>Keine Buchungen.</p>\n";
+	if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
+}
 while($rowg = pg_fetch_array($resg)) {
 	$beznam=$rowg["bezeichnung"];
@@ -209,5 +218,5 @@
 
 		// Ausgabe Name in Function
-		$n = eigentuemer($con, $gkz, false, $rowg["gml_id"], false); // hier ohne Adressen
+		$n = eigentuemer($con, $gkz, false, $rowg["gml_id"], false, $showkey, $debug); // hier ohne Adressen
 
 		if ($n == 0) { // keine Namensnummer, kein Eigentuemer
Index: trunk/var/www/info/alkis/alkisrelationen.php
===================================================================
--- trunk/var/www/info/alkis/alkisrelationen.php	(revision 122)
+++ trunk/var/www/info/alkis/alkisrelationen.php	(revision 123)
@@ -12,4 +12,5 @@
 	17.12.2010  Astrid Emde: Prepared Statements (pg_query -> pg_prepare + pg_execute)
 	11.07.2011  Ersetzen $self durch $_SERVER['PHP_SELF']."?"
+	02.11.2011  h3
 */
 ini_set('error_reporting', 'E_ALL');
@@ -18,5 +19,4 @@
 require_once("alkis_conf_location.php");
 if ($auth == "mapbender") {
-	// Bindung an Mapbender-Authentifizierung
 	require_once($mapbender);
 }
@@ -40,17 +40,12 @@
 $otyp=htmlentities($otyp, ENT_QUOTES, "UTF-8");
 $con = pg_connect("host=".$dbhost." port=".$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass);
-if (!$con) echo "<p class='err'>Fehler beim Verbinden der DB</p>\n";
-
-// Balken
-echo "\n<p class='bezieh'>Beziehungen ".$gmlid."</p>";
+echo "\n<p class='bezieh'>Beziehungen ".$gmlid."</p>"; // Balken
 
 echo "\n\n<h2><img src='ico/Beziehung.ico' width='16' height='16' alt=''> Beziehungen</h2>";
-if (!$con) {echo "\n<p class='err'>Fehler beim Verbinden der DB.</p>";
+if (!$con) {
+	echo "\n<p class='err'>Fehler beim Verbinden der DB.</p>";
 } else {
-	echo "\n<p>von ALKIS-".$otyp."</p>";
-	echo "<p>gml_id =</p>";
-	echo "\n\n<h3 title='Die gml_is ist global eindeutig'>".$gmlid."</h3>";
+	echo "\n\n<h3 title='Die gml_is ist global eindeutig'>ALKIS-".$otyp." mit gml_id = '".$gmlid."'</h3>";
 	$sql="SELECT beziehungsart, beziehung_zu FROM alkis_beziehungen WHERE beziehung_von= $1;";
-
 	$v = array($gmlid);
 	$res = pg_prepare("", $sql);
@@ -58,5 +53,5 @@
 
 	echo "\n<table>";
-	if (!$res) { // vorab Anzahl der Saetze ermitteln?
+	if (!$res) {
 		echo "\n<tr>\n\t<td colspan=3><b>Keine</b> Beziehungen vom Objekt</td>\n</tr>";
 	} else {
@@ -70,8 +65,9 @@
 			$i++;
 		}
-		if ($i == 0) echo "<tr><td colspan=3>.. keine</td></tr>";
+		if ($i == 0) {
+			echo "<tr><td colspan=3>.. keine</td></tr>";
+		}
 	}
 	$sql="SELECT beziehungsart, beziehung_von FROM alkis_beziehungen WHERE beziehung_zu= $1;";
-
 	$v = array($gmlid);
 	$res = pg_prepare("", $sql);
@@ -91,5 +87,7 @@
 			$i++;
 		}
-		if ($i == 0) echo "\n<tr>\n\t<td colspan=3>.. keine</td>\n</tr>";
+		if ($i == 0) {
+			echo "\n<tr>\n\t<td colspan=3>.. keine</td>\n</tr>";
+		}
 	}
 	echo "\n</table>";
Index: trunk/var/www/info/alkis/alkisfshist.php
===================================================================
--- trunk/var/www/info/alkis/alkisfshist.php	(revision 123)
+++ trunk/var/www/info/alkis/alkisfshist.php	(revision 123)
@@ -0,0 +1,254 @@
+<?php
+/*	Modul: alkisfshist.php
+
+	ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo).
+	FlurstÃŒcks-Historie fuer ein FlurstÃŒckskennzeichen aus ALKIS PostNAS
+
+	Version:
+	03.11.2011  Entwurf Prototyp
+
+	Sinnvoller Einstieg als Erweiterung der Navigation (Suche in Flur, (auch) nach Hist-FS).
+	VerknÃŒpfung aus aktuellem FS zur Zeit mangels Verweis nicht mÃ¶glich.
+	Oder kann man Sinvoll in einem Array-Feld suchen?
+
+	Um auch VorgÃ€nger eines aktuellen FlurstÃŒcks zu finden, mÃŒssten die Array-Felder mit den Verweisen
+	als echte Verbindungstabellen aufgelÃ¶st werden (als Nachprozessierung zur Konvertierung in der DB).
+
+	Ein aktuelles FS hat keine Verweise auf VorgÃ€nger.
+	Ein historischs FS (also MIT Raumbezug) hat keine Verweise auf VorgÃ€nger.
+
+	+++ Eine Geometrische VorgÃ€nger-Suche dazu realisieren? Oder besser Hist-Layer in Mapfile als Einstieg.
+	
+	+++ ZusÃ€tzlicher Parameter x/y (aus WMS-Feature-Info) als Geometriescher Einstieg fÃŒr historische FS MIT Raumbezug
+*/
+
+function fzerleg($fs) {
+/*	FlurstÃŒckskennzeichen (20) zerlegen als lesbares Format (wie im Balken):
+	Dies FS-Kennz-Format wird auch als Eingabe in der Navigation akzeptiert 
+   ....*....1....*....2
+   ll    fff     nnnn
+     gggg   zzzzz    __
+*/
+	$fst=rtrim($fs,"_");	
+	$zer=substr ($fst, 2, 4)."-".ltrim(substr($fst, 6, 3), "0")."-".ltrim(substr($fst, 9, 5),"0");
+	$nenn=ltrim(substr($fst, 14), "0");
+	if ($nenn != "") {$zer.="/".$nenn;}
+	return $zer; 
+}
+
+function vornach($dbarr, $gkz, $idanzeige, $showkey) {
+// Datenbank-Array-Feld zeilenweise ausgeben als Selbst-Link
+	if ($dbarr == "") {
+		echo "&nbsp;";
+	} else {
+		$stri=trim($dbarr, "{}");
+		$arr = split(",",$stri);
+		foreach($arr AS $val){
+		   echo "<a title=' zur Flurst&uuml;ck Historie' href='".$_SERVER['PHP_SELF']."?gkz=".$gkz."&amp;fskennz=".$val;
+		   	if ($idanzeige) {echo "&amp;id=j";}
+				if ($showkey)   {echo "&amp;showkey=j";}
+			echo "'>".fzerleg($val)."</a><br>";
+		}
+	}
+	return 0;
+}
+
+session_start();
+$gkz=urldecode($_REQUEST["gkz"]);
+require_once("alkis_conf_location.php");
+if ($auth == "mapbender") {require_once($mapbender);}
+include("alkisfkt.php");
+?>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+	<meta name="author" content="F. Jaeger krz" >
+	<meta http-equiv="cache-control" content="no-cache">
+	<meta http-equiv="pragma" content="no-cache">
+	<meta http-equiv="expires" content="0">
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+	<title>ALKIS Flurst&uuml;cks-Historie</title>
+	<link rel="stylesheet" type="text/css" href="alkisauszug.css">
+	<link rel="shortcut icon" type="image/x-icon" href="ico/Flurstueck_Historisch.ico">
+	<style type='text/css' media='print'>
+		.noprint {visibility: hidden;}
+	</style>
+</head>
+<body>
+<?php
+$gmlid = urldecode($_REQUEST["gmlid"]);
+$fskennz = urldecode($_REQUEST["fskennz"]);
+$id = isset($_GET["id"]) ? $_GET["id"] : "n";
+if ($id == "j") {$idanzeige=true;} else {$idanzeige=false;}
+$keys = isset($_GET["showkey"]) ? $_GET["showkey"] : "n";
+if ($keys == "j") {$showkey=true;} else {$showkey=false;}
+$con = pg_connect("host=".$dbhost." port=" .$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass);
+if (!$con) echo "<p class='err'>Fehler beim Verbinden der DB</p>\n";
+// if ($debug > 1) {echo "<p class='err'>DB=".$dbname.", user=".$dbuser."</p>";}
+
+// Such-Parameter bekommen? Welche?
+if ($gmlid != "") { // Ja, die GML wurde uebergeben
+	$parmtyp="GML";
+	$parmval=$gmlid;
+	$whereclause="WHERE gml_id= $1 ";
+	$v = array($gmlid);
+} else {	// Alternativ: das FlurstÃŒcks-Kennzeichen wurde ÃŒbergeben
+	if ($fskennz != "") {
+		$parmtyp="Flurst&uuml;ckskennzeichen";
+		$parmval=$fskennz;
+		$whereclause="WHERE flurstueckskennzeichen= $1 "; // hinten auffuellen mit _ auf 20 Stellen
+		$v = array($fskennz);
+	} else { // Pfui!
+		$parmtyp="";
+		echo "<p class='err'>Parameter 'gmlid' oder 'fskennz' fehlt.</p>";
+		// ++ Formular ausgeben um das FlurstÃŒckskennzeichen einzugeben? 
+	}
+}
+
+if ($parmtyp != "") { // einer der beiden erlaubten FÃ€lle
+	// UNION-Abfrage auf 3 Ã€hnliche Tabellen, darin aber immr nur 1 Treffer.
+	$sqlu ="SELECT 'a' AS ftyp, gml_id, flurnummer, zaehler, nenner, amtlicheflaeche, zeitpunktderentstehung, gemarkungsnummer, null AS nach, null AS vor ";
+	$sqlu.="FROM ax_flurstueck f ".$whereclause;
+	$sqlu.="UNION ";
+	$sqlu.="SELECT 'h' AS ftyp, gml_id, flurnummer, zaehler, nenner, amtlicheflaeche, zeitpunktderentstehung, gemarkungsnummer, nachfolgerflurstueckskennzeichen AS nach, vorgaengerflurstueckskennzeichen AS vor ";
+	$sqlu.="FROM ax_historischesflurstueck h ".$whereclause;
+	$sqlu.="UNION ";
+	$sqlu.="SELECT 'o' AS ftyp, gml_id, flurnummer, zaehler, nenner, amtlicheflaeche, zeitpunktderentstehung, gemarkungsnummer, nachfolgerflurstueckskennzeichen AS nach, vorgaengerflurstueckskennzeichen AS vor ";
+	$sqlu.="FROM ax_historischesflurstueckohneraumbezug o ".$whereclause;
+	
+	// "name" (FF-Nummer) ist uneinheitlich nach derzeitigem Schema.
+	// Hier spÃ€ter herein nehmen, wenn einheitlich als array in allen DBs und Tabellen definiert:
+	//   f.name character varying,   o.name character varying[]
+	
+	$resu = pg_prepare("", $sqlu);
+	$resu = pg_execute("", $v);
+	if ($rowu = pg_fetch_array($resu)) {
+		$ftyp=$rowu["ftyp"];
+		$gmkgnr=$rowu["gemarkungsnummer"];
+		$flurnummer=$rowu["flurnummer"];
+		$flstnummer=$rowu["zaehler"];
+		$nenner=$rowu["nenner"];
+		if ($nenner > 0) {$flstnummer.="/".$nenner;} // BruchNr
+		$flae=number_format($rowu["amtlicheflaeche"],0,",",".") . " m&#178;";
+	//	$name=$rowu["name"];
+		$gemkname=$gmkgnr; // +++ JOIN auf Schluesseltabelle fehlt noch
+		$entsteh=$rowu["zeitpunktderentstehung"];
+		$vor=$rowu["vor"];
+		$nach=$rowu["nach"];
+		if ($gmlid == "") {$gmlid=$rowu["gml_id"];} // fÃŒr selbst-link-Umschalter ueber footer
+	} else {
+		if ($debug > 1) {echo "<br><p class='err'>Fehler! Kein Treffer f&uuml;r ".$parmtyp." = '".$parmval."'</p><br>";}
+		if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqlu."<br>$1=".$parmtyp." = '".$parmval."'</p>";}
+	}
+}
+
+switch ($ftyp) { // Unterschiede Historisch/Aktuell
+	case 'a': 
+		$wert = "aktuell";
+		$ico= "Flurstueck.ico";
+		$cls= "kennzfs";	
+	break;
+	case 'h': 
+		$wert = "historisch<br>(mit Raumbezug)";
+		$ico= "Flurstueck_Historisch.ico"; // ++ anderes Icon, wenn Geomtrie vorhanden?
+		$cls= "kennzfsh";
+	break;
+	case 'o': 
+		$wert = "historisch<br>ohne Raumbezug";
+		$ico= "Flurstueck_Historisch.ico";
+		$cls= "kennzfsh";
+	break;
+	default:
+		$wert = "<b>nicht gefunden: ".$parmtyp." = '".$parmval."'</b>";
+		$ico= "Flurstueck_Historisch.ico";
+		$cls= "kennzfsh";
+	break;
+}
+
+// Balken
+echo "<p class='fshis'>ALKIS Flurst&uuml;ck ".$gmkgnr."-".$flurnummer."-".$flstnummer."&nbsp;</p>\n";
+echo "\n<h2><img src='ico/".$ico."' width='16' height='16' alt=''> Flurst&uuml;ck Historie</h2>\n";
+
+echo "\n<table class='outer'>\n<tr>\n\t<td>"; // linke Seite
+	// darin Tabelle Kennzeichen
+	echo "\n\t<table class='".$cls."' title='Flurst&uuml;ckskennzeichen'>\n\t<tr>";
+		echo "\n\t\t<td class='head'>Gmkg</td>\n\t\t<td class='head'>Flur</td>\n\t\t<td class='head'>Flurst-Nr.</td>\n\t</tr>";
+		echo "\n\t<tr>\n\t\t<td title='Gemarkung'>";
+		if ($showkey) {echo "<span class='key'>".$gmkgnr."</span><br>";}
+		echo $gemkname."&nbsp;</td>";
+		echo "\n\t\t<td title='Flurnummer'>".$flurnummer."</td>";
+		echo "\n\t\t<td title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'><span class='wichtig'>".$flstnummer."</span></td>\n\t</tr>";
+	echo "\n\t</table>";
+echo "\n\t</td>\n\t<td>"; // rechte Seite
+	// FS-Daten 2 Spalten
+	echo "\n\t<table class='fsd'>";
+		echo "\n\t<tr>\n\t\t<td>Entstehung</td>";
+		echo "\n\t\t<td>".$entsteh."</td>\n\t</tr>";
+	//	echo "\n\t<tr>\n\t\t<td>letz. Fortf</td>";
+	//	echo "\n\t\t<td title='Jahrgang / Fortf&uuml;hrungsnummer - Fortf&uuml;hrungsart'>".$name."</td>";
+		echo "\n\t\t<td>&nbsp;</td><td>&nbsp;</td>"; // Leer-Zeile statt FF-Nr
+		echo "\n\t</tr>";
+	echo "\n\t</table>";
+	if ($idanzeige) {linkgml($gkz, $gmlid, "Flurst&uuml;ck"); }
+echo "\n\t</td>\n</tr>\n</table>";
+echo "\n<hr>";
+//echo "\n<p class='nwlink noprint'>weitere Auskunft:</p>"; // oben rechts von der Tabelle
+
+// if ($debug > 1) {echo "<p class='err'>VOR ".$vor." NACH ".$nach."</p>";}
+
+echo "<table class='outer'>";
+	echo "\n<tr>
+		<td class='head'>Flurst&uuml;ck</td>
+		<td class='head'>Vorg&auml;nger</td>
+		<td class='head'>Nachfolger</td>
+	</tr>"; // Head
+	echo "\n<tr>\n\t<td>";
+	echo "<img src='ico/".$ico."' width='16' height='16' alt=''> ".$wert;
+	echo "<br>Fl&auml;che <span class='flae'>".$flae."</span>";
+	if ($ftyp == "a") { //Aktuell
+		echo "\n<p class='nwlink noprint'>weitere Auskunft: ";
+			echo "<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$gmlid."&amp;eig=n";
+				if ($idanzeige) {echo "&amp;id=j";}
+				if ($showkey)   {echo "&amp;showkey=j";}
+				echo "' title='Flurst&uuml;cksnachweis'>Flurst&uuml;ck ";
+				echo "<img src='ico/Flurstueck_Link.ico' width='16' height='16' alt=''>";
+			echo "</a>";
+	}
+	echo "</td>";
+	echo "\n\t<td>";
+	// In ax_historischesflurstueck ist vorgaenger immer leer!
+	// Man muss wohl geometrisch suchen !?
+	if ($ftyp == "h" and $vor == "") {
+		echo "Geometrische Suche<br>(noch nicht m&ouml;glich)";
+	} else {
+		vornach($vor, $gkz, $idanzeige, $showkey);
+	}
+	echo"</td>\n\t<td>";
+	vornach($nach, $gkz, $idanzeige, $showkey);
+	echo "</td>\n</tr>";
+echo "\n</table>";
+
+// TEST
+if ($debug > 1) {
+	$z=1;
+	while($rowu = pg_fetch_array($resu)) {
+		$ftyp=$rowu["ftyp"];
+		echo "<p class='err'>Mehr als EIN Eintrag gefunden: '".$ftyp."' (".$z.")</p>";
+		$z++;
+	}
+}
+?>
+
+<form action=''>
+	<div class='buttonbereich noprint'>
+	<hr>
+		<input type='button' name='back'  value='&lt;&lt;' title='Zur&uuml;ck'  onClick='javascript:history.back()'>&nbsp;
+		<input type='button' name='print' value='Druck' title='Seite Drucken' onClick='window.print()'>&nbsp;
+		<input type='button' name='close' value='X' title='Fenster schlie&szlig;en' onClick='window.close()'>
+	</div>
+</form>
+
+<?php footer($gkz, $gmlid, $idumschalter, $idanzeige, $_SERVER['PHP_SELF']."?", $hilfeurl, "&amp;eig=".$eig, $showkey); ?>
+
+</body>
+</html>
Index: trunk/var/www/info/alkis/alkisbestnw.php
===================================================================
--- trunk/var/www/info/alkis/alkisbestnw.php	(revision 122)
+++ trunk/var/www/info/alkis/alkisbestnw.php	(revision 123)
@@ -6,15 +6,12 @@
 
 	Version:
-	14.09.2010  Grundbuch unter Flurstueck, BVNR in Tabelle anzeigen und als Sprungmarke
-	15.09.2010  Function "buchungsart" durch JOIN ersetzt
-	14.12.2010  Pfad zur Conf
-	17.12.2010  Astrid Emde: Prepared Statements (pg_query -> pg_prepare + pg_execute)
-	26.01.2011  Space in leere td
-	01.02.2011  *Left* Join - Fehlertoleranz bei unvollstaendigen Schluesseltabellen
-	07.02.2011  ggf. vereinfachte Kopfzeile "Flurstuecke" nach Vorpruefung "Rechte"	
+	07.02.2011  ggf. vereinfachte Kopfzeile "Flurstuecke" nach Vorpruefung "Rechte"
+	26.07.2011  debug, SQL nur im Testmodus anzeigen, Prepared Statements
+	02.11.2011  6. Parameter fuer function eigentuemer()
+
 	ToDo:
 	Zahler fuer Anzahl GB und FS in der Liste (ausgeben wenn > 10)
 */
-ini_set('error_reporting', 'E_ALL');
+//ini_set('error_reporting', 'E_ALL');
 session_start();
 $gkz=urldecode($_REQUEST["gkz"]);
@@ -76,5 +73,6 @@
 
 if (!$res) {
-	echo "<p class='err'>Fehler bei Grundbuchdaten<br>\n".$sql."</p>";
+	echo "<p class='err'>Fehler bei Grundbuchdaten.</p>";
+	if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
 }
 if ($row = pg_fetch_array($res)) {
@@ -118,5 +116,5 @@
 	echo "\n<h3><img src='ico/Eigentuemer_2.ico' width='16' height='16' alt=''> Angaben zum Eigentum</h3>\n";
 	// MIT Adressen. Im offiziellen ALKIS-Buchnachweis hier ohne Adressen.
-	$n = eigentuemer($con, $gkz, $idanzeige, $gmlid, true);
+	$n = eigentuemer($con, $gkz, $idanzeige, $gmlid, true, $showkey, $debug);
 
 	if ($n == 0) { // keine Namensnummer, kein Eigentuemer
@@ -188,5 +186,8 @@
 $res=pg_execute("", $v);
 
-if (!$res) echo "<p class='err'>Fehler bei Buchung.</p>\n";
+if (!$res) {
+	echo "<p class='err'>Fehler bei Buchung.</p>\n";
+	if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
+}
 $i=0;
 while($row = pg_fetch_array($res)) {
@@ -220,11 +221,14 @@
 		$sql.="JOIN alkis_beziehungen v ON s.gml_id=v.beziehung_zu "; 
 		$sql.="LEFT JOIN ax_buchungsstelle_buchungsart b ON s.buchungsart = b.wert ";
-		$sql.="WHERE v.beziehung_von='".$gml_bs."' "; // id buchungsstelle (fiktives Blatt)
+		$sql.="WHERE v.beziehung_von= $1 "; // id buchungsstelle (fiktives Blatt)
 		$sql.="AND (v.beziehungsart='an' OR v.beziehungsart='zu') ";
 		$sql.="ORDER BY s.laufendenummer;";
-
-		$resan=pg_query($con,$sql);
+		$v=array($gml_bs);
+		$resan=pg_prepare("", $sql);
+		$resan=pg_execute("", $v);
+		//$resan=pg_query($con,$sql);
 		if (!$resan) {
-			echo "<p class='err'>Fehler bei 'andere Buchungsstelle'<br>".$sql."</p>\n";
+			echo "<p class='err'>Fehler bei 'andere Buchungsstelle'.</p>\n";
+			if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."</p>";}
 		}
 		$a=0; // count: andere BS
@@ -241,10 +245,15 @@
 			$sql.="JOIN alkis_beziehungen v ON b.gml_id=v.beziehung_zu ";
 			$sql.="LEFT JOIN ax_buchungsblattbezirk z ON b.land=z.land AND b.bezirk=z.bezirk ";
-			$sql.="WHERE v.beziehung_von='".$gml_bsan."' ";
+			$sql.="WHERE v.beziehung_von= $1 ";
 			$sql.="AND v.beziehungsart='istBestandteilVon' ";
 			$sql.="ORDER BY b.land, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung;";
-
-			$fbres=pg_query($con,$sql);
-			if (!$fbres) {echo "<p class='err'>Fehler bei fiktivem Blatt<br>".$sql."</p>\n";}
+			$v=array($gml_bsan);
+			$fbres=pg_prepare("", $sql);
+			$fbres=pg_execute("", $v);
+			//$fbres=pg_query($con,$sql);
+			if (!$fbres) {
+				echo "<p class='err'>Fehler bei fiktivem Blatt.</p>\n";
+				if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."</p>";}			
+			}
 			$b=0;
 			while($fbrow = pg_fetch_array($fbres)) { // genau 1
@@ -393,4 +402,5 @@
 	if (!$resb) {
 		echo "<p class='err'>Fehler bei 'andere Berechtigte Bl&auml;tter:'<br>".$sql."</p>\n";
+		if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
 	}
 	$b=0; // count: Blaetter
Index: trunk/var/www/info/alkis/alkisausk.php
===================================================================
--- trunk/var/www/info/alkis/alkisausk.php	(revision 122)
+++ trunk/var/www/info/alkis/alkisausk.php	(revision 123)
@@ -4,5 +4,5 @@
 	ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo).
 	Dies Programm wird aus dem Mapserver-Template (FeatureInfo) aufgerufen.
-	Parameter:&gkz, &gml_id (optional &id)
+	Parameter: &gkz, &gml_id (optional &id)
 	Dies Programm gibt einen kurzen Ueberblick zum Flurstueck.
 	Eigentuemer ohne Adresse.
@@ -11,12 +11,7 @@
 
 	Version:
-	15.09.2010  Function "buchungsart" durch JOIN ersetzt
-	17.09.2010  Authentifizierung Konfigurierbar
-	14.12.2010  Pfad zur Conf
-	17.12.2010  Astrid Emde: Prepared Statements (pg_query -> pg_prepare + pg_execute)
-	25.01.2011  F. Jäger: Adressen (Lage mit HsNr) zum FS anzeigen	
-					https://trac.wheregroup.com/PostNAS/ticket/6
-	01.02.2011  *Left* Join - Fehlertoleranz bei unvollstaendigen Schluesseltabellen
 	25.07.2011  PostNAS 0.5/0.6 Versionen unterscheiden
+	26.07.2011  debug, SQL nur im Testmodus ausgeben
+	02.11.2011  6.+7. Parameter fuer function eigentuemer()
 */
 ini_set('error_reporting', 'E_ALL');
@@ -72,6 +67,8 @@
 $res = pg_prepare("", $sql);
 $res = pg_execute("", $v);
-
-if (!$res) {echo "\n<p class='err'>Fehler bei Flurstuecksdaten\n<br>".$sql."</p>\n";}
+if (!$res) {
+	echo "\n<p class='err'>Fehler bei Flurstuecksdaten.</p>\n";
+	if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
+}
 
 if ($row = pg_fetch_array($res)) {
@@ -154,5 +151,8 @@
 $res = pg_prepare("", $sql);
 $res = pg_execute("", $v);
-if (!$res) {echo "<p class='err'>Fehler bei Lagebezeichnung mit Hausnummer<br>\n".$sql."</p>";}
+if (!$res) {
+	echo "<p class='err'>Fehler bei Lagebezeichnung mit Hausnummer.</p>";
+	if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
+}
 $j=0;
 while($row = pg_fetch_array($res)) {
@@ -192,6 +192,9 @@
 $resg = pg_prepare("", $sql);
 $resg = pg_execute("", $v);
-
-if (!$resg) echo "\n<p class='err'>Keine Buchungen.<br>\nSQL= ".$sql."</p>\n";
+if (!$resg) {
+	echo "\n<p class='err'>Keine Buchungen.</p>\n";
+	if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
+}
+
 $j=0; // Z.Blatt
 while($rowg = pg_fetch_array($resg)) {
@@ -257,5 +260,5 @@
 
 		// Ausgabe Name in Function
-		$n = eigentuemer($con, $gkz, $idanzeige, $rowg["gml_id"], false); // hier ohne Adressen
+		$n = eigentuemer($con, $gkz, $idanzeige, $rowg["gml_id"], false, $showkey, $debug); // hier ohne Adressen
 
 		if ($n == 0) { // keine Namensnummer, kein Eigentuemer
Index: trunk/var/www/info/alkis/alkisnamstruk.php
===================================================================
--- trunk/var/www/info/alkis/alkisnamstruk.php	(revision 122)
+++ trunk/var/www/info/alkis/alkisnamstruk.php	(revision 123)
@@ -12,6 +12,9 @@
 	26.01.2011  Space in leere td
 	01.02.2011  *Left* Join - Fehlertoleranz bei unvollstaendigen Schluesseltabellen
+	02.11.2011  $sqla, $sqlg, Meldungen mit $debug steuern 
+
 	ToDo: 
 	Sortierung der GrundbÃŒcher zum Namen
+	Mehrere Adressen zum Namen? Historische ausblenden/markieren?
 */
 ini_set('error_reporting', 'E_ALL & ~ E_NOTICE');
@@ -19,8 +22,5 @@
 $gkz=urldecode($_REQUEST["gkz"]);
 require_once("alkis_conf_location.php");
-if ($auth == "mapbender") {
-	// Bindung an Mapbender-Authentifizierung
-	require_once($mapbender);
-}
+if ($auth == "mapbender") {require_once($mapbender);}
 include("alkisfkt.php");
 ?>
@@ -56,6 +56,4 @@
 }
 $con = pg_connect("host=".$dbhost." port=".$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass);
-if (!$con) echo "<p class='err'>Fehler beim Verbinden der DB</p>\n";
-
 // Balken
 echo "<p class='nakennz'>ALKIS Name id=".$gmlid."&nbsp;</p>\n";
@@ -92,16 +90,21 @@
 	// A d r e s s e
 	echo "\n<h3><img src='ico/Strasse_mit_Haus.ico' width='16' height='16' alt=''> Adresse</h3>\n";
-	$sql ="SELECT a.gml_id, a.ort_post, a.postleitzahlpostzustellung AS plz, a.strasse, a.hausnummer, a.bestimmungsland ";
-	$sql.="FROM ax_anschrift a ";
-	$sql.="JOIN alkis_beziehungen b ON a.gml_id=b.beziehung_zu ";
-	$sql.="WHERE b.beziehung_von= $1 ";
-	$sql.="AND b.beziehungsart='hat';"; //"ORDER  BY ?;";
-	//echo "\n<p class='err'>".$sql."</p>\n";
+	$sqla ="SELECT a.gml_id, a.ort_post, a.postleitzahlpostzustellung AS plz, a.strasse, a.hausnummer, a.bestimmungsland ";
+	$sqla.="FROM ax_anschrift a ";
+	$sqla.="JOIN alkis_beziehungen b ON a.gml_id=b.beziehung_zu ";
+	$sqla.="WHERE b.beziehung_von= $1 ";
+	$sqla.="AND b.beziehungsart='hat';"; //"ORDER  BY ?;";
 
 	$v = array($gmlid);
-	$resa = pg_prepare("", $sql);
+	$resa = pg_prepare("", $sqla);
 	$resa = pg_execute("", $v);
 
-	if (!$resa) echo "\n<p class='err'>Fehler bei Adressen.<br>\nSQL= ".$sql."</p>\n";
+	if (!$resa) {
+		echo "\n<p class='err'>Fehler bei Adressen</p>\n";
+		if ($debug > 2) {	
+			echo "<p class='err'>SQL=<br>".$sqla."<br>$1=gml(Person)= '".$gmlid."'</p>\n";
+		}
+	}
+
 	$j=0;
 	while($rowa = pg_fetch_array($resa)) {
@@ -137,26 +140,29 @@
 	//                               >bestehtAusRechtsverhaeltnissenZu> namensnummer   (Nebenzweig/SonderfÃ€lle?)
 
-	$sql ="SELECT n.gml_id AS gml_n, n.laufendenummernachdin1421 AS lfd, n.zaehler, n.nenner, ";
-	$sql.="g.gml_id AS gml_g, g.bezirk, g.buchungsblattnummermitbuchstabenerweiterung as nr, g.blattart, ";
-	$sql.="b.bezeichnung AS beznam ";
-	$sql.="FROM alkis_beziehungen bpn ";
-	$sql.="JOIN ax_namensnummer n ON bpn.beziehung_von=n.gml_id ";
-	$sql.="JOIN alkis_beziehungen bng ON n.gml_id=bng.beziehung_von ";
-	$sql.="JOIN ax_buchungsblatt g ON bng.beziehung_zu=g.gml_id ";
-	$sql.="LEFT JOIN ax_buchungsblattbezirk b ON g.land = b.land AND g.bezirk = b.bezirk ";
-	$sql.="WHERE bpn.beziehung_zu= $1 ";
-	$sql.="AND bpn.beziehungsart='benennt' AND bng.beziehungsart='istBestandteilVon' ";
-	$sql.="ORDER BY g.bezirk, g.buchungsblattnummermitbuchstabenerweiterung;";
+	$sqlg ="SELECT n.gml_id AS gml_n, n.laufendenummernachdin1421 AS lfd, n.zaehler, n.nenner, ";
+	$sqlg.="g.gml_id AS gml_g, g.bezirk, g.buchungsblattnummermitbuchstabenerweiterung as nr, g.blattart, ";
+	$sqlg.="b.bezeichnung AS beznam ";
+	$sqlg.="FROM alkis_beziehungen bpn ";
+	$sqlg.="JOIN ax_namensnummer n ON bpn.beziehung_von=n.gml_id ";
+	$sqlg.="JOIN alkis_beziehungen bng ON n.gml_id=bng.beziehung_von ";
+	$sqlg.="JOIN ax_buchungsblatt g ON bng.beziehung_zu=g.gml_id ";
+	$sqlg.="LEFT JOIN ax_buchungsblattbezirk b ON g.land = b.land AND g.bezirk = b.bezirk ";
+	$sqlg.="WHERE bpn.beziehung_zu= $1 ";
+	$sqlg.="AND bpn.beziehungsart='benennt' AND bng.beziehungsart='istBestandteilVon' ";
+	$sqlg.="ORDER BY g.bezirk, g.buchungsblattnummermitbuchstabenerweiterung;";
 	// buchungsblatt... mal mit und mal ohne fuehrende Nullen, bringt die Sortierung durcheinander
 
-	//echo "\n<p class='err'>".$sql."</p>\n";
 	$v = array($gmlid);
-	$resg = pg_prepare("", $sql);
+	$resg = pg_prepare("", $sqlg);
 	$resg = pg_execute("", $v);
 
-	if (!$resg) echo "\n<p class='err'>Fehler bei Grundbuch.<br>\nSQL= ".$sql."</p>\n";
+	if (!$resg) {
+		echo "\n<p class='err'>Fehler bei Grundbuch</p>\n";
+		if ($debug > 2) {
+			echo "\n<p class='err'>SQL=".$sqlg."</p>\n";
+		}
+	}
 	$j=0;
 	echo "<table class='eig'>";
-
 	echo "\n<tr>";
 		echo "\n\t<td class='head'>Bezirk</td>";
Index: trunk/var/www/info/alkis/alkisgebaeudenw.php
===================================================================
--- trunk/var/www/info/alkis/alkisgebaeudenw.php	(revision 122)
+++ trunk/var/www/info/alkis/alkisgebaeudenw.php	(revision 123)
@@ -5,5 +5,6 @@
 	Version:
 	07.02.2011  *Left* Join - Fehlertoleranz bei unvollstaendigen Schluesseltabellen
-	25.07.2011  PostNAS 0.5/0.6 Versionen unterscheiden	
+	25.07.2011  PostNAS 0.5/0.6 Versionen unterscheiden
+	26.07.2011  debug, SQL nur im Testmodus anzeigen
 	
 	ToDo: lfd.Nr. der NebengebÃ€ude alternativ zur Hausnummer anzeigen.
@@ -59,11 +60,10 @@
 $sqlf.="LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer ";
 $sqlf.="WHERE f.gml_id= $1;";
-
 $v = array($gmlid);
 $resf = pg_prepare("", $sqlf);
 $resf = pg_execute("", $v);
-
 if (!$resf) {
-	echo "\n<p class='err'>Fehler bei Flurst&uuml;cksdaten\n<br>".$sqlf."</p>\n";
+	echo "\n<p class='err'>Fehler bei Flurst&uuml;cksdaten.</p>\n";
+	if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqlf."<br>$1 = gml_id = '".$gmlid."'</p>";}
 }
 
@@ -170,5 +170,4 @@
 // auf Qualifizierung verzichten, sonst werden NebengebÃ€ude nicht angezeigt
 	//$sqlg.="AND (v.beziehungsart='zeigtAuf' OR v.beziehungsart='hat') ";
-
 $sqlg.="ORDER BY schnittflae DESC;";
 
@@ -176,8 +175,7 @@
 $resg = pg_prepare("", $sqlg);
 $resg = pg_execute("", $v);
-
 if (!$resg) {
-	echo "\n<p class='err'>Keine Geb&auml;ude ermittelt.<br>\nSQL=<br></p>\n";
-	echo "\n<p class='err'>".$sqlg."</p>\n";
+	echo "\n<p class='err'>Keine Geb&auml;ude ermittelt.</p>\n";
+	if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqlg."<br>$1 = gml_id = '".$gmlid."'</p>";}
 }
 $gebnr=0;
Index: trunk/var/www/info/alkis/alkislage.php
===================================================================
--- trunk/var/www/info/alkis/alkislage.php	(revision 122)
+++ trunk/var/www/info/alkis/alkislage.php	(revision 123)
@@ -6,12 +6,8 @@
 
 	Version:
-	15.09.2010  Function "buchungsart" durch JOIN ersetzt
-	01.10.2010  Flaeche umgruppiert
-	14.12.2010  Pfad zur Conf
-	17.12.2010  Astrid Emde: Prepared Statements (pg_query -> pg_prepare + pg_execute)
-	01.02.2011  *Left* Join - Fehlertoleranz bei unvollstaendigen Schluesseltabellen
-	07.02.2011  JOIN ax_gemeinde auch ueber regierungsbezirk
 	11.07.2011  Ersetzen $self durch $_SERVER['PHP_SELF']."?"
 	25.07.2011  PostNAS 0.5/0.6 Versionen unterscheiden
+	26.07.2011  debug, SQL nur im Testmodeus ausgeben
+
 	ToDo: Entschluesseln Kreis usw.
 */
@@ -118,6 +114,8 @@
 $res = pg_prepare("", $sql);
 $res = pg_execute("", $v);
-
-if (!$res) echo "\n<p class='err'>Fehler bei Lagebezeichnung\n<br>".$sql."</p>\n";
+if (!$res) {
+	echo "\n<p class='err'>Fehler bei Lagebezeichnung.</p>\n";
+	if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
+}
 
 if ($row = pg_fetch_array($res)) {
@@ -255,6 +253,8 @@
 	$resf = pg_prepare("", $sql);
 	$resf = pg_execute("", $v);
-
-	if (!$resf) {echo "<p class='err'>Fehler bei Flurst&uuml;ck<br><br>".$sql."</p>\n";}
+	if (!$resf) {
+		echo "<p class='err'>Fehler bei Flurst&uuml;ck.</p>\n";
+		if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}	
+	}
 
 	echo "\n<table class='fs'>";
@@ -321,6 +321,8 @@
 			$res = pg_prepare("", $sql);
 			$res = pg_execute("", $v);
-
-			if (!$res) echo "\n<p class='err'>Fehler bei Nebengeb&auml;ude.<br>".$sql."</p>\n";
+			if (!$res) {
+				echo "\n<p class='err'>Fehler bei Nebengeb&auml;ude.<br>".$sql."</p>\n";
+				if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."</p>";}
+			}
 			while($row = pg_fetch_array($res)) {
 				echo "\n\t<a href='".$url.$row["gml_id"]."&amp;ltyp=p'>lfd.-Nr ".$row["laufendenummer"]."</a>&nbsp;&nbsp;";
@@ -347,10 +349,11 @@
 			$sql ="SELECT l.gml_id, l.laufendenummer FROM ax_lagebezeichnungmitpseudonummer l ";
 			$sql.=$whereclaus."AND pseudonummer= $6 AND laufendenummer <> $7 ORDER BY laufendenummer;";
-
 			$v = array($land,$regbez,$kreis,$gem,$lage,$pseu,$lfd);
 			$res = pg_prepare("", $sql);
 			$res = pg_execute("", $v);
-
-			if (!$res) echo "\n<p class='err'>Fehler bei Nebengeb&auml;ude.<br>".$sql."</p>\n";
+			if (!$res) {
+				echo "\n<p class='err'>Fehler bei Nebengeb&auml;ude.</p>\n";
+				if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."</p>";}			
+			}
 			while($row = pg_fetch_array($res)) {
 				echo "\n\t<a href='".$url.$row["gml_id"]."&amp;ltyp=p'>lfd.-Nr ".$row["laufendenummer"]."</a>&nbsp;&nbsp;";
@@ -388,10 +391,11 @@
 	$sql.="LEFT JOIN ax_gebaeude_funktion u ON g.gebaeudefunktion = u.wert ";
 	$sql.="WHERE v.beziehung_zu= $1 AND v.beziehungsart= $2 ;";
-
 	$v = array($gmlid,$bezart);
 	$res = pg_prepare("", $sql);
 	$res = pg_execute("", $v);
-
-	if (!$res) echo "<p class='err'>Fehler bei Gebaeude.<br>".$sql."</p>\n";
+	if (!$res) {
+		echo "<p class='err'>Fehler bei Gebaeude.</p>\n";
+		if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
+	}
 	$i=0;
 	while($row = pg_fetch_array($res)) { // Only You!
Index: trunk/data/konvert/postnas_0.6/nutzungsart_definition.sql
===================================================================
--- trunk/data/konvert/postnas_0.6/nutzungsart_definition.sql	(revision 122)
+++ trunk/data/konvert/postnas_0.6/nutzungsart_definition.sql	(revision 123)
@@ -15,6 +15,6 @@
 -- Stand 
 --  2010-11-10  
-
---  2011-07-25 PostNAS 06, Umbenennung
+--  2011-07-25  PostNAS 06, Umbenennung
+--  2011-11-04  gml_id auf (32) erweitert, aber nach Test rÃŒckgÃ€ngig gemacht
 
 
@@ -32,11 +32,11 @@
 
 CREATE TABLE nutzung_meta (
-  nutz_id           integer NOT NULL,
-  gruppe            character varying(30),
-  source_table      character varying(50),
-  title             character varying(50),
-  fldclass          character varying(30),
-  fldinfo           character varying(30),
-  CONSTRAINT nutzung_meta_pk PRIMARY KEY (nutz_id)
+	nutz_id           integer NOT NULL,
+	gruppe            character varying(30),
+	source_table      character varying(50),
+	title             character varying(50),
+	fldclass          character varying(30),
+	fldinfo           character varying(30),
+	CONSTRAINT nutzung_meta_pk PRIMARY KEY (nutz_id)
 );
 
@@ -54,16 +54,17 @@
 -- Dies ist die Voraussetzung fÃŒr eine performante Auskunft.
 
-CREATE TABLE nutzung
-( gml_id       character(16),
-  nutz_id      integer,
-  class        integer,
-  info         integer,
-  zustand      integer,
-  "name"       character varying(50),
-  bezeichnung  character varying(50),
-  CONSTRAINT nutzung_pk      PRIMARY KEY (gml_id),
-  CONSTRAINT nutzung_meta_id FOREIGN KEY (nutz_id)
-      REFERENCES nutzung_meta (nutz_id) MATCH SIMPLE
-      ON UPDATE NO ACTION ON DELETE CASCADE
+CREATE TABLE nutzung (
+	gml_id		character(16),
+--	gml_id		character varying(32),
+	nutz_id		integer,
+	class		integer,
+	info		integer,
+	zustand		integer,
+	"name"		character varying(50),
+	bezeichnung	character varying(50),
+	CONSTRAINT	nutzung_pk      PRIMARY KEY (gml_id),
+	CONSTRAINT	nutzung_meta_id FOREIGN KEY (nutz_id)
+		REFERENCES nutzung_meta (nutz_id) MATCH SIMPLE
+		ON UPDATE NO ACTION ON DELETE CASCADE
 )
 WITH (OIDS=FALSE);
@@ -93,12 +94,12 @@
 
 CREATE TABLE nutzung_class (
-  nutz_id       integer NOT NULL,
-  class         integer NOT NULL,
-  label         character varying(100),
-  blabla        character varying(1000),
-  CONSTRAINT nutzung_class_pk PRIMARY KEY (nutz_id, class),
-  CONSTRAINT nutzung_class_id FOREIGN KEY (nutz_id)
-      REFERENCES nutzung_meta (nutz_id) MATCH SIMPLE
-      ON UPDATE NO ACTION ON DELETE CASCADE
+	nutz_id       integer NOT NULL,
+	class         integer NOT NULL,
+	label         character varying(100),
+	blabla        character varying(1000),
+	CONSTRAINT nutzung_class_pk PRIMARY KEY (nutz_id, class),
+	CONSTRAINT nutzung_class_id FOREIGN KEY (nutz_id)
+		REFERENCES nutzung_meta (nutz_id) MATCH SIMPLE
+		ON UPDATE NO ACTION ON DELETE CASCADE
 );
 
Index: trunk/data/konvert/postnas_0.6/alkis_PostNAS_0.6_schema.sql
===================================================================
--- trunk/data/konvert/postnas_0.6/alkis_PostNAS_0.6_schema.sql	(revision 122)
+++ trunk/data/konvert/postnas_0.6/alkis_PostNAS_0.6_schema.sql	(revision 123)
@@ -6,38 +6,10 @@
 -- Datenbankstruktur PostNAS 0.6  (GDAL aus aktuellem Trunc)
 --
--- Stand 
---  2009-04-02 
---  2009-06-23 Korrektur "punktkennung character(15)" (NAS-Liste)
---             Ein Int-Feld kann keine 15 Stellen aufnehmen.
---  2009-12-28 Abgleich mit der Datenbank aus GDAL 1.7 (Musterkarte RPL GeoInfoDok 6)
---  2010-01-04 Abgleich mit der Datenbank aus GDAL 1.7 (ALKIS Lippe GeoInfoDok 5.1.1)
---  2010-01-11 Felder fuer Verbindungen auskommentiert, 
---             die jetzt zentral in "alkis_beziehungen" verwaltet werden.
---  2010-01-13 Austausch "character" (feste LÃ€nge!) durch "character varying" bei zahlreichen Feldern.
---             Die Standard-Felder "gml_id" und "beginnt" behalten feste LÃ€nge.
---  2010-01-21 FeldlÃ€ngen, Indices
---  2010-01-26 Strassenschluessel integer oder Char?
---  2010-09-24 Index auf ap_pto.art
---  2010-10-12 Feldlaenge ap_ppo.art von 11 auf 20, Kommentare zu PrÃ€sentationsobjekten
---  2010-11-08 Informationen aus Dokumentation eingepflegt (neue Felder, Kommentare)
---  2010-11-10 Statt alphabetischer Sortierung nach "Name der Tabelle": 
---             Sortierung nach der fachlichen Gliederung der Dokumentation
---             Begonnen zunÃ€chst fuer "Objektbereich:TatsÃ€chliche Nutzung".
---             Neue Tabelle "ax_meer".
+-- Stand
+-- -----
+
 --  2010-11-17 Such-Index (fuer Navigation) auf LagebezeichnungOhneHausnummer und LagebezeichnungKatalogEintrag
 
 --  2011-02-02 Neue Tabellen:
---               "ax_historischesflurstueck", "ax_baublock", "ax_besondererhoehenpunkt",
---               "ax_einrichtunginoeffentlichenbereichen", "ax_flugverkehrsanlage", "ax_gebaeudeausgestaltung",
---               "ax_gelaendekante", "ax_heilquellegasquelle"
---             ".. DROP CONSTRAINT enforce_geotype_wkb_geometry" fuer mehrere 
---               Tabellen mit mit "gemischter" Geometrie (aus Konvertierung NW18).
---             Umsortierung: statt alphabetische Reihenfolge nun Sortierung nach *Objektartengruppen* laut GeoInfoDok
---              z.B.:
---               - Objektartengruppe: AAA_Praesentationsobjekte
---               - Objektartengruppe: Bauwerke und Einrichtungen in SiedlungsflÃ€chen
---               - Objektartengruppe: Bauwerke, Anlagen und Einrichtungen fÃŒr den Verkehr
---               - Objektartengruppe: Angaben zum FlurstÃŒck
---               - Objektartengruppe: Angaben zur Lage
 
 --  2011-02-07 "gml_id" in fast allen Tabellen als UNIQUE INDEX
@@ -76,4 +48,20 @@
 --             - ax_vorratsbehaelterspeicherbauwerk
 
+--  2011-10-25 FJ: Syntax-Korrektur,
+--                 ax_musterlandesmusterundvergleichsstueck auch POINT-Geometrie?
+
+--  2011-11-02 FJ: Neue Tabellen: ax_fortfuehrungsfall, ax_fortfuehrungsnachweisdeckblatt
+--                                ax_reservierung, ax_punktkennunguntergegangen
+
+--  2011-11-04 FJ: Anpassungen fuer Buchauskunft "Historie" 
+--                 (z.B. Index auf ax_historischesflurstueck.flurstueckskennzeichen)
+
+--  TEST: gml_id von character(16)  auf  character varying(32) erweitert
+--        Bei Daten aus einer FortfÃŒhrung (NBA-Aktualisierung) wird dort Datum/Zeit angehÃ€ngt
+--        Dies Erweiterung ist fÃŒr die FortfÃŒhrungslogik mit Nachprozessierung ÃŒber die Function 
+--        "deletefeature" (siehe unten) aber kontraproduktiv.
+--        Die LÃ¶schanweisung berÃŒcksichtigt nur die ersten 16 Stellen 
+--        Siehe Datei 'delete.sql' in diesem Ordner.
+
 
 --  VERSIONS-NUMMER:
@@ -87,12 +75,5 @@
 -- http://www.bezreg-koeln.nrw.de/extra/33alkis/dokumente/Profile_NRW/5-1-1_ALKIS-OK-NRW_GDB.html
 
--- *****
--- ToDo:
--- *****
-
---   - Abgleich mit GeoInfoDok 6.0-Dokumentation
---   - nicht benÃ¶tigte (immer leere) Felder rausnehmen
---   - Indizierung optimieren?
---
+
 -- -----------------------------------------------
 --
@@ -137,241 +118,19 @@
 
 -- ===========================================================
---  A L K I S  -  L a y e r  -  in alphabetischer Reihenfolge
+--  		A L K I S  -  L a y e r 
 -- ===========================================================
 
 
--- aa
--- ----------------------------------------------
--- Nicht benoetigt?
--- Durch unnoetig umfangreich konfigurierten NBA generiert?
-
--- aa_aktivitaet
--- ----------------------------------------------
---	CREATE TABLE aa_aktivitaet (
---		ogc_fid serial NOT NULL,
---		gml_id character(16),
---		identifier character(28),
---		beginnt character(20),
---		advstandardmodell character(4),
---		status character varying,
---		art character(16),
---		CONSTRAINT aa_aktivitaet_pk PRIMARY KEY (ogc_fid)
---	);
---	-- keine Geometrie, daher ersatzweise: Dummy-Eintrag in Metatabelle
---	INSERT INTO geometry_columns 
---	       (f_table_catalog, f_table_schema, f_table_name, f_geometry_column, coord_dimension, srid, type)
---	VALUES ('', 'public', 'aa_aktivitaet', 'dummy', 2, 25832, 'POINT');
-
-
--- aa_antrag
--- ----------------------------------------------
---	CREATE TABLE aa_antrag (
---		ogc_fid serial NOT NULL,
---		gml_id character(16),
---		identifier character(28),
---		beginnt character(20),
---		advstandardmodell character(4),
---		art character(42),
---		"name" character(15),
---		kennzeichen character(15),
---		antragunterbrochen character(5),
---		verweistauf character varying,
---		bearbeitungsstatus character varying,
---		gebiet character varying,
---		art_ character(16),
---		CONSTRAINT aa_antrag_pk PRIMARY KEY (ogc_fid)
---	);
---	-- keine Geometrie, daher ersatzweise: Dummy-Eintrag in Metatabelle
---	INSERT INTO geometry_columns 
---	       (f_table_catalog, f_table_schema, f_table_name, f_geometry_column, coord_dimension, srid, type)
---	VALUES ('', 'public', 'aa_antrag', 'dummy', 2, 25832, 'POINT');
-
-
--- aa_antragsgebiet
--- ----------------------------------------------
---	CREATE TABLE aa_antragsgebiet (
---		ogc_fid serial NOT NULL,
---		gml_id character(16),
---		identifier character(28),
---		beginnt character(20),
---		advstandardmodell character(4),
---		anlass integer,
---		CONSTRAINT aa_antragsgebiet_pk PRIMARY KEY (ogc_fid)
---	);
---	SELECT AddGeometryColumn('aa_antragsgebiet','wkb_geometry','25832','POLYGON',2);
---	CREATE INDEX aa_antragsgebiet_geom_idx ON aa_antragsgebiet USING gist (wkb_geometry);
-
-
--- aa_meilenstein
--- ----------------------------------------------
---	CREATE TABLE aa_meilenstein (
---		ogc_fid serial NOT NULL,
---		gml_id character(16),
---		identifier character(28),
---		beginnt character(20),
---		advstandardmodell character(4),
---		begonnen character(5),
---		abgeschlossen character(5),
---		erfolgreich character(5),
---		vonantrag character varying,
---		vonvorgang character varying,
---		vonaktivitaet character varying,
---		CONSTRAINT aa_meilenstein_pk PRIMARY KEY (ogc_fid)
---	);
---	-- keine Geometrie
---	-- daher ersatzweise: Dummy-Eintrag in Metatabelle
---	INSERT INTO geometry_columns 
---	       (f_table_catalog, f_table_schema, f_table_name, f_geometry_column, coord_dimension, srid, type)
---	VALUES ('', 'public', 'aa_meilenstein', 'dummy', 2, 25832, 'POINT');
-
-
--- aa_projektsteuerung
--- ----------------------------------------------
---	CREATE TABLE aa_projektsteuerung (
---		ogc_fid serial NOT NULL,
---		gml_id character(16),
---		identifier character(28),
---		beginnt character(20),
---		advstandardmodell character(4),
---		anlassdesprozesses integer,
---		enthaelt character varying,
---		art character(16),
---		CONSTRAINT aa_projektsteuerung_pk PRIMARY KEY (ogc_fid)
---	);
---	-- keine Geometrie, daher ersatzweise: Dummy-Eintrag in Metatabelle
---	INSERT INTO geometry_columns 
---	       (f_table_catalog, f_table_schema, f_table_name, f_geometry_column, coord_dimension, srid, type)
---	VALUES ('', 'public', 'aa_projektsteuerung', 'dummy', 2, 25832, 'POINT');
-
-
--- aa_vorgang
--- ----------------------------------------------
---	CREATE TABLE aa_vorgang (
---		ogc_fid serial NOT NULL,
---		gml_id character(16),
---		identifier character(28),
---		beginnt character(20),
---		advstandardmodell character(4),
---		bearbeitbardurch character varying,
---		enthaelt character varying,
---		status character varying,
---		art character(16),
---		CONSTRAINT aa_vorgang_pk PRIMARY KEY (ogc_fid)
---	);
---	-- keine Geometrie, daher ersatzweise: Dummy-Eintrag in Metatabelle
---	INSERT INTO geometry_columns 
---	       (f_table_catalog, f_table_schema, f_table_name, f_geometry_column, coord_dimension, srid, type)
---	VALUES ('', 'public', 'aa_vorgang', 'dummy', 2, 25832, 'POINT');
-
-
--- ax_
--- ----------------------------------------------
---	CREATE TABLE ax_benutzer
---	(
---	  ogc_fid serial NOT NULL,
---	  gml_id character(16),
---	  identifier character(28),
---	  beginnt character(20),
---	  advstandardmodell character(4),
---	  anlass integer,
---	  profilkennung character(5),
---	  direkt character(4),
---	  ist character varying,
---	  gehoertzu character varying,
---	  CONSTRAINT ax_benutzer_pk PRIMARY KEY (ogc_fid)
---	);
-
-
--- ax_
--- ----------------------------------------------
---	CREATE TABLE ax_benutzergruppemitzugriffskontrolle (
---	  ogc_fid serial NOT NULL,
---	  gml_id character(16),
---	  identifier character(28),
---	  beginnt character(20),
---	  advstandardmodell character(4),
---	  anlass integer,
---	  bezeichnung character(5),
---	  land integer,
---	  stelle integer,
---	  bestehtaus character varying,
---	  query character varying,
---	  zugriffhistorie character(4),
---	  CONSTRAINT ax_benutzergruppemitzugriffskontrolle_pk PRIMARY KEY (ogc_fid)
---	);
-
-
--- ax_
--- ----------------------------------------------
---	CREATE TABLE ax_benutzergruppenba (
---		ogc_fid serial NOT NULL,
---		gml_id character(16),
---		identifier character(28),
---		beginnt character(20),
---		advstandardmodell character(4),
---		bezeichnung character(14),
---		land integer,
---		stelle integer,
---		koordinatenreferenzsystem character varying,
---		bestehtaus character varying,
---		query character varying,
---		art integer,
---		ersterstichtag character(10),
---		intervall character(14),
---		CONSTRAINT ax_benutzergruppenba_pk PRIMARY KEY (ogc_fid)
---	);
-
-
--- ax_
--- ----------------------------------------------
--- CREATE TABLE ax_punktkennunguntergegangen (
---	ogc_fid serial NOT NULL,
---	gml_id character(16),
---	identifier character(28),
---	beginnt character(20),
---	advstandardmodell character(4),
---	anlass integer,
---	punktkennung double precision,
---	art integer,
---	CONSTRAINT ax_punktkennunguntergegangen_pk PRIMARY KEY (ogc_fid)
--- );
-
-
--- ax_
--- ----------------------------------------------
---	CREATE TABLE ax_reservierung (
---		ogc_fid serial NOT NULL,
---		gml_id character(16),
---		identifier character(28),
---		beginnt character(20),
---		advstandardmodell character(4),
---		art integer,
---		nummer character(20),
---		land integer,
---		stelle integer,
---		ablaufderreservierung character(10),
---		antragsnummer character(18),
---		auftragsnummer character(18),
---		"gebietskennung|ax_reservierungsauftrag_gebietskennung|gemarkung" integer,
---		gemarkungsnummer integer,
---		"gebietskennung|ax_reservierungsauftrag_gebietskennung|flur|ax_g" integer,
---		gemarkung integer,
---		gemarkungsteilflur integer,
---		nummerierungsbezirk integer,
---		CONSTRAINT ax_reservierung_pk PRIMARY KEY (ogc_fid)
---	);
-
-
--- 
--- ----------------------------------------------
+-- S o n s t i g e s   B a u w e r k 
+-- ----------------------------------
 CREATE TABLE ks_sonstigesbauwerk (
-  ogc_fid serial NOT NULL,
-  gml_id character(16),
-  identifier character(28),
-  beginnt character(20),
-  sonstigesmodell character(6),
-  anlass integer,
-  bauwerksfunktion integer,
-  CONSTRAINT ks_sonstigesbauwerk_pk PRIMARY KEY (ogc_fid)
+	ogc_fid			serial NOT NULL,
+	gml_id			character(16),	-- character varying(32),
+	identifier		character(28),
+	beginnt			character(20),
+	sonstigesmodell		character(6),
+	anlass			integer,
+	bauwerksfunktion	integer,
+	CONSTRAINT ks_sonstigesbauwerk_pk PRIMARY KEY (ogc_fid)
 );
 
@@ -395,5 +154,5 @@
 	ogc_fid			serial NOT NULL,
 	beziehung_von		character(16),         --> gml_id
-	beziehungsart		character varying(35), --  Liste siehe unten
+	beziehungsart		character varying(35),     --  Liste siehe unten
 	beziehung_zu		character(16),         --> gml_id
 	CONSTRAINT alkis_beziehungen_pk PRIMARY KEY (ogc_fid)
@@ -425,14 +184,13 @@
 -- A n d e r e   F e s t l e g u n g   n a c h   W a s s e r r e c h t
 -- --------------------------------------------------------------------
-CREATE TABLE ax_anderefestlegungnachwasserrecht
-(
-  ogc_fid		serial NOT NULL,
-  gml_id		character(16),
-  identifier		character varying(28),
-  beginnt		character(20),
-  advstandardmodell	character varying(9),
-  anlass		integer,
-  artderfestlegung	integer,
-  CONSTRAINT ax_anderefestlegungnachwasserrecht_pk PRIMARY KEY (ogc_fid)
+CREATE TABLE ax_anderefestlegungnachwasserrecht (
+	ogc_fid				serial NOT NULL,
+	gml_id				character(16),	-- character varying(32),
+	identifier			character varying(28),
+	beginnt				character(20),
+	advstandardmodell		character varying(9),
+	anlass				integer,
+	artderfestlegung		integer,
+	CONSTRAINT ax_anderefestlegungnachwasserrecht_pk PRIMARY KEY (ogc_fid)
 );
 
@@ -452,8 +210,7 @@
 -- B a u b l o c k
 -- ----------------------------------------------
--- neu 02.2011
 CREATE TABLE ax_baublock (
 	ogc_fid serial NOT NULL,
-	gml_id character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier character(28),
 	beginnt character(20),
@@ -478,5 +235,5 @@
 CREATE TABLE ax_besonderertopographischerpunkt (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -505,5 +262,5 @@
 CREATE TABLE ax_bewertung (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -529,5 +286,5 @@
 CREATE TABLE ax_denkmalschutzrecht (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -562,8 +319,7 @@
 -- G e b a e u d e a u s g e s t a l t u n g
 -- -----------------------------------------
--- neu 02.2011
 CREATE TABLE ax_gebaeudeausgestaltung (
 	ogc_fid serial NOT NULL,
-	gml_id character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier character(28),
 	beginnt character(20),
@@ -590,5 +346,5 @@
 CREATE TABLE ax_georeferenziertegebaeudeadresse (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),		-- Inhalt z.B. "2008-06-10T15:19:17Z"
@@ -638,5 +394,5 @@
 CREATE TABLE ax_grablochderbodenschaetzung (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -674,5 +430,5 @@
 CREATE TABLE ax_historischesflurstueckalb (
 	ogc_fid				serial NOT NULL,
-	gml_id				character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier			character varying(28),
 	beginnt				character(20),
@@ -722,11 +478,12 @@
 	advstandardmodell			character(8),
 	anlass					integer,
-	art					character varying[], -- Array?, (60) ist zu kurz!
-	"name"					character varying[], -- Array?, (24) ist zu kurz!
+	art					character varying[], -- Array
+	"name"					character varying[], -- Array
 	land					integer,
 	gemarkungsnummer			integer,
 	flurnummer				integer,
 	zaehler					integer,
-	flurstueckskennzeichen			character(20),
+	nenner					integer,
+	flurstueckskennzeichen			character(20), -- Inhalt rechts mit __ auf 20 aufgefÃŒllt
 	amtlicheflaeche				double precision,
 	abweichenderrechtszustand		character(5),
@@ -737,5 +494,5 @@
 	kreis					integer,
 	gemeinde				integer,
-	vorgaengerflurstueckskennzeichen	character varying[],
+	vorgaengerflurstueckskennzeichen	character varying[],  -- array von FS-Kennzeichen hinten mit __
 	nachfolgerflurstueckskennzeichen	character varying[],
 	blattart				integer,
@@ -768,4 +525,10 @@
 COMMENT ON COLUMN ax_historischesflurstueck.gml_id IS 'Identifikator, global eindeutig';
 
+-- Kennzeichen indizieren, z.B. fuer Suche aus der Historie
+CREATE INDEX ax_historischesflurstueck_kennz
+   ON ax_historischesflurstueck USING btree (flurstueckskennzeichen ASC NULLS LAST);
+COMMENT ON INDEX ax_historischesflurstueck_kennz IS 'Suche nach FlurstÃŒckskennzeichen';
+
+
 
 -- N  a t u r -,  U m w e l t -   o d e r   B o d e n s c h u t z r e c h t
@@ -773,5 +536,5 @@
 CREATE TABLE ax_naturumweltoderbodenschutzrecht (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -807,5 +570,5 @@
 CREATE TABLE ax_schutzgebietnachwasserrecht (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -834,5 +597,5 @@
 CREATE TABLE ax_schutzzone (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -869,5 +632,5 @@
 CREATE TABLE ax_topographischelinie (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character(28),
 	beginnt			character(20),
@@ -910,5 +673,5 @@
 CREATE TABLE ap_ppo (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -941,5 +704,5 @@
 CREATE TABLE ap_lpo (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -975,5 +738,5 @@
 CREATE TABLE ap_pto (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),  -- PostNAS 0.5: bleibt leer 
 	beginnt			character(20),
@@ -1011,5 +774,5 @@
 CREATE TABLE ap_lto (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	beginnt			character(20),
 	advstandardmodell	character varying(9),
@@ -1040,5 +803,5 @@
 CREATE TABLE ap_darstellung (
 	ogc_fid			serial NOT NULL, 
-	gml_id			character(16), 
+	gml_id			character(16),	-- character varying(32), 
 	identifier		character varying(28),		-- leer
 	beginnt			character(20),			-- Datumsformat
@@ -1082,17 +845,17 @@
 CREATE TABLE ax_flurstueck (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),         -- Datenbank-Tabelle interner SchlÃŒssel
-	identifier		character varying(28), -- global eindeutige Objektnummer
+	gml_id			character(16),	-- character varying(32),         -- Datenbank-Tabelle interner SchlÃŒssel
+	identifier		character varying(28), -- Kann wech? redundant: gml_id mit prefix
 	beginnt			character(20),         -- Timestamp der Enststehung
 	advstandardmodell 	character varying(8),  -- steuert die Darstellung nach Kartentyp
 	anlass			integer,               -- 
-	art 			character varying(80), -- benoetigte Feldlaenge iterativ ermitteln
-	"name"			character varying(80), -- benoetigte Feldlaenge iterativ ermitteln
+--	art			character varying[],   -- Wozu braucht man das? Weglassen?
+	"name"			character varying[],   -- 03.11.2011: array, Buchauskunft anpassen!
 	land 			integer,         --
 	gemarkungsnummer 	integer,            --
-	flurnummer		integer,               -- Teile des FlurstÃŒckskennzeichens
+	flurnummer		integer,               -- Teile des FlurstÃŒckskennzeichens (redundant zu flurstueckskennzeichen)
 	zaehler 		integer,            --
 	nenner			integer,         --
-	flurstueckskennzeichen	character(20),
+	flurstueckskennzeichen	character(20),   -- Inhalt rechts mit __ auf 20 aufgefÃŒllt
 	regierungsbezirk	integer,
 	kreis			integer,
@@ -1105,8 +868,35 @@
 	CONSTRAINT ax_flurstueck_pk PRIMARY KEY (ogc_fid)
 );
--- Feld rechtsbehelfsverfahren
---	Inhalt 'false' 
---	PostNAS 0.5 legt an: character(5)
---	boolean --> Konverter-Fehler: ERROR:  column "rechtsbehelfsverfahren" is of type boolean but expression is of type integer
+
+-- MUSTER aus native PostNAS 06
+--  ogc_fid serial NOT NULL,
+--  wkb_geometry geometry,
+--  gml_id character varying(32),
+--  identifier character varying(28),
+--  beginnt character varying(20),
+--  advstandardmodell character varying(4),
+--  anlass integer,
+--  art character varying[],
+--  "name" character varying[],
+--  uri character varying(28),
+--  land integer,
+--  gemarkungsnummer integer,
+--  zaehler integer,
+--  flurstueckskennzeichen character varying(20),
+--  amtlicheflaeche integer,
+--  flurnummer integer,
+--  abweichenderrechtszustand character varying(5),
+--  rechtsbehelfsverfahren character varying(5),
+--  zeitpunktderentstehung character varying(10),
+--  "gemeindezugehoerigkeit|ax_gemeindekennzeichen|land" integer,
+--  regierungsbezirk integer,
+--  kreis integer,
+--  gemeinde integer,
+--  "zustaendigestelle|ax_dienststelle_schluessel|land" integer,
+--  stelle integer,
+--  istgebucht character varying,
+--  zeigtauf character varying,
+--  weistauf character varying,
+-- MUSTER ENDE
 
 SELECT AddGeometryColumn('ax_flurstueck','wkb_geometry','25832','MULTIPOLYGON',2);
@@ -1123,4 +913,9 @@
 COMMENT ON TABLE  ax_flurstueck        IS 'F l u r s t u e c k';
 COMMENT ON COLUMN ax_flurstueck.gml_id IS 'Identifikator, global eindeutig';
+
+-- Kennzeichen indizieren, z.B. fuer Suche aus der Historie
+CREATE INDEX ax_flurstueck_kennz
+   ON ax_flurstueck USING btree (flurstueckskennzeichen ASC NULLS LAST);
+COMMENT ON INDEX ax_flurstueck_kennz IS 'Suche nach FlurstÃŒckskennzeichen';
 
 -- Relationen:
@@ -1134,5 +929,5 @@
 CREATE TABLE ax_besondereflurstuecksgrenze (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -1159,5 +954,5 @@
 CREATE TABLE ax_grenzpunkt (
 	ogc_fid				serial NOT NULL,
-	gml_id				character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier			character varying(28),
 	beginnt				character(20),
@@ -1208,5 +1003,5 @@
 CREATE TABLE ax_lagebezeichnungohnehausnummer (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -1243,5 +1038,5 @@
 CREATE TABLE ax_lagebezeichnungmithausnummer (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -1288,5 +1083,5 @@
 CREATE TABLE ax_lagebezeichnungmitpseudonummer (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -1331,5 +1126,5 @@
 CREATE TABLE ax_aufnahmepunkt (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	beginnt			character(20),
 	advstandardmodell	character varying(9),
@@ -1363,5 +1158,5 @@
 CREATE TABLE ax_sonstigervermessungspunkt (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -1403,5 +1198,5 @@
 CREATE TABLE ax_punktortag (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -1434,5 +1229,5 @@
 CREATE TABLE ax_punktortau (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -1467,5 +1262,5 @@
 CREATE TABLE ax_punktortta (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -1510,18 +1305,84 @@
 --   ===================================================================
 
---AX_FortfuehrungsnachweisDeckblatt
-
---AX_Fortfuehrungsfall
-
+
+-- F o r t f u e h r u n g s n a c h w e i s / D e c k b l a t t
+-- --------------------------------------------------------------
+-- neu 02.11.2011
+
+CREATE TABLE ax_fortfuehrungsnachweisdeckblatt (
+	ogc_fid				serial NOT NULL,
+	gml_id				character(16),
+	identifier			character varying(28),
+	beginnt				character varying(20),
+	advstandardmodell		character varying(4),
+	anlass				integer,
+	art				character varying(43),
+	uri				character varying(28),
+	fortfuehrungsfallnummernbereich	character varying(7),
+	land				integer,
+	gemarkungsnummer		integer,
+	laufendenummer			integer,
+	titel				character varying(21),
+	"ingemarkung|ax_gemarkung_schluessel|land"	integer,
+	"ingemarkung|ax_gemarkung_schluessel|gemarkungsnummer"	integer,
+	erstelltam			character varying(10),
+	fortfuehrungsentscheidungam	character varying(10),
+	fortfuehrungsentscheidungvon	character varying(23),
+	bemerkung			character varying(29),
+	beziehtsichauf			character varying,
+	CONSTRAINT ax_fortfuehrungsnachweisdeckblatt_pk PRIMARY KEY (ogc_fid)
+);
+
+-- Dummy-Eintrag in Metatabelle geometry-columns um PostNAS-Meldungen zu vermeiden:
+INSERT INTO geometry_columns 
+       (f_table_catalog, f_table_schema, f_table_name, f_geometry_column, coord_dimension, srid, type)
+VALUES ('', 'public', 'ax_fortfuehrungsnachweisdeckblatt', 'dummy', 2, 25832, 'POINT');
+
+
+-- F o r t f u e h r u n g s f a l l 
+-- ---------------------------------
+-- neu 02.11.2011
+
+CREATE TABLE ax_fortfuehrungsfall (
+	ogc_fid					serial NOT NULL,
+	gml_id					character(16),
+	identifier				character varying(28),
+	beginnt					character varying(20),
+	advstandardmodell			character varying(4),
+	anlass					integer,
+	art					character varying(37),
+	uri					character varying(28),
+	fortfuehrungsfallnummer			integer,
+	laufendenummer				integer,
+	ueberschriftimfortfuehrungsnachweis	integer[],
+	anzahlderfortfuehrungsmitteilungen	integer,
+	zeigtaufaltesflurstueck			character varying[],
+	zeigtaufneuesflurstueck			character varying[],
+	bemerkung				character varying(14),
+	CONSTRAINT ax_fortfuehrungsfall_pk PRIMARY KEY (ogc_fid)
+);
+
+-- Dummy-Eintrag in Metatabelle geometry-columns um PostNAS-Meldungen zu vermeiden:
+INSERT INTO geometry_columns 
+       (f_table_catalog, f_table_schema, f_table_name, f_geometry_column, coord_dimension, srid, type)
+VALUES ('', 'public', 'ax_fortfuehrungsfall', 'dummy', 2, 25832, 'POINT');
+
+
+--
 --AX_Fortfuehrungsnummer
 
+--
 --AX_Auszug
 
+--
 --AX_K_ANSCHRIFT
 
+--
 --AX_K_AUSGKOPF_Standard
 
+--
 --AX_FGraphik
 
+--
 --AX_Landeswappen
 
@@ -1530,9 +1391,55 @@
 --   ===================================================================
 
---AX_Reservierung
-
---AX_PunktkennungUntergegangen
-
---AX_Reservierungsauftrag_Gebietskennung	Auswahldatentyp
+-- R e s e r v i e r u n g
+-- -----------------------
+-- Neu: 02.11.2011
+
+CREATE TABLE ax_reservierung (
+	ogc_fid			serial NOT NULL,
+	gml_id			character(16),
+	identifier		character varying(28),
+	beginnt			character varying(20),
+	advstandardmodell	character varying(4),
+	art			integer,
+	nummer			character varying(20),
+	land			integer,
+	stelle			integer,
+	ablaufderreservierung	character varying(10),
+	antragsnummer		character varying(13),
+	auftragsnummer		character varying(17),
+	CONSTRAINT ax_reservierung_pk PRIMARY KEY (ogc_fid)
+);
+
+-- Dummy-Eintrag in Metatabelle geometry-columns um PostNAS-Meldungen zu vermeiden:
+INSERT INTO geometry_columns 
+       (f_table_catalog, f_table_schema, f_table_name, f_geometry_column, coord_dimension, srid, type)
+VALUES ('', 'public', 'ax_reservierung', 'dummy', 2, 25832, 'POINT');
+
+
+-- P u n k t k e n n u n g  U n t e r g e g a n g e n
+-- --------------------------------------------------
+-- Neu: 02.11.2011
+
+CREATE TABLE ax_punktkennunguntergegangen (
+	ogc_fid			serial NOT NULL,
+	gml_id			character(16),
+	identifier		character varying(28),
+	beginnt			character varying(20),
+	advstandardmodell	character varying(4),
+	sonstigesmodell		character varying(6),
+	anlass			integer,
+	punktkennung		character varying(15),
+	art			integer,
+	CONSTRAINT ax_punktkennunguntergegangen_pk PRIMARY KEY (ogc_fid)
+);
+
+-- Dummy-Eintrag in Metatabelle geometry-columns um PostNAS-Meldungen zu vermeiden:
+INSERT INTO geometry_columns 
+       (f_table_catalog, f_table_schema, f_table_name, f_geometry_column, coord_dimension, srid, type)
+VALUES ('', 'public', 'ax_punktkennunguntergegangen', 'dummy', 2, 25832, 'POINT');
+
+
+
+--AX_Reservierungsauftrag_Gebietskennung
 
 
@@ -1553,8 +1460,10 @@
 	land					integer,
 	gemarkungsnummer			integer,
+	flurnummer				integer,
 	zaehler					integer,
+	nenner					integer, 
 	flurstueckskennzeichen			character(20),
 	amtlicheflaeche				integer,
-	flurnummer				integer,
+
 	abweichenderrechtszustand		character(5), -- boolean? Inhalt 'false'
 	rechtsbehelfsverfahren			character(5), -- boolean? Inhalt 'false'
@@ -1563,5 +1472,4 @@
 	vorgaengerflurstueckskennzeichen	character varying[], -- Array {a,b,c}
 	istgebucht				character varying,
-	nenner					integer,
 	CONSTRAINT ax_historischesflurstueckohneraumbezug_pk PRIMARY KEY (ogc_fid)
 );
@@ -1575,4 +1483,10 @@
 VALUES ('', 'public', 'ax_historischesflurstueckohneraumbezug', 'dummy', 2, 25832, 'POINT');
 
+-- Kennzeichen indizieren, z.B. fuer Suche aus der Historie
+CREATE INDEX ax_hist_fs_ohne_kennz
+   ON ax_historischesflurstueckohneraumbezug USING btree (flurstueckskennzeichen ASC NULLS LAST);
+COMMENT ON INDEX ax_hist_fs_ohne_kennz IS 'Suche nach FlurstÃŒckskennzeichen';
+
+
 
 --*** ############################################################
@@ -1589,23 +1503,25 @@
 -- Buchwerk. Keine Geometrie
 CREATE TABLE ax_person (
-	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
-	identifier		character varying(28),
-	beginnt			character(20),
-	advstandardmodell	character varying(9),
-	anlass			integer,
-	nachnameoderfirma	character varying(100), --(97),
-	anrede			integer,        -- 'Anrede' ist die Anrede der Person. Diese Attributart ist optional, da KÃ¶rperschaften und juristischen Person auch ohne Anrede angeschrieben werden kÃ¶nnen.
+	ogc_fid				serial NOT NULL,
+	gml_id				character(16),	-- character varying(32),
+	identifier			character varying(28),
+	beginnt				character(20),
+	advstandardmodell		character varying(9),
+	--sonstigesmodell		character varying(6),
+	anlass				integer,
+	nachnameoderfirma		character varying(100), --(97),
+	anrede				integer,        -- 'Anrede' ist die Anrede der Person. Diese Attributart ist optional, da KÃ¶rperschaften und juristischen Person auch ohne Anrede angeschrieben werden kÃ¶nnen.
 	-- Bezeichner	Wert
 	--       Frau	1000
 	--       Herr	2000
 	--      Firma	3000
-	vorname			character varying(40),  --(31),
-	geburtsname		character varying(50),  --(36),
-	geburtsdatum		character varying(10),  -- Datumsformat?
-	namensbestandteil	character varying(20),
-	akademischergrad	character varying(16),  -- 'Akademischer Grad' ist der akademische Grad der Person (z.B. Dipl.-Ing., Dr., Prof. Dr.)
-	art			character varying(40),  -- (37)
-	uri			character varying(28),
+	vorname				character varying(40),  --(31),
+	geburtsname			character varying(50),  --(36),
+	geburtsdatum			character varying(10),  -- Datumsformat?
+	namensbestandteil		character varying(20),
+	akademischergrad		character varying(16),  -- 'Akademischer Grad' ist der akademische Grad der Person (z.B. Dipl.-Ing., Dr., Prof. Dr.)
+	--art				character varying(40),  -- (37)  Wozu?
+	--uri				character varying(28),  -- Wozu ?
+	-- hat				character varying,      -- bliebt leer, Beziehung?
 	CONSTRAINT ax_person_pk PRIMARY KEY (ogc_fid)
 );
@@ -1638,18 +1554,42 @@
 -- Konverter versucht Tabelle noch einmal anzulegen, wenn kein (Dummy-) Eintrag in Metatabelle 'geometry_columns'.
 CREATE TABLE ax_anschrift (
-	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
-	identifier		character varying(28),
-	beginnt			character(20),
-	advstandardmodell	character varying(9),
-	anlass			integer,
-	ort_post		character varying(30),
+	ogc_fid				serial NOT NULL,
+	gml_id				character(32), -- 16  TEST
+	identifier			character varying(28),
+	beginnt				character(20),
+	advstandardmodell		character varying(9),
+	--sonstigesmodell		character varying(6),
+	anlass				integer,
+	--art				character varying[],
+	--uri				character varying[],
+	ort_post			character varying(30),
 	postleitzahlpostzustellung	integer,
-	strasse			character varying(40),    -- (28)
-	hausnummer		character varying(9),
-	bestimmungsland		character varying(30),    -- (3)
-	--art			character(37),
+	strasse				character varying(40),
+	hausnummer			character varying(9),
+	bestimmungsland			character varying(30),
 	CONSTRAINT ax_anschrift_pk PRIMARY KEY (ogc_fid)
 );
+
+-- MUSTER native geladen
+--  gml_id character varying(32),  - Datum und Zeit hinter dem Kennzeichen?
+--  ogc_fid serial NOT NULL,
+--  gml_id character varying(32),
+--  identifier character varying(28),
+--  beginnt character varying(20),
+--  advstandardmodell character varying(4),
+--  sonstigesmodell character varying(6),
+--  anlass integer,
+--  art character varying[],
+--  uri character varying[],
+--  ort_post character varying(13),
+--  postleitzahlpostzustellung integer,
+--  bestimmungsland character varying(11),
+--  strasse character varying(13),
+--  hausnummer integer,
+--  CONSTRAINT ax_anschrift_pk PRIMARY KEY (ogc_fid)
+-- ENDE MUSTER native geladen
+
+
+
 -- Dummy-Eintrag in Metatabelle
 INSERT INTO geometry_columns 
@@ -1670,5 +1610,5 @@
 CREATE TABLE ax_namensnummer (
 	ogc_fid				serial NOT NULL,
-	gml_id				character(16),
+	gml_id				character(16),	-- character varying(32),
 	identifier			character varying(28),
 	beginnt				character(20),
@@ -1703,5 +1643,5 @@
 CREATE TABLE ax_buchungsblatt (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -1733,5 +1673,5 @@
 CREATE TABLE ax_buchungsstelle (
 	ogc_fid				serial NOT NULL,
-	gml_id				character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier			character varying(28),
 	beginnt				character(20),
@@ -1788,5 +1728,5 @@
 CREATE TABLE ax_gebaeude (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -1850,5 +1790,5 @@
 CREATE TABLE ax_bauteil (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	beginnt			character(20),
 	advstandardmodell	character varying(9),
@@ -1875,5 +1815,5 @@
 CREATE TABLE ax_besonderegebaeudelinie (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -1899,5 +1839,5 @@
 CREATE TABLE ax_firstlinie (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	beginnt			character(20),
 	advstandardmodell	character varying(9),
@@ -1924,5 +1864,5 @@
 CREATE TABLE ax_besonderergebaeudepunkt (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -1972,5 +1912,5 @@
 CREATE TABLE ax_wohnbauflaeche (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -2003,5 +1943,5 @@
 CREATE TABLE ax_industrieundgewerbeflaeche (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -2042,5 +1982,5 @@
 CREATE TABLE ax_halde
 (	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -2072,5 +2012,5 @@
 CREATE TABLE ax_bergbaubetrieb ( 
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -2104,5 +2044,5 @@
 CREATE TABLE ax_tagebaugrubesteinbruch (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -2133,5 +2073,5 @@
 CREATE TABLE ax_flaechegemischternutzung (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -2165,5 +2105,5 @@
 CREATE TABLE ax_flaechebesondererfunktionalerpraegung (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -2196,5 +2136,5 @@
 CREATE TABLE ax_sportfreizeitunderholungsflaeche (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -2226,5 +2166,5 @@
 CREATE TABLE ax_friedhof (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -2260,5 +2200,5 @@
 CREATE TABLE ax_strassenverkehr (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -2294,5 +2234,5 @@
 CREATE TABLE ax_weg (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -2325,5 +2265,5 @@
 CREATE TABLE ax_platz (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -2355,5 +2295,5 @@
 CREATE TABLE ax_bahnverkehr (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -2396,5 +2336,5 @@
 CREATE TABLE ax_flugverkehr (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -2432,5 +2372,5 @@
 CREATE TABLE ax_schiffsverkehr (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -2466,5 +2406,5 @@
 CREATE TABLE ax_landwirtschaft (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -2494,5 +2434,5 @@
 CREATE TABLE ax_wald (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -2524,5 +2464,5 @@
 CREATE TABLE ax_gehoelz (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -2555,5 +2495,5 @@
 CREATE TABLE ax_heide (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -2581,5 +2521,5 @@
 CREATE TABLE ax_moor (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -2608,5 +2548,5 @@
 CREATE TABLE ax_sumpf (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -2634,5 +2574,5 @@
 CREATE TABLE ax_unlandvegetationsloseflaeche (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -2678,5 +2618,5 @@
 CREATE TABLE ax_fliessgewaesser (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -2708,5 +2648,5 @@
 CREATE TABLE ax_hafenbecken (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -2741,5 +2681,5 @@
 CREATE TABLE ax_stehendesgewaesser (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -2773,5 +2713,5 @@
 CREATE TABLE ax_meer (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -2830,5 +2770,5 @@
 CREATE TABLE ax_turm (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -2855,5 +2795,5 @@
 CREATE TABLE ax_bauwerkoderanlagefuerindustrieundgewerbe (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -2883,5 +2823,5 @@
 CREATE TABLE ax_vorratsbehaelterspeicherbauwerk (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -2918,5 +2858,5 @@
 CREATE TABLE ax_transportanlage (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -2946,5 +2886,5 @@
 CREATE TABLE ax_leitung (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -2972,5 +2912,5 @@
 CREATE TABLE ax_bauwerkoderanlagefuersportfreizeitunderholung (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -3001,5 +2941,5 @@
 CREATE TABLE ax_historischesbauwerkoderhistorischeeinrichtung (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -3032,5 +2972,5 @@
 CREATE TABLE ax_heilquellegasquelle (
 	ogc_fid serial NOT NULL,
-	gml_id character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier character(28),
 	beginnt character(20),
@@ -3059,5 +2999,5 @@
 CREATE TABLE ax_sonstigesbauwerkodersonstigeeinrichtung (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -3088,13 +3028,12 @@
 -- E i n r i c h t u n g  i n  O e f f e n t l i c h e n  B e r e i c h e n 
 -- ------------------------------------------------------------------------
--- neu 02.2011
 CREATE TABLE ax_einrichtunginoeffentlichenbereichen (
-	ogc_fid serial NOT NULL,
-	gml_id character(16),
-	identifier character(28),
-	beginnt character(20),
-	sonstigesmodell character(6),
-	anlass integer,
-	art integer,
+	ogc_fid			serial NOT NULL,
+	gml_id			character(16),	-- character varying(32),
+	identifier		character(28),
+	beginnt			character(20),
+	sonstigesmodell		character(6),
+	anlass			integer,
+	art			integer,
 	CONSTRAINT ax_einrichtunginoeffentlichenbereichen_pk PRIMARY KEY (ogc_fid)
 );
@@ -3116,5 +3055,5 @@
 CREATE TABLE ax_besondererbauwerkspunkt (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -3149,5 +3088,5 @@
 CREATE TABLE ax_bauwerkimverkehrsbereich (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -3178,5 +3117,5 @@
 CREATE TABLE ax_strassenverkehrsanlage (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	beginnt			character(20),
 	advstandardmodell	character varying(9),
@@ -3208,5 +3147,5 @@
 CREATE TABLE ax_wegpfadsteig (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -3237,5 +3176,5 @@
 CREATE TABLE ax_bahnverkehrsanlage (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	beginnt			character(20),
 	advstandardmodell	character varying(9),
@@ -3267,5 +3206,5 @@
 CREATE TABLE ax_gleis (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -3294,16 +3233,15 @@
 -- F l u g v e r k e h r s a n l a g e
 -- -----------------------------------
--- neu 02.2011
 CREATE TABLE ax_flugverkehrsanlage (
-	ogc_fid serial NOT NULL,
-	gml_id character(16),
-	identifier character(28),
-	beginnt character(20),
-	advstandardmodell character(4),
-	sonstigesmodell character(5),
-	anlass integer,
-	art integer,
-	oberflaechenmaterial integer,
-	"name" character(20),
+	ogc_fid			serial NOT NULL,
+	gml_id			character(16),	-- character varying(32),
+	identifier		character(28),
+	beginnt			character(20),
+	advstandardmodell	character(4),
+	sonstigesmodell		character(5),
+	anlass			integer,
+	art			integer,
+	oberflaechenmaterial	integer,
+	"name"			character(20),
 	CONSTRAINT ax_flugverkehrsanlage_pk PRIMARY KEY (ogc_fid)
 );
@@ -3329,5 +3267,5 @@
 CREATE TABLE ax_bauwerkimgewaesserbereich (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -3360,5 +3298,5 @@
 CREATE TABLE ax_vegetationsmerkmal (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -3391,5 +3329,5 @@
 CREATE TABLE ax_gewaessermerkmal (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -3416,5 +3354,5 @@
 CREATE TABLE ax_untergeordnetesgewaesser (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -3464,5 +3402,5 @@
 CREATE TABLE ax_boeschungkliff (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	beginnt			character(20),
 	advstandardmodell	character varying(9),
@@ -3490,5 +3428,5 @@
 CREATE TABLE ax_boeschungsflaeche (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	beginnt			character(20),
 	advstandardmodell	character varying(9),
@@ -3514,5 +3452,5 @@
 CREATE TABLE ax_dammwalldeich (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	beginnt			character(20),
 	advstandardmodell	character varying(9),
@@ -3546,5 +3484,5 @@
 CREATE TABLE ax_felsenfelsblockfelsnadel (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	beginnt			character(20),
 	advstandardmodell	character varying(9),
@@ -3587,17 +3525,16 @@
 -- G e l a e n d e k a n t e
 -- ----------------------------------------------
--- neu 02.2011
 CREATE TABLE ax_gelaendekante (
-	ogc_fid serial NOT NULL,
-	gml_id character(16),
-	identifier character(28),
-	beginnt character(20),
-	advstandardmodell character(4),
-	sonstigesmodell character(5),
-	anlass integer,
-	istteilvon character varying,
-	artdergelaendekante integer,
-	ax_dqerfassungsmethode integer,
-	identifikation integer,
+	ogc_fid			serial NOT NULL,
+	gml_id			character(16),	-- character varying(32),
+	identifier		character(28),
+	beginnt			character(20),
+	advstandardmodell	character(4),
+	sonstigesmodell		character(5),
+	anlass			integer,
+	istteilvon		character varying, -- Beziehung?
+	artdergelaendekante	integer,
+	ax_dqerfassungsmethode	integer,
+	identifikation		integer,
 	CONSTRAINT ax_gelaendekante_pk PRIMARY KEY (ogc_fid)
 );
@@ -3621,14 +3558,13 @@
 -- B e s o n d e r e r   H o e h e n p u n k t
 -- -------------------------------------------------------------
--- Neu 02.2011
 CREATE TABLE ax_besondererhoehenpunkt (
 	ogc_fid serial NOT NULL,
-	gml_id character(16),
-	identifier character(28),
-	beginnt character(20),
-	advstandardmodell character(4),
-	sonstigesmodell character(5),
-	anlass integer,
-	besonderebedeutung integer,
+	gml_id			character(16),	-- character varying(32),
+	identifier		character(28),
+	beginnt			character(20),
+	advstandardmodell	character(4),
+	sonstigesmodell		character(5),
+	anlass			integer,
+	besonderebedeutung	integer,
 	CONSTRAINT ax_besondererhoehenpunkt_pk PRIMARY KEY (ogc_fid)
 );
@@ -3662,5 +3598,5 @@
 CREATE TABLE ax_klassifizierungnachstrassenrecht (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -3698,5 +3634,5 @@
 CREATE TABLE ax_klassifizierungnachwasserrecht (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -3731,5 +3667,5 @@
 CREATE TABLE ax_bauraumoderbodenordnungsrecht (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -3768,5 +3704,5 @@
 CREATE TABLE ax_sonstigesrecht (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -3807,20 +3743,20 @@
 -- ----------------------------------------------
 CREATE TABLE ax_bodenschaetzung (
-	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
-	identifier		character varying(28),
-	beginnt			character(20),
-	advstandardmodell	character varying(9),
-	anlass			integer,
-	art			character varying(40), -- (15)
-	"name"			character varying(33),
-	kulturart				integer,
-	bodenart				integer,
-	zustandsstufeoderbodenstufe		integer,
+	ogc_fid				serial NOT NULL,
+	gml_id				character(16),	-- character varying(32),
+	identifier			character varying(28),
+	beginnt				character(20),
+	advstandardmodell		character varying(9),
+	anlass				integer,
+	art				character varying(40), -- (15)
+	"name"				character varying(33),
+	kulturart			integer,
+	bodenart			integer,
+	zustandsstufeoderbodenstufe	integer,
 	entstehungsartoderklimastufewasserverhaeltnisse	integer,
-	bodenzahlodergruenlandgrundzahl		integer,
-	ackerzahlodergruenlandzahl		integer,
-	sonstigeangaben				integer,
-	jahreszahl				integer,
+	bodenzahlodergruenlandgrundzahl	integer,
+	ackerzahlodergruenlandzahl	integer,
+	sonstigeangaben			integer,
+	jahreszahl			integer,
 	CONSTRAINT ax_bodenschaetzung_pk PRIMARY KEY (ogc_fid)
 );
@@ -3851,5 +3787,5 @@
 CREATE TABLE ax_musterlandesmusterundvergleichsstueck (
 	ogc_fid				serial NOT NULL,
-	gml_id				character(16),
+	gml_id				character(16),	-- character varying(32),
 	identifier			character varying(28),
 	beginnt				character(20), 
@@ -3880,4 +3816,5 @@
   ADD CONSTRAINT enforce_geotype_wkb_geometry CHECK (geometrytype(wkb_geometry) = 'POLYGON'::text 
                                                   OR geometrytype(wkb_geometry) = 'MULTIPOLYGON'::text 
+                                                  OR geometrytype(wkb_geometry) = 'POINT'::text 
                                                   OR wkb_geometry IS NULL);
 
@@ -3900,5 +3837,5 @@
 CREATE TABLE ax_bundesland (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -3925,14 +3862,14 @@
 -- ----------------------------------------------
 CREATE TABLE ax_regierungsbezirk (
-	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
-	identifier		character varying(28),
-	beginnt			character(20),
-	advstandardmodell	character varying(9),
-	anlass			integer,
-	schluesselgesamt	integer,
-	bezeichnung		character varying(20),
-	land			integer,
-	regierungsbezirk	integer,
+	ogc_fid				serial NOT NULL,
+	gml_id				character(16),	-- character varying(32),
+	identifier			character varying(28),
+	beginnt				character(20),
+	advstandardmodell		character varying(9),
+	anlass				integer,
+	schluesselgesamt		integer,
+	bezeichnung			character varying(20),
+	land				integer,
+	regierungsbezirk		integer,
 	CONSTRAINT ax_regierungsbezirk_pk PRIMARY KEY (ogc_fid)
 );
@@ -3955,15 +3892,15 @@
 -- ---------------------------
 CREATE TABLE ax_kreisregion (
-	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
-	identifier		character varying(28),
-	beginnt			character(20),
-	advstandardmodell	character varying(9),
-	anlass			integer,
-	schluesselgesamt	integer,
-	bezeichnung		character varying(20),
-	land			integer,
-	regierungsbezirk	integer,
-	kreis			integer,
+	ogc_fid				serial NOT NULL,
+	gml_id				character(16),	-- character varying(32),
+	identifier			character varying(28),
+	beginnt				character(20),
+	advstandardmodell		character varying(9),
+	anlass				integer,
+	schluesselgesamt		integer,
+	bezeichnung			character varying(20),
+	land				integer,
+	regierungsbezirk		integer,
+	kreis				integer,
 	CONSTRAINT ax_kreisregion_pk PRIMARY KEY (ogc_fid)
 );
@@ -3984,5 +3921,5 @@
 CREATE TABLE ax_gemeinde (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -4019,5 +3956,5 @@
 CREATE TABLE ax_gemarkung (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -4054,5 +3991,5 @@
 CREATE TABLE ax_gemarkungsteilflur (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -4083,5 +4020,5 @@
 CREATE TABLE ax_buchungsblattbezirk (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -4118,5 +4055,5 @@
 CREATE TABLE ax_dienststelle (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -4149,5 +4086,5 @@
 CREATE TABLE ax_lagebezeichnungkatalogeintrag (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -4231,5 +4168,5 @@
 CREATE TABLE ax_kleinraeumigerlandschaftsteil (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	beginnt			character(20),
 	advstandardmodell	character varying(9),
@@ -4259,5 +4196,5 @@
 CREATE TABLE ax_wohnplatz (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	identifier		character varying(28),
 	beginnt			character(20),
@@ -4288,5 +4225,5 @@
 CREATE TABLE ax_kommunalesgebiet (
 	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
+	gml_id			character(16),	-- character varying(32),
 	beginnt			character(20),
 	advstandardmodell	character varying(9),
@@ -4367,11 +4304,11 @@
 
 -- Tabelle delete fÃŒr LÃ¶sch- und FortfÃŒhrungsdatensÃ€tze
-CREATE TABLE "delete"
-(
-  ogc_fid serial NOT NULL,
-  typename character(255),
-  featureid character(32),
-  CONSTRAINT delete_pk PRIMARY KEY (ogc_fid)
-);
+CREATE TABLE "delete" (
+	ogc_fid		serial NOT NULL,
+	typename	character(255),
+	featureid	character(32),
+	CONSTRAINT delete_pk PRIMARY KEY (ogc_fid)
+);
+
 -- Dummy-Eintrag in Metatabelle
 INSERT INTO geometry_columns 
@@ -4382,4 +4319,7 @@
 -- Funktion to run after import of the delete-Layer
 --
+-- Siehe:  http://trac.wheregroup.com/PostNAS/wiki/SchrittfuerSchritt#ImportvonFortf%C3%BChrungsdatens%C3%A4tzen
+-- zu lÃ¶schende Objekte (gml_id, Stelle 1-16) werden zunÃ€chst in die Tabelle 'delete' eingetragen.
+-- Dann werden sie mit dieser Function aus den Fachtabellen und der Beziehungstabelle gelÃ¶scht.
 CREATE FUNCTION deleteFeature(typename text, featureid text) RETURNS text 
 AS $$ 
@@ -4405,8 +4345,4 @@
 
 
--- Indizierung
--- F.J.: Den Abschnitt entfernt am 19.09.2011
--- Die Tabellen sind bereits mit einem UNIQUE INDEX auf "gml_id" versehen:
-
 --
 --          THE  (happy)  END
Index: trunk/data/konvert/postnas_0.6/konv_batch.sh
===================================================================
--- trunk/data/konvert/postnas_0.6/konv_batch.sh	(revision 122)
+++ trunk/data/konvert/postnas_0.6/konv_batch.sh	(revision 123)
@@ -31,4 +31,8 @@
 ##  ##  2011-09-20 Verarbeiten der delete-Eintraege bei Aktualisierung.
 ##                 Siehe http://trac.wheregroup.com/PostNAS/wiki/SchrittfuerSchritt
+##  ##  2011-11-04 Verarbeitung OHNE Parameter 3 Datenbank-User und  4 DB-Passwort.
+##                 Berechtigung regeln über "/etc/postgresql/[version]/main/pg_hba.conf"
+##                 Dort Zeile: "local  [db]  [user]  ident sameuser"
+##       Alt:    # PG:"dbname=${DBNAME} user=${DBUSER} password=${DBPASS} host=localhost port=5432"
 ##
 ## Konverter:   /opt/gdal-1.9/bin/ = GDAL 1.9 / PostNAS 0.6
@@ -43,6 +47,7 @@
 DBNAME=$2
 DBUSER=$3
-DBPASS=$4
-UPD=$5
+#DBPASS=$4
+#UPD=$5
+UPD=$4
 ##
 ## Fehlerprotokoll
@@ -63,19 +68,19 @@
 fi
 ##
-if [ $DBUSER = "" ]
-then
-	echo "Parameter 3 'DB-User' ist leer"
-	exit 3
-fi
+# if [ $DBUSER = "" ]
+# then
+# 	echo "Parameter 3 'DB-User' ist leer"
+# 	exit 3
+# fi
 ##
-if [ $DBPASS = "" ]
-then
-	echo "Parameter 4 'DB-Passwort' ist leer"
-	#exit 4
-	echo "Datenbank-Passwort?  (wird nicht angezeigt)"
-	stty -echo
-	read DBPASS
-	stty echo
-fi
+# if [ $DBPASS = "" ]
+# then
+# 	echo "Parameter 4 'DB-Passwort' ist leer"
+# 	#exit 4
+# 	echo "Datenbank-Passwort?  (wird nicht angezeigt)"
+# 	stty -echo
+# 	read DBPASS
+# 	stty echo
+#fi
 ##
 if [ $UPD = "a" ]
@@ -95,5 +100,5 @@
   echo "Datenbank-Name . . = ${DBNAME}"
   echo "Ordner NAS-Daten . = ${ORDNER}"
-  echo "Datenbank-User . . = ${DBUSER}"
+# echo "Datenbank-User . . = ${DBUSER}"
   echo "Verarbeitungs-Modus= ${verarb}"
   echo " "
@@ -103,5 +108,6 @@
   ls
   # Alte delete-Eintraege (vorangegangener Abbruch?) loeschen, oder abarbeiten?
-  echo 'TRUNCATE table "delete";' | psql $con -U ${DBUSER}
+# echo 'TRUNCATE table "delete";' | psql $con  -U ${DBUSER}
+  echo 'TRUNCATE table "delete";' | psql $con 
   #
 # for zipfile in ${ORDNER}/*.xml.zip ; do 
@@ -125,5 +131,5 @@
         # E R S T L A D E N
         /opt/gdal-1.9/bin/ogr2ogr -f "PostgreSQL" -append  ${update}  -skipfailures \
-           PG:"dbname=${DBNAME} user=${DBUSER} password=${DBPASS} host=localhost port=5432" \
+           PG:"dbname=${DBNAME} host=localhost port=5432" \
            -a_srs EPSG:25832  ${nasdatei}  ${layer}  2>> $errprot
         # Abbruch bei Fehler?
@@ -134,5 +140,5 @@
         echo "- 1. Nur delete-Layer auswerten" 
         /opt/gdal-1.9/bin/ogr2ogr -f "PostgreSQL" -append  ${update}  -skipfailures \
-           PG:"dbname=${DBNAME} user=${DBUSER} password=${DBPASS} host=localhost port=5432" \
+           PG:"dbname=${DBNAME} host=localhost port=5432" \
            -a_srs EPSG:25832  ${nasdatei}  delete  2>> $errprot
         nasresult=$?
@@ -141,9 +147,9 @@
         # Durch die Funktion 'deleteFeature' in der Datenbank die delete-Objekte abarbeiten
         echo "- 1a. delete-Layer abarbeiten:"
-        psql $con -U ${DBUSER}  < /data/konvert/postnas_0.6/delete.sql
+        psql $con  < /data/konvert/postnas_0.6/delete.sql
         #
         echo "- 2. alle Layer auswerten"
         /opt/gdal-1.9/bin/ogr2ogr -f "PostgreSQL" -append  ${update}  -skipfailures \
-          PG:"dbname=${DBNAME} user=${DBUSER} password=${DBPASS} host=localhost port=5432" \
+          PG:"dbname=${DBNAME} host=localhost port=5432" \
           -a_srs EPSG:25832  ${nasdatei}  ${layer}  2>> $errprot
         nasresult=$?
@@ -151,5 +157,5 @@
         #
         echo "- 2a. delete-Layer nochmals leoeschen:"
-        echo 'TRUNCATE table "delete";' | psql $con -U ${DBUSER}
+        echo 'TRUNCATE table "delete";' | psql $con 
       fi
     done
@@ -163,7 +169,7 @@
 ##
   echo "** Optimierte Nutzungsarten neu Laden:"
-  psql -p 5432 -d ${DBNAME}  -U ${DBUSER}  < /data/konvert/postnas_0.6/nutzungsart_laden.sql
+  psql -p 5432 -d ${DBNAME} < /data/konvert/postnas_0.6/nutzungsart_laden.sql
 ##
   echo "** Optimierte Gemeindetabelle neu Laden:"
-  psql -p 5432 -d ${DBNAME}  -U ${DBUSER}  < /data/konvert/postnas_0.6/gemeinden_laden.sql
+  psql -p 5432 -d ${DBNAME} < /data/konvert/postnas_0.6/gemeinden_laden.sql
 ##
Index: trunk/data/konvert/postnas_0.6/ordner_konvertieren.sh
===================================================================
--- trunk/data/konvert/postnas_0.6/ordner_konvertieren.sh	(revision 122)
+++ trunk/data/konvert/postnas_0.6/ordner_konvertieren.sh	(revision 123)
@@ -7,4 +7,5 @@
 ## Stand:
 ##  2011-07-25  PostNAS 06, Umbenennung
+##  2011-11-04  Verarbeitung in konv_batch.sh OHNE Datenbank-Passwort
 ## 
 function get_db_config(){
@@ -22,9 +23,9 @@
 	read DBUSER
 
-	echo ""
-	echo "Datenbank-Passwort?"
-	stty -echo
-		read DBPASS
-	stty echo
+#	echo ""
+#	echo "Datenbank-Passwort?"
+#	stty -echo
+#		read DBPASS
+#	stty echo
 
 	## Ordner (Eingabedaten)
@@ -74,8 +75,7 @@
 echo "** Konvertierung ALKIS **" > /data/konvert/postnas_0.6/log/postnas_err.prot
 echo "** Beginn Batch **"
-#echo "  Kommando fuer Wiederholung:"
-#echo "  /data/konvert/postnas_0.6/konv_batch.sh  $ORDNER  $DBNAME  $DBUSER  $DBPASS  $UPD  "
 ##                                                1        2        3        4        5
-         /data/konvert/postnas_0.6/konv_batch.sh  $ORDNER  $DBNAME  $DBUSER  $DBPASS  $UPD
+#        /data/konvert/postnas_0.6/konv_batch.sh  $ORDNER  $DBNAME  $DBUSER  $DBPASS  $UPD  ## ALT
+         /data/konvert/postnas_0.6/konv_batch.sh  $ORDNER  $DBNAME  $DBUSER  $UPD
 result=$?
 if [ $result = 0 ]
@@ -87,5 +87,5 @@
 echo " "
 echo " Kommando fuer Wiederholung:"
-echo " /data/konvert/postnas_0.6/konv_batch.sh  $ORDNER  $DBNAME  $DBUSER  $DBPASS  $UPD  "
+echo " /data/konvert/postnas_0.6/konv_batch.sh  $ORDNER  $DBNAME  $DBUSER  $UPD "
 echo " "
 ###
Index: trunk/data/konvert/postnas_0.6/konvertierung_kommandos_beispiele.txt
===================================================================
--- trunk/data/konvert/postnas_0.6/konvertierung_kommandos_beispiele.txt	(revision 123)
+++ trunk/data/konvert/postnas_0.6/konvertierung_kommandos_beispiele.txt	(revision 123)
@@ -0,0 +1,34 @@
+
+Beispiele fÃŒr die PostNAS Konvertierung von der Linux-Konsole.
+
+Es werden nicht die Shell-Scripet verwendet, die im Dialog die Parameter abfragen,
+sondern die davon aufgerufenen Shell-Scripte, die angehÃ€ngte Parameter erwarten.
+Diese Kommandos wÃŒrden z.B. fÃŒr nÃ€chtliche LÃ€ufe verwendet.
+
+
+Version:
+ 2011-11-04  "konv_batch.sh" nun ohne DB-User-ID und DB-Passwort
+
+gkz = 290
+
+
+
+Kommandos zum Konvertieren:
+
+Packen:
+/data/konvert/postnas_0.6/zip_ordner.sh /data/nas_daten/290/0003
+
+Neu-Laden:
+/data/konvert/postnas_0.6/konv_batch.sh /data/nas_daten/290/0000 alkis06290_neu e 
+
+
+Datenbank-Tausch nach Neu-Laden:
+  Alter Database alkis06290      rename to  alkis06290_alt;
+  Alter Database alkis06290_neu  rename to  alkis06290;
+
+Aktualisieren:
+/data/konvert/postnas_0.6/konv_batch.sh /data/nas_daten/290/0002 alkis06290 a
+/data/konvert/postnas_0.6/konv_batch.sh /data/nas_daten/290/0003 alkis06290 a
+
+Kontrolle:
+less /data/konvert/postnas_0.6/log/postnas_err.prot
