ワンクリックで
abapgit-clas-object
Create an abapGit CLAS object outside SAP systems using user-defined names and repository reference files.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Create an abapGit CLAS 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-clas-object |
| description | Create an abapGit CLAS object outside SAP systems using user-defined names and repository reference files. |
abapGit docs: Supported Object Types | File Formats | Test Repo
Create a CLAS (Class) object directly as abapGit-serialized repository files, outside an SAP system.
<class_name>.clas.<part> — all lowercase.<?xml version="1.0" encoding="utf-8"?>
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
A CLAS object consists of multiple files. Only .clas.abap and .clas.xml are mandatory:
<name>.clas.abap — main class source (DEFINITION + IMPLEMENTATION)<name>.clas.xml — class metadata<name>.clas.locals_def.abap — optional: local type definitions<name>.clas.locals_imp.abap — optional: local class implementations<name>.clas.testclasses.abap — optional: ABAP Unit test classes<name>.clas.macros.abap — optional: macro definitionsOptional files are only created when content exists.
src/zcl_foo_calculator.clas.abapCLASS zcl_foo_calculator DEFINITION
PUBLIC
FINAL
CREATE PUBLIC.
PUBLIC SECTION.
METHODS add
IMPORTING
a TYPE i
b TYPE i
RETURNING
VALUE(result) TYPE i.
PROTECTED SECTION.
PRIVATE SECTION.
ENDCLASS.
CLASS zcl_foo_calculator IMPLEMENTATION.
METHOD add.
result = a + b.
ENDMETHOD.
ENDCLASS.
src/zcl_foo_calculator.clas.xml<?xml version="1.0" encoding="utf-8"?>
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<VSEOCLASS>
<CLSNAME>ZCL_FOO_CALCULATOR</CLSNAME>
<LANGU>E</LANGU>
<DESCRIPT>Simple Calculator</DESCRIPT>
<STATE>1</STATE>
<CLSCCINCL>X</CLSCCINCL>
<FIXPT>X</FIXPT>
<UNICODE>X</UNICODE>
</VSEOCLASS>
</asx:values>
</asx:abap>
</abapGit>
src/zcl_foo_processor.clas.abapCLASS zcl_foo_processor DEFINITION
PUBLIC
FINAL
CREATE PUBLIC.
PUBLIC SECTION.
METHODS process
IMPORTING
input TYPE string
RETURNING
VALUE(output) TYPE string.
PROTECTED SECTION.
PRIVATE SECTION.
ENDCLASS.
CLASS zcl_foo_processor IMPLEMENTATION.
METHOD process.
output = to_upper( input ).
ENDMETHOD.
ENDCLASS.
src/zcl_foo_processor.clas.testclasses.abapCLASS ltcl_processor DEFINITION FINAL FOR TESTING
DURATION SHORT
RISK LEVEL HARMLESS.
PRIVATE SECTION.
METHODS test_process FOR TESTING.
ENDCLASS.
CLASS ltcl_processor IMPLEMENTATION.
METHOD test_process.
DATA(cut) = NEW zcl_foo_processor( ).
cl_abap_unit_assert=>assert_equals(
act = cut->process( 'hello' )
exp = 'HELLO' ).
ENDMETHOD.
ENDCLASS.
src/zcl_foo_processor.clas.xml<?xml version="1.0" encoding="utf-8"?>
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<VSEOCLASS>
<CLSNAME>ZCL_FOO_PROCESSOR</CLSNAME>
<LANGU>E</LANGU>
<DESCRIPT>Text Processor</DESCRIPT>
<STATE>1</STATE>
<CLSCCINCL>X</CLSCCINCL>
<FIXPT>X</FIXPT>
<UNICODE>X</UNICODE>
<WITH_UNIT_TESTS>X</WITH_UNIT_TESTS>
</VSEOCLASS>
</asx:values>
</asx:abap>
</abapGit>
src/zcx_foo_error.clas.abapCLASS zcx_foo_error DEFINITION
PUBLIC
INHERITING FROM cx_static_check
FINAL
CREATE PUBLIC.
PUBLIC SECTION.
INTERFACES if_t100_message.
CONSTANTS:
BEGIN OF general_error,
msgid TYPE symsgid VALUE 'ZFOO_MSG',
msgno TYPE symsgno VALUE '001',
attr1 TYPE scx_attrname VALUE '',
attr2 TYPE scx_attrname VALUE '',
attr3 TYPE scx_attrname VALUE '',
attr4 TYPE scx_attrname VALUE '',
END OF general_error.
METHODS constructor
IMPORTING
textid LIKE if_t100_message=>t100key OPTIONAL
previous LIKE previous OPTIONAL.
PROTECTED SECTION.
PRIVATE SECTION.
ENDCLASS.
CLASS zcx_foo_error IMPLEMENTATION.
METHOD constructor ##ADT_SUPPRESS_GENERATION.
CALL METHOD super->constructor
EXPORTING
previous = previous.
CLEAR me->textid.
IF textid IS INITIAL.
if_t100_message~t100key = if_t100_message=>default_textid.
ELSE.
if_t100_message~t100key = textid.
ENDIF.
ENDMETHOD.
ENDCLASS.
src/zcx_foo_error.clas.xml<?xml version="1.0" encoding="utf-8"?>
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<VSEOCLASS>
<CLSNAME>ZCX_FOO_ERROR</CLSNAME>
<LANGU>E</LANGU>
<DESCRIPT>Custom Error Exception</DESCRIPT>
<STATE>1</STATE>
<CLSCCINCL>X</CLSCCINCL>
<FIXPT>X</FIXPT>
<UNICODE>X</UNICODE>
<CATEGORY>40</CATEGORY>
</VSEOCLASS>
</asx:values>
</asx:abap>
</abapGit>
| Element | Description |
|---|---|
CLSNAME | Class name (uppercase, max 30 chars) |
LANGU | Original language (E = English) |
DESCRIPT | Short description |
STATE | 1 = active |
CLSCCINCL | X = class has local classes include |
FIXPT | X = fixed-point arithmetic |
UNICODE | X = Unicode checks active |
WITH_UNIT_TESTS | X = class has unit tests (add when .testclasses.abap exists) |
CATEGORY | Exception category: 40 = cx_static_check, 30 = cx_dynamic_check, 10 = cx_no_check |
<name>.clas.abap with DEFINITION and IMPLEMENTATION sections.<name>.clas.xml with VSEOCLASS metadata..locals_def.abap, .locals_imp.abap, .testclasses.abap) only when needed.WITH_UNIT_TESTS to X when test classes are present.LCL_OBJECT_CLAS.CLSNAME in XML matches the filename (uppercase vs lowercase)..clas.abap contains both DEFINITION and IMPLEMENTATION blocks.WITH_UNIT_TESTS matches presence of .testclasses.abap.