Kbase 15145: Release Notes for Digital Unix - 7.3A
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  5/10/1998 |
|
Release Notes for Digital Unix - 7.3A
=====================================
PROGRESS VERSION 7.3A01 RELEASE NOTES
=====================================
PLATFORM: Digital UNIX
SOFTWARE RELEASE: 7.3A01
EXTRACT COMMAND: cpio -iudvcBm < {device name}
INSTALL COMMAND: ./proinstall
********************************************************************
The following Release Notes apply only to the Digital UNIX platform
********************************************************************
1. The Digital UNIX platform only supports the character-mode
interface to PROGRESS. Any references to the "OSF/Motif"
environment and GUI products do not apply.
2. Data Servers are not supported for this release on Digital UNIX.
Any references to the various Data Server products do not apply.
3. Portable R-CODE is not supported on the Digital UNIX platform.
4. Due to the architecture difference of an Alpha processor (64 bit
vs 32 bit), the HLC library functions has the following changes:
int prordi( char *,int ,int *pvar,int *)
pvar: change from ´long´ to ´int´.
The output parameter points to a int where prordi()
returns the value of the specified INTEGER variable.
int prordr( char *,int ,int *pvar,int *)
pvar: change from ´long´ to ´int´
The output parameter points to a int where prordr()
returns the value of the specified RECID variable.
int prowti( char *,int ,int var,int)
var: change from ´long´ to ´int´.
The input parameter contains the integer value
for the specified INTEGER field.
int prowtr( char *,int ,int var,int)
var: change from ´long´ to ´int´.
The input parameter contains the integer value
for the specified RECID field.
int prowtbi(char *,int ,int ,int var,int)
var: change from ´long´ to ´int´.
The input parameter contains the integer value
for the specified INTEGER field.
int prowtbr(char *,int ,int ,int var,int)
var: change from ´long´ to ´int´.
The input parameter contains the integer value
for the specified RECID field.
int prordbi(char *,int ,int ,int *pvar,int *)
pvar: change from ´long´ to ´int´.
The output parameter points to a int where prordbi()
returns the value of the specified INTEGER field.
int prordbr(char *,int ,int ,int *pvar,int *)
pvar: change from ´long´ to ´int´
The output parameter points to a int where prordbr()
returns the value of the specified RECID field.
5. ESQL/C functionality has the following changes:
1) The variable SQLCODE should be declared as C data type ´int´
instead of ´long´.
Example:
int SQLCODE; /* change ´long´ to ´int´ */
2) Within ESQL declaration section, variables should be declared as
C data type ´int´ instead of ´long´.
Example:
EXEC SQL BEGIN DECLARE SECTION:
char name[30];
int custnum, maxcred, hicustnum; /* change ´long´ to ´int´ */
.....
EXEC SQL END DECLARE SECTION;
6. The Progress R-code is bigger in size on Digital Unix platform. If
the maximum size is reached on R-code segment, the workaround is to
break up the p-code into internal procedures. (Please refer to the
appendix A in Progress Programming Handbook for details on R-code
features and functions).
********************************************************
The following Release Notes apply to all UNIX platforms
********************************************************
** IMPORTANT **
You must truncate the before-image file of all PROGRESS Version 6
databases before you convert the databases to PROGRESS Version 7.3A.
See the "PROGRESS System Administration Guide" and "Progress System
Administration Reference" for details on how to truncate the PROGRESS
before-image file.
Due to R-CODE changes made between Version 7.2 and Version 7.3A,
you must recompile your applications.
** IMPORTANT NOTICE TO 7.3A BETA USERS **
Due to R-CODE changes you must recompile your applications.
These release notes include other important information. Please read
this entire document before you work with PROGRESS 7.3A.
========
CONTENTS
========
1. Product Compatibility for Version 7.3A
2. Installation Issues
3. Terminal Support
4. Version 6 to Version 7 Conversion Issues
5. ISO Latin Character Set 8859-1 Support in the Sports Database
6. ADE Issues (User Interface Builder)
7. GUI/Language Issues
A. General GUI/Language Issues
B. ESQL/C
8. Internationalization Issues
A. Character Set Management Issues
B. Double Byte Enablement Issues
C. Miscellaneous Internationalization Issues
9. Known Problems:
A. User Interface/Widgets
B. User Interface Builder
C. Language
D. Procedure Editor
E. Librarian
F. Data Dictionary
G. Data Administration
H. Application Compiler
I. Translation Manager
J. Utilities
K. ESQL/C
L. Internationalization
M. Portable R-code
N. PROBUILD
O. DataServers
P. RESULTS
Q. PROTERMCAP
R. PROUTIL
S. Database
T. Dynamic linkker error on Unisys and Unixware systems
=========================================
1. PRODUCT COMPATIBILITY FOR VERSION 7.3A
=========================================
For complete compatibility among all product components, it is
essential when running Version 7.3A that all products be at that
version level. The exception is the PROGRESS Server Product, which
may be of an earlier version than the connecting Client product.
For instance, a Version 7.3A client can connect to a Version 7.2D
server, or a Version 7.3A client can connect to a Version 6.2M server.
======================
2. INSTALLATION ISSUES
======================
The following section describes issues that affect the installation of
PROGRESS Version 7.3A.
* INSTALLATION PROCEDURE FOR DOUBLE BYTE ENABLED PROGRESS
DBE PROGRESS is the double-byte enabled version which supports
character sets for Japan, Korea, Taiwan, and mainland China. An
additional step must be taken to complete the installation of DBE
PROGRESS. After installing PROGRESS Version 7.3A, you must run a
final script file called make_dbe
.
The script file make_dbe will save the single byte executables and
copy the DBE versions into their place.
The UNIX version of PROGRESS Version 7.3A contains DBE servers,
proutil, and a batch client. There is no general DBE client.
PROBUILD users can not build DBE UNIX clients.
Files replaced for Double Byte Enabled PROGRESS UNIX Version:
DBE file File replaced In Directory Purpose/Comment
-------- ------------- ------------ ---------------
_progresa _progres $DLC/bin batch client (not renamed)
_mprosrva _mprosrv $DLC/bin DBE Server
_proutla _proutil $DLC/bin Utility
make_dbe n/a $DLC/bin Installation
bproa bpro $DLC/bin batch pro script
mbproa mbpro $DLC/bin batch pro script
Note that the file _progresa is not renamed _progres to substitute for
it, since _progresa is intended only as a batch client. If it were
substituted for _progres then it would also be used interactively.
Instead, replacement scripts have been provided for bpro and mbpro
which call _progresa -b instead of _progres -b.
After the PROGRESS Product files have been installed to the user´s
disk, the user runs make_dbe to save the single-byte executables and
copy the DBE executables and batch scripts over the files they
substitute for, for example, bproa is copied over bpro.
* REMOTE FILE SYSTEMS
Progress Software recommends that you do not store databases,
before-image (.bi) files, or after-image (.ai) files on remote file
systems such as NFS mounted disks. Database integrity cannot be
maintained. Your database might become corrupted. Database
performance is also compromised when database files are stored on NFS
and/or RFS filesystems.
* ENVIRONMENT VARIABLES
Remove all environment variables set up for earlier versions of
PROGRESS before you run PROGRESS Version 7.3A.
If you place $DLC/src in the PROPATH environment variable before the
PROGRESS-supplied r-code directories, PROGRESS can yield unpredictable
results. Please note that at run time, PROGRESS appends three
directories to the current PROPATH definition: $DLC/tty (or $DLC/gui),
$DLC and $DLC/bin. PROGRESS uses these directory segments in the
PROPATH to find key r-code files to run the Application Development
Environment (ADE) tools. If you exclude or suppress these directories,
PROGRESS either cannot run an ADE tool or it seriously degrades in
performance. Be sure to include any directories needed to run or
develop your application in the PROPATH.
When you run Results, include $DLC/tty/prores in your PROPATH. This
is done by default when Results is invoked via the "results" script
provided in $DLC/bin.
Set the PROTERMCAP environment variable to $DLC/protermcap for the
on-line Help facility to function in Release 7.3A.
See the "PROGRESS Version 7.3A Installation Notes" for information on
how to define the DLC environment variable and alter the PATH
environment variable.
* ENVIRONMENT VARIABLES NECESSARY FOR TTY ON-LINE HELP
The on-line Help utility for character-mode PROGRESS will not work
properly unless the following environment variables have been set:
$HHPATH, $HOHPATH, and $PROTERMCAP.
Set $HHPATH to point to the directory containing the Hyhelp module;
this directory is usually $DLC/bin. Set $HOHPATH to point to the
directory containing the help files; this directory is usually
$DLC/prohelp. Set $PROTERMCAP to point to the PROGRESS protermcap
file; this is usually $DLC/protermcap.
To set environment variables, use the command syntax appropriate to
the UNIX shell you are running. For example:
HOHPATH=$DLC/bin; export HOHPATH
* OSF/MOTIF RESOURCE SETTINGS THAT AFFECT PROGRESS BEHAVIOR
Window placement behavior is controlled by the following settings in
the .Xdefaults file. Progress Software recommends that you use the
capitalization shown for these settings. Without these settings,
PROGRESS runs fine, but window property sheets in the User Interface
Builder do not reflect the correct values for X and Y.
Mwm*interactivePlacement: false
Mwm*clientAutoPlace: false
Mwm*positionIsFrame: false
* PROGRESS RESOURCE SETTING FOR PROPER LAYOUT OF ADE TOOLS
For the proper look and feel of ADE tools, particularly the UIB, set
_promtf*fontList to be a fixed font (for example, "fixed" or a font in
the courier family):
_promtf*fontList: fixed
===================
3. TERMINAL SUPPORT
===================
PROGRESS Version 7 does not support space-taking terminals, unless the
terminal has a firmware setup option you can use to change it to
non-space taking mode.
The following is list of terminals supported in Version 7
PROTERMCAP.
vt100
vt220
vt300
vt400
vt500
xterm
sun-xterm
aixterm
sun
wyse 370
wyse 60
wyse 50
ansi
sco386 console
color ansi
unix386
ibm 3151
ibm 3163
ibm 3164
unix pc/att 3b1
In addition, some of the keybindings have been changed from Version 6
to Version 7. The default is set to Version 7. If you want to have
Version 6 keybindings, change the following lines in the PROTERMCAP
file.
Keylabel Version 7 Version 6
-------- --------- ---------
CTRL-W NEXT-WORD HELP
ESC-? HELP N/A
ESC-C COPY CHOICES
ESC-O GET OPTIONS
CTRL-P PREV-WORD PUT
CTRL-G EDITOR-TAB GET
ESC-S PUT N/A
===========================================
4. VERSION 6 TO VERSION 7 CONVERSION ISSUES
===========================================
-v6colon Startup Option
The behavior of colon-based field alignment has changed for PROGRESS
Version 7. PROGRESS Version 7 does not allocate two extra spaces for a
colon and one space for fields with the NO-LABEL attribute. Use the
-v6colon startup parameter to retain the PROGRESS Version 6 behavior
of allocating two spaces for NO-LABEL fields.
-CONV67 PROUTIL Parameter
For all Version 6.3B releases, PROGRESS puts the wrong number (9
instead of 7) for the Language Tables in the procoll.dat for *user
defined tables* ONLY. This issue causes any CONV67 to fail. The
workaround is to recompile the 6.3B procoll.dat file using the Version
7 ´proutil -C collation-compiler´ option. Then proceed with database
conversion.
==============================================================
5. ISO LATIN CHARACTER SET 8859-1 SUPPORT IN THE DEMO DATABASE
==============================================================
* USING THE "SPORTS" DATABASE WITH ISO LATIN CHARACTERS
The standard sports demonstration database contains only seven-bit
characters. If you want to work exclusively with a version of the
sports database that contains iso8859-1 ("8-bit") characters, you
might want to consider creating a sports database from the iso8859-1
isports database. Before you do so, Progress Software recommends that
you retain a backup copy of the seven-bit sports database in a backup
directory, such as $DLC/sbackup. Then, use PRODB to create a new
sports database from the isports database:
prodb $DLC/sports $DLC/isports
======================================
7. ADE ISSUES (USER INTERFACE BUILDER)
======================================
* QUERY PERFORMANCE WITH TEMPLATES
When using a sample template with a query which results in a large
data set, the user must specify INDEX-REPOSITION if faster performance
is desired for REPOSITION TO RECID statements. This should be done
via the Query Builder in the UIB.
* BACKWARD COMPATIBILITY OF CUSTOM WIDGETS
Custom widgets may not behave as expected when added to code developed
on the Version 7.2 UIB. Keywords used by the custom widgets may rely
on definitions which are found only in the Main Block on the Version
7.3 UIB. Attempting to get around this by deleting and resetting the
Main Block will only result in a restoration of the original 7.2 Main
Block.
* BROWSE NO LONGER SUPPORTS CURSOR AND PAGE EVENTS
In the Version 7.3 browse widget it is no longer possible to APPLY the
following events: CURSOR-UP, CURSOR-DOWN, PAGE-UP, and PAGE-DOWN. The
HOME and END events still work. to get the same functionality as
CURSOR-UP and CURSOR-DOWN, use the :SELECT-NEXT-ROW() and
:SELECT-PREV-ROW() methods in your triggers.
* AMPERSAND ("&") IN VIEW-AS TEXT DISPLAYED AS UNDERLINE
The ampersand character ("&") when included as part of the data in a
field that´s being displayed using VIEW-AS TEXT will interpret the
ampersand as an underline, the same as in a PROGRESS label.
======================
7. GUI/LANGUAGE ISSUES
======================
7.A General GUI/Language Issues
--------------------------------
* NEW ATTRIBUTE :KEEP-FRAME-Z-ORDER
A new WINDOW attribute :KEEP-FRAME-Z-ORDER has been added. It is
a logical value which when set to YES will override all default frame
behavior that wants to bring frames to the top of the Z-order. This
attribute will not affect behavior of the :MOVE-TO-TOP() and
:MOVE-TO-BOTTOM() methods.
* OUTPUT TO TERMINAL NOW USES CURRENT-WINDOW
The OUTPUT TO TERMINAL statement will now use the CURRENT-WINDOW
for its output destination.
* DISK FILES CREATED BY EDITOR WIDGETS ON UNIX AND MS-WINDOWS
Editor widgets write to disk differently depending on whether you are
in UNIX or MS-Windows.
In Windows, <Enter> is seen as x0d0d0a. In UNIX this is x0d0a.
In Windows, the end of a line is denoted by a <CR><LF>. In UNIX this
is a <CR>.
These issues are consequences of using the native widgets in the
different environments. A future version of PROGRESS will address
these issues, allowing for improved portability among platforms.
* BROWSE WIDGET WITH DOWN PHRASE SIZED DIFFERENTLY FROM 7.2
The browse widget in Version 7.3 will be sized differently from a
browse in 7.2 if the browse was defined using a DOWN phrase. To work
around this problem, specify the size of the browse with a SIZE phrase
instead of a DOWN.
7.B ESQL/C
-----------
* NEW SQLCODE
A new SQLCODE has been added. A value of (-30) signifies
that the database system has caused the current transaction to be
rolled back.
* MIGRATING VERSION 6 HLI CODE TO VERSION 7 ESQL
The following describes the process for migrating Version 6 HLI
code to Version 7 ESQL.
If the application is solely based on the SQL Preprocessor,
do the following:
1. If using dynamic SQL, change the syntax of the DESCRIBE statement
to read "USING SQL DESCRIPTOR"; in Version 6, the "SQL" keyword
isn´t required. In the FETCH statement, change the "USING
DESCRIPTOR" to "INTO SQL DESCRIPTOR".
2. The usage of sqllogout() should be inspected CAREFULLY - it no
longer exits the application.
3. Rerun the preprocessor, recompile, and link (generate a new load
script with PROBUILD - the name of the script has changed). The
locations of the header file, proesql.h and the SQLCPP have
changed.
4. If "int" is used as a C declarator for embedded variables, a
warning is now issued about non-standard usage.
If the application uses some or all of the ESQL interface directly,
the migration contains more steps, as follows:
1. The function sqldynopen() has been replaced with a series of
functions:
sqldynprep() - to PREPARE a statement
sqldynsetn() - to associate a cursor name with a query
sqldyndesc() - to retrieve column attribute definitions
sqldynexec() - to EXECUTE a statement
2. The parameter list for sqlcdbind() has been changed to add another
parameter for the SQLSTATE value.
3. ALL ESQL functions will now return control to the application -
including sqllogout().
4. The functions sqlrtnmem(), sqlprepd() and sqlnprepd() have been
removed.
5. The name of the C header file, sqlhli.h, has been changed to
proesql.h.
6. The exit() function is no longer redefined to call sqllogout() -
it will now function as described in the C runtime library. The
function sqllogout() no longer causes image exit.
7. The argument list for sqlfetch() (Static FETCH), sqlupdrow()
(Static Positioned UPDATE) and sqlrequest() (Static EXECUTE)
8. The sqlclose() function has been replaced by sqldynclose().
===============================
8. INTERNATIONALIZATION ISSUES
===============================
The level of internationalization support in PROGRESS has improved in
two main areas: character set management and double-byte enablement.
Improvements to character set management are documented in the
"PROGRESS System Administration Guide", Appendix A, "Character
Processing in PROGRESS." Double-byte enablement is documented in the
separate manual "Double Byte Enabled PROGRESS", which is included in
the Double Byte Supplement to Version 7.3A (an optional product).
8.A Character Set Management Issues
------------------------------------
* CHANGES IN CODE PAGE, COLLATION, AND MAPPING
Code page definitions, code page conversions, collation tables, upper
case maps, and lower case maps are now user-definable. The code
pages listed below are supported in the present version of
$DLC/PROLANG/CONVMAP.DAT. If you require a code page or collation to
be supported and it is not found in CONVMAP.DAT, please contact
Progress Technical Support to determine whether it has been added, or
to work with Progress Software to develop it.
Code Collation
Page Name
------------------- -------------------
1250 Czech, Slovak
1251 Russian
1253 Greek
1254 Turkish
620-2533 Thai
BIG-5 Basic
GB2312 Basic
ibm850 72-basic
ibm850 Basic
ibm850 Danish
ibm850 Finnish
ibm850 German-Library
ibm850 Icelandic
ibm850 Norwegian
ibm850 Swedish
ibm851 Greek
ibm852 Czech, Slovak
ibm857 Turkish
ibm862 Hebrew
ibm866 Russian
iso8859-1 72-basic
iso8859-1 Basic
iso8859-1 Danish
iso8859-1 Finnish
iso8859-1 German-Library
iso8859-1 Icelandic
iso8859-1 Norwegian
iso8859-1 Swedish
iso8859-1 v6-basic
iso8859-1 v6-Danish
iso8859-1 v6-Swedish
iso8859-2 Czech, Slovak
iso8859-5 Russian
iso8859-8 Hebrew
koi8-r Russian
KSC5601 Basic
SHIFT-JIS Basic
undefined Basic
undefined v6-basic
undefined v6-Danish
undefined v6-Swedish
* CONVERSION TABLE SUPPORT IN CONVMAP.DAT
The following conversion tables are supported in CONVMAP.DAT. For
information on whether any other conversions tables have been written
since the release of Version 7.3, please contact Progress Technical
Support. For creating your own conversion tables, please refer to
the "PROGRESS System Administration Guide."
Supported tables are:
Source Target
Name Name Comments
------------------- ------------------- ---------------------------------
1250 ibm852 Czech, Slovak, Hungary, Poland
1250 iso8859-2 Czech, Slovak, Hungary, Poland
1251 ibm866 Cyrillic
1251 iso8859-5 Cyrillic
1251 koi8-r Cyrillic
1253 ibm851 Greek
1254 ibm857 Turkey
german-7-bit iso8859-1 Western Europe and Americas
For 7-bit terminals and
-cpterm only
ibm037 ibm850 AS/400
ibm037 iso8859-1 AS/400
ibm278 ibm850 AS/400
ibm278 iso8859-1 AS/400
ibm500 ibm850 AS/400
ibm500 iso8859-1 AS/400
ibm850 ibm037 AS/400
ibm850 ibm278 AS/400
ibm850 ibm500 AS/400
ibm850 iso8859-1 Western Europe and Americas
ibm851 1253 Greece
ibm852 1250 Czech, Slovak, Hungary, Poland
ibm852 iso8859-2 Czech, Slovak, Hungary, Poland
ibm857 1254 Turkey
ibm862 iso8859-8 Israel
ibm866 1251 Cyrillic
ibm866 iso8859-5 Cyrillic
ibm866 koi8-r Cyrillic
iso8859-1 german-7-bit Western Europe and Americas
For 7-bit terminals and
-cpterm only
iso8859-1 ibm037 AS/400
iso8859-1 ibm278 AS/400
iso8859-1 ibm500 AS/400
iso8859-1 ibm850 Western Europe and Americas
iso8859-1 iso8859-1 Western Europe and Americas
iso8859-1 swedish-7-bit Western Europe and Americas
For 7-bit terminals and
-cpterm only
iso8859-2 1250 Czech, Slovak, Hungary, Poland
iso8859-2 ibm852 Czech, Slovak, Hungary, Poland
iso8859-5 1251 Cyrillic
iso8859-5 ibm866 Cyrillic
iso8859-5 koi8-r Cyrillic
iso8859-8 ibm862 Israel
koi8-r 1251 Cyrillic
koi8-r ibm866 Cyrillic
koi8-r iso8859-5 Cyrillic
swedish-7-bit iso8859-1 Western Europe and Americas
For 7-bit terminals and
-cpterm only
* IMPORTANT CHANGES SINCE VERSION 7.2
There are significant functional changes since PROGRESS
Version 7.2. They include the following:
- Default values for -stream and -charset. In Version 7.2,
supplying an explicit value for either -stream or -charset
affected the default for the other. This is no longer true.
The best strategy is to always explicitly set both of
them in $DLC/STARTUP.PF.
- Version 7.3 clients will always ignore the uppercase and
lowercase tables in the _db record (Version 7 database), and
in PROCOLL.DAT (V6 user-defined databases). They use the
uppercase and lowercase tables found in CONVMAP.DAT instead.
- The -xc parameter has changed. In Version 6 and Version 7.2,
it was followed by one of the built-in language names: basic,
swedish, danish, user-defined, etc. In Version 7.3 it is
followed by the collation name. To get the same collation
tables as are used in Version 6 databases, you must specify
the values v6-basic, v6-swedish, v6-danish, etc. Furthermore,
the new parameter -cpcoll is synonymous with -xc.
- The following describes in detail the differences in collations
between Version 6, Version 7.2, and Version 7.3A. Version 7.3A
uses these new collations automatically. If you do not want
these changes to take effect, you can start PROGRESS with the
-cpcoll parameter and specify a collation table that has
been provided for backward compatibility (e.g., V6-Basic,
72-Basic, etc.)
o V6-Danish/ISO8859-1
Character 158, which is non-printing, is 0 in the Version 6
collation. (Character 158 had the same sort weight as the
German sharp-S.) It is now 254 in the Version 7.2 Danish
collations and the Version 7.3A Danish/ISO8859-1 collation
table in CONVMAP.DAT.
o V6-Swedish/ISO8859-1
Character 158, which is non-printing, is 0 in the Version 6
collation. It is now 254 in the 7.2 Swedish collations and
the Version 7.3 Swedish/ISO8859-1 collation table in
CONVMAP.DAT.
o 7.3A Basic/ISO8859-1
7.3A Basic/ISO8859-1 differs from the Version 7.2 Basic
as follows. If you want the collation that was available
in 7.2, you must use the 72-Basic/ISO8859-1 collation
table in CONVMAP.DAT.
Case-sensitive Sort
-------------------
A-umlaut now maps with the rest of the A´s
O-umlaut now maps with the rest of the O´s
U-umlaut now maps with the rest of the U´s
a-umlaut now maps with the rest of the a´s
o-umlaut now maps with the rest of the o´s
u-umlaut now maps with the rest of the u´s
The above letters used to appear after the rest of the
alphabet as follows:
ABC abc u-umlaut a-umlaut A-umlaut o-umlaut O-umlaut U-umlaut
(Character 158 [non-printing] now has a weight of 254 and
no longer sorts with the German sharp-S.)
U-^ maps with the rest of the U´s instead of O
o-tilde now maps with o´s
O-tilde now maps with O´s
Case-insensitive Sort
---------------------
A-umlaut now maps with rest of A´s
O-umlaut now maps with rest of O´s
U-umlaut now maps with rest of U´s
a-umlaut now maps with A
o-umlaut now maps with O
u-umlaut now maps with U
O-tilde now maps with O (213 -> 79)
o-^ now maps with O (245 -> 79)
U-^ now maps with U (219 -> 85)
D-line now maps with D (208 -> 68)
d-line now maps with D (240 -> 68)
lowercase thorn now maps to uppercase thorn (222 -> 254)
(Character 158 [non-printing] now has a sort-weight of 254 and
no longer sorts with German sharp-S.)
- In Version 7.2 a user could modify the EXTERNAL-INTERNAL and
INTERNAL-EXTERNAL tables in the _db record to get special
behavior. Version 7.3 ignores those tables and uses CONVMAP.DAT
instead.
- In Version 7.2 it was possible to change a database´s code page
by loading a .df file, bypassing conversion using "proutil
-C convchar". We have closed this loophole. If a database
contains no data files and no _user records (i.e., is an
empty database), then we will permit loading of a .df which
changes the code page. However, if a database does contain
data files or _user records, then we will not permit such a
change.
- All earlier versions of PROGRESS contained some very minor
errors in the standard upcase, downcase and collation tables.
These have been corrected in Version 7.3A. This causes no
adverse effects. The only evidence is for a user who dumps
a .df file from a Version 7.2 database and loads it into a
Version 7.3 database. This user will get a warning message
that an index rebuild is required. This occurs because the
Version 7.3 "empty" database contains the new, corrected tables
while the .df file dumped from the Version 7.2 database contains
the old tables and their minor errors. Since the Version 7.3
database is generally an empty database, this index rebuild
is not a problem. If the user wishes to avoid the issue
completely, the user can simply delete the section containing
the collation, etc. tables from the .df file before loading
it into the Version 7.3 database.
- The Data Dictionary Administration function which dumped data
definitions into a .df file has been changed. In Version 7.2,
the resulting .df file contained the collation and code page
tables (the same information which appears in the _tran.df
file). In Version 7.3, if you dump the data definitions, the
resulting .df file will not contain any code page or collation
information. That information is dumped into the _tran.df
file by means of the menu choice:
Admin ->
Dump Data and Definitions ->
Collate/Translate Tables...
8.B Double Byte Enablement Issues
----------------------------------
Version 7.3A is the first double byte enabled release of Version 7.
The Client for MS-Windows is the only GUI Client currently double byte
enabled. The Servers for MS-Windows and UNIX are both double byte
enabled. The PROUTIL utilities on both systems are double byte
enabled, as are the batch clients.
The double byte enabled (DBE) MS-Windows Client can connect to either a
DBE Server on any platform or to a single byte Server. If you connect
to a single byte Server, all data is handled correctly; many of the
queries are processed by the Client. If you connect to a DBE Server,
the Server can execute Query Selection on the Server and there will be
an improvement in performance. The DBE MS-Windows Client can also
connect to earlier releases of Version 7 Servers, as the single byte
Client can.
* ADDITIONAL INSTALLATION PROCEDURE REQUIRED FOR DOUBLE BYTE
There is an additional installation procedure which Double Byte Enabled
PROGRESS users should follow after PROGRESS has been installed. The
instructions may be found in the Release Notes that accompany the
Double Byte Enabled supplement.
* MANIPULATION OF DOUBLE BYTE CHARACTERS
The PROGRESS database server will correctly manipulate double
byte characters. The ADE tools have not been explicitly double
byte enabled, although they may be used with some limitations on
their functionality.
8.C Miscellaneous Internationalization Issues
-----------------------------------------------
* SWEDISH 7-BIT AND GERMAN 7-BIT CONVERSION TABLES IN CONVMAP.DAT
The Swedish-7-bit and German-7-bit conversion tables provided in
CONVMAP.DAT should only be used with the -cpterm parameter, not with
the -cpstream or -cpinternal parameters.
* CHANGING THE CODE PAGE NAME OF A DATABASE
When changing the code page name of a database using "PROUTIL <dbname>
-C convchar convert" only the name changes. The user should be
sure also to load the _tran.df and the collations afterward.
==================
9. KNOWN PROBLEMS
==================
The following sections represent both problem reports and
functionality issues across all platforms for 7.3A. Some of these may not
apply to Digital Unix.
9.A User Interface/Widgets
-----------------------------
* CURSOR-OFFSET ATTRIBUTE OF FILL-INS AND EDITORS
Implementation of the CURSOR-OFFSET attribute differs between fill-in
field and editor widgets. PROGRESS assigns a value to the attribute
when you leave the fill-in field widget, whereas it assigns the value
when you enter the editor widget. As a result, fill-in field widgets
do not allow entry at the position where you click the mouse; editor
widgets allow entry at the precise location of the mouse-click.
* SELECTION LIST
If you set the DRAG-ENABLED attribute for a selection list to NO while
the MULTIPLE attribute is set to YES, PROGRESS generates a
VALUE-CHANGED event when you use the scrollbar.
* FAILURE OF :LOAD-IMAGE() METHOD DOES NOT SET ERROR STATUS
If the :LOAD-IMAGE() method fails, ERROR-STATUS:ERROR is not set
regardless of whether NO-ERROR is specified. The logical variable
associated with the method is also not set to NO, but is set to ?
regardless of its previous contents. To determine whether the
:LOAD-IMAGE() method has successfully completed, query the logical
variable used with it in the 4GL statement. A zero value will denote
that the method was successful.
* WIDTH OF STACKED LABELS IN BROWSE SET AS THOUGH LABELS NOT STACKED
When using the "!" character to create stacked labels in the 7.3A
browse widget, the width of the resulting column will be maintained at
the width of what it would have been if the label were not stacked,
including the "!" character itself.
* CURSOR MAY WRAP TO NON-EDITABLE POSITION DURING UPDATE
The cursor may wrap around to the next line and position itself in a
non-editable position during field update in character mode PROGRESS.
Workaround: enter a TAB or carriage return to position the cursor
to the first field on the next line.
* BROWSE BORDER AND HIGHLIGHT APPEAR BROKEN ON TERMTYPE XTERM
Border and highlight of the browse widget may appear broken when
using the xterm terminal type.
Workaround: Use the -stream iso8859-1 option when starting the
user´s PROGRESS session.
9.B User Interface Builder
----------------------------
* FRAME-SELECT-UP ERROR WHEN ADDING FIELDS FROM SELECTED TABLE
The error message "**´frame-select-up´ was not found. (293)" displays
when xadding fields from the last displayed table in the "Tables:"
column in the Table Selector dialog box, if the table used is the last
visible table in the list. It goes away after the first few times the
table is used.
* SLIDER COLOR
To change the color of a slider, you might have to invoke the Property
Sheet twice, for two different attributes: the first time to select
the new color, the second time to change the widget WIDTH. PROGRESS
might not display your requested change in color until you leave the
Properties Sheet the second time.
* TRIGGER-DELETE-CANCEL STILL DELETES CODE (R-136)
Using the Section Editor on any widget, if you select some code and
then use the Trigger Delete button, the code is deleted even if you
select Cancel to leave the Section Editor.
* TOGGLE BOX LABELS WHEN ASSOCIATED WITH DATABASE FIELDS
If you override the Data Dictionary label of a field that is
represented using a toggle box widget, upon making a change the UIB
will show it on the design window but will revert to the Dictionary
label when creating and running the 4GL.
* NAVIGATION TEMPLATE ERRORS WITH C-ISAM
When using the template navuprec.w with C-ISAM, the following error
might result:
STOP recid function not supported for this table (552)
You will still be able to use the template correctly.
* NAVIGATION TEMPLATE WITH SYBASE DATABASE
While developing with the UIB, if you create a new record using the
Navigation Template then delete that same record, an error may result
which exits you from the UIB. Upon trying to restart the UIB PROGRESS
may generate a memory violation
.
* CREATING AND STORING SYBASE RECORDS USING NAVIGATION TEMPLATE
When creating and storing SYBASE database records using the
Navigation Template, the new records are not seen until you rerun
the procedure.
* CREATING THEN DELETING SYBASE RECORDS USING NAVIGATION TEMPLATE
If you create a SYBASE database record using the Navigation Template
then attempt to delete the new record, the following error results:
"Wrong record ID.(2091)"
"Record was modified by another program or by a trigger.(2092)"
* CREATING AND STORING ORACLE RECORDS USING THE NAVIGATION TEMPLATE
While developing with the UIB, if you select some fields associated
with an ORACLE database and use them with the Navigation Template,
after creating and storing a new record the following error occurs:
"<tablename> record was changed since you have read it(1071)"
"Unable to update <fieldname> Field.(142)"
* CREATING AND STORING ORACLE RECORDS USING THE NAVIGATION TEMPLATE
When creating and storing new records on an ORACLE database using the
Navigation Template, adding multiple records might result in some of
the records not being created.
* UPDATING ORACLE DATABASE RECORDS USING THE NAVIGATION TEMPLATE
When updating an ORACLE database record using the Navigation Template,
the data may have to be updated twice.
9.C Language
--------------
* MISSING "}" CAUSES ERRONEOUS ERROR MESSAGE (R-152)
Using a parenthesis ()) instead of a brace (}) in an include
file reference generates the following erroneous error message.
Preprocessor expansion buffer overflow (2939)
* COMPILE LISTING INCORRECT FOR INCLUDE FILES
COMPILE LISTING can sometimes generate errors when dealing with nested
include files. The include file parameters might not be displayed in
an expanded state, and the numbering scheme for the lines of source
code might also become confused.
* SQLCODE OF 100 GENERATED WITH "CREATE" AND "WRITE" TRIGGERS
If you have a CREATE or WRITE trigger which consists only of a
MESSAGE statement, inserting or updating from SQL will result in
an SQLCODE of 100 even when the statement has completed successfully.
The appropriate code is 0.
9.D Procedure Editor
----------------------
* UNABLE TO CHANGE FONT USING KEYBOARD
The default font or buffer font can be changed only by using the
mouse pointer to bring focus to the numbered font.
9.E Librarian
---------------
* CANNOT CHANGE ITEM DESCRIPTION
When you edit an item supplied with the installed version of the
Librarian, if you try to save your edits, PROGRESS generates an error
message: "Could not save description file <filename>.dsc." When you
dismiss the error message, PROGRESS returns to the main window. It
saves any changes except for the new item description.
9.F Data Dictionary
---------------------
* WRITING AND COMPILING DB TRIGGER-CODE LEADS TO RECOMPILE
If you write, compile, and save a database trigger procedure, when you
register the trigger in the Dictionary, PROGRESS generates the
following error message:
Compile aborted. Save not specified and r-code file
exists... (468)
* DELETING PRIMARY INDEX CAN UNDO ENTIRE DICTIONARY TRANSACTION
If you delete the primary index in the Data Dictionary by first
renaming it, creating a new index as primary, then deleting the
original renamed primary, the entire transaction might be undone
upon exiting the Dictionary.
9.G Data Administration
-------------------------
* DROPPED TABLE VERIFIED ERROR (R-181)
An error can occur when verifying an ORACLE table definition after an
ORACLE table has been dropped.
* BULKLOADER AND SYBASE DATASERVER
When you create a Bulkloader file from the Data Dictionary and select *
for all files, they all might not be highlighted. You might have to
select all the files manually.
* SYBASE HIDDEN TABLES
When showing the hidden table PROC-TEXT-BUFFER with SYBASE data
definitions, the following errors might result:
STOP ** find FIRST/LAST failed for table sybase_users (565)
* SYBASE HIDDEN TABLES
When verifying SYBASE table definitions, you may receive error
565 when choosing the following tables: sybase_columns,
sybase_comments, sybase_keys, sybase_logins, sybase_objects.
* VERIFYING SYBASE TABLE DEFINITIONS
Verifying SYBASE table definitions created from types.sql gives
the following errors:
i null value (mandatory) mismatch.
b null value (mandatory) mismatch.
b-1 extra field on progress side.
* CONNECTING ADDITIONAL SYBASE DATABASE
If a working database is already selected and you select an additional
SYBASE database, the first database is no longer selected when going
into Database Administration. You have to go back to the Data
Dictionary and reselect the first working database.
* SECURITY ON C-ISAM SCHEMA HOLDER
If you disallow the blank user on a C-ISAM schema holder, the blank
user is still able to Add/Update a new C-ISAM table.
* DISPLAYING C-ISAM RECORD LAYOUT
An error might be generated in trying to display a C-ISAM record
layout:
STOP ERROR ** unable to realize editor widget edit_widg (4025)
* SQL ARRAY INDICATOR "##" MAY BE DISALLOWED ON CERTAIN PLATFORMS
The PRO/SQL "Dump as CREATE TABLE Statement..." uses an
array indicator of "##" which is not allowed for table or field names
on certain SQL engines.
* SQL TABLE AND FIELD NAMES CREATED USING HYPHENS ONLY
The PRO/SQL "Dump as CREATE TABLE Statement..." uses the
hyphen character in generating SQL DLL statements. The hyphen
might not be recognized on other SQL engines as an allowable character
in table and field names.
* BOOLEAN PARAMETERS CANNOT BE PASSED TO OR FROM ORACLE STORED PROCS
Parameters declared as BOOLEAN cannot be passed as arguments to or from
ORACLE stored procedures. Workaround: declare the parameters as type
INTEGER and pass the value 0 for FALSE and 1 for TRUE. datatype in the
schema holder can be changed to LOGICAL and the format to yes
o or
true/false.
* ORACLE ERROR -6502 FOR varchar2 ITEMS LONGER THAN 255 CHARACTERS
ORACLE will return an error if you define a varchar2 item longer
than 255 characters.
* LOADING VERSION 6.3 DEFINITIONS WITH AUTO-CONNECT PARAMETERS
Creating an empty 7.3A database and loading a Version 6.3 definition
file that includes auto-connection parameters will result in the
Administration Tool trying to load the files to a database name which
matches that specified in the auto-connection parameters. The load to
the 7.3A database itself will complete without errors.
9.H Application Compiler
--------------------------
* COMPILER TOOL BUILDS "SAVE INTO" PATH INCORRECTLY
If you specify "Save into" in the Compiler to keep R-code separate from
source, and you name the "Save into" directory with a complete path
designation rather than a relative path, the Compiler tries to save
r-code into a new directory name created by appending the "Save into"
pathname to the source directory pathname.
If this pathname created by the Compiler should not exist, PROGRESS
generates an error stating that it "cannot write to <directory>". If
the pathname is for an existing directory, PROGRESS stores the r-code
there rather than in the intended directory.
Workaround: Name the "Save into" directory using relative
path designations. For example, "../appdir/r-dir".
9.I Translation Manager
-------------------------
* MENUS NOT LOCKED WHEN RUNNING DATA DICTIONARY
If you use the Translation Manager to open the Data Dictionary, the
TranMan menus are not dimmed, and you can pull them down. If you then
try to run another tool, PROGRESS GENErates the following error
message:
"_RunTool" was not found (293)
9.J Utilities
---------------
* PROLIB NOT HANDLING CODE PAGES CONSISTENTLY
PROLIB stores filenames in an unspecified code page. It is possible to
add filenames in one code page and later add additional filenames in
another code page. If the files contain 8-bit characters, the
resulting mix of code page files can result in an inability to retrieve
files accurately.
* RE-ENABLING AFTER-IMAGING RESULTS IN .LK FILE FOR THE DATABASE
If you have already enabled after-imaging and attempt to enable it
again, after receiving the proper error message a .lk file will exist
for the database.
9.K ESQL/C
------------
* DEFAULT CLAUSE DOES NOT SUPPORT SPECIAL VALUES "USER" AND "NULL"
If you use a statement in the following format, it does
not pass syntax check:
CREATE TABLE mytable
(c1 CHAR DEFAULT USER,
c2 INT DEFAULT NULL).
* SQLCPP - NO NETWORK CONNECT ON WINDOWS (R-153)
Version 7.3A does not support SQLCPP connections to remote databases
because the prorpc module (which enables a protected mode image to
talk with real mode images) is not included in Version 7.
* LOCK CALLBACK FUNCTIONS NOT CALLED FOR ESQL/C SEARCHED UPDATE/DELETE
If one user has a record locked (either 4GL or ESQL) and a second user
first sets a lock callback function (by calling
sqlsetlogoption(ESQL_LOCKFUNC, ...) and then attempts a searched UPDATE
or DELETE (update customer set name="FOO") on the locked table, the
lock callback function isn´t called (as it is for cursor operations).
* ESQL PREPROCESSOR PERFORMANCE ON MS-WINDOWS vs. UNIX
When using the ESQL preprocessor, there are now differences
in the way it works on Unix and MS-Windows. UNIX and MS-Windows
treat SQLCPP differently when a file can´t write to its .c file.
9.L Internationalization
--------------------------
* NOT SPECIFYING -xc (-cpcoll) AT STARTUP MAY CAUSE STARTUP FAILURE
When using a database with its own collation table, if the convmap.cp
does not contain a collation table called "basic" for the given
-charset, connection might fail. Always use the -xc (-cpcoll)
startup parameter to designate the collation table to use
if it is different from "basic". This is true even if no database
is connected. "Basic" is the default.
* LOADING 7.2 DEFS INTO EMPTY 7.3 DATABASE DIRECTS INDEX REBUILD
When you load Version 7.2 DF files into an empty Version 7.3 database
PROGRESS returns a message that the data in the database differs from
the .df loaded. You will be instructed to do an index rebuild.
* ERRORS WITH HEBREW PROMSGS
If you start your Client with the following parameters:
pro -cpinternal iso8859-8 -cpstream ibm862
Then the following error might occur:
Code page conversion table for 1255 to iso8859-8 was not found
in convmap.cp. (6063)
Messages from PROMSGS may not be displayed properly. (24)
* ERRORS WITH ICELANDIC PROMSGS
If you start your Client with the following parameters:
pro -cpinternal iso8859-1 -cpstream ibm850
Then the following error might occur:
Code page conversion table for ibm861 to iso8859-1 was not found
in convmap.cp. (6063)
Skilabop fra PROMSGS birtast ekki eplilega. (24)
9.M Portable R-code
---------------------
* CRC PROBLEMS WITH TRIGGER-CODE DEPLOYMENT
If you deploy trigger procedures as r-code with CRC
enabled, you encounter discrepancies between the CRC of
the _file-trig file and that of the new trigger r-code.
There are two workarounds for this issue:
- Provide incremental DF files with new trigger code.
- In the Data Dictionary, invoke the trigger code
dialog box for the affected table or field. Then
choose "Save". The CRC is recalculated and stored.
19.N PROBUILD
--------------
* BUILDING YOUR OWN PROGRESS MOTIF EXECUTABLES WITH HP/UX 10.0
If you are running HP/UX 10.0 and use probuild to create a Progress
Motif executable, you will need to include the libdld.sl system library
in the probuild generated link script. The following line should be
added at the end of the list of objects and libraries in the link
script:
-l:libdld.sl
* BUILDING YOUR OWN PROGRESS EXECUTABLES WITH SUN/SOLARIS
For Sun Solaris platforms, if you do not have the optional Solaris C
compiler and would like to execute a PROBUILD, you will need to run the
script $PROLOAD/eucapp/ld.setup before running your load script. The
ld.setup script modifies the environment variables $CC, $CC_OBJ, and
$ORALIB, and should be run with a "." in order to assure that these
changes stay with the current shell
.
9.O DataServers
-----------------
* PROTOORA.P MISNAMES "VIEW BUFFER" TABLE
PROTOORA.P will misname a "view buffer" table by appending "BUFFER_"
at the front of the name.
* ADDING DESC INDEXES TO ORACLE SCHEMA IN THE DATA DICTIONARY
Adding a desc index to a table with the Data Dictionary after having
already accessed the table, then executing a USE-INDEX on the new desc
index in a procedure, causes a system error similar to the following:
SYSTEM ERROR: orextract_idx Index 6 is not in cache (2727)
* PROGRESS/400 DataServer
If you use PROGRESS/400 you must upgrade your DataServer to 6.2M09
to use Version 7.3A clients.
* CISAM: PC CONNECTION TO UNIX WITH BINARY ISAM TYPE
When connecting from a PC to a UNIX server and creating a binary
ISAM type in a field, unexpected data may appear.
* C-ISAM STRINGS LONGER THAN FIELD LENGTH NOT TRUNCATED
PROGRESS does not properly truncate strings longer than the length
of a field, and instead issues an error message without updating
the field.
* C-ISAM "MULTI-SEGMENTED KEYS" SUPPORTED BUT NOT DOCUMENTED
Multi-segmented keys are supported on C-ISAM but are not
yet documented.
* C-ISAM "OVERLAYED FIELDS" SUPPORTED BUT NOT DOCUMENTED
C-ISAM "overlayed fields" are supported but are not
yet documented.
* BAD DATE FIELDS IN C-ISAM
If a DATE field in ORACLE contains spaces or otherwise contains
incorrect data, PROGRESS generates the following errors:
Unable to convert C-ISAM date to PROGRESS date
Unable to extract field at offset 999 in C-ISAM file xxxxx. (2188)
* ORACLE: CANNOT SELECT ROWS USING DATE
Use the ORACLE TRUNC function when testing a date parameter for
equality with a column in the stored procedure.
For example, in the ORACLE stored procedure say:
select ... from <table> WHERE TRUNC (<column>) =
TRUNC (<parameter>
Instead of:
WHERE <column> = <parameter>)
9.P RESULTS
-------------
* ERROR MESSAGE WHEN USING COUNTER ON ALL SECTIONS
When creating a "counter" calculated field for all sections,
PROGRESS gives the following error message twice:
**qbf-section record not on file. (138)
The counter field will be created correctly, and the correct
output will be generated.
* DATABASE ALIASES FOR MORE THAN ONE DATABASE
When an alias (or aliases) is created for one database and then a
second is connected, the alias(es) is related only to the first
database and not to the second. The alias´ parent table will be
related to the correct tables in both databases. To get proper
relationships, remove and then recreate the aliases with BOTH
databases connected at the same time.
* PREVIEW/PRINT ALIGNMENT INCORRECT DEPENDING ON NATIVE FONT
Depending on the characteristics of the native font, a Preview or
Print may result in misaligned columns.
* DELETION OF NON-NATURAL JOINS
When you create a non-natural join, if you delete the WHERE
relationship it will not stay deleted unless you do so immediately
by way of an UNDO, or if you remove the table relationship
completely then re-establish it.
9.Q PROTERMCAP
----------------
* KEYS IN XTERM PROTERMCAP ARE NOT FUNCTIONAL
The following keys do not work for terminal type "xterm" in the
PROGRESS protermcap: HOME, END, PAGE-UP (F15), and PAGE-DOWN (F16).
Workaround: use the CTRL or ESC sequences for these keys, or use
the -sf option when invoking the xterm and set the $TERM environment
variable to sun-xterm.
9.R PROUTIL
-------------
* PROUTIL RETURN CODES INCORRECT WITH ´BUSY´ AND ´HOLDER´ OPTIONS
PROUTIL "busy" and "holder" options may return incorrect values if the
system does not have a hostname.
Workaround: set a hostname for the machine or simple set the $HOSTNAME
environment variable before running the PROUTIL command. For
example:
HOSTNAME=myhost; export HOSTNAME
9.S Database
--------------
* CLOSING STDERR, STDIN, AND STDOUT CAN CAUSE DATA CORRUPTION
If PROGRESS processes are started with stderr, stdin, and stdout
closed, database corruption may result. For example, the following
APW command would result in data corruption:
_mprshut <dbname> -C apw <&- >&- 2>&- &
Workaround: instead of closing stdout and stdin, pipe the output
of stdout and stderr to a file.
9.T Dynamic Linker error on Unisys and Unixware systems
---------------------------------------------------------
If you get the following error:
dynamic linker: $DLC/bin/_promtf: symbol not found: bcopy
or
dynamic linker : $DLC/cisamrx : error opening libnet.so
when running a progress executable then you will build a new
executable. To build a new executable, you will need to run PROBUILD
to create the link script, and then run the link script to create the
new executable. For more information regarding building executables,
please see Appendix B of the Progress System Administration Guide.
Progress Software Technical Support Note # 15145