I_PurchaseOrderTP

DDL: I_PURCHASEORDERTP SQL: IPURORDTP Type: view TRANSACTIONAL

Transactional View for Purchase Order

I_PurchaseOrderTP is a Transactional CDS View that provides data about "Transactional View for Purchase Order" in SAP S/4HANA. It reads from 1 data source (R_PurchaseOrder) and exposes 90 fields with key field PurchaseOrder. It has 10 associations to related views.

Data Sources (1)

SourceAliasJoin Type
R_PurchaseOrder Document from

Associations (10)

CardinalityTargetAliasCondition
[1..1] I_PurchaseOrderNetAmount _PurchaseOrderNetAmount _PurchaseOrderNetAmount.PurchaseOrder = $projection.PurchaseOrder
[1..*] I_PurchaseOrderItemTP _PurchaseOrderItemTP _PurchaseOrderItemTP.PurchaseOrder = $projection.PurchaseOrder
[1..*] I_PurchaseOrderPartnerTP _PurchaseOrderPartnerTP _PurchaseOrderPartnerTP.PurchaseOrder = $projection.PurchaseOrder
[1..1] I_PurOrdSupplierAddressTP _PurOrdSupplierAddressTP _PurOrdSupplierAddressTP.PurchaseOrder = $projection.PurchaseOrder
[1..1] I_PurchaseOrderCalcFields _PurchaseOrderCalcFields _PurchaseOrderCalcFields.PurchaseOrder = $projection.PurchaseOrder
[0..1] I_PurchasingDocumentTypeText _PurchaseOrderTypeText _PurchaseOrderTypeText.PurchasingDocumentType = $projection.PurchaseOrderType and _PurchaseOrderTypeText.PurchasingDocumentCategory = 'F' and _PurchaseOrderTypeText.Language = $session.system_language
[0..1] I_User _User _User.UserID = $projection.CreatedByUser --Extension
[1..1] E_PurchasingDocument _PurchaseOrderExtension $projection.PurchaseOrder = _PurchaseOrderExtension.PurchasingDocument
[0..*] I_PurchaseOrderNoteTP _PurchaseOrderNote _PurchaseOrderNote.PurchaseOrder = $projection.PurchaseOrder
[0..1] R_PurOrdHasItemHierarchy _PurOrdHasItemHierarchy $projection.PurchaseOrder = _PurOrdHasItemHierarchy.PurchaseOrder

Annotations (21)

NameValueLevelField
VDM.viewType #TRANSACTIONAL view
AbapCatalog.sqlViewName IPURORDTP view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #CHECK view
EndUserText.label Transactional View for Purchase Order view
VDM.lifecycle.contract.type #SAP_INTERNAL_API view
ObjectModel.compositionRoot true view
ObjectModel.transactionalProcessingEnabled true view
ObjectModel.draftEnabled true view
ObjectModel.writeDraftPersistence PURORDTP_D view
ObjectModel.createEnabled true view
ObjectModel.updateEnabled true view
ObjectModel.deleteEnabled true view
ObjectModel.semanticKey PurchaseOrder view
ObjectModel.representativeKey PurchaseOrder view
ObjectModel.sapObjectNodeType.name PurchaseOrder view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.entityChangeStateId LastChangeDateTime view
AccessControl.personalData.blocking #NOT_REQUIRED view

Fields (90)

