Interlanguage Calls
When passing or receiving data from a program or procedure written in another language, it is important to know whether the other language supports the same parameter passing methods and the same data types as ILE RPG. RPG Parameter Passing Methods shows the different parameter passing methods allowed by ILE RPG and, where applicable, how they would be coded in the other the ILE languages. The table also includes the OPM RPG/400® compiler for comparison.
RPG Parameter Passing Methods
| Calling mechanism | Example |
|---|---|
| ILE RPG – prototype |
|
| ILE C |
|
| ILE COBOL |
|
| RPG – non-prototyped |
|
| ILE CL |
|
| Calling mechanism | Example |
|---|---|
| ILE RPG – prototype |
|
| ILE C |
|
| ILE COBOL |
|
| RPG – non-prototyped | N/A |
| ILE CL | N/A |
| Calling mechanism | Example |
|---|---|
| ILE RPG – prototype |
|
| ILE C |
|
| ILE COBOL | N/A1 |
| RPG – non-prototyped | N/A |
| ILE CL | N/A |
Note:
- Do not confuse passing by read-only reference with COBOL's passing
BY CONTENT. In RPG terms, to pass Fld1 by content, you would code:
C PARM Fld1 TEMPFld1 is protected from being changed, but TEMP is not. There is no expectation that the parameter will not be changed.
For information on the data types supported by different HLLs, consult the appropriate language manual.