Yes, I am asking to you, if you are Oracle Database Application developer and design many applications, then obviously you must have created many tables and while creating a table what inconvenience you feel and what improvements you want to make it more sensible.

I am going to share with you just some of my ideas I got while creating tables and while using them in queries and if they will be implement in future then it will definitely help us. 

I will describe all new three ideas below and every idea would be in three parts first what enhancement is required and second what will be the benefit and the third what keyword can be add to accomplish that task.

First One: Specify Column Alias At The Time Of Create Table

What I want is to specify ALIAS to a column at the time of creating a table, something like this:

Create Table Employee 
(
ECODE NUMBER(5) PRIMARY KEY ALIAS "Employee Code",
ENAME VARCHAR2(50) NOT NULL ALIAS "Employee Name",
SAL NUMBER NOT NULL ALIAS "Salary",
COMM NUMBER ALIAS "INCENTIVE"
)
/

Benefits of the aliases specification at the time of creating a table is whenever you will query to see the data or query to build the reports in SQLPLUS or in any Report Builder Tool then you will see the column names more meaning full and always the same, like for example you will not found the column COMM in one report as Commission and in another report as Incentive, they will be in one standard.

But don't worry I am not telling to forget the original names of the column, I know that the original name is very important because you will make the programs by those names, so I have an idea to query the records with column aliases with a new keyword if I am not specifying that keyword then the Oracle will show the original column name but if I am specifying that keyword then only I will get the result with aliases.

And the keyword could be something like this:
Column Names As Alias
Yes the whole command could be:

Select * From Emp Column Names As Alias
/

Second One: Varchar2 Length Specifications Should Not Be Necessary

It is very difficult sometimes for some specific fields to specify the length of a Varchar2 Data Type field at the time of table creation, because we don't know the exactly length what could be in future, for example any Address field or any Description field which could in a reasonable size but not specific, so for that kind of fields, there is must be facility to specify Varchar2 type without length like for Number data type fields we specify sometimes.
... Address_1 Varchar2, ...
Benefits would be to prevent many issues can occur while importing data from external sources, suppose you have specified an address field size to 60 bytes and data is coming in 65 bytes.

Third One: History Table Maintenance By Database Engine 

Yes this feature should be maintain by database engine for the tables we want to maintain the history for any purposes, then for this feature there would be no need to create trigger which can be manually disabled.

Keywords could be in Create Table command:
Maintain History
Benefits would be more reliable and secure history table data.

For now that is all from my side, so what is your opinion? How about the ideas? What do you think? You can share your ideas and views by commenting below, thanks.

After the installation and successful configuration of Oracle Forms 12c, you need to configure many things using configuration files like default.env, formsweb.cfg, base.htm etc. So in this post I am providing below the list of Oracle Forms 12c configuration files and their location information in Unix, Linux and Windows.

Oracle Forms Configuration Files

These configuration files are used to specify form's parameter:
  • default.env
  • formsweb.cfg
  • ftrace.cfg
Location of default.env in Unix and Linux:
DOMAIN_HOME/config/fmwconfig/servers/WLS_FORMS/applications/formsapp_12.2.1/config

Location of default.env in Windows (just the difference of forward slash and back slash):
DOMAIN_HOME\config\fmwconfig\servers\WLS_FORMS\applications\formsapp_12.2.1\config

Location of formsweb.cfg in Unix and Linux:
DOMAIN_HOME/config/fmwconfig/servers/WLS_FORMS/applications/formsapp_12.2.1/config

Location of formsweb.cfg in Windows:
DOMAIN_HOME\config\fmwconfig\servers\WLS_FORMS\applications\formsapp_12.2.1\config

Location of ftrace.cfg in Unix and Linux:
DOMAIN_HOME/config/fmwconfig/components/FORMS/instances/<FORMSInstanceName>/ server /ftrace.cfg

Location of ftrace.cfg in Windows:
DOMAIN_HOME\config\fmwconfig\components\FORMS\instances\FORMSInstanceName>\ server\ ftrace.cfg

Forms Java EE Application Deployment Descriptors

These files used to define the structure of the EAR files and to change the alias for Forms servlet and the Forms Listener servlet.

You can find the following files under this directory Unix, Linux or Windows (just change to back slash \):

