f_cleardata.srf 895 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. $PBExportHeader$f_cleardata.srf
  2. global type f_cleardata from function_object
  3. end type
  4. forward prototypes
  5. global function integer f_cleardata (boolean arg_if_clear, ref string arg_msg)
  6. end prototypes
  7. global function integer f_cleardata (boolean arg_if_clear, ref string arg_msg);Long ls_d,ll_i
  8. String comm
  9. sqlca.AutoCommit = TRUE
  10. FOR ll_i = 1 TO UpperBound(s_tntblinfo)
  11. IF s_tntblinfo[ll_i].Table_name = '' THEN CONTINUE
  12. comm = ''
  13. CHOOSE CASE s_tntblinfo[ll_i].tabletype
  14. CASE -1,0,2,-7,-4
  15. comm = s_tntblinfo[ll_i].clearstr
  16. CASE 1,-2,-3,-5,-6
  17. IF arg_if_clear THEN
  18. comm = s_tntblinfo[ll_i].clearstr
  19. ELSE
  20. comm = ''
  21. END IF
  22. END CHOOSE
  23. IF comm <> '' THEN
  24. EXECUTE IMMEDIATE :comm ;
  25. ls_d = ls_d+sqlca.SQLCode
  26. IF sqlca.SQLCode <> 0 THEN arg_msg = arg_msg + '~n '+s_tntblinfo[ll_i].Table_name
  27. END IF
  28. NEXT
  29. sqlca.AutoCommit = FALSE
  30. RETURN ls_d
  31. end function