f_find_mtrl_by_id.srf 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219
  1. $PBExportHeader$f_find_mtrl_by_id.srf
  2. global type f_find_mtrl_by_id from function_object
  3. end type
  4. forward prototypes
  5. global function integer f_find_mtrl_by_id (long arg_mtrlid, ref s_mtrldef_array arg_s_mtrldef)
  6. end prototypes
  7. global function integer f_find_mtrl_by_id (long arg_mtrlid, ref s_mtrldef_array arg_s_mtrldef);Int rslt = 1
  8. Long cnt = 0
  9. String ls_like_mtrlcode
  10. String ls_mtrlcode,ls_mtrlname,ls_unit,ls_mtrlmode,ls_mtrltype
  11. Long ll_mtrlid
  12. String ls_prdpackcode
  13. Decimal ld_packqty,ld_planprice,ld_lmbuyprice,ld_lmsaleprice
  14. Decimal ld_rate_buy
  15. String ls_mtrlsectype,ls_zxmtrlmode,ls_usermtrlmode,ls_barcode
  16. Boolean if_find = False
  17. Int li_statusflag,li_woodcodeflag,li_pcodeflag
  18. Long ll_statustype,ll_woodcodetype,ll_pcodetype
  19. String ls_status_config,ls_woodcode_config,ls_pcode_config
  20. Int li_ifcustom,li_status_check,li_woodcode_check,li_pcode_check
  21. Long ll_configcodetype
  22. String ls_configcode,ls_configname,ls_mtrlcolor
  23. String ls_priceformula
  24. string ls_unit_scll,ls_unit_sale,ls_unit_buy
  25. long ls_buydec,ls_wfjgdec,ls_sclldec,ls_saledec,ls_buyunit,ls_wfjgunit,ls_scllunit,ls_saleunit
  26. Decimal ls_rate_scll,ls_rate_sale,ls_rate_buy
  27. SELECT u_mtrldef.mtrlid,
  28. u_mtrldef.mtrlcode,
  29. u_mtrldef.mtrlname,
  30. u_mtrldef.unit,
  31. u_mtrldef.mtrlmode,
  32. u_mtrldef.planprice,
  33. u_mtrldef.mtrltype,
  34. u_mtrldef.mtrlsectype,
  35. u_mtrldef.zxmtrlmode,
  36. u_mtrldef.prdpackcode,
  37. u_mtrldef.packqty,
  38. u_mtrldef.lmbuyprice,
  39. u_mtrldef.lmsaleprice,
  40. u_mtrldef.unit_buy,
  41. u_mtrldef.rate_buy,
  42. u_mtrldef.barcode,
  43. u_mtrldef.statusflag,
  44. u_mtrldef.woodcodeflag,
  45. u_mtrldef.pcodeflag,
  46. u_mtrldef.statustype,
  47. u_mtrldef.woodcodetype,
  48. u_mtrldef.pcodetype,
  49. u_mtrldef.ifcustom,
  50. u_mtrldef.status_check,
  51. u_mtrldef.woodcode_check,
  52. u_mtrldef.pcode_check,
  53. u_mtrldef.configcodetype,
  54. u_mtrldef.configcode,
  55. u_mtrldef.configname,
  56. u_mtrldef.mtrlcolor,
  57. u_mtrldef.status_config,
  58. u_mtrldef.woodcode_config,
  59. u_mtrldef.pcode_config,
  60. u_mtrldef.priceformula,
  61. u_mtrldef.buyunit,
  62. u_mtrldef.wfjgunit,
  63. u_mtrldef.scllunit,
  64. u_mtrldef.saleunit,
  65. u_mtrldef.buydec,
  66. u_mtrldef.wfjgdec,
  67. u_mtrldef.sclldec,
  68. u_mtrldef.saledec,
  69. u_mtrldef.unit_scll,
  70. u_mtrldef.unit_sale,
  71. u_mtrldef.unit_buy,
  72. u_mtrldef.rate_scll,
  73. u_mtrldef.rate_sale
  74. INTO :ll_mtrlid,
  75. :ls_mtrlcode,
  76. :ls_mtrlname,
  77. :ls_unit,
  78. :ls_mtrlmode,
  79. :ld_planprice,
  80. :ls_mtrltype,
  81. :ls_mtrlsectype,
  82. :ls_zxmtrlmode,
  83. :ls_prdpackcode,
  84. :ld_packqty,
  85. :ld_lmbuyprice,
  86. :ld_lmsaleprice,
  87. :ls_unit_buy,
  88. :ld_rate_buy,
  89. :ls_barcode,
  90. :li_statusflag,
  91. :li_woodcodeflag,
  92. :li_pcodeflag,
  93. :ll_statustype,
  94. :ll_woodcodetype,
  95. :ll_pcodetype,
  96. :li_ifcustom,
  97. :li_status_check,
  98. :li_woodcode_check,
  99. :li_pcode_check,
  100. :ll_configcodetype,
  101. :ls_configcode,
  102. :ls_configname,
  103. :ls_mtrlcolor,
  104. :ls_status_config,
  105. :ls_woodcode_config,
  106. :ls_pcode_config,
  107. :ls_priceformula,
  108. :ls_buyunit,
  109. :ls_wfjgunit,
  110. :ls_scllunit,
  111. :ls_saleunit,
  112. :ls_buydec,
  113. :ls_wfjgdec,
  114. :ls_sclldec,
  115. :ls_saledec,
  116. :ls_unit_scll,
  117. :ls_unit_sale,
  118. :ls_unit_buy,
  119. :ls_rate_scll,
  120. :ls_rate_sale
  121. FROM u_mtrldef
  122. Where u_mtrldef.mtrlid = :arg_mtrlid;
  123. IF sqlca.SQLCode <> 0 THEN
  124. rslt = 0
  125. GOTO ext
  126. END IF
  127. arg_s_mtrldef.mtrlid[1] = ll_mtrlid
  128. arg_s_mtrldef.mtrlcode[1] = ls_mtrlcode
  129. arg_s_mtrldef.mtrlname[1] = ls_mtrlname
  130. arg_s_mtrldef.unit[1] = ls_unit
  131. arg_s_mtrldef.mtrlmode[1] = ls_mtrlmode
  132. arg_s_mtrldef.planprice[1] = ld_planprice
  133. arg_s_mtrldef.mtrltype[1] = ls_mtrltype
  134. arg_s_mtrldef.mtrlsectype[1] = ls_mtrlsectype
  135. arg_s_mtrldef.zxmtrlmode[1] = ls_zxmtrlmode
  136. arg_s_mtrldef.usermtrlmode[1] = ls_usermtrlmode
  137. arg_s_mtrldef.prdpackcode[1] = ls_prdpackcode
  138. arg_s_mtrldef.packqty[1] = ld_packqty
  139. arg_s_mtrldef.lmbuyprice[1] = ld_lmbuyprice
  140. arg_s_mtrldef.lmsaleprice[1] = ld_lmsaleprice
  141. arg_s_mtrldef.unit_buy[1] = ls_unit_buy
  142. arg_s_mtrldef.rate_buy[1] = ld_rate_buy
  143. arg_s_mtrldef.barcode[1] = ls_barcode
  144. arg_s_mtrldef.statusflag[1] = li_statusflag
  145. arg_s_mtrldef.woodcodeflag[1] = li_woodcodeflag
  146. arg_s_mtrldef.pcodeflag[1] = li_pcodeflag
  147. arg_s_mtrldef.statustype[1] = ll_statustype
  148. arg_s_mtrldef.woodcodetype[1] = ll_woodcodetype
  149. arg_s_mtrldef.pcodetype[1] = ll_pcodetype
  150. arg_s_mtrldef.ifcustom[1] = li_ifcustom
  151. arg_s_mtrldef.status_check[1] = li_status_check
  152. arg_s_mtrldef.woodcode_check[1] = li_woodcode_check
  153. arg_s_mtrldef.pcode_check[1] = li_pcode_check
  154. arg_s_mtrldef.configcodetype[1] = ll_configcodetype
  155. arg_s_mtrldef.configcode[1] = ls_configcode
  156. arg_s_mtrldef.configname[1] = ls_configname
  157. arg_s_mtrldef.mtrlcolor[1] = ls_mtrlcolor
  158. arg_s_mtrldef.status_config[1] = ls_status_config
  159. arg_s_mtrldef.woodcode_config[1] = ls_woodcode_config
  160. arg_s_mtrldef.pcode_config[1] = ls_pcode_config
  161. arg_s_mtrldef.priceformula[1] = ls_priceformula
  162. arg_s_mtrldef.buyunit[1] = ls_buyunit
  163. arg_s_mtrldef.wfjgunit[1] = ls_wfjgunit
  164. arg_s_mtrldef.scllunit[1] = ls_scllunit
  165. arg_s_mtrldef.saleunit[1] = ls_saleunit
  166. arg_s_mtrldef.buydec[1] = ls_buydec
  167. arg_s_mtrldef.wfjgdec[1] = ls_wfjgdec
  168. arg_s_mtrldef.sclldec[1] = ls_sclldec
  169. arg_s_mtrldef.saledec[1] = ls_saledec
  170. arg_s_mtrldef.unit_scll[1] = ls_unit_scll
  171. arg_s_mtrldef.unit_sale[1] = ls_unit_sale
  172. arg_s_mtrldef.unit_buy[1] = ls_unit_buy
  173. arg_s_mtrldef.rate_scll[1] = ls_rate_scll
  174. arg_s_mtrldef.rate_sale[1] = ls_rate_sale
  175. IF arg_s_mtrldef.statusflag[1] = 4 THEN
  176. arg_s_mtrldef.status[1] = ls_status_config
  177. ELSE
  178. arg_s_mtrldef.status[1] = ""
  179. END IF
  180. IF arg_s_mtrldef.woodcodeflag[1] = 4 THEN
  181. arg_s_mtrldef.woodcode[1] = ls_woodcode_config
  182. ELSE
  183. arg_s_mtrldef.woodcode[1] = ""
  184. END IF
  185. IF arg_s_mtrldef.pcodeflag[1] = 4 THEN
  186. arg_s_mtrldef.pcode[1] = ls_pcode_config
  187. ELSE
  188. arg_s_mtrldef.pcode[1] = ""
  189. END IF
  190. ext:
  191. RETURN rslt
  192. end function