14. November 2017

Forms Community Meeting und Fragen an Michael Ferrante

Nächste Woche auf der DOAG-Konferenz haben wir Dienstags um 18 Uhr ein Forms Community Treffen in der Galileo Lounge.

Als Vorbereitung möchten wir im Community-Umfeld Fragen einsammeln, die wir uns dann von Michael Ferrante beantworten lassen


Wir freuen uns schon alle auf eine tolle Konferenz. Forms startet gerade wieder durch!


Bitte sendet eure Fragen bis zum 19.11.2017 an gerd.volberg@forms12c.de.


Bis bald in Nürnberg
Gerd






8. März 2017

Oracle Forms und Firefox 52

Heute Morgen dachte ich, dass im Firefox das Ende von Oracle Forms eingeläutet worden wäre.

Um 9 Uhr konnte ich meine Formsmasken noch ohne Probleme starten. Zu dem Zeitpunkt war mein Firefox auf der Version 51.0

Nach dem Mittagessen hatte der Autoupdater die Version 52.0 geladen und nach einem Firefox-Neustart hatte ich dann das tolle neue Feature "no JAVA please" installiert :-)

Das schlimmste ist jedoch, dass Firefox keine Fehlermeldung ausgibt und man überhaupt nicht weiss, was passiert ist. Man sieht nur einen leeren Bildschirm.

Dieses Problem löst man jedoch mit einem einfachen Workaround:


In der URL des Firefox gibt man "about:config" ein. Nach einem kurzen Warnhinweis, dass man nun selber verantwortlich ist, für alles, was man tut, kann man in den Firefox-Settings die Konfigurationsparameter ändern.

Mit einem rechten Mausklick und einem Klick auf "Neu" - "Boolean" erzeugt man einen neuen Parameter.



Der Name des Parameters ist: plugin.load_flash_only
Der Wert des Parameters ist: false



Jetzt läuft Oracle Forms auch wieder im Firefox!

Viel Spaß
Gerd

31. Dezember 2016

Die Zukunft von Forms - DOAG Forms Day in Berlin, 18.01.2017

Heute, am letzten Tag des alten Jahres, möchte ich noch auf den wichtigsten Event im nächsten Jahr hinweisen, der uns als Forms-Community betrifft. Die DOAG wird im Januar einen Forms-Day ausrichten, an dem wir ausschliesslich Forms-Vorträge hören werden:

DOAG Forms-Day 2017

Kommt alle vorbei und diskutiert mit der Community über eure Forms 12c Erfahrungen.


Euch allen einen guten Start ins neue Jahr und wir sehen uns in Berlin
Gerd

26. November 2015

Was ist neu in Forms 12c, Teil 2

Schauen wir uns nun den Form Builder einmal genauer an, um die Unterschiede zwischen 11 und 12 zu entdecken

Zuerst einmal sieht man direkt den neuen Datei Öffnen-Dialog. Es ist nun der Standard-Dialog aus Windows, mit viel mehr Flexibilität als in Forms 11g.


Neue Features im Konvertieren-Dialog:

  • Neues Feature "Converting to and from XML"
  • Checkbox "Overwrite"
  • Checkbox "Keep window open", falls man mehrere Dateien nacheinander konvertieren möchte.


Voreinstellungen-Dialog, Tab "Allgemein":

  • Die Checkbox "Hide PL/SQL Compile Dialog" ist neu
  • Web Browser-Speicherort  (Forms 11g: Tab "Laufzeit")
  • Compiler Output ist neu

Tab "Unterklasse": Keine Änderungen


Tab "Assistenten": Keine Änderungen


 Tab "Laufzeit":
  • Die Checkbox "Show URL Parameters" ist neu
  • Die Application Server URL ist viel größer!
  • Der Web-Browser-Speicherort wanderte auf die Tab "Allgemein"



Viel Spass damit
Gerd

6. November 2015

Was ist neu in Forms 12c?

Hier sind einige der Änderungen, die ich in Forms 12c gefunden habe. Und viele Dinge, die sich nicht geändert haben.

Fangen wir mit dem Object Navigator an. Links sehen wir Forms 11g, rechts Forms 12c.

Absolut keine Änderungen sind erkennbar.




Gleiches gilt für Menü und Toolbar. Keine Änderungen



