IBM AS/400 manual Example of Module with Multiple Procedures, Subdur, DaysLate*D

Models: AS/400

1 489
Download 489 pages 47.95 Kb
Page 67
Image 67
SUBDUR

Example of Module with Multiple Procedures

 

* Body of procedure

 

 

C

*ISO

MOVE

DUEDATE

DateDue

C

CurDate

SUBDUR

DateDue

DaysLate:*D

C

 

IF

DaysLate > 60 AND

C

 

 

AMOUNT > 100.00

C

 

RETURN

'1'

 

C

 

ELSE

 

 

C

 

RETURN

'0'

 

C

 

ENDIF

 

 

P InArrears

E

 

 

 

*--------------------------------------------------------------

 

 

*FmtCust formats CUSTNAME, CUSTNUM, STREETNAME etc into

*readable forms

*

 

 

 

* Parameters:

Name

(output)

*

 

Address

(output)

* Globals:

CUSTNAME, CUSTNUM, STREETNUM, STREETNAME, CITY

 

 

STATE, ZIP

* Returns:

(none)

 

*

--------------------------------------------------------------

 

P FmtCust

B

 

D FmtCust

PI

 

D

Name

 

100A

D

Address

 

100A

D ZipChar

S

5A

*

--------------------------------------------------------------

 

* CUSTNAME and CUSTNUM are formatted to look like this:

*

A&P Electronics

(Customer number 157)

*

--------------------------------------------------------------

 

C

 

EVAL

Name = CUSTNAME + ' '

C

 

 

+ '(Customer number '

C

 

 

+ %trimr(NumToChar(CUSTNUM)) + ')'

*

--------------------------------------------------------------

 

*StreetNum, STREETNAME, CITY, STATE, and ZIP are formatted t￿o look like:

*27 Garbanzo Avenue, Smallville 51423

 

*--------------------------------------------------------------

 

 

 

 

 

 

C

 

 

MOVEL

ZIP

ZipChar

 

 

C

 

 

EVAL

Address = %trimr(NumToChar(STREETNUM))

 

 

C

 

 

 

+ ' ' + %trimr(STREETNAME) + ', '

 

 

C

 

 

 

+ %trim(CITY) + ' ' + %trim(STATE)

 

 

C

 

 

 

+ ' ' + ZipChar

 

 

P FmtCust

 

E

 

 

 

 

 

 

 

 

 

Figure

22

(Part

3

of 3). ILE RPG Complete Source for ARRSRPT Module

 

Note

the

following

about

ARRSRPT:

 

 

¹ The definition

specifications begin with the prototypes

for the p

A

/COPY

file

is

used

to supply

the prototype for the

called pro

NumToChar.

 

 

 

 

 

The prototypes do not have to be first, but you should establis different types of definitions for consistency.

¹The date field CurDate is a global field, meaning that any proce

module can access it.

¹

The

main

procedure

is

simple to

follow.

It contains

calculation

spe

 

the

two main tasks: the I/O, and an initialization routine.

 

¹

Each

subprocedure

that

follows

the main

procedure

contains the

de

 

of

the

tasks.

 

 

 

 

 

 

Chapter 4. Creating an Application Using Multiple43 Procedures

Page 67
Image 67
IBM AS/400 manual Example of Module with Multiple Procedures, Subdur, DaysLate*D