范例(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_tWHERE xmdtent = g_enterprise AND xmdtsite = n_site AND xmdtdocno = n_xmdkud004#根据核价单号、料件编号获取单价、税率SELECT xmdu011,xmdu012 INTO n_xmdu011,n_xmdu012 FROM xmdu_tWHERE xmduent = g_enterprise AND xmdusite = n_site AND xmdudocno = n_xmdkud004 AND xmdu002 = n_xmdl008#单价含税IF n_xmdt008 THENLET n_price = n_xmdu011LET n_sprice = n_price * n_xmdl018LET n_nprice = n_sprice / (1 + n_xmdu012 / 100)LET n_ns = n_sprice - n_nprice#单价不含税ELSELET n_price = n_xmdu011 * (1 + n_xmdu012 / 100)LET n_sprice = n_price * n_xmdl018LET n_nprice = n_xmdu011 * n_xmdl018LET n_ns = n_sprice - n_npriceEND IF#根据出货单号、出货项次更新出货单身表的单价、税别、税率、未税金额、含税金额、税额、取出单价字段UPDATE xmdl_tSET xmdl024 = n_price,xmdl025 = n_xmdt006,xmdl026 = n_xmdu012,xmdl027 = n_nprice,xmdl028 = n_sprice,xmdl029 = n_ns,xmdl045 = n_xmdu011WHERE xmdlent = g_enterprise AND xmdlsite = n_site AND xmdldocno = n_xmdldocno AND xmdlseq = n_xmdlseq#返回:单价、税别、税率、未税金额、含税金额、税额、取出单价RETURN  n_price,n_xmdt006,n_xmdu012,n_nprice,n_sprice,n_ns,n_xmdu011END FUNCTION

2、价格清单开窗,通过遍历单身价格信息明细,传递料号等参数,获取单价等更新、显示,并提示成功与否:

         #Ctrlp:input.c.xmdkud004#應用 a03 樣板自動產生(Version:3)ON ACTION controlp INFIELD xmdkud004#add-point:ON ACTION controlp INFIELD xmdkud004 name="input.c.xmdkud004"#應用 a07 樣板自動產生(Version:3)   #開窗i段INITIALIZE g_qryparam.* TO NULLLET g_qryparam.state = 'i'LET g_qryparam.reqry = FALSELET g_qryparam.default1 = g_xmdk_m.xmdkud004             #給予default值#給予argLET g_qryparam.arg1 = "" #sCALL cq_xmdtdocno_2()                                #呼叫開窗LET g_xmdk_m.xmdkud004 = g_qryparam.return1              DISPLAY g_xmdk_m.xmdkud004 TO xmdkud004              #FOR i = 1 TO g_xmdl2_d.getLength()CALL axmt540_getPrice_xmdkud004(g_site,g_xmdk_m.xmdkdocno,g_xmdl2_d[i].xmdlseq,g_xmdk_m.xmdkud004,g_xmdl2_d[i].xmdl0081,g_xmdl2_d[i].xmdl0181)  RETURNING g_xmdl2_d[i].xmdl024,g_xmdl2_d[i].xmdl025,g_xmdl2_d[i].xmdl026,g_xmdl2_d[i].xmdl027,g_xmdl2_d[i].xmdl028,g_xmdl2_d[i].xmdl029,g_xmdl2_d[i].xmdl045DISPLAY BY NAME g_xmdl2_d[i].xmdl024,g_xmdl2_d[i].xmdl025,g_xmdl2_d[i].xmdl026,g_xmdl2_d[i].xmdl027,g_xmdl2_d[i].xmdl028,g_xmdl2_d[i].xmdl029,g_xmdl2_d[i].xmdl045END FORIF NOT SQLCA.sqlcode THENCALL cl_ask_confirm3("cxc-00006","")ELSECALL cl_ask_confirm3("cxc-00007","")END IFNEXT FIELD xmdkud004                          #返回原欄位#END add-point

3、价格清单修改后,通过遍历单身价格信息明细,传递料号等参数,获取单价等更新、显示,并提示成功与否:

         #應用 a02 樣板自動產生(Version:2)AFTER FIELD xmdkud004#add-point:AFTER FIELD xmdkud004 name="input.a.xmdkud004"IF NOT cl_null(g_xmdk_m.xmdkud004) THEN
#應用 a17 樣板自動產生(Version:3)#欄位存在檢查#設定g_chkparam.*的參數前,先將其初始化,避免之前設定遺留的參數值造成影響。INITIALIZE g_chkparam.* TO NULL#設定g_chkparam.*的參數LET g_chkparam.arg1 = g_xmdk_m.xmdkud004#呼叫檢查存在並帶值的libraryIF cl_chk_exist("cv_xmdtdocno") THEN#檢查成功時後續處理FOR i = 1 TO g_xmdl2_d.getLength()CALL axmt540_getPrice_xmdkud004(g_site,g_xmdk_m.xmdkdocno,g_xmdl2_d[i].xmdlseq,g_xmdk_m.xmdkud004,g_xmdl2_d[i].xmdl0081,g_xmdl2_d[i].xmdl0181)  RETURNING g_xmdl2_d[i].xmdl024,g_xmdl2_d[i].xmdl025,g_xmdl2_d[i].xmdl026,g_xmdl2_d[i].xmdl027,g_xmdl2_d[i].xmdl028,g_xmdl2_d[i].xmdl029,g_xmdl2_d[i].xmdl045DISPLAY BY NAME g_xmdl2_d[i].xmdl024,g_xmdl2_d[i].xmdl025,g_xmdl2_d[i].xmdl026,g_xmdl2_d[i].xmdl027,g_xmdl2_d[i].xmdl028,g_xmdl2_d[i].xmdl029,g_xmdl2_d[i].xmdl045END FORIF NOT SQLCA.sqlcode THEN#CALL cl_ask_confirm3("cxc-00006","")ELSECALL cl_ask_confirm3("cxc-00007","")END IFELSE#檢查失敗時後續處理NEXT FIELD CURRENTEND IFEND IF #END add-point

4、自定义函数2,此函数跟自定义函数1基本相同,不同处是此函数不会return,只做更新;

此函数主要是在出货明细新增、修改后调用;

PRIVATE FUNCTION axmt540_setPrice_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_tWHERE xmdtent = g_enterprise AND xmdtsite = n_site AND xmdtdocno = n_xmdkud004#根据核价单号、料件编号获取单价、税率SELECT xmdu011,xmdu012 INTO n_xmdu011,n_xmdu012 FROM xmdu_tWHERE xmduent = g_enterprise AND xmdusite = n_site AND xmdudocno = n_xmdkud004 AND xmdu002 = n_xmdl008#单价含税IF n_xmdt008 THENLET n_price = n_xmdu011LET n_sprice = n_price * n_xmdl018LET n_nprice = n_sprice / (1 + n_xmdu012 / 100)LET n_ns = n_sprice - n_nprice#单价不含税ELSELET n_price = n_xmdu011 * (1 + n_xmdu012 / 100)LET n_sprice = n_price * n_xmdl018LET n_nprice = n_xmdu011 * n_xmdl018LET n_ns = n_sprice - n_npriceEND IF#根据出货单号、出货项次更新出货单身表的单价、税别、税率、未税金额、含税金额、税额、取出单价字段UPDATE xmdl_tSET xmdl024 = n_price,xmdl025 = n_xmdt006,xmdl026 = n_xmdu012,xmdl027 = n_nprice,xmdl028 = n_sprice,xmdl029 = n_ns,xmdl045 = n_xmdu011WHERE xmdlent = g_enterprise AND xmdlsite = n_site AND xmdldocno = n_xmdldocno AND xmdlseq = n_xmdlseq
END FUNCTION

5、单身新增后:

               #add-point:單身新增後 name="input.body.a_insert"#20170518 by ljr beginIF NOT cl_null(g_xmdk_m.xmdkud004) THENCALL axmt540_setPrice_xmdkud004(g_site,g_xmdk_m.xmdkdocno,g_xmdl_d[l_ac].xmdlseq,g_xmdk_m.xmdkud004,g_xmdl_d[l_ac].xmdl008,g_xmdl_d[l_ac].xmdl018)END IF#end begin#end add-point

6、单身修改后:

              #add-point:單身修改後 name="input.body.a_update"#新增多庫儲批CALL axmt540_01_xmdm_modify('1',l_xmdlseq_backup,g_xmdk_m.xmdksite,g_xmdk_m.xmdkdocno,g_xmdl_d[l_ac].xmdlseq,g_xmdl_d[l_ac].xmdl008,g_xmdl_d[l_ac].xmdl009,g_xmdl_d[l_ac].xmdl011,g_xmdl_d[l_ac].xmdl012,g_xmdl_d[l_ac].xmdl014,g_xmdl_d[l_ac].xmdl015,g_xmdl_d[l_ac].xmdl016,g_xmdl_d[l_ac].xmdl052,g_xmdl_d[l_ac].xmdl017,g_xmdl_d[l_ac].xmdl018,g_xmdl_d[l_ac].xmdl019,g_xmdl_d[l_ac].xmdl020,'','') RETURNING l_successIF NOT l_success THENCALL s_transaction_end('N','0')LET g_xmdl_d[l_ac].* = g_xmdl_d_t.*END IF#重新計算整單的未稅、含稅總金額CALL axmt540_tax_recount(g_xmdk_m.xmdkdocno) RETURNING l_success                     IF NOT l_success THENCALL s_transaction_end('N','0')LET g_xmdl_d[l_ac].* = g_xmdl_d_t.*END IF#20170517 by ljr beginIF NOT cl_null(g_xmdk_m.xmdkud004) THENCALL axmt540_setPrice_xmdkud004(g_site,g_xmdk_m.xmdkdocno,g_xmdl_d[l_ac].xmdlseq,g_xmdk_m.xmdkud004,g_xmdl_d[l_ac].xmdl008,g_xmdl_d[l_ac].xmdl018)END IF#end begin#end add-point

转载于:https://www.cnblogs.com/xiaoli9627/p/6874357.html

根据单头价格清单(核价单),更新单身出货明细的单价相关推荐

  1. 沃尔玛中国前CEO陈文渊将出任百事亚太区CEO;山姆再次下调近百种畅销单品价格 | 美通企业日报...

    今日看点 百事公司(PepsiCo, Inc. )宣布任命陈文渊为亚太区.澳大利亚.新西兰和中国(简称"亚太区")的首席执行官,负责百事公司在该地区的所有业务.陈文渊将于2020年 ...

  2. 神州数码易拓TIPTOP ERP查询作业模板-2个单头并排2个单身维护作业

    作业特点说明: 1.样式:顶部单头1,中间并排单身1.单身2,底部单头2: 2.新增,点击"录入"底部单头2输入新增数据,新增数据会显示在单身1中: 3.删除,选择单身1某一行,点 ...

  3. 神州数码易拓TIPTOP ERP维护作业模板-1个单头并列3个单身查询作业

    作业特点说明: 1.一个单头,3个单身的查询程序: 2.当选择单身1某一笔数据,单身2显示对应单身1未匹配数据,单身3显示对应单身1已匹配数据: 3.新增,无: 4.删除,无: 5.修改,无: 6.查 ...

  4. 神州数码易拓TIPTOP ERP查询作业模板-1个单头并列2个单身查询作业

    作业特点说明: 1.新增,无: 2.删除,无: 3.修改,无: 4.查询,单头才能输入查询条件,单身不可输入查询条件: 5.单身1列汇总,现在在标题中: 6.单身2列汇总,新增一行汇总行显示(包含月汇 ...

  5. eas销售出库单税率价格问题修复

    eas销售出库单税率价格问题修复,用以下脚本就可以啦,当然,根据不同的需求情况,作修改 UPDATEt_im_saleissueentry t SET(t.fsaleprice,--单价--t.flo ...

  6. [易飞]BOM表发现有单身无单头信息

    BOM表发现有单身无单头信息 BOM表发现有单身无单头信息 综合体检工具检查 导出EXCEL在后台查询确认 SQL语句批量处理异常 BOM表发现有单身无单头信息 计算低级码时出现此异常: 综合体检工具 ...

  7. 易飞:订单单头税率与单身税率不符导致销货单无法开窗选择

    首先感谢Q友 哈宜春  的投稿,以下以第一人称描述 某天在给某客户发货,做销货单时,发现开窗找不到对应的订单,但回过头查询订单,订单又是确实存在的 没办法,只有去查看开窗,到底是限定了啥条件了,在这里 ...

  8. 什么!?在线表单可以做工商核名查询的官网功能?看看锐银财税如何玩转业务在线化

    2021年的二月份,上海锐银财税咨询有限公司(以下简称上海锐银)找到了LTD,表示他们想要做一个支持为用户提供工商核名查询功能的企业官网. 上海锐银的经营范围包括:财务咨询:知识产权服务:商标代理:信 ...

  9. c语言编写excel程序,基于C语言的Excel核价程序的设计与实现

    Excel是财务工作的常用工具,但是对于复杂的函数操作,对于一些不熟悉计算机编程知识的财务人员是一件比较头疼的事情.笔者结合C语言对Excel文件的OLE操作函数,开发出的应用程序简单易用,解决了财务 ...

  10. PMCAFF:揭秘暗藏在O2O背后的暴利刷单,1800元投入刷单2个月赚50万

    随着近年来近年O2O行业的大热,接踵而来的是挥之不去的刷单雾霾.刷单这种鸦片,可以给平台造成短期完美的幻觉,久而久之却会让平台在虚妄的膨胀感中日趋衰亡.杜绝刷单,势在必行!目前PMCAFF的会员设计优 ...

最新文章

  1. 你猜猜typeof (typeof 1) 会返回什么值(类型)?!
  2. ubuntu下使用串口调试终端minicom链接typec接口
  3. python算法集合_python – 一个集合联合查找算法
  4. 重磅盘点:过去8年中深度学习最重要的想法
  5. 2011年 软件所信息安全国家重点实验室复试回忆
  6. 提高 Android 代码质量的4个工具
  7. python中tolist_python - 无法使用Gremlinpython使用“ .toList()”列出Janusgraph中存在的所有顶点 - 堆栈内存溢出...
  8. opencv与两个摄像头实现双目标定与测距
  9. QCustomplot基础应用
  10. 学习笔记(二)JavaScript基本概念(语法,数据类型,控制语句,函数)
  11. 淘宝「改名自由」后,上百万人连夜告别了前任……
  12. psql执行sql的方式及一些基本命令
  13. dosbox edit.exe 如何使用_微软软件如何激活?这个神器分享给你!
  14. 【项目管理】项目管理发展的新阶段——PRINCE2项目管理方法
  15. TF-IDF来源及理论推导 熵推导出
  16. 下载Chrome浏览器历史版本方法
  17. JavaScript学习手册一:JS简介
  18. java面向对象笔记
  19. (二)D3D9视频显示的流程与初始化
  20. caret包介绍学习之train函数介绍

热门文章

  1. 快速复制浏览器F12中的请求到Postman/或者生成相关语言的对应代码
  2. 计算机用户名起什么好,如何随机取名计算机名-如何改计算机用户名
  3. 计算机内存清理原理,怎样清理计算机内存
  4. PHP获取每月第一天与最后一天
  5. 华为交换机 查ip冲突_华为交换机发现邻居操作,查看端口和ip
  6. QDU首届易途杯大赛-kk与cillyb的荣誉之战
  7. 启用 Windows 审核模式(Audit Mode),以 Administrator 账户来设置电脑的开箱体验
  8. mac foxmail html签名,Foxmail for mac邮箱账号添加设置图文教程
  9. 2015全国硕士研究生计算机考研真题(附答案)
  10. Mybatis传递多个参数的4种方式(干货)