IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

Extract member with source file name


IBM Mainframe Forums -> CLIST & REXX
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
srajanbose

New User


Joined: 11 Oct 2004
Posts: 69
Location: chennai

PostPosted: Wed Oct 15, 2008 11:17 am
Reply with quote

My requirement is I want to extract all the members from two dataset and write the member names in a sequential file with the corresponding source file name. I've done with the extraction of members with Rexx. I want to write the members with the source file name of the corresponding member.
Back to top
View user's profile Send private message
expat

Global Moderator


Joined: 14 Mar 2007
Posts: 8797
Location: Welsh Wales

PostPosted: Wed Oct 15, 2008 11:20 am
Reply with quote

What is your problem, read the REXX manual and look at EXECIO to see how to read / write files.
Back to top
View user's profile Send private message
srajanbose

New User


Joined: 11 Oct 2004
Posts: 69
Location: chennai

PostPosted: Thu Oct 23, 2008 9:41 am
Reply with quote

Hi,

I am facing an issue while writing the member names in the file.
Code:
IEA995I SYMPTOM DUMP OUTPUT                                       
SYSTEM COMPLETION CODE=213  REASON CODE=00000004                   
 TIME=06.02.54  SEQ=13785  CPU=0000  ASID=0101                     
 PSW AT TIME OF ERROR  475C1000   80E0FDA6  ILC 2  INTC 0D         
   NO ACTIVE MODULE FOUND                                         
   NAME=UNKNOWN                                                   
   DATA AT PSW  00E0FDA0 - 41003B7A  0A0D41F0  38BE56F0           
   GR 0: 00000000_00E1006C   1: 00000000_A4213000                 
      2: 00000000_0000F260   3: 00000000_00E0F4F2                 
      4: 00000000_0088F410   5: 00000000_0088F7A4                 
      6: 00000000_0088F74C   7: 00000000_0088F7A4                 
      8: 00000000_0088F76C   9: 00000000_0088EE48                 
      A: 00000000_00E121C2   B: 00000000_00E12B04                 
      C: 00000000_80E12BE4   D: 00000000_0088F6D0                 
      E: 00000000_80E0F62A   F: 00000010_00000004                 
 END OF SYMPTOM DUMP                                               
EXECIO error while trying to GET or PUT a record.                 
       +++ RC(20) +++                                             



Please find below my source code.
Code:
ADDRESS ISPEXEC                               
HIGHQUAL = 'Z000470.REXX.*'                   
LOGFILE = HIGHQUAL!!".LOG("!!TEST2!!")"       
USERNAME = SYSVAR(SYSUID)                     
WCNT = 0                                     
ZSKLPS = STRIP(HIGHQUAL)                     
Y = OUTTRAP('VAR1.')                         
ADDRESS TSO                                   
"LISTDS ('"ZSKLPS"')"                         
DO J = 1 TO VAR1.0                           
   M=J//5                                     
   IF M =1 THEN DO                           
        MEMA = STRIP(VAR1.J,B)               
        SAY "MEMA:"MEMA                       
        X=OUTTRAP("LIST.",'*')               
        LISTDS "'"MEMA"'" MEMBERS             
        X=OUTTRAP("OFF")                     
        P = LIST.0; Q = 6 ; P = P - 6         
        R=1                                   
         DO UNTIL P = 0                                       
            MEM.S = STRIP(LIST.Q)                             
            P = P - 1 ;Q=Q+1;                                 
            RECORD.R = LIST.Q!!';'!!MEMA                     
            R=R+1                                             
            SAY "RECORD.R:"RECORD.R                           
         END                                                 
           "EXECIO * DISKW SEQFILE (STEM RECORD. FINIS)"     
            IF RC ^= 0 THEN DO                               
               SAY 'ERROR WRITTING OUTPUT FILE !'             
            END                                               
            ELSE DO                                           
                SAY 'WRITE SUCESS!'                           
            END                                               
    END                                                       
 END                                                         
            "FREE F(SEQFILE)"                                 
            RETURN                                           


Please let me know how to solve this kind of issue..
Back to top
View user's profile Send private message
expat

Global Moderator


Joined: 14 Mar 2007
Posts: 8797
Location: Welsh Wales

