Skip to content

Commit

Permalink
Add new object logical external schema (DESD) (#618)
Browse files Browse the repository at this point in the history
Co-authored-by: Michael Schneider <micha.schneider@sap.com>
Co-authored-by: Katharina Wurz <katharina.wurz@sap.com>
Co-authored-by: Nicolas Huber <80829269+huber-nicolas@users.noreply.github.com>
  • Loading branch information
4 people authored Oct 7, 2024
1 parent 387c90a commit ede96b5
Show file tree
Hide file tree
Showing 5 changed files with 136 additions and 0 deletions.
5 changes: 5 additions & 0 deletions file-formats/desd/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# DESD File Format

File | Cardinality | Definition | Schema | Example
:--- | :--- | :--- | :--- | :---
`<name>.desd.json` | 1 | [`zif_aff_desd_v1.intf.abap`](./type/zif_aff_desd_v1.intf.abap) | [`desd-v1.json`](./desd-v1.json) | [`z_aff_example_desd.desd.json`](./examples/z_aff_example_desd.desd.json)
82 changes: 82 additions & 0 deletions file-formats/desd/desd-v1.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
{
"$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/desd/desd-v1.json",
"title": "CDS Logical External Schema",
"description": "CDS logical external schema",
"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": "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": {
"defaultRemoteSchemaName": {
"title": "Default Remote Schema",
"description": "Default remote database schema name when configuring the connection details of logical external schema.",
"type": "string",
"maxLength": 256
},
"usesRouting": {
"title": "Uses Routing",
"description": "If true, the logical external schema can only be used in routed scenarios.",
"type": "boolean"
}
},
"additionalProperties": false
}
},
"additionalProperties": false,
"required": [
"formatVersion",
"header"
]
}
7 changes: 7 additions & 0 deletions file-formats/desd/examples/z_aff_example_desd.desd.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"formatVersion": "1",
"header": {
"description": "Example DESD for ABAP file format",
"originalLanguage": "en"
}
}
35 changes: 35 additions & 0 deletions file-formats/desd/type/zif_aff_desd_v1.intf.abap
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
INTERFACE zif_aff_desd_v1
PUBLIC.

TYPES:

"! <p class="shorttext">General Information</p>
"! General information
BEGIN OF ty_general_information,
"! <p class="shorttext">Default Remote Schema</p>
"! Default remote database schema name when configuring the connection
"! details of logical external schema.
default_remote_schema_name TYPE c LENGTH 256,
"! <p class="shorttext">Uses Routing</p>
"! If true, the logical external schema can only be used
"! in routed scenarios.
uses_routing TYPE abap_bool,
END OF ty_general_information,

"! <p class="shorttext">CDS Logical External Schema</p>
"! CDS logical external schema
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 zif_aff_types_v1=>ty_header_60_cloud,
"! <p class="shorttext">General Information</p>
"! General information
general_information TYPE ty_general_information,
END OF ty_main.

ENDINTERFACE.
7 changes: 7 additions & 0 deletions file-formats/desd/type/zif_aff_desd_v1.intf.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"formatVersion": "1",
"header": {
"description": "ABAP file format of DESD objects",
"originalLanguage": "en"
}
}

0 comments on commit ede96b5

Please sign in to comment.