From 13d0b75f8070cce8c14698dbd9e5d61ed6f1ce08 Mon Sep 17 00:00:00 2001 From: Smartynkov <98896769+Smartynkov@users.noreply.github.com> Date: Tue, 15 Apr 2025 15:26:28 +0300 Subject: [PATCH 01/21] Add file format for AIFA --- file-formats/aifa/README.md | 5 + file-formats/aifa/aifa-v1.json | 186 ++++++++++++++++++ .../aifa/type/zif_aff_aifa_v1.intf.abap | 102 ++++++++++ .../aifa/type/zif_aff_aifa_v1.intf.json | 7 + 4 files changed, 300 insertions(+) create mode 100644 file-formats/aifa/README.md create mode 100644 file-formats/aifa/aifa-v1.json create mode 100644 file-formats/aifa/type/zif_aff_aifa_v1.intf.abap create mode 100644 file-formats/aifa/type/zif_aff_aifa_v1.intf.json diff --git a/file-formats/aifa/README.md b/file-formats/aifa/README.md new file mode 100644 index 000000000..20df7edcf --- /dev/null +++ b/file-formats/aifa/README.md @@ -0,0 +1,5 @@ +# AIFA File Format + +File | Cardinality | Definition | Schema | Example +:--- | :--- | :--- | :--- | :--- +`.aifa.json` | 1 | [`zif_aff_aifa_v1.intf.abap`](./type/zif_aff_aifa_v1.intf.abap) | [`aifa-v1.json`](./aifa-v1.json) diff --git a/file-formats/aifa/aifa-v1.json b/file-formats/aifa/aifa-v1.json new file mode 100644 index 000000000..309518e5d --- /dev/null +++ b/file-formats/aifa/aifa-v1.json @@ -0,0 +1,186 @@ +{ + "$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/aifa/aifa-v1.json", + "title": "Action", + "description": "Action", + "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", + "cloudDevelopment" + ], + "enumTitles": [ + "Standard", + "ABAP Cloud Development" + ], + "enumDescriptions": [ + "Standard", + "ABAP cloud development" + ], + "default": "standard" + } + }, + "additionalProperties": false, + "required": [ + "description", + "originalLanguage" + ] + }, + "generalInformation": { + "title": "General Information", + "description": "General information", + "type": "object", + "properties": { + "namespace": { + "title": "Namespace", + "description": "Namespace", + "type": "string", + "maxLength": 15 + }, + "aifAction": { + "title": "AIF Action", + "description": "AIF action", + "type": "string", + "maxLength": 20 + }, + "mainCompType": { + "title": "Main Component Type", + "description": "Main component type", + "type": "string", + "maxLength": 30 + }, + "class": { + "title": "Class", + "description": "Class", + "type": "string", + "maxLength": 30 + } + }, + "additionalProperties": false, + "required": [ + "namespace", + "aifAction" + ] + }, + "fieldRestore": { + "title": "Fields To Restore Assignment", + "description": "Fields to restore assignment", + "type": "array", + "items": { + "title": "Field To Restore", + "description": "Field to restore", + "type": "object", + "properties": { + "fieldName": { + "title": "Field Name", + "description": "Field name", + "type": "string", + "maxLength": 255 + } + }, + "additionalProperties": false + } + }, + "checkData": { + "title": "Checks Assignment", + "description": "Checks assignment", + "type": "array", + "items": { + "title": "Check Data", + "description": "Check data", + "type": "object", + "properties": { + "number": { + "title": "Number", + "description": "Number", + "type": "string", + "maxLength": 3, + "pattern": "^[0-9]+$" + }, + "checkObjName": { + "title": "Check", + "description": "(type /AIF/CHECK_OBJ_NAME ) Check", + "type": "string", + "maxLength": 30 + }, + "checkIgnore": { + "title": "Check Behavior", + "description": "Check behavior", + "type": "string", + "enum": [ + "triggerError", + "ignoreData" + ], + "enumTitles": [ + "Treat As An Error", + "Ignore Data" + ], + "enumDescriptions": [ + "Treat as error if check in not successful", + "Ignore data if check is not successful" + ], + "default": "ignoreData" + }, + "fieldName": { + "title": "Field Name", + "description": "Field name", + "type": "array", + "items": { + "title": "Field To Check", + "description": "Field to check", + "type": "object", + "properties": { + "fieldName": { + "title": "Field Name", + "description": "Field name", + "type": "string", + "maxLength": 255 + } + }, + "additionalProperties": false + } + } + }, + "additionalProperties": false, + "required": [ + "number", + "checkObjName" + ] + } + } + }, + "additionalProperties": false, + "required": [ + "formatVersion", + "header", + "generalInformation" + ] +} diff --git a/file-formats/aifa/type/zif_aff_aifa_v1.intf.abap b/file-formats/aifa/type/zif_aff_aifa_v1.intf.abap new file mode 100644 index 000000000..de3281678 --- /dev/null +++ b/file-formats/aifa/type/zif_aff_aifa_v1.intf.abap @@ -0,0 +1,102 @@ +INTERFACE zif_aff_aifa_v1 + PUBLIC. + + CONSTANTS: + BEGIN OF co_error_handling, + "!

Treat As An Error

+ "! Treat as error if check in not successful + trigger_error TYPE c LENGTH 1 VALUE '', + "!

Ignore Data

+ "! Ignore data if check is not successful + ignore_data TYPE c LENGTH 1 VALUE 'I', + END OF co_error_handling. + + TYPES: + "! $values { @link zif_aff_aifa_v1.data:co_error_handling } + "! $default { @link zif_aff_aifa_v1.data:co_error_handling.ignore_data } + error_handling_type TYPE c LENGTH 1, + + "!

Field To Check

+ "! Field to check + BEGIN OF ty_fields_check, + "!

Field Name

+ "! Field name + field_name TYPE c LENGTH 255, + END OF ty_fields_check, + "!

Fields To Restore

+ "! Fields to restore + tty_fields_check TYPE STANDARD TABLE OF ty_fields_check WITH DEFAULT KEY. + + TYPES: + "!

General Information

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

Namespace

+ "! Namespace + "! $required + namespace TYPE c LENGTH 15, + "!

AIF Action

+ "! AIF action + "! $required + aif_action TYPE c LENGTH 20, + "!

Main Component Type

+ "! Main component type + main_comp_type TYPE zif_aff_types_v1=>ty_object_name_30, + "!

Class

+ "! Class + class TYPE zif_aff_types_v1=>ty_object_name_30, + END OF ty_general_information, + + "!

Check Data

+ "! Check data + BEGIN OF ty_check_data, + "!

Number

+ "! Number + "! $required + number TYPE n LENGTH 3, + "!

Check

+ "! (type /AIF/CHECK_OBJ_NAME ) + "! Check + "! $required + check_obj_name TYPE zif_aff_types_v1=>ty_object_name_30, + "!

Check Behavior

+ "! Check behavior + check_ignore TYPE error_handling_type, + "!

Field Name

+ "! Field name + field_name TYPE tty_fields_check, + END OF ty_check_data, + tty_check_data TYPE STANDARD TABLE OF ty_check_data WITH DEFAULT KEY, + + "!