PostPosted: Thu Oct 23, 2008 11:55 am
Reply with quote

Is this batch or online ?

If online - where is the allocate statement for DD SEQFILE ?
Where do you give Record.0 a value ?
Back to top
View user's profile Send private message
Pedro

Global Moderator


Joined: 01 Sep 2006
Posts: 2547
Location: Silicon Valley

PostPosted: Thu Oct 23, 2008 8:49 pm
Reply with quote

What does the book say about 213 abend?
Back to top
View user's profile Send private message
gcicchet

Senior Member


Joined: 28 Jul 2006
Posts: 1702
Location: Australia

PostPosted: Fri Oct 24, 2008 4:48 am
Reply with quote

Hi,

if you amend the following
Code:
RECORD.R = LIST.Q!!';'!!MEMA



to
Code:
RECORD.R = LIST.Q||';'||MEMA


it should work.


Gerry
Back to top
View user's profile Send private message
gcicchet

Senior Member


Joined: 28 Jul 2006
Posts: 1702
Location: Australia

PostPosted: Fri Oct 24, 2008 4:52 am
Reply with quote

Hi,

I should add, I ran it in batch and worked OK and with //SEQFILE DD SYSOUT=*


Gerry
Back to top
View user's profile Send private message
srajanbose

New User


Joined: 11 Oct 2004
Posts: 69
Location: chennai

PostPosted: Thu Oct 30, 2008 10:14 am
Reply with quote

Quote:
Hi,

Thanks for your reply.For me also the code works.The problem now i am facing is like when i execute the below code



Code:
MAIN_PARA1:                                                           
  TRACE ?R                                                             
   ADDRESS TSO                                                         
   OUT_FIL='Z000089.MEMBERS.HOMONYM'                                   
   "DELETE '"OUT_FIL"'"                                               
   "ALLOCATE DATASET('"OUT_FIL"') NEW SPACE(1,2)CYLINDER ",           
   "DSORG(PS) RECFM(F,B) LRECL(80) BLKSIZE(8000)"                     
   "ALLOC F(SEQFILE) DA('"OUT_FIL"') MOD REU"                         
   ADDRESS ISPEXEC                                                     
     HQL = 'Z000470.REXX.*'                                             
   LOGFILE = HQL!!".LOG("!!TEST2!!")"                                 
   USERNAME = SYSVAR(SYSUID)                                           
   WCNT = 0                                                           
   ZSKLPS = STRIP(HQL)                                                 
   Y = OUTTRAP('VAR1.')                                               
   ADDRESS TSO                                                         
 "LISTDS ('"ZSKLPS"')"                                           
 DO J = 1 TO VAR1.0                                             
    M=J//5                                                       
    IF M =1 THEN DO                                             
         MEMA = STRIP(VAR1.J,B)                                 
                                 
         X=OUTTRAP("LIST.",'*')                                 
         LISTDS "'"MEMA"'" MEMBERS                               
         X=OUTTRAP("OFF")                                       
         P = LIST.0; Q = 6 ; P = P - 6                           
         R=1                                                     
         DO UNTIL P = 0                                         
                   
            MEM.S = STRIP(LIST.Q)                               
            P = P - 1 ;Q=Q+1;                                   
            RECORD.R = ZUAP!!';'!!ZSIA!!';'!!LIST.Q!!';'!!MEMA   
            R=R+1                                               
                                   
                       
          END                                               
            "EXECIO * DISKW SEQFILE (STEM RECORD. FINIS)"   
             IF RC ^= 0 THEN DO                             
                SAY 'ERROR WRITTING OUTPUT FILE !'         
             END                                           
             ELSE DO                                       
                 SAY 'WRITE SUCESS!'                       
             END                                           
     END                                                   
  END                                                       
             "FREE F(SEQFILE)"                             
  ADDRESS TSO                                               
  ADDRESS ISPEXEC                                           
  "DISPLAY PANEL(SIAOUT)"                                   
             RETURN 



