$PBExportHeader$f_aps_mtrl_will_scll.srf global type f_aps_mtrl_will_scll from function_object end type forward prototypes global function integer f_aps_mtrl_will_scll (s_aps_orderrqmtrl arg_s_rqmtrl, ref string arg_msg) end prototypes global function integer f_aps_mtrl_will_scll (s_aps_orderrqmtrl arg_s_rqmtrl, ref string arg_msg);Int rslt = 1 Long ll_i Long ll_mtrlid,ll_scid,ll_wrkgrpid,ll_orderid String ls_status,ls_woodcode,ls_pcode Decimal ld_qty DateTime ldt_rqdate Int li_ordertype FOR ll_i = 1 To UpperBound(arg_s_rqmtrl.mtrlid) ll_mtrlid = arg_s_rqmtrl.mtrlid[ll_i] ls_status = arg_s_rqmtrl.status[ll_i] ls_woodcode = arg_s_rqmtrl.woodcode[ll_i] ls_pcode = arg_s_rqmtrl.pcode[ll_i] ld_qty = arg_s_rqmtrl.qty[ll_i] ll_scid = arg_s_rqmtrl.scid[ll_i] ll_orderid = arg_s_rqmtrl.orderid[ll_i] ll_wrkgrpid = arg_s_rqmtrl.wrkgrpid[ll_i] ld_qty = 0 - ld_qty SELECT top 1 rqdate INTO :ldt_rqdate FROM u_orderrqmtrl WHERE orderid = :ll_orderid AND mtrlid = :ll_mtrlid AND wrkGrpid = :ll_wrkgrpid AND scid = :ll_scid AND status = :ls_status AND woodcode = :ls_woodcode And pcode = :ls_pcode; IF sqlca.SQLCode <> 0 THEN CONTINUE IF f_aps_mtrl_will_add(ll_scid,ll_mtrlid,ls_status,ls_woodcode,ls_pcode,ldt_rqdate,ld_qty,2,arg_msg,mrp_sqlca,True) = 0 THEN rslt = 0 GOTO ext END IF NEXT ext: RETURN rslt end function