(Type: immediate)
Syntax 1
<#.INSERT option>
── $.INSERT ─┬───────────┬─<first>── - ──<last>── AT ──<baseinc>───────┤ └─<file ID>─┘
Syntax 2
<$.INSERT option>
── $.INSERT ─┬───────────┬─<first>── AT ──<baseinc>────────────────────┤ └─<file ID>─┘
. . . <patch records to the inserted material> . .
──┬─ POP ───┬─ INSERT ──<last>─────────────────────────────────────────┤ └─ RESET ─┘
<baseinc>
──┬─<base>─┬─┬──────────────────┬──────────────────────────────────────┤ └─ NEXT ─┘ └─ + ──<increment>─┘
<file ID>
──┬─<intname>─────────┬────────────────────────────────────────────────┤ └─ " ──<title>── " ─┘
The $.INSERT option serves two functions. The $.INSERT option described in syntax 1 inserts a copy of a portion of the virtual TAPE file (the TAPE file plus previous patches) or a portion of an external file (indicated by <file ID>) at the specified base. The $.INSERT option described in syntax 2 permits text that is being inserted to be patched.
Explanation
<file ID>
Specifies the file to be inserted. If the file ID is not specified, the virtual TAPE file is inserted.
The intname is used if the file was file-equated in the file equation section.
The title specifies an external file name.
<baseinc>
Specifies the sequence number at which the inserted text is to begin. If no increment option is specified, then the last value of the sequence increment is used. Since the base and increment used for the $.INSERT option are the same as the base and increment used for handling the $.SEQ $ option and the $.MOVE option, their values can be changed during the INSERT operation by a $ <integer> record or + <increment> option featured in syntax 2. The base and increment are not reset to their default values until the next patch ($# record).
NEXT
If the value of $.SEQ is TRUE, then NEXT causes the present value of the sequence base to be used as the base. If the value of $.SEQ is FALSE, NEXT causes the sequence number of the last record in this patch plus the value of the increment to be used as the base.
An INSERT operation cannot be done while $.VOID is TRUE, while $.MERGE is FALSE, or while a $.MOVE is being done. $.VOID cannot be SET, MERGE cannot be RESET, a MOVE operation cannot be done, a $ GO TO cannot occur, and $.SEQ cannot be changed during an INSERT operation. $ records cannot occur in text inserted from an external file. If the INSERT is from an external file, then $.VOIDT can be SET when the INSERT begins but cannot be changed during the INSERT. If the INSERT is not from an external file, then $.VOIDT cannot be in a SET state at any time during the INSERT. INSERT options cannot be nested—that is, no INSERT options can appear in the file to be inserted. The range to be inserted cannot overlap the destination range if the INSERT is from the virtual TAPE file. The destination range cannot overlap sequence numbers in the virtual TAPE file.