IBM AS/400 Multiple Procedures Module, Prototype for procedure FmtCust Note the PR on definition

Models: AS/400

1 489
Download 489 pages 47.95 Kb
Page 59
Image 59
*Prototype for procedure FmtCust (Note the PR on definition

Multiple Procedures Module

¹ The number and nature of the parameters

¹ Which parameters must be passed, and which are optionally passed

¹ Whether operational descriptors are passed (for a procedure)

¹

The data type of the return value,

if

any (for a procedure)

The

prototype

is used by the compiler

to

call the program or

proce

and

to ensure

that the caller passes

the

correct parameters.

Figure

prototype for a procedure FmtCust, which formats various fields of a readable form. It has two output parameters.

*Prototype for procedure FmtCust (Note the PR on definition

*specification.) It has two output parameters.

D FmtCust

PR

D

Name

100A

D

Address

100A

 

 

Figure

13. Prototype for FmtCust Procedure

To produce the formatted output fields, FmtCust calls a procedure Num NumToChar has a numeric input parameter that is passed by value, and character field. Figure 14 shows the prototype for NumToChar.

*Prototype for procedure NumToChar

*The returned value is a character field of length 31.

D NumToChar

PR

31A

*The input parameter is packed with 30 digits and 0 decima￿l

*positions, passed by value.

D

NUMPARM

30P 0 VALUE

 

 

Figure

14. Prototype for NumToChar Procedure

If the program or procedure is prototyped, you call it with CALLP o expression if you want to use the return value. You pass parameter follows the name of the prototype,namefor(parm1example,: parm2. : ...)

Figure 15 shows

a call to FmtCust. Note that the

names

of

the

output

shown

above

in

Figure 13,

do not

match those in

the

call

statement.

eter

names

in

a prototype

are

for documentation

purposes

only.

The

serves todescribethe attributes of the call interface. The actual de

parameters

takes place

inside the procedure itself.

 

 

 

C

CALLP

FmtCust(RPTNAME : RPTADDR)

 

 

Figure 15.

Calling the FmtCust Procedure

Using prototyped calls you can call (with the same syntax):

¹

Programs that

are

on

the

system at run time

¹

Exported

procedures

in other modules or service programs that are

 

the same

program

or

service program

¹

Subprocedures

in

the

same

module

Chapter 4. Creating an Application Using Multiple35 Procedures

Page 59
Image 59
IBM AS/400 manual Multiple Procedures Module, Prototype for procedure FmtCust Note the PR on definition