|
So now I've got:
D SROBJFTPR PI
*ENTRY
D ObjList like(ObjListDS)
...
D ObjListDs DS
D NbrElem 2b 0
D Obj 10a dim(300)
...
/free
ObjListDS=ObjList;
*inlr=*on;
return;
/end-free
In debug, a break on the *inlr line shows the following:
ObjList=null
While in hex it is equal to
00020001E74040404040404040400001E8404040404040404040
Now, I passed it, and the two object names, X and Y, or in hex E7 and E8.
I understand the 0002 is the number of elements. Why does each element
begin with hex0001?
Perhaps there is some strange bug in the Code/400 debugger that assumes
that if the first position is hex'00' then the whole variable is null.
NbrElem=2
OBJ(1), OBJ(2), OBJ(3) are all null
OBJ(4, and on) start to show the values of the other parameters passed in.
So then I changed to:
...
D SROBJFTPR PI
*ENTRY
D ObjList like(ObjListDs)
...
D ObjListDs DS
D eObjList 2b 0
D aObjList 12a dim(300)
D eObj 5i 0 overlay(aObjList)
D Obj 10a overlay(aObjList:*next)
...
Not very consistent on the 2b or 5i but it does show you they are
interchangable.
I tried to define ObjList as varying but the %len of it was always equal to
eObjList. Two, which we know is the number of elements and not the length
of the variable.
Rob Berendt
==================
"They that can give up essential liberty to obtain a little temporary
safety deserve neither liberty nor safety."
Benjamin Franklin
"Bob Cozzi
\(RPGIV\)" To: <rpg400-l@midrange.com>
<cozzi@rpgiv.com> cc:
Sent by: Fax to:
rpg400-l-admin@mi Subject: RE: Prototype for a
command parameter.
drange.com
12/11/2001 05:02
PM
Please respond to
rpg400-l
The parameter will be sent as a list value since you have MAX(300)
specified.
The first two bytes will contain a 2-byte binary (or "short" integer)
value that identifies the number of elements sent on the list.
Your parm will need to be MOVEL'd to a data structure that has something
like this defined:
D List DS
D nCount 5I 0
D ObjectList 10A DIM(300)
Bob Cozzi
cozzi@rpgiv.com
Visit the new on-line iSeries Forums at: http://www.rpgiv.com/forum
> -----Original Message-----
> From: rpg400-l-admin@midrange.com [mailto:rpg400-l-admin@midrange.com]
On
> Behalf Of rob@dekko.com
> Sent: Tuesday, December 11, 2001 2:45 PM
> To: rpg400-l@midrange.com
> Subject: Prototype for a command parameter.
>
>
> I have a command parameter set up like:
> PARM KWD(OBJ) +
> TYPE(*GENERIC) +
> LEN(10) +
> SNGVAL( +
> (*ALL )) +
> MIN(1) +
> MAX(300) +
> EXPR(*YES) +
> VARY(*YES) +
> PROMPT('Objects')
>
> On the screen it looks like:
> Objects . . . . . . . . . . . . __________ Name, generic*, *ALL
> + for more values __________
> How do I define this in my PR and PI?
> I tried the following
> D Obj 3002a options(*varsize)
> and
> D Obj 3002a varying
> and in debug they were both null.
>
> Rob Berendt
>
> ==================
> "They that can give up essential liberty to obtain a little temporary
> safety deserve neither liberty nor safety."
> Benjamin Franklin
>
> _______________________________________________
> This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing
list
> To post a message email: RPG400-L@midrange.com
> To subscribe, unsubscribe, or change list options,
> visit: http://lists.midrange.com/cgi-bin/listinfo/rpg400-l
> or email: RPG400-L-request@midrange.com
> Before posting, please take a moment to review the archives
> at http://archive.midrange.com/rpg400-l.
_______________________________________________
This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list
To post a message email: RPG400-L@midrange.com
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/cgi-bin/listinfo/rpg400-l
or email: RPG400-L-request@midrange.com
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.