带有输入的CDS和程序调用

可以看一下基础的信息

CDS(一)

还有一篇发布到ODATA并用Postman测试的一篇的我们目前不会用,可以在我博客里寻找

也可以参考

1.创建CDS的DDL

sql 复制代码
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AbapCatalog.sqlViewName: '********'

@AccessControl.authorizationCheck: #NOT_REQUIRED

@EndUserText.label: 'Production Excution Monitoring DDL'

@Metadata.ignorePropagatedAnnotations: true

define view ZI_PP014_DDIC
  with parameters
    p_werks : abap.char(4)

  as select from    afko as a

    left outer join aufk as b on a.aufnr = b.aufnr

    //   left outer join AFRU as c on a.AUFNR = c.AUFNR
    // left outer join v_t024f as d 
    //        on a.fevor = d.fevor 
    left outer join resb as e on a.aufnr = e.aufnr

    left outer join makt as f on a.plnbez = f.matnr
    left outer join mara as g on a.plnbez = g.matnr
    left outer join marc as h on a.plnbez = h.matnr

{
  key a.aufnr,
  key b.werks,

      a.gltrs,
      a.ftrmi,
      a.gamng,
      a.dispo,
      a.fevor,
      a.gltrp,
      a.gstrp,
      //     case  a.PLNBEZ
      //      when ' ' then b.KTEXT
      //      end     as PLNBEZ,

      coalesce(a.plnbez, b.ktext) as PLNBEZ,
      b.auart,
      b.kdauf,
      b.kdpos,
      e.rsnum,
      e.rspos,
      e.matnr,
      e.rgekz,
      f.maktx,
      h.bstmi,

      case h.beskz
      when 'F' then  h.lgfsb
      when 'E' then  h.lgpro
      end                         as  lgpro
}

where e.xloek <> 'X'
// and c.stokz <> 'x' 
  and f.spras  = $session.system_language
  and b.werks  = h.werks
  and e.matnr  = h.matnr
  and e.werks  = h.werks
  and b.werks  = $parameters.p_werks
//   and b.werks = d.werks

程序调用

sql 复制代码
ELECT *
    FROM zi_pp014_ddic( p_werks = @p_werks )
    WHERE aufnr  IN @s_aufnr
      AND auart  IN @s_auart
      AND plnbez IN @s_plnbez
      AND fevor  IN @s_fevor
      AND dispo  IN @s_dispo
      AND kdauf  IN @s_kdauf
      AND gstrp  IN @s_gstrp
      AND gltrp  IN @s_gltrp
    INTO CORRESPONDING FIELDS OF TABLE @gt_alv.

也可以参考此篇。理论知识较多
ABAP CDS 学习汇总

相关推荐
Sarvartha4 小时前
final 关键字
java·开发语言
程序员Sunday5 小时前
JavaScript 事件循环面试题,宏任务与微任务怎么执行|Sunday面试指南
开发语言·javascript·面试·校招·事件循环·程序员sunday
zhangzeyuaaa6 小时前
Ruby 多线程、GVL(GIL)与 Mutex 完全指南
开发语言·前端·ruby
谢亮_vipxieliang7 小时前
用 PHP 构建轻量级 REST API:从路由到鉴权的完整实践
开发语言·后端·php
思无邪667 小时前
用 AI 做 JS 逆向:从抓包到复现的完整方法论
开发语言·javascript·人工智能
H.莓飛8 小时前
【数据结构】二叉树_OJ题
linux·开发语言·数据结构·算法
零基础1239 小时前
Ubuntu 常用命令汇总
linux·运维·开发语言
外收内放9 小时前
Python基础语法练习题(57-58)
开发语言·python
时间的拾荒人9 小时前
Qt 界面美化实战:QSS 样式表
开发语言·qt·面试
杨运交9 小时前
[076][核心模块]构建优雅的Java异常处理框架:从错误码到全局异常处理
java·开发语言