I_CntrlPurContrVersionHistory
Basic View for CCTR Version History
I_CntrlPurContrVersionHistory is a Basic CDS View that provides data about "Basic View for CCTR Version History" in SAP S/4HANA. It reads from 2 data sources (R_CentralPurchaseContract, erev) and exposes 65 fields with key field CentralPurchaseContract. It has 3 associations to related views.
Data Sources (2)
| Source | Alias | Join Type |
|---|---|---|
| R_CentralPurchaseContract | Document | inner |
| erev | VersionHistory | from |
Associations (3)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1..1] | I_User | _UserDetails | $projection.CreatedByUser = _UserDetails.UserID |
| [1..1] | I_CntrlPurContrVersionType | _VersionType | $projection.PurgDocChangeRequestStatus = _VersionType.PurgDocChangeRequestStatus |
| [0..1] | I_PaymentTermsText | _PaymentTermsText | $projection.PaymentTerms = _PaymentTermsText.PaymentTerms and _PaymentTermsText.Language = $session.system_language |
Annotations (12)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | IVERSIONHISTORY | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AbapCatalog.preserveKey | true | view | |
| AccessControl.authorizationCheck | #NOT_REQUIRED | view | |
| EndUserText.label | Basic View for CCTR Version History | view | |
| VDM.lifecycle.contract.type | #SAP_INTERNAL_API | view | |
| ObjectModel.usageType.serviceQuality | #B | view | |
| ObjectModel.usageType.sizeCategory | #L | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view | |
| VDM.viewType | #BASIC | view | |
| AccessControl.personalData.blocking | #REQUIRED | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view |
Fields (65)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | CentralPurchaseContract | R_CentralPurchaseContract | CentralPurchaseContract | |
| PurchaseContractType | R_CentralPurchaseContract | PurchaseContractType | ||
| PurchasingDocumentCategory | R_CentralPurchaseContract | PurchasingDocumentCategory | ||
| Supplier | R_CentralPurchaseContract | Supplier | ||
| PurchasingDocumentSubtype | R_CentralPurchaseContract | PurchasingDocumentSubtype | ||
| CompanyCode | R_CentralPurchaseContract | CompanyCode | ||
| PurchasingOrganization | R_CentralPurchaseContract | PurchasingOrganization | ||
| PurchasingGroup | R_CentralPurchaseContract | PurchasingGroup | ||
| DocumentCurrency | R_CentralPurchaseContract | DocumentCurrency | ||
| Currency | R_CentralPurchaseContract | Currency | ||
| IncotermsClassification | R_CentralPurchaseContract | IncotermsClassification | ||
| IncotermsTransferLocation | R_CentralPurchaseContract | IncotermsTransferLocation | ||
| PaymentTerms | R_CentralPurchaseContract | PaymentTerms | ||
| CashDiscount1Days | R_CentralPurchaseContract | CashDiscount1Days | ||
| CashDiscount2Days | R_CentralPurchaseContract | CashDiscount2Days | ||
| NetPaymentDays | R_CentralPurchaseContract | NetPaymentDays | ||
| CashDiscount1Percent | R_CentralPurchaseContract | CashDiscount1Percent | ||
| CashDiscount2Percent | R_CentralPurchaseContract | CashDiscount2Percent | ||
| PurchaseContractTargetAmount | R_CentralPurchaseContract | PurchaseContractTargetAmount | ||
| ValidityStartDate | R_CentralPurchaseContract | ValidityStartDate | ||
| ValidityEndDate | R_CentralPurchaseContract | ValidityEndDate | ||
| ReleaseCode | R_CentralPurchaseContract | ReleaseCode | ||
| PurchasingDocumentDeletionCode | R_CentralPurchaseContract | PurchasingDocumentDeletionCode | ||
| ManualSupplierAddressID | R_CentralPurchaseContract | ManualSupplierAddressID | ||
| SupplyingSupplier | R_CentralPurchaseContract | SupplyingSupplier | ||
| InvoicingParty | R_CentralPurchaseContract | InvoicingParty | ||
| ExchangeRate | R_CentralPurchaseContract | ExchangeRate | ||
| ExchangeRateIsFixed | R_CentralPurchaseContract | ExchangeRateIsFixed | ||
| QuotationSubmissionDate | R_CentralPurchaseContract | QuotationSubmissionDate | ||
| SupplierQuotation | R_CentralPurchaseContract | SupplierQuotation | ||
| ReleaseIsNotCompleted | R_CentralPurchaseContract | ReleaseIsNotCompleted | ||
| CorrespncExternalReference | R_CentralPurchaseContract | CorrespncExternalReference | ||
| CorrespncInternalReference | R_CentralPurchaseContract | CorrespncInternalReference | ||
| SupplierRespSalesPersonName | R_CentralPurchaseContract | SupplierRespSalesPersonName | ||
| SupplierPhoneNumber | R_CentralPurchaseContract | SupplierPhoneNumber | ||
| IncotermsVersion | R_CentralPurchaseContract | IncotermsVersion | ||
| IncotermsLocation1 | R_CentralPurchaseContract | IncotermsLocation1 | ||
| IncotermsLocation2 | R_CentralPurchaseContract | IncotermsLocation2 | ||
| PurchasingDocumentName | R_CentralPurchaseContract | PurchasingDocumentName | ||
| LastChangeDateTime | R_CentralPurchaseContract | LastChangeDateTime | ||
| PurchasingParentDocument | R_CentralPurchaseContract | PurchasingParentDocument | ||
| ProcmtHubCompanyCodeGroupingID | R_CentralPurchaseContract | ProcmtHubCompanyCodeGroupingID | ||
| PurchasingProcessingStatus | R_CentralPurchaseContract | PurchasingProcessingStatus | ||
| IsEndOfPurposeBlocked | R_CentralPurchaseContract | IsEndOfPurposeBlocked | ||
| ActivePurchasingDocument | R_CentralPurchaseContract | ActivePurchasingDocument | ||
| PurgDocChangeRequestStatus | R_CentralPurchaseContract | PurgDocChangeRequestStatus | ||
| PurchasingDocumentVersion | R_CentralPurchaseContract | PurchasingDocumentVersion | ||
| PurgDocIsChgVers | R_CentralPurchaseContract | PurgDocIsChgVers | ||
| CreatedByUser | erev | ernam | ||
| CreationDate | erev | erdat | ||
| CreationTime | erev | eruhr | ||
| PurchasingDocVersionReasonCode | erev | rscod | ||
| PurchasingDocVersionStatus | erev | strev | ||
| AccWorkflowApprover | ||||
| AccWorkflowApproverFirstName | ||||
| ApprovalStatusName | ||||
| ApproverUser | ||||
| PurgContractIsInPreparation | ||||
| PurchasingDocumentStatus | ||||
| _PurchasingDocumentTypeText | _PurchasingDocumentTypeText | |||
| _PaymentTermsText | _PaymentTermsText | |||
| _CntrlPurContrStatusText | _CntrlPurContrStatusText | |||
| _CntrlPurContrAggrgnDistrSts | _CntrlPurContrAggrgnDistrSts | |||
| _UserDetails | _UserDetails | |||
| _VersionType | _VersionType |
@AbapCatalog.sqlViewName: 'IVERSIONHISTORY'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Basic View for CCTR Version History'
@VDM.lifecycle.contract.type: #SAP_INTERNAL_API
@ObjectModel:{
usageType.serviceQuality: #B,
usageType.sizeCategory: #L,
usageType.dataClass: #TRANSACTIONAL
}
@VDM.viewType: #BASIC
@AccessControl.personalData.blocking: #REQUIRED
@ClientHandling.algorithm: #SESSION_VARIABLE
define view I_CntrlPurContrVersionHistory
as select from erev as VersionHistory
inner join R_CentralPurchaseContract as Document on VersionHistory.edokn = Document.ActivePurchasingDocument
and VersionHistory.revno = 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_CntrlPurContrVersionType 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
{
key Document.CentralPurchaseContract,
Document.PurchaseContractType,
Document.PurchasingDocumentCategory,
Document.Supplier,
Document.PurchasingDocumentSubtype,
Document.CompanyCode,
Document.PurchasingOrganization,
Document.PurchasingGroup,
@Semantics.currencyCode:true
Document.DocumentCurrency,
@ObjectModel.readOnly: true
Document.Currency,
Document.IncotermsClassification,
Document.IncotermsTransferLocation,
Document.PaymentTerms,
Document.CashDiscount1Days,
Document.CashDiscount2Days,
Document.NetPaymentDays,
Document.CashDiscount1Percent,
Document.CashDiscount2Percent,
Document.PurchaseContractTargetAmount,
Document.ValidityStartDate,
Document.ValidityEndDate,
Document.ReleaseCode,
Document.PurchasingDocumentDeletionCode,
Document.ManualSupplierAddressID,
Document.SupplyingSupplier,
Document.InvoicingParty,
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,
cast( case when PurgDocumentDistributionType = 'F'
then 'X'
else ' '
end as boolean) as CntrlPurContrFlxblDistrIsAllwd,
Document.PurchasingParentDocument,
Document.ProcmtHubCompanyCodeGroupingID,
Document.PurchasingProcessingStatus,
Document.IsEndOfPurposeBlocked,
Document.ActivePurchasingDocument,
Document.PurgDocChangeRequestStatus,
Document.PurchasingDocumentVersion,
Document.PurgDocIsChgVers,
VersionHistory.ernam as CreatedByUser,
VersionHistory.erdat as CreationDate,
VersionHistory.eruhr as CreationTime,
VersionHistory.rscod as PurchasingDocVersionReasonCode,
VersionHistory.strev as PurchasingDocVersionStatus,
/** Fields for approval details starts...**/
@ObjectModel.readOnly: true
cast ('' as mm_oa_approver_id) as AccWorkflowApprover,
@ObjectModel.readOnly: true
cast ('' as mm_oa_approver_name) as AccWorkflowApproverFirstName,
@ObjectModel.readOnly: true
cast( '' as val_text ) as ApprovalStatusName,
@ObjectModel.readOnly: true
cast( '' as sww_aagent ) as ApproverUser,
/** Fields for approval details ends...**/
cast('' as boolean ) as PurgContractIsInPreparation,
@ObjectModel.readOnly: true
cast('' as mmpur_doc_status) as PurchasingDocumentStatus, //VDM
_PurchasingDocumentTypeText,
_PaymentTermsText,
_CntrlPurContrStatusText,
_CntrlPurContrAggrgnDistrSts,
_UserDetails,
_VersionType
}
where ( PurgDocChangeRequestStatus = '1' or
PurgDocChangeRequestStatus = '2' or
PurgDocChangeRequestStatus = '4' or
PurgDocChangeRequestStatus = '' )
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"R_CENTRALPURCHASECONTRACT",
"EREV"
],
"ASSOCIATED":
[
"I_CNTRLPURCONTRAGGRGNDISTRSTS",
"I_CNTRLPURCONTRDOCSTSTEXT",
"I_CNTRLPURCONTRVERSIONTYPE",
"I_PAYMENTTERMSTEXT",
"I_PURCHASINGDOCUMENTTYPETEXT",
"I_USER"
],
"BASE":
[
"R_CENTRALPURCHASECONTRACT"
],
"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