I_PURCHASECONTRACTWD

CDS View

BO View for I_PurchaseContractWD

I_PURCHASECONTRACTWD is a CDS View in S/4HANA. BO View for I_PurchaseContractWD. It contains 3 fields. 2 CDS views read from this table.

CDS Views using this table (2)

ViewTypeJoinVDMDescription
C_ContractMaintain view from CONSUMPTION Purchase Contract Maintain
P_ContractDaysToExpiry view from COMPOSITE

Fields (3)

KeyField CDS FieldsUsed in Views
KEY PurchaseContract PurchaseContract 1
PurchaseContractForEdit PurchaseContractForEdit 1
PurchaseContractType PurchaseContractType,PurchasingDocumentType 1
@AbapCatalog.sqlViewName: 'IPURCHASECTRWD'
@EndUserText.label: 'BO View for I_PurchaseContractWD'
@ObjectModel.compositionRoot: true

@AccessControl.personalData.blocking:#REQUIRED
@AccessControl.authorizationCheck: #CHECK
@ObjectModel.createEnabled: true
@ObjectModel.updateEnabled: true
@ObjectModel.deleteEnabled: true
@ObjectModel.semanticKey: ['PurchaseContractForEdit']

@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #L
@ObjectModel.usageType.dataClass: #MIXED

@VDM.viewType:#TRANSACTIONAL
@ObjectModel.draftEnabled:true
@ObjectModel.transactionalProcessingEnabled: true
@ObjectModel.writeDraftPersistence: 'PURCTR_HDR_D'
@ObjectModel.entityChangeStateId: 'LastChangeDateTime'

