I_EntProjTeamChgDocItem
Chg Doc items for Team tab of Ent Proj
I_EntProjTeamChgDocItem is a Composite CDS View that provides data about "Chg Doc items for Team tab of Ent Proj" in SAP S/4HANA. It reads from 9 data sources and exposes 23 fields with key fields ChangeDocObject, ChangeDocObjectClass, ChangeDocument, DatabaseTable, ChangeDocTableKey.
Data Sources (9)
| Source | Alias | Join Type |
|---|---|---|
| I_ChangeDocumentItem | cd_bp_j | inner |
| I_ChangeDocumentItem | cd_bp_j | inner |
| I_ChangeDocumentItem | cd_en_d | union_all |
| I_ChangeDocumentItem | cd_en_j | from |
| I_ChangeDocumentItem | cd_en_j | inner |
| I_ChangeDocumentItem | cd_ent_role_j | inner |
| I_ChangeDocumentItem | cd_ent_role_j | inner |
| I_ChangeDocumentItem | cd_role_j | inner |
| I_ChangeDocumentItem | cd_role_j | inner |
Annotations (12)
| Name | Value | Level | Field |
|---|---|---|---|
| EndUserText.label | Chg Doc items for Team tab of Ent Proj | view | |
| VDM.viewType | #COMPOSITE | view | |
| VDM.lifecycle.contract.type | #SAP_INTERNAL_API | view | |
| AbapCatalog.sqlViewName | IPROJTEAMCDITM | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AbapCatalog.preserveKey | true | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| AccessControl.personalData.blocking | #BLOCKED_DATA_EXCLUDED | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| ObjectModel.usageType.serviceQuality | #D | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view | |
| ObjectModel.usageType.sizeCategory | #XL | view |
Fields (23)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | ChangeDocObject | I_ChangeDocumentItem | ChangeDocObject | |
| KEY | ChangeDocObjectClass | I_ChangeDocumentItem | ChangeDocObjectClass | |
| KEY | ChangeDocument | I_ChangeDocumentItem | ChangeDocument | |
| KEY | DatabaseTable | I_ChangeDocumentItem | DatabaseTable | |
| KEY | ChangeDocTableKey | I_ChangeDocumentItem | ChangeDocTableKey | |
| KEY | ChangeDocDatabaseTableField | I_ChangeDocumentItem | ChangeDocDatabaseTableField | |
| KEY | ChangeDocItemChangeType | I_ChangeDocumentItem | ChangeDocItemChangeType | |
| ChangeDocNewFieldValue | I_ChangeDocumentItem | ChangeDocNewFieldValue | ||
| ChangeDocPreviousFieldValue | I_ChangeDocumentItem | ChangeDocPreviousFieldValue | ||
| BusinessPartnerUUID | ||||
| mandt | ||||
| mandt | ||||
| ChangeDocObject | ||||
| KEY | ChangeDocObjectClass | I_ChangeDocumentItem | ChangeDocObjectClass | |
| KEY | ChangeDocument | I_ChangeDocumentItem | ChangeDocument | |
| KEY | DatabaseTable | I_ChangeDocumentItem | DatabaseTable | |
| KEY | ChangeDocTableKey | I_ChangeDocumentItem | ChangeDocTableKey | |
| KEY | ChangeDocDatabaseTableField | I_ChangeDocumentItem | ChangeDocDatabaseTableField | |
| KEY | ChangeDocItemChangeType | I_ChangeDocumentItem | ChangeDocItemChangeType | |
| ChangeDocNewFieldValue | I_ChangeDocumentItem | ChangeDocPreviousFieldValue | ||
| ChangeDocPreviousFieldValue | I_ChangeDocumentItem | ChangeDocNewFieldValue | ||
| BusinessPartnerUUID | ||||
| BusinessPartnerRoleName |
@EndUserText.label: 'Chg Doc items for Team tab of Ent Proj'
@VDM: {
viewType: #COMPOSITE,
lifecycle.contract.type: #SAP_INTERNAL_API
}
@AbapCatalog: {
sqlViewName: 'IPROJTEAMCDITM',
compiler.compareFilter: true,
preserveKey: true
}
// Authorization handling
@AccessControl: {
authorizationCheck: #CHECK,
personalData.blocking: #BLOCKED_DATA_EXCLUDED
}
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel: {
usageType: {
serviceQuality: #D,
dataClass: #TRANSACTIONAL,
sizeCategory: #XL
}
}
define view I_EntProjTeamChgDocItem
as select from I_ChangeDocumentItem as cd_en_j
// Get business partner data
inner join I_ChangeDocumentItem as cd_bp_j on cd_bp_j.ChangeDocObjectClass = cd_en_j.ChangeDocObjectClass
and cd_bp_j.ChangeDocObject = cd_en_j.ChangeDocObject
and cd_bp_j.DatabaseTable = '/S4PPM/TEAMMBR'
and cd_bp_j.ChangeDocDatabaseTableField = 'BUPA_GUID'
and cd_bp_j.ChangeDocTableKey = concat(
cd_en_j.mandt, cd_en_j.ChangeDocNewFieldValue
)
and cd_bp_j.ChangeDocItemChangeType = 'J'
// Get role data
inner join I_ChangeDocumentItem as cd_ent_role_j on cd_ent_role_j.ChangeDocObjectClass = cd_en_j.ChangeDocObjectClass
and cd_ent_role_j.ChangeDocObject = cd_en_j.ChangeDocObject
and cd_ent_role_j.DatabaseTable = '/S4PPM/ENTITLMNT'
and cd_ent_role_j.ChangeDocDatabaseTableField = 'ROLE_GUID'
and cd_ent_role_j.ChangeDocTableKey = cd_en_j.ChangeDocTableKey
and cd_ent_role_j.ChangeDocItemChangeType = 'J'
inner join I_ChangeDocumentItem as cd_role_j on cd_role_j.ChangeDocObjectClass = cd_ent_role_j.ChangeDocObjectClass
and cd_role_j.ChangeDocObject = cd_ent_role_j.ChangeDocObject
and cd_role_j.DatabaseTable = '/S4PPM/ROLE'
and cd_role_j.ChangeDocDatabaseTableField = 'ROLE_NAME'
and cd_role_j.ChangeDocTableKey = concat(
cd_ent_role_j.mandt, cd_ent_role_j.ChangeDocNewFieldValue
)
and cd_role_j.ChangeDocItemChangeType = 'J'
{
key cd_en_j.ChangeDocObject,
key cd_en_j.ChangeDocObjectClass,
key cd_en_j.ChangeDocument,
key cd_en_j.DatabaseTable,
key cd_en_j.ChangeDocTableKey,
key cd_en_j.ChangeDocDatabaseTableField,
key cd_en_j.ChangeDocItemChangeType,
cd_en_j.ChangeDocNewFieldValue,
cd_en_j.ChangeDocPreviousFieldValue,
cast (cd_bp_j.ChangeDocNewFieldValue as sysuuid_c) as BusinessPartnerUUID,
cast (cd_role_j.ChangeDocNewFieldValue as /s4ppm/tv_role_name) as BusinessPartnerRoleName
}
where
cd_en_j.ChangeDocObjectClass = '/S4PPM/PROJECT'
and cd_en_j.DatabaseTable = '/S4PPM/ENTITLMNT'
and cd_en_j.ChangeDocDatabaseTableField = 'TEAM_MEMBER_GUID'
and cd_en_j.ChangeDocItemChangeType = 'J'
// Union with selected deleted items
union all select from I_ChangeDocumentItem as cd_en_d
// Get business partner data
inner join I_ChangeDocumentItem as cd_en_j on cd_en_j.ChangeDocObjectClass = cd_en_d.ChangeDocObjectClass
and cd_en_j.ChangeDocObject = cd_en_d.ChangeDocObject
and cd_en_j.DatabaseTable = cd_en_d.DatabaseTable
and cd_en_j.ChangeDocTableKey = cd_en_d.ChangeDocTableKey
and cd_en_j.ChangeDocItemChangeType = 'J'
inner join I_ChangeDocumentItem as cd_bp_j on cd_bp_j.ChangeDocObjectClass = cd_en_j.ChangeDocObjectClass
and cd_bp_j.ChangeDocObject = cd_en_j.ChangeDocObject
and cd_bp_j.DatabaseTable = '/S4PPM/TEAMMBR'
and cd_bp_j.ChangeDocDatabaseTableField = 'BUPA_GUID'
and cd_bp_j.ChangeDocTableKey = concat(
cd_en_j.mandt, cd_en_j.ChangeDocNewFieldValue
)
and cd_bp_j.ChangeDocItemChangeType = 'J'
// Get role data
inner join I_ChangeDocumentItem as cd_ent_role_j on cd_ent_role_j.ChangeDocObjectClass = cd_en_j.ChangeDocObjectClass
and cd_ent_role_j.ChangeDocObject = cd_en_j.ChangeDocObject
and cd_ent_role_j.ChangeDocTableKey = cd_en_j.ChangeDocTableKey
and cd_ent_role_j.DatabaseTable = '/S4PPM/ENTITLMNT'
and cd_ent_role_j.ChangeDocDatabaseTableField = 'ROLE_GUID'
and cd_ent_role_j.ChangeDocItemChangeType = 'J'
inner join I_ChangeDocumentItem as cd_role_j on cd_role_j.ChangeDocObjectClass = cd_ent_role_j.ChangeDocObjectClass
and cd_role_j.ChangeDocObject = cd_ent_role_j.ChangeDocObject
and cd_role_j.DatabaseTable = '/S4PPM/ROLE'
and cd_role_j.ChangeDocDatabaseTableField = 'ROLE_NAME'
and cd_role_j.ChangeDocTableKey = concat(
cd_ent_role_j.mandt, cd_ent_role_j.ChangeDocNewFieldValue
)
and cd_role_j.ChangeDocItemChangeType = 'J'
{
key cd_en_j.ChangeDocObject,
key cd_en_j.ChangeDocObjectClass,
key cd_en_d.ChangeDocument,
key cd_en_j.DatabaseTable,
key cd_en_j.ChangeDocTableKey,
key cd_en_j.ChangeDocDatabaseTableField,
key cd_en_d.ChangeDocItemChangeType,
cd_en_j.ChangeDocPreviousFieldValue as ChangeDocNewFieldValue,
cd_en_j.ChangeDocNewFieldValue as ChangeDocPreviousFieldValue,
cast (cd_bp_j.ChangeDocNewFieldValue as sysuuid_c) as BusinessPartnerUUID,
cast (cd_role_j.ChangeDocNewFieldValue as /s4ppm/tv_role_name) as BusinessPartnerRoleName
}
where
cd_en_d.ChangeDocObjectClass = '/S4PPM/PROJECT'
and cd_en_d.DatabaseTable = '/S4PPM/ENTITLMNT'
and cd_en_d.ChangeDocDatabaseTableField = 'KEY'
and cd_en_d.ChangeDocItemChangeType = 'D'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_CHANGEDOCUMENTITEM"
],
"ASSOCIATED":
[],
"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