upload current sources
This commit is contained in:
@@ -0,0 +1,142 @@
|
||||
/* TARGET OBJECT : metadata extension ZZC_CHANGEAPPROVAL000 (generated 2026-09-15)
|
||||
abap: URI : abap:/repotree-v1/0M7DEJI/System%20Library/ZLOCAL/ZARENA_PLM/Core%20Data%20Services/Metadata%20Extensions/ZZC_CHANGEAPPROVAL000/zzc_changeapproval000.ddlx.acds
|
||||
ACTION : replace entire content, then activate (after ZZC_CHANGEAPPROVAL000 view).
|
||||
Mirrors app/webapp/annotations/annotation.xml (line items, filter bar, header, facets, actions); the app's local
|
||||
annotations still apply on top at runtime. Labels are literals here; the app carries the i18n texts.
|
||||
Sources (all verified 2026-09-15, abap-docs /abap-fiori-showcase):
|
||||
@Metadata.layer + ANNOTATE ENTITY [abap-docs /abap-docs-cloud/ABENCDS_F1_ANNOTATE_VIEW]
|
||||
@UI.headerInfo typeName/typeNamePlural/typeImageUrl/title/description [05_object_page_header#title-and-subtitle]
|
||||
@UI.presentationVariant sortOrder + visualizations [03_list_report_content (Defining the Default Sort Order)]
|
||||
@UI.facet purpose/type/id/label/position/targetQualifier [06_object_page_content (Nested Tabs, RAPTreeview)]
|
||||
@UI.dataPoint qualifier/title/criticality + #DATAPOINT_REFERENCE header facet [05_object_page_header (Key Value, Progress)]
|
||||
@UI.identification #FOR_ACTION dataAction/label [05_object_page_header (Regular Actions)]
|
||||
@UI.lineItem position/importance/criticality [03_list_report_content (Configuring Tables); 06 (Table)]
|
||||
@UI.selectionField position [02_list_report_header#selection-fields]
|
||||
@UI.fieldGroup qualifier/position [06_object_page_content (Multi Input Field)]
|
||||
@UI.textArrangement #TEXT_ONLY [06_object_page_content#displaying-text-instead-of-id]
|
||||
@UI.multiLineText [05_object_page_header (Plain Text)]; @UI.hidden [06_object_page_content (Hiding Features)]
|
||||
Default filter Status = PENDING is NOT set here (string-literal escaping inside @UI.selectionVariant.filter is
|
||||
unverified); the app's annotation.xml SelectionVariant#Default provides it. */
|
||||
@Metadata.layer: #CUSTOMER
|
||||
@UI: {
|
||||
headerInfo: {
|
||||
typeName: 'Change Approval',
|
||||
typeNamePlural: 'Change Approvals',
|
||||
typeImageUrl: 'sap-icon://approvals',
|
||||
title: { type: #STANDARD, value: 'ItemNumber' },
|
||||
description: { type: #STANDARD, value: 'ItemName' }
|
||||
},
|
||||
presentationVariant: [ {
|
||||
sortOrder: [ { by: 'Status', direction: #ASC }, { by: 'RequestedOn', direction: #DESC } ],
|
||||
visualizations: [ { type: #AS_LINEITEM } ]
|
||||
} ]
|
||||
}
|
||||
annotate entity ZZC_CHANGEAPPROVAL000 with
|
||||
{
|
||||
@UI.facet: [
|
||||
{ id: 'StatusPoint', purpose: #HEADER, type: #DATAPOINT_REFERENCE, targetQualifier: 'StatusPoint' },
|
||||
{ id: 'Keys', purpose: #HEADER, type: #FIELDGROUP_REFERENCE, targetQualifier: 'Keys', label: 'Reference numbers' },
|
||||
{ id: 'Change', purpose: #STANDARD, type: #FIELDGROUP_REFERENCE, targetQualifier: 'Change', label: 'Change', position: 10 },
|
||||
{ id: 'Payload', purpose: #STANDARD, type: #FIELDGROUP_REFERENCE, targetQualifier: 'Payload', label: 'Staged payload', position: 20 },
|
||||
{ id: 'Approval', purpose: #STANDARD, type: #FIELDGROUP_REFERENCE, targetQualifier: 'Approval', label: 'Approval', position: 30 },
|
||||
{ id: 'Execution', purpose: #STANDARD, type: #FIELDGROUP_REFERENCE, targetQualifier: 'Execution', label: 'Execution', position: 40 }
|
||||
]
|
||||
@UI.identification: [
|
||||
{ position: 10, type: #FOR_ACTION, dataAction: 'approve', label: 'Approve' },
|
||||
{ position: 20, type: #FOR_ACTION, dataAction: 'reject', label: 'Reject' },
|
||||
{ position: 30, type: #FOR_ACTION, dataAction: 'retrySync', label: 'Retry sync' }
|
||||
]
|
||||
@UI.hidden: true
|
||||
ID;
|
||||
|
||||
@UI: {
|
||||
lineItem: [ { position: 10, importance: #HIGH } ],
|
||||
selectionField: [ { position: 10 } ],
|
||||
fieldGroup: [ { qualifier: 'Change', position: 10 } ]
|
||||
}
|
||||
@EndUserText.label: 'Item number'
|
||||
ItemNumber;
|
||||
|
||||
@UI: {
|
||||
lineItem: [ { position: 20, importance: #LOW } ],
|
||||
fieldGroup: [ { qualifier: 'Change', position: 20 } ]
|
||||
}
|
||||
@EndUserText.label: 'Item name'
|
||||
ItemName;
|
||||
|
||||
@UI: {
|
||||
lineItem: [ { position: 30, importance: #HIGH } ],
|
||||
selectionField: [ { position: 30 } ],
|
||||
fieldGroup: [ { qualifier: 'Change', position: 30 } ]
|
||||
}
|
||||
@EndUserText.label: 'Change type'
|
||||
ChangeType;
|
||||
|
||||
@UI: {
|
||||
lineItem: [ { position: 60, importance: #MEDIUM } ],
|
||||
selectionField: [ { position: 40 } ],
|
||||
fieldGroup: [ { qualifier: 'Change', position: 40 }, { qualifier: 'Keys', position: 10 } ]
|
||||
}
|
||||
@EndUserText.label: 'Arena ECO'
|
||||
ArenaEcoId;
|
||||
|
||||
@UI: {
|
||||
lineItem: [ { position: 40, importance: #HIGH, criticality: 'StatusCriticality' } ],
|
||||
selectionField: [ { position: 20 } ],
|
||||
fieldGroup: [ { qualifier: 'Approval', position: 10, criticality: 'StatusCriticality' } ],
|
||||
dataPoint: { qualifier: 'StatusPoint', title: 'Status', criticality: 'StatusCriticality' },
|
||||
textArrangement: #TEXT_ONLY
|
||||
}
|
||||
@EndUserText.label: 'Status'
|
||||
Status;
|
||||
|
||||
@UI.hidden: true
|
||||
StatusText;
|
||||
|
||||
@UI.hidden: true
|
||||
StatusCriticality;
|
||||
|
||||
@UI.fieldGroup: [ { qualifier: 'Approval', position: 20 } ]
|
||||
@EndUserText.label: 'Requested by'
|
||||
RequestedBy;
|
||||
|
||||
@UI: {
|
||||
lineItem: [ { position: 50, importance: #MEDIUM } ],
|
||||
fieldGroup: [ { qualifier: 'Approval', position: 30 } ]
|
||||
}
|
||||
@EndUserText.label: 'Requested on'
|
||||
RequestedOn;
|
||||
|
||||
@UI.fieldGroup: [ { qualifier: 'Approval', position: 40 } ]
|
||||
@EndUserText.label: 'Decided by'
|
||||
DecidedBy;
|
||||
|
||||
@UI.fieldGroup: [ { qualifier: 'Approval', position: 50 } ]
|
||||
@EndUserText.label: 'Decided on'
|
||||
DecidedOn;
|
||||
|
||||
@UI.fieldGroup: [ { qualifier: 'Approval', position: 60 } ]
|
||||
@EndUserText.label: 'Reject reason'
|
||||
RejectReason;
|
||||
|
||||
@UI.fieldGroup: [ { qualifier: 'Execution', position: 10 }, { qualifier: 'Keys', position: 20 } ]
|
||||
@EndUserText.label: 'SAP change number'
|
||||
SapChangeNumber;
|
||||
|
||||
@UI.fieldGroup: [ { qualifier: 'Execution', position: 20 } ]
|
||||
@EndUserText.label: 'Error message'
|
||||
ErrorMessage;
|
||||
|
||||
@UI: {
|
||||
fieldGroup: [ { qualifier: 'Payload', position: 10 } ],
|
||||
multiLineText: true
|
||||
}
|
||||
@EndUserText.label: 'Staged payload'
|
||||
SapPreview;
|
||||
|
||||
@UI.hidden: true
|
||||
IsApprovable;
|
||||
|
||||
@UI.hidden: true
|
||||
IsRetriable;
|
||||
}
|
||||
Reference in New Issue
Block a user