























直接上代码
"数据提取 SELECT a~bukrs, a~werks, a~matnr, a~blart, a~gjahr, a~poper, "a表上的年度 期间 a~racct, c~wadat_ist, a~wsl, a~msl, CASE WHEN d~xchar = 'X' THEN CASE WHEN a~msl < 0 THEN d~kcmeng * -1 ELSE d~kcmeng END ELSE CASE WHEN a~msl < 0 THEN d~lgmng * -1 ELSE d~lgmng END END AS fklmg, d~meins , CAST( substring( c~wadat_ist, 1, 4 ) AS NUMC ) AS gjahr_dn, CAST( concat( '0', substring( c~wadat_ist, 5, 2 ) ) AS NUMC ) AS poper_dn "发货单上的年度 期间 FROM @lt_acdoca_bkpf_rv AS a INNER JOIN vbrp AS b ON a~awref = b~vbeln AND a~awitem = b~posnr INNER JOIN likp AS c ON b~vgbel = c~vbeln INNER JOIN lips AS d ON b~vgbel = d~vbeln AND b~vgpos = d~posnr INTO TABLE @DATA(lt_rv_sum_t).
下面是CASE--CASE--CASE三层
SELECT a~bukrs, b~werks, a~matnr, a~blart, a~gjahr, a~poper, "a表上的年度 期间 a~racct, a~rassc, c~wadat_ist, a~wsl, a~msl, "20280228 增加rassc字段 "20260302 先判断交货单行项次类别 在判断批次是否启用批次 CASE WHEN d~pstyv = 'Z017' THEN CASE WHEN a~msl < 0 THEN b~fklmg * -1 ELSE b~fklmg END ELSE CASE WHEN d~xchar = 'X' THEN CASE WHEN a~msl < 0 THEN d~kcmeng * -1 ELSE d~kcmeng END ELSE CASE WHEN a~msl < 0 THEN d~lgmng * -1 ELSE d~lgmng END END END AS fklmg, d~meins , "交货单的基本计量单位 20260221 b~vbeln, b~fklmg AS ff, d~pstyv, CAST( substring( c~wadat_ist, 1, 4 ) AS NUMC ) AS gjahr_dn, CAST( concat( '0', substring( c~wadat_ist, 5, 2 ) ) AS NUMC ) AS poper_dn "发货单上的年度 期间 FROM @lt_acdoca_bkpf_rv AS a INNER JOIN vbrp AS b ON a~awref = b~vbeln AND a~awitem = b~posnr INNER JOIN likp AS c ON b~vgbel = c~vbeln INNER JOIN lips AS d ON b~vgbel = d~vbeln AND b~vgpos = d~posnr "20260215 INTO TABLE @DATA(lt_rv_sum_t).
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。