Field To Restore

+ "! Field to restore + BEGIN OF ty_fields_restore, + "!

Field Name

+ "! Field name + field_name TYPE c LENGTH 255, + END OF ty_fields_restore, + "!

Fields To Restore

+ "! Fields to restore + tty_fields_restore TYPE STANDARD TABLE OF ty_fields_restore WITH DEFAULT KEY, + + "!

Action

+ "! Action + BEGIN OF ty_main, + "! $required + format_version TYPE zif_aff_types_v1=>ty_format_version, + "!

Header

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

General Information

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

Fields To Restore Assignment

+ "! Fields to restore assignment + field_restore TYPE tty_fields_restore, + "!

Checks Assignment

+ "! Checks assignment + check_data TYPE tty_check_data, + END OF ty_main. +ENDINTERFACE. diff --git a/file-formats/aifa/type/zif_aff_aifa_v1.intf.json b/file-formats/aifa/type/zif_aff_aifa_v1.intf.json new file mode 100644 index 000000000..5e857eabb --- /dev/null +++ b/file-formats/aifa/type/zif_aff_aifa_v1.intf.json @@ -0,0 +1,7 @@ +{ + "formatVersion": "1", + "header": { + "description": "AFF Type for AIFA (Action)", + "originalLanguage": "en" + } +} From 32e61666830b5e335e9f4274d01bf7dc6f632075 Mon Sep 17 00:00:00 2001 From: Smartynkov <98896769+Smartynkov@users.noreply.github.com> Date: Tue, 15 Apr 2025 16:13:55 +0300 Subject: [PATCH 02/21] aifa types naming fix --- file-formats/aifa/aifa-v1.json | 8 ++-- .../aifa/type/zif_aff_aifa_v1.intf.abap | 37 ++++++++++--------- 2 files changed, 23 insertions(+), 22 deletions(-) diff --git a/file-formats/aifa/aifa-v1.json b/file-formats/aifa/aifa-v1.json index 309518e5d..2243b274b 100644 --- a/file-formats/aifa/aifa-v1.json +++ b/file-formats/aifa/aifa-v1.json @@ -114,8 +114,8 @@ "description": "Checks assignment", "type": "array", "items": { - "title": "Check Data", - "description": "Check data", + "title": "Check Details", + "description": "Check details", "type": "object", "properties": { "number": { @@ -127,11 +127,11 @@ }, "checkObjName": { "title": "Check", - "description": "(type /AIF/CHECK_OBJ_NAME ) Check", + "description": "Check", "type": "string", "maxLength": 30 }, - "checkIgnore": { + "checkBehaviour": { "title": "Check Behavior", "description": "Check behavior", "type": "string", diff --git a/file-formats/aifa/type/zif_aff_aifa_v1.intf.abap b/file-formats/aifa/type/zif_aff_aifa_v1.intf.abap index de3281678..c55d20e28 100644 --- a/file-formats/aifa/type/zif_aff_aifa_v1.intf.abap +++ b/file-formats/aifa/type/zif_aff_aifa_v1.intf.abap @@ -23,9 +23,9 @@ INTERFACE zif_aff_aifa_v1 "! Field name field_name TYPE c LENGTH 255, END OF ty_fields_check, - "!

Fields To Restore

- "! Fields to restore - tty_fields_check TYPE STANDARD TABLE OF ty_fields_check WITH DEFAULT KEY. + "!

Fields To Check

+ "! Fields to check + ty_fields_checks TYPE STANDARD TABLE OF ty_fields_check WITH DEFAULT KEY. TYPES: "!

General Information

@@ -47,37 +47,38 @@ INTERFACE zif_aff_aifa_v1 class TYPE zif_aff_types_v1=>ty_object_name_30, END OF ty_general_information, - "!

Check Data

- "! Check data - BEGIN OF ty_check_data, + "!

Check Details

+ "! Check details + BEGIN OF ty_check_details, "!

Number

"! Number "! $required - number TYPE n LENGTH 3, + number TYPE n LENGTH 3, "!

Check

- "! (type /AIF/CHECK_OBJ_NAME ) "! Check "! $required - check_obj_name TYPE zif_aff_types_v1=>ty_object_name_30, + check_obj_name TYPE zif_aff_types_v1=>ty_object_name_30, "!

Check Behavior

"! Check behavior - check_ignore TYPE error_handling_type, + check_behaviour TYPE error_handling_type, "!

Field Name

"! Field name - field_name TYPE tty_fields_check, - END OF ty_check_data, - tty_check_data TYPE STANDARD TABLE OF ty_check_data WITH DEFAULT KEY, + field_name TYPE ty_fields_checks, + END OF ty_check_details, + "!

Check Data

+ "! Check data + ty_check_data TYPE STANDARD TABLE OF ty_check_details WITH DEFAULT KEY, "!

Field To Restore

"! Field to restore - BEGIN OF ty_fields_restore, + BEGIN OF ty_field_restore, "!

Field Name

"! Field name field_name TYPE c LENGTH 255, - END OF ty_fields_restore, + END OF ty_field_restore, "!

Fields To Restore

"! Fields to restore - tty_fields_restore TYPE STANDARD TABLE OF ty_fields_restore WITH DEFAULT KEY, + ty_fields_restore TYPE STANDARD TABLE OF ty_field_restore WITH DEFAULT KEY, "!

Action

"! Action @@ -94,9 +95,9 @@ INTERFACE zif_aff_aifa_v1 general_information TYPE ty_general_information, "!

Fields To Restore Assignment

"! Fields to restore assignment - field_restore TYPE tty_fields_restore, + field_restore TYPE ty_fields_restore, "!

Checks Assignment

"! Checks assignment - check_data TYPE tty_check_data, + check_data TYPE ty_check_data, END OF ty_main. ENDINTERFACE. From 911d4ecbd3737222557e55224985dbd841e98532 Mon Sep 17 00:00:00 2001 From: Smartynkov <98896769+Smartynkov@users.noreply.github.com> Date: Tue, 15 Apr 2025 16:28:22 +0300 Subject: [PATCH 03/21] error handling fix --- file-formats/aifa/type/zif_aff_aifa_v1.intf.abap | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/file-formats/aifa/type/zif_aff_aifa_v1.intf.abap b/file-formats/aifa/type/zif_aff_aifa_v1.intf.abap index c55d20e28..01de36277 100644 --- a/file-formats/aifa/type/zif_aff_aifa_v1.intf.abap +++ b/file-formats/aifa/type/zif_aff_aifa_v1.intf.abap @@ -1,6 +1,9 @@ INTERFACE zif_aff_aifa_v1 PUBLIC. + "! $values { @link zif_aff_aifa_v1.data:co_error_handling } + "! $default { @link zif_aff_aifa_v1.data:co_error_handling.ignore_data } + TYPES error_handling_type TYPE c LENGTH 1. CONSTANTS: BEGIN OF co_error_handling, "!

Treat As An Error

@@ -12,10 +15,6 @@ INTERFACE zif_aff_aifa_v1 END OF co_error_handling. TYPES: - "! $values { @link zif_aff_aifa_v1.data:co_error_handling } - "! $default { @link zif_aff_aifa_v1.data:co_error_handling.ignore_data } - error_handling_type TYPE c LENGTH 1, - "!

