IBM AS/400 Frozen Dessert Maker User Manual


 
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 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.
The prototypes do not have to be first, but you should establish an order for the
different types of definitions for consistency.
The date field CurDate is a global field, meaning that any procedure in the
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.
Each subprocedure that follows the main procedure contains the details of one
of the tasks.
Chapter 4. Creating an Application Using Multiple Procedures 43