This Conversion Utility provides the following capabilities:
Note: Converting an I4GL application to EGL requires many pre-conversion and post-conversion steps. Conversion Utility users are strongly encouraged to read the IBM Informix 4GL to EGL Conversion Utility Users' Guide (User's Guide) before converting their applications with the Conversion Utility. The User's Guide provides a list of conversion limitations. For a complete list of temporary Conversion Utility limitations, see Section 3.0 Known Limitations below.
The information center contains extensive documentation on how to use both EGL and the full range of product features. Access the information center from the main menu by selecting Help>Rational Help.
charval
= intval;
needs to be replaced with
charval = formatNumber(intval,”#####”);
However,
the reverse cannot be worked around:
intval = charval
Documentation for formatNumber is available in the formatNumber and Assignments online help topic.
For Boolean expressions, convert the Boolean result of a condition to a numeric value of 0 or 1.
Subtstring operations are
allowed on the left side of expressions and for passing parameters to functions.
Let Mychar[10,20] = “aaaa”
Call function1(Mychar[10,20]) returning Mychar[30,40]
iFix004
release of EGL does not have this support and will generate
validation error.
Workaround
The first loop could be
replaced with a single built-in function in EGL called setSubStr. The equivalent
code for the example shown above would be:
setSubStr(mychar,1,40,’a’);
For the statement , Mychar[10,20] = “aaaa” though the Conversion Utility does not provide a workaround, the following EGL built-in function could be used as a Post-Conversion change:
tmpStr =
“aaaa”;
copyStr(mychar,10,20,tmpStr,1,strlen(tmpStr));
Similar
workaround with the Call statement once converted into EGL.
declare c1 cursor for select * from tab1
open c1
declare c1 cursor for select * from tab1
open c1
The Conversion Utility will convert the above codes to:
Open c1 with #sql{ select * from tab1};
Open c1 with #sql{ select * from tab1};
The iFix004 release of EGL returns a validation error when it finds a two result set identifiers
with the
same name. The same validation error is returned when a pair of PREPARE
statement identifiers with the same name are found.
Workaround
If you have two resultset identifiers with the same name, before converting
your application in the Conversion utility, you should adjust the identifiers so
that each one has a unique name. Make a Pre-Conversion step by replacing the same resultset identifiers with unique
names. In
some cases, the logic needs to be checked before making this change.
initialize a to null
will be converted to
set a null;
initialize arec.* to null
will be converted to
set arec empty;
The provision for setting an array of records is missing in EGL and generates validation error.
The I4GL VALIDATE statements is not supported in EGL.
Workaround
Making a post-conversion step by replacing the initialize statement to a for loop
which initializes each element of the array to empty.
Convert the validate statements to individual assignments where possible. Validate currently is being commented out with a FIXME comment around it since there is currently no provision in EGL for it.
4.1 Screen Record vs. Screen Array
In I4GL, the SCREEN RECORD keywords defined in the form file could also be referred
to as SCREEN
ARRAY. This is not supported in EGL, and results in a runtime error.
4.2 Locale Settings
On Microsoft Windows machines for any non-English locale the Standards and
Formats and the Languages for non-Unicode Programs tabs must be set with the
appropriate locale information.
4.3 Default locale assumption by Conversion Utility
Place holder for Sridhar's text: "Default Message file in EGL does not
require locale prefix, conversion tool will assume "en_US" as default
locale, and all message files in this locale are converted without locale
prefix, if "en_US" is not default locale then this has to be done as
post migration effort."
IBM World Trade Asia Corporation
Licensing
2-31
Roppongi 3-chome, Minato-ku
Tokyo 106, Japan
The following paragraph does not apply to the United Kingdom or any other
country where such provisions are inconsistent with local law: INTERNATIONAL
BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OR CONDITIONS OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS
FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express or
implied warranties in certain transactions, therefore, this statement may not
apply to you.
This information could include technical inaccuracies or typographical
errors. Changes are periodically made to the information herein; these changes
will be incorporated in new editions of the publication. IBM may make
improvements and/or changes in the product(s) and/or the program(s) described in
this publication at any time without notice.
Any references in this information to non-IBM Web sites are provided for
convenience only and do not in any manner serve as an endorsement of those Web
sites. The materials at those Web sites are not part of the materials for this
IBM product and use of those Web sites is at your own risk.
IBM may use or distribute any of the information you supply in any way it
believes appropriate without incurring any obligation to you.
Licensees of this program who wish to have information about it for the
purpose of enabling: (i) the exchange of information between independently
created programs and other programs (including this one) and (ii) the mutual use
of the information which has been exchanged, should contact:
Intellectual Property Dept. for Rational Software
IBM
Corporation
3600 Steeles Avenue East
Markham, Ontario
Canada L3R
9Z7
Such information may be available, subject to appropriate terms and
conditions, including in some cases, payment of a fee.
The licensed program described in this documentation and all licensed
material available for it are provided by IBM under terms of the IBM Customer
Agreement, IBM International Program License Agreement or any equivalent
agreement between us.
Any performance data contained herein was determined in a controlled
environment. Therefore, the results obtained in other operating environments may
vary significantly. Some measurements may have been made on development-level
systems and there is no guarantee that these measurements will be the same on
generally available systems. Furthermore, some measurements may have been
estimated through extrapolation. Actual results may vary. Users of this document
should verify the applicable data for their specific environment.
Information concerning non-IBM products was obtained from the suppliers of
those products, their published announcements or other publicly available
sources. IBM has not tested those products and cannot confirm the accuracy of
performance, compatibility or any other claims related to non-IBM products.
Questions on the capabilities of non-IBM products should be addressed to the
suppliers of those products.
All statements regarding IBM's future direction or intent are subject to
change or withdrawal without notice, and represent goals and objectives
only.
This information contains examples of data and reports used in daily business
operations. To illustrate them as completely as possible, the examples may
include the names of individuals, companies, brands, and products. All of these
names are fictitious and any similarity to the names and addresses used by an
actual business enterprise is entirely coincidental.
COPYRIGHT LICENSE:
This information contains sample application programs in source language, which illustrates programming techniques on various operating platforms. You may copy, modify, and distribute these sample programs in any form without payment to IBM, for the purposes of developing, using, marketing or distributing application programs conforming to the application programming interface for the operating platform for which the sample programs are written. These examples have not been thoroughly tested under all conditions. IBM, therefore, cannot guarantee or imply reliability, serviceability, or function of these programs. You may copy, modify, and distribute these sample programs in any form without payment to IBM for the purposes of developing, using, marketing, or distributing application programs conforming to IBM's application programming interfaces.
Each copy or any portion of these sample programs or any derivative work, must include a copyright notice as follows:
(C) (your company name) (year). Portions of this code are derived from IBM Corp. Sample Programs. (C) Copyright IBM Corp. 2000, 2005. All rights reserved.
If you are viewing this information softcopy, the photographs and color
illustrations may not appear.
Programming interface information is intended to help you create application software using this program.
General-use programming interfaces allow you to write application software that obtain the services of this program's tools.
However, this information may also contain diagnosis, modification, and tuning information. Diagnosis, modification and tuning information is provided to help you debug your application software.
Warning: Do not use this diagnosis, modification, and tuning information as a programming interface because it is subject to change.
The following terms are trademarks of International Business Machines Corporation in the United States, other countries, or both:
Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc.
in the United States, other countries, or both.
Linux is a trademark of Linus Torvalds in the United States, other countries, or both.
Other company, product or service names, may trademarks or service marks of others.