× 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.




Hi James,

This behavior should be the same across the releases. If the database file
is opened with the "vlr=xx" option (indicating variable length records) on
the _Ropen() function, then the C2M3003 messages should not be generated
for these reads. If the database file is opened without the "vlr=xx"
option on the _Ropen() function, then the C2M3003 messages are expected.

Is there a possibility that the parameters passed to the _Ropen() function
are different on this V7 customer box? If that is not the case, then
please open up a PMR with IBM customer support with your question. They
will likely need reproduction steps to show the different behavior on the
different releases. If you could provide a small sample program and a
small sample database file that illustrates the behavior difference, that
would be perfect.

Scott Hanson


|------------>
| From: |
|------------>
>-------------------------------------------------------------------------------------------------------------------------------------------|
|James Lampert <jamesl@xxxxxxxxxxxxxxxxx> |
>-------------------------------------------------------------------------------------------------------------------------------------------|
|------------>
| To: |
|------------>
>-------------------------------------------------------------------------------------------------------------------------------------------|
|C programming iSeries / AS400 <c400-l@xxxxxxxxxxxx>, Midrange Systems Technical Discussion <midrange-l@xxxxxxxxxxxx> |
>-------------------------------------------------------------------------------------------------------------------------------------------|
|------------>
| Date: |
|------------>
>-------------------------------------------------------------------------------------------------------------------------------------------|
|02/09/2012 05:46 PM |
>-------------------------------------------------------------------------------------------------------------------------------------------|
|------------>
| Subject: |
|------------>
>-------------------------------------------------------------------------------------------------------------------------------------------|
|[C400-L] Strange change of behavior in _Rreadf/_Rreadn, from V6 to V7 |
>-------------------------------------------------------------------------------------------------------------------------------------------|
|------------>
| Sent by: |
|------------>
>-------------------------------------------------------------------------------------------------------------------------------------------|
|c400-l-bounces@xxxxxxxxxxxx |
>-------------------------------------------------------------------------------------------------------------------------------------------|





I've just noticed a strange phenomenon:

Calling _Rreadf and _Rreadn from C, intentionally reading less than a
full record, specifying a buffer length of less than a full record (it
was a full record a few years ago, but . . . ) has been working
perfectly, throwing no exceptions, leaving nothing in the joblog, from
V4 through V6.

Now, on this one V7 customer box, it's leaving one of these in the
joblog for every such read (and since that box needs to read an entire
4000+ record file, it wraps the joblog):

C2M3003 Escape 20 02/09/12 17:10:56.811597 QC2IO QSYS . . .
From module . . . . . . . . : QC2RIODB
From procedure . . . . . . : C2M_ERROR_proc
Statement . . . . . . . . . : 4
To module . . . . . . . . . : WTCPVERIFY
To procedure . . . . . . . : main
Statement . . . . . . . . . : 123 *PRCLT
Message . . . . : Data was truncated on an input, output or
update
operation.
Cause . . . . . : 1. You attempted to read a record that is
longer than the
length of the buffer you are reading into. 2. You attempted
to write to or
update a record that is longer than the length of the record
format you are
using. Recovery . . . : Use the correct record length when
performing the
I/O operations. Technical description . . . . . . . . : The
value of errno
is set to ETRUNC.


Anybody have any idea why this would suddenly start happening at V7?
Anybody ever seen anything like it?

--
JHHL
--
This is the C programming iSeries / AS400 (C400-L) mailing list
To post a message email: C400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/c400-l
or email: C400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/c400-l.



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

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.