Friday, August 14, 2015

Oracle Form Wizard Simulation



In the name of Allah, Most Gracious, Most Merciful      
Praise be to Allah, blessing and peace be upon our prophet Mohammed, his family and his companions. After that,
        Every minute in a developer working day, is an opportunity to invest his/her time and technical skills. On the other hand, if such a system application you are working on is not well analyzed and designed with the client's final approval in the contract, then, you should expect an endless series of a client's demand that will surprise you. This will defiantly affect negatively on the predetermined delivery dead time of your system application.

  Today we will demonstrate one of the uncommon tasks that a client may ask you. If you did not perform such a task before, it's quite relevant to think positively. The first thing you must believe in is that 'Allah' will assist you. Accordingly, you will really be inspired to decompose such a task into smaller logical pieces. Moreover, some work around technically can be applied to perform your project task efficiently and properly.

Create an Oracle Form Wizard. Definition: Task  

Task Solution idea

     Although there is no control in Oracle form builder tool palette on the left side of the canvas layout called 'Wizard' the same as 'Tree' but "Yes" in Shaa Allah we can accomplish the task.

Some Guide lines to build a form wizard

·        A wizard consists of a number of related canvases having form items.
·        Navigation between canvases is through creating buttons, e.g. 'Next', 'Previous' and 'Cancel'.
·        Create the database blocks and specify each to a specific canvas.  

Task Solution

Now, let's implement a form wizard manually as follow:

·        Create one content canvas and as many stacked canvases as you need.
·        Create your own database blocks.
·        Specify each block to a specific stacked canvas.
 ·        Create the navigation button, e.g. 'Next', 'Previous' and 'Cancel'.
·        Hence, the whole form wizard's idea relies on connecting all the stacked canvas to each other with the following code in e.g. 'Next' button using WHEN-BUTTON-PRESSED Trigger.

Next button does Dual Tasks:
Task 1: calls the next logical, sequential canvas in a form wizard in the same pattern of the user's manual task


If there is more than one data block you have to use the following built-in


If there is at least one data block you have to use the following built-in.

The following destination item MUST BE visible and navigable

GO_ITEM ('Item_Name');

Next button as mentioned, it does Dual Tasks:
Task 2: It Hides the Previous logical, sequential canvas in a form wizard that the user has already filled in.

 -- Hide the original current canvas in


The same logic of the above code can be applied to other Wizard navigation buttons as 'Previous' and 'Cancel'. Only just a few changes you have to modify as renaming the canvas name, block name and item name.
Definitely, you will need to add more logic to your code to control the client's data entry to enhance the form's application functionality.

El-Hamdu Lellah'; Thanks to Allah, my suggested workaround project task solution 

  works successfully at OTN forum  Thus, i recommend you to give it a try ...

By the time you will find out that there were different solutions to any problem, but it was invisible or unknown to you. In fact, a developer' job reminds me with the old proverb that says "You cannot direct the wind, but you can adjust the sail".
Finally, remember you have to be beneficial to others and leave a good sign in others life to pray to you.

Learn more about:

·        Create a Dynamic List Item

Hope this helps…

My success only comes from Allah, pls. note your comments and suggestions are great help for me in progress thanks in advance.


Deeksha Dawar said...

I read lot of articles and really like this article. This information is definitely useful for everyone in daily life. Fantastic job.ORACLE DEVELOPER Training in Noida

Neveen Ebrahim Hamdy said...

Thank you very much, this is the best compliment i have ever received. I will try to keep it up.