define view I_PurchaseContractWD
  as select from I_PurchaseContractVersion           as Document

  association [1..1] to I_PurContrCnsmpnInPercentage as _PurContrCnsmpnInPercentage   on $projection.PurchaseContract = _PurContrCnsmpnInPercentage.PurchaseContract
  //inner join   I_PurContrCnsmpnInPercentage as _PurContrCnsmpnInPercentage on Document.PurchaseContract = _PurContrCnsmpnInPercentage.PurchaseContract

  //inner join   I_PurContrCnsmpnInPercentage as _PurContrCnsmpnInPercentage on Document.ActivePurchasingDocument = _PurContrCnsmpnInPercentage.PurchaseContract


  association [1..1] to I_ContractTransientField      as _ContractTransientField      on  $projection.PurchaseContract = _ContractTransientField.PurchaseContract

  association [1..*] to I_PurchaseContractItemWD      as _PurchaseContractItemWD      on  _PurchaseContractItemWD.PurchaseContract = $projection.PurchaseContract

  association [0..*] to I_PurCtrNotesWD               as _PurctrnotesWD               on  $projection.PurchaseContract = _PurctrnotesWD.PurchaseContract

  association [0..*] to I_PurctrpartnersWithDraft     as _PurCtrPartnersWithDraft     on  $projection.PurchaseContract = _PurCtrPartnersWithDraft.PurchaseContract

  ---Extension Association
  association [1..1] to E_PurchasingDocument          as _PurchaseContractExtension   on  $projection.PurchaseContract = _PurchaseContractExtension.PurchasingDocument

   ---Extension Association
  association [1..1] to E_PurchasingDocument          as _PurchaseCtrDraftExtension   on  $projection.PurchaseContract = _PurchaseCtrDraftExtension.PurchasingDocument //dummy


  association [0..1] to I_PurchasingDocumentCategory  as _PurchasingDocumentCategory  on  _PurchasingDocumentCategory.PurchasingDocumentCategory = $projection.PurchasingDocumentCategory
  association [0..1] to I_PurchasingDocumentType      as _PurchasingDocumentType      on  _PurchasingDocumentType.PurchasingDocumentCategory = $projection.PurchasingDocumentCategory
                                                                                      and _PurchasingDocumentType.PurchasingDocumentType     = $projection.PurchaseContractType
  association [0..1] to I_IncotermsClassification     as _IncotermsClassification     on  _IncotermsClassification.IncotermsClassification = $projection.IncotermsClassification
  association [0..1] to I_IncotermsClassificationText as _IncotermsClassificationText on  _IncotermsClassificationText.IncotermsClassification     = $projection.IncotermsClassification
                                                                                      and _IncotermsClassificationText.IncotermsClassificationName = $session.system_language

  association [0..1] to I_Supplier                    as _SupplyingSupplier           on  $projection.SupplyingSupplier = _SupplyingSupplier.Supplier
  association [0..1] to I_Supplier                    as _InvoicingParty              on  $projection.InvoicingParty = _InvoicingParty.Supplier
  association [0..1] to I_CompanyCode                 as _CompanyCode                 on  _CompanyCode.CompanyCode = $projection.CompanyCode
  association [0..1] to I_PurchasingOrganization      as _PurchasingOrganization      on  _PurchasingOrganization.PurchasingOrganization = $projection.PurchasingOrganization
  association [0..1] to I_PurchasingGroup             as _PurchasingGroup             on  _PurchasingGroup.PurchasingGroup = $projection.PurchasingGroup
  association [0..1] to I_CurrencyText                as _DocumentCurrencyText        on  _DocumentCurrencyText.Currency = $projection.DocumentCurrency
                                                                                      and _DocumentCurrencyText.Language = $session.system_language
  association [0..1] to I_PaymentTerms                as _PaymentTerms                on  $projection.PaymentTerms = _PaymentTerms.PaymentTerms
  association [0..*] to I_PaymentTermsText            as _PaymentTermsText            on  $projection.PaymentTerms = _PaymentTermsText.PaymentTerms
  association [1..1] to I_PurCtrUserDetails           as _USERDETAILS                 on  $projection.CreatedByUser = _USERDETAILS.UserID

  association [1..1] to I_PurContrValidityStatus      as _PurContrValidityStatus      on  $projection.PurchaseContract = _PurContrValidityStatus.PurchaseContract
  association [1..*] to I_PurContrHdrCndnValdtyTP     as _PurContrHdrCndnValdtyTP     on  $projection.PurchaseContract = _PurContrHdrCndnValdtyTP.PurchaseContract

