如何实现简单的入库功能

fanzs007 2009-10-30 12:24:42
rkmx-入库明细表 PH可以空
rkbh goodsid goodsqty ph bumenid
-------------------------------------------------------------------
入库单 商品ID 入库数量 批号 入库部门ID
-------------------------------------------------------------------
1 2 1 2007 6000000
2 2 2 20091001 6000000
3 6 20 5000000
3 7 30 200101 5000000
--------------------------------------------------------------
kcb---库存表
goodsid bumenid kcshl
\


如何实现
当我新增一张单时,判断这张单据内的商品是否在KCB有记录,如果有,账更新库存数量
如果没有,则新增GOODSID及库存数量


如果是更新,
用如下的方法

string ls_sql

ls_sql = "update zp_kcb
a set kcshl=(select b.goodsqty from rkmx b
where a.goodsid=b.goodsid and b.rkbh=4 )
where exists ( select b.goodsqty from rkmx b
where a.goodsid=b.goodsid and b.rkbh=4)"
EXECUTE IMMEDIATE :ls_sql ;
IF sqlca.sqlcode = 0 then
commit;
else
rollback;
messagebox('错误','err')
end if

运行的速度是好慢,但是我不懂B.rkbh=4
怎么换成动态的单号
有什么更好的方法?
...全文
111 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wlj768 2009-11-26
  • 打赏
  • 举报
回复
在rkmx触发器inserted部分,记录每次插入的goodsid ,查找kcb,如果存在则更新该表,如果不存在,则插入该表。
永生天地 2009-10-30
  • 打赏
  • 举报
回复
b.rkbh=4改动态 b.rkbh="+string(li_number)+" where ...
acen_chen 2009-10-30
  • 打赏
  • 举报
回复
入库编号是数字还是字符串?
如果是数字

ls_sql = "select ..... rkbh="+string(li_bh)+"........."

如果是字符串

ls_sql = "select ..... rkbh='"+ls_bh+"'........."

xuam 2009-10-30
  • 打赏
  • 举报
回复
触发器
qin_phoenix 2009-10-30
  • 打赏
  • 举报
回复
这个需求最好在数据库里面实现。比如触发器,过程。

740

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 脚本语言
社区管理员
  • 脚本语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