From 055235cdd4cbb803a55ec1469ef895e6ea615b63 Mon Sep 17 00:00:00 2001 From: Dombrowski Date: Thu, 12 Dec 2024 16:10:47 +0100 Subject: [PATCH 1/6] Initial Commit for UIAD v2 --- file-formats/uiad/README.md | 2 +- .../examples/z_aff_example_uiad.uiad.json | 12 +- .../uiad/type/zif_aff_uiad_v1.intf.abap | 2 +- .../uiad/type/zif_aff_uiad_v1.intf.json | 2 +- .../uiad/type/zif_aff_uiad_v2.intf.abap | 598 +++++++++++++++ .../uiad/type/zif_aff_uiad_v2.intf.json | 7 + file-formats/uiad/uiad-v2.json | 680 ++++++++++++++++++ 7 files changed, 1294 insertions(+), 9 deletions(-) create mode 100644 file-formats/uiad/type/zif_aff_uiad_v2.intf.abap create mode 100644 file-formats/uiad/type/zif_aff_uiad_v2.intf.json create mode 100644 file-formats/uiad/uiad-v2.json diff --git a/file-formats/uiad/README.md b/file-formats/uiad/README.md index e218ef146..a82ed6337 100644 --- a/file-formats/uiad/README.md +++ b/file-formats/uiad/README.md @@ -2,4 +2,4 @@ File | Cardinality | Definition | Schema | Example :--- | :--- | :--- | :--- | :--- -`.uiad.json` | 1 | [`zif_aff_uiad_v1.intf.abap`](./type/zif_aff_uiad_v1.intf.abap) | [`uiad-v1.json`](./uiad-v1.json) | [`z_aff_example_uiad.uiad.json`](./examples/z_aff_example_uiad.uiad.json) +`.uiad.json` | 1 | [`zif_aff_uiad_v2.intf.abap`](./type/zif_aff_uiad_v2.intf.abap) | [`uiad-v2.json`](./uiad-v2.json) | [`z_aff_example_uiad.uiad.json`](./examples/z_aff_example_uiad.uiad.json) diff --git a/file-formats/uiad/examples/z_aff_example_uiad.uiad.json b/file-formats/uiad/examples/z_aff_example_uiad.uiad.json index 2cc8492d2..dae5bfd82 100644 --- a/file-formats/uiad/examples/z_aff_example_uiad.uiad.json +++ b/file-formats/uiad/examples/z_aff_example_uiad.uiad.json @@ -1,5 +1,5 @@ { - "formatVersion": "1", + "formatVersion": "2", "header": { "description": "Example of UIAD AFF Format", "originalLanguage": "en" @@ -8,14 +8,15 @@ "appType": "ui5", "catalogId": "ZLOCAL_TEST", "information": "Not translated info text", - "supportComponent": "CA-FLP-ABA" + "supportComponent": "CA-FLP-ABA", + "targetMappingTitle": "Target Mapping Title" }, "ui5AppDetails": { "appId": "sap.ushell.demo.AppNavSample", "icfPath": "/sap/bc/ui5_ui5/ui2/appnavsample" }, "navigation": { - "targetMappingId": "Z_AFF_EXAMPLE_TM", + "targetMappingId": "Z_AFF_EXAMPLE_TM2", "semanticObject": "NavSample", "action": "display", "desktop": true, @@ -26,12 +27,11 @@ "name": "tmParamName", "defaultValue": "Hello World!" } - ], - "additionalParameterHandling": "ignored" + ] }, "tiles": [ { - "id": "Z_AFF_EXAMPLE_TILE_STATIC", + "id": "Z_AFF_EXAMPLE_TILE_STATIC_2", "tileType": "static", "isDefault": true, "standard": { diff --git a/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap b/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap index 732b81657..bfa6d66a9 100644 --- a/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap +++ b/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap @@ -622,4 +622,4 @@ INTERFACE zif_aff_uiad_v1 END OF ty_main. -ENDINTERFACE. +ENDINTERFACE. \ No newline at end of file diff --git a/file-formats/uiad/type/zif_aff_uiad_v1.intf.json b/file-formats/uiad/type/zif_aff_uiad_v1.intf.json index f7e319520..e6622efad 100644 --- a/file-formats/uiad/type/zif_aff_uiad_v1.intf.json +++ b/file-formats/uiad/type/zif_aff_uiad_v1.intf.json @@ -4,4 +4,4 @@ "description": "UIAD: AFF Type v.1", "originalLanguage": "en" } -} +} \ No newline at end of file diff --git a/file-formats/uiad/type/zif_aff_uiad_v2.intf.abap b/file-formats/uiad/type/zif_aff_uiad_v2.intf.abap new file mode 100644 index 000000000..c2aebbf04 --- /dev/null +++ b/file-formats/uiad/type/zif_aff_uiad_v2.intf.abap @@ -0,0 +1,598 @@ +INTERFACE zif_aff_uiad_v2 + PUBLIC. + + TYPES: + "!

Header

+ "! The header for an ABAP main object (without source code) with a description of 255 characters + BEGIN OF ty_header, + "!

Description

+ "! Description of the ABAP object + "! $required + description TYPE c LENGTH 255, + + "! $required + original_language TYPE zif_aff_types_v1=>ty_original_language, + + abap_language_version TYPE zif_aff_types_v1=>ty_abap_language_version, + END OF ty_header. + "!

Application Type

+ "! LADI application type + "! $values {@link if_aff_uiad_v1.data:co_app_type} + "! $default {@link if_aff_uiad_v1.data:co_app_type.ui5} + TYPES ty_app_type TYPE c LENGTH 1. + TYPES: + "!

General Information

+ "! General information + BEGIN OF ty_general_information, + + "!

Application Type

+ "! Application type + "! $required + app_type TYPE ty_app_type, + + "!

Technical Catalog

+ "! Technical catalog + "! $required + catalog_id TYPE c LENGTH 40, + + "!

SAP Fiori ID

+ "! SAP Fiori ID + fiori_id TYPE c LENGTH 20, + + "!

Transaction Code

+ "! Transaction code + transaction TYPE c LENGTH 20, + + "!

Target Mapping Information

+ "! Target mapping information + information TYPE c LENGTH 255, + + "!

Application Component (ACH)

+ "! Application component (ACH) + support_component TYPE c LENGTH 24, + + "!

Suppress Tiles

+ "! Suppress tiles + suppress_tiles TYPE abap_bool, + + "!

Target Mapping Title

+ "! Target mapping title (smart link) + target_mapping_title TYPE c LENGTH 255, + + END OF ty_general_information. + TYPES: + "!

SAPUI5 Fiori Application Information

+ "! SAPUI5 Fiori application information + BEGIN OF ty_app_details_ui5, + + "!

SAPUI5 Component ID

+ "! SAPUI5 Component ID + "! $required + app_id TYPE c LENGTH 70, + + "!

ICF Path

+ "! ICF path + icf_path TYPE string, + + END OF ty_app_details_ui5. + "! Web Dynpro integration mode + "! $values {@link if_aff_uiad_v1.data:co_web_dynpro_integration_mode} + "! $default {@link if_aff_uiad_v1.data:co_web_dynpro_integration_mode.system_default} + TYPES ty_web_dynpro_integration_mode TYPE c LENGTH 1. + TYPES: + "!

Web Dynpro Application Inforation

+ "! Web Dynpro application information + BEGIN OF ty_app_details_web_dynpro, + + "!

Web Dynpro Application

+ "! Web Dynpro application + "! $required + app_id TYPE c LENGTH 30, + + "!

Application Configuration

+ "! Application configuration + config_id TYPE c LENGTH 32, + + "!

Flavor ID

+ "! Flavor ID (deprecated) + flavor_id TYPE c LENGTH 32, + + "!

Integration Mode

+ "! Integration mode (deprecated) + integration_mode TYPE ty_web_dynpro_integration_mode, + + "!

Compatibility Mode

+ "! Compatibility mode (deprecated) + compatibility_mode TYPE abap_bool, + + END OF ty_app_details_web_dynpro. + TYPES: + "!

Web Client Application Information

+ "! Web Client application information + BEGIN OF ty_app_details_web_client, + + "!

Target ID

+ "! Target ID + "! $required + target_id TYPE c LENGTH 10, + + END OF ty_app_details_web_client. + TYPES: + "!

URL Template Parameter

+ "! URL template parameter + BEGIN OF ty_url_template_parameter, + + "!

Name

+ "! Parameter name + "! $required + name TYPE string, + + "!

Value

+ "! Parameter value + value TYPE string, + + END OF ty_url_template_parameter. + TYPES ty_url_template_parameters TYPE STANDARD TABLE OF ty_url_template_parameter WITH DEFAULT KEY. + TYPES: + "!

URL Template Application Information

+ "! URL template application information + BEGIN OF ty_app_details_url_template, + + "!

URL Template

+ "! URL template + "! $required + template_id TYPE c LENGTH 32, + + "!

URL Template Parameters

+ "! URL template parameters + parameters TYPE ty_url_template_parameters, + + END OF ty_app_details_url_template. + "!

Filter Type

+ "! Type of the filter value + "! $values {@link if_aff_uiad_v1.data:co_filter_type} + "! $default {@link if_aff_uiad_v1.data:co_filter_type.plain} + TYPES ty_filter_type TYPE c LENGTH 1. + TYPES: + "!

Navigation Parameter

+ "! Navigation parameter + BEGIN OF ty_parameter_item, + + "!

Parameter Name

+ "! Parameter name + "! $required + name TYPE string, + + "!

Parameter in Target Application

+ "! Parameter in target application + rename_to TYPE string, + + "!

Default Value

+ "! Default value + default_value TYPE string, + + "!

Filter Value

+ "! Filter value + filter_value TYPE string, + + "!

Filter Type

+ "! Filter type + filter_type TYPE ty_filter_type, + + "!

Required

+ "! Whether the parameter is required + required TYPE abap_bool, + + END OF ty_parameter_item. + TYPES ty_parameter_items TYPE STANDARD TABLE OF ty_parameter_item WITH DEFAULT KEY. + "!

Additional Parameter Handling

+ "! How additional parameters are handled + "! $values {@link if_aff_uiad_v1.data:co_additional_param_handling} + "! $default {@link if_aff_uiad_v1.data:co_additional_param_handling.allowed} + TYPES ty_additional_param_handling TYPE c LENGTH 1. + TYPES: + "!

Navigation Information

+ "! Navigation information + BEGIN OF ty_navigation, + + "!

Target Mapping ID

+ "! Target mapping ID + "! $required + target_mapping_id TYPE c LENGTH 50, + + "!

Semantic Object

+ "! Semantic object of the target mapping + "! $required + semantic_object TYPE c LENGTH 30, + + "!

Action

+ "! Action of the target mapping + "! $required + action TYPE c LENGTH 60, + + "!

Target URL

+ "! Target URL used for apps of type 'Tile Only' and 'URL Application' + target_url TYPE string, + + "!

System Alias

+ "! System alias + system_alias TYPE c LENGTH 32, + + "!

Desktop

+ "! Desktop is supported as device type + desktop TYPE abap_bool, + + "!

Tablet

+ "! Tablet is supported as device type + tablet TYPE abap_bool, + + "!

Phone

+ "! Phone is supported as device type + phone TYPE abap_bool, + + "!

Navigation Parameters

