IBM AS/400 manual Optimization Considerations, Using RPG-Specific Handlers, keyword, ILE

Models: AS/400

1 489
Download 489 pages 47.95 Kb
Page 250
Image 250
Optimization Considerations

The following then occurs:

1. Since there are no error indicators coded in PRC2, PRC2 cannot hand function check, and so it is unhandled.

2.Since it is a function check, an inquiry message is issued describ nating condition.

3. Depending

on the response to the inquiry message, PRC2 may be ter

and

the

exception percolated to PRC1 (response is 'C') or processing

tinue

in

PRC2 (response is 'G').

Optimization Considerations

While running a *FULL optimized program, the optimizer may keep frequent values in machine registers and restore them to storage only at prede during normal program processing. Exception handling may break this normal essing and consequently program variables contained in registers may not returned to their assigned storage locations.

Specifically, variables

may

not

contain their current values if an exce

and you recover from

it

using

one of:

¹ *PSSR error subroutine

¹ INFSR error subroutine

¹User-defined exception handler

¹

The

Go

('G')

option

from

an

inquiry

message.

 

 

 

¹

The

Retry

('R')

option

from

an

inquiry

message.

 

 

ILE

RPG

automatically

 

defines indicators

such that

they contain

their c

even with

full

optimization.

To ensure that the content of fields or d

contain

 

their

correct

(current) values, specify the NOOPT keyword on th

priate

 

Definition

specification.

 

 

 

 

 

 

For

more

 

information

on

the

NOOPT

keyword,ILE

RPGsee for

AS/400 Reference.

 

For

more

 

information

on

optimization,

see

“Changing

the

Optimization

Level”

page

87.

 

 

 

 

 

 

 

 

 

 

 

 

 

Using RPG-Specific Handlers

ILE RPG provides three ways for you to enable HLL-specific handlers a recover from the exception:

1. error indicators or 'E' operation code extender

2.INFSR error subroutine

3.*PSSR error subroutine.

You can obtain more information about the error which occurred by

co

appropriate data

structures and querying the relevant

data structure

If

you

are using

the 'E'

extender instead

of

error

indicators, the

and

file

error information

can be obtained

by

using

the %STATUS and

%ERR

built-in-functions.

226 ILE RPG for AS/400 Programmer's Guide

Page 250
Image 250
IBM AS/400 manual Optimization Considerations, Using RPG-Specific Handlers, keyword, ILE