f_init_dft_dwprint_dynamic.srf 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. $PBExportHeader$f_init_dft_dwprint_dynamic.srf
  2. global type f_init_dft_dwprint_dynamic from function_object
  3. end type
  4. forward prototypes
  5. global function integer f_init_dft_dwprint_dynamic (ref string arg_msg)
  6. end prototypes
  7. global function integer f_init_dft_dwprint_dynamic (ref string arg_msg);Int rslt
  8. rslt = 1
  9. datastore ds_dynamic
  10. ds_dynamic = Create datastore
  11. ds_dynamic.DataObject = 'ds_sys_dft_dwprint_dynamic'
  12. ds_dynamic.SetTransObject(sqlca)
  13. Long ll_row
  14. ll_row = ds_dynamic.RowCount()
  15. Long cnt
  16. Long ll_i
  17. String chnname
  18. String dft_new_dwname
  19. String pblname
  20. Long prownum
  21. String dwtype
  22. Long powerid
  23. Long auditprint
  24. Long ptype
  25. Long dwprintid
  26. String dft_old_dwname
  27. Long ifuse
  28. Long ifdefault
  29. cnt = 0
  30. SELECT count(*) INTO :cnt
  31. FROM sys_dft_dwprint_dynamic
  32. Where dwprintid < 0 ;
  33. IF sqlca.SQLCode <> 0 THEN
  34. arg_msg = '查询格式设置数量失败'+sqlca.SQLErrText
  35. rslt = 0
  36. GOTO ext
  37. END IF
  38. Long ll_cnt = 1
  39. IF cnt < ll_row THEN
  40. FOR ll_i = 1 To ds_dynamic.RowCount()
  41. chnname = ds_dynamic.Object.chnname[ll_i]
  42. dft_new_dwname = ds_dynamic.Object.dft_new_dwname[ll_i]
  43. pblname = ds_dynamic.Object.pblname[ll_i]
  44. prownum = ds_dynamic.Object.prownum[ll_i]
  45. dwtype = ds_dynamic.Object.dwtype[ll_i]
  46. powerid = ds_dynamic.Object.powerid[ll_i]
  47. auditprint = ds_dynamic.Object.auditprint[ll_i]
  48. ptype = ds_dynamic.Object.ptype[ll_i]
  49. dwprintid = ds_dynamic.Object.dwprintid[ll_i]
  50. ifuse = ds_dynamic.Object.ifuse[ll_i]
  51. ifdefault = ds_dynamic.Object.ifdefault[ll_i]
  52. UPDATE sys_dft_dwprint_dynamic
  53. SET dft_new_dwname = :dft_new_dwname,
  54. chnname = :chnname,
  55. powerid = :powerid,
  56. dwtype = :dwtype,
  57. auditprint = :auditprint,
  58. prownum = :prownum,
  59. ptype = :ptype,
  60. pblname = :pblname,
  61. ifuse = :ifuse,
  62. ifdefault = :ifdefault
  63. WHERE dwprintid = :dwprintid AND
  64. dft_new_dwname = :dft_new_dwname AND
  65. chnname = :chnname ;
  66. IF sqlca.SQLCode = -1 THEN
  67. ELSEIF sqlca.SQLCode = 0 THEN
  68. IF sqlca.SQLNRows = 0 THEN
  69. cnt = 0
  70. SELECT count(*)
  71. INTO :cnt
  72. FROM sys_dft_dwprint_dynamic
  73. Where dft_new_dwname = :dft_new_dwname;
  74. IF sqlca.SQLCode <> 0 THEN
  75. arg_msg = '查询默认格式设置失败'+sqlca.SQLErrText
  76. rslt = 0
  77. GOTO ext
  78. END IF
  79. IF cnt > 0 THEN
  80. DELETE FROM sys_dft_dwprint_dynamic
  81. Where dft_new_dwname = :dft_new_dwname;
  82. IF sqlca.SQLCode <> 0 THEN
  83. arg_msg = '删除默认格式设置失败'+sqlca.SQLErrText
  84. rslt = 0
  85. GOTO ext
  86. END IF
  87. END IF
  88. INSERT INTO sys_dft_dwprint_dynamic
  89. ( dwprintid,
  90. dft_new_dwname,
  91. chnname,
  92. powerid,
  93. dwtype,
  94. auditprint,
  95. prownum,
  96. ptype,
  97. pblname,
  98. ifuse,
  99. ifdefault )
  100. VALUES ( :dwprintid,
  101. :dft_new_dwname,
  102. :chnname,
  103. :powerid,
  104. :dwtype,
  105. :auditprint,
  106. :prownum,
  107. :ptype,
  108. :pblname,
  109. :ifuse,
  110. :ifdefault) ;
  111. IF sqlca.SQLCode <> 0 THEN
  112. arg_msg = '插入默认格式设置失败'+sqlca.SQLErrText
  113. rslt = 0
  114. GOTO ext
  115. END IF
  116. END IF
  117. END IF
  118. NEXT
  119. END IF
  120. ext:
  121. IF rslt = 0 THEN
  122. ROLLBACK;
  123. ELSE
  124. COMMIT;
  125. END IF
  126. RETURN rslt
  127. end function