Skip to content
Merged
Show file tree
Hide file tree
Changes from 11 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions file-formats/aifa/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Action File Format
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Observations related to recent README updates: @schneidermic0 this section title is generated from the current SVAL object. Merging the pr then may lead to uncorrect README as the SVAL will be checked much later in our process.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I agree. I don't see a simple way to improve this, do you?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

More generic README outside the ABAP System 😉

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, on the other hand, I think it is helpful to see a meaningful name (even if it is not 100% correct and might be updated in the future) instead of having none.


## Object Type Information
Object Type | Description | Group
:--- | :--- | :---
AIFA | Action | Application Interface Framework
## File Structure

File | Cardinality | Definition | Schema | Example
:--- | :--- | :--- | :--- | :---
`<name>.aifa.json` | 1 | [`zif_aff_aifa_v1.intf.abap`](./type/zif_aff_aifa_v1.intf.abap) | [`aifa-v1.json`](./aifa-v1.json)
184 changes: 184 additions & 0 deletions file-formats/aifa/aifa-v1.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,184 @@
{
"$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
},
"mainComponentType": {
"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"
]
},
"fieldsToRestore": {
"title": "Fields To Restore",
"description": "Fields to restore",
"type": "array",
"items": {
"title": "Field To Restore",
"description": "Field to restore",
"type": "object",
"properties": {
"name": {
"title": "Name",
"description": "Name",
"type": "string"
}
},
"additionalProperties": false
}
},
"checks": {
"title": "Checks",
"description": "Checks",
"type": "array",
"items": {
"title": "Check Details",
"description": "Check details",
"type": "object",
"properties": {
"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",
"ignoreData"
],
"enumTitles": [
"Treat As Error",
"Ignore Data"
],
"enumDescriptions": [
"Treat as error if check is not successful",
"Ignore data if check is not successful"
],
"default": "ignoreData"
},
"fieldName": {
"title": "Fields",
"description": "Fields",
"type": "array",
"items": {
"title": "Field To Check",
"description": "Field to check",
"type": "object",
"properties": {
"name": {
"title": "Field Name",
"description": "Field name",
"type": "string"
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false,
"required": [
"check",
"numericId"
]
}
}
},
"additionalProperties": false,
"required": [
"formatVersion",
"header",
"generalInformation"
]
}
103 changes: 103 additions & 0 deletions file-formats/aifa/type/zif_aff_aifa_v1.intf.abap
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
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.
CONSTANTS:
BEGIN OF co_error_handling,
"! <p class="shorttext">Treat As Error</p>
"! Treat as error if check is not successful
trigger_error TYPE c LENGTH 1 VALUE '',
"! <p class="shorttext">Ignore Data</p>
"! Ignore data if check is not successful
ignore_data TYPE c LENGTH 1 VALUE 'I',
END OF co_error_handling.

TYPES:
"! <p class="shorttext">Field To Check</p>
"! Field to check
BEGIN OF ty_field_to_check,
"! <p class="shorttext">Field Name</p>
"! Field name
name TYPE string,
END OF ty_field_to_check,
"! <p class="shorttext">Fields To Check</p>
"! Fields to check
ty_fields_to_check TYPE STANDARD TABLE OF ty_field_to_check WITH DEFAULT KEY.

TYPES:
"! <p class="shorttext">General Information</p>
"! General information
BEGIN OF ty_general_information,
"! <p class="shorttext">Namespace</p>
"! Namespace
"! $required
namespace TYPE c LENGTH 15,
"! <p class="shorttext">AIF Action</p>
"! AIF action
"! $required
aif_action TYPE c LENGTH 20,
"! <p class="shorttext">Main Component Type</p>
"! Main component type
main_component_type TYPE zif_aff_types_v1=>ty_object_name_30,
"! <p class="shorttext">Class</p>
"! Class
class TYPE zif_aff_types_v1=>ty_object_name_30,
END OF ty_general_information,

"! <p class="shorttext">Check Details</p>
"! Check details
BEGIN OF ty_check_details,
"! <p class="shorttext">Check</p>
"! Check
"! $required
check TYPE zif_aff_types_v1=>ty_object_name_30,
"! <p class="shorttext">Numeric ID</p>
"! Numeric id
"! $required
numeric_id TYPE n LENGTH 3,
"! <p class="shorttext">Check Behavior</p>
"! Check behavior
check_behaviour TYPE ty_error_handling_type,
"! <p class="shorttext">Fields</p>
"! Fields
field_name TYPE ty_fields_to_check,
END OF ty_check_details,
"! <p class="shorttext">Checks</p>
"! Checks
ty_checks TYPE STANDARD TABLE OF ty_check_details WITH DEFAULT KEY,

"! <p class="shorttext">Field To Restore</p>
"! Field to restore
BEGIN OF ty_field_to_restore,
"! <p class="shorttext">Name</p>
"! Name
name TYPE string,
END OF ty_field_to_restore,
"! <p class="shorttext">Fields To Restore</p>
"! Fields to restore
ty_fields_to_restore TYPE STANDARD TABLE OF ty_field_to_restore WITH DEFAULT KEY,

"! <p class="shorttext">Action</p>
"! Action
BEGIN OF ty_main,
"! $required
format_version TYPE zif_aff_types_v1=>ty_format_version,
"! <p class="shorttext">Header</p>
"! Header
"! $required
header TYPE zif_aff_types_v1=>ty_header_60_cloud,
"! <p class="shorttext">General Information</p>
"! General information
"! $required
general_information TYPE ty_general_information,
"! <p class="shorttext">Fields To Restore</p>
"! Fields to restore
fields_to_restore TYPE ty_fields_to_restore,
"! <p class="shorttext">Checks</p>
"! Checks
checks TYPE ty_checks,
END OF ty_main.

ENDINTERFACE.
7 changes: 7 additions & 0 deletions file-formats/aifa/type/zif_aff_aifa_v1.intf.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"formatVersion": "1",
"header": {
"description": "AFF Type for AIFA (Action)",
"originalLanguage": "en"
}
}
Loading