I_PurchaseOrderTP
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)
| Source | Alias | Join Type |
|---|---|---|
| R_PurchaseOrder | Document | from |
Associations (10)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [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)
| Name | Value | Level | Field |
|---|---|---|---|
| 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)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| 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":""
}
}*/
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