123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- $PBExportHeader$f_trigger_fifo_procedure.srf
- global type f_trigger_fifo_procedure from function_object
- end type
- forward prototypes
- global function integer f_del_mtrlware_inmx (long arg_scid, long arg_mtrlwareid, long arg_inwareid, long arg_printid, string arg_inwarecode, datetime arg_inwaredate, decimal arg_inqty, decimal arg_inprice, long arg_if_outware, boolean arg_ifcommit, ref transaction commit_transaction, ref string arg_msg)
- global function long f_trigger_fifo_procedure (long arg_scid, long arg_mtrlwareid, datetime arg_date, integer arg_mod, long arg_outwareid, long arg_mtrlwaremxid, boolean arg_ifcommit, ref transaction commit_transaction, ref string arg_msg)
- end prototypes
- global function integer f_del_mtrlware_inmx (long arg_scid, long arg_mtrlwareid, long arg_inwareid, long arg_printid, string arg_inwarecode, datetime arg_inwaredate, decimal arg_inqty, decimal arg_inprice, long arg_if_outware, boolean arg_ifcommit, ref transaction commit_transaction, ref string arg_msg);Long rslt = 1
- long ls_newid
- ls_newid = f_sys_scidentity(0,"u_mtrlware_inmx","mtrlwaremxid",arg_msg,false,commit_transaction)
- IF ls_newid <= 0 THEN
- rslt = 0
- GOTO ext
- END IF
-
- INSERT INTO u_mtrlware_inmx
- (mtrlwaremxid,
- scid,
- mtrlwareid,
- inwareid,
- printid,
- inwarecode,
- inwaredate,
- inqty,
- inprice,
- if_outware)
- VALUES
- ( :ls_newid,
- :arg_scid,
- :arg_mtrlwareid,
- :arg_inwareid,
- :arg_printid,
- :arg_inwarecode,
- :arg_inwaredate,
- :arg_inqty,
- :arg_inprice,
- :arg_if_outware) ;
- IF commit_transaction.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = "插入入库批明细失败"+"~n"
- GOTO ext
- END IF
- ext:
- IF rslt = 0 THEN
- ROLLBACK Using commit_transaction;
- ELSEIF rslt = 1 And arg_ifcommit THEN
- COMMIT Using commit_transaction;
- END IF
- RETURN rslt
- end function
- global function long f_trigger_fifo_procedure (long arg_scid, long arg_mtrlwareid, datetime arg_date, integer arg_mod, long arg_outwareid, long arg_mtrlwaremxid, boolean arg_ifcommit, ref transaction commit_transaction, ref string arg_msg);// arg_mod=1 正数进仓审
- Long rslt = 1
- DateTime dt
- dt = DateTime(Date(arg_date),Time(0))
- DECLARE pro1 PROCEDURE FOR p_outware_cost_fifo_procedure
- @arg_scid = :arg_scid,
- @arg_mtrlwareid = :arg_mtrlwareid,
- @arg_date = :dt,
- @arg_mod = :arg_mod,
- @arg_outwareid = :arg_outwareid,
- @arg_mtrlwaremxid = :arg_mtrlwaremxid,
- @arg_rslt = :rslt OUTPUT,
- @arg_msg = :arg_msg OUTPUT Using commit_transaction;
- EXECUTE pro1;
- IF commit_transaction.SQLCode <> 0 THEN
- arg_msg = commit_transaction.SQLErrText
- rslt = 0
- //ELSE
- // FETCH pro1 INTO :rslt,:arg_msg;
- END IF
- CLOSE pro1;
- decimal aa,bb,cc,dd
- SELECT cost, wareamt,cost_notax,wareamt_notax INTO :aa,:bb,:cc,:dd
- FROM u_mtrlware
- WHERE mtrlwareid = :arg_mtrlwareid;
- IF commit_transaction.SQLCode <> 0 THEN
- arg_msg = commit_transaction.SQLErrText
- rslt = 0
- END IF
- aa=aa
- bb=bb
- cc=cc
- dd=dd
- RETURN rslt
- end function
|