+ "! Navigation parameters of the target mapping + parameters TYPE ty_parameter_items, + + "!

Additional Parameter Handling

+ "! How additional parameters are handled + additional_parameter_handling TYPE ty_additional_param_handling, + + END OF ty_navigation. + "!

Tile Type

+ "! Tile type + "! $values {@link if_aff_uiad_v1.data:co_tile_type} + "! $default {@link if_aff_uiad_v1.data:co_tile_type.static} + TYPES ty_tile_type TYPE c LENGTH 1. + TYPES: + "!

Dynamic Tile Details

+ "! Dynamic tile details + BEGIN OF ty_dynamic_tile_details, + + "!

Service URL

+ "! Service URL + service_base_url TYPE string, + + "!

Service Path

+ "! Service path + service_path TYPE string, + + "!

Refresh Interval

+ "! Duration until the tile is refreshed + refresh_interval TYPE i, + + "!

Number Unit

+ "! Number unit + number_unit TYPE string, + + END OF ty_dynamic_tile_details. + TYPES: + "!

Tile Navigation Parameter

+ "! Tile navigation parameter + BEGIN OF ty_tile_navigation_parameter, + + "!

Name

+ "! Parameter name + "! $required + name TYPE string, + + "!

Value

+ "! Parameter value + value TYPE string, + + END OF ty_tile_navigation_parameter. + TYPES ty_tile_navigation_parameters TYPE STANDARD TABLE OF ty_tile_navigation_parameter WITH DEFAULT KEY. + TYPES: + "!

Standard Tile Details

+ "! Standard tile details + BEGIN OF ty_standard_tile_details, + + "!

Reuse Text From Application

+ "! Reuse text defined as part of the app + reuse_text_from_app TYPE abap_bool, + + "!

Title

+ "! Tile title + "! $required + title TYPE c LENGTH 255, + + "!

Subtitle

+ "! Tile subtitle + subtitle TYPE c LENGTH 255, + + "!

Information

+ "! Tile information + information TYPE c LENGTH 255, + + "!

Keywords

+ "! Tile keywords + keywords TYPE c LENGTH 255, + + "!

Icon

+ "! Tile icon + icon TYPE string, + + "!

Dynamic Tile Details

+ "! Dynamic tile details + dynamic TYPE ty_dynamic_tile_details, + + "!

Tile Navigation Parameters

+ "! Tile navigation parameters + tile_navigation_parameters TYPE ty_tile_navigation_parameters, + + END OF ty_standard_tile_details. + TYPES: + "!

CHIP Bag Property

+ "! Property of a CHIP bag + BEGIN OF ty_chip_bag_property, + + "!

Bag ID

+ "! Bag ID + "! $required + bag_id TYPE c LENGTH 100, + + "!

Name

+ "! Property name + "! $required + name TYPE c LENGTH 100, + + "!

Value

+ "! Property value + value TYPE string, + + "!

Translatable

+ "! Property is translatable + translatable TYPE abap_bool, + + END OF ty_chip_bag_property. + TYPES ty_chip_bag_properties TYPE STANDARD TABLE OF ty_chip_bag_property WITH DEFAULT KEY. + TYPES: + "!

Custom Tile Details

+ "! CHIP based Custom tile details + BEGIN OF ty_custom_tile_details, + + "!

Base CHIP

+ "! Base CHIP + base_chip_id TYPE c LENGTH 255, + + "!

Configuration

+ "! Configuration string of the CHIP + configuration TYPE string, + + "!

Bag Properties

+ "! These Bags are available in the Javascript Frontend via the CHIP API "bag" Contract + bag_properties TYPE ty_chip_bag_properties, + + END OF ty_custom_tile_details. + TYPES: + "!

Tile Details

+ "! Details of a tile + BEGIN OF ty_tile, + + "!

ID

+ "! Tile ID + "! $required + id TYPE c LENGTH 50, + + "!

Tile Type

+ "! Tile type + "! $required + tile_type TYPE ty_tile_type, + + "!

Is Default Tile

+ "! Tile is chosen by default + is_default TYPE abap_bool, + + "!

Is Legacy Tile

+ "! Tile is stored as legacy tile + is_legacy TYPE abap_bool, + + "!

Standard Details

+ "! Standard tile details + standard TYPE ty_standard_tile_details, + + "!

Custom Details

+ "! Custom tile details + custom TYPE ty_custom_tile_details, + + END OF ty_tile. + TYPES ty_tiles TYPE STANDARD TABLE OF ty_tile WITH DEFAULT KEY. + "!

Life Cycle Deprecation Status

+ "! Life cycle deprecation status + "! $values {@link if_aff_uiad_v1.data:co_life_cycle_status} + "! $default {@link if_aff_uiad_v1.data:co_life_cycle_status.active} + TYPES ty_life_cycle_status TYPE c LENGTH 1. + TYPES: + "!

Life Cycle

+ "! Life cycle + BEGIN OF ty_life_cycle, + + "!

Status

+ "! Life cycle status + status TYPE ty_life_cycle_status, + + "!

Successor

+ "! LADI of the successor application + successor TYPE c LENGTH 32, + + END OF ty_life_cycle. + TYPES: + "!

LADI

+ "! Launchpad application descriptor item (LADI) + BEGIN OF ty_main, + + "!

Format Version

+ "! Format version + "! $required + format_version TYPE zif_aff_types_v1=>ty_format_version, + + "!

Header

+ "! Header + "! $required + header TYPE ty_header, + + "!

General Information

+ "! General information + "! $required + general_information TYPE ty_general_information, + + "!

SAPUI5 Application Information

+ "! SAPUI5 application information + ui5_app_details TYPE ty_app_details_ui5, + + "!

Web Dynpro Application Information

+ "! Web Dynpro application information + web_dynpro_app_details TYPE ty_app_details_web_dynpro, + + "!

Web Client Application Information

+ "! Web Client application information + web_client_app_details TYPE ty_app_details_web_client, + + "!

URL Template Application Information

+ "! URL Template application information + url_template_app_details TYPE ty_app_details_url_template, + + "!

Navigation Information

+ "! Navigation information + "! $required + navigation TYPE ty_navigation, + + "!

Tiles

+ "! Tiles + "! $required + tiles TYPE ty_tiles, + + "!

Life Cycle

+ "! Life cycle + life_cycle TYPE ty_life_cycle, + + END OF ty_main. + + CONSTANTS: + "!

Application Type

+ "! LADI application type + BEGIN OF co_app_type, + + "!

Transaction

+ "! Transaction + transaction TYPE ty_app_type VALUE 'T', + + "!

Web Dynpro Application

+ "! Web Dynpro application + web_dynpro TYPE ty_app_type VALUE 'W', + + "!

Web Client UI Application

+ "! Web Client UI application + web_client TYPE ty_app_type VALUE 'C', + + "!

SAPUI5 Fiori Application

+ "! SAPUI5 Fiori application + ui5 TYPE ty_app_type VALUE 'U', + + "!

SAPUI5 Fiori Application on SAP BTP (Deprecated)

+ "! SAPUI5 Fiori application on SAP BTP (deprecated) + legacy_ui5 TYPE ty_app_type VALUE 'S', + + "!

URL Application

+ "! URL application + url TYPE ty_app_type VALUE 'R', + + "!

Tile Only

+ "! Tile only + tile_only TYPE ty_app_type VALUE 'O', + + "!

URL Template

+ "! URL template + url_template TYPE ty_app_type VALUE 'G', + + END OF co_app_type. + CONSTANTS: + "!

Web Dynpro Integration Mode

+ "! Web Dynpro integration mode + BEGIN OF co_web_dynpro_integration_mode, + + "!

System Default

+ "! System default + system_default TYPE ty_web_dynpro_integration_mode VALUE ' ', + + "!

Direct

+ "! Direct + direct TYPE ty_web_dynpro_integration_mode VALUE 'D', + + "!

Compatible

+ "! Compatible + compatible TYPE ty_web_dynpro_integration_mode VALUE 'C', + + END OF co_web_dynpro_integration_mode. + CONSTANTS: + "!

Filter Type

+ "! Type of the filter value + BEGIN OF co_filter_type, + + "!

Plain

+ "! The filter value is used as is + plain TYPE ty_filter_type VALUE ' ', + + "!

Regex

+ "! The filter value is used as a regular expression + regex TYPE ty_filter_type VALUE 'R', + + END OF co_filter_type. + CONSTANTS: + "!

Additional Parameter Handling

+ "! How additional parameters are handled + BEGIN OF co_additional_param_handling, + + "!

Allowed

+ "! Additional parameters are allowed + allowed TYPE ty_additional_param_handling VALUE 'A', + + "!

Ignored

+ "! Additional parameters are ignored + ignored TYPE ty_additional_param_handling VALUE 'I', + + "!

Not Allowed

+ "! Additional parameters are not allowed + not_allowed TYPE ty_additional_param_handling VALUE 'N', + + END OF co_additional_param_handling. + CONSTANTS: + "!

Tile Type

+ "! Tile type + BEGIN OF co_tile_type, + + "!

Static

+ "! Static tile + static TYPE ty_tile_type VALUE 'S', + + "!

Dynamic

+ "! Dynamic tile + dynamic TYPE ty_tile_type VALUE 'D', + + "!

Custom

+ "! Custom tile + custom TYPE ty_tile_type VALUE 'C', + + END OF co_tile_type. + CONSTANTS: + "!

Life Cycle Status

+ "! Life cycle deprecation status + BEGIN OF co_life_cycle_status, + + "!

Active

+ "! LADI is active + active TYPE ty_life_cycle_status VALUE ' ', + + "!

Deprecated

+ "! LADI is deprecated and should no longer be used + deprecated TYPE ty_life_cycle_status VALUE 'D', + + "!

Obsolete

