1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- $PBExportHeader$f_aps_mrp_lock.srf
- global type f_aps_mrp_lock from function_object
- end type
- forward prototypes
- global function integer f_aps_mrp_lock (long arg_scid, string arg_lockemp, ref string arg_msg)
- end prototypes
- global function integer f_aps_mrp_lock (long arg_scid, string arg_lockemp, ref string arg_msg);Int rslt = 1
- UPDATE aps_mrp_lock
- SET iflock = 1,
- lastlocktime = getdate(),
- locktime = getdate(),
- lockemp = :arg_lockemp
- Where scid = :arg_scid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = 'MRP运算锁定失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- ELSEIF sqlca.SQLNRows = 0 THEN
- INSERT INTO aps_mrp_lock(scid,iflock,lastlocktime,locktime,lockemp)
- Values(:arg_scid,1,getdate(),getdate(),:arg_lockemp);
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '新增MRP运算锁定失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- END IF
- ext:
- IF rslt = 0 THEN
- ROLLBACK;
- ELSE
- COMMIT;
- END IF
- RETURN rslt
- end function
|