From 8b489a83dac33f629f57e4a0914b81e60b5b2735 Mon Sep 17 00:00:00 2001 From: Uenal Akkaya Date: Tue, 21 May 2024 19:44:40 +0200 Subject: [PATCH 1/7] Add files for SAIA --- file-formats/saia/.DS_Store | Bin 0 -> 6148 bytes file-formats/saia/README.md | 5 + file-formats/saia/saia-v1.json | 165 ++++++++++++++++++ .../saia/type/zif_aff_saia_v1.intf.abap | 99 +++++++++++ .../saia/type/zif_aff_saia_v1.intf.json | 7 + 5 files changed, 276 insertions(+) create mode 100644 file-formats/saia/.DS_Store create mode 100644 file-formats/saia/README.md create mode 100644 file-formats/saia/saia-v1.json create mode 100644 file-formats/saia/type/zif_aff_saia_v1.intf.abap create mode 100644 file-formats/saia/type/zif_aff_saia_v1.intf.json diff --git a/file-formats/saia/.DS_Store b/file-formats/saia/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..15c04208536080b609881173172966e05394ceb5 GIT binary patch literal 6148 zcmeH~F>b>!3`IW^4*{}x?5L#&$PI)bIYBQ_H0~B40n!fLbo72wTb%_`(ma_?&L1^T*|K_9AW70Z-{8X8XAOSd_o2|8HQ74j)4>oU06DN6#&ygRWbp!7ldY2#n&tFh z*=jL{cs<(5lGoK_>+J2Y96l`XY(B-%thd7o6Pne4f)tPfGX>T?AN~A4(jU$LvlgXN zKnnab1#CFH9rk>wJX`Nx&+G45^>w3@aXG`Ep8zI)6u;2JxLET HJXL{T_8Ah# literal 0 HcmV?d00001 diff --git a/file-formats/saia/README.md b/file-formats/saia/README.md new file mode 100644 index 000000000..125cba3c9 --- /dev/null +++ b/file-formats/saia/README.md @@ -0,0 +1,5 @@ +# SAIA File Format + +File | Cardinality | Definition | Schema | Example +:--- | :--- | :--- | :--- | :--- +`.saia.json` | 1 | [`zif_aff_saia_v1.intf.abap`](./type/zif_aff_saia_v1.intf.abap) | [`saia-v1.json`](./saia-v1.json) diff --git a/file-formats/saia/saia-v1.json b/file-formats/saia/saia-v1.json new file mode 100644 index 000000000..51cdc4fd9 --- /dev/null +++ b/file-formats/saia/saia-v1.json @@ -0,0 +1,165 @@ +{ + "$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/saia/saia-v1.json", + "title": "ADT IDE Action", + "description": "ADT IDE Action (SAIA) v1", + "type": "object", + "properties": { + "formatVersion": { + "title": "Format Version", + "description": "Format version", + "type": "string", + "const": "1" + }, + "header": { + "title": "Header", + "description": "Header", + "type": "object", + "properties": { + "description": { + "title": "Description", + "description": "Description of the ABAP object", + "type": "string", + "maxLength": 100 + }, + "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" + ] + }, + "actionId": { + "title": "Unique Id of the Action", + "description": "Unique action id - it should be human readable and reveal what the action is supposed to do Action id is case insensitive", + "type": "string" + }, + "title": { + "title": "Action Title", + "description": "Action title for the action", + "type": "string" + }, + "description": { + "title": "Action Description", + "description": "What is the action doing and how can it be used", + "type": "string" + }, + "filters": { + "title": "Action Filter(In development)", + "description": "new filter mechanis currently under development Filter for application of action according to specific object type or object type groups (currently under development).", + "type": "object", + "properties": { + "numberOfFocusedResources": { + "title": "Number of Focused Resources", + "description": "Number of Focused Resources", + "type": "string", + "maxLength": 30 + }, + "supportedDevObjectTypes": { + "title": "Supported Development Object Types", + "description": "Supported development object types", + "type": "array", + "uniqueItems": true, + "items": { + "type": "object", + "properties": { + "objtypeTr": { + "description": "Object Type in Object Directory", + "type": "string", + "maxLength": 4 + }, + "subtypeWb": { + "description": "WB Request: (Internal) Type of an ABAP Workbench Object", + "type": "string", + "maxLength": 3 + } + }, + "additionalProperties": false + } + }, + "supportedResourceTypes": { + "title": "Supported Resource Types", + "description": "Supported resource types", + "type": "array", + "uniqueItems": true, + "items": { + "title": "Resource Type", + "description": "Resource type", + "type": "object", + "properties": { + "categoryScheme": { + "title": "Category Scheme", + "description": "Category scheme", + "type": "string" + }, + "categoryTerm": { + "title": "Category Term", + "description": "Category term", + "type": "string" + } + }, + "additionalProperties": false + } + } + }, + "additionalProperties": false + }, + "implementationClass": { + "title": "Action Handler Class", + "description": "Implementation class for handling the action input. Needs to implement interface {@link if_aia_action }.", + "type": "string", + "maxLength": 30 + }, + "inputUiConfigurationClass": { + "title": "Action Input UI Class", + "description": "The ABAP class implementing the server-driven UI input configuration. Needs to implement interface {@link IF_AIA_SD_ACTION_INPUT }.", + "type": "string", + "maxLength": 30 + }, + "dontShowInRunActionDialog": { + "title": "Run Action Dialog Visibility", + "description": "Flag to indicate that the action shouldn't be shown in the action selection dialog where all available actions are listed.", + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "formatVersion", + "header", + "actionId", + "title", + "description", + "filters", + "implementationClass", + "inputUiConfigurationClass", + "dontShowInRunActionDialog" + ] +} diff --git a/file-formats/saia/type/zif_aff_saia_v1.intf.abap b/file-formats/saia/type/zif_aff_saia_v1.intf.abap new file mode 100644 index 000000000..67577caad --- /dev/null +++ b/file-formats/saia/type/zif_aff_saia_v1.intf.abap @@ -0,0 +1,99 @@ +INTERFACE zif_aff_saia_v1 + PUBLIC. + + TYPES: + "!

Resource Type

+ "! Resource type + BEGIN OF resource_type, + "!

Category Scheme

+ "! Category scheme + category_scheme TYPE string, + "!

Category Term

+ "! Category term + category_term TYPE string, + END OF resource_type. + + "!

Development Object Types

+ "! Development object types + TYPES development_object_types TYPE SORTED TABLE OF wbobjtype WITH UNIQUE DEFAULT KEY. + + "!

Resource Types

+ "! Resource types + TYPES resource_types TYPE SORTED TABLE OF resource_type WITH UNIQUE DEFAULT KEY. + + TYPES: + "!

Number of Focuses Resources

+ "! Number of focused resources + BEGIN OF ENUM number_of_focused_resources, + "!

Exactly One

+ "! Exactly one + exactly_one, + "!

At Least One

+ "! At least one + at_least_one, + "!

More Than One

+ "! More than one + more_than_one, + END OF ENUM number_of_focused_resources. + + TYPES: + "!

Action Filter

+ "! Filtering of action according to specified applicable criteria. If filter is satisfied then the action is available and will be shown. + "! $required + BEGIN OF filters, + "!

Number of Focused Resources

+ "! Number of Focused Resources + number_of_focused_resources TYPE number_of_focused_resources, + "!

Supported Development Object Types

+ "! Supported development object types + supported_dev_object_types TYPE development_object_types, + "!

Supported Resource Types

+ "! Supported resource types + supported_resource_types TYPE resource_types, + END OF filters. + + TYPES: + "!

ADT IDE Action

+ "! ADT IDE Action (SAIA) v1 + BEGIN OF ty_main, + "!

Format Version

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

Header

+ "! Header + "! $required + header TYPE zif_aff_types_v1=>ty_header_100, + "!

Unique Id of the Action

+ "! Unique action id - it should be human readable and reveal what the action is supposed to do + "! Action id is case insensitive + "! $required + action_id TYPE string, " length restriction, check how long it should be, su22 variant restrictions??? + "!

Action Title

+ "! Action title for the action + "! $required + title TYPE string, + "!

Action Description

+ "! What is the action doing and how can it be used + "! $required + description TYPE string, + "! new filter mechanis currently under development + "!

Action Filter(In development)

+ "! Filter for application of action according to specific object type or object type groups (currently under development). + "! $required + filters TYPE filters, " -> all filters stored in a string on database + "!

Action Handler Class

+ "! Implementation class for handling the action input. Needs to implement interface {@link if_aia_action }. + "! $required + implementation_class TYPE seoclsname, + "!

Action Input UI Class

+ "! The ABAP class implementing the server-driven UI input configuration. Needs to implement interface {@link IF_AIA_SD_ACTION_INPUT }. + "! $required + input_ui_configuration_class TYPE seoclsname, + "!

Run Action Dialog Visibility

+ "! Flag to indicate that the action shouldn't be shown in the action selection dialog where all available actions are listed. + "! $required + dont_show_in_run_action_dialog TYPE abap_bool, " put in a structure: options -> all options stored in a string in database + END OF ty_main. + +ENDINTERFACE. diff --git a/file-formats/saia/type/zif_aff_saia_v1.intf.json b/file-formats/saia/type/zif_aff_saia_v1.intf.json new file mode 100644 index 000000000..5217285f3 --- /dev/null +++ b/file-formats/saia/type/zif_aff_saia_v1.intf.json @@ -0,0 +1,7 @@ +{ + "formatVersion": "1", + "header": { + "description": "types for abap file format of ide actions", + "originalLanguage": "en" + } +} From 6d33e09ca575f9ab23d1680275b82dcf100bdcc2 Mon Sep 17 00:00:00 2001 From: Uenal Akkaya Date: Wed, 22 May 2024 20:03:55 +0200 Subject: [PATCH 2/7] remove old saia files --- file-formats/saia/.DS_Store | Bin 6148 -> 0 bytes file-formats/saia/README.md | 5 - file-formats/saia/saia-v1.json | 165 ------------------ .../saia/type/zif_aff_saia_v1.intf.abap | 99 ----------- .../saia/type/zif_aff_saia_v1.intf.json | 7 - 5 files changed, 276 deletions(-) delete mode 100644 file-formats/saia/.DS_Store delete mode 100644 file-formats/saia/README.md delete mode 100644 file-formats/saia/saia-v1.json delete mode 100644 file-formats/saia/type/zif_aff_saia_v1.intf.abap delete mode 100644 file-formats/saia/type/zif_aff_saia_v1.intf.json diff --git a/file-formats/saia/.DS_Store b/file-formats/saia/.DS_Store deleted file mode 100644 index 15c04208536080b609881173172966e05394ceb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeH~F>b>!3`IW^4*{}x?5L#&$PI)bIYBQ_H0~B40n!fLbo72wTb%_`(ma_?&L1^T*|K_9AW70Z-{8X8XAOSd_o2|8HQ74j)4>oU06DN6#&ygRWbp!7ldY2#n&tFh z*=jL{cs<(5lGoK_>+J2Y96l`XY(B-%thd7o6Pne4f)tPfGX>T?AN~A4(jU$LvlgXN zKnnab1#CFH9rk>wJX`Nx&+G45^>w3@aXG`Ep8zI)6u;2JxLET HJXL{T_8Ah# diff --git a/file-formats/saia/README.md b/file-formats/saia/README.md deleted file mode 100644 index 125cba3c9..000000000 --- a/file-formats/saia/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# SAIA File Format - -File | Cardinality | Definition | Schema | Example -:--- | :--- | :--- | :--- | :--- -`.saia.json` | 1 | [`zif_aff_saia_v1.intf.abap`](./type/zif_aff_saia_v1.intf.abap) | [`saia-v1.json`](./saia-v1.json) diff --git a/file-formats/saia/saia-v1.json b/file-formats/saia/saia-v1.json deleted file mode 100644 index 51cdc4fd9..000000000 --- a/file-formats/saia/saia-v1.json +++ /dev/null @@ -1,165 +0,0 @@ -{ - "$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/saia/saia-v1.json", - "title": "ADT IDE Action", - "description": "ADT IDE Action (SAIA) v1", - "type": "object", - "properties": { - "formatVersion": { - "title": "Format Version", - "description": "Format version", - "type": "string", - "const": "1" - }, - "header": { - "title": "Header", - "description": "Header", - "type": "object", - "properties": { - "description": { - "title": "Description", - "description": "Description of the ABAP object", - "type": "string", - "maxLength": 100 - }, - "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" - ] - }, - "actionId": { - "title": "Unique Id of the Action", - "description": "Unique action id - it should be human readable and reveal what the action is supposed to do Action id is case insensitive", - "type": "string" - }, - "title": { - "title": "Action Title", - "description": "Action title for the action", - "type": "string" - }, - "description": { - "title": "Action Description", - "description": "What is the action doing and how can it be used", - "type": "string" - }, - "filters": { - "title": "Action Filter(In development)", - "description": "new filter mechanis currently under development Filter for application of action according to specific object type or object type groups (currently under development).", - "type": "object", - "properties": { - "numberOfFocusedResources": { - "title": "Number of Focused Resources", - "description": "Number of Focused Resources", - "type": "string", - "maxLength": 30 - }, - "supportedDevObjectTypes": { - "title": "Supported Development Object Types", - "description": "Supported development object types", - "type": "array", - "uniqueItems": true, - "items": { - "type": "object", - "properties": { - "objtypeTr": { - "description": "Object Type in Object Directory", - "type": "string", - "maxLength": 4 - }, - "subtypeWb": { - "description": "WB Request: (Internal) Type of an ABAP Workbench Object", - "type": "string", - "maxLength": 3 - } - }, - "additionalProperties": false - } - }, - "supportedResourceTypes": { - "title": "Supported Resource Types", - "description": "Supported resource types", - "type": "array", - "uniqueItems": true, - "items": { - "title": "Resource Type", - "description": "Resource type", - "type": "object", - "properties": { - "categoryScheme": { - "title": "Category Scheme", - "description": "Category scheme", - "type": "string" - }, - "categoryTerm": { - "title": "Category Term", - "description": "Category term", - "type": "string" - } - }, - "additionalProperties": false - } - } - }, - "additionalProperties": false - }, - "implementationClass": { - "title": "Action Handler Class", - "description": "Implementation class for handling the action input. Needs to implement interface {@link if_aia_action }.", - "type": "string", - "maxLength": 30 - }, - "inputUiConfigurationClass": { - "title": "Action Input UI Class", - "description": "The ABAP class implementing the server-driven UI input configuration. Needs to implement interface {@link IF_AIA_SD_ACTION_INPUT }.", - "type": "string", - "maxLength": 30 - }, - "dontShowInRunActionDialog": { - "title": "Run Action Dialog Visibility", - "description": "Flag to indicate that the action shouldn't be shown in the action selection dialog where all available actions are listed.", - "type": "boolean" - } - }, - "additionalProperties": false, - "required": [ - "formatVersion", - "header", - "actionId", - "title", - "description", - "filters", - "implementationClass", - "inputUiConfigurationClass", - "dontShowInRunActionDialog" - ] -} diff --git a/file-formats/saia/type/zif_aff_saia_v1.intf.abap b/file-formats/saia/type/zif_aff_saia_v1.intf.abap deleted file mode 100644 index 67577caad..000000000 --- a/file-formats/saia/type/zif_aff_saia_v1.intf.abap +++ /dev/null @@ -1,99 +0,0 @@ -INTERFACE zif_aff_saia_v1 - PUBLIC. - - TYPES: - "!

Resource Type

- "! Resource type - BEGIN OF resource_type, - "!

Category Scheme

- "! Category scheme - category_scheme TYPE string, - "!

Category Term

- "! Category term - category_term TYPE string, - END OF resource_type. - - "!

Development Object Types

- "! Development object types - TYPES development_object_types TYPE SORTED TABLE OF wbobjtype WITH UNIQUE DEFAULT KEY. - - "!

Resource Types

- "! Resource types - TYPES resource_types TYPE SORTED TABLE OF resource_type WITH UNIQUE DEFAULT KEY. - - TYPES: - "!

Number of Focuses Resources

- "! Number of focused resources - BEGIN OF ENUM number_of_focused_resources, - "!

Exactly One

- "! Exactly one - exactly_one, - "!

At Least One

- "! At least one - at_least_one, - "!

More Than One

- "! More than one - more_than_one, - END OF ENUM number_of_focused_resources. - - TYPES: - "!

Action Filter

- "! Filtering of action according to specified applicable criteria. If filter is satisfied then the action is available and will be shown. - "! $required - BEGIN OF filters, - "!

Number of Focused Resources

- "! Number of Focused Resources - number_of_focused_resources TYPE number_of_focused_resources, - "!

Supported Development Object Types

- "! Supported development object types - supported_dev_object_types TYPE development_object_types, - "!

Supported Resource Types

- "! Supported resource types - supported_resource_types TYPE resource_types, - END OF filters. - - TYPES: - "!

ADT IDE Action

- "! ADT IDE Action (SAIA) v1 - BEGIN OF ty_main, - "!

Format Version

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

Header

- "! Header - "! $required - header TYPE zif_aff_types_v1=>ty_header_100, - "!

Unique Id of the Action

- "! Unique action id - it should be human readable and reveal what the action is supposed to do - "! Action id is case insensitive - "! $required - action_id TYPE string, " length restriction, check how long it should be, su22 variant restrictions??? - "!

Action Title

- "! Action title for the action - "! $required - title TYPE string, - "!

Action Description

- "! What is the action doing and how can it be used - "! $required - description TYPE string, - "! new filter mechanis currently under development - "!

Action Filter(In development)

- "! Filter for application of action according to specific object type or object type groups (currently under development). - "! $required - filters TYPE filters, " -> all filters stored in a string on database - "!

Action Handler Class

- "! Implementation class for handling the action input. Needs to implement interface {@link if_aia_action }. - "! $required - implementation_class TYPE seoclsname, - "!

Action Input UI Class

- "! The ABAP class implementing the server-driven UI input configuration. Needs to implement interface {@link IF_AIA_SD_ACTION_INPUT }. - "! $required - input_ui_configuration_class TYPE seoclsname, - "!

Run Action Dialog Visibility

- "! Flag to indicate that the action shouldn't be shown in the action selection dialog where all available actions are listed. - "! $required - dont_show_in_run_action_dialog TYPE abap_bool, " put in a structure: options -> all options stored in a string in database - END OF ty_main. - -ENDINTERFACE. diff --git a/file-formats/saia/type/zif_aff_saia_v1.intf.json b/file-formats/saia/type/zif_aff_saia_v1.intf.json deleted file mode 100644 index 5217285f3..000000000 --- a/file-formats/saia/type/zif_aff_saia_v1.intf.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "formatVersion": "1", - "header": { - "description": "types for abap file format of ide actions", - "originalLanguage": "en" - } -} From b188ca4d3ab29162e0d480b29d078000e65df695 Mon Sep 17 00:00:00 2001 From: Uenal Akkaya Date: Wed, 22 May 2024 20:04:42 +0200 Subject: [PATCH 3/7] Fix abaplint issues and incorporate code review feedback --- file-formats/saia/README.md | 5 + file-formats/saia/saia-v1.json | 179 ++++++++++++++++++ .../saia/type/zif_aff_saia_v1.intf.abap | 138 ++++++++++++++ .../saia/type/zif_aff_saia_v1.intf.json | 7 + 4 files changed, 329 insertions(+) create mode 100644 file-formats/saia/README.md create mode 100644 file-formats/saia/saia-v1.json create mode 100644 file-formats/saia/type/zif_aff_saia_v1.intf.abap create mode 100644 file-formats/saia/type/zif_aff_saia_v1.intf.json diff --git a/file-formats/saia/README.md b/file-formats/saia/README.md new file mode 100644 index 000000000..125cba3c9 --- /dev/null +++ b/file-formats/saia/README.md @@ -0,0 +1,5 @@ +# SAIA File Format + +File | Cardinality | Definition | Schema | Example +:--- | :--- | :--- | :--- | :--- +`.saia.json` | 1 | [`zif_aff_saia_v1.intf.abap`](./type/zif_aff_saia_v1.intf.abap) | [`saia-v1.json`](./saia-v1.json) diff --git a/file-formats/saia/saia-v1.json b/file-formats/saia/saia-v1.json new file mode 100644 index 000000000..5a4659a60 --- /dev/null +++ b/file-formats/saia/saia-v1.json @@ -0,0 +1,179 @@ +{ + "$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/saia/saia-v1.json", + "title": "ADT IDE Action", + "description": "ADT IDE Action (SAIA) v1", + "type": "object", + "properties": { + "formatVersion": { + "title": "Format Version", + "description": "Format version", + "type": "string", + "const": "1" + }, + "header": { + "title": "Header", + "description": "Header", + "type": "object", + "properties": { + "description": { + "title": "Description", + "description": "Description of the ABAP object", + "type": "string", + "maxLength": 100 + }, + "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" + ] + }, + "adtIdeAction": { + "title": "ADT IDE Action", + "description": "ADT IDE Action", + "type": "object", + "properties": { + "actionId": { + "title": "Unique Id of the Action", + "description": "Unique action id - it should be human readable and reveal the intention of the action Action id is case insensitive TODO: length restriction, check how long it should be, su22 variant restrictions???", + "type": "string" + }, + "title": { + "title": "Action Title", + "description": "Action title for the action", + "type": "string" + }, + "description": { + "title": "Action Description", + "description": "What is the action doing and how can it be used", + "type": "string" + }, + "filters": { + "title": "Action Filter(In development)", + "description": "Filter for application of action according to specific object type or object type groups TODO: new filter mechanis currently under development -> all filters stored in a string on database", + "type": "object", + "properties": { + "numberOfFocusedResources": { + "title": "Number of Focused Resources", + "description": "Number of Focused Resources", + "type": "string" + }, + "supportedDevObjectTypes": { + "title": "Supported Development Object Types", + "description": "Supported development object types", + "type": "array", + "uniqueItems": true, + "items": { + "title": "Global Workbench Object Type", + "description": "Global Workbench Object Type", + "type": "object", + "properties": { + "objtypeTr": { + "title": "Object Type in Object Directory", + "description": "Object Type in Object Directory", + "type": "string", + "maxLength": 4 + }, + "subtypeWb": { + "title": "WB Request: (Internal) Type of an ABAP Workbench Object", + "description": "WB Request: (Internal) Type of an ABAP Workbench Object", + "type": "string", + "maxLength": 3 + } + }, + "additionalProperties": false + } + }, + "supportedResourceTypes": { + "title": "Supported Resource Types", + "description": "Supported resource types", + "type": "array", + "uniqueItems": true, + "items": { + "title": "Resource Type", + "description": "Resource type", + "type": "object", + "properties": { + "categoryScheme": { + "title": "Category Scheme", + "description": "Category scheme", + "type": "string" + }, + "categoryTerm": { + "title": "Category Term", + "description": "Category term", + "type": "string" + } + }, + "additionalProperties": false + } + } + }, + "additionalProperties": false + }, + "implementationClass": { + "title": "Action Handler Class", + "description": "Implementation class for handling the action input. Needs to implement interface {@link if_aia_action }.", + "type": "string", + "maxLength": 30 + }, + "inputUiConfigurationClass": { + "title": "Action Input UI Class", + "description": "The ABAP class implementing the server-driven UI input configuration. Needs to implement interface {@link IF_AIA_SD_ACTION_INPUT }.", + "type": "string", + "maxLength": 30 + }, + "dontShowInRunActionDialog": { + "title": "Run Action Dialog Visibility", + "description": "Flag to indicate that the action shouldn't be shown in the action selection dialog where all available actions are listed. TODO: put in a structure: options -> all options stored in a string in database", + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "actionId", + "title", + "description", + "filters", + "implementationClass", + "inputUiConfigurationClass", + "dontShowInRunActionDialog" + ] + } + }, + "additionalProperties": false, + "required": [ + "formatVersion", + "header", + "adtIdeAction" + ] +} diff --git a/file-formats/saia/type/zif_aff_saia_v1.intf.abap b/file-formats/saia/type/zif_aff_saia_v1.intf.abap new file mode 100644 index 000000000..059f8b4d0 --- /dev/null +++ b/file-formats/saia/type/zif_aff_saia_v1.intf.abap @@ -0,0 +1,138 @@ +INTERFACE zif_aff_saia_v1 + PUBLIC. + + TYPES: + "!

Resource Type

+ "! Resource type + BEGIN OF ty_resource_type, + "!

Category Scheme

+ "! Category scheme + category_scheme TYPE string, + "!

Category Term

+ "! Category term + category_term TYPE string, + END OF ty_resource_type. + + "!

Object Type in Object Directory

+ "! Object Type in Object Directory + TYPES ty_trobjtype TYPE c LENGTH 4. + "!

WB Request: (Internal) Type of an ABAP Workbench Object

+ "! WB Request: (Internal) Type of an ABAP Workbench Object + TYPES ty_seu_objtyp TYPE c LENGTH 3. + + TYPES: + "!

Global Workbench Object Type

+ "! Global Workbench Object Type + BEGIN OF ty_wbobjtype, + "!

Object Type in Object Directory

+ "! Object Type in Object Directory + objtype_tr TYPE ty_trobjtype, + "!

WB Request: (Internal) Type of an ABAP Workbench Object

+ "! WB Request: (Internal) Type of an ABAP Workbench Object + subtype_wb TYPE ty_seu_objtyp, + END OF ty_wbobjtype. + + "!

Development Object Types

+ "! Development object types + TYPES tt_development_object_types TYPE SORTED TABLE OF ty_wbobjtype WITH UNIQUE DEFAULT KEY. + + "!

Resource Types

+ "! Resource types + TYPES tt_resource_types TYPE SORTED TABLE OF ty_resource_type WITH UNIQUE DEFAULT KEY. + + "!

Number of Focused Resources

+ "! Number of focused resources + TYPES ty_number_of_focused_resources TYPE string. + + CONSTANTS: + "!

Number of Focuses Resources

+ "! Number of focused resources + BEGIN OF co_number_of_focused_resources, + "!

Exactly One

+ "! Exactly one + exactly_one TYPE ty_number_of_focused_resources VALUE 'EXACTLY_ONE', + "!

At Least One

+ "! At least one + at_least_one TYPE ty_number_of_focused_resources VALUE 'AT_LEAST_ONE', + "!

More Than One

+ "! More than one + more_than_one TYPE ty_number_of_focused_resources VALUE 'MORE_THAN_ONE', + END OF co_number_of_focused_resources. + + TYPES: + "!

Action Filter

+ "! Filtering of action according to specified applicable criteria. + "! If filter is satisfied then the action is available and will be shown. + "! $required + BEGIN OF ty_filters, + "!

Number of Focused Resources

+ "! Number of Focused Resources + number_of_focused_resources TYPE ty_number_of_focused_resources, + "!

Supported Development Object Types

+ "! Supported development object types + supported_dev_object_types TYPE tt_development_object_types, + "!

Supported Resource Types

+ "! Supported resource types + supported_resource_types TYPE tt_resource_types, + END OF ty_filters. + + TYPES: + "!

ADT IDE Action

+ "! ADT IDE Action + "! $required + BEGIN OF ty_adt_saia_object, + "!

Unique Id of the Action

+ "! Unique action id - it should be human readable and reveal the intention of the action + "! Action id is case insensitive + "! TODO: length restriction, check how long it should be, su22 variant restrictions??? + "! $required + action_id TYPE string, + "!

Action Title

+ "! Action title for the action + "! $required + title TYPE string, + "!

Action Description

+ "! What is the action doing and how can it be used + "! $required + description TYPE string, + "!

Action Filter(In development)

+ "! Filter for application of action according to specific object type or object type groups + "! TODO: new filter mechanis currently under development -> all filters stored in a string on database + "! $required + filters TYPE ty_filters, + "!

Action Handler Class

+ "! Implementation class for handling the action input. Needs to implement interface {@link if_aia_action }. + "! $required + implementation_class TYPE seoclsname, + "!

Action Input UI Class

+ "! The ABAP class implementing the server-driven UI input configuration. + "! Needs to implement interface {@link IF_AIA_SD_ACTION_INPUT }. + "! $required + input_ui_configuration_class TYPE seoclsname, + "!

Run Action Dialog Visibility

+ "! Flag to indicate that the action shouldn't be shown in the action selection dialog + "! where all available actions are listed. + "! TODO: put in a structure: options -> all options stored in a string in database + "! $required + dont_show_in_run_action_dialog TYPE abap_bool, + END OF ty_adt_saia_object. + + TYPES: + "!

ADT IDE Action

+ "! ADT IDE Action (SAIA) v1 + BEGIN OF ty_main, + "!

Format Version

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

Header

+ "! Header + "! $required + header TYPE zif_aff_types_v1=>ty_header_100, + "!

ADT IDE Action

+ "! ADT IDE Action + "! $required + adt_ide_action TYPE ty_adt_saia_object, + END OF ty_main. + +ENDINTERFACE. diff --git a/file-formats/saia/type/zif_aff_saia_v1.intf.json b/file-formats/saia/type/zif_aff_saia_v1.intf.json new file mode 100644 index 000000000..5217285f3 --- /dev/null +++ b/file-formats/saia/type/zif_aff_saia_v1.intf.json @@ -0,0 +1,7 @@ +{ + "formatVersion": "1", + "header": { + "description": "types for abap file format of ide actions", + "originalLanguage": "en" + } +} From c2029d54c830a85744d5106550b2924126a88d5f Mon Sep 17 00:00:00 2001 From: Uenal Akkaya Date: Wed, 22 May 2024 20:09:15 +0200 Subject: [PATCH 4/7] ? --- file-formats/saia/README.md | 5 - file-formats/saia/saia-v1.json | 179 ------------------ .../saia/type/zif_aff_saia_v1.intf.abap | 138 -------------- .../saia/type/zif_aff_saia_v1.intf.json | 7 - 4 files changed, 329 deletions(-) delete mode 100644 file-formats/saia/README.md delete mode 100644 file-formats/saia/saia-v1.json delete mode 100644 file-formats/saia/type/zif_aff_saia_v1.intf.abap delete mode 100644 file-formats/saia/type/zif_aff_saia_v1.intf.json diff --git a/file-formats/saia/README.md b/file-formats/saia/README.md deleted file mode 100644 index 125cba3c9..000000000 --- a/file-formats/saia/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# SAIA File Format - -File | Cardinality | Definition | Schema | Example -:--- | :--- | :--- | :--- | :--- -`.saia.json` | 1 | [`zif_aff_saia_v1.intf.abap`](./type/zif_aff_saia_v1.intf.abap) | [`saia-v1.json`](./saia-v1.json) diff --git a/file-formats/saia/saia-v1.json b/file-formats/saia/saia-v1.json deleted file mode 100644 index 5a4659a60..000000000 --- a/file-formats/saia/saia-v1.json +++ /dev/null @@ -1,179 +0,0 @@ -{ - "$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/saia/saia-v1.json", - "title": "ADT IDE Action", - "description": "ADT IDE Action (SAIA) v1", - "type": "object", - "properties": { - "formatVersion": { - "title": "Format Version", - "description": "Format version", - "type": "string", - "const": "1" - }, - "header": { - "title": "Header", - "description": "Header", - "type": "object", - "properties": { - "description": { - "title": "Description", - "description": "Description of the ABAP object", - "type": "string", - "maxLength": 100 - }, - "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" - ] - }, - "adtIdeAction": { - "title": "ADT IDE Action", - "description": "ADT IDE Action", - "type": "object", - "properties": { - "actionId": { - "title": "Unique Id of the Action", - "description": "Unique action id - it should be human readable and reveal the intention of the action Action id is case insensitive TODO: length restriction, check how long it should be, su22 variant restrictions???", - "type": "string" - }, - "title": { - "title": "Action Title", - "description": "Action title for the action", - "type": "string" - }, - "description": { - "title": "Action Description", - "description": "What is the action doing and how can it be used", - "type": "string" - }, - "filters": { - "title": "Action Filter(In development)", - "description": "Filter for application of action according to specific object type or object type groups TODO: new filter mechanis currently under development -> all filters stored in a string on database", - "type": "object", - "properties": { - "numberOfFocusedResources": { - "title": "Number of Focused Resources", - "description": "Number of Focused Resources", - "type": "string" - }, - "supportedDevObjectTypes": { - "title": "Supported Development Object Types", - "description": "Supported development object types", - "type": "array", - "uniqueItems": true, - "items": { - "title": "Global Workbench Object Type", - "description": "Global Workbench Object Type", - "type": "object", - "properties": { - "objtypeTr": { - "title": "Object Type in Object Directory", - "description": "Object Type in Object Directory", - "type": "string", - "maxLength": 4 - }, - "subtypeWb": { - "title": "WB Request: (Internal) Type of an ABAP Workbench Object", - "description": "WB Request: (Internal) Type of an ABAP Workbench Object", - "type": "string", - "maxLength": 3 - } - }, - "additionalProperties": false - } - }, - "supportedResourceTypes": { - "title": "Supported Resource Types", - "description": "Supported resource types", - "type": "array", - "uniqueItems": true, - "items": { - "title": "Resource Type", - "description": "Resource type", - "type": "object", - "properties": { - "categoryScheme": { - "title": "Category Scheme", - "description": "Category scheme", - "type": "string" - }, - "categoryTerm": { - "title": "Category Term", - "description": "Category term", - "type": "string" - } - }, - "additionalProperties": false - } - } - }, - "additionalProperties": false - }, - "implementationClass": { - "title": "Action Handler Class", - "description": "Implementation class for handling the action input. Needs to implement interface {@link if_aia_action }.", - "type": "string", - "maxLength": 30 - }, - "inputUiConfigurationClass": { - "title": "Action Input UI Class", - "description": "The ABAP class implementing the server-driven UI input configuration. Needs to implement interface {@link IF_AIA_SD_ACTION_INPUT }.", - "type": "string", - "maxLength": 30 - }, - "dontShowInRunActionDialog": { - "title": "Run Action Dialog Visibility", - "description": "Flag to indicate that the action shouldn't be shown in the action selection dialog where all available actions are listed. TODO: put in a structure: options -> all options stored in a string in database", - "type": "boolean" - } - }, - "additionalProperties": false, - "required": [ - "actionId", - "title", - "description", - "filters", - "implementationClass", - "inputUiConfigurationClass", - "dontShowInRunActionDialog" - ] - } - }, - "additionalProperties": false, - "required": [ - "formatVersion", - "header", - "adtIdeAction" - ] -} diff --git a/file-formats/saia/type/zif_aff_saia_v1.intf.abap b/file-formats/saia/type/zif_aff_saia_v1.intf.abap deleted file mode 100644 index 059f8b4d0..000000000 --- a/file-formats/saia/type/zif_aff_saia_v1.intf.abap +++ /dev/null @@ -1,138 +0,0 @@ -INTERFACE zif_aff_saia_v1 - PUBLIC. - - TYPES: - "!

Resource Type

- "! Resource type - BEGIN OF ty_resource_type, - "!

Category Scheme

- "! Category scheme - category_scheme TYPE string, - "!

Category Term

- "! Category term - category_term TYPE string, - END OF ty_resource_type. - - "!

Object Type in Object Directory

- "! Object Type in Object Directory - TYPES ty_trobjtype TYPE c LENGTH 4. - "!

WB Request: (Internal) Type of an ABAP Workbench Object

- "! WB Request: (Internal) Type of an ABAP Workbench Object - TYPES ty_seu_objtyp TYPE c LENGTH 3. - - TYPES: - "!

Global Workbench Object Type

- "! Global Workbench Object Type - BEGIN OF ty_wbobjtype, - "!

Object Type in Object Directory

- "! Object Type in Object Directory - objtype_tr TYPE ty_trobjtype, - "!

WB Request: (Internal) Type of an ABAP Workbench Object

- "! WB Request: (Internal) Type of an ABAP Workbench Object - subtype_wb TYPE ty_seu_objtyp, - END OF ty_wbobjtype. - - "!

Development Object Types

- "! Development object types - TYPES tt_development_object_types TYPE SORTED TABLE OF ty_wbobjtype WITH UNIQUE DEFAULT KEY. - - "!

Resource Types

- "! Resource types - TYPES tt_resource_types TYPE SORTED TABLE OF ty_resource_type WITH UNIQUE DEFAULT KEY. - - "!

Number of Focused Resources

- "! Number of focused resources - TYPES ty_number_of_focused_resources TYPE string. - - CONSTANTS: - "!

Number of Focuses Resources

- "! Number of focused resources - BEGIN OF co_number_of_focused_resources, - "!

Exactly One

- "! Exactly one - exactly_one TYPE ty_number_of_focused_resources VALUE 'EXACTLY_ONE', - "!

At Least One

- "! At least one - at_least_one TYPE ty_number_of_focused_resources VALUE 'AT_LEAST_ONE', - "!

More Than One

- "! More than one - more_than_one TYPE ty_number_of_focused_resources VALUE 'MORE_THAN_ONE', - END OF co_number_of_focused_resources. - - TYPES: - "!

Action Filter

- "! Filtering of action according to specified applicable criteria. - "! If filter is satisfied then the action is available and will be shown. - "! $required - BEGIN OF ty_filters, - "!

Number of Focused Resources

- "! Number of Focused Resources - number_of_focused_resources TYPE ty_number_of_focused_resources, - "!

Supported Development Object Types

- "! Supported development object types - supported_dev_object_types TYPE tt_development_object_types, - "!

Supported Resource Types

- "! Supported resource types - supported_resource_types TYPE tt_resource_types, - END OF ty_filters. - - TYPES: - "!

ADT IDE Action

- "! ADT IDE Action - "! $required - BEGIN OF ty_adt_saia_object, - "!

Unique Id of the Action

- "! Unique action id - it should be human readable and reveal the intention of the action - "! Action id is case insensitive - "! TODO: length restriction, check how long it should be, su22 variant restrictions??? - "! $required - action_id TYPE string, - "!

Action Title

- "! Action title for the action - "! $required - title TYPE string, - "!

Action Description

- "! What is the action doing and how can it be used - "! $required - description TYPE string, - "!

Action Filter(In development)

- "! Filter for application of action according to specific object type or object type groups - "! TODO: new filter mechanis currently under development -> all filters stored in a string on database - "! $required - filters TYPE ty_filters, - "!

Action Handler Class

- "! Implementation class for handling the action input. Needs to implement interface {@link if_aia_action }. - "! $required - implementation_class TYPE seoclsname, - "!

Action Input UI Class

- "! The ABAP class implementing the server-driven UI input configuration. - "! Needs to implement interface {@link IF_AIA_SD_ACTION_INPUT }. - "! $required - input_ui_configuration_class TYPE seoclsname, - "!

Run Action Dialog Visibility

- "! Flag to indicate that the action shouldn't be shown in the action selection dialog - "! where all available actions are listed. - "! TODO: put in a structure: options -> all options stored in a string in database - "! $required - dont_show_in_run_action_dialog TYPE abap_bool, - END OF ty_adt_saia_object. - - TYPES: - "!

ADT IDE Action

- "! ADT IDE Action (SAIA) v1 - BEGIN OF ty_main, - "!

Format Version

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

Header

- "! Header - "! $required - header TYPE zif_aff_types_v1=>ty_header_100, - "!

ADT IDE Action

- "! ADT IDE Action - "! $required - adt_ide_action TYPE ty_adt_saia_object, - END OF ty_main. - -ENDINTERFACE. diff --git a/file-formats/saia/type/zif_aff_saia_v1.intf.json b/file-formats/saia/type/zif_aff_saia_v1.intf.json deleted file mode 100644 index 5217285f3..000000000 --- a/file-formats/saia/type/zif_aff_saia_v1.intf.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "formatVersion": "1", - "header": { - "description": "types for abap file format of ide actions", - "originalLanguage": "en" - } -} From 8d5e5af0a058d7182cc9cf97615ce7f5054b762d Mon Sep 17 00:00:00 2001 From: Uenal Akkaya Date: Wed, 22 May 2024 20:09:50 +0200 Subject: [PATCH 5/7] SAIA object type --- file-formats/saia/README.md | 5 + file-formats/saia/saia-v1.json | 179 ++++++++++++++++++ .../saia/type/zif_aff_saia_v1.intf.abap | 142 ++++++++++++++ .../saia/type/zif_aff_saia_v1.intf.json | 7 + 4 files changed, 333 insertions(+) create mode 100644 file-formats/saia/README.md create mode 100644 file-formats/saia/saia-v1.json create mode 100644 file-formats/saia/type/zif_aff_saia_v1.intf.abap create mode 100644 file-formats/saia/type/zif_aff_saia_v1.intf.json diff --git a/file-formats/saia/README.md b/file-formats/saia/README.md new file mode 100644 index 000000000..125cba3c9 --- /dev/null +++ b/file-formats/saia/README.md @@ -0,0 +1,5 @@ +# SAIA File Format + +File | Cardinality | Definition | Schema | Example +:--- | :--- | :--- | :--- | :--- +`.saia.json` | 1 | [`zif_aff_saia_v1.intf.abap`](./type/zif_aff_saia_v1.intf.abap) | [`saia-v1.json`](./saia-v1.json) diff --git a/file-formats/saia/saia-v1.json b/file-formats/saia/saia-v1.json new file mode 100644 index 000000000..5a4659a60 --- /dev/null +++ b/file-formats/saia/saia-v1.json @@ -0,0 +1,179 @@ +{ + "$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/saia/saia-v1.json", + "title": "ADT IDE Action", + "description": "ADT IDE Action (SAIA) v1", + "type": "object", + "properties": { + "formatVersion": { + "title": "Format Version", + "description": "Format version", + "type": "string", + "const": "1" + }, + "header": { + "title": "Header", + "description": "Header", + "type": "object", + "properties": { + "description": { + "title": "Description", + "description": "Description of the ABAP object", + "type": "string", + "maxLength": 100 + }, + "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" + ] + }, + "adtIdeAction": { + "title": "ADT IDE Action", + "description": "ADT IDE Action", + "type": "object", + "properties": { + "actionId": { + "title": "Unique Id of the Action", + "description": "Unique action id - it should be human readable and reveal the intention of the action Action id is case insensitive TODO: length restriction, check how long it should be, su22 variant restrictions???", + "type": "string" + }, + "title": { + "title": "Action Title", + "description": "Action title for the action", + "type": "string" + }, + "description": { + "title": "Action Description", + "description": "What is the action doing and how can it be used", + "type": "string" + }, + "filters": { + "title": "Action Filter(In development)", + "description": "Filter for application of action according to specific object type or object type groups TODO: new filter mechanis currently under development -> all filters stored in a string on database", + "type": "object", + "properties": { + "numberOfFocusedResources": { + "title": "Number of Focused Resources", + "description": "Number of Focused Resources", + "type": "string" + }, + "supportedDevObjectTypes": { + "title": "Supported Development Object Types", + "description": "Supported development object types", + "type": "array", + "uniqueItems": true, + "items": { + "title": "Global Workbench Object Type", + "description": "Global Workbench Object Type", + "type": "object", + "properties": { + "objtypeTr": { + "title": "Object Type in Object Directory", + "description": "Object Type in Object Directory", + "type": "string", + "maxLength": 4 + }, + "subtypeWb": { + "title": "WB Request: (Internal) Type of an ABAP Workbench Object", + "description": "WB Request: (Internal) Type of an ABAP Workbench Object", + "type": "string", + "maxLength": 3 + } + }, + "additionalProperties": false + } + }, + "supportedResourceTypes": { + "title": "Supported Resource Types", + "description": "Supported resource types", + "type": "array", + "uniqueItems": true, + "items": { + "title": "Resource Type", + "description": "Resource type", + "type": "object", + "properties": { + "categoryScheme": { + "title": "Category Scheme", + "description": "Category scheme", + "type": "string" + }, + "categoryTerm": { + "title": "Category Term", + "description": "Category term", + "type": "string" + } + }, + "additionalProperties": false + } + } + }, + "additionalProperties": false + }, + "implementationClass": { + "title": "Action Handler Class", + "description": "Implementation class for handling the action input. Needs to implement interface {@link if_aia_action }.", + "type": "string", + "maxLength": 30 + }, + "inputUiConfigurationClass": { + "title": "Action Input UI Class", + "description": "The ABAP class implementing the server-driven UI input configuration. Needs to implement interface {@link IF_AIA_SD_ACTION_INPUT }.", + "type": "string", + "maxLength": 30 + }, + "dontShowInRunActionDialog": { + "title": "Run Action Dialog Visibility", + "description": "Flag to indicate that the action shouldn't be shown in the action selection dialog where all available actions are listed. TODO: put in a structure: options -> all options stored in a string in database", + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "actionId", + "title", + "description", + "filters", + "implementationClass", + "inputUiConfigurationClass", + "dontShowInRunActionDialog" + ] + } + }, + "additionalProperties": false, + "required": [ + "formatVersion", + "header", + "adtIdeAction" + ] +} diff --git a/file-formats/saia/type/zif_aff_saia_v1.intf.abap b/file-formats/saia/type/zif_aff_saia_v1.intf.abap new file mode 100644 index 000000000..32b393a31 --- /dev/null +++ b/file-formats/saia/type/zif_aff_saia_v1.intf.abap @@ -0,0 +1,142 @@ +INTERFACE zif_aff_saia_v1 + PUBLIC. + + TYPES: + "!