Quote:
I got the below output
Code:
CLISTX  ;Z000470.REXX.CLIST     
CLISTX  ;Z000470.REXX.CLIST     
CLIST1  ;Z000470.REXX.CLIST     
CLISTX  ;Z000470.REXX.CLIST     
CLIST1  ;Z000470.REXX.CLIST     
CLIST2  ;Z000470.REXX.CLIST     
CLISTX  ;Z000470.REXX.CLIST     
CLIST1  ;Z000470.REXX.CLIST     
CLIST2  ;Z000470.REXX.CLIST     
CLIST3  ;Z000470.REXX.CLIST     
CLISTX  ;Z000470.REXX.CLIST     
CLIST1  ;Z000470.REXX.CLIST     
CLIST2  ;Z000470.REXX.CLIST     
CLIST3  ;Z000470.REXX.CLIST     
CLIST4  ;Z000470.REXX.CLIST     
ASSET   ;Z000470.REXX.ISPP     
CLIST1  ;Z000470.REXX.CLIST     
CLIST2  ;Z000470.REXX.CLIST     
CLIST3  ;Z000470.REXX.CLIST   
CLIST4  ;Z000470.REXX.CLIST   
ASSET   ;Z000470.REXX.ISPP   
ASSETHM ;Z000470.REXX.ISPP   
CLIST2  ;Z000470.REXX.CLIST   
CLIST3  ;Z000470.REXX.CLIST   
CLIST4  ;Z000470.REXX.CLIST   
ASSET   ;Z000470.REXX.ISPP   
ASSETHM ;Z000470.REXX.ISPP   
DUPS    ;Z000470.REXX.ISPP   
CLIST3  ;Z000470.REXX.CLIST   
CLIST4  ;Z000470.REXX.CLIST   
ASSET   ;Z000470.REXX.ISPP   
ASSETHM ;Z000470.REXX.ISPP   
DUPS    ;Z000470.REXX.ISPP   
SIAHOM  ;Z000470.REXX.ISPP   
CLIST4  ;Z000470.REXX.CLIST   
ASSET   ;Z000470.REXX.ISPP   
ASSETHM ;Z000470.REXX.ISPP
DUPS    ;Z000470.REXX.ISPP
SIAHOM  ;Z000470.REXX.ISPP
SIAMEM  ;Z000470.REXX.ISPP
ASSET   ;Z000470.REXX.ISPP
ASSETHM ;Z000470.REXX.ISPP
DUPS    ;Z000470.REXX.ISPP
SIAHOM  ;Z000470.REXX.ISPP
SIAMEM  ;Z000470.REXX.ISPP
SIANAME ;Z000470.REXX.ISPP
ASSET   ;Z000470.REXX.ISPP
ASSETHM ;Z000470.REXX.ISPP
DUPS    ;Z000470.REXX.ISPP
SIAHOM  ;Z000470.REXX.ISPP
SIAMEM  ;Z000470.REXX.ISPP
SIANAME ;Z000470.REXX.ISPP
SIAPROG ;Z000470.REXX.ISPP
ASSET   ;Z000470.REXX.ISPP
ASSETHM ;Z000470.REXX.ISPP
DUPS    ;Z000470.REXX.ISPP
SIAHOM  ;Z000470.REXX.ISPP
SIAMEM  ;Z000470.REXX.ISPP
SIANAME ;Z000470.REXX.ISPP
SIAPROG ;Z000470.REXX.ISPP
SIAREG  ;Z000470.REXX.ISPP
CLISTX  ;Z000470.REXX.OLD
ASSETHM ;Z000470.REXX.ISPP
DUPS    ;Z000470.REXX.ISPP
SIAHOM  ;Z000470.REXX.ISPP
SIAMEM  ;Z000470.REXX.ISPP
SIANAME ;Z000470.REXX.ISPP
SIAPROG ;Z000470.REXX.ISPP
SIAREG  ;Z000470.REXX.ISPP
CLISTX  ;Z000470.REXX.OLD
CLIST1  ;Z000470.REXX.OLD
DUPS    ;Z000470.REXX.ISPP
SIAHOM  ;Z000470.REXX.ISPP
SIAMEM  ;Z000470.REXX.ISPP
SIANAME ;Z000470.REXX.ISPP
SIAPROG ;Z000470.REXX.ISPP
SIAREG  ;Z000470.REXX.ISPP
CLISTX  ;Z000470.REXX.OLD
CLIST1  ;Z000470.REXX.OLD
CLIST2  ;Z000470.REXX.OLD
SIAHOM  ;Z000470.REXX.ISPP
SIAMEM  ;Z000470.REXX.ISPP
SIANAME ;Z000470.REXX.ISPP
SIAPROG ;Z000470.REXX.ISPP
SIAREG  ;Z000470.REXX.ISPP
CLISTX  ;Z000470.REXX.OLD
CLIST1  ;Z000470.REXX.OLD
CLIST2  ;Z000470.REXX.OLD
CLIST3  ;Z000470.REXX.OLD
SIAMEM  ;Z000470.REXX.ISPP
SIANAME ;Z000470.REXX.ISPP   
SIAPROG ;Z000470.REXX.ISPP   
SIAREG  ;Z000470.REXX.ISPP   
CLISTX  ;Z000470.REXX.OLD   
CLIST1  ;Z000470.REXX.OLD   
CLIST2  ;Z000470.REXX.OLD   
CLIST3  ;Z000470.REXX.OLD   
CLIST4  ;Z000470.REXX.OLD   
SIANAME ;Z000470.REXX.ISPP   
SIAPROG ;Z000470.REXX.ISPP   
SIAREG  ;Z000470.REXX.ISPP   
OUT     ;Z000470.REXX.SAMPLES
CLIST1  ;Z000470.REXX.OLD   
CLIST2  ;Z000470.REXX.OLD   
CLIST3  ;Z000470.REXX.OLD   
CLIST4  ;Z000470.REXX.OLD   
SIANAME ;Z000470.REXX.ISPP   
SIAPROG ;Z000470.REXX.ISPP   
SIAREG  ;Z000470.REXX.ISPP
CLISTX  ;Z000470.REXX.UTIL
CLIST1  ;Z000470.REXX.OLD
CLIST2  ;Z000470.REXX.OLD
CLIST3  ;Z000470.REXX.OLD
CLIST4  ;Z000470.REXX.OLD
SIANAME ;Z000470.REXX.ISPP
SIAPROG ;Z000470.REXX.ISPP
SIAREG  ;Z000470.REXX.ISPP
CLISTX  ;Z000470.REXX.UTIL
CLIST1  ;Z000470.REXX.UTIL
CLIST2  ;Z000470.REXX.OLD
CLIST3  ;Z000470.REXX.OLD
CLIST4  ;Z000470.REXX.OLD
SIANAME ;Z000470.REXX.ISPP
SIAPROG ;Z000470.REXX.ISPP
SIAREG  ;Z000470.REXX.ISPP
CLISTX  ;Z000470.REXX.UTIL
CLIST1  ;Z000470.REXX.UTIL
CLIST2  ;Z000470.REXX.UTIL
CLIST3  ;Z000470.REXX.OLD 
CLIST4  ;Z000470.REXX.OLD 
SIANAME ;Z000470.REXX.ISPP
SIAPROG ;Z000470.REXX.ISPP
SIAREG  ;Z000470.REXX.ISPP
CLISTX  ;Z000470.REXX.UTIL
CLIST1  ;Z000470.REXX.UTIL
CLIST2  ;Z000470.REXX.UTIL
CLIST3  ;Z000470.REXX.UTIL
CLIST4  ;Z000470.REXX.OLD 
SIANAME ;Z000470.REXX.ISPP
SIAPROG ;Z000470.REXX.ISPP
SIAREG  ;Z000470.REXX.ISPP
CLISTX  ;Z000470.REXX.UTIL
CLIST1  ;Z000470.REXX.UTIL
CLIST2  ;Z000470.REXX.UTIL
CLIST3  ;Z000470.REXX.UTIL
CLIST4  ;Z000470.REXX.UTIL
SIANAME ;Z000470.REXX.ISPP
SIAPROG ;Z000470.REXX.ISPP
SIAREG  ;Z000470.REXX.ISPP
CLISTX  ;Z000470.REXX.UTIL
CLIST1  ;Z000470.REXX.UTIL
CLIST2  ;Z000470.REXX.UTIL
CLIST3  ;Z000470.REXX.UTIL
CLIST4  ;Z000470.REXX.UTIL
CLIST5  ;Z000470.REXX.UTIL
SIAPROG ;Z000470.REXX.ISPP
SIAREG  ;Z000470.REXX.ISPP
CLISTX  ;Z000470.REXX.UTIL
CLIST1  ;Z000470.REXX.UTIL
CLIST2  ;Z000470.REXX.UTIL
CLIST3  ;Z000470.REXX.UTIL
CLIST4  ;Z000470.REXX.UTIL
CLIST5  ;Z000470.REXX.UTIL
CLIST6  ;Z000470.REXX.UTIL
SIAREG  ;Z000470.REXX.ISPP
CLISTX  ;Z000470.REXX.UTIL
CLIST1  ;Z000470.REXX.UTIL
CLIST2  ;Z000470.REXX.UTIL
CLIST3  ;Z000470.REXX.UTIL
CLIST4  ;Z000470.REXX.UTIL
CLIST5  ;Z000470.REXX.UTIL
CLIST6  ;Z000470.REXX.UTIL
HOMONYM ;Z000470.REXX.UTIL
CLISTX  ;Z000470.REXX.UTIL
CLIST1  ;Z000470.REXX.UTIL
CLIST2  ;Z000470.REXX.UTIL
CLIST3  ;Z000470.REXX.UTIL
CLIST4  ;Z000470.REXX.UTIL
CLIST5  ;Z000470.REXX.UTIL
CLIST6  ;Z000470.REXX.UTIL
HOMONYM ;Z000470.REXX.UTIL
HOMONYM1;Z000470.REXX.UTIL
CLISTX  ;Z000470.REXX.UTIL
CLIST1  ;Z000470.REXX.UTIL
CLIST2  ;Z000470.REXX.UTIL
CLIST3  ;Z000470.REXX.UTIL
CLIST4  ;Z000470.REXX.UTIL
CLIST5  ;Z000470.REXX.UTIL
CLIST6  ;Z000470.REXX.UTIL
HOMONYM ;Z000470.REXX.UTIL
HOMONYM1;Z000470.REXX.UTIL
NEW     ;Z000470.REXX.UTIL
CLISTX  ;Z000470.REXX.UTIL
CLIST1  ;Z000470.REXX.UTIL
CLIST2  ;Z000470.REXX.UTIL
CLIST3  ;Z000470.REXX.UTIL
CLIST4  ;Z000470.REXX.UTIL
CLIST5  ;Z000470.REXX.UTIL
CLIST6  ;Z000470.REXX.UTIL
HOMONYM ;Z000470.REXX.UTIL
HOMONYM1;Z000470.REXX.UTIL
NEW     ;Z000470.REXX.UTIL
SAMJCL  ;Z000470.REXX.UTIL
CLISTX  ;Z000470.REXX.UTIL
CLIST1  ;Z000470.REXX.UTIL
CLIST2  ;Z000470.REXX.UTIL
CLIST3  ;Z000470.REXX.UTIL
CLIST4  ;Z000470.REXX.UTIL
CLIST5  ;Z000470.REXX.UTIL
CLIST6  ;Z000470.REXX.UTIL
HOMONYM ;Z000470.REXX.UTIL
HOMONYM1;Z000470.REXX.UTIL
NEW     ;Z000470.REXX.UTIL
SAMJCL  ;Z000470.REXX.UTIL
SETUP   ;Z000470.REXX.UTIL
CLISTX  ;Z000470.REXX.UTIL
CLIST1  ;Z000470.REXX.UTIL   
CLIST2  ;Z000470.REXX.UTIL   
CLIST3  ;Z000470.REXX.UTIL   
CLIST4  ;Z000470.REXX.UTIL   
CLIST5  ;Z000470.REXX.UTIL   
CLIST6  ;Z000470.REXX.UTIL   
HOMONYM ;Z000470.REXX.UTIL   
HOMONYM1;Z000470.REXX.UTIL   
NEW     ;Z000470.REXX.UTIL   
SAMJCL  ;Z000470.REXX.UTIL   
SETUP   ;Z000470.REXX.UTIL   
SYNC    ;Z000470.REXX.UTIL


