Skip to content

Instantly share code, notes, and snippets.

@mbtools
Created March 12, 2026 15:39
Show Gist options
  • Select an option

  • Save mbtools/7e9a30aad298ac587a904a96e037c51a to your computer and use it in GitHub Desktop.

Select an option

Save mbtools/7e9a30aad298ac587a904a96e037c51a to your computer and use it in GitHub Desktop.
Show status of AFF support in abapGit
*&---------------------------------------------------------------------*
*& Report ZAFF_OBJECT_TYPES
*&---------------------------------------------------------------------*
*& Show status of AFF support in abapGit
*&---------------------------------------------------------------------*
REPORT zaff_object_types.
DATA object_types TYPE STANDARD TABLE OF ko100 WITH DEFAULT KEY.
DATA item TYPE zif_abapgit_definitions=>ty_item.
DATA category TYPE objh-objcateg.
CALL FUNCTION 'TRINT_OBJECT_TABLE'
EXPORTING
iv_complete = abap_true
TABLES
tt_types_out = object_types.
DATA(reg) = zcl_abapgit_aff_factory=>get_registry( ).
LOOP AT object_types ASSIGNING FIELD-SYMBOL(<object_type>) WHERE pgmid = 'R3TR'.
SELECT SINGLE objcateg INTO category FROM objh WHERE objectname = <object_type>-object.
IF sy-subrc <> 0.
category = 'XXXX'.
ENDIF.
TRY.
DATA(handler) = cl_aff_object_handler_factory=>get_object_handler( <object_type>-object ).
IF handler IS INITIAL.
"WRITE AT 100 'Not supported' COLOR COL_NORMAL.
CONTINUE.
ENDIF.
WRITE: / <object_type>-object, <object_type>-text, category.
WRITE AT 80 'Has AFF handler' COLOR COL_POSITIVE.
item-obj_type = 'CLAS'.
item-obj_name = 'ZCL_ABAPGIT_OBJECT_' && <object_type>-object.
IF zcl_abapgit_objects=>exists( item ).
WRITE AT 100 'Supported in abapGit' COLOR COL_POSITIVE.
IF reg->is_supported_object_type( <object_type>-object ).
WRITE AT 130 'AFF JSON' COLOR COL_POSITIVE.
ELSE.
WRITE AT 130 'XML' COLOR COL_TOTAL.
ENDIF.
ELSE.
WRITE AT 100 'Not supported in abapGit' COLOR COL_NEGATIVE.
ENDIF.
CATCH cx_root INTO DATA(error).
WRITE AT 100 error->get_text( ) COLOR COL_NEGATIVE.
ENDTRY.
ENDLOOP.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment