HP OpenVMS Systems

ask the wizard
Content starts here

Error in BASIC string function?

» close window

The Question is:

 
The following comparison in BASIC works in our VMS 7.3 development environemtn
 but fails on at least one VMS 7.1-1H2 client environment.
 
IF CARD.ACT.METH$<>"" AND TRM$(MCH.NEW.EXP.DATE$)<>""
THEN
 
When both variables are populated, the comparison correctly matches and
 executes the IF block.  When MCH.NEW.EXP.DATE$ is empty, it correctly skips
 the block on VMS 7.3.  On VMS 71.-1H2, it executes the block even though that
 field is null or spaces.  MCH
.NEW.EXP.DATE$ is a 6-byte fixed-length field from a database.  If I
 DBG>EXAMINE/HEX in 7.3 and it is not set to an actual date, it shows
 202020202020 or spaces.  On 7.1-1H2 it shows all zeros.  But with the TRM$
 they should be treated the same.


The Answer is :

 
  Without details of ECOs or a reproducer, no particularly specific
  or certain answer is immediately feasible here, unfortunately.
 
  The OpenVMS Wizard would encourage application of any available
  mandatory ECO kits for the OpenVMS releases in use, and any ECOs
  specific to the BASIC run-time library, and would encourage use
  of the current BASIC compiler, and would particularly recommend
  an upgrade from a now-ancient and long-unsupported hardware
  release such as V7.1-1H1 to a more current release; an upgrade
  to V7.3-2 here; to the next available "landing zone" release.
 
  The releases V7.0, V7.1, V7.1-1H1 and V7.1-1H2 should all be
  upgraded to at least V7.1-2, and any unsupported release -- and
  this includes V7.1-2 -- is best upgraded to a supported release.
 
  For details on Current Version Support and particularly on
  Prior Version Support (PVS), and for information on available
  ECO kits, please see the OpenVMS FAQ.

answer written or last revised on ( 5-NOV-2004 )

» close window