diff --git a/file-formats/edcc/README.md b/file-formats/edcc/README.md new file mode 100644 index 000000000..9f744599f --- /dev/null +++ b/file-formats/edcc/README.md @@ -0,0 +1,6 @@ +# EDCC File Format + +File | Cardinality | Definition | Schema | Example +:--- | :--- | :--- | :--- | :--- +`.edcc.json` | 1 | [`zif_aff_edcc_v1.intf.abap`](./type/zif_aff_edcc_v1.intf.abap) | [`edcc-v1.json`](./edcc-v1.json) | [`z_aff_example_edcc.edcc.json`](./examples/z_aff_example_edcc.edcc.json) + diff --git a/file-formats/edcc/edcc-v1.json b/file-formats/edcc/edcc-v1.json new file mode 100644 index 000000000..0be9f2136 --- /dev/null +++ b/file-formats/edcc/edcc-v1.json @@ -0,0 +1,792 @@ +{ + "$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/edcc/edcc-v1.json", + "title": "Consistency Scenario", + "description": "Consistency scenario", + "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" + ] + }, + "country": { + "title": "Country", + "description": "Country", + "type": "string", + "maxLength": 3 + }, + "additionalSelectionFields": { + "title": "Additional Selection Fields", + "description": "Additional selection fields of validation report", + "type": "array", + "uniqueItems": true, + "items": { + "title": "Additional Selection Field", + "description": "Additional selection fields of validation report", + "type": "object", + "properties": { + "tableName": { + "title": "Table Name", + "description": "Table name", + "type": "string", + "maxLength": 30 + }, + "fieldName": { + "title": "Field Name", + "description": "Field name", + "type": "string", + "maxLength": 30 + }, + "fieldType": { + "title": "Field Type", + "description": "Field type", + "type": "string", + "enum": [ + "selectOptions", + "parameterSingleValue", + "parameterMultipleValues" + ], + "enumTitles": [ + "Selection Option", + "Parameter Single Value", + "Parameter Multiple Values" + ], + "enumDescriptions": [ + "Selection option", + "Parameter single value", + "Parameter multiple values" + ], + "default": "selectOptions" + } + }, + "additionalProperties": false + } + }, + "taxAuthorityMessages": { + "title": "Tax Authority Message Types", + "description": "Tax authority message types", + "type": "array", + "uniqueItems": true, + "items": { + "title": "Tax Authority Message Type", + "description": "Tax authority message type", + "type": "object", + "properties": { + "messageType": { + "title": "Message Type", + "description": "Message type", + "type": "string", + "maxLength": 20 + }, + "taxAuthorityDocumentType": { + "title": "Tax Authority Document Type", + "description": "Tax authority document type", + "type": "string", + "maxLength": 20 + } + }, + "additionalProperties": false, + "required": [ + "messageType", + "taxAuthorityDocumentType" + ] + } + }, + "taxAuthorityTables": { + "title": "Additional Tax Authority Tables", + "description": "Additional tax authority tables", + "type": "array", + "uniqueItems": true, + "items": { + "title": "Additional Tax Authority Table", + "description": "Additional tax authority table", + "type": "object", + "properties": { + "tableName": { + "title": "Table Name", + "description": "Table name", + "type": "string", + "maxLength": 30 + } + }, + "additionalProperties": false + } + }, + "comparisonTypes": { + "title": "Comparison Types", + "description": "Define comparison types", + "type": "array", + "uniqueItems": true, + "items": { + "title": "Comparison Type", + "description": "Comparison type", + "type": "object", + "properties": { + "comparisonType": { + "title": "Comparison Type", + "description": "Comparison type", + "type": "string", + "maxLength": 30 + }, + "description": { + "title": "Comparison Type Description", + "description": "Description of the comparison type", + "type": "string", + "maxLength": 120 + }, + "positionNumber": { + "title": "Position Number", + "description": "Position number", + "type": "string", + "maxLength": 2 + }, + "className": { + "title": "Implementing Class", + "description": "Implementing Class", + "type": "string", + "maxLength": 30 + }, + "dataSource": { + "title": "Data Source", + "description": "Data Source", + "type": "string", + "maxLength": 30 + }, + "existenceCheck": { + "title": "Existence Check", + "description": "Assigned existence check", + "type": "object", + "properties": { + "checkId": { + "title": "Check Id", + "description": "Check id", + "type": "string", + "maxLength": 30 + }, + "fieldName": { + "title": "Field Name", + "description": "Field name", + "type": "string", + "maxLength": 30 + }, + "fieldValue": { + "title": "Field Value", + "description": "Field value", + "type": "string", + "maxLength": 40 + }, + "resultProcess": { + "title": "Result Process", + "description": "Result process", + "type": "string", + "maxLength": 10 + } + }, + "additionalProperties": false + }, + "statusCheck": { + "title": "Status Checks", + "description": "Assigned status checks", + "type": "array", + "uniqueItems": true, + "items": { + "title": "Status Check", + "description": "Status check", + "type": "object", + "properties": { + "checkId": { + "title": "Check Id", + "description": "Check id", + "type": "string", + "maxLength": 30 + }, + "sequenceNumber": { + "title": "Sequence Number", + "description": "Sequence number", + "type": "string", + "maxLength": 3 + }, + "sourceFieldName1": { + "title": "Source Field Name 1", + "description": "Source field name 1", + "type": "string", + "maxLength": 30 + }, + "sourceFieldValue1": { + "title": "Source Field Value 1", + "description": "Source field value 1", + "type": "string", + "maxLength": 40 + }, + "sourceFieldName2": { + "title": "Source Field Name 2", + "description": "Source field name 2", + "type": "string", + "maxLength": 30 + }, + "sourceFieldValue2": { + "title": "Source Field Value 2", + "description": "Source field value 2", + "type": "string", + "maxLength": 40 + }, + "resultProcess": { + "title": "Result Process", + "description": "Result process", + "type": "string", + "maxLength": 10 + } + }, + "additionalProperties": false + } + }, + "contentCheck": { + "title": "Content Checks", + "description": "Assigned content checks", + "type": "array", + "uniqueItems": true, + "items": { + "title": "Content Check", + "description": "Content check", + "type": "object", + "properties": { + "checkId": { + "title": "Check Id", + "description": "Check id", + "type": "string", + "maxLength": 30 + }, + "checkNumber": { + "title": "Check Number", + "description": "Check number", + "type": "string", + "maxLength": 5 + }, + "dataSource": { + "title": "Additional Data Source", + "description": "Additional data source", + "type": "string", + "maxLength": 30 + }, + "additionalDescription": { + "title": "Additional Description", + "description": "Additional check description", + "type": "string", + "maxLength": 60 + }, + "contentComparisonFieldGroup": { + "title": "Comparison Field Groups", + "description": "Comparison field groups", + "type": "array", + "uniqueItems": true, + "items": { + "title": "Comparison Field Group", + "description": "Comparison field group", + "type": "object", + "properties": { + "fieldGroup": { + "title": "Mismatch Field Group", + "description": "Comparison field group for mismatched fields", + "type": "string", + "maxLength": 20 + }, + "description": { + "title": "Description", + "description": "Mismatch field group description", + "type": "string", + "maxLength": 30 + }, + "fieldGroupLevel": { + "title": "Field Group Level", + "description": "Level of comparison field group", + "type": "string", + "enum": [ + "header", + "item" + ], + "enumTitles": [ + "Header", + "Item" + ], + "enumDescriptions": [ + "Header", + "Item" + ], + "default": "header" + }, + "checkFormula": { + "title": "Check Formula", + "description": "Formula applied to perform the content check on the field group", + "type": "string", + "enum": [ + "field", + "fieldWithAbsTolerance", + "fieldWithoutAbsTolerance" + ], + "enumTitles": [ + "Field to Field Comparison", + "Amount Comparison with Absolute Tolerance", + "Amount Comparison without Absolute Tolerance" + ], + "enumDescriptions": [ + "Field to field comparison", + "Amount comparison with absolute tolerance", + "Amount comparison without absolute tolerance" + ], + "default": "field" + }, + "resultProcess": { + "title": "Result Process", + "description": "Result process", + "type": "string", + "maxLength": 10 + }, + "comparisonField": { + "title": "Comparison Field Name", + "description": "Field Names whose values will be compared", + "type": "array", + "uniqueItems": true, + "items": { + "title": "Comparison Field Name", + "description": "Field Names whose values will be compared", + "type": "object", + "properties": { + "representationType": { + "title": "Representation Type", + "description": "Representation type", + "type": "string", + "maxLength": 30 + }, + "fieldName": { + "title": "Field Name", + "description": "Field name to be compared", + "type": "string", + "maxLength": 30 + }, + "comparisonSequence": { + "title": "Comparison Sequence", + "description": "Comparison sequence", + "type": "string", + "maxLength": 5 + } + }, + "additionalProperties": false + } + } + }, + "additionalProperties": false + } + } + }, + "additionalProperties": false + } + }, + "checkAttributes": { + "title": "Check Attributes", + "description": "Check attributes", + "type": "array", + "uniqueItems": true, + "items": { + "title": "Check Attribute", + "description": "Check attribute", + "type": "object", + "properties": { + "checkId": { + "title": "Check Id", + "description": "Check id", + "type": "string", + "maxLength": 30 + }, + "positionNumber": { + "title": "Position Number", + "description": "Position number", + "type": "string", + "maxLength": 3 + }, + "executionSequence": { + "title": "Check Execution Sequence", + "description": "Check execution sequence", + "type": "string", + "maxLength": 3 + }, + "executionControl": { + "title": "Check Execution Control", + "description": "Check execution control", + "type": "string", + "enum": [ + "proceed", + "noProceed" + ], + "enumTitles": [ + "No Check", + "Proceed If No Inconsistency Identified From Previous Check" + ], + "enumDescriptions": [ + "Proceed with check even when inconsistency is identified", + "Proceed If No Inconsistency Identified From Previous Check" + ], + "default": "proceed" + }, + "checkFilter": { + "title": "Selection Filters on Check", + "description": "Selection filters on check", + "type": "array", + "uniqueItems": true, + "items": { + "title": "Selection Filters on Check", + "description": "Selection filters on check", + "type": "object", + "properties": { + "sequenceNumber": { + "title": "Sequence Number", + "description": "Sequence number", + "type": "string", + "maxLength": 3 + }, + "filterOperation": { + "title": "Filter Operation", + "description": "Operand to build the where condition", + "type": "string", + "enum": [ + "and", + "or" + ], + "enumTitles": [ + "And", + "Or" + ], + "enumDescriptions": [ + "And", + "Or" + ], + "default": "and" + }, + "filterField": { + "title": "Filter Field", + "description": "Field on which where condition would be applied", + "type": "string", + "maxLength": 30 + }, + "comparisonOperator": { + "title": "Comparison Operator", + "description": "Comparison operator", + "type": "string", + "enum": [ + "equal", + "notEqual" + ], + "enumTitles": [ + "Equal", + "Not Equal" + ], + "enumDescriptions": [ + "Equal", + "Not Equal" + ], + "default": "equal" + }, + "filterValue": { + "title": "Filter Field Value", + "description": "Value used to build the where condition", + "type": "string", + "maxLength": 30 + }, + "expressionIndicator": { + "title": "Expression Indicator", + "description": "Expression indicator", + "type": "string", + "enum": [ + "beginOf", + "endOf" + ], + "enumTitles": [ + "Begin of Expression", + "End of Expression" + ], + "enumDescriptions": [ + "Begin of expression", + "End of Eexpression" + ], + "default": "beginOf" + } + }, + "additionalProperties": false + } + } + }, + "additionalProperties": false + } + }, + "representationTypes": { + "title": "Representation Types", + "description": "Assigned representation types", + "type": "array", + "uniqueItems": true, + "items": { + "title": "Representation Type", + "description": "Assigned representation type", + "type": "object", + "properties": { + "representationType": { + "title": "Assigned Representation Type", + "description": "Assigned representation type", + "type": "string", + "maxLength": 30 + } + }, + "additionalProperties": false + } + } + }, + "additionalProperties": false, + "required": [ + "comparisonType", + "description", + "positionNumber", + "className", + "dataSource", + "existenceCheck", + "checkAttributes", + "representationTypes" + ] + } + }, + "events": { + "title": "Events Assignment", + "description": "Assign events to consistency scenario", + "type": "array", + "uniqueItems": true, + "items": { + "title": "Assign Event", + "description": "Assign event to consistency scenario", + "type": "object", + "properties": { + "event": { + "title": "Event Name", + "description": "Event name", + "type": "string", + "maxLength": 25 + }, + "assignedComparison": { + "title": "Assign Checks and Comparison Type", + "description": "Assign Checks and Comparison Type", + "type": "array", + "uniqueItems": true, + "items": { + "title": "Assigned Comparison", + "description": "Assigned comparison", + "type": "object", + "properties": { + "comparisonType": { + "title": "Comparison Type", + "description": "Comparison type", + "type": "string", + "maxLength": 30 + }, + "checkId": { + "title": "Check Id", + "description": "Check id", + "type": "string", + "maxLength": 30 + } + }, + "additionalProperties": false + } + }, + "checkRelevance": { + "title": "Check Relevance", + "description": "Define relevance of checks", + "type": "array", + "uniqueItems": true, + "items": { + "title": "Check Relevance", + "description": "Define relevance of check", + "type": "object", + "properties": { + "comparisonType": { + "title": "Comparison Type", + "description": "Comparison type", + "type": "string", + "maxLength": 30 + }, + "checkId": { + "title": "Check Id", + "description": "Check id", + "type": "string", + "maxLength": 30 + }, + "relevance": { + "title": "Relevance", + "description": "Relevance", + "type": "string", + "enum": [ + "relevant", + "notRelevant", + "unchanged" + ], + "enumTitles": [ + "Relevant", + "Not Relevant", + "Unchanged" + ], + "enumDescriptions": [ + "Relevant", + "Not relevant", + "Unchanged" + ], + "default": "unchanged" + } + }, + "additionalProperties": false, + "required": [ + "comparisonType", + "checkId" + ] + } + } + }, + "additionalProperties": false + } + }, + "relationshipAttribute": { + "title": "Representation Types", + "description": "Assign representation types associated with consistency scenario", + "type": "array", + "uniqueItems": true, + "items": { + "title": "Representation Type", + "description": "Assign representation type associated with consistency scenario", + "type": "object", + "properties": { + "representationType": { + "title": "Representation Type", + "description": "Representation type", + "type": "string", + "maxLength": 30 + } + }, + "additionalProperties": false + } + }, + "edocumentTypes": { + "title": "eDocument Type Assignment", + "description": "Assign eDocument types associated with consistency scenario", + "type": "array", + "uniqueItems": true, + "items": { + "title": "eDocument Type Assignment", + "description": "Assign eDocument types associated with consistency scenario", + "type": "object", + "properties": { + "edocType": { + "title": "eDocument Type", + "description": "eDocument Type", + "type": "string", + "maxLength": 10 + } + }, + "additionalProperties": false + } + }, + "inconsistencyCategories": { + "title": "Inconsistency Categories", + "description": "Inconsistency categories", + "type": "array", + "uniqueItems": true, + "items": { + "title": "Inconsistency Category", + "description": "Inconsistency category", + "type": "object", + "properties": { + "resultUiGroup": { + "title": "Inconsistency Category", + "description": "Inconsistency category", + "type": "string", + "maxLength": 20 + }, + "countryXtension": { + "title": "Country View Extension", + "description": "Country view extension", + "type": "string", + "maxLength": 30 + }, + "resultProcess": { + "title": "Result Processes", + "description": "Assign result process to the UI group", + "type": "array", + "uniqueItems": true, + "items": { + "title": "Result Process", + "description": "Assign result process to the UI group", + "type": "object", + "properties": { + "resultProcess": { + "title": "Result Process", + "description": "Result process", + "type": "string", + "maxLength": 10 + } + }, + "additionalProperties": false + } + } + }, + "additionalProperties": false + } + } + }, + "additionalProperties": false, + "required": [ + "formatVersion", + "header", + "country", + "comparisonTypes", + "relationshipAttribute", + "inconsistencyCategories" + ] +} diff --git a/file-formats/edcc/examples/z_aff_example_edcc.edcc.json b/file-formats/edcc/examples/z_aff_example_edcc.edcc.json new file mode 100644 index 000000000..8f41fb7a0 --- /dev/null +++ b/file-formats/edcc/examples/z_aff_example_edcc.edcc.json @@ -0,0 +1,144 @@ +{ + "formatVersion": "1", + "header": { + "description": "Sample Consistency Scenario", + "originalLanguage": "en", + "abapLanguageVersion": "cloudDevelopment" + }, + "country": "en", + "taxAuthorityMessages": [ + { + "messageType": "EXAMPLE_MESSAGE_TYPE", + "taxAuthorityDocumentType": "EXAMPLE_INVOICE" + } + ], + "taxAuthorityTables": [ + { + "tableName": "EXAMPLE_TAXAUTHORITY_TABLES" + } + ], + "comparisonTypes": [ + { + "comparisonType": "TaxAuthV/sEdoc", + "description": "Tax Authority V/s Edocument", + "positionNumber": "1", + "className": "CL_EDC_EXAMPLE_VALTYPE", + "dataSource": "CDS_COMPARISON_EXAMPLE", + "existenceCheck": { + "checkId": "EXISTENCE_CHECK", + "fieldName": "CDS_COMPARISON_EXAMPLE-FIELD1", + "fieldValue": "X", + "resultProcess": "EXMISMATCH" + }, + "statusCheck": [ + { + "checkId": "STATUS_MISMATCH", + "sequenceNumber": "1", + "sourceFieldName1": "CDS_EXAMPLE_FIELD1", + "sourceFieldValue1": "ACCEPTED", + "sourceFieldName2": "CDS_EXAMPLE_FIELD2", + "sourceFieldValue2": "REJECTED", + "resultProcess": "REJRESULT" + } + ], + "contentCheck": [ + { + "checkId": "CONTENT_CHECK", + "checkNumber": "1", + "dataSource": "CDS_CONTENT_CHECK", + "additionalDescription": "Description for UI", + "contentComparisonFieldGroup": [ + { + "fieldGroup": "EXMPL_FIELDGRP1", + "description": "Description of Field Group", + "fieldGroupLevel": "header", + "checkFormula": "field", + "resultProcess": "EXCONTENT", + "comparisonField": [ + { + "representationType": "EDOCUMENT", + "fieldName": "CDS_TAX_FIELD1", + "comparisonSequence": "1" + }, + { + "representationType": "TAXAUTHDOC", + "fieldName": "CDS_TAXAUTH_TAXFIELD1", + "comparisonSequence": "2" + } + ] + } + ] + } + ], + "checkAttributes": [ + { + "checkId": "EXISTENCE_CHECK", + "positionNumber": "1", + "executionSequence": "1", + "executionControl": "proceed" + }, + { + "checkId": "STATUS_MISMATCH", + "positionNumber": "2", + "executionSequence": "2", + "executionControl": "noProceed" + }, + { + "checkId": "CONTENT_CHECK", + "positionNumber": "3", + "executionSequence": "3", + "executionControl": "noProceed" + } + ], + "representationTypes": [ + { + "representationType": "EDOCUMENT" + }, + { + "representationType": "TAXAUTHDOC" + } + ] + } + ], + "events": [ + { + "event": "EDOC_SUBMIT", + "assignedComparison": [ + { + "comparisonType": "TaxAuthV/sEdoc" + } + ], + "checkRelevance": [ + { + "comparisonType": "TaxAuthV/sEdoc", + "checkId": "EXISTENCE_CHECK", + "relevance": "relevant" + } + ] + } + ], + "relationshipAttribute": [ + { + "representationType": "EDOCUMENT" + }, + { + "representationType": "TAXAUTHDOC" + } + ], + "edocumentTypes": [ + { + "edocType": "EXEDOCTYPE" + } + ], + "inconsistencyCategories": [ + { + "resultUiGroup": "EDOC_MISSING", + "countryXtension": "X_CDS_EXAMPLE_EXTENSION", + "resultProcess": [ + { + "resultProcess": "EXMISMATCH" + } + ] + } + ] +} diff --git a/file-formats/edcc/type/zif_aff_edcc_v1.intf.abap b/file-formats/edcc/type/zif_aff_edcc_v1.intf.abap new file mode 100644 index 000000000..d8a32fe70 --- /dev/null +++ b/file-formats/edcc/type/zif_aff_edcc_v1.intf.abap @@ -0,0 +1,588 @@ +INTERFACE zif_aff_edcc_v1 + PUBLIC. + + + "!

