@AccessControl.authorizationCheck: #MANDATORY
@AccessControl.personalData.blocking: #NOT_REQUIRED
@AccessControl.privilegedAssociations: [ '_CreatedByUser' ]
@ObjectModel: { representativeKey: 'SourcingProjectUUID',
semanticKey: ['SourcingProject', 'SourcingProjectVersion'],
usageType.dataClass: #TRANSACTIONAL,
usageType.serviceQuality: #C,
usageType.sizeCategory: #L
}
@VDM.viewType: #CONSUMPTION
@Metadata.allowExtensions: true
@EndUserText.label: 'Sourcing Project'
@Search.searchable: true
define view entity C_SourcingProjectCompare
as select from R_SourcingProject
association [1..*] to C_SrcgProjItemHierarchy as _SrcgProjItemHierarchy on $projection.SourcingProjectUUID = _SrcgProjItemHierarchy.SourcingProjectUUID
association [1..*] to C_SrcgProjQuotationCompare as _SrcgProjQuotationCompare on $projection.SourcingProjectUUID = _SrcgProjQuotationCompare.SourcingProjectUUID
association [0..1] to C_SrcgProjPurchaserRespVH as _SrcgProjPurchaserRespVH on $projection.PurchaserRespWorkAgreement = _SrcgProjPurchaserRespVH.PersonWorkAgreement
association [1..1] to P_SourcingProjectBiddingRatio as _SourcingProjectBiddingRatio on $projection.SourcingProjectUUID = _SourcingProjectBiddingRatio.SourcingProjectUUID
//Extension
association [1..1] to E_SourcingProject as _Extension on $projection.SourcingProjectUUID = _Extension.SourcingProjectUUID
association [0..*] to C_SrcgProjItmCmmdtyQtyCompare as _SrcgProjItmCmmdtyQtyCompare on $projection.SourcingProjectUUID = _SrcgProjItmCmmdtyQtyCompare.SourcingProjectUUID
{
key SourcingProjectUUID,
@Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 1 }
SourcingProject,
@Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 1 }
SourcingProjectVersion,
@Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 1 }
@Consumption.valueHelpDefinition: [{entity.name: 'I_SourcingProjectTypeVH',entity.element:'SourcingProjectType'}]
@ObjectModel.foreignKey.association: '_SourcingProjectType'
SourcingProjectType,
@Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.7 }
SourcingProjectName,
@Consumption.valueHelpDefinition: [{ entity.name: 'I_SrcgProjLifecycleStatus', entity.element:'SrcgProjLifecycleStatus'}]
@ObjectModel.foreignKey.association: '_SrcgProjLifecycleStatus'
SrcgProjLifecycleStatus,
SrcgProjTotalTargetAmount,
@Consumption.valueHelpDefinition: [{ entity: {name: 'I_CurrencyStdVH', element: 'Currency' }}]
DocumentCurrency,
QtnLatestSubmissionDateTime,
SrcgProjPubgDteTme,
@UI.hidden: true
@ObjectModel.sort.enabled: false
@ObjectModel.filter.enabled: false
@ObjectModel.virtualElement: true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_MMPUR_SRCGPROJ_CMP_TRN_EXIT'
cast ( '' as boole_d preserving type ) as UICT_CBDIsDisabled,
_SourcingProjectBiddingRatio.NumberOfBiddersWithQuotation,
_SourcingProjectBiddingRatio.NumberOfBiddersWithRefusal,
_SourcingProjectBiddingRatio.NumberOfBidders,
_SourcingProjectBiddingRatio.NumberOfBiddersWithoutRsp,
@Consumption.valueHelpDefinition: [{ entity.name: 'I_SrcgProjCompanyCodeVH', entity.element: 'CompanyCode' }]
@Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 1 }
@ObjectModel.foreignKey.association: '_CompanyCode'
CompanyCode,
@Consumption.valueHelpDefinition: [{ entity.name: 'I_SrcgProjPurgOrganizationVH', entity.element:'PurchasingOrganization'}]
@Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 1 }
@ObjectModel.foreignKey.association: '_PurchasingOrganization'
PurchasingOrganization,
@Consumption.valueHelpDefinition: [{ entity.name: 'I_SrcgProjPurchasingGroupVH', entity.element:'PurchasingGroup'}]
@Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 1 }
@ObjectModel.foreignKey.association: '_PurchasingGroup'
PurchasingGroup,
@Consumption.valueHelpDefinition: [{ entity.name: 'I_SrcgProjMaterialGroupVH', entity.element: 'MaterialGroup' }]
@Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 1 }
@ObjectModel.foreignKey.association: '_MaterialGroup'
MaterialGroup,
@Consumption.valueHelpDefinition: [{ entity.name: 'C_SrcgProjPurchaserRespVH', entity.element: 'PersonWorkAgreement' }]
@ObjectModel: { foreignKey.association: '_SrcgProjPurchaserRespVH' }
PurchaserRespWorkAgreement,
@Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 1 }
@ObjectModel.foreignKey.association: '_CreatedByUser'
CreatedByUser,
@UI.hidden: true
@ObjectModel.sort.enabled: false
@ObjectModel.filter.enabled: false
@ObjectModel.virtualElement: true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_MMPUR_SRCGPROJ_CMP_TRN_EXIT'
cast ( '' as boole_d preserving type ) as UICT_ProdFprntIsDisabled,
/* Associations */
@ObjectModel.filter.enabled: false
_SrcgProjItemHierarchy,
@ObjectModel.filter.enabled: false
_SrcgProjQuotationCompare,
@ObjectModel.filter.enabled: false
_SrcgProjAllowedCurrency,
//foreign key
@ObjectModel.filter.enabled: false
_SourcingProjectType,
@ObjectModel.filter.enabled: false
_SrcgProjLifecycleStatus,
@ObjectModel.filter.enabled: false
_CompanyCode,
@ObjectModel.filter.enabled: false
_PurchasingOrganization,
@ObjectModel.filter.enabled: false
_PurchasingGroup,
@ObjectModel.filter.enabled: false
_MaterialGroup,
_CreatedByUser,
@ObjectModel.filter.enabled: false
_SrcgProjPurchaserRespVH,
@ObjectModel.filter.enabled: false
_SrcgProjItmCmmdtyQtyCompare
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"P_SOURCINGPROJECTBIDDINGRATIO",
"R_SOURCINGPROJECT"
],
"ASSOCIATED":
[
"C_SRCGPROJITEMHIERARCHY",
"C_SRCGPROJITMCMMDTYQTYCOMPARE",
"C_SRCGPROJPURCHASERRESPVH",
"C_SRCGPROJQUOTATIONCOMPARE",
"I_COMPANYCODE",
"I_MATERIALGROUP",
"I_PURCHASINGGROUP",
"I_PURCHASINGORGANIZATION",
"I_SOURCINGPROJECTTYPE",
"I_SRCGPROJALLOWEDCURRENCY",
"I_SRCGPROJLIFECYCLESTATUS",
"I_USERCONTACTCARD"
],
"BASE":
[
"R_SOURCINGPROJECT"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/