× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



This problem has nothing to do with QCMDEXC, except that submitting a CALL to ANYthing makes the system think it is a command-line call with literals. The system has no way to know what are the data types and lengths. If you have all digits and decimal points and all, it assumes it is numeric, and, specifically, that it is packed(15,5). If it has non-numeric stuff, or is surrounded with quotes, it assumes a character value and will pad out to 32 characters with blanks.

If your parameter is longer than 32 characters, because parameters to CALLs are passed by reference, whatever is in memory at the time is what the CALL'd program gets. This has nothing to do with the language - only the assumptions the system has made since the beginning on the 38.

The CL manual referred to in the FAQ - and the only IBM manual that discusses this IS a CL manual, AFAIK - gives at least 3 solutions. The easiest from my standpoint is to create a CMD that uses the CALL'd program as its CPP.

The call to QCMDEXC is not affected by this, unless you pass an incorrect length for the command. You can prototype it with ANY size character parameter (less than the max specified in the docs). Just be sure to send the right length, so you don't ask it to run junk.

Our customers run into this all the time, since we have path names and email addresses in use for our products. Lots of developers have never worked with parameters longer than 30 characters - address lines, all that - so no wonder.

HTH
Vern

jdavis@xxxxxxxx wrote:
Isn't there some size restriction on the length the command can be using QCMDEXC? I thougt a command could be no longer then 256 or 512 characters in length, I could be wrong here. If that is the case the length you are passing in is 3000 long, we I have long commands like this, I use the system api.

Jeff Davis
Programmer
Dental Network of America
2 Transam Plaza Drive, Suite 500
Oakbrook Terrace, IL. 60181
630.691.0336


**********

The information contained in this communication is confidential, private, proprietary, or otherwise privileged and is intended only for the use of the addressee. Unauthorized use, disclosure, distribution or copying is strictly prohibited and may be unlawful. If you have received this communication in error, please notify the sender immediately at (312)653-6000 in Illinois; (800)835-8699 in New Mexico; (918)560-3500 in Oklahoma; or (972)766-6900 in Texas.

**********

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

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.