MIDRANGE dot COM Mailing List Archive



Home » MIDRANGE-L » April 2014

Re: CLP pgm with 2 paramters intermittently getting garbage when called from AJS



fixed

From the Information Center documentation of the CALL command and
specifically the PARM parameter (located
here<https://publib.boulder.ibm.com/infocenter/iseries/v5r4/topic/cl/call.htm>
):


- Character string constants of 32 bytes or less are *always* passed
with a length of *32* bytes (padded on the right with blanks). If a
character constant is longer than 32 bytes, the whole length of the
constant is passed. If the parameter is defined to contain more than 32
bytes, the calling program must pass a constant that contains exactly that
number of bytes. Constants longer than 32 characters are *not* padded to
the length expected by the receiving program.



On Wed, Apr 9, 2014 at 4:17 PM, Roger Harman <roger_harman@xxxxxxxxxxx>wrote:

I had to laugh at this discussion. Just this morning I got bit by the 32
character bug when testing something from a command line. Once I dumped
the CL, the problem/resolution pretty much jumped off the screen. Passed
33 chars to a 35 long parm and ended up with two nulls that some vendor
software did not like.

It's been years since I ran across this but funny that, after resolving my
issue, I logon and see this whole thread.


Date: Wed, 9 Apr 2014 17:01:54 -0400
From: mark.s.waterbury@xxxxxxxxxxxxx
To: midrange-l@xxxxxxxxxxxx
Subject: Re: CLP pgm with 2 paramters intermittently getting garbage
when called from AJS

Paul:

Count the characters between the single-quotes.

You did not provide enough characters for the size of the parameters you
stated was defined in your CL program. =-O

It should look like:

CALL PGM(XCAPXCMD) PARM('10.5.173.150 ' 'sudo /sbin/service
jboss-as start ')

Or, as Rob suggested, create a command, so then you can just specify
something like this:

XCAPXCMD SYSTEM('10.5.173.150') CMD('sudo /sbin/service jboss-as
start')

and the command processing will take care of ensuring the correct
number of characters are actually passed to your program.

HTH,

Mark S. Waterbury

> On 4/9/2014 4:33 PM, Steinmetz, Paul wrote:
Mark,

From any job in AJS
If I make the lengths match and/or make it a CMD, should resolve the
issue.

Seq Command
570 CALL PGM(ICAPICMD) PARM('10.5.173.150' 'sudo /sbin/service
jboss-as...

Program . . . . . . . . . . . . > ICAPICMD Name
Library . . . . . . . . . . . *LIBL Name, *LIBL, *CURLIB
Parameters . . . . . . . . . . . > '10.5.173.150'

+ for more values > 'sudo /sbin/service jboss-as start'

Thanks
Paul

-----Original Message-----
From:midrange-l-bounces@xxxxxxxxxxxx [mailto:
midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of Mark S Waterbury
Sent: Wednesday, April 09, 2014 4:23 PM
To: Midrange Systems Technical Discussion
Subject: Re: CLP pgm with 2 paramters intermittently getting garbage
when called from AJS

Paul:

Show us the line of code that invokes this ... e.g. as defined to the
"advanced job scheduler") ... then perhaps we can help?

All the best,

Mark S. Waterbury

> On 4/9/2014 3:48 PM, Steinmetz, Paul wrote:
I have a CLP program that I call from AJS (Advanced Job Scheduler)
Intermittently, the 2nd parameter is getting garbage characters at
the end, shown via dump of CLP pgm.
In the CLP program, parm 1 length defined as 15, parm 2 length
defined as 41.
The lengths being passed from AJS are less, 12 and 33.

Program . . . . . . . . . . . . > ICAPICMD Name
Library . . . . . . . . . . . *LIBL Name, *LIBL,
*CURLIB
Parameters . . . . . . . . . . . > '10.5.173.152'

+ for more values > 'sudo /sbin/service jboss-as
start'

From the CLP dump
&CMD *CHAR 41 'sudo /sbin/service
jboss-as start E seque'

The "E seque" is the garbage, causing the CLP to fail.

Is this an AJS parameter issue?

Thank You
_____
Paul Steinmetz
IBM i Systems Administrator

Pencor Services, Inc.
462 Delaware Ave
Palmerton Pa 18071

610-826-9117 work
610-826-9188 fax
610-349-0913 cell
610-377-6012 home

psteinmetz@xxxxxxxxxx
http://www.pencor.com/

--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing
list To post a message email:MIDRANGE-L@xxxxxxxxxxxx To subscribe,
unsubscribe, or change list options,
visit:http://lists.midrange.com/mailman/listinfo/midrange-l
or email:MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take
a moment to review the archives athttp://archive.midrange.com/midrange-l.


--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing
list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.


--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.









Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2014 by MIDRANGE dot 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 here. If you have questions about this, please contact