TBT: The Legacy of 3000 Creators
Candidate Carly looms like 3000 migrations

Message Files Editing, DLT Autoloading Tips

What tools can I use to 'edit' a message file without destroying the file? I learned the hard way that if you’re using FCOPY to copy from a message file, it destroys the records read from the message file. Can you "COPY" a message file without destroying the records that are copied? 

François Desrochers says

You can use non-destructive reads by specifying the COPY option on a file equation as in:

FILE MSGFILE;COPY
FCOPY FROM=*MSGFILE;TO=NEWFILE

There's also an FOPEN Aoptions (bit 3:1) to enable the option.

As for editing a message file, the only safe way I know is to extract all the records into a regular flat file, edit it and load it back into the message file.

If it's easy to identify which records to remove, you can use FCOPY.

:BUILD MSG2;REC=-80,,F,ASCII;MSG
:FCOPY FROM=MSG1;TO=MSG2;SUBSET="Y",1

Extract records with "Y" in column 1. MSG1 is empty at the end of the task. To use non-destructive reads, do: 

:FILE X=MSG1;COPY
:BUILD MSG2;REC=-80,,F,ASCII;MSG
:FCOPY FROM=*X;TO=MSG2;SUBSET="Y",1

MSG1 still has all the original records. 

Use FCOPY's EXCLUDE option to extract all records except the ones with a "Y" in column 1 as in:

:FCOPY FROM=*X;TO=MSG2;SUBSET="Y",1,EXCLUDE

I have a HP Q1567A DDS5 auto loader installed on a 987. I installed and configured it on the SE port on the multifunction IO card. I can store files to it fine, but I can't get it to advance each day to the next tape. How do I do this?

Ryan Melander replies

Does it auto-eject the drive when the backup finishes? The reason I ask is I have the same configuration on my account with a DLT7000 autoloader 8/Slot. I have it set up to auto eject after each backup, moving the tape back to its original position. It then auto inserts and mounts the next tape for the next backup time.

Jack Connor notes

I generally set the DLT autoloaders for no circular, stacker mode. This goes through all the tapes in the unit and then stops.

Jim Hawkins says

DEVCTRL.MPEXL.TELESUP should work to set up the eject option. Put it inside your job to be sure that it is set correctly every time.

Gilles Schipper adds,

Specifically,

!DEVCTRL.MPEXL.TELESUP 7 EJECT=ENABLE LOAD=ONLINE

where the "7" is the LDEV number of the tape drive.

Comments