可以看一下基础的信息
还有一篇发布到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 学习汇总