diff --git a/file-formats/edck/README.md b/file-formats/edck/README.md new file mode 100644 index 000000000..6f471a428 --- /dev/null +++ b/file-formats/edck/README.md @@ -0,0 +1,5 @@ +# EDCK File Format + +File | Cardinality | Definition | Schema | Example +:--- | :--- | :--- | :--- | :--- +`.edck.json` | 1 | [`zif_aff_edck_v1.intf.abap`](./type/zif_aff_edck_v1.intf.abap) | [`edck-v1.json`](./edck-v1.json) | [`z_aff_example_edck.edck.json`](./examples/z_aff_example_edck.edck.json) diff --git a/file-formats/edck/edck-v1.json b/file-formats/edck/edck-v1.json new file mode 100644 index 000000000..2c6b198f3 --- /dev/null +++ b/file-formats/edck/edck-v1.json @@ -0,0 +1,125 @@ +{ + "$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/edck/edck-v1.json", + "title": "Consistency Check ID", + "description": "Consistency check ID", + "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 of consistency check ID", + "type": "object", + "properties": { + "checkCategory": { + "title": "Check Category", + "description": "Consistency check category", + "type": "string", + "enum": [ + "existenceCheck", + "statusCheck", + "edocumentExistenceCheck", + "contentMismatchCheck" + ], + "enumTitles": [ + "Existence Check", + "Status Check", + "Edocument Existence Check", + "Content Mismatch Check" + ], + "enumDescriptions": [ + "Existence check", + "Status check", + "Edocument existence check", + "Content mismatch check" + ], + "default": "existenceCheck" + }, + "checkClassification": { + "title": "Check Classification", + "description": "Consistency check ID classification", + "type": "string", + "enum": [ + "coreDeliveredChecks", + "additionalImplementedChecks" + ], + "enumTitles": [ + "Core Delivered Checks", + "Additionally (Extended) Implemented Checks" + ], + "enumDescriptions": [ + "Core delivered checks", + "Additionally (Extended) implemented checks" + ], + "default": "coreDeliveredChecks" + }, + "additionalCheckClass": { + "title": "Additional Check Class", + "description": "Consistency check class", + "type": "string", + "maxLength": 30 + }, + "resultProcessDerived": { + "title": "Result Process Derived", + "description": "Result process derived", + "type": "boolean" + } + }, + "additionalProperties": false + } + }, + "additionalProperties": false, + "required": [ + "formatVersion", + "header", + "generalInformation" + ] +} diff --git a/file-formats/edck/examples/z_aff_example_edck.edck.json b/file-formats/edck/examples/z_aff_example_edck.edck.json new file mode 100644 index 000000000..c34df0fa9 --- /dev/null +++ b/file-formats/edck/examples/z_aff_example_edck.edck.json @@ -0,0 +1,13 @@ +{ + "formatVersion": "1", + "header": { + "description": "Example Check ID", + "originalLanguage": "en", + "abapLanguageVersion": "cloudDevelopment" + }, + "generalInformation": { + "checkCategory": "existenceCheck", + "checkClassification": "coreDeliveredChecks", + "resultProcessDerived": false + } +} diff --git a/file-formats/edck/type/zif_aff_edck_v1.intf.abap b/file-formats/edck/type/zif_aff_edck_v1.intf.abap new file mode 100644 index 000000000..f5ecbdb44 --- /dev/null +++ b/file-formats/edck/type/zif_aff_edck_v1.intf.abap @@ -0,0 +1,72 @@ +INTERFACE zif_aff_edck_v1 + PUBLIC. + + TYPES ty_check_classification TYPE c LENGTH 1. + TYPES ty_check_category TYPE c LENGTH 6. + + TYPES: + BEGIN OF ty_attributes, + "!

Check Category

+ "! Consistency check category + "! $values {@link zif_aff_edck_v1.data:co_check_category} + "! $default {@link zif_aff_edck_v1.data:co_check_category.existence_check} + check_category TYPE ty_check_category, + "!

Check Classification

+ "! Consistency check ID classification + "! $values {@link zif_aff_edck_v1.data:co_check_classification} + "! $default {@link zif_aff_edck_v1.data:co_check_classification.core_delivered_checks} + check_classification TYPE ty_check_classification, + "!

Additional Check Class

+ "! Consistency check class + additional_check_class TYPE zif_aff_types_v1=>ty_object_name_30, + "!

Result Process Derived

+ "! Result process derived + result_process_derived TYPE abap_bool, + END OF ty_attributes. + + TYPES: + "!

Consistency Check ID

+ "! Consistency check ID + 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 of consistency check ID + "! $required + general_information TYPE ty_attributes, + END OF ty_main. + + CONSTANTS: + "!

Check Classification

+ "! Check classification + BEGIN OF co_check_classification, + "!

Core Delivered Checks

+ "! Core delivered checks + core_delivered_checks TYPE ty_check_classification VALUE 'C', + "!

Additionally (Extended) Implemented Checks

+ "! Additionally (Extended) implemented checks + additional_implemented_checks TYPE ty_check_classification VALUE 'A', + END OF co_check_classification. + + CONSTANTS: + "!

Check Category

+ "! Check category + BEGIN OF co_check_category, + "!

Existence Check

+ "! Existence check + existence_check TYPE ty_check_category VALUE 'EXIST', + "!

Status Check

+ "! Status check + status_check TYPE ty_check_category VALUE 'STATUS', + "!

Edocument Existence Check

+ "! Edocument existence check + edocument_existence_check TYPE ty_check_category VALUE 'EDOCHK', + "!

Content Mismatch Check

+ "! Content mismatch check + content_mismatch_check TYPE ty_check_category VALUE 'CONMIS', + END OF co_check_category. +ENDINTERFACE. diff --git a/file-formats/edck/type/zif_aff_edck_v1.intf.json b/file-formats/edck/type/zif_aff_edck_v1.intf.json new file mode 100644 index 000000000..59f7f02e7 --- /dev/null +++ b/file-formats/edck/type/zif_aff_edck_v1.intf.json @@ -0,0 +1,7 @@ +{ + "formatVersion": "1", + "header": { + "description": "AFF type for EDCK", + "originalLanguage": "en" + } +}