From 998eab512fdc155493ca88c0af952d02ecc41229 Mon Sep 17 00:00:00 2001 From: Gregor Wolf Date: Wed, 18 Feb 2026 10:53:41 +0100 Subject: [PATCH 1/3] rename label to IntentBasedNavigation --- README.md | 18 ++++++++++++++---- _i18n/i18n.properties | 4 ++-- _i18n/i18n_en.properties | 4 ++-- .../layouts_RootEntities.cds | 6 +++--- .../webapp/i18n/i18n.properties | 4 ++-- 5 files changed, 23 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 08815b3..9c1e351 100644 --- a/README.md +++ b/README.md @@ -1061,7 +1061,7 @@ annotate srv.RootEntities with @( ... { $Type : 'UI.DataFieldForIntentBasedNavigation', - Label : '{i18n>inboundNavigation}', + Label : '{i18n>IntentBasedNavigation}', SemanticObject : 'FeatureShowcaseOrder', Action : 'manage', RequiresContext : true, @@ -1978,8 +1978,18 @@ The semantic object is the application name in the [manifest.json](app/worklist/ "inbounds": { "feature-showcase-worklist": { "signature": { - "parameters": {}, - "additionalParameters": "allowed" + "parameters": { + "ID": { + "required": false + }, + "field3": { + "required": false + }, + "integerProperty": { + "required": false + } + }, + "additionalParameters": "ignored" }, "semanticObject": "FeatureShowcaseOrder", "action": "manage", @@ -3661,7 +3671,7 @@ annotate srv.RootEntities with @( ... { $Type : 'UI.DataFieldForIntentBasedNavigation', - Label : '{i18n>inboundNavigation}', + Label : '{i18n>IntentBasedNavigation}', SemanticObject : 'FeatureShowcaseOrder', Action : 'manage', RequiresContext : true, diff --git a/_i18n/i18n.properties b/_i18n/i18n.properties index b9a29d8..b338c12 100644 --- a/_i18n/i18n.properties +++ b/_i18n/i18n.properties @@ -24,7 +24,7 @@ customHeaderFacet=Custom header facet customColumn=Custom column customFilter=Rating filter -inboundNavigation=IBN +IntentBasedNavigation=IBN formAction=Action on form formActionEmphasized=Emphasized action on form @@ -142,4 +142,4 @@ NetValue=Net value Currency=Currency OrderItems=Items OrderItem=Item -ProductCategory=Product category \ No newline at end of file +ProductCategory=Product category diff --git a/_i18n/i18n_en.properties b/_i18n/i18n_en.properties index b9a29d8..b338c12 100644 --- a/_i18n/i18n_en.properties +++ b/_i18n/i18n_en.properties @@ -24,7 +24,7 @@ customHeaderFacet=Custom header facet customColumn=Custom column customFilter=Rating filter -inboundNavigation=IBN +IntentBasedNavigation=IBN formAction=Action on form formActionEmphasized=Emphasized action on form @@ -142,4 +142,4 @@ NetValue=Net value Currency=Currency OrderItems=Items OrderItem=Item -ProductCategory=Product category \ No newline at end of file +ProductCategory=Product category diff --git a/app/listreport-objectpage/layouts_RootEntities.cds b/app/listreport-objectpage/layouts_RootEntities.cds index a0b25df..056ac92 100644 --- a/app/listreport-objectpage/layouts_RootEntities.cds +++ b/app/listreport-objectpage/layouts_RootEntities.cds @@ -141,13 +141,13 @@ annotate srv.RootEntities with @( { //Search-Term: #NavAction $Type : 'UI.DataFieldForIntentBasedNavigation', - Label : '{i18n>inboundNavigation}', + Label : '{i18n>IntentBasedNavigation}', SemanticObject : 'FeatureShowcaseOrder', //Target entity Action : 'manage', //Specifies the app of the target entity RequiresContext: true, - //Wheather a row has to be selected or not + //Whether a row has to be selected or not Inline : true, //Part of the table, when true IconUrl : 'sap-icon://cart', @@ -235,7 +235,7 @@ annotate srv.RootEntities with @( { //Search-Term: #NavAction $Type : 'UI.DataFieldForIntentBasedNavigation', - Label : '{i18n>inboundNavigation}', + Label : '{i18n>IntentBasedNavigation}', SemanticObject : 'FeatureShowcaseOrder', //Target entity Action : 'manage', diff --git a/app/listreport-objectpage/webapp/i18n/i18n.properties b/app/listreport-objectpage/webapp/i18n/i18n.properties index b0ef9c6..5819d36 100644 --- a/app/listreport-objectpage/webapp/i18n/i18n.properties +++ b/app/listreport-objectpage/webapp/i18n/i18n.properties @@ -37,7 +37,7 @@ customHeaderFacet=Custom RootEntities facet customColumn=Custom column customFilter=Rating filter -inboundNavigation=IBN +IntentBasedNavigation=IBN formAction=Action on form formActionEmphasized=Emphasized action on form @@ -128,4 +128,4 @@ resetEntities=Reset all data criticalAction=Critical action country=Country criticality=Criticality -fieldWithURL=URL \ No newline at end of file +fieldWithURL=URL From 2b6da872a7fd3c1e1a92f589f1c86819a1728bdf Mon Sep 17 00:00:00 2001 From: Gregor Wolf Date: Wed, 18 Feb 2026 10:54:41 +0100 Subject: [PATCH 2/3] define inbound parameters, ignore additional --- app/worklist/webapp/manifest.json | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/app/worklist/webapp/manifest.json b/app/worklist/webapp/manifest.json index f691c36..b0875d8 100644 --- a/app/worklist/webapp/manifest.json +++ b/app/worklist/webapp/manifest.json @@ -28,8 +28,18 @@ "inbounds": { "feature-showcase-worklist": { "signature": { - "parameters": {}, - "additionalParameters": "allowed" + "parameters": { + "ID": { + "required": false + }, + "field3": { + "required": false + }, + "integerProperty": { + "required": false + } + }, + "additionalParameters": "ignored" }, "semanticObject": "FeatureShowcaseOrder", "action": "manage", From 5b1c03d74b52289a8110935dd62686cac31d86c2 Mon Sep 17 00:00:00 2001 From: Gregor Wolf Date: Wed, 18 Feb 2026 10:54:55 +0100 Subject: [PATCH 3/3] map association2one_ID to ID --- app/listreport-objectpage/field-control.cds | 22 ++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/app/listreport-objectpage/field-control.cds b/app/listreport-objectpage/field-control.cds index fea1a6f..f8cf118 100644 --- a/app/listreport-objectpage/field-control.cds +++ b/app/listreport-objectpage/field-control.cds @@ -13,13 +13,21 @@ annotate srv.RootEntities { //Search-Term: #Navigation //Semantic Object annotation in order to show the links to the semantic object apps in the quick view facet Common.SemanticObject : 'FeatureShowcaseOrder', - Common.SemanticObjectMapping: [{ - // Semantic object mapping is done, to set filter values when navigation to the semantic object map - // No logical sensen behind the connection - just to demonstrate - $Type : 'Common.SemanticObjectMappingType', - LocalProperty : integerValue, - SemanticObjectProperty: 'field3', - }, ], + Common.SemanticObjectMapping: [ + { + // Map local property to the target object ID + $Type : 'Common.SemanticObjectMappingType', + LocalProperty : association2one_ID, + SemanticObjectProperty: 'ID', + }, + { + // Semantic object mapping is done, to set filter values when navigation to the semantic object map + // No logical sense behind the connection - just to demonstrate + $Type : 'Common.SemanticObjectMappingType', + LocalProperty : integerValue, + SemanticObjectProperty: 'field3', + }, + ], ); fieldWithURLtext @UI.HiddenFilter @HTML5.LinkTarget: '_blank'; //Search-Term: #HideFilter, #Link