@AbapCatalog.sqlViewName: 'CSDRAFT_ADMIN'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Draft Administrative Data '
@VDM.viewType: #CONSUMPTION
@Search.searchable: true
@UI.headerInfo: {
typeName: 'Draft Administrative Data',
typeNamePlural: 'Draft Administrative Data',
title: {
type: #STANDARD,
label: 'Draft AdministrativeData',
value: 'DraftEntityType'
}
}
@OData.publish: false
@UI.presentationVariant.text: 'text'
@UI.presentationVariant.sortOrder: [ { by: 'LastChangeDateTime', direction: #DESC } ]
define view C_DraftAdministrativeData
as select from I_DraftAdministrativeData as Document
association [0..*] to C_Draftlifecyclelog as _Sdraft_Log on _Sdraft_Log.DraftEntityType = $projection.DraftEntityType
and _Sdraft_Log.DraftUUID = $projection.DraftUUID
association [1..1] to C_Draftlifecycleadmindata as _Root on Document.DraftEntityType = _Root.DraftEntityType
{
// <<< Fieldgroup Admin
@Search: {
defaultSearchElement: true,
fuzzinessThreshold: 0.8,
ranking: #MEDIUM
}
@UI.fieldGroup: [ { qualifier: 'General',
groupLabel: 'General Information',
position: 10
} ]
@UI.lineItem: [{
position: 0,
importance: #HIGH,
label: 'Business Object / Draft Type',
exclude: true
}, { type: #FOR_ACTION, label: 'Take Over Draft', dataAction: 'MPC_EXT:TakeOverDraft'}]
@UI.facet: [{
id: 'DraftEntryGeneralInfo',
purpose: #STANDARD,
type: #COLLECTION,
label: 'General Information',
position: 10
},
{ id: 'GeneralData',
label: 'General Information',
parentId: 'DraftEntryGeneralInfo',
type: #FIELDGROUP_REFERENCE,
targetQualifier: 'General',
position: 10
},
{ id: 'DraftScopeData',
label: 'Draft Scope Information',
parentId: 'DraftEntryGeneralInfo',
type: #FIELDGROUP_REFERENCE,
targetQualifier: 'DraftScope',
position: 15
},
{ id: 'CreateInfo',
label: 'Create Information',
parentId: 'DraftEntryGeneralInfo',
type: #FIELDGROUP_REFERENCE,
targetQualifier: 'Create',
position: 20
},
{ id: 'ChangeInfo',
label: 'Change Information',
parentId: 'DraftEntryGeneralInfo',
type: #FIELDGROUP_REFERENCE,
targetQualifier: 'Change',
position: 30
},
{ id: 'ProcessingInfo',
label: 'Processing Information',
parentId: 'DraftEntryGeneralInfo',
type: #FIELDGROUP_REFERENCE,
targetQualifier: 'Processing',
position: 40
},
{ id: 'EnqueueInfo',
label: 'Enqueue Information',
parentId: 'DraftEntryGeneralInfo',
type: #FIELDGROUP_REFERENCE,
targetQualifier: 'Enqueue',
position: 50
},
{ id: 'AccessInfo',
label: 'Access Information',
parentId: 'DraftEntryGeneralInfo',
type: #FIELDGROUP_REFERENCE,
targetQualifier: 'Access',
position: 60
},
{ id: 'toSdraftLog',
purpose: #STANDARD,
type: #LINEITEM_REFERENCE,
targetElement: '_Sdraft_Log',
label: 'Log',
position: 20 }
]
key Document.DraftEntityType,
@UI.fieldGroup: [ { qualifier: 'General',
groupLabel: 'General Information',
position: 20
} ]
@UI.lineItem: [{
position: 10 ,
importance: #HIGH,
label: 'Draft UUID'
} ]
@UI.hidden: false
key Document.DraftUUID,
@UI.lineItem: {
position: 11 ,
importance: #HIGH,
label: 'Draft ID'
}
@UI.fieldGroup: [ { qualifier: 'General',
position: 21,
label: 'Draft ID'
} ]
@ObjectModel.readOnly: true
cast( '' as text255 ) as ObjectKey, // Set via DPC_EXT
/* @UI.lineItem: {
position: 12 ,
importance: #HIGH,
label: 'Principal Draft Entity'
}
@UI.fieldGroup: [ { qualifier: 'DraftScope',
position: 22,
label: 'Principal Draft Entity'
} ]
@ObjectModel.readOnly: true
Document.PrincipalDraftEntity,
@UI.lineItem: {
position: 13 ,
importance: #HIGH,
label: 'Principal Draft UUID'
}
@UI.fieldGroup: [ { qualifier: 'DraftScope',
position: 23,
label: 'Principal Draft UUID'
} ]
@ObjectModel.readOnly: true
@UI.hidden: null
Document.PrincipalDraftKey, */
// <<< Field Group Create
@UI.fieldGroup: [ { qualifier: 'Create',
position: 10
} ]
@UI.lineItem: {
position: 22,
importance: #HIGH,
label: 'Creation User ID'
}
@Search: {
defaultSearchElement: true,
fuzzinessThreshold: 0.8,
ranking: #MEDIUM
}
@UI.textArrangement: #TEXT_FIRST
Document.CreatedByUser,
@UI.hidden: true
Document.CreatedByUserDescription,
@UI.fieldGroup: [ { qualifier: 'Create',
position: 30
} ]
@UI.lineItem: {
position: 25,
importance: #HIGH,
label: 'Creation Date Time'
}
Document.CreationDateTime,
// <<< Field Group Change
@UI.fieldGroup: [ { qualifier: 'Change',
position: 10
} ]
@UI.lineItem: {
position: 32,
importance: #HIGH,
label: 'Last Changed User ID'
}
@Search: {
defaultSearchElement: true,
fuzzinessThreshold: 0.8,
ranking: #MEDIUM
}
@UI.textArrangement: #TEXT_FIRST
Document.LastChangedByUser,
@UI.hidden: true
Document.LastChangedByUserDescription,
@UI.fieldGroup: [ { qualifier: 'Change',
position: 30
} ]
@UI.lineItem: {
position: 35,
importance: #HIGH,
label: 'Last Changed Date Time'
}
Document.LastChangeDateTime,
// <<< Field Group Processing
@UI.fieldGroup: [ { qualifier: 'Processing',
position: 10
} ]
@UI.lineItem: {
position: 42,
importance: #HIGH,
label: 'In Process By User'
}
@Search: {
defaultSearchElement: true,
fuzzinessThreshold: 0.8,
ranking: #MEDIUM
}
@UI.textArrangement: #TEXT_FIRST
Document.InProcessByUser,
@UI.hidden: true
Document.InProcessByUserDescription,
@UI.fieldGroup: [ { qualifier: 'Processing',
position: 30
} ]
@UI.lineItem: {
position: 45,
importance: #HIGH,
label: 'In Process Since'
}
Document.ProcessingStartDateTime,
// <<< Field Group Enqueue
@UI.fieldGroup: [ { qualifier: 'Enqueue',
position: 10
} ]
@UI.lineItem: {
position: 50,
importance: #HIGH,
label: 'Enqueue Since',
exclude: true
}
Document.EnqueueStartDateTime,
// <<< Field Group Access
@UI.fieldGroup: [ { qualifier: 'Access',
position: 10,
label: 'Draft Access Type'
} ]
@UI.lineItem: {
position: 60,
importance: #HIGH,
label: 'Draft Access Type',
exclude: true
}
Document.DraftAccessType,
@ObjectModel.association.type: [ #TO_COMPOSITION_CHILD ]
_Sdraft_Log,
@ObjectModel.association.type: [ #TO_COMPOSITION_PARENT, #TO_COMPOSITION_ROOT ]
_Root
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_DRAFTADMINISTRATIVEDATA"
],
"ASSOCIATED":
[
"C_DRAFTLIFECYCLEADMINDATA",
"C_DRAFTLIFECYCLELOG"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/