P_PurReqnProcFlowInvc
Fetch Invoice in Pur Reqn Process flow
P_PurReqnProcFlowInvc is a Composite CDS View that provides data about "Fetch Invoice in Pur Reqn Process flow" in SAP S/4HANA. It reads from 2 data sources (P_PurchasingDocHistory, I_PurgDocScheduleLine) and exposes 10 fields with key fields ReferenceDocumentendasPrecedingDocument, SubsequentDocument, SubsequentDocumentItem. Part of development package ODATA_MM_PUR_REQ_COMMON.
Data Sources (2)
| Source | Alias | Join Type |
|---|---|---|
| P_PurchasingDocHistory | _purgDocHist | inner |
| I_PurgDocScheduleLine | _schedgLine | from |
Annotations (6)
| Name | Value | Level | Field |
|---|---|---|---|
| VDM.private | true | view | |
| VDM.viewType | #COMPOSITE | view | |
| AbapCatalog.sqlViewName | PPURREQNPFINV | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AccessControl.authorizationCheck | #PRIVILEGED_ONLY | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view |
Fields (10)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | ReferenceDocumentendasPrecedingDocument | |||
| KEY | SubsequentDocument | P_PurchasingDocHistory | MaterialDocument | |
| KEY | SubsequentDocumentItem | |||
| SubsequentDocumentCategory | P_PurchasingDocHistory | PurchaseOrderTransactionType | ||
| FiscalYear | _SupInvc | FiscalYear | ||
| CompanyCode | _SupInvc | CompanyCode | ||
| PurchaseRequisition | I_PurgDocScheduleLine | PurchaseRequisition | ||
| PurchaseRequisitionItem | I_PurgDocScheduleLine | PurchaseRequisitionItem | ||
| ReferenceDocument | P_PurchasingDocHistory | ReferenceDocument | ||
| ReferenceDocumentItem | P_PurchasingDocHistory | ReferenceDocumentItem |
@VDM.private: true
@VDM.viewType: #COMPOSITE
@AbapCatalog.sqlViewName: 'PPURREQNPFINV'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #PRIVILEGED_ONLY
@ClientHandling.algorithm: #SESSION_VARIABLE
//@AccessControl.privilegedAssociations: [ '_refDocumet' ]
define view P_PurReqnProcFlowInvc as
select from
//PO-->IV(In case GR Based IV is not enabled in PO) or GR-->IV(In case GR Based IV is enabled in PO)
//SES-->IV(In case lean services)
I_PurgDocScheduleLine as _schedgLine
inner join P_PurchasingDocHistory as _purgDocHist
on _purgDocHist.PurchasingDocument = _schedgLine.PurchasingDocument
and _purgDocHist.PurchasingDocumentItem = _schedgLine.PurchasingDocumentItem
association to I_PurchasingDocumentItem as _purgDocItem
on _purgDocItem.PurchasingDocument = _schedgLine.PurchasingDocument
and _purgDocItem.PurchasingDocumentItem = _schedgLine.PurchasingDocumentItem
association to I_SupplierInvoice as _SupInvc
on _purgDocHist.MaterialDocument = _SupInvc.SupplierInvoice
//and _purgDocHist.MaterialDocumentYear = _SupInvc.FiscalYear
association[0..*] to P_PurchasingDocHistory as _refDocumet
on _refDocumet.MaterialDocument = _purgDocHist.ReferenceDocument
and _refDocumet.MaterialDocumentItem = _purgDocHist.ReferenceDocumentItem
{
//---> Caculate Predecessor based on Reference Document of Invoice
//---> IF reference is initial, then PO is predecessor
//---> Else, GR is predecessor in case of material item
//---> SES is predecessor in case of lean services item
key case _purgDocHist.ReferenceDocument
when ''
then _purgDocHist.PurchasingDocument
else
_purgDocHist.ReferenceDocument
end as PrecedingDocument,
key case _purgDocHist.ReferenceDocument
when ''
then _purgDocHist.PurchasingDocumentItem
else
cast( _purgDocHist.ReferenceDocumentItem as char5)
end as PrecedingDocumentItem,
key _purgDocHist.MaterialDocument as SubsequentDocument,
key cast(_purgDocHist.MaterialDocumentItem as char5) as SubsequentDocumentItem,
case _purgDocHist.ReferenceDocument
when ''
then cast( 'F' as ebstyp)
else
cast( _refDocumet.PurchaseOrderTransactionType as ebstyp)
end as PrecedingDocumentCategory,
_purgDocHist.PurchaseOrderTransactionType as SubsequentDocumentCategory,
_SupInvc.FiscalYear,
_SupInvc.CompanyCode,
//For Filtering
_schedgLine.PurchaseRequisition as PurchaseRequisition,
_schedgLine.PurchaseRequisitionItem as PurchaseRequisitionItem,
_purgDocHist.ReferenceDocument,
_purgDocHist.ReferenceDocumentItem
//_refDocumet
}
where ( _purgDocHist.PurchaseOrderTransactionType = '2' or _purgDocHist.PurchaseOrderTransactionType = 'P' )
and _purgDocItem.PurchasingDocumentCategory = 'F'
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