82 lines
3.1 KiB
Plaintext
82 lines
3.1 KiB
Plaintext
* "F" (file) specs define files and other i/o devices
|
|
F ARMstF1 IF E K Disk Rename(ARMST:RARMST)
|
|
|
|
* "D" (data) specs are used to define variables
|
|
D pCusNo S 6p
|
|
D pName S 30a
|
|
D pAddr1 S 30a
|
|
|
|
* The "chain" command is used for random access of a keyed file
|
|
C pCusNo chain ARMstF1
|
|
|
|
* If a record is found, move fields from the file into parameters
|
|
C if %found
|
|
C eval pName = ARNm01
|
|
C eval pAddr1 = ARAd01
|
|
C eval pAddr2 = ARAd02
|
|
C eval pCity = ARCy01
|
|
C endif
|
|
|
|
* RPG makes use of switches. One switch "LR" originally stood for "last record"
|
|
* LR flags the program and its dataspace as removable from memory
|
|
|
|
C eval *InLR = *On
|
|
|
|
* "F" (file) specs define files and other i/o devices
|
|
FARMstF1 IF E K Disk Rename(ARMST:RARMST)
|
|
|
|
* "D" (data) specs are used to define variables and parameters
|
|
* The "prototype" for the program is in a separate file
|
|
* allowing other programs to call it
|
|
/copy cust_pr
|
|
* The "procedure interface" describes the *ENTRY parameters
|
|
D getCustInf PI
|
|
D pCusNo 6p 0 const
|
|
D pName 30a
|
|
D pAddr1 30a
|
|
D pAddr2 30a
|
|
D pCity 25a
|
|
D pState 2a
|
|
D pZip 10a
|
|
/free
|
|
// The "chain" command is used for random access of a keyed file
|
|
chain pCusNo ARMstF1;
|
|
|
|
// If a record is found, move fields from the file into parameters
|
|
if %found;
|
|
pName = ARNm01;
|
|
pAddr1 = ARAd01;
|
|
pAddr2 = ARAd02;
|
|
pCity = ARCy01;
|
|
pState = ARSt01;
|
|
pZip = ARZp15;
|
|
endif;
|
|
|
|
// RPG makes use of switches. One switch "LR" originally stood for "last record"
|
|
// LR actually flags the program and its dataspace as removable from memory.
|
|
*InLR = *On;
|
|
/end-free
|
|
|
|
H main(GetCustInf)
|
|
D ARMSTF1 E DS
|
|
P GetCustInf B
|
|
D GetCustInf PI extpgm('CUS001')
|
|
D inCusNo like(arCNum) const
|
|
D outName like(arName)
|
|
D outAddr1 like(arAdd1)
|
|
D outAddr2 like(arAdd2)
|
|
D outCity like(arCity)
|
|
D outState like(arStte)
|
|
D outZip like(arZip)
|
|
/free
|
|
exec sql select arName, arAdd1, arAdd2, arCity, arStte, arZip
|
|
into :outName, :outAddr1, :outAddr2, :outCity, :outState,
|
|
:outZip
|
|
from ARMSTF1
|
|
where arCNum = :inCusNo
|
|
fetch first 1 row only
|
|
with CS
|
|
use currently committed;
|
|
/end-free
|
|
P GetCustInf E
|