18 Hierarchies
18 Hierarchies
sqlViewName: 'ZCJANFLIGHTM'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Flight Meal Consumption CDS view'
@VDM.viewType: #CONSUMPTION
@OData.publish: true
@ObjectModel: {
modelCategory: #BUSINESS_OBJECT,compositionRoot: true,
transactionalProcessingEnabled: true,
createEnabled: true,
updateEnabled: true,
deleteEnabled: true,
writeActivePersistence: 'ZOFT_MEAL',
draftEnabled: true,
writeDraftPersistence: 'ZOFT_MEALJAN'
}
Hierarchy Classical
@AbapCatalog.sqlViewName: 'ZJANPEMP'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Basic Private view on emp manager'
@VDM.viewType: #BASIC
@Analytics.dataCategory: #DIMENSION
public section.
methods /BOBF/IF_FRW_ACTION~EXECUTE
redefinition .
protected section.
private section.
ENDCLASS.
@AbapCatalog.sqlViewName: 'ZATSEMPNEW'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Normal CDS with Self Ref as pre-requisite for hier'
define view ZSELF_REF_FOR_HIER as select from zoft_emp_mgr
association[1..*] to ZSELF_REF_FOR_HIER as _Manager on
$projection.Manager = _Manager.Employee
{
//zoft_emp_mgr
key empid as Employee,
key empname as EmployeeName,
managerid as Manager,
costcenter as CostCenter,
_Manager
}
*&---------------------------------------------------------------------*
*& Report zjan_hier_call
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT zjan_hier_call.
cl_demo_output=>display_data(
EXPORTING
value = itab
* name =
).
@AbapCatalog.sqlViewName: 'ZJANHCLASS'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Interface Basic Hierarchy Classical'
@Hierarchy.parentChild: [{
name: 'EmployeeMgr',
recurse: { parent: ['Manager' ], child: ['Employee'] }
}]
define view ZATS_I_EMPMGR as select from ZATS_P_EMPLOYEE
association[1..*] to ZATS_P_EMPLOYEE as _Manager on
$projection.empid = _Manager.empid
{
//ZATS_P_EMPLOYEE
@EndUserText.label: 'Employee Id'
@ObjectModel.text.element: ['EmployeeName']
key ZATS_P_EMPLOYEE.empid as Employee,
@EndUserText.label: 'Employee Name'
ZATS_P_EMPLOYEE.empname as EmployeeName,
@EndUserText.label: 'Manager Id'
ZATS_P_EMPLOYEE.managerid as Manager,
@EndUserText.label: 'Cost Center'
ZATS_P_EMPLOYEE.costcenter as CostCenter,
//_Manager
key _Manager
}
@AbapCatalog.sqlViewName: 'ZCOEMPHRS'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'join time recording with Emp Mgr Hierarchy'
@VDM.viewType: #COMPOSITE
@Analytics.dataCategory: #CUBE
key empid,
@DefaultAggregation: #SUM
@EndUserText.label: 'Planned Effort'
planned,
@DefaultAggregation: #SUM
@EndUserText.label: 'Actual Effort'
recorded,
_Employee.CostCenter as CostCenter,
_CostCenter,
_Employee
}