@AbapCatalog.sqlViewName: 'SUI_TM_MM_APP_VA'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #NOT_ALLOWED
@EndUserText.label: 'CDS View for Launchpad App Descriptor Items - reduced view'
define view CDS_SUI_TM_MM_APP_A
( app_id, cat_id, sem_obj, sem_act, target_mapping_id,
// tile_id,
app_type, app_subtype,
app_type_comb,
tcode, wd_appl_id, wd_conf_id, wcf_target_id, ui5_app_id, fiori_id,
// icf_path,
system_alias,
form_factor_desktop, form_factor_tablet, form_factor_phone,
// app_icon, suppress_tile, parameters, app_parameters, add_params_allowed,
// service_url, service_base_url, service_path, refresh_intervall, display_number_unit, flavor_id,
changed_at, changed_by, masterlang, ach_component,
compability_mode, wda_integration_mode, tile_type,
// config_string,
target_url,
tm_information,
// reuse_text, created_by_customer, cat_descr, abap_language_version,
// langu,
app_title, app_subtitle, app_keywords, app_information, app_smart_link_title, description,
srcsystem, author, devclass, tadir_masterlang, component, crelease, created_on, abap_language_version,
lifecycle_status,
cust_form_factor_desktop, cust_mod_form_factor_desktop, merged_form_factor_desktop,
cust_form_factor_tablet, cust_mod_form_factor_tablet, merged_form_factor_tablet,
cust_form_factor_phone, cust_mod_form_factor_phone, merged_form_factor_phone,
cust_smart_link_title, cust_mod_smart_link_title,
// merged_smart_link_title,
cust_tm_information, cust_mod_tm_information,
// merged_tm_information,
// cust_tile_icon, cust_mod_tile_icon,
// cust_refresh_interval, cust_mod_refresh_interval, merged_refresh_interval,
cust_tile_title, cust_mod_tile_title,
// merged_tile_title,
cust_tile_subtitle, cust_mod_tile_subtitle,
// merged_tile_subtitle,
cust_tile_keywords, cust_mod_tile_keywords,
// merged_tile_keywords,
cust_tile_information, cust_mod_tile_information,
// merged_tile_information,
UIAD_is_ADAPTED )
as select from sui_tm_mm_app
left outer join sui_tm_mm_appt on sui_tm_mm_app.app_id = sui_tm_mm_appt.app_id
and sui_tm_mm_appt.langu = $session.system_language
left outer join tadir on tadir.pgmid = 'R3TR'
and tadir.object = 'UIAD'
and tadir.obj_name = sui_tm_mm_app.app_id
left outer join sui_uiaa on sui_uiaa.app_id = sui_tm_mm_app.app_id
left outer join sui_uiaat on sui_uiaat.app_id = sui_tm_mm_app.app_id
and sui_uiaat.langu = $session.system_language
left outer join sui_uiaa_tile on sui_uiaa_tile.app_id = sui_tm_mm_app.app_id
and sui_uiaa_tile.tile_id = sui_tm_mm_app.tile_id
left outer join sui_uiaa_tilet on sui_uiaa_tilet.app_id = sui_tm_mm_app.app_id
and sui_uiaa_tilet.tile_id = sui_tm_mm_app.tile_id
and sui_uiaa_tilet.langu = $session.system_language
left outer join dd07t as dd07t_sy
on sui_tm_mm_app.app_type = dd07t_sy.domvalue_l
and dd07t_sy.domname = '/UI2/AD_MM_APP_TYPE'
and dd07t_sy.ddlanguage = $session.system_language
left outer join dd07t as dd07t_en
on sui_tm_mm_app.app_type = dd07t_en.domvalue_l
and dd07t_en.domname = '/UI2/AD_MM_APP_TYPE'
and dd07t_en.ddlanguage = 'E'
left outer join sui_tm_mm_appdep on sui_tm_mm_app.app_id = sui_tm_mm_appdep.app_id
{ key sui_tm_mm_app.app_id,
sui_tm_mm_app.cat_id,
sui_tm_mm_app.sem_obj,
sui_tm_mm_app.sem_act,
sui_tm_mm_app.target_mapping_id,
//sui_tm_mm_app.tile_id,
sui_tm_mm_app.app_type,
sui_tm_mm_app.app_subtype,
//@ObjectModel.readOnly: true
//@ObjectModel.virtualElement: true
//@ObjectModel.virtualElementCalculatedBy: 'ABAP:ZCL_SUI_TM_MM_CDS_FUNCTION'
//'test' as app_type_comb,
case when sui_tm_mm_app.app_subtype <> ' ' then sui_tm_mm_app.app_subtype
else ( case when dd07t_sy.ddtext is null then dd07t_en.ddtext
else dd07t_sy.ddtext end )
end as app_type_comb,
sui_tm_mm_app.tcode,
sui_tm_mm_app.wd_appl_id,
sui_tm_mm_app.wd_conf_id,
sui_tm_mm_app.wcf_target_id,
sui_tm_mm_app.ui5_app_id,
sui_tm_mm_app.fiori_id,
//sui_tm_mm_app.icf_path,
sui_tm_mm_app.system_alias,
sui_tm_mm_app.form_factor_desktop,
sui_tm_mm_app.form_factor_tablet,
sui_tm_mm_app.form_factor_phone,
//sui_tm_mm_app.tile_icon,
//sui_tm_mm_app.suppress_tile,
//sui_tm_mm_app.parameters,
//sui_tm_mm_app.tile_parameters,
//sui_tm_mm_app.add_params_allowed,
//sui_tm_mm_app.service_url,
//sui_tm_mm_app.service_base_url,
//sui_tm_mm_app.service_path,
//sui_tm_mm_app.refresh_intervall,
//sui_tm_mm_app.display_number_unit,
//sui_tm_mm_app.flavor_id,
tstmp_to_dats( sui_tm_mm_app.changed_at, abap_system_timezone( $session.client,'NULL' ), $session.client,'NULL' ) as changed_at,
sui_tm_mm_app.changed_by,
sui_tm_mm_app.masterlang,
sui_tm_mm_app.ach_component,
sui_tm_mm_app.compability_mode,
sui_tm_mm_app.wda_integration_mode,
sui_tm_mm_app.tile_type,
//sui_tm_mm_app.config_string,
sui_tm_mm_app.target_url,
sui_tm_mm_app.tm_information as tm_information,
//sui_tm_mm_app.reuse_text,
//sui_tm_mm_app.created_by_customer,
//sui_tm_mm_app.cat_descr,
//sui_tm_mm_app.abap_language_version,
//sui_tm_mm_appt.langu,
sui_tm_mm_appt.tile_title as app_title,
sui_tm_mm_appt.tile_subtitle as app_subtitle,
sui_tm_mm_appt.tile_keywords as app_keywords,
sui_tm_mm_appt.tile_information as app_information,
sui_tm_mm_appt.alt_smart_link_title as app_smart_link_title,
sui_tm_mm_appt.description,
tadir.srcsystem,
tadir.author,
tadir.devclass,
tadir.masterlang,
tadir.component,
tadir.crelease,
tadir.created_on,
sui_tm_mm_app.abap_language_version,
sui_tm_mm_appdep.deprecated as lifecycle_status,
//
// adaptation fields
sui_uiaa.form_factor_desktop,
sui_uiaa.mod_form_factor_desktop,
cast( case when sui_uiaa.mod_form_factor_desktop = 'X' then sui_uiaa.form_factor_desktop else sui_tm_mm_app.form_factor_desktop end as sui_form_factor_desktop preserving type ) as merged_form_factor_desktop,
sui_uiaa.form_factor_tablet,
sui_uiaa.mod_form_factor_tablet,
cast( case when sui_uiaa.mod_form_factor_tablet = 'X' then sui_uiaa.form_factor_tablet else sui_tm_mm_app.form_factor_tablet end as sui_form_factor_tablet preserving type ) as merged_form_factor_tablet,
sui_uiaa.form_factor_phone,
sui_uiaa.mod_form_factor_phone,
cast( case when sui_uiaa.mod_form_factor_phone = 'X' then sui_uiaa.form_factor_phone else sui_tm_mm_app.form_factor_phone end as sui_form_factor_phone preserving type ) as merged_form_factor_phone,
sui_uiaat.alt_smart_link_title as cust_smart_link_title ,
sui_uiaa.mod_alt_smart_link_title,
//cast( case when sui_uiaa.mod_alt_smart_link_title = 'X' then sui_uiaat.alt_smart_link_title else sui_tm_mm_appt.alt_smart_link_title end as abap.char(200) ) as merged_smart_link_title,
sui_uiaa.tm_information as cust_tm_information,
sui_uiaa.mod_tm_information,
//cast( case when sui_uiaa.mod_tm_information = 'X' then sui_uiaa.tm_information else sui_tm_mm_app.tm_information end as abap.char(200) ) as merged_tm_information,
//sui_uiaa_tile.tile_icon,
//sui_uiaa_tile.mod_tile_icon,
// tile icon has invalid type 'string' case when sui_uiaa_tile.mod_tile_icon = 'X' then sui_uiaa_tile.tile_icon else ' ' end as cust_tile_icon,
//sui_uiaa_tile.refresh_intervall,
//sui_uiaa_tile.mod_refresh_intervall,
//case when sui_uiaa_tile.mod_refresh_intervall = 'X' then sui_uiaa_tile.refresh_intervall else sui_tm_mm_app.refresh_intervall end as merged_refresh_interval,
sui_uiaa_tilet.tile_title as cust_tile_title,
sui_uiaa_tile.mod_tile_title,
//cast( case when sui_uiaa_tile.mod_tile_title = 'X' then sui_uiaa_tilet.tile_title else sui_tm_mm_appt.tile_title end as abap.char(190) ) as merged_tile_title,
sui_uiaa_tilet.tile_subtitle as cust_tile_subtitle,
sui_uiaa_tile.mod_tile_subtitle,
//cast( case when sui_uiaa_tile.mod_tile_subtitle = 'X' then sui_uiaa_tilet.tile_subtitle else sui_tm_mm_appt.tile_subtitle end as abap.char(190) ) as merged_tile_subtitle,
sui_uiaa_tilet.tile_keywords as cust_tile_keywords,
sui_uiaa_tile.mod_tile_keywords,
//cast( case when sui_uiaa_tile.mod_tile_keywords = 'X' then sui_uiaa_tilet.tile_keywords else sui_tm_mm_appt.tile_keywords end as abap.char(190) ) as merged_tile_keywords,
sui_uiaa_tilet.tile_information as cust_tile_information,
sui_uiaa_tile.mod_tile_information,
//cast( case when sui_uiaa_tile.mod_tile_information = 'X' then sui_uiaa_tilet.tile_information else sui_tm_mm_appt.tile_information end as abap.char(190) ) as merged_tile_information,
cast( case when ( sui_uiaa.app_id is not null )
// sui_uiaa.form_factor_desktop = 'X' or
// sui_uiaa.form_factor_tablet = 'X' or
// sui_uiaa.form_factor_phone = 'X' or
// sui_uiaa.mod_alt_smart_link_title = 'X' or
// sui_uiaa_tile.mod_refresh_intervall = 'X' or
// sui_uiaa_tile.mod_tile_title = 'X' or
// sui_uiaa_tile.mod_tile_subtitle = 'X' )
then 'X'
else ' '
end as sui_uiad_is_adapted preserving type ) as UIAD_is_ADAPTED
}