w_dytitle_ware_pdb.srw 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. $PBExportHeader$w_dytitle_ware_pdb.srw
  2. forward
  3. global type w_dytitle_ware_pdb from w_dytitle_inwarebuy
  4. end type
  5. end forward
  6. global type w_dytitle_ware_pdb from w_dytitle_inwarebuy
  7. end type
  8. global w_dytitle_ware_pdb w_dytitle_ware_pdb
  9. forward prototypes
  10. public subroutine wf_save ()
  11. public subroutine wf_reset_dw1 ()
  12. public function integer wf_save_dytitle_ware_pdb (long arg_hang, string arg_name, string arg_dwtitlename, string arg_execltitlename, string arg_filtername, string arg_msg)
  13. end prototypes
  14. public subroutine wf_save ();long i,hang
  15. string arg_msg
  16. hang=long(trim(sle_1.text))
  17. for i=1 to dw_1.rowcount()
  18. if wf_save_dytitle_ware_pdb(hang,dw_1.Object.name[i],dw_1.Object.dwtitlename[i],dw_1.Object.execltitlename[i],of_globalreplace(dw_1.Object.filtername[i],',',','),arg_msg )=0 then
  19. messagebox('Error','保存出错!' + arg_msg)
  20. return
  21. end if
  22. next
  23. messagebox('成功','保存成功' )
  24. end subroutine
  25. public subroutine wf_reset_dw1 ();Long i,ll_hang
  26. dw_1.AcceptText()
  27. String ls_name,ls_dwtitlename,ls_execltitlename,ls_filtername
  28. FOR i = 1 To dw_1.RowCount()
  29. IF i = 1 THEN
  30. SELECT Top 1 hang Into :ll_hang From u_dytitle_ware_pdb;
  31. IF ll_hang <> 0 THEN
  32. sle_1.Text = string(ll_hang)
  33. ELSE
  34. sle_1.Text = '1'
  35. END IF
  36. END IF
  37. IF dw_1.Object.Name[i] <> '' THEN
  38. ls_name = dw_1.Object.Name[i]
  39. SELECT execltitlename,filtername Into :ls_execltitlename,:ls_filtername From u_dytitle_ware_pdb Where Name = :ls_name;
  40. IF ls_execltitlename <> '' THEN
  41. dw_1.Object.execltitlename[i] = ls_execltitlename
  42. ELSE
  43. dw_1.Object.execltitlename[i] = dw_1.Object.dwtitlename[i]
  44. END IF
  45. dw_1.Object.filtername[i] = ls_filtername//过滤字眼
  46. END IF
  47. NEXT
  48. end subroutine
  49. public function integer wf_save_dytitle_ware_pdb (long arg_hang, string arg_name, string arg_dwtitlename, string arg_execltitlename, string arg_filtername, string arg_msg);Long rslt = 1, i
  50. if isnull(arg_filtername) then arg_filtername=''
  51. UPDATE u_dytitle_ware_pdb
  52. SET hang = :arg_hang,
  53. dwtitlename = :arg_dwtitlename,
  54. execltitlename = :arg_execltitlename,
  55. filtername=:arg_filtername
  56. WHERE name = :arg_name;
  57. IF sqlca.SQLCode <> 0 THEN
  58. rslt = 0
  59. arg_msg = "更新明细标题与execl标题对应关系表操作失败"+"~n"+sqlca.SQLErrText
  60. GOTO ext
  61. ELSEIF sqlca.SQLNRows = 0 THEN
  62. INSERT INTO u_dytitle_ware_pdb(hang,name,dwtitlename,execltitlename,filtername) VALUES (:arg_hang,:arg_name,:arg_dwtitlename,:arg_execltitlename,:arg_filtername);
  63. END IF
  64. ext:
  65. IF rslt = 0 THEN
  66. ROLLBACK;
  67. ELSE
  68. COMMIT;
  69. END IF
  70. RETURN rslt
  71. end function
  72. event open;s_dytitle_ware_pdb s_tran
  73. s_tran=message.powerobjectparm
  74. long i,row
  75. for i=1 to upperbound(s_tran.col_name)
  76. row=dw_1.insertrow(0)
  77. dw_1.object.name[row]=s_tran.col_name[i]
  78. dw_1.object.dwtitlename[row]=s_tran.title_name[i]
  79. next
  80. wf_reset_dw1()
  81. end event
  82. on w_dytitle_ware_pdb.create
  83. call super::create
  84. end on
  85. on w_dytitle_ware_pdb.destroy
  86. call super::destroy
  87. end on
  88. type cb_func from w_dytitle_inwarebuy`cb_func within w_dytitle_ware_pdb
  89. end type
  90. type cb_exit from w_dytitle_inwarebuy`cb_exit within w_dytitle_ware_pdb
  91. end type
  92. type dw_1 from w_dytitle_inwarebuy`dw_1 within w_dytitle_ware_pdb
  93. end type
  94. type cb_1 from w_dytitle_inwarebuy`cb_1 within w_dytitle_ware_pdb
  95. end type
  96. type st_1 from w_dytitle_inwarebuy`st_1 within w_dytitle_ware_pdb
  97. end type
  98. type sle_1 from w_dytitle_inwarebuy`sle_1 within w_dytitle_ware_pdb
  99. end type
  100. type cb_2 from w_dytitle_inwarebuy`cb_2 within w_dytitle_ware_pdb
  101. end type