|
My suggestion would be to use the DSM APIs to grab the screen content from
the terminal do it in the PSSR or directly when the error is detected.
That will give you a capture of what is _on_ the and screen will include
all of the stuff added by workstation data management. You may find that
the error is being caused by an indicator combo causing attribute
overwrites for example. It is usually that that causes this kind of
problem. You'll have to capture it from a live explosion though I suspect.
I believe there's a ready made example of this in the RPG error handling
redbook but I can't check right now.
Jon Paris
www.partner400.com
www.SystemiDeveloper.com
On Feb 5, 2019, at 7:06 PM, Dan <dan27649@xxxxxxxxx> wrote:80
We have an application that rarely bombs with RNX1251 (major return code
and minor return code C0). ("rarely" = once per week with the programthe
being called hundreds of times daily.) Several of us have interrogated
dumps, and have never found any non-displayable characters (x'00' -x'3F' &
x'FF'). Today, I went so far as to write an RPG program in which Iall
copied/pasted the hex representation (i.e., 'C4C8C5C8D9C5D9404040'X) of
of the screen's variables from the dump and used the CVTCH MI function torecord
convert them to character:
HexVal = 'C4C8C5C8D9C5D9404040';
FromHex( USERNAME : HexVal : %len( HexVal ));
(where FromHex is the prototype used to call CVTCH.)
After all of the screen variables are "filled", an EXFMT on the record
format is executed. When I call this test program, it displays the
format with no errors, with all the data as we expected it.OVERLAY
The display file has only one record format and specifies DSPSIZ(27 132
*DS4), just like all of our application display files. There is an
keyword in the record format. Other than that, it's all run of the millthen
stuff.
The description for RNX1251 says that "If the major return code is 80
a system or file error occurred and programmer action is required to fixencase
the problem." It gives no indication of what minor return code C0 means.
Is it possible that splitting the EXFMT into WRITE and READ operations
might help? (A question for Barbara?) If for no other reason, I'd
each of them in a MONITOR block. Maybe retry 3 times to see if itresolves
it?mailing list
--
This is the RPG programming on the IBM i (AS/400 and iSeries) (RPG400-L)
To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxxquestions.
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.
Please contact support@xxxxxxxxxxxx for any subscription related
link: https://amazon.midrange.com
Help support midrange.com by shopping at amazon.com with our affiliate
--
This is the RPG programming on the IBM i (AS/400 and iSeries) (RPG400-L)
mailing list
To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.
Please contact support@xxxxxxxxxxxx for any subscription related
questions.
Help support midrange.com by shopping at amazon.com with our affiliate
link: https://amazon.midrange.com
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.