Converting Forms 6i to 10g on Linux
551514Dec 13 2006 — edited Dec 13 2006I hope this will help ...
REQUIREMENTS ANALYSIS
The Comet6i application is be migrated to 10g in two phases.
• Phase-I : Migrated from Comet6i Application to 10g on W2K Server.
• Phase-II : Made the Comet10g Application Linux Compatible.
PHASE I
In the Phase-I, the COMET6i application is migrated to 10g on Win2K Server. The following tasks are to be carried out during this phase.
1. Source Code Verification
2. Upgrading of Comet Application objects to 10g
3. Migration of 10g specific forms to be done individually
4. Check for the completeness of the process.
Pre-requisites
i. Developer/200010g IDS is installed on all COMET Workstations.
ii. Change the Windows Registry value of TNS_Admin = M:\OraXP\NET80\admin
Step 1: Source Code Verification
Checked out the COMET6i version3.5 of the application source code from Harvest comet6i repository. Excluded any unnecessary files from the application. Created an excel/spreadsheet that contains all of the files sorted by category (forms, libraries, menus, graphics, utilities and reports).
Step 2: Upgraded Application
I. Did the code changes in 6i forms
1) RUN_PRODUCT: Every occurrence of run_product in forms has been replaced with CALL_REPORT procedure which is in the attached Library Comfun.pll.
2) V$SESSION: Wherever there is a query for selecting OSUSER from V$session has been replaced with :GLOBAL.ntuser.
3) WIN_API: WIN_API.get_windows_username replaced with :GLOBAL.ntuser.
II. Upgraded the forms from 6i to 10g in batch mode.
Upgrading of COMET Application is done in the following sequence:
1) Library files (.pll/plx): Opened each library file in iDS and compiled it. This created the 10g version of each library.
2) Form files (.fmb/.fmx): Started with form files that do not have references (List : MST021, MST027, DEFAULT, MODEL, MST046). Opened these forms individually in the iDS and generated it.
3) Migrated all the remaining forms to 10g in batch mode using Oracle utility frmcmp.exe .
Step 4: Checked for the completeness.
1) UNIT TESTING: Unit testing was done after complete migration of the forms 6i to forms10g on Win2K Server and following problems were fixed.
2) CANVAS & FIELDS WIDTH: When we upgraded to 10g forms, some of the fields’ width was changed and canvases were overlapping to each other. This was due to non-existence of the parent property classes. We ensured that every master form is present in the directory before up gradation.
3) FILE NAME EXTENSION: We have renamed every form / report / icons / libraries to upper case and extension of the files in lower case for uniformity across modules. (eg: STK001.fmb, STK01.rdf, COMFUN.pll)
PHASE II
In the Phase-II, the COMET10g application is made Linux Compatible.
Issues
Following issues are identified for carrying out this task.
1. Case sensitivity of Linux
2. OS Related Function Calls and Built-Ins
3. Batch Commands
4. HOST Commands
Solutions
The possible solution to the above mentioned issues are:
1. Case Sensitivity : It is suggested that all forms, reports as well as libraries to use UPPER CASE to eliminate this issue. This will provide uniformity in coding.
2. OS Related Function Calls: OS routine calls such as WIN_API routines has to be changed to corresponding Linux function calls
3. Batch Commands : Batch commands used in the forms has to be changed to Linux shell scripts.
4. HOST Commands : These commands are to be changed to corresponding Linux commands.
Steps
1. Generated XML for 10g forms in batch mode.
1) frmf2xml.bat: Using Oracle 10g utility frmf2xml.bat; all 10g forms were converted into XML format for editing purpose.
2. Utility developed to address the case-sensitivity issue of linux.
1) A basic utility is developed to change the following keywords in the XML file.
2) FORM Calling Routines : All the form-names were changed to upper-case in CALL_FORM, NEW_FORM & OPEN_FORM built-ins.
3) PROPERTY VALUES CHANGES: Values of LibraryLocation, ParentModule, ParentFileName, and IconFilename are changed to upper case to ensure compatibility with Linux OS.
3. Fixed the basic problems in the XML file itself using the utility.
4. Converted the XML back to fmb.
1) frmxml2f.bat: Oracle’s frmxml2f.bat utility is used to convert xml files back to FMB format. All master forms are done individually and rest all files in batch mode.
5. Generated the fmx on Linux in batch mode.
1) Created a directory structure in Linux for Comet Development.
2) WINSCP Utility: Copied all fmb files to Linux server using WINSCP utility.
3) frmcmp_batch.sh: Oracle’s frmcmp_batch.sh shell script used to compile all the fmb to generate fmx i.e. runtime in Linux environment.
6. Icon files are bundled to a jar file.
1) icons jar file: Icon files were bundled to a jar file with the support of DBA.
2) UI_ICON_Extension: Utility search to change the registry to show icons / bmp / gif files as icons
7. Copied the reports to Linux server.
1) rwconverter Utility: All COMET 6i reports are upgraded to 10g using Oracle utility rwconverter.exe in batch mode, and then copied to Linux Server using WINSCP facility.
8. Tested the application for functionality.
1) UNIT TESTING: Unit testing was done on each form for testing the functionality and data flow by COMET TEAM. The following points are to be taken care, before going to live: