I appreciate the help with this problem. I received a response
yesterday and that pointed out the same problem with the binary
representations. I got it working last night. To get the processor
feature code, the key to be used is 150.
================================
Mike Silvers
AS/400 Senior
Programmer/Analyst
AS/400 IBM Certified RPG IV Developer
AS/400 IBM
Certified Expert
Hainey Business Systems
8 E. Canal St
Dover, PA
17315
Branch Office: (410) 397-8739
Phone: (800)
932-3380
Fax: (717) 292-9474
Web:
http://www.hbs-inc.com________________________________
Providing
E-Commerce, EDI, AS/400
Development and related services
nationwide.
================================
----- Original Message -----
Sent: Thursday, January 04, 2001 6:51
PM
Subject: Re: Error using CL API
QRZRRSI
Hello Mike,
You wrote:
>In the job log the
message is just that a reserved area is not set to binary
>zeros.
The API looks rather straight forward and I did not see any
>positions
marked as reserved in the documentation. My request
criteria
>variable is set to the following
value:
>
>&FCINFO
*CHAR
64
'CEC01'
>
+26
'000000000000000000'
>
+51
'0100570150 '
>I know that my error variables are
set correctly because I use them in other
>API calls in the same
program. Does anyone have any ideas?
Firstly, it doesn't appear
that QRZRRSI can retrieve the processor feature
code because it is not
listed as one of the data keys. You should probably be
using one of
the software product APIs.
Secondly, the request criteria structure
does not look correct. It looks like
&FCINFO contains character
data when most of it is supposed to be binary
numbers.
Thirdly, since the length of &FCINFO is 64 bytes I assume you are
requesting
information for a single data key:
32-bytes for resource
name
16-bytes for handle
4-bytes for search request
4-bytes for key
offset
4-bytes for number of keys
4-bytes for the key
itself
--------
64-bytes total
however the values displayed in
the dump don't fit the layout. You have the
resource name as
'CEC01
0000000' which means the handle is
'0000000000001005' and that is the
field I think it is complaining about.
It appears from the contents of
&FCINFO that you want 16 zeros for the handle,
0001 for number of
keys, 0057 for offset to first key, and 0150 as the number
of keys,
followed by blanks where the key value should be. The first key must
be in offset 60, you only have room for 1 key, and blanks is not a valid
key
identifer. You have specified these values as character but they
should be
binary numbers.
Assuming that you do still want to use
the QRZRRSI API here is a CLLE
example:
pgm
dcl &rcvvar *char
1024
dcl &rcvvarlen *char
4
dcl &request *char
256
dcl &format *char 8
value('RTVI0100')
dcl &errcode *char 8
value(X'0000000000000000')
dcl &resource *char 32
value('CEC01')
dcl &handle *char 16
value(x'00000000000000000000000000000000')
dcl &schrqs *char
4
dcl &offset *char
4
dcl &nbrkeys *char
4
dcl &keys *char 16 value(x'00000000000000000000000000000000') /* Room
for 4
*/
/* although API
*/
/* supports 1
*/
/* key only !!!
*/
chgvar %bin(&rcvvarlen)
1024
chgvar %bin(&schrqs)
1 /* First search
*/
chgvar %bin(&offset) (32 + 16 + 4 + 4 + 4) /* 32-byte resource
name */
/* 16-byte handle */
/* 4-byte search request */
/* 4-byte key offset */
/* 4-byte key count */
chgr
%bin(&nbrkeys)
1
chgvar %bin(&keys 1 4)
5
/* Model number */
chgvar &request (&resource *cat &handle *cat &schrqs *cat
&offset +
*cat &nbrkeys *cat
&keys)
call qrzrrsi (&rcvvar &rcvvarlen &format &request
&errcode)
endpgm
Regards,
Simon
Coulter.
«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»
«»
FlyByNight Software AS/400
Technical Specialists «»
«» Eclipse the
competition - run your business on an IBM AS/400.
«»
«»
«»
«» Phone: +61 3 9419 0175 Mobile: +61 0411
091 400 «»
«»
Fax: +61 3 9419 0175 mailto: shc@flybynight.com.au
«»
«»
«»
«» Windoze should not be open at Warp
speed.
«»
«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»
+---
|
This is the Midrange System Mailing List!
| To submit a new message, send
your mail to MIDRANGE-L@midrange.com.
| To
subscribe to this list send email to MIDRANGE-L-SUB@midrange.com.
|
To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com.
|
Questions should be directed to the list owner/operator: david@midrange.com
+---