@AccessControl.authorizationCheck: #MANDATORY
@Search.searchable: true
@VDM: { viewType:#CONSUMPTION,
usage.type: [#TRANSACTIONAL_PROCESSING_SERVICE] }
@ObjectModel: { semanticKey: [ 'SrcgProjQuotationVersion', 'SourcingProjectQuotation' ],
modelingPattern: #TRANSACTIONAL_QUERY,
supportedCapabilities: [#TRANSACTIONAL_PROVIDER],
representativeKey: 'SourcingProjectQuotationUUID',
usageType:{ dataClass: #MIXED,
serviceQuality: #C,
sizeCategory: #L }
}
@AccessControl.privilegedAssociations: [ '_CreatedByUser', '_ChangedByUser','_LegalTransaction' ]
@Metadata.allowExtensions: true
@EndUserText.label: 'Quotation for Sourcing Project - TP'
@AbapCatalog.extensibility: {
extensible: true,
dataSources: ['SourcingProjectQuotationTP'],
allowNewDatasources: false,
elementSuffix: 'SQH',
quota: { maximumFields: 404,
maximumBytes: 40400 },
allowNewCompositions: true }
define root view entity C_SourcingProjectQuotationTP
provider contract transactional_query
as projection on R_SourcingProjectQuotationTP as SourcingProjectQuotationTP
association [0..*] to C_SrcgProjQtnLegalTransaction as _LegalTransaction on _LegalTransaction.LglCntntMLinkdObj = $projection.LglCntntMLinkdObj
and _LegalTransaction.LglCntntMIntegrationLink = 'SQN'
{
key SourcingProjectQuotationUUID,
SourcingProjectQuotation,
SrcgProjQuotationVersion,
@ObjectModel.text.element: ['SourcingProjectTypeText']
SourcingProjectQuotationType,
@UI.hidden: true
_SourcingProjectTypeText.SourcingProjectTypeText : localized,
SourcingProjectQuotationName,
SrcgProjQuotationIsSimulated,
@UI.hidden: true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_MM_SPQTN_TRANS_EXIT'
virtual UICT_SrcgProjQtnIsSimulated : abap.int1,
@UI.hidden: true
@Semantics.booleanIndicator: true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_MM_SPQTN_TRANS_EXIT'
virtual UICT_SrcgProjQtnIsSimHidden : boolean,
@Consumption.semanticObject: 'BusinessPartner'
@ObjectModel.text.element: ['BusinessPartnerFullName']
Bidder,
_BusinessPartner.BusinessPartnerFullName,
@ObjectModel.text.element: ['CompanyCodeName']
CompanyCode,
_CompanyCode.CompanyCodeName,
@ObjectModel.text.element: ['PurchasingGroupName']
PurchasingGroup,
_PurchasingGroup.PurchasingGroupName,
@ObjectModel.text.element: ['PurchasingOrganizationName']
PurchasingOrganization,
_PurchasingOrganization.PurchasingOrganizationName,
@ObjectModel.text.element: ['CurrencyName']
SrcgProjQtnOfferCurrency,
_OfferCurrencyText.CurrencyName : localized,
SrcgProjQtnTotNetAmt,
@ObjectModel.text.element: ['SrcgProjQtnLifecycleStatusName']
SrcgProjQtnLifecycleStatus,
_SrcgProjQtnLifecycleSts._Text.SrcgProjQtnLifecycleStatusName : localized,
SrcgProjQtnRevisionSts,
SrcgProjQtnActvtnSts,
SrcgProjQtnSubmsnSts,
SrcgProjQtnAwardingStatus,
SourcingProjectUUID,
SourcingProjectNegotiationUUID,
PricingProcedure,
LastChangedByUser,
CreatedByUser,
LastChangeDateTime,
CreationDateTime,
SrcgProjAttchsAreForbidden,
SrcgProjNotesAreForbidden,
@ObjectModel.text.element: ['SrcgProjSourcingOriginText']
SourcingOrigin,
_SrcgProjSourcingOriginText.SrcgProjSourcingOriginText : localized,
ExternalSourcingProjectQtnRef,
QtnLatestSubmissionDateTime,
LogicalSystem,
SourceSrcgProjQuotationUUID,
IsEndOfPurposeBlocked,
CashDiscount1Days,
CashDiscount2Days,
CashDiscount1Percent,
CashDiscount2Percent,
NetPaymentDays,
@ObjectModel.text.element: ['MaterialGroupName']
MaterialGroup,
_MaterialGroupText.MaterialGroupName : localized,
SourcingAwardingDate,
LglCntntMLinkdObj,
_SrcgProjQtnSuitabilityTxt.SrcgProjQtnSuitabilityText : localized,
@ObjectModel: { text.element: ['SrcgProjQtnSuitabilityText'] }
SrcgProjQtnSuitability,
@ObjectModel: { text.element: ['SrcgProjVersionConcatenated'] }
@Consumption.semanticObject: 'SourcingProject'
_SourcingProject.SourcingProject,
_SourcingProject.SourcingProjectVersion,
_SourcingProject.SrcgProjVersionConcatenated,
_SourcingProject.ExchangeRateType,
@Semantics.amount.currencyCode: 'DocumentCurrency'
_SourcingProject.SrcgProjTotalTargetAmount,
@ObjectModel.text.element: ['DocumentCurrencyName']
_SourcingProject.DocumentCurrency,
_SourcingProject._DocumentCurrency._Text.CurrencyName as DocumentCurrencyName : localized,
@Consumption.semanticObject: 'SourcingProjectNegotiation'
@ObjectModel.text.element: ['SourcingProjectNegotiationName']
_SourcingProjectNegotiation.SourcingProjectNegotiation,
_SourcingProjectNegotiation.SourcingProjectNegotiationName,
@ObjectModel.text.element: ['SrcgProjectNegotiationTypeName']
_SourcingProjectNegotiation.SourcingProjectNegotiationType,
_SourcingProjectNegotiation._SrcgProjNegotiationType._Text.SrcgProjectNegotiationTypeName : localized,
@UI.hidden: true
@Semantics.booleanIndicator: true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_MM_SPQTN_TRANS_EXIT'
virtual SrcgProjQtnIsNotInNegotiation : boolean,
@UI.hidden: true
@Semantics.booleanIndicator: true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_MM_SPQTN_TRANS_EXIT'
virtual SPQtnIsNotInOngoingNegotiation : boolean,
@Semantics.booleanIndicator: true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_MM_SPQTN_TRANS_EXIT'
virtual IsChangeDocumentsEnabled : abap_boolean,
@UI.hidden: true
@Semantics.booleanIndicator: true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_MM_SPQTN_TRANS_EXIT'
virtual IsLglTransIntegEnabled : abap.char( 1 ),
@UI.hidden: true
@Semantics.booleanIndicator: true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_MM_SPQTN_TRANS_EXIT'
virtual SrcgProjQtnIsInPreparation : boolean,
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_MM_SPQTN_TRANS_EXIT'
virtual NoteTypeListText : abap.char( 450 ),
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_MM_SPQTN_TRANS_EXIT'
virtual SrcgProjQtnNegotiationStatus : vdm_srcgprojqtnnegotiationsts,
@UI.hidden: true
@ObjectModel.virtualElement: true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_MM_SPQTN_TRANS_EXIT'
virtual SrcgProjQtnSutbltyCritlty : mm_pur_spq_suitability_critlty,
@UI.hidden: true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_MM_SPQTN_TRANS_EXIT'
virtual UICT_SPQtnSutbltyHidden : abap_boolean,
@UI.hidden: true
@Semantics.booleanIndicator: true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_MM_SPQTN_TRANS_EXIT'
virtual UICT_ConfirmDemandEnablement : abap_boolean,
@UI.hidden: true
@ObjectModel.virtualElement: true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_MM_SPQTN_TRANS_EXIT'
virtual UICT_ConfirmDemandRsnIsHidden : abap_boolean,
@UI.hidden: true
@ObjectModel.sort.enabled: false
@ObjectModel.filter.enabled: false
@ObjectModel.virtualElement: true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_MM_SPQTN_TRANS_EXIT'
virtual UICT_ExclusionRsnIsEnabled : abap_boolean,
@UI.hidden: true
@ObjectModel.sort.enabled: false
@ObjectModel.filter.enabled: false
@ObjectModel.virtualElement: true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_MM_SPQTN_TRANS_EXIT'
virtual UICT_ExclusionRsnIsDisabled : abap_boolean,
@Semantics.amount.currencyCode: 'SrcgProjQtnOfferCurrency'
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_MM_SPQTN_TRANS_EXIT'
virtual SrcgProjQtnTotalTargetAmount : vdm_srcgprojqtntottargetamount,
@Semantics.amount.currencyCode: 'SrcgProjQtnOfferCurrency'
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_MM_SPQTN_TRANS_EXIT'
virtual SrcgProjQtnDeviationAmount : vdm_srcgprojqtndeviationamt,
@Semantics.quantity.unitOfMeasure: 'DeviationPercentUnit'
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_MM_SPQTN_TRANS_EXIT'
virtual SrcgProjQtnDeviationPercent : vdm_srcgprojqtndeviationpct,
cast(_DeviationPercentUnit.UnitOfMeasure as vdm_deviation_percent_unit preserving type ) as DeviationPercentUnit,
/* Associations */
@ObjectModel.filter.enabled: false
_SrcgProjQtnItem : redirected to composition child C_SrcgProjQtnItemTP,
_SrcgProjQtnAllowedCurrency : redirected to composition child C_SrcgProjQtnAllowedCurrencyTP,
_SrcgProjQtnSupplierContact : redirected to composition child C_SrcgProjQtnSupplierContactTP,
_BusinessPartner,
_CompanyCode,
_PurchasingGroup,
_PurchasingOrganization,
_SourcingProject,
_SrcgProjQtnLifecycleSts,
_SrcgProjQtnOfferCurrency,
//tbd
_CreatedByUser,
_ChangedByUser,
_MaterialGroup,
_LegalTransaction,
_SourceSrcgProjQuotation
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_BUSINESSPARTNER",
"I_COMPANYCODE",
"I_CURRENCY",
"I_CURRENCYTEXT",
"I_MATERIALGROUPTEXT",
"I_PURCHASINGGROUP",
"I_PURCHASINGORGANIZATION",
"I_SOURCINGPROJECTTYPETEXT",
"I_SRCGPROJNEGOTIATIONTYPE",
"I_SRCGPROJNEGOTIATIONTYPETEXT",
"I_SRCGPROJQTNLIFECYCLESTS",
"I_SRCGPROJQTNLIFECYCLESTSTEXT",
"I_SRCGPROJQTNSUITABILITYTXT",
"I_SRCGPROJSOURCINGORIGINTEXT",
"I_UNITOFMEASURE",
"R_SOURCINGPROJECT",
"R_SOURCINGPROJECTNEGOTIATION",
"R_SOURCINGPROJECTQUOTATIONTP"
],
"ASSOCIATED":
[
"C_SRCGPROJQTNALLOWEDCURRENCYTP",
"C_SRCGPROJQTNITEMTP",
"C_SRCGPROJQTNLEGALTRANSACTION",
"C_SRCGPROJQTNSUPPLIERCONTACTTP",
"I_BUSINESSPARTNER",
"I_COMPANYCODE",
"I_CURRENCY",
"I_MATERIALGROUP",
"I_PURCHASINGGROUP",
"I_PURCHASINGORGANIZATION",
"I_SRCGPROJQTNLIFECYCLESTS",
"I_USERCONTACTCARD",
"R_SOURCINGPROJECT",
"R_SOURCINGPROJECTQUOTATION",
"R_SRCGPROJQTNALLOWEDCURRENCYTP",
"R_SRCGPROJQTNITEMTP",
"R_SRCGPROJQTNSUPPLIERCONTACTTP"
],
"BASE":
[
"R_SOURCINGPROJECTQUOTATIONTP"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/