Resource Type

+ "! Resource type + BEGIN OF ty_resource_type, + "!

Category Scheme

+ "! Category scheme + category_scheme TYPE string, + "!

Category Term

+ "! Category term + category_term TYPE string, + END OF ty_resource_type. + + "!

Object Type in Object Directory

+ "! Object Type in Object Directory + TYPES ty_trobjtype TYPE c LENGTH 4. + "!

WB Request: (Internal) Type of an ABAP Workbench Object

+ "! WB Request: (Internal) Type of an ABAP Workbench Object + TYPES ty_seu_objtyp TYPE c LENGTH 3. + + TYPES: + "!

Global Workbench Object Type

+ "! Global Workbench Object Type + BEGIN OF ty_wbobjtype, + "!

Object Type in Object Directory

+ "! Object Type in Object Directory + objtype_tr TYPE ty_trobjtype, + "!

WB Request: (Internal) Type of an ABAP Workbench Object

+ "! WB Request: (Internal) Type of an ABAP Workbench Object + subtype_wb TYPE ty_seu_objtyp, + END OF ty_wbobjtype. + + "!

Development Object Types

+ "! Development object types + TYPES ty_development_object_types TYPE SORTED TABLE OF ty_wbobjtype WITH UNIQUE DEFAULT KEY. + + "!

