SUBSTR(LISTAGG(NCT.DESCRIPTION || ',') WITHIN GROUP(ORDER BY ZAB.ABNORMAL_NO),0,LENGTH(LISTAGG(NCT.DESCRIPTION || ',') WITHIN GROUP(ORDER BY ZAB.ABNORMAL_NO))-1) NC_CODE_DESCRIPTION
LISTAGG(NCT.DESCRIPTION , ',') WITHIN GROUP(ORDER BY ZAB.ABNORMAL_NO) NC_CODE_DESCRIPTION
FROM Z_ABNORMAL_BILL ZAB
FROM Z_ABNORMAL_BILL ZAB
LEFT JOIN Z_ABNORMAL_BILL_DISPOSE ZABD ON ZABD.ABNORMAL_BILL_BO = ZAB.HANDLE
LEFT JOIN Z_ABNORMAL_BILL_DISPOSE ZABD ON ZABD.ABNORMAL_BILL_BO = ZAB.HANDLE
(SELECT DATE_TIME ,RESRCE , COUNT(*) * 24 CNT FROM Z_REPORT_DATE_TIME
LEFT JOIN TEMP ON PLANNED_START_DATE <= AM_START_DATE_TIME AND PLANNED_COMP_DATE >= AM_START_DATE_TIME AND PLANNED_COMP_DATE <= AM_END_DATE_TIME
LEFT JOIN TEMP ON PLANNED_START_DATE < START_DATE_TIME AND PLANNED_COMP_DATE > END_DATE_TIME
GROUP BY RESRCE , DATE_TIME ) B ON B.DATE_TIME = RDT.DATE_TIME AND B.RESRCE = RDT.RESRCE
GROUP BY RESRCE , DATE_TIME ) B ON B.DATE_TIME = RDT.DATE_TIME AND B.RESRCE = RDT.RESRCE
LEFT JOIN
LEFT JOIN
(SELECT DATE_TIME ,RESRCE , COUNT(*)*4 CNT FROM Z_REPORT_DATE_TIME
LEFT JOIN TEMP ON PLANNED_START_DATE <= AM_START_DATE_TIME AND PLANNED_COMP_DATE >= AM_END_DATE_TIME AND PLANNED_COMP_DATE < PM_START_DATE_TIME
LEFT JOIN TEMP ON PLANNED_START_DATE > START_DATE_TIME AND PLANNED_COMP_DATE < END_DATE_TIME
GROUP BY RESRCE , DATE_TIME ) C ON C.DATE_TIME = RDT.DATE_TIME AND C.RESRCE = RDT.RESRCE
GROUP BY RESRCE , DATE_TIME ) C ON C.DATE_TIME = RDT.DATE_TIME AND C.RESRCE = RDT.RESRCE
LEFT JOIN TEMP ON PLANNED_START_DATE <= AM_START_DATE_TIME AND PLANNED_COMP_DATE >= PM_START_DATE_TIME AND PLANNED_COMP_DATE <= PM_END_DATE_TIME
LEFT JOIN TEMP ON PLANNED_START_DATE > START_DATE_TIME AND PLANNED_START_DATE < END_DATE_TIME AND PLANNED_COMP_DATE > END_DATE_TIME
GROUP BY RESRCE , DATE_TIME ) D ON D.DATE_TIME = RDT.DATE_TIME AND D.RESRCE = RDT.RESRCE
GROUP BY RESRCE , DATE_TIME ) D ON D.DATE_TIME = RDT.DATE_TIME AND D.RESRCE = RDT.RESRCE
LEFT JOIN TEMP ON PLANNED_START_DATE > AM_START_DATE_TIME AND PLANNED_START_DATE <= AM_END_DATE_TIME AND PLANNED_COMP_DATE >= AM_END_DATE_TIME AND PLANNED_COMP_DATE <= PM_START_DATE_TIME
GROUP BY RESRCE , DATE_TIME ) F ON F.DATE_TIME = RDT.DATE_TIME AND F.RESRCE = RDT.RESRCE
LEFT JOIN TEMP ON PLANNED_START_DATE > AM_START_DATE_TIME AND PLANNED_START_DATE <= AM_END_DATE_TIME AND PLANNED_COMP_DATE >= PM_START_DATE_TIME AND PLANNED_COMP_DATE < PM_END_DATE_TIME
GROUP BY RESRCE , DATE_TIME ) G ON G.DATE_TIME = RDT.DATE_TIME AND G.RESRCE = RDT.RESRCE
LEFT JOIN TEMP ON PLANNED_START_DATE > AM_START_DATE_TIME AND PLANNED_START_DATE <= AM_END_DATE_TIME AND PLANNED_COMP_DATE >= PM_END_DATE_TIME
GROUP BY RESRCE , DATE_TIME ) H ON H.DATE_TIME = RDT.DATE_TIME AND H.RESRCE = RDT.RESRCE
LEFT JOIN TEMP ON PLANNED_START_DATE > AM_END_DATE_TIME AND PLANNED_START_DATE <= PM_START_DATE_TIME AND PLANNED_COMP_DATE >= PM_START_DATE_TIME AND PLANNED_COMP_DATE < PM_END_DATE_TIME
GROUP BY RESRCE , DATE_TIME ) I ON I.DATE_TIME = RDT.DATE_TIME AND I.RESRCE = RDT.RESRCE
LEFT JOIN
(SELECT DATE_TIME ,RESRCE , COUNT(*)*4 CNT FROM Z_REPORT_DATE_TIME
LEFT JOIN TEMP ON PLANNED_START_DATE > AM_END_DATE_TIME AND PLANNED_START_DATE < PM_START_DATE_TIME AND PLANNED_COMP_DATE > PM_END_DATE_TIME
GROUP BY RESRCE , DATE_TIME ) J ON J.DATE_TIME = RDT.DATE_TIME AND J.RESRCE = RDT.RESRCE