![]() |
A/B/C/E/... Copy/Delete/Join/Move Records
C | R | M Insert records into the copy buffer. Overwrite the first position of the ISAM key of the record to be processed with the character C (Copy), R (Retain) or M (Move). The rest of the key may not be amended. The total number of records currently in the copy buffer is displayed in the last line of the screen. When records are inserted in the copy buffer with C/M, it is cleared after each insert operation using B (Before) or A (After), as in EDT. Putting the records in the copy buffer with R (Retain) will prevent these records being erased from the buffer after each B or A insertion, and means they are available for further insertions. The contents of a copy buffer that has not been cleared down like this is still available, even after the file has been replaced.
* Reset copy buffer. Entering this character in the first position of an ISAM key will clear the copy buffer without a copy process having taken place.
A | B Insert the contents of the copy buffer before/after a record. Overwrite the first position of the ISAM key with B (Before) or A (After). The rest of the ISAM key may not be amended. The maximum number of records that may be inserted from the copy buffer is determined by the difference between the previous key and the next key. Thus between two records having keys of 00011100 and 00011200, a maximum of only 99 records may be inserted. If the records were placed in the copy buffer with M (Move), then for each record inserted, the original is deleted.
I[n][,len] Insert Empty Records. n blank records are inserted in front of the marked record. The single digit n must be placed directly behind the I marker. If no value is specified for n, then 9 records will be inserted. The len opton specifies the length of the record to be inserted, excluding the key. len must be separated from the rest of the ISAM key by a blank.
If no value is specified for len, then the standard value of len=72 will be used.
J Join Records. Overwrite the first position of the ISAM key with J (Join). The marked record will be appended to the end of the previous record. The ISAM key of the record marked with J will be removed. If multiple, sequential records are marked with J, then all these records will be appended to the previous record.
E Delete Records. Overwrite the first position of the ISAM key with E (Eliminate).
C Direct Copy of records using ISAM key. Overwrite the fist position of the ISAM key with C (Copy), and the rest of the key with the position to which the record should be copied. The first position of the ISAM key of the original record is taken over unchanged. The data of the record to be copied may not be amended at the same time.
M Direct Move of records using ISAM key. If ISAM keys are modified, this will cause the records to slot into that modified key position within the file.
Notes:
Leaving the Display mode will not cause the buffer to be flushed automatically. By marking records with C/R, it is therefore possible to copy records from one file to one or more others.
If the data is displayed in hexadecimal mode, then instead of the marker characters of C/A/B being used as described above, the equivalent hexadecimal values of X'C3'/X'C1'/X'C2' should be used instead. However, it is still possible to use the marker characters as usual in character format. To do this, put the required character in the first half-byte of the key, and a blank in the second half-byte.
Records already containing the characters C/A/B/... in the first position of their key may not be manipulated as described above. For this particular case, use the RD command (see below).
When effecting Move and Copy operations with modification of the key, the target key may not replicate the key of an existing record (DUPEKEY=NO). If duplicate keys are needed, the DUPK command may be executed, setting Dupkey mode on, and thus allowing duplicate keys during the Move and Copy operations.
It is not possible in either DUPK or NDUPK mode to to process the second, third, etc. records from a sequence of records with identical ISAM keys. In every case, only the first record of identical ISAM key records will be processed.