@AbapCatalog.sqlViewName: 'CDEFTSKREC'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #NOT_REQUIRED
@AccessControl.privilegedAssociations: [ '_CompletedByUserContactCard' ]
@VDM.viewType: #CONSUMPTION
@EndUserText.label: 'Record Defect Task'
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel: {
semanticKey: [ 'QualityTask' ],
representativeKey: 'QualityTaskInternalId',
usageType: {
dataClass: #TRANSACTIONAL,
sizeCategory: #L,
serviceQuality: #B },
// Begin Draft 2.0
compositionRoot: false,
transactionalProcessingDelegated: true,
draftEnabled: false,
createEnabled: false,
updateEnabled: false,
deleteEnabled: false
}
//for the edit function of active tasks in the app we need to ensure that all data is loaded (also if it is not displayed from beginning).
@UI.presentationVariant.requestAtLeast: [ 'DefectInternalID', 'QualityTaskOrigin', 'QualityTaskText', 'QualityTaskProcessor',
'MasterLanguage', 'ChangedDateTime', 'QualityTaskArchivingStatus',
'QualityTaskLifecycleStatus', 'QltyTskProcgIsCtrldByTskOrigin',
'_DefectQltyTskProcsrNotes.QualityTaskProcessorNotes',
'_DefectQltyTskProcsrNotes.QualityTaskProcsrNotesPreview' ]
@UI.presentationVariant: {
sortOrder: [{ by: 'NotifTaskCompletionDate', direction: #ASC },
{ by: 'NotifTaskCompletionTime', direction: #ASC }]
}
define view C_DefectTaskRecord as select from I_QualityTaskTP
association [1..1] to C_DefectRecord as _DefectRecord on $projection.DefectInternalID = _DefectRecord.DefectInternalID
association [0..1] to C_DefectQltyTskProcsrNotes as _DefectQltyTskProcsrNotes
on $projection.QualityTaskInternalId = _DefectQltyTskProcsrNotes.QualityTaskInternalId
and $projection.MasterLanguage = _DefectQltyTskProcsrNotes.Language
and _DefectQltyTskProcsrNotes.ItemCounter = 1
{
//=== Key Fields
@UI.hidden: true
key QualityTaskInternalId,
//=== Common Fields
/* ATTENTION: Please be aware that any change to the line item annotation here in the CDS view do not have any effect. please adopt the line
item annotations also directly in the app */
@UI.lineItem: [ { position: 10 },
{ position: 30, type: #FOR_ACTION, dataAction: 'BOPF:EDIT_TASK' } ]
@UI.textArrangement: #TEXT_SEPARATE
@ObjectModel.text: [ { exclude } ]
@ObjectModel: { readOnly: true }
@Consumption.semanticObject: 'QualityTask'
QualityTask,
@UI.hidden: true
QualityTaskOrigin,
@UI.lineItem: [{ position: 20 }]
@ObjectModel: { mandatory: true }
QualityTaskText,
@UI: { lineItem: [ { position: 30 } ], textArrangement: #TEXT_ONLY }
QualityTaskLifecycleStatus,
@UI.hidden
QualityTaskArchivingStatus,
@Consumption.valueHelpDefinition: [{ entity: {name: 'I_QltyBPWithUserStdVH', element: 'BusinessPartner' } }]
@UI: { lineItem: [ { position: 40 } ], textArrangement: #TEXT_FIRST }
QualityTaskProcessor,
@UI: { lineItem: [ { position: 50 } ], textArrangement: #TEXT_FIRST }
@feature: 'QM_CE_DEFECT_AFFECTED_OBJ'
QltyTaskFollowUpAction,
@UI: { lineItem: [ { position: 50 } ], textArrangement: #TEXT_ONLY }
@feature: 'QM_CE_DEFECT_AFFECTED_OBJ'
QltyTaskFllwUpActionSts,
@UI.hidden
MasterLanguage,
NotifTaskPlannedEndDate,
@Consumption.filter.hidden: true
NotifTaskPlannedEndTime,
@ObjectModel.readOnly: true
NotifTaskCompletionDate,
@Consumption.filter.hidden: true
NotifTaskCompletionTime,
@ObjectModel.readOnly: true
NotifTaskCompletedByUser,
NotifTaskTimeZone,
//=== Reference Object Fields
@UI.hidden: true
DefectInternalID,
//=== Administrative Data
@UI.hidden: true
ChangedDateTime,
@UI.hidden: true
IsDeleted,
@ObjectModel.readOnly: true
@UI.hidden: true
QltyTskProcgIsCtrldByTskOrigin,
////====Time Recording for Task
@EndUserText.label: 'Time Effort for Task '
@Semantics.quantity.unitOfMeasure: 'QltyTaskTimeBasedEffortUoM'
QltyTaskTimeBasedEffort,
@Consumption.filter.hidden: true
//@EndUserText.label: 'Unit'
@Consumption.valueHelpDefinition: [{ entity: {name: 'C_QltyTskProcTimeUnitVH', element: 'UnitOfMeasure' } }]
QltyTaskTimeBasedEffortUoM,
//=== Associations
_DefectRecord,
/*@UI:{
lineItem: [ //{ position: 40, value: '_DefectQltyTskProcsrNotes.QualityTaskProcessorNotes' },
//{ position: 50, value: '_DefectQltyTskProcsrNotes.QualityTaskProcsrNotesPreview' }
],
hidden: true
}*/
_DefectQltyTskProcsrNotes,
@Consumption.filter.hidden: true
_QualityTaskProcessor,
@Consumption.filter.hidden: true
_QualityTaskStatus,
@Consumption.filter.hidden: true
_QltyTaskFollowUpAction,
@Consumption.filter.hidden: true
_QltyTaskFllwUpActionSts,
@Consumption.filter.hidden: true
_CompletedByUserContactCard,
@Consumption.filter.hidden: true
_QaulityTaskTimeZone
} where IsDeleted <> 'X'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_QUALITYTASKTP"
],
"ASSOCIATED":
[
"C_DEFECTQLTYTSKPROCSRNOTES",
"C_DEFECTRECORD",
"I_QLTYBPWITHUSER",
"I_QLTYTASKFLLWUPACTIONSTS",
"I_QLTYTASKFOLLOWUPACTION",
"I_QUALITYTASKSTATUS",
"I_TIMEZONE",
"I_USERCONTACTCARD"
],
"BASE":
[
"I_QUALITYTASKTP"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/