create or replace function date(sow_id1 number) return NCLOB is variable_date NCLOB; variable_count number; begin select count(*) into variable_count from REVISION_SCHEDULE_DESC where sow_id=sow_id1; if (variable_count>0) then select SCHED_TEXT into variable_date from REVISION_SCHEDULE_DESC,(select sow_id,max(version_no) version_no from REVISION_SCHEDULE_DESC where REVISION_SCHEDULE_DESC.SUB_SCHED_HD_ID=3 and sow_id=sow_id1 group by sow_id)a where REVISION_SCHEDULE_DESC.sow_id=a.sow_id and REVISION_SCHEDULE_DESC.version_no=a.version_no and sub_sched_hd_id=3; else select long_text into variable_date from schedule_descriptions, (select pk_sow_id,max(PK_SCHED_DESC_ID) SCHED_DESC_ID from SCHEDULE_DESCRIPTIONS where SCHEDULE_DESCRIPTIONS.PK_SUB_SCHED_HD_ID=3 and pk_sow_id=sow_id1 group by pk_sow_id)b where SCHEDULE_DESCRIPTIONS.pk_sow_id=b.pk_sow_id and SCHEDULE_DESCRIPTIONS.pk_sched_desc_id=b.SCHED_DESC_ID; end if; return variable_date; end; /