|
Mike, you will also need to expand the list &OBJLST, because all the elements are fixed 10 chars and if you have an object name of 10 chars there will be no space between it and the next object name. e.g. (substitute &OBJLST for &FldDs, FldL is the new list e.g. 50 x 11) 0343.00 /* Expand field list (nnaaabbbccc) to format (aaa bbb ccc) --*/ 0344.00 0345.00 Flds: 0346.00 ChgVar &FldNbr (%bin(&FldDs 1 2)) 0347.00 ChgVar &LCount (1) 0348.00 ChgVar &LFrom (3) 0349.00 0350.00 If (&FldNbr = 0) (GoTo CpyToRmt) 0351.00 Flds1: 0352.00 If (&LCount = 1) + 0353.00 (ChgVar &FldL (%sst(&FldDs &LFrom 10))) 0354.00 Else + 0355.00 (ChgVar &FldL (&FldL *bcat %sst(&FldDs &LFrom 10))) 0356.00 0357.00 ChgVar &LFrom (&LFrom + 10) 0358.00 If (&LCount < &FldNbr) (Do) 0359.00 ChgVar &LCount (&LCount + 1) 0360.00 GoTo Flds1 0361.00 EndDo _______________________________________________________________ Hope this helps Regards, Rod Orr ________________________________________________________________ Pete Hall <pbhall@execpc.com> To: MIDRANGE-L@midrange.com Sent by: cc: owner-midrange-l@mi Subject: Re: parameter list list drange.com 05/04/01 14:46 Please respond to MIDRANGE-L At 17:41 04/04/2001, Mike Pantzopoulos wrote: >I thought I'd be clever and pass the list of object names to the SAVOBJ >command by extracting bytes 3 to 22 from &OBJECT into &OBJLST and using >that value as - > >SAVOBJ OBJ(&OBJLST) LIB(&FRMLIB) DEV(*SAVF) ................... > >This works when I have only one object in the parameter list, but when I >have more than one parameter it doesn't. > >When I look at the value through debug immediately before the SAVOBJ >command is executed I see: > > EVAL &OBJLST > &OBJLST = > ....5...10...15...20...25...30...35...40...45...50...55...60 > 1 'CC866CL CC867CL ' > 61 ' ' > 121 ' ' > >The error message I get is: > >VALUE 'CC866CL ' FOR OBJ NOT A NAME OR GENERIC NAME. > ERROR FOUND ON SAVOBJ COMMAND. Mike, Construct the entire command as a string and pass it through QCMDEXC like this: CHGVAR VAR(&CMDSTR) VALUE('SAVOBJ OBJ(' *CAT &OBJLST *TCAT ') LIB(' *CAT &FRMLIB *TCAT ') DEV... etc CALL PGM QCMDEXC PARM(&CMDSTR &CMDLEN) Where &CMDLEN is a 15.5 decimal (packed) variable. Pete Hall pbhall@execpc.com http://www.execpc.com/~pbhall/ +--- | This is the Midrange System Mailing List! | To submit a new message, send your mail to MIDRANGE-L@midrange.com. | To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com. | To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com. | Questions should be directed to the list owner/operator: david@midrange.com +--- +--- | This is the Midrange System Mailing List! | To submit a new message, send your mail to MIDRANGE-L@midrange.com. | To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com. | To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com. | Questions should be directed to the list owner/operator: david@midrange.com +---
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.