Resource Types

+ "! Resource types + TYPES ty_resource_types TYPE SORTED TABLE OF ty_resource_type WITH UNIQUE DEFAULT KEY. + + "!

Number of Focused Resources

+ "! Number of focused resources + TYPES ty_number_of_focused_resources TYPE string. + + CONSTANTS: + "!

Number of Focuses Resources

+ "! Number of focused resources + BEGIN OF co_number_of_focused_resources, + "!

Exactly One

+ "! Exactly one + exactly_one TYPE ty_number_of_focused_resources VALUE 'EXACTLY_ONE', + "!

At Least One

+ "! At least one + at_least_one TYPE ty_number_of_focused_resources VALUE 'AT_LEAST_ONE', + "!

More Than One

+ "! More than one + more_than_one TYPE ty_number_of_focused_resources VALUE 'MORE_THAN_ONE', + END OF co_number_of_focused_resources. + + TYPES: + "!

Action Filter

+ "! Filtering of action according to specified applicable criteria. + "! If filter is satisfied then the action is available and will be shown. + "! $required + BEGIN OF ty_filters, + "!

Number of Focused Resources

+ "! Number of Focused Resources + number_of_focused_resources TYPE ty_number_of_focused_resources, + "!

Supported Development Object Types

+ "! Supported development object types + supported_dev_object_types TYPE ty_development_object_types, + "!

