@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Impact Management Object List - TP'
@VDM.viewType: #TRANSACTIONAL
@ObjectModel: { usageType:{
serviceQuality: #X,
sizeCategory: #S,
dataClass: #MIXED } }
@VDM.lifecycle.contract.type: #SAP_INTERNAL_API
@Metadata.ignorePropagatedAnnotations: true
define view entity I_ImpctMgmtObjectListTP
//Connection by Domain
as select from I_ImpctMgmtConfiguration as _OBJ_SEL
inner join DDCDS_ENTITY_ELEMENTS as _source on _source.entity_name = _OBJ_SEL.ImpctMgmtEntityName
inner join DDCDS_ENTITY_ELEMENTS as _target on _target.entity_name <> _source.entity_name
and _target.domain_name = _source.domain_name
and _target.is_key = 'X'
inner join I_ImpctMgmtConfiguration as _OBJ_SEL1 on _target.entity_name = _OBJ_SEL1.ImpctMgmtEntityName
and _OBJ_SEL1.ImpctMgmtObjectSource = '01'
left outer to one join I_ImpctMgmtConfigurationT as _OBJ_SEL_T on _OBJ_SEL_T.ImpctMgmtObjectTypeName = _OBJ_SEL.ImpctMgmtObjectTypeName
left outer to one join I_ImpctMgmtConfigurationT as _OBJ_SEL_T_Target on _OBJ_SEL_T_Target.ImpctMgmtObjectTypeName = _OBJ_SEL1.ImpctMgmtObjectTypeName
left outer to one join dd04t as _source_field_desc on _source_field_desc.rollname = _source.data_element
and _source_field_desc.ddlanguage = $session.system_language
left outer to one join dd04t as _target_field_desc on _target_field_desc.rollname = _target.data_element
and _target_field_desc.ddlanguage = $session.system_language
{
@ObjectModel.text.element: ['ImpctMgmtSourceObjDescription']
key upper(_source.entity_name) as ImpctMgmtSourceEntityName,
@ObjectModel.text.element: ['ImpctMgmtSourceFieldText']
key _source.element_name as ImpctMgmtSourceFieldName,
@ObjectModel.text.element: ['ImpctMgmtTargetObjDescription']
key upper(_target.entity_name) as ImpctMgmtTargetEntityName,
_OBJ_SEL_T.ImpctMgmtObjectDescription as ImpctMgmtSourceObjDescription,
@Semantics.booleanIndicator:true
_source.is_key as ImpctMgmtSourceIsKeyFld,
_source_field_desc.ddtext as ImpctMgmtSourceFieldText,
@ObjectModel.text.element: ['ImpctMgmtTargetFieldText']
_target.element_name as ImpctMgmtTargetFieldName,
@Semantics.booleanIndicator:true
_target.is_key as ImpctMgmtTargetIsKeyField,
_target_field_desc.ddtext as ImpctMgmtTargetFieldText,
_OBJ_SEL_T_Target.ImpctMgmtObjectDescription as ImpctMgmtTargetObjDescription
}
where
_OBJ_SEL.ImpctMgmtObjectSource = '01'
union select from I_ImpctMgmtConfiguration as _OBJ_SEL
inner join I_Bodefinition as _BoDef on _BoDef.BusinessObject = _OBJ_SEL.ImpctMgmtEntityName
inner join DDCDS_ENTITY_ELEMENTS as _source on _source.entity_name = _BoDef.CDSView
inner join DDCDS_ENTITY_ELEMENTS as _target on _target.entity_name <> _source.entity_name
and _target.domain_name = _source.domain_name
and _target.is_key = 'X'
inner join I_ImpctMgmtConfiguration as _OBJ_SEL1 on _target.entity_name = _OBJ_SEL1.ImpctMgmtEntityName
left outer to one join I_ImpctMgmtConfigurationT as _OBJ_SEL_T on _OBJ_SEL_T.ImpctMgmtObjectTypeName = _OBJ_SEL.ImpctMgmtObjectTypeName
left outer to one join I_ImpctMgmtConfigurationT as _OBJ_SEL_T_Target on _OBJ_SEL_T_Target.ImpctMgmtObjectTypeName = _OBJ_SEL1.ImpctMgmtObjectTypeName
left outer to one join dd04t as _source_field_desc on _source_field_desc.rollname = _source.data_element
and _source_field_desc.ddlanguage = $session.system_language
left outer to one join dd04t as _target_field_desc on _target_field_desc.rollname = _target.data_element
and _target_field_desc.ddlanguage = $session.system_language
{
key upper(_OBJ_SEL.ImpctMgmtEntityName) as ImpctMgmtSourceEntityName,
key _source.element_name as ImpctMgmtSourceFieldName,
key upper(_target.entity_name) as ImpctMgmtTargetEntityName,
_OBJ_SEL_T.ImpctMgmtObjectDescription as ImpctMgmtSourceObjDescription,
_source.is_key as ImpctMgmtSourceIsKeyFld,
_source_field_desc.ddtext as ImpctMgmtSourceFieldText,
_target.element_name as ImpctMgmtTargetFieldName,
_target.is_key as ImpctMgmtTargetIsKeyField,
_target_field_desc.ddtext as ImpctMgmtTargetFieldText,
_OBJ_SEL_T_Target.ImpctMgmtObjectDescription as ImpctMgmtTargetObjDescription
}
where
_OBJ_SEL.ImpctMgmtObjectSource = '02'
union select from I_ImpctMgmtConfiguration as _OBJ_SEL
inner join I_Bodefinition as _BoDef on _BoDef.BusinessObject = _OBJ_SEL.ImpctMgmtEntityName
inner join DDCDS_ENTITY_ELEMENTS as _source on _source.entity_name = _BoDef.CDSView
inner join DDCDS_ENTITY_ELEMENTS as _target on _target.entity_name <> _source.entity_name
and _target.domain_name = _source.domain_name
and _target.is_key = 'X'
inner join I_Bodefinition as _BoDef1 on _BoDef1.CDSView = _target.entity_name
inner join I_ImpctMgmtConfiguration as _OBJ_SEL1 on _BoDef1.BusinessObject = _OBJ_SEL1.ImpctMgmtEntityName
left outer to one join I_ImpctMgmtConfigurationT as _OBJ_SEL_T on _OBJ_SEL_T.ImpctMgmtObjectTypeName = _OBJ_SEL.ImpctMgmtObjectTypeName
left outer to one join I_ImpctMgmtConfigurationT as _OBJ_SEL_T_Target on _OBJ_SEL_T_Target.ImpctMgmtObjectTypeName = _OBJ_SEL1.ImpctMgmtObjectTypeName
left outer to one join dd04t as _source_field_desc on _source_field_desc.rollname = _source.data_element
and _source_field_desc.ddlanguage = $session.system_language
left outer to one join dd04t as _target_field_desc on _target_field_desc.rollname = _target.data_element
and _target_field_desc.ddlanguage = $session.system_language
{
key upper(_OBJ_SEL.ImpctMgmtEntityName) as ImpctMgmtSourceEntityName,
key _source.element_name as ImpctMgmtSourceFieldName,
key upper(_OBJ_SEL1.ImpctMgmtEntityName) as ImpctMgmtTargetEntityName,
_OBJ_SEL_T.ImpctMgmtObjectDescription as ImpctMgmtSourceObjDescription,
_source.is_key as ImpctMgmtSourceIsKeyFld,
_source_field_desc.ddtext as ImpctMgmtSourceFieldText,
_target.element_name as ImpctMgmtTargetFieldName,
_target.is_key as ImpctMgmtTargetIsKeyField,
_target_field_desc.ddtext as ImpctMgmtTargetFieldText,
_OBJ_SEL_T_Target.ImpctMgmtObjectDescription as ImpctMgmtTargetObjDescription
}
where
_OBJ_SEL.ImpctMgmtObjectSource = '02'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"DDCDS_ENTITY_ELEMENTS",
"I_BODEFINITION",
"I_IMPCTMGMTCONFIGURATION",
"I_IMPCTMGMTCONFIGURATIONT",
"DD04T"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/