Description

+ "! Description + TYPES ty_short_description TYPE c LENGTH 30. + TYPES: + "!

Tax Authority Message Type

+ "! Tax authority message type + BEGIN OF ty_message, + "!

Message Type

+ "! Message type + "! $required + message_type TYPE c LENGTH 20, + "!

Tax Authority Document Type

+ "! Tax authority document type + "! $required + tax_authority_document_type TYPE c LENGTH 20, + END OF ty_message. + "!

Tax Authority Message Types

+ "! Tax authority message types + TYPES ty_messages TYPE SORTED TABLE OF ty_message WITH UNIQUE KEY message_type. + TYPES: + "!

Additional Tax Authority Table

+ "! Additional tax authority table + BEGIN OF ty_tax_authority_table, + "!

Table Name

+ "! Table name + table_name TYPE zif_aff_types_v1=>ty_object_name_30, + END OF ty_tax_authority_table. + "!

Additional Tax Authority Tables

+ "! Additional tax authority tables + TYPES ty_tax_authority_tables TYPE SORTED TABLE OF ty_tax_authority_table WITH UNIQUE KEY table_name. + "!

Position Number

+ "! Position number + TYPES ty_position_number TYPE c LENGTH 2. + "!

Result Process

+ "! Result process + TYPES ty_result_process TYPE c LENGTH 10. + "!

