DCC/2r 1.10 and 7524 IS Read Me

FIXES TO DCC/2 1.10, DC FOR DAE 1.10 and 7524 Interface Support 1.0X
--------------------------------------------------------------------
  This file catalogs fixes made to DCC/2 1.10 since we shipped on 11-18-94.
  DC for DAE 1.10 was shipped 7-7-95.  7524 Interface Support was originally
  shipped 2-24-95.

  This file also explains how to install the fixes from the DCC110FX.EXE
  self-extracting zip file.  We have also added a section which describes all
  messages that were added to DCC/2r since the initial ship.  The last message
  documented in our manual is DCX-258.  Any messages added after that are
  documented below under: DESCRIPTION OF NEW MESSAGES ADDED TO DCC/2r SINCE
  INITIAL SHIP.

  See the bottom of the file for the date of the last change.

  If you have the file DCC110FX.EXE you can either create a diskette from
  which to install the fixes or you can expand the self-extracting zip file
  on the hard drive in any subdirectory and run the installation from that
  subdirectory.

IMPORTANT NOTE 1:

  These fixes can only be installed if your PC has been rebooted since you
  installed DCC/2 or DC for DAE 1.10 .  The installation makes use of some
  environment variables that are defined by CONFIG.SYS.

IMPORTANT NOTE 2:

  Since this fix package also contains fixes to 7524 Interface Support you must
  apply the fixes after 7524 Interface Support is installed (if you are using
  that product).  Therefore in the situation where you had already installed
  DCC/2 1.10 and had applied the fix package and later you installed 7524
  Interface Support, you will need to reapply the fix package so that both
  DCC/2 and 7524 Interface Support are at the same level.


EXPANDING AND INSTALLING FROM THE HARD DRIVE
--------------------------------------------
To expand and install DCC110FX.EXE from somewhere on your hard drive,
perform the following steps:

1) Create or choose an empty directory anywhere on your harddrive.  For
   example: C:\TEMP

2) Copy or download DCC110FX.EXE to that directory

3) Make sure that directory is the current directory and then run the
   executable by typing:

     DCC110FX

   This will expand all the files into the current directory.

4) To install the fixes, first make sure none of the components of DCC/2
   (or DC for DAE) are running and that the current directory is the one
   containing the expanded contents of the DCC110FX executable.  Issue the
   following command:

     INSTALL

5) Continue with the section below marked: SPECIAL INSTALLATION INSTRUCTIONS.


EXPANDING AND INSTALLING USING DISKETTES
----------------------------------------
The files in DCC110FX.EXE self-extracting exectuable, cannot fit on a single
diskette.  The necessary diskettes can be created using the command file,
MAKEDSKS.CMD, which is part of DCC110FX.EXE.  Perform the following steps:

1) Create or choose an empty directory anywhere on your harddrive.  For
   example: C:\TEMP

2) Copy or download DCC110FX.EXE to that directory

3) Make sure that directory is the current directory and then run the
   executable by typing:

     DCC110FX

   This will expand all the files into the current directory.

4) To create the diskettes, first get two completely blank, formatted 1.44
   3.5 in. diskettes.  Then run the following command file from the current
   directory:

     MAKEDSKS

   This will prompt you for each diskette and copy the appropriate files to
   each.

5) To install the fixes contained on the fix diskettes, first make sure none
   of the components of DCC/2 (or DC for DAE) are running and make sure the
   first fix diskette is in drive A:  Issue the following command:

     A:\INSTALL

   Additional diskettes will be prompted for as needed. (Of course drive B:
   could be used for installation as well).


SPECIAL INSTALLATION INSTRUCTIONS
---------------------------------
Running INSTALL will copy all files to the proper locations.  There is one
file, ARTIC.ISF, which should be copied on to the first installation diskette
as well.  See the problem for 1/15/95 described below.

Another file BT.ISF should be copied to the third installation diskette
(contains the buildtime files).  See the problem for 2/8/95 described
below.

