@AbapCatalog.sqlViewName: 'CPPMPROJRESTP'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #REQUIRED
@EndUserText.label: 'Main Consumption View for Maintain Resource'
//@Search.searchable: true
@ClientHandling.algorithm: #SESSION_VARIABLE
@VDM.viewType: #CONSUMPTION
@UI.presentationVariant.sortOrder.by: 'LastName'
@UI.presentationVariant.sortOrder.direction: #ASC
@Search.searchable: true
@ObjectModel: {
transactionalProcessingDelegated: true,
createEnabled: true,
deleteEnabled: true,
updateEnabled: true,
compositionRoot: true, -- on root node only
draftEnabled: true, -- on root node only
semanticKey: ['BusinessPartner']
}
@UI.headerInfo: {
typeName: 'Resource',
typeNamePlural: 'Resources',
title: { value: 'PersonFullName',label: 'LastName' },
description: { value: 'UserName' }
}
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #M
@ObjectModel.usageType.dataClass:#MIXED
@ObjectModel.delegatedAction: [ { name: 'MARK_FOR_ARCHIVING' }, { name: 'UNDO_MARK_FOR_ARCHIVING' },{ name: 'DOWNLOAD_CSV_TEMPLATE' }]
define view C_PPM_ProjectResourceTP
as select from I_BusinessUserTP
/*
association [1..1] to P_BPUsrRoleCustomizingType as _cust on $projection.BusinessPartner = _cust.BusinessPartner +[hideWarning] { "IDS" : [ "CARDINALITY_CHECK" ] }
OP2023
Probably bad quality - Next line is equivalent to I_BusinessUserTP.BusinessPartnerRoleCategory = 'WFM001'
and _cust.BusinessPartnerRoleType = 'WFM001'
*/
association [1..1] to P_BPUserPrsnlAddrNmbrConcat as _ChangeDocID on $projection.BusinessPartnerUUID = _ChangeDocID.BusinessPartnerUUID /*+[hideWarning] { "IDS" : [ "CARDINALITY_CHECK" ] }*/
{
@UI.facet: [
{purpose: #STANDARD,id: 'GeneralInfo',position: 1,importance: #HIGH,label: 'General Information',type: #COLLECTION},
{purpose: #STANDARD,id: 'ContactData',position: 1,importance: #HIGH,label: 'Contact Information',type: #COLLECTION},
{purpose: #STANDARD,id: 'PersonalDetails',position: 1,importance: #HIGH,label: 'Additional Information',type: #COLLECTION},
{purpose: #STANDARD,id: 'GeneralInfoFG1',parentId: 'GeneralInfo',position: 1,importance: #HIGH,type: #FIELDGROUP_REFERENCE,targetQualifier: 'BasicData',label: 'Basic Data'},
{purpose: #STANDARD,id: 'GeneralInfoFG2',parentId: 'GeneralInfo',position: 1,importance: #HIGH,type: #FIELDGROUP_REFERENCE,targetQualifier: 'ValidityPeriod', label: 'Validity Period'},
{purpose: #STANDARD,id: 'GeneralInfoFG3',parentId: 'GeneralInfo',position: 1,importance: #HIGH,type: #FIELDGROUP_REFERENCE,targetQualifier: 'BusinessUser', label:'Business User'},
{purpose: #STANDARD,id: 'ContactDataFG1',parentId: 'ContactData',position: 1,importance: #HIGH,type: #FIELDGROUP_REFERENCE,targetQualifier: 'Contact',label: 'Contact'},
{purpose: #STANDARD,id: 'ContactDataFG2',parentId: 'ContactData',position: 1,importance: #HIGH,type: #FIELDGROUP_REFERENCE,targetQualifier: 'Telephone', label: 'Telephone'},
{purpose: #STANDARD,id: 'ContactDataFG3',parentId: 'ContactData',position: 1,importance: #HIGH,type: #FIELDGROUP_REFERENCE,targetQualifier: 'MobilePhone',label: 'Mobile'},
{purpose: #STANDARD,id: 'PersonalDetailsFG1',parentId: 'PersonalDetails',position: 1,importance: #HIGH,type: #FIELDGROUP_REFERENCE,targetQualifier: 'NameData', label: 'Name Data'},
{purpose: #STANDARD,id: 'PersonalDetailsFG2',parentId: 'PersonalDetails',position: 1,importance: #HIGH,type: #FIELDGROUP_REFERENCE,targetQualifier: 'WorkPlaceData', label:'Workplace Data'}
]
@UI.hidden: true
key BusinessPartnerUUID,
@Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.85} //note:3145795
@UI.lineItem.position: 10
@Consumption.filter: {hidden: true}
@Consumption.semanticObject: 'BusinessPartner'
@EndUserText: { label: 'Resource ID', quickInfo: 'Resource ID' }
@UI.lineItem:[{position: 1, type: #FOR_ACTION, dataAction: 'BOPF:MARK_FOR_ARCHIVING', label: 'Mark For Archiving', importance: #HIGH}]
@UI.identification: [{position: 1, type: #FOR_ACTION, dataAction: 'BOPF:MARK_FOR_ARCHIVING', label: 'Mark for Archiving', importance: #HIGH},{position: 2, type: #FOR_ACTION, dataAction: 'BOPF:UNDO_MARK_FOR_ARCHIVING', label: 'Undo Mark for Archiving', importance: #HIGH}]
@ObjectModel.readOnly: true //note:3145778
@UI.fieldGroup: {qualifier: 'BasicData', position: 5} //note:3145778
I_BusinessUserTP.BusinessPartner,
// // |||||| Default Columns
@Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.85}
@ObjectModel.mandatory:true
@UI.selectionField: [ { position:10 } ] //note:3238871
@UI.lineItem: [ { position: 20 } ] //note:3238871
@ObjectModel.readOnly: false //note:3238871
@ObjectModel.enabled: true //note:3238871
@UI.fieldGroup: [ {qualifier: 'BasicData', position: 30} ]
LastName,
@Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.85}
@UI.selectionField: [ { position:20 } ] //note:3238871
@UI.lineItem: [ { position: 30 } ] //note:3238871
@ObjectModel.readOnly: false //note:3238871
@ObjectModel.enabled: true //note:3238871
@UI.fieldGroup: [ {qualifier: 'BasicData', position: 20} ] //note:3238871
FirstName,
@Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.85}
//@Consumption.valueHelpDefinition.entity : [ {name: 'C_FormOfAddressVH', element: 'FormOfAddress'} ] //note:3238871
@Consumption.valueHelpDefinition: [ { entity.name: 'C_FormOfAddressVH', entity.element: 'FormOfAddress'} ] //note:3238871
@Consumption.filter: {hidden: true}
@UI.fieldGroup: {qualifier: 'BasicData', position: 10}
FormOfAddress,
@Consumption.filter: {hidden: true}
@ObjectModel.mandatory:true
@UI.lineItem :[ { position: 50 } ] //note:3238871
@UI.fieldGroup: [ {qualifier: 'ValidityPeriod', position: 10} ] //note:3238871
ValidityStartDate,
@Consumption.filter: {hidden: true}
@ObjectModel.mandatory:true
@UI.lineItem: [ { position: 60 } ] //note:3238871
@UI.fieldGroup: [ {qualifier: 'ValidityPeriod', position: 20} ] //note:3238871
ValidityEndDate,
@Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.85} //note:3145795
@Consumption.filter: {hidden: true}
@Semantics.eMail.type: [ #PREF , #WORK ] //note:3238871
@Semantics.eMail.address: true
@ObjectModel.mandatory: false //note:3238871
//@UI.lineItem.importance: #HIGH //note:3238871
@UI.lineItem: [ { position: 40 } ] //note:3238871
@ObjectModel.readOnly: false //note:3238871
@ObjectModel.enabled: true //note:3238871
@UI.fieldGroup:[ {qualifier: 'Contact', position: 10} ] //note:3238871
EmailAddress,
@Consumption.filter: {hidden: true}
@EndUserText: { label: 'User Name', quickInfo: 'User Name' }
@Consumption.valueHelpDefinition.entity : [ {name: 'C_BPUSRASSIGNMENTVH', element: 'UserID'} ] //note:3238871
@UI.fieldGroup:[ {qualifier: 'BusinessUser', position: 10} ] //note:3238871
UserID,
// // |||||| Addtional Columns
@Consumption.filter: {hidden: true}
@EndUserText: { label: 'Phone', quickInfo: 'Phone' }
@ObjectModel.readOnly: false //note:3238871
@ObjectModel.enabled: true //note:3238871
@UI.fieldGroup: [ {qualifier: 'Telephone', position: 20} ] //note:3238871
PhoneNumber,
@Consumption.filter: {hidden: true}
@EndUserText: { label: 'Phone Extension', quickInfo: 'Phone Extension' }
@ObjectModel.readOnly: false //note:3238871
@ObjectModel.enabled: true //note:3238871
@UI.fieldGroup: [ {qualifier: 'Telephone', position: 30} ] //note:3238871
PhoneNumberExtension,
@Consumption.filter: {hidden: true}
@EndUserText: { label: 'Mobile', quickInfo: 'Mobile' }
@ObjectModel.readOnly: false //note:3238871
@ObjectModel.enabled: true //note:3238871
@UI.fieldGroup: [ {qualifier: 'MobilePhone', position: 20} ] //note:3238871
MobilePhoneNumber,
@Consumption.filter: {hidden: true}
@ObjectModel.readOnly: false //note:3238871
@ObjectModel.enabled: true //note:3238871
@UI.fieldGroup:[ {qualifier: 'Contact', position: 20} ] //note:3238871
@EndUserText: { label: 'Correspondence Language', quickInfo: 'Correspondence Language' }
@Consumption.valueHelpDefinition: [ { entity : {name: 'I_Language', element: 'Language'} } ] //note:3238871
CorrespondenceLanguage,
@Consumption.filter: {hidden: true}
@Semantics.name.fullName: true
@ObjectModel.readOnly: false //note:3238871
@ObjectModel.enabled: true //note:3238871
@UI.fieldGroup: [ {qualifier: 'NameData', position: 50} ] //note:3238871
PersonFullName,
@Consumption.filter: {hidden: true}
@ObjectModel.readOnly: false //note:3238871
@ObjectModel.enabled: true //note:3238871
@UI.fieldGroup: [ {qualifier: 'WorkPlaceData', position: 10} ] //note:3238871
Building,
@Consumption.filter: {hidden: true}
@ObjectModel.readOnly: false //note:3238871
@ObjectModel.enabled: true //note:3238871
@UI.fieldGroup:[ {qualifier: 'WorkPlaceData', position: 20} ] //note:3238871
RoomNumber,
@Consumption.filter: {hidden: true}
@ObjectModel.readOnly: false //note:3238871
@ObjectModel.enabled: true //note:3238871
@UI.fieldGroup: [ {qualifier: 'WorkPlaceData', position: 30} ] //note:3238871
Department,
@Consumption.filter: {hidden: true}
@ObjectModel.readOnly: false //note:3238871
@ObjectModel.enabled: true //note:3238871
@UI.fieldGroup: [ {qualifier: 'WorkPlaceData', position: 40} ] //note:3238871
FunctionalTitleName,
// |||||| Additional Fields in Object Page
@Consumption.filter: {hidden: true}
@EndUserText: { label: 'Country/Region Code', quickInfo: 'Country/Region Code' }
@ObjectModel.readOnly: false //note:3238871
@ObjectModel.enabled: true //note:3238871
@UI.fieldGroup: [ {qualifier: 'Telephone', position: 10} ] //note:3238871
@Consumption.valueHelpDefinition: [ { entity : { name: 'I_CountryVH', element: 'Country' } } ] //note:3238871
DestinationLocationCountry,
@ObjectModel.readOnly: true
@Consumption.filter: {hidden: true}
@EndUserText: { label: 'User Description', quickInfo: 'User Description' }
@UI.fieldGroup: [{qualifier: 'BusinessUser', position: 20}]
UserDescription,
@Consumption.filter: {hidden: true}
@EndUserText: { label: 'Country/Region Code', quickInfo: 'Country/Region Code' }
@ObjectModel.readOnly: false //note:3238871
@ObjectModel.enabled: true //note:3238871
@UI.fieldGroup: [ {qualifier: 'MobilePhone', position: 10} ] //note:3238871
@Consumption.valueHelpDefinition: [ { entity : { name: 'I_CountryVH', element: 'Country' } } ] //note:3238871
MblPhoneDestinationLocCountry,
@Consumption.filter: {hidden: true}
@ObjectModel.readOnly: false //note:3238871
@ObjectModel.enabled: true //note:3238871
@UI.fieldGroup: [ {qualifier: 'NameData', position: 10} ] //note:3238871
BirthName,
@Consumption.filter: {hidden: true}
@ObjectModel.readOnly: false //note:3238871
@ObjectModel.enabled: true //note:3238871
@UI.fieldGroup:[ {qualifier: 'NameData', position: 20} ] //note:3238871
MiddleName,
@Consumption.filter: {hidden: true}
@EndUserText: [ { label: 'Academic Title', quickInfo: 'Academic Title' } ] //note:3238871
@ObjectModel.readOnly: false //note:3238871
@ObjectModel.enabled: true //note:3238871
@UI.fieldGroup:[ {qualifier: 'NameData', position: 30} ] //note:3238871
@Consumption.valueHelpDefinition:[ { entity : {name: 'C_AcademicTitleVH', element: 'AcademicTitle'} } ] //note:3238871
AcademicTitle,
@Consumption.filter: {hidden: true}
@ObjectModel.readOnly: false //note:3238871
@ObjectModel.enabled: true //note:3238871
@UI.fieldGroup:[ {qualifier: 'NameData', position: 40} ] //note:3238871
Initials,
//// |||||| Other fields needed but hidden
@UI.selectionField: [ { position:30 } ] //note:3238871
@EndUserText:[ { label: 'User Name', quickInfo: 'User Name' } ] //note:3238871
UserName,
@UI.hidden: true
@ObjectModel.readOnly: true
// _cust.BusinessPartnerRoleType,
BusinessPartnerRoleCategory as BusinessPartnerRoleType,
@UI.hidden: true
AuthorizationGroup,
@UI.hidden: true
IsBusinessPurposeCompleted,
@UI.hidden: true
@ObjectModel.readOnly: true
_ChangeDocID.BusinessPartnerAddressID,
@UI.hidden: true
@ObjectModel.readOnly: true
_ChangeDocID.AddressUUID,
@UI.selectionField: [ { position:40 } ] //note:3238871
@ObjectModel.readOnly: false //note:3238871
@ObjectModel.enabled: true //note:3238871
@UI.fieldGroup:[ {qualifier: 'ValidityPeriod', position: 30} ] //note:3238871
@EndUserText: { label: 'Marked for Archiving', quickInfo: 'Marked for Archiving' }
@Consumption: {filter: {selectionType: #SINGLE, defaultValue: ' ' }}
@Consumption.valueHelpDefinition.entity : {name: 'C_RsceMrkdForDeletionVH', element: 'IndicatorValue'}
IsMarkedForArchiving,
@Consumption.hidden:true
DataControllerSet,
@Consumption.hidden:true
DataController1,
@Consumption.hidden:true
DataController2,
@Consumption.hidden:true
DataController3,
@Consumption.hidden:true
DataController4,
@Consumption.hidden:true
DataController5,
@Consumption.hidden:true
DataController6,
@Consumption.hidden:true
DataController7,
@Consumption.hidden:true
DataController8,
@Consumption.hidden:true
DataController9,
@Consumption.hidden:true
DataController10
}
where
BusinessPartnerRoleCategory = 'WFM001'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_BUSINESSUSERTP",
"P_BPUSERPRSNLADDRNMBRCONCAT"
],
"ASSOCIATED":
[
"P_BPUSERPRSNLADDRNMBRCONCAT"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/