MSGW on my system I7

Posted on 2011-10-26
Medium Priority
Last Modified: 2012-05-12
I have this MSGW status for this job and typed all of the replys but it won't go away?

Message ID . . . . . . :   RNQ0112       Severity . . . . . . . :   99        
Message type . . . . . :   Inquiry                                            
Date sent  . . . . . . :   10/25/11      Time sent  . . . . . . :   14:39:55  
Message . . . . :   Date, Time or Timestamp value is not valid (C G D F).    
Cause . . . . . :   RPG procedure BWR_WRKORD in program BLUEW/BWR_WRKORD, at  
  statement 768 referenced a Date, Time or Timestamp variable which contained
  a value which is not valid.  Some examples of values which are not valid    
    -- A date of 1994/02/31, which is not possible.                          
    -- A time of 01/03:04, which does not have correct separators.            
Recovery  . . . :   Contact the person responsible for program maintenance to
  determine the cause of the problem.                                        
Possible choices for replying to message . . . . . . . . . . . . . . . :      
 D -- Obtain RPG formatted dump.    
S -- Obtain system dump.            
F -- Obtain full formatted dump.    
C -- Cancel.                        
G -- Continue processing at *GETIN.                                          
Question by:HBMI
  • 3
  • 2
  • 2
  • +2
LVL 13

Expert Comment

ID: 37031259
If you answer D to the message, then a dump will be produced that will help resolve what field is in error.
If a subsequent message appears, then you can cancel using C or perhaps I to ignore if skipping this program step makes sense from overall job standpoint.

Failing that, you can always cancel the job from Work Active Jobs WRKACTJOB, using option 4, but this should not be required.


Author Comment

ID: 37031632
I have done D, S, F, C, G and restarted the job but still goes to MSGW.
LVL 18

Expert Comment

by:Dave Ford
ID: 37031692

It's pretty simple, isn't it? The program tried to write a date that wasn't formatted correctly. You could answer the message with a "C" to cancel the job, but you might have to do a "C" a few times to get out of the whole program stack.

Then, the task becomes finding the source of the invalid data and fixing it.

2018 Annual Membership Survey

Here at Experts Exchange, we strive to give members the best experience. Help us improve the site by taking this survey today! (Bonus: Be entered to win a great tech prize for participating!)

LVL 13

Expert Comment

ID: 37031700
The problem is likely in the data. When the job is submitted again, the same error will occur if the problem is in a file itself. If so, you need to find out which record in the file is causing the problem. Check the dump for this information.


Author Comment

ID: 37031734
How do I check the dump?  Sorry not too savy with all of this.  I will try c a few more times.
LVL 36

Accepted Solution

Gary Patterson earned 2000 total points
ID: 37031981
This is typically a problem that a programmer would resolve.  Do you have an AS/400 programmer that can help you?  If the problem happens every time you restart the program, then there is -probably- some invalid data in a file that is being processed by this program, and the problem will continue until someone corrects the data problem in the underlying file.   To do this, you must:

- Identify the failing line of code (line 768).
- Review a compiler listing of the program, and/or the dump produced, and determine the source of the invalid data.
- Correct the invalid data and re-run the job.  Bear in mind that it is not always safe to just simply restart a program that terminated abnormally.  Sometimes, a failing program may produce partial results that need to be rolled back or corrected, or files need to be restored or reloaded, or other steps taken to properly rest the system to allow the job to be re-run.

This is why it is a good idea to engage a programmer that is familiar with the system and process.

It would also be a good idea, if possible, to modify the program to handle this error condition gracefully if it happens again in the future.

When you take option "D", a dump will appear in the spooled files of the job in question.  The spooled file will be named QPPGMDMP.  The dump contains a lot of information about what was happening in the program at the time of the error, including:

- What files were open.
- The status of those files, including the contents of the file IO buffers.
- The contents of all of the variables in the program.

Since the error makes it clear that the problem is in line 768 of the program (that is the line number from the compiler listing), and that it is due to bad Date/Time/Timestamp information, it shouldn't be too hard to figure out.  If you recompile that program and look at the listing, you will be able to quickly see what line of code has the problem.

Here is some documentation on reading a dump:


Consider using Navigator to convert the dump to a text file and post the dump here for the experts to review.  Here's how to do that:


- Gary Patterson

Author Comment

ID: 37033973
Line 768 reads

Clear             phname30
LVL 36

Expert Comment

by:Gary Patterson
ID: 37034649
A CLEAR operation on what I would guess is a 30-byte alphanumeric field (I'm just guessing based on the field name) cannot generate that error.  I'm guessing that you are looking at line 768 in SEU, and not the compile listing.

Recompile the module, and look at the listing that is generated.  You want listing line 768, not source line 768.

Also suggest you post that dump.

- Gary Patterson
LVL 27

Expert Comment

ID: 37034918
Also, you shouldn't be entering any reply other than 'C' or 'D' for that message. You really don't want to be replying with 'S' (to any message, unless IBM asks you to.)

Note that either reply might simply be handled by the programming in such a way that the failing program gets called again in the job. Without knowing the programming in the job, there's no way to be certain what the behavior will be.

A 'C'ancel reply will cancel a program, but won't necessarily end the entire job. Previous suggestions on ending the job are the best choices once a 'D'ump has been obtained.


Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

The onset of year 2018 has been a usual business for IT teams still struggling to find their way out in terms of strengthening their cloud security.
Washington based MSP turned to OnPage to solve their needs for after-hours alerting when customers’ technologies failed. In this post  see how DNS benefited from rolling out OnPage as a solution: -Preserve their SLAs -Improve response time by…
Kernel Data Recovery is a renowned Data Recovery solution provider which offers wide range of softwares for both enterprise and home users with its cost-effective solutions. Let's have a quick overview of the journey and data recovery tools range he…
SQL Database Recovery Software repairs the MDF & NDF Files, corrupted due to hardware related issues or software related errors. Provides preview of recovered database objects and allows saving in either MSSQL, CSV, HTML or XLS format. Ensures recov…
Suggested Courses

599 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question