Quote:
The expected output is

Code:
CLISTX  ;Z000470.REXX.CLIST
CLIST1  ;Z000470.REXX.CLIST
CLIST2  ;Z000470.REXX.CLIST
CLIST3  ;Z000470.REXX.CLIST
CLIST4  ;Z000470.REXX.CLIST
ASSET   ;Z000470.REXX.ISPP
ASSETHM ;Z000470.REXX.ISPP
DUPS    ;Z000470.REXX.ISPP
SIAHOM  ;Z000470.REXX.ISPP
SIAMEM  ;Z000470.REXX.ISPP
SIANAME ;Z000470.REXX.ISPP
SIAPROG ;Z000470.REXX.ISPP
SIAREG  ;Z000470.REXX.ISPP
CLISTX  ;Z000470.REXX.OLD
CLIST1  ;Z000470.REXX.OLD
CLIST2  ;Z000470.REXX.OLD
CLIST3  ;Z000470.REXX.OLD
CLIST4  ;Z000470.REXX.OLD
OUT   ;Z000470.REXX.SAMPLES
CLISTX  ;Z000470.REXX.UTIL
CLIST1  ;Z000470.REXX.UTIL
CLIST2  ;Z000470.REXX.UTIL
CLIST3  ;Z000470.REXX.UTIL
CLIST4  ;Z000470.REXX.UTIL
CLIST5  ;Z000470.REXX.UTIL
CLIST6  ;Z000470.REXX.UTIL
HOMONYM ;Z000470.REXX.UTIL
HOMONYM1;Z000470.REXX.UTIL
NEW     ;Z000470.REXX.UTIL
SAMJCL  ;Z000470.REXX.UTIL
SETUP   ;Z000470.REXX.UTIL
SYNC   ;Z000470.REXX.UTIL

