f_check_if_oaflow.srf 872 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. $PBExportHeader$f_check_if_oaflow.srf
  2. global type f_check_if_oaflow from function_object
  3. end type
  4. forward prototypes
  5. global function integer f_check_if_oaflow (long arg_scid, long arg_billid, long arg_powerid, ref string arg_msg)
  6. end prototypes
  7. global function integer f_check_if_oaflow (long arg_scid, long arg_billid, long arg_powerid, ref string arg_msg);Long RSLT = 1
  8. Long CNT
  9. Long ls_doc_status
  10. SELECT COUNT(*)
  11. INTO :CNT
  12. FROM oa_doc
  13. WHERE dtype = 1
  14. AND powerid = :arg_powerid
  15. AND SCID = :ARG_SCID
  16. AND BILLID = :ARG_BILLID
  17. AND docflag = 1 USING SQLCA;
  18. IF SQLCA.SQLCode <> 0 THEN
  19. RSLT = 0
  20. ARG_MSG = '查询操作失败:OA审批公文:'+SQLCA.SQLErrText
  21. GOTO ext
  22. END IF
  23. IF CNT = 0 THEN
  24. RSLT = 1
  25. ELSE
  26. RSLT = 0
  27. ARG_MSG = '该单据正处于待OA流程审批中,不能删改、审核、撤审'
  28. GOTO ext
  29. END IF
  30. ext:
  31. RETURN RSLT
  32. end function