Skip to content

[EDOT] Add new object EDOT #682

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

Open
wants to merge 27 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all 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
5 changes: 5 additions & 0 deletions file-formats/edot/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# EDOT File Format

File | Cardinality | Definition | Schema | Example
:--- | :--- | :--- | :--- | :---
`<name>.edot.json` | 1 | [`zif_aff_edot_v1.intf.abap`](./type/zif_aff_edot_v1.intf.abap) | [`edot-v1.json`](./edot-v1.json)
166 changes: 166 additions & 0 deletions file-formats/edot/edot-v1.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,166 @@
{
"$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/edot/edot-v1.json",
"title": "eDocument Type",
"description": "eDocument type",
"type": "object",
"properties": {
"formatVersion": {
"title": "Format Version",
"description": "Format version",
"type": "string",
"const": "1"
},
"header": {
"title": "Header",
"description": "Header",
"type": "object",
"properties": {
"description": {
"title": "Description",
"description": "eDocument type description",
"type": "string",
"maxLength": 30
},
"originalLanguage": {
"title": "Original Language",
"description": "Original language of the eDocument type",
"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": {
"tableName": {
"title": "eDocument Table Name",
"description": "eDocument table name",
"type": "string",
"maxLength": 30
},
"isArchivePreprocessNeeded": {
"title": "Preprocess Before Archiving",
"description": "Preprocess before archiving",
"type": "boolean"
},
"isCreatedInContingencyMode": {
"title": "Created in Contingency Mode",
"description": "Created in contingency mode",
"type": "boolean"
},
"contingencyEdocType": {
"title": "Contingency eDocument Type",
"description": "Contingency eDocument type",
"type": "string",
"maxLength": 10
}
},
"additionalProperties": false
},
"readAccessLogConfigurations": {
"title": "Read Access Log Configurations",
"description": "Read access log configurations",
"type": "array",
"uniqueItems": true,
"items": {
"title": "Read Access Log Configuration",
"description": "Read access log configuration",
"type": "object",
"properties": {
"fileType": {
"title": "File Type",
"description": "File type",
"type": "string",
"maxLength": 10
},
"fileStructure": {
"title": "File Structure Type",
"description": "File structure type",
"type": "string",
"maxLength": 30
},
"fileDescription": {
"title": "File Description",
"description": "File description",
"type": "string",
"maxLength": 60
},
"isCloudRelevant": {
"title": "File Cloud Relevancy",
"description": "File cloud relevancy",
"type": "boolean"
}
},
"additionalProperties": false,
"required": [
"fileType",
"fileStructure"
]
}
},
"edocSpecAdditionalTables": {
"title": "eDocument Type Specific Additional Tables",
"description": "eDocument type specific additional tables",
"type": "array",
"uniqueItems": true,
"items": {
"title": "eDocument Type Specific Additional Tables",
"description": "eDocument type specific additional tables",
"type": "object",
"properties": {
"sequenceNumber": {
"title": "Sequence Number",
"description": "Sequence number",
"type": "integer",
"minimum": 1,
"maximum": 9999
},
"tableName": {
"title": "Table Name",
"description": "Table name",
"type": "string",
"maxLength": 30
}
},
"additionalProperties": false,
"required": [
"sequenceNumber",
"tableName"
]
}
}
},
"additionalProperties": false,
"required": [
"formatVersion",
"header",
"generalInformation"
]
}
26 changes: 26 additions & 0 deletions file-formats/edot/examples/z_aff_example_edot.edot_json
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
{
"formatVersion": "1",
"header": {
"description": "Example EDOT for file formats",
"originalLanguage": "en"
},
"generalInformation": {
"tableName": "EDOFRINV",
"isArchivePreprocessNeeded": false,
"isCreatedInContingencyMode": false
},
"readAccessLogConfigurations": [
{
"fileType": "REQUEST",
"fileStructure": "EDO_FR_INV_INVOICE_TYPE",
"fileDescription": "eDocument France: Invoice Request",
"isCloudRelevant": false
}
],
"edocSpecAdditionalTables": [
{
"sequenceNumber": 1,
"tableName": "EDOFRINV1"
}
]
}
104 changes: 104 additions & 0 deletions file-formats/edot/type/zif_aff_edot_v1.intf.abap
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
"! <p class="shorttext synchronized">AFF for eDocument Type (EDOT)</p>
"! eDocument types that can be used in eInvoice process
INTERFACE zif_aff_edot_v1
PUBLIC.

TYPES:
"! <p class="shorttext">Read Access Log Configuration</p>
"! Read access log configuration
BEGIN OF ty_read_access_log_config,
"! <p class="shorttext">File Type</p>
"! File type
"! $required
file_type TYPE c LENGTH 10,
"! <p class="shorttext">File Structure Type</p>
"! File structure type
"! $required
file_structure TYPE c LENGTH 30,
"! <p class="shorttext">File Description</p>
"! File description
file_description TYPE c LENGTH 60,
"! <p class="shorttext">File Cloud Relevancy</p>
"! File cloud relevancy
is_cloud_relevant TYPE abap_bool,
END OF ty_read_access_log_config.
"! <p class="shorttext">Read Access Log Configurations</p>
"! Read access log configurations
TYPES ty_read_access_log_configs TYPE SORTED TABLE OF ty_read_access_log_config WITH UNIQUE KEY file_type.
TYPES:
"! <p class="shorttext">eDocument Type Specific Additional Tables</p>
"! eDocument type specific additional tables
BEGIN OF ty_additional_table,
"! <p class="shorttext">Sequence Number</p>
"! Sequence number
"! $required
"! $minimum 1
"! $maximum 9999
sequence_number TYPE i,
"! <p class="shorttext">Table Name</p>
"! Table name
"! $required
table_name TYPE zif_aff_types_v1=>ty_object_name_30,
END OF ty_additional_table.
"! <p class="shorttext">Read Access Log Configuration</p>
"! Read access log configuration
TYPES ty_additional_tables TYPE SORTED TABLE OF ty_additional_table WITH UNIQUE KEY sequence_number.
TYPES:
"! <p class="shorttext">General Information</p>
"! General information
BEGIN OF ty_general_information,
"! <p class="shorttext">eDocument Table Name</p>
"! eDocument table name
table_name TYPE zif_aff_types_v1=>ty_object_name_30,
"! <p class="shorttext">Preprocess Before Archiving</p>
"! Preprocess before archiving
is_archive_preprocess_needed TYPE abap_bool,
"! <p class="shorttext">Created in Contingency Mode</p>
"! Created in contingency mode
is_created_in_contingency_mode TYPE abap_bool,
"! <p class="shorttext">Contingency eDocument Type</p>
"! Contingency eDocument type
contingency_edoc_type TYPE c LENGTH 10,
END OF ty_general_information.
TYPES:
"! <p class="shorttext">Header for EDOT object</p>
"! The header for an ABAP main object (without source code) with a description of 30 characters (no key user)
BEGIN OF ty_header_30_cloud,
"! <p class="shorttext">Description</p>
"! eDocument type description
"! $required
description TYPE c LENGTH 30,
"! <p class="shorttext">Original Language</p>
"! Original language of the eDocument type
"! $required
original_language TYPE sy-langu,
"! <p class="shorttext">ABAP Language Version</p>
"! ABAP language version
"! $values {@link zif_aff_types_v1.data:co_abap_language_version_cloud}
"! $default {@link zif_aff_types_v1.data:co_abap_language_version_cloud.standard}
abap_language_version TYPE zif_aff_types_v1=>ty_abap_language_version_cloud,
END OF ty_header_30_cloud.
TYPES:
"! <p class="shorttext">eDocument Type</p>
"! eDocument type
BEGIN OF ty_main,
"! <p class="shorttext">Format Version</p>
"! Format version
"! $required
format_version TYPE zif_aff_types_v1=>ty_format_version,
"! <p class="shorttext">Header</p>
"! Header
"! $required
header TYPE ty_header_30_cloud,
"! <p class="shorttext">General Information</p>
"! General information
"! $required
general_information TYPE ty_general_information,
"! <p class="shorttext">Read Access Log Configurations</p>
"! Read access log configurations
read_access_log_configurations TYPE ty_read_access_log_configs,
"! <p class="shorttext">eDocument Type Specific Additional Tables</p>
"! eDocument type specific additional tables
edoc_spec_additional_tables TYPE ty_additional_tables,
END OF ty_main.
ENDINTERFACE.
7 changes: 7 additions & 0 deletions file-formats/edot/type/zif_aff_edot_v1.intf.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"formatVersion": "1",
"header": {
"description": "AFF for eDocument Type (EDOT)",
"originalLanguage": "en"
}
}
Loading