/*************************** REXX *******************************/ /* (c) Copyright Roger Lacroix 1996 */ /* */ /* Designed, developed and programmed by Roger Lacroix */ /******************************************************************/ /* */ /* Browse a sequential file or GDG that has RECFM as FBA. */ /* When you browse a dataset with this utility, column 1 will */ /* be included. */ /* */ /* Examples: */ /* */ /* tso %ba 'xxxx.yyyy.listing' */ /* */ /* OR */ /* */ /* at 3.4 DSN list type "BA" beside the dataset to be browsed. */ /* */ /******************************************************************/ ARG indsn1 the_rest ADDRESS TSO IF indsn1 <> "" THEN DO x = LISTDSI(indsn1) /* get recfm stuff for this dataset */ IF SYSRECFM = "FBA" | SYSRECFM = "VBA" | , SYSRECFM = "FBM" | SYSRECFM = "VBM" | , SYSRECFM = "FB" | SYSRECFM = "VB" THEN DO IF SYSRECFM = "FBA" | SYSRECFM = "FBM" | SYSRECFM = "FB" THEN recfm = "F B" /* SYSRECFM = "FBA" or "FBM" or "FB" */ ELSE recfm = "V B" /* SYSRECFM = "VBA" or "VBM" or "VB" */ "ALLOCATE DD(INFILE) DATASET("indsn1") RECFM("recfm") SHR REUSE" rcode = RC IF rcode = 0 THEN DO ADDRESS ISPEXEC "LMINIT DATAID(INDSN) DDNAME(INFILE) ENQ(SHR)" "LMOPEN DATAID("INDSN")" rcode = RC IF rcode = 0 THEN 'browse DATAID('INDSN')' /* now browse the dataset */ ELSE SAY "browse failed - rc="rcode 'LMCLOSE DATAID('INDSN')' /* close and free dataset */ 'LMFREE DATAID('INDSN')' ADDRESS TSO 'FREE F(INFILE)' END ELSE SAY "Allocate failed - rc="rcode END ELSE SAY "This dataset has an unsupported RECFM="SYSRECFM END ELSE SAY "No input DSN specified. Please try again" RETURN