Supported Resource Types

+ "! Supported resource types + supported_resource_types TYPE ty_resource_types, + END OF ty_filters. + + "!

ABAP Class Name

+ "! ABAP class name + TYPES ty_class_name TYPE c LENGTH 30. + + TYPES: + "!

ADT IDE Action

+ "! ADT IDE Action + "! $required + BEGIN OF ty_adt_saia_object, + "!

Unique Id of the Action

+ "! Unique action id - it should be human readable and reveal the intention of the action + "! Action id is case insensitive + "! TODO: length restriction, check how long it should be, su22 variant restrictions??? + "! $required + action_id TYPE string, + "!

Action Title

+ "! Action title for the action + "! $required + title TYPE string, + "!

Action Description

+ "! What is the action doing and how can it be used + "! $required + description TYPE string, + "!

Action Filter(In development)

+ "! Filter for application of action according to specific object type or object type groups + "! TODO: new filter mechanis currently under development -> all filters stored in a string on database + "! $required + filters TYPE ty_filters, + "!

Action Handler Class

+ "! Implementation class for handling the action input. Needs to implement interface {@link if_aia_action }. + "! $required + implementation_class TYPE ty_class_name, + "!

Action Input UI Class

+ "! The ABAP class implementing the server-driven UI input configuration. + "! Needs to implement interface {@link IF_AIA_SD_ACTION_INPUT }. + "! $required + input_ui_configuration_class TYPE ty_class_name, + "!

