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: 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 
                                          
_________________________________________________________________
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:-

Reply via email to