MIDRANGE dot COM Mailing List Archive



Home » MIDRANGE-L » June 2008

Re: Retrieve JOB (not SYSTEM) date in SQL



fixed

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)'

Regards, Chuck

MKirkpatrick@xxxxxxxxxxxxxxxxx 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.





Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2014 by MIDRANGE dot 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 here. If you have questions about this, please contact