Run Action Dialog Visibility

+ "! Flag to indicate that the action shouldn't be shown in the action selection dialog + "! where all available actions are listed. + "! TODO: put in a structure: options -> all options stored in a string in database + "! $required + dont_show_in_run_action_dialog TYPE abap_bool, + END OF ty_adt_saia_object. + + TYPES: + "!

ADT IDE Action

+ "! ADT IDE Action (SAIA) v1 + BEGIN OF ty_main, + "!

Format Version

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

Header

+ "! Header + "! $required + header TYPE zif_aff_types_v1=>ty_header_100, + "!

ADT IDE Action

+ "! ADT IDE Action + "! $required + adt_ide_action TYPE ty_adt_saia_object, + END OF ty_main. + +ENDINTERFACE. diff --git a/file-formats/saia/type/zif_aff_saia_v1.intf.json b/file-formats/saia/type/zif_aff_saia_v1.intf.json new file mode 100644 index 000000000..5217285f3 --- /dev/null +++ b/file-formats/saia/type/zif_aff_saia_v1.intf.json @@ -0,0 +1,7 @@ +{ + "formatVersion": "1", + "header": { + "description": "types for abap file format of ide actions", + "originalLanguage": "en" + } +} From 3192ac5b6a77a2bf36a391b54c0f50196bddbf94 Mon Sep 17 00:00:00 2001 From: Uenal Akkaya Date: Tue, 11 Jun 2024 00:12:12 +0200 Subject: [PATCH 6/7] React to reviewed AFF --- file-formats/saia/saia-v1.json | 60 +++++++----- .../saia/type/zif_aff_saia_v1.intf.abap | 97 ++++++++++--------- 2 files changed, 87 insertions(+), 70 deletions(-) diff --git a/file-formats/saia/saia-v1.json b/file-formats/saia/saia-v1.json index 5a4659a60..eb50f14d9 100644 --- a/file-formats/saia/saia-v1.json +++ b/file-formats/saia/saia-v1.json @@ -3,7 +3,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://github.com/SAP/abap-file-formats/blob/main/file-formats/saia/saia-v1.json", "title": "ADT IDE Action", - "description": "ADT IDE Action (SAIA) v1", + "description": "ADT IDE action (SAIA) v1", "type": "object", "properties": { "formatVersion": { @@ -57,34 +57,41 @@ "originalLanguage" ] }, - "adtIdeAction": { - "title": "ADT IDE Action", - "description": "ADT IDE Action", + "generalInformation": { + "title": "General Information", + "description": "General information", "type": "object", "properties": { "actionId": { - "title": "Unique Id of the Action", - "description": "Unique action id - it should be human readable and reveal the intention of the action Action id is case insensitive TODO: length restriction, check how long it should be, su22 variant restrictions???", + "title": "Action ID", + "description": "Unique action id - it should be human readable and reveal the intention of the action Action id is case insensitive", + "type": "string", + "maxLength": 20 + }, + "baseUri": { + "title": "Base URI", + "description": "Base uri", "type": "string" }, "title": { - "title": "Action Title", - "description": "Action title for the action", - "type": "string" + "title": "Title", + "description": "Title", + "type": "string", + "maxLength": 30 }, "description": { - "title": "Action Description", + "title": "Description", "description": "What is the action doing and how can it be used", "type": "string" }, "filters": { - "title": "Action Filter(In development)", - "description": "Filter for application of action according to specific object type or object type groups TODO: new filter mechanis currently under development -> all filters stored in a string on database", + "title": "Action Filters", + "description": "Filters for application of action according to specific object type or object type groups", "type": "object", "properties": { "numberOfFocusedResources": { "title": "Number of Focused Resources", - "description": "Number of Focused Resources", + "description": "Number of focused resources", "type": "string" }, "supportedDevObjectTypes": { @@ -93,19 +100,19 @@ "type": "array", "uniqueItems": true, "items": { - "title": "Global Workbench Object Type", - "description": "Global Workbench Object Type", + "title": "Workbench Object Type", + "description": "Workbench object type", "type": "object", "properties": { - "objtypeTr": { - "title": "Object Type in Object Directory", - "description": "Object Type in Object Directory", + "transportObjectType": { + "title": "Transport Object Type", + "description": "Transport object type", "type": "string", "maxLength": 4 }, - "subtypeWb": { - "title": "WB Request: (Internal) Type of an ABAP Workbench Object", - "description": "WB Request: (Internal) Type of an ABAP Workbench Object", + "transportObjectSubtypeWb": { + "title": "Transport Object Sub-Type", + "description": "Transport object sub-type", "type": "string", "maxLength": 3 } @@ -141,19 +148,19 @@ "additionalProperties": false }, "implementationClass": { - "title": "Action Handler Class", + "title": "Implementation Class", "description": "Implementation class for handling the action input. Needs to implement interface {@link if_aia_action }.", "type": "string", "maxLength": 30 }, "inputUiConfigurationClass": { - "title": "Action Input UI Class", - "description": "The ABAP class implementing the server-driven UI input configuration. Needs to implement interface {@link IF_AIA_SD_ACTION_INPUT }.", + "title": "Input UI Configuration Class", + "description": "Input UI configuration class for implementing the server-driven UI input configuration. Needs to implement interface {@link IF_AIA_SD_ACTION_INPUT }.", "type": "string", "maxLength": 30 }, "dontShowInRunActionDialog": { - "title": "Run Action Dialog Visibility", + "title": "Don't Show in Run Action Dialog", "description": "Flag to indicate that the action shouldn't be shown in the action selection dialog where all available actions are listed. TODO: put in a structure: options -> all options stored in a string in database", "type": "boolean" } @@ -161,6 +168,7 @@ "additionalProperties": false, "required": [ "actionId", + "baseUri", "title", "description", "filters", @@ -174,6 +182,6 @@ "required": [ "formatVersion", "header", - "adtIdeAction" + "generalInformation" ] } diff --git a/file-formats/saia/type/zif_aff_saia_v1.intf.abap b/file-formats/saia/type/zif_aff_saia_v1.intf.abap index 32b393a31..c52bebf17 100644 --- a/file-formats/saia/type/zif_aff_saia_v1.intf.abap +++ b/file-formats/saia/type/zif_aff_saia_v1.intf.abap @@ -13,28 +13,28 @@ INTERFACE zif_aff_saia_v1 category_term TYPE string, END OF ty_resource_type. - "!