DESCRIPTION OF NEW MESSAGES ADDED TO DCC/2r SINCE INITIAL SHIP
--------------------------------------------------------------
  Following is documentation regarding all DCC/2 messages that do not yet
  appear in the 32-bit runtime manual.  Some of these messages are actually
  generated by 7524 Interface support.  The messages covered are DCX-258
  through DCX-269 with the exception of DCX-260 and DCX-264 which are internal
  messages that you should never receive.

  ----------------------------------------------------------------------------

  Message:      DCX-258: Trying complete download for terminal 'name' because
                partial download was not successful.

  Description:  This message applies to 7526 terminals which have received a
                request to load a CFR or one or more validation files.  If any
                of the files to be loaded are larger than the terminal's
                current version of that file, the terminal will not allow the
                file to be loaded by itself.  To get around this, DCC/2r
                automatically retries the download, but this time loads the
                entire job to the terminal. The 7526 terminal will accept the
                larger file if all other files in the terminal are first erased
                and are then reloaded to it.

  Action:       No action necessary - informational message only.

  ----------------------------------------------------------------------------

  Message:      DCX-259: In file 'filename', invalid terminal definition for
                'terminal name'; 7524 terminals can only be on RF serial port.

  Description:  In the DCC/2r configuration file, it was found that either a
                terminal was defined to be of type 7524 and was assigned to a
                line other than the RF serial port - or a terminal was defined
                to be of a type other than 7524 and it was assigned to the RF
                serial port.  The only communications line a 7524 terminal can
                be assigned to is the RF serial port.  Likewise, the RF serial
                port can only have 7524 terminals assigned to it.

                Note: 7524 terminals must use 7527 type jobs because there is
                currently no ability to create jobs specifically for the 7524.

  Action:       Correct either the terminal type or the line assignment.

  ----------------------------------------------------------------------------

  Message:      DCX-261: Received unexpected data from RF terminal 'name',
                length is 'nn': 'data...'

  Description:  This message indicates that DCC/2 received a response to a
                message that it was not waiting for at the time.  This can
                happen in the following scenario:

                1) Assume the timeout for the RF serial port is set to 10
                   seconds

                2) DCC/2 sends a command to an RF terminal

                3) Due to slow RF communications, it takes longer than 10
                   seconds for the command to get to the terminal.

                4) After 10 seconds, DCC/2 times out waiting for the response
                   and moves on to a command for another terminal

                5) After another second (total of 11) the terminal receives
                   the command and responds to it

                6) DCC/2 receives the terminal's response, but it is no longer
                   waiting for it and thus considers it unexpected.

                In UHF systems, temporary slowdowns can occur when the call
                sign is broadcast by the base.  This occurs every 15 minutes
                and could last anywhere from 3 to 30 seconds.

                In UHF and SST systems, heavy RF traffic can slow down the
                response times. See the actions below for several ways to
                improve response times.

                Another scenario that can result in unexpected data at DCC/2 is
                when a terminal is moved out of range of the nearest base or is
                powered off.   If any command is issued by DCC/2 to this
                terminal during this time, it is very likely that DCC/2 will
                time out waiting for the response to that command.  The RF
                controller, however, buffers commands that are destined for
                terminals that are currently powered off or are out of range.
                When the terminal is eventually powered on or comes back into
                range, the buffered messages are sent to the terminal which
                will respond to those messages.  As a result, DCC/2 may receive
                responses to messages that it had issued and timed out on
                minutes or even hours before.

  Action:       If this message occurs very infrequently, it can be ignored.
                Otherwise there are several ways you can improve the
                performance of the RF network:

                - Using the Setup notebook, make sure the timeout for the RF
                  serial port is set to at least 10 seconds (100 x 0.1 secs).

                - Make sure you have installed at least level 1.08 (November
                  1995) of the fixes for DCC/2 1.10 32-bit runtime (those fixes
                  also include fixes for 7524 Interface Support).  Version 1.1
                  of 7524 Interface Support includes all fixes from the
                  November 1995 package as well.

                - Make sure the level of 7524 ETS in the terminal is at least
                  1.01 (October 1995).

                - In the 7524 terminal's configuration, there is a parameter
                  called the RF POWER TIMER which should be set to at least 60
                  seconds.  This timer determines how long the terminal will
                  maintain power to its RF receiver so that it can hear
                  messages sent from DCC/2.  Once the timer expires, the
                  terminal goes into a cycle where the power to the RF receiver
                  is on for 2 seconds and off for 8 seconds.  Whenever a
                  message is received, the timer is restarted and (if set to
                  60) the terminal will keep the power on for 60 more seconds
                  before going into the 2 on/8 off cycle.

                  If the timer value is set to low, it will take much longer
                  for terminals to respond to DCC/2 if they are caught in the 8
                  second off period of the on/off cycle.  This is especially
                  apparent during downloads to many terminals.

                - In UHF systems, in the RF Controller under the configuration
                  for the COMx ports, there is a parameter called MAX RTC
                  SLOTS.  This parameter can be tuned for maximum performance
                  by observing the Heart Beat monitor on the 7524-301
                  controller's display panel (listed underneath HB on the
                  display).  Observe the maximum value shown during typical
                  operation and set the MAX RTC SLOTS to this value.

                  Setting the value too high will result in lower response time
                  to active terminals as inactive terminals are given a time
                  slot in which to communicate.  Setting the value too low will
                  result in excessive collisions of terminal communications
                  back to the bases.

                  If you have 15 or more terminals in use, this value should
                  probably be set to the maximum of 20.

                - Leaving the controller showing the screen which asks
                  VIEW CONFIGURATION? can also improve performance.  When
                  on the screens which show terminal/base status, the
                  controller must use processing power to update the screen
                  with the current status.

                - We have found that when downloading many RF terminals, it is
                  best to do a few at a time rather than all at once.  This can
                  be accomplished by setting the LOAD_MAX parameter in the
                  \DCC2R\DATA\EXTRA.CFG file to 3 or 4.  This allows you to
                  issue downloads to a whole group of terminals at once and
                  have DCC/2 dispatch those downloads 3 or 4 at a time.

  ----------------------------------------------------------------------------

  Message:       DCX-262: Received transaction before previous one was released
                 for RF terminal 'name': 'transaction . . .'

  Description:   Indicates that 7524 Interface Support received a transaction
                 from a particular terminal and before DCC/2 had a chance to
                 log the transaction and release it, the terminal sent the
                 transaction again.

                 In the RF environment, terminals are not polled for
                 transactions.  Rather, the terminals send transactions one at
                 a time or when told explicitly to resend the oldest
                 transaction.  Whenever a 'start poll' command is issued by
                 DCC/2 to a terminal, 7524 Interface Support interprets that
                 as a "you can send me transactions now" command to the
                 terminal.  When this command is given to a terminal, that
                 terminal will automatically send the first transaction in its
                 buffer - even if it had just sent it.

                 Another scenario that can cause this message is if a terminal
                 is going in and out of range of the nearest base.  Each time
                 the terminal looses communications with the base and regains
                 it, it sends a message to DCC/2 indicating it is back in
                 range again.  In response to this, DCC/2 sends the "you can
                 send me transaction now" command if that terminal is allowed
                 to send transactions.  This in turn causes the terminal to
                 send the oldest transaction it has.  So a terminal that is on
                 the edge of coverage could resend the same transaction several
                 times.

                 A terminal with a low battery could show these same symptoms
                 as it tries to maintain enough power for its RF transmitter
                 and receiver.

  Action:        For the most part this message can be ignored.  It probably
                 indicates a terminal has been on the edge of coverage or has
                 a low battery.  But if those problems are corrected and the
                 message continues to occur frequently, it could be an
                 indication of other problems in the RF communications: poor
                 signal, interference, ...

                 Receiving this message is akin to receiving a duplicate
                 transaction message; no data is lost and DCC/2 does not store
                 the same transaction more than once.

  ----------------------------------------------------------------------------

  Message:       DCX-263: The RF_UHF_OR_SST parameter must be either UHF or
                 SST; default of SST is being used

  Description:   In the EXTRA.CFG configuration file, there is a parameter
                 called RF_UHF_OR_SST which is used for defining whether your
                 RF system is UHF or SST.

                 The value to the right of the equal sign must be either UHF
                 or SST.  This error was logged because the value was neither
                 of the valid values.  DCC/2r and 7524 Interface Support
                 continued their start up using the default setting of SST
                 rather than shutting down because of the error.

  Action:        Use any text editor to edit the EXTRA.CFG file, which is
                 located in the \DCC2R\DATA directory, and change the value to
                 the right of the equal sign to be one of UHF or SST.  The line
                 containing this parameter can also be removed from the file if
                 the default setting is acceptable.

  ----------------------------------------------------------------------------

  Message:       DCX-265: Shutting down RF network; it may take 15 or 20
                 seconds...

  Description:   DCC/2r issues this message when it is being shutdown and it
                 finds that RF terminals have been configured and it therefore
                 will need to shut down 7524 Interface Support.  Part of 7524
                 Interface Support takes 15 to 20 seconds to shutdown - even
                 after the rest of DCC/2r has shutdown.  You don't always see
                 this message because often the DCC/2r message logger has shut
                 itself down before this message can be issued.  But even in
                 this case it may take another 15 or 20 seconds for 7524
                 Interface Support to completely shut down.

                 The best way to tell when 7524 Interface Support is completely
                 shut down is to look for the OS/2 window containing the
                 program DCXCPOS2.EXE.  If that window still exists, 7524
                 Interface Support which is started as a child of DCC/2r, is
                 not yet completely shutdown.  The Operate notebook will
                 actually show that DCC/2r is shutdown - which is in fact
                 true - during the 15 or 20 seconds that 7524 Interface
                 Support is finishing up its shut down.

  Action:        No action necessary - informational message only.

  ----------------------------------------------------------------------------

  Message:       DCX-266: The SLOW_POLL_CYCLE parameter must be (1 - 255)
                 minutes; default of 1 is being used

  Description:   In the EXTRA.CFG configuration file, there is a parameter
                 called SLOW_POLL_CYCLE which is used for specifying how
                 frequently DCC/2r will poll terminals that have not been
                 responding.  This parameter is also used by 7524 Interface
                 Support to determine how often that program will send an
                 "are-you-there" query to terminal that are expected to be
                 responding but which have not sent any transactions or had
                 any other communications since the last query.

                 The value to the right of the equal sign must be in the range
                 of 1 to 255 indicating a number of minutes.  This error was
                 logged because the value was not in this range.  DCC/2r and
                 7524 Interface Support continued their start up using the
                 default value of 1 minute rather than shutting down because
                 of the error.

  Action:        Use any text editor to edit the EXTRA.CFG file, which is
                 located in the \DCC2R\DATA directory, and change the value
                 to the right of the equal sign to be in the range 1 to 255.
                 The line containing this parameter can also be removed from
                 the file if the default setting is acceptable.

  ----------------------------------------------------------------------------

  Message:       DCX-267: The RF_ENHANCED_POLL parameter must be 0 or 1;
                 default of 0 is being used

  Description:   In the EXTRA.CFG configuration file, there is a parameter
                 called RF_ENHANCED_POLL which is used for specifying the kind
                 of polling that 7524 Interface Support will use between itself
                 and the 7524 RF controller.  We added the ability to set this
                 parameter in the EXTRA.CFG file and then later found that
                 communications rarely works with the setting of 1.  So in
                 effect this parameter should really be removed from the file
                 or always be set to 0.

                 The value to the right of the equal sign must be either 0 or
                 1.  This error was logged because the value was neither of
                 these.  DCC/2r and 7524 Interface Support continued their
                 start up using the default value of 0 rather than shutting
                 down because of the error.

  Action:        Use any text editor to edit the EXTRA.CFG file, which is
                 located in the \DCC2R\DATA directory, and change the value to
                 the right of the equal sign to be 0 or remove the line
                 containing this parameter from the file.

  ----------------------------------------------------------------------------

  Message:       DCX-268: Command exceeds max length: 'nn' in program 'name'
                 in file 'filename'

  Description:   When trying to retrieve information from the specified
                 transaction program in the specified transaction program
                 file, DCC/2r found a program command that exceeds the maximum
                 length indicated in the message.  Due to internal buffer
                 sizes, DCC/2r can only accommodate the size mentioned which
                 should be sufficient for any program.  If indeed the data is
                 valid, the DCC/2r maximum may need to be increased.

                 However, if this program has successfully been downloaded or
                 accessed in the past, the file may have been corrupted.

  Action:        If you suspect the file has been corrupted and you have a
                 backup of it, restore the program file from the backup and
                 retry the operation.

                 If you do not have a backup, use the DCC/2r Migration
                 Facility to migrate the specified program file.

                 If the problem persists, contact your support group.

  ----------------------------------------------------------------------------

  Message:       DCX-269: Creating new message log for 'nn' records . . .

  Description:   When the DCC/2 message logger starts up, it looks for an
                 existing message log and, if found, makes sure it has valid
                 pointers in it.  If the message log is not found or the
                 pointers are not valid, a new message log is created and
                 this message is issued indicating how many records it will be
                 able to hold.

  Action:        No action necessary - informational message only.

  ----------------------------------------------------------------------------


CHRONOLOGICAL SUMMARY OF FIXES/CHANGES
--------------------------------------
11-23-94: If any terminal name contains a hyphen, whenever the Setup or
  Operate notebooks are started a warning pop-up is displayed stating
  that an invalid terminal name was assigned to a particular group - the
  name specified is the portion of the name following the hyphen from the
  name that contains the hyphen.

  This is a harmless warning - no data is lost or changed as a result of
  this problem.

  Fixed files: \DCC2R\BIN\SETUP.EXE
               \DCC2R\BIN\OPERATE.EXE

11-23-94: If the list of terminals assigned to a group exceeded 256
  characters - including the key word "  GROUP_TERMINALS=" the Setup
  notebook would trap when trying to save the file.  The configuration
  file could be corrupted or incomplete as a result.

  As a work around, create several different groups with smaller numbers
  of terminals - all using the same transaction IDs - and assign them to
  the same export.

  Fixed file: \DCC2R\BIN\SETUP.EXE

