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



Hi Birgitta.

Yes this was my first option but (I hope I'm wrong) with UDTF the table is 
created on the fly, I
mean you "call" it and the function runs. Right? If so I'm quite afraid about 
performance.

With UTDF the table name (splitf) is not library qualified so I just need to 
create the function
and use it with the appropriate library list as if I'm executing a normal 
program?

By the way, what's wrong with the View approach?

Thanks very much
Marco

--- "Hauser, Birgitta" <Birgitta.Hauser@xxxxxxxxxxx> wrote:

> Hi Marco,
> 
> have a look at user defined table functions.
> I'd suggest to use a User Defined Table Function.
> An UDTF can be used in each SELECT statement like a table or view.
> 
> The following example shows an UTDF, that splits a S/36 file in seperated
> fields. 
> 
> ZipCode was a packed format and the numeric Birthday is converted into a
> real date.
> CREATE FUNCTION HAUSER/SplitAdress                     
>       (  )                                             
>        RETURNS TABLE                                   
>               (FirstName CHARACTER( 15 ) ,             
>                Name      CHARACTER( 15 ) ,             
>                ZipCode   DECIMAL  (5, 0),              
>                City      CHARACTER( 15 ) ,             
>                BirthDay  DATE               )          
>        LANGUAGE SQL                                    
>        NOT DETERMINISTIC                               
>        MODIFIES SQL DATA                               
>        CALLED ON NULL INPUT                            
>        NO EXTERNAL ACTION                              
>        DISALLOW PARALLEL                               
>                                                        
>    BEGIN                                               
>        DECLARE Error DECIMAL(1, 0);                    
>        DECLARE Continue Handler FOR SQLEXCEPTION       
>                Set Error = 1;                          
>                                                                  
>       Return (SELECT SUBSTR ( SplitF ,  1 , 15 ) ,               
>                      SUBSTR ( SplitF , 16 , 15 ) ,               
>                      DECIMAL( SUBSTR (HEX (SplitF), 61,  5)),    
>                      SUBSTR ( SplitF , 34 , 15 ) ,               
>                      DATE   ( SUBSTR (HEX (SplitF), 98,  4)      
>                               concat '-' concat                  
>                               SUBSTR (HEX (SplitF), 102,  2)     
>                               concat '-' concat                  
>                               SUBSTR (HEX (SplitF), 104,  2))    
>                 From SplitF);                                    
>                                                                  
>   END  ;                                                         
> 
> You call the UDTF in an SELECT-statement as follows:
> Select * from Table(SplitAdress()) as MyTable
> Where Name = 'HAUSER' ...
> 
> I hope this helps
> 
> Birgitta
> 



                
____________________________________________________
Start your day with Yahoo! - make it your home page 
http://www.yahoo.com/r/hs 
 

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.