Object Type in Object Directory

- "! Object Type in Object Directory - TYPES ty_trobjtype TYPE c LENGTH 4. - "!

WB Request: (Internal) Type of an ABAP Workbench Object

- "! WB Request: (Internal) Type of an ABAP Workbench Object - TYPES ty_seu_objtyp TYPE c LENGTH 3. + "!

Transport Object Type

+ "! Transport object type + TYPES ty_transport_object_type TYPE c LENGTH 4. + "!

Transport Object Sub-Type

+ "! Transport object sub-type + TYPES ty_transport_object_sub_type TYPE c LENGTH 3. TYPES: - "!

Global Workbench Object Type

- "! Global Workbench Object Type - BEGIN OF ty_wbobjtype, - "!

Object Type in Object Directory

- "! Object Type in Object Directory - objtype_tr TYPE ty_trobjtype, - "!

WB Request: (Internal) Type of an ABAP Workbench Object

- "! WB Request: (Internal) Type of an ABAP Workbench Object - subtype_wb TYPE ty_seu_objtyp, - END OF ty_wbobjtype. + "!

Workbench Object Type

+ "! Workbench object type + BEGIN OF ty_workbench_object_type, + "!

Transport Object Type

+ "! Transport object type + transport_object_type TYPE ty_transport_object_type, + "!

