|
On Monday, September 28, 1998 4:39 PM, Jon.Paris@halinfo.it [SMTP:Jon.Paris@halinfo.it] wrote: > I know that if I define char parms to CL at 32chs or less they get > passed > OK and that if they are larger they can get screwed up, but can someone > please remind me of the options I have to get round this. It works if I > make sure the full number of characters are passed but surely there are > other options? Also if someone can point me at the part of the CL > manual > that deals with this it would be helpful, I've only found one reference > so > far and it was less than definitive. The manual that *may* illuminate things a bit is the CL Programming guide. I did a search on "parameter length" and found an entry in the section entitled "Using the CALL command." Basically, this is a problem only when you CALL a program from a command line (including SBMJOB). Program-to-program calls have no problems. If you must use a larger parm, create a command to wrap around the program call. The problem is that the parms are passed by reference, not by value. The command line will send the address of some storage to your called program, but only 32 bytes of that storage are initialised by default. You never really know what's in the string after that UNLESS you: 1) enclose the full length in quotes including trailing blanks; 2) wrap the program call in a command. I believe I learnt this at one of the IBM tech conferences many years ago. hth, Buck Calabro Commsoft, Albany, NY mailto:mcalabro@commsoft.net +--- | 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.