P_RSHProjAssgmtChangeDocs
Change documents for C_RSHProjectAssignments
P_RSHProjAssgmtChangeDocs is a Consumption CDS View that provides data about "Change documents for C_RSHProjectAssignments" in SAP S/4HANA. It reads from 2 data sources (I_ChangeDocumentItem, I_ChangeDocument) and exposes 34 fields with key fields ChangeDocObjectClass, ChangeDocObject, ChangeDocument, DatabaseTable, ChangeDocTableKey. It has 1 association to related views.
Data Sources (2)
| Source | Alias | Join Type |
|---|---|---|
| I_ChangeDocumentItem | ChangeDocItem | left_outer |
| I_ChangeDocument | ChangeHeader | from |
Parameters (2)
| Name | Type | Default |
|---|---|---|
| P_StartDate | syst_datum | |
| P_EndDate | syst_datum |
Associations (1)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | I_UserContactCard | UserDetails | ChangeHeader.CreatedByUser = UserDetails.ContactCardID |
Annotations (9)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | PRSHPROJASGCD | view | |
| ObjectModel.usageType.dataClass | #MIXED | view | |
| ObjectModel.usageType.serviceQuality | #X | view | |
| ObjectModel.usageType.sizeCategory | #XL | view | |
| VDM.viewType | #CONSUMPTION | view | |
| VDM.private | true | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| AccessControl.personalData.blocking | #REQUIRED | view | |
| EndUserText.label | Change documents for C_RSHProjectAssignments | view |
Fields (34)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | ChangeDocObjectClass | I_ChangeDocument | ChangeDocObjectClass | |
| KEY | ChangeDocObject | I_ChangeDocument | ChangeDocObject | |
| KEY | ChangeDocument | I_ChangeDocument | ChangeDocument | |
| KEY | DatabaseTable | I_ChangeDocumentItem | DatabaseTable | |
| KEY | ChangeDocTableKey | I_ChangeDocumentItem | ChangeDocTableKey | |
| KEY | ChangeDocItemChangeType | I_ChangeDocumentItem | ChangeDocItemChangeType | |
| CreatedByUser | I_ChangeDocument | CreatedByUser | ||
| CreationDate | I_ChangeDocument | CreationDate | ||
| CreationTime | I_ChangeDocument | CreationTime | ||
| ResourceDemandUUID | ChangeDocAMDP | ResourceDemandUUID | ||
| EmploymentInternalID | Resource | EmploymentInternalID | ||
| FullName | ||||
| Person | ||||
| PersonExternalID | ||||
| IsBusinessPurposeCompleted | ||||
| AuthorizationGroup | ||||
| CompanyCode | Resource | CompanyCode | ||
| CostCenter | Resource | CostCenter | ||
| EngagementProject | Request | EngagementProject | ||
| EngagementProjectName | ||||
| WorkPackageName | ||||
| WorkItem | Request | WorkItem | ||
| WorkItemName | ||||
| Role | ||||
| IsBusPrpsCmpltdCustomer | ||||
| CustomerAuthznGrp | ||||
| IsBusPrpsCmpltdPreferredRes | ||||
| PreferredResAuthznGrp | ||||
| IsBusPrpsCmpltdProjectManager | ||||
| ProjectManagerAuthznGrp | ||||
| ServiceOrganization | Request | ServiceOrganization | ||
| ProjectVisibility | Request | ProjectVisibility | ||
| numc90asTotalHoursOld | ||||
| numc90asTotalHoursNew |
@AbapCatalog.sqlViewName: 'PRSHPROJASGCD'
@ObjectModel.usageType.dataClass: #MIXED
@ObjectModel.usageType.serviceQuality: #X
@ObjectModel.usageType.sizeCategory: #XL
@VDM.viewType: #CONSUMPTION
@VDM.private: true
@ClientHandling.algorithm: #SESSION_VARIABLE
@AccessControl.personalData.blocking: #REQUIRED
@EndUserText.label: 'Change documents for C_RSHProjectAssignments'
define view P_RSHProjAssgmtChangeDocs
with parameters
P_StartDate : syst_datum,
P_EndDate : syst_datum
as select from I_ChangeDocument as ChangeHeader
left outer to one join P_RSHProjectAsgChangeDocsAMDP( P_SAPClient:$session.client ) as ChangeDocAMDP on ChangeHeader.ChangeDocObjectClass = ChangeDocAMDP.ChangeDocObjectClass
and ChangeHeader.ChangeDocument = ChangeDocAMDP.ChangeDocument
and ChangeHeader.ChangeDocObject = ChangeDocAMDP.ChangeDocObject
left outer to one join P_RSHResourceList( P_StartDate: $parameters.P_StartDate, P_EndDate: $parameters.P_EndDate ) as Resource on Resource.EmploymentInternalID = right(
ChangeHeader.ChangeDocObject, 8
)
left outer to one join P_RSHStaffingRequestDetails as Request on Request.ResourceDemandUUID = ChangeDocAMDP.ResourceDemandUUID
left outer join I_ChangeDocumentItem as ChangeDocItem on ChangeDocItem.ChangeDocObject = ChangeHeader.ChangeDocObject
and ChangeDocItem.ChangeDocObjectClass = ChangeHeader.ChangeDocObjectClass
and ChangeDocItem.ChangeDocument = ChangeHeader.ChangeDocument
association [0..1] to I_UserContactCard as UserDetails on ChangeHeader.CreatedByUser = UserDetails.ContactCardID
{
key ChangeHeader.ChangeDocObjectClass,
key ChangeHeader.ChangeDocObject,
key ChangeHeader.ChangeDocument,
key ChangeDocItem.DatabaseTable,
key ChangeDocItem.ChangeDocTableKey,
key ChangeDocItem.ChangeDocItemChangeType,
ChangeHeader.CreatedByUser,
ChangeHeader.CreationDate,
ChangeHeader.CreationTime,
cast(
case
when UserDetails.FullName = '' or UserDetails.FullName is null then
ChangeHeader.CreatedByUser
else
UserDetails.FullName
end as rsh_ps_employee_name preserving type ) as UserDescription,
ChangeDocAMDP.ResourceDemandUUID,
//Resource
Resource.EmploymentInternalID,
// Resource.PersonnelNumber,
Resource._Person.PersonFullName as FullName,
//Resource._Employee.Employee,
Resource._Person.Person,
Resource._Person.PersonExternalID,
Resource._Person.IsBusinessPurposeCompleted,
Resource._Person.AuthorizationGroup,
Resource.CompanyCode,
Resource.CostCenter,
// Request
Request.EngagementProject,
Request._Project.EngagementProjectName,
Request._WorkPackage.WorkPackageName,
Request.WorkItem,
Request._WorkItem.WorkItemName,
cast(Request._Role._Text[1:Language = $session.system_language].EngagementProjResourceText as rsh_ps_resource_role preserving type ) as Role,
Request._Customer.IsBusinessPurposeCompleted as IsBusPrpsCmpltdCustomer,
Request._Customer.AuthorizationGroup as CustomerAuthznGrp,
Request._PreferredEmployee._WorkforcePerson.IsBusinessPurposeCompleted as IsBusPrpsCmpltdPreferredRes,
Request._PreferredEmployee._WorkforcePerson.AuthorizationGroup as PreferredResAuthznGrp,
Request._ProjectManagerEmployee._WorkforcePerson.IsBusinessPurposeCompleted as IsBusPrpsCmpltdProjectManager,
Request._ProjectManagerEmployee._WorkforcePerson.AuthorizationGroup as ProjectManagerAuthznGrp,
Request.ServiceOrganization,
Request.ProjectVisibility,
// Change attributes
cast(
case ChangeDocItem.ChangeDocDatabaseTableField
when 'PROJASSIGNMENTTOTALHOURS' then
ChangeDocItem.ChangeDocPreviousFieldValue
else ''
end as abap.numc(90) ) as TotalHoursOld,
cast(
case ChangeDocItem.ChangeDocDatabaseTableField
when 'PROJASSIGNMENTTOTALHOURS'then
ChangeDocItem.ChangeDocNewFieldValue
else ''
end as abap.numc(90) ) as TotalHoursNew,
cast( case ChangeDocItem.ChangeDocDatabaseTableField
when 'PROJASSIGNMENTSTARTDATE'then
ChangeDocItem.ChangeDocNewFieldValue
else '19000101'
end as rsh_ps_assignment_date ) as StartDateNew,
cast( case ChangeDocItem.ChangeDocDatabaseTableField
when 'PROJASSIGNMENTSTARTDATE'then
ChangeDocItem.ChangeDocPreviousFieldValue
else '19000101'
end as rsh_ps_assignment_date ) as StartDateOld,
cast( case ChangeDocItem.ChangeDocDatabaseTableField
when 'PROJASSIGNMENTENDDATE'then
ChangeDocItem.ChangeDocNewFieldValue
else '19000101'
end as rsh_ps_assignment_date ) as EndDateNew,
cast( case ChangeDocItem.ChangeDocDatabaseTableField
when 'PROJASSIGNMENTENDDATE'then
ChangeDocItem.ChangeDocPreviousFieldValue
else '19000101'
end as rsh_ps_assignment_date ) as EndDateOld
}
where
ChangeHeader.ChangeDocObjectClass = 'RSH_ASGN_CHDOC'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_CHANGEDOCUMENT",
"I_CHANGEDOCUMENTITEM",
"I_CUSTOMER",
"I_ENGAGEMENTPROJECT",
"I_ENGAGEMENTPROJECTRESOURCE",
"I_ENGMNTPROJRESOURCETEXT",
"I_PERSONWORKAGREEMENT_1",
"I_USERCONTACTCARD",
"I_WORKFORCEPERSON",
"I_WORKPACKAGE",
"I_WORKPACKAGEWORKITEM",
"P_RSHRESOURCELIST",
"P_RSHSTAFFINGREQUESTDETAILS"
],
"ASSOCIATED":
[
"I_USERCONTACTCARD"
],
"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