IBM AS/400 manual Returning from a Main Procedure, Normal End, Returning from a Called

Models: AS/400

1 489
Download 489 pages 47.95 Kb
Page 176
Image 176

Returning from a Called Program

or

Procedure

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Multiple

PLISTs

can

appear

in

a

procedure.

However,

only

one

*ENTRY

PLIST

be

specified,

and

only

in the

 

main

procedure.

 

 

 

 

 

 

 

 

 

 

For

examples

of

 

the

 

PLIST

operation

see

Figure 47

on

page 105

and

Figure

on page 239.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Returning from a Called

 

Program

 

or

Procedure

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

When

a

program

or procedure

returns, its

call

stack

entry

 

is

removed

stack.

(If

it

 

is

a

program,

the

program

entry

procedure

 

is

removed

dure

ends

abnormally

 

when

something outside

the

procedure

ends

its

invo

For example, this would occur if an

ILE

RPG procedure

X

calls

another

(such

as

a

CL

procedure) that issues an escape message

directly

to

calling

X.

This

would

also

occur

if

the

procedure

gets

an

exception t

by

an

 

exception

handler

(a

*PSSR

or

error

indicator)

of

a

 

procedure

call

stack.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Because of the cycle code associated with main procedures, their r associated with certain termination routines. This section discusses the ways that main procedures and subprocedures can return, and the actio occur with each.

Returning from a Main Procedure

A return from a main procedure causes the following to occur:

¹ If LR is on, files are closed and other resources are freed.

¹ The procedure's call stack entry is removed from the call stack.

¹If the procedure was called by the program entry procedure, the

entry procedure is also removed from the call stack.

A main procedure returns control to the calling procedure in one of th ways:

¹ With a normal end

¹ With an abnormal end

¹ Without an end.

A description of the ways to return from a called main procedure foll

For

a

detailed

description

of where

the

LR, H1

through

H9,

and RT i

tested

in the

RPG

program

cycle, see

the

section

on the

RPG

program

ILE

RPG

for AS/400

Reference.

 

 

 

 

 

Normal End

A main

procedure ends normally and control returns to the calling procedu

the LR

indicator

is on and the H1 through H9 indicators are not on.

cator

can be set

on:

¹implicitly, as when the last record is processed from a primary or

during the RPG program cycle

¹ explicitly, as when you set LR on.

A main procedure also ends normally if:

152 ILE RPG for AS/400 Programmer's Guide

Page 176
Image 176
IBM AS/400 manual Returning from a Main Procedure, Normal End, Returning from a Called