IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

R0028 abend code


IBM Mainframe Forums -> ABENDS & Debugging
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
JuMarc

New User


Joined: 28 Apr 2009
Posts: 10
Location: São Paulo - Brazil

PostPosted: Tue Apr 28, 2009 5:08 am
Reply with quote

Hi!
I am analysing an abend, but it didn't give me any hint about what it is. icon_eek.gif I have 2 input files giving one output file. The program is made in COBOL. The output file is empty.

Does anyone have any idea about what it can be? icon_question.gif

thank you
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19243
Location: Inside the Matrix

PostPosted: Tue Apr 28, 2009 5:39 am
Reply with quote

Hello and welcome to the forums,

Why do you believe you are working on an abend?

Quote:
Does anyone have any idea about what it can be?
Yes, what is wrong can be determined. . .

Re-compile the with this
Code:
           DISPLAY 'PROGRAM STARTED'.
as the first instruction in the PROCEDURE eivision.

Submit the jcl (post the jcl here also using the "Code" tag).

Post what is in the output queue when this job is run - there will be at least 3 queued output files.

You need to remove your contzct info from your signature.
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19243
Location: Inside the Matrix

PostPosted: Tue Apr 28, 2009 5:50 am
Reply with quote

Hello,

I just noticed your title - R0028 abend code. Where do you see this?
Back to top
View user's profile Send private message
CICS Guy

Senior Member


Joined: 18 Jul 2007
Posts: 2146
Location: At my coffee table

PostPosted: Tue Apr 28, 2009 6:14 am
Reply with quote

Quote:
Does anyone have any idea about what it can be?
You need to look at the program and see WHY it abended with that code!
Awaiting your reply.
Back to top
View user's profile Send private message
JuMarc

New User


Joined: 28 Apr 2009
Posts: 10
Location: São Paulo - Brazil

PostPosted: Tue Apr 28, 2009 6:14 pm
Reply with quote

Hello, CICS Guy, I've already did it, but I don't have anything in dumpmaster about that. Actually, the process didn't stopped, the next step ran normally, so for CA-7 it was not considered as an abend. But we need to discover why the output file is empty and the code is 0028.

Code:
.05.25.45 JOB17277  MVS0010I CHFAPZSQ 09.092 H JS010    PS120    ** R0000 **   
.05.25.45 JOB17277  MVS0010I CHFAPZSQ 09.092 H JS010    PS130    ** R0000 **   
.05.25.45 JOB17277  MVS0010I CHFAPZSQ 09.092 H JS010    PS140    ** R0028 **   
.05.25.46 JOB17277  MVS0010I CHFAPZSQ 09.092 H JS010    PS150    ** R0000 **   
.05.25.46 JOB17277  IEF404I CHFAPZSQ - ENDED - TIME=05.25.46                   
.05.25.46 JOB17277  MFA1032I J17277 CHFAPZSQ CL=H ENDED AT 05:25:46 MAXRC=R0028
.05.25.46 JOB17277  $HASP395 CHFAPZSQ ENDED     2,149 LINES          0 CARDS


Code:
.****************************************
.*    START OF WPZPBY18 PROGRAM         *
.*                                      *
.****************************************
. PROCESS DATE:  20090402                 
.****************************************
.*      END OF WPZPBY18 PROGRAM         *
.*                                      *
.****************************************
.*      WPZPBY18 STATISTICS             *
.****************************************
. - RECS. READ    I-SAVINGS: 000000132   
. - RECS. READ    I-VOLPROD: 000000041   
. - RECS. WRITTEN O-SAVINGS: 000000000   
.****************************************


Dick Scherrer, as you can see in the pictures, the program has already a "start program" display. Well, I think i'll put some more displays into the program while you answer my question.

Thanks for all!
Back to top
View user's profile Send private message
CICS Guy

Senior Member


Joined: 18 Jul 2007
Posts: 2146
Location: At my coffee table

PostPosted: Tue Apr 28, 2009 6:30 pm
Reply with quote