Field To Check

"! Field to check BEGIN OF ty_fields_check, @@ -100,4 +99,5 @@ INTERFACE zif_aff_aifa_v1 "! Checks assignment check_data TYPE ty_check_data, END OF ty_main. + ENDINTERFACE. From ef11b50e17c1321a04af4f24bf0ba0b09bc9e9ec Mon Sep 17 00:00:00 2001 From: Smartynkov <98896769+Smartynkov@users.noreply.github.com> Date: Tue, 15 Apr 2025 16:36:13 +0300 Subject: [PATCH 04/21] lint fix --- file-formats/aifa/type/zif_aff_aifa_v1.intf.abap | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/file-formats/aifa/type/zif_aff_aifa_v1.intf.abap b/file-formats/aifa/type/zif_aff_aifa_v1.intf.abap index 01de36277..73b1845e2 100644 --- a/file-formats/aifa/type/zif_aff_aifa_v1.intf.abap +++ b/file-formats/aifa/type/zif_aff_aifa_v1.intf.abap @@ -3,7 +3,7 @@ INTERFACE zif_aff_aifa_v1 "! $values { @link zif_aff_aifa_v1.data:co_error_handling } "! $default { @link zif_aff_aifa_v1.data:co_error_handling.ignore_data } - TYPES error_handling_type TYPE c LENGTH 1. + TYPES ty_error_handling_type TYPE c LENGTH 1. CONSTANTS: BEGIN OF co_error_handling, "!

Treat As An Error

@@ -59,7 +59,7 @@ INTERFACE zif_aff_aifa_v1 check_obj_name TYPE zif_aff_types_v1=>ty_object_name_30, "!

Check Behavior

"! Check behavior - check_behaviour TYPE error_handling_type, + check_behaviour TYPE ty_error_handling_type, "!

Field Name

"! Field name field_name TYPE ty_fields_checks, From f8e0ef12bc6eccfd24eb6bb8f22123347b2d6d35 Mon Sep 17 00:00:00 2001 From: Smartynkov <98896769+Smartynkov@users.noreply.github.com> Date: Wed, 16 Apr 2025 17:39:35 +0300 Subject: [PATCH 05/21] small adjustments --- file-formats/aifa/aifa-v1.json | 28 ++++++------- .../aifa/type/zif_aff_aifa_v1.intf.abap | 42 +++++++++---------- 2 files changed, 34 insertions(+), 36 deletions(-) diff --git a/file-formats/aifa/aifa-v1.json b/file-formats/aifa/aifa-v1.json index 2243b274b..7e3abb4d1 100644 --- a/file-formats/aifa/aifa-v1.json +++ b/file-formats/aifa/aifa-v1.json @@ -71,7 +71,7 @@ "type": "string", "maxLength": 20 }, - "mainCompType": { + "mainComponentType": { "title": "Main Component Type", "description": "Main component type", "type": "string", @@ -91,27 +91,26 @@ ] }, "fieldRestore": { - "title": "Fields To Restore Assignment", - "description": "Fields to restore assignment", + "title": "Fields To Restore", + "description": "Fields to restore", "type": "array", "items": { "title": "Field To Restore", "description": "Field to restore", "type": "object", "properties": { - "fieldName": { - "title": "Field Name", - "description": "Field name", - "type": "string", - "maxLength": 255 + "name": { + "title": "Name", + "description": "Name", + "type": "string" } }, "additionalProperties": false } }, "checkData": { - "title": "Checks Assignment", - "description": "Checks assignment", + "title": "Checks", + "description": "Checks", "type": "array", "items": { "title": "Check Details", @@ -140,11 +139,11 @@ "ignoreData" ], "enumTitles": [ - "Treat As An Error", + "Treat As Error", "Ignore Data" ], "enumDescriptions": [ - "Treat as error if check in not successful", + "Treat as error if check is not successful", "Ignore data if check is not successful" ], "default": "ignoreData" @@ -158,11 +157,10 @@ "description": "Field to check", "type": "object", "properties": { - "fieldName": { + "name": { "title": "Field Name", "description": "Field name", - "type": "string", - "maxLength": 255 + "type": "string" } }, "additionalProperties": false diff --git a/file-formats/aifa/type/zif_aff_aifa_v1.intf.abap b/file-formats/aifa/type/zif_aff_aifa_v1.intf.abap index 73b1845e2..357442a0a 100644 --- a/file-formats/aifa/type/zif_aff_aifa_v1.intf.abap +++ b/file-formats/aifa/type/zif_aff_aifa_v1.intf.abap @@ -6,8 +6,8 @@ INTERFACE zif_aff_aifa_v1 TYPES ty_error_handling_type TYPE c LENGTH 1. CONSTANTS: BEGIN OF co_error_handling, - "!

Treat As An Error

- "! Treat as error if check in not successful + "!

Treat As Error

+ "! Treat as error if check is not successful trigger_error TYPE c LENGTH 1 VALUE '', "!

Ignore Data

"! Ignore data if check is not successful @@ -17,14 +17,14 @@ INTERFACE zif_aff_aifa_v1 TYPES: "!

Field To Check

"! Field to check - BEGIN OF ty_fields_check, + BEGIN OF ty_field_to_check, "!

Field Name

"! Field name - field_name TYPE c LENGTH 255, - END OF ty_fields_check, + name TYPE string, + END OF ty_field_to_check, "!

Fields To Check

"! Fields to check - ty_fields_checks TYPE STANDARD TABLE OF ty_fields_check WITH DEFAULT KEY. + ty_fields_to_check TYPE STANDARD TABLE OF ty_field_to_check WITH DEFAULT KEY. TYPES: "!

General Information

@@ -40,7 +40,7 @@ INTERFACE zif_aff_aifa_v1 aif_action TYPE c LENGTH 20, "!

Main Component Type

"! Main component type - main_comp_type TYPE zif_aff_types_v1=>ty_object_name_30, + main_component_type TYPE zif_aff_types_v1=>ty_object_name_30, "!

Class

"! Class class TYPE zif_aff_types_v1=>ty_object_name_30, @@ -62,22 +62,22 @@ INTERFACE zif_aff_aifa_v1 check_behaviour TYPE ty_error_handling_type, "!

Field Name

"! Field name - field_name TYPE ty_fields_checks, + field_name TYPE ty_fields_to_check, END OF ty_check_details, "!

Check Data

"! Check data - ty_check_data TYPE STANDARD TABLE OF ty_check_details WITH DEFAULT KEY, + ty_checks TYPE STANDARD TABLE OF ty_check_details WITH DEFAULT KEY, "!

Field To Restore

"! Field to restore - BEGIN OF ty_field_restore, - "!

Field Name

- "! Field name - field_name TYPE c LENGTH 255, - END OF ty_field_restore, + BEGIN OF ty_field_to_restore, + "!

Name

+ "! Name + name TYPE string, + END OF ty_field_to_restore, "!

Fields To Restore

