$PBExportHeader$f_aps_mtrl_will_produce.srf global type f_aps_mtrl_will_produce from function_object end type forward prototypes global function integer f_aps_mtrl_will_produce (long arg_scid, long arg_orderid, s_aps_orderrqmtrl arg_s_rqmtrl, ref string arg_msg) end prototypes global function integer f_aps_mtrl_will_produce (long arg_scid, long arg_orderid, s_aps_orderrqmtrl arg_s_rqmtrl, ref string arg_msg);Int rslt = 1 IF sys_option_if_newmrp = 0 THEN rslt = 1 GOTO ext END IF datastore ds_orderrqmtrl ds_orderrqmtrl = Create datastore ds_orderrqmtrl.DataObject = 'ds_aps_orderrqmtrl' ds_orderrqmtrl.SetTransObject(sqlca) Long ll_mtrlid String ls_status,ls_woodcode,ls_pcode DateTime ldt_rqdate Decimal ld_qty,ld_truerqqty Long ll_i Long ll_plantype FOR ll_i = 1 To UpperBound(arg_s_rqmtrl.mtrlid) IF f_aps_mtrl_will_add(arg_scid,arg_s_rqmtrl.mtrlid[ll_i],arg_s_rqmtrl.status[ll_i],arg_s_rqmtrl.woodcode[ll_i],arg_s_rqmtrl.pcode[ll_i],arg_s_rqmtrl.rqdate[ll_i],0 - arg_s_rqmtrl.qty[ll_i],2,arg_msg,mrp_sqlca,True) = 0 THEN rslt = 0 GOTO ext END IF IF arg_s_rqmtrl.plantype[ll_i] = 0 THEN IF f_aps_mtrl_will_add(arg_scid,arg_s_rqmtrl.mtrlid[ll_i],arg_s_rqmtrl.status[ll_i],arg_s_rqmtrl.woodcode[ll_i],arg_s_rqmtrl.pcode[ll_i],arg_s_rqmtrl.rqdate[ll_i],0 - arg_s_rqmtrl.truerqqty[ll_i],7,arg_msg,mrp_sqlca,True) = 0 THEN rslt = 0 GOTO ext END IF END IF NEXT ds_orderrqmtrl.Retrieve(arg_scid,arg_orderid) FOR ll_i = 1 To ds_orderrqmtrl.RowCount() ll_mtrlid = ds_orderrqmtrl.Object.mtrlid[ll_i] ls_status = ds_orderrqmtrl.Object.status[ll_i] ls_woodcode = ds_orderrqmtrl.Object.woodcode[ll_i] ls_pcode = ds_orderrqmtrl.Object.pcode[ll_i] ldt_rqdate = ds_orderrqmtrl.Object.edate[ll_i] ld_qty = ds_orderrqmtrl.Object.rqqty[ll_i] ld_truerqqty = ds_orderrqmtrl.Object.truerqqty[ll_i] ll_plantype = ds_orderrqmtrl.Object.plantype[ll_i] IF f_aps_mtrl_will_add(arg_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 IF ll_plantype = 0 THEN IF f_aps_mtrl_will_add(arg_scid,ll_mtrlid,ls_status,ls_woodcode,ls_pcode,ldt_rqdate,ld_truerqqty,7,arg_msg,mrp_sqlca,True) = 0 THEN rslt = 0 GOTO ext END IF END IF NEXT ext: RETURN rslt end function