当前位置: 首页 > news >正文

淘宝上做网站排名靠谱吗爱链在线

淘宝上做网站排名靠谱吗,爱链在线,最好的网站开发系统,web页wordpress文章目录 ABAP 字段类型不一样导致相加之后金额错误写在前面的总结示例程序1汇总MSEG表和MLDOC表 ABAP 字段类型不一样导致相加之后金额错误 写在前面的总结 如果需要不同底表的字段相加的值,那么最好是根据条件去分别算出那些值放在临时内表里面,再去…

文章目录

  • ABAP 字段类型不一样导致相加之后金额错误
    • 写在前面的总结
    • 示例程序1
    • 汇总MSEG表和MLDOC表

ABAP 字段类型不一样导致相加之后金额错误

写在前面的总结

  1. 如果需要不同底表的字段相加的值,那么最好是根据条件去分别算出那些值放在临时内表里面,再去根据条件读取临时内表,读取完之后取出对应的值进行计算,不然可能会因为字段有不同长度,计算的结果出错
  2. 如果要多个表连接,一定要注意连接的条件和思路,思路要清晰,连接条件要正确
  3. 在select语句里面如果使用sum函数,字段长度不相等,可能会导致计算出来的值有问题
  4. 尽量在select语句的筛选条件里面筛选数据,使得到的内表的行数尽量更少,更准确一些。

在这里插入图片描述
原来的代码:

原来的代码:( CASE WHEN c~aufnr IS INITIALTHEN ( SUM( CASE WHEN c~bwart = '102' THEN c~dmbtr * -1 ELSE c~dmbtr END ) )ELSE SUM( CASE WHEN c~bwart = '102' THEN c~dmbtr * -1 ELSE c~dmbtr END ) + d~prd END ) AS dmbtr, "模具入库金额现在修改成:( CASE WHEN c~aufnr IS INITIALTHEN ( SUM( CASE WHEN c~bwart = '102' THEN c~dmbtr * -1 ELSE c~dmbtr END ) )ELSE SUM( CASE WHEN c~bwart = '102' THEN c~dmbtr * -1 ELSE c~dmbtr END ) + ( CASE WHEN abs( d~prd ) > 0 THEN d~prd ELSE 0 END ) END ) AS dmbtr, "模具入库金额

在这里插入图片描述
在这里插入图片描述
程序名:z_test_lhy2

示例程序1

REPORT z_test_lhy2.
*&--------------------------Variables----------------------------------*
TYPES: BEGIN OF ty_out,werks TYPE mseg-werks,  "工厂matnr2 TYPE mara-matnr, "物料aufnr TYPE mseg-aufnr,  "订单END OF ty_out.
DATA: gs_out TYPE ty_out,gt_out TYPE TABLE OF ty_out.*&------------------------------Logic----------------------------------*
gs_out-werks = '1710'.
gs_out-matnr2 = 'MZ-FG-C990'.
gs_out-aufnr = '000001000920'.
APPEND gs_out TO gt_out.SELECTa~werks,  "工厂a~matnr2, "物料( CASE WHEN b~aufnr IS INITIALTHEN SUM( CASE WHEN b~bwart = '102' THEN b~dmbtr * -1 ELSE  b~dmbtr END  )ELSE SUM( CASE WHEN b~bwart = '102' THEN b~dmbtr * -1 ELSE  b~dmbtr END  ) + c~prd END ) AS dmbtr_hj, "合计金额c~prd,b~aufnr,SUM( CASE WHEN b~bwart = '102' THEN b~dmbtr * -1 ELSE  b~dmbtr END  ) AS dmbtr "原始金额FROM @gt_out AS aLEFT JOIN mseg AS b ON a~werks = b~werks AND a~matnr2 = b~matnrLEFT JOIN mldoc AS c ON b~aufnr = c~aufnr AND c~tcode = 'KO88'WHERE substring( b~budat_mkpf,1,4 ) = '2021'GROUP BY a~werks,a~matnr2,b~aufnr,c~prd,b~aufnrINTO TABLE @DATA(lt_temp).

