I have a problem with running this api on y v5r3 box. Always I try to
run this I get the well known CPF24B4. Here is my pcml doc.
<pcml version="1.0">
<program name="qyaspol" path="/QSYS.lib/QGY.lib/qyaspol.pgm">
<data name="receiver" type="char" length="800" usage="output" />
<data name="receiverlength" type="int" length="4" usage="inputoutput"
init="800" />
<data name="listinfo" type="char" length="80" usage="output" />
<data name="nbrrcd" type="int" length="4" usage="input" init="100" />
<data name="nbrfilter" type="int" length="4" usage="input" init="1" />
<data name="filter" type="struct" struct="filter" usage="input" />
<data name="format" type="char" length="8" usage="input"
init="YASP0100" />
<data name="errorCode" type="int" length="4" usage="output" />
</program>
<struct name="filter">
<data name="size" type="char" length="8" init=" 14" />
<data name="key" type="char" length="8" init=" 1" />
<data name="datasize" type="char" length="8" init=" 2" />
<data name="data" type="char" length="2" init=" 1" />
</struct>
I'm very new in programming with apis. ;-)
Greetz Henrik
Try these changes:
1. Specify a structure for the YASP0100 format and use
it for
the "receiver" parameter:
<struct name="yasp0100">
<data name="aspNum" type="int" length="4" />
<data name="rsrcName" type="char" length="10" />
<data name="devDesc" type="char" length="10" />
<data name="version" type="int" length="4" />
<data name="aspUsage" type="int" length="4" />
<data name="aspStatus" type="int" length="4" />
<data name="dbName" type="char" length="18" />
</struct>
2. Specify this structure for the 'listinfo' parameter:
<struct name="listInfo">
<data name="totalRcds" type="int" length="4" />
<data name="rcdsReturned" type="int" length="4" />
<data name="rqsHandle" type="byte" length="4" />
<data name="rcdLength" type="int" length="4" />
<data name="infoComplete" type="char" length="1" />
<data name="dateCreated" type="char" length="7" />
<data name="timeCreated" type="char" length="6" />
<data name="listStatus" type="char" length="1" />
<data type="byte" length="1" />
<data name="lengthOfInfo" type="int" length="4" />
<data name="firstRecord" type="int" length="4" />
<data type="byte" length="40" />
</struct>
3. Change the usage on the 'receiverlength' parameter
to 'input'.
4. Change the program call line parameters:
<program name="qyaspol"
path="/QSYS.lib/QGY.lib/qyaspol.pgm"
parseorder="listInfo receiver">
<data name="receiver" type="struct" struct="yasp0100"
usage="output"
count="listInfo.rcdsReturned"
outputsize="receiverLength" />
<data name="receiverlength" type="int" length="4"
usage="input" init="800" />
<data name="listInfo" type="struct" struct="listInfo"
http://publib.boulder.ibm.com/infocenter/iseries/v5r4/index.jsp?topic=/apiref/errorcodeformat.htm
Regards, Chuck
--
All comments provided "as is" with no warranties of any kind
whatsoever and may not represent positions, strategies, nor views of my
employer
Jonathan Ball wrote:
> <<SNIP>>
> 4. Change the program call line parameters:
>
> <<SNIP>>
Yes. I copied that from the original post and didn't
catch it.
Thanks for the quick answer, but. I changed he specification to this,
but it doesn't work. It's a mystery.
<pcml version="1.0">
<struct name="filter">
<data name="size" type="char" length="4"
init="14" />
<data name="key" type="char" length="4"
init="1" />
<data name="datasize" type="char" length="4"
init="2" />
<data name="data" type="char" length="4"
init="1" />
</struct>
<struct name="error">
<data name="bytesin" type="int" length="4"
init="64" />
<data name="bytesout" type="int" length="4"
init="0" />
<data name="exception" type="char" length="7"
init=" " />
<data name="reserved" type="char" length="1"
init=" " />
<data name="exceptiondata" type="char" length="80"
init=" " />
</struct>
<struct name="yasp0100">
<data name="aspNum" type="int" length="4" />
<data name="rsrcName" type="char" length="10" />
<data name="devDesc" type="char" length="10" />
<data name="version" type="int" length="4" />
<data name="aspUsage" type="int" length="4" />
<data name="aspStatus" type="int" length="4" />
<data name="dbName" type="char" length="18" />
</struct>
<struct name="listInfo">
<data name="totalRcds" type="int" length="4" />
<data name="rcdsReturned" type="int" length="4" />
<data name="rqsHandle" type="byte" length="4" />
<data name="rcdLength" type="int" length="4" />
<data name="infoComplete" type="char" length="1" />
<data name="dateCreated" type="char" length="7" />
<data name="timeCreated" type="char" length="6" />
<data name="listStatus" type="char" length="1" />
<data type="byte" length="1" />
<data name="lengthOfInfo" type="int" length="4" />
<data name="firstRecord" type="int" length="4" />
<data type="byte" length="40" />
</struct>
<program name="qyaspol" path="/QSYS.lib/QGY.lib/qyaspol.pgm"
parseorder="listInfo receiver">
<data name="receiver" type="struct"
struct="yasp0100" usage="output" count="listInfo.rcdsReturned"
outputsize="receiverlength" />
<data name="receiverlength" type="int"
length="4" usage="input" init="800" />
<data name="listInfo" type="struct"
struct="listInfo" usage="output" />
<data name="nbrrcd" type="int"
length="4" usage="input" init="100" />
<data name="nbrfilter" type="int"
length="4" usage="input" init="1" />
<data name="filter" type="struct"
struct="filter" usage="input" />
<data name="format" type="char"
length="8" usage="input" init="YASP0100" />
<data name="errorCode" type="int"
length="4" usage="output" />
</program>
</pcml>
Is there any additional debug data except the
"Trace.setTracePCMLOn(true);" to gather to get to the root?
Regards, Chuck
--
All comments provided "as is" with no warranties of any kind
whatsoever and may not represent positions, strategies, nor views of my
employer
henrik....@googlemail.com wrote:
> <<SNIP>>
> <program name="qyaspol" path="/QSYS.lib/QGY.lib/qyaspol.pgm"
> <<SNIP>>
I changed the error element to input initialised with zero and deleted
the error struct.
Now it looks like this:
<pcml version="1.0">
<struct name="filter">
<data name="size" type="char" length="4"
init="14" />
<data name="key" type="char" length="4"
init="1" />
<data name="datasize" type="char" length="4"
init="2" />
<data name="data" type="char" length="4"
init="1" />
</struct>
<struct name="yasp0100">
<data name="aspNum" type="int" length="4" />
<data name="rsrcName" type="char" length="10" />
<data name="devDesc" type="char" length="10" />
<data name="version" type="int" length="4" />
<data name="aspUsage" type="int" length="4" />
<data name="aspStatus" type="int" length="4" />
<data name="dbName" type="char" length="18" />
</struct>
<struct name="listInfo" outputsize="128">
<data name="totalRcds" type="int" length="4" />
<data name="rcdsReturned" type="int" length="4" />
<data name="rqsHandle" type="byte" length="4" />
<data name="rcdLength" type="int" length="4" />
<data name="infoComplete" type="char" length="1" />
<data name="dateCreated" type="char" length="7" />
<data name="timeCreated" type="char" length="6" />
<data name="listStatus" type="char" length="1" />
<data type="byte" length="1" />
<data name="lengthOfInfo" type="int" length="4" />
<data name="firstRecord" type="int" length="4" />
<data type="byte" length="40" />
</struct>
<program name="qyaspol" path="/QSYS.lib/QGY.lib/qyaspol.pgm"
parseorder="listInfo receiver">
<data name="receiver" type="struct"
struct="yasp0100" usage="output" count="listInfo.rcdsReturned"
outputsize="receiverlength" />
<data name="receiverlength" type="int"
length="4" usage="input" init="16384" />
<data name="listInfo" type="struct"
struct="listInfo" usage="output" />
<data name="nbrrcd" type="int"
length="4" usage="input" init="100" />
<data name="nbrfilter" type="int"
length="4" usage="input" init="1" />
<data name="filter" type="struct"
struct="filter" usage="input" />
<data name="format" type="char"
length="8" usage="input" init="YASP0100" />
<data name="errorCode" type="int"
length="4" usage="input" init="0"/>
</program>
</pcml>
Same error.
Try changing the last parameter to this:
<data name="errorCode" type="int" length="4"
usage="input" init="0" />
Its already changed to this. Same result.
<struct name="filter">
<data name="size" type="int" length="4" init="16" />
<data name="key" type="int" length="4" init="1" />
<data name="datasize" type="int" length="4" init="4" />
<data name="data" type="int" length="4" init="-1" />
</struct>
Regards, Chuck
--
All comments provided "as is" with no warranties of any kind
whatsoever and may not represent positions, strategies, nor views of my
employer
henrik....@googlemail.com wrote:
> <<SNIP>>
> <struct name="filter">
> <data name="size" type="char" length="4" init="14" />
> <data name="key" type="char" length="4" init="1" />
> <data name="datasize" type="char" length="4" init="2" />
> <data name="data" type="char" length="4" init="1" />
> </struct>
> <<SNIP>>
Thanks a lot but same error. Here is the trace data:
Toolbox for Java - Open Source Software, JTOpen 5.3, codebase 5722-JC1
V5R4M0.4
Mo Nov 19 17:31:01:343 CET 2007 Writing data -- Offset: 0 Length: 4
Name: "qyaspol.receiverlength" Byte data: 00004000 Thread[main,
5,main]
Mo Nov 19 17:31:01:359 CET 2007 /QSYS.lib/QGY.lib/qyaspol.pgm
qyaspol.receiverlength
Mo Nov 19 17:31:01:359 CET 2007 Offset : 0....... 4....... 8.......
C....... 0....... 4....... 8....... C....... 0...4...8...C...
0...4...8...C...
Mo Nov 19 17:31:01:359 CET 2007 0 :
00004000
*.. . *
Mo Nov 19 17:31:01:359 CET 2007 Writing data -- Offset: 0 Length: 4
Name: "qyaspol.nbrrcd" Byte data: 00000064 Thread[main,5,main]
Mo Nov 19 17:31:01:375 CET 2007 /QSYS.lib/QGY.lib/qyaspol.pgm
qyaspol.nbrrcd
Mo Nov 19 17:31:01:375 CET 2007 Offset : 0....... 4....... 8.......
C....... 0....... 4....... 8....... C....... 0...4...8...C...
0...4...8...C...
Mo Nov 19 17:31:01:375 CET 2007 0 :
00000064
*.... *
Mo Nov 19 17:31:01:375 CET 2007 Writing data -- Offset: 0 Length: 4
Name: "qyaspol.nbrfilter" Byte data: 00000001 Thread[main,5,main]
Mo Nov 19 17:31:01:375 CET 2007 /QSYS.lib/QGY.lib/qyaspol.pgm
qyaspol.nbrfilter
Mo Nov 19 17:31:01:375 CET 2007 Offset : 0....... 4....... 8.......
C....... 0....... 4....... 8....... C....... 0...4...8...C...
0...4...8...C...
Mo Nov 19 17:31:01:375 CET 2007 0 :
00000001
*.... *
Mo Nov 19 17:31:01:390 CET 2007 Writing data -- Offset: 0 Length: 4
Name: "qyaspol.filter.size" Byte data: F1F64040 Thread[main,5,main]
Mo Nov 19 17:31:01:390 CET 2007 Writing data -- Offset: 4 Length: 4
Name: "qyaspol.filter.key" Byte data: F1404040 Thread[main,5,main]
Mo Nov 19 17:31:01:390 CET 2007 Writing data -- Offset: 8 Length: 4
Name: "qyaspol.filter.datasize" Byte data: F4404040 Thread[main,
5,main]
Mo Nov 19 17:31:01:390 CET 2007 Writing data -- Offset: c Length: 4
Name: "qyaspol.filter.data" Byte data: 60F14040 Thread[main,5,main]
Mo Nov 19 17:31:01:406 CET 2007 /QSYS.lib/QGY.lib/qyaspol.pgm
qyaspol.filter
Mo Nov 19 17:31:01:406 CET 2007 Offset : 0....... 4....... 8.......
C....... 0....... 4....... 8....... C....... 0...4...8...C...
0...4...8...C...
Mo Nov 19 17:31:01:406 CET 2007 0 : F1F64040 F1404040 F4404040
60F14040 *16 1 4
-1 *
Mo Nov 19 17:31:01:406 CET 2007 Writing data -- Offset: 0 Length: 8
Name: "qyaspol.format" Byte data: E8C1E2D7F0F1F0F0 Thread[main,
5,main]
Mo Nov 19 17:31:01:406 CET 2007 /QSYS.lib/QGY.lib/qyaspol.pgm
qyaspol.format
Mo Nov 19 17:31:01:406 CET 2007 Offset : 0....... 4....... 8.......
C....... 0....... 4....... 8....... C....... 0...4...8...C...
0...4...8...C...
Mo Nov 19 17:31:01:406 CET 2007 0 : E8C1E2D7
F0F1F0F0
*YASP0100 *
Mo Nov 19 17:31:01:406 CET 2007 Writing data -- Offset: 0 Length: 4
Name: "qyaspol.errorCode" Byte data: 00000000 Thread[main,5,main]
Mo Nov 19 17:31:01:406 CET 2007 /QSYS.lib/QGY.lib/qyaspol.pgm
qyaspol.errorCode
Mo Nov 19 17:31:01:406 CET 2007 Offset : 0....... 4....... 8.......
C....... 0....... 4....... 8....... C....... 0...4...8...C...
0...4...8...C...
Mo Nov 19 17:31:01:406 CET 2007 0 :
00000000
*.... *
CPF24B4 - Schwerwiegender Fehler beim Adressieren der
Parameterliste.
** Call to QYASPOL failed. See messages above **
qyaspol.filter
Offset
: 0....... 4....... 8....... C.......
: F1F64040 F1404040 F4404040 60F14040 *16 1 4 -1 *
Perhaps only the /init/ were changed, and not the /type/ ?
Regards, Chuck
--
All comments provided "as is" with no warranties of any kind
whatsoever and may not represent positions, strategies, nor views of my
employer
henrik....@googlemail.com wrote:
> On 19 Nov., 17:18, CRPence <crpe...@vnet.ibm.com> wrote:
>> The filter is not correct according to the API doc. The following
>> would seem to be more appropriate, where -1 is used to list; or a
>> positive integer to get information about that specified ASP number.
>>
>> <struct name="filter">
>> <data name="size" type="int" length="4" init="16" />
>> <data name="key" type="int" length="4" init="1" />
>> <data name="datasize" type="int" length="4" init="4" />
>> <data name="data" type="int" length="4" init="-1" />
>> </struct>
>>
>> Regards, Chuck
>
> Thanks a lot but same error. Here is the trace data:
>
> <<SNIP>>
Oh yes! Great! I was working since a week on this issue. Thanks a
lot.
Regards Henrik