AS/400 errors

160 pts.
Tags:
AS/400 errors
One jobs is processing 2 Million records,due to some reason,it is in MSGW wait for decimal data error.

In this scnerio,what are the actions we need to perform to reply the MSGW and remove the invalid data. ( suppose the output file doesn't journaled)

Plz tell me the steps to recover on this.

Answer Wiki

Thanks. We'll let you know when a new response is added.

A decimal data error means that you have character data in a numeric field. A program dump will give you the current value of the fields in the program. Use that to find the record in error and fix it.

======================================================

You might not be able to “recover” — it very much depends on how your program is coded. And at best, the record that is causing the problem probably will not be processed correctly.

Further, there is an excellent chance that many more records will show the same kind of problem. You are likely to get this error many more times before the job finishes. A couple million records with just a single “decimal data” error seems unlikely to me. I would expect that something like “blanks for zeros” or a similar field format method may be applied throughout the file.

I’d expect only two reasonable alternatives.

First, a reply of ‘D’ for ‘Dump’ will end the process but may dump information that lets you review what the cause was. You might then locate and fix any records that had the decimal-data problem(s) and perhaps restart the process from where it left off or run the whole thing over.

Second (a long-shot), ‘G’ for start the Cycle at ‘*GETIN’ <i>might</i> get you past this record and on to the next record. Depending on whether or not this is a Cycle program that is coded to respond well, if you’re lucky enough that this is the only bad input record (or there are only a couple bad ones), maybe this would get you through the vast majority of records. Only bad ones might be left out. You’d still need to locate and figure out what the problem was for each of the bad records. Then you’d need to run those records through after they were corrected.

If the program that is failing is yours, it needs to be changed to handle this kind of error. If it’s not your program, then the supplier should fix it and you should separately fix the input file.

Tom

Discuss This Question: 2  Replies

 
There was an error processing your information. Please try again later.
Thanks. We'll let you know when a new response is added.
Send me notifications when members answer or reply to this question.

REGISTER or login:

Forgot Password?
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy
  • Splat
    Is the data coming in corrupted or is it being corrupted in your program? I suggest taking the D option to get an RPG dump listing in hand - that'll give you more than enough information to isolate the problem.
    6,855 pointsBadges:
    report
  • graybeard52
    If you want to handle it inside the program, wrap the command that causes the error in a MONITOR block
    Monitor;
    NumField = InputFld;
    On-Error;
          ///what ever you need to do to fix
    EndMon;
    3,115 pointsBadges:
    report

Forgot Password

No problem! Submit your e-mail address below. We'll send you an e-mail containing your password.

Your password has been sent to:

To follow this tag...

There was an error processing your information. Please try again later.

REGISTER or login:

Forgot Password?
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy

Thanks! We'll email you when relevant content is added and updated.

Following