+ "! LADI is obsolete and must no longer be used + obsolete TYPE ty_life_cycle_status VALUE 'O', + + END OF co_life_cycle_status. + + CONSTANTS co_format_version TYPE zif_aff_types_v1=>ty_format_version VALUE '2'. + +ENDINTERFACE. diff --git a/file-formats/uiad/type/zif_aff_uiad_v2.intf.json b/file-formats/uiad/type/zif_aff_uiad_v2.intf.json new file mode 100644 index 000000000..c313c658d --- /dev/null +++ b/file-formats/uiad/type/zif_aff_uiad_v2.intf.json @@ -0,0 +1,7 @@ +{ + "formatVersion": "1", + "header": { + "description": "UIAD: AFF Type v.2", + "originalLanguage": "en" + } +} diff --git a/file-formats/uiad/uiad-v2.json b/file-formats/uiad/uiad-v2.json new file mode 100644 index 000000000..babead477 --- /dev/null +++ b/file-formats/uiad/uiad-v2.json @@ -0,0 +1,680 @@ +{ + "$comment": "This file is autogenerated, do not edit manually, see https://github.com/SAP/abap-file-formats for more information.", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://github.com/SAP/abap-file-formats/blob/main/file-formats/uiad/uiad-v2.json", + "title": "LADI", + "description": "Launchpad application descriptor item (LADI)", + "type": "object", + "properties": { + "formatVersion": { + "title": "Format Version", + "description": "Format version", + "type": "string", + "const": "2" + }, + "header": { + "title": "Header", + "description": "Header", + "type": "object", + "properties": { + "description": { + "title": "Description", + "description": "Description of the ABAP object", + "type": "string", + "maxLength": 255 + }, + "originalLanguage": { + "title": "Original Language", + "description": "Original language of the ABAP object", + "type": "string", + "minLength": 2 + }, + "abapLanguageVersion": { + "title": "ABAP Language Version", + "description": "ABAP language version", + "type": "string", + "enum": [ + "standard", + "keyUser", + "cloudDevelopment" + ], + "enumTitles": [ + "Standard", + "ABAP for Key Users", + "ABAP Cloud Development" + ], + "enumDescriptions": [ + "Standard", + "ABAP for key user extensibility", + "ABAP cloud development" + ], + "default": "standard" + } + }, + "additionalProperties": false, + "required": [ + "description", + "originalLanguage" + ] + }, + "generalInformation": { + "title": "General Information", + "description": "General information", + "type": "object", + "properties": { + "appType": { + "title": "Application Type", + "description": "Application type", + "type": "string", + "enum": [ + "transaction", + "webDynpro", + "webClient", + "ui5", + "legacyUi5", + "url", + "tileOnly", + "urlTemplate" + ], + "enumTitles": [ + "Transaction", + "Web Dynpro Application", + "Web Client UI Application", + "SAPUI5 Fiori Application", + "SAPUI5 Fiori Application on SAP BTP (Deprecated)", + "URL Application", + "Tile Only", + "URL Template" + ], + "enumDescriptions": [ + "Transaction", + "Web Dynpro application", + "Web Client UI application", + "SAPUI5 Fiori application", + "SAPUI5 Fiori application on SAP BTP (deprecated)", + "URL application", + "Tile only", + "URL template" + ], + "default": "ui5" + }, + "catalogId": { + "title": "Technical Catalog", + "description": "Technical catalog", + "type": "string", + "maxLength": 40 + }, + "fioriId": { + "title": "SAP Fiori ID", + "description": "SAP Fiori ID", + "type": "string", + "maxLength": 20 + }, + "transaction": { + "title": "Transaction Code", + "description": "Transaction code", + "type": "string", + "maxLength": 20 + }, + "information": { + "title": "Target Mapping Information", + "description": "Target mapping information", + "type": "string", + "maxLength": 255 + }, + "supportComponent": { + "title": "Application Component (ACH)", + "description": "Application component (ACH)", + "type": "string", + "maxLength": 24 + }, + "suppressTiles": { + "title": "Suppress Tiles", + "description": "Suppress tiles", + "type": "boolean" + }, + "targetMappingTitle": { + "title": "Target Mapping Title", + "description": "Target mapping title (smart link)", + "type": "string", + "maxLength": 255 + } + }, + "additionalProperties": false, + "required": [ + "appType", + "catalogId" + ] + }, + "ui5AppDetails": { + "title": "SAPUI5 Application Information", + "description": "SAPUI5 application information", + "type": "object", + "properties": { + "appId": { + "title": "SAPUI5 Component ID", + "description": "SAPUI5 Component ID", + "type": "string", + "maxLength": 70 + }, + "icfPath": { + "title": "ICF Path", + "description": "ICF path", + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "appId" + ] + }, + "webDynproAppDetails": { + "title": "Web Dynpro Application Information", + "description": "Web Dynpro application information", + "type": "object", + "properties": { + "appId": { + "title": "Web Dynpro Application", + "description": "Web Dynpro application", + "type": "string", + "maxLength": 30 + }, + "configId": { + "title": "Application Configuration", + "description": "Application configuration", + "type": "string", + "maxLength": 32 + }, + "flavorId": { + "title": "Flavor ID", + "description": "Flavor ID (deprecated)", + "type": "string", + "maxLength": 32 + }, + "integrationMode": { + "title": "Integration Mode", + "description": "Integration mode (deprecated)", + "type": "string", + "enum": [ + "systemDefault", + "direct", + "compatible" + ], + "enumTitles": [ + "System Default", + "Direct", + "Compatible" + ], + "enumDescriptions": [ + "System default", + "Direct", + "Compatible" + ], + "default": "systemDefault" + }, + "compatibilityMode": { + "title": "Compatibility Mode", + "description": "Compatibility mode (deprecated)", + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "appId" + ] + }, + "webClientAppDetails": { + "title": "Web Client Application Information", + "description": "Web Client application information", + "type": "object", + "properties": { + "targetId": { + "title": "Target ID", + "description": "Target ID", + "type": "string", + "maxLength": 10 + } + }, + "additionalProperties": false, + "required": [ + "targetId" + ] + }, + "urlTemplateAppDetails": { + "title": "URL Template Application Information", + "description": "URL Template application information", + "type": "object", + "properties": { + "templateId": { + "title": "URL Template", + "description": "URL template", + "type": "string", + "maxLength": 32 + }, + "parameters": { + "title": "URL Template Parameters", + "description": "URL template parameters", + "type": "array", + "items": { + "title": "URL Template Parameter", + "description": "URL template parameter", + "type": "object", + "properties": { + "name": { + "title": "Name", + "description": "Parameter name", + "type": "string" + }, + "value": { + "title": "Value", + "description": "Parameter value", + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "name" + ] + } + } + }, + "additionalProperties": false, + "required": [ + "templateId" + ] + }, + "navigation": { + "title": "Navigation Information", + "description": "Navigation information", + "type": "object", + "properties": { + "targetMappingId": { + "title": "Target Mapping ID", + "description": "Target mapping ID", + "type": "string", + "maxLength": 50 + }, + "semanticObject": { + "title": "Semantic Object", + "description": "Semantic object of the target mapping", + "type": "string", + "maxLength": 30 + }, + "action": { + "title": "Action", + "description": "Action of the target mapping", + "type": "string", + "maxLength": 60 + }, + "targetUrl": { + "title": "Target URL", + "description": "Target URL used for apps of type 'Tile Only' and 'URL Application'", + "type": "string" + }, + "systemAlias": { + "title": "System Alias", + "description": "System alias", + "type": "string", + "maxLength": 32 + }, + "desktop": { + "title": "Desktop", + "description": "Desktop is supported as device type", + "type": "boolean" + }, + "tablet": { + "title": "Tablet", + "description": "Tablet is supported as device type", + "type": "boolean" + }, + "phone": { + "title": "Phone", + "description": "Phone is supported as device type", + "type": "boolean" + }, + "parameters": { + "title": "Navigation Parameters", + "description": "Navigation parameters of the target mapping", + "type": "array", + "items": { + "title": "Navigation Parameter", + "description": "Navigation parameter", + "type": "object", + "properties": { + "name": { + "title": "Parameter Name", + "description": "Parameter name", + "type": "string" + }, + "renameTo": { + "title": "Parameter in Target Application", + "description": "Parameter in target application", + "type": "string" + }, + "defaultValue": { + "title": "Default Value", + "description": "Default value", + "type": "string" + }, + "filterValue": { + "title": "Filter Value", + "description": "Filter value", + "type": "string" + }, + "filterType": { + "title": "Filter Type", + "description": "Filter type", + "type": "string", + "enum": [ + "plain", + "regex" + ], + "enumTitles": [ + "Plain", + "Regex" + ], + "enumDescriptions": [ + "The filter value is used as is", + "The filter value is used as a regular expression" + ], + "default": "plain" + }, + "required": { + "title": "Required", + "description": "Whether the parameter is required", + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "name" + ] + } + }, + "additionalParameterHandling": { + "title": "Additional Parameter Handling", + "description": "How additional parameters are handled", + "type": "string", + "enum": [ + "allowed", + "ignored", + "notAllowed" + ], + "enumTitles": [ + "Allowed", + "Ignored", + "Not Allowed" + ], + "enumDescriptions": [ + "Additional parameters are allowed", + "Additional parameters are ignored", + "Additional parameters are not allowed" + ], + "default": "allowed" + } + }, + "additionalProperties": false, + "required": [ + "targetMappingId", + "semanticObject", + "action" + ] + }, + "tiles": { + "title": "Tiles", + "description": "Tiles", + "type": "array", + "items": { + "title": "Tile Details", + "description": "Details of a tile", + "type": "object", + "properties": { + "id": { + "title": "ID", + "description": "Tile ID", + "type": "string", + "maxLength": 50 + }, + "tileType": { + "title": "Tile Type", + "description": "Tile type", + "type": "string", + "enum": [ + "static", + "dynamic", + "custom" + ], + "enumTitles": [ + "Static", + "Dynamic", + "Custom" + ], + "enumDescriptions": [ + "Static tile", + "Dynamic tile", + "Custom tile" + ], + "default": "static" + }, + "isDefault": { + "title": "Is Default Tile", + "description": "Tile is chosen by default", + "type": "boolean" + }, + "isLegacy": { + "title": "Is Legacy Tile", + "description": "Tile is stored as legacy tile", + "type": "boolean" + }, + "standard": { + "title": "Standard Details", + "description": "Standard tile details", + "type": "object", + "properties": { + "reuseTextFromApp": { + "title": "Reuse Text From Application", + "description": "Reuse text defined as part of the app", + "type": "boolean" + }, + "title": { + "title": "Title", + "description": "Tile title", + "type": "string", + "maxLength": 255 + }, + "subtitle": { + "title": "Subtitle", + "description": "Tile subtitle", + "type": "string", + "maxLength": 255 + }, + "information": { + "title": "Information", + "description": "Tile information", + "type": "string", + "maxLength": 255 + }, + "keywords": { + "title": "Keywords", + "description": "Tile keywords", + "type": "string", + "maxLength": 255 + }, + "icon": { + "title": "Icon", + "description": "Tile icon", + "type": "string" + }, + "dynamic": { + "title": "Dynamic Tile Details", + "description": "Dynamic tile details", + "type": "object", + "properties": { + "serviceBaseUrl": { + "title": "Service URL", + "description": "Service URL", + "type": "string" + }, + "servicePath": { + "title": "Service Path", + "description": "Service path", + "type": "string" + }, + "refreshInterval": { + "title": "Refresh Interval", + "description": "Duration until the tile is refreshed", + "type": "integer", + "minimum": -2147483648, + "maximum": 2147483647 + }, + "numberUnit": { + "title": "Number Unit", + "description": "Number unit", + "type": "string" + } + }, + "additionalProperties": false + }, + "tileNavigationParameters": { + "title": "Tile Navigation Parameters", + "description": "Tile navigation parameters", + "type": "array", + "items": { + "title": "Tile Navigation Parameter", + "description": "Tile navigation parameter", + "type": "object", + "properties": { + "name": { + "title": "Name", + "description": "Parameter name", + "type": "string" + }, + "value": { + "title": "Value", + "description": "Parameter value", + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "name" + ] + } + } + }, + "additionalProperties": false, + "required": [ + "title" + ] + }, + "custom": { + "title": "Custom Details", + "description": "Custom tile details", + "type": "object", + "properties": { + "baseChipId": { + "title": "Base CHIP", + "description": "Base CHIP", + "type": "string", + "maxLength": 255 + }, + "configuration": { + "title": "Configuration", + "description": "Configuration string of the CHIP", + "type": "string" + }, + "bagProperties": { + "title": "Bag Properties", + "description": "These Bags are available in the Javascript Frontend via the CHIP API \"bag\" Contract", + "type": "array", + "items": { + "title": "CHIP Bag Property", + "description": "Property of a CHIP bag", + "type": "object", + "properties": { + "bagId": { + "title": "Bag ID", + "description": "Bag ID", + "type": "string", + "maxLength": 100 + }, + "name": { + "title": "Name", + "description": "Property name", + "type": "string", + "maxLength": 100 + }, + "value": { + "title": "Value", + "description": "Property value", + "type": "string" + }, + "translatable": { + "title": "Translatable", + "description": "Property is translatable", + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "bagId", + "name" + ] + } + } + }, + "additionalProperties": false + } + }, + "additionalProperties": false, + "required": [ + "id", + "tileType" + ] + } + }, + "lifeCycle": { + "title": "Life Cycle", + "description": "Life cycle", + "type": "object", + "properties": { + "status": { + "title": "Status", + "description": "Life cycle status", + "type": "string", + "enum": [ + "active", + "deprecated", + "obsolete" + ], + "enumTitles": [ + "Active", + "Deprecated", + "Obsolete" + ], + "enumDescriptions": [ + "LADI is active", + "LADI is deprecated and should no longer be used", + "LADI is obsolete and must no longer be used" + ], + "default": "active" + }, + "successor": { + "title": "Successor", + "description": "LADI of the successor application", + "type": "string", + "maxLength": 32 + } + }, + "additionalProperties": false + } + }, + "additionalProperties": false, + "required": [ + "formatVersion", + "header", + "generalInformation", + "navigation", + "tiles" + ] +} From e700a66306dd09408eb74136e34107b87ae7d782 Mon Sep 17 00:00:00 2001 From: Dombrowski Date: Thu, 12 Dec 2024 16:21:50 +0100 Subject: [PATCH 2/6] Fixed Example and line endings --- .../examples/z_aff_example_uiad.uiad.json | 7 +- .../uiad/type/zif_aff_uiad_v1.intf.abap | 366 +++++++++--------- .../uiad/type/zif_aff_uiad_v1.intf.json | 2 +- 3 files changed, 189 insertions(+), 186 deletions(-) diff --git a/file-formats/uiad/examples/z_aff_example_uiad.uiad.json b/file-formats/uiad/examples/z_aff_example_uiad.uiad.json index dae5bfd82..56115f4c2 100644 --- a/file-formats/uiad/examples/z_aff_example_uiad.uiad.json +++ b/file-formats/uiad/examples/z_aff_example_uiad.uiad.json @@ -16,7 +16,7 @@ "icfPath": "/sap/bc/ui5_ui5/ui2/appnavsample" }, "navigation": { - "targetMappingId": "Z_AFF_EXAMPLE_TM2", + "targetMappingId": "Z_AFF_EXAMPLE_TM", "semanticObject": "NavSample", "action": "display", "desktop": true, @@ -27,11 +27,12 @@ "name": "tmParamName", "defaultValue": "Hello World!" } - ] + ], + "additionalParameterHandling": "ignored" }, "tiles": [ { - "id": "Z_AFF_EXAMPLE_TILE_STATIC_2", + "id": "Z_AFF_EXAMPLE_TILE_STATIC", "tileType": "static", "isDefault": true, "standard": { diff --git a/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap b/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap index bfa6d66a9..b1b83ffac 100644 --- a/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap +++ b/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap @@ -1,625 +1,627 @@ -INTERFACE zif_aff_uiad_v1 - PUBLIC. +interface zif_aff_uiad_v1 + public. - TYPES: + types: "!