Field Value

+ "! Field value + TYPES ty_field_value TYPE c LENGTH 40. + "!

Sequence Number

+ "! Sequence number + TYPES ty_sequence_number TYPE c LENGTH 3. + "!

Check Number

+ "! Check number + TYPES ty_check_number TYPE c LENGTH 5. + "!

Description

+ "! Description + TYPES ty_long_description TYPE c LENGTH 120. + TYPES: + "!

Existence Check

+ "! Assigned existence check + BEGIN OF ty_existence_check, + "!

Check Id

+ "! Check id + check_id TYPE zif_aff_types_v1=>ty_object_name_30, + "!

Field Name

+ "! Field name + field_name TYPE zif_aff_types_v1=>ty_object_name_30, + "!

Field Value

+ "! Field value + field_value TYPE ty_field_value, + "!

Result Process

+ "! Result process + result_process TYPE ty_result_process, + END OF ty_existence_check. + TYPES: + "!

Status Check

+ "! Status check + BEGIN OF ty_status_check, + "!

Check Id

+ "! Check id + check_id TYPE zif_aff_types_v1=>ty_object_name_30, + "!

Sequence Number

+ "! Sequence number + sequence_number TYPE ty_sequence_number, + "!

Source Field Name 1

+ "! Source field name 1 + source_field_name_1 TYPE zif_aff_types_v1=>ty_object_name_30, + "!