"! Fields to restore - ty_fields_restore TYPE STANDARD TABLE OF ty_field_restore WITH DEFAULT KEY, + ty_fields_to_restore TYPE STANDARD TABLE OF ty_field_to_restore WITH DEFAULT KEY, "!

Action

"! Action @@ -92,12 +92,12 @@ INTERFACE zif_aff_aifa_v1 "! General information "! $required general_information TYPE ty_general_information, - "!

Fields To Restore Assignment

- "! Fields to restore assignment - field_restore TYPE ty_fields_restore, - "!

Checks Assignment

- "! Checks assignment - check_data TYPE ty_check_data, + "!

Fields To Restore

+ "! Fields to restore + field_restore TYPE ty_fields_to_restore, + "!

Checks

+ "! Checks + check_data TYPE ty_checks, END OF ty_main. ENDINTERFACE. From 54705fe8d0e22d6cf09d56cc92db989be06adb47 Mon Sep 17 00:00:00 2001 From: Smartynkov <98896769+Smartynkov@users.noreply.github.com> Date: Wed, 16 Apr 2025 17:52:06 +0300 Subject: [PATCH 06/21] lint fix --- file-formats/aifa/type/zif_aff_aifa_v1.intf.abap | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/file-formats/aifa/type/zif_aff_aifa_v1.intf.abap b/file-formats/aifa/type/zif_aff_aifa_v1.intf.abap index 357442a0a..c6c813174 100644 --- a/file-formats/aifa/type/zif_aff_aifa_v1.intf.abap +++ b/file-formats/aifa/type/zif_aff_aifa_v1.intf.abap @@ -33,17 +33,17 @@ INTERFACE zif_aff_aifa_v1 "!

Namespace

"! Namespace "! $required - namespace TYPE c LENGTH 15, + namespace TYPE c LENGTH 15, "!

AIF Action

"! AIF action "! $required - aif_action TYPE c LENGTH 20, + aif_action TYPE c LENGTH 20, "!

Main Component Type

"! Main component type main_component_type TYPE zif_aff_types_v1=>ty_object_name_30, "!

Class

"! Class - class TYPE zif_aff_types_v1=>ty_object_name_30, + class TYPE zif_aff_types_v1=>ty_object_name_30, END OF ty_general_information, "!

Check Details

From 855885c5444efd5da12e1f7a0f25d742e36441a8 Mon Sep 17 00:00:00 2001 From: Smartynkov <98896769+Smartynkov@users.noreply.github.com> Date: Mon, 28 Apr 2025 13:21:50 +0300 Subject: [PATCH 07/21] Number (Numeric_id) adjustments --- file-formats/aifa/aifa-v1.json | 18 +++++++++--------- .../aifa/type/zif_aff_aifa_v1.intf.abap | 8 ++++---- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/file-formats/aifa/aifa-v1.json b/file-formats/aifa/aifa-v1.json index 7e3abb4d1..7ac2f3114 100644 --- a/file-formats/aifa/aifa-v1.json +++ b/file-formats/aifa/aifa-v1.json @@ -117,19 +117,19 @@ "description": "Check details", "type": "object", "properties": { - "number": { - "title": "Number", - "description": "Number", - "type": "string", - "maxLength": 3, - "pattern": "^[0-9]+$" - }, "checkObjName": { "title": "Check", "description": "Check", "type": "string", "maxLength": 30 }, + "numericId": { + "title": "Numeric ID", + "description": "Numeric id", + "type": "string", + "maxLength": 3, + "pattern": "^[0-9]+$" + }, "checkBehaviour": { "title": "Check Behavior", "description": "Check behavior", @@ -169,8 +169,8 @@ }, "additionalProperties": false, "required": [ - "number", - "checkObjName" + "checkObjName", + "numericId" ] } } diff --git a/file-formats/aifa/type/zif_aff_aifa_v1.intf.abap b/file-formats/aifa/type/zif_aff_aifa_v1.intf.abap index c6c813174..f772fad8f 100644 --- a/file-formats/aifa/type/zif_aff_aifa_v1.intf.abap +++ b/file-formats/aifa/type/zif_aff_aifa_v1.intf.abap @@ -49,14 +49,14 @@ INTERFACE zif_aff_aifa_v1 "!

Check Details

"! Check details BEGIN OF ty_check_details, - "!

Number

- "! Number - "! $required - number TYPE n LENGTH 3, "!

Check

"! Check "! $required check_obj_name TYPE zif_aff_types_v1=>ty_object_name_30, + "!

Numeric ID

+ "! Numeric id + "! $required + numeric_id TYPE n LENGTH 3, "!

Check Behavior

"! Check behavior check_behaviour TYPE ty_error_handling_type, From a33f7cd4cd3e4a6effa470e56daf7200e3aa3297 Mon Sep 17 00:00:00 2001 From: Smartynkov <98896769+Smartynkov@users.noreply.github.com> Date: Mon, 28 Apr 2025 13:25:50 +0300 Subject: [PATCH 08/21] lint_fix --- file-formats/aifa/type/zif_aff_aifa_v1.intf.abap | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/file-formats/aifa/type/zif_aff_aifa_v1.intf.abap b/file-formats/aifa/type/zif_aff_aifa_v1.intf.abap index f772fad8f..a46b389ef 100644 --- a/file-formats/aifa/type/zif_aff_aifa_v1.intf.abap +++ b/file-formats/aifa/type/zif_aff_aifa_v1.intf.abap @@ -56,7 +56,7 @@ INTERFACE zif_aff_aifa_v1 "!

Numeric ID

"! Numeric id "! $required - numeric_id TYPE n LENGTH 3, + numeric_id TYPE n LENGTH 3, "!

Check Behavior

"! Check behavior check_behaviour TYPE ty_error_handling_type, From 750fea3e2531b46558b88f2516a55a6a63ea46b7 Mon Sep 17 00:00:00 2001 From: Smartynkov <98896769+Smartynkov@users.noreply.github.com> Date: Thu, 29 May 2025 12:27:48 +0300 Subject: [PATCH 09/21] Check naming changes --- file-formats/aifa/README.md | 8 +++++++- file-formats/aifa/aifa-v1.json | 12 ++++++------ file-formats/aifa/type/zif_aff_aifa_v1.intf.abap | 14 +++++++------- 3 files changed, 20 insertions(+), 14 deletions(-) diff --git a/file-formats/aifa/README.md b/file-formats/aifa/README.md index 20df7edcf..ae253b360 100644 --- a/file-formats/aifa/README.md +++ b/file-formats/aifa/README.md @@ -1,4 +1,10 @@ -# AIFA File Format +# Action File Format + +## Object Type Information +Object Type | Description | Group +:--- | :--- | :--- +AIFA | Action | Application Interface Framework +## File Structure File | Cardinality | Definition | Schema | Example :--- | :--- | :--- | :--- | :--- diff --git a/file-formats/aifa/aifa-v1.json b/file-formats/aifa/aifa-v1.json index 7ac2f3114..74c5006e8 100644 --- a/file-formats/aifa/aifa-v1.json +++ b/file-formats/aifa/aifa-v1.json @@ -90,7 +90,7 @@ "aifAction" ] }, - "fieldRestore": { + "fieldsToRestore": { "title": "Fields To Restore", "description": "Fields to restore", "type": "array", @@ -108,7 +108,7 @@ "additionalProperties": false } }, - "checkData": { + "checks": { "title": "Checks", "description": "Checks", "type": "array", @@ -117,7 +117,7 @@ "description": "Check details", "type": "object", "properties": { - "checkObjName": { + "check": { "title": "Check", "description": "Check", "type": "string", @@ -149,8 +149,8 @@ "default": "ignoreData" }, "fieldName": { - "title": "Field Name", - "description": "Field name", + "title": "Fields", + "description": "Fields", "type": "array", "items": { "title": "Field To Check", @@ -169,7 +169,7 @@ }, "additionalProperties": false, "required": [ - "checkObjName", + "check", "numericId" ] } diff --git a/file-formats/aifa/type/zif_aff_aifa_v1.intf.abap b/file-formats/aifa/type/zif_aff_aifa_v1.intf.abap index a46b389ef..d72375476 100644 --- a/file-formats/aifa/type/zif_aff_aifa_v1.intf.abap +++ b/file-formats/aifa/type/zif_aff_aifa_v1.intf.abap @@ -52,7 +52,7 @@ INTERFACE zif_aff_aifa_v1 "!

