Solved

Reading form storage format?

Posted on 2000-03-06
19
1,173 Views
Last Modified: 2010-08-05
Hi,
I am very new in oracle, this is my first day in dealing oracle.
I want to read the script that oracle generates to store the forms that are developed in Developer 2000. I mean as in VB the frm file contains all the information about controls, buttons etc.
And in VC the recource file contains this info.
How can I access it?
Thanx in advance
Waiting for reply...
0
Comment
Question by:Moin
  • 7
  • 4
  • 2
  • +5
19 Comments
 
LVL 6

Expert Comment

by:crsankar
Comment Utility
Here are the steps:

Start forms designer.

Choose FILE->ADMINISTRATION->CONVERT
from the menu

specify the type as form (default)
choose the file that you want to convert
this would be the .fmb file

eg.D:\orant\FORMS45\emp.fmb

specify direction as binary to text

click on convert

This will generate a file with .fmt extension which is a simple text file

eg.D:\orant\FORMS45\emp.fmt

your original .fmb file will be left untouched.

you can use notepad or any toher text editor to open you .fmt file


0
 

Author Comment

by:Moin
Comment Utility
Please emphasize on my sentence "I want to read the script that oracle generates to store the forms "
This means that from the .fmt file how can I understand that this block of code doing what. In other words I want to understand the language of .fmt file
0
 
LVL 6

Expert Comment

by:crsankar
Comment Utility
The .fmt file that oracle creates would be in normal ascii text. You can open it as any other text file and read it. Are you talking about the PL/SQL code?
0
 
LVL 6

Expert Comment

by:crsankar
Comment Utility
Please try creating a .fmt file the way I have suggested, go through it and let me know.
0
 

Author Comment

by:Moin
Comment Utility
As I stated in my question that this is my first day with Oracle. So I know this much that PL/SQL handles database and the .fmt file contains the information about controls placed on forms. So I need to understand this control related inofrmation. Just for example, I am pasting the following code here:
============CODE STARTS=========
DEFINE  F50T
BEGIN
   TP = 4
   TI = 2
   TN = 738
   TV = <<"US">>
END

DEFINE  FRM50_IDFO
BEGIN
   IDFOS_POI = 4
   IDFOS_OID = 5
   IDFOS_NAM = <<"">>
   IDFOS_TYP = 108
   IDFOS_OOI = 4
   IDFOS_OPN = 746
   IDFOS_CNT = 3
END

DEFINE  F50T
BEGIN
   TP = 5
   TI = 1
   TN = 745
   TV = <<"PUSH_BUTTON6">>
END

DEFINE  F50T
BEGIN
   TP = 5
   TI = 2
   TN = 745
   TV = <<"RADIO_BUTTON5">>
END

DEFINE  F50T
BEGIN
   TP = 5
   TI = 3
   TN = 745
   TV = <<"MODULE3">>
END

DEFINE  F50O
BEGIN
   OP = 4
   OI = 3
   ON = 746
   OO = 5
END

DEFINE  F50O
BEGIN
   OP = 3
   OI = 1
   ON = 741
   OO = 4
END



============ CODE ENDS ================

Please help...
0
 

Author Comment

by:Moin
Comment Utility
As I stated in my question that this is my first day with Oracle. So I know this much that PL/SQL handles database and the .fmt file contains the information about controls placed on forms. So I need to understand this control related inofrmation. Just for example, I am pasting the following code here:
============CODE STARTS=========
DEFINE  F50T
BEGIN
   TP = 4
   TI = 2
   TN = 738
   TV = <<"US">>
END

DEFINE  FRM50_IDFO
BEGIN
   IDFOS_POI = 4
   IDFOS_OID = 5
   IDFOS_NAM = <<"">>
   IDFOS_TYP = 108
   IDFOS_OOI = 4
   IDFOS_OPN = 746
   IDFOS_CNT = 3
END

DEFINE  F50T
BEGIN
   TP = 5
   TI = 1
   TN = 745
   TV = <<"PUSH_BUTTON6">>
END

DEFINE  F50T
BEGIN
   TP = 5
   TI = 2
   TN = 745
   TV = <<"RADIO_BUTTON5">>
END

DEFINE  F50T
BEGIN
   TP = 5
   TI = 3
   TN = 745
   TV = <<"MODULE3">>
END

DEFINE  F50O
BEGIN
   OP = 4
   OI = 3
   ON = 746
   OO = 5
END

DEFINE  F50O
BEGIN
   OP = 3
   OI = 1
   ON = 741
   OO = 4
END



============ CODE ENDS ================

Please help...
0
 
LVL 6

Expert Comment

by:crsankar
Comment Utility
In my view, there is no need for you to go and edit these text files. You should be setting the properties through your forms designer by setting properties of items. Anyways, I will withdraw my answer, since you may be looking forward for suggetions from others. If you want help on any of these properties and how it affects the behaviour and appearance of an item you can always use forms online help for your aid.

Rgds,
crs
0
 

Author Comment

by:Moin
Comment Utility
As I stated in my question that this is my first day with Oracle. So I know this much that PL/SQL handles database and the .fmt file contains the information about controls placed on forms. So I need to understand this control related inofrmation. Just for example, I am pasting the following code here:
============CODE STARTS=========
DEFINE  F50T
BEGIN
   TP = 4
   TI = 2
   TN = 738
   TV = <<"US">>
END

DEFINE  FRM50_IDFO
BEGIN
   IDFOS_POI = 4
   IDFOS_OID = 5
   IDFOS_NAM = <<"">>
   IDFOS_TYP = 108
   IDFOS_OOI = 4
   IDFOS_OPN = 746
   IDFOS_CNT = 3
END