Source Field Value 1

+ "! Source field value 1 + source_field_value_1 TYPE ty_field_value, + "!

Source Field Name 2

+ "! Source field name 2 + source_field_name_2 TYPE zif_aff_types_v1=>ty_object_name_30, + "!

Source Field Value 2

+ "! Source field value 2 + source_field_value_2 TYPE ty_field_value, + "!

Result Process

+ "! Result process + result_process TYPE ty_result_process, + END OF ty_status_check. + "!

Status Checks

+ "! Assigned status checks + TYPES ty_status_checks TYPE SORTED TABLE OF ty_status_check WITH UNIQUE KEY check_id sequence_number. + "!

Mismatch Field Group

+ "! Comparison field group for mismatched fields + TYPES ty_field_group TYPE c LENGTH 20. + "!

Field Group Level

+ "! Level of comparison field group + "! $values {@link zif_aff_edcc_v1.data:co_field_group_level} + "! $default {@link zif_aff_edcc_v1.data:co_field_group_level.header} + TYPES ty_field_group_level TYPE c LENGTH 1. + TYPES ty_comparison_sequence TYPE c LENGTH 5. + "!

Check Formula

+ "! Formula applied to perform the content check on the field group + "! $values {@link zif_aff_edcc_v1.data:co_check_formula} + "! $default {@link zif_aff_edcc_v1.data:co_check_formula.field} + TYPES ty_check_formula TYPE c LENGTH 1. + TYPES: + "!