DOMAIN_HOME/servers/WLS_FORMS/tmp/_WL_user/formsapp_12.2.1/<random_string1>/ APP-INF

/APP-INF
/APP-INF/lib
/APP-INF/lib/frmconfig.jar
/APP-INF/lib/frmconfigmbeans.jar
/META-INF
/META-INF/application.xml
/META-INF/jazn-data.xml
/META-INF/jps-config.xml
/META-INF/mbeans.xml
/META-INF/weblogic-application.xml

And the following files under this directory:
DOMAIN_HOME/servers/WLS_FORMS/tmp/_WL_user/formsapp_12.2.1/<random_string2>/war/ WEB-INF

/WEB-INF
/WEB-INF/lib
/WEB-INF/lib/frmsrv.jar
/WEB-INF/web.xml
/WEB-INF/weblogic.xml

Oracle HTTP Listener Configuration File

forms.conf is the HTTP listener configuration file and can be found in Unix and Linux at:

DOMAIN_HOME/config/fmwconfig/components/OHS/instances/<OHSINSTANCENAME> /moduleconf

In Windows at:
DOMAIN_HOME\config\fmwconfig\components\OHS\instances\<OHSINSTANCENAME>\moduleconf

baseHTML Template Files

Can be found in this directory in Unix/Linux:
DOMAIN_HOME/config/fmwconfig/components/FORMS/instances/<Forms Instance Name> /server

Windows:
DOMAIN_HOME\config\fmwconfig\components\FORMS\instances\<Forms Instance Name>\ server
  • base.htm
  • basejpi.htm
  • basesaa.txt
  • base.jnlp
  • basejpi_jnlp.htm

WebUtil Configuration Files and Template HTML Files

Default webutil and HTML templates files can be found in this directory in Unix/Linux:

DOMAIN_HOME/config/fmwconfig/components/FORMS/instances/<Forms Instance Name>/ server

In Windows:
DOMAIN_HOME\config\fmwconfig\components\FORMS\instances\<Forms Instance Name>\ server
  • Default webutil.cfg
  • Default webutilbase.htm
  • Default webutiljpi.htm
  • Default webutil.jnlp
  • Default webutilsaa.txt
Oracle Forms 12c Configuration

In this tutorial you will learn to copy the records from one data block to another data block on same form and on a same canvas in Oracle Forms. 

Below is the screen shot of the form and you can download this form for your reference from the following link (Table script is also included):

In the above picture you can see that there are two blocks, first one is the block based on a table and the second one is a non-database data block, but this is not necessary you can make the block based on a table also.

The functionality of this form is, user will select the record above then click on Copy button to copy the record below, it is like making the selection of records from a data block. User can also remove the records from the second block where the records are being copied.

The whole functionality is written on the push button Copy and below is the code written on When-Button-Pressed trigger:

[code type="PL/SQL"]BEGIN
   GO_BLOCK ('COPIED');
   FIRST_RECORD;

   LOOP
      -- CHECK THE VALUE IF RECORD IS EMPTY IF NOT THEN JUMP TO ANOTHER
      IF :copied.empno IS NULL
      THEN
         -- EXIT TO COPY THE RECORD
         EXIT;
      END IF;

      -- ELSE CONTINUE FINDING EMPTY RECORD
      IF :SYSTEM.LAST_RECORD = 'TRUE'
      THEN
         CREATE_RECORD;
         EXIT;
      END IF;

      NEXT_RECORD;
   END LOOP;

   -- COPY THE RECORD
   :copied.empno := :scott_emp.empno;
   :copied.ename := :scott_emp.ename;
   :copied.job := :scott_emp.job;
   :copied.mgr := :scott_emp.mgr;
   :copied.hiredate := :scott_emp.hiredate;
   :copied.sal := :scott_emp.sal;
   :copied.comm := :scott_emp.comm;
   :copied.deptno := :scott_emp.deptno;
   -- GO BACK TO FIRST BLOCK
   GO_BLOCK ('SCOTT_EMP');
END;[/code]

You should replace the value of data block and item reference (:copied.empno := :scott_emp.empno) with your form's data block and items.

Below is the code of Remove push button of second data block to clear the record when pressed:

[code type="PL/SQL"]CLEAR_RECORD;[/code]

