LANSA calling 3GL is pretty straight foward. See the CALL command with 3GL variation.
Parameters are passed in order defined.
Lists are special and pass 3 variable to the 3 GL, that list, number of enteries, current entry.
https://docs.lansa.com/14/en/lansa015/i ... L_PASS_LST
I can't remember if you pass fields and lists if the fields come first or the list comes first...easy enough to work out with a few examples. There are some caveats, etc... in the doco to be aware of, but simple enough.
As usual write a stand alone sample to make sure you understand it before integrating into your application...it'll save time in the end. And if you feel generous, post the code here for posterity.
Paul
====
found something, I guess this answers the questions, single parms first, followed by all lists passed in order
something like this in RPG...
List has 9999 rows possible (max list size in RDML for this program)
Passing 3 regular parms, and then passing the list (represented by 3 parms)
* Lansa Multiple occurance Data Structure
D VBGData DS OCCURS(9999)
D PartGroupDesc 75a
D MakeDesc 50a
D ModelDesc 50a
D EngineDesc 50a
D YearFrom 2p 0
D YearTo 2p 0
D ApplText 50a
D Applications 3p 0
D PerCarQty 3p 0
D CatLineCode 3a
* Incoming parameters
C *ENTRY Plist
C PARM WSWUSRe 10
C PARM WPartNumber
C Parm WERROR
C PARM VBGData
C Parm WCTR1 7 0
C Parm WCUR1 7 0