Comparison Field Name

+ "! Field Names whose values will be compared + BEGIN OF ty_comparison_field, + "!

Representation Type

+ "! Representation type + representation_type TYPE zif_aff_types_v1=>ty_object_name_30, + "!

Field Name

+ "! Field name to be compared + field_name TYPE zif_aff_types_v1=>ty_object_name_30, + "!

Comparison Sequence

+ "! Comparison sequence + comparison_sequence TYPE ty_comparison_sequence, + END OF ty_comparison_field. + "!

Comparison Field Name

+ "! Field Names whose values will be compared + TYPES ty_comparison_fields TYPE SORTED TABLE OF ty_comparison_field WITH UNIQUE KEY representation_type. + TYPES: + "!

Comparison Field Group

+ "! Comparison field group + BEGIN OF ty_comparison_field_group, + "!

Mismatch Field Group

+ "! Comparison field group for mismatched fields + field_group TYPE ty_field_group, + "!

Description

+ "! Mismatch field group description + description TYPE ty_short_description, + "!

Field Group Level

+ "! Level of comparison field group + field_group_level TYPE ty_field_group_level, + "!

Check Formula

+ "! Formula applied to perform the content check on the field group + check_formula TYPE ty_check_formula, + "!

Result Process

+ "! Result process + result_process TYPE ty_result_process, + "!

Comparison Field Name

+ "! Field Names whose values will be compared + comparison_field TYPE ty_comparison_fields, + END OF ty_comparison_field_group. + "!

Comparison Field Groups

+ "! Comparison field groups + TYPES ty_comparison_field_groups TYPE SORTED TABLE OF ty_comparison_field_group WITH UNIQUE KEY field_group. + TYPES: + "!

Content Check

+ "! Content check + BEGIN OF ty_content_check, + "!

Check Id

+ "! Check id + check_id TYPE zif_aff_types_v1=>ty_object_name_30, + "!

Check Number

