Source-Transfer
Zur Übertragung von Sourcecode zwischen LF‑ET und SQL Developer nutzen wir in unseren Beispielen einen einfachen aber effektiven Mechanismus: Das System-Clipboard bzw. die Zwischenablage.
Dazu wird, wenn nicht schon vorhanden, einmalig eine Konfigurationsdatei Project.ini angelegt und in dieser mit der Schlüsselangabe ide.plsql.clipboard=true die automatische Verwendung des Clipboards für PL/SQL festgelegt.
Ausserdem soll der Package-Name aus "LFET_" und dem Namen der Entscheidungstabelle gebildet werden, $$etname ist ein Platzhalter und wird bei der Generierung durch den Namen der jeweiligen Entscheidungstabelle ersetzt.
D:\Projekte\LF‑ET-Demo\PLSQL\Project.ini
ide.plsql=true
ide.plsql.clipboard=true
ide.plsql.packageName=LFET_$$etname
Von LF‑ET ⇒ nach SQL Developer
Nach jeder Generierung wird der generierte Sourcecode nicht nur als Datei im Filesystem gespeichert, sondern vom Generator automatisch auch zusätzlich in das System-Clipboard kopiert.
Der Anwender wechselt in den SQL-Developer-Editor und fügt dort den Inhalt z.B. mit den Tastenkombinationen STRG + A, STRG + V ein.
Von SQL Developer ⇒ nach LF‑ET
Derselbe Weg funktioniert auch umgekehrt: Änderungen am generierten Code in SQL Developer kann LF‑ET erkennen und in die Entscheidungstabelle zurück importieren. Hierzu dient die Funktion Scrapbook einlesen: Ist die automatische Verwendung des Clipboards eingestellt, dann versucht LF‑ET zuerst aus dem Clipboard zu importieren, d.h. der Anwender muss in SQL Developer einfach nur den kompletten Sourcecode mit STRG + A, STRG + C in das Clipboard stellen und dann in LF‑ET die Funktion Scrapbook einlesen aufrufen. Nur wenn im Clipboard kein generierter Sourceode erkennbar ist, dann untersucht LF‑ET in einem zweiten Schritt die generierte Datei im Filesystem auf Änderungen.
Soll ohne Konfigurationsdatei generiert werden, oder wenn Einstellungen aus der Konfigurationsdatei überschrieben werden sollen, dann können diese PL/SQL-Generierungsparameter alternativ auch im Prolog zur Entscheidungstabelle definiert werden:
/* $$clipboard=true */
/* $$packageName=LFET_$$etname */
Weiterführende Informationen: