@AbapCatalog.sqlViewName: 'CCTRMAINTAIN'
@VDM.viewType: #CONSUMPTION
@EndUserText.label: 'Purchase Contract Maintain'
@AccessControl.authorizationCheck: #CHECK
@ClientHandling.algorithm: #SESSION_VARIABLE
@Search.searchable: true
@ObjectModel: {
semanticKey: [ 'ActivePurchasingDocument' ],
compositionRoot: true,
createEnabled: true,
deleteEnabled: true,
updateEnabled: true,
draftEnabled:true,
transactionalProcessingDelegated: true
}
@UI.headerInfo:{
typeName: 'Purchase Contract',
typeNamePlural: 'Purchase Contracts',
title: {value: 'PurchasingDocumentName' },
description: {value: 'ActivePurchasingDocument'}
}
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #L
@ObjectModel.usageType.dataClass: #MIXED
@AccessControl.personalData.blocking: #BLOCKED_DATA_EXCLUDED
define view C_ContractMaintain
as select from I_PurchaseContractWD
association [1..*] to C_ContractMaintainItem as _PurchaseContractItemWD on $projection.PurchaseContract = _PurchaseContractItemWD.PurchaseContract
association [0..*] to C_Contractnotes as _PurCtrNotesWD on $projection.PurchaseContract = _PurCtrNotesWD.PurchaseContract
association [0..*] to C_PurCtrPartners as _PurctrpartnersWithDraft on $projection.PurchaseContract = _PurctrpartnersWithDraft.PurchaseContract
association [1..1] to I_Purchasecontracttype_Vh as _Purchasecontracttype_Vh on $projection.PurchaseContractType = _Purchasecontracttype_Vh.PurchasingDocumentType
association [1..1] to I_PurCtrIncoVersion as _PurCtrIncoVersion on $projection.IncotermsVersion = _PurCtrIncoVersion.IncotermsVersion
association [0..1] to C_SupplierPurchOrgVH as _SupplierValueHelp on _SupplierValueHelp.Supplier = $projection.Supplier
and _SupplierValueHelp.PurchasingOrganization = $projection.PurchasingOrganization
association [0..*] to C_LegalTransactionIntegFacet as _LegalTransaction on _LegalTransaction.LglCntntMLinkdObj = $projection.ActivePurchasingDocument
and _LegalTransaction.LglCntntMIntegrationLink = 'PC'
association [0..1] to C_MM_CompanyCodeValueHelp as _CompanyCodeValueHelp on _CompanyCodeValueHelp.CompanyCode = $projection.CompanyCode
association [1..*] to C_PurchaseContrItemHierarchyTP as _PurchaseContrItemHierarchyTP on $projection.PurchaseContract = _PurchaseContrItemHierarchyTP.PurchaseContract
association [0..*] to C_PurchaseContractApprover as _CTRApprover on $projection.PurchaseContract = _CTRApprover.PurchaseContract
association [0..1] to I_PurgTotProdCmplncSuplrStsT as _PurgTotProdCmplncSuplrStsT on $projection.PurgAggrgdProdCmplncSuplrSts = _PurgTotProdCmplncSuplrStsT.PurgAggrgdProdCmplncSuplrSts
and _PurgTotProdCmplncSuplrStsT.Language = $session.system_language
association [1..*] to C_PurContrHdrCndnValdtyTP as _PurContrHdrCndnValdtyTP on $projection.PurchaseContract = _PurContrHdrCndnValdtyTP.PurchaseContract
association [1..*] to I_PurchaseContractStatus as _PurchaseContractStatus on $projection.PurchasingProcessingStatus = _PurchaseContractStatus.PurchasingProcessingStatus
association [1..*] to I_PurContrCriticalityStatus as _PurContrCriticalityStatus on $projection.PurContrCriticalityStatus = _PurContrCriticalityStatus.PurContrCriticalityStatus
association [0..1] to I_PurchaseContractExtReference as _PurchaseContractExtReference on $projection.PurchaseContract = _PurchaseContractExtReference.PurchaseContract
association [1..*] to I_PurContrValidityStatusVH as _PurContrValdtyStatusValueHelp on $projection.PurContrValidityStatus_2 = _PurContrValdtyStatusValueHelp.PurContrValidityStatus_2
association [1..*] to C_PurContrVersionHistory as _PurContrVersionHistory on $projection.ActivePurchasingDocument = _PurContrVersionHistory.ActivePurchasingDocument
{
@ObjectModel.readOnly: true
@ObjectModel.text.element: ['PurchasingDocumentName']
@Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 1.0 }
@UI: { lineItem : [
//{position: 10, label: 'Contract', importance: #HIGH },
{dataAction: 'BOPF:COPY_CONTRACT', type: #FOR_ACTION, label:'Copy'},
{dataAction: 'BOPF:WITHDRAW_FROM_APPROVAL', type: #FOR_ACTION, label:'Withdraw from Approval'}
],
identification : [ {position: 10, type: #FOR_ACTION, dataAction: 'BOPF:COPY_CONTRACT', label: 'Copy', importance: #HIGH, exclude: true},
{position: 10, type: #FOR_ACTION, dataAction: 'BOPF:WITHDRAW_FROM_APPROVAL', label: 'Withdraw from Approval', importance: #HIGH, exclude: true}]
}
@Consumption.semanticObject: 'PurchaseContract'
@UI.hidden: true
key I_PurchaseContractWD.PurchaseContract,
@Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 1.0 }
@ObjectModel.text.element: ['PurchasingDocumentName']
@ObjectModel.readOnly: true
@UI: { lineItem : [{position: 10, label: 'Contract', importance: #HIGH }]
}
@Consumption.semanticObject: 'PurchaseContract'
@UI.fieldGroup:[{type: #WITH_INTENT_BASED_NAVIGATION, semanticObjectAction: 'manage', label: 'Purchasing Document ID'}]
@EndUserText.label: 'Contract'
@EndUserText.quickInfo: 'Purchase Contract'
ActivePurchasingDocument,
@EndUserText.label: 'Version'
@UI: { dataPoint : {title: 'Version'} }
@ObjectModel.text.element: ['ChangeRequestNote']
@UI.textArrangement: #TEXT_FIRST
@ObjectModel.readOnly:'EXTERNAL_CALCULATION'
@UI.hidden: true
PurchasingDocumentVersion,
@ObjectModel.readOnly: true
@UI: { lineItem: {position: 100, importance: #HIGH} ,
selectionField.position: 60 }
@EndUserText.label: 'Change Request'
@EndUserText.quickInfo: 'Purchasing Document Is Change Version'
@UI.hidden: true
PurgDocIsChgVers,
@UI.hidden: true
@ObjectModel.readOnly: true
I_PurchaseContractWD.PurchaseContractForEdit,
@UI: {fieldGroup: [ {qualifier: 'PurchData', position: 40,
label: 'Contract In Preparation'} ] }
@ObjectModel.readOnly:'EXTERNAL_CALCULATION'
@EndUserText.label: 'Contract In Preparation'
@EndUserText.quickInfo: 'Contract In Preparation'
@UI.hidden: true
PurgContractIsInPreparation,
@UI:{fieldGroup: [ {qualifier: 'Header', position: 20, label: 'Contract Type'} ],
dataPoint : {title: 'Contract Type'},
facet: [ {position: 10,targetQualifier: 'Headerstatus',label: 'Contract Type' } ] }
@Search: { defaultSearchElement: true, ranking: #LOW, fuzzinessThreshold: 0.9}
@ObjectModel.readOnly:'EXTERNAL_CALCULATION'
@ObjectModel: [{ foreignKey.association: '_Purchasecontracttype_Vh' }]
@Consumption.valueHelpDefinition: [{entity: {name: 'I_Purchasecontracttype_Vh', element: 'PurchasingDocumentType'},
useForValidation: true } ]
@UI.textArrangement: #TEXT_FIRST
@ObjectModel.text.element: ['PurchasingDocumentTypeName']
@ObjectModel.filter.enabled:true
@UI.selectionField: {position: 100}
I_PurchaseContractWD.PurchaseContractType,
@UI.hidden: true
I_PurchaseContractWD.PurchaseContractType as PurchasingDocumentType,
@UI.hidden: true
PurchasingDocumentCategory,
@ObjectModel.readOnly: true
@Semantics.text: true
_Purchasecontracttype_Vh.PurchasingDocumentTypeName,
@UI.fieldGroup: [{groupLabel:'Add On Field' ,qualifier: 'AddOnField', position: 20, importance: #HIGH,label: 'Created On'}]
@ObjectModel.readOnly: true
CreationDate,
@Consumption.valueHelpDefinition: [{entity: {name: 'C_SupplierPurchOrgVH', element: 'Supplier'},
additionalBinding: [{ element: 'PurchasingOrganization', localElement: 'PurchasingOrganization' }] }]
@Consumption.semanticObject: 'Supplier'
@Search: { defaultSearchElement: true, fuzzinessThreshold: 0.9, ranking: #LOW}
@UI: { dataPoint : {title: 'Supplier'},
fieldGroup: [ {qualifier: 'Header', position: 30, importance: #HIGH, label:'Supplier' } ],
lineItem: [ { position: 40, importance: #HIGH} ],
facet: [ {position: 20,targetQualifier: 'Headerstatus',label: 'Supplier' } ],
selectionField.position: 90 }
@ObjectModel.text.association: '_SupplierValueHelp'
Supplier,
@UI: {fieldGroup: [ {qualifier: 'PurchData', position: 20, importance: #HIGH} ] }
@ObjectModel.readOnly:'EXTERNAL_CALCULATION'
@ObjectModel: { foreignKey.association: '_CompanyCodeValueHelp'}
@Consumption.valueHelpDefinition: [{entity: {name: 'C_MM_CompanyCodeValueHelp', element: 'CompanyCode'} }]
@UI.textArrangement: #TEXT_FIRST
@ObjectModel.text.element: ['CompanyCodeName']
CompanyCode,
@ObjectModel.foreignKey.association: '_PurchasingOrganization'
@Consumption.valueHelpDefinition: [{entity: {name: 'I_PurchasingOrganization', element: 'PurchasingOrganization'} }]
@UI.selectionField.position: 60
@Search: { defaultSearchElement: true, fuzzinessThreshold: 0.9, ranking: #LOW}
@UI.dataPoint : { title: 'Purchasing Organization'}
@UI: {fieldGroup: [ {qualifier: 'Header', position: 40, importance: #HIGH,
label:'Purchasing Organization' } ] }
@UI.facet: [ {position: 30,targetQualifier: 'Headerstatus',label: 'Purchasing Organization' } ]
@ObjectModel.readOnly:'EXTERNAL_CALCULATION'
@UI.textArrangement: #TEXT_FIRST
@ObjectModel.text.element: ['PurchasingOrganizationName']
PurchasingOrganization,
@ObjectModel.text.association: '_PurchasingGroup'
@Consumption.valueHelpDefinition: [{entity: {name: 'I_PurchasingGroup', element: 'PurchasingGroup'} }]
@UI.selectionField.position: 80
@Search: { defaultSearchElement: true, fuzzinessThreshold: 0.9, ranking: #LOW}
@UI: {fieldGroup: [ {qualifier: 'PurchData', position: 10, importance: #HIGH} ] }
@ObjectModel: [{ foreignKey.association: '_PurchasingGroup' }]
@ObjectModel.readOnly:'EXTERNAL_CALCULATION'
@UI.textArrangement: #TEXT_FIRST
@ObjectModel.text.element: ['PurchasingGroupName']
PurchasingGroup,
@ObjectModel: [{ foreignKey.association: '_DocumentCurrency' }]
@Consumption.valueHelpDefinition: [{entity: {name: 'I_Currency', element: 'Currency'} }]
@ObjectModel.readOnly:'EXTERNAL_CALCULATION'
@UI: { identification: [{ label : 'Currency'}] }
@ObjectModel.text.element: ['CurrencyName']
DocumentCurrency,
@ObjectModel.readOnly: true
@UI.hidden: true
DocumentCurrency as Currency,
@ObjectModel: [{ foreignKey.association: '_IncotermsClassification'}]
@Consumption.valueHelpDefinition: [{entity: {name: 'I_IncotermsClassification', element: 'IncotermsClassification'} }]
@UI: {fieldGroup: [ { qualifier: 'IncoTerms', position: 10, importance: #HIGH, label: 'Incoterms'} ] }
@ObjectModel.readOnly:'EXTERNAL_CALCULATION'
@UI.textArrangement: #TEXT_FIRST
@ObjectModel.text.element: ['IncotermsClassificationName']
IncotermsClassification,
IncotermsTransferLocation,
@UI: {fieldGroup: [ {groupLabel:'Payment Terms',qualifier: 'PaymentTerms', position: 10, importance: #HIGH} ] }
@Consumption.valueHelpDefinition: [{entity: {name: 'C_MM_PaymentTermValueHelp', element: 'PaymentTerms'} }]
@ObjectModel.readOnly:'EXTERNAL_CALCULATION'
@UI.textArrangement: #TEXT_FIRST
@ObjectModel.text.element: ['PaymentTermsName']
PaymentTerms,
@UI: {fieldGroup: [ {qualifier: 'FirstPayment', position: 10, importance: #HIGH, label: 'First Payment'} ] }
@ObjectModel.readOnly:'EXTERNAL_CALCULATION'
CashDiscount1Days,
@UI: {fieldGroup: [ {groupLabel:'Second Payment', qualifier: 'SecondPayment', position: 10, importance: #HIGH, label: 'Second Payment'} ] }
@ObjectModel.readOnly:'EXTERNAL_CALCULATION'
CashDiscount2Days,
@UI.fieldGroup: [ { groupLabel:'Cash Discount', qualifier: 'CashDiscount', position: 10, importance: #HIGH,
label: 'Cash Discount' } ]
@ObjectModel.readOnly:'EXTERNAL_CALCULATION'
NetPaymentDays,
@UI.fieldGroup: [ {groupLabel:'First Payment', qualifier: 'FirstPayment', position: 20, importance: #HIGH,
label: 'Discount for First Payment '} ]
@ObjectModel.readOnly:'EXTERNAL_CALCULATION'
CashDiscount1Percent,
@UI: {fieldGroup: [ {qualifier: 'SecondPayment', position: 20, importance: #HIGH,
label: 'Discount for Second Payment'} ] }
@ObjectModel.readOnly:'EXTERNAL_CALCULATION'
CashDiscount2Percent,
@Semantics.amount.currencyCode: 'DocumentCurrency'
@UI: { lineItem : [{position: 30, label: 'Target Value'}],
fieldGroup: [ {groupLabel:'Basic Data', qualifier: 'BasicData', position: 10, importance: #HIGH
} ] }
@ObjectModel.readOnly:'EXTERNAL_CALCULATION'
PurchaseContractTargetAmount,
@UI: {
lineItem : [{position: 50, label: 'Valid From'}],
fieldGroup: [ {qualifier: 'BasicData', position: 20, importance: #HIGH, label:'Valid From' } ] }
@ObjectModel.readOnly:'EXTERNAL_CALCULATION'
ValidityStartDate,
@UI: {
lineItem : [{position: 60, label: 'Valid To'}],
fieldGroup: [ {qualifier: 'BasicData', position: 30, importance: #HIGH, label:'Valid To'} ],
dataPoint : {title: 'Valid To'},
facet: [ {position: 40,targetQualifier: 'Headerstatus',label: 'Valid to' } ]
}
@ObjectModel.readOnly:'EXTERNAL_CALCULATION'
ValidityEndDate,
@EndUserText.label: 'Release Indicator'
ReleaseCode,
@ObjectModel.readOnly: true
@ObjectModel.filter.enabled: false
CreatedByUser,
@Consumption.filter.hidden: true // 3158608
@UI.hidden:true //3320120
PurchasingDocumentDeletionCode,
SupplierAddressID,
@UI: {fieldGroup: [ {qualifier: 'RefDetails', position: 40, importance: #HIGH} ] }
@Consumption.valueHelpDefinition: [
{ entity: { name: 'C_SupplierPurchOrgVH',
element: 'Supplier' }
}]
@ObjectModel.readOnly:'EXTERNAL_CALCULATION'
SupplyingSupplier,
@UI: {fieldGroup: {qualifier: 'RefDetails', position: 30, importance: #HIGH}}
@ObjectModel: [{ foreignKey.association: '_InvoicingParty' }]
@Consumption.valueHelpDefinition: [
{ entity: { name: 'C_SupplierPurchOrgVH',
element: 'Supplier' }
}]
@ObjectModel.readOnly:'EXTERNAL_CALCULATION'
InvoicingParty,
@UI.fieldGroup: [ {groupLabel:'Target Value', qualifier: 'TargetValue', position: 30, importance: #HIGH,
label: 'Exchange Rate'} ]
@ObjectModel.readOnly:'EXTERNAL_CALCULATION'
ExchangeRate,
@UI: {fieldGroup: [ {qualifier: 'TargetValue', position: 40, importance: #HIGH,
label: 'Fixed Exchange Rate'} ] }
@ObjectModel.readOnly:'EXTERNAL_CALCULATION'
ExchangeRateIsFixed,
@ObjectModel.readOnly: true
@UI.hidden: true
PurgDocChangeRequestStatus,
@UI: {fieldGroup: {qualifier: 'TargetValue', position: 50, importance: #HIGH,
label: 'Reason for New Version'}}
@UI.textArrangement: #TEXT_ONLY
@Consumption.valueHelpDefinition: [
{ entity: { name: 'C_PurgDocVersionReasonValHelp',
element: 'PurchasingDocVersionReasonCode' }
}]
@ObjectModel.readOnly:'EXTERNAL_CALCULATION'
//@ObjectModel.text.association: '_VersionReasonValHelp'
@UI.hidden: true
PurchasingDocVersionReasonCode,
@UI: {fieldGroup: {qualifier: 'Quotation', position: 10, importance: #HIGH}}
@ObjectModel.readOnly:'EXTERNAL_CALCULATION'
QuotationSubmissionDate,
@UI: {fieldGroup: {qualifier: 'Quotation', position: 20, importance: #HIGH}}
@ObjectModel.readOnly:'EXTERNAL_CALCULATION'
@Consumption.semanticObject: 'SupplierQuotation'
SupplierQuotation,
@UI: {fieldGroup: {qualifier: 'Quotation', position: 30, importance: #HIGH}}
@ObjectModel.readOnly:'EXTERNAL_CALCULATION'
CorrespncExternalReference,
@UI: {fieldGroup: {qualifier: 'Quotation', position: 40, importance: #HIGH}}
@ObjectModel.readOnly:'EXTERNAL_CALCULATION'
CorrespncInternalReference,
@UI: {fieldGroup: {qualifier: 'RefDetails', position: 10, importance: #HIGH,
label: 'Salesperson'}}
@ObjectModel.readOnly:'EXTERNAL_CALCULATION'
SupplierRespSalesPersonName,
@UI: {fieldGroup: {qualifier: 'RefDetails', position: 20, importance: #HIGH }}
@ObjectModel.readOnly:'EXTERNAL_CALCULATION'
SupplierPhoneNumber,
@ObjectModel.readOnly:'EXTERNAL_CALCULATION'
@UI: {fieldGroup: {groupLabel:'Incoterms', qualifier: 'IncoTerms', position: 30, importance: #HIGH,
label: 'Incoterms Version'}}
@ObjectModel: [{ foreignKey.association: '_PurCtrIncoVersion' }]
@Consumption.valueHelpDefinition: [{entity: {name: 'I_PurCtrIncoVersion', element: 'IncotermsVersion'} }]
@UI.textArrangement: #TEXT_FIRST
@ObjectModel.text.element: ['IncotermsVersionName']
IncotermsVersion,
@UI: {fieldGroup: { qualifier: 'IncoTerms', position: 50, importance: #HIGH,
label: 'Incoterms Location 1 Description'}}
@ObjectModel.readOnly:'EXTERNAL_CALCULATION'
IncotermsLocation1,
@UI: {fieldGroup: { qualifier: 'IncoTerms', position: 40, importance: #HIGH,
label: 'Incoterms Location 1'}}
@ObjectModel.readOnly:'EXTERNAL_CALCULATION'
@Consumption.valueHelpDefinition: [{entity: {name: 'I_TransportationLocationVH', element: 'Location'} }]
@UI.textArrangement: #TEXT_FIRST
IncotermsLocation1Identifier,
@UI.hidden: true
IncotermsSupChnLoc1AddlUUID,
@UI: {fieldGroup: { qualifier: 'IncoTerms', position: 90, importance: #HIGH,
label: 'Incoterms Location 2 Description'}}
@ObjectModel.readOnly:'EXTERNAL_CALCULATION'
IncotermsLocation2,
@UI: {fieldGroup: { qualifier: 'IncoTerms', position: 80, importance: #HIGH,
label: 'Incoterms Location 2'}}
@ObjectModel.readOnly:'EXTERNAL_CALCULATION'
@Consumption.valueHelpDefinition: [{entity: {name: 'I_TransportationLocationVH', element: 'Location'} }]
@UI.textArrangement: #TEXT_FIRST
IncotermsLocation2Identifier,
@UI.hidden: true
IncotermsSupChnLoc2AddlUUID,
@UI.fieldGroup:[{qualifier: 'IncoTerms', position: 70, label: 'Deviating Place of Destination Desc'}]
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
IncotermsDvtgLocDescription,
@UI: {fieldGroup: { qualifier: 'IncoTerms', position: 60, importance: #HIGH,
label: 'Deviating Place of Destination'}}
@ObjectModel.readOnly:'EXTERNAL_CALCULATION'
@Consumption.valueHelpDefinition: [{entity: {name: 'I_TransportationLocationVH', element: 'Location'} }]
@UI.textArrangement: #TEXT_FIRST
IncotermsDvtgLocIdentifier,
@UI.hidden: true
IncotermsSupChnDvtgLocAddlUUID,
@Search: { defaultSearchElement: true, fuzzinessThreshold: 0.7, ranking: #LOW}
@UI: { fieldGroup: {qualifier: 'Header', position: 10, importance: #HIGH, label:'Purchase Contract Name' }}
// identification: { position: 8, importance:#HIGH, label:'Purchase Contract Name'} }
@ObjectModel.readOnly:'EXTERNAL_CALCULATION'
PurchasingDocumentName,
@UI.hidden: true
PurchasingDocumentOrigin,
ReleaseIsNotCompleted,
@UI: {
selectionField.position: 10 }
@EndUserText.label: 'Status'
@EndUserText.quickInfo: 'Status of Purchasing Document'
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_PurchaseContractStatus',
element: 'PurchasingProcessingStatusName' }
,
additionalBinding: [{ localElement: 'PurchasingProcessingStatus',
element: 'PurchasingProcessingStatus'}]
}]
@ObjectModel.text.element: ['PurchasingProcessingStatusName']
@UI.textArrangement: #TEXT_ONLY
PurchasingProcessingStatus,
@UI.hidden: true
PurchasingItemHasHierarchy, // Changes of purchase contract with hierarchy items
@ObjectModel.readOnly: true
@EndUserText.label: 'Consumed Value'
_ContractTransientField.PurchaseContractConsumedAmount as PurContrConsumedVal, //part of VDM changes
@ObjectModel.readOnly: true
@ObjectModel.sort.enabled: false
_PurContrValidityStatus.PurContrStatusCriticality,
@ObjectModel.readOnly: true
@UI.hidden: true
PurContrValidityStatus_2,
@ObjectModel.readOnly: true
@ObjectModel.sort.enabled: true
@ObjectModel.filter.enabled: true
@EndUserText.label: 'Validity Status'
@EndUserText.quickInfo: 'Validity Status'
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_PurContrValidityStatusVH',
element: 'PurContrValidityStatusText' } }]
@UI: {
selectionField: [{position:30}],
lineItem: [{position: 70, label: 'Validity Status', criticality: 'PurContrStatusCriticality', criticalityRepresentation: #WITHOUT_ICON }]
}
_PurContrValdtyStatusValueHelp.PurContrValidityStatusText,
@ObjectModel.readOnly: true
@UI.hidden: true
_PurchaseContractStatus.PurchasingProcessingStatusName,
@ObjectModel.readOnly: true
@EndUserText.label: 'Advncd Pur. Con. Ind.'
@EndUserText.quickInfo: 'Advanced Purchase Contract Indicator'
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_PURCHASECON_TRA_EXIT'
_ContractTransientField.PurContrHasAdvncdUsrInterface,
@ObjectModel.readOnly: true
_ContractTransientField.NumberOfDays,
@ObjectModel.readOnly: true
@ObjectModel.virtualElement : true
_ContractTransientField.IsExpired,
@UI.hidden: true
@ObjectModel.readOnly: true
@ObjectModel.virtualElement : true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_PURCHASECON_TRA_EXIT'
_ContractTransientField.PurContrOutputCtrlType,
@EndUserText.label: 'Output Control Status'
@ObjectModel.readOnly: true
@ObjectModel.virtualElement : true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_PURCHASECON_TRA_EXIT'
_ContractTransientField.PurContrOutputCtrlStatus,
@EndUserText.label: 'Output Control Status Text'
@ObjectModel.readOnly: true
@ObjectModel.virtualElement : true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_PURCHASECON_TRA_EXIT'
_ContractTransientField.PurContrOutputCtrlStatusTxt,
@ObjectModel.readOnly: true
@ObjectModel.virtualElement : true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_PURCHASECON_TRA_EXIT'
_ContractTransientField.PurContrOutputCtrlDateTime as PurContrOutputCtrlTime,
@ObjectModel.readOnly: true
@ObjectModel.virtualElement : true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_PURCHASECON_TRA_EXIT'
_ContractTransientField.AccWorkflowApprover,
@UI.hidden: true //to remove duplicate from personalisation
@ObjectModel.readOnly: true
@ObjectModel.virtualElement : true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_PURCHASECON_TRA_EXIT'
_ContractTransientField.AccWorkflowApproverFirstName,
@ObjectModel: {
readOnly: true,
virtualElement,
virtualElementCalculatedBy: 'ABAP:CL_PURCHASECON_TRA_EXIT'
}
@UI: {
lineItem: {position: 80, label: 'Approval Status'},
dataPoint: { title: 'Approval Status' }}
@EndUserText.quickInfo: 'Status of Approval'
_ContractTransientField.ApprovalStatusName,
@ObjectModel.filter.enabled: false
_CTRApprover,
@ObjectModel: {
readOnly: true,
virtualElement,
virtualElementCalculatedBy: 'ABAP:CL_PURCHASECON_TRA_EXIT'
}
cast( '' as mm_approver_name ) as ApproverName,
@ObjectModel: {
readOnly: true,
virtualElement,
virtualElementCalculatedBy: 'ABAP:CL_PURCHASECON_TRA_EXIT'
}
@UI.hidden: true
cast( 0 as mmpur_approver_count ) as PurchaseContrNumberOfApprovers,
//To avoid additional call in object page
@UI: {fieldGroup: [ {qualifier: 'AddOnField', position: 10, importance: #HIGH , label:'Approver'} ]}
@ObjectModel.filter.enabled: false
@ObjectModel.readOnly: true
@UI.multiLineText: true
_ContractTransientField.WorkflowApproverNote,
@ObjectModel: {
readOnly: true,
virtualElement,
virtualElementCalculatedBy: 'ABAP:CL_PURCHASECON_TRA_EXIT'
}
@UI: {
dataPoint: { title: 'Purchasing Document Status' }}
@EndUserText.quickInfo: 'Short Description of Purchasing Document'
_ContractTransientField.PurchasingDocumentStatus,
@ObjectModel.readOnly: true
@UI.hidden: true
_ContractTransientField.WeightedRelevance,
@ObjectModel.readOnly: true
@ObjectModel.virtualElement : true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_PURCHASECON_TRA_EXIT'
@EndUserText.label: 'Consumption Criticality'
_ContractTransientField.PurContrCnsmpnCriticality,
@UI.hidden: true
@ObjectModel.readOnly: true
PurContrCriticalityStatus,
@UI.hidden: true
@ObjectModel.readOnly: true
_PurContrCriticalityStatus.StatusCriticality,
@ObjectModel.readOnly: true
@ObjectModel.sort.enabled: false
@ObjectModel.filter.enabled: true
@EndUserText.label: 'Attention Required'
@EndUserText.quickInfo: 'Attention Required'
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_PurContrCriticalityStatus',
element: 'PurContrCriticalityStatusText' } }]
@UI: {
selectionField: [{position:20}],
dataPoint: { title: 'Attention Required' } }
_PurContrCriticalityStatus.PurContrCriticalityStatusText,
@ObjectModel.readOnly: true
@ObjectModel.filter.enabled: true
@UI.selectionField: {position: 110}
CreatedByUserName,
@ObjectModel.readOnly: true
@UI.lineItem :[
{
position: 20,
type:#AS_DATAPOINT ,
criticality: 'PurContrCnsmpnCriticality',
label: 'Consumption'
}]
@UI.dataPoint:
{
visualization:#PROGRESS,
title: 'Consumption'
}
@ObjectModel.virtualElement : true
@EndUserText.label: 'Consumption'
@ObjectModel.sort.enabled: false
ContractConsumptionInPct,
@ObjectModel.readOnly: true
@UI.hidden: true
IsPurContrTemplate,
@ObjectModel.readOnly: true
@EndUserText.quickInfo: 'Change Record Reference UUID'
@UI.hidden: true
ChangeRecordReferenceUUID,
@ObjectModel.readOnly: true
@ObjectModel.filter.enabled:true
@EndUserText.label: 'Source System ID'
@UI: {fieldGroup: [ { qualifier: 'ExtRefDetails',position: 90, importance: #HIGH , label:'Source System ID'} ] }
_PurchaseContractExtReference.PurgDocExternalReference,
@ObjectModel.readOnly: true
@ObjectModel.filter.enabled:false
@EndUserText.label: 'Source System'
@UI: {fieldGroup: [ { qualifier: 'ExtRefDetails',position: 80,