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



Thanks

Marco

--- Barbara Morris <bmorris@xxxxxxxxxx> wrote:

> Marco Facchinetti wrote:
> > 
> > Barbara, what are the risks if the activation group ends and the files
> are
> > not yet closed?
> > 
> 
> The only thing I can think of (a somewhat farfetched scenario) is that
> you might have an incomplete block of records waiting to be written out
> to a blocked output file.  When the file gets closed automatically
> because of the activation group ending, the block of records will be
> written out.  If the block contains a record with a data mapping error,
> that record and all the records following it will not get written out to
> the file.
> 
> If you don't want to close your output files, you can still write out
> any incomplete blocks by using FEOD on your blocked output files before
> you return.  (Use FEOD(N) for best performance.)  If you use FEOD,
> you'll get an exception in your program if there are any data mapping
> errors, instead of possibly having to wait until RCLACTGRP time and
> missing the errors.
> 
> It's not that easy to get a data-mapping error on output.  The only way
> I know to do it using RPG is to have a file with a date, time or
> timestamp field, and get RPG to write out the record without checking
> the d/t/z.  You can do this either a) by incorrectly program-describing
> the file to have character fields, or b) by using a result DS for an
> externally-described file, and not putting a valid value in the d/t/z
> subfield.
> 
> Example:
> 
>  * File JUNK
> A          R REC                
> A            DATE            L  
> 
>  * RPG program JUNKPGM
> H dftactgrp(*no) actgrp('JUNK')
> FJUNK      o    f   10        disk             
> F#junkf    o    f   10        disk               
> D ds              ds            10               
> C                   eval      ds = '2005-01-01'  
> C                   write     junk          ds   
> C                   eval      ds = 'bad date'    
> C                   write     junk          ds   
> C                   eval      ds = '2005-01-03'  
> C                   write     junk          ds   
> C                   return                       
> 
> ===> CALL JUNKPGM
> ===> RCLACTGRP JUNK
> - check the joblog - it will say 2 records were lost
> - check the file - it will only show 2005-01-01
> 
> -- 
> This is the RPG programming on the AS400 / iSeries (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.
> 
> 



                
__________________________________ 
Yahoo! FareChase: Search multiple travel sites in one click.
http://farechase.yahoo.com

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.