@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.usageType.dataClass: #TRANSACTIONAL
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #L
@AbapCatalog.sqlViewName: 'CDS_M_M2S_PR_ITM'
@EndUserText.label: 'CDS View for Purchase Requisition'
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #REQUIRED
/***********************************************************************************************************/
/* ME2STAR: Purchase Requisition */
/***********************************************************************************************************/
define view m_v_m2s_pr_itm
as select from eban as eban
left outer join m_v_pr_item_status as pr_stat on eban.banfn = pr_stat.banfn
and eban.bnfpo = pr_stat.bnfpo
left outer join lfa1 as lfa1 on eban.lifnr = lfa1.lifnr
left outer join t024e as t024e on eban.ekorg = t024e.ekorg
left outer join t024 as t024 on eban.ekgrp = t024.ekgrp
left outer join t001w as t001w on eban.werks = t001w.werks
left outer join ebkn as ebkn on eban.banfn = ebkn.banfn
and eban.bnfpo = ebkn.bnfpo
left outer join t023t as t023t on eban.matkl = t023t.matkl
and t023t.spras = 'E'
left outer join makt as makt on eban.matnr = makt.matnr
and makt.spras = 'E'
left outer join usr21 as usr21 on eban.ernam = usr21.bname
left outer join adrp as adrp on adrp.persnumber = usr21.persnumber
association [1..1] to eban as _eban on $projection.banfn = _eban.banfn
and $projection.bnfpo = _eban.bnfpo
{
key eban.banfn, --Purchase Requisition
key eban.bnfpo, --Purchase Requisition Number
eban.bsart, --Document Type
eban.bstyp, --Purchasing Doc catagory
eban.statu, --Processing Status
eban.banpr, --Preq. Processing Status
eban.loekz, --Deletion Indicator
eban.pstyp, --Item Category
eban.knttp, --Account Assignment Category
eban.matnr, --Material
eban.txz01, --Short Text
eban.menge, --Quantity
eban.meins, --Unit of Measure
eban.lpein, --Delivery Date Category
eban.badat, --Delivery Date
eban.matkl, --Material Group
eban.werks, --Plant
eban.lgort, --Storage Location
eban.ekgrp, --Purchasing Group
eban.afnam, --Requested By
eban.bednr, --Requirement Tracking Number
eban.lifnr, --Vendor
eban.flief, --Fixed Vendor
eban.reswk, --Supplying Plant
eban.ekorg, --Purchasing Organization
eban.konnr, --Outline Agreement
eban.ktpnr, --Principal Agmt Item
eban.infnr, --Purchasing Info Record
eban.ematn, --MPN Material
ebkn.kostl, --Cost Center
ebkn.ps_psp_pnr, --WBS Element
ebkn.aufnr, --Order
ebkn.vbeln, --Sales Order
eban.ebakz,
eban.erdat,
eban.frgst, --Release status
eban.lfdat,
eban.preis,
eban.peinh,
eban.ernam,
eban.frgdt,
eban.waers,
eban.berid,
eban.ebeln,
eban.ebelp,
eban.bsmng,
lfa1.name1,
lfa1.sortl,
t024.eknam,
t024e.ekotx,
t001w.name1 as name1_p,
//t023t.wgbez,
adrp.name_text,
makt.spras as spras,
t023t.spras as spras_t023t,
-- Placeholder fields (to be calculated in ABAP)
cast('' as abap.char(40)) as maktx,
cast('' as abap.char(20)) as wgbez,
cast('' as abap.char(20)) as batxt,
cast('' as abap.char(40)) as statustext,
cast(0 as abap.int4) as cntb,
-- calculated status field from DDL m_v_pr_item_status
pr_stat.status as status,
_eban
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"M_V_PR_ITEM_STATUS",
"ADRP",
"EBAN",
"EBKN",
"LFA1",
"MAKT",
"T001W",
"T023T",
"T024",
"T024E",
"USR21"
],
"ASSOCIATED":
[
"EBAN"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/