Skip to content

Commit a9943d9

Browse files
i506210schneidermic0wurzka
authored
[EDOI] Add new object types EDOI (#681)
Co-authored-by: Michael Schneider <[email protected]> Co-authored-by: Katharina Wurz <[email protected]>
1 parent 787809c commit a9943d9

File tree

5 files changed

+332
-0
lines changed

5 files changed

+332
-0
lines changed

file-formats/edoi/README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# EDOI File Format
2+
3+
File | Cardinality | Definition | Schema | Example
4+
:--- | :--- | :--- | :--- | :---
5+
`<name>.edoi.json` | 1 | [`zif_aff_edoi_v1.intf.abap`](./type/zif_aff_edoi_v1.intf.abap) | [`edoi-v1.json`](./edoi-v1.json) | [`z_aff_example_edoi.edoi.json`](./examples/z_aff_example_edoi.edoi.json)

file-formats/edoi/edoi-v1.json

Lines changed: 177 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,177 @@
1+
{
2+
"$comment": "This file is autogenerated, do not edit manually, see https://github.com/SAP/abap-file-formats for more information.",
3+
"$schema": "https://json-schema.org/draft/2020-12/schema",
4+
"$id": "https://github.com/SAP/abap-file-formats/blob/main/file-formats/edoi/edoi-v1.json",
5+
"title": "eDocument Interface",
6+
"description": "eDocument interface",
7+
"type": "object",
8+
"properties": {
9+
"formatVersion": {
10+
"title": "Format Version",
11+
"description": "Format version",
12+
"type": "string",
13+
"const": "1"
14+
},
15+
"header": {
16+
"title": "Header",
17+
"description": "Header",
18+
"type": "object",
19+
"properties": {
20+
"description": {
21+
"title": "Description",
22+
"description": "Description of the ABAP object",
23+
"type": "string",
24+
"maxLength": 100
25+
},
26+
"originalLanguage": {
27+
"title": "Original Language",
28+
"description": "Original language of the ABAP object",
29+
"type": "string",
30+
"minLength": 2
31+
},
32+
"abapLanguageVersion": {
33+
"title": "ABAP Language Version",
34+
"description": "ABAP language version",
35+
"type": "string",
36+
"enum": [
37+
"standard",
38+
"cloudDevelopment"
39+
],
40+
"enumTitles": [
41+
"Standard",
42+
"ABAP Cloud Development"
43+
],
44+
"enumDescriptions": [
45+
"Standard",
46+
"ABAP cloud development"
47+
],
48+
"default": "standard"
49+
}
50+
},
51+
"additionalProperties": false,
52+
"required": [
53+
"description",
54+
"originalLanguage"
55+
]
56+
},
57+
"generalInformation": {
58+
"title": "General Information",
59+
"description": "General information",
60+
"type": "object",
61+
"properties": {
62+
"direction": {
63+
"title": "Direction",
64+
"description": "Interface direction",
65+
"type": "string",
66+
"enum": [
67+
"outbound",
68+
"inbound"
69+
],
70+
"enumTitles": [
71+
"Outbound",
72+
"Inbound"
73+
],
74+
"enumDescriptions": [
75+
"Outbound",
76+
"Inbound"
77+
],
78+
"default": "outbound"
79+
}
80+
},
81+
"additionalProperties": false,
82+
"required": [
83+
"direction"
84+
]
85+
},
86+
"versions": {
87+
"title": "Versions",
88+
"description": "Interface versions",
89+
"type": "array",
90+
"uniqueItems": true,
91+
"items": {
92+
"title": "Version Details",
93+
"description": "eDocument interface version details",
94+
"type": "object",
95+
"properties": {
96+
"version": {
97+
"title": "Version",
98+
"description": "Version",
99+
"type": "integer",
100+
"minimum": 1,
101+
"maximum": 9999
102+
},
103+
"description": {
104+
"title": "Description",
105+
"description": "Description",
106+
"type": "string",
107+
"maxLength": 30
108+
},
109+
"activeFrom": {
110+
"title": "Active From",
111+
"description": "Active from",
112+
"type": "string",
113+
"format": "date-time"
114+
},
115+
"communicationAttributes": {
116+
"title": "Communication Integration Attributes",
117+
"description": "Communication integration attributes",
118+
"type": "object",
119+
"properties": {
120+
"processType": {
121+
"title": "Process Type",
122+
"description": "DRC process type",
123+
"type": "string",
124+
"maxLength": 50
125+
},
126+
"processVersion": {
127+
"title": "Process Version",
128+
"description": "DRC process version",
129+
"type": "string",
130+
"maxLength": 20
131+
},
132+
"processSubtype": {
133+
"title": "Process Subtype",
134+
"description": "DRC process subtype",
135+
"type": "string",
136+
"maxLength": 50
137+
},
138+
"drcAction": {
139+
"title": "Action",
140+
"description": "DRC process action",
141+
"type": "string",
142+
"maxLength": 30
143+
},
144+
"responseInterface": {
145+
"title": "Response Interface",
146+
"description": "eDoc response interface",
147+
"type": "string",
148+
"maxLength": 30
149+
},
150+
"responseInterfaceVersion": {
151+
"title": "Response Interface Version",
152+
"description": "Response interface version",
153+
"type": "integer",
154+
"minimum": 1,
155+
"maximum": 9999
156+
}
157+
},
158+
"additionalProperties": false
159+
}
160+
},
161+
"additionalProperties": false,
162+
"required": [
163+
"version",
164+
"description",
165+
"activeFrom"
166+
]
167+
}
168+
}
169+
},
170+
"additionalProperties": false,
171+
"required": [
172+
"formatVersion",
173+
"header",
174+
"generalInformation",
175+
"versions"
176+
]
177+
}
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
{
2+
"formatVersion": "1",
3+
"header": {
4+
"description": "France: Customer Invoice Request",
5+
"originalLanguage": "en"
6+
},
7+
"generalInformation": {
8+
"direction": "outbound"
9+
},
10+
"versions": [
11+
{
12+
"version": 1,
13+
"description": "Initial Version",
14+
"activeFrom": "01.01.2025",
15+
"communicationAttributes": {
16+
"processType": "CUSTOMER_INVOICE",
17+
"processVersion": "1.0.0",
18+
"processSubtype": "DOMESTIC",
19+
"drcAction": "TRANSMIT",
20+
"responseInterface": "INVOICER",
21+
"responseInterfaceVersion": 1
22+
}
23+
},
24+
{
25+
"version": 2,
26+
"description": "Version 2",
27+
"activeFrom": "01.07.2025",
28+
"communicationAttributes": {
29+
"processType": "CUSTOMER_INVOICE",
30+
"processVersion": "1.1.0",
31+
"processSubtype": "DOMESTIC",
32+
"drcAction": "TRANSMIT",
33+
"responseInterface": "INVOICER",
34+
"responseInterfaceVersion": 2
35+
}
36+
}
37+
]
38+
}
Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
INTERFACE zif_aff_edoi_v1 PUBLIC.
2+
3+
"! <p class="shorttext">Direction</p>
4+
"! Interface direction
5+
"! $values {@link zif_aff_edoi_v1.data:co_interface_direction}
6+
"! $default {@link zif_aff_edoi_v1.data:co_interface_direction.outbound}
7+
TYPES ty_direction TYPE c LENGTH 1.
8+
CONSTANTS:
9+
"! <p class="shorttext">Direction</p>
10+
"! Interface direction
11+
BEGIN OF co_interface_direction,
12+
"! <p class="shorttext">Outbound</p>
13+
"! Outbound
14+
outbound TYPE ty_direction VALUE 'O',
15+
"! <p class="shorttext">Inbound</p>
16+
"! Inbound
17+
inbound TYPE ty_direction VALUE 'I',
18+
END OF co_interface_direction.
19+
20+
TYPES:
21+
"! <p class="shorttext">General Information</p>
22+
"! General information
23+
BEGIN OF ty_general_information,
24+
"! <p class="shorttext">Direction</p>
25+
"! Interface direction
26+
"! $required
27+
direction TYPE ty_direction,
28+
END OF ty_general_information.
29+
30+
TYPES:
31+
"! <p class="shorttext">Communication Integration Attributes</p>
32+
"! Communication integration attributes
33+
BEGIN OF ty_communication_attributes,
34+
"! <p class="shorttext">Process Type</p>
35+
"! DRC process type
36+
process_type TYPE c LENGTH 50,
37+
"! <p class="shorttext">Process Version</p>
38+
"! DRC process version
39+
process_version TYPE c LENGTH 20,
40+
"! <p class="shorttext">Process Subtype</p>
41+
"! DRC process subtype
42+
process_subtype TYPE c LENGTH 50,
43+
"! <p class="shorttext">Action</p>
44+
"! DRC process action
45+
drc_action TYPE c LENGTH 30,
46+
"! <p class="shorttext">Response Interface</p>
47+
"! eDoc response interface
48+
response_interface TYPE c LENGTH 30,
49+
"! <p class="shorttext">Response Interface Version</p>
50+
"! Response interface version
51+
"! $minimum 1
52+
"! $maximum 9999
53+
response_interface_version TYPE i,
54+
END OF ty_communication_attributes.
55+
56+
TYPES:
57+
"! <p class="shorttext">Version Details</p>
58+
"! eDocument interface version details
59+
BEGIN OF ty_version_details,
60+
"! <p class="shorttext">Version</p>
61+
"! Version
62+
"! $required
63+
"! $minimum 1
64+
"! $maximum 9999
65+
version TYPE i,
66+
"! <p class="shorttext">Description</p>
67+
"! Description
68+
"! $required
69+
description TYPE c LENGTH 30,
70+
"! <p class="shorttext">Active From</p>
71+
"! Active from
72+
"! $required
73+
active_from TYPE sy-datum,
74+
"! <p class="shorttext">Communication Integration Attributes</p>
75+
"! Communication integration attributes
76+
communication_attributes TYPE ty_communication_attributes,
77+
END OF ty_version_details.
78+
"! <p class="shorttext">Versions</p>
79+
"! Interface versions
80+
TYPES ty_versions TYPE SORTED TABLE OF ty_version_details WITH UNIQUE KEY version.
81+
82+
TYPES:
83+
"! <p class="shorttext">eDocument Interface</p>
84+
"! eDocument interface
85+
BEGIN OF ty_main,
86+
"! <p class="shorttext">Format Version</p>
87+
"! Format version
88+
"! $required
89+
format_version TYPE zif_aff_types_v1=>ty_format_version,
90+
"! <p class="shorttext">Header</p>
91+
"! Header
92+
"! $required
93+
header TYPE zif_aff_types_v1=>ty_header_100_cloud,
94+
"! <p class="shorttext">General Information</p>
95+
"! General information
96+
"! $required
97+
general_information TYPE ty_general_information,
98+
"! <p class="shorttext">Versions</p>
99+
"! Interface versions
100+
"! $required
101+
versions TYPE ty_versions,
102+
103+
END OF ty_main.
104+
105+
ENDINTERFACE.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"formatVersion": "1",
3+
"header": {
4+
"description": "AFF for eDocument Interface (EDOI)",
5+
"originalLanguage": "en"
6+
}
7+
}

0 commit comments

Comments
 (0)