× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



I did a quick test of this where Junk is too small to hold value. It still
reported back to the Validate1() from the mainline.

Dou *Inlr = *On;
Validate1();
Enddo;
*Inlr = *On;

Dcl-proc Validate1;

Junk = 10000;
On-exit Crash;
If Crash;
DumpIt();
Endif;
End-proc;

Dcl-proc DumpIt;
Dump(a);
End-proc;

On Thu, Aug 8, 2019 at 1:45 PM Jon Paris <jon.paris@xxxxxxxxxxxxxx> wrote:

You can of course use on-exit to detect in the subproc itself that an
error occurred. A that point it is possible that the PSDS might have the
line number in error. Can't test right now.



On Aug 8, 2019, at 10:01 AM, Therrien, Paul via RPG400-L <
rpg400-l@xxxxxxxxxxxxxxxxxx> wrote:

I think the issue you are encountering is that the default RPG error
handling doesn’t kick in within procedures. The error occurs in the
procedure, but the RPG program only handles errors within the main program
body (mainline and subroutines).

From the manual:

Exception handling within a subprocedure differs from a cycle-main
procedure primarily because there is
no RPG cycle code generated for subprocedures. As a result there is no
default exception handler for
subprocedures and so situations where the default handler would be
called for a cycle-main procedure
correspond to abnormal end of the subprocedure. This means that:
v Factor 2 of an ENDSR operation for a *PSSR subroutine within a
subprocedure must be blank. A blank
factor 2 in a cycle-main procedure would result in control being passed
to the default handler. In a
subprocedure, if the ENDSR is reached, then the subprocedure will end
abnormally and RNX9001 will
be signalled to the caller of the subprocedure.
v If there is no *PSSR and a function check occurs, the procedure is
removed from the call stack and the
exception is percolated to the caller.
v Since an inquiry message is never issued for an error in a
subprocedure, you do not have access to the
'Retry' function available for some I/O errors. If you expect
record-lock errors in a subprocedure, you
should code an error indicator or an 'E' extender and check if the
status is related to a record being
locked.


-----Original Message-----
From: RPG400-L [mailto:rpg400-l-bounces@xxxxxxxxxxxxxxxxxx] On Behalf
Of Steve Jones
Sent: Thursday, August 8, 2019 9:34 AM
To: RPG programming on IBM i <rpg400-l@xxxxxxxxxxxxxxxxxx>
Subject: Re: Program Dump listing

We have Ctl-opt option(*srcstmt :*nodebugio:*noshowcpy);

On Thu, Aug 8, 2019 at 9:07 AM Rettig, Roger <roger.rettig@xxxxxxxx>
wrote:

Add this line to your H specs or compile program with *SRCSTMT H
OPTION(*SRCSTMT)

On Thu, Aug 8, 2019 at 8:33 AM Steve Jones <sjones@xxxxxxxxxxxxxxx>
wrote:

I thought this question was posted before, but a search didn't return
it.

If we have a program fail, the dump reports:
Statement in Error . . . . . . . . . . : 00002700

Unfortunately, that is where the Procedure is being called and not
the actual line of code that is failing.

What can we do to get the dumps to report the actual line that is
failing?
Is it compile options that we may need to change?


--
Steve Jones
H-P Products, Inc

--
NOTE: The information in this email is confidential and may be
legally privileged. If you are not the intended recipient, you must
not read, use or disseminate the information; please advise the
sender immediately by reply email and delete this message and any
attachments without retaining a copy. Although this email and any
attachments are believed to be free of any virus or other defect
that may affect any computer system into which it is received and
opened, it is the responsibility of the recipient to ensure that it
is virus free and no responsibility is accepted by H-P Products,
Inc. for any loss or damage arising in any way from its use.
--
This is the RPG programming on IBM i (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



--
Roger Rettig
Business Analyst

Tel: (513) 367-7583
roger.rettig@xxxxxxxx
--
This is the RPG programming on IBM i (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



--
Steve Jones
H-P Products, Inc
330-871-2054

--
NOTE: The information in this email is confidential and may be legally
privileged. If you are not the intended recipient, you must not read, use
or disseminate the information; please advise the sender immediately by
reply email and delete this message and any attachments without retaining a
copy. Although this email and any attachments are believed to be free of
any virus or other defect that may affect any computer system into which it
is received and opened, it is the responsibility of the recipient to ensure
that it is virus free and no responsibility is accepted by H-P Products,
Inc. for any loss or damage arising in any way from its use.
--
This is the RPG programming on IBM i (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
--
This is the RPG programming on IBM i (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

--
This is the RPG programming on IBM i (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 thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

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.