From 294a89e05a3e6fbd348cfc41429d071da4df5bda Mon Sep 17 00:00:00 2001 From: yanapu-jyothi Date: Mon, 18 Aug 2025 10:41:17 +0530 Subject: [PATCH 1/9] Add files for MSAG --- file-formats/msag/README.md | 18 ++++ .../examples/z_aff_example_msag.msag.json | 18 ++++ file-formats/msag/msag-v1.json | 88 +++++++++++++++++++ .../msag/type/zif_aff_msag_v1.intf.abap | 28 ++++++ .../msag/type/zif_aff_msag_v1.intf.json | 7 ++ 5 files changed, 159 insertions(+) create mode 100644 file-formats/msag/README.md create mode 100644 file-formats/msag/examples/z_aff_example_msag.msag.json create mode 100644 file-formats/msag/msag-v1.json create mode 100644 file-formats/msag/type/zif_aff_msag_v1.intf.abap create mode 100644 file-formats/msag/type/zif_aff_msag_v1.intf.json diff --git a/file-formats/msag/README.md b/file-formats/msag/README.md new file mode 100644 index 000000000..4055f826e --- /dev/null +++ b/file-formats/msag/README.md @@ -0,0 +1,18 @@ +# Message Class object type metadata File Format + +## Object Type Information + +Object Type | Description | Group +:--- | :--- | :--- +MSAG | Message Class object type metadata | Texts + +## File Structure + +File | Cardinality | Definition | Schema | Example +:--- | :--- | :--- | :--- | :--- +`.msag.json` | 1 | [`zif_aff_msag_v1.intf.abap`](./type/zif_aff_msag_v1.intf.abap) | [`msag-v1.json`](./msag-v1.json) | [`z_aff_example_msag.msag.json`](./examples/z_aff_example_msag.msag.json) + +--- + +**Note:** +Long text support is not currently included in the ABAP file format. However, support for long text will be added in a future version. \ No newline at end of file diff --git a/file-formats/msag/examples/z_aff_example_msag.msag.json b/file-formats/msag/examples/z_aff_example_msag.msag.json new file mode 100644 index 000000000..9d2824542 --- /dev/null +++ b/file-formats/msag/examples/z_aff_example_msag.msag.json @@ -0,0 +1,18 @@ +{ + "formatVersion": "1", + "header": { + "description": "Z_AFF_EXAMPLE_MSAG", + "originalLanguage": "en", + "abapLanguageVersion": "A" + }, + "messages": [ + { + "number": "000", + "text": "Data saved successfully" + }, + { + "number": "001", + "text": "Invalid input: &1" + } + ] +} diff --git a/file-formats/msag/msag-v1.json b/file-formats/msag/msag-v1.json new file mode 100644 index 000000000..c2b393c14 --- /dev/null +++ b/file-formats/msag/msag-v1.json @@ -0,0 +1,88 @@ +{ + "$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/msag/msag-v1.json", + "title": "Message class Properties", + "description": "Message class properties", + "type": "object", + "properties": { + "formatVersion": { + "title": "ABAP File Format Version", + "description": "The ABAP file 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": 60 + }, + "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" + ] + }, + "messages": { + "title": "Message class Object", + "description": "messages", + "type": "array", + "items": { + "type": "object", + "properties": { + "number": { + "description": "Message number", + "type": "string", + "maxLength": 3 + }, + "text": { + "description": "Message Text", + "type": "string", + "maxLength": 73 + } + }, + "additionalProperties": false + } + } + }, + "additionalProperties": false, + "required": [ + "formatVersion", + "header", + "messages" + ] +} diff --git a/file-formats/msag/type/zif_aff_msag_v1.intf.abap b/file-formats/msag/type/zif_aff_msag_v1.intf.abap new file mode 100644 index 000000000..769196fe6 --- /dev/null +++ b/file-formats/msag/type/zif_aff_msag_v1.intf.abap @@ -0,0 +1,28 @@ +INTERFACE zif_aff_msag_v1 + PUBLIC. + + TYPES: + BEGIN OF ty_message, + number TYPE msgnr, + text TYPE natxt, + END OF ty_message. + + TYPES tt_messages TYPE STANDARD TABLE OF ty_message WITH DEFAULT KEY. + + TYPES: + "!

Message class Properties

