|
-----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,RFQ number to
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
the CGI program.*TCAT &DIVISION
I have the following commands in my CL program:
CHGVAR VAR(&PCCOMMAND) VALUE('START
http://xx.xx.xxx.xx:8014/citcgidevp/GETDIV2?division='
*TCAT '&qstrat_rfq=' *TCAT &QLMRFQ#)tell me what
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
I am doing wrong? I saw an older post somewhere that said that thecorrect and if
START command was limited to 123 characters. Is that
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 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.