Transport Object Sub-Type

+ "! Transport object sub-type + transport_object_subtype_wb TYPE ty_transport_object_sub_type, + END OF ty_workbench_object_type. "!

Development Object Types

"! Development object types - TYPES ty_development_object_types TYPE SORTED TABLE OF ty_wbobjtype WITH UNIQUE DEFAULT KEY. + TYPES ty_development_object_types TYPE SORTED TABLE OF ty_workbench_object_type WITH UNIQUE DEFAULT KEY. "!

Resource Types

"! Resource types @@ -48,6 +48,9 @@ INTERFACE zif_aff_saia_v1 "!

Number of Focuses Resources

"! Number of focused resources BEGIN OF co_number_of_focused_resources, + "!

Any

+ "! Any + any TYPE ty_number_of_focused_resources VALUE 'ANY', "!

Exactly One

"! Exactly one exactly_one TYPE ty_number_of_focused_resources VALUE 'EXACTLY_ONE', @@ -66,7 +69,7 @@ INTERFACE zif_aff_saia_v1 "! $required BEGIN OF ty_filters, "!

Number of Focused Resources

- "! Number of Focused Resources + "! Number of focused resources number_of_focused_resources TYPE ty_number_of_focused_resources, "!

Supported Development Object Types

"! Supported development object types @@ -76,44 +79,50 @@ INTERFACE zif_aff_saia_v1 supported_resource_types TYPE ty_resource_types, END OF ty_filters. - "!

ABAP Class Name

- "! ABAP class name - TYPES ty_class_name TYPE c LENGTH 30. + "!

Action ID

+ "! Action id + TYPES ty_action_id TYPE c LENGTH 20. + + "!

Action Title

+ "! Action title + TYPES ty_action_title TYPE c LENGTH 30. TYPES: "!

ADT IDE Action

- "! ADT IDE Action + "! ADT IDE action "! $required BEGIN OF ty_adt_saia_object, - "!

Unique Id of the Action

+ "!

Action ID

"! Unique action id - it should be human readable and reveal the intention of the action "! Action id is case insensitive - "! TODO: length restriction, check how long it should be, su22 variant restrictions??? "! $required - action_id TYPE string, - "!

Action Title

- "! Action title for the action + action_id TYPE ty_action_id, + "!

Base URI

+ "! Base uri + "! $required + base_uri TYPE string, + "!

Title

+ "! Title "! $required - title TYPE string, - "!

Action Description

+ title TYPE ty_action_title, + "!

Description

"! What is the action doing and how can it be used "! $required description TYPE string, - "!

Action Filter(In development)

- "! Filter for application of action according to specific object type or object type groups - "! TODO: new filter mechanis currently under development -> all filters stored in a string on database + "!

Action Filters

+ "! Filters for application of action according to specific object type or object type groups "! $required filters TYPE ty_filters, - "!

Action Handler Class

+ "!

Implementation Class

"! Implementation class for handling the action input. Needs to implement interface {@link if_aia_action }. "! $required - implementation_class TYPE ty_class_name, - "!

Action Input UI Class

- "! The ABAP class implementing the server-driven UI input configuration. + implementation_class TYPE zif_aff_types_v1=>ty_object_name_30, + "!

Input UI Configuration Class

+ "! Input UI configuration class for implementing the server-driven UI input configuration. "! Needs to implement interface {@link IF_AIA_SD_ACTION_INPUT }. "! $required - input_ui_configuration_class TYPE ty_class_name, - "!

Run Action Dialog Visibility

+ input_ui_configuration_class TYPE zif_aff_types_v1=>ty_object_name_30, + "!

Don't Show in Run Action Dialog

"! Flag to indicate that the action shouldn't be shown in the action selection dialog "! where all available actions are listed. "! TODO: put in a structure: options -> all options stored in a string in database @@ -123,20 +132,20 @@ INTERFACE zif_aff_saia_v1 TYPES: "!

ADT IDE Action

- "! ADT IDE Action (SAIA) v1 + "! ADT IDE action (SAIA) v1 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 zif_aff_types_v1=>ty_header_100, - "!

ADT IDE Action

- "! ADT IDE Action + header TYPE zif_aff_types_v1=>ty_header_100, + "!

General Information