+ "! Message class properties + BEGIN OF ty_main, + "! $required + format_version TYPE if_aff_types_v1=>ty_format_version, + "!

Header

+ "! Header + "! $required + header TYPE if_aff_types_v1=>ty_header_60, + "!

Message class Object

+ "! messages + "! $required + messages TYPE tt_messages, + END OF ty_main. + +endinterface. \ No newline at end of file diff --git a/file-formats/msag/type/zif_aff_msag_v1.intf.json b/file-formats/msag/type/zif_aff_msag_v1.intf.json new file mode 100644 index 000000000..ca0ed6969 --- /dev/null +++ b/file-formats/msag/type/zif_aff_msag_v1.intf.json @@ -0,0 +1,7 @@ +{ + "formatVersion": "1", + "header": { + "description": "Interface for Message Class ABAP File Format", + "originalLanguage": "en" + } +} From b285d8a60e29033533a96ede391e243844ad3831 Mon Sep 17 00:00:00 2001 From: yanapu-jyothi Date: Thu, 25 Sep 2025 14:45:57 +0530 Subject: [PATCH 2/9] Modified files for MSAG --- file-formats/msag/README.md | 4 ++-- .../examples/z_aff_example_msag.msag.json | 5 ++-- file-formats/msag/msag-v1.json | 12 ++++++---- .../msag/type/zif_aff_msag_v1.intf.abap | 24 ++++++++++++------- .../msag/type/zif_aff_msag_v1.intf.json | 2 +- 5 files changed, 29 insertions(+), 18 deletions(-) diff --git a/file-formats/msag/README.md b/file-formats/msag/README.md index 4055f826e..84b71e544 100644 --- a/file-formats/msag/README.md +++ b/file-formats/msag/README.md @@ -1,10 +1,10 @@ -# Message Class object type metadata File Format +# Message Class File Format ## Object Type Information Object Type | Description | Group :--- | :--- | :--- -MSAG | Message Class object type metadata | Texts +MSAG | Message Class | Texts ## File Structure diff --git a/file-formats/msag/examples/z_aff_example_msag.msag.json b/file-formats/msag/examples/z_aff_example_msag.msag.json index 9d2824542..ae7e7624f 100644 --- a/file-formats/msag/examples/z_aff_example_msag.msag.json +++ b/file-formats/msag/examples/z_aff_example_msag.msag.json @@ -1,9 +1,8 @@ { "formatVersion": "1", "header": { - "description": "Z_AFF_EXAMPLE_MSAG", - "originalLanguage": "en", - "abapLanguageVersion": "A" + "description": "Example message class object for ABAP File Formats", + "originalLanguage": "en" }, "messages": [ { diff --git a/file-formats/msag/msag-v1.json b/file-formats/msag/msag-v1.json index c2b393c14..63f66819b 100644 --- a/file-formats/msag/msag-v1.json +++ b/file-formats/msag/msag-v1.json @@ -2,7 +2,7 @@ "$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/msag/msag-v1.json", - "title": "Message class Properties", + "title": "Message Class Properties", "description": "Message class properties", "type": "object", "properties": { @@ -58,19 +58,23 @@ ] }, "messages": { - "title": "Message class Object", - "description": "messages", + "title": "Messages", + "description": "Messages", "type": "array", "items": { + "title": "Message Properties", + "description": "Message properties", "type": "object", "properties": { "number": { + "title": "Message Number", "description": "Message number", "type": "string", "maxLength": 3 }, "text": { - "description": "Message Text", + "title": "Short Text", + "description": "Short text", "type": "string", "maxLength": 73 } diff --git a/file-formats/msag/type/zif_aff_msag_v1.intf.abap b/file-formats/msag/type/zif_aff_msag_v1.intf.abap index 769196fe6..af906e537 100644 --- a/file-formats/msag/type/zif_aff_msag_v1.intf.abap +++ b/file-formats/msag/type/zif_aff_msag_v1.intf.abap @@ -2,27 +2,35 @@ INTERFACE zif_aff_msag_v1 PUBLIC. TYPES: + "!

Message Properties

+ "! Message properties BEGIN OF ty_message, - number TYPE msgnr, - text TYPE natxt, + "!

Message Number

+ "! Message number + number TYPE c LENGTH 3, + "!

Short Text

+ "! Short text + text TYPE c LENGTH 73, END OF ty_message. + "!

Internal table to store messages

