@AbapCatalog.sqlViewName: 'CSPNGNQTNSUMM'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@ClientHandling.algorithm: #SESSION_VARIABLE
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #NOT_REQUIRED
@Metadata.allowExtensions: true
@VDM.viewType: #CONSUMPTION
@EndUserText.label: 'Quotation Summary for Srcg Proj Negttn'
@ObjectModel:{ representativeKey: 'SrcgProjNegttnQuotationUUID',
semanticKey: [ 'SrcgProjNegttnQuotationUUID' ],
usageType.dataClass: #TRANSACTIONAL,
usageType.serviceQuality: #C,
usageType.sizeCategory: #M }
@UI.headerInfo:{
typeName: 'Quotations',
typeNamePlural: 'Quotations'
}
@UI.presentationVariant: [{
sortOrder: [
{ by: 'SourcingProjectQuotation', direction: #DESC } ],
visualizations: [{ type: #AS_LINEITEM }],
requestAtLeast: [ 'NegttnQtnRevisionIsEnabled', 'SPNegttnIsQuantityNegotiation', 'SourcingProjectNegotiationType', 'NmbrOfSPQtnForQtyNegotiation' ]
}]
define view C_SrcgProjNegttnQtanSummary
as select from I_SrcgProjNegttnQtanSummary as _SrcgProjNegttnQtanSummary
association [1..1] to R_SourcingProjectNegotiation as _SourcingProjectNegotiation on $projection.SourcingProjectNegotiationUUID = _SourcingProjectNegotiation.SourcingProjectNegotiationUUID
association [1..1] to R_SourcingProjectQuotation as _SourcingProjectQuotation on $projection.SourcingProjectQuotationUUID = _SourcingProjectQuotation.SourcingProjectQuotationUUID
association [1..*] to C_SPNegttnRevisedQuotation as _SPNegttnRevisedQuotation on $projection.SrcgProjNegttnQuotationUUID = _SPNegttnRevisedQuotation.SrcgProjNegttnQuotationUUID
//Extension
association [1..1] to E_SrcgProjNegotiationQuotation as _Extension on $projection.SrcgProjNegttnQuotationUUID = _Extension.SrcgProjNegttnQuotationUUID
{
@UI.hidden: true
key SrcgProjNegttnQuotationUUID,
@UI.hidden: true
SourcingProjectQuotationUUID,
@UI.hidden: true
SourcingProjectNegotiationUUID,
@UI.lineItem: [{ position: 10, importance: #HIGH, label:'Supplier Quotation' }]
@Consumption.semanticObject: 'SourcingProjectQuotation'
SourcingProjectQuotation,
@UI.hidden: true
_SourcingProjectQuotation.SourcingProjectQuotationName,
@UI.hidden: true
@UI.lineItem: [{ position: 20, importance: #HIGH, label:'Version' }]
SrcgProjQuotationVersion,
@UI.lineItem: [{ position: 30, importance: #HIGH, label:'Status' }]
@ObjectModel.text.element: ['SrcgProjQtnLifecycleStatusName']
@UI.textArrangement: #TEXT_ONLY
_SourcingProjectQuotation.SrcgProjQtnLifecycleStatus,
@UI.hidden: true
_SourcingProjectQuotation._SrcgProjQtnLifecycleSts._Text[1:Language=$session.system_language].SrcgProjQtnLifecycleStatusName,
@UI.hidden: true
SPQtnForNegttnLtstVersionUUID,
@UI.lineItem: [{ position: 20, importance: #HIGH, label:'Quotation Versions' }]
@ObjectModel: { virtualElement,
virtualElementCalculatedBy: 'CL_MMPUR_SPNGN_QTNSUMM_EXIT',
readOnly: true }
cast( 0 as vdm_srcgprojqtnversinnegttn) as SrcgProjQtnVersInNegttnValue,
@UI.lineItem: [{ position: 40, importance: #HIGH, label:'Date' }]
@ObjectModel: { virtualElement,
virtualElementCalculatedBy: 'CL_MMPUR_SPNGN_QTNSUMM_EXIT',
readOnly: true }
@UI.hidden: true
cast( '' as vdm_submissiondate) as QuotationLatestSubmissionDate,
@UI.lineItem: [{ position: 50, importance: #HIGH, label:'Supplier Name' }]
@ObjectModel.text.element: ['BusinessPartnerName']
@UI.textArrangement: #TEXT_ONLY
@Consumption.semanticObject:'Supplier'
Bidder,
@UI.hidden: true
_SrcgProjNegttnQtanSummary._BusinessPartner.BusinessPartnerName,
@UI.lineItem: { position: 60, importance: #HIGH, label:'Items Offered' }
@ObjectModel: { virtualElement,
virtualElementCalculatedBy: 'CL_MMPUR_SPNGN_QTNSUMM_EXIT',
readOnly: true }
cast(0 as vdm_spqtnitemsofferedconcat) as SrcgProjQtanItemsOfferedValue,
@UI.lineItem: [{ position: 70, importance: #HIGH, label:'Initial Value' }]
@ObjectModel: { virtualElement,
virtualElementCalculatedBy: 'CL_MMPUR_SPNGN_QTNSUMM_EXIT',
readOnly: true }
@Semantics.amount.currencyCode: 'DocumentCurrency'
cast(0 as vdm_spqtnforngninittotnetamt) as SPQtnForNegttnInitTotNetAmount,
//SrcgProjQtnTotNetAmt,
DocumentCurrency,
@UI.lineItem: { position: 80, importance: #HIGH, label:'Final Value' }
@ObjectModel: { virtualElement,
virtualElementCalculatedBy: 'CL_MMPUR_SPNGN_QTNSUMM_EXIT',
readOnly: true }
@Semantics.amount.currencyCode: 'DocumentCurrency'
SrcgProjNegttnTotalTargetAmt as SPQtnForNegttnFnlTotNetAmount,
@UI.lineItem: { position: 90, importance: #HIGH, label:'Difference'}
@ObjectModel: { virtualElement,
virtualElementCalculatedBy: 'CL_MMPUR_SPNGN_QTNSUMM_EXIT',
readOnly: true }
@Semantics.amount.currencyCode: 'DocumentCurrency'
cast(0 as vdm_srcgprojngntotaltargetamt) as SPQtnForNegttnTotCostSavingAmt,
@UI.lineItem: { position: 100, importance: #HIGH, label:'Rank'}
@ObjectModel: { virtualElement,
virtualElementCalculatedBy: 'CL_MMPUR_SPNGN_QTNSUMM_EXIT',
readOnly: true }
cast(0 as vdm_spqtnforngnrankvalue) as SPQtnForNegotiationRankValue,
@UI.lineItem: { position: 110, importance: #HIGH, label:'No. of Revised Qtns'}
@ObjectModel: { virtualElement,
virtualElementCalculatedBy: 'CL_MMPUR_SPNGN_QTNSUMM_EXIT',
readOnly: true }
cast( 0 as vdm_srcgprojngnnmbrofspqtn) as NmbrOfSPQtnForQtyNegotiation,
@UI.hidden: true
case when _SourcingProjectNegotiation.SrcgProjNegotiationStartDate <= $session.system_date
and _SourcingProjectNegotiation.SrcgProjNegotiationEndDate >= $session.system_date
and _SourcingProjectNegotiation.SrcgProjNegttnLifecycleStatus = '02' // Published
and _SourcingProjectQuotation.SrcgProjQtnLifecycleStatus = '02' // Submitted
then 'X'
else ' ' end as NegttnQtnRevisionIsEnabled,
@UI.hidden: true
_SourcingProjectNegotiation.SourcingProjectNegotiationType as SourcingProjectNegotiationType,
_SourcingProjectNegotiation,
_SourcingProjectQuotation,
_SPNegttnRevisedQuotation
}