Reputation: 203
I have a display file with code like the following:
A DSPSIZ(24 80 *DS3)
A PRINT
A ERRSFL
A INDARA
...
A R DSPBTM
A CF05
A CF01
A CF07
A OVERLAY
...
A NEWFLD R B 12 12REFFLD(FLE/MYFIELD FIELDSFILE)
A 40 DSPATR(PR)
A EDTCDE(Z)
A 59 ERRMSG('New field and Original fiel-
A d must be different.' 59)
...
And the relevent RPG code:
...
//If the old field and the new field are the same, error.
if oldfld = newfld;
*in59 = *on;
iter;
endif;
...
While debugging, I verified that right before the exfmt that *in59 is on. When the screen is displayed, though, I get nothing. The error message does not come up, the field does not get highlighted, it acts like this is a normal loop with no errors.
I have other errors using ERRMSGID, and those DO work. However, I would like to avoid having to use the message file, since this is something that will likely only be used once.
I have yet to find any online resources that have helped. Some tutorials seemed to be in the right direction (such as this one), but still have not fixed the issue.
Upvotes: 1
Views: 1078
Reputation: 591
After changing the state of *IN59, you need to issue a WRITE to the record format DSPBTM.
Upvotes: 3