November 26, 2015

What's new in Forms 12c, part 2

Let's now look into the Form Builder and what changes we got there.

First we see the facelift in the Open-Dialog. It's now the typical Windows-Dialog, where you have much more flexibility.


New features in the Convert-Dialog:

  • New Feature "Converting to and from XML"
  • Checkbox "Overwrite"
  • Checkbox "Keep window open", if you have to convert many files at once.


Preferences-Dialog, Tab "General":

  • The checkbox "Hide PL/SQL Compile Dialog" is new
  • Web Browser location (Forms 11g: Tab "Runtime")
  • Compiler Output is new

Tab "Subclass": No changes


Tab "Wizards": No changes


 Tab "Runtime":
  • The checkbox "Show URL Parameters" is new
  • Application Server URL is much bigger!
  • The Web Browser location vanished to Tab "General"



Have fun
Gerd

November 06, 2015

What's new in Forms 12c?

Here are some of the differences which I found in the new Forms 12c version. And some things, that didn't change.

Let's start with the Object Navigator. Left side is Forms 11g, right is Forms 12c.

There are absolutely no changes between the two versions.




Same picture when we look at the menu and toolbar. No changes.



And now we see the big difference between 11g and 12c. The last decades Forms was known as "Forms Builder". And now we have a rebranding to "Form Builder".

Maybe it is only a typo. Let's wait what name it has in Release 2.


After looking at the layout I searched deeper. The help system! The global Content only changed one thing.


Oracle Forms User Interface was renamed to Oracle Form Builder. In this submenu you can now find Installation and Configuration.




Last but not least I compared the index of both help systems.

New help is available for:

  • 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


That's it
Gerd

October 26, 2015

Forms 12c installation

My first installation two days ago wasn't stable. So I had to read the certification matrix to see, what's the problem.


Windows 10 was a little bit to new for my first installation.

So I tried today Windows 8 in a virtual machine. And that's it.

The difference to my first installation is, that the Forms Configuration Manager didn't start.


In Windows 8 the Configuration Manager did start without problems. These steps were shown in the Manager:

1) Instance Configuration

You have to set a Form Builder Instance Path. I created a new directory and wrote it into the path


2) Configuration Progress


3) End of Configuration



After the configuration you can work with the Form Builder


Just use it
Gerd


October 24, 2015

Forms 12c launched this night

Some hours ago Oracle launched the new release of Oracle Forms.

And here are my first steps installing the new Forms 12c.

The OS, in which I tried the installation was a VMware with Windows 10 on my iMac.

 1) Welcome


2) Updates


3) Destination


4) Installation-Type


5) Prerequisites


6) Security Updates


7) Summary


8) The End


After the installation: My first start of the new Forms


More about it in the next days.

Have fun with Forms 12c
Gerd

August 10, 2015

Easy logging and debugging, version 2.0

Each application needs a simple way to log errors and find them. The following technique can also be used to debug Forms, Reports and PL/SQL. This version 2.0 has an important change. The username ist stored in the debugging-data and the viewname has changed a little bit.

First create the table, sequence and view to store the logging-information:

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;

You need also a package with some functions to start the logging-process
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;
/

You start a debugging-session with INIT and stop it with DESTROY. Error-Messages are logged using WRITE. For example:
pk_Debug.Init;
pk_Debug.Write ('Hello World - ' || V_Test);
pk_Debug.Destroy;

Parts of your debugging can be deactivated with DISABLE and from this point on nothing will be written into the logging-table until you start ENABLE.

The view Logging_DESC_V shows you the debugging-information, group by the newest 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-------


Try it
Gerd

June 19, 2015

Just found


now I need a floppy drive for 3,5"

:-)
Gerd

March 31, 2015

Rumors about Oracle Reports 12c

For nearly six weeks, it is rumored that Oracle Reports will not appear in the version 12c.

Since then, I tried to get information on this topic. After a few emails I got the info I needed.


The rumors are definitely wrong and no one at Oracle wants to cancel Reports 12c.


I hope that this cools down the rumor mill a little bit.

Gerd

February 26, 2015

The German ADF-Community-Book was released today

The German ADF- (and Forms-) Community released their first book.

The "ADF book" is a compilation of German lectures, articles and workshop tutorials in Oracle ADF (some of the contributions are in English!). The authors are members of the German ADF community. The time frame covers the years 2010 to 2014. The project "ADF book" was implemented by a team of staff from partner companies and Oracle.

40 authors wrote 70 contributions on 1400 pages in this book.

It's a 110 MB PDF and can be downloaded for free from the ADF-Community-Page.


My part in the book has the title "Modernizing Oracle Forms" in which I demonstrate, how easy it is to enhance Oracle Forms with modern frameworks like LAF (Look and Feel-Framework from Francois Degrelle) and how to integrate ADF in Oracle Forms via OraFormsFaces (A framework from Wilfred van der Deijl).

Have fun with the book
Gerd