PM74893: CLARIFY USAGE OF SYSIN AS STDIN VIA THE TERMINAL/CONSOLE

A fix is available

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • Documentation in the Enterprise PL/I Programming Guide is
    unclear with regards to I/O behavior when SYSIN is set to STDIN
    and coming from the terminal/console.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Enterprise PL/I users who use record I/O     *
    *                 (READ) to read SYSIN via STDIN from the      *
    *                 terminal.                                    *
    *                                                              *
    ****************************************************************
    * PROBLEM DESCRIPTION: Documentation in the PL/I manuals is    *
    *                      unclear when it comes to reading SYSIN  *
    *                      from STDIN via the terminal under the   *
    *                      USS environment.                        *
    *                                                              *
    ****************************************************************
    * RECOMMENDATION: Apply the PTF for this APAR.                 *
    *                                                              *
    ****************************************************************
    Available documentation is not clear regarding the use of record
    I/O to read SYSIN input coming from the terminal under the USS
    environment. It is stated in the manual that stream I/O is the
    recommended method for accessing data via the terminal, but it
    does not say that record I/O can not be used.
    
    Items to be addressed by this APAR:
    
    1. The latter part of the following statement is confusing and
    does not seem to apply to how PL/I currently works. This can be
    found in the Programming Guide, under the section "Redirecting
    standard input, output, and error devices under z/OS UNIX":
    
         READ statements can access data from stdin; however, the
         record into which the data is to be put must have an LRECL
         of 1.
    
    2. It is unclear how to signal end-of-file for input coming from
    the terminal.
    
    3. From testing various scenarios, two record I/O problems
    (using the READ statement) were discovered when input comes
    from the terminal.
    
       3a. When running under z/OS UNIX foreground, the /* sequence
       was not recognized as an end-of-file marker.
    
       3b. When running under BPXBATCH, reading from SYSIN via
       STDIN loops in the ENDFILE on-unit for the file. Including a
       GOTO statement in the on-unit circumvented the problem.
    

Problem conclusion

  • The following documentation changes will be made to the
    Enterprise PL/I for z/OS Version 4 Release 3 Programming Guide,
    GI11-9145-02, to provide more information in regards to the use
    of STDIN:
    
    1. Under the chapter "Using data sets and files"
        section "Establishing data set characteristics"
        section "Specifying characteristics in the
                   ENVIRONMENT attribute"
        section "Redirecting standard input, ouput, and
                   error devices under z/OS UNIX"
    
        Modify the statement to read as follows:
          READ statements can also access data from stdin.
    
    2. Under the chapter "Defining and using consecutive data sets"
        section "End-of-file"
    
        Replace the section text with the following:
    
          The characters / in position one and * in position two
          of a line that contains no other characters are treated
          as an end-of-file marker; that is, they raise the
          ENDFILE condition.
    
          Under the USS environment, the key sequence ESC-D can
          also be used to indicate the end-of-file marker.
          The ESC key is predefined as a specific character,
          and it is this predefined character that needs to be
          used in the sequence.
    
    3a. Code has been modified in the PL/I run-time library to
    recognize the slash-asterisk sequence as an end-of-file marker
    for record I/O programs running under USS foreground with the
    SYSIN input coming from the terminal.
    
    3b. Code has been modified in the PL/I run-time library to fix
    the loop that occurred in the ENDFILE on-unit when a program
    reads from SYSIN and is run under BPXBATCH.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PM74893

  • Reported component name

    LE VA PL/I

  • Reported component ID

    568819806

  • Reported release

    770

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2012-10-11

  • Closed date

    2013-02-06

  • Last modified date

    2013-03-04

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

    UK91451 UK91453 UK91452

Modules/Macros

  • IBMPRCAA
    

Publications Referenced
GI11914502        

Fix information

  • Fixed component name

    LE VA PL/I

  • Fixed component ID

    568819806

Applicable component levels

  • R760 PSY UK91451

       UP13/02/08 P F302

  • R770 PSY UK91452

       UP13/02/08 P F302

  • R780 PSY UK91453

       UP13/02/08 P F302

Fix is available

  • Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.



Rate this page:

(0 users)Average rating

Document information


More support for:

z/OS family

Software version:

7.7

Operating system(s):

z/OS

Reference #:

PM74893

Modified date:

2013-03-04

Translate my page

Machine Translation

Content navigation