I_PURCHASECONTRACTWD
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)
| View | Type | Join | VDM | Description |
|---|---|---|---|---|
| C_ContractMaintain | view | from | CONSUMPTION | Purchase Contract Maintain |
| P_ContractDaysToExpiry | view | from | COMPOSITE |
Fields (3)
| Key | Field | CDS Fields | Used 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":""
}
}*/