+ "! Internal table to store messages TYPES tt_messages TYPE STANDARD TABLE OF ty_message WITH DEFAULT KEY. TYPES: - "!

Message class Properties

+ "!

Message Class Properties

"! Message class properties BEGIN OF ty_main, "! $required - format_version TYPE if_aff_types_v1=>ty_format_version, + format_version TYPE zif_aff_types_v1=>ty_format_version, "!

Header

"! Header "! $required - header TYPE if_aff_types_v1=>ty_header_60, - "!

Message class Object

- "! messages + header TYPE zif_aff_types_v1=>ty_header_60, + "!

Messages

+ "! Messages "! $required messages TYPE tt_messages, END OF ty_main. -endinterface. \ No newline at end of file +ENDINTERFACE. diff --git a/file-formats/msag/type/zif_aff_msag_v1.intf.json b/file-formats/msag/type/zif_aff_msag_v1.intf.json index ca0ed6969..564f2bfe1 100644 --- a/file-formats/msag/type/zif_aff_msag_v1.intf.json +++ b/file-formats/msag/type/zif_aff_msag_v1.intf.json @@ -1,7 +1,7 @@ { "formatVersion": "1", "header": { - "description": "Interface for Message Class ABAP File Format", + "description": "AFF type for Message Class Object", "originalLanguage": "en" } } From 4d1d24998e0263cbdb612cde23e0188624ac5f1a Mon Sep 17 00:00:00 2001 From: yanapu-jyothi Date: Tue, 30 Sep 2025 13:25:50 +0530 Subject: [PATCH 3/9] Update file-formats/msag/type/zif_aff_msag_v1.intf.abap Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com> --- file-formats/msag/type/zif_aff_msag_v1.intf.abap | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/file-formats/msag/type/zif_aff_msag_v1.intf.abap b/file-formats/msag/type/zif_aff_msag_v1.intf.abap index af906e537..227883191 100644 --- a/file-formats/msag/type/zif_aff_msag_v1.intf.abap +++ b/file-formats/msag/type/zif_aff_msag_v1.intf.abap @@ -1,5 +1,5 @@ INTERFACE zif_aff_msag_v1 - PUBLIC. + PUBLIC. TYPES: "!

Message Properties

From 92154a6f38b02c4ee23906d134035d733616dfe1 Mon Sep 17 00:00:00 2001 From: yanapu-jyothi Date: Tue, 30 Sep 2025 13:40:03 +0530 Subject: [PATCH 4/9] React to abaplint --- file-formats/msag/type/zif_aff_msag_v1.intf.abap | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/file-formats/msag/type/zif_aff_msag_v1.intf.abap b/file-formats/msag/type/zif_aff_msag_v1.intf.abap index 227883191..6e91d3d35 100644 --- a/file-formats/msag/type/zif_aff_msag_v1.intf.abap +++ b/file-formats/msag/type/zif_aff_msag_v1.intf.abap @@ -15,7 +15,7 @@ INTERFACE zif_aff_msag_v1 "!

Internal table to store messages

"! Internal table to store messages - TYPES tt_messages TYPE STANDARD TABLE OF ty_message WITH DEFAULT KEY. + TYPES ty_messages TYPE STANDARD TABLE OF ty_message WITH DEFAULT KEY. TYPES: "!

Message Class Properties

@@ -30,7 +30,7 @@ INTERFACE zif_aff_msag_v1 "!

Messages

"! Messages "! $required - messages TYPE tt_messages, + messages TYPE ty_messages, END OF ty_main. ENDINTERFACE. From 943988dd5ffff81fa209a74ed38de54f8ed6ada5 Mon Sep 17 00:00:00 2001 From: yanapu-jyothi Date: Tue, 30 Sep 2025 13:57:45 +0530 Subject: [PATCH 5/9] Update README.md --- file-formats/msag/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/file-formats/msag/README.md b/file-formats/msag/README.md index 84b71e544..500665c75 100644 --- a/file-formats/msag/README.md +++ b/file-formats/msag/README.md @@ -14,5 +14,5 @@ File | Cardinality | Definition | Schema | Example --- -**Note:** -Long text support is not currently included in the ABAP file format. However, support for long text will be added in a future version. \ No newline at end of file +**Note:** +Long text support is not currently included in the ABAP file format. However, support for long text will be added in a future version. From 19bc998786bceea30a6a5250e9280375f415d033 Mon Sep 17 00:00:00 2001 From: yanapu-jyothi Date: Tue, 14 Oct 2025 14:30:25 +0530 Subject: [PATCH 6/9] Incorporating review comments --- file-formats/msag/type/zif_aff_msag_v1.intf.abap | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/file-formats/msag/type/zif_aff_msag_v1.intf.abap b/file-formats/msag/type/zif_aff_msag_v1.intf.abap index 6e91d3d35..545495fa3 100644 --- a/file-formats/msag/type/zif_aff_msag_v1.intf.abap +++ b/file-formats/msag/type/zif_aff_msag_v1.intf.abap @@ -15,7 +15,7 @@ INTERFACE zif_aff_msag_v1 "!