Quote:
The pds "Z000470.REXX.CLIST" having the below members:

CLISTX
CLIST1
CLIST2
CLIST3
CLIST4


The pds "Z000470.REXX.ISPP" having the below members:

ASSET
ASSETHM
DUPS
SIAHOM
SIAMEM
SIANAME
SIAPROG
SIAREG


The pds "Z000470.REXX.OLD" having the below members:

CLISTX
CLIST1
CLIST2
CLIST3
CLIST4

The pds "Z000470.REXX.SAMPLES" having the below members:

OUT

The pds "Z000470.REXX.UTIL" having the below members:

CLISTX
CLIST1
CLIST2
CLIST3
CLIST4
CLIST5
CLIST6
HOMONYM
HOMONYM1
NEW
SAMJCL
SETUP
SYNC


Could anyone let me know what's the mistake i have done with the code.
[/code]
Back to top
View user's profile Send private message
srajanbose

New User


Joined: 11 Oct 2004
Posts: 69
Location: chennai

PostPosted: Thu Oct 30, 2008 2:45 pm
Reply with quote

Hi all,

Thanks a lot.I got my output.The problem is with the looping icon_biggrin.gif
Back to top
View user's profile Send private message
expat

Global Moderator


Joined: 14 Mar 2007
Posts: 8797
Location: Welsh Wales