Check

"! Check "! $required - check_obj_name TYPE zif_aff_types_v1=>ty_object_name_30, + check TYPE zif_aff_types_v1=>ty_object_name_30, "!

Numeric ID

"! Numeric id "! $required @@ -60,12 +60,12 @@ INTERFACE zif_aff_aifa_v1 "!

Check Behavior

"! Check behavior check_behaviour TYPE ty_error_handling_type, - "!

Field Name

- "! Field name + "!

Fields

+ "! Fields field_name TYPE ty_fields_to_check, END OF ty_check_details, - "!

Check Data

- "! Check data + "!

Checks

+ "! Checks ty_checks TYPE STANDARD TABLE OF ty_check_details WITH DEFAULT KEY, "!

Field To Restore

@@ -94,10 +94,10 @@ INTERFACE zif_aff_aifa_v1 general_information TYPE ty_general_information, "!

Fields To Restore

"! Fields to restore - field_restore TYPE ty_fields_to_restore, + fields_to_restore TYPE ty_fields_to_restore, "!

Checks

"! Checks - check_data TYPE ty_checks, + checks TYPE ty_checks, END OF ty_main. ENDINTERFACE. From d76052effe3653af2577623c7120c3c62d3f5b79 Mon Sep 17 00:00:00 2001 From: Smartynkov <98896769+Smartynkov@users.noreply.github.com> Date: Thu, 29 May 2025 12:30:49 +0300 Subject: [PATCH 10/21] fix --- file-formats/aifa/type/zif_aff_aifa_v1.intf.abap | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/file-formats/aifa/type/zif_aff_aifa_v1.intf.abap b/file-formats/aifa/type/zif_aff_aifa_v1.intf.abap index d72375476..ee3b0ed58 100644 --- a/file-formats/aifa/type/zif_aff_aifa_v1.intf.abap +++ b/file-formats/aifa/type/zif_aff_aifa_v1.intf.abap @@ -52,7 +52,7 @@ INTERFACE zif_aff_aifa_v1 "!

Check

"! Check "! $required - check TYPE zif_aff_types_v1=>ty_object_name_30, + check TYPE zif_aff_types_v1=>ty_object_name_30, "!

Numeric ID

"! Numeric id "! $required @@ -94,10 +94,10 @@ INTERFACE zif_aff_aifa_v1 general_information TYPE ty_general_information, "!

Fields To Restore

"! Fields to restore - fields_to_restore TYPE ty_fields_to_restore, + fields_to_restore TYPE ty_fields_to_restore, "!

Checks

"! Checks - checks TYPE ty_checks, + checks TYPE ty_checks, END OF ty_main. ENDINTERFACE. From 912386de7d9da76b7e71f3c2209f2d7f5b8929b1 Mon Sep 17 00:00:00 2001 From: Smartynkov <98896769+Smartynkov@users.noreply.github.com> Date: Tue, 17 Jun 2025 04:42:53 +0300 Subject: [PATCH 11/21] post review changes --- file-formats/aifa/README.md | 2 + file-formats/aifa/aifa-v1.json | 59 +++++++++++++++---- .../aifa/type/zif_aff_aifa_v1.intf.abap | 55 +++++++++++++---- 3 files changed, 91 insertions(+), 25 deletions(-) diff --git a/file-formats/aifa/README.md b/file-formats/aifa/README.md index ae253b360..b3cc9f321 100644 --- a/file-formats/aifa/README.md +++ b/file-formats/aifa/README.md @@ -1,9 +1,11 @@ # Action File Format ## Object Type Information + Object Type | Description | Group :--- | :--- | :--- AIFA | Action | Application Interface Framework + ## File Structure File | Cardinality | Definition | Schema | Example diff --git a/file-formats/aifa/aifa-v1.json b/file-formats/aifa/aifa-v1.json index 74c5006e8..2eeb765ce 100644 --- a/file-formats/aifa/aifa-v1.json +++ b/file-formats/aifa/aifa-v1.json @@ -117,25 +117,25 @@ "description": "Check details", "type": "object", "properties": { + "id": { + "title": "ID", + "description": "ID", + "type": "string", + "maxLength": 3, + "pattern": "^[0-9]+$" + }, "check": { "title": "Check", "description": "Check", "type": "string", "maxLength": 30 }, - "numericId": { - "title": "Numeric ID", - "description": "Numeric id", - "type": "string", - "maxLength": 3, - "pattern": "^[0-9]+$" - }, "checkBehaviour": { "title": "Check Behavior", "description": "Check behavior", "type": "string", "enum": [ - "triggerError", + "treatAsError", "ignoreData" ], "enumTitles": [ @@ -148,7 +148,7 @@ ], "default": "ignoreData" }, - "fieldName": { + "fields": { "title": "Fields", "description": "Fields", "type": "array", @@ -157,9 +157,42 @@ "description": "Field to check", "type": "object", "properties": { + "type": { + "title": "Type", + "description": "Type", + "type": "string", + "enum": [ + "sourceStructure", + "destinationStructure", + "constant", + "systemField", + "sendingSystem", + "currentLineNumber", + "hierarchicalMapping" + ], + "enumTitles": [ + "Source Structure", + "Destination Structure", + "Constant", + "System Field", + "Sending System", + "Current Line Number", + "Hierarchical Mapping" + ], + "enumDescriptions": [ + "Field is in source structure", + "Field is in desctination structure", + "Field is constant value", + "Field is system field", + "Field is in sending systemte", + "Field is current line number", + "Fieldpath is starting from a parant node" + ], + "default": "sourceStructure" + }, "name": { - "title": "Field Name", - "description": "Field name", + "title": "Name/Value", + "description": "Name/Value", "type": "string" } }, @@ -169,8 +202,8 @@ }, "additionalProperties": false, "required": [ - "check", - "numericId" + "id", + "check" ] } } diff --git a/file-formats/aifa/type/zif_aff_aifa_v1.intf.abap b/file-formats/aifa/type/zif_aff_aifa_v1.intf.abap index ee3b0ed58..0a0184a74 100644 --- a/file-formats/aifa/type/zif_aff_aifa_v1.intf.abap +++ b/file-formats/aifa/type/zif_aff_aifa_v1.intf.abap @@ -2,24 +2,55 @@ INTERFACE zif_aff_aifa_v1 PUBLIC. "! $values { @link zif_aff_aifa_v1.data:co_error_handling } - "! $default { @link zif_aff_aifa_v1.data:co_error_handling.ignore_data } - TYPES ty_error_handling_type TYPE c LENGTH 1. + "! $default { @link zif_aff_aifa_v1.data:co_error_handling.source_structure } + TYPES ty_field_type TYPE c LENGTH 1. CONSTANTS: BEGIN OF co_error_handling, + "!

