T100根据单头价格清单(核价单),更新单身出货明细的单价

博客内容讲述了如何在价格清单(核价单)发生更改时,利用SQL和数据库技术更新单身出货明细的单价。涉及自定义函数的使用,分别用于在价格清单开窗、修改时及出货明细新增、修改后调用,确保单价的正确更新并提供成功提示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

范例(axmt541,隶属axmt540):

1、价格清单(核价单)更改后,更新单身的出货明细单价;

2、单身出货明细 新增、修改后,根据所选的价格清单(核价单)更新单价;

3、单价更新成功后开窗提示。

 (备注,核价单axmt420)

具体:

 1、自定义函数1,此函数会return相关价格,主要是价格清单开窗、修改时调用,更新数据库相关单价的同时,获取相关单价的回传值显示到明细上:

PRIVATE FUNCTION axmt540_getPrice_xmdkud004(n_site,n_xmdldocno,n_xmdlseq,n_xmdkud004,n_xmdl008,n_xmdl018)
    #定义参数变数
    DEFINE  n_site        LIKE  xmdl_t.xmdlsite           #据点
    DEFINE  n_xmdldocno   LIKE  xmdl_t.xmdldocno          #出货单号
    DEFINE  n_xmdlseq     LIKE  xmdl_t.xmdlseq            #出货项次
    DEFINE  n_xmdkud004   LIKE  xmdu_t.xmdudocno          #核价单号
    DEFINE  n_xmdl008     LIKE  xmdl_t.xmdl008            #料件编号
    DEFINE  n_xmdl018     LIKE  xmdl_t.xmdl018            #出货数量
    #定义存储值变数
    DEFINE  n_xmdt006   LIKE    xmdt_t.xmdt006      #核价单头——税别
    DEFINE  n_xmdt008   LIKE    xmdt_t.xmdt008      #核价单头——单价含税否
    DEFINE  n_xmdu011   LIKE    xmdu_t.xmdu011      #核价单身——单价(取出单价xmdl045)
    DEFINE  n_xmdu012   LIKE    xmdu_t.xmdu012      #核价单身——税率
    DEFINE  n_price     LIKE    xmdl_t.xmdl024      #新单价
    DEFINE  n_nprice    LIKE    xmdl_t.xmdl027      #未税金额
    DEFINE  n_sprice    LIKE    xmdl_t.xmdl028      #含税金额
    DEFINE  n_ns        LIKE    xmdl_t.xmdl029      #税额
    #根据核价单号获取税别、单价含税否
    SELECT xmdt006,xmdt008 INTO n_xmdt006,n_xmdt008 FROM xmdt_t
        WHERE xmdtent = g_enterprise AND xmdtsite = n_site AND xmdtdocno = n_xmdkud004
    #根据核价单号、料件编号获取单价、税率
    SELECT xmdu011,xmdu012 INTO n_xmdu011,n_xmdu012 FROM xmdu_t
        WHERE xmduent = g_enterprise AND xmdusite = n_site AND xmdudocno = n_xmdkud004 AND xmdu002 = n_xmdl008
    #单价含税
    IF n_xmdt008 THEN
        LET n_price = n_xmdu011
        LET n_sprice = n_price * n_xmdl018
        LET n_nprice = n_sprice / (1 + n_xmdu012 / 100)
        LET n_ns = n_sprice - n_nprice
    #单价不含税
    ELSE
        LET n_price = n_xmdu011 * (1 + n_xmdu012 / 100)
        LET n_sprice = n_price * n_xmdl018
        LET n_nprice = n_xmdu011 * n_xmdl018
        LET n_ns = n_sprice - n_nprice
    END IF
    #根据出货单号、出货项次更新出货单身表的单价、税别、税率、未税金额、含税金额、税额、取出单价字段
    UPDATE xmdl_t
        SET xmdl024 = n_price,
            xmdl025 = n_xm
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值