MOVE 28 to RETURN-CODE.
STOP RUN.
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8700
Location: Dubuque, Iowa, USA

PostPosted: Tue Apr 28, 2009 6:33 pm
Reply with quote

This is an application program. If it is COBOL, somewhere in the code it is setting RETURN-CODE to 28. If it is another language, the equivalent is being done by the program code. You need to find what conditions cause this to happen. This is not an error anyone on this forum can help you with as it is very specific to your program running on your site, not a utility or other tool
Back to top
View user's profile Send private message
JuMarc

New User


Joined: 28 Apr 2009
Posts: 10
Location: São Paulo - Brazil

PostPosted: Tue Apr 28, 2009 6:35 pm
Reply with quote

Yes, it is a COBOL program.
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8700
Location: Dubuque, Iowa, USA

PostPosted: Tue Apr 28, 2009 6:38 pm
Reply with quote

So pull up your source code, find the MOVE 28 TO RETURN-CODE and trace back to figure out why that happened.
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19243
Location: Inside the Matrix

PostPosted: Tue Apr 28, 2009 7:12 pm
Reply with quote

Hello,

Have you verified the record counts for the input files is the same as the number of records in the files?

Might the 28 be caused by zero records being written to the output file?

Might there be nothing wrong at all - other than understanding the rc=28?
Back to top
View user's profile Send private message
JuMarc

New User


Joined: 28 Apr 2009
Posts: 10
Location: São Paulo - Brazil

PostPosted: Tue Apr 28, 2009 7:16 pm
Reply with quote

Yes, I am including some displays and call abend rotine, so I can understand better why rc=28 code. As sson as I ran the progam again, i tell you.

Thanks,
Back to top
View user's profile Send private message
CICS Guy

Senior Member


Joined: 18 Jul 2007
Posts: 2146
Location: At my coffee table

PostPosted: Tue Apr 28, 2009 7:33 pm
Reply with quote

JuMarc wrote:
Yes, I am including some displays and call abend rotine, so I can understand better why rc=28 code. As sson as I ran the progam again, i tell you.
Don't forget to display the special register RETURN-CODE.
Back to top
View user's profile Send private message
JuMarc

New User


Joined: 28 Apr 2009
Posts: 10
Location: São Paulo - Brazil

PostPosted: Wed Apr 29, 2009 9:51 pm
Reply with quote

Hello, guys,

I did what you told me to do, and included a lot of displays in my program. Then I realized something is wrong when calling the routine WAASDATE. How can I see intern routines? I've already taken a look in Footprint, but there only the includes are expanded, not the internal routines.

The program is abending when calling WAASDATE. The date field in input file is empty, then it gives me RETURN-CODE 28. But when I fill date field with 03.15.2009, the RETURN-CODE is 08. However, I can't know the correct date format, it only shows that is 10 alphanumeric positions.

Then I'd like to see how this routine works to have an ideia how to fix it. Because there is an IF to show the wrong-date when RETURN-CODE is not = 0, but it is showing 9999999... That is set when declaring the field.

Code:
WORK AREA FOR WAASDATE                                     
01 W-DATE-AREA.                                             
   04 W-FUNCTION-CODE             PIC X.                   
   04 W-FORMAT-1                  PIC XX.                   
   04 W-DATE-1                    PIC X(18).               
   04 W-FORMAT-2                  PIC XX.                   
   04 W-DATE-2                    PIC X(18).               
   04 W-RETURN-CODE               PIC S9(8) COMP SYNC.     
01  W-DOUBLE                PIC S9(16) BINARY SYNC VALUE +0.


Code:
01  C-WRONG-DATE.                                       
    03 C-WRONG-DATEYM.                                 
       05 C-WRONG-DATEY   PIC X(04) VALUE '9999'.       
       05 C-WRONG-DATEM   PIC X(02) VALUE '99'.         
    03 C-WRONG-DATED      PIC X(02) VALUE '99'.         
    03 C-WRONG-DATER      PIC X(10) VALUE '9999999999'.


