惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

I
Intezer
V
Vulnerabilities – Threatpost
Google Online Security Blog
Google Online Security Blog
T
The Exploit Database - CXSecurity.com
C
CXSECURITY Database RSS Feed - CXSecurity.com
AWS News Blog
AWS News Blog
G
GRAHAM CLULEY
P
Privacy & Cybersecurity Law Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
C
Cybersecurity and Infrastructure Security Agency CISA
N
News | PayPal Newsroom
T
Tenable Blog
Spread Privacy
Spread Privacy
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
S
Secure Thoughts
P
Privacy International News Feed
IT之家
IT之家
Project Zero
Project Zero
T
The Blog of Author Tim Ferriss
Engineering at Meta
Engineering at Meta
大猫的无限游戏
大猫的无限游戏
博客园_首页
GbyAI
GbyAI
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
量子位
雷峰网
雷峰网
Apple Machine Learning Research
Apple Machine Learning Research
Hacker News: Ask HN
Hacker News: Ask HN
Google DeepMind News
Google DeepMind News
MongoDB | Blog
MongoDB | Blog
N
Netflix TechBlog - Medium
Martin Fowler
Martin Fowler
NISL@THU
NISL@THU
I
InfoQ
D
DataBreaches.Net
有赞技术团队
有赞技术团队
K
Kaspersky official blog
Security Latest
Security Latest
The Register - Security
The Register - Security
Hugging Face - Blog
Hugging Face - Blog
S
Security @ Cisco Blogs
P
Proofpoint News Feed
M
MIT News - Artificial intelligence
H
Hackread – Cybersecurity News, Data Breaches, AI and More
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
AI
AI
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
P
Proofpoint News Feed
Security Archives - TechRepublic
Security Archives - TechRepublic
N
News and Events Feed by Topic

博客园 - seven1314pp

SAP ABAP 客制表-表格维护器-自动带出描述等 SAP ABAP 选择屏幕按钮在同一行 SAP ABAP 一个通用的ALV框架(值得收藏) SAP ABAP ALV 布局 SAP ABAP开发技巧-ALV报表通过函数获取结构或表字段写入FIELDCAT SAP ABAP财务开发必备ABAP语法之 DO VARYING abap 分割字符串 ABAP 读取其他ALV的显示结果 SAP 会计凭证字段可以更改 SAP ABAP弹出对对话框错误信息设计 SAP ABAP 部分增强点 [ABAP] ABAP 三类内表 PYTHON 简单的网页图片爬虫 财务凭证生成过程中增强技术 SAP BTE增强 ABAP FB02 修改会计凭证的抬头文本/行项目文本的函数 ABAP ALV 单元格按钮 SAP日志表 CDHDR和CDPOS SAP abap外部断点 abap screen页签开发注意事项 abap screen表格控件后续增加栏位
SAP ABAP SQL CASE 套 CASE
seven1314pp · 2026-02-25 · via 博客园 - seven1314pp

直接上代码

"数据提取
  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).