In order for this site to work correctly, and for us to improve the site, we need to store a small file (called a cookie) on your computer.
By continuing to use this website, you agree to our cookies and privacy policy.
  
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