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



What is the DDS definition of the field being moved to? Since you say that it is 7 with 2 decimals, as Simon noticed, then the result is correct - it is not moving the first 2 digits to the end, it is putting the integer value 12345 in the right place for a 7,2 zoned field.

You defined the input value as a 7,0 - which is correct - if it had had a value like 0123456, then the import might have failed because you are trying to put the value into a field that can have a value of 99999.99 at the most.

Remember, as others have said, that there are no decimal places stored with the zoned value - those come from the format definition of the PF - at least that is how it feels - might be different at the low level, but close enough for me. The number you have in the PF is 12345.00 - that is the true meaning of it - that is exactly the value you imported --->> 0012345 = 12345.00

This is exactly what would happen in RPG if you did an EVAL from a 7,0 to a 7,2 - and there is the risk of numeric overflow.

HTH
Vern

Jimmy Green wrote:
IF the data in the input file is 0012345 after the cpyfrmimpf it should be
00123.45 but, it's not.
It's changing to 1234500

The cpyfrmimpf is actually moving the first two bytes to the end for the
decimal. Is that the way the cpyfrmimpf is supposed to work?????



-----Original Message-----
From: midrange-l-bounces@xxxxxxxxxxxx
[mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of Simon Coulter
Sent: Tuesday, June 09, 2009 6:31 PM
To: Midrange Systems Technical Discussion
Subject: Re: cpyfrmimpf


On 10/06/2009, at 5:57 AM, Jimmy Green wrote:

Example of DDS field in the "to file"

FIELD 00007S02 ALIAS(TST_FIELD)



The Field Definition file is as follows

-Fldnme beg end nul

FIELD 1 7 0



The "from file" (.txt) has the data as 0012345

After the CPYFRMIMPF the "to file" has 1234500

What did you expect to see?

1234500 is the correct value for your data applied to the defined field. DDS (and therefore the file itself) shows the field as a ZONED(7,2) which means the field can hold 7 digits, 5 to the left of the implied decimal point and 2 to the right. Therefore the value in the field is interpreted as 12345.00 which is correct.


Regards,
Simon Coulter.
--------------------------------------------------------------------
FlyByNight Software OS/400, i5/OS Technical Specialists

http://www.flybynight.com.au/
Phone: +61 2 6657 8251 Mobile: +61 0411 091 400 /"\
Fax: +61 2 6657 8251 \ /
X
ASCII Ribbon campaign against HTML E-Mail / \
--------------------------------------------------------------------




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.