Just a One line code which is sufficient. 

OCA Oracle Database 12c SQL Certified Expert Exam Guide

This comprehensive study guide from Oracle Press enables readers to prepare for the SQL Database Expert Exam with total confidence. Ideal both as a study guide and on-the-job reference, Oracle Database 12c SQL Certified Expert Exam Guide features examples, practice questions, and chapter summaries. Between the book and accompanying CD-ROM, you will have access to more than 150 questions that match the topics, format, and complexity of the real test.

Oracle Data Integration: Tools for Harnessing Data

Deliver continuous access to timely and accurate BI across your enterprise using the detailed information in this Oracle Press guide. Through clear explanations and practical examples, a team of Oracle experts shows how to assimilate data from disparate sources into a single, unified view. Find out how to transform data in real time, handle replication and migration, and deploy Oracle Data Integrator and Oracle GoldenGate. Oracle Data Integration: Tools for Harnessing Data offers complete coverage of the latest “big data” hardware and software solutions.

Expert Oracle Application Express, Second Edition

Oracle Application Express is a web-based development framework that is built into every edition of Oracle Database. Expert Oracle Application Express, Second Edition, presents expert best practices and development insights. Written for already-proficient Oracle Application Express developers who want to build upon their knowledge, it offers ways to address enterprise-level development concerns such as scalability and security. Additionally, readers can get details on debugging and performance, how to customize application user interfaces, and deploying globally in multiple languages.

Latest Oracle 12c and Apex Books 2015

Hadoop: The Definitive Guide

Get ready to unlock the power of your data. With the fourth edition of this comprehensive guide, you’ll learn how to build and maintain reliable, scalable, distributed systems with Apache Hadoop. This book is ideal for programmers looking to analyze datasets of any size, and for administrators who want to set up and run Hadoop clusters.

Using Hadoop 2 exclusively, author Tom White presents new chapters on YARN and several Hadoop-related projects such as Parquet, Flume, Crunch, and Spark. You’ll learn about recent changes to Hadoop, and explore new case studies on Hadoop’s role in healthcare systems and genomics data processing.

Hadoop Explained

With the almost unfathomable increase in web traffic over recent years, driven by millions of connected users, businesses are gaining access to massive amounts of complex, unstructured data from which to gain insight.

When Hadoop was introduced by Yahoo in 2007, it brought with it a paradigm shift in how this data was stored and analysed. Hadoop allowed small and medium sized companies to store huge amounts of data on cheap commodity servers in racks. The introduction of Big Data has allowed businesses to make decisions based on quantifiable analysis. 

Hadoop Application Architectures

Get expert guidance on architecting end-to-end data management solutions with Apache Hadoop. While many sources explain how to use various components in the Hadoop ecosystem, this practical book takes you through architectural considerations necessary to tie those components together into a complete tailored application, based on your particular use case.

To reinforce those lessons, the book’s second section provides detailed examples of architectures used in some of the most commonly found Hadoop applications. Whether you’re designing a new Hadoop application, or planning to integrate Hadoop into your existing data infrastructure, Hadoop Application Architectures will skillfully guide you through the process.


The following are the most suggested Oracle Certifications for Oracle Application Developers in Forms and Reports and as you already know that Oracle Forms 12c also released, so it is going to be used in long run.

Oracle Certified Professional, Oracle Fusion Middleware 11g Forms Developer

The Oracle Fusion Middleware (FMW) 11g Forms Developer certification is designed for individuals who possess a strong foundation in SQL and PL/SQL basics and wish to learn to use Oracle Forms Builder 11g to rapidly build scalable, high-performance applications for the Web. This certification covers topics such as: designing code for reuse, using GUI controls and writing triggers, troubleshooting applications and using WebUtil to interact with client computers.

Oracle Forms Developer Certified Professional

This certification is only available as an upgrade from Oracle Application Developer Rel. 1 OCP. We strongly recommend that you continue on your upgrade path to the current Oracle Forms Developer Certified Professional

Oracle Internet Application Developer Certified Professional, Oracle Forms Developer Release 6/6i

Oracle offers a complete, integrated set of application development tools that support any development approach, technology platform, or operating system. Oracle PL/SQL Developer Certified Associates demonstrate expertise in building database-centric Internet applications for both Oracle9i and Oracle Database 10g. Oracle Forms Developer Certified Professionals gain greater credibility, a higher level of efficiency, and improved job performance as application developers. 

