Home page Home page Home page Home page
Pixel
Pixel Header R1 C1 Pixel
Pixel Header R2 C1 Pixel
Pixel Header R3 C1 Pixel
Pixel

Reader's Clinic - Volume Pointer Record

A reader writes "I've been using the tips from the December issue of REVMEDIA on creating Volume file variables and I keep getting a W559 error message"

         ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
         ³                  Cannot continue                   ³
         ³ An attempt was made to execute a null ("") program ³
         ³              Press any key to contine              ³
         ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

This problem occurs when the Volume pointer in Voc is modified to establish Volume MFSs. (It is possible to have an MFS apply to every file on a volume by inserting the MFS name before the BFS name (@VM delimited) in the Volume pointer.) When this happens the structure of the volume file variable changes slightly. In this case the @VMs in the Filing System list must be converted to @SVMs. Thus the code given on page 11 of issue 7 would be modified to be


0001   FS = VOL_REC<4>
0002   DOS = VOL_REC<5>
0003   CONVERT @VM TO @SVM IN FS
0004   FILE_VAR = FS : @VM : DOS

Alternatively, if the Volume has not been attached, another way of getting all of the information required to create a volume file variable is to make a direct call to RTP49 (the routine used by the V18 ATTACH processor). This is a subroutine taking four parameters, (A,B,C,D) where A is the volume name, B is a flag (set to 0), C is the Volume Record returned and D is the Volume Pointer Record returned. C has five fields, the fifth of which is the Map file variable. D has three fields, the second of which is the FS list. Thus


0001   CALL RTP49(A,B,C,D)
0002   DOS = C<5>
0003   FS = D<2>
0004   CONVERT @VM TO @SVM IN FS
0005   FILE_VAR = FS : @VM : DOS

(Volume 2, Issue 8, Page 3)
Pixel
Pixel Footer R1 C1 Pixel
Pixel
Pixel
Pixel