IBM AS/400 Manuel D’Utilisation
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
* 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:
*
* 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 to look like:
*
* StreetNum, STREETNAME, CITY, STATE, and ZIP are formatted to 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 prototyped calls.
A /COPY file is used to supply the prototype for the called procedure
NumToChar.
A /COPY file is used to supply the prototype for the called procedure
NumToChar.
The prototypes do not have to be first, but you should establish an order for the
different types of definitions for consistency.
different types of definitions for consistency.
¹
The date field CurDate is a global field, meaning that any procedure in the
module can access it.
module can access it.
¹
The main procedure is simple to follow. It contains calculation specifications for
the two main tasks: the I/O, and an initialization routine.
the two main tasks: the I/O, and an initialization routine.
¹
Each subprocedure that follows the main procedure contains the details of one
of the tasks.
of the tasks.
Chapter 4. Creating an Application Using Multiple Procedures
43