Page 1 of 2

Idea about WAAPDSUT programs

PostPosted: Fri Dec 17, 2010 9:25 pm
by vikram G
Hi can anyone have an idea about WAAPDSUT programs and if so can anyone please provide the website info to read basic programing concepts about WAAPDSUT?

Re: WAAPDSUT

PostPosted: Fri Dec 17, 2010 10:44 pm
by Robert Sample
What I've seen over the years indicates this was (is?) a program used internally by EDS, although it showed up at EDS customer sites. You may find something by using Google, or by looking at the EDS web site, but if it was never intended to be a released software, the documentation is likely to be scarce.

Re: WAAPDSUT

PostPosted: Sat Dec 18, 2010 10:38 am
by vikram G
Thanks fro your reply Robert. I will check in the website.

Re: Idea about WAAPDSUT programs

PostPosted: Tue Jan 04, 2011 5:28 am
by alexlloyd54
I recall another program from EDS called: WAAPSPLT

we used to use these two programs in the 80's, but I don't remember now what was the function of them :?

I guess I'm too old to remember :(

but the name brought back some memories

Re: Idea about WAAPDSUT programs

PostPosted: Tue Jan 04, 2011 6:53 pm
by alexlloyd54
WAAPDSUT, WAAPSPLT, and WAASDATE

I guess WAAPDSUT's function was (from it;s name) Data Set Utility

from what I remembered today (Thanks to my Brain's Migration level Two ML2 :D )

It was a toll to deal with datasets and manipulate them, i.e. extracting selected records, re-blocking, zapping data ... etc.

It use to be very powerful, and the control statements for it were similar to Assembly instructions

but later we replaced this utility with (SELCOPY) when we migrated our system from DOS/VSE to MVS/XA

If i remembered anything regarding these tools in the future, i would try to post it here.

Re: Idea about WAAPDSUT programs

PostPosted: Wed Jan 05, 2011 1:48 am
by steve-myers
The name WAAPDSUT suggests it has something to do with PDS data sets. I have no idea what it actually does or how it's used.

Re: Idea about WAAPDSUT programs

PostPosted: Wed Jan 05, 2011 2:50 am
by dick scherrer
Hello,

The last time i saw WAAPDSUT in use it supported more than partitioned datasets. . .

EDS people usually brought this with them to use while working on client's system(s). I don't recall if it was available for rent/purchase directly.

Re: Idea about WAAPDSUT programs

PostPosted: Tue May 03, 2011 12:24 pm
by Scott Lippincott
WAAPDSUT - WAA (written by EDS corporate software in Dallas) P (program) DSUT (dataset utility)
Originally written for DOS in the '60s, this utility was the most heavily used dataset printing/dumping/comparing/ repairing etc. tool used by EDS systems engineers. EDS naming standards were for the first three characters to represent where the program was written. The 4th character indicated what type of object (P=program, S=subroutine, M=macro, , Y=COBOL copybook, etc.) The last four characters were left to the programmer, and usually gave a hint as to the function. WAAPDSUT(dataset utility), WAASDATE(date manipulation subroutine), WAAPSPLT(a report splitter), WAAPISAM(ISAM version of WAAPDSUT)

WAAPDSUT can read 1 or 2 sequential files, and write from 1 to 5 sequential output files.
SYSUT1 - Primary input file (Required)
SYSUT1A - Secondary Input file (Optional)
SYSUT2 thrU SYSUT5 are output files (Optional)
SYSIN - Pseudo-assembler control cards (Optional)
SYSPRINT - Print output, and Statistics report

Without SYSIN control cards, there are default actions which depend upon which DDNAMES are present in the JCL.
SYSUT1 only - Print SYSUT1 on SYSPPRINT
SYSUT1 and SYSUT1A - Compare files, and report on differences only
SYSUT1 and SYSUT2 - Copy SYSUT1 to SYSUT2

Output file DCB parameters are copied from SYSUT1, unless they are overridden in the JCL.
JCL supplied DCB parameters take precedence, and override the catalog values (For example: Recfm FB / VB files can be read by block by specifying RECFM=U)
An interesting feature is that concatenations of files on SYSUT1, SYSUT1A, and SYSIN can be different RECFMs or LRECLS. (Don't really know why you'd want to do this)
WAAPDSUT can call subroutines. (like WAASDATE to do date manipulations)

Pseudo Registers: RX-SYSUT1 record pointer, RY-SYSUT1A record pointer, RZ-4k scratchpad area address, RV and RW are for programmer use.

The SYSIN cards are a subset of explicitly coded assembler instructions, plus functions accessed via special B or BAL instructions. The B (branch) to a function causes the function to be performed, and then the SYSIN code is re-entered from the top. When using BAL, control is returned to the next instruction.
The special functions are DELETE, KEEP, SYSUT2, SYSUT3, SYSUT4, SYSUT5, DITTO, COMPFAIL, DUMP, and PRINT.
DELETE(RX), DELETE(RY), or DELETE (read another record from either SYSUT1, SYSUT1A, or both)
KEEP(RX), KEEP(RY), or KEEP (write record from SYSUT1, SYSUT1A, or both to SYSUT2)
SYSUT#(R?) WHERE #=2,3,4,or 5 (output file), AND ?=V,W,X,Y, or Z (pseudo register)
Note: KEEP and SYSUT2 both write to SYSUT2.
KEEP can only use pseudo registers RX, RY, or blank(both RX and RY) If a branch, new record(s) are read.
SYSUT2 can only y If the pseudo register is omitted, it applies to both SYSUT1 and SYSUT1a
COMPFAIL (print line over-line comparison of SYSUT1 and SYSUT1A records in DUMP format)
DITTO(R?) (print data pointed to by a pseudo register in a 3 line format Char/Hex Zone/Hex Digit)
DUMP(R?) (print data pointed to by a pseudo register in dump format)
PRINT(R?) (print data pointed to by a pseudo register in Zoned Decimal format)
Lengths of areas pointed to by a pseudo register are stored in halfwords refered to as LEN# where #= V,W,X,Y,Z LENX and LENY are set automatically when a record is read. You must set the others before using the corresponding pseudo-register in a function. ( ex. 10 MVC LENZ,=H'100' )

SYSIN cards must be terminated by an "END" statement.

Special labels EOFX and EOFY are used when end-of-file on the respective file is reached. If absent, processing stops when the first input file reaches eof. If additional records exist on the other file, it is noted in the report in SYSPRINT.

A special form of the CLC instruction is used to compare SYSUT1 and SYSUT1A records without needing to code the length. ( CLC RX,RY )

If you need help interpreting existing instances out there, let me know. I'll also try to dig out the documentation.

Re: Idea about WAAPDSUT programs

PostPosted: Tue Jul 19, 2011 9:44 pm
by Cindy Grosse
Here's a WAAPDSUT manual. It's too big to attach the whole thing at once.
I'll attach it in 4 pieces.

Re: Idea about WAAPDSUT programs

PostPosted: Tue Jul 19, 2011 9:44 pm
by Cindy Grosse
WAAPDSUT manual - part 2.