KeyFieldSource TableSource FieldDescription
KEY PurchaseOrder R_PurchaseOrder PurchaseOrder
PurchaseOrderType R_PurchaseOrder PurchaseOrderType
PurchaseOrderTypeName _PurchaseOrderTypeText PurchasingDocumentTypeName
PurchaseOrderSubtype R_PurchaseOrder PurchaseOrderSubtype
PurchasingDocumentOrigin R_PurchaseOrder PurchasingDocumentOrigin
CreatedByUser R_PurchaseOrder CreatedByUser
CreatedByUserFullName _User UserDescription
CreationDate R_PurchaseOrder CreationDate
PurchaseOrderDate R_PurchaseOrder PurchaseOrderDate
ValidityStartDate R_PurchaseOrder ValidityStartDate
ValidityEndDate R_PurchaseOrder ValidityEndDate
Language R_PurchaseOrder Language
PurchasingDocumentDeletionCode R_PurchaseOrder PurchaseOrderDeletionCode
ReleaseIsNotCompleted R_PurchaseOrder ReleaseIsNotCompleted
PurchasingProcessingStatus R_PurchaseOrder PurchasingProcessingStatus
PurchasingCompletenessStatus R_PurchaseOrder PurchasingCompletenessStatus
PurchasingReleaseStrategy R_PurchaseOrder PurchasingReleaseStrategy
CompanyCode R_PurchaseOrder CompanyCode
PurchasingOrganization R_PurchaseOrder PurchasingOrganization
PurchasingGroup R_PurchaseOrder PurchasingGroup
Supplier R_PurchaseOrder Supplier
SupplierRespSalesPersonName R_PurchaseOrder SupplierRespSalesPersonName
SupplierPhoneNumber R_PurchaseOrder SupplierPhoneNumber
SupplyingSupplier R_PurchaseOrder SupplyingSupplier
SupplyingPlant R_PurchaseOrder SupplyingPlant
CorrespncExternalReference R_PurchaseOrder CorrespncExternalReference
CorrespncInternalReference R_PurchaseOrder CorrespncInternalReference
InvoicingParty R_PurchaseOrder InvoicingParty
PaymentTerms R_PurchaseOrder PaymentTerms
CashDiscount1Days R_PurchaseOrder CashDiscount1Days
CashDiscount2Days R_PurchaseOrder CashDiscount2Days
NetPaymentDays R_PurchaseOrder NetPaymentDays
CashDiscount1Percent R_PurchaseOrder CashDiscount1Percent
CashDiscount2Percent R_PurchaseOrder CashDiscount2Percent
IncotermsClassification R_PurchaseOrder IncotermsClassification
IncotermsTransferLocation R_PurchaseOrder IncotermsTransferLocation
IncotermsVersion R_PurchaseOrder IncotermsVersion
IncotermsLocation1 R_PurchaseOrder IncotermsLocation1
IncotermsLocation2 R_PurchaseOrder IncotermsLocation2
IncotermsLocation1Identifier
IncotermsLocation2Identifier
IncotermsDvtgLocIdentifier
IncotermsDvtgLocDescription
IncotermsSupChnLoc1AddlUUID R_PurchaseOrder IncotermsSupChnLoc1AddlUUID
IncotermsSupChnLoc2AddlUUID R_PurchaseOrder IncotermsSupChnLoc2AddlUUID
IncotermsSupChnDvtgLocAddlUUID R_PurchaseOrder IncotermsSupChnDvtgLocAddlUUID
IsIntrastatReportingRelevant R_PurchaseOrder IsIntrastatReportingRelevant
IsIntrastatReportingExcluded R_PurchaseOrder IsIntrastatReportingExcluded
PurchasingDocumentCondition R_PurchaseOrder PricingDocument
PricingProcedure R_PurchaseOrder PricingProcedure
DocumentCurrency R_PurchaseOrder DocumentCurrency
ExchangeRate R_PurchaseOrder ExchangeRate
ExchangeRateForEdit
ExchangeRateIsFixed R_PurchaseOrder ExchangeRateIsFixed
LastChangeDateTime R_PurchaseOrder LastChangeDateTime
PurchaseOrderNetAmount
ManualSupplierAddressID R_PurchaseOrder ManualSupplierAddressID
PurchaseContract R_PurchaseOrder PurchaseContract
RequestForQuotation R_PurchaseOrder RequestForQuotation
SupplierQuotationExternalID R_PurchaseOrder SupplierQuotationExternalID
_PurchaseOrderType R_PurchaseOrder _PurchaseOrderType
_Language R_PurchaseOrder _Language
_CompanyCode R_PurchaseOrder _CompanyCode
_PurchasingOrganization R_PurchaseOrder _PurchasingOrganization
_PurchasingGroup R_PurchaseOrder _PurchasingGroup
_Supplier R_PurchaseOrder _Supplier
_InvoicingParty R_PurchaseOrder _InvoicingParty
_PaymentTerms R_PurchaseOrder _PaymentTerms
_IncotermsClassification R_PurchaseOrder _IncotermsClassification
_IncotermsVersion R_PurchaseOrder _IncotermsVersion
_DocumentCurrency R_PurchaseOrder _DocumentCurrency
IsEndOfPurposeBlocked IsEndOfPurposeBlocked
PODraftIsReverted
PurchaseOrderHasCommitmentItem
POReworkCommentText
ApprovalStatus
ApprovalStatusName
PurchasingHasItemHierarchy _PurOrdHasItemHierarchy PurchasingHasItemHierarchy
PurgAggrgdProdCmplncSuplrSts R_PurchaseOrder PurgAggrgdProdCmplncSuplrSts
PurgAggrgdProdMarketabilitySts R_PurchaseOrder PurgAggrgdProdMarketabilitySts
PurgAggrgdSftyDataSheetStatus R_PurchaseOrder PurgAggrgdSftyDataSheetStatus
PurgProdCmplncTotDngrsGoodsSts R_PurchaseOrder PurgProdCmplncTotDngrsGoodsSts
_PurchaseOrderTypeText _PurchaseOrderTypeText
_User _User
_PurchaseOrderCalcFields _PurchaseOrderCalcFields
_PurchasingProcessingStatus _PurchasingProcessingStatus
_PurchaseOrderItemTP _PurchaseOrderItemTP
_PurOrdSupplierAddressTP _PurOrdSupplierAddressTP
_PurchaseOrderNote _PurchaseOrderNote
_PurchaseOrderPartnerTP _PurchaseOrderPartnerTP
@VDM.viewType: #TRANSACTIONAL
@AbapCatalog.sqlViewName: 'IPURORDTP'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Transactional View for Purchase Order'
@VDM.lifecycle.contract.type: #SAP_INTERNAL_API

