|
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-2024 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.