一键导入
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 职业分类
| 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>MANDT</FIELDNAME>
<KEYFLAG>X</KEYFLAG>
<ROLLNAME>MANDT</ROLLNAME>
<ADMINFIELD>0</ADMINFIELD>
<NOTNULL>X</NOTNULL>
<COMPTYPE>E</COMPTYPE>
</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 client-dependent transparent tables (CLIDEP = X), the first key field must be the
standard client field wired via the MANDT data element, not a hand-rolled native CLNT
field. This is what SAP generates by standard (e.g. RAP draft-table quickfixes) and is required
for correct client handling:
<DD03P>
<FIELDNAME>MANDT</FIELDNAME>
<KEYFLAG>X</KEYFLAG>
<ROLLNAME>MANDT</ROLLNAME>
<ADMINFIELD>0</ADMINFIELD>
<NOTNULL>X</NOTNULL>
<COMPTYPE>E</COMPTYPE>
</DD03P>
Do not define the client as <FIELDNAME>CLIENT</FIELDNAME> with a native DATATYPE>CLNT;
use FIELDNAME MANDT + ROLLNAME MANDT (COMPTYPE = E). In foreign keys (DD05M), map the
client component with FORKEY/CHECKFIELD = MANDT.
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.MANDT (data element MANDT, COMPTYPE=E) as the 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.