I_PurchaseContract

DDL: I_PURCHASECONTRACT SQL: IPURCHASECTR Type: view BASIC

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)

SourceAliasJoin Type
R_PurchaseContract R_PurchaseContract from

Associations (11)

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

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

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