************************************************************************
* COMMUNICATIONS SYSTEM/2 RELEASE 3.1 (5601-116) *
************************************************************************
This document contains information about program enhancements for
this release. This information is intended to supplement and, in some
cases, clarify the information provided in the publications available
for the program. The information is organized by the names of the
affected components of this program.
************************************************************************
* MIGRATION *
************************************************************************
If you are migrating from Communications System/2, Release 3.0 to
Communications System/2, Release 3.1, do the following:
1) Install the Communications System/2 network distributor as
described in the Communications System/2 Installation and
Configuration Guide.
2) Install Communications System/2 as described in the Communications
System/2 Installation and Configuration Guide. When you install
Communications System/2, be sure to select the Backup files
option. This option makes a backup copy of your configuration and
data files onto a backup directory.
3) Change to the cs2\toolkit directory.
4) Enter the following:
cs2ahmg0
where:
is the drive and path of the Communications
System/2 directory containing the new, Release 3.1 configuration
files. (The default is c:\cs2\sys.)
is the drive and path of the Communications System/2
directory containing your backup configuration files. (The default
is c:\cs2\backup.)
This merges all user data from the alert handler tables contained
in your backup configuration files directory to the alert handler
tables contained in your new, Release 3.1 configuration files
directory.
5) Copy all the files from the your backup configuration files
directory to your new, Release 3.1 configuration files directory,
EXCEPT for the alert tables (cs2aht00.pr0 and cs2aht00.dt0).
Note: Do not copy the backup alert handler tables from your
backup configuration files directory to your new, Release 3.1
configuration files directory.
************************************************************************
* BASE LOGGER *
************************************************************************
If the value specified for the BASELOGSIZE parameter in the cs2cnfig.cnf
file is less than 0 or greater than 32767, 100 is used.
************************************************************************
* DATABASE *
************************************************************************
If you receive the following error codes, see the "Communications
System/2 Installation and Configuration" book for information on
"Configuring the Database REMs."
ERROR CODE POSSIBLE CAUSE
error sql -3012 No DQLLIB path statement in CS2START.CMD
error sql -1006 Code page in CONFIG.SYS and CS2CNFIG.CNF did not match
error db 100 Country code did not match in the files in step 2
-----------------------------------------------------------------------
Transaction Mirroring and CS2_TRANSACT:
If you are using database transaction mirroring and the client and
servers are different system architectures, you must do the following:
Set the CS2AP_XACT_S fields client_resp_path and server_drive_path to
NULL and set the TXE_OPT_NO_INFILE_COPY and TXE_OPT_NO_OUTFILE_COPY
flags in option2 field when you issue the CS2_TRANSACT request to the
server. Otherwise, the mirror transaction may fail due to an
unrecognized path.
If you need to transfer files with CS2_TRANSACT requests, the
client and the servers must have compatible path syntax.
*************************************************************************
* DISTRIBUTED APPLICATION ENVIRONMENT SHELL *
*************************************************************************
DEVICE RESOURCES FOLDER - DEVICE AND LINE RESOURCES - USER DATA
To clear the list box, delete the characters from the Data field
and press the Apply pushbutton. The Clear pushbutton clears the
display, but not the data.
-------------------------------------------------------------------------
READING AND WRITING VARIABLES SUPPORT
Reading and writing variables support is provided only between nodes on
the same platform. For example, an OS/2 node can read and write
variables only from another OS/2 node.
-------------------------------------------------------------------------
The following changes should be made in the "Using the Distributed
Application Environment Shell" book.
Chapter 1. Getting Started
Distributed Application Environment Shell Overview
Distributed Application Environment Window
Data Resources Folder
Add the following support.
You can archive, restore, and reorganize table and queue
resources.
Manipulating Objects
Add the following note.
Note: The drag and drop technique is not available for the
following objects:
* Connection
* Remote variable:
- Global
- Local
* DDMS device:
- Direct physical device
- LDIT physical device
- Logical device
- MMS physical device
- DCS physical device
- Set of devices
Modifying Settings
Modifying Distributed Application Environment Windows
Add the following note after the "Select Refresh now" list item.
Note: To see user data for the device and line resources
notebook, you must close and then reopen the notebooks.
The "Refresh now" pushbutton appends the saved data,
rather than overwriting it.
Using the Menu Bar of an Open Folder Window
Add footnote 3 for the "Sort..." choice on the "View" menu bar as
follows:
3 This choice is not available for any windows in the
Distributed Application Environment shell.
Using the Menu Bar in a Notebook
Add footnote 4 to the "Save as..." choice on the "View" menu bar
to indicate that this choice is not available for the listed
types of resources, as follows:
* Connection
* Remote variable:
- Global
- Local
* DDMS device:
- Direct physical device
- LDIT physical device
- Logical device
- MMS physical device
- DCS physical device
- Set of devices
Change footnote 4 to read "DCS physical device" rather than
"physical device."
-------------------------------------------------------------------------
Chapter 2. Introducing the Distributed Application Environment Shell
Resources Accepted by Nodes in the Nodes Folder
The correct name of the resource is "DCS physical device" rather
than "Physical device."
Device Resources Folder Resources
The correct name of the type of resource is "Remote variable"
rather than "Variable."
The correct name of the resource is "DCS physical device" rather
than "Physical device."
The first sentence should read:
"This folder can accept Device, Line, and Printer types of
resources using the drag and drop technique."
************************************************************************
* TRANSACTION FUNCTIONS *
************************************************************************
APPLICATION PROGRAMMING BOOK CORRECTIONS
The following changes should be made throughout
Chapter 19, "Transaction Functions."
Replace "USHORT" with "CS2_USHORT"
Replace "int" and "INT" with "CS2_SHORT"
Replace "unsigned int" with "CS2_USHORT"
************************************************************************
* USER INTERFACE (UI) *
************************************************************************
If your application uses CS2_UIGCU_DRAWTEXT to display character data in
the graphics area of a panel, you must do the following immediately before
setting the graphics primitive structure CS2_UIGCU_DRAWTEXT:
Issue the CS2_UI_PANEL_ACTION request for a CS2_UIPA_SET of
the Graphics Primitive TEXT.
This allows capture of the text for use when the application issues the
UPDATE using the CS2_UI_PANEL_ACTION request for the Graphics Primitive.
When issuing the CS2_UI_PANEL_ACTION UPDATE request for the Graphics
Primitives, the graph_data2 field should be set to NULL.
The UI Object Container Record Structure (CS2AP_UI_OBJ_CNRRECORD_S),
used by the CS2_UI_PANEL_ACTION request, has a new field, as follows.
Name Type Description
usDropOrigOID CS2_USHORT Contains the original container
record object identifier
-------------------------------------------------------------------------
The usCnrRecOID field, in the CS2AP_UI_DROP_CNRREC_S structure
used by the CS2_UI_PROCESS request, has been replaced by the
following fields.
Name Type Description
usDestCnrRecOID CS2_USHORT Drop container record object ID
usOrigCnrRecOID CS2_USHORT Original container record object ID
-------------------------------------------------------------------------
The new nbpageid.ptr field in the CS2AP_UI_EXIT_DATA_S structure,
used by the CS2_UI_PROCESS request, is incorrect in the "Application
Programming" book. The correct field name is nbpageid.
To access the new nbpageid field, an application program must
specify the new csversion field in the CS2AP_UI_CONNECT_S structure,
used by the CS2_UI_CONNECT request. The csversion field replaces the
rsvd1 (reserved) field shown in the "Application Programming" book.
The following describes the csversion field.
Name Type Description
csversion CS2_USHORT Specify the value 130 to access the
nbpageid field of the
CS2AP_UI_EXIT_DATA_S structure.
Application programs, written prior to Communications System/2
Release 3.0, needing to access the nbpageid field, must be
recompiled after assigning the 130 value to the csversion field.
Application programs not needing to access the nbpageid field
do not have to be recompiled.
-------------------------------------------------------------------------
To accept the drag and drop of container records, use the new
event type and list type as follows.
CS2_UISUE_ACCEPTDRAGDROP event type
CS2AP_UI_SET_UE_S structure, used by the CS2_UI_SET_USEREXIT request.
Name Type Description
eventtypes_flag CS2_USHORT Specify the type of event that caused
a user-exit event, as follows:
CS2_UISUE_ACCEPTDRAGDROP
CS2_UIACCEPT_DRAGDROP list type
CS2AP_UI_UPDATE_ACTION_S structure, used by the CS2_UI_PANEL_ACTION
request.
Name Type Description
updateobject_flag CS2_USHORT Specify the type of list being
updated. Set to the following:
CS2_UIACCEPT_DRAGDROP
Accept drag and drop operation.
To accept the drag and drop of container records, the application
program issues the CS2_UI_SET_USEREXIT request, specifying the
CS2_UISUE_ACCEPTDRAGDROP event type to indicate that the
CS2_UI_DROP_S structure and the array of the container records in the
CS2AP_UI_DROP_CNRREC_S structure should be returned to the application
program.
Note: See the "Application Programming" book for information on the
CS2_UI_PROCESS request, which uses the CS2_UI_DROP_S and
CS2AP_UI_DROP_CNRREC_S structures.
The application program chooses the container records to accept as
drag and drop by issuing a CS2_UI_PANEL_ACTION request, specifying
the following:
Structure Field Specify
CS2AP_UI_PANEL_ACTION_S panelaction CS2_UIPA_UPDATE
CS2AP_UI_UPDATE_ACTION_S updateobject_flag CS2_UIACCEPT_DRAGDROP
CS2AP_UI_UPDATE_ACTION_S items_ptr Pointer to the
CS2_UI_DROP_S structure
-------------------------------------------------------------------------
To arrange container records, use the new CS2_UIOA_CNRARRANGE
object attribute of the CS2AP_UI_QS_ACTION_S structure, used by the
CS2_UI_PANEL_ACTION request, described as follows:
Name Type Description
objectattrib_flag CS2_USHORT Specify the object attribute that
is being set or queried when
CS2_UI_PANEL_ACTION is issued.
Set to the following:
CS2_UIOA_CNARRANGE
Container records arrange
To arrange container records, issue the CS2_UI_PANEL_ACTION request,
specifying the following:
Structure Field Specify
CS2AP_UI_PANEL_ACTION_S panelaction_flag CS2_UIPA_SET
CS2AP_UI_QS_ACTION_S objectattrib_flag CS2_UIOA_CNRARRANGE
CS2AP_UI_QS_ACTION_S objattribdata_ptr NULL
------------------------------------------------------------------------
When issuing a CS2_UI_SET_USEREXIT request for panel-level user exits,
the "oid" field of the CS2AP_UI_SET_UE_S structure can be specified as
either the identifier of the panel from the generated "include" file or
as a 0. Either will cause panel-level user exits to be set.
Caution should be used when setting the user data of a numeric entry
field to a null-terminated string containing non-numeric characters.
When this is done, the string is placed in the entry field, but the
data returned by a subsequent query of the user data will not
accurately reflect the actual contents of the entry field.
If the error CS2_UI_PRES_CALL_ERROR is received for a user interface
API request, one possible cause is that an invalid panel nickname was
specified on the call. This should be checked before investigating the
error condition any further.
CS2_UISUE_OBJDESELECT events should not be expected for the action bar
or system menu. These events are not communicated by the underlying
operating system and cannot be forwarded to the application program.