P_PurchaseOrderHistDetail
PurchaseOrderHistDetail
P_PurchaseOrderHistDetail is a Consumption CDS View that provides data about "PurchaseOrderHistDetail" in SAP S/4HANA. It reads from 2 data sources (I_PurchaseOrderHistory, I_PurOrdHistDelivCost) and exposes 32 fields with key fields PurchaseOrder, PurchaseOrderItem, PurchaseOrderTransactionType, PurchaseOrderItem, PurchaseOrderTransactionType. It has 2 associations to related views.
Data Sources (2)
| Source | Alias | Join Type |
|---|---|---|
| I_PurchaseOrderHistory | I_PurchaseOrderHistory | from |
| I_PurOrdHistDelivCost | I_PurOrdHistDelivCost | union_all |
Parameters (2)
| Name | Type | Default |
|---|---|---|
| P_StartDate | bedat | |
| P_EndDate | bedat |
Associations (2)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | I_PurchaseOrderHistCategory | _PurchaseOrderHistCategory | $projection.PurchaseOrderHistCategory = _PurchaseOrderHistCategory.PurchaseOrderHistCategory |
| [0..1] | I_PurchaseOrderItem | _PurchaseOrderItem | $projection.PurchaseOrder = _PurchaseOrderItem.PurchaseOrder and $projection.PurchaseOrderItem = _PurchaseOrderItem.PurchaseOrderItem |
Annotations (7)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | PURORDHISTDET | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| VDM.viewType | #CONSUMPTION | view | |
| VDM.private | true | view | |
| AccessControl.authorizationCheck | #NOT_REQUIRED | view | |
| EndUserText.label | PurchaseOrderHistDetail | view | |
| AccessControl.personalData.blocking | #NOT_REQUIRED | view |
Fields (32)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | PurchaseOrder | PurchaseOrder | ||
| KEY | PurchaseOrderItem | PurchaseOrderItem | ||
| KEY | PurchaseOrderTransactionType | PurchaseOrderTransactionType | ||
| PostingDate | I_PurchaseOrderHistory | PostingDate | ||
| CompanyCodeCurrency | ||||
| PurOrdTransactionCurrency | _PurchaseOrderItem | DocumentCurrency | ||
| PurchaseOrderHistCategory | PurchaseOrderHistCategory | |||
| PurchaseOrderType | ||||
| PurchasingOrganization | ||||
| PurchasingGroup | ||||
| Plant | _PurchaseOrderItem | Plant | ||
| PurchasingDocumentCategory | _PurchaseOrderItem | PurchaseOrderCategory | ||
| GoodsReceiptIsNonValuated | _PurchaseOrderItem | GoodsReceiptIsNonValuated | ||
| PurOrdAmountInCompanyCodeCrcy | PurOrdAmountInCompanyCodeCrcy | |||
| NetPriceAmount | _PurchaseOrderItem | NetPriceAmount | ||
| Quantity | I_PurchaseOrderHistory | Quantity | ||
| PurchaseOrderItemkeyPurchaseOrder | ||||
| KEY | PurchaseOrderItem | PurchaseOrderItem | ||
| KEY | PurchaseOrderTransactionType | PurchaseOrderTransactionType | ||
| PostingDate | PostingDate | |||
| CompanyCodeCurrency | ||||
| PurOrdTransactionCurrency | _PurchaseOrderItem | DocumentCurrency | ||
| PurchaseOrderHistCategory | PurchaseOrderHistCategory | |||
| PurchaseOrderType | ||||
| PurchasingOrganization | ||||
| PurchasingGroup | ||||
| Plant | _PurchaseOrderItem | Plant | ||
| PurchasingDocumentCategory | _PurchaseOrderItem | PurchaseOrderCategory | ||
| GoodsReceiptIsNonValuated | _PurchaseOrderItem | GoodsReceiptIsNonValuated | ||
| PurOrdAmountInCompanyCodeCrcy | PurOrdAmountInCompanyCodeCrcy | |||
| NetPriceAmount | _PurchaseOrderItem | NetPriceAmount | ||
| Quantity | PurchaseOrderItemQuantity |
@AbapCatalog.sqlViewName: 'PURORDHISTDET'
@AbapCatalog.compiler.compareFilter: true
@VDM.viewType: #CONSUMPTION
//@Analytics.dataCategory: #CUBE
@VDM.private: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'PurchaseOrderHistDetail'
@AccessControl.personalData.blocking: #NOT_REQUIRED
define view P_PurchaseOrderHistDetail
with parameters
P_StartDate : bedat,
P_EndDate : bedat
as select from I_PurchaseOrderHistory
{
key PurchaseOrder,
key PurchaseOrderItem,
key PurchaseOrderTransactionType,
//_PurchaseOrderItem._PurchaseOrder._CompanyCode,
//_PurchaseOrderItem._PurchaseOrder._Supplier,
I_PurchaseOrderHistory.PostingDate,
_PurchaseOrderItem._PurchaseOrder._CompanyCode.Currency as CompanyCodeCurrency,
_PurchaseOrderItem.DocumentCurrency as PurOrdTransactionCurrency,
PurchaseOrderHistCategory,
_PurchaseOrderItem._PurchaseOrder.PurchaseOrderType,
_PurchaseOrderItem._PurchaseOrder.PurchasingOrganization,
_PurchaseOrderItem._PurchaseOrder.PurchasingGroup,
_PurchaseOrderItem.Plant,
_PurchaseOrderItem.PurchaseOrderCategory as PurchasingDocumentCategory,
_PurchaseOrderItem.GoodsReceiptIsNonValuated, //remove
PurOrdAmountInCompanyCodeCrcy,
_PurchaseOrderItem.NetPriceAmount,
I_PurchaseOrderHistory.Quantity,
case PurchaseOrderTransactionType
when '2' then case DebitCreditCode
when 'H' then -1 * PurOrdAmountInCompanyCodeCrcy
when 'S' then 1 * PurOrdAmountInCompanyCodeCrcy
else 0
end
when '3' then case PurchaseOrderHistCategory
when 'W' then 0
else case DebitCreditCode
when 'H' then -1 * PurOrdAmountInCompanyCodeCrcy
when 'S' then 1 * PurOrdAmountInCompanyCodeCrcy
else 0
end
end
else 0
end as TotalInvoiceAmountInCoCodeCrcy
}
where
(
PurchaseOrderTransactionType = '1' or
PurchaseOrderTransactionType = '2'
or PurchaseOrderTransactionType = '3'
)
and _PurchaseOrderItem._PurchaseOrder.PurchaseOrderDate <= $parameters.P_EndDate
and _PurchaseOrderItem._PurchaseOrder.PurchaseOrderDate >= $parameters.P_StartDate
union all
select from I_PurOrdHistDelivCost
association [0..1] to I_PurchaseOrderHistCategory as _PurchaseOrderHistCategory on $projection.PurchaseOrderHistCategory = _PurchaseOrderHistCategory.PurchaseOrderHistCategory
association [0..1] to I_PurchaseOrderItem as _PurchaseOrderItem on $projection.PurchaseOrder = _PurchaseOrderItem.PurchaseOrder
and $projection.PurchaseOrderItem = _PurchaseOrderItem.PurchaseOrderItem
{
key PurchaseOrder,
key PurchaseOrderItem,
key PurchaseOrderTransactionType,
//_PurchaseOrderItem._PurchaseOrder._CompanyCode,
//_PurchaseOrderItem._PurchaseOrder._Supplier,
PostingDate,
_PurchaseOrderItem._PurchaseOrder._CompanyCode.Currency as CompanyCodeCurrency,
_PurchaseOrderItem.DocumentCurrency as PurOrdTransactionCurrency,
PurchaseOrderHistCategory,
_PurchaseOrderItem._PurchaseOrder.PurchaseOrderType,
_PurchaseOrderItem._PurchaseOrder.PurchasingOrganization,
_PurchaseOrderItem._PurchaseOrder.PurchasingGroup,
_PurchaseOrderItem.Plant,
_PurchaseOrderItem.PurchaseOrderCategory as PurchasingDocumentCategory,
_PurchaseOrderItem.GoodsReceiptIsNonValuated,
PurOrdAmountInCompanyCodeCrcy,
_PurchaseOrderItem.NetPriceAmount,
PurchaseOrderItemQuantity as Quantity,
case PurchaseOrderTransactionType
when '2' then case QuantityDebitCreditCode
when 'H' then case _PurchaseOrderItem.IsReturnsItem
when '' then -1 * PurOrdAmountInCompanyCodeCrcy
else 1 * PurOrdAmountInCompanyCodeCrcy
end
when 'S' then case _PurchaseOrderItem.IsReturnsItem
when '' then 1 * PurOrdAmountInCompanyCodeCrcy
else -1 * PurOrdAmountInCompanyCodeCrcy
end
else 1 * PurOrdAmountInCompanyCodeCrcy
end
when '3' then case QuantityDebitCreditCode
when 'H' then case _PurchaseOrderHistCategory.SubsequentDebitCreditIsAllowed
when '' then 0
else -1 * PurOrdAmountInCompanyCodeCrcy
end
else case _PurchaseOrderHistCategory.SubsequentDebitCreditIsAllowed
when '' then 0
else 1 * PurOrdAmountInCompanyCodeCrcy
end
end
else 0
end as TotalInvoiceAmountInCoCodeCrcy
}
where
(
PurchaseOrderTransactionType = '1'
or
PurchaseOrderTransactionType = '2'
or PurchaseOrderTransactionType = '3'
)
and _PurchaseOrderItem._PurchaseOrder.PurchaseOrderDate <= $parameters.P_EndDate
and _PurchaseOrderItem._PurchaseOrder.PurchaseOrderDate >= $parameters.P_StartDate
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_COMPANYCODE",
"I_PURCHASEORDER",
"I_PURCHASEORDERHISTCATEGORY",
"I_PURCHASEORDERHISTORY",
"I_PURCHASEORDERITEM",
"I_PURORDHISTDELIVCOST"
],
"ASSOCIATED":
[],
"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