EITV_EXP_TEMPL
UI View for Export Templates
EITV_EXP_TEMPL is a CDS View that provides data about "UI View for Export Templates" in SAP S/4HANA. It reads from 2 data sources (ato_cols, EITV_EXP_TEMPL_LATEST_VER) and exposes 16 fields with key field template_id. It has 11 associations to related views.
Data Sources (2)
| Source | Alias | Join Type |
|---|---|---|
| ato_cols | Collection | from |
| EITV_EXP_TEMPL_LATEST_VER | Latest_Version | inner |
Associations (11)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1] | ATOV_USER | Changed_By_Description | Changed_By_Description.name = $projection.last_changed_by |
| [1] | ATOV_USER | Created_By_Description | Created_By_Description.name = Collection.created_by |
| [*] | EITV_EXP_ACTION_STATUS_TEXT | Status_Texts | Status_Texts.code = status |
| [*] | ATOV_TEXT_ACTION | Action_Texts | Action_Texts.code = action |
| [*] | ATOV_TEXT_ACTION_STATUS | Action_Status_Texts | Action_Status_Texts.code = action_status |
| [*] | EITV_EXP_TEMPL_ITEMS | Items | Items.template_id = Collection.collection_id |
| [*] | EITV_EXP_ITEMS_ADD | Items_to_add | Items_to_add.template_id = Collection.collection_id |
| [0..1] | ATOV_LOG | Latest_Log | Latest_Log.collection_id = $projection.template_id and Latest_Log.collection_version = $projection.latest_version and Latest_Log.ballog_handle = $projection.latest_ballog_handle |
| [*] | ATOV_LOG | Log | Log.collection_id = $projection.template_id and Log.collection_version = $projection.latest_version and Log.is_outdated = '' |
| [1] | ATOV_COL_VER_COUNT_LOGS | Log_Counter | Log_Counter.collection_id = $projection.template_id and Log_Counter.collection_version = $projection.latest_version and Log_Counter.is_outdated = '' |
| [0..*] | EITV_EXP_FILES | Files | Files.template_id = Collection.collection_id |
Annotations (5)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | EIT_V_EXP_TEMPL | view | |
| ClientHandling.type | #INHERITED | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| AccessControl.authorizationCheck | #NOT_REQUIRED | view | |
| EndUserText.label | UI View for Export Templates | view |
Fields (16)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | template_id | ato_cols | collection_id | |
| created_by | ato_cols | created_by | ||
| created_at | ato_cols | created_at | ||
| status | EITV_EXP_TEMPL_LATEST_VER | status | ||
| action | EITV_EXP_TEMPL_LATEST_VER | action | ||
| _Items | Items | |||
| _Changed_By_Description | Changed_By_Description | |||
| _Created_By_Description | Created_By_Description | |||
| _Status_Texts | Status_Texts | |||
| _Action_Status_Texts | Action_Status_Texts | |||
| _Action_Text | Action_Texts | |||
| _Items_to_add | Items_to_add | |||
| _Latest_Log | Latest_Log | |||
| _Log | Log | |||
| _Log_Counter | Log_Counter | |||
| _Files | Files |
@AbapCatalog.sqlViewName: 'EIT_V_EXP_TEMPL'
@ClientHandling:{ type: #INHERITED, algorithm: #SESSION_VARIABLE }
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'UI View for Export Templates'
define view EITV_EXP_TEMPL as select from ato_cols as Collection
inner join EITV_EXP_TEMPL_LATEST_VER as Latest_Version
on Collection.collection_id = Latest_Version.collection_id
association [1] to ATOV_USER as Changed_By_Description on Changed_By_Description.name = $projection.last_changed_by
association [1] to ATOV_USER as Created_By_Description on Created_By_Description.name = Collection.created_by
// domain has the wrong name; it is the template status
association [*] to EITV_EXP_ACTION_STATUS_TEXT as Status_Texts on Status_Texts.code = status
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 [*] to EITV_EXP_TEMPL_ITEMS as Items on Items.template_id = Collection.collection_id
association [*] to EITV_EXP_ITEMS_ADD as Items_to_add on Items_to_add.template_id = Collection.collection_id
association [0..1] to ATOV_LOG as Latest_Log on Latest_Log.collection_id = $projection.template_id
and Latest_Log.collection_version = $projection.latest_version
and Latest_Log.ballog_handle = $projection.latest_ballog_handle
association [*] to ATOV_LOG as Log on Log.collection_id = $projection.template_id
and Log.collection_version = $projection.latest_version
and Log.is_outdated = ''
association [1] to ATOV_COL_VER_COUNT_LOGS as Log_Counter on Log_Counter.collection_id = $projection.template_id
and Log_Counter.collection_version = $projection.latest_version
and Log_Counter.is_outdated = ''
association [0..*] to EITV_EXP_FILES as Files on Files.template_id = Collection.collection_id
{
key Collection.collection_id as template_id,
Collection.created_by as created_by,
Collection.created_at as created_at,
// even assignment and removes will update Collection Change Date+BY
case when Collection.last_changed_at > Latest_Version.last_changed_at
then Collection.last_changed_at
else Latest_Version.last_changed_at
end as last_changed_at,
case when Collection.last_changed_at > Latest_Version.last_changed_at
then Collection.last_changed_by
else Latest_Version.last_changed_by
end as last_changed_by,
Latest_Version.collection_version as latest_version,
Latest_Version.latest_ballog_handle as latest_ballog_handle,
Latest_Version.status as status,
Latest_Version.action as action,
Latest_Version.action_status as action_status,
case COALESCE(Collection.description_text,'')
when '' then Collection.collection_id
else Collection.description_text
end as description,
// * Associations *//
Items as _Items,
Changed_By_Description as _Changed_By_Description,
Created_By_Description as _Created_By_Description,
Status_Texts as _Status_Texts,
Action_Status_Texts as _Action_Status_Texts,
Action_Texts as _Action_Text,
Items_to_add as _Items_to_add,
Latest_Log as _Latest_Log,
Log as _Log,
Log_Counter as _Log_Counter,
Files as _Files
}
where Collection.category = 'T' // just Templates
and Collection.status <> 'H' // no hidden = deleted Templates
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"EITV_EXP_TEMPL_LATEST_VER",
"ATO_COLS"
],
"ASSOCIATED":
[
"ATOV_COL_VER_COUNT_LOGS",
"ATOV_LOG",
"ATOV_TEXT_ACTION",
"ATOV_TEXT_ACTION_STATUS",
"ATOV_USER",
"EITV_EXP_ACTION_STATUS_TEXT",
"EITV_EXP_FILES",
"EITV_EXP_ITEMS_ADD",
"EITV_EXP_TEMPL_ITEMS"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA