Posts

Es werden Posts vom Dezember, 2010 angezeigt.

pipelined functions in oracle

Eine sehr gute Erklärung zu piplined functions findet sich bei oracle-developer.net . Es werden verschiedene Möglichkeiten beschrieben und auf die Unterschiede zwischen materialisierten und pipelined Funktionen hinsichtlich Antwortverhalten und Speicherbedarf eingegangen. Der für mich wichtigste Punkt: Es gibt die Möglichkeit, ohne (PL-Paket-)externe Datentypen auszukommen. D.h. alle benötigten Struktuen können innerhalb eines PL-Paketes deklariert werden. Dies sollte die Wartung deutlich vereinfachen. Mit folgenden Zeilen werden alle benötigten Objekte in der Paket-Spezifikation angelegt: TYPE foo_rt IS RECORD (); --Record-Typ anlegen TYPE foo_ntt IS TABLE OF foo_rt; --Collection definieren FUNCTION my_pipeline ( -- pipelined function definieren p1 in varchar2, -- Parameter 1 p2 in number) -- Parameter 2 RETURN foo_ntt PIPELINED; Im Paket-Body wird die eigentliche Logik hinterlegt: FOR r_tmp IN c_sql LOOP PIPE ROW (r_tmp); END LOOP; RETURN; Aufgerufen wird das ganze am Ender per s

Hintergrundbild bei Dual-Monitorbetrieb

Bei Dual- oder mehr -Monitorbetrieb unter Windows wäre es natürlich sehr schön, wenn man 1 Hintergrundbild über ALLE Monitore legen kann. Netterweise geht das mit Windows-Bordmitteln: ein entsprechend großes Bild erstellen Bsp: Zwei Monitore mit 1600x1200 Auflösung stehen nebeneinander -> Größe des Hintergrundbildes: 3200 (=1600+1600) x 1200 dieses Bild als Hintergrundbild auswählen und bei Ausrichtung die Option "Nebeneinander" wählen fertig! Quelle: http://www.gwegner.de/allgemein/tipp-hintergrundbild-ueber-mehrere-monitore-ohne-zusatzsoftware-in-windows/

Inline-Fehlermeldungen formatieren

Für die Formatierung der Inline-Fehlermeldungen gibt es mehrere Möglichkeiten. Hier eine Variante, die die über das Template-CSS vorgegebene Formatierung ändert, ohne das CSS selbst anzupassen: - über Shared Components - Templates - die LABEL -Templates des aktiven Themes selektieren - im Bereich Error Display die Formatierung anpassen: Bsp: On Error Before Label alt:<div class="t20InlineError"> neu: leer On Error After Label alt: <br/>#ERROR_MESSAGE#</div> neu: <br/><div style="color:red; font-weight:bold">#ERROR_MESSAGE#</div>

Anzeige der aktuellen Systemumgebung

Für die Anzeige, auf welcher Systemumgebung gerade gearbeitet wird, gibt es verschiedenste Möglichkeiten. Hier eine Variante, die mit einer HTML-Region auf Seite 0 arbeitet. - für die Darstellung wird ein hidden Item :P0_UMGEBUNG genutzt - die html-Region wird in Page Template Region Position 7 gestellt (oben zwischen Logo und Logout-Button) - Region Source: <p style="text-align:center; font:bold x-large serif; color:yellow; ">&P0_UMGEBUNG. </p> - über einen App Prozess wird bei Neuinstanziierung einmalig die Variable gesetzt: CASE SYS_CONTEXT ('USERENV', 'DB_NAME') WHEN 'DB71PI' THEN :p0_umgebung := null; WHEN 'DB71RI' THEN :p0_umgebung := 'Testumgebung'; WHEN 'DB71EI' THEN :p0_umgebung := 'Entwicklung'; ELSE :p0_umgebung := 'ACHTUNG: unbekanntes System'; END CASE; - das wars! Im Ergebnis wird in Abhängigkeit d