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$)<>""
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.