P_PURCHASEORDERWITHSTOFILTER
Purchase Orders without STO
P_PURCHASEORDERWITHSTOFILTER is a Consumption CDS View that provides data about "Purchase Orders without STO" in SAP S/4HANA. It reads from 2 data sources (I_PurchasingDocument, I_PurchaseOrderItem) and exposes 100 fields with key fields PurchaseOrder, PurchaseOrderItem. It has 2 associations to related views.
Data Sources (2)
| Source | Alias | Join Type |
|---|---|---|
| I_PurchasingDocument | PurchaseOrder | from |
| I_PurchaseOrderItem | PurchaseOrderItem | inner |
Associations (2)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | I_PurchasingDocumentType | _PurchaseOrderType | _PurchaseOrderType.PurchasingDocumentCategory = 'F' and _PurchaseOrderType.PurchasingDocumentType = $projection.PurchaseOrderType |
| [1..1] | I_PurchaseOrderCalcFields | _PurchaseOrderCalcFields | $projection.PurchaseOrder = _PurchaseOrderCalcFields.PurchaseOrder |
Annotations (9)
| Name | Value | Level | Field |
|---|---|---|---|
| EndUserText.label | Purchase Orders without STO | view | |
| AbapCatalog.sqlViewName | PPURCHORDNOSTO | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| AbapCatalog.preserveKey | true | view | |
| VDM.viewType | #CONSUMPTION | view | |
| VDM.private | true | view | |
| AccessControl.personalData.blocking | #NOT_REQUIRED | view |
Fields (100)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | PurchaseOrder | |||
| KEY | PurchaseOrderItem | PurchaseOrderItem | ||
| PurchaseOrderType | ||||
| PurchaseOrderSubtype | PurchasingDocumentSubtype | |||
| PurchasingDocumentOrigin | PurchasingDocumentOrigin | |||
| PurchasingDocumentIsAged | PurchasingDocumentIsAged | |||
| CreatedByUser | CreatedByUser | |||
| CreationDate | I_PurchasingDocument | CreationDate | ||
| PurchaseOrderDate | ||||
| Language | Language | |||
| PurchasingDocumentDeletionCode | I_PurchasingDocument | PurchasingDocumentDeletionCode | ||
| ReleaseIsNotCompleted | ReleaseIsNotCompleted | |||
| PurchasingCompletenessStatus | PurchasingCompletenessStatus | |||
| PurchasingProcessingStatus | PurchasingProcessingStatus | |||
| PurgReleaseSequenceStatus | PurgReleaseSequenceStatus | |||
| ReleaseCode | ReleaseCode | |||
| PurchasingReleaseStrategy | PurchasingReleaseStrategy | |||
| CompanyCode | I_PurchasingDocument | CompanyCode | ||
| PurchasingOrganization | PurchasingOrganization | |||
| PurchasingGroup | PurchasingGroup | |||
| Supplier | Supplier | |||
| ManualSupplierAddressID | ManualSupplierAddressID | |||
| SupplierAddressID | SupplierAddressID | |||
| SupplierRespSalesPersonName | SupplierRespSalesPersonName | |||
| SupplierPhoneNumber | SupplierPhoneNumber | |||
| SupplyingSupplier | SupplyingSupplier | |||
| SupplyingPlant | SupplyingPlant | |||
| InvoicingParty | InvoicingParty | |||
| Customer | I_PurchasingDocument | Customer | ||
| CorrespncExternalReference | CorrespncExternalReference | |||
| CorrespncInternalReference | CorrespncInternalReference | |||
| PurchaseContract | I_PurchasingDocument | PurchaseContract | ||
| RequestForQuotation | I_PurchasingDocument | RequestForQuotation | ||
| SupplierQuotationExternalID | SupplierQuotationExternalID | |||
| PaymentTerms | PaymentTerms | |||
| CashDiscount1Days | CashDiscount1Days | |||
| CashDiscount2Days | CashDiscount2Days | |||
| NetPaymentDays | NetPaymentDays | |||
| CashDiscount1Percent | CashDiscount1Percent | |||
| CashDiscount2Percent | CashDiscount2Percent | |||
| DownPaymentType | I_PurchasingDocument | DownPaymentType | ||
| DownPaymentPercentageOfTotAmt | I_PurchasingDocument | DownPaymentPercentageOfTotAmt | ||
| DownPaymentAmount | I_PurchasingDocument | DownPaymentAmount | ||
| DownPaymentDueDate | I_PurchasingDocument | DownPaymentDueDate | ||
| IncotermsClassification | I_PurchasingDocument | IncotermsClassification | ||
| IncotermsTransferLocation | I_PurchasingDocument | IncotermsTransferLocation | ||
| IncotermsVersion | IncotermsVersion | |||
| IncotermsLocation1 | I_PurchasingDocument | IncotermsLocation1 | ||
| IncotermsLocation2 | I_PurchasingDocument | IncotermsLocation2 | ||
| IsIntrastatReportingRelevant | IsIntrastatReportingRelevant | |||
| IsIntrastatReportingExcluded | IsIntrastatReportingExcluded | |||
| PurchasingDocumentCondition | PurchasingDocumentCondition | |||
| PricingProcedure | PricingProcedure | |||
| DocumentCurrency | I_PurchasingDocument | DocumentCurrency | ||
| ValidityStartDate | ValidityStartDate | |||
| ValidityEndDate | ValidityEndDate | |||
| ExchangeRate | ExchangeRate | |||
| ExchangeRateIsFixed | ExchangeRateIsFixed | |||
| LastChangeDateTime | LastChangeDateTime | |||
| IsEndOfPurposeBlocked | IsEndOfPurposeBlocked | |||
| TaxReturnCountry | TaxReturnCountry | |||
| VATRegistrationCountry | VATRegistrationCountry | |||
| PurgReasonForDocCancellation | PurgReasonForDocCancellation | |||
| PurgReleaseTimeTotalAmount | PurgReleaseTimeTotalAmount | |||
| IsStatisticalItem | IsStatisticalItem | |||
| AccountAssignmentCategory | AccountAssignmentCategory | |||
| PurchaseOrderQuantityUnit | PurchaseOrderQuantityUnit | |||
| NetPriceAmount | NetPriceAmount | |||
| NetAmount | NetAmount | |||
| NetPriceQuantity | NetPriceQuantity | |||
| MaterialGroup | MaterialGroup | |||
| Material | Material | |||
| Plant | Plant | |||
| PurchaseOrderItemCategory | PurchaseOrderItemCategory | |||
| PurchaseOrderCategory | PurchaseOrderCategory | |||
| PurchaseContractItem | PurchaseContractItem | |||
| ProductType | ProductType | |||
| ServicePerformer | ServicePerformer | |||
| MultipleAcctAssgmtDistribution | MultipleAcctAssgmtDistribution | |||
| OrderQuantity | OrderQuantity | |||
| PurchaseRequisition | PurchaseRequisition | |||
| PurchaseRequisitionItem | PurchaseRequisitionItem | |||
| IsCompletelyDelivered | IsCompletelyDelivered | |||
| IsReturnsItem | IsReturnsItem | |||
| _PurchaseOrderType | _PurchaseOrderType | |||
| _CompanyCode | _CompanyCode | |||
| _CreatedByUser | _CreatedByUser | |||
| _Supplier | _Supplier | |||
| _SupplyingSupplier | _SupplyingSupplier | |||
| _InvoicingParty | _InvoicingParty | |||
| _PurchasingOrganization | _PurchasingOrganization | |||
| _PurchasingGroup | _PurchasingGroup | |||
| _DocumentCurrency | _DocumentCurrency | |||
| _IncotermsClassification | _IncotermsClassification | |||
| _IncotermsVersion | _IncotermsVersion | |||
| _SupplyingPlant | _SupplyingPlant | |||
| _PaymentTerms | _PaymentTerms | |||
| _SupplierAddress | _SupplierAddress | |||
| _Language | _Language | |||
| _PurchaseOrderCalcFields | _PurchaseOrderCalcFields |
@EndUserText.label: 'Purchase Orders without STO'
@AbapCatalog.sqlViewName: 'PPURCHORDNOSTO'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog.preserveKey:true
@VDM.viewType : #CONSUMPTION
@VDM.private: true
@AccessControl.personalData.blocking: #NOT_REQUIRED
define view P_PURCHASEORDERWITHSTOFILTER
as select from I_PurchasingDocument as PurchaseOrder
inner join I_PurchaseOrderItem as PurchaseOrderItem on PurchaseOrder.PurchasingDocument = PurchaseOrderItem.PurchaseOrder
association [0..1] to I_PurchasingDocumentType as _PurchaseOrderType on _PurchaseOrderType.PurchasingDocumentCategory = 'F'
and _PurchaseOrderType.PurchasingDocumentType = $projection.PurchaseOrderType
// association [0..*] to I_PurchaseOrderItem as _PurchaseOrderItem on $projection.PurchaseOrder = _PurchaseOrderItem.PurchaseOrder
association [1..1] to I_PurchaseOrderCalcFields as _PurchaseOrderCalcFields on $projection.PurchaseOrder = _PurchaseOrderCalcFields.PurchaseOrder
{
//Key
key cast (PurchaseOrder.PurchasingDocument as vdm_purchaseorder preserving type) as PurchaseOrder,
key PurchaseOrderItem,
//Category
@ObjectModel.foreignKey.association: '_PurchaseOrderType'
cast (PurchasingDocumentType as mm_purchaseordertype preserving type ) as PurchaseOrderType,
PurchasingDocumentSubtype as PurchaseOrderSubtype,
PurchasingDocumentOrigin,
PurchasingDocumentIsAged,
//Admin
CreatedByUser,
// @Semantics.businessDate.createdAt
PurchaseOrder.CreationDate,
cast (PurchasingDocumentOrderDate as bedat preserving type) as PurchaseOrderDate,
@Semantics.language: true
@ObjectModel.foreignKey.association: '_Language'
Language,
//Status
PurchaseOrder.PurchasingDocumentDeletionCode,
ReleaseIsNotCompleted,
PurchasingCompletenessStatus,
PurchasingProcessingStatus,
PurgReleaseSequenceStatus,
ReleaseCode,
PurchasingReleaseStrategy,
//Organization
@ObjectModel.foreignKey.association: '_CompanyCode'
PurchaseOrder.CompanyCode,
@ObjectModel.foreignKey.association: '_PurchasingOrganization'
PurchasingOrganization,
@ObjectModel.foreignKey.association: '_PurchasingGroup'
PurchasingGroup,
//Supplier
@ObjectModel.foreignKey.association: '_Supplier'
Supplier,
ManualSupplierAddressID,
SupplierAddressID,
SupplierRespSalesPersonName,
SupplierPhoneNumber,
@ObjectModel.foreignKey.association: '_SupplyingSupplier'
SupplyingSupplier,
@ObjectModel.foreignKey.association: '_SupplyingPlant'
SupplyingPlant,
@ObjectModel.foreignKey.association: '_InvoicingParty'
InvoicingParty,
PurchaseOrder.Customer,
//References
CorrespncExternalReference, //Your reference
CorrespncInternalReference, //Our reference
// Contract
PurchaseOrder.PurchaseContract,
// Request For Quotation
PurchaseOrder.RequestForQuotation,
//Quotation
SupplierQuotationExternalID,
//PaymentTerms
@ObjectModel.foreignKey.association: '_PaymentTerms'
PaymentTerms,
CashDiscount1Days,
CashDiscount2Days,
NetPaymentDays,
CashDiscount1Percent,
CashDiscount2Percent,
//DownPayment
PurchaseOrder.DownPaymentType,
PurchaseOrder.DownPaymentPercentageOfTotAmt,
PurchaseOrder.DownPaymentAmount,
PurchaseOrder.DownPaymentDueDate,
//Incoterms
@ObjectModel.foreignKey.association: '_IncotermsClassification'
PurchaseOrder.IncotermsClassification,
PurchaseOrder.IncotermsTransferLocation,
@ObjectModel.foreignKey.association: '_IncotermsVersion'
IncotermsVersion,
PurchaseOrder.IncotermsLocation1,
PurchaseOrder.IncotermsLocation2,
//Intratat
IsIntrastatReportingRelevant,
IsIntrastatReportingExcluded,
//Pricing
PurchasingDocumentCondition,
PricingProcedure,
@Semantics.currencyCode
@ObjectModel.foreignKey.association: '_DocumentCurrency'
PurchaseOrder.DocumentCurrency,
ValidityStartDate,
ValidityEndDate,
@Consumption.hidden: true
ExchangeRate,
ExchangeRateIsFixed,
LastChangeDateTime,
IsEndOfPurposeBlocked,
TaxReturnCountry,
VATRegistrationCountry,
PurgReasonForDocCancellation,
PurgReleaseTimeTotalAmount,
IsStatisticalItem,
AccountAssignmentCategory,
PurchaseOrderQuantityUnit,
NetPriceAmount,
NetAmount,
NetPriceQuantity,
MaterialGroup,
Material,
Plant,
PurchaseOrderItemCategory,
PurchaseOrderCategory,
PurchaseContractItem,
ProductType,
ServicePerformer,
MultipleAcctAssgmtDistribution,
OrderQuantity,
PurchaseRequisition,
PurchaseRequisitionItem,
IsCompletelyDelivered,
IsReturnsItem,
//_CompanyCode.FiscalYearVariant as FiscalYearVariant,
// Associations
@ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
_PurchaseOrderType,
_CompanyCode,
_CreatedByUser,
_Supplier,
_SupplyingSupplier,
_InvoicingParty,
_PurchasingOrganization,
_PurchasingGroup,
_DocumentCurrency,
_IncotermsClassification,
_IncotermsVersion,
_SupplyingPlant,
_PaymentTerms,
_SupplierAddress,
_Language,
_PurchaseOrderCalcFields
//Missing Associations
//_AllContacts
// Partner
//Conditions
//PricingProcedure
}
where
PurchaseOrder.PurchasingDocumentCategory = 'F'
and PurchaseOrder.PurchasingDocumentIsAged = ''
and IsEndOfPurposeBlocked = '' and SupplyingPlant is initial
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_PURCHASEORDERITEM",
"I_PURCHASINGDOCUMENT"
],
"ASSOCIATED":
[
"I_ADDRESS",
"I_COMPANYCODE",
"I_CURRENCY",
"I_INCOTERMSCLASSIFICATION",
"I_INCOTERMSVERSION",
"I_LANGUAGE",
"I_PAYMENTTERMS",
"I_PLANT",
"I_PURCHASEORDERCALCFIELDS",
"I_PURCHASINGDOCUMENTTYPE",
"I_PURCHASINGGROUP",
"I_PURCHASINGORGANIZATION",
"I_SUPPLIER",
"I_USER"
],
"BASE":
[
"I_PURCHASINGDOCUMENT"
],
"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