Thanks.
So MCH1210 is an RPGIV thing?

I noticed in testing that a parameter in a called program’s PLIST has
been converted to from 10A to a date. This was because it was defined
*LIKE a field in a file used in the program. However, in the caller,
the parameter is hard coded as 10A. At first I can see that this
works, as I believe a pointer is passed from one program to the other.
I think it’s working the same way as a MOVE, but I think it wouldn’t
work in the other direction, ie, called program 10A and caller Date.
In STRDBG, if I type ATTR myDatefield, it shows TYPE = FIXED LENGTH
STRING, LENGTH = 10 BYTES. A clue, methinks.
Technical explication, anyone?




2012/9/12 Jerry C. Adams <midrange@xxxxxxxx>:
Dave,

It depends on how you do the conversion.

For example, where A is 3.0, X = 300 and Y = 700,
C X ADD Y A
would *not* cause a machine check. The result (A) would simply overflow
resulting in A = 0.

But,
/free
A = x + y
/end-free

does result in a machine check because EVAL (which is what free format uses
here) checks for overflow.

I once had to put MONITORs around a string of calculations (EVALs) because
the @#$% purchasing "managers" couldn't define pricing factors correctly.

Jerry C. Adams
IBM i Programmer/Analyst
Military Intelligence is not a contradiction in terms, "Light Infantry" is!
--
A&K Wholesale
Home Office: 615-832-2730
email: midrange@xxxxxxxx

-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx]
On Behalf Of Dave
Sent: Wednesday, September 12, 2012 4:37 AM
To: RPG programming on the IBM i / System i
Subject: Re: Problem with dates while converting RPGIII to IV

Hi Mark,

I still don't see what the MCH1210 error has to do with converting from
RPGIII to IV.

The "tool" I was referring to is an inhouse thing. It's probably not that
interesting for anyone outside our shop. It lets me transfer a program
source member from the production machine to the development machine (we
keep source there!). It will also automatically transfer all the copybook
members. Then it converts the source with the copybook references and
documents the changes so saving a lot of work if you have many to convert.
If we'd inserted H CvtOpt(*DATETIME) it would've been better, in my view as
we needed as little changes as possible.


2012/9/11 Mark S Waterbury <mark.s.waterbury@xxxxxxxxxxxxx>:
Hi, Dave:

Could you tell us more about this "tool" you just got? Is it a
freeware / shareware tool? Is it available on the web? Sounds
interesting ...

As to your question about where to find information about "MCH1210"
errors ...

MCHxxxx error message IDs are "low level" errors that come from the
Machine Interface (MI) layer. Often, MCH1210 indicates that the
compiler generated an MI instruction (e.g., CPYBLAP, CPYNV, etc.), but
the target field is not large enough to contain the value contained in
the source field, especially when converting from one data type to
another.

A quick google search for "os/400 mch1210" (without quotes) turned up
quite a few links, including this one, that might help you:

http://www.itjungle.com/fhg/fhg101304-story03.html

Hope that helps,

Mark S. Waterbury

> On 9/11/2012 5:29 AM, Dave wrote:
Thanks,
omg I never even thought of that. I just got a tool and a lowdown
from another developer that helps with transferring the source to
development library and automatically converting any copybook stuff.
Plus a warning to watch out for dates!
Can you point me to anywhere where the MCH1210 errors are documented?
Preferably an IBM source?

2012/9/11 Martin Rowe <dbg400.net@xxxxxxxxx>:
On 11 September 2012 09:02, Dave <dfx1@xxxxxxxxxxxxxx> wrote:
hi all,

After converting an OPM, I have, for example, this :

C MOVEL WPLVDB IPLVDB

where factor 2 is 10A and the result field is date.

I have around 50 pgm to convert. Up till now, I've been testing and
when a program crashes I look in the compile list for date fields.

This is obviously not enough, I need to go through all the programs
and check all the statements involving date fields. Is there anyway
I can generate this information?
How should the line above be rewritten (bearing in mind I have
orders to make the minimum amount of changes!) ?
Hi Dave

We had a similar issue with field overflows caused by changing
ADD/SUB to EVAL as part of the conversion. I wrote a routine to
extract field definitions from the compile listing and then print an
edited source listing showing EVAL lines that potentially had an
issue. Code is at
http://www.dbg400.net/foswiki/bin/view/DBG400/ChkEvals if you want to
try tweaking it to highlight date field usage on MOVEx lines.

Regards, Martin
--
martin@xxxxxxxxxx http://www.dbg400.net
AS/400 | iSeries | System i Open Source/Free Software Debian
GNU/Linux - http://www.debian.org Foswiki - The Free Open Source
Wiki, http://foswiki.org/
--
This is the RPG programming on the IBM i / System i (RPG400-L)
mailing list To post a message email: RPG400-L@xxxxxxxxxxxx To
subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx Before posting, please take
a moment to review the archives at
http://archive.midrange.com/rpg400-l.



--
This is the RPG programming on the IBM i / System i (RPG400-L) mailing
list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe,
unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx Before posting, please take a
moment to review the archives at http://archive.midrange.com/rpg400-l.


--
This is the RPG programming on the IBM i / System i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe, unsubscribe, or
change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives at
http://archive.midrange.com/rpg400-l.


--
This is the RPG programming on the IBM i / System i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
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.