+ "! Check number + check_number TYPE ty_check_number, + "!

Additional Data Source

+ "! Additional data source + data_source TYPE zif_aff_types_v1=>ty_object_name_30, + "!

Additional Description

+ "! Additional check description + additional_description TYPE zif_aff_types_v1=>ty_description_60, + "!

Comparison Field Groups

+ "! Comparison field groups + content_comparison_field_group TYPE ty_comparison_field_groups, + END OF ty_content_check. + "!

Content Checks

+ "! Assigned content checks + TYPES ty_content_checks TYPE SORTED TABLE OF ty_content_check WITH UNIQUE KEY check_id check_number. + "!

Filter Operation

+ "! Operand to build the where condition + "! $values {@link zif_aff_edcc_v1.data:co_filter_operation} + "! $default {@link zif_aff_edcc_v1.data:co_filter_operation.and} + TYPES ty_filter_operation TYPE c LENGTH 3. + "!

Comparison Operator

+ "! Comparison operator + "! $values {@link zif_aff_edcc_v1.data:co_compare_operation} + "! $default {@link zif_aff_edcc_v1.data:co_compare_operation.equal} + TYPES ty_comparison_operator TYPE c LENGTH 3. + "!

Filter Field Value

+ "! Value used to build the where condition + TYPES ty_filter_value TYPE c LENGTH 30. + "!

Expression Indicator

+ "! Expression indicator + "! $values {@link zif_aff_edcc_v1.data:co_expression} + "! $default {@link zif_aff_edcc_v1.data:co_expression.begin_of} + TYPES ty_expression_indicator TYPE c LENGTH 3. + TYPES: + "!

Selection Filters on Check

+ "! Selection filters on check + BEGIN OF ty_check_filter, + "!

Sequence Number

+ "! Sequence number + sequence_number TYPE ty_sequence_number, + "!

Filter Operation

+ "! Operand to build the where condition + filter_operation TYPE ty_filter_operation, + "!

Filter Field

+ "! Field on which where condition would be applied + filter_field TYPE zif_aff_types_v1=>ty_object_name_30, + "!

Comparison Operator

+ "! Comparison operator + comparison_operator TYPE ty_comparison_operator, + "!

Filter Field Value

+ "! Value used to build the where condition + filter_value TYPE ty_filter_value, + "!

Expression Indicator

+ "! Expression indicator + expression_indicator TYPE ty_expression_indicator, + END OF ty_check_filter. + "!

Selection Filters on Check

+ "! Selection filters on check + TYPES ty_check_filters TYPE SORTED TABLE OF ty_check_filter WITH UNIQUE KEY sequence_number. + "!

Position Number

+ "! Position number + TYPES ty_check_position_number TYPE c LENGTH 3. + "!

Check Execution Sequence

+ "! Check execution sequence + TYPES ty_execution_sequence TYPE c LENGTH 3. + "!

Check Execution Control

+ "! Check execution control + "! $values {@link zif_aff_edcc_v1.data:co_execution_control} + "! $default {@link zif_aff_edcc_v1.data:co_execution_control.proceed} + TYPES ty_execution_control TYPE c LENGTH 2. + TYPES: + "!

Check Attribute

+ "! Check attribute + BEGIN OF ty_check_attribute, + "!

Check Id

+ "! Check id + check_id TYPE zif_aff_types_v1=>ty_object_name_30, + "!

Position Number

+ "! Position number + position_number TYPE ty_check_position_number, + "!

Check Execution Sequence

+ "! Check execution sequence + execution_sequence TYPE ty_execution_sequence, + "!

Check Execution Control

+ "! Check execution control + execution_control TYPE ty_execution_control, + "!

Selection Filters on Check

+ "! Selection filters on check + check_filter TYPE ty_check_filters, + END OF ty_check_attribute. + "!

Check Attributes

+ "! Check attributes + TYPES ty_check_attributes TYPE SORTED TABLE OF ty_check_attribute WITH UNIQUE KEY check_id. + TYPES: + "!

Representation Type

+ "! Assigned representation type + BEGIN OF ty_representation_type, + "!

Assigned Representation Type

+ "! Assigned representation type + representation_type TYPE zif_aff_types_v1=>ty_object_name_30, + END OF ty_representation_type. + "!

Representation Types

+ "! Assigned representation types + TYPES ty_representation_types TYPE SORTED TABLE OF ty_representation_type WITH UNIQUE KEY representation_type. + TYPES: + "!

Comparison Type

+ "! Comparison type + BEGIN OF ty_comparison_type, + "!

Comparison Type

+ "! Comparison type + "! $required + comparison_type TYPE zif_aff_types_v1=>ty_object_name_30, + "!

Comparison Type Description

+ "! Description of the comparison type + "! $required + description TYPE ty_long_description, + "!

Position Number

+ "! Position number + "! $required + position_number TYPE ty_position_number, + "!

Implementing Class

+ "! Implementing Class + "! $required + class_name TYPE zif_aff_types_v1=>ty_object_name_30, + "!

Data Source

+ "! Data Source + "! $required + data_source TYPE zif_aff_types_v1=>ty_object_name_30, + "!

Existence Check

+ "! Assigned existence check + "! $required + existence_check TYPE ty_existence_check, + "!

Status Checks

+ "! Assigned status checks + status_check TYPE ty_status_checks, + "!

Content Checks

+ "! Assigned content checks + content_check TYPE ty_content_checks, + "!

Check Attributes

