COBOL programs running in POSIX behave differently in some respects to when running in BS2000:
Low-volume data I/O
In POSIX, the COBOL2000 implementor names in ACCEPT/DISPLAY statements for lowvolume data I/O are assigned the following standard input and output streams:
COBOL2000 | BS2000 | POSIX |
TERMINAL | SYSDTA | stdin |
SYSIPT | SYSIPT | undefined |
TERMINAL | SYSOUT | stdout |
PRINTER | SYSLST | stdout |
PRINTER01..99 | SYSLST01..99 | undefined |
SYSOPT | SYSOPT | undefined |
CONSOLE | CONSOLE | undefined |
Sorting and merging
The sort file is automatically stored in the BS2000 file system, and the POSIX user has no access to it.
Job variable
The use of BS2000 job variables is not possible for programs run under POSIX.
Job switches and user switches
The use of BS2000 job switches and user switches is not meaningful for programs run under POSIX.
File processing
The link between the external file name in the ASSIGN clause and the file name in the POSIX file system is established using an environment variable whose name is identical to the external file name in the ASSIGN clause. The name of the environment variable must always be in uppercase letters. Detailed information is provided in section "Program execution in the POSIX shell".
Program execution is not interrupted after an unsuccessful OPEN INPUT on a file for which OPTIONAL has not been specified.
Some I/O status values are different in POSIX:
BS2000 POSIX 37 30 93, 94, 95 90 In the extended I/O status that can be requested with filename-2 in the FILE STATUS clause, the (POSIX) SIS code is output instead of the (BS2000) DMS code.
The file attributes are finally defined when the file is opened for the first time and cannot be modified later.
Relative files which use the BS2000 access method UPAM cannot be processed.
COB90xx messages are written in POSIX to stderr.
Repository usage
It is not possible to assign one or more repositories for input and one repository for output. Only the default repository SYS.PROG.LIB in BS2000 is available for this purpose (no assignment is required).