P_PurReqnProcFlowResvn
P_PurReqnProcFlowResvn is a Composite CDS View in SAP S/4HANA. It reads from 3 data sources (I_MaterialDocumentRecord, I_Purchaserequisitionitem, I_Purchaserequisitionitem) and exposes 21 fields with key fields PrecedingDocument, PrecedingDocumentItem, SubsequentDocument, SubsequentDocumentItem, PrecedingDocumentItem. It has 1 association to related views.
Data Sources (3)
| Source | Alias | Join Type |
|---|---|---|
| I_MaterialDocumentRecord | matDoc | inner |
| I_Purchaserequisitionitem | purReqn | union_all |
| I_Purchaserequisitionitem | purReqnItem | from |
Associations (1)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1..*] | I_ReservationItem | _rsItem | $projection.PurchaseRequisition = _rsItem.PurchaseRequisition and $projection.PurchaseRequisitionItem = _rsItem.PurchaseRequisitionItem |
Annotations (6)
| Name | Value | Level | Field |
|---|---|---|---|
| VDM.private | true | view | |
| VDM.viewType | #COMPOSITE | view | |
| AbapCatalog.sqlViewName | PPURREQNPFRSVN | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AccessControl.authorizationCheck | #PRIVILEGED_ONLY | view | |
| DataAging.noAgingRestriction | true | view |
Fields (21)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | PrecedingDocument | I_Purchaserequisitionitem | PurchaseRequisition | |
| KEY | PrecedingDocumentItem | I_Purchaserequisitionitem | PurchaseRequisitionItem | |
| KEY | SubsequentDocument | I_Purchaserequisitionitem | Reservation | |
| KEY | SubsequentDocumentItem | |||
| PrecedingDocumentCategory | ||||
| SubsequentDocumentCategory | ||||
| MaterialDocumentYear | ||||
| CompanyCode | ||||
| PurchaseRequisition | I_Purchaserequisitionitem | PurchaseRequisition | ||
| PurchaseRequisitionItem | I_Purchaserequisitionitem | PurchaseRequisitionItem | ||
| ReservationasPrecedingDocument | ||||
| KEY | PrecedingDocumentItem | |||
| KEY | SubsequentDocument | I_MaterialDocumentRecord | MaterialDocument | |
| KEY | SubsequentDocumentItem | |||
| PrecedingDocumentCategory | ||||
| SubsequentDocumentCategory | ||||
| MaterialDocumentYear | I_MaterialDocumentRecord | MaterialDocumentYear | ||
| CompanyCode | I_MaterialDocumentRecord | CompanyCode | ||
| PurchaseRequisition | I_Purchaserequisitionitem | PurchaseRequisition | ||
| PurchaseRequisitionItem | I_Purchaserequisitionitem | PurchaseRequisitionItem | ||
| RecordType | _rsItem | RecordType |
@VDM.private: true
@VDM.viewType: #COMPOSITE
@AbapCatalog.sqlViewName: 'PPURREQNPFRSVN'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #PRIVILEGED_ONLY
@DataAging.noAgingRestriction:true
define view P_PurReqnProcFlowResvn as
//PR-->Reservation
select from I_Purchaserequisitionitem as purReqnItem
association [1..*] to I_ReservationItem as _rsItem // Note 2930000
on $projection.PurchaseRequisition = _rsItem.PurchaseRequisition
and $projection.PurchaseRequisitionItem = _rsItem.PurchaseRequisitionItem
{
key purReqnItem.PurchaseRequisition as PrecedingDocument,
key purReqnItem.PurchaseRequisitionItem as PrecedingDocumentItem,
key purReqnItem.Reservation as SubsequentDocument,
key cast( _rsItem.ReservationItem as char5 ) as SubsequentDocumentItem,
cast( 'B' as ebstyp) as PrecedingDocumentCategory,
cast( 'V' as ebstyp) as SubsequentDocumentCategory,
cast('' as mjahr) as MaterialDocumentYear,
cast('' as bukrs) as CompanyCode,
//For Filtering
purReqnItem.PurchaseRequisition as PurchaseRequisition,
purReqnItem.PurchaseRequisitionItem as PurchaseRequisitionItem,
_rsItem.RecordType as RecordType
}
where purReqnItem.Reservation != '0000000000'
union all
//Reservation-->Goods Issue (GR)
select from I_Purchaserequisitionitem as purReqn
inner join I_MaterialDocumentRecord as matDoc
on purReqn.Reservation = matDoc.Reservation
association [1..*] to I_ReservationItem as _rsItem // Note 2930000
on $projection.PurchaseRequisition = _rsItem.PurchaseRequisition
and $projection.PurchaseRequisitionItem = _rsItem.PurchaseRequisitionItem
{
key purReqn.Reservation as PrecedingDocument,
key cast( _rsItem.ReservationItem as char5 ) as PrecedingDocumentItem,
key matDoc.MaterialDocument as SubsequentDocument,
key cast( matDoc.MaterialDocumentItem as char5 ) as SubsequentDocumentItem,
cast( 'V' as ebstyp) as PrecedingDocumentCategory,
cast( '1' as ebstyp) as SubsequentDocumentCategory,
matDoc.MaterialDocumentYear,
matDoc.CompanyCode,
//For Filtering
purReqn.PurchaseRequisition as PurchaseRequisition,
purReqn.PurchaseRequisitionItem as PurchaseRequisitionItem,
_rsItem.RecordType as RecordType
}
where purReqn.Reservation != '0000000000'
and matDoc.Reservation != '0000000000'
and matDoc.MaterialDocumentRecordType = 'MDOC' //Material Document
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_MATERIALDOCUMENTRECORD",
"I_PURCHASEREQUISITIONITEM",
"I_RESERVATIONITEM"
],
"ASSOCIATED":
[
"I_RESERVATIONITEM"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA