View previous topic :: View next topic |
Author |
Message |
SureshKumar Intermediate
Joined: 23 Jan 2003 Posts: 211 Topics: 21
|
Posted: Thu Mar 24, 2005 9:16 am Post subject: How to set-up "Inline COBOL Error Display Utility" |
|
|
Hi,
Has anybody tried/use the "Inline COBOL Error Display Utility". I read the following article and wanted to give it a shot, but unable to. Though the information is provided I am not familiar with setting up the panel & Rexx. Any thoughts/suggestions would be helpful. Thanks
http://www-128.ibm.com/developerworks/eserver/library/es-inlinecobol/index.html
"Learn how to quickly debug compile time errors" |
|
Back to top |
|
|
kolusu Site Admin
Joined: 26 Nov 2002 Posts: 12375 Topics: 75 Location: San Jose
|
Posted: Thu Mar 24, 2005 10:27 am Post subject: |
|
|
SureshKumar,
Twice I had to restart my IE upon clicking the link. Does any one have the same problem?
Kolusu _________________ Kolusu
www.linkedin.com/in/kolusu |
|
Back to top |
|
|
SureshKumar Intermediate
Joined: 23 Jan 2003 Posts: 211 Topics: 21
|
Posted: Thu Mar 24, 2005 10:29 am Post subject: |
|
|
kolusu,
Just tried it. Works fine. Thanks |
|
Back to top |
|
|
kolusu Site Admin
Joined: 26 Nov 2002 Posts: 12375 Topics: 75 Location: San Jose
|
Posted: Thu Mar 24, 2005 3:23 pm Post subject: |
|
|
Sureshkumar,
I just tried it. It is good. I only tried with the rexx exec. I did not use the panels.
1. Copy the rexx exec to your rexx/clist pds
2. compile a sample pgm
3. Take the jobname and Job id
4. now type SHOWMSG JOBNAME JOBID at the command prompt in the edit mode of your compiled program
It shows the errors ! good Tool !
Hope this helps...
Cheers
kolusu _________________ Kolusu
www.linkedin.com/in/kolusu |
|
Back to top |
|
|
SureshKumar Intermediate
Joined: 23 Jan 2003 Posts: 211 Topics: 21
|
Posted: Fri Mar 25, 2005 8:27 am Post subject: |
|
|
Kolusu,
I keep getting the following error. What mistake am I doing. Thanks
IKJ56529I SYMBOLIC PARMS IN VALUE LIST IGNORED - xxxxxxxC JOB14821+
IKJ56532I STMT 204 - LABEL readSource SPECIFIED BUT COMMAND NOT FOUND
IKJ56532I STMT 752 - LABEL exitModule SPECIFIED BUT COMMAND NOT FOUND
IKJ56529I COMMAND PROCEDURE HAS NO PROC STMT |
|
Back to top |
|
|
superk Advanced
Joined: 19 Dec 2002 Posts: 684 Topics: 5
|
Posted: Fri Mar 25, 2005 8:57 am Post subject: |
|
|
It also worked good for me. One fix I had to make was that the original source code's "not equal to" characters did not translate properly during the upload, so I changed them from the original " |
|
Back to top |
|
|
superk Advanced
Joined: 19 Dec 2002 Posts: 684 Topics: 5
|
Posted: Fri Mar 25, 2005 9:19 am Post subject: |
|
|
SureshKumar, the code is written in REXX, so the first line of your SHOWMSG code should look something like this:
Code: |
/* REXX SHOWMSG
--------------------------------------------------------------------
Syntax :
Usage : SHOWMSG <jobname> <jobid>
OR
Usage : SHOWMSG <joblog dataset name>
OR
Usage : SHOWMSG setup
------------------------------------------------------------------------
*/
|
|
|
Back to top |
|
|
SureshKumar Intermediate
Joined: 23 Jan 2003 Posts: 211 Topics: 21
|
Posted: Fri Mar 25, 2005 11:23 am Post subject: |
|
|
Thanks superk,
Lost focus, was was looking at other possibilities without doing the basic checks. |
|
Back to top |
|
|
semigeezer Supermod
Joined: 03 Jan 2003 Posts: 1014 Topics: 13 Location: Atlantis
|
Posted: Fri Mar 25, 2005 7:54 pm Post subject: |
|
|
hehe... people are still writing that program I think everyone writes an inline error message viewer at some point in their life with edit macros I've always seen the macro do the compiles directly but this approach will work too. I was a little surpise that the screen shots have HILITE OFF.
Just for laughs, here is a basic version of the same function in a short macro. It does the compile and sets ==ERR> flags so you can use L ERR or &L ERR to locate errors. It allows you to test changes without saving them, but it does not filter out message types or do much error checking both of which are easy, but this is just a personal macro. Simple, but effective Code: | /* Rexx - Insert COBOL error messages in source. */
/* Also set ==ERR> flags so you can locate errors with the */
/* standard L ERR command. */
/* Errors in copybooks are placed at the copy statment. */
/* This requires access to the COBOL compiler and optionally */
/* to the CICS precompiler modules. If they are not in */
/* LPA or LNKLST, then allocate them to ISPLLIB. */
/* Designed for use with IBM Enterprise COBOL for z/OS */
/*------------------------------------------------------------------*/
/* Customization: allocate libraries as needed for the compiler. */
/* set compile parms as needed */
/*------------------------------------------------------------------*/
Address isredit
'MACRO'
"(MEM) = MEMBER"
"(DATASET) = DATASET"
"(ONOFF,NUMMODE) = NUMBER"
Parse Var nummode . nummode .
"(CHG) = DATA_CHANGED"
If onoff = 'OFF' | nummode <> "COBOL" Then
Do
zerrsm="Not NUM COBOL "
zerrlm="This macro only works in NUMBER COBOL mode."
Parse Value "YES *" With zerralrm zerrmsg
Address ispexec 'SETMSG MSG(ISRZ002)'
Exit 1
End
If chg = 'YES' Then /* create temporary member */
Do
"REPLACE .ZFIRST .ZLAST $COBMSG$"
mem='$COBMSG$'
End
Address tso
"ALLOC SHR REU F(SYSLIB) DA('"dataset"'" ,
"'CICSTS.V2R3M0.CICS.SDFHCOB'" ,
"'CICSTS.V2R3M0.CICS.SDFHMAC'" ,
"'CICSTS.V2R3M0.CICS.SDFHSAMP')"
"ALLOC NEW REU F(SYSPRINT) UNIT(VIO) DSO(PS) SP(10,10) CYL"
"ALLOC OLD REU F(SYSLIN) DUMMY REU"
"ALLOC SHR REU F(SYSIN) DA('"dataset"("mem")'"
Do a=1 to 7
"ALLOC NEW REU F(SYSUT"a") UNIT(VIO) DSO(PS) SP(10,10) CYL"
End
Address ispexec
parms='NODYNAM,LIB,RENT,CICS(''COBOL3,SP'')'
"SELECT PGM(IGYCRCTL) PARM("parms")"
cobrc=rc
Address tso
'EXECIO * DISKR SYSPRINT (STEM LISTING. FINIS'
Address isredit
'(US) = USER_STATE'
"RESET ERROR"
"RESET SPECIAL"
"NUM OFF"
'(DW) = DATA_WIDTH'
Do a = 1 to listing.0
listing.a=delstr(listing.a,1,1) /* Remove carriage control */
End
Do a = 1 to listing.0
If substr(listing.a,9,7)='==> IGY' Then
Do
Do n=a-1 to 1 by -1 Until ,
'111111 '=translate(substr(listing.n,3,7),,
'1111111111','0123456789')
End
If n>1 Then
Do
Parse Var listing.n . 18 seqnum 24 .
"F '"seqnum"' 1 FIRST"
'(TOP) = LINENUM .ZCSR'
'LABEL '||(top+1)||' = .A 1'
listing.a = delword(listing.a,1,1)
'(LINE) = LINE' top
char=substr(line,dw,1)
"C '"char"' '"char" ' .ZCSR .ZCSR ALL "dw /* Add ==Err> */
Do n=a to listing.0 ,
While '' <> strip(listing.n)
line=strip(listing.n)
'LINE_BEFORE .A = NOTELINE (LINE)'
End
End
End
End
"NUM ON "nummode
'USER_STATE = (US)'
"L ERR FIRST"
zerrsm="Compiler RC: "cobrc
zerrlm="The COBOL compiler (IGYCRCTL) had a return code of "cobrc"."
Parse Value "NO *" With zerralrm zerrmsg
Address ispexec 'SETMSG MSG(ISRZ002)'
Address tso
"FREE F(SYSLIB SYSLIN SYSIN SYSPRINT)"
Do a=1 to 7
"FREE F(SYSUT"a")"
End
If mem='$COBMSG$' Then
Do
address isredit
'(last) = linenum .zlast'
'move $COBMSG$ after .zlast'
'label '||(last+1)||'= .last 1'
'del all .last .zlast'
End
Exit 1
|
|
|
Back to top |
|
|
sriramla Beginner
Joined: 22 Feb 2003 Posts: 74 Topics: 1
|
Posted: Wed Apr 06, 2005 8:25 am Post subject: |
|
|
Thanks for all your comments on this tool. The main intent of this tool is to save time for compile error correction. I also intend to use to display all warnings so that I don't ignore truncation, remove unreachable code etc.
Quote: | It shows the errors ! good Tool !
|
Thanks Kolusu! It was quite inspiring!
If any of you need any additional information, feel free to contact us thru the mail ID's provided in the article.
Sriram. |
|
Back to top |
|
|
tattva Beginner
Joined: 02 Feb 2005 Posts: 97 Topics: 36
|
Posted: Fri Apr 22, 2005 4:43 pm Post subject: |
|
|
Hi,
i tried useing this tool !!.. its giving the below error :-
OUTPUT ENDED DUE TO ERROR, SYSTEM ABEND CODE B37+
NOT ENOUGH DIRECT ACCESS SPACE TO CONTAIN ALL RECORDS IN DATASET <tso.id>.D22APR05.T
163716
180 *-* "OUTPUT "jobName"("jobId") PRINT("dsname") BEGIN HOLD KEEP"
+++ RC(-5017600) +++
***
Can anyone look into this ??
Thanks,
Tattva |
|
Back to top |
|
|
s_shivaraj Beginner
Joined: 21 Sep 2004 Posts: 140 Topics: 14 Location: Chennai, India
|
Posted: Mon Jun 20, 2005 2:09 am Post subject: |
|
|
Hi all,
Any update on the above, i am also facing the same problem..It will be great if some one can provide the solution for the above _________________ Cheers
Sivaraj S
'Technical Skill is the Master of complexity, while Creativity is the Master of Simplicity' |
|
Back to top |
|
|
sriramla Beginner
Joined: 22 Feb 2003 Posts: 74 Topics: 1
|
Posted: Mon Jun 20, 2005 12:58 pm Post subject: |
|
|
The message "SYSTEM ABEND CODE B37" says its a space problem. To solve this and make the tool work, there is a work around. Copy the joblog in a dataset (Example: If you are using SDSF to see the jobs, type XDC against the compile job and give a dataset name to save in the next panel that comes). Then run the tool by giving dataset name as the argument (instead of giving Job name & Job ID as the arguments).
Hope this solves the problem. |
|
Back to top |
|
|
dtf Beginner
Joined: 10 Dec 2004 Posts: 110 Topics: 8 Location: Colorado USA
|
Posted: Tue Jun 21, 2005 9:47 am Post subject: |
|
|
I get an error apparently trying to access the output
Code: | IKJ56328I JOB ZCL1XXXC REJECTED - JOBNAME MUST BE YOUR USERID OR MUST START WIT
H YOUR USERID
IKJ56228I DATA SET AP0022.AP0022.D21JUN05.T104020.OUTLIST NOT IN CATALOG OR CAT
ALOG CAN NOT BE ACCESSED
IKJ56701I MISSING DATA SET NAME+
IKJ56701I MISSING NAME OF DATA SET TO BE ALLOCATED
IRX0555E The input or output file JOBXXX is not allocated. It cannot be opened
for I/O.
IRX0670E EXECIO error while trying to GET or PUT a record.
IKJ56247I FILE JOBXXX NOT FREED, IS NOT ALLOCATED
Job Info Read Error (maxlines = 0)
***
|
It seems to be wanting the jobname to start with my user ID. Unfortunatly, this is not allowed by the job naming standards.
________
iolite vaporizer
Last edited by dtf on Tue Feb 01, 2011 1:57 pm; edited 1 time in total |
|
Back to top |
|
|
sriramla Beginner
Joined: 22 Feb 2003 Posts: 74 Topics: 1
|
Posted: Mon Jun 27, 2005 7:38 pm Post subject: |
|
|
You can try copying the joblog in a dataset ( as explained in my previous post). If still does not work, please let me know the details of error. |
|
Back to top |
|
|
|
|