ATOV_LOG

DDL: ATOV_LOG SQL: ATO_V_L Type: view

Log

ATOV_LOG is a CDS View that provides data about "Log" in SAP S/4HANA. It reads from 1 data source (ato_col_versions). It has 1 association to related views.

Data Sources (1)

SourceAliasJoin Type
ato_col_versions Log from

Associations (1)

CardinalityTargetAliasCondition
[0..1] ATOV_COL_VER_LOG_KEY_MAX Latest_Collection_Version_Log Latest_Collection_Version_Log.collection_id = Log.collection_id and Latest_Collection_Version_Log.collection_version = Log.version / Action_Texts, Action_Status_Texts } where Log.ballog_handle <> '' and Log.timestamp <> 0

Annotations (5)

NameValueLevelField
AbapCatalog.sqlViewName ATO_V_L view
ClientHandling.type #INHERITED view
ClientHandling.algorithm #SESSION_VARIABLE view
AccessControl.authorizationCheck #NOT_REQUIRED view
EndUserText.label Log view
@AbapCatalog.sqlViewName: 'ATO_V_L'
@ClientHandling:{ type: #INHERITED, algorithm: #SESSION_VARIABLE }
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Log'
define view ATOV_LOG  as

  select from ato_col_versions as Log

  association [0..1] to ATOV_COL_VER_LOG_KEY_MAX       as Latest_Collection_Version_Log   on  Latest_Collection_Version_Log.collection_id      = Log.collection_id
                                                                                          and Latest_Collection_Version_Log.collection_version = Log.version

//* do not use due to performance => just take the latest as relevant Check Log

//*  association [1] to ATOV_COL_VER_LOG_CHECK_KEY_MAX as Latest_Collection_Version_Check_Key on  Latest_Collection_Version_Check_Key.collection_id      = Log.collection_id

//*                                                                                           and Latest_Collection_Version_Check_Key.collection_version = Log.version


  association [*] to ATOV_TEXT_ACTION               as Action_Texts                        on  Action_Texts.code = action

  association [*] to ATOV_TEXT_ACTION_STATUS        as Action_Status_Texts                 on  Action_Status_Texts.code = action_status

  association [1] to ATOV_USER                      as Changed_By_Description              on Changed_By_Description.name = Log.last_changed_by
 

{
  key Log.collection_id,
  key Log.version         as collection_version,
  key Log.ballog_handle,
      Log.timestamp,
      Log.action,
      Log.action_variant,
      case
        when Log.action_status = 'P' then 'R'
        else Log.action_status
      end                 as action_status,
      Log.action_duration,
      Log.last_changed_by as changed_by,
      coalesce( Changed_By_Description.description, Log.last_changed_by ) as changed_by_description,
      Log.last_changed_at as changed_at,
      case when Log.ballog_handle = coalesce( Latest_Collection_Version_Log.ballog_handle, '')
        then 'X'
        else ''
      end                 as is_latest_version_log,
      case when ( Log.action = 'C' or Log.action = 'K' ) and Log.ballog_handle <> coalesce( Latest_Collection_Version_Log.ballog_handle, '')//Check and Import Check

        then 'X'
        else ''
      end                 as is_outdated, //only show latest log

      case Log.action
        when 'I'
          then 'I'
        when 'O'
          then 'I'
        when 'F'
          then 'I'
        when 'G'
          then 'I'
        when 'D'
          then 'I'
        when 'O'
          then 'I'
        when 'K'
          then 'I'
        else 'E'
      end                 as action_category,
      /* Associations */
      Action_Texts,
      Action_Status_Texts
}
where
  Log.ballog_handle <> '' and
  Log.timestamp <> 0  // more than latest log is required at Import

/*+[internal] {
"BASEINFO":
{
"FROM":
[
"ATOV_COL_VER_LOG_KEY_MAX",
"ATOV_USER",
"ATO_COL_VERSIONS"
],
"ASSOCIATED":
[
"ATOV_COL_VER_LOG_KEY_MAX",
"ATOV_TEXT_ACTION",
"ATOV_TEXT_ACTION_STATUS",
"ATOV_USER"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/