Below is the step by step guide to install Oracle Forms 12c on Windows 7. To install Oracle Forms 12c, first download Oracle Forms & Reports Services 12c from the Oracle.Com with the following link:
If you have installed Weblogic Server 12c then fine else download and install Weblogic Server 12c also and you will have two zip files as following:


After installing the Weblogic Server 12c, double click the "setup_fmw_12.2.1.0.0_fr_win64.exe" file to start the installation.

1. Welcome screen will appear then click next to continue.
Oracle Forms 12c Installation Step 1

2. Auto Update screen will appear, you can choose skip Auto Update option then click to continue.

Oracle Forms 12c Installation

3. Installation location page will appear then specify the installation directory and then click next to continue.
Oracle Forms 12c Installation

4. Installation type screen will appear and there is an option to install Oracle Forms Builder Standalone and Oracle Forms & Reports deployment, choose Oracle Forms & Reports deployment and then click next to continue.

Oracle Forms 12c Installation

5. Next screen will check the system requirement and if everything is OK, then click next to continue.


6. It will show you the installation summary and then click next to continue.

7. Finally Installation successful screen will appear and on this screen you will see a check box to Run Oracle Forms Configuration wizard after installation then check the check box and click Finish to exit the installation and then Form's configuration wizard will run.

Oracle Forms 12c Installation

In the Form's configuration wizard, you will be prompted to specify Oracle Form's Instance directory location, so just create a new directory and specify that directory for Form's instance and when the Configuration wizard will complete you can find Tnsnames.Ora and other properties files in this directory.

Follow To Get Updates

It is a good news for Oracle Form's developers that finally Oracle Forms 12c have been released and it's available to download from the following link:
Oracle Forms 12c released with many new features with backward compatibility with Forms 6i and 10g. Check the following link to know the enhancements about Forms 12c:

About Oracle Forms 12c

You can find the system requirements information for Oracle Forms 12c installation with the following link:

System Requirements

Subscribe To Get Email Notifications For Latest Updates Like This:
Enter your email address:


Delivered by FeedBurner

Ream xlsx file in Oracle PL SQL

You can read and import data from the Excel's xlsx files in Oracle, using PL SQL package as_read_xlsx written by Anton Scheffer, with the help of this package you can directly query the Xlsx file in Oracle. It is very simple to use and gives the output which can be easily manipulate. You can download the package from the following link:
Below are the steps to use this package and to read xlsx file:

1. After downloading the package, execute the script in database to create the package.

2. Then create a directory object in Oracle database in which your excel (xlsx) files are exists:

Create or Replace Directory DOC as 'D:\YourDir\'
/

Or for Unix / Linux

Create or Replace Directory DOC as '/YourDir/'
/

2. After that just execute the query as shown below to view the contents of the xlsx file:

SELECT *
  FROM TABLE(as_read_xlsx.read (
                as_read_xlsx.file2blob ('DOC', 'xlsx_test.xlsx')))
/

The result will come like shown below from the excel file shown in above image:


Managing push buttons at run time in Oracle Forms is very simple and in this tutorial you will learn to enable or disable the buttons, making visible and invisible buttons and will learn to change the label text of a button.

In the below mentioned examples I am using toggle functionality for buttons, means if the button is enabled or visible then it will be disable or invisible by using Get_Item_Property and Set_Item_Property commands.

Below is the screen shot of the form and you can download the form from the following link:
Push Buttons example for Oracle Forms

To perform this functionality I used buttons and written the When-Button-Pressed trigger to make the changes in other button's functionality.

The following is the code:

Making Button Toggle Enable / Disable

Begin
If Get_Item_Property('control.pb_endb', enabled) = 'FALSE' Then
Set_Item_Property('control.pb_endb', enabled, Property_True);
Else
Set_Item_Property('control.pb_endb', enabled, Property_False);
End if;
End;

Making Button Toggle Visible / Invisible

Begin
If Get_Item_Property('control.pbvs', Visible) = 'FALSE' Then
Set_Item_Property('control.pbvs', Visible, Property_True);
-- Make enable also
Set_Item_Property('control.pbvs', Enabled, Property_True);
Else
Set_Item_Property('control.pbvs', Visible, Property_False);
End if;
End;

