As I thought I remembered, the "CBL" string is a language directive and as such is actually coded "*CBL". Ergo a locate for / CBL / isn't going to find any. Further, the "*" may occur as early as record position 7, and having the *CBL string start in 8 wouldn't be uncommon. You might be dropping all occurrences as comments with the NLOCATE stage before you ever get to checking for CBL. -- Mike Harding z/VM System Support
[email protected] [email protected] [email protected] (925) 926-3179 (w) (925) 323-2070 (c) IM: VMBearDad (AIM), mbhcpcvt (Y!) The IBM z/VM Operating System <[email protected]> wrote on 01/07/2011 12:48:08 PM: > From: Kris Buelens <[email protected]> > To: [email protected] > Date: 01/07/2011 12:48 PM > Subject: Re: FW: CMDCOB PIPE looking for CBL > Sent by: The IBM z/VM Operating System <[email protected]> > > That's all the same, except that I think that LOCATE ANYCASE can be > a bit faster and LOCATE ANYCASE.. > > To solve problems where one doesn't see what happends, instead of > inserting CONSOLE at crucial places, writing into a CMS file is > often a bit more helpful: you can XEDIT that file and carefully look > at the columns where the data appear. And, even test PIPE stages > while still in XEDIT. > > 'PIPE (NAME COBCALL ENDCHAR ?)', > '| <' fn ft fm, /* Read COBOL Program */ > '| SPECS RECNO 1.6 7-72 8', /* Record Number, Record */ > '| NLOCATE 8 /*/', /* Skip Comments */ > '|> A A A', > '| LOCATE ANYCASE 8-* / CALL /', /* Look for CALL Commands */ > '|> B B A', > '| SPECS /'pgm.n'/ 1 1-* NW', /* Add File info */ > '| C: COUNT LINES', /* Count Records */ > '| >>' cobcall, /* Write to file */ > '? C:', > '| STRLITERAL APPEND /0/', /* Just in Case */ > '| VAR RECCNT', /* Record Count */ > '' /* End COBCALL */ > > Then XEDIT A A A > and PIPE XEDIT|LOCATE ..... |TAKE 1 |XMSG > > By the way: there is no need to use STRLITERAL APPEND /0/: count > will always produce a number at the end > 2011/1/7 <[email protected]> > Make that '| CASEI LOCATE 8-* / CALL /', > > Peter > > -----Original Message----- > From: Webb, Peter > Sent: January 7, 2011 13:36 > To: 'The IBM z/VM Operating System' > Subject: RE: CMDCOB PIPE looking for CBL > > How about changing '| LOCATE ANYCASE 8-* / CALL /', to '| ANYCASE > LOCATE 8-* / CALL /', > > Peter > > -----Original Message----- > From: The IBM z/VM Operating System [mailto:[email protected]] > On Behalf Of Sergio Lima > Sent: January 7, 2011 11:45 > To: [email protected] > Subject: CMDCOB PIPE looking for CBL > > Hello List, > > We have a program here, got from this list, that is very usefull for us. > Unfortunatelly I don't remember the author of this program, may be Kris... > This program is wrote using PIPE command, and FIND all CALL > instructions in all programas with FILETYPE of COBOL. > We already use this same program for FIND the EXEC commands in all > JCL here, and run very well. > Now, We need, locate the CBL commands, and my program don't want work. > The code is here : (A piece) > > 'PIPE (NAME COBCALL ENDCHAR ?)', > '| <' fn ft fm, /* Read COBOL Program */ > '| SPECS RECNO 1.6 7-72 8', /* Record Number, Record */ > '| NLOCATE 8 /*/', /* Skip Comments */ > '| LOCATE ANYCASE 8-* / CALL /', /* Look for CALL Commands */ > '| SPECS /'pgm.n'/ 1 1-* NW', /* Add File info */ > '| C: COUNT LINES', /* Count Records */ > '| >>' cobcall, /* Write to file */ > '? C:', > '| STRLITERAL APPEND /0/', /* Just in Case */ > '| VAR RECCNT', /* Record Count */ > '' /* End COBCALL */ > > We already have tried change the CALL by CBL in the line of LOCATE, > and also, change 8-* to 1-*, and nothing. > > Please more one time, someone can help us in this question. > > Thanks very much, > > Sergio Lima Costa > Sao Paulo - Brazil > The information transmitted is intended only for the person or > entity to which it is addressed and may contain confidential and/or > privileged material. Any review retransmission dissemination or > other use of or taking any action in reliance upon this information > by persons or entities other than the intended recipient or delegate > is strictly prohibited. If you received this in error please contact > the sender and delete the material from any computer. The integrity > and security of this message cannot be guaranteed on the Internet. > The sender accepts no liability for the content of this e-mail or > for the consequences of any actions taken on the basis of > information provided. The recipient should check this e-mail and any > attachments for the presence of viruses. The sender accepts no > liability for any damage caused by any virus transmitted by this e- > mail. This disclaimer is property of the TTC and must not be altered > or circumvented in any manner. > > > > -- > Kris Buelens, > IBM Belgium, VM customer support
