Coding Considerations

Program Creation

¹ If you specify that a

module

does

not

have

a

main

procedure

the

use

the

CRTBNDRPG

command

to

create

the program.

(A module

does

not

have a main procedure if the NOMAIN keyword is

specified on

a

con

cation.)

This

is

because

the CRTBNDRPG command requires that the

modu

contain a program entry procedure and only a

main

procedure

can

be

program entry

procedure.

 

 

 

 

 

 

 

 

 

 

 

 

¹ Similarly, when using CRTPGM

to

create

the

program,

keep

in

mind

that

NOMAIN module cannot be an

entry

module

since it does

not

have a pr

entry

procedure.

 

 

 

 

 

 

 

 

 

 

 

 

 

¹ A program that is created

to

run

in

the

default OPM

activation

grou

fying

DFTACTGRP(*YES)

on the

CRTBNDRPG command)

cannot

contain

 

 

 

 

bound

procedure

calls.

 

 

 

 

 

 

 

 

 

 

 

 

Main Procedure Considerations

¹Because the main procedure is the only procedure with a complete ifications available (except the P specification), it should be use

environment of all procedures in the module.

¹ A main procedure is

always exported, which

means

that

other proced

the program can call

the main procedure by

using

bound

calls.

¹ The call interface of a main procedure can be defined in one of

1. Using a prototype and procedure interface

2. Using an *ENTRY PLIST without a prototype

¹The functionality of an *ENTRY PLIST is similar to a prototyped call i However, a prototyped call interface is much more robust since it

parameter

checking

at

compile time.

If

you prototype

the

main

proc

you

specify how

it is

to

be

called

by specifying either the EX

EXTPGM keyword on the prototype definition. If EXTPGM is specified,

external program call is used; if EXTPROC is specified or if neithe

specified,

it

will be

called

by using

a

procedure call.

 

 

¹ You

cannot

define

return

values

for

a

main

procedure,

nor

can

you

its

parameters

be

passed

by

value.

 

 

 

 

 

Subprocedure Considerations

¹ Any

of

the calculation operations

may

be

coded

in

a

subprocedure.

all files must be defined globally, so all input

and

output specific

defined

in the main source section. Similarly, all

data

areas must b

the

main

procedure, although they

can

be

used

in

a

subprocedure.

¹The control specification can only be coded in the main source sec

controls the entire module.

¹A subprocedure can be called recursively. Each recursive call cause

invocation of the procedure to be placed on the call stack. The n

has new storage for all data items in automatic storage, and

that

unavailable

to

other invocations because it

is local.

(A data

item

in a subprocedure uses automatic storage

unless the

STATIC keyword

fied for

the

definition.)

 

 

 

46 ILE RPG for AS/400 Programmer's Guide

Page 70
Image 70
IBM AS/400 manual Main Procedure Considerations, Subprocedure Considerations, Contain a program entry procedure and only a

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.