Type ASSEMBLE
Source Lines : 784
Fixes Applied : 3
Most Recent Version : Tuesday, December 12, 1978
Last Fix ID : [HRC002DS]
Module
DMSTPD (TAPPDS)
Function
ENABLE USERS TO READ A TAPE CONSISTING OF CARD IMAGES MEMBERS OF A PDS AND CREATE CMS DISK FILE(S) FOR EACH MEMBER OF THE DATA SET, OR TO READ A TAPE CONSISTING OF UNLOADED PDS AND CREATE CMS DISK FILE(S) FOR EACH MEMBER OF THE DATA SET. THE PDS OPTION WILL ALLOW TO TO READ UNBLOCKED TAPES PRODUCED BY THE O/S IEBPTPCH UTILITY, OR BLOCKED TAPES PRODUCED BY THE O/S IEHMOVE UTILITY. THE UPDATE OPTION WILL PROVIDE THE './ ADD' FUNCTION TO TAPES, BLOCKED OR UNBLOCKED, PRODUCED BY THE O/S IEBUPDTE UTILITY.
Attributes
DISK RESIDENT
Operation
TAPPDS SETS FLAG BITS EITHER TO THE DEFAULT SETTING OR TO THE REQUESTED OPTION SETTING. IF A USER FILENAME, FILETYPE, OR TAPE UNIT IS REQUESTED, THESE ARE SAVED IN LOCATIONS NAM1, NAM2, AND TAPID. TAPE RECORDS ARE READ, & THE END-OF-FILE FLAG IS CLEARED AFTER EACH READ. IF O/S LABELS ARE ON THE TAPE, THEY ARE TYPED TO THE TERMINAL AND THE NEXT RECORD IS READ. IF DATA COLUMNS 1-7 CONTAIN 'MEMBER', THE OPTION BITS ARE CHECKED FOR THE PARTITIONED DATA SET REQUEST. IF THERE IS A PDS REQUEST AND THE FILE IS OPEN, FINIS IS CALLED TO CLOSE THE OLD FILE, THE USER IS NOTIFIED AND THE PROGRAM CONTINUES. OTHERWISE, STATE IS CALLED FOR THE FILE - IF IT EXISTS, ERASE IS CALLED. THE OPEN FILE BIT IS SET ON, AND THE RECORDS ARE BROUGHT IN. IF THERE IS NO PDS REQUEST, THE FIELD IS IGNORED, THE FILE OPENED, AND WRBUF IS CALLED TO WRITE THE RECORD ON DISK. SUCCEEDING RECORDS GO DIRECTLY TO WRBUF UNTIL TAPPDS ENCOUNTERS EITHER THE NEXT 'MEMBER' CARD (PDS) OR A TAPE MARK IS READ (NOPDS). IF THE 'END' OPTION IS SPECIFIED, PRO- CESSING CONTINUES UNTIL AN 'END' CARD IS ENCOUNTERED. FOR 'NOPDS', THE FILE IS CLOSED, AND PROCESSING STOPS WITH THE TAPE POSITIONED AFTER THE 'END' CARD. FOR 'PDS', THE FILE IS CLOSED BY CMS FINIS, THE USER IS INFORMED, AND THE 'MAXTEN' COUNTER IS UPDATED AND CHECKED. IF 'MAXTEN' IS REQUESTED, AND THE LIMIT IS REACHED, THE TAPE IS BACKSPACED, THE USER IS INFORMED AND THE PROGRAM IS TERMINATED. IF THE 'MAXTEN' OPTION IS NOT SPECIFIED, TAPPDS SCANS FOR THE NEXT FILE. TAPPDS, WITH THE 'UPDATE' OPTION, WILL SCAN FOR './' CARDS, WHICH ARE USED AS 'IEBUPDTE' CONTROL CARDS, IN ORDER TO LOAD SOURCE DECKS INTO CMS DISK FILES. TAPPDS WILL ONLY RECOGNIZE THE './ ADD' CARD WITH A 'NAME=' PARAMETER FROM WHICH TAPPDS GETS THE CMS FILENAME. A DEFAULT FILENAME OF 'TAPPDS' WILL BE USED IF 'NAME=' IS MISSING OR FOLLOWED BY A BLANK. A DEFAULT FILETYPE OF 'ASSEMBLE' IS USED, UNLESS OTHERWISE SPECIFIED BY THE USER IN THE COMMAND LINE. THE 'END' OPTION IS DISABLED WITH THE 'UPDATE' OPTION. ALL './' CARDS ARE DELETED BEFORE THE FILE IS WRITTEN TO DISK. WHEN A './ ENDUP' CARD IS FOUND, THE CURRENT FILE IS CLOSED, THE USER IS INFORMED, AND PROCESSING STOPS WITH NO REPOSITIONING OF THE TAPE. IF THE FIRST RECORD READ SHOWS THAT THE FILE BELONGS TO AN UNLOADED PDS, THE DSCB FOR THE DATA SET (RECORD 2) IS READ, AND THE 'RECFM' AND 'LRECL' ARE SAVED FOR LATER USE. THE 1ST. MEMBER HEADER RECORD IS READ. ALL DUMMY AND NOTELIST RECORDS ARE IGNORED. ALL PDS DATA RECORDS ARE WRITTEN TO DISK (IF THE DATA SET IS FIXED BLOCKED, THE DATA SET IS DEBLOCKD AND WRITTEN TO DISK AS FIXED). WHEN THE NEXT MEMBER HEADER RECORD IS READ, OR A TAPE MARK IS READ, THE FILE IS CLOSED, THE USER IS INFORMED, AND THE NEW FILE IS OPENED (IF NOT EOF). EVERYTIME A NEW MEMBR HEADER RECORD IS READ, STATE IS CALLED TO VERIFY IF ANY OLD FILE EXISTS, AND IF FOUND ERASE IS CALLED TO ERASE THE OLD FILE. AN ENCOUNTER OF TWO TAPE MARKS IN A ROW WILL ALSO TERMINATE THE PROGRAM.
Calls to Other Routines
DMSBWR,DMSFNS,DMSSTT,DMSAUDL,DMSERS,DMSCWR,DMSTIO,DMSERR