f_moneyid_rate_check.srf 899 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. $PBExportHeader$f_moneyid_rate_check.srf
  2. global type f_moneyid_rate_check from function_object
  3. end type
  4. forward prototypes
  5. global function integer f_moneyid_rate_check (long arg_moneyid, decimal arg_mrate, ref string arg_msg)
  6. end prototypes
  7. global function integer f_moneyid_rate_check (long arg_moneyid, decimal arg_mrate, ref string arg_msg);Int rslt = 1
  8. Long ll_moneyid_native
  9. SELECT moneyid INTO :ll_moneyid_native
  10. FROM cw_currency
  11. Where native = 1;
  12. IF sqlca.SQLCode <> 0 THEN
  13. arg_msg = '查询本位币种失败,'+sqlca.SQLErrText
  14. rslt = 0
  15. GOTO ext
  16. END IF
  17. IF arg_moneyid = ll_moneyid_native THEN
  18. IF arg_mrate <> 1 THEN
  19. arg_msg = '单据币种为人民币,但汇率不等于1,请检查'
  20. rslt = 0
  21. GOTO ext
  22. END IF
  23. ELSE
  24. IF arg_mrate = 1 THEN
  25. arg_msg = '单据币种为外币,但汇率等于1,请检查'
  26. rslt = 0
  27. GOTO ext
  28. END IF
  29. END IF
  30. ext:
  31. RETURN rslt
  32. end function