Opsssss..
Sorry, working ok...
>>> "0"
23 *-* totcnt = 0
>>> "0"
24 *-* Do n = 1 to pgm.0
>>> "1"
>>> "1393"
25 *-* Parse Var pgm.n fn ft date time .
>>> "ABNSEMAE"
>>> "COBOL"
>>> "2010-01-18"
>>> "16:11:36"
>.> ""
26 *-* 'PIPE (NAME COBCALL ENDCHAR ?)','| <' fn ft fm, /* Read COBOL Progra
m */'| 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 Reco
rds */'| >>' cobcall, /* Write to file */'? C:','| STRLITERAL APPEND /0/', /* Ju
st in Case */'| VAR RECCNT', /* Record Count */'' /* End COBCALL */
>>> "PIPE (NAME COBCALL ENDCHAR ?) | < ABNSEMAE COBOL A | SPECS RECNO
1.6 7-72 8 | NLOCATE 8 /*/ | LOCATE ANYCASE 8-* / CALL / | SPECS /ABNSEMAE COBOL
2010-01-18 16:11:36/ 1 1-* NW | C: COUNT LINES | >> CMDCOB DATA A ? C: | STR
LITERAL APPEND /0/ | VAR RECCNT "
38 *-* totcnt = totcnt + reccnt
>>> "4"
39 *-* End /* Do n = 1 to pgm.0 */
24 *-* Do n = 1 to pgm.0
25 *-* Parse Var pgm.n fn ft date time .
>>> "ABNSEMAN"
>>> "COBOL"
>>> "2010-01-12"
HOLDING GRV
Thanks,
Sergio
> Date: Wed, 7 Jul 2010 12:51:43 -0500
> From: [email protected]
> Subject: Re: Sample REXX using XEDIT
> To: [email protected]
>
> On Wed, 7 Jul 2010 16:50:29 +0300, Sergio Lima <[email protected]> =
>
> wrote:
>
> >Hello List,
> >
> >We need, do here a REXX that will READ a lot of COBOL Programs.
> >
> >So, must, locate all "CALL" Statements, and think use XEDIT for this.
> >
> >Someone know, if have a place, or a documentation, for us get a sample =
>
> program?
> >
> >Thanks
> >
> >Sergio Lima Costa
>
> Here is a quick and dirty Exec that I just wrote that will be close to =
>
> what you want. Note that ir will find references to "CALL" that may be i=
> n
> a DISPLAY command as well as the "CALL" instruction. Here is the Exec:
>
> /*--------------------------------------------------------------------*/
> /* COBCALL EXEC */
> /* Scan COBOL Programs and Extract records containing the word "CALL".*/
> /*--------------------------------------------------------------------*/
> COBCALL: =
> =
>
> Address COMMAND =
> =
>
> Parse Source . ctype ename etype emode . =
>
> cobcall = ename 'DATA A' =
> =
>
> Arg fm . =
> =
>
> If fm = '' Then =
> =
>
> Do =
> =
>
> Say 'No Filemode Specified. A Filemode is Required.' =
>
> Exit 4 =
> =
>
> End =
> =
>
> 'CMDCALL ESTATE * COBOL' fm =
> =
>
> If rc \= 0 Then Exit rc =
> =
>
> 'PIPE COMMAND LISTFILE * COBOL' fm '(NOHEADER ISODATE'||, =
>
> '|CHANGE 68 / /0/|SPECS 1-17 1 W8-9 19|STEM PGM.' =
>
> If rc \= 0 Then Exit rc =
> =
>
> 'ERASE' cobcall =
> =
>
> If rc \= 0 & rc \= 28 Then Exit rc =
> =
>
> totcnt = 0 =
> =
>
> Do n = 1 to pgm.0 =
> =
>
> Parse Var pgm.n fn ft date time . =
>
> '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 */ =
> =
>
> totcnt = totcnt + reccnt =
> =
>
> End /* Do n = 1 to pgm.0 */ =
> =
>
> 'ESTATE' cobcall =
> =
>
> If rc \= 0 Then =
> =
>
> Do =
> =
>
> Say 'No "CALL" Statements Found in COBOL Programs on', =
>
> 'Filemode' fm'.' =
> =
>
> Exit 12 =
> =
>
> End =
> =
>
> Say totcnt '"CALL" Statements Found in COBOL Programs on', =
>
> 'Filemode' fm'.' =
> =
>
> 'XEDIT' cobcall '(NOCLEAR' =
> =
>
> Exit rc =
> =
>
>
> Here is a small sample of output from COBOL Programs on my A-Disk:
>
> IMSMAIN COBOL 1987-12-03 16:59:18 31 CALL 'IMSSUB'.
> IMSMAIN2 COBOL 1987-12-03 16:46:15 31 CALL 'IMSSUB2'.
> SQLINIT COBOL 2009-04-30 11:36:52 4 CALL 'DSNHADDR' USING =
>
> SQL-CODEPTR OF SQL-PLIST12 SQLCA.
> SQLINIT COBOL 2009-04-30 11:36:52 5 DISPLAY 'After DB2 Call=
>
> 1 ' SQL-INIT-FLAG
> SQLINIT COBOL 2009-04-30 11:36:52 6 CALL 'DSNHADDR' USING =
>
> SQL-CODEPTR OF SQL-PLIST13 SQLCA.
> SQLINIT COBOL 2009-04-30 11:36:52 7 DISPLAY 'After DB2 Call=
>
> 2 ' SQL-INIT-FLAG
>
> Notice the DISPLAY statements. The Exec makes a lot of assumptions, so =
>
> any changes are left as an exercise to the reader! :-)>
>
> --
> Dale R.
> Smith
_________________________________________________________________
QUER ANEXAR VĂRIAS FOTOS NUM EMAIL? PREPARE-SE PARA O NOVO HOTMAIL. CLIQUE AQUI.
http://www.windowslive.com.br/public/product.aspx/view/1?ocid=Hotmail:Live:Hotmail:Tagline:senDimensao:QUERANEXAR80:-