Die grösste Änderung sehen wir, wenn wir uns den neuen Titel anschauen. In den letzten Jahrzehnten waren wir es gewohnt, dass dort "Forms Builder" stand. Er heisst nun "Form Builder".

Vielleicht ist es ja auch nur ein Tippfehler. Warten wir auf Release 2 und schauen, ob das "s" dann immer noch fehlt.


Nach dieser Ernüchterung haben ich tiefer gegraben. Das Hilfesystem! Im globalen Inhalt fand ich nur einen einzigen Unterschied.


Oracle Forms User Interface wurde in Oracle Form Builder umbenannt. Im Untermenü gab es einen neuen Eintrag für Installation und Konfiguration.




Zum Schluss durchsuchte ich dann noch den kompletten Index auf beiden Systemen. Hier gab es dann doch eine Menge Neuerungen

Hilfe ist nun verfügbar für diese 18 Themen:

  • Compiler Output
  • Form_Query_Only
  • Forms_Abterm_Cleanup
  • Forms_C_Stack_Trace_To_File
  • Forms_RUEI_Send_Form_Name
  • Hide PL/SQL Compile Dialog
  • Max_Event_Wait
  • Record_Count_Displayed
  • Show URL Parameters
  • System.Last_Event
  • System.Notification_Value
  • System.RecMgr_MAlloced
  • System.RecMgr_Mapped_In_Use
  • System.RecMgr_Mapped_Reserved
  • System.RecMgr_Mapped
  • System.RecMgr_Written_In_Use
  • System.RecMgr_Written
  • User_IP_Address


Viel Spass damit
Gerd

26. Oktober 2015

Forms 12c Installation

Meine erste Installation war nicht sehr stabil. Um das Problem zu identifizieren, musste ich erst einmal in die Zertifizierungsmatrix reinschauen.


Und dort sah ich das Problem. Mein Windows 10 war ein wenig zu neu für die Installation von Forms 12c.

Also installierte ich mir heute ein Windows 8 in einer VM. Und damit klappte dann alles.

Der Unterschied zu meiner ersten Installation ist, das der Forms Configuration Manager nicht startete.


In Windows 8 startet der Manager nun problemlos. Diese Schritte werden vom Manager durchlaufen:

1) Instance Configuration

Hier setzt man den Form Builder Instance Pfad. Ich habe einfach ein neues Verzeichnis angelegt und es in dem Pfad hinterlegt


2) Fortschritt


3) Ende



Nach der Konfiguration liess sich der Form Builder problemlos starten


Just use it
Gerd


24. Oktober 2015

Forms 12c ist draussen

Heute Nacht brachte Oracle seine neueste Version von Oracle Forms heraus. Früh genug um auf der Oracle Open World 2015 vorgestellt zu werden.

Hier nun meine ersten Schritte bei der Installation von Forms 12c.

Als Betriebssystem nutzte ich eine VMware mit Windows 10 auf meinem iMac.

1) Start


2) Automatische Updates


3) Speicherort


4) Installationsart


5) Voraussetzungen


6) Sicherheitsupdates


7) Zusammenfassung


8) Ende


Nach der Installation: Mein erster Aufruf des neuen Forms.


Mehr dazu in ein paar Tagen.

Viel Spass mit Forms 12c
Gerd

10. August 2015

Einfaches Logging und Debugging, Version 2.0

Jede Applikation braucht eine einfache Methode um Fehler zu speichern. Die folgende Technik kann desweiteren dazu benutzt werden um Forms, Reports und PL/SQL zu debuggen. In der neuen Version 2.0 wird nun auch der Username gespeichert und der Viewname hat sich leicht geändert.

Zuerst einmal erstellen wir die Tabelle, Sequence und eine View um die Logging-Information zu speichern:
CREATE TABLE Logging (
  ID                         NUMBER(9) NOT NULL,
  SESSION_ID                 NUMBER(9),
  INSERT_DATE                DATE NOT NULL,
  INSERT_USER                VARCHAR2(30) NOT NULL,
  TEXT                       VARCHAR2(2000) NOT NULL);

CREATE SEQUENCE Logging_SEQ;

CREATE OR REPLACE VIEW Logging_desc_V
         (ID, SESSION_ID, INSERT_DATE, INSERT_USER, TEXT)
AS SELECT ID, SESSION_ID, INSERT_DATE, INSERT_USER, TEXT
     FROM Logging
    ORDER BY SESSION_ID DESC, ID DESC;

