Index: trunk/var/www/info/alkis/alkisfsnw.php
===================================================================
--- trunk/var/www/info/alkis/alkisfsnw.php	(revision 44)
+++ trunk/var/www/info/alkis/alkisfsnw.php	(revision 45)
@@ -5,9 +5,8 @@
 	02.09.2010  Mit Icons
 	07.09.2010  Kennzeichen-Rahmen f. fiktives Blatt, Schluessel anschaltbar
-	08.09.2010  ..
+	15.09.2010  Function "buchungsart" durch JOIN ersetzt
 
 	ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo).
 	FlurstÃŒcksnachweis fuer ein FlurstÃŒckskennzeichen aus ALKIS PostNAS
-	Parameter:	&gkz= &gmlid= &eig=j/n
 
 	ToDo: NamNum >bestehtAusRechtsverhaeltnissenZu> NamNum
@@ -23,5 +22,5 @@
 <html>
 <head>
-	<meta name="author" content="Frank Jaeger" >
+	<meta name="author" content="b600352" >
 	<meta http-equiv="cache-control" content="no-cache">
 	<meta http-equiv="pragma" content="no-cache">
@@ -166,8 +165,11 @@
 // B U C H U N G S S T E L L E N  zum FS (istGebucht)
 $sql ="SELECT s.gml_id, s.buchungsart, s.laufendenummer as lfd, s.zaehler, s.nenner, ";
-$sql.="s.nummerimaufteilungsplan as nrpl, s.beschreibungdessondereigentums as sond ";
+$sql.="s.nummerimaufteilungsplan as nrpl, s.beschreibungdessondereigentums as sond, b.bezeichner AS bart ";
 //  s.beschreibungdesumfangsderbuchung as umf,  ?
 $sql.="FROM  alkis_beziehungen  v "; // Bez Flurst.- Stelle.
 $sql.="JOIN  ax_buchungsstelle  s ON v.beziehung_zu=s.gml_id ";
+
+$sql.="LEFT JOIN ax_buchungsstelle_buchungsart b ON s.buchungsart = b.wert ";
+
 $sql.="WHERE v.beziehung_von='".$gmlid."' "; // id FS
 $sql.="AND   v.beziehungsart='istGebucht' ";
