When using SND-MSG also take a look at the %TARGET function.
[1]%TARGET
(program-or-procedure [2]apple-touch-icon.png
{ : offset } )
ibm.com
You can send the *ESCAPE message explicitly to a special target - default
is *CALLER. But if you want to make sure, the your program is aborted, you
maybe want to send the message further up into the call stack - like this:
snd-msg *ESCAPE ‘Abort!’
%target(psds.pgm:2);
where ‘psds.pgm’ is the program name subfield of the program status data
structure.
This would send the message to the caller of your “main program” -
“jumping” over the PEP.
SND-MSG and %TARGET are incredibly powerful - but always keep in mind,
that you can catch those messages with MONITOR/ON-ERROR/ON-EXCP or MONMSG
at the intended target.
HTH
Daniel
Von meinem iPhone gesendet
Am 08.01.2023 um 05:23 schrieb smith5646midrange@xxxxxxxxx:
I want the program to abend. Doing a "return" inside of a procedure
returns from the procedure. It does not force an exit from the program
so the line after that procedure call is still executed.
The snd-msg *escape seems to be the best approach to immediately kill
it.
-----Original Message-----
From: RPG400-L <rpg400-l-bounces@xxxxxxxxxxxxxxxxxx> On Behalf Of
DFreinkel
Sent: Saturday, January 7, 2023 7:41 PM
To: RPG programming on IBM i <rpg400-l@xxxxxxxxxxxxxxxxxx>
Subject: Re: *INH1
Why don’t you just set on LR and do a return?
Works for me.
Darryl Freinkel
iPad
On Jan 7, 2023, at 4:10 PM, Javier Sanchez
<javiersanchezbarquero@xxxxxxxxx> wrote:
Maybe use the "C" exit(-1) function.
This simply gets you totally out of the program, no matter where you
call it. The -1 is only one example, you could also use exit(0) as
well.
Javier.
--
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@xxxxxxxxxxxxxxxxxxxx for any subscription
related questions.
--
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@xxxxxxxxxxxxxxxxxxxx for any subscription related
questions.
--
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@xxxxxxxxxxxxxxxxxxxx for any subscription related
questions.
References
Visible links
1.
https://www.ibm.com/docs/en/i/7.3?topic=functions-target-program-procedure-offset
2.
https://www.ibm.com/docs/en/i/7.3?topic=functions-target-program-procedure-offset
As an Amazon Associate we earn from qualifying purchases.