Als nächstes brauchen wir ein Package mit den Prozeduren, die für das Logging benötigt werden.
CREATE OR REPLACE PACKAGE PK_DEBUG IS
  FUNCTION Debug_allowed RETURN BOOLEAN;
  FUNCTION Next_ID       RETURN NUMBER;

  PROCEDURE Disable;
  PROCEDURE Enable;
  PROCEDURE Destroy;
  PROCEDURE Init  (P_Debug_allowed IN BOOLEAN DEFAULT TRUE);
  PROCEDURE Write (P_Text IN VARCHAR2,
                   P_Session_ID IN NUMBER DEFAULT NULL);

  G_Debug_allowed BOOLEAN := TRUE;
  G_Session_ID    NUMBER;
END;
/
CREATE OR REPLACE PACKAGE BODY PK_DEBUG IS
FUNCTION Debug_allowed RETURN BOOLEAN IS
BEGIN
  RETURN (G_Debug_allowed);
END;

FUNCTION Next_ID RETURN NUMBER IS
  V_ID NUMBER;
BEGIN
  SELECT Logging_SEQ.nextval
    INTO V_ID
    FROM DUAL;
  RETURN (V_ID);
END;

PROCEDURE Disable IS
BEGIN
  G_Debug_allowed := FALSE;
END;

PROCEDURE Enable IS
BEGIN
  G_Debug_allowed := TRUE;
END;

PROCEDURE Destroy IS
BEGIN
  Write ('----------------------stopp '
    || to_char (G_Session_ID) || '--');
  G_Session_ID := NULL;
END;

PROCEDURE Init (
  P_Debug_allowed IN BOOLEAN DEFAULT TRUE) IS
BEGIN
  G_Debug_allowed := P_Debug_allowed;
  G_Session_ID := Next_ID;
  Write ('--start ' || to_char (G_Session_ID)
    || '----------------------');
END;

PROCEDURE Write (
  P_Text       IN VARCHAR2,
  P_Session_ID IN NUMBER DEFAULT NULL) IS
  PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
  IF Debug_allowed THEN
    IF G_Session_ID IS NULL THEN
      Init;
    END IF;
    INSERT INTO Logging (ID,
      Session_ID,
      Insert_Date,
      Insert_User,
      Text)
    VALUES (Next_ID,
      NVL (P_Session_ID, G_Session_ID),
      Sysdate,
      User,
      P_Text);
    COMMIT;
  END IF;
END;
END;
/

Das Debugging wird mit INIT gestartet und endet mit DESTROY. Fehlermeldungen werden in die Tabelle festgeschrieben mit WRITE. Zum Beispiel:
pk_Debug.Init;
pk_Debug.Write ('Hello World - ' || V_Test);
pk_Debug.Destroy;

Teile des Debuggings können deaktiviert werden mit DISABLE, so dass von dieser Zeile Code an keine Logging-Informationen mehr geschrieben werden, bis man ENABLE startet.

Die View Logging_DESC_V zeigt die Logging-Daten, gruppiert nach der neuesten Session-ID.
ID Session Insert-Date     Text
============================================
24    21   10.09.-12:38:48 -------stopp 21--
23    21   10.09.-12:38:48 Hello World - 42
22    21   10.09.-12:38:48 --start 21-------


Viel Spass damit
Gerd

19. Juni 2015

Gerade wiedergefunden


jetzt brauche ich nur noch ein 3,5" Diskettenlaufwerk.

:-)
Gerd

31. März 2015

Gerüchte über Oracle Reports 12c

Seit fast sechs Wochen gibt es Gerüchte, dass Oracle Reports nicht in der Version 12c erscheinen wird.

Seitdem versuche ich Informationen zu diesem Thema zu bekommen. Dies ist mir dann nach einigen EMails auch gelungen.


Das Gerücht ist definitiv falsch und niemand bei Oracle will Reports 12c einstellen.


Ich hoffe, dass dies die Gerüchteküche ein wenig abkühlt.

Gerd

26. Februar 2015

Das ADF-Buch ist da

Die Deutsche ADF- (und Forms-) Community hat heute ihr erstes Buch herausgegeben.

