Empty/Null value field gets downloaded as Junk value when data is captured into Oracle from iSeries (Pgm written in COBOL 400)

1480 pts.
IBM iSeries
iSeries to Oracle data transfer
When no value has been moved into a particular field in a database, then the field contains Junk value. This by itself does not cause any problem in terms of the working of the application on iSeries. But when the MIS team tries to download the data into Oracle, then if the file being downloaded contains one of these junk values, then the download fails. The problem is it is extremely tedious to run through all the fields in all the files of the application to identify the existence of Junk values. What we would like to know is if IBM provides any database scanner that can identify the fields that contain Junk values.

Software/Hardware used:

Answer Wiki

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

I don’t know of an app that will automatically do this function.
A pretty simple program could be written to report files, record #, columns # containing ‘+’s.
It would be a bit harder to included the field names.
It would also be easy to replace all # with ‘ ‘, (assuming all the fields in error are char type.)

Since you don’t see the +++ with dsppfm, the +++ isn’t in the physical record
But you know which field shows it when you select * from myfile. That field is numeric???
It contains a bad value.

What to do?
1. Check the journals for that file – they should identify the jobs/programs that changed the data and you should be able to find the one event that put bad data into that field.
2. That program doesn’t describe that field correctly.


Discuss This Question: 6  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.
  • Teandy
    You could also use something like Hawkeye or Absrtact/Probe to find where the file/field is being updated. That way you can fix the root of the problem.
    5,860 pointsBadges:
  • Yorkshireman
    Teandy - That's a good thought, which suggests.. Is the file journalled? If not, journal it, then check the journal for the record creates until you identify where the bad values are coming from. Go to that program and have it insert correct null values - Nulls (x'00' ) blanks or zeros. on iSeries, a field which is not initialised will not contain 'junk' defining junk as a random assortment of byte values It will have a constant set of values. A badly behaved program may insert random characters, in which case you should correct the program fault. You have, of course, checked obvious stuff like CCSID's and any translation happening into Oracle. From the last time this question was asked - had we established that the data is correct on the iSeries? wherabouts in the overall process the unwanted values appear? If the receivers of the data don't want the content of the fields, tell them to drop them from their transfer. Sheesh - are they men or mice? Seems like old fashioned - start at the beginnning and check each step along the way will at least localise the issue - then we can look at specifics. At present, this is only slightly more than 'My computer doesn't work'
    6,085 pointsBadges:
  • JohnsonMumbai
    This normally happens when we have program promotion and when there is change is file structure. It has been some time since the last occurrence and will certainly follow the advise given the next time we have a program promotion or a file structure change.
    1,480 pointsBadges:
  • JohnsonMumbai
    This week we had a case where we are able to view ++++++ in the field when we do a wrkqry or a STRSQL on the record containing junk. However when we do DSPPFM or SELECT * FROM WHERE FIELDNAME LIKE '+++' the record does not appear.
    1,480 pointsBadges:
  • NullFields
    +++++ is the display value used by tools like STRSQL or QRY when the hex codes of the data result in a field that cannot be displayed by the 5250 data stream.
    880 pointsBadges:
  • Rlsantucijr
    The '++++'s you see are SQL's way of displaying unprintable or invalid values. You cannot search for them. I have to agree with YorkshireMan - journal the file. That will tell you exactly what is causing the problem. You could also try a trigger program.
    445 pointsBadges:

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.

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


Share this item with your network: