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



Scott,
Thanks for the explanation. However, when I changed my command to:

CHGVAR VAR(&PCCOMMAND) VALUE('rundll32 +
url,FileProtocolHandler http://xx.xx.xxx.xx:+
8014/citcgidevp/GETDIV2?division=' *TCAT +
&DIVISION *TCAT '&qstrat_rfq=' *TCAT +
&QLMRFQ# *TCAT '&qstrat_rfqitem=' *TCAT +
&QLMITEM#)

I get the following error: Value 'rundll32 u' for PCCMD exceeds 123
characters.

I guess, in this instance, I'm stuck using the carat.


Terry Anderson
Programming Manager
Citation Corporation
Switchboard 1.251.867.5481 ext 212
Direct Line 1.251.809.2312
Fax 251.867.0525
Cell 1.251.363.4975



-----Original Message-----
From: web400-bounces@xxxxxxxxxxxx
[mailto:web400-bounces@xxxxxxxxxxxx] On Behalf Of Scott Klement
Sent: Thursday, January 03, 2008 11:51 AM
To: Web Enabling the AS400 / iSeries
Subject: Re: [WEB400] Passing Parms to CGI From CL.


Hi Terry,

STRPCCMD issues a command to your 5250 emulator, telling the
emulator
(which is, after all, a Windows program) to run a command on the PC.
The length of the command string that you can send to
STRPCCMD is 123,
because it sends the command to the PC in the form of a green screen
field that's 128 chars long. It uses 5 characters to pass
options to
the emulator, and the remaining 123 are the command. The emulator
understands (thanks to the 5 characters) that this is a command, and
should be run instead of displaying it to the user -- but under the
covers it's really just a screen with a 128 character field on it.

So it's STRPCCMD that's limited to 123 characters. Not the
DOS "start"
utility (which doesn't have any limit that I know of)

When the emulator receives the command, it parses out the
program name
(by searching for the first space in the command string).
It finds that
program on disk -- and if it's a native Windows program, it tells
Windows to run it. If it's not a native Windows program,
it's assumed
to be an MS-DOS program, so it opens a DOS prompt and runs
the command
from that prompt.

The problem with the DOS prompt is that some characters have special
meanings. The ampersand, that's the & symbol, is one of
the characters
that has a special meaning. Semi-colons, carets, quotes,
spaces, and a
bunch of other things have a special meanings as well. You
either need
to escape these special characters, or you need to find a
way to avoid
sending the command string through a DOS prompt.

Walden's answer works by escaping the special characters. Putting a
caret, i.e. the ^ symbol, before each ampersand tells MS-DOS not to
treat them as special characters.

Bob Roche's answer launches a Windows program named
RunDLL32. Since this
is a Windows program, it never goes to a DOS prompt, and therefore
characters that are special in MS-DOS aren't an issue.

Personally, I prefer the RUNDLL32 option because it doesn't open the
stupid black MS-DOS window where the user can see it -- which I find
ugly -- and also because I don't have to write code that
searches for
special characters and escapes them.


Terry Anderson wrote:
Greetings List,
I hope all of you had a merry Christmas and have a happy and
prosperous new year.

Here is what I am trying to do. I have a CGIDEV2 program that adds
footnotes to an RFQ. Since several divisions will be using this
program, I need to send the division name as well as the
RFQ number to
the CGI program.

I have the following commands in my CL program:

CHGVAR VAR(&PCCOMMAND) VALUE('START
http://xx.xx.xxx.xx:8014/citcgidevp/GETDIV2?division='
*TCAT &DIVISION
*TCAT '&qstrat_rfq=' *TCAT &QLMRFQ#)

STRPCCMD PCCMD(&PCCOMMAND) PAUSE(*NO)

I can get this to work if I key it into the command line of the
browser but not when I call it from the CL. Can some one
tell me what
I am doing wrong? I saw an older post somewhere that said that the
START command was limited to 123 characters. Is that
correct and if
so, how do you get around this limitation?

--
This is the Web Enabling the AS400 / iSeries (WEB400)
mailing list To post a message email: WEB400@xxxxxxxxxxxx To
subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/web400
or email: WEB400-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/web400.



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
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.