QSH on two differnet iSeries

465 pts.
Tags:
AS/400
CLP
iSeries
QSH
STRQSH
Hello Everyone, I'm working with two different iSeries boxes. Using a CL program, I execute a QSH similar to this: STRQSH     CMD(&COMMAND) &COMMAND is a string built inside the CL Program. When I call the CL program on the first box (call it DEV) it runs fine. When I call the CL program on the second box (call it PROD) it gets the following error: qsh: 001-0046 Syntax error on line 1: matching delimiter for quoted string not found Here's what I think: for some reason the STRQSH has a different limit for the CMD parameter on DEV than PROD and it's losing my ending quote. Is it something else?

Software/Hardware used:
iSeries, V5R4M0
ASKED: January 21, 2010  4:21 PM
UPDATED: January 22, 2010  8:04 PM

Answer Wiki

Thanks. We'll let you know when a new response is added.

You might try the QSH instead of STRQSH. They both have the same CPP but if someone has changed something in the command that might tell you. Also, what does it look like in debug(or can you run debug in production)?

Discuss This Question: 4  Replies

 
There was an error processing your information. Please try again later.
Thanks. We'll let you know when a new response is added.
Send me notifications when members answer or reply to this question.

REGISTER or login:

Forgot Password?
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy
  • Dcantwell
    Hey DanD, I found out some more information. While debugging on both boxes I noticed the parameters coming into the CL program are coming in differently. Dev - Everything is fine Prod - blank spaces come over as reverse image characters Therefore, when I try to TCAT or BCAT my parameters, it thinks they're actually characters! Here's the big question now: Why are they coming into the CL program differently? Well for a little more information, we use an old IBM web language called Net.data here. So, when we call the CL program, the Net.Data code is passing variables from the web. As it stands here's how we are:
    • Net.Data code is identical
    • CL code is identical
    • Dev box gets data fine
    • Prod data gets reverse image characters for blanks
    It's gotta be something between the Net.Data code and the call to the CL program. Unfortunately, I don't have any control over that! (That I know of) Any ideas? Thanks, Dave
    465 pointsBadges:
    report
  • TomLiotta
    First thing that must be known is the QCCSID system value of both systems. That might help determine what to look at next. Let's make sure that bits are being encoded similarly on the two systems. This might lead to reviewing server job attributes on the two systems -- job user profile settings, job descriptions, etc. (V5R4 is on both boxes?) Tom
    125,585 pointsBadges:
    report
  • Dcantwell
    Even more information: The hex values of the strings coming into the program are different as well: Lets say we have a 20 character string that is "AGRI OTHER" with spaces filling in the rest of the characters. On the Dev box, the hex appears like this: C1C7D9C940D6E3C8C5D940404040404040404040 While on the production box the hex appears like this: C1C7D9C940D6E3C8C5D900000000000000000000 It looks like the spaces are being treated differently?
    465 pointsBadges:
    report
  • TomLiotta
    Much internal code is written in C or using C conventions such as null-terminated strings. Every once in a while, a value passed from some internal function to an application is passed by code that neglects to format as the fixed-length, blank-padded values we expect. (And some other times it is documented as a null-terminated string.) I would immediately suspect either a difference in some product level, e.g., JDK 1.4 vs. JDK 1.5, installed on the system or a slight variation in some PTFs related to the HTTP server. It doesn't have to be an option that you are deliberately using; it might simply be used internally by the options you are using. I would look for a PTF perhaps for the Read from Stdin (QtmhRdStin) API or similar. Unless there is no such PTF to be found, I wouldn't look too hard elsewhere yet. Tom
    125,585 pointsBadges:
    report

Forgot Password

No problem! Submit your e-mail address below. We'll send you an e-mail containing your password.

Your password has been sent to:

To follow this tag...

There was an error processing your information. Please try again later.

REGISTER or login:

Forgot Password?
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy

Thanks! We'll email you when relevant content is added and updated.

Following