I_PurchaseOrderHistoryAPI01
Purchase Order History
I_PurchaseOrderHistoryAPI01 is a Composite CDS View that provides data about "Purchase Order History" in SAP S/4HANA. It reads from 1 data source (I_PurchaseOrderHistoryBasic) and exposes 67 fields with key fields PurchaseOrder, PurchaseOrderItem, AccountAssignmentNumber, PurchasingHistoryDocumentType, PurchasingHistoryDocumentYear. It has 2 associations to related views. Part of development package VDM_MM_PUR_PO_PUBLIC.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| I_PurchaseOrderHistoryBasic | history | from |
Associations (2)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1..1] | I_PurchaseOrderAPI01 | _PurchaseOrder | $projection.PurchaseOrder = _PurchaseOrder.PurchaseOrder |
| [1..1] | I_PurchaseOrderItemAPI01 | _PurchaseOrderItem | $projection.PurchaseOrder = _PurchaseOrderItem.PurchaseOrder and $projection.PurchaseOrderItem = _PurchaseOrderItem.PurchaseOrderItem |
Annotations (12)
| Name | Value | Level | Field |
|---|---|---|---|
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| AbapCatalog.sqlViewName | IMMPURORDHISAP01 | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| EndUserText.label | Purchase Order History | view | |
| VDM.viewType | #COMPOSITE | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.sizeCategory | #XL | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view | |
| AccessControl.personalData.blocking | #BLOCKED_DATA_EXCLUDED | view | |
| Metadata.ignorePropagatedAnnotations | true | view | |
| VDM.lifecycle.contract.type | #PUBLIC_LOCAL_API | view |
Fields (67)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | PurchaseOrder | I_PurchaseOrderHistoryBasic | PurchaseOrder | |
| KEY | PurchaseOrderItem | PurchaseOrderItem | ||
| KEY | AccountAssignmentNumber | AccountAssignmentNumber | ||
| KEY | PurchasingHistoryDocumentType | PurchasingHistoryDocumentType | ||
| KEY | PurchasingHistoryDocumentYear | PurchasingHistoryDocumentYear | ||
| KEY | PurchasingHistoryDocument | PurchasingHistoryDocument | ||
| KEY | PurchasingHistoryDocumentItem | PurchasingHistoryDocumentItem | ||
| PurchasingHistoryCategory | PurchasingHistoryCategory | |||
| GoodsMovementType | GoodsMovementType | |||
| PostingDate | PostingDate | |||
| Currency | Currency | |||
| DebitCreditCode | DebitCreditCode | |||
| IsCompletelyDelivered | IsCompletelyDelivered | |||
| ReferenceDocumentFiscalYear | ReferenceDocumentFiscalYear | |||
| ReferenceDocument | ReferenceDocument | |||
| ReferenceDocumentItem | ReferenceDocumentItem | |||
| Material | Material | |||
| Plant | Plant | |||
| RvslOfGoodsReceiptIsAllowed | RvslOfGoodsReceiptIsAllowed | |||
| PricingDocument | PricingDocument | |||
| TaxCode | TaxCode | |||
| DocumentDate | DocumentDate | |||
| InventoryValuationType | InventoryValuationType | |||
| DocumentReferenceID | DocumentReferenceID | |||
| DeliveryQuantityUnit | DeliveryQuantityUnit | |||
| ManufacturerMaterial | ManufacturerMaterial | |||
| AccountingDocumentCreationDate | AccountingDocumentCreationDate | |||
| PurgHistDocumentCreationTime | PurgHistDocumentCreationTime | |||
| Quantity | Quantity | |||
| PurOrdAmountInCompanyCodeCrcy | PurOrdAmountInCompanyCodeCrcy | |||
| PurchaseOrderAmount | PurchaseOrderAmount | |||
| QtyInPurchaseOrderPriceUnit | QtyInPurchaseOrderPriceUnit | |||
| GRIRAcctClrgAmtInCoCodeCrcy | GRIRAcctClrgAmtInCoCodeCrcy | |||
| GdsRcptBlkdStkQtyInOrdQtyUnit | GdsRcptBlkdStkQtyInOrdQtyUnit | |||
| GdsRcptBlkdStkQtyInOrdPrcUnit | GdsRcptBlkdStkQtyInOrdPrcUnit | |||
| InvoiceAmtInCoCodeCrcy | InvoiceAmtInCoCodeCrcy | |||
| ShipgInstrnSupplierCompliance | ShipgInstrnSupplierCompliance | |||
| InvoiceAmountInFrgnCurrency | InvoiceAmountInFrgnCurrency | |||
| QuantityInDeliveryQtyUnit | QuantityInDeliveryQtyUnit | |||
| GRIRAcctClrgAmtInTransacCrcy | GRIRAcctClrgAmtInTransacCrcy | |||
| QuantityInBaseUnit | QuantityInBaseUnit | |||
| Batch | Batch | |||
| GRIRAcctClrgAmtInOrdTrnsacCrcy | GRIRAcctClrgAmtInOrdTrnsacCrcy | |||
| InvoiceAmtInPurOrdTransacCrcy | InvoiceAmtInPurOrdTransacCrcy | |||
| VltdGdsRcptBlkdStkQtyInOrdUnit | VltdGdsRcptBlkdStkQtyInOrdUnit | |||
| VltdGdsRcptBlkdQtyInOrdPrcUnit | VltdGdsRcptBlkdQtyInOrdPrcUnit | |||
| IsToBeAcceptedAtOrigin | IsToBeAcceptedAtOrigin | |||
| ExchangeRateDifferenceAmount | ExchangeRateDifferenceAmount | |||
| ExchangeRate | I_PurchaseOrderHistoryBasic | ExchangeRate | ||
| DeliveryDocument | DeliveryDocument | |||
| DeliveryDocumentItem | DeliveryDocumentItem | |||
| OrderPriceUnit | OrderPriceUnit | |||
| PurchaseOrderQuantityUnit | PurchaseOrderQuantityUnit | |||
| BaseUnit | BaseUnit | |||
| DocumentCurrency | DocumentCurrency | |||
| CompanyCodeCurrency | CompanyCodeCurrency | |||
| _PurchaseOrder | _PurchaseOrder | |||
| _PurchaseOrderItem | _PurchaseOrderItem | |||
| _GoodsMovementTypeText | I_PurchaseOrderHistoryBasic | _GoodsMovementTypeText | ||
| _CurrencyText | I_PurchaseOrderHistoryBasic | _CurrencyText | ||
| _DebitCreditCodeText | I_PurchaseOrderHistoryBasic | _DebitCreditCodeText | ||
| _DeliveryQuantityUnitText | I_PurchaseOrderHistoryBasic | _DeliveryQuantityUnitText | ||
| _OrderPriceUnitText | I_PurchaseOrderHistoryBasic | _OrderPriceUnitText | ||
| _OrderQuantityUnitText | I_PurchaseOrderHistoryBasic | _OrderQuantityUnitText | ||
| _BaseUnitText | I_PurchaseOrderHistoryBasic | _BaseUnitText | ||
| _DocumentCurrencyText | I_PurchaseOrderHistoryBasic | _DocumentCurrencyText | ||
| _CompanyCodeCurrencyText | I_PurchaseOrderHistoryBasic | _CompanyCodeCurrencyText |
@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog.sqlViewName: 'IMMPURORDHISAP01'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Purchase Order History'
@VDM.viewType : #COMPOSITE
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #XL
@ObjectModel.usageType.dataClass: #TRANSACTIONAL
@ObjectModel.supportedCapabilities: [ #SQL_DATA_SOURCE, #CDS_MODELING_DATA_SOURCE, #CDS_MODELING_ASSOCIATION_TARGET ]
@AccessControl.personalData.blocking: #BLOCKED_DATA_EXCLUDED
@Metadata.ignorePropagatedAnnotations:true
@VDM.lifecycle.contract.type: #PUBLIC_LOCAL_API
define view I_PurchaseOrderHistoryAPI01 as select from I_PurchaseOrderHistoryBasic as history
association [1..1] to I_PurchaseOrderAPI01 as _PurchaseOrder on $projection.PurchaseOrder = _PurchaseOrder.PurchaseOrder
association [1..1] to I_PurchaseOrderItemAPI01 as _PurchaseOrderItem on $projection.PurchaseOrder = _PurchaseOrderItem.PurchaseOrder
and $projection.PurchaseOrderItem = _PurchaseOrderItem.PurchaseOrderItem
{
key history.PurchaseOrder as PurchaseOrder,
key PurchaseOrderItem,
key AccountAssignmentNumber,
key PurchasingHistoryDocumentType,
key PurchasingHistoryDocumentYear,
key PurchasingHistoryDocument,
key PurchasingHistoryDocumentItem,
//@ObjectModel.text.association: ''
PurchasingHistoryCategory,
@ObjectModel.text.association: '_GoodsMovementTypeText'
GoodsMovementType,
PostingDate,
@Semantics.currencyCode: true
@ObjectModel.text.association: '_CurrencyText'
@Consumption.valueHelpDefinition: [{ entity: { name: 'I_CurrencyStdVH', element: 'Currency' }, useAsTemplate: true }] //CustomUI
Currency,
@ObjectModel.text.association: '_DebitCreditCodeText'
DebitCreditCode,
IsCompletelyDelivered,
ReferenceDocumentFiscalYear,
ReferenceDocument,
ReferenceDocumentItem,
Material,
@Consumption.valueHelpDefinition: [{ entity: { name: 'I_PlantStdVH', element: 'Plant' }, useAsTemplate: true }] //CustomUI
Plant,
RvslOfGoodsReceiptIsAllowed,
PricingDocument,
TaxCode,
DocumentDate,
InventoryValuationType,
DocumentReferenceID,
@Semantics.unitOfMeasure: true
@ObjectModel.text.association: '_DeliveryQuantityUnitText'
@Consumption.valueHelpDefinition: [{ entity: { name: 'I_UnitOfMeasureStdVH', element: 'UnitOfMeasure' }, useAsTemplate: true }] //CustomUI
DeliveryQuantityUnit,
ManufacturerMaterial,
AccountingDocumentCreationDate,
PurgHistDocumentCreationTime,
@Semantics.quantity.unitOfMeasure:'PurchaseOrderQuantityUnit'
Quantity,
@Semantics.amount.currencyCode: 'CompanyCodeCurrency'
PurOrdAmountInCompanyCodeCrcy,
@Semantics.amount.currencyCode: 'Currency'
PurchaseOrderAmount,
@Semantics.quantity.unitOfMeasure:'OrderPriceUnit'
QtyInPurchaseOrderPriceUnit,
@Semantics.amount.currencyCode: 'CompanyCodeCurrency'
GRIRAcctClrgAmtInCoCodeCrcy,
@Semantics.quantity.unitOfMeasure:'PurchaseOrderQuantityUnit'
GdsRcptBlkdStkQtyInOrdQtyUnit,
@Semantics.quantity.unitOfMeasure:'OrderPriceUnit'
GdsRcptBlkdStkQtyInOrdPrcUnit,
@Semantics.amount.currencyCode: 'CompanyCodeCurrency'
InvoiceAmtInCoCodeCrcy,
ShipgInstrnSupplierCompliance,
@Semantics.amount.currencyCode: 'Currency'
InvoiceAmountInFrgnCurrency,
@Semantics.quantity.unitOfMeasure:'DeliveryQuantityUnit'
QuantityInDeliveryQtyUnit,
@Semantics.amount.currencyCode: 'Currency'
GRIRAcctClrgAmtInTransacCrcy,
@Semantics.quantity.unitOfMeasure: 'BaseUnit'
QuantityInBaseUnit,
Batch,
@Semantics.amount.currencyCode: 'DocumentCurrency'
GRIRAcctClrgAmtInOrdTrnsacCrcy,
@Semantics.amount.currencyCode: 'DocumentCurrency'
InvoiceAmtInPurOrdTransacCrcy,
@Semantics.quantity.unitOfMeasure:'PurchaseOrderQuantityUnit'
VltdGdsRcptBlkdStkQtyInOrdUnit,
@Semantics.quantity.unitOfMeasure:'OrderPriceUnit'
VltdGdsRcptBlkdQtyInOrdPrcUnit,
IsToBeAcceptedAtOrigin,
@Semantics.amount.currencyCode: 'Currency'
ExchangeRateDifferenceAmount,
history.ExchangeRate,
DeliveryDocument,
DeliveryDocumentItem,
@Semantics.unitOfMeasure: true
@ObjectModel.text.association: '_OrderPriceUnitText'
@Consumption.valueHelpDefinition: [{ entity: { name: 'I_UnitOfMeasureStdVH', element: 'UnitOfMeasure' }, useAsTemplate: true }] //CustomUI
OrderPriceUnit,
@Semantics.unitOfMeasure: true
@ObjectModel.text.association: '_OrderQuantityUnitText'
@Consumption.valueHelpDefinition: [{ entity: { name: 'I_UnitOfMeasureStdVH', element: 'UnitOfMeasure' }, useAsTemplate: true }] //CustomUI
PurchaseOrderQuantityUnit,
@Semantics.unitOfMeasure: true
@ObjectModel.text.association: '_BaseUnitText'
@Consumption.valueHelpDefinition: [{ entity: { name: 'I_UnitOfMeasureStdVH', element: 'UnitOfMeasure' }, useAsTemplate: true }] //CustomUI
BaseUnit,
@Semantics.currencyCode: true
@ObjectModel.text.association: '_DocumentCurrencyText'
@Consumption.valueHelpDefinition: [{ entity: { name: 'I_CurrencyStdVH', element: 'Currency' }, useAsTemplate: true }] //CustomUI
DocumentCurrency,
@Semantics.currencyCode: true
@ObjectModel.text.association: '_CompanyCodeCurrencyText'
@Consumption.valueHelpDefinition: [{ entity: { name: 'I_CurrencyStdVH', element: 'Currency' }, useAsTemplate: true }] //CustomUI
CompanyCodeCurrency,
_PurchaseOrder,
_PurchaseOrderItem,
// Text associations for CustomUI
history._GoodsMovementTypeText,
history._CurrencyText,
history._DebitCreditCodeText,
history._DeliveryQuantityUnitText,
history._OrderPriceUnitText,
history._OrderQuantityUnitText,
history._BaseUnitText,
history._DocumentCurrencyText,
history._CompanyCodeCurrencyText
}
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