+ "! General information "! $required - adt_ide_action TYPE ty_adt_saia_object, + general_information TYPE ty_adt_saia_object, END OF ty_main. ENDINTERFACE. From 3b5af861a2cac9b07777ec36f08f21b12d8707d0 Mon Sep 17 00:00:00 2001 From: Uenal Akkaya Date: Mon, 30 Sep 2024 21:09:36 +0200 Subject: [PATCH 7/7] SAIA: newest version --- file-formats/saia/README.md | 2 +- file-formats/saia/saia-v1.json | 155 ++++++++---------- .../saia/type/zif_aff_saia_v1.intf.abap | 103 ++++-------- 3 files changed, 96 insertions(+), 164 deletions(-) diff --git a/file-formats/saia/README.md b/file-formats/saia/README.md index 125cba3c9..712fc4bfc 100644 --- a/file-formats/saia/README.md +++ b/file-formats/saia/README.md @@ -2,4 +2,4 @@ File | Cardinality | Definition | Schema | Example :--- | :--- | :--- | :--- | :--- -`.saia.json` | 1 | [`zif_aff_saia_v1.intf.abap`](./type/zif_aff_saia_v1.intf.abap) | [`saia-v1.json`](./saia-v1.json) +`.saia.json` | 1 | [`zif_aff_saia_v1.intf.abap`](./type/zif_aff_saia_v1.intf.abap) | [`saia-v1.json`](./saia-v1.json) | [`z_aff_example_saia.saia.json`](./examples/z_aff_example_saia.saia.json) diff --git a/file-formats/saia/saia-v1.json b/file-formats/saia/saia-v1.json index eb50f14d9..7bdfaa188 100644 --- a/file-formats/saia/saia-v1.json +++ b/file-formats/saia/saia-v1.json @@ -62,94 +62,20 @@ "description": "General information", "type": "object", "properties": { - "actionId": { - "title": "Action ID", - "description": "Unique action id - it should be human readable and reveal the intention of the action Action id is case insensitive", - "type": "string", - "maxLength": 20 - }, - "baseUri": { - "title": "Base URI", - "description": "Base uri", - "type": "string" - }, "title": { "title": "Title", "description": "Title", "type": "string", "maxLength": 30 }, - "description": { - "title": "Description", + "summary": { + "title": "Summary", "description": "What is the action doing and how can it be used", "type": "string" }, - "filters": { - "title": "Action Filters", - "description": "Filters for application of action according to specific object type or object type groups", - "type": "object", - "properties": { - "numberOfFocusedResources": { - "title": "Number of Focused Resources", - "description": "Number of focused resources", - "type": "string" - }, - "supportedDevObjectTypes": { - "title": "Supported Development Object Types", - "description": "Supported development object types", - "type": "array", - "uniqueItems": true, - "items": { - "title": "Workbench Object Type", - "description": "Workbench object type", - "type": "object", - "properties": { - "transportObjectType": { - "title": "Transport Object Type", - "description": "Transport object type", - "type": "string", - "maxLength": 4 - }, - "transportObjectSubtypeWb": { - "title": "Transport Object Sub-Type", - "description": "Transport object sub-type", - "type": "string", - "maxLength": 3 - } - }, - "additionalProperties": false - } - }, - "supportedResourceTypes": { - "title": "Supported Resource Types", - "description": "Supported resource types", - "type": "array", - "uniqueItems": true, - "items": { - "title": "Resource Type", - "description": "Resource type", - "type": "object", - "properties": { - "categoryScheme": { - "title": "Category Scheme", - "description": "Category scheme", - "type": "string" - }, - "categoryTerm": { - "title": "Category Term", - "description": "Category term", - "type": "string" - } - }, - "additionalProperties": false - } - } - }, - "additionalProperties": false - }, - "implementationClass": { - "title": "Implementation Class", - "description": "Implementation class for handling the action input. Needs to implement interface {@link if_aia_action }.", + "implementingClass": { + "title": "Implementing Class", + "description": "Implementing class for handling the action input. Needs to implement interface {@link if_aia_action }.", "type": "string", "maxLength": 30 }, @@ -158,24 +84,71 @@ "description": "Input UI configuration class for implementing the server-driven UI input configuration. Needs to implement interface {@link IF_AIA_SD_ACTION_INPUT }.", "type": "string", "maxLength": 30 - }, - "dontShowInRunActionDialog": { - "title": "Don't Show in Run Action Dialog", - "description": "Flag to indicate that the action shouldn't be shown in the action selection dialog where all available actions are listed. TODO: put in a structure: options -> all options stored in a string in database", - "type": "boolean" } }, "additionalProperties": false, "required": [ - "actionId", - "baseUri", "title", - "description", - "filters", - "implementationClass", - "inputUiConfigurationClass", - "dontShowInRunActionDialog" + "summary" ] + }, + "filters": { + "title": "Action Filters", + "description": "Filters for application of action according to specific object type or object type groups", + "type": "object", + "properties": { + "numberOfFocusedResources": { + "title": "Number of Focused Resources", + "description": "Number of focused resources", + "type": "string", + "enum": [ + "any", + "exactlyOne", + "atLeastOne", + "moreThanOne" + ], + "enumTitles": [ + "Any", + "Exactly One", + "At Least One", + "More Than One" + ], + "enumDescriptions": [ + "Any", + "Exactly one", + "At least one", + "More than one" + ], + "default": "any" + }, + "supportedDevObjectTypes": { + "title": "Supported Workbench Object Types", + "description": "Supported workbench object types", + "type": "array", + "uniqueItems": true, + "items": { + "title": "Workbench Object Type", + "description": "Workbench object type", + "type": "object", + "properties": { + "workbenchObjectType": { + "title": "Workbench Object Type", + "description": "Workbench object type", + "type": "string", + "maxLength": 4 + }, + "workbenchObjectSubtypeWb": { + "title": "Workbench Object Sub-Type", + "description": "Workbench object sub-type", + "type": "string", + "maxLength": 3 + } + }, + "additionalProperties": false + } + } + }, + "additionalProperties": false } }, "additionalProperties": false, diff --git a/file-formats/saia/type/zif_aff_saia_v1.intf.abap b/file-formats/saia/type/zif_aff_saia_v1.intf.abap index c52bebf17..b3a4c4d15 100644 --- a/file-formats/saia/type/zif_aff_saia_v1.intf.abap +++ b/file-formats/saia/type/zif_aff_saia_v1.intf.abap @@ -1,51 +1,35 @@ INTERFACE zif_aff_saia_v1 PUBLIC. - TYPES: - "!

Resource Type

- "! Resource type - BEGIN OF ty_resource_type, - "!

Category Scheme

- "! Category scheme - category_scheme TYPE string, - "!

Category Term

- "! Category term - category_term TYPE string, - END OF ty_resource_type. - - "!

Transport Object Type

- "! Transport object type - TYPES ty_transport_object_type TYPE c LENGTH 4. - "!

Transport Object Sub-Type

- "! Transport object sub-type - TYPES ty_transport_object_sub_type TYPE c LENGTH 3. + "!

Workbench Object Type

+ "! Workbench object type + TYPES ty_wb_object_type TYPE c LENGTH 4. + "!

Workbench Object Sub-Type

+ "! Workbench object sub-type + TYPES ty_wb_object_sub_type TYPE c LENGTH 3. TYPES: "!

Workbench Object Type

"! Workbench object type BEGIN OF ty_workbench_object_type, - "!

Transport Object Type

- "! Transport object type - transport_object_type TYPE ty_transport_object_type, - "!

Transport Object Sub-Type

- "! Transport object sub-type - transport_object_subtype_wb TYPE ty_transport_object_sub_type, + "!

Workbench Object Type

+ "! Workbench object type + workbench_object_type TYPE ty_wb_object_type, + "!

Workbench Object Sub-Type

+ "! Workbench object sub-type + workbench_object_subtype_wb TYPE ty_wb_object_sub_type, END OF ty_workbench_object_type. - "!

Development Object Types

- "! Development object types - TYPES ty_development_object_types TYPE SORTED TABLE OF ty_workbench_object_type WITH UNIQUE DEFAULT KEY. + "!

Workbench Object Types

+ "! Workbench object types + TYPES ty_workbench_object_types TYPE SORTED TABLE OF ty_workbench_object_type WITH UNIQUE DEFAULT KEY. - "!

Resource Types

- "! Resource types - TYPES ty_resource_types TYPE SORTED TABLE OF ty_resource_type WITH UNIQUE DEFAULT KEY. - - "!

Number of Focused Resources

- "! Number of focused resources + "! $values { @link zif_aff_saia_v1.data:co_number_of_focused_resources } + "! $default { @link zif_aff_saia_v1.data:co_number_of_focused_resources.any } TYPES ty_number_of_focused_resources TYPE string. CONSTANTS: - "!

Number of Focuses Resources

+ "!

Number of Focused Resources

"! Number of focused resources BEGIN OF co_number_of_focused_resources, "!

Any

@@ -71,18 +55,11 @@ INTERFACE zif_aff_saia_v1 "!

Number of Focused Resources

"! Number of focused resources number_of_focused_resources TYPE ty_number_of_focused_resources, - "!

Supported Development Object Types

- "! Supported development object types - supported_dev_object_types TYPE ty_development_object_types, - "!

Supported Resource Types

- "! Supported resource types - supported_resource_types TYPE ty_resource_types, + "!

Supported Workbench Object Types

+ "! Supported workbench object types + supported_dev_object_types TYPE ty_workbench_object_types, END OF ty_filters. - "!

Action ID

- "! Action id - TYPES ty_action_id TYPE c LENGTH 20. - "!

Action Title

"! Action title TYPES ty_action_title TYPE c LENGTH 30. @@ -92,42 +69,21 @@ INTERFACE zif_aff_saia_v1 "! ADT IDE action "! $required BEGIN OF ty_adt_saia_object, - "!

Action ID

- "! Unique action id - it should be human readable and reveal the intention of the action - "! Action id is case insensitive - "! $required - action_id TYPE ty_action_id, - "!

Base URI

- "! Base uri - "! $required - base_uri TYPE string, "!

Title

"! Title "! $required - title TYPE ty_action_title, - "!

Description

+ title TYPE ty_action_title, + "!

Summary

"! What is the action doing and how can it be used "! $required - description TYPE string, - "!

Action Filters

- "! Filters for application of action according to specific object type or object type groups - "! $required - filters TYPE ty_filters, - "!

Implementation Class

- "! Implementation class for handling the action input. Needs to implement interface {@link if_aia_action }. - "! $required - implementation_class TYPE zif_aff_types_v1=>ty_object_name_30, + summary TYPE string, + "!

Implementing Class

+ "! Implementing class for handling the action input. Needs to implement interface {@link if_aia_action }. + implementing_class TYPE zif_aff_types_v1=>ty_object_name_30, "!

Input UI Configuration Class

"! Input UI configuration class for implementing the server-driven UI input configuration. "! Needs to implement interface {@link IF_AIA_SD_ACTION_INPUT }. - "! $required - input_ui_configuration_class TYPE zif_aff_types_v1=>ty_object_name_30, - "!

Don't Show in Run Action Dialog

- "! Flag to indicate that the action shouldn't be shown in the action selection dialog - "! where all available actions are listed. - "! TODO: put in a structure: options -> all options stored in a string in database - "! $required - dont_show_in_run_action_dialog TYPE abap_bool, + input_ui_configuration_class TYPE zif_aff_types_v1=>ty_object_name_30, END OF ty_adt_saia_object. TYPES: @@ -146,6 +102,9 @@ INTERFACE zif_aff_saia_v1 "! General information "! $required general_information TYPE ty_adt_saia_object, + "!

Action Filters

+ "! Filters for application of action according to specific object type or object type groups + filters TYPE ty_filters, END OF ty_main. ENDINTERFACE.