R_PPS_PurContrVersionHistory
Purchase Contract Version History
R_PPS_PurContrVersionHistory is a Composite CDS View that provides data about "Purchase Contract Version History" in SAP S/4HANA. It reads from 2 data sources (R_PurchaseContract, I_PPS_PurgDocVersionHistory) and exposes 81 fields with key field PurchaseContract. It has 18 associations to related views.
Data Sources (2)
| Source | Alias | Join Type |
|---|---|---|
| R_PurchaseContract | Document | inner |
| I_PPS_PurgDocVersionHistory | VersionHistory | from |
Associations (18)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1..1] | I_User | _UserDetails | $projection.CreatedByUser = _UserDetails.UserID |
| [1..1] | I_PurContrVersionType | _VersionType | $projection.PurgDocChangeRequestStatus = _VersionType.PurgDocChangeRequestStatus |
| [0..1] | I_PaymentTermsText | _PaymentTermsText | $projection.PaymentTerms = _PaymentTermsText.PaymentTerms and _PaymentTermsText.Language = $session.system_language |
| [0..1] | I_PurchasingGroup | _PurchasingGroup | _PurchasingGroup.PurchasingGroup = $projection.PurchasingGroup |
| [1..1] | I_CurrencyText | _DocumentCurrencyText | _DocumentCurrencyText.Language = $session.system_language and _DocumentCurrencyText.Currency = $projection.DocumentCurrency |
| [0..1] | I_IncotermsClassificationText | _IncotermsClassificationText | _IncotermsClassificationText.IncotermsClassification = $projection.IncotermsClassification and _IncotermsClassificationText.IncotermsClassificationName = $session.system_language |
| [0..1] | I_PurchasingOrganization | _PurchasingOrganization | _PurchasingOrganization.PurchasingOrganization = $projection.PurchasingOrganization |
| [0..1] | I_IncotermsClassification | _IncotermsClassification | _IncotermsClassification.IncotermsClassification = $projection.IncotermsClassification |
| [0..1] | I_Supplier | _InvoicingParty | $projection.InvoicingParty = _InvoicingParty.Supplier |
| [1..*] | R_PPS_PurchaseContractItemTP | _PurchaseContractItem | $projection.PurchaseContract = Document.ActivePurchasingDocument |
| [1..*] | R_PPS_PurContractContactTP | _PurchaseContractContact | $projection.PurchaseContract = Document.ActivePurchasingDocument |
| [1..*] | R_PPS_PurContrHdrCndnValdtyTP | _PurchaseContractHeaderPricing | $projection.PurchaseContract = Document.ActivePurchasingDocument |
| [0..*] | R_PPS_PurContractPartnerTP | _PurContrPartner | $projection.PurchaseContract = Document.ActivePurchasingDocument |
| [1..1] | R_PPS_PurContractHdrExtension | _PurchaseContractHdrExtension | $projection.PurchaseContract = _PurchaseContractHdrExtension.PurchaseContract |
| [0..1] | I_PPS_PurgDocModifTypeText | _ModificationTypeText | $projection.PPSModificationType = _ModificationTypeText.PPSModificationType and _ModificationTypeText.Language = $session.system_language |
| [0..1] | I_CompanyCode | _CompanyCode | $projection.CompanyCode = _CompanyCode.CompanyCode |
| [1..1] | I_PPS_PurgDocHdrStatusText | _PurContrStatusText | $projection.ppspurcontrheaderstatus = _PurContrStatusText.PurchasingDocumentStatus and _PurContrStatusText.Language = $session.system_language |
| [1..1] | I_PurContrCnsmpnInPercentage | _PurContrCnsmpnInPercentage | Document.ActivePurchasingDocument = _PurContrCnsmpnInPercentage.PurchaseContract |
Annotations (12)
| Name | Value | Level | Field |
|---|---|---|---|
| AccessControl.authorizationCheck | #MANDATORY | view | |
| AccessControl.personalData.blocking | #BLOCKED_DATA_EXCLUDED | view | |
| EndUserText.label | Purchase Contract Version History | view | |
| VDM.lifecycle.contract.type | #SAP_INTERNAL_API | view | |
| VDM.viewType | #COMPOSITE | view | |
| Metadata.ignorePropagatedAnnotations | true | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.sizeCategory | #L | view | |
| ObjectModel.usageType.dataClass | #MIXED | view | |
| ObjectModel.createEnabled | false | view | |
| ObjectModel.deleteEnabled | false | view | |
| ObjectModel.updateEnabled | false | view |
Fields (81)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | PurchaseContract | R_PurchaseContract | PurchaseContract | |
| PurchaseContractType | R_PurchaseContract | PurchaseContractType | ||
| PurchasingDocumentCategory | R_PurchaseContract | PurchasingDocumentCategory | ||
| Supplier | R_PurchaseContract | Supplier | ||
| CompanyCode | R_PurchaseContract | CompanyCode | ||
| PurchasingOrganization | R_PurchaseContract | PurchasingOrganization | ||
| PurchasingGroup | R_PurchaseContract | PurchasingGroup | ||
| DocumentCurrency | R_PurchaseContract | DocumentCurrency | ||
| IncotermsClassification | R_PurchaseContract | IncotermsClassification | ||
| IncotermsTransferLocation | R_PurchaseContract | IncotermsTransferLocation | ||
| PaymentTerms | R_PurchaseContract | PaymentTerms | ||
| CashDiscount1Days | R_PurchaseContract | CashDiscount1Days | ||
| CashDiscount2Days | R_PurchaseContract | CashDiscount2Days | ||
| NetPaymentDays | R_PurchaseContract | NetPaymentDays | ||
| CashDiscount1Percent | R_PurchaseContract | CashDiscount1Percent | ||
| CashDiscount2Percent | R_PurchaseContract | CashDiscount2Percent | ||
| PurchaseContractTargetAmount | R_PurchaseContract | PurchaseContractTargetAmount | ||
| ValidityStartDate | R_PurchaseContract | ValidityStartDate | ||
| ValidityEndDate | R_PurchaseContract | ValidityEndDate | ||
| ReleaseCode | R_PurchaseContract | ReleaseCode | ||
| PurchasingDocumentDeletionCode | R_PurchaseContract | PurchasingDocumentDeletionCode | ||
| PurContractConsumptionInPct | ||||
| ContractConsumptionInPct | ||||
| PurContrConsumptionUnit | ||||
| PurContrHasAdvncdUsrInterface | ||||
| SupplyingSupplier | R_PurchaseContract | SupplyingSupplier | ||
| InvoicingParty | R_PurchaseContract | InvoicingParty | ||
| ExchangeRate | ||||
| ExchangeRateIsFixed | R_PurchaseContract | ExchangeRateIsFixed | ||
| QuotationSubmissionDate | R_PurchaseContract | QuotationSubmissionDate | ||
| SupplierQuotation | R_PurchaseContract | SupplierQuotation | ||
| ReleaseIsNotCompleted | R_PurchaseContract | ReleaseIsNotCompleted | ||
| CorrespncExternalReference | R_PurchaseContract | CorrespncExternalReference | ||
| CorrespncInternalReference | R_PurchaseContract | CorrespncInternalReference | ||
| SupplierRespSalesPersonName | R_PurchaseContract | SupplierRespSalesPersonName | ||
| SupplierPhoneNumber | R_PurchaseContract | SupplierPhoneNumber | ||
| IncotermsVersion | R_PurchaseContract | IncotermsVersion | ||
| IncotermsLocation1 | R_PurchaseContract | IncotermsLocation1 | ||
| IncotermsLocation2 | R_PurchaseContract | IncotermsLocation2 | ||
| PurchasingDocumentName | R_PurchaseContract | PurchasingDocumentName | ||
| LastChangeDateTime | R_PurchaseContract | LastChangeDateTime | ||
| PurchasingProcessingStatus | R_PurchaseContract | PurchasingProcessingStatus | ||
| IsEndOfPurposeBlocked | R_PurchaseContract | IsEndOfPurposeBlocked | ||
| ActivePurchasingDocument | R_PurchaseContract | ActivePurchasingDocument | ||
| PurgDocChangeRequestStatus | R_PurchaseContract | PurgDocChangeRequestStatus | ||
| PurchasingDocumentVersion | R_PurchaseContract | PurchasingDocumentVersion | ||
| PurgDocIsChgVers | R_PurchaseContract | PurgDocIsChgVers | ||
| PurgAggrgdProdCmplncSuplrSts | R_PurchaseContract | PurgAggrgdProdCmplncSuplrSts | ||
| CreatedByUser | I_PPS_PurgDocVersionHistory | CreatedByUser | ||
| CreationDate | I_PPS_PurgDocVersionHistory | CreationDate | ||
| CreationTime | I_PPS_PurgDocVersionHistory | CreationTime | ||
| PurchasingDocVersionReasonCode | I_PPS_PurgDocVersionHistory | PurchasingDocVersionReasonCode | ||
| PurchasingDocVersionStatus | I_PPS_PurgDocVersionHistory | PurchasingDocVersionStatus | ||
| IncotermsSupChnLoc1AddlUUID | R_PurchaseContract | IncotermsSupChnLoc1AddlUUID | ||
| IncotermsSupChnLoc2AddlUUID | R_PurchaseContract | IncotermsSupChnLoc2AddlUUID | ||
| IncotermsSupChnDvtgLocAddlUUID | R_PurchaseContract | IncotermsSupChnDvtgLocAddlUUID | ||
| PurchasingDocumentOrigin | R_PurchaseContract | PurchasingDocumentOrigin | ||
| CreatedByUserName | ||||
| PurgHasCatalogRelevantItems | R_PurchaseContract | PurgHasCatalogRelevantItems | ||
| PPSSmartNumberHeader | _PurchaseContractHdrExtension | PPSSmartNumberHeader | ||
| PPSModificationType | _PurchaseContractHdrExtension | PPSModificationType | ||
| PPSPurContrHeaderStatus | _PurchaseContractHdrExtension | PPSPurContrHeaderStatus | ||
| PPSSmartDocumentNumber | _PurchaseContractHdrExtension | PPSSmartDocumentNumber | ||
| _PaymentTermsText | _PaymentTermsText | |||
| _UserDetails | _UserDetails | |||
| _VersionType | _VersionType | |||
| _PurchasingGroup | _PurchasingGroup | |||
| _DocumentCurrency | R_PurchaseContract | _DocumentCurrency | ||
| _DocumentCurrencyText | _DocumentCurrencyText | |||
| _IncotermsClassificationText | _IncotermsClassificationText | |||
| _IncotermsClassification | _IncotermsClassification | |||
| _PurchasingOrganization | _PurchasingOrganization | |||
| _InvoicingParty | _InvoicingParty | |||
| _PurchaseContractHdrExtension | _PurchaseContractHdrExtension | |||
| _PurchaseContractItem | _PurchaseContractItem | |||
| _PurchaseContractHeaderPricing | _PurchaseContractHeaderPricing | |||
| _PurContrPartner | _PurContrPartner | |||
| _PurchaseContractContact | _PurchaseContractContact | |||
| _ModificationTypeText | _ModificationTypeText | |||
| _CompanyCode | _CompanyCode | |||
| _PurContrStatusText | _PurContrStatusText |
@AbapCatalog.viewEnhancementCategory: [#NONE]
@AccessControl:{ authorizationCheck:#MANDATORY, personalData.blocking: #BLOCKED_DATA_EXCLUDED }
@EndUserText.label: 'Purchase Contract Version History'
@VDM.lifecycle.contract.type:#SAP_INTERNAL_API
@VDM.viewType : #COMPOSITE
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.usageType:{
serviceQuality: #C,
sizeCategory: #L,
dataClass: #MIXED
}
@ObjectModel.createEnabled: false
@ObjectModel.deleteEnabled: false
@ObjectModel.updateEnabled: false
define view entity R_PPS_PurContrVersionHistory
as select from I_PPS_PurgDocVersionHistory as VersionHistory
inner join R_PurchaseContract as Document on VersionHistory.ActivePurchasingDocument = Document.ActivePurchasingDocument
and VersionHistory.PurchasingDocumentVersion = Document.PurchasingDocumentVersion
and (
Document.PurgDocChangeRequestStatus = '1'
or Document.PurgDocChangeRequestStatus = '2'
or Document.PurgDocChangeRequestStatus = '4'
or Document.PurgDocChangeRequestStatus = ''
)
association [1..1] to I_User as _UserDetails on $projection.CreatedByUser = _UserDetails.UserID
association [1..1] to I_PurContrVersionType as _VersionType on $projection.PurgDocChangeRequestStatus = _VersionType.PurgDocChangeRequestStatus
association [0..1] to I_PaymentTermsText as _PaymentTermsText on $projection.PaymentTerms = _PaymentTermsText.PaymentTerms
and _PaymentTermsText.Language = $session.system_language
association [0..1] to I_PurchasingGroup as _PurchasingGroup on _PurchasingGroup.PurchasingGroup = $projection.PurchasingGroup
association [1..1] to I_CurrencyText as _DocumentCurrencyText on _DocumentCurrencyText.Language = $session.system_language
and _DocumentCurrencyText.Currency = $projection.DocumentCurrency
association [0..1] to I_IncotermsClassificationText as _IncotermsClassificationText on _IncotermsClassificationText.IncotermsClassification = $projection.IncotermsClassification
and _IncotermsClassificationText.IncotermsClassificationName = $session.system_language
association [0..1] to I_PurchasingOrganization as _PurchasingOrganization on _PurchasingOrganization.PurchasingOrganization = $projection.PurchasingOrganization
association [0..1] to I_IncotermsClassification as _IncotermsClassification on _IncotermsClassification.IncotermsClassification = $projection.IncotermsClassification
association [0..1] to I_Supplier as _InvoicingParty on $projection.InvoicingParty = _InvoicingParty.Supplier
association [1..*] to R_PPS_PurchaseContractItemTP as _PurchaseContractItem on $projection.PurchaseContract = Document.ActivePurchasingDocument
association [1..*] to R_PPS_PurContractContactTP as _PurchaseContractContact on $projection.PurchaseContract = Document.ActivePurchasingDocument
association [1..*] to R_PPS_PurContrHdrCndnValdtyTP as _PurchaseContractHeaderPricing on $projection.PurchaseContract = Document.ActivePurchasingDocument
association [0..*] to R_PPS_PurContractPartnerTP as _PurContrPartner on $projection.PurchaseContract = Document.ActivePurchasingDocument
association [1..1] to R_PPS_PurContractHdrExtension as _PurchaseContractHdrExtension on $projection.PurchaseContract = _PurchaseContractHdrExtension.PurchaseContract
association [0..1] to I_PPS_PurgDocModifTypeText as _ModificationTypeText on $projection.PPSModificationType = _ModificationTypeText.PPSModificationType
and _ModificationTypeText.Language = $session.system_language
association [0..1] to I_CompanyCode as _CompanyCode on $projection.CompanyCode = _CompanyCode.CompanyCode
association [1..1] to I_PPS_PurgDocHdrStatusText as _PurContrStatusText on $projection.ppspurcontrheaderstatus = _PurContrStatusText.PurchasingDocumentStatus
and _PurContrStatusText.Language = $session.system_language
association [1..1] to I_PurContrCnsmpnInPercentage as _PurContrCnsmpnInPercentage on Document.ActivePurchasingDocument = _PurContrCnsmpnInPercentage.PurchaseContract
{
key Document.PurchaseContract,
Document.PurchaseContractType,
Document.PurchasingDocumentCategory,
Document.Supplier,
Document.CompanyCode,
Document.PurchasingOrganization,
Document.PurchasingGroup,
Document.DocumentCurrency,
Document.IncotermsClassification,
Document.IncotermsTransferLocation,
Document.PaymentTerms,
Document.CashDiscount1Days,
Document.CashDiscount2Days,
Document.NetPaymentDays,
Document.CashDiscount1Percent,
Document.CashDiscount2Percent,
@Semantics.amount.currencyCode:'DocumentCurrency'
Document.PurchaseContractTargetAmount,
Document.ValidityStartDate,
Document.ValidityEndDate,
Document.ReleaseCode,
Document.PurchasingDocumentDeletionCode,
cast( _PurContrCnsmpnInPercentage.ContractConsumptionInPct as abap.dec(18,3) ) as PurContractConsumptionInPct,
cast( _PurContrCnsmpnInPercentage.ContractConsumptionInPct as abap.dec(18,3)) as ContractConsumptionInPct,
cast( '%' as abap.unit( 3 ) ) as PurContrConsumptionUnit,
cast ('' as boolean) as PurContrHasAdvncdUsrInterface,
case Document.ManualSupplierAddressID
when '' then Document._Supplier.AddressID
else Document.ManualSupplierAddressID
end as SupplierAddressID,
Document.SupplyingSupplier,
Document.InvoicingParty,
cast( Document.ExchangeRate as fis_exchange_rate preserving type ) as ExchangeRate,
//Document.ExchangeRate ,
Document.ExchangeRateIsFixed,
Document.QuotationSubmissionDate,
Document.SupplierQuotation,
Document.ReleaseIsNotCompleted,
Document.CorrespncExternalReference,
Document.CorrespncInternalReference,
Document.SupplierRespSalesPersonName,
Document.SupplierPhoneNumber,
Document.IncotermsVersion,
Document.IncotermsLocation1,
Document.IncotermsLocation2,
Document.PurchasingDocumentName,
Document.LastChangeDateTime,
Document.PurchasingProcessingStatus,
@Semantics.booleanIndicator: true
Document.IsEndOfPurposeBlocked,
Document.ActivePurchasingDocument,
Document.PurgDocChangeRequestStatus,
Document.PurchasingDocumentVersion,
Document.PurgDocIsChgVers,
Document.PurgAggrgdProdCmplncSuplrSts,
//Document.PurgDocClassfctnCode,
VersionHistory.CreatedByUser as CreatedByUser,
VersionHistory.CreationDate as CreationDate,
VersionHistory.CreationTime as CreationTime,
VersionHistory.PurchasingDocVersionReasonCode as PurchasingDocVersionReasonCode,
VersionHistory.PurchasingDocVersionStatus as PurchasingDocVersionStatus,
Document.IncotermsSupChnLoc1AddlUUID,
Document.IncotermsSupChnLoc2AddlUUID,
Document.IncotermsSupChnDvtgLocAddlUUID,
Document.PurchasingDocumentOrigin,
Document._CreatedByUser.UserDescription as CreatedByUserName,
Document.PurgHasCatalogRelevantItems,
_PurchaseContractHdrExtension.PPSSmartNumberHeader as PPSSmartNumberHeader ,
_PurchaseContractHdrExtension.PPSModificationType as PPSModificationType,
_PurchaseContractHdrExtension.PPSPurContrHeaderStatus, //@JIRA_KEY: <S4PPS-14333>
_PurchaseContractHdrExtension.PPSSmartDocumentNumber,
case _PurchaseContractHdrExtension.PPSPurContrHeaderStatus //@JIRA_KEY: <S4PPS-14333>
when '02' then 3 // Active - Green
when '03' then 1 // Deleted - Red
when '04' then 1 // Rejected - Red
when '05' then 2 // Awaiting Approval - Yellow
else null
end as ProcessingStatusCriticality,
//_PurchasingDocumentTypeText,
_PaymentTermsText,
//_PurContrStatusText,
_UserDetails,
_VersionType,
_PurchasingGroup,
Document._DocumentCurrency,
_DocumentCurrencyText,
_IncotermsClassificationText,
_IncotermsClassification,
_PurchasingOrganization,
_InvoicingParty,
_PurchaseContractHdrExtension,
_PurchaseContractItem,
_PurchaseContractHeaderPricing,
_PurContrPartner,
_PurchaseContractContact,
_ModificationTypeText,
_CompanyCode,
_PurContrStatusText
}
where
(
Document.PurgDocChangeRequestStatus = '1'
or Document.PurgDocChangeRequestStatus = '2'
or Document.PurgDocChangeRequestStatus = '4'
or Document.PurgDocChangeRequestStatus = ''
)
and VersionHistory.PurchasingDocumentCategory = 'K';
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_PPS_PURGDOCVERSIONHISTORY",
"I_PURCONTRCNSMPNINPERCENTAGE",
"I_SUPPLIER",
"I_USER",
"R_PPS_PURCONTRACTHDREXTENSION",
"R_PURCHASECONTRACT"
],
"ASSOCIATED":
[
"I_COMPANYCODE",
"I_CURRENCY",
"I_CURRENCYTEXT",
"I_INCOTERMSCLASSIFICATION",
"I_INCOTERMSCLASSIFICATIONTEXT",
"I_PAYMENTTERMSTEXT",
"I_PPS_PURGDOCHDRSTATUSTEXT",
"I_PPS_PURGDOCMODIFTYPETEXT",
"I_PURCHASINGGROUP",
"I_PURCHASINGORGANIZATION",
"I_PURCONTRVERSIONTYPE",
"I_SUPPLIER",
"I_USER",
"R_PPS_PURCHASECONTRACTITEMTP",
"R_PPS_PURCONTRACTCONTACTTP",
"R_PPS_PURCONTRACTHDREXTENSION",
"R_PPS_PURCONTRACTPARTNERTP",
"R_PPS_PURCONTRHDRCNDNVALDTYTP"
],
"BASE":
[
"R_PURCHASECONTRACT"
],
"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