Using Exception Handlers

(when R is chosen). For example, any read operation will be retrie failed because of record locking.

For other

types of

messages

the

exception

is

percolated up

the

call

stack

caller

of

the

procedure. That procedure

is

presented

with

the

exce

chance

to

handle

it.

If it does not, then

the

exception

is percolat

until it reaches

the

control

boundary, at

which

point

the exception is

function

check,

and exception

handling

starts

over

as

described

above.

Example

of

Unhandled

Escape

Message

 

 

 

 

 

 

 

 

 

The

following scenario

describes

the

events which

occur

when

an

escape

is issued

and

cannot

be

handled

by

the

procedure in

which

it

occurr

nario

has

the

following assumptions:

 

 

 

 

 

 

 

1. There

 

are

two

programs,

PGM1

and

PGM2

which

run

in the same

activat

group.

 

Each

contains

a

procedure,

PRC1

and

PRC2

respectively.

 

2. PRC1

calls

PGM2

dynamically

and

PRC2

receives

control.

 

 

 

3. The CALL operation code in PRC1 has an error indicator for the cal

4.No RPG exception handlers have been coded in PRC2. That is, there error indicator coded for the SUBST operation and there is no *PSSR subroutine.

5. PRC2 has a SUBST operation where the Factor 1 entry is a negative

When PGM1 calls PGM2, and the SUBST operation is attempted, an exception message, RNX0100, is generated. Figure 109 depicts this scenario and the which occur.

Percolate

Unhandled

Exception

Call Stack

Procedure PRC1

CALL PRC2

Active Exception Handler List

Error Ind. Hdlr

RPG default Hdlr

Procedure PRC2

-1 SUBST RNX0100 issued

RPG default Hdlr

Figure 109. Scenario for Unhandled Escape Message

 

 

 

 

 

 

The

following

then

occurs:

 

 

 

 

 

 

 

 

 

1. Since

there

is

no

error

indicator

or *PSSR error subroutine coded

SUBST operation in PRC2, PRC2 cannot

handle

the

program

error,

and

 

so

unhandled.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.

Since

it

is

not

a

function

check,

it is

percolated

(passed

up

th

PRC1.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.

PRC1

receives

(handles)

the

same

exception

message,

and sets

on

th

indicator

on

the

CALL

operation with

the

side

effect

that PRC2

is

4.Processing then continues in PRC1 with the statement following the CALL operation.

224 ILE RPG for AS/400 Programmer's Guide

Page 248
Image 248
IBM AS/400 manual For other Types Messages, Escape Message, PGM2, PRC1, PRC2

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.