SELECT T.STOVE_NO, T.JUDGE_STOVE_NO, T.PRINT_STOVE_NO, T.PRO_PLAN_ID, T.GX_PLAN_NO, T.GPREQ_ID, T.MATERIAL_NAME, T.PRODUCNAME, T.GRADENAME, T.DIAMETER, MAX(T.FIX_NUM)FIX_NUM, T.FIX_LEN, DECODE(F.NODE_FUR_FLAG,'0','未结炉','1','结炉')NODE_FUR_FLAG, T.GPTYPE FROM STL_LG_PROGRRSS T LEFT JION (SELECT T1.STOVE_NO, T1.PRO_PLAN_ID, T1.GX_PLAN_NO, T1.GPREQ_ID,T1.NODE_FUR_FLAG FROM STL_LG_SURFACE_M T1 GROUP BY T1.STOVE_NO, T1.PRO_PLAN_ID, T1.GX_PLAN_NO, T1.GPREQ_ID,T1.NODE_FUR_FLAG) S ON T.PRO_PLAN_ID = S.PRO_PLAN_ID AND T.GX_PLAN_NO = S.GX_PLAN_NO AND T.STOVE_NO = S.STOVE_NO LEFT JION (SELECT T2.STOVE_NO, T2.PRO_PLAN_ID, T2.GX_PLAN_NO, T2.GPREQ_ID,T2.NODE_FUR_FLAG FROM STL_LG_INSTORE_RESULT T2 GROUP BY T2.STOVE_NO, T2.PRO_PLAN_ID, T2.GX_PLAN_NO, T2.GPREQ_ID,T2.NODE_FUR_FLAG) F ON T.PRO_PLAN_ID = F.PRO_PLAN_ID AND T.GX_PLAN_NO = F.GX_PLAN_NO AND T.STOVE_NO = F.STOVE_NO WHERE 1 = 1 SELECT T.PRO_PLAN_ID, T.GX_PLAN_NO, T.GPREQ_ID, T.PRINT_STOVE_NO, T.STOVE_NO, T.CCMSTOVENO, T.JUDGE_STOVE_NO, T.CAST_NO, T.HEATCNT, T.CCMID, T.FLOWNO, T.CUTSEQNO, T.MATERIAL_NO, T.MATERIAL_NAME, T.GRADECODE, T.GRADENAME, T.BATCH_GROUD_NO, T.FLAG_STOVE_NO, T.STANDARDSCODE, T.STANDARDREMAK, T.DIAMETER, T.FIX_NUM, T.FIX_LEN, T.LENGTH, SUM(T.ACT_COUNT) ACT_COUNT, SUM(T.WEIGHT) WEIGHT, T.RECIVE_FLAG, T.AFFIRM_FLAG, T.FURNACENO, T.SEQUENCENO, T.JUDGE_STOVE_NO_SEQ, T.GPTYPE, T.PLINE_CODE, T.PLINE_NAME FROM STL_LG_PROGRRSS T WHERE T.FURNACENO = ? AND T.SEQUENCENO = ? AND T.STOVE_NO = ? AND T.JUDGE_STOVE_NO_SEQ = ? AND T.IS_VALID = '0' AND T.STATUS = '0' AND T.RECIVE_FLAG = '0' GROUP BY T.PRO_PLAN_ID, T.GX_PLAN_NO, T.GPREQ_ID, T.PRINT_STOVE_NO, T.STOVE_NO, T.CCMSTOVENO, T.JUDGE_STOVE_NO, T.CAST_NO, T.HEATCNT, T.CCMID, T.FLOWNO, T.CUTSEQNO, T.MATERIAL_NO, T.MATERIAL_NAME, T.GRADECODE, T.GRADENAME, T.BATCH_GROUD_NO, T.FLAG_STOVE_NO, T.STANDARDSCODE, T.STANDARDREMAK, T.DIAMETER, T.FIX_NUM, T.FIX_LEN, T.LENGTH, T.RECIVE_FLAG, T.AFFIRM_FLAG, T.FURNACENO, T.SEQUENCENO, T.JUDGE_STOVE_NO_SEQ, T.GPTYPE, T.PLINE_CODE, T.PLINE_NAME SELECT S.STATUS,S.RECIVE_FLAG FROM STL_LG_PROGRRSS S WHERE S.FURNACENO = '#FURNACENO#' AND S.SEQUENCENO = '#SEQUENCENO#' AND S.STOVE_NO = '#STOVE_NO#' AND S.JUDGE_STOVE_NO_SEQ = '#JUDGE_STOVE_NO_SEQ#' AND S.MAT_NO = '#MAT_NO#' UPDATE STL_LG_PROGRRSS T SET T.STATUS = '#STATUS#', T.OP_PROCESS = '#OP_PROCESS#' WHERE T.FURNACENO = '#FURNACENO#' AND T.SEQUENCENO = '#SEQUENCENO#' AND T.STOVE_NO = '#STOVE_NO#' AND T.JUDGE_STOVE_NO_SEQ = '#JUDGE_STOVE_NO_SEQ#' AND T.MAT_NO = '#MAT_NO#' SELECT 'IA' || TO_CHAR(SYSDATE, 'YYMMDD') || LPAD(NVL(MAX(SUBSTR(T.INSTOCK_DOC, 9)), 0) + 1, 5, 0) INSTOCK_DOC FROM YDM_GP_INLIST T WHERE T.INSTOCK_TYPE_CODE = ? AND TRUNC(T.CREATE_TIME) = TRUNC(SYSDATE) SELECT T.ISENDGX,T.SURPLUSFLAG,T.GPTYPE FROM PLN_STEELFOR_ORD T WHERE SUBSTR(T.FURNACENO, 0, 12) = '#FURNACENO#' AND T.SEQUENCENO = '#SEQUENCENO#' AND T.STOVE_NO = '#STOVE_NO#' AND T.JUDGE_STOVE_NO_SEQ = '#JUDGE_STOVE_NO_SEQ#' SELECT T.STORAGE_ATTR, T.STORAGE_ATTR_NAME, T.STORAGE_TYPE_NO, T.STORAGE_TYPE_NAME FROM YDM_BS_STORAGE T WHERE T.STORAGE_NO = ? SELECT COUNT(1) ACOUNT FROM STL_LG_PROGRRSS T WHERE T.FURNACENO = ? AND T.SEQUENCENO = ? AND T.STOVE_NO = ? AND T.JUDGE_STOVE_NO_SEQ = ? AND T.STATUS = '0' AND T.RECIVE_FLAG = '0' UPDATE PLN_STEELFOR_ORD T SET T.CCM_STATE = '#CCM_STATE#' WHERE SUBSTR(T.FURNACENO,0,12) = '#FURNACENO#' AND T.SEQUENCENO = '#SEQUENCENO#' AND T.STOVE_NO = '#STOVE_NO#' AND T.JUDGE_STOVE_NO_SEQ = '#JUDGE_STOVE_NO_SEQ#' UPDATE STL_LG_INSTORE_RESULT T SET T.NODE_FUR_FLAG = '1' WHERE T.FURNACENO = '#FURNACENO#' AND T.SEQUENCENO = '#SEQUENCENO#' AND T.STOVE_NO = '#STOVE_NO#' AND T.JUDGE_STOVE_NO_SEQ = '#JUDGE_STOVE_NO_SEQ#' UPDATE STL_LG_INSTORE_RESULT T SET T.NODE_FUR_FLAG = '0' WHERE T.FURNACENO = '#FURNACENO#' AND T.SEQUENCENO = '#SEQUENCENO#' AND T.STOVE_NO = '#STOVE_NO#' AND T.JUDGE_STOVE_NO_SEQ = '#JUDGE_STOVE_NO_SEQ#' DECLARE ACOUNT STL_LG_INSTORE_RESULT.ACT_COUNT%TYPE := NULL; BEGIN SELECT COUNT(1) INTO ACOUNT FROM STL_LG_INSTORE_RESULT T WHERE T.FURNACENO = '#FURNACENO#' AND T.SEQUENCENO = '#SEQUENCENO#' AND T.STOVE_NO = '#STOVE_NO#' AND T.FIX_NUM = '#FIX_NUM#' AND T.JUDGE_STOVE_NO_SEQ = '#JUDGE_STOVE_NO_SEQ#'; IF (ACOUNT > 0) THEN UPDATE STL_LG_INSTORE_RESULT T SET T.ACT_COUNT = TO_NUMBER(NVL(T.ACT_COUNT, 0)) + TO_NUMBER('#ACT_COUNT#'), T.WEIGHT = TO_NUMBER(NVL(T.WEIGHT, 0)) + TO_NUMBER('#WEIGHT#') WHERE T.FURNACENO = '#FURNACENO#' AND T.SEQUENCENO = '#SEQUENCENO#' AND T.STOVE_NO = '#STOVE_NO#' AND T.FIX_NUM = '#FIX_NUM#' AND T.JUDGE_STOVE_NO_SEQ = '#JUDGE_STOVE_NO_SEQ#'; ELSE INSERT INTO STL_LG_INSTORE_RESULT( PRO_PLAN_ID, GX_PLAN_NO, FURNACENO, STOVE_NO, FLAG_STOVE_NO, JUDGE_STOVE_NO, PRINT_STOVE_NO, BATCH_GROUD_NO, MATERIAL_NO, MATERIAL_NAME, GRADECODE, GRADENAME, DIAMETER, FIX_NUM, FIX_LEN, LENGTH, ACT_COUNT, WEIGHT, NODE_FUR_FLAG, JUDGE_STOVE_NO_SEQ, SEQUENCENO) VALUES( '#PRO_PLAN_ID#', '#GX_PLAN_NO#', '#FURNACENO#', '#STOVE_NO#', '#FLAG_STOVE_NO#', '#JUDGE_STOVE_NO#', '#PRINT_STOVE_NO#', '#BATCH_GROUD_NO#', '#MATERIAL_NO#', '#MATERIAL_NAME#', '#GRADECODE#', '#GRADENAME#', '#DIAMETER#', '#FIX_NUM#', '#FIX_LEN#', '#LENGTH#', '#ACT_COUNT#', '#WEIGHT#', '0', '#JUDGE_STOVE_NO_SEQ#', '#SEQUENCENO#'); END IF; END; DECLARE ACOUNT STL_LG_INSTORE_RESULT.ACT_COUNT%TYPE := NULL; BEGIN UPDATE STL_LG_INSTORE_RESULT T SET T.ACT_COUNT = TO_NUMBER(NVL(T.ACT_COUNT, 0)) - TO_NUMBER('#ACT_COUNT#'), T.WEIGHT = TO_NUMBER(NVL(T.WEIGHT, 0)) - TO_NUMBER('#ACT_WEIGHT#') WHERE T.FURNACENO = '#FURNACENO#' AND T.SEQUENCENO = '#SEQUENCENO#' AND T.STOVE_NO = '#STOVE_NO#' AND T.JUDGE_STOVE_NO_SEQ = '#JUDGE_STOVE_NO_SEQ#'; UPDATE PLN_STEELFOR_ORD T SET T.CCM_STATE = '20' WHERE SUBSTR(T.FURNACENO,0,12) = '#FURNACENO#' AND T.SEQUENCENO = '#SEQUENCENO#' AND T.STOVE_NO = '#STOVE_NO#' AND T.JUDGE_STOVE_NO_SEQ = '#JUDGE_STOVE_NO_SEQ#'; SELECT SUM(T.ACT_COUNT) INTO ACOUNT FROM STL_LG_INSTORE_RESULT T WHERE T.FURNACENO = '#FURNACENO#' AND T.SEQUENCENO = '#SEQUENCENO#' AND T.STOVE_NO = '#STOVE_NO#' AND T.JUDGE_STOVE_NO_SEQ = '#JUDGE_STOVE_NO_SEQ#'; IF(ACOUNT >0)THEN UPDATE STL_LG_INSTORE_RESULT T SET T.NODE_FUR_FLAG = '0' WHERE T.FURNACENO = '#FURNACENO#' AND T.SEQUENCENO = '#SEQUENCENO#' AND T.STOVE_NO = '#STOVE_NO#' AND T.JUDGE_STOVE_NO_SEQ = '#JUDGE_STOVE_NO_SEQ#'; ELSE DELETE FROM STL_LG_INSTORE_RESULT T WHERE T.FURNACENO = '#FURNACENO#' AND T.SEQUENCENO = '#SEQUENCENO#' AND T.STOVE_NO = '#STOVE_NO#' AND T.JUDGE_STOVE_NO_SEQ = '#JUDGE_STOVE_NO_SEQ#'; END IF; END; SELECT COUNT(1) ACOUNT FROM MAT_GP_M T, YDM_GP_INLIST S WHERE T.MAT_NO = S.MAT_NO AND S.INSTOCK_TYPE_CODE = '800701' AND S.INSTOCK_DOC = ? AND S.JUDGE_STOVE_NO = ? AND T.JUGDE_APPLY_CODE IS NOT NULL SELECT COUNT(1) FROM MAT_GP_M T WHERE T.FURNACENO = ? AND T.SEQUENCENO = ? AND T.STOVE_NO = ? AND T.JUDGE_STOVE_NO = ? AND T.JUGDE_APPLY_CODE IS NOT NULL SELECT T.CRAFT_NO FROM PLN_STEELFORFURNACE T WHERE T.FURNACENO = ? SELECT T.PLAN_ROUTE FROM PLN_STEELFORFURNACE T, PLN_STEELFOR_ORD S WHERE T.FURNACENO = S.FURNACENO AND NVL(S.PRO_PLAN_ID,'/') = NVL('#PRO_PLAN_ID#','/') AND NVL(S.GX_PLAN_NO,'/') = NVL('#GX_PLAN_NO#','/') AND S.STOVE_NO = '#STOVE_NO#' SELECT S.* FROM PLN_ZY_ZG_M S WHERE S.CCM_PRO_PLAN_ID = '#PRO_PLAN_ID#' AND S.CCM_GX_PLAN_NO = '#GX_PLAN_NO#' AND S.UPPER_HEATPLAN_ID ='#FURNACENO#'||'/'||'#SEQUENCENO#' AND S.PLANSTATUS IN('00','10') ORDER BY TO_NUMBER(S.GX_PRO_SEQ) ASC SELECT S1.* FROM (SELECT S.PRO_PLAN_ID,S.GX_PLAN_NO,T.FURNACENO,T.SEQUENCENO FROM PLN_STEELFOR_ORD T, PLN_STEELFOR_MERGE S WHERE T.MERGE_NO = S.MERGE_NO AND T.FURNACENO = ? AND T.SEQUENCENO = ? GROUP BY S.PRO_PLAN_ID,S.GX_PLAN_NO,T.FURNACENO,T.SEQUENCENO) T1, PLN_ZY_ZG_M S1 WHERE T1.PRO_PLAN_ID = S1.CCM_PRO_PLAN_ID AND T1.GX_PLAN_NO = S1.CCM_GX_PLAN_NO AND T1.FURNACENO ||'/'||T1.SEQUENCENO = S1.UPPER_HEATPLAN_ID AND S1.PLANSTATUS IN('00','10') ORDER BY TO_NUMBER(S1.GX_PRO_SEQ) ASC SELECT T.* FROM PLN_ZY_DZ_M T WHERE T.CCM_PRO_PLAN_ID = '#PRO_PLAN_ID#' AND T.CCM_GX_PLAN_NO = '#GX_PLAN_NO#' AND T.UPPER_HEATPLAN_ID = '#FURNACENO#'||'/'||'#SEQUENCENO#' AND T.PLANSTATUS IN('00','10') ORDER BY TO_NUMBER(T.GX_PRO_SEQ) ASC SELECT S1.* FROM (SELECT S.PRO_PLAN_ID,S.GX_PLAN_NO,T.FURNACENO,T.SEQUENCENO FROM PLN_STEELFOR_ORD T, PLN_STEELFOR_MERGE S WHERE T.MERGE_NO = S.MERGE_NO AND T.FURNACENO = ? AND T.SEQUENCENO = ? GROUP BY S.PRO_PLAN_ID,S.GX_PLAN_NO,T.FURNACENO,T.SEQUENCENO) T1, PLN_ZY_DZ_M S1 WHERE T1.PRO_PLAN_ID = S1.CCM_PRO_PLAN_ID AND T1.GX_PLAN_NO = S1.CCM_GX_PLAN_NO AND T1.FURNACENO ||'/'||T1.SEQUENCENO = S1.UPPER_HEATPLAN_ID AND S1.PLANSTATUS IN('00','10') ORDER BY TO_NUMBER(S1.GX_PRO_SEQ) ASC SELECT NVL(SUM(T.ACT_COUNT),0)ACT_COUNT, T.FIX_NUM,T.STOVE_NO,T.JUDGE_STOVE_NO,T.PRO_PLAN_ID,T.GX_PLAN_NO FROM MAT_GP_M T WHERE T.PRO_PLAN_ID = '#PRO_PLAN_ID#' AND T.GX_PLAN_NO = '#GX_PLAN_NO#' AND T.STOVE_NO = '#STOVE_NO#' AND T.JUDGE_STOVE_NO = '#JUDGE_STOVE_NO#' AND T.FURNACENO = '#FURNACENO#' AND T.SEQUENCENO = '#SEQUENCENO#' AND T.PRO_PLAN_ID_ZG IS NULL AND T.QCM_STAUS = '00' GROUP BY T.PRO_PLAN_ID, T.GX_PLAN_NO, T.STOVE_NO, T.JUDGE_STOVE_NO, T.FIX_NUM ORDER BY T.FIX_NUM DESC SELECT NVL(SUM(T.ACT_COUNT),0)ACT_COUNT, T.FIX_NUM,T.STOVE_NO,T.JUDGE_STOVE_NO,T.PRO_PLAN_ID,T.GX_PLAN_NO FROM MAT_GP_M T WHERE T.PRO_PLAN_ID = ? AND T.GX_PLAN_NO = ? AND T.STOVE_NO = ? AND T.JUDGE_STOVE_NO = ? AND T.PRO_PLAN_ID_ZG IS NULL AND T.QCM_STAUS = '00' GROUP BY T.PRO_PLAN_ID, T.GX_PLAN_NO, T.STOVE_NO, T.JUDGE_STOVE_NO, T.FIX_NUM ORDER BY T.FIX_NUM DESC SELECT NVL(SUM(T.DB_ACT_COUNT),0) DB_ACT_COUNT FROM MAT_GP_M T WHERE T.PRO_PLAN_ID_ZG = '#PRO_PLAN_ID#' AND T.GX_PLAN_NO_ZG = '#GX_PLAN_NO#' AND T.FURNACENO||'/'|| T.SEQUENCENO = '#UPPER_HEATPLAN_ID#' SELECT T1.*,T.FURNACENO,T.SEQUENCENO FROM PLN_STEELFOR_ORD T, (SELECT S.MERGE_NO, S.PRO_PLAN_ID, S.GX_PLAN_NO, S.CUT_NUM_GP, CEIL(S1.PLN_INSINGLE_NUM / S.CUT_NUM_GP) TOT_MUM_M, S1.UPPER_HEATPLAN_ID FROM PLN_ZY_ZG_M S1, (SELECT M.MERGE_NO, M.PRO_PLAN_ID, M.GX_PLAN_NO, M.CUT_NUM_GP, NVL(SUM(M.TOT_MUM_M),0) TOT_MUM_M FROM PLN_STEELFOR_MERGE M GROUP BY M.MERGE_NO, M.PRO_PLAN_ID, M.GX_PLAN_NO, M.CUT_NUM_GP) S WHERE S.PRO_PLAN_ID = S1.CCM_PRO_PLAN_ID(+) AND S.GX_PLAN_NO = S1.CCM_GX_PLAN_NO(+) ORDER BY TO_NUMBER(S1.GX_PRO_SEQ) ASC) T1 WHERE T.MERGE_NO = T1.MERGE_NO --AND T.FURNACENO || '/' || T.SEQUENCENO = T1.UPPER_HEATPLAN_ID AND T.PRO_PLAN_ID = '#PRO_PLAN_ID#' AND T.GX_PLAN_NO = '#GX_PLAN_NO#' SELECT T1.*,T.FURNACENO,T.SEQUENCENO FROM PLN_STEELFOR_ORD T, (SELECT S.MERGE_NO, S.PRO_PLAN_ID, S.GX_PLAN_NO, S.CUT_NUM_GP, CEIL(S1.PLN_INSINGLE_NUM / S.CUT_NUM_GP) TOT_MUM_M, S1.UPPER_HEATPLAN_ID FROM PLN_ZY_DZ_M S1, (SELECT M.MERGE_NO, M.PRO_PLAN_ID, M.GX_PLAN_NO, M.CUT_NUM_GP, SUM(M.TOT_MUM_M) TOT_MUM_M FROM PLN_STEELFOR_MERGE M GROUP BY M.MERGE_NO, M.PRO_PLAN_ID, M.GX_PLAN_NO, M.CUT_NUM_GP) S WHERE S.PRO_PLAN_ID = S1.CCM_PRO_PLAN_ID AND S.GX_PLAN_NO = S1.CCM_GX_PLAN_NO ORDER BY TO_NUMBER(S1.GX_PRO_SEQ) ASC) T1 WHERE T.MERGE_NO = T1.MERGE_NO AND T.FURNACENO || '/' || T.SEQUENCENO = T1.UPPER_HEATPLAN_ID AND T.PRO_PLAN_ID = '#PRO_PLAN_ID#' AND T.GX_PLAN_NO = '#GX_PLAN_NO#' SELECT NVL(SUM(T.ACT_COUNT), 0) ACT_COUNT, NVL(SUM(T.DB_ACT_COUNT), 0) DB_ACT_COUNT FROM MAT_GP_M T WHERE T.PRO_PLAN_ID = ? AND T.GX_PLAN_NO = ? AND T.STOVE_NO = ? AND T.JUDGE_STOVE_NO = ? AND T.QCM_STAUS = '00' SELECT NVL(SUM(T.ACT_COUNT), 0) ACT_COUNT, T.FIX_NUM, T.STOVE_NO, T.JUDGE_STOVE_NO, T.PRO_PLAN_ID, T.GX_PLAN_NO FROM MAT_GP_M T WHERE T.PRO_PLAN_ID = '#PRO_PLAN_ID#' AND T.GX_PLAN_NO = '#GX_PLAN_NO#' AND T.STOVE_NO = '#STOVE_NO#' AND T.JUDGE_STOVE_NO = '#JUDGE_STOVE_NO#' AND T.QCM_STAUS = '00' GROUP BY T.PRO_PLAN_ID, T.GX_PLAN_NO, T.STOVE_NO, T.JUDGE_STOVE_NO, T.FIX_NUM ORDER BY T.FIX_NUM DESC SELECT COUNT(1)MAT_NUM FROM (SELECT T.* FROM MAT_GP_M T, YDM_GP_BUTTRESS S WHERE T.MAT_NO = S.MAT_NO AND T.STOVE_NO = '#STOVE_NO#' AND T.JUDGE_STOVE_NO = '#JUDGE_STOVE_NO#' AND T.FIX_NUM = '#FIX_NUM#' AND S.STORAGE_NO = '#STORAGE_NO#') T1, YDM_GP_INLIST S1 WHERE T1.MAT_NO = S1.MAT_NO AND S1.INSTOCK_TYPE_CODE = '800701' AND S1.INSTOCK_DOC = '#INSTOCK_DOC#' SELECT COUNT(1)ACOUNT FROM YDM_GP_INLIST T WHERE T.STOVE_NO = '#STOVE_NO#' AND T.JUDGE_STOVE_NO = '#JUDGE_STOVE_NO#' AND T.INSTOCK_TYPE_CODE = '800701' SELECT T.EF_PLINE_CODE,T.EF_PLINE_NAME FROM PLN_STEELFOR_ORD T WHERE T.FURNACENO = '#FURNACENO#' AND T.STOVE_NO = '#STOVE_NO#' AND T.JUDGE_STOVE_NO = '#JUDGE_STOVE_NO#' 0) THEN IF (MYROW.DEMAND_QTY_VAL >= V_ACT_COUNT) THEN UPDATE TMS_DEMAND_M T SET T.OUTPUT_QTY_VAL = V_ACT_COUNT, T.OUTPUT_WT_VAL = V_ACT_WEIGHT WHERE T.DEMAND_NO = MYROW.DEMAND_NO; V_ACT_COUNT := 0; V_ACT_WEIGHT := 0; ELSE UPDATE TMS_DEMAND_M T SET T.OUTPUT_QTY_VAL = T.DEMAND_QTY_VAL, T.OUTPUT_WT_VAL = T.DEMAND_WT_VAL WHERE T.DEMAND_NO = MYROW.DEMAND_NO; V_ACT_COUNT := V_ACT_COUNT - MYROW.DEMAND_QTY_VAL; V_ACT_WEIGHT := V_ACT_WEIGHT - MYROW.DEMAND_WT_VAL; END IF; END IF; END LOOP; --结炉的数据处理 FOR MYROW1 IN (SELECT T.* FROM TMS_DEMAND_M T WHERE T.HEAT_NO = V_JUDGE_STOVE_NO AND T.CURRENT_JOB_NO = V_CURRENT_JOB_NO AND T.TRAN_CLASS_CODE = 'XX' ORDER BY T.CREATE_TIME DESC) LOOP IF (V_FLAG = 'JL') THEN IF (V_SCRAP_QTY_VAL > 0) THEN IF (MYROW1.DEMAND_QTY_VAL - MYROW1.OUTPUT_QTY_VAL >= V_SCRAP_QTY_VAL) THEN UPDATE TMS_DEMAND_M T SET T.SCRAP_QTY_VAL = V_SCRAP_QTY_VAL, T.SCRAP_WT_VAL = V_SCRAP_WT_VAL WHERE T.DEMAND_NO = MYROW1.DEMAND_NO; V_SCRAP_QTY_VAL := 0; V_SCRAP_WT_VAL := 0; ELSE UPDATE TMS_DEMAND_M T SET T.SCRAP_QTY_VAL = T.DEMAND_QTY_VAL - T.OUTPUT_QTY_VAL, T.SCRAP_WT_VAL = (T.DEMAND_QTY_VAL - T.OUTPUT_QTY_VAL) / V_SCRAP_QTY_VAL * V_SCRAP_WT_VAL WHERE T.DEMAND_NO = MYROW1.DEMAND_NO; V_SCRAP_QTY_VAL := V_SCRAP_QTY_VAL - MYROW1.DEMAND_QTY_VAL + MYROW1.OUTPUT_QTY_VAL; V_SCRAP_WT_VAL := (V_SCRAP_QTY_VAL - MYROW1.DEMAND_QTY_VAL + MYROW1.OUTPUT_QTY_VAL) / V_SCRAP_QTY_VAL * V_SCRAP_WT_VAL; END IF; END IF; END IF; END LOOP; END; ]]>