Portal | IBM Manuals | Downloads | Products | Refer | Info | Programs | JCLs | Forum Rules*| Site Map | Mainframe CD 
IBMMAINFRAMES.com - IBM Mainframe Support Forums Index
 
Register
 
IBMMAINFRAMES.com - IBM Mainframe Support Forums Index FAQ Search Memberlist Usergroups Profile Log in to check your private messages Log in
 
Finding the copybook names in a cobol program.

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> CLIST & REXX
Author Message
surya.kalyan

New User


Joined: 09 Jan 2007
Posts: 14
Location: Mumbai

PostPosted: Wed Jul 09, 2008 4:20 pm    Post subject: Finding the copybook names in a cobol program.
Reply with quote

I want to write a REXX tool which would extract the copybook names of a program and present a nice report.


Can anyone suggest me a method to extract copybook names if they are separated by more than one spaces?

e.g.

COPY MYCOPY1.

COPY MYCOPY2.
Back to top
View user's profile Send private message
References
surya.kalyan

New User


Joined: 09 Jan 2007
Posts: 14
Location: Mumbai

PostPosted: Wed Jul 09, 2008 4:21 pm    Post subject:
Reply with quote

Please assume that in the second statement
COPY MYCOPY2.

COPY and MYCOPY2 are separated by more than one spaces.
Back to top
View user's profile Send private message
ofer71

Global Moderator


Joined: 27 Dec 2005
Posts: 1973
Location: Israel

PostPosted: Wed Jul 09, 2008 4:35 pm    Post subject:
Reply with quote

I believe an ISPF edit macro, combined with REXX's PARSE instruction will do the job.

O.
Back to top
View user's profile Send private message
Marso

Senior Member


Joined: 13 Mar 2006
Posts: 337
Location: Israel

PostPosted: Wed Jul 09, 2008 4:36 pm    Post subject:
Reply with quote

With REXX, that's easy...
Code:
/* load cobol program in memory (FCBLPGM allocated to member)*/
"EXECIO * DISKR FCBLPGM (FINIS STEM PgmSrc."

/* loop on program contents scanning for COPY */
Do P = 1 To PgmSrc.0
   Parse Upper Var PgmSrc.P 1 . 7 Comment 8 CblLine 73 .
   If Comment = '*' Then Iterate
   If Word(CblLine,1) <> 'COPY' Then Iterate
   CopyName = Strip(Word(CblLine,2),'.')
   Say "Found COPY. Name is "CopyName
End
Back to top
View user's profile Send private message
Garry Carroll

Active User


Joined: 08 May 2006
Posts: 171
Location: Dublin, Ireland

PostPosted: Wed Jul 09, 2008 4:58 pm    Post subject:
Reply with quote

Perhaps use ICEMAN/ICETOOL to:
..... extract the lines with substring " COPY "
..... process the results in workfile.
..... produce your "nice report" from the workfile ?

Regards,
Garry.
Back to top
View user's profile Send private message
enrico-sorichetti

Global Moderator


Joined: 14 Mar 2007
Posts: 3183
Location: italy

PostPosted: Wed Jul 09, 2008 5:03 pm    Post subject: Reply to: Finding the copybook names in a cobol program.
Reply with quote

the brain work has already been done
http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/ispusr03/2.5.4?ACTION=MATCHES&REQUEST=isrlemx&TYPE=FUZZY&SHELF=ISPBKM08.bks&DT=19990728142027&CASE=&searchTopic=TOPIC&searchText=TEXT&searchIndex=INDEX&rank=RANK&ScrollTOP=FIRSTHIT#FIRSTHIT

You simple need to reformat the report ( if You are not satisfied with the native ispf report )
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> CLIST & REXX All times are GMT + 6 Hours
Page 1 of 1