select * from (\nselect w.wo_num,\n rt_sub_wo.total_through_function(w.ccn, w.mas_loc, w.wo_num, w.wo_line, 'INSPECT') inspect\n from wo w,\n c_expedite_job c\n where w.ccn = c.ccn\n and w.mas_loc = c.mas_loc\n and w.wo_num = c.wo_num\n and w.wo_line = c.wo_line \n and w.mfg_close_date is null\n and w.complete_qty < w.ord_qty\n ) where inspect > 0
The PL/SQL functions are as follows:
from PACKAGE\n FUNCTION total_through_function(\n i_ccn IN lab_tim.ccn%TYPE,\n i_ml IN lab_tim.mas_loc%TYPE,\n i_wo IN lab_tim.wo_num%TYPE,\n i_line IN lab_tim.wo_line%TYPE,\n i_function IN wo_rtg.function_%TYPE\n )\n RETURN NUMBER;\n\n PRAGMA RESTRICT_REFERENCES (total_through_function, WNDS, WNPS, RNPS);\n\n\nfrom PACKAGE BODY\n FUNCTION total_through_function(\n i_ccn IN lab_tim.ccn%TYPE,\n i_ml IN lab_tim.mas_loc%TYPE,\n i_wo IN lab_tim.wo_num%TYPE,\n i_line IN lab_tim.wo_line%TYPE,\n i_function IN wo_rtg.function_%TYPE\n )\n RETURN NUMBER\n IS\n return_value INTEGER;\n BEGIN\n SELECT sum(r.comp_qty) INTO return_value\n FROM wo_rtg r\n WHERE r.CCN = i_ccn\n AND r.MAS_LOC = i_ml\n AND r.WO_NUM = i_wo\n AND r.WO_LINE = i_line\n AND r.PAY_POINT = 'Y'\n AND r.function_ = i_function;\n\n RETURN return_value;\n END total_through_function;