Arguments / Return Value Parameters
Alpha or Numeric Parameter Example
The first three parameters of the program are fixed. These are data structures that are passed throughout the LANSA generated applications:
DC@IDS - Information data structure |
DC@EDS - Arrays defined in Information data structure |
PR@IDS - Process Information data structure |
The layouts of these data structures (as RPG /COPY members) can be found in members DC@ISPEC, DC@ESPEC, PR@ISPEC and PR@ESPEC in file DC@F28 in the LANSA data library.
You must not vary the content of any of the storage locations defined by these data structures. Any attempt to do this may violate system integrity and produce unpredictable results.
Arguments / Return Value Parameters
BIF arguments and return values defined in file DC@F48 are set up as parameters for the BIF program or subroutine.
Each of these parameters is passed with accompanying parameter(s) (i.e. every entry in file DC@F48 actually causes two (2) or four (4) parameters to be set up and passed to the Built-In Function program or subroutine).
Alpha or Numeric Parameter Example
For an argument or return value defined in file DC@F48 as type A (alpha) or N (numeric), two (2) parameters are set up/passed to the Built-In Function:
C *ENTRY PLIST
C PARM DC@IDS
C PARM DC@EDS
C PARM PR@IDS
C PARM B$555A 4 <-- Descriptor
C PARM B@555A 3
C PARM B$555B 4 <-- Descriptor
C PARM B@555B 10
C PARM B$555C 4 <-- Descriptor
C PARM B@555C 1
For an argument or return value defined in file DC@F48 as type 'L' (list), four (4) parameters are set up/passed to the BIF:
For example:
C *ENTRY PLIST
C PARM DC@IDS
C PARM DC@EDS
C PARM PR@IDS
C PARM LXnnnB 70 <-- Maximum Entries
C PARM LCnnnb 70 <-- Total Entries
C PARM LPnnnb 70 <-- Current Entry
C PARM LLnnnB <-- Actual List