123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- $PBExportHeader$f_insert_0_sptware.srf
- global type f_insert_0_sptware from function_object
- end type
- forward prototypes
- global function integer f_insert_0_sptware (long arg_scid, ref long arg_mtrlwareid, long arg_mtrlid, string arg_mtrlcode, long arg_sptid, string arg_status, string arg_woodcode, string arg_pcode, string arg_plancode, decimal arg_cost, ref string arg_msg)
- end prototypes
- global function integer f_insert_0_sptware (long arg_scid, ref long arg_mtrlwareid, long arg_mtrlid, string arg_mtrlcode, long arg_sptid, string arg_status, string arg_woodcode, string arg_pcode, string arg_plancode, decimal arg_cost, ref string arg_msg);//====================================================================
- // 事件: f_insert_0_sptware.f_insert_0_sptware()
- //--------------------------------------------------------------------
- // 描述:
- //--------------------------------------------------------------------
- // 参数:
- // value long arg_scid
- // reference long arg_mtrlwareid
- // value long arg_mtrlid
- // value string arg_mtrlcode
- // value long arg_sptid
- // value string arg_status
- // value string arg_woodcode
- // value string arg_pcode
- // value string arg_plancode
- // value decimal arg_cost
- // reference string arg_msg
- //--------------------------------------------------------------------
- // 返回: inte
- //--------------------------------------------------------------------
- // 作者: LHD 日期: 2013年09月28日
- //--------------------------------------------------------------------
- // Copyright (c) 2002-2018 RICHTA(TM), All rights reserved.
- //--------------------------------------------------------------------
- // 修改历史:
- //
- //====================================================================
- Int rslt = 1
- Long cnt
- Long ls_mtrlwareid,ls_scid
- SELECT count(*) INTO :cnt FROM ow_wfjgware
- WHERE mtrlid = :arg_mtrlid
- AND sptid = :arg_sptid
- AND woodcode = :arg_woodcode
- AND pcode = :arg_pcode
- AND status = :arg_status
- AND plancode = :arg_plancode
- and scid = :arg_scid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '查询物料:'+arg_mtrlcode+'是否有库存失败,请检查'
- rslt = 0
- GOTO ext
- END IF
- IF cnt = 1 THEN
-
- SELECT mtrlwareid INTO :ls_mtrlwareid FROM ow_wfjgware
- WHERE mtrlid = :arg_mtrlid
- AND sptid = :arg_sptid
- AND woodcode = :arg_woodcode
- AND pcode = :arg_pcode
- AND status = :arg_status
- AND plancode = :arg_plancode
- and scid = :arg_scid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '查询物料:'+arg_mtrlcode+'是否有库存失败,请检查'
- rslt = 0
- GOTO ext
- END IF
-
- arg_mtrlwareid = ls_mtrlwareid
-
- GOTO ext
- END IF
- IF arg_cost = 0 THEN
-
- SELECT planprice INTO :arg_cost
- FROM u_mtrldef
- Where mtrlid = :arg_mtrlid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '查询计划价失败!!'
- rslt = 0
- GOTO ext
- END IF
-
- END IF
- ls_mtrlwareid = f_sys_scidentity(0,"ow_wfjgware","mtrlwareid",arg_msg,TRUE,id_sqlca)
- INSERT INTO ow_wfjgware(scid,mtrlwareid,mtrlid,sptid,noallocqty,woodcode,pcode,plancode,status,cost)
- Values(:arg_scid,:ls_mtrlwareid,:arg_mtrlid,:arg_sptid,0,:arg_woodcode,:arg_pcode,:arg_plancode,:arg_status,:arg_cost);
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '物料:'+arg_mtrlcode+'加0库存失败或物料已经有库存,请检查'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- arg_mtrlwareid = ls_mtrlwareid
- ext:
- IF rslt = 0 THEN
- ROLLBACK;
- ELSE
- COMMIT;
- END IF
- RETURN rslt
- end function
|