/*REXX*/ ADDRESS "TSO" /* USE STANDARD TSO ENVIRONMENT COMMANDS */ VSANCHOR='INIT' /* INITIALIZE RXVSAM ANCHOR */ FILENAME='SCOTTY.TEST.VSAM.FILE' ALLOC "FI(INPUT) DSNAME('"FILENAME"')" /* ALLOCATE IT */ RC = RXVSAM("INPUT", "OPEN") /* CALL RXVSAM TO OPEN IT */ IF RC <> "00000000" /* IF BAD RETURN SAY SO AND XIT */ THEN DO /**/ SAY "OPEN FAILED, RETURN CODE =" RC /**/ EXIT /**/ END /**/ SKEY = "KEY=00000000000000000000000000000005" /*DO WHILE RESPONSE <> ">>EOF<<" ">>EOF<<" = RXVSAM END OF FILE */ RC = RXVSAM("INPUT", "READ", SKEY) /* CALL RXVSAM */ /* A MAX OF 1000 RECORDS */ /* INTO THE DATA STACK */ IF RC <> "00000000" /* HANDLE RETURN CODE */ THEN DO /**/ SAY "READ FAILED, RETURN CODE =" RC /**/ RC = RXVSAM("INPUT", "CLOSE") /* MAKE SURE WE DONT */ /* GET A SA03 ABEND */ EXIT /* END THE PROGRAM */ END /**/ DO QUEUED() /* WHILE DATA REMAINS ON THE STACK */ PULL RESPONSE /* GET THE NEXT RECORD */ SAY "DATA FROM READ=" /* SEND TO PRINT*/ SAY RESPONSE /* PRINT THE RECORD */ SAY C2X(RESPONSE) /* AND W/HEX DUMP */ END /*END*/ /* AT >>EOF<< FALL THROUGH HERE.... */ RC = RXVSAM("INPUT", "CLOSE") /* CALL RXVSAM TO CLOSE IT */ IF RC <> "00000000" /* HANDLE RETURN CODE */ THEN DO /* AND SO FORTH..... */ SAY "CLOSE FAILED, RETURN CODE =" RC /**/ EXIT /**/ END /**/ FREE "ALL" /* FINALLY, RELEASE THE ALLOCATION */