Header

"! The header for an ABAP main object (without source code) with a description of 255 characters - BEGIN OF ty_header, + begin of ty_header, "!

Description

"! Description of the ABAP object "! $required - description TYPE c LENGTH 255, + description type c length 255, "! $required - original_language TYPE zif_aff_types_v1=>ty_original_language, + original_language type zif_aff_types_v1=>ty_original_language, - abap_language_version TYPE zif_aff_types_v1=>ty_abap_language_version, - END OF ty_header. + abap_language_version type zif_aff_types_v1=>ty_abap_language_version, + end of ty_header. "!

Application Type

"! LADI application type "! $values {@link zif_aff_uiad_v1.data:co_app_type} "! $default {@link zif_aff_uiad_v1.data:co_app_type.ui5} - TYPES ty_app_type TYPE c LENGTH 1. + types ty_app_type type c length 1. - CONSTANTS: + constants: "!

Application Type

"! LADI application type - BEGIN OF co_app_type, + begin of co_app_type, "!

Transaction

"! Transaction - transaction TYPE ty_app_type VALUE 'T', + transaction type ty_app_type value 'T', "!

Web Dynpro Application

"! Web Dynpro application - web_dynpro TYPE ty_app_type VALUE 'W', + web_dynpro type ty_app_type value 'W', "!

Web Client UI Application

"! Web Client UI application - web_client TYPE ty_app_type VALUE 'C', + web_client type ty_app_type value 'C', "!

SAPUI5 Fiori Application

"! SAPUI5 Fiori application - ui5 TYPE ty_app_type VALUE 'U', + ui5 type ty_app_type value 'U', "!

SAPUI5 Fiori Application on SAP BTP (Deprecated)

"! SAPUI5 Fiori application on SAP BTP (deprecated) - legacy_ui5 TYPE ty_app_type VALUE 'S', + legacy_ui5 type ty_app_type value 'S', "!

URL Application

"! URL application - url TYPE ty_app_type VALUE 'R', + url type ty_app_type value 'R', "!

Tile Only

"! Tile only - tile_only TYPE ty_app_type VALUE 'O', + tile_only type ty_app_type value 'O', "!

URL Template

"! URL template - url_template TYPE ty_app_type VALUE 'G', + url_template type ty_app_type value 'G', - END OF co_app_type. + end of co_app_type. - TYPES: + types: "!

General Information

"! General information - BEGIN OF ty_general_information, + begin of ty_general_information, "!

Application Type

"! Application type "! $required - app_type TYPE ty_app_type, + app_type type ty_app_type, "!

Technical Catalog

"! Technical catalog "! $required - catalog_id TYPE c LENGTH 40, + catalog_id type c length 40, "!

SAP Fiori ID

"! SAP Fiori ID - fiori_id TYPE c LENGTH 20, + fiori_id type c length 20, "!

Transaction Code

"! Transaction code - transaction TYPE c LENGTH 20, + transaction type c length 20, "!

Target Mapping Information

"! Target mapping information - information TYPE c LENGTH 255, + information type c length 255, "!

Application Component (ACH)

"! Application component (ACH) - support_component TYPE c LENGTH 24, + support_component type c length 24, "!

Suppress Tiles

"! Suppress tiles - suppress_tiles TYPE abap_bool, + suppress_tiles type abap_bool, - END OF ty_general_information. + end of ty_general_information. - TYPES: + types: "!

SAPUI5 Fiori Application Information

"! SAPUI5 Fiori application information - BEGIN OF ty_app_details_ui5, + begin of ty_app_details_ui5, "!

SAPUI5 Component ID

"! SAPUI5 Component ID "! $required - app_id TYPE c LENGTH 70, + app_id type c length 70, "!

ICF Path

"! ICF path - icf_path TYPE string, + icf_path type string, - END OF ty_app_details_ui5. + end of ty_app_details_ui5. "! Web Dynpro integration mode "! $values {@link zif_aff_uiad_v1.data:co_web_dynpro_integration_mode} "! $default {@link zif_aff_uiad_v1.data:co_web_dynpro_integration_mode.system_default} - TYPES ty_web_dynpro_integration_mode TYPE c LENGTH 1. + types ty_web_dynpro_integration_mode type c length 1. - CONSTANTS: + constants: "!

Web Dynpro Integration Mode

"! Web Dynpro integration mode - BEGIN OF co_web_dynpro_integration_mode, + begin of co_web_dynpro_integration_mode, "!

System Default

"! System default - system_default TYPE ty_web_dynpro_integration_mode VALUE ' ', + system_default type ty_web_dynpro_integration_mode value ' ', "!

Direct

"! Direct - direct TYPE ty_web_dynpro_integration_mode VALUE 'D', + direct type ty_web_dynpro_integration_mode value 'D', "!

Compatible

"! Compatible - compatible TYPE ty_web_dynpro_integration_mode VALUE 'C', + compatible type ty_web_dynpro_integration_mode value 'C', - END OF co_web_dynpro_integration_mode. + end of co_web_dynpro_integration_mode. - TYPES: + types: "!

Web Dynpro Application Inforation

"! Web Dynpro application information - BEGIN OF ty_app_details_web_dynpro, + begin of ty_app_details_web_dynpro, "!

Web Dynpro Application

"! Web Dynpro application "! $required - app_id TYPE c LENGTH 30, + app_id type c length 30, "!

Application Configuration

"! Application configuration - config_id TYPE c LENGTH 32, + config_id type c length 32, "!

Flavor ID

"! Flavor ID (deprecated) - flavor_id TYPE c LENGTH 32, + flavor_id type c length 32, "!

Integration Mode

"! Integration mode (deprecated) - integration_mode TYPE ty_web_dynpro_integration_mode, + integration_mode type ty_web_dynpro_integration_mode, "!

Compatibility Mode

"! Compatibility mode (deprecated) - compatibility_mode TYPE abap_bool, + compatibility_mode type abap_bool, - END OF ty_app_details_web_dynpro. + end of ty_app_details_web_dynpro. - TYPES: + types: "!

Web Client Application Information

"! Web Client application information - BEGIN OF ty_app_details_web_client, + begin of ty_app_details_web_client, "!

Target ID

"! Target ID "! $required - target_id TYPE c LENGTH 10, + target_id type c length 10, - END OF ty_app_details_web_client. + end of ty_app_details_web_client. - TYPES: + types: "!

URL Template Parameter

"! URL template parameter - BEGIN OF ty_url_template_parameter, + begin of ty_url_template_parameter, "!

Name

"! Parameter name "! $required - name TYPE string, + name type string, "!

Value

"! Parameter value - value TYPE string, + value type string, - END OF ty_url_template_parameter, + end of ty_url_template_parameter, - ty_url_template_parameters TYPE STANDARD TABLE OF ty_url_template_parameter WITH DEFAULT KEY. + ty_url_template_parameters type standard table of ty_url_template_parameter with default key. - TYPES: + types: "!

URL Template Application Information

"! URL template application information - BEGIN OF ty_app_details_url_template, + begin of ty_app_details_url_template, "!

URL Template

"! URL template "! $required - template_id TYPE c LENGTH 32, + template_id type c length 32, "!

URL Template Parameters

"! URL template parameters - parameters TYPE ty_url_template_parameters, + parameters type ty_url_template_parameters, - END OF ty_app_details_url_template. + end of ty_app_details_url_template. "!

Filter Type

"! Type of the filter value "! $values {@link zif_aff_uiad_v1.data:co_filter_type} "! $default {@link zif_aff_uiad_v1.data:co_filter_type.plain} - TYPES ty_filter_type TYPE c LENGTH 1. + types ty_filter_type type c length 1. - CONSTANTS: + constants: "!

Filter Type

"! Type of the filter value - BEGIN OF co_filter_type, + begin of co_filter_type, "!

Plain

"! The filter value is used as is - plain TYPE ty_filter_type VALUE ' ', + plain type ty_filter_type value ' ', "!

Regex

"! The filter value is used as a regular expression - regex TYPE ty_filter_type VALUE 'R', + regex type ty_filter_type value 'R', - END OF co_filter_type. + end of co_filter_type. - TYPES: + types: "!

Navigation Parameter