@@ -179,4 +181,5 @@
 $bs=0; // Z.Buchungsstelle
 while($rows = pg_fetch_array($ress)) {
+
 	// B U C H U N G S B L A T T  zur Buchungsstelle (istBestandteilVon)
 	$sql ="SELECT b.gml_id, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, ";
@@ -190,5 +193,7 @@
 
 	$resg=pg_query($con,$sql);
-	if (!$resg) echo "\n<p class='err'>Keine Buchungsblatt.<br>\nSQL= ".$sql."</p>\n";
+	if (!$resg) {
+		echo "\n<p class='err'>Keine Buchungsblatt.<br>\nSQL= ".$sql."</p>\n";
+	}
 	$bl=0; // Z.Blatt
 	while($rowg = pg_fetch_array($resg)) {
@@ -196,5 +201,6 @@
 		$blattkeyg=$rowg["blattart"];
 		$blattartg=blattart($blattkeyg);
-		echo "\n<hr>\n<table class='outer'>";
+		echo "\n<hr>";
+		echo "\n<table class='outer'>";
 		echo "\n<tr>"; // 1 row only
 			echo "\n\t<td>"; // Outer linke Spalte:
@@ -213,18 +219,25 @@
 					echo "\n\t<tr>";
 						echo "\n\t\t<td title='Grundbuchbezirk'>";
-						if ($showkey) {						
-							echo "<span class='key'>".$rowg["bezirk"]."</span><br>";						
-						}						
-						echo $beznam."</td>";
+							if ($showkey) {						
+								echo "<span class='key'>".$rowg["bezirk"]."</span><br>";						
+							}						
+							echo $beznam;
+						echo "</td>";
+
 						echo "\n\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$rowg["blatt"]."</span></td>";
+
 						echo "\n\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundst&uuml;ck)'>".$rows["lfd"]."</td>";
+
 						echo "\n\t\t<td title='Buchungsart'>";
-						if ($showkey) {
-							echo "<span class='key'>".$rows["buchungsart"]."</span><br>";
-						}
-						echo buchungsart($rows["buchungsart"])."</td>";
+							if ($showkey) {
+								echo "<span class='key'>".$rows["buchungsart"]."</span><br>";
+							}
+							echo $rows["bart"];
+						echo "</td>";
+						
 					echo "\n\t</tr>";
 				echo "\n\t</table>";
 
+				// Miteigentumsanteil
 				if ($rows["zaehler"] <> "") {
 					echo "\n<p class='ant'>".$rows["zaehler"]."/".$rows["nenner"]."&nbsp;Anteil am Flurst&uuml;ck</p>";
@@ -282,20 +295,23 @@
 	}
 
-	// Buchungstelle  >an> Buchungstelle  >istBestandteilVon> BLATT -> Bezirk
+	// Buchungstelle  >an>  Buchungstelle  >istBestandteilVon>  BLATT  ->  Bezirk
 	$sql ="SELECT s.gml_id AS s_gml, s.buchungsart, s.laufendenummer as lfd, ";
 	// , s.beschreibungdesumfangsderbuchung as umf   ?
 	$sql.="s.zaehler, s.nenner, s.nummerimaufteilungsplan as nrpl, s.beschreibungdessondereigentums as sond, ";
 	$sql.="b.gml_id AS g_gml, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, ";
-	$sql.="z.bezeichnung ";  // stelle -> amtsgericht
+	$sql.="z.bezeichnung, a.bezeichner AS bart ";  // stelle -> amtsgericht
 	$sql.="FROM  alkis_beziehungen an "; // Bez. Stelle - Stelle
-	$sql.="JOIN  ax_buchungsstelle s ON an.beziehung_von=s.gml_id ";
-	$sql.="JOIN  alkis_beziehungen v ON s.gml_id=v.beziehung_von "; // Bez. Stelle - Blatt
-	$sql.="JOIN  ax_buchungsblatt  b ON v.beziehung_zu=b.gml_id ";
-	$sql.="JOIN  ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk ";
-	$sql.="WHERE an.beziehung_zu='".$rows["gml_id"]."' "; // id herrschende Buchungsstelle
-	$sql.="AND   an.beziehungsart='an' ";
-	$sql.="AND   v.beziehungsart='istBestandteilVon' ";
-	$sql.="ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung ;";
+	$sql.="JOIN  ax_buchungsstelle s ON an.beziehung_von = s.gml_id ";
+	$sql.="JOIN  alkis_beziehungen v ON s.gml_id = v.beziehung_von "; // Bez. Stelle - Blatt
+	$sql.="JOIN  ax_buchungsblatt  b ON v.beziehung_zu = b.gml_id ";
+	$sql.="JOIN  ax_buchungsblattbezirk z ON z.land = b.land AND z.bezirk = b.bezirk ";
+	$sql.="JOIN  ax_buchungsstelle_buchungsart a ON s.buchungsart = a.wert ";
+	$sql.="WHERE an.beziehung_zu = '".$rows["gml_id"]."' "; // id herrschende Buchungsstelle
+	$sql.="AND   an.beziehungsart = 'an' ";
+	$sql.="AND   v.beziehungsart = 'istBestandteilVon' ";
+	$sql.="ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung;";
+
 	$resan=pg_query($con,$sql);
+
 	if (!$resan) {
 		echo "\n<p class='err'>Keine weiteren Buchungsstellen.<br>\nSQL=<br>".$sql."</p>\n";
@@ -306,4 +322,7 @@
 		$blattkeyan=$rowan["blattart"]; // Schluessel von Blattart
 		$blattartan=blattart($blattkeyan);
+
+		//echo "\n<p class='err'>SQL=<br>".$sql."</p>\n";
+
 		echo "\n<hr>\n<table class='outer'>";
 		echo "\n<tr>"; // 1 row only
@@ -322,4 +341,5 @@
 						echo "\n\t\t<td class='head'>Buchungsart</td>";
 					echo "\n\t</tr>";
+
 					echo "\n\t<tr>";
 						echo "\n\t\t<td title='Grundbuchbezirk'>";
@@ -328,11 +348,16 @@
 						}						
 						echo $beznam."</td>";
+
 						echo "\n\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$rowan["blatt"]."</span></td>";
+
 						echo "\n\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundst&uuml;ck)'>".$rowan["lfd"]."</td>";
+
 						echo "\n\t\t<td title='Buchungsart'>";
-						if ($showkey) {						
-							echo "<span class='key'>".$rowan["buchungsart"]."</span><br>";
-						}
-						echo buchungsart($rowan["buchungsart"])."</td>";
+							if ($showkey) {						
+								echo "<span class='key'>".$rowan["buchungsart"]."</span><br>";
+							}
+							echo $rowan["bart"];
+						echo "</td>";
+
 					echo "\n\t</tr>";
 				echo "\n\t</table>";
@@ -365,10 +390,10 @@
 		}
 
-		// +++ Weitere Felder ausgeben ?? beschreibungdesumfangsderbuchung
+		// +++ Weitere Felder ausgeben ?? BeschreibungDesUmfangsDerBuchung
+		if ($rowan["nrpl"] != "") {
+			echo "<p class='nrap' title='Nummer im Aufteilungsplan'>Nummer <span class='wichtig'>".$rowan["nrpl"]."</span> im Aufteilungsplan.</p>";
+		}
 		if ($rowan["sond"] != "") {
 			echo "<p class='sond' title='Sondereigentum'>Verbunden mit dem Sondereigentum<br>".$rowan["sond"]."</p>";
-		}
-		if ($rowan["nrpl"] != "") {
-			echo "<p class='nrap' title='Nummer im Aufteilungsplan'>Nummer <span class='wichtig'>".$rowan["nrpl"]."</span> im Aufteilungsplan.</p>";
 		}
 
@@ -398,5 +423,5 @@
 </form>
 
-<?php footer($gkz, $gmlid, $idanzeige, $self, $hilfeurl, "&amp;eig=".$eig, $showkey); ?>
+<?php footer($gkz, $gmlid, $idumschalter, $idanzeige, $self, $hilfeurl, "&amp;eig=".$eig, $showkey); ?>
 
 </body>
Index: trunk/var/www/info/alkis/alkisauszug.css
===================================================================
--- trunk/var/www/info/alkis/alkisauszug.css	(revision 44)
+++ trunk/var/www/info/alkis/alkisauszug.css	(revision 45)
@@ -6,5 +6,5 @@
 	02.09.2010  Mit img
 	06.09.2010  Kennzeichen-Rahmenfarben differenziert
-	08.09.2010  ..
+	15.09.2010  ...
 */
 body	{background-color: #FDFFFD;}
@@ -67,11 +67,12 @@
 	border-bottom-width: 2px; 
 	border-top-width: 2px; 
-	width: 80%;
+	width: 60%;
 	border-color: #a2d545;
-	border-style: solid; font-size: 11pt;
+	border-style: solid; 
+	font-size: 12pt;
 	margin-bottom: 8px;
 	margin-top: 8px;
-	margin-left: 0.5in;
-	margin-right: 0.5in;
+	margin-left: 0.7in;
+	/* margin-right: 0.7in; */
 	overflow: auto;
 	padding: 6px;
@@ -97,11 +98,13 @@
 
 td	{vertical-align: top;}			/*  ** Tabellenfelder ** */
-/*td	{vertical-align: top; border: 1px dotted gray; }	 ** Tabellenfelder  Variante f. TEST ** */
+/* td	{vertical-align: top; border: 1px dotted gray; }  Variante fuer TEST */
 
-td.ll	{width: 130px; padding-top: 8px;}	/* ALKIS Datenliste linke Spalte */
-td.lr	{color: black; padding-top: 8px;}	/* .. rechte Spalte */
+td.ll	{width: 130px; padding-top: 8px;}	/* Liste Links */
+td.lr	{color: black; padding-top: 8px;}	/* Liste Rechts */
 td.ph	{color: gray;  padding-top: 8px;}	/* Platzhalter, vorlaeufig, spaeter loschen */
 
-td.fla	{width: 90px; padding-right: 4px; text-align: right;}	/* Flaechen rechtsbuendig (stellengerecht) */
+/* Flaechen rechtsbuendig (stellengerecht) */
+/* td.fla	{width: 90px; padding-right: 4px; text-align: right;} */
+td.fla	{padding-right: 4px; text-align: right;}
 td.key	{width: 35px; padding-right: 4px; padding-left: 4px;}
 /* Ertragsmesszahl der Bodenschaetzung
@@ -120,11 +123,11 @@
 	border-left:0px dotted maroon;	border-right:0px dotted maroon;
 	font-weight: bold;}				/* unter dem Strich = Summenzeile */
-td.bez	{ font-weight: bold;}	/* Beziehungen */
-td.nhd	{ width: 150px; }			/* Namen - linke / rechte Spalte */
-td.nam	{ font-weight: bold;}
-td.gbl {border-top: 1px dotted green;	border-bottom:0px;
-	border-left:0px ;		border-right:0px ;}	/* Name: GB-Liste */
+td.bez	{font-weight: bold;}		/* Beziehungen */
+td.nhd	{width: 150px;}			/* Namen - linke / rechte Spalte */
+td.nam	{font-weight: bold;}
+td.gbl	{border-bottom: 1px dotted green;}	/* Name: GB-Liste */
 
-td.dien	{font-style: italic; color: purple; border-bottom: 1px solid silver;}	/* dienendes GB in FS-Tab im Best-NW */
+/* dienendes GB in FS-Tab im Best-NW  */
+td.dien	{font-size: 9pt; font-style: italic; color: purple; border-bottom: 1px solid silver;}
 
 /* Ueberschriften */
Index: trunk/var/www/info/alkis/alkisrelationen.php
===================================================================
--- trunk/var/www/info/alkis/alkisrelationen.php	(revision 44)
+++ trunk/var/www/info/alkis/alkisrelationen.php	(revision 45)
@@ -9,5 +9,4 @@
 	Link durch "&id=j;" in den anderen Modulen zuschaltbar.
 	Dies ist fuer die Entwicklung der Auskunft gedacht (Sonderfaelle) nicht fuer den Anwender.
-	Parameter:	gkz, gml_id
 */
 ini_set('error_reporting', 'E_ALL');
@@ -20,5 +19,5 @@
 <html>
 <head>
-	<meta name="author" content="Frank Jaeger" >
+	<meta name="author" content="b600352" >
 	<meta http-equiv="cache-control" content="no-cache">
 	<meta http-equiv="pragma" content="no-cache">
Index: trunk/var/www/info/alkis/alkisbestnw.php
===================================================================
--- trunk/var/www/info/alkis/alkisbestnw.php	(revision 44)
+++ trunk/var/www/info/alkis/alkisbestnw.php	(revision 45)
@@ -6,11 +6,9 @@
 	06.09.2010  Schluessel anschaltbar
 	08.09.2010  berechtigte GB-BlÃ€tter an fiktivem Blatt auflisten
-
-ToDo:	Berechtigte GrundbÃŒcher auflisten, z.B. wenn es auch ein Erbbaurecht gibt
-		analog zu fiktives Blatt
-
+	14.09.2010  Grundbuch unter Flurstueck, BVNR in Tabelle anzeigen und als Sprungmarke
+	15.09.2010  Function "buchungsart" durch JOIN ersetzt
+		
 	ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo).
 	Bestandsnachweis fuer ein Grundbuch aus ALKIS PostNAS
-	Parameter:	&gkz= &gmlid
 */
 //ini_set('error_reporting', 'E_ALL & ~ E_NOTICE');
@@ -25,5 +23,5 @@
 <html>
 <head>
-	<meta name="author" content="Frank Jaeger" >
+	<meta name="author" content="b600352" >
 	<meta http-equiv="cache-control" content="no-cache">
 	<meta http-equiv="pragma" content="no-cache">
@@ -79,4 +77,5 @@
 	$blattkey=$row["blattart"]; // Schluessel
 	$blattart=blattart($blattkey);
+
 	// Balken	
 	echo "<p class='gbkennz'>ALKIS Bestand ".$row["bezirk"]." - ".$row["nr"]."&nbsp;</p>\n";
@@ -109,4 +108,5 @@
 			echo "\n\t</tr>";
 		echo "\n\t</table>";
+
 		echo "\n\n\t</td>\n\t<td>";
 		if ($idanzeige) {linkgml($gkz, $gmlid, "Buchungsblatt");}
@@ -116,109 +116,9 @@
 if ($blattkey == 5000) { // fikt. Blatt
 	echo "\n<p>Keine Angaben zum Eigentum bei fiktivem Blatt.</p>\n";
-//	echo "\n<p>Siehe weitere Grundbuchbl&auml;tter mit Rechten an dem fiktiven Blatt.</p>\n";
-	
-	echo "\n<h3><img src='ico/Grundbuch_zu.ico' width='16' height='16' alt=''> Berechtigte Grundb&uuml;cher</h3>\n";
-
-	// b e r e c h t i g t e  Grundbuecher (Buchungsblatt) 
-	// mit Recht "an"/"zu" dem aktuellen fiktiven GB
-
-	$sql ="SELECT bb.gml_id, bb.land, bb.bezirk, bb.buchungsblattnummermitbuchstabenerweiterung AS blatt, bb.blattart, ";
-	$sql.="vs.beziehungsart, ";
-
-	$sql.=" bz.bezeichnung AS beznam, "; // Bezirk
-	$sql.=" ag.bezeichnung, ag.stelle, ag.stellenart "; // Amtsgericht
-
-	$sql.="FROM  alkis_beziehungen  vf ";											// Verbindung fiktiv
-	$sql.="JOIN  ax_buchungsstelle  sf  ON sf.gml_id=vf.beziehung_von ";	// Stelle fiktiv
-	$sql.="JOIN  alkis_beziehungen  vs  ON sf.gml_id=vs.beziehung_zu ";	// Verbindung Stellen
-	$sql.="JOIN  ax_buchungsstelle  sb  ON sb.gml_id=vs.beziehung_von "; // Stelle berechtigt
-	$sql.="JOIN  alkis_beziehungen  vb  ON sb.gml_id=vb.beziehung_von ";	// Verbindung berechtigt
-	$sql.="JOIN  ax_buchungsblatt   bb  ON bb.gml_id=vb.beziehung_zu ";	// Blatt berechtigt
-
-	$sql.="JOIN  ax_buchungsblattbezirk bz ON bb.land=bz.land AND bb.bezirk=bz.bezirk ";
-	$sql.="JOIN  ax_dienststelle ag ON bz.\"gehoertzu|ax_dienststelle_schluessel|land\"=ag.land AND bz.stelle=ag.stelle ";
-
-	$sql.="WHERE vf.beziehung_zu='".$gmlid."' ";
-	$sql.="AND  vf.beziehungsart='istBestandteilVon' ";
-	$sql.="AND (vs.beziehungsart='an' OR vs.beziehungsart='zu') ";
-	$sql.="AND  vb.beziehungsart= 'istBestandteilVon' ";
-	$sql.="ORDER BY bb.land, bb.bezirk, bb.buchungsblattnummermitbuchstabenerweiterung;";
-
-// +++ lfd-BVNR
-
-	$resb=pg_query($con,$sql);
-	if (!$resb) {
-		echo "<p class='err'>Fehler bei 'andere Berechtigte Bl&auml;tter:'<br>".$sql."</p>\n";
-	}
-
-	// Tabelle Kopf ausgeben
-	echo "\n<table class='outer'>";
-	echo "\n<tr>";
-		echo "\n\t<td class='head'>Land</td>";
-		echo "\n\t<td class='head'>Dienststelle</td>";
-		echo "\n\t<td class='head'>Bezirk</td>";
-		echo "\n\t<td class='head'>Blatt</td>";
-		echo "\n\t<td class='head'>Art</td>";
-		echo "\n\t<td class='head nwlink'>Weitere Auskunft</td>";
-	echo "\n</tr>";
-
-	$b=0; // count: Blaetter
-	while($rowb = pg_fetch_array($resb)) {
-		$gml_b=$rowb["gml_id"];  // id des berechtigten Blattes
-		echo "\n<tr>";
-			echo "\n\t<td>".$rowb["land"]."</td>";
-
-			echo "\n\t<td>"; // Amtsgericht
-				echo dienststellenart($rowb["stellenart"])." ";
-				if ($showkey) {				
-					echo "<span class='key'>".$rowb["stelle"]."</span> ";
-				}
-				echo $rowb["bezeichnung"];
-			echo "</td>";
-
-
-			echo "\n\t<td>";
-				if ($showkey) {				
-					echo "<span class='key'>".$rowb["bezirk"]."</span> ";
-				}
-				echo $rowb["beznam"];
-			echo "</td>";
-			
-			echo "\n\t<td><span class='wichtig'>".$rowb["blatt"]."</span>";
-				if ($idanzeige) {linkgml($gkz, $gml_b, "Buchungsblatt");}
-			echo "</td>";
-
-			echo "\n\t<td>";
-				$bart=$rowb["blattart"];
-				if ($showkey) {
-					echo "<span class='key'>".$bart."</span> ";
-				}
-				echo blattart($bart);
-			echo "</td>";
-			
-			echo "\n\t<td>";
-				echo "\n\t\t<p class='nwlink'>";
-			//	echo $rowb["beziehungsart"]." "; // "an"/"zu" ?
-				echo "\n\t\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$gml_b;
-					if ($idanzeige) {echo "&amp;id=j";}
-					if ($showkey)   {echo "&amp;showkey=j";}
-					echo "' title='GB-Nachweis des berechtigten Blattes ".$rowb["beziehungsart"]." dem fiktiven Blatt'>";
-					//echo "Grundbuch-Blatt";
-					echo blattart($bart);
-					echo " \n\t\t\t<img src='ico/GBBlatt_link.ico' width='16' height='16' alt=''></a>";
-				echo "\n\t\t</p>";
-			echo "</td>";
-		echo "\n</tr>";
-		$b++;
-	}
-	echo "\n</table>";
-	if ($b == 0) {
-		echo "<p class='err'>Keine berechtigten Bl&auml;tter zum fiktiven Blatt gefunden.</p>";
-	}
-
 } else { // E I G E N T U E M E R
-
 	echo "\n<h3><img src='ico/Eigentuemer_2.ico' width='16' height='16' alt=''> Angaben zum Eigentum</h3>\n";
+
 	$n = eigentuemer($con, $gkz, $idanzeige, $gmlid, true); // hier mit Adressen
+
 	if ($n == 0) { // keine Namensnummer, kein Eigentuemer
 		echo "\n<p class='err'>Keine Namensnummer gefunden.</p>";
@@ -227,17 +127,26 @@
 	}
 }
-$res="";
-$row="";
-
-echo "\n<hr>\n\n<h3><img src='ico/Flurstueck.ico' width='16' height='16' alt=''> Flurst&uuml;cke</h3>";
+
+echo "\n<hr>\n\n<h3><img src='ico/Flurstueck.ico' width='16' height='16' alt=''> Rechte und Flurst&uuml;cke</h3>";
 echo "\n<table class='fs'>";
-// Kopf der Tabelle
+
+// 2 Kopfzeilen der Tabelle
 echo "\n<tr>";
-	echo "\n\t<td class='head' title='laufende Nummer Bestandsverzeichnis (BVNR) = Grundst&uuml;ck'>lfd.Nr</td>";
+	echo "\n\t<td title='laufende Nummer Bestandsverzeichnis (BVNR) = Grundst&uuml;ck'><span class='wichtig'>BVNR</span></td>";
+	echo "\n\t<td class='dien' title='herrschendes Grundst&uuml;ck'>herrschende Buchungsart</td>";
+	echo "\n\t<td></td>";
+	echo "\n\t<td class='dien'>Bezirk</td>";
+	echo "\n\t<td class='dien'>Blatt</td>";
+	echo "\n\t<td class='dien'>BVNR</td>";
+	echo "\n\t<td class='dien' title='dienendes Grundst&uuml;ck'>Buchungsart</td>";
+	echo "\n\t<td></td>";
+echo "\n</tr>";
+echo "\n<tr>";
+	echo "\n\t<td class='head'>&nbsp;</td>";
 	echo "\n\t<td class='head'>Buchungsart</td>";	//2
 	echo "\n\t<td class='head'>Anteil</td>";
 	echo "\n\t<td class='head'>Gemarkung</td>";		//4
 	echo "\n\t<td class='head'>Flur</td>";				//5
-	echo "\n\t<td class='head' title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'>Flurst.</td>";
+	echo "\n\t<td class='head' title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'><span class='wichtig'>Flurst.</span></td>";
 	echo "\n\t<td class='head fla'>Fl&auml;che</td>"; // 7
 	echo "\n\t<td class='head nwlink' title='Link: weitere Auskunft'>weit. Auskunft</td>";
@@ -245,9 +154,10 @@
 
 // Blatt ->  B u c h u n g s s t e l l e
-// ax_buchungsblatt   >bestehtAus>         ax_buchungsstelle 
 // ax_buchungsblatt   <istBestandteilVon<  ax_buchungsstelle 
-$sql ="SELECT s.gml_id, s.buchungsart, s.laufendenummer AS lfd, s.beschreibungdesumfangsderbuchung AS udb, s.zaehler, s.nenner, s.nummerimaufteilungsplan AS nrap, s.beschreibungdessondereigentums AS sond ";
+$sql ="SELECT s.gml_id, s.buchungsart, s.laufendenummer AS lfd, s.beschreibungdesumfangsderbuchung AS udb, ";
+$sql.="s.zaehler, s.nenner, s.nummerimaufteilungsplan AS nrap, s.beschreibungdessondereigentums AS sond, b.bezeichner as bart ";
 $sql.="FROM  ax_buchungsstelle s ";
 $sql.="JOIN  alkis_beziehungen v ON s.gml_id=v.beziehung_von "; 
+$sql.="LEFT JOIN ax_buchungsstelle_buchungsart b ON s.buchungsart = b.wert ";
 $sql.="WHERE v.beziehung_zu='".$gmlid."' ";
 $sql.="AND   v.beziehungsart='istBestandteilVon' ";
@@ -260,5 +170,6 @@
 	$bvnr   = str_pad($lfdnr, 4, "0", STR_PAD_LEFT);
 	$gml_bs = $row["gml_id"]; // id der buchungsstelle
-	$ba     = buchungsart($row["buchungsart"]);
+	$ba     = $row["bart"]; // Buchungsart aus Schluesseltabelle
+
 	if ($row["zaehler"] == "") {
 		$anteil = "";
@@ -279,10 +190,11 @@
 		//  ax_buchungsstelle  >an>  ax_buchungsstelle (anderes Blatt, z.B Erbbaurecht an)
 
-		// aktuelles Blatt hat Recht "an" fiktives Blatt	
+		// aktuelles Blatt (herrschendes GB) hat Recht "an" fiktives Blatt (dienendes GB-Blatt)
 		// a n d e r e  Buchungsstelle
 		$sql ="SELECT s.gml_id, s.buchungsart, s.laufendenummer AS lfd, s.beschreibungdesumfangsderbuchung AS udb, ";
-		$sql.="v.beziehungsart, s.nummerimaufteilungsplan AS nrap, s.beschreibungdessondereigentums AS sond ";
+		$sql.="v.beziehungsart, s.nummerimaufteilungsplan AS nrap, s.beschreibungdessondereigentums AS sond, b.bezeichner AS bart ";
 		$sql.="FROM  ax_buchungsstelle s ";
 		$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.="AND   (v.beziehungsart='an' OR v.beziehungsart='zu') ";
@@ -296,9 +208,10 @@
 		$altbvnr=""; // Gruppenwechsel
 		while($rowan = pg_fetch_array($resan)) {
-			$lfdnran = $rowan["lfd"];
-			$gml_bsan= $rowan["gml_id"]; // id der buchungsstelle
-			$baan=buchungsart($rowan["buchungsart"]);
+			$lfdnran = $rowan["lfd"];		// BVNR an
+			$gml_bsan= $rowan["gml_id"];	// id der buchungsstelle an
+			$baan= $rowan["bart"];  		// Buchungsart an, entschluesselt
 
 			// a n d e r e s   B l a t t  (an dem das aktuelle Blatt Rechte hat)
+			// dienendes Grundbuch
 			$sql ="SELECT b.gml_id, b.land, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung AS blatt, b.blattart, z.bezeichnung AS beznam ";
 			$sql.="FROM  ax_buchungsblatt  b ";
@@ -327,16 +240,25 @@
 			// G r u n d b u c h d a t e n  zur  a n d e r e n  Buchungsstelle
 			echo "\n<tr>";
+
 				echo"\n\t<td>";			
 					if($bvnr == $altbvnr) {	// gleiches Grundstueck
 						echo "&nbsp;"; // Anzeige unterdruecken
 					} else {
+						echo "<a name='bvnr".$lfdnr."'></a>"; // Sprungmarke				
 						echo "<span class='wichtig'>".$bvnr."</span>"; // Sp.1 Erbbau BVNR
-						if ($idanzeige) linkgml($gkz, $gml_bs, "Buchungsstelle");
+						if ($idanzeige) {linkgml($gkz, $gml_bs, "Buchungsstelle");}
 						$altbvnr = $bvnr; // Gruppenwechsel merken
 					}			
 				echo "</td>";
-				echo "\n\t<td class='dien'>".$ba." an</td>"; // Sp.2 Buchung
+
+				echo "\n\t<td class='dien'>"; // Sp.2 Buchung
+					if ($showkey) {					
+						echo "<span class='key'>".$row["buchungsart"]."</span> ";
+					}
+				echo $ba." an</td>";
+
 				echo "\n\t<td>".$anteil."</td>"; // Sp.3 Anteil
-				echo "\n\t<td class='dien'>Bezirk "; // Sp.4 Gemarkg. hier Bezirk
+
+				echo "\n\t<td class='dien'>"; // Sp.4 Gemarkg. hier Bezirk
 					if ($showkey) {					
 						echo "<span class='key'>".$fbbez."</span> ";
@@ -344,7 +266,24 @@
 					echo $beznam;
 				echo "</td>"; // Sp.4 hier Bezirk
-				echo "\n\t<td>&nbsp;</td>";
-				echo "\n\t<td class='dien'>Blatt ".$fbblatt."</td>"; // Sp.6 Flurst, hier Blatt
-				echo "\n\t<td>&nbsp;</td>"; // Sp.7 Flaeche
+
+				echo "\n\t<td class='dien'>"; // Sp. 5 Blatt
+					echo $fbblatt; // Sp.6 BVNR
+					if ($idanzeige) {
+						linkgml($gkz, $fbgml, "Buchungsblatt");
+					}
+				echo "</td>";
+
+				echo "\n\t<td class='dien'>"; // BVNR
+					echo str_pad($lfdnran, 4, "0", STR_PAD_LEFT);
+					// id ?
+				echo "</td>"; 
+
+				echo "\n\t<td class='dien'>"; // Sp.7 Buchungsart
+					if ($showkey) {
+						echo "<span class='key'>".$rowan["buchungsart"]."</span> ";
+					}
+					echo $baan." ";					
+				echo "</td>";
+
 				echo "\n\t<td>";  // Sp.8 Link ("an" oder "zu" ?)
 					echo "<p class='nwlink'>".$rowan["beziehungsart"];
@@ -352,14 +291,18 @@
 						if ($idanzeige) {echo "&amp;id=j";}
 						if ($showkey)   {echo "&amp;showkey=j";}
+						echo "#bvnr".$lfdnran; // Sprungmarke auf der Seite
 						echo "' title='Grundbuchnachweis des dienenden Blattes'>";
 						echo $fbbart;
 					echo " <img src='ico/GBBlatt_link.ico' width='16' height='16' alt=''></a></p>";
 				echo "</td>";
+
 			echo "\n</tr>"; 
 
 			// F l u r s t u e c k s d a t e n  zur  a n d e r e n  Buchungsstelle
-		   $aj = bnw_fsdaten($con, $gkz, $idanzeige, $lfdnran, $gml_bsan, $baan, $anteil, false); // return = Anzahl der FS
+		//	$aj = bnw_fsdaten($con, $gkz, $idanzeige, $lfdnran, $gml_bsan, $baan, $anteil, false);
+			// Buchungsart wird nur in erster Zeile ausgegeben, hier leer		
+		   $aj = bnw_fsdaten($con, $gkz, $idanzeige, $lfdnran, $gml_bsan, "", $anteil, false); // return = Anzahl der FS
+			
 			// +++ Gibt es ueberhaupt Sondereigentum beim fiktiven Blatt??
-
 			if ($rowan["nrap"] != "") {
 				echo "\n<tr>";
@@ -374,7 +317,26 @@
 
 			$a++;
-			if ($aj == 0) { // keine Flurstuecke gefunden
-				echo "\n<tr>\n\t<td colspan=8><p class='err'>keine Flurst&uuml;cke zu anderer Buchung gefunden</p></td>\n<tr>";
-				linkgml($gkz, $gml_bsan, "Buchungsstelle");
+			if ($aj == 0) { // KEINE Flurstuecke gefunden
+				echo "\n<tr>"; // die Buchung ausgeben, auch ohne Flurstuecke
+					echo"\n\t<td>";
+						if ($idanzeige) {linkgml($gkz, $gml_bsan, "Buchungsstelle");}			
+					echo "</td>";
+
+					echo "\n\t<td>"; // Sp.2 Buchung
+						if ($showkey) {					
+							echo "<span class='key'>".$rowan["buchungsart"]."</span> ";
+						}
+						echo $baan;
+					echo "</td>"; 
+
+					echo "\n\t<td></td>"; // Sp.3 Anteil
+
+					echo "\n\t<td colspan=4>"; // Gemarkg, Flur, Flurst, Flaeche
+						echo "<p class='warn'>(keine Flurst&uuml;cke)";					
+					echo "</td>";
+
+					echo "\n\t<td></td>";  // Sp.8 Link ("an" oder "zu" ?)
+
+				echo "\n</tr>"; 
 			}
 		}
@@ -387,5 +349,4 @@
 				echo "</td>";
 				echo "\n\t<td colspan=7>";
-					//echo "<p class='err'>Zu dieser Buchungsstelle kein Flurst&uuml;ck und keine andere Buchungstelle ('an', 'zu') gefunden.</p>";
 					echo "<p class='warn'>Flurst&uuml;cke zu ".$bvnr." nicht im Datenbestand.</p>";
 				echo "</td>";
@@ -407,12 +368,134 @@
 		echo "\n</tr>";
 	}
-
 } // Ende Buchungsstelle
 
 echo "\n</table>";
+
 if ($i == 0) {
 	echo "\n<p class='err'>Keine Buchung gefunden.</p>\n";
 	linkgml($gkz, $gmlid, "Buchungsblatt");
 }
+
+	// b e r e c h t i g t e  Grundbuecher (Buchungsblatt) 
+	// mit Recht "an"/"zu" dem aktuellen fiktiven GB
+
+	// bf              vf          sf       vs   sb                 vb            bb
+	// Blatt   <istBestandteilVon< Stelle  <an<  Stelle      >istBestandteilVon>  Blatt
+	// Fiktiv                      Fiktiv  <zu<  Berechtigt                       Berechtigt
+	$sql ="SELECT bb.gml_id, bb.land, bb.bezirk, bb.buchungsblattnummermitbuchstabenerweiterung AS blatt, bb.blattart, ";
+	$sql.="vs.beziehungsart, ";
+
+	$sql.="sb.gml_id AS gml_s, sb.laufendenummer AS lfdnr, sb.buchungsart, ba.bezeichner AS bart, ";  // berechtigte Buchungsstelle
+
+	$sql.=" bz.bezeichnung AS beznam, "; // Bezirk
+	$sql.=" ag.bezeichnung, ag.stelle, ag.stellenart "; // Amtsgericht
+
+	$sql.="FROM  alkis_beziehungen  vf ";											// Verbindung fiktiv
+	$sql.="JOIN  ax_buchungsstelle  sf  ON sf.gml_id = vf.beziehung_von ";	// Stelle fiktiv
+	$sql.="JOIN  alkis_beziehungen  vs  ON sf.gml_id = vs.beziehung_zu ";	// Verbindung Stellen
+	$sql.="JOIN  ax_buchungsstelle  sb  ON sb.gml_id = vs.beziehung_von "; // Stelle berechtigt
+	$sql.="JOIN  alkis_beziehungen  vb  ON sb.gml_id = vb.beziehung_von ";	// Verbindung berechtigt
+	$sql.="JOIN  ax_buchungsblatt   bb  ON bb.gml_id = vb.beziehung_zu ";	// Blatt berechtigt
+
+	$sql.="JOIN  ax_buchungsblattbezirk bz ON bb.land = bz.land AND bb.bezirk = bz.bezirk ";
+	$sql.="JOIN  ax_dienststelle ag ON bz.\"gehoertzu|ax_dienststelle_schluessel|land\" = ag.land AND bz.stelle=ag.stelle ";
+
+	$sql.="LEFT JOIN ax_buchungsstelle_buchungsart ba ON sb.buchungsart = ba.wert ";
+
+	$sql.="WHERE vf.beziehung_zu='".$gmlid."' ";
+	$sql.="AND  vf.beziehungsart='istBestandteilVon' ";
+	$sql.="AND (vs.beziehungsart='an' OR vs.beziehungsart='zu') ";
+	$sql.="AND  vb.beziehungsart= 'istBestandteilVon' ";
+	$sql.="ORDER BY bb.land, bb.bezirk, bb.buchungsblattnummermitbuchstabenerweiterung;";
+
+	$resb=pg_query($con,$sql);
+	if (!$resb) {
+		echo "<p class='err'>Fehler bei 'andere Berechtigte Bl&auml;tter:'<br>".$sql."</p>\n";
+	}
+
+	$b=0; // count: Blaetter
+	while($rowb = pg_fetch_array($resb)) {
+		if ($b == 0) { // Ueberschrift und Tabelle nur ausgeben, wenn etwas gefunden wurde
+
+			echo "\n<h3><img src='ico/Grundbuch_zu.ico' width='16' height='16' alt=''> Berechtigte Grundb&uuml;cher</h3>\n";
+			
+			// Tabelle Kopf ausgeben
+			echo "\n<table class='outer'>";
+			echo "\n<tr>";
+				echo "\n\t<td class='head'>Land</td>";
+				echo "\n\t<td class='head'>Dienststelle</td>";
+				echo "\n\t<td class='head'>Bezirk</td>";
+				echo "\n\t<td class='head'>Blatt</td>";
+				echo "\n\t<td class='head'>BVNR</td>"; // Neu
+				echo "\n\t<td class='head'>Buchungsart</td>"; // Neu
+				echo "\n\t<td class='head nwlink'>Weitere Auskunft</td>";
+			echo "\n</tr>";
+		}
+
+		$gml_b=$rowb["gml_id"];			// id des berechtigten Blattes
+		$gml_s=$rowb["gml_s"];			// id der berechtigten Buchungsstelle
+		$blart=$rowb["blattart"];
+		$buch=$rowb["buchungsart"];	// Buchungsart Stelle berechtigt
+		$bart=$rowb["bart"];				// Buchungsart entschluesselt
+		$lfdnr=$rowb["lfdnr"];
+		$bvnr   = str_pad($lfdnr, 4, "0", STR_PAD_LEFT);
+		
+		echo "\n<tr>";
+			echo "\n\t<td>".$rowb["land"]."</td>";
+
+			echo "\n\t<td>"; // Amtsgericht
+				echo dienststellenart($rowb["stellenart"])." ";
+				if ($showkey) {				
+					echo "<span class='key'>".$rowb["stelle"]."</span> ";
+				}
+				echo $rowb["bezeichnung"];
+			echo "</td>";
+
+
+			echo "\n\t<td>";
+				if ($showkey) {				
+					echo "<span class='key'>".$rowb["bezirk"]."</span> ";
+				}
+				echo $rowb["beznam"];
+			echo "</td>";
+			
+			echo "\n\t<td><span class='wichtig'>".$rowb["blatt"]."</span>";
+				if ($idanzeige) {linkgml($gkz, $gml_b, "Buchungsblatt");}
+			echo "</td>";
+
+			echo "\n\t<td>".$bvnr;
+				if ($idanzeige) {linkgml($gkz, $gml_s, "Buchungsstelle");}
+			echo "</td>";
+
+			echo "\n\t<td>";
+				if ($showkey) {
+					echo "<span class='key'>".$buch."</span> ";
+				}
+				echo $bart;
+			echo "</td>";
+
+			echo "\n\t<td>";
+				echo "\n\t\t<p class='nwlink'>";
+			//	echo $rowb["beziehungsart"]." "; // "an"/"zu" ?
+				echo "\n\t\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$gml_b."#bvnr".$lfdnr;
+					if ($idanzeige) {echo "&amp;id=j";}
+					if ($showkey)   {echo "&amp;showkey=j";}
+					echo "' title='Nachweis des berechtigten Blattes ".$rowb["beziehungsart"]." ".$blattart."'>";
+					echo blattart($blart);
+					echo " \n\t\t\t<img src='ico/GBBlatt_link.ico' width='16' height='16' alt=''></a>";
+				echo "\n\t\t</p>";
+			echo "</td>";
+		echo "\n</tr>";
+		$b++;
+	}
+
+	if ($b == 0) {
+		if ($blattkey > 2000 ) { // Warnung nicht bei Grundbuchblatt 1000 und Katasterblatt 2000
+			echo "<p class='err'>Keine berechtigten Bl&auml;tter zu ".$blattart." (".$blattkey.") gefunden.</p>";
+		}
+	} else {
+		echo "\n</table>";
+	}
+
 ?>
 
@@ -425,5 +508,7 @@
 	</div>
 </form>
-<?php footer($gkz, $gmlid, $idanzeige, $self, $hilfeurl, "", $showkey); ?>
+
+<?php footer($gkz, $gmlid, $idumschalter, $idanzeige, $self, $hilfeurl, "", $showkey); ?>
+
 </body>
 </html>
Index: trunk/var/www/info/alkis/alkisausk.php
===================================================================
--- trunk/var/www/info/alkis/alkisausk.php	(revision 44)
+++ trunk/var/www/info/alkis/alkisausk.php	(revision 45)
@@ -15,4 +15,5 @@
 		02.09.2010  Mit Icons
 		07.09.2010  Schluessel anschaltbar
+		15.09.2010  Function "buchungsart" durch JOIN ersetzt
 */
 ini_set('error_reporting', 'E_ALL');
@@ -21,5 +22,5 @@
 require_once("/data/mapwww/http/php/mb_validateSession.php");
 //require_once(dirname(__FILE__)."/../../../php/mb_validateSession.php");
-require_once("/data/conf/alkis_conf.php");
+require_once("/data/conf/alkis_www_conf.php");
 //require_once(dirname(__FILE__)."/../../../../conf/alkis_conf.php");
 include("alkisfkt.php");
@@ -28,5 +29,5 @@
 <html>
 <head>
-	<meta name="author" content="Frank Jaeger" >
+	<meta name="author" content="b600352" >
 	<meta http-equiv="cache-control" content="no-cache">
 	<meta http-equiv="pragma" content="no-cache">
@@ -140,5 +141,5 @@
 $sql ="SELECT b.gml_id, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, ";
 $sql.="s.gml_id AS s_gml, s.buchungsart, s.laufendenummer, s.zaehler, s.nenner, ";
-$sql.="z.bezeichnung ";  // stelle -> amtsgericht
+$sql.="z.bezeichnung, a.bezeichner AS bart ";  // stelle -> amtsgericht
 $sql.="FROM  alkis_beziehungen    bfs "; // Bez Flurst.- Stelle.
 $sql.="JOIN  ax_buchungsstelle      s ON bfs.beziehung_zu=s.gml_id ";
@@ -146,4 +147,7 @@
 $sql.="JOIN  ax_buchungsblatt       b ON bsb.beziehung_zu=b.gml_id ";
 $sql.="JOIN  ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk ";
+
+$sql.="LEFT JOIN ax_buchungsstelle_buchungsart a ON s.buchungsart = a.wert ";
+
 $sql.="WHERE bfs.beziehung_von='".$gmlid."' ";
 $sql.="AND   bfs.beziehungsart='istGebucht' ";
@@ -155,6 +159,7 @@
 while($rowg = pg_fetch_array($resg)) {
 	$beznam=$rowg["bezeichnung"];
-	echo "\n<hr>\n<table class='outer'>\n<tr>\n<td>";
-
+	echo "\n<hr>\n<table class='outer'>";
+	echo "\n<tr>";
+	echo "\n<td>";
 
 		$blattkey=$rowg["blattart"];
@@ -165,31 +170,32 @@
 			echo "\n\t<table class='kennzgbf' title='Bestandskennzeichen'>"; // dotted
 		}
-	//	echo "\n\t<table class='kennzgb' title='Bestandskennzeichen'>";
-			echo "\n\t<tr>\n\t\t<td class='head'>Bezirk</td>";
-			echo "\n\t\t<td class='head'>".$blattart."</td>";
-			echo "\n\t\t<td class='head'>Lfd-Nr,</td>";
-			echo "\n\t\t<td class='head'>Buchungsart</td>";
-		echo "\n\t</tr>";
-
-	echo "\n\t<tr>";
-		echo "\n\t\t<td title='Grundbuchbezirk'>";
-		if ($showkey) {
-			echo "<span class='key'>".$rowg["bezirk"]."</span><br>";
+			echo "\n\t<tr>";
+				echo "\n\t\t<td class='head'>Bezirk</td>";
+				echo "\n\t\t<td class='head'>".$blattart."</td>";
+				echo "\n\t\t<td class='head'>Lfd-Nr,</td>";
+				echo "\n\t\t<td class='head'>Buchungsart</td>";
+			echo "\n\t</tr>";
+			echo "\n\t<tr>";
+				echo "\n\t\t<td title='Grundbuchbezirk'>";
+					if ($showkey) {
+						echo "<span class='key'>".$rowg["bezirk"]."</span><br>";
+					}
+				echo $beznam."</td>";
+				echo "\n\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$rowg["blatt"]."</span></td>";
+				echo "\n\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundst&uuml;ck)'>".$rowg["laufendenummer"]."</td>";
+				echo "\n\t\t<td title='Buchungsart'>";
+					if ($showkey) {
+						echo "<span class='key'>".$rowg["buchungsart"]."</span><br>";
+					}
+					echo $rowg["bart"];
+				echo "</td>";
+			echo "\n\t</tr>";
+		echo "\n\t</table>";
+
+		if ($rowg["zahler"] <> "") {
+			echo "\n<p class='ant'>".$rowg["zahler"]."/".$rowg["nenner"]."&nbsp;Anteil am Flurst&uuml;ck</p>";
 		}
-		echo $beznam."</td>";
-		echo "\n\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$rowg["blatt"]."</span></td>";
-		echo "\n\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundst&uuml;ck)'>".$rowg["laufendenummer"]."</td>";
-		echo "\n\t\t<td title='Buchungsart'>";
-		if ($showkey) {
-			echo "<span class='key'>".$rowg["buchungsart"]."</span><br>";
-		}
-		echo buchungsart($rowg["buchungsart"])."</td>\n\t</tr>";
-	echo "\n\t</table>";
-	if ($rowg["zahler"] <> "") {
-		echo "\n<p class='ant'>".$rowg["zahler"]."/".$rowg["nenner"]."&nbsp;Anteil am Flurst&uuml;ck</p>";
-	}
-	echo "\n</td>\n<td>";
+		echo "\n</td>\n<td>";
 		if ($idanzeige) {linkgml($gkz, $rowg[0], "Buchungsblatt");}
-		//echo "<br>\n";
 		echo "\n\t<p class='nwlink'>weitere Auskunft:<br>";
 			echo "\n\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$rowg[0];
@@ -197,10 +203,11 @@
 				if ($showkey)   {echo "&amp;showkey=j";}
 				echo "' title='Grundbuchnachweis'>";
-			//	echo "Grundbuch-Blatt";
 				echo $blattart;
-				echo " <img src='ico/GBBlatt_link.ico' width='16' height='16' alt=''></a>";
+				echo " <img src='ico/GBBlatt_link.ico' width='16' height='16' alt=''>";
+			echo "</a>";
 		echo "\n\t</p>";
-	echo "\n</td>\n";
-	echo "</table>";
+	echo "\n</td>";
+	echo "\n</tr>";
+	echo "\n</table>";
 	
 	// E I G E N T U E M E R
@@ -228,5 +235,5 @@
 }
 echo "\n<hr>";
-footer($gkz, $gmlid, $idanzeige, $self, $hilfeurl, "", $showkey);
+footer($gkz, $gmlid, $idumschalter, $idanzeige, $self, $hilfeurl, "", $showkey);
 
 ?>
Index: trunk/var/www/info/alkis/alkisfkt.php
===================================================================
--- trunk/var/www/info/alkis/alkisfkt.php	(revision 44)
+++ trunk/var/www/info/alkis/alkisfkt.php	(revision 45)
@@ -8,8 +8,8 @@
 		02.09.2010  mit Icons
 		07.09.2010  Schluessel anschaltbar
-		08.09.2010  ..
+		15.09.2010  Function "buchungsart" durch JOIN ersetzt
 */
 
-function footer($gkz, $gmlid, $idanzeige, $link, $hilfeurl, $append, $showkey) {
+function footer($gkz, $gmlid, $idumschalter, $idanzeige, $link, $hilfeurl, $append, $showkey) {
 	// Einen Seitenfuss ausgeben.
 	// Den URL-Parameter "&id=j/n" und "&showkey=j/n" in allen Kombinationen umschalten lassen.
@@ -29,12 +29,10 @@
 	// Spalte 2: Umschalter
 	echo "\n\t<td title='Konfiguration'>";
-		// Umschalter Testmodus I D - A n z e i g e
+		// Umschalter:
+		// - Schluessel		
+		// - Testmodus ID-Anzeige
+		
+		// bei beiden		
 		$mylink ="\n\t\t<a class='gmlid' href='".$link."gkz=".$gkz."&amp;gmlid=".$gmlid.$append;
-
-		if ($idanzeige) { // bleibt so
-			$myid = "&amp;id=j";
-		} else {
-			$myid = "&amp;id=n";
-		}
 
 		if ($showkey) { // bleibt so
@@ -44,13 +42,24 @@
 		}
 
-		if ($idanzeige) { // Umschalten ID ein/aus
-			echo $mylink.$mykey."&amp;id=n' title='Ohne Verfolgung der ALKIS-Beziehungen'>";
-			echo "<img src='ico/Beziehung_link.ico' width='16' height='16' alt=''> ID aus</a>";
-		} else {
-			echo $mylink.$mykey."&amp;id=j' title='Verfolgung der GML-ID in den ALKIS-Beziehungen'>";
-			echo "<img src='ico/Beziehung_link.ico' width='16' height='16' alt=''> ID ein</a>";
+		if ($idumschalter) { // fuer Entwicklung ODER Test
+
+			if ($idanzeige) { // bleibt so
+				$myid = "&amp;id=j";
+			} else {
+				$myid = "&amp;id=n";
+			}
+
+			// Umschalter nur ausgeben, wenn in conf gesetzt
+			if ($idanzeige) { // Umschalten ID ein/aus
+				echo $mylink.$mykey."&amp;id=n' title='Ohne Verfolgung der ALKIS-Beziehungen'>";
+				echo "<img src='ico/Beziehung_link.ico' width='16' height='16' alt=''> ID aus</a>";
+			} else {
+				echo $mylink.$mykey."&amp;id=j' title='Verfolgung der GML-ID in den ALKIS-Beziehungen'>";
+				echo "<img src='ico/Beziehung_link.ico' width='16' height='16' alt=''> ID ein</a>";
+			}
+			echo " | ";
+		} else { // keinen ID-Umschalter
+			$myid = "";
 		}
-
-		echo " | ";
 
 		if ($showkey) { // // Umschalten SchlÃŒssel ein/aus
@@ -59,4 +68,5 @@
 			echo $mylink.$myid."&amp;showkey=j' title='Verschl&uuml;sselungen anzeigen'>Schl&uuml;ssel ein</a>";
 		}
+
 	echo "\n\t</td>";
 
@@ -66,4 +76,16 @@
 
 	echo "\n</tr>\n</table>\n</div>\n";
+
+/*	echo "<br><p class='err'>";
+	echo "gkz=".$gkz."<br>";
+	echo "gmlid=".$gmlid."<br>";
+	echo "idumschalter=".$idumschalter."<br>";
+	echo "idanzeige=".$idanzeige."<br>";
+	echo "link=".$link."<br>";
+	echo "hilfeurl=".$hilfeurl."<br>";
+	echo "append=".$append."<br>";
+	echo "showkey=".$showkey;	
+	echo "</p>"; */
+
 	return 0;
 }
@@ -267,16 +289,29 @@
 	$sql.="AND   v.beziehungsart='istGebucht' ";
 	$sql.="ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;";
+
 	$resf=pg_query($con,$sql);
 	if (!$resf) {echo "<p class='err'>Fehler bei Flurst&uuml;ck<br><br>".$sql."</p>\n";}
+
 	if($bvnraus) { // nur bei direkten Buchungen die lfdNr ausgeben
 		$bvnr=str_pad($lfdnr, 4, "0", STR_PAD_LEFT);	
 	}
+
 	$altlfdnr="";
 	$j=0;
 	while($rowf = pg_fetch_array($resf)) {
-		if ($rowf["nenner"] != "") {$fskenn.="/".str_pad($rowf["nenner"], 3, "0", STR_PAD_LEFT);}
+		$flur=str_pad($rowf["flurnummer"], 3, "0", STR_PAD_LEFT);
+
+/*		$fskenn=str_pad($rowf["zaehler"], 5, "0", STR_PAD_LEFT);
+		if ($rowf["nenner"] != "") { // Bruchnummer
+			$fskenn.="/".str_pad($rowf["nenner"], 3, "0", STR_PAD_LEFT);
+		} */
+
+		// ohne fuehrende Nullen?
+		$fskenn=$rowf["zaehler"];
+		if ($rowf["nenner"] != "") { // Bruchnummer
+			$fskenn.="/".$rowf["nenner"];
+		}
+
 		$flae=number_format($rowf["amtlicheflaeche"],0,",",".") . " m&#178;";
-		$flur=str_pad($rowf["flurnummer"], 3, "0", STR_PAD_LEFT);
-		$fskenn=str_pad($rowf["zaehler"], 5, "0", STR_PAD_LEFT);
 
 		echo "\n<tr>"; // eine Zeile je Flurstueck
@@ -287,11 +322,15 @@
 				echo "\n\t<td>&nbsp;</td>";
 			} else {
+
 				echo "\n\t<td>";
-					// Icon in Tabelle?				
-					//echo "<img src='ico/Grundstueck.ico' width='16' height='16' alt='' title='Grundst&uuml;ck' /> ";
+					echo "<a name='bvnr".$lfdnr."'></a>"; // Sprungmarke	
 					echo "<span class='wichtig'>".$bvnr."</span>";  // BVNR
 					if ($idanzeige) {linkgml($gkz, $gml_bs, "Buchungsstelle");}
 				echo "</td>";
-				echo "\n\t<td>".$ba."</td>"; // Buchungsart entschluesselt
+
+				echo "\n\t<td>"; // Buchungsart 
+					//	if ($showkey) {echo "<span class='key'>".$???."</span>&nbsp;";} // Schluessel
+					echo $ba; // entschluesselt
+				echo "</td>"; 
 				echo "\n\t<td>&nbsp;</td>"; // Anteil
 				$altlfdnr=$lfdnr;	
@@ -530,48 +569,5 @@
 	return $wert;
 }
-// Entschluesslung buchungsart
-// Die Buchungsarten mit Wertearten 1101, 1102, 1401 bis 1403, 2201 bis 2205 und 2401 bis 2404 kÃ¶nnen nur auf einem Fiktiven Blatt vorkommen. 
-// Die Attributart 'Anteil' ist dann immer zu belegen.
-function buchungsart($key) {
-	switch ($key) {
-		case 1100:
-			$wert = "Grundst&uuml;ck"; 
-			break;
-		case 1101:
-			$wert = "Aufgeteiltes GrundstÃŒck WEG";
-			break;
-		case 1102:
-			$wert = "Aufgeteiltes GrundstÃŒck Par. 3 Abs. 4 GBO";
-			break;
-		case 1301:
-			$wert = "Wohnungs-/Teileigentum";
-			break;
-		case 1302:
-			$wert = "Miteigentum Par. 3 Abs. 4 GBO";
-			break;
-		case 2101:
-			$wert = "Erbbaurecht";
-			break;
-		case 2102:
-			$wert = "Untererbbaurecht";
-			break;
-		case 2201:
-			$wert = "Aufgeteiltes Erbbaurecht WEG";
-			break;
-		case 2301:
-			$wert = "Wohnungs-/Teilerbbaurecht";
-			break;
-		case 2302:
-			$wert = "Wohnungs-/Teiluntererbbaurecht";
-			break;
-		case 5101:
-			$wert = "Von Buchungspflicht befreit Par. 3 Abs. 2 GBO";
-			break;
-		default:
-			$wert = "";
-			break;
-	}
-	return $wert;
-}
+
 // Entschluesslung AX_Namensnummer.artDerRechtsgemeinschaft
 function rechtsgemeinschaft($key) {
Index: trunk/var/www/info/alkis/alkisnamstruk.php
===================================================================
--- trunk/var/www/info/alkis/alkisnamstruk.php	(revision 44)
+++ trunk/var/www/info/alkis/alkisnamstruk.php	(revision 45)
@@ -5,12 +5,10 @@
 	02.09.2010  Mit Icons
 	06.09.2010  Schluessel anschaltbar
+	15.09.2010  Function "buchungsart" durch JOIN ersetzt, Tabelle GB einzeilig
 
 	ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo).
 	Namens- und Adressdaten fuer einen Eigentuemer aus ALKIS PostNAS
-	Parameter:	&gkz= &gmlid=
-
-	ToDo:  
-	1. Sortierung der Grundbücher zum Namen
-	2. ID ein auch für Buchungsstelle
+
+	ToDo: Sortierung der Grundbücher zum Namen
 */
 ini_set('error_reporting', 'E_ALL & ~ E_NOTICE');
@@ -24,5 +22,5 @@
 <html>
 <head>
-	<meta name="author" content="Frank Jaeger" >
+	<meta name="author" content="b600352" >
 	<meta http-equiv="cache-control" content="no-cache">
 	<meta http-equiv="pragma" content="no-cache">
@@ -112,6 +110,11 @@
 		echo "\n</table>\n<br>\n";
 		$j++;
-		// beides Kompakt (im Rahmen):
-		echo "\n<div class='adr'>".$anr." ".$aka." ".$vor." ".$nam."<br>\n".$str." ".$hsnr."<br>\n".$plz." ".$ort."</div>";
+
+		// Name und Adresse Kompakt (im Rahmen)
+		// Alles was man fuer ein Anschreiben braucht
+		echo "<img src='ico/Namen.ico' width='16' height='16' alt='Brief' title='Anschrift'>"; // Symbol "Brief"	
+		echo "\n<div class='adr' title='Anschrift'>".$anr." ".$aka." ".$vor." ".$nam."<br>";
+		echo "\n".$str." ".$hsnr."<br>";
+		echo "\n".$plz." ".$ort."</div>";
 	}
 	if ($j == 0) {echo "\n<p class='err'>Keine Adressen.</p>\n";}
@@ -123,9 +126,13 @@
 
 	$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.="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.="JOIN  ax_buchungsblattbezirk b ON g.land = b.land AND g.bezirk = b.bezirk ";
+
 	$sql.="WHERE bpn.beziehung_zu='".$gmlid."' ";
 	$sql.="AND   bpn.beziehungsart='benennt' AND bng.beziehungsart='istBestandteilVon' ";
@@ -137,4 +144,14 @@
 	$j=0;
 	echo "<table class='eig'>";
+
+	echo "\n<tr>";
+		echo "\n\t<td class='head'>Bezirk</td>";
+		echo "\n\t<td class='head'>Blattart</td>";
+		echo "\n\t<td class='head'>Blatt</td>";
+		echo "\n\t<td class='head'>Namensnummer</td>";
+		echo "\n\t<td class='head'>Anteil</td>";
+		echo "\n\t<td class='head nwlink' title='Link: weitere Auskunft'>weit. Auskunft</td>";
+	echo "\n</tr>";
+
 	while($rowg = pg_fetch_array($resg)) {
 		$gmln=$rowg["gml_n"];
@@ -142,18 +159,47 @@
 		$namnum=kurz_namnr($rowg["lfd"]);
 		$zae=$rowg["zaehler"];
+		$blattkey=$rowg["blattart"];
+		$blattart=blattart($blattkey);
 
 		echo "\n<tr>";
 
-			echo "\n\t<td class='gbl'>".blattart($rowg["blattart"])."<br>Buchungsstelle</td>";
-
-			echo "\n\t<td class='gbl'>";
-				echo "Bezirk ".$rowg["bezirk"].", Blatt ".$rowg["nr"];
-				If ($namnum == "") {echo "<br>&nbsp;";} 
-				else {echo "<br>Name Nr: ".$namnum;};
-			echo "</td>";
-
-			echo "\n\t<td class='gbl'>"; 
-				If ($zae == "") {echo "&nbsp;";} 
-				else {echo $zae."/".$rowg["nenner"]." Anteil";} 
+			echo "\n\t<td class='gbl'>"; // GB-Bezirk"
+				if ($showkey) {
+					echo "<span class='key'>".$rowg["bezirk"]."</span> ";
+				}				
+				echo $rowg["beznam"];
+			echo "</td>";
+
+			echo "\n\t<td class='gbl'>"; // Blattart
+				if ($showkey) {
+					echo "<span class='key'>".$blattkey."</span> ";
+				}			
+				echo $blattart;
+			echo "</td>";
+
+			echo "\n\t<td class='gbl'>"; // Blatt
+				echo "<span class='wichtig'>".$rowg["nr"]."</span>";
+				if ($idanzeige) {
+					linkgml($gkz, $gmlg, "Grundbuchblatt");
+				}
+			echo "</td>";
+
+			echo "\n\t<td class='gbl'>"; // Namensnummer
+				If ($namnum == "") {
+					echo "&nbsp;";					
+				} else {
+					echo $namnum;
+				}
+				if ($idanzeige) {
+					linkgml($gkz, $gmln, "Namensnummer"); 
+				}
+			echo "</td>";
+
+			echo "\n\t<td class='gbl'>"; // Anteil
+				If ($zae == "") {
+					echo "&nbsp;";
+				} else {
+					echo $zae."/".$rowg["nenner"]." Anteil";
+				} 
 			echo "</td>";
 
@@ -163,11 +209,8 @@
 						if ($idanzeige) {echo "&amp;id=j";}
 						if ($showkey)   {echo "&amp;showkey=j";}
-						echo "' title='Bestandsnachweis'>Grundbuch-Blatt ";
+						echo "' title='Bestandsnachweis'>";
+						echo $blattart;
 					echo "\n\t\t\t<img src='ico/GBBlatt_link.ico' width='16' height='16' alt=''></a>";
 				echo "\n\t\t</p>";
-				if ($idanzeige) {
-					linkgml($gkz, $gmlg, "Grundbuchblatt");
-					linkgml($gkz, $gmln, "Namensnummer"); 
-				}
 			echo "\n\t</td>";
 
@@ -192,5 +235,5 @@
 </form>
 
-<?php footer($gkz, $gmlid, $idanzeige, $self, $hilfeurl, "", $showkey); ?>
+<?php footer($gkz, $gmlid, $idumschalter, $idanzeige, $self, $hilfeurl, "", $showkey); ?>
 
 </body>
Index: trunk/var/www/info/alkis/alkisgebaeudenw.php
===================================================================
--- trunk/var/www/info/alkis/alkisgebaeudenw.php	(revision 44)
+++ trunk/var/www/info/alkis/alkisgebaeudenw.php	(revision 45)
@@ -2,5 +2,5 @@
 /*	alkisgebaeudenw.php - Gebaeudenachweis
 	ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo).
-	Parameter:	&gkz= &gmlid= &eig=j/n
+
 	Version:
 	27.08.2010 von WhereGroup uebernommen
@@ -10,4 +10,5 @@
 	02.09.2010  Mit Icons
 	06.09.2010  Kennzeichen-Rahmenfarbe, Schluessel anschaltbar
+	15.09.2010  Function "buchungsart" durch JOIN ersetzt
 */
 ini_set('error_reporting', 'E_ALL & ~ E_NOTICE');
@@ -16,6 +17,4 @@
 require_once("/data/mapwww/http/php/mb_validateSession.php");
 require_once("/data/conf/alkis_www_conf.php");
-#require_once(dirname(__FILE__)."/../../../../php/mb_validateSession.php");
-#require_once(dirname(__FILE__)."/../../../../conf/alkis_conf.php");
 include("alkisfkt.php");
 ?>
@@ -23,5 +22,5 @@
 <html>
 <head>
-	<meta name="author" content="Frank Jaeger" >
+	<meta name="author" content="b600352" >
 	<meta http-equiv="cache-control" content="no-cache">
 	<meta http-equiv="pragma" content="no-cache">
@@ -62,5 +61,8 @@
 $sqlf.="WHERE f.gml_id='".$gmlid."';";
 $resf=pg_query($con,$sqlf);
-if (!$resf) echo "\n<p class='err'>Fehler bei Flurst&uuml;cksdaten\n<br>".$sqlf."</p>\n";
+if (!$resf) {
+	echo "\n<p class='err'>Fehler bei Flurst&uuml;cksdaten\n<br>".$sqlf."</p>\n";
+}
+
 if ($rowf = pg_fetch_array($resf)) {
 	$gemkname=htmlentities($rowf["bezeichnung"], ENT_QUOTES, "UTF-8");
@@ -69,5 +71,7 @@
 	$flstnummer=$rowf["zaehler"];
 	$nenner=$rowf["nenner"];
-	if ($nenner > 0) $flstnummer.="/".$nenner; // BruchNr
+	if ($nenner > 0) { // BruchNr
+		$flstnummer.="/".$nenner;
+	} 
 	$flstflaeche = $rowf["amtlicheflaeche"] ;
 } else {
@@ -134,6 +138,6 @@
 
 // Entschluesseln
-$sqlg.="LEFT JOIN ax_bauweise_gebaeude h ON g.bauweise = h.bauweise_id ";
-$sqlg.="LEFT JOIN ax_gebaeude_gebaeudefunktion u ON g.gebaeudefunktion = u.wert ";
+$sqlg.="LEFT JOIN ax_gebaeude_bauweise h ON g.bauweise = h.bauweise_id ";
+$sqlg.="LEFT JOIN ax_gebaeude_funktion u ON g.gebaeudefunktion = u.wert ";
 
 // Beziehungen verfolgen (holt die Hausnummer)
@@ -266,5 +270,5 @@
 </form>
 
-<?php footer($gkz, $gmlid, $idanzeige, $self, $hilfeurl, "", $showkey); ?>
+<?php footer($gkz, $gmlid, $idumschalter, $idanzeige, $self, $hilfeurl, "", $showkey); ?>
 
 </body>
Index: trunk/var/www/info/alkis/alkislage.php
===================================================================
--- trunk/var/www/info/alkis/alkislage.php	(revision 44)
+++ trunk/var/www/info/alkis/alkislage.php	(revision 45)
@@ -3,9 +3,10 @@
 	ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo).
 	Kann die 3 Arten von Lagebezeichnung anzeigen und verbundene Objekte verlinken
-	Parameter:	&gkz= &gmlid=
+
 	Version:
 		01.09.2010 Neu!
 		02.09.2010  Mit Icons
 		06.09.2010  </a> korrigiert, Kennzeichen-Rahmenfarbe, Schluessel anschaltbar
+		15.09.2010  Function "buchungsart" durch JOIN ersetzt
 */
 ini_set('error_reporting', 'E_ALL & ~ E_NOTICE');
@@ -13,5 +14,5 @@
 // Bindung an Mapbender-Authentifizierung
 require_once("/data/mapwww/http/php/mb_validateSession.php");
-require_once("/data/conf/alkis_conf.php");
+require_once("/data/conf/alkis_www_conf.php");
 include("alkisfkt.php");
 ?>
@@ -19,5 +20,5 @@
 <html>
 <head>
-	<meta name="author" content="Frank Jaeger" >
+	<meta name="author" content="b600352" >
 	<meta http-equiv="cache-control" content="no-cache">
 	<meta http-equiv="pragma" content="no-cache">
@@ -253,8 +254,15 @@
 	$j=0;
 	while($rowf = pg_fetch_array($resf)) {
-		if ($rowf["nenner"] != "") {$fskenn.="/".str_pad($rowf["nenner"], 3, "0", STR_PAD_LEFT);}
+		$flur=str_pad($rowf["flurnummer"], 3, "0", STR_PAD_LEFT);
+
+		//$fskenn=str_pad($rowf["zaehler"], 5, "0", STR_PAD_LEFT);
+		//if ($rowf["nenner"] != "") {$fskenn.="/".str_pad($rowf["nenner"], 3, "0", STR_PAD_LEFT);}
+
+		$fskenn=$rowf["zaehler"]; // Bruchnummer (ohne fuehrende Nullen)
+		if ($rowf["nenner"] != "") {
+			$fskenn.="/".$rowf["nenner"];
+		}
+
 		$flae=number_format($rowf["amtlicheflaeche"],0,",",".") . " m&#178;";
-		$flur=str_pad($rowf["flurnummer"], 3, "0", STR_PAD_LEFT);
-		$fskenn=str_pad($rowf["zaehler"], 5, "0", STR_PAD_LEFT);
 		echo "\n<tr>";
 			echo "\n\t<td>";
@@ -351,6 +359,6 @@
 	$sql.="FROM ax_gebaeude g ";
 	$sql.="JOIN alkis_beziehungen v ON g.gml_id=v.beziehung_von "; 
-	$sql.="LEFT JOIN ax_bauweise_gebaeude h ON g.bauweise = h.bauweise_id ";
-	$sql.="LEFT JOIN ax_gebaeude_gebaeudefunktion u ON g.gebaeudefunktion = u.wert ";
+	$sql.="LEFT JOIN ax_gebaeude_bauweise h ON g.bauweise = h.bauweise_id ";
+	$sql.="LEFT JOIN ax_gebaeude_funktion u ON g.gebaeudefunktion = u.wert ";
 	$sql.="WHERE v.beziehung_zu='".$gmlid."' ";
 	$sql.="AND   v.beziehungsart='".$bezart."' ;";
@@ -412,5 +420,5 @@
 </form>
 
-<?php footer($gkz, $gmlid, $idanzeige, $self, $hilfeurl, "&amp;ltyp=".$ltyp , $showkey); ?>
+<?php footer($gkz, $gmlid, $idumschalter, $idanzeige, $self, $hilfeurl, "&amp;ltyp=".$ltyp , $showkey); ?>
 
 </body>