Source Structure

+ "! Field is in source structure + source_structure TYPE c LENGTH 5 VALUE 'SRC_S', + "!

Destination Structure

+ "! Field is in desctination structure + destination_structure TYPE c LENGTH 5 VALUE 'DST_S', + "!

Constant

+ "! Field is constant value + constant TYPE c LENGTH 5 VALUE 'CONST', + "!

System Field

+ "! Field is system field + system_field TYPE c LENGTH 5 VALUE 'SYSTF', + "!

Sending System

+ "! Field is in sending systemte + sending_system TYPE c LENGTH 5 VALUE 'SND_S', + "!

Current Line Number

+ "! Field is current line number + current_line_number TYPE c LENGTH 5 VALUE 'LINEN', + "!

Hierarchical Mapping

+ "! Fieldpath is starting from a parant node + hierarchical_mapping TYPE c LENGTH 5 VALUE 'MAP_H', + END OF co_error_handling. + + "! $values { @link zif_aff_aifa_v1.data:co_field_type } + "! $default { @link zif_aff_aifa_v1.data:co_field_type.ignore_data } + TYPES ty_error_handling_type TYPE c LENGTH 1. + CONSTANTS: + BEGIN OF co_field_type, "!

Treat As Error

"! Treat as error if check is not successful - trigger_error TYPE c LENGTH 1 VALUE '', + treat_as_error TYPE c LENGTH 1 VALUE '', "!

Ignore Data

"! Ignore data if check is not successful - ignore_data TYPE c LENGTH 1 VALUE 'I', - END OF co_error_handling. + ignore_data TYPE c LENGTH 1 VALUE 'I', + END OF co_field_type. TYPES: "!

Field To Check

"! Field to check BEGIN OF ty_field_to_check, - "!

Field Name

- "! Field name + "!

Type

+ "! Type + type TYPE ty_field_type, + "!

Name/Value

+ "! Name/Value name TYPE string, END OF ty_field_to_check, "!

Fields To Check

@@ -49,20 +80,20 @@ INTERFACE zif_aff_aifa_v1 "!

Check Details

"! Check details BEGIN OF ty_check_details, + "!

ID

+ "! ID + "! $required + id TYPE n LENGTH 3, "!

Check

"! Check "! $required check TYPE zif_aff_types_v1=>ty_object_name_30, - "!

Numeric ID

- "! Numeric id - "! $required - numeric_id TYPE n LENGTH 3, "!

Check Behavior

"! Check behavior check_behaviour TYPE ty_error_handling_type, "!

Fields

"! Fields - field_name TYPE ty_fields_to_check, + fields TYPE ty_fields_to_check, END OF ty_check_details, "!

Checks

