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



You got it to work! I do not know what changed since I tried to get that working. But since that worked for you, then when I was trying to make an almost identical Function, either...
I was doing something wrong that I am still unaware of
The SQL was not treating the first parameter as the return value
The SQL was since enhanced to treat the first parameter as a return value for LANGUAGE CL

Unfortunately I do not have a system to try it anymore. But I see Elvis gives a second example I can work from if\when I do eventually get back to it.

Regards, Chuck

MKirkpatrick@xxxxxxxxxxxxxxxxx wrote:
Thanks. I had coded a TOSEP(*NONE) on my CVTDAT cmd
instead of TOSEP('-'). It seems to work now.

CHGJOB DATE(010108)

STRSQL

SELECT getjobdate() FROM SYSIBM/SYSDUMMY1
....+....1.... GETJOBDATE ( ) 01/01/08
Is this OK or am I fooling myself.


CRPence wrote:

Although CL was noted as an option, I have no idea how to make that work, except as a procedure called from a[n SQL] UDF. Notice your CLP has been coded with a parameter, not a return value; it is a procedure, not a function. Probably best to create an RPG procedure in a service program of similar utility functions, and then use CREATE FUNCTION to refer to the RPG with EXTERNAL NAME 'THELIB/THESRVPGM(GETJOBDATE)'


MKirkpatrick wrote:
I think the UDF is a great idea. I have created one (my first)
but it doesn't work quite right.

CREATE FUNCTION WDSSYS.GETJOBDATE ( ) RETURNS DATE LANGUAGE CL
SPECIFIC WDSSYS.GETJOBDATE NOT DETERMINISTIC NO SQL CALLED ON NULL INPUT DISALLOW PARALLEL EXTERNAL NAME 'MKIRKPAT/GETJOBDATE' PARAMETER STYLE SQL ;
My CL pgm:
<code>
pgm parm(&jobdateymd)
DCL VAR(&JOBDATE) TYPE(*CHAR) LEN(6)
DCL VAR(&JOBDATEYMD) TYPE(*CHAR) LEN(10)

RTVJOBA DATE(&JOBDATE)
CVTDAT DATE(&JOBDATE) TOVAR(&JOBDATEYMD) +
TOFMT(*YYMD) TOSEP(*NONE)
endpgm
</code>
What am I missing? Thanks.

Elvis wrote:

I am not aware of an SQL special register or a built-in
function that would give you a job date. Writing a UDF
that does this would be very simple
though (CL or RPG), and you could reuse it elsewhere.

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.