Skip to content

Commit

Permalink
File Format for DDLX (CDS Metadata Extensions) (#292)
Browse files Browse the repository at this point in the history
* File Format for DDLX (CDS Metadata Extensions)

* Fix linter errors

* Change file extension from .cds to .acds

Co-authored-by: Albert Mink <[email protected]>
  • Loading branch information
BeckerWdf and albertmink authored Feb 7, 2022
1 parent aae14a5 commit 3e177b8
Show file tree
Hide file tree
Showing 6 changed files with 110 additions and 0 deletions.
7 changes: 7 additions & 0 deletions file-formats/ddlx/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# DDLX File Format


File | Cardinality | Definition | Schema | Example
:--- | :--- | :--- | :--- | :---
`<name>.ddlx.json` | 1 | [`zif_aff_ddlx_v1.intf.abap`](./type/zif_aff_ddlx_v1.intf.abap) | [`ddlx-v1.json`](./ddlx-v1.json) | [`z_aff_example_ddlx.ddlx.json`](./examples/z_aff_example_ddlx.ddlx.json)
`<name>.ddlx.acds` | 1 | [CDS](https://help.sap.com/doc/abapdocu_cp_index_htm/CLOUD/en-US/index.htm?file=abencds.htm) | | [`z_aff_example_ddlx.ddlx.acds`](./examples/z_aff_example_ddlx.ddlx.acds)
68 changes: 68 additions & 0 deletions file-formats/ddlx/ddlx-v1.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
{
"$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/ddlx/ddlx-v1.json",
"title": "Object Type DDLX",
"description": "DDLX object type",
"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,
"maxLength": 2,
"pattern": "^[a-z]+$"
},
"abapLanguageVersion": {
"title": "ABAP Language Version",
"description": "ABAP language version",
"type": "string",
"enum": [
"standard",
"keyUser",
"cloudDevelopment"
],
"enumTitles": [
"Standard",
"ABAP for Key Users",
"ABAP Cloud Development"
],
"enumDescriptions": [
"Standard",
"ABAP for key user extensibility",
"ABAP cloud development"
],
"default": "standard"
}
},
"additionalProperties": false,
"required": [
"description",
"originalLanguage"
]
}
},
"additionalProperties": false,
"required": [
"formatVersion",
"header"
]
}
5 changes: 5 additions & 0 deletions file-formats/ddlx/examples/z_aff_example_ddlx.ddlx.acds
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
@Metadata.layer: #CORE
annotate entity Z_AFF_EXAMPLE_DDLX with {
@EndUserText.label: 'Carrier ID'
Carrid;
}
7 changes: 7 additions & 0 deletions file-formats/ddlx/examples/z_aff_example_ddlx.ddlx.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"formatVersion": "1",
"header": {
"description": "Example DDLX for AFF",
"originalLanguage": "en"
}
}
16 changes: 16 additions & 0 deletions file-formats/ddlx/type/zif_aff_ddlx_v1.intf.abap
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
INTERFACE zif_aff_ddlx_v1
PUBLIC.

TYPES:
"! <p class="shorttext">Object Type DDLX</p>
"! DDLX object type
BEGIN OF ty_main,
"! $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,
END OF ty_main.

ENDINTERFACE.
7 changes: 7 additions & 0 deletions file-formats/ddlx/type/zif_aff_ddlx_v1.intf.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"formatVersion": "1",
"header": {
"description": "Aff type for DDLX objects",
"originalLanguage": "en"
}
}

0 comments on commit 3e177b8

Please sign in to comment.