HUau..............Very Good..
We love this list,
CMDCOB DATA A1 V 111 Trunc=111 Size=291 Line=1 Col=1 Alt=0
===>
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7...
1 XPTOPGM COBOL 2010-01-18 16:11:36 414 CALL 'XTP03' USING T
Thanks, very, very much..............
Regards,
Sergio Lima Costa
> Date: Wed, 7 Jul 2010 12:51:43 -0500
> From: dale-sm...@columbus.rr.com
> Subject: Re: Sample REXX using XEDIT
> To: IBMVM@LISTSERV.UARK.EDU
>
> On Wed, 7 Jul 2010 16:50:29 +0300, Sergio Lima <sergiovm...@hotmail.com> =
>
> 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
_________________________________________________________________
TRANSFORME SUAS FOTOS EM EMOTICONS PARA O MESSENGER. CLIQUE AQUI PARA COMEĆAR.
http://ilm.windowslive.com.br/?ocid=ILM:Live:Hotmail:Tagline:senDimensao:TRANSFORME78:-