SUBROUTINE WALK.SD.SUB(MenuName, Level)
     COMMON /WALKSD/ Skip,VocFile,Line,Continued
     IF NOT(MenuName MATCH Skip) THEN
        Error = ""
        READ Record FROM VocFile,MenuName THEN
           IF Record<1>[1,1] EQ "M" THEN
              File = ""
              Error = ""
              CALL OPEN("", Record<2>, File, Error)
              IF NOT(Error) THEN
                 READ Test FROM File, Record<3> THEN
                    Record = Test
                 END ELSE
                    CRT SPACE(75):"^^^^ Unable read menu ":Record<3>:" from ":Record<2>:" file."
                    RETURN
                 END
              END ELSE
                 CRT SPACE(75):"^^^^ Unable to open ":Record<2>:" file."
                 RETURN
              END
           END ELSE
              CRT SPACE(75):"^^^^ Unable to read ":MenuName:" from the VOC file."
              RETURN
           END
        END
     END ELSE
        RETURN
     END
     Descs = Record<2>
     Actions = Record<3>
     More = LEN(Actions)
     LOOP WHILE More DO
        REMOVE Try FROM Actions SETTING More
        REMOVE Desc FROM Descs SETTING More
        Line += 1
        PRINT FMT(Line,"'0'R#4"):" ":SPACE(Level*3):TRIM(FIELD(Desc,"(",1)):" (":Try:")"
        CALL WALK.SD.SUB(Try,Level+1)
     REPEAT
     RETURN
  END
