Joined: 23 Feb 2006 Posts: 305 Location: Hyderabad,India
hi,
You are talking abt COBOL Assign clauses.
We used to give UT-S-name in the ASSIGN clause on a SELECT statement under FILE-CONTROL. in the INPUT-OUTPUT SECTION in our program.
IBM mainframe COBOL: In the ASSIGN clause on a SELECT statement under FILE-CONTROL. in the INPUT-OUTPUT SECTION., There is significance to the "UT-" and "S-".
For Eg an IO file UT-S-INPUT which is coded in the ?SELECT? statement in a Cobol program. But the same IO file in JCL is referred with the DDname INPUT only.
How does MVS identify this as INPUT for UT-S-INPUT.
What is the Understanding between the two??
First Let us start with SYNTAX of ASSIGN Clause in COBOL.
Can be specified as a user-defined word or a nonnumeric literal. Any assignment-name after the first is syntax checked, but it has no effect on the execution of the program.
In olden days there were disk drives, tapes were "utility devices". It applies more to the "old days" and is probably not so relevant or necessary now...
The concept of a UTILITY device changed when the first 2311s arrived, but COBOL supported either tape or disk as Utility.
The "DA" was for "Direct Access" and that meant "non-sequential" and therefore could NOT be a UTILITY device.
The "UR" meant "Unit Record" which really meant "unblocked" (early printers and punch card readers/punches accepted a single "record"). It was only later when we started spooling print to disk that print files became "blocked", but COBOL still allowed them to be treated as "unit record" (as it does to this day...).