123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- $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
|