{
  key Document.PurchaseContract,
      Document.PurchaseContract                                                                      as PurchaseContractForEdit,
      @ObjectModel.readOnly:'EXTERNAL_CALCULATION'
      Document.PurchaseContractType,
      Document.PurchasingDocumentCategory,
      Document.CreationDate,
      @ObjectModel.readOnly:'EXTERNAL_CALCULATION'
      Document.Supplier,
      Document.CompanyCode,
      @ObjectModel.readOnly:'EXTERNAL_CALCULATION'
      Document.PurchasingOrganization,
      @ObjectModel.readOnly:'EXTERNAL_CALCULATION'
      Document.PurchasingGroup,
      @Semantics.currencyCode:true
      Document.DocumentCurrency,
      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.CreatedByUser,
      Document.PurchasingDocumentDeletionCode,
      Document.SupplierAddressID,
      Document.SupplyingSupplier,
      Document.InvoicingParty,
      cast( Document.ExchangeRate as fis_exchange_rate preserving type )                             as ExchangeRate,
      Document.ExchangeRateIsFixed,
      Document.QuotationSubmissionDate,
      Document.SupplierQuotation,
      Document.ReleaseIsNotCompleted,
      Document.CorrespncExternalReference,
      Document.CorrespncInternalReference,
      Document.SupplierRespSalesPersonName,
      Document.SupplierPhoneNumber,
      Document.IncotermsVersion,
      Document.IncotermsLocation1,
      Document.IncotermsLocation2,
      // TM Location Handling

      cast( ' ' as tminco_loc_1_id )                                                                 as IncotermsLocation1Identifier,
      cast( ' ' as tminco_loc_2_id )                                                                 as IncotermsLocation2Identifier,
      cast( ' ' as tminco_loc_d_id )                                                                 as IncotermsDvtgLocIdentifier,
      cast( ' ' as tminco_loc_d_descr )                                                              as IncotermsDvtgLocDescription,
      Document.IncotermsSupChnLoc1AddlUUID,
      Document.IncotermsSupChnLoc2AddlUUID,
      Document.IncotermsSupChnDvtgLocAddlUUID,
      //TM Location Handling

      Document.PurchasingDocumentName,
      Document.PurchasingDocumentOrigin,
      Document.LastChangeDateTime,
      Document.PurchasingProcessingStatus,
      Document.IsEndOfPurposeBlocked,
      //For performance improvement fields from CDS I_ContractTransientField, I_PurContrCnsmpnInPercentage and I_PurContrValidityStatus

      //are consumed directly in C_ContractMaintain. These field are not required in BOBF.

      @Semantics.text
      cast( ' ' as batxt )                                                                           as PurchasingDocumentTypeName,

      cast( 0   as mm_pur_oa_consumed_val)                                                           as PurContrConsumedVal, //Added to avoid BAOPRE approval as discussed with architect


      cast( ' ' as mm_a_cntr_expiry_predict_date )                                                   as ContractExpiryPredictedDate,

      // 2005CE - Validity Filter Rework

      cast( ' ' as mm_oa_validity_status )                                                           as PurchaseContractValidityStatus,

      cast( ' ' as mm_oa_validity_status )                                                           as PurContrValidityStatusName,

      cast( 0  as mm_oa_validity_criticality)                                                        as PurContrStatusCriticality,

      cast( 0 as mm_a_supplier_opl_score )                                                           as SupplierOperationalScore,

      cast( ' ' as mm_oa_adv_pctr_ind )                                                              as PurContrHasAdvncdUsrInterface,

      cast( 0 as numberofdays )                                                                      as NumberOfDays,

      cast( ' ' as mm_oa_iscontractexpired )                                                         as IsExpired,

      cast( ' ' as mm_oa_oc_type )                                                                   as PurContrOutputCtrlType,

      cast( ' ' as mm_oa_oc_status )                                                                 as PurContrOutputCtrlStatus,

      cast( ' ' as mm_oa_oc_status_txt )                                                             as PurContrOutputCtrlStatusTxt,

      cast( 0 as mm_oa_oc_time )                                                                     as PurContrOutputCtrlTime,

      cast( 0 as mm_pur_oa_weighted_rel )                                                            as WeightedRelevance, //Added to avoid BAOPRE approval as discussed with architect


      cast( _PurContrCnsmpnInPercentage.ContractConsumptionInPct as mmpur_oa_consumption_pct )       as ContractConsumptionInPct,

      cast( 0 as mm_oa_validity_criticality )                                                        as PurContrCnsmpnCriticality,

      cast( _PurContrCnsmpnInPercentage.PurContrCriticalityStatus as mm_pur_ctr_criticality_status ) as PurContrCriticalityStatus,

      cast( ' ' as mm_oa_approver_id)                                                                as AccWorkflowApprover,

      cast( ' ' as mm_oa_approver_name)                                                              as AccWorkflowApproverFirstName,

      cast( ' ' as val_text )                                                                        as ApprovalStatusName,

      cast( ' ' as sww_aagent )                                                                      as ApproverUser,

      cast( _PurContrValidityStatus.PurchaseContractValidityStatus as mm_pur_ctr_validity_status )   as PurContrValidityStatus_2,

      cast (
      case _USERDETAILS.UserName //CreatedByUser

        when '' then
             _USERDETAILS.UserDescription
         else
             concat(concat(_USERDETAILS.UserDescription, ' ('), concat(_USERDETAILS.UserName, ')')) end
             as mm_oa_user_alias )                                                                   as CreatedByUserName,

      _ContractTransientField.IsContrRefOfPurReqn,

      _ContractTransientField.ChangeRecordReferenceUUID,

      _ContractTransientField.IsPurContrTemplate,

      _ContractTransientField.PurgContractIsInPreparation,
      //@ObjectModel: { readOnly: true }

      //_ContractTransientField.PurContractConsumptionInPct2,



      cast( ' ' as val_text)                                                                         as PurchasingDocumentStatus,

      cast( ' ' as boolean)                                                                          as PurchasingItemHasHierarchy,

      cast( ' ' as mmpur_ctr_rework_comment )                                                        as PurContrReworkCommentText,

      cast( ' ' as mmpur_ctr_approvercomment )                                                       as PurContrApproverCommentText,


      @ObjectModel: { readOnly: true }
      Document.PurgAggrgdProdCmplncSuplrSts,

      Document.PurgHasCatalogRelevantItems,

      Document.ActivePurchasingDocument,

      Document.PurgDocChangeRequestStatus,

      Document.PurchasingDocumentVersion,

      Document.PurgDocIsChgVers,

      Document.PurchasingDocVersionReasonCode,

      @ObjectModel.readOnly: true
     _VersionType.ChangeRequestNote,

      @ObjectModel.association.type: [ #TO_COMPOSITION_CHILD ]
      _PurchaseContractItemWD,

      @ObjectModel.association.type: [ #TO_COMPOSITION_CHILD ]
      _PurctrnotesWD,

      @ObjectModel.association.type: [ #TO_COMPOSITION_CHILD ]
      _PurCtrPartnersWithDraft,

      _ContractTransientField,

      _PurContrValidityStatus,

      _ReleaseCode,

      _PurchasingDocumentCategory,

      _PurchasingDocumentType,

      _IncotermsClassification,

      _IncotermsClassificationText,

      _SupplyingSupplier,

      _InvoicingParty,

      _PaymentTerms,

      _PaymentTermsText,

      _CompanyCode,

      _PurchasingOrganization,

      _PurchasingGroup,

      Document._DocumentCurrency,

      _DocumentCurrencyText,

      @ObjectModel.association.type: [ #TO_COMPOSITION_CHILD]
      _PurContrHdrCndnValdtyTP,

      _VersionReasonValHelp
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_CONTRACTTRANSIENTFIELD",
"I_PURCHASECONTRACTVERSION",
"I_PURCONTRCNSMPNINPERCENTAGE",
"I_PURCONTRVALIDITYSTATUS",
"I_PURCONTRVERSIONTYPE",
"I_PURCTRUSERDETAILS"
],
"ASSOCIATED":
[
"E_PURCHASINGDOCUMENT",
"I_COMPANYCODE",
"I_CONTRACTTRANSIENTFIELD",
"I_CURRENCY",
"I_CURRENCYTEXT",
"I_INCOTERMSCLASSIFICATION",
"I_INCOTERMSCLASSIFICATIONTEXT",
"I_PAYMENTTERMS",
"I_PAYMENTTERMSTEXT",
"I_PURCHASECONTRACTITEMWD",
"I_PURCHASINGDOCUMENTCATEGORY",
"I_PURCHASINGDOCUMENTTYPE",
"I_PURCHASINGGROUP",
"I_PURCHASINGORGANIZATION",
"I_PURCONTRCNSMPNINPERCENTAGE",
"I_PURCONTRHDRCNDNVALDTYTP",
"I_PURCONTRVALIDITYSTATUS",
"I_PURCTRNOTESWD",
"I_PURCTRPARTNERSWITHDRAFT",
"I_PURCTRUSERDETAILS",
"I_PURGDOCVERSIONREASONVALHELP",
"I_RELEASECODE",
"I_SUPPLIER"
],
"BASE":
[
"I_PURCHASECONTRACTVERSION"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/