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



In RPG date and time values (i.e. the binrary values) are always converted
into a character representation and converted back immediately before a
record is written or updated

Mit freundlichen Grüßen / Best regards

Birgitta Hauser

"Shoot for the moon, even if you miss, you'll land among the stars." (Les
Brown)
"If you think education is expensive, try ignorance." (Derek Bok)
"What is worse than training your staff and losing them? Not training them
and keeping them!"

-----Ursprüngliche Nachricht-----
Von: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] Im
Auftrag von Dave
Gesendet: Thursday, 13.9 2012 10:28
An: RPG programming on the IBM i / System i
Betreff: Re: Problem with dates while converting RPGIII to IV

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.


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

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.