Solved

Reading form storage format?

Posted on 2000-03-06
19
1,185 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
ID: 2590563
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
ID: 2590657
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
ID: 2590704
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
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.

 
LVL 6

Expert Comment

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

Author Comment

by:Moin
ID: 2590866
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
ID: 2590891
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
ID: 2590894
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
ID: 2590917
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
ID: 2590950
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
 

Author Comment

by:Moin
ID: 2591020
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
ID: 2591038
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
ID: 2591227
But i have read it and couldn't follow it because it is too complex.
0
 
LVL 35

Expert Comment

by:Mark Geerlings
ID: 2591500
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
ID: 2594659
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
ID: 2595474
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 35

Expert Comment

by:Mark Geerlings
ID: 2595837
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
ID: 2596277
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
ID: 2610484
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
ID: 2611310
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.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Concat multi row values of a field in oracle 6 66
Get the parent node - XMLTYPE 9 75
Create table from select - oracle 6 41
Select and Insert Query running slow 4 38
I remember the day when someone asked me to create a user for an application developement. The user should be able to create views and materialized views and, so, I used the following syntax: (CODE) This way, I guessed, I would ensure that use…
Configuring and using Oracle Database Gateway for ODBC Introduction First, a brief summary of what a Database Gateway is.  A Gateway is a set of driver agents and configurations that allow an Oracle database to communicate with other platforms…
Video by: Steve
Using examples as well as descriptions, step through each of the common simple join types, explaining differences in syntax, differences in expected outputs and showing how the queries run along with the actual outputs based upon a simple set of dem…
This videos aims to give the viewer a basic demonstration of how a user can query current session information by using the SYS_CONTEXT function

823 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