单独定义两个变量之后再相加,数值是没有问题的,都是正确的:
在这里插入图片描述

汇总MSEG表和MLDOC表

这里想先汇总MSEG的金额,再去mldoc表去查询价格差异字段prd,并汇总价格差异的金额,可以用下面的做法:

SELECTa~werks,  "工厂a~matnr2, "物料
*  ( CASE WHEN b~aufnr IS INITIAL
*    THEN SUM( CASE WHEN b~bwart = '102' THEN b~dmbtr * -1 ELSE  b~dmbtr END  )
*    ELSE SUM( CASE WHEN b~bwart = '102' THEN b~dmbtr * -1 ELSE  b~dmbtr END  ) + c~prd END ) AS dmbtr_hj, "合计金额
*  c~prd,b~aufnr,SUM( CASE WHEN b~bwart = '102' THEN b~dmbtr * -1 ELSE  b~dmbtr END  ) AS dmbtr "原始金额FROM @gt_out AS aLEFT JOIN mseg AS b ON a~werks = b~werks AND a~matnr2 = b~matnr AND a~aufnr = b~aufnr"LEFT JOIN mldoc AS c ON a~aufnr = c~aufnr AND c~tcode = 'KO88'WHERE substring( b~budat_mkpf,1,4 ) = '2021'GROUP BY a~werks,a~matnr2,b~aufnrINTO TABLE @DATA(lt_mseg).SORT lt_mseg BY werks matnr2 dmbtr."cl_demo_output=>display( lt_mseg ).SELECTa~werks,"工厂a~matnr2,"物料a~aufnr,  "订单SUM( b~prd ) AS prd "价格差异FROM @lt_mseg AS aLEFT JOIN mldoc AS b ON a~aufnr = b~aufnr AND b~tcode = 'KO88'GROUP BY a~werks,a~matnr2,a~aufnrINTO TABLE @DATA(lt_mldoc).SORT lt_mldoc BY werks matnr2 aufnr."cl_demo_output=>display( lt_mldoc ).

在这里插入图片描述

http://www.yidumall.com/news/109884.html

相关文章:

  • 四川住房建设厅网站金华seo
  • 做熟食的网站美食网站免费的网站域名查询
  • 东莞网站建设服务商百度查询
  • 自己做的网站如何赚钱链接买卖价格
  • 17做网站 一件代发营业推广
  • 兰州网站建设哪家专业网站优化排名软件网
  • 零六年自助建设网站如何做企业网页
  • 昆山品牌网站app关键词优化
  • 太原网站建设公司排名网络营销案例分析论文
  • 怎么让网站栏目页收录百度站长平台电脑版
  • 自己的电脑做网站服务器 买的服务器 速度网络舆情分析报告
  • 常州做网站设计怎么制作公司网页
  • web网站发布江苏企业网站建设
  • 写作网站私密seo排名是什么意思
  • 永康做网站公司搜索引擎关键词seo优化公司
  • 百度安全中心谷歌seo服务
  • 网站设计论文的题目网站注册流程和费用
  • 公司网站 用 个人备案域名seo是指什么意思
  • 跨境电子商务网页制作与网站建设谷歌浏览器网页版入口在哪里
  • 西安有哪些做网站建设的公司好seo网络推广软件
  • 慈溪做无痛同济&网站河南seo排名
  • wordpress修改成中文网站需要怎么优化比较好
  • 免费自己做网站吗怎么注册网站平台
  • 手机端网站需要多少钱阜新网络推广
  • 济南市建设网官网自动app优化最新版
  • 网站收录是怎么回事磁力宅
  • 北京百度关键词优化搜索引擎seo关键词优化效果
  • 泰州网站制作套餐网站域名ip地址查询
  • 做网站申请完空间后下一步干啥最好用的磁力搜索神器
  • 小说网站做编辑器湖南株洲疫情最新情况