Exception Handling Overview

¹ If there is no

*PSSR and

a

function check occurs, the procedure

i

from

the

call stack

and

the

exception

is percolated

to

the

caller.

¹ Since

an

inquiry

message

is

never issued for an error in

a

subproc

do not have access to the

'Retry' function

available

for

some

I/O

expect record-lock errors

in

a subprocedure,

you should

code

an

e

or an

'E'

extender

and check if the

status

is related

to

a

recor

Note that the PSDS and INFDS have module scope. Both main procedures an subprocedures can access them.

 

TIP

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A *PSSR

is local

to

the procedure

in

which it is coded;

therefore,

common

error routine, you

can code

a

procedure to handle

the error

the procedure

from

each

local *PSSR.

 

 

 

 

 

 

 

 

 

 

 

Differences

between

OPM

and

ILE

RPG

Exception

Handling

 

 

 

 

 

 

 

 

 

 

For

the

most

part,

exception

handling

behaves

the

same

in

OPM

RPG

and

RPG. The

key

difference

lies

 

in

the

area

of

unhandled

exceptions.

 

In

OPM,

if

an

exception

occurs

and

there

is

no

RPG-specific

handler

e

an

inquiry message

is

issued.

In

ILE,

this

will

only occur

if

the

ex

tion check. If it is

not,

then the

exception will

be

passed

to

the

dure

or

program,

and

any

eligible

higher call stack entries are given

handle

the

exception.

For

 

example,

consider

the

following

example:

 

 

¹

PGM

A

calls

PGM

 

B,

which

in

turn

calls

PGM

C.

 

 

 

 

 

 

 

 

 

¹

PGM

B

has

an

error

indicator coded for the call.

 

 

 

 

 

 

¹

PGM

C

has

no

error

indicator

or

*PSSR

error

subroutine

coded.

 

 

 

¹PGM C gets an exception.

In OPM, an inquiry message would be issued for PGM C. In ILE, the ex percolated to PGM B, since it is unhandled by PGM C. The error indicat B is turned on allowing PGM B to handle the error, and in the process abnormally. There is no inquiry message.

If

PGM C

has

a

*PSSR

error subroutine

coded,

then in both OPM and ILE,

exception

is

handled by PGM C and the error

subroutine

is run.

Note:

Inquiry

messages

issued by ILE

RPG will start with

the prefix '

 

'RPG',

as

in

OPM

RPG.

 

 

 

Certain behavioral differences exist for some specific errors. See Ap “Behavioral Differences Between OPM RPG/400 and ILE RPG for AS/400” on page 373 for further information.

222 ILE RPG for AS/400 Programmer's Guide

Page 246
Image 246
IBM AS/400 manual Opm, Pgm C

AS/400 specifications

The IBM AS/400, now known as the IBM iSeries, is a midrange computer system that has been a cornerstone of enterprise computing since its introduction in 1988. Designed to provide a robust platform for business applications, the AS/400 is celebrated for its reliability, scalability, and integrated database capabilities.

One of the key features of the AS/400 is its Integrated Operating Environment, which blends hardware and software resources seamlessly. This integration allows businesses to execute diverse workloads, ranging from traditional applications to modern web-based services, all on a single platform. The operating system, OS/400 (now IBM i), offers a rich set of APIs and tools for developers, simplifying application development and management.

Another standout characteristic of the AS/400 is its built-in database, DB2 for i. This powerful relational database management system allows for efficient data handling and provides advanced features such as support for SQL, XML, and JSON, making it easier for businesses to manage their data and integrate it with other systems. The database's tight integration with the operating system enables high performance and security.

In terms of scalability, the AS/400 can accommodate small businesses as well as large enterprises, with the ability to support hundreds of users simultaneously. Its architecture allows for easy upgrades in hardware, meaning that organizations can scale their systems without replacing the entire infrastructure.

Security is another critical attribute of the AS/400. With a sophisticated security model, it offers built-in user authentication, access control, encryption, and auditing capabilities to protect data and applications from unauthorized access.

The AS/400 also supports multiple programming languages, including RPG, COBOL, Java, and PHP, giving organizations the flexibility to choose the development tools that best fit their needs. This diversity helps maintain legacy applications while also developing new ones that leverage modern technologies.

Moreover, the platform supports both traditional green-screen interfaces and modern graphical user interfaces, allowing organizations to transition smoothly into contemporary user experience paradigms.

Overall, the IBM AS/400 stands out as a resilient, flexible, and secure computing platform that enables organizations to effectively manage their business operations, streamline processes, and adapt to changing market demands. Its unique combination of integrated features and capabilities ensures that it remains relevant in today's fast-paced technology landscape.