Table of Contents

DMSTMA Abstract

Statistics

Type ASSEMBLE
Source Lines : 731
Fixes Applied : 2
Most Recent Version : Tuesday, December 12, 1978
Last Fix ID : [HRC002DS]

Synopsis

Module

       DMSTMA (TAPEMAC)

Function

       READ AN IEHMOVE UNLOADED PDS FROM TAPE AND PLACE IT IN
       CMS MACLIB(S).

Attributes

       DISK RESIDENT

Operation

       1. VALIDATE PARAMETERS AND OPTIONS PASSED BY THE USER. IF
       ALL OK, ISSUE A GETMAIN FOR UP TO 32768 BYTES OF STORAGE.
       FROM STORAGE OBTAINED, BREAK OFF A 4096 BYTE SECTION
       FOR MAINTAINING THE MACLIB DICTIONARY. REMAINDER OF THE
       BUFFER WILL BE SPLIT FURTHER INTO A BUFFER FOR TAPE I/O
       AND IEHMOVE RECORD RECONSTRUCTION.

       2. READ THE TAPE, DISPLAYING ANY 'VOL' AND 'HDR' RECORDS
       AT THE USER'S TERMINAL, UNTIL A NON-LABEL TYPE RECORD IS
       FOUND. VERIFY THAT THE TAPE CONTAINS AN UNLOADED PDS
       CREATED BY IEHMOVE AND RETRIEVE PERTINENT INFO FROM THE
       DSCB. CONTINUE TO SCAN THE TAPE UNTIL A MEMBER HEADER
       RECORD IS FOUND.

       3. SET UP NECESSARY PARAMETER INFO TO WRITE THE DISK FILE
       AND WRITE A DUMMY 80 BYTE HEADER RECORD TO THE FILE.

       4. MOVE THE MEMBER NAME FROM THE MEMBER HDR RECORD ON
       TAPE INTO THE CURRENT DICTIONARY ENTRY AND SAVE THE ITEM
       NUMBER OF THE FIRST DATA RECORD TO BE WRITTEN IN THE
       DICTIONARY ENTRY.

       5. RECONSTRUCT THE NEXT IEHMOVE RECORD IN CORE AND TEST
       IT'S TYPE. IF IT IS A DATA RECORD, WRITE THE RESULTING 80
       BYTE DATA RECORDS TO THE DISK FILE. IF IT IS A MEMBER
       HEADER RECORD GO TO STEP 3. OTHERWISE, IGNORE THE RECORD
       AND REPEAT THIS STEP.

       6. IF THE NUMBER OF ITEMS (80 BYTE RECORDS) EXCEEDS
       THE VALUE OF ITEMCT (DEFAULT = 50000),
       OR THE DICTIONARY BUFFER BECOMES FULL, THE CHARACTER '2' IS
       APPENDED TO THE FILE NAME (OVERLAYS LAST CHARACTER IF FN=8
       CHARACTERS) AND PROCESSING CONTINUES.  IF 9 MACLIBS ARE
       THUSLY FILLED UP, PROCESSING TERMINATES WITH AN ERROR
       MESSAGE.

       7. AFTER DETERMINING THE NEXT NAME TO USE, THE DICTIONARY
       FOR THE CURRENT LIBRARY IS PREPARED AND WRITTEN AT THE END
       OF THE FILE AND THE MACLIB HEADER RECORD IS BUILT AND
       WRITTEN OVER THE DUMMY HEADER RECORD PUT OUT AT THE
       BEGINNING. A CHECK IS MADE TO SEE IF THIS STEP WAS ENTERED
       AS A RESULT OF AN EOF ON TAPE. IF SO, PROGRAM EXECUTION
       RETURNS CONTROL TO THE USER. IF NOT, EXECUTION PROCEEDS
       STEP 3.

Calls to Other Routines

       DMSBWR, DMSFNS, DMSAUD, DMSERS, DMSCWR, DMSERR, DMSTIO