"! Checks From 85133bbba99bc55170ce0d150ecf23428c095cc3 Mon Sep 17 00:00:00 2001 From: Smartynkov <98896769+Smartynkov@users.noreply.github.com> Date: Tue, 17 Jun 2025 04:50:52 +0300 Subject: [PATCH 12/21] example object for AIFA --- .../examples/z_aff_example_aifa.aifa.json | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 file-formats/aifa/examples/z_aff_example_aifa.aifa.json diff --git a/file-formats/aifa/examples/z_aff_example_aifa.aifa.json b/file-formats/aifa/examples/z_aff_example_aifa.aifa.json new file mode 100644 index 000000000..9731b4f0a --- /dev/null +++ b/file-formats/aifa/examples/z_aff_example_aifa.aifa.json @@ -0,0 +1,29 @@ +{ + "header": { + "abapLanguageVersion": "standard" + }, + "generalInformation": { + "namespace": "ZSMA4", + "aifAction": "CREATE_PROUDCT", + "mainComponentType": "ZLC_PRODUCT", + "class": "ZLC_PRODUCT_CLASS" + }, + "fieldsToRestore": [ + { + "name": "INTERNAL_ID" + } + ], + "checks": [ + { + "id": "10", + "check": "CHECK_EMPTY", + "checkBehaviour": "ignoreData", + "fields": [ + { + "type": "sourceStructure", + "name": "BUPA" + } + ] + } + ] +} \ No newline at end of file From 4a18040eaea0d96f6fdac48688a8e7770d66a2df Mon Sep 17 00:00:00 2001 From: Smartynkov <98896769+Smartynkov@users.noreply.github.com> Date: Tue, 17 Jun 2025 04:53:49 +0300 Subject: [PATCH 13/21] format version add --- file-formats/aifa/examples/z_aff_example_aifa.aifa.json | 1 + 1 file changed, 1 insertion(+) diff --git a/file-formats/aifa/examples/z_aff_example_aifa.aifa.json b/file-formats/aifa/examples/z_aff_example_aifa.aifa.json index 9731b4f0a..7df744d7c 100644 --- a/file-formats/aifa/examples/z_aff_example_aifa.aifa.json +++ b/file-formats/aifa/examples/z_aff_example_aifa.aifa.json @@ -1,4 +1,5 @@ { + "formatVersion": "1", "header": { "abapLanguageVersion": "standard" }, From b3284a34c475fc2b55941fad51941972b0e12242 Mon Sep 17 00:00:00 2001 From: Smartynkov <98896769+Smartynkov@users.noreply.github.com> Date: Tue, 17 Jun 2025 04:56:50 +0300 Subject: [PATCH 14/21] description --- file-formats/aifa/examples/z_aff_example_aifa.aifa.json | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/file-formats/aifa/examples/z_aff_example_aifa.aifa.json b/file-formats/aifa/examples/z_aff_example_aifa.aifa.json index 7df744d7c..670ee7aea 100644 --- a/file-formats/aifa/examples/z_aff_example_aifa.aifa.json +++ b/file-formats/aifa/examples/z_aff_example_aifa.aifa.json @@ -1,8 +1,10 @@ { "formatVersion": "1", - "header": { - "abapLanguageVersion": "standard" - }, + "header": { + "description": "Example AIFA for ABAP File Format", + "originalLanguage": "en", + "abapLanguageVersion": "cloudDevelopment" + }, "generalInformation": { "namespace": "ZSMA4", "aifAction": "CREATE_PROUDCT", From 95a2b59d0e5a58361f945f902dd8e6916912df88 Mon Sep 17 00:00:00 2001 From: Smartynkov <98896769+Smartynkov@users.noreply.github.com> Date: Tue, 17 Jun 2025 05:12:23 +0300 Subject: [PATCH 15/21] LF --- .../examples/z_aff_example_aifa.aifa.json | 62 +++++++++---------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/file-formats/aifa/examples/z_aff_example_aifa.aifa.json b/file-formats/aifa/examples/z_aff_example_aifa.aifa.json index 670ee7aea..c310832e9 100644 --- a/file-formats/aifa/examples/z_aff_example_aifa.aifa.json +++ b/file-formats/aifa/examples/z_aff_example_aifa.aifa.json @@ -1,32 +1,32 @@ -{ - "formatVersion": "1", - "header": { - "description": "Example AIFA for ABAP File Format", - "originalLanguage": "en", - "abapLanguageVersion": "cloudDevelopment" - }, - "generalInformation": { - "namespace": "ZSMA4", - "aifAction": "CREATE_PROUDCT", - "mainComponentType": "ZLC_PRODUCT", - "class": "ZLC_PRODUCT_CLASS" - }, - "fieldsToRestore": [ - { - "name": "INTERNAL_ID" - } - ], - "checks": [ - { - "id": "10", - "check": "CHECK_EMPTY", - "checkBehaviour": "ignoreData", - "fields": [ - { - "type": "sourceStructure", - "name": "BUPA" - } - ] - } - ] +{ + "formatVersion": "1", + "header": { + "description": "Example AIFA for ABAP File Format", + "originalLanguage": "en", + "abapLanguageVersion": "cloudDevelopment" + }, + "generalInformation": { + "namespace": "ZSMA4", + "aifAction": "CREATE_PROUDCT", + "mainComponentType": "ZLC_PRODUCT", + "class": "ZLC_PRODUCT_CLASS" + }, + "fieldsToRestore": [ + { + "name": "INTERNAL_ID" + } + ], + "checks": [ + { + "id": "10", + "check": "CHECK_EMPTY", + "checkBehaviour": "ignoreData", + "fields": [ + { + "type": "sourceStructure", + "name": "BUPA" + } + ] + } + ] } \ No newline at end of file From f6cb846a56566871490e76d3beeca7ca8d00e9f4 Mon Sep 17 00:00:00 2001 From: Smartynkov <98896769+Smartynkov@users.noreply.github.com> Date: Tue, 17 Jun 2025 05:15:03 +0300 Subject: [PATCH 16/21] fix --- file-formats/aifa/examples/z_aff_example_aifa.aifa.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/file-formats/aifa/examples/z_aff_example_aifa.aifa.json b/file-formats/aifa/examples/z_aff_example_aifa.aifa.json index c310832e9..329508621 100644 --- a/file-formats/aifa/examples/z_aff_example_aifa.aifa.json +++ b/file-formats/aifa/examples/z_aff_example_aifa.aifa.json @@ -29,4 +29,4 @@ ] } ] -} \ No newline at end of file +} From 088b9194506c4da28ccfc69f0e2d052dc809b87f Mon Sep 17 00:00:00 2001 From: Smartynkov <98896769+Smartynkov@users.noreply.github.com> Date: Thu, 26 Jun 2025 12:20:25 +0300 Subject: [PATCH 17/21] Dropdown name adjustments --- .../aifa/type/zif_aff_aifa_v1.intf.abap | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/file-formats/aifa/type/zif_aff_aifa_v1.intf.abap b/file-formats/aifa/type/zif_aff_aifa_v1.intf.abap index 0a0184a74..9dc33b646 100644 --- a/file-formats/aifa/type/zif_aff_aifa_v1.intf.abap +++ b/file-formats/aifa/type/zif_aff_aifa_v1.intf.abap @@ -1,11 +1,11 @@ INTERFACE zif_aff_aifa_v1 PUBLIC. - "! $values { @link zif_aff_aifa_v1.data:co_error_handling } - "! $default { @link zif_aff_aifa_v1.data:co_error_handling.source_structure } - TYPES ty_field_type TYPE c LENGTH 1. + "! $values { @link zif_aff_aifa_v1.data:co_field_type } + "! $default { @link zif_aff_aifa_v1.data:co_field_type.source_structure } + TYPES ty_field_type TYPE c LENGTH 5. CONSTANTS: - BEGIN OF co_error_handling, + BEGIN OF co_field_type, "!

Source Structure

"! Field is in source structure source_structure TYPE c LENGTH 5 VALUE 'SRC_S', @@ -27,20 +27,20 @@ INTERFACE zif_aff_aifa_v1 "!

Hierarchical Mapping

"! Fieldpath is starting from a parant node hierarchical_mapping TYPE c LENGTH 5 VALUE 'MAP_H', - END OF co_error_handling. + END OF co_field_type. - "! $values { @link zif_aff_aifa_v1.data:co_field_type } - "! $default { @link zif_aff_aifa_v1.data:co_field_type.ignore_data } + "! $values { @link zif_aff_aifa_v1.data:co_error_handling_type } + "! $default { @link zif_aff_aifa_v1.data:co_error_handling_type.ignore_data } TYPES ty_error_handling_type TYPE c LENGTH 1. CONSTANTS: - BEGIN OF co_field_type, + BEGIN OF co_error_handling_type, "!

Treat As Error

"! Treat as error if check is not successful treat_as_error TYPE c LENGTH 1 VALUE '', "!

Ignore Data

"! Ignore data if check is not successful ignore_data TYPE c LENGTH 1 VALUE 'I', - END OF co_field_type. + END OF co_error_handling_type. TYPES: "!

Field To Check

