R_PPS_PurContrVersionHistory

DDL: R_PPS_PURCONTRVERSIONHISTORY Type: view_entity COMPOSITE

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)

SourceAliasJoin Type
R_PurchaseContract Document inner
I_PPS_PurgDocVersionHistory VersionHistory from

Associations (18)

CardinalityTargetAliasCondition
[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)

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

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