DEFINE  F50T
BEGIN
   TP = 5
   TI = 1
   TN = 745
   TV = <<"PUSH_BUTTON6">>
END

DEFINE  F50T
BEGIN
   TP = 5
   TI = 2
   TN = 745
   TV = <<"RADIO_BUTTON5">>
END

DEFINE  F50T
BEGIN
   TP = 5
   TI = 3
   TN = 745
   TV = <<"MODULE3">>
END

DEFINE  F50O
BEGIN
   OP = 4
   OI = 3
   ON = 746
   OO = 5
END

DEFINE  F50O
BEGIN
   OP = 3
   OI = 1
   ON = 741
   OO = 4
END



============ CODE ENDS ================

Please help...
0
 
LVL 4

Expert Comment

by:sudhi022299
Comment Utility
Well Moin as Ram pointed out, you have to read the .fmt file to find out the information.

You have to use a built-in package UTL_FILE to read it. To find out what a particular trigger is doing say, when-button-pressed you have read line by line and then get to the excat location from the file and read from there. I don't know in what way it might help, but a i'm curious to know why do you have to read it.

In case you want another developer form to read from it, then you have to use anohter packaged in developer ie, TEXT_IO to read it.

Regards,
Sudhi.
0
PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

 

Author Comment

by:Moin
Comment Utility
But I need to understand this file format because I need to convert Developer/2000 forms to Java.
Can I do this without understanding this file format.
0
 
LVL 4

Expert Comment

by:sudhi022299
Comment Utility
In case you have to read it from the pl/sql then either use the UTL_FILE at the database side or use TEXT_IO at the font end side.

But as u want to understand this file format, best way to start is, create a simple form then read open the .fmt file in notepad or any text editor, you should be able to follow that.

Regards,
Sudhi.
0
 

Author Comment

by:Moin
Comment Utility
But i have read it and couldn't follow it because it is too complex.
0
 
LVL 34

Expert Comment

by:Mark Geerlings
Comment Utility
I started working with Oracle Forms on version 2.3.  In those days the *.inp files were plain ASCII text.  They have since been replaced by the *.fmb and *.fmt files, but Oracle has changed the format of the text files significantly.

They used to be easy to read and understand.  In fact, I did much of my Forms programming then by working directly in the *.inp file with a text editor.  These days, that approach is strongly discouraged by Oracle and as you noticed the format of the text files is very difficult to understand.  I don't use that technique anymore, and don't expect that anyone else does either.

As crsankar pointed out in your other question, you don't need to manually convert the Forms code to Java to deploy an Oracle Forms application in a web-deployed situation.  If you have Forms6, this should be relatively easy.

I was involved in two web-deployed projects with Forms5, and there were some difficulties and a few Forms features that didn't work.  Forms6 is supposed to be much better for web-deployment, but I haven't tried.  We are using it in a client-server configuration only at present.
0
 

Author Comment

by:Moin
Comment Utility
But this will not serve my purpose as I have to manually convert the code to JAVA code
0
 
LVL 1

Expert Comment

by:clim1219
Comment Utility
perhaps the best way to convert oracle developer forms to java is to have the form canvesses printed out and use a java gui tool such jdeveloper to draw the screen.
0
 
LVL 34

Expert Comment

by:Mark Geerlings
Comment Utility
Just curious, why is a web-deployed Oracle Forms system not an option for you?  I am not convinced either that Oracle's Web-deployed Forms are the best way to go in all cases, but I would like to know your reasons if you could share them.
0
 
LVL 2

Expert Comment

by:cadabra
Comment Utility
The last version of forms I was involved with was 4.5 .

If you want to generate a "source" file of a form, then you can create an FMT, as discussed already. However, these files tend to be very large, and very hard to read and follow.

There is another option (at least there was in 4.5) to generate a documentation file which is much more readable (but can not be converted back to an FMB).

Regarding "understanding the FMT file": I guess almost anyone involved with developer trys cracking the mysteries of the FMT file at some point or another. However, when actually try to do this you find all sorts of binary encoded sections etc.

Anyway, I think that you have probably set a new guiness record, trying to crack FMT files on your first day of dealing with Oracle  :)
0
 

Expert Comment

by:kphallpa
Comment Utility
Moin,

It looks as though you are trying to reverse engineer the Forms programs into Java.

IMHO If you can't migrate the application using Oracle techniques into Web/Java, then Give up!

Get the specs and re-design and re-write as they need to be now. Business rules are bound to have changed anyway.

So - start again. It will be the best solution if not the cheapest.

Ken
0
 
LVL 3

Accepted Solution

by:
oavidov earned 500 total points
Comment Utility
Moin,
All you need is migration tool between
compilers are mantioned at your question.
Such tool you can achieve at the folowing sites:-
-www.schtools.co.il
-solutions.oracle.com
At last site use the self search engin
and write the word migration for all oracle's partners relevant list then
Choose the correct tool you need.
Wish you all luck you need for your search and sure you find one finally.
Regads
oavidov
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Join & Write a Comment

Working with Network Access Control Lists in Oracle 11g (part 1) Part 2: http://www.e-e.com/A_9074.html So, you upgraded to a shiny new 11g database and all of a sudden every program that used UTL_MAIL, UTL_SMTP, UTL_TCP, UTL_HTTP or any oth…
Have you ever had to make fundamental changes to a table in Oracle, but haven't been able to get any downtime?  I'm talking things like: * Dropping columns * Shrinking allocated space * Removing chained blocks and restoring the PCTFREE * Re-or…
This video explains at a high level about the four available data types in Oracle and how dates can be manipulated by the user to get data into and out of the database.
Via a live example, show how to take different types of Oracle backups using RMAN.

772 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now