+ "! Check attributes + "! $required + check_attributes TYPE ty_check_attributes, + "!

Representation Types

+ "! Assigned representation types + "! $required + representation_types TYPE ty_representation_types, + END OF ty_comparison_type. + "!

Comparison Types

+ "! Define comparison types + TYPES ty_comparison_types TYPE SORTED TABLE OF ty_comparison_type WITH UNIQUE KEY comparison_type. + "!

Relevance

+ "! Relevance + "! $values {@link zif_aff_edcc_v1.data:co_relevance} + "! $default {@link zif_aff_edcc_v1.data:co_relevance.unchanged} + TYPES ty_relevance TYPE c LENGTH 1. + "!

Event Name

+ "! Event name + TYPES ty_event_name TYPE c LENGTH 25. + TYPES: + "!

Assigned Comparison

+ "! Assigned comparison + BEGIN OF ty_assigned_comparison, + "!

Comparison Type

+ "! Comparison type + comparison_type TYPE zif_aff_types_v1=>ty_object_name_30, + "!

Check Id

+ "! Check id + check_id TYPE zif_aff_types_v1=>ty_object_name_30, + END OF ty_assigned_comparison. + "!

Assign Checks and Comparison Type

+ "! Assign Checks and Comparison Type + TYPES ty_assigned_comparisons TYPE SORTED TABLE OF ty_assigned_comparison WITH UNIQUE KEY + comparison_type check_id. + TYPES: + "!

Check Relevance

+ "! Define relevance of check + BEGIN OF ty_check_relevance, + "!

Comparison Type

+ "! Comparison type + "! $required + comparison_type TYPE zif_aff_types_v1=>ty_object_name_30, + "!

Check Id

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

Relevance

+ "! Relevance + relevance TYPE ty_relevance, + END OF ty_check_relevance. + "!

Check Relevance

+ "! Define relevance of checks + TYPES ty_check_relevances TYPE SORTED TABLE OF ty_check_relevance WITH UNIQUE KEY + comparison_type check_id. + TYPES: + "!

Assign Event

+ "! Assign event to consistency scenario + BEGIN OF ty_event, + "!

Event Name

+ "! Event name + event TYPE ty_event_name, + "!

Assign Checks and Comparison Type

+ "! Assign Checks and Comparison Type + assigned_comparison TYPE ty_assigned_comparisons, + "!

Check Relevance

+ "! Define relevance of checks + check_relevance TYPE ty_check_relevances, + END OF ty_event. + "!

Assign Events

+ "! Assign events to consistency scenario + TYPES ty_events TYPE SORTED TABLE OF ty_event WITH UNIQUE KEY event. + TYPES: + "!

Representation Type

+ "! Assign representation type associated with consistency scenario + BEGIN OF ty_relationship_attribute, + "!

Representation Type

+ "! Representation type + representation_type TYPE zif_aff_types_v1=>ty_object_name_30, + END OF ty_relationship_attribute. + "!

Representation Types

+ "! Assign representation types associated with consistency scenario + TYPES ty_relationship_attributes TYPE SORTED TABLE OF ty_relationship_attribute WITH UNIQUE KEY representation_type. + TYPES: + "!

eDocument Type Assignment

+ "! Assign eDocument types associated with consistency scenario + BEGIN OF ty_edoc_type, + "!

eDocument Type

+ "! eDocument Type + edoc_type TYPE c LENGTH 10, + END OF ty_edoc_type. + "!

eDocument Type Assignment

+ "! Assign eDocument types associated with consistency scenario + TYPES ty_edoc_types TYPE SORTED TABLE OF ty_edoc_type WITH UNIQUE KEY edoc_type. + "!

Inconsistency Category

+ "! Inconsistency category + TYPES ty_resultgroup TYPE c LENGTH 20. + TYPES: + "!

Result Process

+ "! Assign result process to the UI group + BEGIN OF ty_results_process, + result_process TYPE ty_result_process, + END OF ty_results_process. + "!

Result Processes

+ "! Assign result process to the UI group + TYPES ty_result_processes TYPE SORTED TABLE OF ty_results_process WITH UNIQUE KEY result_process. + TYPES: + "!

Inconsistency Category

+ "! Inconsistency category + BEGIN OF ty_inconsistency_category, + "!

Inconsistency Category

+ "! Inconsistency category + result_ui_group TYPE ty_resultgroup, + "!

Country View Extension

+ "! Country view extension + country_xtension TYPE zif_aff_types_v1=>ty_object_name_30, + "!

Result Processes

+ "! Assign result process to the UI group + result_process TYPE ty_result_processes, + END OF ty_inconsistency_category. + "!

Inconsistency Categories

+ "! Inconsistency categories + TYPES ty_inconsistency_categories TYPE SORTED TABLE OF ty_inconsistency_category WITH UNIQUE KEY result_ui_group. + "!

Field Type

+ "! Field type + "! $values {@link zif_aff_edcc_v1.data:co_field_type} + "! $default {@link zif_aff_edcc_v1.data:co_field_type.select_options} + TYPES ty_field_type TYPE c LENGTH 1. + TYPES: + "!

Additional Selection Field

+ "! Additional selection fields of validation report + BEGIN OF ty_additional_selection_field, + "!

Table Name

+ "! Table name + table_name TYPE zif_aff_types_v1=>ty_object_name_30, + "!

Field Name

+ "! Field name + field_name TYPE zif_aff_types_v1=>ty_object_name_30, + "!