@ObjectModel: {
    compositionRoot: true,
    transactionalProcessingEnabled: true,
    draftEnabled: true,
    writeDraftPersistence: 'PURORDTP_D',
    createEnabled: true,
    updateEnabled: true,
    deleteEnabled: true,
    semanticKey: 'PurchaseOrder',
    representativeKey: 'PurchaseOrder',
    sapObjectNodeType.name: 'PurchaseOrder'
}

@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #L
@ObjectModel.usageType.dataClass: #TRANSACTIONAL
@ObjectModel.entityChangeStateId: 'LastChangeDateTime'
@AccessControl.personalData.blocking: #NOT_REQUIRED
    
define view I_PurchaseOrderTP
 
  as select from R_PurchaseOrder as Document
  association [1..1] to I_PurchaseOrderNetAmount     as _PurchaseOrderNetAmount  on  _PurchaseOrderNetAmount.PurchaseOrder = $projection.PurchaseOrder
  association [1..*] to I_PurchaseOrderItemTP        as _PurchaseOrderItemTP     on  _PurchaseOrderItemTP.PurchaseOrder = $projection.PurchaseOrder
  association [1..*] to I_PurchaseOrderPartnerTP     as _PurchaseOrderPartnerTP  on  _PurchaseOrderPartnerTP.PurchaseOrder = $projection.PurchaseOrder
  
  association [1..1] to I_PurOrdSupplierAddressTP    as _PurOrdSupplierAddressTP on  _PurOrdSupplierAddressTP.PurchaseOrder = $projection.PurchaseOrder
  association [1..1] to I_PurchaseOrderCalcFields    as _PurchaseOrderCalcFields on  _PurchaseOrderCalcFields.PurchaseOrder = $projection.PurchaseOrder
  association [0..1] to I_PurchasingDocumentTypeText as _PurchaseOrderTypeText   on  _PurchaseOrderTypeText.PurchasingDocumentType     = $projection.PurchaseOrderType
                                                                                 and _PurchaseOrderTypeText.PurchasingDocumentCategory = 'F'
                                                                                 and _PurchaseOrderTypeText.Language                   = $session.system_language
  association [0..1] to I_User                       as _User                    on  _User.UserID = $projection.CreatedByUser
  --Extension Association
  association [1..1] to E_PurchasingDocument         as _PurchaseOrderExtension  on  $projection.PurchaseOrder = _PurchaseOrderExtension.PurchasingDocument
  association [0..*] to I_PurchaseOrderNoteTP        as _PurchaseOrderNote       on  _PurchaseOrderNote.PurchaseOrder = $projection.PurchaseOrder
  association [0..1] to R_PurOrdHasItemHierarchy     as _PurOrdHasItemHierarchy  on  $projection.PurchaseOrder = _PurOrdHasItemHierarchy.PurchaseOrder