PostPosted: Thu Oct 30, 2008 4:54 pm
Reply with quote

Not too sure about the use of all those internals for tracing when the stem variable is exhausted and/or whatever else.

this seems just a tad simpler to me.
Code:

ZSKLPS = 'HLQ.2LQ.*'                         
X = OUTTRAP(VARIN.)                     
"LISTDS ('"ZSKLPS"')"                   
X = OUTTRAP('OFF')                       
DO AA = 1 TO VARIN.0 BY 5                 
  X = OUTTRAP(VARON.)                   
    "LISTDS '"STRIP(VARIN.AA)"' MEM "     
  X = OUTTRAP('OFF')                     
  DO BB = 7 TO VARON.0                   
    QUEUE VARIN.AA VARON.BB               
  END                                   
END                                     
"EXECIO "QUEUED()" DISKW SEQFILE ( FINIS"
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> CLIST & REXX

 


Similar Topics
Topic Forum Replies
No new posts FTP VB File from Mainframe retaining ... JCL & VSAM 1
No new posts Extract the file name from another fi... DFSORT/ICETOOL 6
No new posts How to split large record length file... DFSORT/ICETOOL 10
No new posts Extracting Variable decimal numbers f... DFSORT/ICETOOL 17
No new posts SFTP Issue - destination file record ... All Other Mainframe Topics 2
Search our Forums:

Back to Top