Field Type

+ "! Field type + field_type TYPE ty_field_type, + END OF ty_additional_selection_field. + "!

Additional Selection Fields

+ "! Additional selection fields of validation report + TYPES ty_additional_selection_fields TYPE SORTED TABLE OF ty_additional_selection_field WITH UNIQUE KEY + table_name field_name. + TYPES: + "!

Consistency Scenario

+ "! Consistency scenario + 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, + "!

Country

+ "! Country + "! $required + country TYPE c LENGTH 3, + "!

Additional Selection Fields

+ "! Additional selection fields of validation report + additional_selection_fields TYPE ty_additional_selection_fields, + "!

Tax Authority Message Types

+ "! Tax authority message types + tax_authority_messages TYPE ty_messages, + "!

Additional Tax Authority Tables

+ "! Additional tax authority tables + tax_authority_tables TYPE ty_tax_authority_tables, + "!

Comparison Types

+ "! Define comparison types + "! $required + comparison_types TYPE ty_comparison_types, + "!

Events Assignment

+ "! Assign events to consistency scenario + events TYPE ty_events, + "!

Representation Types

+ "! Assign representation types associated with consistency scenario + "! $required + relationship_attribute TYPE ty_relationship_attributes, + "!

eDocument Type Assignment

+ "! Assign eDocument types associated with consistency scenario + edocument_types TYPE ty_edoc_types, + "!

Inconsistency Categories

+ "! Inconsistency categories + "! $required + inconsistency_categories TYPE ty_inconsistency_categories, + END OF ty_main. + + CONSTANTS: + "!

Field Type

+ "! Field type + BEGIN OF co_field_type, + "!

Selection Option

+ "! Selection option + select_options TYPE ty_field_type VALUE 'S', + "!

Parameter Single Value

+ "! Parameter single value + parameter_single_value TYPE ty_field_type VALUE 'N', + "!

Parameter Multiple Values

+ "! Parameter multiple values + parameter_multiple_values TYPE ty_field_type VALUE 'P', + END OF co_field_type. + CONSTANTS: + "!

Check Formula

+ "! Formula applied to perform the content check on the field group + BEGIN OF co_check_formula, + "!

Field to Field Comparison

+ "! Field to field comparison + field TYPE ty_check_formula VALUE '1', + "!

Amount Comparison with Absolute Tolerance

+ "! Amount comparison with absolute tolerance + field_with_abs_tolerance TYPE ty_check_formula VALUE '2', + "!

Amount Comparison without Absolute Tolerance

+ "! Amount comparison without absolute tolerance + field_without_abs_tolerance TYPE ty_check_formula VALUE '3', + END OF co_check_formula. + CONSTANTS: + "!

Field Group Level

+ "! Level of comparison field group + BEGIN OF co_field_group_level, + "!

Header

+ "! Header + header TYPE ty_field_group_level VALUE 'H', + "!

Item

+ "! Item + item TYPE ty_field_group_level VALUE 'I', + END OF co_field_group_level. + CONSTANTS: + "!

Filter Operation

+ "! Operand to build the where condition + BEGIN OF co_filter_operation, + "!

And

+ "! And + and TYPE ty_filter_operation VALUE 'AND', + "!

Or

+ "! Or + or TYPE ty_filter_operation VALUE 'OR', + END OF co_filter_operation. + CONSTANTS: + "!

Expression Indicator

+ "! Expression indicator + BEGIN OF co_expression, + "!

Begin of Expression

+ "! Begin of expression + begin_of TYPE ty_expression_indicator VALUE '/', + "!

End of Expression

+ "! End of Eexpression + end_of TYPE ty_expression_indicator VALUE '\', + END OF co_expression. + CONSTANTS: + "!

Comparison Operator

+ "! Comparison operator + BEGIN OF co_compare_operation, + "!

Equal

+ "! Equal + equal TYPE ty_comparison_operator VALUE '=', + "!

Not Equal

+ "! Not Equal + not_equal TYPE ty_comparison_operator VALUE '<>', + END OF co_compare_operation. + CONSTANTS: + "!

Check Execution Control

+ "! Check execution control + BEGIN OF co_execution_control, + "!

No Check

+ "! Proceed with check even when inconsistency is identified + proceed TYPE ty_execution_control VALUE '00', + "!

Proceed If No Inconsistency Identified From Previous Check

+ "! Proceed If No Inconsistency Identified From Previous Check + no_proceed TYPE ty_execution_control VALUE '01', + END OF co_execution_control. + CONSTANTS: + "!

Relevance

+ "! Relevance + BEGIN OF co_relevance, + "!

Relevant

+ "! Relevant + relevant TYPE ty_relevance VALUE 'R', + "!

Not Relevant

+ "! Not relevant + not_relevant TYPE ty_relevance VALUE 'N', + "!

Unchanged

+ "! Unchanged + unchanged TYPE ty_relevance VALUE 'U', + END OF co_relevance. +ENDINTERFACE. diff --git a/file-formats/edcc/type/zif_aff_edcc_v1.intf.json b/file-formats/edcc/type/zif_aff_edcc_v1.intf.json new file mode 100644 index 000000000..c5d786815 --- /dev/null +++ b/file-formats/edcc/type/zif_aff_edcc_v1.intf.json @@ -0,0 +1,7 @@ +{ + "formatVersion": "1", + "header": { + "description": "AFF type for EDCC (Consistency Scenario)", + "originalLanguage": "en" + } +}