|
Chill... here's a pill! ;) You said: > > > I would certainly PREFER to not pass the length -- but havent > > > found a good > > > way. What am I missing? I assumed you were using ExtProc, or else I don't see why you would pass the length parm. Have you tried setting the file as USROPN, calling the override, then opening the file? I haven't, so I don't know if it will work. Brad > -----Original Message----- > From: Scott Klement [mailto:klemscot@klements.com] > Sent: Friday, March 31, 2000 3:06 PM > To: 'RPG400-L@midrange.com' > Subject: RE: CALLB vs.CALLP > > > > Huh? I wasn't using ExtProc... nor did I say anything > about it in my > message... > > I was talking about the fact that if I make a subprocedure to > do QCMDEXC > (exactly like the example that you gave below) it doesnt work > properly for > OVRDBF (or OVRxxx) because the subprocedure appears to operate on a > different call level than the main program... > > What does this have to do with ExtProc?! > > > > On Fri, 31 Mar 2000, Stone, Brad V (TC) wrote: > > > The idea is to build your own subprocedure with your own > parms. You don't > > need to use EXTPROC. I've never done it. > > > > It would be something like this... > > > > D #QCmdExc PR > > D PR_Cmd 1024 VALUE > > > *//////////////////////////////////////////////////////////////* > > P #QCmdExc B EXPORT > > > *--------------------------------------------------------------* > > D #QCmdExc PI > > D Cmd 1024 VALUE > > * > > D CmdLen S 15P 5 INZ(%size(Cmd)) > > > *--------------------------------------------------------------* > > C CALL 'QCmdExc' > > C PARM Cmd > > C PARM CmdLen > > > *--------------------------------------------------------------* > > P #QCmdExc E > > > > That's one reason why I don't like examples that always use > EXTPROC because > > it doesn't teach you how subprocedures work. It just gives > you code to use. > > then when you want to write your own subprocedures, you > don't know where to > > start. > > > > Brad > > > > > -----Original Message----- > > > From: Scott Klement [mailto:klemscot@klements.com] > > > Sent: Friday, March 31, 2000 1:06 PM > > > To: 'RPG400-L@midrange.com' > > > Subject: RE: CALLB vs.CALLP > > > > > > > > > > > > The problem I always have with using a subprocedure as a > wrapper for > > > QCMDEXC is the call level. When I do an OVRDBF or > similar command > > > via my subprocedure, it doesn't work because its at a > different call > > > level. > > > > > > Sure, I could do OVRSCOPE(*JOB) but thats not a very elegant > > > solution! > > > > > > So, I usually do a prototype with a CONST parameter for the > > > command and > > > the length. Then I can do something like this: > > > > > > C callp Cmd('OVRDBF FILE(FILEONE) > > > TOFILE(FILETWO)': 200) > > > > > > I would certainly PREFER to not pass the length -- but havent > > > found a good > > > way. What am I missing? > > > > > > > > > > > > > > > On Fri, 31 Mar 2000, Stone, Brad V (TC) wrote: > > > > > > > I never understood this example, and I've seen it from a > > > lot of people. If > > > > you're making a subprocedure, prototype it so you only send > > > the command. > > > > Not the length. You can define the length as > %size(Command) in the > > > > Subprocedure. > > > > > > > > Then, you only need to do.. > > > > > > > > CALLP #QcmdExc('CLRPFM FILE1') > > > > > > > > Much easier. And only 2 more seconds of setup. > > > > > > > > Other times you will definatly want to do this when making > > > wrappers for > > > > APIs. Sometimes they have a lot of parms you don't need to > > > pass. The > > > > command length on QCMDEXC is one of them. > > > > > > > > Brad > > > > > +--- > | This is the RPG/400 Mailing List! > | To submit a new message, send your mail to RPG400-L@midrange.com. > | To subscribe to this list send email to RPG400-L-SUB@midrange.com. > | To unsubscribe from this list send email to > RPG400-L-UNSUB@midrange.com. > | Questions should be directed to the list owner/operator: > david@midrange.com > +--- > +--- | This is the RPG/400 Mailing List! | To submit a new message, send your mail to RPG400-L@midrange.com. | To subscribe to this list send email to RPG400-L-SUB@midrange.com. | To unsubscribe from this list send email to RPG400-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.