一键导入
abapgit-tabl-object
Create an abapGit TABL object outside SAP systems using user-defined names and repository reference files.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Create an abapGit TABL object outside SAP systems using user-defined names and repository reference files.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Run ATC syntax check on the SAP system to detect syntax errors after git pull.
Trigger an abapGit repository pull on the SAP system to sync the current codebase.
Run ABAP Unit tests on the remote SAP system via ADT.
Prompt and workflow for generating conventional commit messages using a structured XML format. Guides users to create standardized, descriptive commit messages in line with the Conventional Commits specification, including instructions, examples, and validation.
Detailed guidance on which test layer(s) to update and how to write tests for different kinds of changes in the ZASIS project.
Reference guide for the ZASIS exception handling pattern — class hierarchy, message class, T100 integration, how to raise exceptions, and rules for adding new exceptions.
| name | abapgit-tabl-object |
| description | Create an abapGit TABL object outside SAP systems using user-defined names and repository reference files. |
abapGit docs: Supported Object Types | File Formats | Test Repo
Create a TABL (Table / Structure) object directly as abapGit-serialized repository files, outside an SAP system.
<object_name>.tabl.xml — all lowercase.<?xml version="1.0" encoding="utf-8"?>
<abapGit version="v1.0.0" serializer="LCL_OBJECT_TABL" serializer_version="v1.0.0">
A TABL object consists of a single file:
<name>.tabl.xml — table/structure metadatasrc/zfoo_flight.tabl.xml<?xml version="1.0" encoding="utf-8"?>
<abapGit version="v1.0.0" serializer="LCL_OBJECT_TABL" serializer_version="v1.0.0">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<DD02V>
<TABNAME>ZFOO_FLIGHT</TABNAME>
<DDLANGUAGE>E</DDLANGUAGE>
<TABCLASS>TRANSP</TABCLASS>
<CLIDEP>X</CLIDEP>
<DDTEXT>Flight Data</DDTEXT>
<MASTERLANG>E</MASTERLANG>
<MAINFLAG>N</MAINFLAG>
<CONTFLAG>A</CONTFLAG>
<EXCLASS>4</EXCLASS>
</DD02V>
<DD09L>
<TABNAME>ZFOO_FLIGHT</TABNAME>
<AS4LOCAL>A</AS4LOCAL>
<TABKAT>0</TABKAT>
<TABART>APPL0</TABART>
<BUFALLOW>N</BUFALLOW>
</DD09L>
<DD03P_TABLE>
<DD03P>
<FIELDNAME>CLIENT</FIELDNAME>
<KEYFLAG>X</KEYFLAG>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000006</INTLEN>
<NOTNULL>X</NOTNULL>
<DATATYPE>CLNT</DATATYPE>
<LENG>000003</LENG>
<MASK> CLNT</MASK>
</DD03P>
<DD03P>
<FIELDNAME>FLIGHT_ID</FIELDNAME>
<KEYFLAG>X</KEYFLAG>
<ROLLNAME>ZFOO_FLIGHT_ID</ROLLNAME>
<ADMINFIELD>0</ADMINFIELD>
<NOTNULL>X</NOTNULL>
<COMPTYPE>E</COMPTYPE>
</DD03P>
<DD03P>
<FIELDNAME>CARRIER</FIELDNAME>
<ROLLNAME>ZFOO_CARRIER</ROLLNAME>
<ADMINFIELD>0</ADMINFIELD>
<COMPTYPE>E</COMPTYPE>
</DD03P>
<DD03P>
<FIELDNAME>CONNECTION</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000008</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000004</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>FLIGHT_DATE</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>D</INTTYPE>
<INTLEN>000016</INTLEN>
<DATATYPE>DATS</DATATYPE>
<LENG>000008</LENG>
<MASK> DATS</MASK>
</DD03P>
<DD03P>
<FIELDNAME>LAST_CHANGED_AT</FIELDNAME>
<ROLLNAME>TIMESTAMPL</ROLLNAME>
<ADMINFIELD>0</ADMINFIELD>
<COMPTYPE>E</COMPTYPE>
</DD03P>
</DD03P_TABLE>
</asx:values>
</asx:abap>
</abapGit>
src/zfoo_flight_result.tabl.xml<?xml version="1.0" encoding="utf-8"?>
<abapGit version="v1.0.0" serializer="LCL_OBJECT_TABL" serializer_version="v1.0.0">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<DD02V>
<TABNAME>ZFOO_FLIGHT_RESULT</TABNAME>
<DDLANGUAGE>E</DDLANGUAGE>
<TABCLASS>INTTAB</TABCLASS>
<DDTEXT>Flight Result Structure</DDTEXT>
<MASTERLANG>E</MASTERLANG>
<EXCLASS>4</EXCLASS>
</DD02V>
<DD03P_TABLE>
<DD03P>
<FIELDNAME>FLIGHT_ID</FIELDNAME>
<ROLLNAME>ZFOO_FLIGHT_ID</ROLLNAME>
<ADMINFIELD>0</ADMINFIELD>
<COMPTYPE>E</COMPTYPE>
</DD03P>
<DD03P>
<FIELDNAME>STATUS</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
</DD03P_TABLE>
</asx:values>
</asx:abap>
</abapGit>
| Element | Description |
|---|---|
| DD02V | Table header |
TABNAME | Table/structure name (uppercase, max 30 chars) |
TABCLASS | TRANSP = transparent table, INTTAB = structure, CLUSTER = cluster table, POOL = pool table |
CLIDEP | X = client-dependent (only for TRANSP) |
CONTFLAG | Delivery class: A = application, C = customizing, L = temporary, S = system |
| DD09L | Technical settings (only for TRANSP) |
TABART | Data class: APPL0, APPL1, etc. |
BUFALLOW | Buffering: N = not allowed, X = allowed |
| DD03P | Field definition |
FIELDNAME | Field name |
KEYFLAG | X = key field |
ROLLNAME | Data element reference (use COMPTYPE = E) |
DATATYPE+LENG | Direct type (when no ROLLNAME) |
COMPTYPE | E = data element, S = structure, R = reference |
For fields with DATATYPE = STRG (string) or RSTR (rawstring/xstring), omit the <LENG> element entirely. SAP's serializer does not include <LENG> for these types since their length is implicitly unlimited. Including <LENG>000000</LENG> will cause a diff mismatch when abapGit re-serializes the object from the SAP system.
Example — STRING field (correct):
<DD03P>
<FIELDNAME>DESCRIPTION</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>g</INTTYPE>
<INTLEN>000008</INTLEN>
<DATATYPE>STRG</DATATYPE>
<MASK> STRG</MASK>
</DD03P>
<name>.tabl.xml in the appropriate src/ subfolder.DD02V, DD09L, and DD03P_TABLE.DD02V and DD03P_TABLE (no DD09L).ROLLNAME+COMPTYPE=E or define types directly.CLIENT as first key field for client-dependent tables.LCL_OBJECT_TABL.TABNAME in XML matches the filename (uppercase vs lowercase).TABCLASS is set correctly (TRANSP or INTTAB).KEYFLAG = X and NOTNULL = X.DD09L is present only for transparent tables.