{

  key Document.PurchaseOrder,
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      Document.PurchaseOrderType,
      _PurchaseOrderTypeText.PurchasingDocumentTypeName                                   as PurchaseOrderTypeName,
      Document.PurchaseOrderSubtype,
      Document.PurchasingDocumentOrigin,
      Document.CreatedByUser,
      @Semantics.text: true
      _User.UserDescription                                                               as CreatedByUserFullName,
      Document.CreationDate,
      Document.PurchaseOrderDate,
      Document.ValidityStartDate,
      Document.ValidityEndDate,
      //@Semantics.language: true

      Document.Language,
      Document.PurchaseOrderDeletionCode                                                  as PurchasingDocumentDeletionCode,
      Document.ReleaseIsNotCompleted,
      Document.PurchasingProcessingStatus,
      //    Document.PurchasingProcessingStatusName,

      Document.PurchasingCompletenessStatus,
      Document.PurchasingReleaseStrategy,
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      Document.CompanyCode,
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      Document.PurchasingOrganization,
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      Document.PurchasingGroup,
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
      Document.Supplier,
      Document.SupplierRespSalesPersonName,
      Document.SupplierPhoneNumber,
      Document.SupplyingSupplier,
      Document.SupplyingPlant,
      //References

      Document.CorrespncExternalReference, //Your reference

      Document.CorrespncInternalReference, //Our reference


      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
      Document.InvoicingParty,
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
      Document.PaymentTerms,
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
      Document.CashDiscount1Days,
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
      Document.CashDiscount2Days,
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
      Document.NetPaymentDays,
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
      Document.CashDiscount1Percent,
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
      Document.CashDiscount2Percent,
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
      Document.IncotermsClassification,
      Document.IncotermsTransferLocation,
      Document.IncotermsVersion,
      Document.IncotermsLocation1,
      Document.IncotermsLocation2,

      // TM Location Handling

      cast( '' as tminco_loc_1_id )                                                      as IncotermsLocation1Identifier,
      cast( '' as tminco_loc_2_id )                                                      as IncotermsLocation2Identifier,
      cast( '' as tminco_loc_d_id )                                                      as IncotermsDvtgLocIdentifier,
      cast( '' as tminco_loc_d_descr )                                                   as IncotermsDvtgLocDescription,      
      Document.IncotermsSupChnLoc1AddlUUID,      
      Document.IncotermsSupChnLoc2AddlUUID,
      Document.IncotermsSupChnDvtgLocAddlUUID,
                        
      @ObjectModel: { readOnly: 'true' }
      Document.IsIntrastatReportingRelevant,
      @ObjectModel: { readOnly: 'true' }
      Document.IsIntrastatReportingExcluded,
      Document.PricingDocument                                                            as PurchasingDocumentCondition,
      Document.PricingProcedure,
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
      Document.DocumentCurrency,
      @ObjectModel: { readOnly: 'true' }
      Document.ExchangeRate,
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
      cast(Document.ExchangeRate as abap.char( 12 ))                                      as ExchangeRateForEdit,
      Document.ExchangeRateIsFixed,
      Document.LastChangeDateTime,

      @Semantics.amount.currencyCode: 'DocumentCurrency'
      cast(_PurchaseOrderNetAmount.PurchaseOrderNetAmount as mm_pur_order_tot_net_amount) as PurchaseOrderNetAmount,
      Document.ManualSupplierAddressID,
      case ManualSupplierAddressID
        when '' then _Supplier.AddressID
        else ManualSupplierAddressID
      end                                                                                 as SupplierAddressID,
      Document.PurchaseContract,
      Document.RequestForQuotation,
      Document.SupplierQuotationExternalID,
      Document._PurchaseOrderType,
      Document._Language,
      Document._CompanyCode,
      Document._PurchasingOrganization,
      Document._PurchasingGroup,
      Document._Supplier,
      Document._InvoicingParty,
      Document._PaymentTerms,
      Document._IncotermsClassification,
      Document._IncotermsVersion,
      Document._DocumentCurrency,
      // Data Privacy and Protection

      @UI.hidden: true
      IsEndOfPurposeBlocked,

      cast ( '' as podraftisreverted )                                                    as PODraftIsReverted,

      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      cast ( '' as purchaseorderhascommitmentitem )                                       as PurchaseOrderHasCommitmentItem,

      cast ( '' as mm_rework_comment )                                                    as POReworkCommentText, 

      cast ( '' as purchaseorderapprovalstatus )                                          as ApprovalStatus,

      cast ( '' as mm_approval_status )                                                   as ApprovalStatusName,

      //field from complex hierarchies

      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      _PurOrdHasItemHierarchy.PurchasingHasItemHierarchy,
      // fields from product compliance

      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
      Document.PurgAggrgdProdCmplncSuplrSts,
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
      Document.PurgAggrgdProdMarketabilitySts,
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
      Document.PurgAggrgdSftyDataSheetStatus,
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
      Document.PurgProdCmplncTotDngrsGoodsSts,


      _PurchaseOrderTypeText,
      _User,

      _PurchaseOrderCalcFields,

      _PurchasingProcessingStatus,

      @ObjectModel.association.type: [ #TO_COMPOSITION_CHILD ]
      _PurchaseOrderItemTP,

      @ObjectModel.association.type: [ #TO_COMPOSITION_CHILD ]
      _PurOrdSupplierAddressTP,

      @ObjectModel.association.type: [ #TO_COMPOSITION_CHILD ]
      _PurchaseOrderNote,
      
       @ObjectModel.association.type: [ #TO_COMPOSITION_CHILD ]
      _PurchaseOrderPartnerTP

            
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_PURCHASEORDERNETAMOUNT",
"I_PURCHASINGDOCUMENTTYPETEXT",
"I_SUPPLIER",
"I_USER",
"R_PURCHASEORDER",
"R_PURORDHASITEMHIERARCHY"
],
"ASSOCIATED":
[
"E_PURCHASINGDOCUMENT",
"I_COMPANYCODE",
"I_CURRENCY",
"I_INCOTERMSCLASSIFICATION",
"I_INCOTERMSVERSION",
"I_LANGUAGE",
"I_PAYMENTTERMS",
"I_PURCHASEORDERCALCFIELDS",
"I_PURCHASEORDERITEMTP",
"I_PURCHASEORDERNETAMOUNT",
"I_PURCHASEORDERNOTETP",
"I_PURCHASEORDERPARTNERTP",
"I_PURCHASEORDERTYPE",
"I_PURCHASINGDOCUMENTTYPETEXT",
"I_PURCHASINGGROUP",
"I_PURCHASINGORGANIZATION",
"I_PURCHASINGPROCESSINGSTATUS",
"I_PURORDSUPPLIERADDRESSTP",
"I_SUPPLIER",
"I_USER",
"R_PURORDHASITEMHIERARCHY"
],
"BASE":
[
"R_PURCHASEORDER"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/