@AbapCatalog.viewEnhancementCategory: [#NONE]
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Importable Collections'
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.usageType:{
serviceQuality: #X,
sizeCategory: #S,
dataClass: #MIXED
}
define view entity ATOV_COL_VER_IMPORTABLE
as select distinct from ato_col_versions as Collection_Version
inner join ato_cols as Collection on Collection.collection_id = Collection_Version.collection_id
inner join atov_collection_type_import as Col_Type on Col_Type.collection_id = Collection_Version.collection_id
inner join ato_col_v_status as Import_Status on Import_Status.collection_id = Collection_Version.collection_id
and Import_Status.version = Collection_Version.version
and Import_Status.status_schema = 'I'
inner join ato_type_status as Type_Status on Type_Status.collection_type = Col_Type.collection_type
and Type_Status.status_schema = 'I'
and Type_Status.allowed_status = 'I' // This collection type is allowed to be IMPORTED
inner join ato_statusschema as Statusschema on Statusschema.status_schema = Import_Status.status_schema
and Statusschema.previous_status = Import_Status.status
and Statusschema.next_status = 'I' //Imported
{
key Collection_Version.collection_id,
/* start suppress warning shlporigin_not_inherited */
key Collection_Version.version,
/* end suppress warning shlporigin_not_inherited */
'X' as is_importable
}
where
Collection_Version.timestamp = 0
// identical to ATOV_COL_VER_IMP_BASE
and Collection.status <> 'H' // Hidden should not be processed in the UI
and ( Collection.client = '' //Client independent collections EXT/DEV/CCC
or Collection.client = $session.client )//BC and client-dep EXT collections
union select distinct from ato_col_versions as Collection_Version
inner join ato_cols as Collection on Collection.collection_id = Collection_Version.collection_id
inner join atov_collection_type_import as Col_Type on Col_Type.collection_id = Collection_Version.collection_id
and Col_Type.category = 'B' // Business Configuration (PlugIn)
inner join ato_type_status as Type_Status on Type_Status.collection_type = Col_Type.collection_type
and Type_Status.status_schema = 'I'
and Type_Status.allowed_status = 'I'
{
key Collection_Version.collection_id,
/* start suppress warning shlporigin_not_inherited */
key Collection_Version.version,
/* end suppress warning shlporigin_not_inherited */
'X' as is_importable
}
where
Collection_Version.timestamp = 0
and Collection_Version.status = 'T' //Ready for Import, Manual Postprocessing Required
// identical to ATOV_COL_VER_IMP_BASE
and Collection.status <> 'H' // Hidden should not be processed in the UI
and ( Collection.client = '' //Client independent collections EXT/DEV/CCC
or Collection.client = $session.client )//BC and client-dep EXT collections