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



After visiting the archives, the SQL reference manual, the IBM DB2 web site,
the AS/400 newsgroup and the April 2000 Midrange Computing article I am
still stuck trying to debug a UDF.  I can't get it to break when I put it in
debug mode, and a DUMP operation tells me that "Variable data is not
available in a secondary thread. "  I created my function with:

CREATE FUNCTION STRLEN (CHAR) 
RETURNS INTEGER               
RETURNS NULL ON NULL INPUT    
LANGUAGE RPGLE                
EXTERNAL NAME 'BUCK/SQLUDFLEN'
DETERMINISTIC                 
NO SQL                        
NO EXTERNAL ACTION            
PARAMETER STYLE SQL           
DISALLOW PARALLEL             

Isn't "disallow parallel" supposed to suppress multi-threaded operation?

d inpChar         s            256            
d outLen          s             10i 0         
d inpInd          s            256            
d outInd          s            256            
d outSQLState     s              5            
d inpFuncName     s            139    varying 
d inpSpecName     s            128    varying 
d outDiagTxt      s             70    varying 

c     *entry        plist                                
c                   parm                    inpChar      
c                   parm                    outLen       
c                   parm                    inpInd       
c                   parm                    outInd       
c                   parm                    outSQLState  
c                   parm                    inpFuncName  
c                   parm                    inpSpecName  
c                   parm                    outDiagTxt   
                                          
c                   eval      outLen = 55 
c                   dump                  
c                   eval      *inlr = *on 

I also tried setting my QAQQINI to PARALLEL_DEGREE *NONE to no avail.  In
debug I get the message "Breakpoint received in secondary thread."
For what it's worth, the return value shows as 55 on my interactive SQL:
select strlen(name) from master where name like 'B%' so I know the program
works.  I just want to see it in debug!

Buck Calabro
Aptis; Albany, NY
"Nothing is so firmly believed as
 that which we least know" -- Michel Montaigne
Visit the Midrange archives at http://www.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-Ups:

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.