-
Notifications
You must be signed in to change notification settings - Fork 72
[AIFA] Add new object type #703
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 20 commits
13d0b75
32e6166
911d4ec
ef11b50
f8e0ef1
54705fe
cde4c90
855885c
a33f7cd
750fea3
d76052e
912386d
85133bb
4a18040
b3284a3
95a2b59
f6cb846
088b919
d03b35b
e342a61
a3bcc34
ed71428
bbd9e57
3d45b8f
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,13 @@ | ||
| # Action File Format | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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.
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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?
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. More generic README outside the ABAP System 😉
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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) | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,217 @@ | ||
| { | ||
| "$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": { | ||
| "id": { | ||
| "title": "ID", | ||
| "description": "ID", | ||
| "type": "string", | ||
| "maxLength": 3, | ||
| "pattern": "^[0-9]+$" | ||
| }, | ||
| "check": { | ||
| "title": "Check", | ||
| "description": "Check", | ||
| "type": "string", | ||
| "maxLength": 30 | ||
| }, | ||
| "checkBehaviour": { | ||
| "title": "Check Behavior", | ||
| "description": "Check behavior", | ||
| "type": "string", | ||
| "enum": [ | ||
| "treatAsError", | ||
| "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" | ||
| }, | ||
| "fields": { | ||
| "title": "Fields", | ||
| "description": "Fields", | ||
| "type": "array", | ||
| "items": { | ||
| "title": "Field To Check", | ||
| "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": "Name/Value", | ||
| "description": "Name/Value", | ||
| "type": "string" | ||
| } | ||
| }, | ||
| "additionalProperties": false | ||
| } | ||
| } | ||
| }, | ||
| "additionalProperties": false, | ||
| "required": [ | ||
| "id", | ||
| "check" | ||
| ] | ||
| } | ||
| } | ||
| }, | ||
| "additionalProperties": false, | ||
| "required": [ | ||
| "formatVersion", | ||
| "header", | ||
| "generalInformation" | ||
| ] | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +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" | ||
| } | ||
| ] | ||
| } | ||
| ] | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,134 @@ | ||
| INTERFACE zif_aff_aifa_v1 | ||
| PUBLIC. | ||
|
|
||
| "! $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_field_type, | ||
| "! <p class="shorttext">Source Structure</p> | ||
| "! Field is in source structure | ||
| source_structure TYPE c LENGTH 5 VALUE 'SRC_S', | ||
| "! <p class="shorttext">Destination Structure</p> | ||
| "! Field is in desctination structure | ||
| destination_structure TYPE c LENGTH 5 VALUE 'DST_S', | ||
| "! <p class="shorttext">Constant</p> | ||
| "! Field is constant value | ||
| constant TYPE c LENGTH 5 VALUE 'CONST', | ||
| "! <p class="shorttext">System Field</p> | ||
| "! Field is system field | ||
| system_field TYPE c LENGTH 5 VALUE 'SYSTF', | ||
| "! <p class="shorttext">Sending System</p> | ||
| "! Field is in sending systemte | ||
| sending_system TYPE c LENGTH 5 VALUE 'SND_S', | ||
| "! <p class="shorttext">Current Line Number</p> | ||
| "! Field is current line number | ||
| current_line_number TYPE c LENGTH 5 VALUE 'LINEN', | ||
| "! <p class="shorttext">Hierarchical Mapping</p> | ||
| "! Fieldpath is starting from a parant node | ||
| hierarchical_mapping TYPE c LENGTH 5 VALUE 'MAP_H', | ||
| END OF co_field_type. | ||
|
|
||
| "! $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_error_handling_type, | ||
| "! <p class="shorttext">Treat As Error</p> | ||
| "! Treat as error if check is not successful | ||
| treat_as_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_type. | ||
|
|
||
| TYPES: | ||
| "! <p class="shorttext">Field To Check</p> | ||
| "! Field to check | ||
| BEGIN OF ty_field_to_check, | ||
| "! <p class="shorttext">Type</p> | ||
| "! Type | ||
| type TYPE ty_field_type, | ||
| "! <p class="shorttext">Name/Value</p> | ||
| "! Name/Value | ||
| 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, | ||
Smartynkov marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| "! <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, | ||
wurzka marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| END OF ty_general_information, | ||
|
|
||
| "! <p class="shorttext">Check Details</p> | ||
| "! Check details | ||
| BEGIN OF ty_check_details, | ||
| "! <p class="shorttext">ID</p> | ||
| "! ID | ||
| "! $required | ||
| id TYPE n LENGTH 3, | ||
| "! <p class="shorttext">Check</p> | ||
| "! Check | ||
| "! $required | ||
| check TYPE zif_aff_types_v1=>ty_object_name_30, | ||
| "! <p class="shorttext">Check Behavior</p> | ||
| "! Check behavior | ||
| check_behaviour TYPE ty_error_handling_type, | ||
| "! <p class="shorttext">Fields</p> | ||
| "! Fields | ||
| fields 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. | ||
Uh oh!
There was an error while loading. Please reload this page.