123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- $PBExportHeader$f_workremind.srf
- global type f_workremind from function_object
- end type
- forward prototypes
- global function integer f_workremind (long arg_scid, long arg_funcid, long arg_powerid, long arg_storageid, string arg_powername, long arg_qty, boolean arg_ifcommit, boolean arg_ifreset)
- end prototypes
- global function integer f_workremind (long arg_scid, long arg_funcid, long arg_powerid, long arg_storageid, string arg_powername, long arg_qty, boolean arg_ifcommit, boolean arg_ifreset);Int rslt = 1
- IF arg_ifreset THEN
- UPDATE sys_workremind
- SET powername = :arg_powername,
- qty = :arg_qty
- WHERE scid = :arg_scid
- AND storageid = :arg_storageid
- and funcid = :arg_funcid;
- IF sqlca.SQLCode = 0 THEN
- IF sqlca.SQLNRows = 0 THEN
- INSERT INTO sys_workremind
- (scid,funcid,powerid,storageid,powername,qty)
- Values(:arg_scid,:arg_funcid,:arg_powerid,:arg_storageid,:arg_powername,:arg_qty);
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- GOTO ext
- END IF
- END IF
- ELSE
- rslt = 0
- GOTO ext
- END IF
- ELSE
- UPDATE sys_workremind
- SET qty = qty + :arg_qty
- WHERE scid = :arg_scid
- AND funcid = :arg_funcid
- AND storageid = :arg_storageid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- GOTO ext
- END IF
- END IF
- ext:
- IF rslt = 0 THEN
- ROLLBACK;
- ELSEIF rslt = 1 AND arg_ifcommit THEN
- COMMIT;
- END IF
- RETURN rslt
- end function
|