11-23-94: If a save resulted in warnings being shown and then the problems
  were corrected, the next save would show a blank verification pop-up.

  No data is lost or changed as a result of this problem.

  Fixed file: \DCC2R\BIN\SETUP.EXE

12-1-94:  On the Communications page of the Operate notebook, if an RF
  terminal was selected, any selected terminals below that RF terminal
  in the list would not be monitored.  This was fixed.  This page now
  also preserves its position in the list when switching away from the
  page and back again.

  Fixed file: \DCC2R\BIN\OPERATE.EXE

12-1-94: The Communications Monitor program has pop-ups for all of the
  different kinds of commands that can be sent between terminal and PC.
  Some of these commands have blocks of data that are shown on the
  pop-ups.  All characters in those blocks of data that have ASCII
  values less than or equal to 32 or greater than 127 are shown in
  hex enclosed in angle brackets.  (Before they were shown in decimal and
  the range was only less than 32.)

  Changed file: \DCC2R\BIN\DCXMON.EXE

12-15-94: The PGM.CMD file used for migrating DCC/2 .PGM files to the
  32-bit .PGM file format did not migrate the comments properly.  The
  word 'Data' followed by blanks was being substituted for the comment
  text that was in the original DCC/2 .PGM file.

  Since the comment text is not downloaded to terminals, this does not
  cause any immediate problems.  However, whenever a 32-bit buildtime is
  implemented it would not have had the proper comments in the .PGM file.

  Changed file: \DCC2R\BIN\PGM.CMD

1-5-95: Fix for APAR PN65771 involving the 16-bit runtime.  Occasionally,
  duplicate Interactive transactions from 7526 terminals would not be
  filtered out of the DCC/2 logfile.  A program logic error was found
  and corrected.

  Changed file: \DCC\DCCTREXE.EXE

1-5-95: Fix for APAR PN64808 involving the Buildtime files.  If the System
  Monospaced font was unavailable, the Transaction Program Editor and Terminal
  Configuration Editor would silently exit (really, a divide by zero problem
  caught by the C runtime system, but masked by PM.)  The fixes cause the
  programs to display an error message, and exit if they are unable to load
  the required font.

  Changed files: \DCC\DCCPRGRC.DLL
                 \DCC\DCCTCFRC.DLL
                 \DCC\DCCTDFC.EXE
                 \DCC\DCCTDFP.EXE

1-15-95: The ARTIC installation did not put the ICA*.MSG files in the
  right place.  They were put in the \DCC2R\BIN directory and they
  should have been put in the root directory of the OS/2 drive.

  When these fixes have been applied, the file ARTIC.ISF should be
  copied from the \DCC2R directory to the first diskette for DCC/2 1.10
  (or DC for DAE 1.10).

  Changed file:  \DCC2R\ARTIC.ISF (also on diskette 1 as A:\ARTIC.ISF)
                 \DCC\ARTIC.ISF   (same as above)

1-18-95: 7526 terminals downloaded by the 32-bit runtime would generate
  hot-key-like transactions for all keys that were supposed to have no
  program assigned.  This is actually also a problem in the 7526
  microcode but has been corrected by a change to the 32-bit runtime.

  Previously a simple record separator character was downloaded for all
  empty programs.  Now :9 (which is a no-op to the terminal) is downloaded
  followed by the record separator.

  Changed file:  \DCC2R\BIN\DCXCPOS2.EXE

1-23-95: A couple of changes were made to the 32-bit runtime to accommodate
  the future release of the 7524 Interface Support program.  These include:

  - Allowing the port task to send an unsolicited request to say a terminal
    is now responding.  This allows RF terminals to be recognized as soon
    as they are powered on.

  - Fixed a trap that would occur if a start polling command was issued
    to an RF terminal and no RF terminal had yet been powered on since
    DCC/2 was started (which means NUI_SERV.EXE was not yet started).

  Changed files: \DCC2R\BIN\D2XNSUGW.EXE
                 \DCC2R\BIN\DCXRSUGW.EXE

1-26-95: Fixed trap in MIGRATE.EXE that would occur if DCX2.INI does not
  exist - trap occurred in attempt to display appropriate error message.
  Also fixed problem where switch from Program to Val or Cluster and back
  when Name was selected for Partial Configuration would not cause the
  list box to be properly updated.

  The default partial configuration option is now Programs.

  Changed file:  \DCC2R\BIN\MIGRATE.EXE

1-26-95: In Setup notebook on terminals page if changes were made and then
  saved, choosing Exit would give pop-up stating changes would be lost if
  Exit were completed.

  Changed file:  \DCC2R\BIN\SETUP.EXE

1-30-95: In the Monitor the data that is displayed for load commands now
  is displayed 40 characters per line.

  Changed file:  \DCC2R\BIN\DCXMON.EXE

2-4-95: Fixed problem where downloads to 7526 terminals would not allow
  messages greater than 40 bytes in length.  That has been increased to
  128 bytes in length.  This problem was APAR number PN67735.

  Also made more changes to accommodate the future release of 7524
  Interface Support.  These include increasing the maximum amount of data
  that can be loaded to a 7524 terminal in one message to the terminal.
  This is now 470 bytes or so.  It also includes changes to allow
  7524 terminals not to be slow polled.

  Changed files: \DCC2R\BIN\DCXCPOS2.EXE
                 \DCC2R\BIN\D2XNSUGW.EXE
                 \DCC2R\BIN\DCXRSUGW.EXE

2-5-95: Fixed Trap in the Monitor program that would result if you tried
  to look at the details of an interactive response that was sent to a
  terminal.

  Changed file:  \DCC2R\BIN\DCXMON.EXE

2-8-95: The Buildtime Modules installation did not create the .\VAL, .\CFR
  or the .\GPH directories.  The affected file BT.ISF resides only on
  diskette - diskette 3.  It must be copied there before running the
  buildtime installation.

  If the buildtime has already been installed, then running the
  installation for these fixes, as described at the top of this file, will
  automatically create these directories.

  Changed file:  A:\BT.ISF   (On diskette 3)

2-8-95: Fixed potential trap if invalid transactions are received
  from terminals.  In an attempt to log a message that would show
  the bad transaction, the code would cause a trap if the length
  was too long.  This problem had to do with the size of the
  variable used to store the length.  The size of that variable
  was changed to fix the problem.  Because the routine which logs
  messages is used in more than one module of DCC/2, the fix
  affects more than one executable.

  Also increased the wait for a terminal response to a given
  download command to 60 seconds from 30 seconds.  This accommodates
  the RF network where longer timeouts are used on the line.

  Changed files: \DCC2R\BIN\DCXCPOS2.EXE
                 \DCC2R\BIN\DCXIAPI.EXE

2-9-95: Minor problems fixed - affecting only RF network code.
  When terminal is identified, two start poll messages were sent
  to the port task from the gateway.  In the RF environment this
  caused a terminal without any files to request two downloads -
  one for each message and so DCC/2 would start one and queue
  the other.  The terminal would thus be downloaded a second
  time unnecessarily.  Also when RF terminals went into
  not-responding state one slow poll was sent to these terminals
  for the next interval; none should have been sent because
  they are RF terminals.

  Changed files: \DCC2R\BIN\DCXRSUGW.EXE
                 \DCC2R\BIN\D2XNSUGW.EXE

2-14-95: Fixed spelling error in the job migration command file.

  Changed file:  \DCC2R\BIN\JOB.CMD

2-20-95: Change made to gateway task which cuts time in half that was
  spent waiting for a start download request to fail when it was sent
  to a non-responding terminal.  This change affects all but the 7527
  terminal.  This change has the biggest effect for RF terminals whose
  command response timeouts are usually much longer than the other
  terminals.

  Also made change to prevent the A0X command from actually being sent
  to RF terminals when the terminals are being put in the not-responding
  state.

  Changed files: \DCC2R\BIN\DCXRSUGW.EXE
                 \DCC2R\BIN\D2XNSUGW.EXE

2-20-95: Change made to download tasks to set their command timeout
  based on the timeout configured for the communications line to which
  the downloading terminal is attached.  This is most useful in the RF
  environment where longer communications timeouts are used.

  Changed file:  \DCC2R\BIN\DCXCPOS2.EXE

2-21-95: The DCC/2r slow polling rate is now configurable via the EXTRA.CFG
  file. A new parameter called SLOW_POLL_RATE can be added to the EXTRA.CFG
  file that is located in the \DCC2R\DATA directory.  The valid values are
  1 to 255 minutes.  The default is:

    SLOW_POLL_RATE = 1

  See the sample EXTRA.CFG file on the PTF diskette for more details.  This
  file is not copied during installation of the other PTF files so as to
  preserve any existing parameters in the 'live' file.

  Changed files: \DCC2R\BIN\DCXCPOS2.EXE
                 \DCC2R\BIN\DCXRSUGW.EXE
                 \DCC2R\BIN\D2XNSUGW.EXE
                 \DCC2R\BIN\DCXRPO.EXE
                 \DCC2R\BIN\D2XNPO.EXE
                 \DCC2R\DATA\DSKMGFIL.TXT

