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



>The biggest hurdle, which I have not solved
>yet, is the handling of displaying digits
>(grin) , there's no SQL in-built function
>that could convert it to a string  but with
>the appropriate editing

(appropriate meaning "no editing.")

Look into writing your own SQL function.  Here's a simple RPG version for
you to play with.  Look into the edit APIs for a more generic solution.  The
point of this code is to demonstrate how to write and register your own UDF
(User Defined Function).

Source member QRPGLESRC SQLNOEDIT
h debug dftactgrp(*no) actgrp(*caller)
 * dbgview(*list)

 * Return a numeric value without editing
 * register:

 * CREATE FUNCTION NOEDIT (DECIMAL(30,15))
 * RETURNS VARCHAR(256)
 * RETURNS NULL ON NULL INPUT
 * LANGUAGE RPGLE
 * EXTERNAL NAME 'BUCK/SQLNOEDIT'
 * DETERMINISTIC
 * NO SQL
 * NO EXTERNAL ACTION
 * PARAMETER STYLE SQL
 * DISALLOW PARALLEL

d inpDec          s             30 15
d outChar         s            256    varying
d inpInd          s              5i 0
d outInd          s              5i 0
d outSQLState     s              5
d inpFuncName     s            139    varying
d inpSpecName     s            128    varying
d outDiagTxt      s             70    varying

c     *entry        plist
c                   parm                    inpDec
c                   parm                    outChar
c                   parm                    inpInd
c                   parm                    outInd
c                   parm                    outSQLState
c                   parm                    inpFuncName
c                   parm                    inpSpecName
c                   parm                    outDiagTxt

c                   eval      outChar = %editc(inpDec: 'X')

c                   eval      *inlr = *on

(register the function by copy/pasting the above comments)
select total,noedit(total) from master

....+....1....+....2....+....3....+....4....+....5
     ACC/REC   NOEDIT ( TOTAL )
     TOTAL
        5.00   000000000000005000000000000000
         .00   000000000000000000000000000000

Buck


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.