Das "ADF Buch" ist eine Zusammenstellung von deutschsprachigen Vorträgen, Artikeln und Workshop-Tutorials zum Thema Oracle ADF (es sind auch vereinzelte englischsprachige Beiträge enthalten). Die Autoren sind Mitglieder der deutschen ADF Community. Der Zeitrahmen umfaßt die Jahre 2010 bis 2014. Das Projekt "ADF Buch" wurde von einem Team von Mitarbeitern aus Partnerunternehmen und Oracle umgesetzt.

40 Autoren schrieben 70 Beiträge auf 1400 Seiten.

Der Download besteht aus einem 110 MB PDF und ist kostenfrei: ADF-Community-Homepage


Mein Artikel im Buch hat den Titel "Modernizing Oracle Forms". In ihm demonstriere ich, wie einfach in Oracle Forms die Integration moderner Frameworks wie z.B. LAF (Look and Feel-Framework von Francois Degrelle) ist und wie man ADF in Oracle Forms via OraFormsFaces (Framework von Wilfred van der Deijl) integriert.

Viel Spaß beim Lesen
Gerd

19. März 2014

INC und DEC sollte man in PL/SQL Libraries nicht benutzen

In meiner ältesten PL/SQL-Library in Forms 4 waren dies meine ersten Prozeduren:

PROCEDURE Inc (P_Number IN OUT NUMBER) IS
BEGIN
  P_Number := P_Number + 1;
END;

PROCEDURE Dec (P_Number IN OUT NUMBER) IS
BEGIN
  P_Number := P_Number - 1;
END;

Diese Prozeduren nutze ich seit 20 Jahren in der ein oder anderen Variation. Manchmal mit zwei Parametern, oft auch nur mit einem Parameter. In der ganzen Zeit gab es nie Probleme

In neueren Versionen von Oracle Forms funktioniert dies nun nicht mehr

Und warum? Oracle hat in PL/SQL einen neuen SUBTYPE für DECIMAL erzeugt und ihn "DEC" genannt. Diesen TYPE kann man zum Beispiel zur Variablendeklaration benutzen:
DECLARE
  V_Value   DEC;
BEGIN
... 
 
Das zerstört natürlich meine Prozedur in der PL/SQL-Library :-(
Alle anderen Sprachen kennen von Hause aus schon INC und DEC. Nur nicht Oracle!

Also immer schön acht geben beim erzeugen von neuen Funktionen die für lange Zeit gültig sein sollen :-)
Gerd

8. Januar 2014

Neues Statement of Direction, September 2013

Die aktuellen Supportzeiträume von Forms und Reports findet man in diesem Dokument.

Das Wichtigste auf einen Blick:


Hier geht's zu meinen älteren Statement of Directions Privatkopien:

SoD Oracle Fusion 2013 / 09
SoD Forms 2012 / 03
SoD Oracle Fusion 2010 / 05
SoD Forms 2009 / 07
SoD Forms 2008 / 07
SoD Forms 2007 / 11
SoD Forms 2005 / 09
SoD Forms 2005 / 05
SoD Forms 2005 / 03
SoD Forms 2004 / 06

Mein vorheriger Artikel zu diesem Thema ist hier zu finden

2. Oktober 2013

Modernizing Forms Vortrag

Das Interview, über das ich vorgestern schrieb, ist in Zusammenarbeit mit meinem Vortrag "Wie modernisiere ich Oracle Forms" entstanden.

Das vollständige Video zu dem Vortrag (50 min) ist hier zu finden:





Die Folien des Vortrags sind über diesen Link erreichbar.

Try it
Gerd

30. September 2013

DOAG Interview

Nach meinem letzten Konferenzvortrag bin ich von der DOAG interviewt worden. Thema des Interviews war die Modernisierung von Oracle Forms.


Inhalt des Interviews + YouTube-Info:
Viele sagen über das Ausehen des Entwicklungswerkzeugs Oracle Forms, dieses sei nicht mehr zeitgemäß. Gerd Volberg von Opitz Consulting hat sich im Open-Source-Umfeld umgeschaut und Frameworks gefunden, mit denen die Forms-Welt aufgepeppt werden kann. Im Interview mit dem Leiter der SIG Development Christian Schwitalla präsentiert Volberg das "Forms Look and Feel Project" vom Oracle Ace Francois Degrelle sowie das Framework von Wilfred van der Deijl von "OraFormsFaces", das die Forms und ADF-Welt vereint.

Viel Spass
Gerd