MVSFORUMS.com Forum Index MVSFORUMS.com
A Community of and for MVS Professionals
 
 FAQFAQ   SearchSearch   Quick Manuals   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

How to set-up "Inline COBOL Error Display Utility"
Goto page 1, 2  Next
 
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> Problem Determination
View previous topic :: View next topic  
Author Message
SureshKumar
Intermediate


Joined: 23 Jan 2003
Posts: 211
Topics: 21

PostPosted: Thu Mar 24, 2005 9:16 am    Post subject: How to set-up "Inline COBOL Error Display Utility" Reply with quote

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
View user's profile Send private message
kolusu
Site Admin
Site Admin


Joined: 26 Nov 2002
Posts: 12354
Topics: 75
Location: San Jose

PostPosted: Thu Mar 24, 2005 10:27 am    Post subject: Reply with quote

SureshKumar,

Twice I had to restart my IE upon clicking the link. Does any one have the same problem?

Kolusu
_________________
Kolusu - DFSORT Development Team (IBM)
DFSORT is on the Web at:
www.ibm.com/storage/dfsort

www.linkedin.com/in/kolusu
Back to top
View user's profile Send private message Send e-mail Visit poster's website
SureshKumar
Intermediate


Joined: 23 Jan 2003
Posts: 211
Topics: 21

PostPosted: Thu Mar 24, 2005 10:29 am    Post subject: Reply with quote

kolusu,
Just tried it. Works fine. Thanks
Back to top
View user's profile Send private message
kolusu
Site Admin
Site Admin


Joined: 26 Nov 2002
Posts: 12354
Topics: 75
Location: San Jose

PostPosted: Thu Mar 24, 2005 3:23 pm    Post subject: Reply with quote

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 - DFSORT Development Team (IBM)
DFSORT is on the Web at:
www.ibm.com/storage/dfsort

www.linkedin.com/in/kolusu
Back to top
View user's profile Send private message Send e-mail Visit poster's website
SureshKumar
Intermediate


Joined: 23 Jan 2003
Posts: 211
Topics: 21

PostPosted: Fri Mar 25, 2005 8:27 am    Post subject: Reply with quote

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
View user's profile Send private message
superk
Advanced


Joined: 19 Dec 2002
Posts: 684
Topics: 5

PostPosted: Fri Mar 25, 2005 8:57 am    Post subject: Reply with quote

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
View user's profile Send private message
superk
Advanced


Joined: 19 Dec 2002
Posts: 684
Topics: 5

PostPosted: Fri Mar 25, 2005 9:19 am    Post subject: Reply with quote

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
View user's profile Send private message
SureshKumar
Intermediate


Joined: 23 Jan 2003
Posts: 211
Topics: 21

PostPosted: Fri Mar 25, 2005 11:23 am    Post subject: Reply with quote

Thanks superk,
Lost focus, was was looking at other possibilities without doing the basic checks.
Back to top
View user's profile Send private message
semigeezer
Supermod


Joined: 03 Jan 2003
Posts: 1014
Topics: 13
Location: Atlantis

PostPosted: Fri Mar 25, 2005 7:54 pm    Post subject: Reply with quote

hehe... people are still writing that program Confused I think everyone writes an inline error message viewer at some point in their life with edit macros Razz 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
View user's profile Send private message Visit poster's website
sriramla
Beginner


Joined: 22 Feb 2003
Posts: 74
Topics: 1

PostPosted: Wed Apr 06, 2005 8:25 am    Post subject: Reply with quote

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
View user's profile Send private message
tattva
Beginner


Joined: 02 Feb 2005
Posts: 97
Topics: 36

PostPosted: Fri Apr 22, 2005 4:43 pm    Post subject: Reply with quote

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
View user's profile Send private message
s_shivaraj
Beginner


Joined: 21 Sep 2004
Posts: 140
Topics: 14
Location: Chennai, India

PostPosted: Mon Jun 20, 2005 2:09 am    Post subject: Reply with quote

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
View user's profile Send private message AIM Address
sriramla
Beginner


Joined: 22 Feb 2003
Posts: 74
Topics: 1

PostPosted: Mon Jun 20, 2005 12:58 pm    Post subject: Reply with quote

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
View user's profile Send private message
dtf
Beginner


Joined: 10 Dec 2004
Posts: 110
Topics: 8
Location: Colorado USA

PostPosted: Tue Jun 21, 2005 9:47 am    Post subject: Reply with quote

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
View user's profile Send private message
sriramla
Beginner


Joined: 22 Feb 2003
Posts: 74
Topics: 1

PostPosted: Mon Jun 27, 2005 7:38 pm    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> Problem Determination All times are GMT - 5 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


MVSFORUMS
Powered by phpBB © 2001, 2005 phpBB Group