Code:
 S0020-EFDT-PLUS-11-MONTHS.                       
*                                                 
     MOVE 16                 TO   DATEJ-FORMAT-CODE
     MOVE W-EFCTV-DT         TO   DATEJ-GIVEN-DATE
     MOVE ZERO               TO   DATEJ-YEARS-ADJU
     MOVE 11                 TO   DATEJ-MONTHS-ADJU
     MOVE ZERO               TO   DATEJ-DAYS-ADJU 
     CALL 'WAASDATJ'  USING                       
           DATEJ-WORK-AREA                         
     END-CALL                                     
     IF W-RETURN-CODE = +0                         
        MOVE DATEJ-GIVEN-DATE  TO W-DATE-1         
     ELSE                                         
        MOVE C-WRONG-DATE      TO W-DATE-1         
     END-IF                                       
     MOVE '0'                  TO W-FUNCTION-CODE 
     MOVE '16'                 TO W-FORMAT-1       
     MOVE '22'                 TO W-FORMAT-2       
     CALL 'WAASDATE'           USING W-DATE-AREA   
                               W-DOUBLE           
     END-CALL                                     
**** here it is returning 28 code *******
     IF W-RETURN-CODE = +0                       
        MOVE W-DATE-2          TO W-PLUS-11-MTH   
     ELSE                                         
        MOVE C-WRONG-DATE      TO W-PLUS-11-MTH   
     END-IF                                       
*                                                 
     MOVE '0'                  TO W-FUNCTION-CODE
     MOVE '16'                 TO W-FORMAT-1     
     MOVE '22'                 TO W-FORMAT-2     
     MOVE W-EFCTV-DT           TO W-DATE-1       
     CALL 'WAASDATE'           USING W-DATE-AREA 
                               W-DOUBLE           
     END-CALL                                     
     IF W-RETURN-CODE = +0                       
        MOVE W-DATE-2          TO W-EFECTIVE-DT   
     ELSE                                         
        MOVE C-WRONG-DATE      TO W-EFECTIVE-DT   
     END-IF                                       
*                                                 
*S0020-EFDT-PLUS-11-MONTHS. 
     EXIT.                   


Actually, the program is not abending really, it returns code 28, but continues to run, and the next step of JCL runs too. After know how to fix it, obviously I'll need to include a routine to "take care" of the abend and then stop the program.

Thank you very much,
Back to top
View user's profile Send private message
William Thompson

Global Moderator


Joined: 18 Nov 2006
Posts: 3156
Location: Tucson AZ

PostPosted: Wed Apr 29, 2009 10:44 pm
Reply with quote

If WAASDATE is also a cobol program, check to see if it is setting the COBOL return code in addition to W-RETURN-CODE.
If it is, reset the COBOL return code to zero while correcting the error.
Back to top
View user's profile Send private message
JuMarc

New User


Joined: 28 Apr 2009
Posts: 10
Location: São Paulo - Brazil

PostPosted: Wed Apr 29, 2009 10:54 pm
Reply with quote

Sorry, the routine is external.

Thank you very much,
Back to top
View user's profile Send private message
JuMarc

New User


Joined: 28 Apr 2009
Posts: 10
Location: São Paulo - Brazil

PostPosted: Wed Apr 29, 2009 10:57 pm
Reply with quote

William Thompson wrote:
If WAASDATE is also a cobol program, check to see if it is setting the COBOL return code in addition to W-RETURN-CODE.


This is the problem, I can't see WAASDATE, and I don't know how to find it. A person told me it can be a program that was set togheter the environment and can't see it. Do you know if it's true?
Back to top
View user's profile Send private message
CICS Guy

Senior Member


Joined: 18 Jul 2007
Posts: 2146
Location: At my coffee table

PostPosted: Wed Apr 29, 2009 11:13 pm
Reply with quote

