P_INHREPAIRNOTE
Notes for In-House Repair
P_INHREPAIRNOTE is a CDS View in S/4HANA. Notes for In-House Repair. It contains 7 fields. 1 CDS views read from this table.
CDS Views using this table (1)
| View | Type | Join | VDM | Description |
|---|---|---|---|---|
| R_InhRepairNoteTP | view_entity | from | TRANSACTIONAL | Notes for In-House Repair |
Fields (7)
| Key | Field | CDS Fields | Used in Views |
|---|---|---|---|
| KEY | InHouseRepair | InHouseRepair | 1 |
| KEY | Language | Language | 1 |
| KEY | TextObjectType | TextObjectType | 1 |
| CreatedByUser | CreatedByUser | 1 | |
| CustMgmtObjectType | CustMgmtObjectType | 1 | |
| InHouseRepairUUID | InHouseRepairUUID | 1 | |
| TextObjectCategory | TextObjectCategory | 1 |
@VDM: {
private: true,
viewType: #TRANSACTIONAL,
lifecycle.contract.type: #NONE
}
@AccessControl: {
authorizationCheck: #PRIVILEGED_ONLY
}
@ObjectModel: {
usageType: {serviceQuality: #B, sizeCategory: #L, dataClass: #TRANSACTIONAL}
}
@Metadata: {
ignorePropagatedAnnotations: true
}
// this view selects header data from old persistence (STXH) and new (CRMD_S4TEXT) so that SADL Exit later on
// can be called in both cases.
// It must be assured that only one entry is selected since both persistencies can be filled for one object.
// Therefore, fields like CreatedTime, CreateDate, ChangedTime, ChangedDate and ChangedUser must be omitted.
// UNION cannot handle LOB fields; therefore, a string field must added later on again.
define view entity P_InhRepairNote as select from I_InhRepairNote
{
key CustMgmtObjectType,
key InHouseRepair,
key TextObjectType,
key Language,
InHouseRepairUUID,
TextObjectCategory,
CreatedByUser
// string fields must be omitted
// InhRepairNoteText
} where TextObjectCategory = 'CRM_ORDERH'
union select from I_ServiceDocumentLongText as new
// make sure only IHR-relevant texts are read
inner join I_InHouseRepair as InHouseRepair on InHouseRepair.InHouseRepair = new.ServiceDocument
{
key new.ServiceObjectType as CustMgmtObjectType,
key new.ServiceDocument as InHouseRepair,
key new.TextObjectType,
key new.Language,
InHouseRepair.InHouseRepairUUID as InHouseRepairUUID,
new.TextObjectCategory,
cast( new.SrvcDocLongTextCreatedByUser as tdfuser preserving type ) as CreatedByUser
// string field must be omitted
//ServiceDocumentLongText
} where new.TextObjectCategory = 'CRM_ORDERH'