× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.


  • Subject: Re: QDMRTVFO API won't work - help
  • From: "Simon Coulter" <shc@xxxxxxxxxxxxxxxxx>
  • Date: Fri, 29 Dec 00 18:29:45 +1100
  • Importance: Normal

h
Hello Mark,

You wrote:
>20 long (Carel mentioned this), I am on V4R4 and looking at the API manual
>it only showed 10 alpha
>- is this another trick that IBM has put in these manuals

Since the API is interested only in overrides and overrides are located using 
only the filename, 10 characters is the correct length.

>(before posting this I looked through archives and noticed that when
>IBM says binary(4), they really mean for you to code 9B 0...

What they really mean by BINARY is INTEGER.  Although 9B 0 should work it is 
really a kludge used when calling the APIS from RPG III.  Since you are using 
RPG IV you should change all B data type to I or U depending on need.  
BINARY(2) is coded as 5I 0 and BINARY(4) is coded as 10I 0

However, I don't think that is the cause of your problems.  As others have 
suggested you must initialise the Bytes_Provided part of the Error_Code 
structure.  You can do that by initialising BYTPRV to the %SIZE(ERRCODE).

Pure supposition here ... but are you actually issuing an OVRDBF file command 
and specifying TOFILE or TOMBR before calling the program?  If there isn't an 
override for the named file I'd expect the API to return *ZERO in the 
BYTESRETURNED OF OVRL0100 field.  Since debug indicates that value is 
uninitialised (X'40404040' = 1077952576 which shows in debug as 077952576 due 
to B data types losing the high-order digit) and no escape message is sent it 
appears the API doesn't touch the return structure if there is nothing to 
process.

I suggest that you firstly change the B data types to I, initialise numeric 
fields to *ZERO or an appropriate number, ensure an override is in place for 
the MWPCUSTHST file, and test the API again.

The QDMRTVFO API lists only the following exceptions which are mostly to do 
with the caller stuffing up the parameters.
 1.26.4  Error Messages

   CPF24B4 E Severe error while addressing parameter list.
   CPF3CF1 E Error code parameter not valid.
   CPF3C24 E Length of the receiver variable is not valid.
   CPF3C90 E Literal value cannot be changed.

Since none of these messages are being sent I suspect the API runs but finds 
no override information.  If you can prove that the API doesn't return 
override information when an override is in place then I'd raise a PMR with 
IBM support.

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 RPG/400 Mailing List!
| To submit a new message, send your mail to RPG400-L@midrange.com.
| To subscribe to this list send email to RPG400-L-SUB@midrange.com.
| To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---

As an Amazon Associate we earn from qualifying purchases.

This thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

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.