Portal | Manuals | References | Downloads | Info | Programs | JCLs | Master the Mainframes
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Usergroups Profile Log in to check your private messages Log in
 

 

R0028 abend code
Goto page 1, 2  Next
 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> ABENDS & Debugging
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    Post subject: R0028 abend code
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

Site Director


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

PostPosted: Tue Apr 28, 2009 5:39 am    Post subject:
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

Site Director


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

PostPosted: Tue Apr 28, 2009 5:50 am    Post subject:
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: 2150
Location: At my coffee table

PostPosted: Tue Apr 28, 2009 6:14 am    Post subject:
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    Post subject:
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: 2150
Location: At my coffee table

PostPosted: Tue Apr 28, 2009 6:30 pm    Post subject:
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: 7913
Location: Bellevue, IA

PostPosted: Tue Apr 28, 2009 6:33 pm    Post subject:
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    Post subject:
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: 7913
Location: Bellevue, IA

PostPosted: Tue Apr 28, 2009 6:38 pm    Post subject:
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

Site Director


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

PostPosted: Tue Apr 28, 2009 7:12 pm    Post subject:
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    Post subject:
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: 2150
Location: At my coffee table

PostPosted: Tue Apr 28, 2009 7:33 pm    Post subject:
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    Post subject:
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: 3158
Location: Tucson AZ

PostPosted: Wed Apr 29, 2009 10:44 pm    Post subject:
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    Post subject:
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    Post subject:
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: 2150
Location: At my coffee table

PostPosted: Wed Apr 29, 2009 11:13 pm    Post subject:
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

Global Moderator


Joined: 14 Mar 2007
Posts: 10203
Location: italy

PostPosted: Wed Apr 29, 2009 11:24 pm    Post subject: Reply to: R0028 abend code
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    Post subject:
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    Post subject: Re: Reply to: R0028 abend code
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
View previous topic :: :: View next topic  
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> ABENDS & Debugging All times are GMT + 6 Hours
Goto page 1, 2  Next
Page 1 of 2

 

Search our Forum:

Similar Topics
Topic Author Forum Replies Posted
No new posts PL/I code tuning/Performance improvement Virendra Shambharkar PL/I & Assembler 4 Mon Dec 05, 2016 11:57 am
No new posts What is the code in CLIST to enable t... jackzhang75 CLIST & REXX 1 Fri Dec 02, 2016 3:02 am
No new posts IDEAL - Code Retrieval yugendran CA Products 0 Fri Nov 25, 2016 3:27 pm
No new posts IMS BMP program causes 878 system abend Artemk IMS DB/DC 7 Tue Nov 22, 2016 8:26 pm
No new posts abend sort based on count records in ... anatol DFSORT/ICETOOL 5 Mon Oct 17, 2016 10:10 pm


Facebook
Back to Top
 
Mainframe Wiki | Forum Rules | Bookmarks | Subscriptions | FAQ | Tutorials | Contact Us