2-22-95: DCCDMIS.EXE does not start up properly if configured as an
  application to be started from the 32-bit runtime.  DMIS generates
  a 1123 error indicating a database error.  The problem is that it
  cannot find DCCDM.BND.  DCCDMIS requires that DCCDM.BND be in the
  current directory when it is started.

  Note: DC for DAE 1.10 already incorporates the fix for this problem.

  DCCDM.BND is located in the \DCC directory (or whatever directory the
  environment variable DCCROOT indicates); however, applications
  started by the 32-bit runtime are started such that the current directory
  is the OS/2 root directory.  So to fix the problem, the DCCDM.BND
  file must be copied to the OS/2 root directory.  The installation script
  file for DMIS, DMIS.ISF, has been changed to do this.

  If you have already installed the DMIS component, you can simply copy
  the file \DCC\DCCDM.BND to the root directory of the drive on which OS/2
  is installed.  Or you can run the installation again after copying the
  new DMIS.ISF file to the 4th installation diskette for DCC/2 1.10.

  Changed file:  A:\DMIS.ISF   (On diskette 4 of DCC/2 1.10)

2-27-95: Increased the communications line timeout range to 255 times 0.1
  seconds.  Previous maximum was 100.  Change was made for RF environment
  where longer timeouts are necessary.

  Changed file:  \DCC2R\BIN\SETUP.EXE

2-28-95: Fixed bug in migration which caused the same validation file to
  be downloaded twice if it was used for fast-clocking and in any
  transaction program.  The migration program did not properly set up the
  list of validation files to be downloaded; it listed the fast-clocking
  validation file twice.

  Changed file:  \DCC2R\BIN\JOB.CMD

3-16-95: Increased the timeout for a start port command from 30 seconds to
  60 seconds.  This was done to handle RF ports which could have a very
  large timeout.

  Changed file:  \DCC2R\BIN\DCXCPOS2.EXE

3-23-95: Added support for a new API that can set more than one user
  variable at a time.  The 32-bit version is called DcxSetNTermUserVariables
  and the 16-bit version is called DccSetNTermUserVariables.  This API can
  only be used with the 32-bit runtime - although the application can be
  16 or 32 bit.

  This API was added primarily for support of 7524 RF terminals where
  communications is generally slower than fixed terminals.  However, it
  can be used for all terminal types which can have user variables set
  (all but the 7525).  DCC/2 automatically figures out what the
  appropriate command is to send to the terminal.

  There is no limit to the number of user variables that you can
  specify to be set by this API.  However, DCC/2 does need to break
  up the list into chunks of approximately 450 bytes of data to be
  handled at one time.  So if all of the data for the variables to
  be set - including 3 bytes for each user variable number - fit
  into that 450 bytes, those user variables will all be set
  consecutively down at the terminal - before any command to any
  other terminal is handled.  This will make the processing faster
  than before where for each user variable the data had to be
  passed up and down from the API level to the terminal level and
  back.

  The format for the new 32-bit API is:

    short LINKAGE DcxSetNTermUserVariables(PSZ termname, HTERM acquire,
                    USHORT numvars, USHORT * vars, PSZ * vartext);

  where:

    'termname' is the same as for DcxSetTermUserVariable

    'acquire'  is the same as for DcxSetTermUserVariable

    'numvars'  is the number of user variables that are to be set.
               Space should be allocated for the 'vars' and 'vartext'
               arrays greater than or equal to that necessary for the
               number of variables specified by the numvars parameter.

    'vars'     is an array containing the list of user variables to be set.
               The order in which the numbers appear in this array is the
               order in which they will be set.

               The valid values in this array are 10 through 19 for the
               7527 and 7524 terminals or 1 through 999 for 7526 terminals.

    'vartext'  is an array containing pointers to null-terminated strings
               that the corresponding user variables, specified in 'vars',
               should be set to.  For example, the user variable specified
               in vars[0] will be set to the string pointed to by vartext[0].

               The maximum length of the string is 118 bytes for all terminal
               types.  If a user variable is to be cleared, a pointer to a
               NULL string ("") should be put in the proper element of the
               vartext array.  Do not use NULL as the pointer itself.

               Refer to the explanation DccSetTermUserVariable API for
               additional information about how to include special characters
               in the user variable string.

  This is found in the new \DCC2R\TOOLKIT\DCX.H provided in this fix package.

  The format for the new 16-bit API for use with 16-bit compilers is:

    USHORT EXPENTRY DccSetNTermUserVariables(PSZ termname, USHORT numvars,
                      USHORT * vars, PSZ * vartext);

  This is found in the new \DCC2R\TOOLKIT\DCC2.H provided in this fix package.

  The format for the new 16-bit API for use with 32-bit compilers is:

    USHORT EXPENTRY DccSetNTermUserVariables(PSZ termname, USHORT numvars,
                      USHORT * _Seg16 vars, PSZ _Seg16 * _Seg16 vartext);

  This is found in the new \DCC2R\TOOLKIT\DCC2386.H provided in this fix
  package.

  For 32-bit applications, you must link to the new \DCC2R\TOOLKIT\DCX.LIB
  provided with this package.  For 16-bit applications, you must link to the
  new \DCC2R\TOOLKIT\DCC2.LIB in order to use the new API.  A new DLL file
  called DCCNEW.DLL will be added to both \DCC\DLL (for 16-bit) and to
  \DCC2R\TOOLKIT.  This DLL is if you are using the 16-bit APIs.  An updated
  \DCC2R\TOOLKIT\DCX.LIB containing the 32-bit APIs is also provided.

  As mentioned above, this new API is available only if you are using the
  32-bit runtime - although both 16-bit and 32-bit applications can used it.
  However, if you have included this API in a program you have written, you
  can still run that application with the 16-bit runtime - provided the API
  is never called for the 16-bit application.  To explain this better, I'll
  mention what probably will happen with our HISS/2 (or DBITS/2) products.

  HISS/2 will probably have a new command that can be called to set a
  group of user variables at once.  The new HISS/2 code will therefore
  have to include this API call.  That API will only be called if the new
  command is included in a HISS script.  In that case, that HISS script
  could only be used when the 32-bit runtime is being used.  But if the
  HISS script does not include the new command, then that HISS script
  could be used with either the 16-bit or 32-bit runtimes.

  If the you are running the 16-bit runtime and this new API is issued, the
  return code will be DCC_NOT_RUNNING - provided the dll file DCCNEW.DLL is
  in the LIBPATH.  If that new dll is not in the LIBPATH, then you won't be
  able to start the program containing the API call.

  Changed files: \DCC2R\BIN\DCXCPOS2.EXE
                 \DCC2R\BIN\DCXRSUGW.EXE
                 \DCC2R\BIN\D2XNSUGW.EXE
                 \DCC2R\BIN\DCXMON.EXE
                 \DCC2R\TOOLKIT\DCX.LIB
                 \DCC2R\TOOLKIT\DCX.H
                 \DCC2R\TOOLKIT\DCX.DLL
                 \DCC2R\TOOLKIT\DCC2.LIB   (this is new)
                 \DCC2R\TOOLKIT\DCC2.H     (this is new)
                 \DCC2R\TOOLKIT\DCC2386.H  (this is new)
                 \DCC2R\TOOLKIT\DCXNEW.DLL (this is new)

3-24-95: Several fixes made to 7524 Interface Support.  Fixed trap that
  occurred if a message of length 2 was received.  Fixed another trap if
  a message greater than 500 bytes was received.  Fixed problem relating
  to handling of a DC2 message sent by a 7524 when that terminal lost and
  regained the carrier.

  Also added a command line switch which can be turned on to show all
  communications which are occurring at the DCC/2 level on the RF network.
  By running NUI_CFG from the \DCC2R\BIN directory and changing the
  defined application from '~\dcxrfos2.exe xCON' to '~dcxrfos2.exe xCON 1'
  you can specify that the output be printed.  Changing the 'CON' in the
  first parameter to a file name will cause the output to be logged in
  that file instead of the screen.

  Changed file:  \DCC2R\BIN\DCXRFOS2.EXE

3-24-95: Minor changes made to communications code to handle timeout
  situations better.  In one case if status response was not received in
  time the data from the previous command was being used for the status
  data and thus was improper interpretations could be made as to whether
  a terminal had transactions in it to be flushed.  Also made change to
  retry status if the response that came back was not the valid 12 byte
  status string.  Previously it just returned an error.  Now an error
  will only be returned after a certain number of retries that fail.

  Both of these changes are minor.  The problems only showed up with
  7524 terminals when the timeout was very low for the RF serial port.

  Changed files: \DCC2R\BIN\DCXRSUGW.EXE
                 \DCC2R\BIN\D2XNSUGW.EXE

3-28-95: Fixed problem where closing the password entry window acted as
  if a valid password had been entered.

  Changed files: \DCC2R\TOOLKIT\DCC2PWRD.DLL

