PLBWIN_XPIO Keyword
PLBWIN or PLBCE
PLBWIN_XPIO={ value }
The *PLBWIN_XPIO control provides program control to enable and disable operations the same as the runtime keyword named PLBWIN_XPIO. {value} is a previously defined Numeric Variable or a decimal number that controls the EOF processing behavior.
When value is set to one (1), this keyword causes specialized code to be executed for every PL/B fileio statement that performs writing operations. This specialized code retrieves the current data file size and then performs OS operations to cause the EOF (end of file) to be set to this data file size if the new size is larger than a previous operation. By resetting the EOF settings for a data file accessed by a Windows XP system avoids the problem where the OS functions was truncating the data file. When the value is zero (0), the specialized EOF processing is not used.
Note the following:
The PLBWIN_XPIO keyword is only needed for a runtime that is executed on a Windows XP system that is accessing data on a Windows 98 system. We have not determined if the problems occur when a Windows XP system is accessing data on a Windows 95 or ME system. One might guess that this keyword operation may be required in those cases also.
The types of runtime errors that could occur due to the data corruption as described above are as follows:
I60 errors
162 errors
Text data records for an IFILE were over written with blanks.
The specialized code invoked by the PLBWIN_XPIO keyword being done to provide a work around to avoid problem symptoms that have been observed when a Windows XP system is accessing data on a Windows 98 system. This does not solve the Windows XP to Windows 98 compatibility problem. It is highly recommended that users avoid mixing new Windows OS systems to access data on older Windows OS system if at all possible until the Windows OS problem is corrected.
We have not been able to reproduce any of the problem symptoms described above when the same Windows OS systems were used for a network.
In release 9.6B, the runtimes were modified to automatically enable the PLBWIN_XPIO validation operation by default only when a Windows XP system is being used to execute the runtime. Otherwise, the default for PLBWIN_XPIO is to be disabled. On a Windows XP system, the 'PLBWIN_XPIO=OFF' disables this keyword operations.
The original EOF issue occurred when a Windows XP system was accessing data on a Windows 98 system. However, it should be noted that similar EOF issues have occurred when a Windows XP system has accessed data on OS versions other than a Windows 98 system. Therefore, the PLBWIN_XPIO keyword may be needed in those other networked scenarios,
See Also: PLBWIN Keywords, PLBCE Keywords, Compiler and Runtime Options
![]() |