Changing Label Text

Begin
If :control.txtbuttonlbl Is Not Null Then
Set_Item_Property('control.pblbl', Label, :control.txtbuttonlbl);
End if;
End;

After getting to much requests for a free Oracle Forms and Reports project for students, I am sharing a project with source code (Oracle Forms example application), which I developed in around 2000 in Oracle Forms 4.5, but you can download it and can use in Forms 6i, 10g and 11g. Download the project with following button:

It is a Job Placement package in which user enters the details of the employer requirement for the job and enters the details of candidate profile and it gives the output through reports of matching profiles, below are the screen shots:
Follow to get more free projects notifications in future, thanks.

Oracle Forms Based Software Project


Oracle Forms Based Software Project
Follow To Get More Projects In Future
Oracle Forms Based Software Project
Oracle Forms Based Software Project
When you will extract the zip file Forms_Project.zip, you will find Fmbs and RDFs in Folder named Modern and there is a sub folder Database in which you will find database dump file Modern.dmp and Schema_Script.sql, by any of it you can import the database contents.

You can simply execute the Schema_Script.sql to install the database tables in any schema. Thanks.

In this tutorial you will learn to create horizontal scrollable tabular or detail data block by using stacked canvas in Oracle Forms.

As shown in below picture the first column Empno is fixed and middle columns Ename, Job, Mgr and Hiredate are scrollable and last columns Sal, Comm, Deptno are fixed which are right side.
Oracle Forms Stacked canvas example
First thing is clear that the those columns which are fixed will be placed on Content Canvas and those column which are scrollable will be placed on Stacked Canvas.

Now the main part is to set the positioning of stacked canvas items and content canvas items and the position of stacked canvas and for this I will tell you to set some important properties of the items and stacked canvas.

To set the stacked canvas position and scrollable area stacked canvas, you have to note down the properies of the following items:

1. The X and Y position and the Width of First fixed column Empno Which is in this case are:
X = 15
Y = 172
Width = 45
2. Note down the X property of first right side column Sal, which is:
X = 218

Now we have the property values and what we need to do is some calculation to get the exact placement of Stacked Canvas and the following is the formula:

The first column Empno X is 15 and width is 45, hence the stacked canvas Viewport X Position will be 15 + 45 + 1
Set Viewport X Position = 61

The first column Empno Y is 172, hence the stacked canvas Viewport Y Position will be 172 - 10 (Prompt height)
Set Viewport Y Position = 162

Set the Viewport Width using following formula:

Sal column X Position(218) - First Column Empno X+Width (60) - 4 = 154
Set Viewport Width = 154

Set the Viewport Height as per the number of items displayed on content canvas.

Now your scrollable Stacked canvas is ready and I am attaching the form including Emp table script so that you download and take the reference from it.

Download this form using this link from Google Drive : Stacked.Zip

Now you can add responsive random posts widget with thumbnails to blogger blog. Just copy and paste the below code as described below:

Related posts widget with thumbnails for blogger

1. Go to Layout editor.


2. Select HTML/Java script option.


3. Then paste the following code and no need to change anything, it will pickup the random posts from your blog and display it. But if you have knowledge of css and java script you can make more customization.