4-4-95:  Fixed problem with new API DccSetNTermUserVariables.  Previous
  version worked OK if you used a 32-bit compiler and DCC2386.H.  However,
  using a 16-bit compiler, the API call trapped.  The prototype for this
  API has been changed in DCC2386.H to be:

    USHORT EXPENTRY DccSetNTermUserVariables(PSZ termname, USHORT numvars,
                      USHORT * _Seg16 vars, PSZ _Seg16 * _Seg16 vartext);

  The difference is that '_Seg16' was added after the 'PSZ' and before '*'
  for the parameter 'vartext'.  This change in turn requires that when using
  a 32-bit compiler, the array of pointers to strings must be an array of
  16-bit pointers.  For example, the following array 'vartext' can be passed
  to the API:

   PSZ _Seg16 vartext[3] = { "Var1", "Var2", "Var3" };

  NOTE:
  If using a 32-bit compiler with the 32-bit API (DcxSetNTermUserVariables),
  nothing has changed; you would not include the '_Seg16' shown above.

  Changed files: \DCC2R\TOOLKIT\DCCNEW.DLL
                 \DCC2R\TOOLKIT\DCC2.LIB
                 \DCC2R\TOOLKIT\DCC2386.H

4-4-95: Regarding the new API, DccSetNTermUserVariables:  If this API is
  included in a DCC/2 application that should be able to run with both the
  16-bit and 32-bit runtimes, then a couple of things must be done:

  - Even though the API is in the program, it should only be called if the
    32-bit runtime is in use.  If the 16-bit runtime is currently being used
    and this API is called, the return code will indicate (DCC_NOT_RUNNING) -
    provided the following item is done.

  - If the 32-bit runtime has not been installed, you must copy the following
    files to the \DCC\DLL directory:

      DCX.DLL
      DCCNEW.DLL

    If you do not copy these files, and you try to run your application,
    OS/2 will give you an error saying it couldn't find one or both of
    these files.

4-4-95: The CFRAPI24.LIB provided with 7524 Interface Support does not work
  properly with the IBM C/2 linker - a message about an invalid object
  module is generated.  This library does work fine with the Microsoft
  linker.  The problem was that the object file in the library was built
  with the Microsoft 8.0 compiler and so the IBM C/2 linker didn't understand
  the format.

  A new CFRAPI24.LIB is in the route directory of the fix diskette.  This
  was built with the IBM C/2 compiler.

  By the way, valid compile options for building a 7524 CFR are:

    -c -nologo -ALw -Zpe -Ox -G1s -W3 -Zp1

  and valid link options are:

    /NOI /DO /NOD /DO

  Changed file:  A:\CFRAPI24.LIB

4-7-95: We found that if you install the 32-bit Runtime and the Buildtime
  Modules - but do not install the 16-bit Runtime, there is one DLL file
  that is not copied from diskette: DCCRC.DLL.  This file is on the
  diskette in the self-extracting zip file RT16ALL.EXE but it should
  be in ALLALL.EXE so that it is installed both when the 16-bit runtime
  is installed and when the Buildtime Modules are installed.

  To get this file after installing the Buildtime Modules, just run the
  installation for these fixes as described at the top of this file.

  This of course does not fix the original installation diskettes themselves.
  But if you want to patch your current set of diskettes, you can do the
  following:

  1) Copy the BT.ISF file from this set of fixes to diskette 3.  See the
     problem about BT.ISF described above for 2-8-95.
  2) Copy \DCC\DLL\DCCRC.DLL to diskette 3 (A:\DCCRC.DLL).
  3) Edit the BT.ISF file on diskette 3 and make the following change:

     Line 93 should currently be the following:

       RUNPROGRAM %SRCDRIVE%\dcc2help.exe   "-o    %OS2DRIVE%\OS2\HELP"

     Keep that line there and add the following line after it:

       COPYFILE   %SRCDRIVE%\dccrc.dll    %INSTROOT%\dll\dccrc.dll

  Once these changes have been made, installation of the Buildtime Modules
  should work properly.

  Changed file:  \DCC\DLL\DCCRC.DLL was not installed

4-7-95: Fixed problem where address 0 on any communications line was showing
  up as address Z on the Terminals and Communications page of the Operate
  notebook.

  Changed file:  \DCC2R\BIN\OPERATE.EXE

4-11-95: Fixed problem where DCC/2r download process would flag an error if
  it encountered a transaction program command it did not know about (not
  known by DCC/2, Data Collector or DC/X).  Customer reported ;7 (APNDSTR)
  was being rejected.  Changed the code to accept any command it did not
  know about provided it started with a ; or :

  Changed file:  \DCC2R\BIN\DCXCPOS2.EXE

4-11-95: Minor change to Setup notebook to smooth out the update of the
  transaction window of the Groups page.

  Changed file:  \DCC2R\BIN\SETUP.EXE

4-11-95: Found out that 7524 Interface Support was not verifying the
  checksums of transactions received from RF terminals.  Responses to
  commands were verified, but transactions were not.  So if a byte was
  dropped in the transmission, the transaction would be passed through
  to DCC/2 without a complaint by 7524 IS.  DCC/2 might eventually complain
  if the byte was lost in the date/time stamp or sequence number.

  The checksum verification for transactions has been added.  If the checksum
  fails, the transaction is NAKed - which will cause the terminal to
  retransmit it.

  Changed file:  \DCC2R\BIN\DCXRFOS2.EXE

4-11-95: APAR PN69854, 7527 ETS: File A was not correctly mapping shift chars

  File A (keyboard remap file) was not correctly mapping shifted
  characters.  The ETS file manager was incompletely handling the
  conversion from byte to word per entry.  This caused data in the second
  packet to partially overwrite data from the first packet, thus corrupting
  the table.  Also, the location of file A was subject to change as other
  files changed size.  Because the 7527 BIOS stores a pointer to custom
  keyboard mappiong tables, movement of the table, without updating the
  BIOS, would likely have resulted in a completely useless keyboard.  This
  has been changed to store the remap table in a static array within ETS.

  Changed files:  ETS7527.EXE
                  ETS7527.MAP

  This fix is no longer available in this fix package due to royalty
  implications.  Request a free upgrade to release 1.03 of 7527 Extended
  Terminal Services through your normal ordering channel.

4-13-95: Discovered that running through steps in Chapter 5, Getting Started
  of the 32-bit Runtime User's Guide result in the DCC/2 Configuration
  Editor complaining about changes in the validation files directory.
  The problem is that when COPYSAMP.CMD is run, it creates a DCC.INI file
  that specifies that D2R_SAMP.VAL is part of each cluster, however that
  validation file is not created by COPYSAMP.CMD.  The DCC/2 Configuration
  Editor issues a warning when it cannot find a validation file that is
  referenced by a cluster.

  To eliminate the warning, you can use the DCC/2 Validation Editor to create
  D2R_SAMP.VAL.

  8-30-95: The installation of fixes will now create/update the following
  files so that COPYSAMP.CMD will set up the validation file properly.

  Changed files: \DCC2R\SAMPLES\COPYSAMP.CMD
                 \DCC2R\SAMPLES\D2R_SAMP.VSM

4-13-95: Added ability to handle new parameter in \DCC2R\DATA\EXTRA.CFG
  file.  It is called RF_ENHANCED_POLL and it can be set to 0 or 1.  This
  is for use with 7524 Interface Support only.  If the parameter is set to
  0, the RF controller must have its ENHANCED POLL parameter under HOST
  CONFIGURATION set to NORMAL.  If the parameter is set to 1, the RF
  controller must have that parameter set to ENHANCED.

  This parameter was added in the hopes that allowing ENHANCED POLLING
  to be set to ENHANCED would improve performance.  However, our initial
  testing shows that it actually impedes performance.  Therefore, so far
  this appears to be a wasted exercise.  But that might change in the
  future so the parameter will stay.

  The default is:

    RF_ENHANCED_POLL = 0

  See the sample EXTRA.CFG file on the PTF diskette for more details.  This
  file is not copied during installation of the other PTF files so as to
  preserve any existing parameters in the 'live' file.

  Changed files: \DCC2R\BIN\DCXCPOS2.EXE
                 \DCC2R\DATA\DSKMGFIL.TXT

4-20-95: Found that if you created a transaction program file using the
  DCC/2 Transactions Program Editor and you created a program in that
  file that just had a name but had no steps, then the migration of the
  program file to the 32-bit format would lose the program following
  the empty one.  Had to change migration to check specifically for
  empty programs.

  Changed file:  \DCC2R\BIN\PGM.CMD

4-20-95: Changed the low level DCC/2 code so that it no longer sends out
  a status command following a set user variable command if the target
  terminal is a 7524.  This cuts down network traffic and thus improves
  performance in the RF network when user variables are being set frequently.

  Changed files: \DCC2R\BIN\DCXRSUGW.EXE
                 \DCC2R\BIN\D2XNSUGW.EXE

4-28-95: APAR PN68274  Master Clock sometimes stops working (16-bit runtime).
  A new version of DCCMCLCK.EXE offers a command line argument to
  increase the process's priority.  If the argument 'highpriority' is
  provided (not case sensitive) the process will run at the lowest level of
  the time-critical priority class.  Without the command line argument, it
  will run at its normal, default priority.

  Changed files: \DCC\DCCMCLCK.EXE

