带有输入的CDS和程序调用
可以看一下基础的信息
CDS(一)
还有一篇发布到ODATA并用Postman测试的一篇的我们目前不会用,可以在我博客里寻找
也可以参考
1.创建CDS的DDL
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AbapCatalog.sqlViewName: '********'@AccessControl.authorizationCheck: #NOT_REQUIRED@EndUserText.label: 'Production Excution Monitoring DDL'@Metadata.ignorePropagatedAnnotations: truedefine view ZI_PP014_DDICwith parametersp_werks : abap.char(4)as select from afko as aleft 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.aufnrleft outer join makt as f on a.plnbez = f.matnrleft outer join mara as g on a.plnbez = g.matnrleft 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.beskzwhen 'F' then h.lgfsbwhen 'E' then h.lgproend as lgpro
}where e.xloek <> 'X'
// and c.stokz <> 'x' and f.spras = $session.system_languageand b.werks = h.werksand e.matnr = h.matnrand e.werks = h.werksand b.werks = $parameters.p_werks
// and b.werks = d.werks
程序调用
ELECT *FROM zi_pp014_ddic( p_werks = @p_werks )WHERE aufnr IN @s_aufnrAND auart IN @s_auartAND plnbez IN @s_plnbezAND fevor IN @s_fevorAND dispo IN @s_dispoAND kdauf IN @s_kdaufAND gstrp IN @s_gstrpAND gltrp IN @s_gltrpINTO CORRESPONDING FIELDS OF TABLE @gt_alv.
也可以参考此篇。理论知识较多
ABAP CDS 学习汇总