Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

Record marks

&pagelevel(3)&pagelevel

Every line in an EDT work file can be flagged with one or more record marks. The record marks are noted in the EDT data area and are not visible to users. They are not taken over when files are written to.
If EDT is not called as a subroutine, record marks 1 to 9 are available. If EDT is called as a subroutine, the record marks 13, 14 and 15 can also be used for special functions.
The record marks 0, 10, 11 and 12 are reserved for internal special functions and are not available to users irrespective of whether or not EDT is called as a subroutine.

Record marks 1 to 9 can be set and deleted both with EDT statements and statement codes and with the IEDTPUT and IEDTPTM functions provided by the EDT subroutine interface. In contrast, record marks 13, 14 and 15 can only be set and deleted with the IEDTPUT and IEDTPTM functions.

No marks can be entered for lines in ISAM files opened for real processing with the @OPEN statement (format 2).

Record marks can be set using

  • the statement code 1..9 [F3] in the statement code line

  • the @ON statement (format 3) or

  • the IEDTPUT and IEDTPTM functions when EDT is called as a subroutine

Record marks can be deleted using

  • the statement code D [F3] in the statement code line

  • the @DELETE statement (format 4) or

  • the IEDTPUT and IEDTPTM functions when EDT is called as a subroutine

In F mode, record marks 1 to 9 can be used as the target for positioning in the work file, either by means of one of the statements +, ++, - or -- followed by [F3] or with the @SETF statement.

In the case of the @ON (format 4) and @SETLIST statements with the MARK parameter, record marks 1 to 9 are used to select the lines that are to be processed.
The @ON statement (format 4) can be used to copy marked lines to another work file while @SETLIST can be used to take over the marked lines into an SDF-P list variable.

The record marks are deleted if a new record is created and replaces another record. However, they are not deleted if a record is simply modified. New records are created using the statements: @CREATE, @COPY (format 2), @MOVE, @READ, @GET, @GETJV, @GETVAR, @GETLIST @ON (format 4, 5) and the statement codes A, B and O. Modifications consist of the input of new content at the terminal (typed input), changes caused by the statement codes L and U and the statements @PREFIX, @SUFFIX, @CONVERT, @COLUMN, @SEQUENCE (format 1, 2) and @ON (format 6, 7, 8, 9). In the case of the

@SEPARATE statement, the original line retains the mark but the newly generated lines are not marked. In the event of a join with J, the top line retains any mark it may have had but the mark is not taken over by the lower line.

When renumbering is performed with @RENUMBER and @SORT or implicit renumbering results from the insertion of other records, the marks in a record are retained.

If EDT is used as a subroutine, record marks can be set and deleted using the IEDTPUT and IEDTPTM functions.

The IEDTGTM function can be used to read lines with specific record marks. A line's record mark is also returned when reading is performed with IEDTGET.

Record mark 13 has the special function of an ignorer indicator. Lines marked in this way are

  • automatically deleted on return of control to the main program after a @DIALOG call via the subroutine interface

  • not included when writing to a file or library element

  • not copied when lines are copied

  • only taken into consideration by the IEDTGET and IEDTPUT functions if the flag EAMIGN13 is set in the EAMFLAG field of control block EDTAMCB. The functions IEDTGTM and IEDTPTM always take account of record mark 13 irrespective of whether the flag EAMIGN13 is set in the EAMFLAG field.

In the @SDFTEST statement or the statement code T as well as in the statement codes J, C, M, R, A, B and O, lines with record mark 13 are always ignored.

Record mark 14 has the special function of an update indicator. Lines marked in this way are depicted as being available to be overwritten in F mode. They continue to be available for overwriting if only [DUE] is sent or if this type of line is modified by a statement (e.g. the @ON statements, formats 6 to 9).
Only if at least one character is entered directly in the line and sent with [DUE] is the record mark 14 deleted, with the result that the line is no longer displayed as being available for overwriting.

Record mark 15 has the special function of a write protection indicator. Lines with record mark 15 cannot be set to overwritable with the statement codes X, H or with [F2] in the F mode screen dialog.

However, such lines can be modified using statements (e.g. the @ON statement, formats 6 to 9) or one or more following lines can be appended to a line with record mark 15 using statement code J
In both cases, record mark 15 continues to be present.

PROTECTION=ON must be set using the @PAR statement before it is possible to evaluate record marks 14 and 15.

If a record with one of the marks 13, 14 or 15 is modified at the terminal by means of an entry in the data window (typing) then these special marks are deleted.