4-28-95: APAR PN65085  MAPICS transactions sometimes not processed by the
  Export Validation program, especially during DCC/2 startup and shutdown.
  This problem affects both the 16-bit and 32-bit runtimes.  However the
  fix provided now is only for

  Because the Export Validator (DCCEXPVA.EXE) was an application to DCC/2 it
  was started after all DCC/2 internal processes were up and running -
  including the terminal polling and transaction logging process.  Because of
  this arrangement there was a window of time during which transactions could
  be polled and logged but during which the Export Validator was not yet
  running.  Therefore some transactions would not be syntax checked properly.
  In addition any MAPICS/DB transaction containing a real number field
  (quantity, amount or cost) would not have that real number put into the
  proper format expected by the AS/400.

  To fix the problem, the Export Validator was made an internal process of
  DCC/2 so that it could be started before any transactions were received
  from terminals.  Because there can only be one "syntax checker", the
  undocumented APIs previously used have been withdrawn.  This will prevent
  an external program from interferring with the now internal checking.

  The trigger mechanism to enable checking is still the inclusion of
  DCCCEXPVA.EXE as a user application.  Since the configuration tool
  requires the existence of any configured user application, a version is
  still provided.  All it does is load and block on a semaphore.  This gives
  anybody using PSTAT the impression that their selected application is
  still there, even though it actually doesn't do anything.

  A new error has been added "DCC0652 - Export Validation Initialization
  failed."  This is usually caused by a syntax error in one of the .XPV
  files.  Previously, this caused the checker program to pop up an error
  panel, and exit.  Now, it will cause DCCTREXE.EXE to log the error and
  then generate a component error which will cause DCC/2 to shutdown.  This
  was done to prevent transactions from sneaking through the system without
  going through the checker, which, of course, is the whole reason for the
  APAR.

  The remainder of the checker should exhibit identical behavior to the
  previous version.

  Changed files: \DCC\DLL\DCCCONF.DLL
                 \DCC\DLL\DCCCONF2.DLL
                 \DCC\DLL\DCCTRANS.DLL
                 \DCC\DCCERROR.EXE
                 \DCC\DCCTREXE.EXE
                 \DCC\DCCEXPVA.EXE
                 \DCC\DATA\DCCERRS.MSG

5-4-95: The Setup Notebook allowed the setting of an export logfile's capacity
  to be in the range from 200 through 99999.   However, if you set it to any
  value from 200-499 both the Setup and Operate notebook complained that the
  value was invalid.  The Setup and Operate notebook now accept 200-99999.

  Changed files: \DCC2R\BIN\OPERATE.EXE
                 \DCC2R\BIN\SETUP.EXE

5-12-95: Enhanced 7524 Interface Support by making the 'Are-you-there?'
  polling asynchronous.  This polling is done once a minute - or whatever
  the SLOW_POLL_RATE currently is - to all terminals which DCC/2 believes
  are communicating but which have not done any communications since the
  last Are-you-there poll.  Previously, 7524 IS would wait for the response
  to an Are-you-there poll before handling any other command for any other
  terminal.  The code has been changed to send out the Are-you-there poll
  and then handle other commands while waiting for the response.  This
  change now prevents a terminal that has been powered off from adversely
  affecting system performance due to the Are-you-there polling.

  Changed file:  \DCC2R\BIN\DCXRFOS2.EXE

5-25-95: There's been a long standing bug in the DCCMAPDB.TTF file in
  the cluster definition for the 7526 model 100.  The cluster name in
  the file was incorrectly spelled:

    MD_34_TIMEATT_M2

  it should be spelled:

    MD_34_TIMEATT_M3

  The symptom of the problem is that MAPICS/DB time and attendance
  transactions are rejected by the DCC/2 MAPICS/DB Host Interface
  program because their cluster name is not found in the translation file.

  To fix the problem, simply use a text editor to open the file and
  correct the spelling of the cluster name as described above.

  The installation fix diskette does not provide an updated file
  because of its size and because to fix the problem requires a simple
  edit of the file.  Furthermore, simply replacing the existing file
  with the fixed default file during installation of fixes would cause
  changes to be lost for anyone who has customized their transaction
  translation.

  Changed file:  \DCC\DATA\DCCMAPDB.TTF (not part of fix package)

5-31-95: Potential trap fixed in the installation program.  There were
  several kinds of errors which, if encountered during an installation,
  would cause a trap during the attempt to display an appropriate error
  message.  Two of the errors which would result in the trap are:
  insufficient disk space and unable to write to the OS/2 INI file.

  The affected file, DCXINST.EXE, is found on diskette 1.  It is also
  copied to the \DCC2R\BIN directory as DCXINST.EBK during installation
  of the 32-bit runtime and is copied to the \DCC directory as DCXINST.EBK
  during installation of the 16-bit runtime.  Installation of this fix
  package will automatically update the 16-bit and 32-bit directories.

  However, in order to update diskette 1 the new file should be copied to
  that diskette after the installation of the fix package is complete.
  To do this, change to either directory (\DCC2R\BIN or \DCC) which you
  are using, put diskette 1 in drive A: and issue the following command:

    COPY DCXINST.EBK A:\DCXINST.EXE

  Changed file:  \DCC2R\BIN\DCXINST.EBK (also on diskette 1 as A:\DCXINST.EXE)
                 \DCC\DCXINST.EBK       (same as above)

6-15-95: Found problem when flushing terminals during a download.  The
  transactions would all eventually be polled out, but the download would
  be retried several times in the process because of duplicate transactions
  and transaction release failures.  Problem had to do with issuing a quick-
  poll during a flush which resulted in the same transaction being polled
  out twice in a row.  The quick poll is no longer done during a download
  and it solves the problem.

  Changed files: \DCC2R\BIN\DCXRPO.EXE
                 \DCC2R\BIN\D2XNPO.EXE

7-07-95: Window refresh problem with DCC/2 Main - a minor cosmetic annoyance
  with the DCC/2 - Main panel.  If you overlap the frame with another window,
  and then move that other window off of DCC/2's window, the text in the item
  with the selection bar, which had been under that other window, will not be
  redisplayed properly.

  Changed files: \DCC\DCC.EXE     (for DCC/2)
                 \DCC\DCCRUN.EXE  (for DC for DAE product)

7-10-95: APAR PN68117.
  Under Warp, several DCC/2 programs would trap if they were shut down as a
  result of DCC/2 shutting down.  All of the DCC/2 export programs were
  affected: COPICS Interface, MAPICS Interface, DMIS and DAE Interface.  In
  addition an internal module of DCC/2 was affected because it used OS/2
  signals.

  Changed files:  \DCC\DLL\DCCABOUT.DLL
                  \DCC\DCCCOPIC.EXE
                  \DCC\DCCMAPIC.EXE
                  \DCC\DCCDAEIF.EXE
                  \DCC\DCCDMIS.EXE

7-19-95: APAR PN73030.
  When submitting validation file(s) to DCC/2 that resulted in multiple
  terminals being downloaded, file open errors would eventually result.  The
  problem was that files were being opened and not closed and the loader
  eventually ran out of file handles.

  Changed files:  \DCC\DLL\DCCCONF.DLL
                  \DCC\DLL\DCCCONF2.DLL
                  \DCC\DLL\DCCLOAD.DLL
                  \DCC\DCCLOAD.EXE

7-31-95: Added tool for manipulating DCC/2 16-bit logfile.

  New file: RELEASE.EXE

8-10-95: Found that transactions created via API (DcxWriteTransaction or
  DccWriteTransaction) that went through the 32-bit export validator
  caused the following 3 messages to be displayed:

    DCX-015 referencing a queue named /QUEUES/.DcX
    DCX-031 referencing CP_TXLOG_WRITE
    DCX-032 with an incomplete parameter showing as %s

  In addition the call to Dc?WriteTransaction would never return.  There
  turned out to be 3 separate problems to be fixed.  They all were based
  on the condition that interactive responses are not supposed to be used
  to respond to API-initiated transactions.

  Changed files:  \DCC\DCCEXP32.EXE
                  \DCC2R\TOOLKIT\DCX.DLL
                  \DCC2R\BIN\DCXCPOS2.EXE

8-15-95: Suddenly realized the installation of the fixed DCCTRANS.DLL for
  the 4-28-95 fix would cause applications using certain 16-bit APIs (such
  as DccOpenTransaction) to say DCC/2 was not running if the 32-bit runtime
  was in use and the 16-bit runtime had been installed before the 32-bit
  runtime.

  The problem is that while the API environment is set for the 32-bit runtime,
  some of the .DLL files in \DCC\DLL are renamed to *.STP so that OS/2 does
  not find them when looking for the DCCTRANS.DLL.  Instead OS/2 should
  find the 32-bit version in the \DCC2R\TOOLKIT directory.  The installation
  of fixes did not check to see whether the DCCTRANS file was currently
  named .DLL or .STP and was simply copied in.  Thus if \DCC\DLL was in
  the LIBPATH before \DCC2R\TOOLKIT, the 16-bit version of the DLL would
  be found and the wrong code executed.

  The installation command file now checks to see whether DCCTRANS.DLL has
  been renamed to *.STP and copies the fix to the proper name.

  Changed file:  The installation for these fixes - A:\INSTALL.CMD