"! Navigation parameter - BEGIN OF ty_parameter_item, + begin of ty_parameter_item, "!

Parameter Name

"! Parameter name "! $required - name TYPE string, + name type string, "!

Parameter in Target Application

"! Parameter in target application - rename_to TYPE string, + rename_to type string, "!

Default Value

"! Default value - default_value TYPE string, + default_value type string, "!

Filter Value

"! Filter value - filter_value TYPE string, + filter_value type string, "!

Filter Type

"! Filter type - filter_type TYPE ty_filter_type, + filter_type type ty_filter_type, "!

Required

"! Whether the parameter is required - required TYPE abap_bool, + required type abap_bool, - END OF ty_parameter_item, + end of ty_parameter_item, - ty_parameter_items TYPE STANDARD TABLE OF ty_parameter_item WITH DEFAULT KEY. + ty_parameter_items type standard table of ty_parameter_item with default key. "!

Additional Parameter Handling

"! How additional parameters are handled "! $values {@link zif_aff_uiad_v1.data:co_additional_param_handling} "! $default {@link zif_aff_uiad_v1.data:co_additional_param_handling.allowed} - TYPES ty_additional_param_handling TYPE c LENGTH 1. + types ty_additional_param_handling type c length 1. - CONSTANTS: + constants: "!

Additional Parameter Handling

"! How additional parameters are handled - BEGIN OF co_additional_param_handling, + begin of co_additional_param_handling, "!

Allowed

"! Additional parameters are allowed - allowed TYPE ty_additional_param_handling VALUE 'A', + allowed type ty_additional_param_handling value 'A', "!

Ignored

"! Additional parameters are ignored - ignored TYPE ty_additional_param_handling VALUE 'I', + ignored type ty_additional_param_handling value 'I', "!

Not Allowed

"! Additional parameters are not allowed - not_allowed TYPE ty_additional_param_handling VALUE 'N', + not_allowed type ty_additional_param_handling value 'N', - END OF co_additional_param_handling. + end of co_additional_param_handling. - TYPES: + types: "!

Navigation Information

"! Navigation information - BEGIN OF ty_navigation, + begin of ty_navigation, "!

Target Mapping ID

"! Target mapping ID "! $required - target_mapping_id TYPE c LENGTH 50, + target_mapping_id type c length 50, "!

Semantic Object

"! Semantic object of the target mapping "! $required - semantic_object TYPE c LENGTH 30, + semantic_object type c length 30, "!

Action

"! Action of the target mapping "! $required - action TYPE c LENGTH 60, + action type c length 60, "!

Target URL

"! Target URL used for apps of type 'Tile Only' and 'URL Application' - target_url TYPE string, + target_url type string, "!

System Alias

"! System alias - system_alias TYPE c LENGTH 32, + system_alias type c length 32, "!

Desktop

"! Desktop is supported as device type - desktop TYPE abap_bool, + desktop type abap_bool, "!

Tablet

"! Tablet is supported as device type - tablet TYPE abap_bool, + tablet type abap_bool, "!

Phone

"! Phone is supported as device type - phone TYPE abap_bool, + phone type abap_bool, "!

Navigation Parameters

"! Navigation parameters of the target mapping - parameters TYPE ty_parameter_items, + parameters type ty_parameter_items, "!

Additional Parameter Handling

"! How additional parameters are handled - additional_parameter_handling TYPE ty_additional_param_handling, + additional_parameter_handling type ty_additional_param_handling, - END OF ty_navigation. + end of ty_navigation. "!

Tile Type

"! Tile type "! $values {@link zif_aff_uiad_v1.data:co_tile_type} "! $default {@link zif_aff_uiad_v1.data:co_tile_type.static} - TYPES ty_tile_type TYPE c LENGTH 1. + types ty_tile_type type c length 1. - CONSTANTS: + constants: "!

Tile Type

"! Tile type - BEGIN OF co_tile_type, + begin of co_tile_type, "!

Static

"! Static tile - static TYPE ty_tile_type VALUE 'S', + static type ty_tile_type value 'S', "!

Dynamic

"! Dynamic tile - dynamic TYPE ty_tile_type VALUE 'D', + dynamic type ty_tile_type value 'D', "!

Custom

"! Custom tile - custom TYPE ty_tile_type VALUE 'C', + custom type ty_tile_type value 'C', - END OF co_tile_type. + end of co_tile_type. - TYPES: + types: "!

Dynamic Tile Details

"! Dynamic tile details - BEGIN OF ty_dynamic_tile_details, + begin of ty_dynamic_tile_details, "!

Service URL

"! Service URL - service_base_url TYPE string, + service_base_url type string, "!

Service Path

"! Service path - service_path TYPE string, + service_path type string, "!

Refresh Interval

"! Duration until the tile is refreshed - refresh_interval TYPE i, + refresh_interval type i, "!

Number Unit

"! Number unit - number_unit TYPE string, + number_unit type string, - END OF ty_dynamic_tile_details. + end of ty_dynamic_tile_details. - TYPES: + types: "!

Tile Navigation Parameter

"! Tile navigation parameter - BEGIN OF ty_tile_navigation_parameter, + begin of ty_tile_navigation_parameter, "!

Name

"! Parameter name "! $required - name TYPE string, + name type string, "!

Value

"! Parameter value - value TYPE string, + value type string, - END OF ty_tile_navigation_parameter, + end of ty_tile_navigation_parameter, - ty_tile_navigation_parameters TYPE STANDARD TABLE OF ty_tile_navigation_parameter WITH DEFAULT KEY. + ty_tile_navigation_parameters type standard table of ty_tile_navigation_parameter with default key. - TYPES: + types: "!

Standard Tile Details

"! Standard tile details - BEGIN OF ty_standard_tile_details, + begin of ty_standard_tile_details, "!

Reuse Text From Application

"! Reuse text defined as part of the app - reuse_text_from_app TYPE abap_bool, + reuse_text_from_app type abap_bool, "!

Title

"! Tile title "! $required - title TYPE c LENGTH 255, + title type c length 255, "!

Subtitle

"! Tile subtitle - subtitle TYPE c LENGTH 255, + subtitle type c length 255, "!

Information

"! Tile information - information TYPE c LENGTH 255, + information type c length 255, "!

Keywords

"! Tile keywords - keywords TYPE c LENGTH 255, + keywords type c length 255, "!

Icon

"! Tile icon - icon TYPE string, + icon type string, "!

Dynamic Tile Details

"! Dynamic tile details - dynamic TYPE ty_dynamic_tile_details, + dynamic type ty_dynamic_tile_details, "!

Tile Navigation Parameters

"! Tile navigation parameters - tile_navigation_parameters TYPE ty_tile_navigation_parameters, + tile_navigation_parameters type ty_tile_navigation_parameters, - END OF ty_standard_tile_details. + end of ty_standard_tile_details. - TYPES: + types: "!

CHIP Bag Property

"! Property of a CHIP bag - BEGIN OF ty_chip_bag_property, + begin of ty_chip_bag_property, "!

Bag ID

"! Bag ID "! $required - bag_id TYPE c LENGTH 100, + bag_id type c length 100, "!

Name

"! Property name "! $required - name TYPE c LENGTH 100, + name type c length 100, "!

Value

"! Property value - value TYPE string, + value type string, "!

Translatable

"! Property is translatable - translatable TYPE abap_bool, + translatable type abap_bool, - END OF ty_chip_bag_property, + end of ty_chip_bag_property, - ty_chip_bag_properties TYPE STANDARD TABLE OF ty_chip_bag_property WITH DEFAULT KEY. + ty_chip_bag_properties type standard table of ty_chip_bag_property with default key. - TYPES: + types: "!

Custom Tile Details

"! CHIP based Custom tile details - BEGIN OF ty_custom_tile_details, + begin of ty_custom_tile_details, "!

Base CHIP

"! Base CHIP - base_chip_id TYPE c LENGTH 255, + base_chip_id type c length 255, "!

Configuration

"! Configuration string of the CHIP - configuration TYPE string, + configuration type string, "!

Bag Properties

"! These Bags are available in the Javascript Frontend via the CHIP API "bag" Contract - bag_properties TYPE ty_chip_bag_properties, + bag_properties type ty_chip_bag_properties, - END OF ty_custom_tile_details. + end of ty_custom_tile_details. - TYPES: + types: "!

Tile Details

"! Details of a tile - BEGIN OF ty_tile, + begin of ty_tile, "!

ID

"! Tile ID "! $required - id TYPE c LENGTH 50, + id type c length 50, "!

Tile Type

"! Tile type "! $required - tile_type TYPE ty_tile_type, + tile_type type ty_tile_type, "!

Is Default Tile

"! Tile is chosen by default - is_default TYPE abap_bool, + is_default type abap_bool, "!

Is Legacy Tile

"! Tile is stored as legacy tile - is_legacy TYPE abap_bool, + is_legacy type abap_bool, "!

Standard Details

"! Standard tile details - standard TYPE ty_standard_tile_details, + standard type ty_standard_tile_details, "!

Custom Details

"! Custom tile details - custom TYPE ty_custom_tile_details, + custom type ty_custom_tile_details, - END OF ty_tile, + end of ty_tile, - ty_tiles TYPE STANDARD TABLE OF ty_tile WITH DEFAULT KEY. + ty_tiles type standard table of ty_tile with default key. "!

Life Cycle Deprecation Status

"! Life cycle deprecation status "! $values {@link zif_aff_uiad_v1.data:co_life_cycle_status} "! $default {@link zif_aff_uiad_v1.data:co_life_cycle_status.active} - TYPES ty_life_cycle_status TYPE c LENGTH 1. + types ty_life_cycle_status type c length 1. - CONSTANTS: + constants: "!

Life Cycle Status

"! Life cycle deprecation status - BEGIN OF co_life_cycle_status, + begin of co_life_cycle_status, "!

Active

"! LADI is active - active TYPE ty_life_cycle_status VALUE ' ', + active type ty_life_cycle_status value ' ', "!

Deprecated

"! LADI is deprecated and should no longer be used - deprecated TYPE ty_life_cycle_status VALUE 'D', + deprecated type ty_life_cycle_status value 'D', "!

Obsolete

"! LADI is obsolete and must no longer be used - obsolete TYPE ty_life_cycle_status VALUE 'O', + obsolete type ty_life_cycle_status value 'O', - END OF co_life_cycle_status. + end of co_life_cycle_status. - TYPES: + types: "!

Life Cycle

"! Life cycle - BEGIN OF ty_life_cycle, + begin of ty_life_cycle, "!

Status

"! Life cycle status - status TYPE ty_life_cycle_status, + status type ty_life_cycle_status, "!

Successor

"! LADI of the successor application - successor TYPE c LENGTH 32, + successor type c length 32, - END OF ty_life_cycle. + end of ty_life_cycle. - TYPES: + types: "!

LADI

"! Launchpad application descriptor item (LADI) - BEGIN OF ty_main, + begin of ty_main, "!

Format Version

"! Format version "! $required - format_version TYPE zif_aff_types_v1=>ty_format_version, + format_version type zif_aff_types_v1=>ty_format_version, "!

Header

"! Header "! $required - header TYPE ty_header, + header type ty_header, "!

General Information

"! General information "! $required - general_information TYPE ty_general_information, + general_information type ty_general_information, "!

SAPUI5 Application Information

"! SAPUI5 application information - ui5_app_details TYPE ty_app_details_ui5, + ui5_app_details type ty_app_details_ui5, "!

