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


  • Subject: RE: Built in Function ILE RPG
  • From: Joel Fritz <JFritz@xxxxxxxxxxxxxxxx>
  • Date: Fri, 22 Jan 1999 08:46:29 -0800

Check out the date features of the TEST opcode.  You can test numeric or
character variables before moving them into date fields.  

Here's the example code from the ILE RPG Reference Manual:

 D                                                                         
 D Datefield       S               D   DATFMT(*JIS)                        
 D Num_Date        S              6P 0 INZ(910921)                         
 D Num_Time        S              8    INZ('13:05 PM')                     
 D Char_Date       S              6    INZ('041596')                       
 D Char_Tstmp      S             20    INZ('19960723140856834000')         
 D                                                                         
 CL0N01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq.. 
  *                                                                        
  *  Indicator 18 will not be set on since the character field is a        
  *  valid *ISO timestamp field, without separators.                       
 C     *ISO0         TEST (Z)                Char_Tstmp             18     
  *  Indicator 19 will not be set on since the character field is a        
  *  valid *MDY date, without separators.                                  
 C     *MDY0         TEST (D)                Char_Date              19     
  *                                                                        
  *  Indicator 20 is set since Date1 is not *DMY                           
                                                                   More... 
  *                                                                      
 C     *DMY          TEST (D)                Num_Date               20   
  *                                                                      
  *  No Factor 1 since result is a D data type field                     
  *  Indicator 21 will not be set on since the field                     
  *  contains a valid date                                               
 C                                                                       
 C                   TEST                    Datefield              21   
 C                                                                       
  *  In the following test indicator 22 will be set on since the         
  * Timefield does not contain a valid USA time                          
 C                                                                       
 C     *USA          TEST (T)                Num_Time               22   
                                                                         
                                                                         

> -----Original Message-----
> From: Rajan.Srinivasan@Allfun.com [mailto:Rajan.Srinivasan@Allfun.com]
> Sent: Friday, January 22, 1999 1:32 PM
> To: MIDRANGE-L@midrange.com
> Subject: Re: Built in Function ILE RPG
> 
> 
> Thanks  Eric, it works fine. I can able to cut one more extra code.
> 
> There is one more point I did'nt  mention.
> 
> > 1. Moving   the numerical  value ( 8, 0)  to    DATE STAMP 
> Field with
> (> Date format  *USA)
> 
>  On the above statement, by any chance if there is some 
> invalid date like
> Februry 30, then
> the program is boming out with run time message.
> 
> For that , before executing the above statement, I am evaluating for
> invalid date which runs almost 10+ statments.
> 
> Is there any better way for this.
> 
> Thanks again
> 
> Regards
> 
> Raj
> 
> 
> 
> 
> 
> 
> 
> "Eric DeLong" <eric.delong@pmsi-services.com> on 01-22-99 10:02:57 AM
> 
> Please respond to MIDRANGE-L@midrange.com
> 
> To:   MIDRANGE-L@midrange.com
> cc:    (bcc: Rajan Srinivasan/Servicing/SuperiorBank)
> Subject:  Re: Built in Function ILE RPG
> 
> 
> 
> 
> 
>      Raj,
>      Take a look at the MOVE opcode. There was a lot of 
> extended support
>      added for moving numeric/character dates and times into date and
>      time fields. All you'll need is your *ISO date field and a
>      statement like:
>      C         *USA       Move     NUMDAT         NEWDATE
>      eric.delong@pmsi-services.com
> 
> ______________________________ Reply Separator
> _________________________________
> Subject: Built in Function ILE RPG
> Author:  <MIDRANGE-L@midrange.com > at INET_WACO
> Date:    1/22/99 1:43 PM
> 
> Friends,
>                        Could you please help me on this.  
> Actually, I am
> trying to  convert a  numerical  variable from
> MMDDCCYY  format to  CCYYMMDD  .  ( and Vice versa )
> Even though , we can do this by  using data structure, I 
> would rather like
> to use the new functioanality of ILE RPG.
> For that,  I  have tried using date stamp field.
> 1. Moving   the numerical  value ( 8, 0)  to    DATE STAMP 
> Field with  (
> Date format  *USA)
> 2.  Moving   Date Stamp Field ( *USA)     TO    another date 
> stamp field
> (*ISO)
> 3.  Finally,  moving  Date Stamp Filed (*ISO)     TO     
> Result  Field (
> Numerical variable with 8, 0 )
> 
> The above method works fine.
> 
>  I was looking around for other better methods, because  in 
> RPG/400, it is
> just  one  statement ( multiplying by  10000.01),
> but in  ILE RPG it  takes three statement and two more 
> additional  work
> field declaration ( Date stamp field).
> 
> Could  you please tell me , is there any other better methods 
>  like  using
> Built in function.?
> Can we create our  own built-in function?.
> Any help is greatly appriciated.
> Thanks
> Regards
> Raj
> 
> 
> 
> 
> 
> 
> +---
> | This is the Midrange System Mailing List!
> | To submit a new message, send your mail to MIDRANGE-L@midrange.com.
> | To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com.
> | To unsubscribe from this list send email to
> MIDRANGE-L-UNSUB@midrange.com.
> | Questions should be directed to the list owner/operator:
> david@midrange.com
> +---
> 
> 
> +---
> | This is the Midrange System Mailing List!
> | To submit a new message, send your mail to MIDRANGE-L@midrange.com.
> | To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com.
> | To unsubscribe from this list send email to
> MIDRANGE-L-UNSUB@midrange.com.
> | Questions should be directed to the list owner/operator:
> david@midrange.com
> +---
> 
> 
> 
> 
> 
> 
> +---
> | This is the Midrange System Mailing List!
> | To submit a new message, send your mail to MIDRANGE-L@midrange.com.
> | To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com.
> | To unsubscribe from this list send email to 
> MIDRANGE-L-UNSUB@midrange.com.
> | Questions should be directed to the list owner/operator: 
> david@midrange.com
> +---
> 
+---
| This is the Midrange System Mailing List!
| To submit a new message, send your mail to MIDRANGE-L@midrange.com.
| To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com.
| To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---


As an Amazon Associate we earn from qualifying purchases.

This thread ...


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.