From a3bcc34f5845ebdf7f22fe648400554766008ecf Mon Sep 17 00:00:00 2001 From: Smartynkov <98896769+Smartynkov@users.noreply.github.com> Date: Thu, 7 Aug 2025 15:15:05 +0300 Subject: [PATCH 18/21] After UX review update --- file-formats/aifa/aifa-v1.json | 8 ++++---- .../aifa/examples/z_aff_example_aifa.aifa.json | 2 +- file-formats/aifa/type/zif_aff_aifa_v1.intf.abap | 10 +++++----- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/file-formats/aifa/aifa-v1.json b/file-formats/aifa/aifa-v1.json index 2eeb765ce..e4565bf7c 100644 --- a/file-formats/aifa/aifa-v1.json +++ b/file-formats/aifa/aifa-v1.json @@ -77,9 +77,9 @@ "type": "string", "maxLength": 30 }, - "class": { - "title": "Class", - "description": "Class", + "implementingClass": { + "title": "Implementing Class", + "description": "Implementing Class", "type": "string", "maxLength": 30 } @@ -153,7 +153,7 @@ "description": "Fields", "type": "array", "items": { - "title": "Field To Check", + "title": "Fields To Check", "description": "Field to check", "type": "object", "properties": { diff --git a/file-formats/aifa/examples/z_aff_example_aifa.aifa.json b/file-formats/aifa/examples/z_aff_example_aifa.aifa.json index 329508621..f2c7dc912 100644 --- a/file-formats/aifa/examples/z_aff_example_aifa.aifa.json +++ b/file-formats/aifa/examples/z_aff_example_aifa.aifa.json @@ -9,7 +9,7 @@ "namespace": "ZSMA4", "aifAction": "CREATE_PROUDCT", "mainComponentType": "ZLC_PRODUCT", - "class": "ZLC_PRODUCT_CLASS" + "implementing_class": "ZLC_PRODUCT_CLASS" }, "fieldsToRestore": [ { diff --git a/file-formats/aifa/type/zif_aff_aifa_v1.intf.abap b/file-formats/aifa/type/zif_aff_aifa_v1.intf.abap index 9dc33b646..0ecaace6a 100644 --- a/file-formats/aifa/type/zif_aff_aifa_v1.intf.abap +++ b/file-formats/aifa/type/zif_aff_aifa_v1.intf.abap @@ -14,7 +14,7 @@ INTERFACE zif_aff_aifa_v1 destination_structure TYPE c LENGTH 5 VALUE 'DST_S', "!

Constant

"! Field is constant value - constant TYPE c LENGTH 5 VALUE 'CONST', + constant TYPE c LENGTH 5 VALUE 'CONST', "!

System Field

"! Field is system field system_field TYPE c LENGTH 5 VALUE 'SYSTF', @@ -43,7 +43,7 @@ INTERFACE zif_aff_aifa_v1 END OF co_error_handling_type. TYPES: - "!

Field To Check

+ "!

Fields To Check

"! Field to check BEGIN OF ty_field_to_check, "!

Type

@@ -72,9 +72,9 @@ INTERFACE zif_aff_aifa_v1 "!

Main Component Type

"! Main component type main_component_type TYPE zif_aff_types_v1=>ty_object_name_30, - "!

Class

- "! Class - class TYPE zif_aff_types_v1=>ty_object_name_30, + "!

Implementing Class

+ "! Implementing Class + implementing_class TYPE zif_aff_types_v1=>ty_object_name_30, END OF ty_general_information, "!

Check Details

From ed714289a3201e6f005bb667f30c2913a1bb47ec Mon Sep 17 00:00:00 2001 From: Smartynkov <98896769+Smartynkov@users.noreply.github.com> Date: Mon, 11 Aug 2025 10:48:20 +0300 Subject: [PATCH 19/21] UX review fixes --- file-formats/aifa/aifa-v1.json | 2 +- .../examples/z_aff_example_aifa.aifa.json | 32 ++++++++++--------- .../aifa/type/zif_aff_aifa_v1.intf.abap | 2 +- 3 files changed, 19 insertions(+), 17 deletions(-) diff --git a/file-formats/aifa/aifa-v1.json b/file-formats/aifa/aifa-v1.json index e4565bf7c..967e2c7a7 100644 --- a/file-formats/aifa/aifa-v1.json +++ b/file-formats/aifa/aifa-v1.json @@ -79,7 +79,7 @@ }, "implementingClass": { "title": "Implementing Class", - "description": "Implementing Class", + "description": "Implementing class", "type": "string", "maxLength": 30 } diff --git a/file-formats/aifa/examples/z_aff_example_aifa.aifa.json b/file-formats/aifa/examples/z_aff_example_aifa.aifa.json index f2c7dc912..8c332c748 100644 --- a/file-formats/aifa/examples/z_aff_example_aifa.aifa.json +++ b/file-formats/aifa/examples/z_aff_example_aifa.aifa.json @@ -1,32 +1,34 @@ { - "formatVersion": "1", - "header": { - "description": "Example AIFA for ABAP File Format", - "originalLanguage": "en", - "abapLanguageVersion": "cloudDevelopment" - }, + "header": { + "abapLanguageVersion": "standard" + }, "generalInformation": { - "namespace": "ZSMA4", - "aifAction": "CREATE_PROUDCT", - "mainComponentType": "ZLC_PRODUCT", - "implementing_class": "ZLC_PRODUCT_CLASS" + "namespace": "ZAIFN", + "aifAction": "CREATE_BUPA", + "mainComponentType": "ZAIF_CREATE_BUPA_STRUCTURE", + "implementingClass": "ZAIF_CL_CREATE_BUPA" }, "fieldsToRestore": [ { - "name": "INTERNAL_ID" + "name": "BUPA_ID" } ], "checks": [ { - "id": "10", - "check": "CHECK_EMPTY", - "checkBehaviour": "ignoreData", + "id": "001", + "check": "BUPA_EXIST", + "checkBehaviour": "treatAsError", "fields": [ { "type": "sourceStructure", - "name": "BUPA" + "name": "BUPA_ID" + }, + { + "type": "sourceStructure", + "name": "BUPA_TYPE" } ] } ] } + diff --git a/file-formats/aifa/type/zif_aff_aifa_v1.intf.abap b/file-formats/aifa/type/zif_aff_aifa_v1.intf.abap index 0ecaace6a..29efbf565 100644 --- a/file-formats/aifa/type/zif_aff_aifa_v1.intf.abap +++ b/file-formats/aifa/type/zif_aff_aifa_v1.intf.abap @@ -73,7 +73,7 @@ INTERFACE zif_aff_aifa_v1 "! Main component type main_component_type TYPE zif_aff_types_v1=>ty_object_name_30, "!

Implementing Class

- "! Implementing Class + "! Implementing class implementing_class TYPE zif_aff_types_v1=>ty_object_name_30, END OF ty_general_information, From bbd9e57d89d1fdb5b75f6cc5cffe4fb001dd891b Mon Sep 17 00:00:00 2001 From: Smartynkov <98896769+Smartynkov@users.noreply.github.com> Date: Mon, 11 Aug 2025 11:12:07 +0300 Subject: [PATCH 20/21] Json Format version fix --- file-formats/aifa/examples/z_aff_example_aifa.aifa.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/file-formats/aifa/examples/z_aff_example_aifa.aifa.json b/file-formats/aifa/examples/z_aff_example_aifa.aifa.json index 8c332c748..5c8ff2abb 100644 --- a/file-formats/aifa/examples/z_aff_example_aifa.aifa.json +++ b/file-formats/aifa/examples/z_aff_example_aifa.aifa.json @@ -1,5 +1,8 @@ { + "formatVersion": "1", "header": { + "description": "Example AIFA for ABAP File Format", + "originalLanguage": "en", "abapLanguageVersion": "standard" }, "generalInformation": { From 3d45b8fdba03ef2f5e044592c8c18ffbe0bf7be7 Mon Sep 17 00:00:00 2001 From: Katharina Wurz Date: Mon, 18 Aug 2025 14:13:14 +0200 Subject: [PATCH 21/21] Fix example --- file-formats/aifa/examples/z_aff_example_aifa.aifa.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/file-formats/aifa/examples/z_aff_example_aifa.aifa.json b/file-formats/aifa/examples/z_aff_example_aifa.aifa.json index 5c8ff2abb..481a9546d 100644 --- a/file-formats/aifa/examples/z_aff_example_aifa.aifa.json +++ b/file-formats/aifa/examples/z_aff_example_aifa.aifa.json @@ -2,8 +2,7 @@ "formatVersion": "1", "header": { "description": "Example AIFA for ABAP File Format", - "originalLanguage": "en", - "abapLanguageVersion": "standard" + "originalLanguage": "en" }, "generalInformation": { "namespace": "ZAIFN",