Web Dynpro Application Information

"! Web Dynpro application information - web_dynpro_app_details TYPE ty_app_details_web_dynpro, + web_dynpro_app_details type ty_app_details_web_dynpro, "!

Web Client Application Information

"! Web Client application information - web_client_app_details TYPE ty_app_details_web_client, + web_client_app_details type ty_app_details_web_client, "!

URL Template Application Information

"! URL Template application information - url_template_app_details TYPE ty_app_details_url_template, + url_template_app_details type ty_app_details_url_template, "!

Navigation Information

"! Navigation information "! $required - navigation TYPE ty_navigation, + navigation type ty_navigation, "!

Tiles

"! Tiles "! $required - tiles TYPE ty_tiles, + tiles type ty_tiles, "!

Life Cycle

"! Life cycle - life_cycle TYPE ty_life_cycle, + life_cycle type ty_life_cycle, - END OF ty_main. + end of ty_main. -ENDINTERFACE. \ No newline at end of file + constants co_format_version type zif_aff_types_v1=>ty_format_version value '1'. + +endinterface. diff --git a/file-formats/uiad/type/zif_aff_uiad_v1.intf.json b/file-formats/uiad/type/zif_aff_uiad_v1.intf.json index e6622efad..f7e319520 100644 --- a/file-formats/uiad/type/zif_aff_uiad_v1.intf.json +++ b/file-formats/uiad/type/zif_aff_uiad_v1.intf.json @@ -4,4 +4,4 @@ "description": "UIAD: AFF Type v.1", "originalLanguage": "en" } -} \ No newline at end of file +} From 505beb4ebd1c3d4ecd2eac627cacd424658e5527 Mon Sep 17 00:00:00 2001 From: Dombrowski Date: Thu, 12 Dec 2024 16:32:24 +0100 Subject: [PATCH 3/6] Applied ABAP Cleaner Prfile to v1 again --- .../uiad/type/zif_aff_uiad_v1.intf.abap | 366 +++++++++--------- 1 file changed, 183 insertions(+), 183 deletions(-) diff --git a/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap b/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap index b1b83ffac..d62fb1308 100644 --- a/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap +++ b/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap @@ -1,627 +1,627 @@ -interface zif_aff_uiad_v1 - public. +INTERFACE zif_aff_uiad_v1 + PUBLIC. - types: + TYPES: "!

Header

"! The header for an ABAP main object (without source code) with a description of 255 characters - begin of ty_header, + BEGIN OF ty_header, "!

Description

"! Description of the ABAP object "! $required - description type c length 255, + description TYPE c LENGTH 255, "! $required - original_language type zif_aff_types_v1=>ty_original_language, + original_language TYPE zif_aff_types_v1=>ty_original_language, - abap_language_version type zif_aff_types_v1=>ty_abap_language_version, - end of ty_header. + abap_language_version TYPE zif_aff_types_v1=>ty_abap_language_version, + END OF ty_header. "!

Application Type

"! LADI application type "! $values {@link zif_aff_uiad_v1.data:co_app_type} "! $default {@link zif_aff_uiad_v1.data:co_app_type.ui5} - types ty_app_type type c length 1. + TYPES ty_app_type TYPE c LENGTH 1. - constants: + CONSTANTS: "!

Application Type

"! LADI application type - begin of co_app_type, + BEGIN OF co_app_type, "!

Transaction

"! Transaction - transaction type ty_app_type value 'T', + transaction TYPE ty_app_type VALUE 'T', "!

Web Dynpro Application

"! Web Dynpro application - web_dynpro type ty_app_type value 'W', + web_dynpro TYPE ty_app_type VALUE 'W', "!

Web Client UI Application

"! Web Client UI application - web_client type ty_app_type value 'C', + web_client TYPE ty_app_type VALUE 'C', "!

SAPUI5 Fiori Application

"! SAPUI5 Fiori application - ui5 type ty_app_type value 'U', + ui5 TYPE ty_app_type VALUE 'U', "!

SAPUI5 Fiori Application on SAP BTP (Deprecated)

"! SAPUI5 Fiori application on SAP BTP (deprecated) - legacy_ui5 type ty_app_type value 'S', + legacy_ui5 TYPE ty_app_type VALUE 'S', "!

URL Application

"! URL application - url type ty_app_type value 'R', + url TYPE ty_app_type VALUE 'R', "!

Tile Only

"! Tile only - tile_only type ty_app_type value 'O', + tile_only TYPE ty_app_type VALUE 'O', "!

URL Template

"! URL template - url_template type ty_app_type value 'G', + url_template TYPE ty_app_type VALUE 'G', - end of co_app_type. + END OF co_app_type. - types: + TYPES: "!

General Information

"! General information - begin of ty_general_information, + BEGIN OF ty_general_information, "!

Application Type

"! Application type "! $required - app_type type ty_app_type, + app_type TYPE ty_app_type, "!

Technical Catalog

"! Technical catalog "! $required - catalog_id type c length 40, + catalog_id TYPE c LENGTH 40, "!

SAP Fiori ID

"! SAP Fiori ID - fiori_id type c length 20, + fiori_id TYPE c LENGTH 20, "!

Transaction Code

"! Transaction code - transaction type c length 20, + transaction TYPE c LENGTH 20, "!

Target Mapping Information

"! Target mapping information - information type c length 255, + information TYPE c LENGTH 255, "!

Application Component (ACH)

"! Application component (ACH) - support_component type c length 24, + support_component TYPE c LENGTH 24, "!

Suppress Tiles

"! Suppress tiles - suppress_tiles type abap_bool, + suppress_tiles TYPE abap_bool, - end of ty_general_information. + END OF ty_general_information. - types: + TYPES: "!

SAPUI5 Fiori Application Information

"! SAPUI5 Fiori application information - begin of ty_app_details_ui5, + BEGIN OF ty_app_details_ui5, "!

SAPUI5 Component ID

"! SAPUI5 Component ID "! $required - app_id type c length 70, + app_id TYPE c LENGTH 70, "!

ICF Path

"! ICF path - icf_path type string, + icf_path TYPE string, - end of ty_app_details_ui5. + END OF ty_app_details_ui5. "! Web Dynpro integration mode "! $values {@link zif_aff_uiad_v1.data:co_web_dynpro_integration_mode} "! $default {@link zif_aff_uiad_v1.data:co_web_dynpro_integration_mode.system_default} - types ty_web_dynpro_integration_mode type c length 1. + TYPES ty_web_dynpro_integration_mode TYPE c LENGTH 1. - constants: + CONSTANTS: "!

Web Dynpro Integration Mode

"! Web Dynpro integration mode - begin of co_web_dynpro_integration_mode, + BEGIN OF co_web_dynpro_integration_mode, "!

System Default

"! System default - system_default type ty_web_dynpro_integration_mode value ' ', + system_default TYPE ty_web_dynpro_integration_mode VALUE ' ', "!

Direct

"! Direct - direct type ty_web_dynpro_integration_mode value 'D', + direct TYPE ty_web_dynpro_integration_mode VALUE 'D', "!

Compatible

"! Compatible - compatible type ty_web_dynpro_integration_mode value 'C', + compatible TYPE ty_web_dynpro_integration_mode VALUE 'C', - end of co_web_dynpro_integration_mode. + END OF co_web_dynpro_integration_mode. - types: + TYPES: "!

Web Dynpro Application Inforation

"! Web Dynpro application information - begin of ty_app_details_web_dynpro, + BEGIN OF ty_app_details_web_dynpro, "!

Web Dynpro Application

"! Web Dynpro application "! $required - app_id type c length 30, + app_id TYPE c LENGTH 30, "!

Application Configuration

"! Application configuration - config_id type c length 32, + config_id TYPE c LENGTH 32, "!

Flavor ID

"! Flavor ID (deprecated) - flavor_id type c length 32, + flavor_id TYPE c LENGTH 32, "!

Integration Mode

"! Integration mode (deprecated) - integration_mode type ty_web_dynpro_integration_mode, + integration_mode TYPE ty_web_dynpro_integration_mode, "!

Compatibility Mode

"! Compatibility mode (deprecated) - compatibility_mode type abap_bool, + compatibility_mode TYPE abap_bool, - end of ty_app_details_web_dynpro. + END OF ty_app_details_web_dynpro. - types: + TYPES: "!

Web Client Application Information

"! Web Client application information - begin of ty_app_details_web_client, + BEGIN OF ty_app_details_web_client, "!

Target ID

"! Target ID "! $required - target_id type c length 10, + target_id TYPE c LENGTH 10, - end of ty_app_details_web_client. + END OF ty_app_details_web_client. - types: + TYPES: "!

URL Template Parameter

"! URL template parameter - begin of ty_url_template_parameter, + BEGIN OF ty_url_template_parameter, "!

Name

"! Parameter name "! $required - name type string, + name TYPE string, "!

Value

"! Parameter value - value type string, + value TYPE string, - end of ty_url_template_parameter, + END OF ty_url_template_parameter, - ty_url_template_parameters type standard table of ty_url_template_parameter with default key. + ty_url_template_parameters TYPE STANDARD TABLE OF ty_url_template_parameter WITH DEFAULT KEY. - types: + TYPES: "!

URL Template Application Information

"! URL template application information - begin of ty_app_details_url_template, + BEGIN OF ty_app_details_url_template, "!

URL Template

"! URL template "! $required - template_id type c length 32, + template_id TYPE c LENGTH 32, "!

URL Template Parameters

"! URL template parameters - parameters type ty_url_template_parameters, + parameters TYPE ty_url_template_parameters, - end of ty_app_details_url_template. + END OF ty_app_details_url_template. "!

Filter Type

"! Type of the filter value "! $values {@link zif_aff_uiad_v1.data:co_filter_type} "! $default {@link zif_aff_uiad_v1.data:co_filter_type.plain} - types ty_filter_type type c length 1. + TYPES ty_filter_type TYPE c LENGTH 1. - constants: + CONSTANTS: "!

Filter Type

"! Type of the filter value - begin of co_filter_type, + BEGIN OF co_filter_type, "!

Plain

"! The filter value is used as is - plain type ty_filter_type value ' ', + plain TYPE ty_filter_type VALUE ' ', "!

Regex

"! The filter value is used as a regular expression - regex type ty_filter_type value 'R', + regex TYPE ty_filter_type VALUE 'R', - end of co_filter_type. + END OF co_filter_type. - types: + TYPES: "!

Navigation Parameter

"! Navigation parameter - begin of ty_parameter_item, + BEGIN OF ty_parameter_item, "!

Parameter Name

"! Parameter name "! $required - name type string, + name TYPE string, "!

Parameter in Target Application

"! Parameter in target application - rename_to type string, + rename_to TYPE string, "!

Default Value

"! Default value - default_value type string, + default_value TYPE string, "!

Filter Value

"! Filter value - filter_value type string, + filter_value TYPE string, "!

Filter Type

"! Filter type - filter_type type ty_filter_type, + filter_type TYPE ty_filter_type, "!

Required

"! Whether the parameter is required - required type abap_bool, + required TYPE abap_bool, - end of ty_parameter_item, + END OF ty_parameter_item, - ty_parameter_items type standard table of ty_parameter_item with default key. + ty_parameter_items TYPE STANDARD TABLE OF ty_parameter_item WITH DEFAULT KEY. "!

