I_PurchaseContract
Purchase Contract
I_PurchaseContract is a Basic CDS View that provides data about "Purchase Contract" in SAP S/4HANA. It reads from 1 data source (R_PurchaseContract) and exposes 76 fields with key field PurchaseContract. It has 11 associations to related views.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| R_PurchaseContract | R_PurchaseContract | from |
Associations (11)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1..*] | I_PurchaseContractItem | _PurchaseContractItem | $projection.PurchaseContract = _PurchaseContractItem.PurchaseContract |
| [1..*] | I_PurchaseContractHistory | _PurchaseContractHistory | $projection.PurchaseContract = _PurchaseContractHistory.PurchaseContract |
| [1..1] | I_ReleaseCode | _ReleaseCode | $projection.ReleaseCode = _ReleaseCode.ReleaseCode |
| [0..*] | I_PurchasingDocumentTypeText | _PurchasingDocumentTypeText | $projection.PurchaseContractType = _PurchasingDocumentTypeText.PurchasingDocumentType |
| [0..*] | I_Purctrnotes | _Purctrnotes | $projection.PurchaseContract = _Purctrnotes.PurchaseContract |
| [0..*] | I_Purctrpartners | _PurCtrPartners | $projection.PurchaseContract = _PurCtrPartners.PurchaseContract |
| [1..1] | I_PurContrVersionType | _VersionType | $projection.PurgDocChangeRequestStatus = _VersionType.PurgDocChangeRequestStatus ----Extension |
| [1..1] | E_PurchasingDocument | _PurchasingDocument | $projection.PurchaseContract = _PurchasingDocument.PurchasingDocument |
| [0..1] | I_PurContrVersionHistory | _PurContrVersionHistory | $projection.PurchaseContract = _PurContrVersionHistory.PurchaseContract |
| [0..1] | I_PurgDocVersionReasonValHelp | _VersionReasonValHelp | $projection.purchasingdocversionreasoncode = _VersionReasonValHelp.PurchasingDocVersionReasonCode |
| [0..1] | I_PurContrVersRelevance | _VersionRelevance | $projection.PurchaseContract = _VersionRelevance.PurchaseContract |
Annotations (14)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | IPURCHASECTR | view | |
| AbapCatalog.preserveKey | true | view | |
| EndUserText.label | Purchase Contract | view | |
| VDM.viewType | #BASIC | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| ObjectModel.compositionRoot | true | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| ObjectModel.representativeKey | PurchaseContract | view | |
| ObjectModel.usageType.serviceQuality | #B | view | |
| ObjectModel.usageType.sizeCategory | #L | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view | |
| ObjectModel.entityChangeStateId | LastChangeDateTime | view | |
| AccessControl.personalData.blocking | #BLOCKED_DATA_EXCLUDED | view |
Fields (76)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | PurchaseContract | PurchaseContract | ||
| PurchaseContractType | PurchaseContractType | |||
| PurchasingDocumentCategory | PurchasingDocumentCategory | |||
| LastChangeDateTime | LastChangeDateTime | |||
| CreationDate | CreationDate | |||
| Supplier | Supplier | |||
| CompanyCode | CompanyCode | |||
| PurchasingOrganization | PurchasingOrganization | |||
| PurchasingGroup | PurchasingGroup | |||
| DocumentCurrency | DocumentCurrency | |||
| IncotermsClassification | IncotermsClassification | |||
| IncotermsTransferLocation | IncotermsTransferLocation | |||
| PaymentTerms | PaymentTerms | |||
| CashDiscount1Days | CashDiscount1Days | |||
| CashDiscount2Days | CashDiscount2Days | |||
| NetPaymentDays | NetPaymentDays | |||
| CashDiscount1Percent | CashDiscount1Percent | |||
| CashDiscount2Percent | CashDiscount2Percent | |||
| PurchaseContractTargetAmount | PurchaseContractTargetAmount | |||
| ValidityStartDate | ValidityStartDate | |||
| ValidityEndDate | ValidityEndDate | |||
| ReleaseCode | ReleaseCode | |||
| CreatedByUser | CreatedByUser | |||
| PurchasingDocumentDeletionCode | PurchasingDocumentDeletionCode | |||
| SupplyingSupplier | SupplyingSupplier | |||
| InvoicingParty | InvoicingParty | |||
| ExchangeRate | ||||
| ExchangeRateIsFixed | ExchangeRateIsFixed | |||
| QuotationSubmissionDate | QuotationSubmissionDate | |||
| SupplierQuotation | SupplierQuotation | |||
| CorrespncExternalReference | CorrespncExternalReference | |||
| CorrespncInternalReference | CorrespncInternalReference | |||
| SupplierRespSalesPersonName | SupplierRespSalesPersonName | |||
| SupplierPhoneNumber | SupplierPhoneNumber | |||
| IncotermsVersion | IncotermsVersion | |||
| IncotermsLocation1 | IncotermsLocation1 | |||
| IncotermsLocation2 | IncotermsLocation2 | |||
| IncotermsSupChnLoc1AddlUUID | IncotermsSupChnLoc1AddlUUID | |||
| IncotermsSupChnLoc2AddlUUID | IncotermsSupChnLoc2AddlUUID | |||
| IncotermsSupChnDvtgLocAddlUUID | IncotermsSupChnDvtgLocAddlUUID | |||
| PurchasingDocumentName | PurchasingDocumentName | |||
| PurchasingDocumentOrigin | PurchasingDocumentOrigin | |||
| ReleaseIsNotCompleted | ReleaseIsNotCompleted | |||
| PurchasingProcessingStatus | PurchasingProcessingStatus | |||
| IsEndOfPurposeBlocked | IsEndOfPurposeBlocked | |||
| PurgDocExternalReference | PurgDocExternalReference | |||
| PurgAggrgdProdCmplncSuplrSts | PurgAggrgdProdCmplncSuplrSts | |||
| PurgAggrgdProdMarketabilitySts | PurgAggrgdProdMarketabilitySts | |||
| PurgAggrgdSftyDataSheetStatus | PurgAggrgdSftyDataSheetStatus | |||
| PurgProdCmplncTotDngrsGoodsSts | PurgProdCmplncTotDngrsGoodsSts | |||
| PurgHasCatalogRelevantItems | PurgHasCatalogRelevantItems | |||
| ActivePurchasingDocument | ActivePurchasingDocument | |||
| PurchasingDocumentVersion | PurchasingDocumentVersion | |||
| PurgDocChangeRequestStatus | PurgDocChangeRequestStatus | |||
| PurgDocIsChgVers | PurgDocIsChgVers | |||
| PurchasingDocVersionReasonCode | _PurContrVersionHistory | PurchasingDocVersionReasonCode | ||
| VersionIsEnabled | _VersionRelevance | VersionIsEnabled | ||
| _PurchasingDocumentCategory | _PurchasingDocumentCategory | |||
| _PurchasingDocumentType | _PurchasingDocumentType | |||
| _IncotermsClassification | _IncotermsClassification | |||
| _Supplier | _Supplier | |||
| _CompanyCode | _CompanyCode | |||
| _PurchasingOrganization | _PurchasingOrganization | |||
| _PurchasingGroup | _PurchasingGroup | |||
| _CreatedByUser | _CreatedByUser | |||
| _DocumentCurrency | _DocumentCurrency | |||
| _ReleaseCode | _ReleaseCode | |||
| _SupplyingSupplier | _SupplyingSupplier | |||
| _InvoicingParty | _InvoicingParty | |||
| _PaymentTerms | _PaymentTerms | |||
| _VersionType | _VersionType | |||
| _VersionReasonValHelp | _VersionReasonValHelp | |||
| _VersionRelevance | _VersionRelevance | |||
| _PurchaseContractItem | _PurchaseContractItem | |||
| _Purctrnotes | _Purctrnotes | |||
| _PurCtrPartners | _PurCtrPartners |
@AbapCatalog.sqlViewName: 'IPURCHASECTR'
@AbapCatalog.preserveKey:true
@EndUserText.label: 'Purchase Contract'
@VDM.viewType : #BASIC
@AccessControl.authorizationCheck: #CHECK
@ObjectModel.compositionRoot: true
//@ObjectModel.semanticKey: [ 'PurchaseContract' ]
@ObjectModel.semanticKey: [ 'ActivePurchasingDocument' ]
@ObjectModel.uniqueIdField: [ 'PurchaseContract' ]
@AbapCatalog.compiler.compareFilter: true
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.representativeKey: 'PurchaseContract'
@ObjectModel.usageType.serviceQuality: #B
@ObjectModel.usageType.sizeCategory: #L
@ObjectModel.usageType.dataClass: #TRANSACTIONAL
@ObjectModel.entityChangeStateId: 'LastChangeDateTime'
@AccessControl.personalData.blocking: #BLOCKED_DATA_EXCLUDED
define view I_PurchaseContract
as select from R_PurchaseContract
association [1..*] to I_PurchaseContractItem as _PurchaseContractItem on $projection.PurchaseContract = _PurchaseContractItem.PurchaseContract
association [1..*] to I_PurchaseContractHistory as _PurchaseContractHistory on $projection.PurchaseContract = _PurchaseContractHistory.PurchaseContract
association [1..1] to I_ReleaseCode as _ReleaseCode on $projection.ReleaseCode = _ReleaseCode.ReleaseCode
association [0..*] to I_PurchasingDocumentTypeText as _PurchasingDocumentTypeText on $projection.PurchaseContractType = _PurchasingDocumentTypeText.PurchasingDocumentType
association [0..*] to I_Purctrnotes as _Purctrnotes on $projection.PurchaseContract = _Purctrnotes.PurchaseContract
association [0..*] to I_Purctrpartners as _PurCtrPartners on $projection.PurchaseContract = _PurCtrPartners.PurchaseContract
association [1..1] to I_PurContrVersionType as _VersionType on $projection.PurgDocChangeRequestStatus = _VersionType.PurgDocChangeRequestStatus
----Extension Association
association [1..1] to E_PurchasingDocument as _PurchasingDocument on $projection.PurchaseContract = _PurchasingDocument.PurchasingDocument
association [0..1] to I_PurContrVersionHistory as _PurContrVersionHistory on $projection.PurchaseContract = _PurContrVersionHistory.PurchaseContract
association [0..1] to I_PurgDocVersionReasonValHelp as _VersionReasonValHelp on $projection.purchasingdocversionreasoncode = _VersionReasonValHelp.PurchasingDocVersionReasonCode
association [0..1] to I_PurContrVersRelevance as _VersionRelevance on $projection.PurchaseContract = _VersionRelevance.PurchaseContract
{
key PurchaseContract,
PurchaseContractType,
PurchasingDocumentCategory,
LastChangeDateTime,
@Semantics.businessDate.createdAt: true
CreationDate,
Supplier,
CompanyCode,
PurchasingOrganization,
PurchasingGroup,
@Semantics.currencyCode:true
DocumentCurrency,
IncotermsClassification,
IncotermsTransferLocation,
PaymentTerms,
CashDiscount1Days,
CashDiscount2Days,
NetPaymentDays,
CashDiscount1Percent,
CashDiscount2Percent,
@Semantics.amount.currencyCode: 'DocumentCurrency'
@DefaultAggregation: #NONE
PurchaseContractTargetAmount,
ValidityStartDate,
ValidityEndDate,
@ObjectModel.foreignKey.association: '_ReleaseCode'
ReleaseCode,
@Semantics.user.createdBy: true
CreatedByUser,
PurchasingDocumentDeletionCode,
SupplyingSupplier,
InvoicingParty,
cast( ExchangeRate as wkurs) as ExchangeRate,
ExchangeRateIsFixed,
QuotationSubmissionDate,
SupplierQuotation,
CorrespncExternalReference,
CorrespncInternalReference,
SupplierRespSalesPersonName,
SupplierPhoneNumber,
IncotermsVersion,
IncotermsLocation1,
IncotermsLocation2,
IncotermsSupChnLoc1AddlUUID,
IncotermsSupChnLoc2AddlUUID,
IncotermsSupChnDvtgLocAddlUUID,
PurchasingDocumentName,
PurchasingDocumentOrigin,
ReleaseIsNotCompleted,
PurchasingProcessingStatus,
case ManualSupplierAddressID
when '' then _Supplier.AddressID
else ManualSupplierAddressID
end as SupplierAddressID,
IsEndOfPurposeBlocked,
PurgDocExternalReference,
// fields from product compliance
PurgAggrgdProdCmplncSuplrSts,
PurgAggrgdProdMarketabilitySts,
PurgAggrgdSftyDataSheetStatus,
PurgProdCmplncTotDngrsGoodsSts,
PurgHasCatalogRelevantItems,
//Versioning in Purchase Contracts
ActivePurchasingDocument,
PurchasingDocumentVersion,
PurgDocChangeRequestStatus,
PurgDocIsChgVers,
_PurContrVersionHistory.PurchasingDocVersionReasonCode,
_VersionRelevance.VersionIsEnabled,
_PurchasingDocumentCategory,
_PurchasingDocumentType,
_IncotermsClassification,
_Supplier,
_CompanyCode,
_PurchasingOrganization,
_PurchasingGroup,
_CreatedByUser,
_DocumentCurrency,
_ReleaseCode,
_SupplyingSupplier,
_InvoicingParty,
_PaymentTerms,
//Versioning in Purchase Contracts
_VersionType,
_VersionReasonValHelp,
_VersionRelevance,
@ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
_PurchaseContractItem,
@ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
_Purctrnotes,
@ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
_PurCtrPartners
}
//Commented Tmporarily
where
//Versioning
( PurgDocChangeRequestStatus = '' or PurgDocChangeRequestStatus = '2' )
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_PURCONTRVERSIONHISTORY",
"I_PURCONTRVERSRELEVANCE",
"I_SUPPLIER",
"R_PURCHASECONTRACT"
],
"ASSOCIATED":
[
"E_PURCHASINGDOCUMENT",
"I_COMPANYCODE",
"I_CURRENCY",
"I_INCOTERMSCLASSIFICATION",
"I_PAYMENTTERMS",
"I_PURCHASECONTRACTHISTORY",
"I_PURCHASECONTRACTITEM",
"I_PURCHASINGDOCUMENTCATEGORY",
"I_PURCHASINGDOCUMENTTYPE",
"I_PURCHASINGDOCUMENTTYPETEXT",
"I_PURCHASINGGROUP",
"I_PURCHASINGORGANIZATION",
"I_PURCONTRVERSIONHISTORY",
"I_PURCONTRVERSIONTYPE",
"I_PURCONTRVERSRELEVANCE",
"I_PURCTRNOTES",
"I_PURCTRPARTNERS",
"I_PURGDOCVERSIONREASONVALHELP",
"I_RELEASECODE",
"I_SUPPLIER",
"I_USER"
],
"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