How does a user-defined query works?
Posted: Wed Nov 19, 2008 3:24 am
Hi,
One of DRS stage is using a user-defined query as shown below.
When I ran the job, its not throwing any error message and I am able to run the job successfully.
But the above said DRSstage is not listing any rows. I am very curious to know how this user-defined query works. Actually in the WHERE clause of the SELECT statement is having '?' in all the conditions.
Could you please suggest me how will it pick up the rows?
SELECT
LTrim(RTrim(A.EMPLID)),
LTrim(RTrim(A.ACAD_CAREER)),
%DateTimeOut(A.EFFDT),
LTrim(RTrim(A.SRC_SYS_ID)),
LTrim(RTrim(A.ACAD_PROG)),
LTrim(RTrim(A.PROG_ACTION)),
LTrim(RTrim(A.PROG_STATUS)),
LTrim(RTrim(A.PROG_REASON))
FROM
#$OWS_SCHEMA#PS_ACAD_PROG A
WHERE
A.EMPLID=? AND
A.ACAD_CAREER=? AND
A.EFFDT= (SELECT MAX(A1.EFFDT)
FROM #$OWS_SCHEMA#PS_ACAD_PROG A1
WHERE A1.EMPLID=A.EMPLID
AND A1.ACAD_CAREER=A.ACAD_CAREER
AND A1.ACAD_PROG=A.ACAD_PROG
AND A1.EFFDT <=%DateTimeIn(?)
AND A1.SRC_SYS_ID=A.SRC_SYS_ID) AND
A.EFFSEQ =
(SELECT MAX(A2.EFFSEQ)
FROM #$OWS_SCHEMA#PS_ACAD_PROG A2
WHERE A2.EMPLID=A.EMPLID
AND A2.ACAD_CAREER=A.ACAD_CAREER
AND A2.ACAD_PROG =A.ACAD_PROG
AND %DatePart(A2.EFFDT) =%DatePart(A.EFFDT)
AND A2.SRC_SYS_ID=A.SRC_SYS_ID) AND
A.SRC_SYS_ID=? AND
A.ACAD_PROG=?
Thanks in advance.
One of DRS stage is using a user-defined query as shown below.
When I ran the job, its not throwing any error message and I am able to run the job successfully.
But the above said DRSstage is not listing any rows. I am very curious to know how this user-defined query works. Actually in the WHERE clause of the SELECT statement is having '?' in all the conditions.
Could you please suggest me how will it pick up the rows?
SELECT
LTrim(RTrim(A.EMPLID)),
LTrim(RTrim(A.ACAD_CAREER)),
%DateTimeOut(A.EFFDT),
LTrim(RTrim(A.SRC_SYS_ID)),
LTrim(RTrim(A.ACAD_PROG)),
LTrim(RTrim(A.PROG_ACTION)),
LTrim(RTrim(A.PROG_STATUS)),
LTrim(RTrim(A.PROG_REASON))
FROM
#$OWS_SCHEMA#PS_ACAD_PROG A
WHERE
A.EMPLID=? AND
A.ACAD_CAREER=? AND
A.EFFDT= (SELECT MAX(A1.EFFDT)
FROM #$OWS_SCHEMA#PS_ACAD_PROG A1
WHERE A1.EMPLID=A.EMPLID
AND A1.ACAD_CAREER=A.ACAD_CAREER
AND A1.ACAD_PROG=A.ACAD_PROG
AND A1.EFFDT <=%DateTimeIn(?)
AND A1.SRC_SYS_ID=A.SRC_SYS_ID) AND
A.EFFSEQ =
(SELECT MAX(A2.EFFSEQ)
FROM #$OWS_SCHEMA#PS_ACAD_PROG A2
WHERE A2.EMPLID=A.EMPLID
AND A2.ACAD_CAREER=A.ACAD_CAREER
AND A2.ACAD_PROG =A.ACAD_PROG
AND %DatePart(A2.EFFDT) =%DatePart(A.EFFDT)
AND A2.SRC_SYS_ID=A.SRC_SYS_ID) AND
A.SRC_SYS_ID=? AND
A.ACAD_PROG=?
Thanks in advance.