Additional Parameter Handling

"! How additional parameters are handled "! $values {@link zif_aff_uiad_v1.data:co_additional_param_handling} "! $default {@link zif_aff_uiad_v1.data:co_additional_param_handling.allowed} - types ty_additional_param_handling type c length 1. + TYPES ty_additional_param_handling TYPE c LENGTH 1. - constants: + CONSTANTS: "!

Additional Parameter Handling

"! How additional parameters are handled - begin of co_additional_param_handling, + BEGIN OF co_additional_param_handling, "!

Allowed

"! Additional parameters are allowed - allowed type ty_additional_param_handling value 'A', + allowed TYPE ty_additional_param_handling VALUE 'A', "!

Ignored

"! Additional parameters are ignored - ignored type ty_additional_param_handling value 'I', + ignored TYPE ty_additional_param_handling VALUE 'I', "!

Not Allowed

"! Additional parameters are not allowed - not_allowed type ty_additional_param_handling value 'N', + not_allowed TYPE ty_additional_param_handling VALUE 'N', - end of co_additional_param_handling. + END OF co_additional_param_handling. - types: + TYPES: "!

Navigation Information

"! Navigation information - begin of ty_navigation, + BEGIN OF ty_navigation, "!

Target Mapping ID

"! Target mapping ID "! $required - target_mapping_id type c length 50, + target_mapping_id TYPE c LENGTH 50, "!

Semantic Object

"! Semantic object of the target mapping "! $required - semantic_object type c length 30, + semantic_object TYPE c LENGTH 30, "!

Action

"! Action of the target mapping "! $required - action type c length 60, + action TYPE c LENGTH 60, "!

Target URL

"! Target URL used for apps of type 'Tile Only' and 'URL Application' - target_url type string, + target_url TYPE string, "!

System Alias

"! System alias - system_alias type c length 32, + system_alias TYPE c LENGTH 32, "!

Desktop

"! Desktop is supported as device type - desktop type abap_bool, + desktop TYPE abap_bool, "!

Tablet

"! Tablet is supported as device type - tablet type abap_bool, + tablet TYPE abap_bool, "!

Phone

"! Phone is supported as device type - phone type abap_bool, + phone TYPE abap_bool, "!

Navigation Parameters

"! Navigation parameters of the target mapping - parameters type ty_parameter_items, + parameters TYPE ty_parameter_items, "!

Additional Parameter Handling

"! How additional parameters are handled - additional_parameter_handling type ty_additional_param_handling, + additional_parameter_handling TYPE ty_additional_param_handling, - end of ty_navigation. + END OF ty_navigation. "!

Tile Type

"! Tile type "! $values {@link zif_aff_uiad_v1.data:co_tile_type} "! $default {@link zif_aff_uiad_v1.data:co_tile_type.static} - types ty_tile_type type c length 1. + TYPES ty_tile_type TYPE c LENGTH 1. - constants: + CONSTANTS: "!

Tile Type

"! Tile type - begin of co_tile_type, + BEGIN OF co_tile_type, "!

Static

"! Static tile - static type ty_tile_type value 'S', + static TYPE ty_tile_type VALUE 'S', "!

Dynamic

"! Dynamic tile - dynamic type ty_tile_type value 'D', + dynamic TYPE ty_tile_type VALUE 'D', "!

Custom

"! Custom tile - custom type ty_tile_type value 'C', + custom TYPE ty_tile_type VALUE 'C', - end of co_tile_type. + END OF co_tile_type. - types: + TYPES: "!

Dynamic Tile Details

"! Dynamic tile details - begin of ty_dynamic_tile_details, + BEGIN OF ty_dynamic_tile_details, "!

Service URL

"! Service URL - service_base_url type string, + service_base_url TYPE string, "!

Service Path

"! Service path - service_path type string, + service_path TYPE string, "!

Refresh Interval

"! Duration until the tile is refreshed - refresh_interval type i, + refresh_interval TYPE i, "!

Number Unit

"! Number unit - number_unit type string, + number_unit TYPE string, - end of ty_dynamic_tile_details. + END OF ty_dynamic_tile_details. - types: + TYPES: "!

Tile Navigation Parameter

"! Tile navigation parameter - begin of ty_tile_navigation_parameter, + BEGIN OF ty_tile_navigation_parameter, "!

Name

"! Parameter name "! $required - name type string, + name TYPE string, "!

Value

"! Parameter value - value type string, + value TYPE string, - end of ty_tile_navigation_parameter, + END OF ty_tile_navigation_parameter, - ty_tile_navigation_parameters type standard table of ty_tile_navigation_parameter with default key. + ty_tile_navigation_parameters TYPE STANDARD TABLE OF ty_tile_navigation_parameter WITH DEFAULT KEY. - types: + TYPES: "!

Standard Tile Details

"! Standard tile details - begin of ty_standard_tile_details, + BEGIN OF ty_standard_tile_details, "!

Reuse Text From Application

"! Reuse text defined as part of the app - reuse_text_from_app type abap_bool, + reuse_text_from_app TYPE abap_bool, "!

Title

"! Tile title "! $required - title type c length 255, + title TYPE c LENGTH 255, "!

Subtitle

"! Tile subtitle - subtitle type c length 255, + subtitle TYPE c LENGTH 255, "!

Information

"! Tile information - information type c length 255, + information TYPE c LENGTH 255, "!

Keywords

"! Tile keywords - keywords type c length 255, + keywords TYPE c LENGTH 255, "!

Icon

"! Tile icon - icon type string, + icon TYPE string, "!

Dynamic Tile Details

"! Dynamic tile details - dynamic type ty_dynamic_tile_details, + dynamic TYPE ty_dynamic_tile_details, "!

Tile Navigation Parameters

"! Tile navigation parameters - tile_navigation_parameters type ty_tile_navigation_parameters, + tile_navigation_parameters TYPE ty_tile_navigation_parameters, - end of ty_standard_tile_details. + END OF ty_standard_tile_details. - types: + TYPES: "!

CHIP Bag Property

"! Property of a CHIP bag - begin of ty_chip_bag_property, + BEGIN OF ty_chip_bag_property, "!

Bag ID

"! Bag ID "! $required - bag_id type c length 100, + bag_id TYPE c LENGTH 100, "!

Name

"! Property name "! $required - name type c length 100, + name TYPE c LENGTH 100, "!

Value

"! Property value - value type string, + value TYPE string, "!

Translatable

"! Property is translatable - translatable type abap_bool, + translatable TYPE abap_bool, - end of ty_chip_bag_property, + END OF ty_chip_bag_property, - ty_chip_bag_properties type standard table of ty_chip_bag_property with default key. + ty_chip_bag_properties TYPE STANDARD TABLE OF ty_chip_bag_property WITH DEFAULT KEY. - types: + TYPES: "!

Custom Tile Details

"! CHIP based Custom tile details - begin of ty_custom_tile_details, + BEGIN OF ty_custom_tile_details, "!

Base CHIP

"! Base CHIP - base_chip_id type c length 255, + base_chip_id TYPE c LENGTH 255, "!

Configuration

"! Configuration string of the CHIP - configuration type string, + configuration TYPE string, "!

Bag Properties

"! These Bags are available in the Javascript Frontend via the CHIP API "bag" Contract - bag_properties type ty_chip_bag_properties, + bag_properties TYPE ty_chip_bag_properties, - end of ty_custom_tile_details. + END OF ty_custom_tile_details. - types: + TYPES: "!

Tile Details

"! Details of a tile - begin of ty_tile, + BEGIN OF ty_tile, "!

ID

"! Tile ID "! $required - id type c length 50, + id TYPE c LENGTH 50, "!

Tile Type

"! Tile type "! $required - tile_type type ty_tile_type, + tile_type TYPE ty_tile_type, "!

Is Default Tile

"! Tile is chosen by default - is_default type abap_bool, + is_default TYPE abap_bool, "!

Is Legacy Tile

"! Tile is stored as legacy tile - is_legacy type abap_bool, + is_legacy TYPE abap_bool, "!

Standard Details

"! Standard tile details - standard type ty_standard_tile_details, + standard TYPE ty_standard_tile_details, "!

Custom Details

"! Custom tile details - custom type ty_custom_tile_details, + custom TYPE ty_custom_tile_details, - end of ty_tile, + END OF ty_tile, - ty_tiles type standard table of ty_tile with default key. + ty_tiles TYPE STANDARD TABLE OF ty_tile WITH DEFAULT KEY. "!

Life Cycle Deprecation Status

"! Life cycle deprecation status "! $values {@link zif_aff_uiad_v1.data:co_life_cycle_status} "! $default {@link zif_aff_uiad_v1.data:co_life_cycle_status.active} - types ty_life_cycle_status type c length 1. + TYPES ty_life_cycle_status TYPE c LENGTH 1. - constants: + CONSTANTS: "!

Life Cycle Status

"! Life cycle deprecation status - begin of co_life_cycle_status, + BEGIN OF co_life_cycle_status, "!

Active

"! LADI is active - active type ty_life_cycle_status value ' ', + active TYPE ty_life_cycle_status VALUE ' ', "!

Deprecated

"! LADI is deprecated and should no longer be used - deprecated type ty_life_cycle_status value 'D', + deprecated TYPE ty_life_cycle_status VALUE 'D', "!

Obsolete

"! LADI is obsolete and must no longer be used - obsolete type ty_life_cycle_status value 'O', + obsolete TYPE ty_life_cycle_status VALUE 'O', - end of co_life_cycle_status. + END OF co_life_cycle_status. - types: + TYPES: "!

Life Cycle

"! Life cycle - begin of ty_life_cycle, + BEGIN OF ty_life_cycle, "!

Status

"! Life cycle status - status type ty_life_cycle_status, + status TYPE ty_life_cycle_status, "!

Successor

"! LADI of the successor application - successor type c length 32, + successor TYPE c LENGTH 32, - end of ty_life_cycle. + END OF ty_life_cycle. - types: + TYPES: "!

LADI

"! Launchpad application descriptor item (LADI) - begin of ty_main, + BEGIN OF ty_main, "!

Format Version

"! Format version "! $required - format_version type zif_aff_types_v1=>ty_format_version, + format_version TYPE zif_aff_types_v1=>ty_format_version, "!

Header

"! Header "! $required - header type ty_header, + header TYPE ty_header, "!

General Information

"! General information "! $required - general_information type ty_general_information, + general_information TYPE ty_general_information, "!

SAPUI5 Application Information

"! SAPUI5 application information - ui5_app_details type ty_app_details_ui5, + ui5_app_details TYPE ty_app_details_ui5, "!

Web Dynpro Application Information

"! Web Dynpro application information - web_dynpro_app_details type ty_app_details_web_dynpro, + web_dynpro_app_details TYPE ty_app_details_web_dynpro, "!

Web Client Application Information

"! Web Client application information - web_client_app_details type ty_app_details_web_client, + web_client_app_details TYPE ty_app_details_web_client, "!

URL Template Application Information

"! URL Template application information - url_template_app_details type ty_app_details_url_template, + url_template_app_details TYPE ty_app_details_url_template, "!

Navigation Information

"! Navigation information "! $required - navigation type ty_navigation, + navigation TYPE ty_navigation, "!

Tiles

"! Tiles "! $required - tiles type ty_tiles, + tiles TYPE ty_tiles, "!

Life Cycle

