Re: Command Processing Multiple Values with RPG
Peter Dow <[email protected]>
| Newsgroups | gmane.comp.lang.as400.rpg |
|---|---|
| Message-ID | <[email protected]> |
Hi Brad, Try the "CL Programming" manual, SC41-5721-05, the section on "Defining Lists for Parameters". It has examples on exactly what is passed to the CPP. -- *Peter Dow* / 909 793-9050 [email protected] / On 11/11/2025 12:37 PM, Brad Stone wrote: > I have a few RPG programs that are processing programs for CMD interfaces. > > Some have the option to send multiple values. I've always just defined the > parameter as a data structure with a binary value to hold the "count" of > options.. For example: > > PARM KWD(NAME) TYPE(*CHAR) LEN(60) MIN(1) + > MAX(10) CASE(*MIXED) PROMPT('Name') > > dcl-ds NameDSDef Qualified; > NumName Bindec(4) Pos(1); > Name char(60) dim(10); //*NONE > end-ds; > > The the parameter is defined as: > NameList likeds(NameDSDef); > > This filles the Name.Name array as it should. > > But now I have parameters that have multiple parts to them and it's not > working quite the same way. > PARM KWD(ADDRESS) TYPE(ADDDEF) MIN(1) + > MAX(10) PROMPT('Address') > > ADDDEF: ELEM TYPE(*CHAR) LEN(100) CASE(*MIXED) + > PROMPT('Address') > ELEM TYPE(*CHAR) LEN(2) + > PROMPT('State') > > dcl-ds AddressDSDef Qualified; > NumAddress Bindec(4) Pos(1); > Address char(100) dim(10); > State char(2) dim(10); > end-ds; > > Then the parameter is defined as: > AddressList likeds(AddressDSDef); > > This seems to add more data in the front, not just the count. > > Let's say there are 3 items in the list.... The string appears to be > count, offset to item 3, offset to item 2, offset to item 1, x'0003', then > the data.... etc... > > So before each data item is x'0003' and the offsets appear to be the offset > AFTER the count value. > > I've been searching for some sort of documentation or examples for this, > but I've come up short. AI is pretty useless when it comes to this. > > I'm sure I'm doing something wrong, but I can't find any docs or examples. > It's been years since I've done commands and yes, this has to be a > command. :) > > Thanks! > > > Bradley V. Stone > www.bvstools.com > Native IBM i e-Mail solutions for Microsoft Office 365, Gmail, or any Cloud > Provider! -- This is the RPG programming on IBM i (RPG400-L) mailing list To post a message email: [email protected] To subscribe, unsubscribe, or change list options, visit: https://lists.midrange.com/mailman/listinfo/rpg400-l or email: RPG400-L-request-+hD5IHI5Xscn3HwCXmMcX9BPR1lH4CV8@public.gmane.org Before posting, please take a moment to review the archives at https://archive.midrange.com/rpg400-l. Please contact support-FMtJrHiV//lnDLsaKlm4mFaTQe2KTcn/@public.gmane.org for any subscription related questions.