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



I've tried to call CDD from RPG as ExtProc('_CDD')  and from MI.

When the DDAT 1 is of type x'0014' I pass a pointer to a packed 8,0 and CDD
returns correct data (number of years+number of month+number of days).

When the DDAT 1 is of type x'000F' I pass a pointer to a packed 15,0 and it
fails. The message says "exactly" that the error is at offset x'0004' where
DDAT 1 starts.

A similar error occurs when I use a format other than ISO or a char(6) date
for DDAT 2  and DDAT 3.

For example If I use a YYMMDD date it works fine. If I try to use a CYYMMDD
or another format it crashes and the MCH5601 signals the offset od DDAT 2.

Btw in the meanwhile I solved the problem and I compute the duration in
another way but it would be interesting to see if there is someone that
tried to use this instruction.

Giuseppe.

----- Original Message ----- 
From: "Postmaster" <fbns@xxxxxxxxxxxxxxxxx>
To: "MI Programming on the AS400 / iSeries" <mi400@xxxxxxxxxxxx>
Sent: Tuesday, October 11, 2005 1:24 PM
Subject: Re: [MI400] Compute Date Duration


>
> On 11/10/2005, at 6:48 PM, Beppe Costa wrote:
>
> > Simon,
> > I don't think that there is a validation on the output parameter
> > because
> > it's only a pointer.
>
> Are you trying to run CDD from C or MI? If from C then you pass a
> pointer to a packed decimal variable. If from MI then you pass the
> scalar itself.
>
> The error you reported is caused by validating the 4th input parameter.
> All MI instructions that accept a template validate the content of the
> template. When the template contains an invalid value the MCH5601
> message is sent. This message tells you exactly what part of the
> template is invalid.
>
> > Btw I'm missing something because the DDAT1 duration in x0014 is
> > returned
> > correctly with ISO and YMD date but I can't get it with other date
> > format.
> > And in any case I can never get a Labeled Duration. Unfortunately the
> > only
> > documentation is from a single page in the MI functional reference and
> > an
> > example in C that uses ISO dates. I've found nothing else.
>
> http://publib/boulder.ibm.com/infocenter/iseries/v5r3/topic/rzatk/
> topics.htm
>
> Click Date/Time/Timestamp
>
> Click Date/Time Concepts
>
> Read carefully.
>
> > Thanks in any
> > case for your  response.
> > Giuseppe.
> >
> >
> > ----- Original Message -----
> > From: "Simon Coulter" <shc@xxxxxxxxxxxxxxxxx>
> > To: "MI Programming on the AS400 / iSeries" <mi400@xxxxxxxxxxxx>
> > Sent: Monday, October 10, 2005 11:41 PM
> > Subject: Re: [MI400] Compute Date Duration
> >
> >
> >>
> >> On 10/10/2005, at 10:53 PM, Beppe Costa wrote:
> >>
> >>> I'm trying to use the the MI CDD.
> >>>
> >>> When Operand1 is a DDAT x'0014' (Date Duration) I get the right value
> >>> expressed in Years, Month and Days but when Operand1 is x'000F'
> >>> (Labeled Duration DAY) I always get a "template value invalid".
> >>
> >> Show the complete message text of the MCH5601 message. The
> >> substitution
> >> text will usually tell you what part of the template is wrong.
> >>
> >> My guess is that the variable containing the duration value is of the
> >> wrong type. For x'0014' it must be PKD(8,0) but for x'000F' it must be
> >> PKD(15,0)
> >>
> >> Regards,
> >> Simon Coulter.
> >> --------------------------------------------------------------------
> >>     FlyByNight Software         AS/400 Technical Specialists
> >>
> >>     http://www.flybynight.com.au/
> >>     Phone: +61 3 9419 0175   Mobile: +61 0411 091 400        /"\
> >>     Fax:   +61 3 9419 0175                                   \ /
> >>                                                               X
> >>                   ASCII Ribbon campaign against HTML E-Mail  / \
> >> --------------------------------------------------------------------
> >>
> >>
> >> _______________________________________________
> >> This is the MI Programming on the AS400 / iSeries (MI400) mailing list
> >> To post a message email: MI400@xxxxxxxxxxxx
> >> To subscribe, unsubscribe, or change list options,
> >> visit: http://lists.midrange.com/mailman/listinfo/mi400
> >> or email: MI400-request@xxxxxxxxxxxx
> >> Before posting, please take a moment to review the archives
> >> at http://archive.midrange.com/mi400.
> >>
> >
> > _______________________________________________
> > This is the MI Programming on the AS400 / iSeries (MI400) mailing list
> > To post a message email: MI400@xxxxxxxxxxxx
> > To subscribe, unsubscribe, or change list options,
> > visit: http://lists.midrange.com/mailman/listinfo/mi400
> > or email: MI400-request@xxxxxxxxxxxx
> > Before posting, please take a moment to review the archives
> > at http://archive.midrange.com/mi400.
> >
> >
>
>
> _______________________________________________
> This is the MI Programming on the AS400 / iSeries (MI400) mailing list
> To post a message email: MI400@xxxxxxxxxxxx
> To subscribe, unsubscribe, or change list options,
> visit: http://lists.midrange.com/mailman/listinfo/mi400
> or email: MI400-request@xxxxxxxxxxxx
> Before posting, please take a moment to review the archives
> at http://archive.midrange.com/mi400.
>


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.