Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

FEOV - Close tape

The FEOV macro initiates a tape swap and file processing is continued on the continuation tape. This macro is ignored for tape files opened with OPEN REVERSE.

If, in the case of input files, the end of the file is on the tape, DMS recognizes “end of file” and activates the EOFADDR routine (see the EXLST macro, "EXLST - Define exit address list"). If the end of the file is not on the tape and no continuation tape is assigned, DMS activates the NODEV routine (see the EXLST macro, "EXLST - Define exit address list").

Format

Operation

Operands

FEOV

fcbadr / (1)

[,PARMOD = 24 / 31]

Operand descriptions

fcbaddr

Address of the FCB of the file to be processed.

(1)
Register 1 contains the FCB address.

PARMOD

Specifies the generation mode for the macro.

Default value:

the value preset for the generation mode by means of the GPARMOD macro or by the assembler.

= 24
The macro is triggered with the expansion for the 24-bit interface. The object can only be executed in 24-bit addressing mode.

= 31
The macro is generated independently of the addressing mode. 

Programming note

The FEOV macro destoys registers 0, 1, 14 and 15. 

Example of tape swap for a SAM file

The tape swap is triggered with the FEOV macro.

FEOVTEST START
         LDBASE 3
         USING  *,3
         .
         .
         FILE   TAPE.TEST,LINK=AUS,DEVICE=T9P,VOLUME=(C1776A,C2921A)
         .
         .
         OPEN  TAPE,OUTPUT          OPEN TAPE FILE 'TAPE'
         .
         .
         PUT   TAPE,RECOUT          WRITE RECORD
         .
         .
         FEOV  TAPE                 INITIATE TAPE SWAP
         .
         .
         CLOSE TAPE                 CLOSE TAPE FILE 'TAPE'
*
END     TERM
*
TAPEND   LR    8,0                  LABEL ROUTINE
         MVC   0(L'BEGIN,8),BEGIN   *
         LBRET TAPE,1               *
*
TAPE     FCB   FCBTYPE=SAM,BLKSIZE=(STD,3),LINK=AUS,RECFORM=F,        -
               RECSIZE=22,EXIT=TAPEXIT
*
TAPEXIT  EXLST COMMON=ENDE,LABEOV=TAPEND
*
RECOUT   DS    CL22
*
BEGIN    DC    CL80'UTL1 USER LABEL'
         .
         .
         END