@EndUserText.label: 'HCM Process Affected Object'
@AbapCatalog: { sqlViewName: 'CPROCAFFCDOBJQV',
compiler.compareFilter: true,
preserveKey: true }
@AccessControl.authorizationCheck: #PRIVILEGED_ONLY
@ClientHandling.algorithm: #SESSION_VARIABLE
//@Consumption.filter.businessDate.at: true
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel: { representativeKey: 'HCMProcessAffectedObject',
usageType.sizeCategory: #L,
usageType.dataClass: #MASTER,
usageType.serviceQuality: #C }
@VDM.viewType: #CONSUMPTION
define view C_HCMProcAffcdObjQuickVw
as select from I_HCMProcessAffectedObject
association [0..1] to I_HCMObjectType as _HCMObjectType on $projection.HCMObjectType = _HCMObjectType.HCMObjectType
association [0..*] to I_HCMOrganizationalUnit as _HCMOrganizationalUnit on $projection.HCMOrganizationalUnit = _HCMOrganizationalUnit.HCMOrganizationalUnit
association [0..1] to I_HCMPositionVH as _HCMPosition on $projection.HCMPosition = _HCMPosition.HCMPosition
and _HCMPosition.HCMObjectType = 'S'
{
@UI.facet: [ {
purpose: #QUICK_VIEW,
type: #FIELDGROUP_REFERENCE,
targetQualifier: 'AdditionalDetailsQV',
label: 'Additional Details'
}
]
@ObjectModel.foreignKey.association: '_HCMObjectType'
key HCMObjectType,
key HCMProcessAffectedObject,
// @Semantics.businessDate.to: true
// @Consumption.hidden: true
// key EndDate,
// @Semantics.businessDate.from: true
// @Consumption.hidden: true
// StartDate,
cast(HCMProcessAffectedObjectName as abap.char(30)) as HCMProcessAffectedObjectName,
@UI.fieldGroup: [{ qualifier:'AdditionalDetailsQV', position: 05, hidden: #(UICT_JobIsHidden) }]
cast(case HCMObjectType when 'C' then HCMProcessAffectedObjectName else '' end as stltx) as HCMJobTitle,
@UI.fieldGroup: [{ qualifier:'AdditionalDetailsQV', position: 05, hidden: #(UICT_PositionIsHidden) }]
cast(case HCMObjectType when 'S' then HCMProcessAffectedObjectName else '' end as plstx) as HCMPositionName,
@UI.fieldGroup: [{ qualifier:'AdditionalDetailsQV', position: 05, hidden: #(UICT_OrgIsHidden) }]
cast(case HCMObjectType when 'O' then HCMProcessAffectedObjectName else '' end as orgtx) as HCMOrganizationalUnitName,
@UI.fieldGroup: [{ qualifier:'AdditionalDetailsQV', position: 05, label: 'Employee Name', hidden: #(UICT_EmployeeIsHidden) }]
cast(case HCMObjectType when 'P' then HCMProcessAffectedObjectName else '' end as emnam) as HCMEmployeeName,
HCMOrganizationalUnit,
@UI.fieldGroup: [{ qualifier:'AdditionalDetailsQV', position: 10, label: 'Organizational Unit', hidden: #(UICT_EmployeeIsHidden) }]
concat(concat(concat(_HCMOrganizationalUnit._Text[1:Language=$session.system_language].HCMOrganizationalUnitName,' ('),HCMOrganizationalUnit),')') as OrganizationalUnitName,
HCMPosition,
@UI.fieldGroup: [{ qualifier:'AdditionalDetailsQV', position: 15, label: 'Position', hidden: #(UICT_EmployeeIsHidden) }]
concat(concat(concat(_HCMPosition._Text[1:Language=$session.system_language].HCMPositionName,' ('),HCMPosition),')') as PositionName,
@UI.fieldGroup: [{ qualifier:'AdditionalDetailsQV', position: 20, hidden: #(UICT_EmployeeIsHidden) }]
@EndUserText.label: 'Email' // To be removed after casting to appropriate data element
@Semantics.eMail.address: true
HCMEmployeeEmailAddress,
@UI.fieldGroup: [{ qualifier:'AdditionalDetailsQV', position: 25, hidden: #(UICT_EmployeeIsHidden) }]
@EndUserText.label: 'Work Phone' // To be removed after casting to appropriate data element
@Semantics.telephone.type: [#WORK, #PREF]
HCMEmployeeWorkPhoneNumber,
@UI.hidden: true
@Semantics.booleanIndicator: true
cast(case HCMObjectType when 'P' then ' ' else 'X' end as boolean) as UICT_EmployeeIsHidden,
@UI.hidden: true
@Semantics.booleanIndicator: true
cast(case HCMObjectType when 'O' then ' ' else 'X' end as boolean) as UICT_OrgIsHidden,
@UI.hidden: true
@Semantics.booleanIndicator: true
cast(case HCMObjectType when 'S' then ' ' else 'X' end as boolean) as UICT_PositionIsHidden,
@UI.hidden: true
@Semantics.booleanIndicator: true
cast(case HCMObjectType when 'C' then ' ' else 'X' end as boolean) as UICT_JobIsHidden,
/* Associations */
@ObjectModel.sort.enabled: false
@ObjectModel.filter.enabled: false
_HCMObjectType,
@Consumption.filter.businessDate.at: true
@ObjectModel.sort.enabled: false
@ObjectModel.filter.enabled: false
_HCMOrganizationalUnit,
@ObjectModel.sort.enabled: false
@ObjectModel.filter.enabled: false
_HCMPosition
}
where
StartDate <= $session.system_date
and EndDate >= $session.system_date
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_HCMORGANIZATIONALUNIT",
"I_HCMORGANIZATIONALUNITTEXT",
"I_HCMPOSITIONTEXT",
"I_HCMPOSITIONVH",
"I_HCMPROCESSAFFECTEDOBJECT"
],
"ASSOCIATED":
[
"I_HCMOBJECTTYPE",
"I_HCMORGANIZATIONALUNIT",
"I_HCMPOSITIONVH"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/