Reader's Clinic - Volume Pointer Record

Published ByDateVersionKnowledge LevelKeywords
Sprezzatura Ltd01 JAN 19912.021+EXPERTVOLUME, W559, POINTER, RTP49, MFS, BFS

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

 FS = VOL_REC<4>
 DOS = VOL_REC<5>
 CONVERT @VM TO @SVM IN FS
 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

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

(Volume 2, Issue 8, Page 3)

  • tips/revmedia/v2i8a1.txt
  • Last modified: 2024/06/19 20:20
  • by 127.0.0.1