Skip to content

[TTYP] Add ABAP file format for table types#775

Open
GuilhermeSaraiva96 wants to merge 3 commits intomainfrom
ttyp
Open

[TTYP] Add ABAP file format for table types#775
GuilhermeSaraiva96 wants to merge 3 commits intomainfrom
ttyp

Conversation

@GuilhermeSaraiva96
Copy link
Copy Markdown
Contributor

@GuilhermeSaraiva96 GuilhermeSaraiva96 commented Apr 29, 2026

Summary

  • Adds ZIF_AFF_TTYP_V1 ABAP interface defining the file format for ABAP Dictionary table types (TTYP)
  • Adds generated JSON schema ttyp-v1.json
  • Adds example file z_aff_example_ttyp.ttyp.json (sorted table with explicit key components)
  • Adds README.md with file structure documentation

Adds ZIF_AFF_TTYP_V1 interface, JSON schema, example, and README
for ABAP Dictionary table types (TTYP).
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 29, 2026

ABAP Doc Checks

  • Run ABAP Doc title/description casing check

New commits with ABAP changes were pushed. Check the box to run again.

@github-actions
Copy link
Copy Markdown

AFF Review Process

Thank you for your contribution to the ABAP File Formats! 🎉

To help us manage reviews efficiently:

  • Add the awaiting-review label when ready for (re)review
  • See CONTRIBUTING.md for review process details

@hyperspace-insights
Copy link
Copy Markdown

Control Panel

Hi, I'm an AI-powered Review Bot that helps you with summarizing and reviewing pull requests.
To interact with me, just use the following actions:

  • 📝 Summarize PR
  • 🔍 Review
  • 🗑️ Delete all bot comments and reviews

Comment on lines +179 to +192
BEGIN OF ty_built_in_type,
"! <p class="shorttext">Data Type</p>
"! ABAP built-in data type name (e.g. CHAR, INT4, STRING)
"! $required
data_type TYPE c LENGTH 10,
"! <p class="shorttext">Length</p>
"! Length of the built-in type (relevant for length-variable types such as CHAR, NUMC)
"! $minimum 0
length TYPE i,
"! <p class="shorttext">Decimals</p>
"! Number of decimal places (relevant for DEC, CURR, QUAN)
"! $minimum 0
decimals TYPE i,
END OF ty_built_in_type.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this part can be reused from #727 when its merged

general_information TYPE ty_general_information,
"! <p class="shorttext">Initialization and Access</p>
"! Access type and initial fill size
init_and_access TYPE ty_init_and_access,
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
init_and_access TYPE ty_init_and_access,
initialization_and_access TYPE ty_init_and_access,

row_type TYPE ty_row_type,
"! <p class="shorttext">Initialization and Access</p>
"! Access type and initial fill size
init_and_access TYPE ty_init_and_access,
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
init_and_access TYPE ty_init_and_access,
initialization_and_access TYPE ty_initialization_and_access,

primary_key TYPE ty_primary_key,
"! <p class="shorttext">Further Secondary Keys</p>
"! Whether additional secondary keys beyond those listed may be defined at usage
sec_keys_allowed TYPE ty_sec_keys_allowed,
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
sec_keys_allowed TYPE ty_sec_keys_allowed,
secondary_keys_allowed TYPE abap_bool,

"! Primary key definition
primary_key TYPE ty_primary_key,
"! <p class="shorttext">Further Secondary Keys</p>
"! Whether additional secondary keys beyond those listed may be defined at usage
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is hard to understand this description. The sentence should be rephrased

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AI slop ;)

"! <p class="shorttext">Primary Key</p>
"! Primary key definition
primary_key TYPE ty_primary_key,
"! <p class="shorttext">Further Secondary Keys</p>
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"! <p class="shorttext">Further Secondary Keys</p>
"! <p class="shorttext">Secondary Keys allowed</p>

definition TYPE ty_prim_key_definition,
"! <p class="shorttext">Key Uniqueness</p>
"! Whether the primary key is unique or non-unique
kind TYPE ty_key_kind,
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
kind TYPE ty_key_kind,
uniqueness TYPE ty_key_uniqueness,

description TYPE zif_aff_types_v1=>ty_description_80,
"! <p class="shorttext">Access Type</p>
"! Access type of the secondary key
access TYPE ty_sec_key_access,
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
access TYPE ty_sec_key_access,
access_type TYPE ty_secondary_key_access,

"! Access type of the secondary key
access TYPE ty_sec_key_access,
"! <p class="shorttext">Key Definition</p>
"! How the secondary key fields are determined
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"! How the secondary key fields are determined
"! Key definition

"! Definition of the table line type
BEGIN OF ty_row_type,
"! <p class="shorttext">Type Kind</p>
"! How the row type is specified
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"! How the row type is specified
"! Type kind


"! <p class="shorttext">Key Components</p>
"! Explicitly named key field components
ty_key_components TYPE STANDARD TABLE OF ty_key_component WITH DEFAULT KEY.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
ty_key_components TYPE STANDARD TABLE OF ty_key_component WITH DEFAULT KEY.
ty_key_components TYPE STANDARD TABLE OF zif_aff_types_v1=>ty_object_name_30 WITH DEFAULT KEY.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants