|
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.
This mailing list archive is Copyright 1997-2026 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.