JuMarc wrote:
This is the problem, I can't see WAASDATE, and I don't know how to find it. A person told me it can be a program that was set togheter the environment and can't see it. Do you know if it's true?
Either way, just "reset the COBOL return code to zero while correcting the error"......
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10886
Location: italy

PostPosted: Wed Apr 29, 2009 11:24 pm
Reply with quote

there are a few hits for waasdate in google
my guess is that it is a subroutine for date manipulation written by EDS
I found a few references on WAA.... stuff being written by EDS
( WAAPDSUT is one for example, and in one hit of a WAAPDSUT script there is a reference to WAASDATE )
Back to top
View user's profile Send private message
JuMarc

New User


Joined: 28 Apr 2009
Posts: 10
Location: São Paulo - Brazil

PostPosted: Wed Apr 29, 2009 11:27 pm
Reply with quote

CICS Guy wrote:
Either way, just "reset the COBOL return code to zero while correcting the error"......


Well, this is not the real problem, we have already forced complete the job, but the process will run this Monthend and we need at least a temporary solution. The problem is my output file is empty and it should not be. The record is not written because the condition code I told before.

Thanks
Back to top
View user's profile Send private message
JuMarc

New User


Joined: 28 Apr 2009
Posts: 10
Location: São Paulo - Brazil

PostPosted: Wed Apr 29, 2009 11:31 pm
Reply with quote

enrico-sorichetti wrote:
there are a few hits for waasdate in google
my guess is that it is a subroutine for date manipulation written by EDS
I found a few references on WAA.... stuff being written by EDS
( WAAPDSUT is one for example, and in one hit of a WAAPDSUT script there is a reference to WAASDATE )


Hi Enrico, you are right, I work for this company! But anybody here can tell me how can I see the code of these subroutines!! icon_sad.gif I just want to know this...
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10886
Location: italy

PostPosted: Wed Apr 29, 2009 11:44 pm
Reply with quote

since You work for them,
it would be strange for us to be able to get more info than You icon_biggrin.gif
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19243
Location: Inside the Matrix

PostPosted: Wed Apr 29, 2009 11:55 pm
Reply with quote

Hello,

Suggest you look at the record in the file before the record with the bad date - this will show you the format of the date.

Someone needs to make a decision on what should happen when the input date is missing - should some default date (today?) be used or should the record be skipped, or should the run be terminated (as it is now).

In the problem program you might change the missing date to the default date if such a decison can be made.

Coding around the problem should not be difficult once the "rules" are known.

As others have mentioned, you should be able to find all of the info about an eds module from eds. . .
Back to top
View user's profile Send private message
JuMarc

New User


Joined: 28 Apr 2009
Posts: 10
Location: São Paulo - Brazil

PostPosted: Thu Apr 30, 2009 1:05 am
Reply with quote

Thank you everybody for all your help. You helped me to have an ideia on how to begin, then I found the issue is in the date. I didn't know WAA* was only EDS utilities. And here we no longer have experienced people, as many of them were dismissed with HP buying. Finally after a great search I found people from other groups that still have these kind of knowledge and will help me in my desk.

Sorry for my small experience.
As soon as I fix the issue. I tell you.

Thanks for while.

* Scherrer, all the records in file has spaces in date field, it's why I couldn't know the format. icon_wink.gif
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19243
Location: Inside the Matrix

PostPosted: Thu Apr 30, 2009 1:25 am
Reply with quote

Quote:
all the records in file has spaces in date field, it's why I couldn't know the format.
Bummer. . .

Good luck - someone will be here when there are questions icon_smile.gif

d
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> ABENDS & Debugging

 


Similar Topics
Topic Forum Replies
No new posts Call an hlasm from REXX in batch and ... CLIST & REXX 4
No new posts What is the most complex abend you've... Mainframe Interview Questions 8
No new posts run rexx code with jcl CLIST & REXX 15
No new posts Compile rexx code with jcl CLIST & REXX 6
No new posts ISAM and abend S03B JCL & VSAM 10
Search our Forums:

Back to Top