8-17-95: 32-bit runtime download task limited transaction program commands
  to 256 bytes.  Some ONKEY commands are longer than this.  Increased that
  maximum to 1024 bytes.  Also when this error occurred, no informational
  message explained what failed; only a 'download aborted' message was
  given.

  Changed files:  \DCC2R\BIN\DCXCPOS2.EXE
                  \DCC2R\DATA\DSKMGFIL.TXT

8-21-95: New CFR APIs for the 7524 have been added.  These include:

    INT   AliasTransID (UCHAR NewId);
    VOID  QueryTransactionCnt(PUSHORT numtxtns, PUSHORT numfree);
    INT   SendTransaction (VOID);

  AliasTransID() is used to change the transaction ID field of the current
  transaction.  Valid values are 1 through 255.  This works the same as
  it does in 7526 and 7527 CFRs.

  QueryTransactionCnt() allows you to find out how many tranasactions are
  currently in the terminals queue and how many additional transactions
  can be added to the queue.  All 7524 terminals have a capacity of 736
  transactions regardless of what size was specified for the transaction
  buffer in the General Parameters configuration.

  SendTransaction() is just like the 7526 API of the same name; it sends
  the current contents of the transaction buffer to the host as a
  transaction, adding the current transaction ID, time stamp and sequence
  number.

  Not only do you need the latest CFRAPI24.LIB and CFRAPI24.H but you must
  also have a flash level later than 8-20-95 in order to use these CFR APIs.
  To determine your 7524 flash level, go into the menus.  If option 4 is not
  INFO/STATUS then your flash is not late enough.  If option 4 is
  INFO/STATUS, select it and then select option 1) VERSION INFO.  The second
  line on the screen will give the date of your flash.

  Changed files: A:\CFRAPI24.LIB
                 A:\CFRAPI24.H

8-22-95: In Setup Notebook of 32-bit runtime, found that sometimes all of
  the transactions that were highlighted for an export group were not saved
  properly.  After saving, Setup indicated all went well.  However,
  shutting down and restarting Setup so that the file was reread would
  cause all transactions specified after a certain point not be highlighted
  like they should be.

  Problem resulted when it required multiple lines in the DCX2.INI file
  to list the transactions for the group.  All lines after the first one
  were missing the equal sign.

  Changed file:  \DCC2R\BIN\SETUP.EXE

8-23-95: Changed wording for first option on second screen that deals with
  switching the API environment.  The wording now talks about switching which
  run time is being used - which is the deciding factor.

  Changed file:  \DCC2R\BIN\MIGRATE.EXE

9-6-95: On the Groups page of the Setup notebook, the Transaction window
  showed DI points numbered 1 through 8 - they should be numbered 0 through 7.

  Changed file:  \DCC2R\BIN\SETUP.EXE

9-6-95: If it took more than 10 seconds for the initial message log to be
  created by the 32-bit runtime, it would shut down and no message would
  be given.  This could be reproduced by specifying the maximum message
  log size of 99999.  The code was changed to wait up to 60 seconds for
  the message logging task to start.  It will also now wait up to 60 seconds
  for the transaction logging task and validation task to start.  Also added
  message to show when message log was being created.

  Changed files: \DCC2R\BIN\DCXCPOS2.EXE
                 \DCC2R\DATA\DSKMGFIL.TXT

9-6-95: 7524 Interface Support was changed to allow sending of Are-you-there
  queries to terminals that currently have polling disabled.  This was done
  to take care of the situation where DCC/2 puts a 7524 terminal into the
  not responding state when the cable between the PC and controller was
  disconnected.  Without this change, the terminal would never automatically
  go back into the in service state after the cable was reconnected.

  Changed files: \DCC2R\BIN\DCXRFOS2.EXE

9-19-95: Added 16-bit version of DcxGetTermUserVariable which is
  DccGetTermUserVariable.  This is valid only for 7526 terminals and
  can only be used if the 32-bit runtime is being used.  You must compile
  and link with the latest DCC2.H (or DCC2386.H) and DCC2.LIB.  The parameter
  syntax is the same as for DccSetTermUserVariable.

  Changed files: \DCC2R\TOOLKIT\DCC2.H
                 \DCC2R\TOOLKIT\DCC2386.H
                 \DCC2R\TOOLKIT\DCC2.LIB
                 \DCC2R\TOOLKIT\DCCNEW.DLL

9-19-95: In DCXRFOS2.EXE for 7524 Interface Support, found problem where
  reads waiting for a response to a message sent to a terminal did not
  always wait the proper delay.  Redid the timing to fix this.

  Changed file:  \DCC2R\BIN\DCXRFOS2.EXE

9-19-95: The installation for the fixes had a REXX error due to two missing
  End statements.  The error occurs after putting in the second diskette.

  Changed file:  A:\INSTALL.CMD for fixes

9-19-95: Fix for 16-bit version of DCCGEN.DLL.  In the words of our business
  partner: "it repairs an obvious code flaw."

  Changed file:  \DCC\DLL\DCCGEN.DLL

10-2-95: Several problems fixed in the Setup notebook:

  - A trap would occur if no terminals were defined and an attempt was made
    to add one.  Along with this, when no terminals were defined all of the
    other fields on the Terminals page were blank

  - When no export groups were defined, the Transactions list box was empty
    on the Groups page.

  - When no export groups were defined, the Add pushbutton on the Exports
    page was disabled.  This is correct.  However, when a group was added,
    the Add pushbutton remained disabled.

  Changed file:  \DCC2R\BIN\SETUP.EXE

10-5-95: Changed way parameters are specified for DCXRFOS2.EXE.  Although
  never documented, in the past you could have specified the name of the
  file in which messages generated by DCXRFOS2.EXE were stored.  By default
  this was CON which meant they went to the screen (the session in which
  DCXCPOS2.EXE was running).  You could also specify a second parameter which
  specified that all messages to and from terminals should be logged.

  These options are still there but the way they are specified has changed:

   N=CON   - Name of file in which to log DCXRFOS2 messages.  The default
             is CON.

   L=NO    - Specifies if messages to and from terminals should be logged.
             By default they are not.

   Q=NO    - New parameter specifying whether or not terminals that are
             currently not being polled should be sent Are-you-there polls.
             By default they are not.

             Are-you-there polls are always sent to terminals that are being
             polled but which have not done anything in a while - to ensure
             that they are still powered on and communicating.  Since the
             polling that is normally done to hard-wired terminals is not
             done for RF terminals, the periodic Are-you-there polls are
             needed to help keep the states of the terminals accurate on
             the Operate notebook Terminals page.  Terminals that fail to
             respond to Are-you-there polls are put into the not-responding
             state.

             Are-you-there polls are sent out approximately once a minute or
             at whatever rate the SLOW_POLL_RATE parameter is set to (see
             the 2-21-95 change above).

             Setting Q=YES will cause Are-you-there polls to be sent even
             to terminals who are not currently being polled - which
             can be the case both if the user explicitly turned off polling
             for the terminal or if the terminal is in the not-responding
             or bad terminal state.

             Setting this to Yes will allow automatic identifying of terminals
             that are currently not responding due to the fact that the cable
             between the PC and the controller had been disconnected for some
             period of time and then reconnected - or for any other reason
             that prevents the terminal that is actually powered on and
             communicating from answering an Are-you-there poll resulting
             in the terminal being put into the not-responding state.

             Other mechanisms are already in place to handle the case where
             a terminal was put into the not-responding state because it had
             been powered off or had lost radio contact with the base.

             This option should probably be left as No for now.  It was
             added in anticipation of a fix that is to be provided for
             NUI_SERV.EXE which will allow it to recover if the controller
             is rebooted or if the cable is disconnected for an extended
             period of time.  Right now there is a side effect that occurs
             if Are-you-there polling is sent to terminals that were
             responding but which no longer are - and we are not yet sure
             if this side effect is harmful or not.  The side effect is that
             the controller responds with a 10 for every Are-you-there poll
             that is sent to one of these not responding terminal.  This is
             an invalid response to DCC/2 and thus a message is logged for
             each one.  The terminal does work properly when powered on but
             we're not yet sure of the impact to the overall performance of
             the RF network.

  In order to change any of these parameters, you must do the following
  after applying the fixes in this package:

  1) Shut down DCC/2 32-bit runtime if it is running

  2) From an OS/2 prompt, change to the \DCC2R\BIN directory

  3) Run 'nui_cfg'.  It will present a menu on which option 2 is Applications.

  4) Choose option 2.  The first application listed will be:

      ~.\dcxrfos2.exe xN=CON L=NO Q=NO

     The ~ at the start indicates this application is to be used by all
     terminals - it must be there in order for 7524 IS to work properly.
     The .\dcxrfos2.exe must also be there to specify the proper application
     to be started.

     The 'x' before 'N=CON' is there to get around a bug in NUI_SERV.EXE
     which causes the first character of the first parameter to be
     dropped.

     The parameters shown are the defaults that you will get if
     no parameters are specified at all.  All parameters are optional
     and can also be specified in any order.  The parameters can be entered
     in upper or lower case.

  5) To change the parameter list, type 1 and press Enter.  The cursor
     will move to the ~ for the application.  You cannot use the arrow
     keys in NUI_CFG - so you have to retype the tilde and the application
     name - then enter the parameters as you want them.

  6) When done, make sure the cursor is at the end of the line and press
     Enter.  This will move the cursor back down to the bottom of the
     screen.  Then type E and press Enter to Exit.  You'll be asked if
     changes should be saved - press Y and Enter to confirm.  This brings
     you back to the main menu.  From there press E again and you'll be
     back at an OS/2 prompt.

  7) Now DCC/2 32-bit runtime can be restarted.

  Note: If you had previously changed the parameters for the application,
  installation of these fixes will replace those changes with the defaults.
  So you will have to reenter those changes using the new parameter style.

  Changed files: \DCC2R\BIN\DCXRFOS2.EXE
                 \DCC2R\BIN\NUIF_APP