Internal table to store messages

"! Internal table to store messages - TYPES ty_messages TYPE STANDARD TABLE OF ty_message WITH DEFAULT KEY. + TYPES ty_messages TYPE SORTED TABLE OF ty_message WITH UNIQUE KEY number. TYPES: "!

Message Class Properties

From 9efccc140868b7b35ff611b4f9f97a6693587a87 Mon Sep 17 00:00:00 2001 From: yanapu-jyothi Date: Tue, 14 Oct 2025 14:32:59 +0530 Subject: [PATCH 7/9] Incorporating review comment --- file-formats/msag/msag-v1.json | 1 + 1 file changed, 1 insertion(+) diff --git a/file-formats/msag/msag-v1.json b/file-formats/msag/msag-v1.json index 63f66819b..453a57b7e 100644 --- a/file-formats/msag/msag-v1.json +++ b/file-formats/msag/msag-v1.json @@ -61,6 +61,7 @@ "title": "Messages", "description": "Messages", "type": "array", + "uniqueItems": true, "items": { "title": "Message Properties", "description": "Message properties", From 3dc04fd80b6e8c631d5274ae1aa387db1081aed5 Mon Sep 17 00:00:00 2001 From: yanapu-jyothi Date: Tue, 28 Oct 2025 13:03:40 +0530 Subject: [PATCH 8/9] Modifying the header type without lang version --- file-formats/msag/msag-v1.json | 21 ------------------- .../msag/type/zif_aff_msag_v1.intf.abap | 4 ++-- 2 files changed, 2 insertions(+), 23 deletions(-) diff --git a/file-formats/msag/msag-v1.json b/file-formats/msag/msag-v1.json index 453a57b7e..f5cee1639 100644 --- a/file-formats/msag/msag-v1.json +++ b/file-formats/msag/msag-v1.json @@ -28,27 +28,6 @@ "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, diff --git a/file-formats/msag/type/zif_aff_msag_v1.intf.abap b/file-formats/msag/type/zif_aff_msag_v1.intf.abap index 545495fa3..810656003 100644 --- a/file-formats/msag/type/zif_aff_msag_v1.intf.abap +++ b/file-formats/msag/type/zif_aff_msag_v1.intf.abap @@ -1,5 +1,5 @@ INTERFACE zif_aff_msag_v1 - PUBLIC. + PUBLIC. TYPES: "!

Message Properties

@@ -26,7 +26,7 @@ INTERFACE zif_aff_msag_v1 "!

Header

"! Header "! $required - header TYPE zif_aff_types_v1=>ty_header_60, + header TYPE zif_aff_types_v1=>ty_header_60_no_abap_lv, "!

Messages

"! Messages "! $required From c4f9fd5eea41536098c34b80aaea67ee40f61c2b Mon Sep 17 00:00:00 2001 From: yanapu-jyothi Date: Tue, 28 Oct 2025 13:04:45 +0530 Subject: [PATCH 9/9] Update file-formats/msag/type/zif_aff_msag_v1.intf.abap Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com> --- file-formats/msag/type/zif_aff_msag_v1.intf.abap | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/file-formats/msag/type/zif_aff_msag_v1.intf.abap b/file-formats/msag/type/zif_aff_msag_v1.intf.abap index 810656003..27c2a9c61 100644 --- a/file-formats/msag/type/zif_aff_msag_v1.intf.abap +++ b/file-formats/msag/type/zif_aff_msag_v1.intf.abap @@ -1,5 +1,5 @@ INTERFACE zif_aff_msag_v1 - PUBLIC. + PUBLIC. TYPES: "!

Message Properties