<style type="text/css">
#random-posts li {width:285px;height:175px;margin-right:18px;margin-bottom:12px;float:left;list-style:none;position:relative}
#random-posts li:last-child {margin-right:0}
#random-posts li img {width:285px;height:175px}
#random-posts li img a {border:#333 solid 2px}
#random-posts li .isinyako {position:absolute;width:250px;top:-150px;z-index:2;background-color:#F0F0F0;padding:5px;font-size:90%;border-bottom:2px solid black;transition:all 0.6s cubic-bezier(1,2,0,0) 0s;-moz-transition:all 0.6s cubic-bezier(1,2,0,0) 0s;-webkit-transition:all 0.6s cubic-bezier(1,2,0,0) 0s;-o-transition:all 0.6s cubic-bezier(1,2,0,0) 0s;visibility:hidden;opacity:0}
#random-posts li:last-child .isinyako{right:0}
#random-posts li:hover .isinyako{top:-40px;opacity:1;visibility:hidden}
.isinyako span{font-size:90%;color:#B30B0B}
.isinyako p{font-size:90%;}
</style>

<span class="glap"><ul id="random-posts">

<script type="text/javaScript">
var rdp_numposts = 12; var rdp_snippet_length = 50; var rdp_info = 'no'; var rdp_comment = 'Comments'; var rdp_disable = 'Turn off comments'; var rdp_current = []; var rdp_total_posts = 0; var rdp_current = new Array(rdp_numposts);
function totalposts(a){rdp_total_posts=a.feed.openSearch$totalResults.$t} document.write('<script type="text/javascript" src="/feeds/posts/default?alt=json-in-script&max-results=0&callback=totalposts"><\/script>');
function getvalue(){for(var b=0;b<rdp_numposts;b++){var d=false;var c=get_random();for(var a=0;a<rdp_current.length;a++){if(rdp_current[a]==c){d=true;break}}if(d){b--}else{rdp_current[b]=c}}}
function get_random(){var a=1+Math.round(Math.random()*(rdp_total_posts-1));return a};
</script>
<script type="text/javaScript">
function random_posts(n){a=location.href;y=a.indexOf("?m=0");for(var f=0;f<rdp_numposts;f++){var l=n.feed.entry[f];var m=l.title.$t;if("content" in l){var o=l.content.$t}else{if("summary" in l){var o=l.summary.$t}else{var o=""}}o=o.replace(/<[^>]*>/g,"");if(o.length<rdp_snippet_length){var k=o}else{o=o.substring(0,rdp_snippet_length);var b=o.lastIndexOf(" ");k=o.substring(0,b)+"&#133;"}for(var e=0;e<l.link.length;e++){if("thr$total" in l){var h=l.thr$total.$t+" "+rdp_comment}else{h=rdp_disable}if(l.link[e].rel=="alternate"){var d=l.link[e].href;if(y!=-1){d=d+"?m=0"}var g=l.published.$t;if("media$thumbnail" in l){var c=l.media$thumbnail.url}else{c="http://lh5.googleusercontent.com/-6ZP7GKdwulI/UYPY5QJk6rI/AAAAAAAAFSA/u0vvgye7kt8/s1600/No-Image-736965.jpg"}
}} document.write("<li>"); document.write('<a href="'+d+'" rel="nofollow"><img alt="'+m+'" src="'+c+'"/> <h2 style="text-align: center;background-color:#0E72C2;color:#ffffff;font:bold 22px Helvetica, Sans Serif;top:100px;position:absolute;opacity:0.8">'+m+'</h2></a>'); document.write('<div class="isinyako"><h5>'+m+"</h5>");if(rdp_info=="yes"){document.write("<span>"+g.substring(8,10)+"/"+g.substring(5,7)+"/"+g.substring(0,4)+" - "+h+"</span>")} document.write("<p>"+k+"</p></div>"); document.write('<div style="clear:both"></div></li>')}}getvalue(); for(var i=0;i<rdp_numposts;i++){document.write('<script type="text/javascript" src="/feeds/posts/default?alt=json-in-script&start-index='+rdp_current[i]+'&max-results=1&callback=random_posts"><\/script>')};
</script>
</ul></span>
<script type='text/javascript'> //<![CDATA[ function resizeThumb(e,b){var c=document.getElementById(e),d=c.getElementsByTagName("img");for(var a=0;a<d.length;a++){d[a].src=d[a].src.replace(/\/s72\-c/,"/s"+b+"-c");d[a].width=b;d[a].height=b}}resizeThumb("random-posts",120); //]]></script>


V. Kapoor

{picture#https://3.bp.blogspot.com/-q3wCssWUHo8/ViDFfCpPEuI/AAAAAAAAD0M/MHPvgnl3T3U/s1600/authpic.JPG} Vinish Kapoor is a Software Consultant, currently working in a reputed IT company in Noida, India and doing blogging on Oracle Forms, SQL and PLSQL topics. He is an author of an eBook Oracle Forms Recipes, which is available on Google play. {facebook#https://www.facebook.com/foxinfotech2014} {twitter#https://twitter.com/foxinfotech} {google#https://plus.google.com/u/0/+VKapoor/posts}
Fox Infotech. Powered by Blogger.