10-9-95: APAR PN76647, 7527 ETS: File A was lost after terminal reset.
  File A (keyboard remap file) was not being correctly reregistered with
  the BIOS after a terminal reset.  This made it seem that the file was
  lost after a terminal reset.  The logic causing the table to be registered
  with the BIOS was modified to always do so if the size of the file is
  correct rather than only when the file is initially downloaded.

  Changed files:  ETS7527.EXE
                  ETS7527.MAP

  This is version 1.03a of 7527 ETS.  It is currently only available by
  request from IBM support personnel provided you already have a license
  for 7527 ETS.

10-16-95: Fix for APAR PN76745 - problem with DCC/2 COPICS Interface not
  sending transactions with large timeout.  The large timeout value caused
  certain calculations to overflow signed variables such that they had
  negative values.  These variables were changed to unsigned variables to
  fix the problem.

  Changed file:   \DCC\DCCCOPIC.EXE

10-18-95: The DMIS bind file was not updated with the latest change to
  DCCDMIS.EXE (7-10-95).  This made it impossible to successful run that
  version of DMIS.  These files are a set; when one is changed, the other
  must be changed as well.

  Changed files:  \DCC\DCCDMIS.EXE
                  \DCC\DCCDM.BND   (also put in root directory of OS/2 drive)

10-18-95: Dual-port ARTIC card now support by 32-bit runtime.  Before the
  code only allowed the Multiport, Multiport/2, Model 2 and Portmaster ARTIC
  cards.

  Changed file:  \DCC2R\BIN\DCXIAPI.EXE

10-20-95: Large timeout values for a line cause negative numbers to show up
  in the message that says how long it might take for the line configuration
  to complete.  Sometimes the system would not start as a result - often
  giving a DCX-239 message.

  The type used in the calculation should have been a long instead of a short.

  Changed file:  \DCC2R\BIN\DCXCPOS2.EXE

10-31-95: Increased the timeout period that the 32-bit runtime waited for
  a download command to be processed.  Was not taking into account that it
  can take a while for the terminal to process an in-service command.  As
  a result if you downloaded a bunch of terminals on the same line, one or
  more of the downloads at the end of the bunch would fail with the following
  sequence of messages: DCX-143, DCX-044, DCX-159, DCX-015, DCX-031 and
  DCX-032.  These basically said that a time out occurred and an attempt
  to write to a message path failed and so the download was aborted.

  The failed downloads would be retried and would work the next time around
  because this time there were fewer terminals downloading.

  Changed file:  \DCC2R\BIN\DCXCPOS2.EXE

11-02-95: In 32-bit runtime fixed problem where, with 7527 terminals, you'd
  sometimes see the display plastered with a bunch of messages.  We found
  that if the parallel port switch was in the wrong position when a download
  was about to complete, the terminal would show all of these message in its
  attempt to display the single error message.  The problem was resolved by
  correcting one of the download commands that was sent to the terminal -
  although in reality the one we were sending should not have caused any
  problems.

  This problem ultimately resulted in the terminal memory apparently being
  corrupted to the point where an ETS download would fail with a -505 error
  on the an ETS load command.  The terminal would have to be cold-started
  to get out of the situation.  The first download after the cold-start would
  work properly, but subsequent downloads would result in the display of a
  chunk of the message file.

  Also changed terminal communications code to consider it an error if the
  terminal status indicated the terminal was still working on the previous
  command - even after 40 status requests.  Before we were not treating this
  like an error when we should have been.

  Changed files: \DCC2R\BIN\DCXCPOS2.EXE
                 \DCC2R\BIN\DCXRSUGW.EXE
                 \DCC2R\BIN\D2XNSUGW.EXE

11-14-95: In 32-bit runtime, fixed problem where invalid transactions were not
  being released properly.

  Changed files: \DCC2R\BIN\DCXRPO.EXE
                 \DCC2R\BIN\D2XNPO.EXE

11-29-95: In 32-bit runtime, increased the number of status requests it took
  to fail a download if all attempts indicated the terminal was still busy
  working on the last command.  In fact, a period of time is now used (20
  seconds) instead of a number of attempts (40).  At least one customer's
  downloads began to fail because 40 attempts was not sufficient.  These 40
  attempts occurred in about 8 seconds, so making 20 seconds the threshhold
  should more than reasonable.

  Also now initialize the CFR at the start of a complete load of 7527 files.
  Other minor changes made to handle certain error situations.

  Changed files: \DCC2R\BIN\DCXRSUGW.EXE
                 \DCC2R\BIN\D2XNSUGW.EXE
                 \DCC2R\BIN\DCXCPOS2.EXE

12-22-95: Added feature to 7524 IS which helps it more accurately set the
  time in RF terminals.  In order for this change to be completely effective,
  at least version 1.02 of the 7524 ETS flash is needed.  However, older
  versions of the 7524 ETS flash will still work properly (as they did
  before) with this latest version of 7524 IS.   The new feature allows
  7524 IS to recognize a set time request from the terminal and responds
  to it with the current time.  The request and response contains a
  sequence number so that the terminal can verify the response is correct
  and can ensure the time is accurate within a certain number of seconds
  (currently 7).

  Changed file:  \DCC2R\BIN\DCXRFOS2.EXE

1-18-96: Added to this readme a section which describes all DCC/2r messages
  after DCX-258.  This section is near the beginning of this file and is
  called: DESCRIPTION OF NEW MESSAGES ADDED TO DCC/2r SINCE INITIAL SHIP.

  Changed files: DCC110FX.RME

1-18-96: Found that migrating exports which used the 'by cluster' option
  did not always work right.  Corrected typo in INI.CMD.

  Changed files: \DCC2R\BIN\INI.CMD

1-23-96: Found that doing an Entire migration specifying 'Only files newer
  than target' did not properly migrate job files if the only change to
  the job was in the cluster definition (e.g. which validation files were
  selected for download).  As a result of the fix, choosing this option
  will always remigrate the DCX2.INI file, but the cost of that is very
  little.

  Changed files: \DCC2R\BIN\ALL.CMD

1-24-96: Fixed problem in 32-bit runtime where two sets of time synchs would
  be done when only one synch time was configured.

  Changed file:  \DCC2R\BIN\DCXCPOS2.EXE

1-25-96: Fixed problem in 32-bit runtime where certain invalid transactions
  were not being released properly.  DCC/2r did not actually consider these
  transactions invalid because they had digits in the date/time stamp and
  sequence number position.  However, the code that set up the release command
  and the code which made sure the release was successful used two different
  method for figuring out where the sequence number is in a transaction.  Both
  methods do work fine for valid transactions (otherwise we'd have seen this
  problem along time ago).

  Changed files:  \DCC2R\BIN\DCXRPO.EXE
                  \DCC2R\BIN\D2XNPO.EXE

2-14-96: Fixed problem in migration of clock synch times.  We did not
  properly migrate the configuration when the 16-bit configuration had
  clock synching turned off.  Instead the migration set up clock synchs
  for every other hour.  We now set up no clock synchs on the 32-bit
  side when synching is turned off on the 16-bit side.

  Changed file:  \DCC2R\BIN\INI.CMD

2-27-96: In the Operate notebook, when the runtime was not running, selecting
  the Terminals, Communications or Applications page caused a warning pop-up
  to display but it did not have the focus.  This problem has been fixed.

  Changed file:  \DCC2R\BIN\OPERATE.EXE

2-27-96: In the Operate notebook, on the Exports page, selecting the Clear
  option did not give any error when the call to DcxClearExport was called.
  The return code is now checked and an appropriate message is given.

  Changed file:  \DCC2R\BIN\OPERATE.EXE

2-27-96: Removing a terminal from the 32-bit runtime configuration using the
  Setup notebook properly removed it from the Job that referenced it but that
  terminal was not removed from any Export Group that referenced it.  This has
  been fixed.

  Changed file:  \DCC2R\BIN\SETUP.EXE

[ Data Collection | Plant Floor Solutions ]
[ IBM home page | Order | Search | Contact IBM | Help | (C) | (TM) ]

Last modified: April 24, 1995