"! Life cycle - life_cycle type ty_life_cycle, + life_cycle TYPE ty_life_cycle, - end of ty_main. + END OF ty_main. - constants co_format_version type zif_aff_types_v1=>ty_format_version value '1'. + CONSTANTS co_format_version TYPE zif_aff_types_v1=>ty_format_version VALUE '1'. -endinterface. +ENDINTERFACE. From 1fd9f177317a41c147925ecc787570b8948490a9 Mon Sep 17 00:00:00 2001 From: Dombrowski Date: Fri, 13 Dec 2024 14:19:09 +0100 Subject: [PATCH 4/6] Removed Version constant from v1, replaced v1 interface in v2 --- .../uiad/type/zif_aff_uiad_v1.intf.abap | 2 -- .../uiad/type/zif_aff_uiad_v2.intf.abap | 26 +++++++++---------- 2 files changed, 12 insertions(+), 16 deletions(-) diff --git a/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap b/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap index d62fb1308..732b81657 100644 --- a/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap +++ b/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap @@ -622,6 +622,4 @@ INTERFACE zif_aff_uiad_v1 END OF ty_main. - CONSTANTS co_format_version TYPE zif_aff_types_v1=>ty_format_version VALUE '1'. - ENDINTERFACE. diff --git a/file-formats/uiad/type/zif_aff_uiad_v2.intf.abap b/file-formats/uiad/type/zif_aff_uiad_v2.intf.abap index c2aebbf04..56eb7529b 100644 --- a/file-formats/uiad/type/zif_aff_uiad_v2.intf.abap +++ b/file-formats/uiad/type/zif_aff_uiad_v2.intf.abap @@ -17,8 +17,8 @@ INTERFACE zif_aff_uiad_v2 END OF ty_header. "!

Application Type

"! LADI application type - "! $values {@link if_aff_uiad_v1.data:co_app_type} - "! $default {@link if_aff_uiad_v1.data:co_app_type.ui5} + "! $values {@link zif_aff_uiad_v2.data:co_app_type} + "! $default {@link zif_aff_uiad_v2.data:co_app_type.ui5} TYPES ty_app_type TYPE c LENGTH 1. TYPES: "!

General Information

@@ -76,8 +76,8 @@ INTERFACE zif_aff_uiad_v2 END OF ty_app_details_ui5. "! Web Dynpro integration mode - "! $values {@link if_aff_uiad_v1.data:co_web_dynpro_integration_mode} - "! $default {@link if_aff_uiad_v1.data:co_web_dynpro_integration_mode.system_default} + "! $values {@link zif_aff_uiad_v2.data:co_web_dynpro_integration_mode} + "! $default {@link zif_aff_uiad_v2.data:co_web_dynpro_integration_mode.system_default} TYPES ty_web_dynpro_integration_mode TYPE c LENGTH 1. TYPES: "!

Web Dynpro Application Inforation

@@ -150,8 +150,8 @@ INTERFACE zif_aff_uiad_v2 END OF ty_app_details_url_template. "!

Filter Type

"! Type of the filter value - "! $values {@link if_aff_uiad_v1.data:co_filter_type} - "! $default {@link if_aff_uiad_v1.data:co_filter_type.plain} + "! $values {@link zif_aff_uiad_v2.data:co_filter_type} + "! $default {@link zif_aff_uiad_v2.data:co_filter_type.plain} TYPES ty_filter_type TYPE c LENGTH 1. TYPES: "!

Navigation Parameter

@@ -187,8 +187,8 @@ INTERFACE zif_aff_uiad_v2 TYPES ty_parameter_items TYPE STANDARD TABLE OF ty_parameter_item WITH DEFAULT KEY. "!

Additional Parameter Handling

"! How additional parameters are handled - "! $values {@link if_aff_uiad_v1.data:co_additional_param_handling} - "! $default {@link if_aff_uiad_v1.data:co_additional_param_handling.allowed} + "! $values {@link zif_aff_uiad_v2.data:co_additional_param_handling} + "! $default {@link zif_aff_uiad_v2.data:co_additional_param_handling.allowed} TYPES ty_additional_param_handling TYPE c LENGTH 1. TYPES: "!

Navigation Information

@@ -241,8 +241,8 @@ INTERFACE zif_aff_uiad_v2 END OF ty_navigation. "!

Tile Type

"! Tile type - "! $values {@link if_aff_uiad_v1.data:co_tile_type} - "! $default {@link if_aff_uiad_v1.data:co_tile_type.static} + "! $values {@link zif_aff_uiad_v2.data:co_tile_type} + "! $default {@link zif_aff_uiad_v2.data:co_tile_type.static} TYPES ty_tile_type TYPE c LENGTH 1. TYPES: "!

Dynamic Tile Details

@@ -399,8 +399,8 @@ INTERFACE zif_aff_uiad_v2 TYPES ty_tiles TYPE STANDARD TABLE OF ty_tile WITH DEFAULT KEY. "!

Life Cycle Deprecation Status

"! Life cycle deprecation status - "! $values {@link if_aff_uiad_v1.data:co_life_cycle_status} - "! $default {@link if_aff_uiad_v1.data:co_life_cycle_status.active} + "! $values {@link zif_aff_uiad_v2.data:co_life_cycle_status} + "! $default {@link zif_aff_uiad_v2.data:co_life_cycle_status.active} TYPES ty_life_cycle_status TYPE c LENGTH 1. TYPES: "!

Life Cycle

@@ -593,6 +593,4 @@ INTERFACE zif_aff_uiad_v2 END OF co_life_cycle_status. - CONSTANTS co_format_version TYPE zif_aff_types_v1=>ty_format_version VALUE '2'. - ENDINTERFACE. From 9c395b62586c7c1fa1df6313926a608ab7c0e3b3 Mon Sep 17 00:00:00 2001 From: Dombrowski Date: Wed, 15 Jan 2025 15:30:52 +0100 Subject: [PATCH 5/6] Enhanced Readme to have both v1 and v2 --- file-formats/uiad/README.md | 9 +++ .../examples/z_aff_example_uiad.uiad v1.json | 72 +++++++++++++++++++ 2 files changed, 81 insertions(+) create mode 100644 file-formats/uiad/examples/z_aff_example_uiad.uiad v1.json diff --git a/file-formats/uiad/README.md b/file-formats/uiad/README.md index a82ed6337..a3b553ae0 100644 --- a/file-formats/uiad/README.md +++ b/file-formats/uiad/README.md @@ -3,3 +3,12 @@ File | Cardinality | Definition | Schema | Example :--- | :--- | :--- | :--- | :--- `.uiad.json` | 1 | [`zif_aff_uiad_v2.intf.abap`](./type/zif_aff_uiad_v2.intf.abap) | [`uiad-v2.json`](./uiad-v2.json) | [`z_aff_example_uiad.uiad.json`](./examples/z_aff_example_uiad.uiad.json) + +## Previous Versions + +### v1 + +File | Cardinality | Definition | Schema | Example +:--- | :--- | :--- | :--- | :--- +`.uiad.json` | 1 | [`zif_aff_uiad_v1.intf.abap`](./type/zif_aff_uiad_v1.intf.abap) | [`uiad-v1.json`](./uiad-v1.json) | [`z_aff_example_uiad_v1.uiad.json`](./examples/z_aff_example_uiad.uiad.json) + diff --git a/file-formats/uiad/examples/z_aff_example_uiad.uiad v1.json b/file-formats/uiad/examples/z_aff_example_uiad.uiad v1.json new file mode 100644 index 000000000..2cc8492d2 --- /dev/null +++ b/file-formats/uiad/examples/z_aff_example_uiad.uiad v1.json @@ -0,0 +1,72 @@ +{ + "formatVersion": "1", + "header": { + "description": "Example of UIAD AFF Format", + "originalLanguage": "en" + }, + "generalInformation": { + "appType": "ui5", + "catalogId": "ZLOCAL_TEST", + "information": "Not translated info text", + "supportComponent": "CA-FLP-ABA" + }, + "ui5AppDetails": { + "appId": "sap.ushell.demo.AppNavSample", + "icfPath": "/sap/bc/ui5_ui5/ui2/appnavsample" + }, + "navigation": { + "targetMappingId": "Z_AFF_EXAMPLE_TM", + "semanticObject": "NavSample", + "action": "display", + "desktop": true, + "tablet": true, + "phone": true, + "parameters": [ + { + "name": "tmParamName", + "defaultValue": "Hello World!" + } + ], + "additionalParameterHandling": "ignored" + }, + "tiles": [ + { + "id": "Z_AFF_EXAMPLE_TILE_STATIC", + "tileType": "static", + "isDefault": true, + "standard": { + "title": "Tile Title", + "subtitle": "Tile Subtitle", + "information": "Tile Information Text", + "keywords": "Test Example AFF", + "icon": "sap-icon://action-settings", + "tileNavigationParameters": [ + { + "name": "ParamName", + "value": "ParamValue" + } + ] + } + }, + { + "id": "Z_AFF_EXAMPLE_TILE_DYNAMIC", + "tileType": "dynamic", + "standard": { + "title": "Dynamic Tile Title", + "subtitle": "Demo Subtitle", + "icon": "sap-icon://action-settings", + "dynamic": { + "serviceBaseUrl": "/sap/opu/odata/UI2/PAGE_BUILDER_PERS/Catalogs/$count", + "refreshInterval": 10, + "numberUnit": "Ctas" + }, + "tileNavigationParameters": [ + { + "name": "paramName", + "value": "paramValue" + } + ] + } + } + ] +} From c8c6ae637e761b0b9de2256cc10e8be207b767a0 Mon Sep 17 00:00:00 2001 From: Dombrowski Date: Wed, 15 Jan 2025 15:35:42 +0100 Subject: [PATCH 6/6] fixed filename for v1 example --- file-formats/uiad/README.md | 2 +- ...xample_uiad.uiad v1.json => z_aff_example_uiad_v1.uiad.json} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename file-formats/uiad/examples/{z_aff_example_uiad.uiad v1.json => z_aff_example_uiad_v1.uiad.json} (100%) diff --git a/file-formats/uiad/README.md b/file-formats/uiad/README.md index a3b553ae0..50c94dc38 100644 --- a/file-formats/uiad/README.md +++ b/file-formats/uiad/README.md @@ -10,5 +10,5 @@ File | Cardinality | Definition | Schema | Example File | Cardinality | Definition | Schema | Example :--- | :--- | :--- | :--- | :--- -`.uiad.json` | 1 | [`zif_aff_uiad_v1.intf.abap`](./type/zif_aff_uiad_v1.intf.abap) | [`uiad-v1.json`](./uiad-v1.json) | [`z_aff_example_uiad_v1.uiad.json`](./examples/z_aff_example_uiad.uiad.json) +`.uiad.json` | 1 | [`zif_aff_uiad_v1.intf.abap`](./type/zif_aff_uiad_v1.intf.abap) | [`uiad-v1.json`](./uiad-v1.json) | [`z_aff_example_uiad_v1.uiad.json`](./examples/z_aff_example_uiad_v1.uiad.json) diff --git a/file-formats/uiad/examples/z_aff_example_uiad.uiad v1.json b/file-formats/uiad/examples/z_aff_example_uiad_v1.uiad.json similarity index 100% rename from file-formats/uiad/examples/z_aff_example_uiad.uiad v1.json rename to file-formats/uiad/examples/z_aff_example_uiad_v1.uiad.json