P_PURCHASEORDERWITHSTOFILTER

DDL: P_PURCHASEORDERWITHSTOFILTER SQL: PPURCHORDNOSTO Type: view CONSUMPTION

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)

SourceAliasJoin Type
I_PurchasingDocument PurchaseOrder from
I_PurchaseOrderItem PurchaseOrderItem inner

Associations (2)

CardinalityTargetAliasCondition
[0..1] I_PurchasingDocumentType _PurchaseOrderType _PurchaseOrderType.PurchasingDocumentCategory = 'F' and _PurchaseOrderType.PurchasingDocumentType = $projection.PurchaseOrderType
[1..1] I_PurchaseOrderCalcFields _PurchaseOrderCalcFields $projection.PurchaseOrder = _PurchaseOrderCalcFields.PurchaseOrder

Annotations (9)

NameValueLevelField
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)

KeyFieldSource TableSource FieldDescription
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":""
}
}*/