IBM AS/400 Manuel D’Utilisation

Page de 489
 
Example of Module with Multiple Procedures
 
 
 
*--------------------------------------------------------------*
* P R O T O T Y P E S
 
*--------------------------------------------------------------*
 
/COPY QRPGLE,CVTPROCP
 
*--------------------------------------------------------------*
* InArrears returns '1' if the customer is in arrears
 
*--------------------------------------------------------------*
 
D InArrears
PR
1A
 
*--------------------------------------------------------------*
* FmtCust formats CUSTNAME, CUSTNUM, STREETNAME etc into
* readable forms
 
*--------------------------------------------------------------*
 
D FmtCust
PR
 
D
Name
100A
 
D
Address
100A
 
*--------------------------------------------------------------*
* G L O B A L
D E F I N I T I O N S
 
*--------------------------------------------------------------*
 
D CurDate
S
D
 
ICUSTREC
01
 
*--------------------------------------------------------------*
* M A I N
P R O C E D U R E
 
*--------------------------------------------------------------*
C
IF
InArrears = '1'
C
CALLP
FmtCust(RPTNAME : RPTADDR)
C
EVAL
RPTNUM = CUSTNUM
 
C
WRITE 
ARREARS
 
C
ENDIF
 
*INZSR
BEGSR
 
*MDY
MOVEL 
UDATE
CurDate
 
C
ENDSR
 
*--------------------------------------------------------------*
* S U B P R O C E D U R E S
 
*--------------------------------------------------------------*
 
*--------------------------------------------------------------*
 
* InArrears
 
*
* Parameters: (none)
* Globals:
DUEDATE, AMOUNT, CurDate
 
*
* Returns:
'1' if the customer is in arrears
 
*--------------------------------------------------------------*
 
P InArrears
B
 
D InArrears
PI
1A
* Local declarations
 
D DaysLate
S
10I 0
 
D DateDue
S
D
Figure  22  (Part  2  of  3).  ILE RPG Complete Source for ARRSRPT Module
42
ILE RPG for AS/400 Programmer's Guide