abapgit-agent 1.1.6 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/.github/workflows/release.yml +3 -1
  2. package/CLAUDE.md +248 -0
  3. package/README.md +16 -2
  4. package/RELEASE_NOTES.md +80 -8
  5. package/abap/CLAUDE.md +72 -6
  6. package/abap/copilot-instructions.md +51 -0
  7. package/abap/zcl_abgagt_cmd_factory.clas.abap +2 -0
  8. package/abap/zcl_abgagt_command_tree.clas.abap +237 -0
  9. package/abap/zcl_abgagt_command_tree.clas.xml +15 -0
  10. package/abap/zcl_abgagt_command_view.clas.abap +238 -0
  11. package/abap/zcl_abgagt_command_view.clas.xml +15 -0
  12. package/abap/zcl_abgagt_resource_tree.clas.abap +70 -0
  13. package/abap/zcl_abgagt_resource_tree.clas.xml +15 -0
  14. package/abap/zcl_abgagt_resource_view.clas.abap +68 -0
  15. package/abap/zcl_abgagt_resource_view.clas.xml +15 -0
  16. package/abap/zcl_abgagt_rest_handler.clas.abap +2 -0
  17. package/abap/zcl_abgagt_viewer_clas.clas.abap +58 -0
  18. package/abap/zcl_abgagt_viewer_clas.clas.xml +15 -0
  19. package/abap/zcl_abgagt_viewer_dtel.clas.abap +98 -0
  20. package/abap/zcl_abgagt_viewer_dtel.clas.xml +15 -0
  21. package/abap/zcl_abgagt_viewer_factory.clas.abap +41 -0
  22. package/abap/zcl_abgagt_viewer_factory.clas.xml +15 -0
  23. package/abap/zcl_abgagt_viewer_intf.clas.abap +58 -0
  24. package/abap/zcl_abgagt_viewer_intf.clas.xml +15 -0
  25. package/abap/zcl_abgagt_viewer_stru.clas.abap +59 -0
  26. package/abap/zcl_abgagt_viewer_stru.clas.xml +15 -0
  27. package/abap/zcl_abgagt_viewer_tabl.clas.abap +59 -0
  28. package/abap/zcl_abgagt_viewer_tabl.clas.xml +15 -0
  29. package/abap/zif_abgagt_command.intf.abap +3 -1
  30. package/abap/zif_abgagt_viewer.intf.abap +11 -0
  31. package/abap/zif_abgagt_viewer.intf.xml +15 -0
  32. package/bin/abapgit-agent +397 -0
  33. package/docs/commands.md +27 -8
  34. package/docs/tree-command.md +303 -0
  35. package/docs/view-command.md +409 -0
  36. package/package.json +1 -1
  37. package/src/abap-client.js +22 -0
  38. package/src/agent.js +27 -0
@@ -0,0 +1,58 @@
1
+ *"*"use source
2
+ *"*"Local Interface:
3
+ *"**********************************************************************
4
+ CLASS zcl_abgagt_viewer_clas DEFINITION PUBLIC FINAL CREATE PUBLIC.
5
+
6
+ PUBLIC SECTION.
7
+ INTERFACES zif_abgagt_viewer.
8
+
9
+ ENDCLASS.
10
+
11
+ CLASS zcl_abgagt_viewer_clas IMPLEMENTATION.
12
+
13
+ METHOD zif_abgagt_viewer~get_info.
14
+ DATA: lv_obj_name TYPE tadir-obj_name,
15
+ lv_devclass TYPE tadir-devclass,
16
+ lv_prog TYPE program,
17
+ lt_source TYPE TABLE OF string,
18
+ lv_line TYPE string.
19
+
20
+ SELECT SINGLE obj_name devclass FROM tadir
21
+ INTO (lv_obj_name, lv_devclass)
22
+ WHERE obj_name = iv_name
23
+ AND object = 'CLAS'.
24
+ IF sy-subrc = 0.
25
+ rs_info-name = iv_name.
26
+ rs_info-type = 'CLAS'.
27
+ rs_info-type_text = 'Class'.
28
+ rs_info-description = |Class { iv_name } in { lv_devclass }|.
29
+ ELSE.
30
+ rs_info-name = iv_name.
31
+ rs_info-type = 'CLAS'.
32
+ rs_info-type_text = 'Class'.
33
+ rs_info-not_found = abap_true.
34
+ ENDIF.
35
+
36
+ " Get class public section program name using CL_OO_CLASSNAME_SERVICE
37
+ DATA lv_clsname TYPE seoclsname.
38
+ lv_clsname = iv_name.
39
+ CALL METHOD cl_oo_classname_service=>get_pubsec_name
40
+ EXPORTING
41
+ clsname = lv_clsname
42
+ RECEIVING
43
+ result = lv_prog.
44
+
45
+ " Read source from program
46
+ READ REPORT lv_prog INTO lt_source.
47
+ IF sy-subrc = 0.
48
+ LOOP AT lt_source INTO lv_line.
49
+ IF rs_info-source IS INITIAL.
50
+ rs_info-source = lv_line.
51
+ ELSE.
52
+ rs_info-source = rs_info-source && |\n| && lv_line.
53
+ ENDIF.
54
+ ENDLOOP.
55
+ ENDIF.
56
+ ENDMETHOD.
57
+
58
+ ENDCLASS.
@@ -0,0 +1,15 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
3
+ <asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
4
+ <asx:values>
5
+ <VSEOCLASS>
6
+ <CLSNAME>ZCL_ABGAGT_VIEWER_CLAS</CLSNAME>
7
+ <LANGU>E</LANGU>
8
+ <DESCRIPT>Viewer for ABAP Classes</DESCRIPT>
9
+ <EXPOSURE>2</EXPOSURE>
10
+ <STATE>1</STATE>
11
+ <UNICODE>X</UNICODE>
12
+ </VSEOCLASS>
13
+ </asx:values>
14
+ </asx:abap>
15
+ </abapGit>
@@ -0,0 +1,98 @@
1
+ *"*"use source
2
+ *"*"Local Interface:
3
+ *"**********************************************************************
4
+ CLASS zcl_abgagt_viewer_dtel DEFINITION PUBLIC FINAL CREATE PUBLIC.
5
+
6
+ PUBLIC SECTION.
7
+ INTERFACES zif_abgagt_viewer.
8
+
9
+ ENDCLASS.
10
+
11
+ CLASS zcl_abgagt_viewer_dtel IMPLEMENTATION.
12
+
13
+ METHOD zif_abgagt_viewer~get_info.
14
+ DATA: lv_obj_name TYPE tadir-obj_name,
15
+ lv_devclass TYPE tadir-devclass,
16
+ lv_leng TYPE dd04v-leng,
17
+ lv_decimals TYPE dd04v-decimals.
18
+
19
+ rs_info-name = iv_name.
20
+ rs_info-type = 'DTEL'.
21
+ rs_info-type_text = 'Data Element'.
22
+
23
+ " Get package from TADIR
24
+ SELECT SINGLE obj_name devclass FROM tadir
25
+ INTO (lv_obj_name, lv_devclass)
26
+ WHERE obj_name = iv_name
27
+ AND object = 'DTEL'.
28
+ IF sy-subrc = 0.
29
+ rs_info-description = |Data Element { iv_name } in { lv_devclass }|.
30
+ ELSE.
31
+ rs_info-not_found = abap_true.
32
+ ENDIF.
33
+
34
+ " Get data element details from DD04V
35
+ SELECT SINGLE dd04v~rollname dd04v~ddtext dd04v~domname
36
+ dd04v~datatype dd04v~leng dd04v~decimals
37
+ INTO (rs_info-name, rs_info-description, rs_info-domain,
38
+ rs_info-domain_type, lv_leng, lv_decimals)
39
+ FROM dd04v
40
+ WHERE rollname = iv_name
41
+ AND ddlanguage = 'E'.
42
+ IF sy-subrc <> 0.
43
+ " Fallback: try without language filter
44
+ SELECT SINGLE rollname ddtext domname datatype leng decimals
45
+ INTO (rs_info-name, rs_info-description, rs_info-domain,
46
+ rs_info-domain_type, lv_leng, lv_decimals)
47
+ FROM dd04v
48
+ WHERE rollname = iv_name.
49
+ ENDIF.
50
+
51
+ rs_info-domain_length = lv_leng.
52
+ rs_info-domain_decimals = lv_decimals.
53
+
54
+ " Build components table for additional info
55
+ IF rs_info-domain IS NOT INITIAL.
56
+ APPEND VALUE #(
57
+ field = 'DOMAIN'
58
+ key = abap_false
59
+ type = rs_info-domain_type
60
+ length = rs_info-domain_length
61
+ dataelement = rs_info-domain
62
+ description = |Domain: { rs_info-domain }|
63
+ ) TO rs_info-components.
64
+ ENDIF.
65
+
66
+ APPEND VALUE #(
67
+ field = 'DATA_TYPE'
68
+ key = abap_false
69
+ type = 'CHAR'
70
+ length = 10
71
+ dataelement = ''
72
+ description = |ABAP Type: { rs_info-domain_type }|
73
+ ) TO rs_info-components.
74
+
75
+ IF rs_info-domain_length > 0.
76
+ APPEND VALUE #(
77
+ field = 'LENGTH'
78
+ key = abap_false
79
+ type = 'NUMC'
80
+ length = 5
81
+ dataelement = ''
82
+ description = |Length: { rs_info-domain_length }|
83
+ ) TO rs_info-components.
84
+ ENDIF.
85
+
86
+ IF rs_info-domain_decimals > 0.
87
+ APPEND VALUE #(
88
+ field = 'DECIMALS'
89
+ key = abap_false
90
+ type = 'NUMC'
91
+ length = 2
92
+ dataelement = ''
93
+ description = |Decimals: { rs_info-domain_decimals }|
94
+ ) TO rs_info-components.
95
+ ENDIF.
96
+ ENDMETHOD.
97
+
98
+ ENDCLASS.
@@ -0,0 +1,15 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
3
+ <asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
4
+ <asx:values>
5
+ <VSEOCLASS>
6
+ <CLSNAME>ZCL_ABGAGT_VIEWER_DTEL</CLSNAME>
7
+ <LANGU>E</LANGU>
8
+ <DESCRIPT>Viewer for ABAP Data Elements</DESCRIPT>
9
+ <EXPOSURE>2</EXPOSURE>
10
+ <STATE>1</STATE>
11
+ <UNICODE>X</UNICODE>
12
+ </VSEOCLASS>
13
+ </asx:values>
14
+ </asx:abap>
15
+ </abapGit>
@@ -0,0 +1,41 @@
1
+ *"*"use source
2
+ *"*"Local Interface:
3
+ *"**********************************************************************
4
+ CLASS zcl_abgagt_viewer_factory DEFINITION PUBLIC CREATE PRIVATE.
5
+
6
+ PUBLIC SECTION.
7
+ CLASS-METHODS get_instance
8
+ RETURNING VALUE(ro_instance) TYPE REF TO zcl_abgagt_viewer_factory.
9
+
10
+ METHODS get_viewer
11
+ IMPORTING iv_obj_type TYPE string
12
+ RETURNING VALUE(ro_viewer) TYPE REF TO zif_abgagt_viewer
13
+ RAISING cx_sy_create_object_error.
14
+
15
+ PRIVATE SECTION.
16
+ CONSTANTS mc_class_prefix TYPE string VALUE 'ZCL_ABGAGT_VIEWER_'.
17
+
18
+ METHODS build_class_name
19
+ IMPORTING iv_obj_type TYPE string
20
+ RETURNING VALUE(rv_class_name) TYPE seoclsname.
21
+
22
+ ENDCLASS.
23
+
24
+ CLASS zcl_abgagt_viewer_factory IMPLEMENTATION.
25
+
26
+ METHOD get_instance.
27
+ CREATE OBJECT ro_instance.
28
+ ENDMETHOD.
29
+
30
+ METHOD build_class_name.
31
+ " CLAS -> ZCL_ABGAGT_VIEWER_CLAS
32
+ rv_class_name = mc_class_prefix && iv_obj_type.
33
+ ENDMETHOD.
34
+
35
+ METHOD get_viewer.
36
+ DATA lv_class_name TYPE seoclsname.
37
+ lv_class_name = build_class_name( iv_obj_type ).
38
+ CREATE OBJECT ro_viewer TYPE (lv_class_name).
39
+ ENDMETHOD.
40
+
41
+ ENDCLASS.
@@ -0,0 +1,15 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
3
+ <asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
4
+ <asx:values>
5
+ <VSEOCLASS>
6
+ <CLSNAME>ZCL_ABGAGT_VIEWER_FACTORY</CLSNAME>
7
+ <LANGU>E</LANGU>
8
+ <DESCRIPT>Factory for Creating Object Viewers</DESCRIPT>
9
+ <EXPOSURE>2</EXPOSURE>
10
+ <STATE>1</STATE>
11
+ <UNICODE>X</UNICODE>
12
+ </VSEOCLASS>
13
+ </asx:values>
14
+ </asx:abap>
15
+ </abapGit>
@@ -0,0 +1,58 @@
1
+ *"*"use source
2
+ *"*"Local Interface:
3
+ *"**********************************************************************
4
+ CLASS zcl_abgagt_viewer_intf DEFINITION PUBLIC FINAL CREATE PUBLIC.
5
+
6
+ PUBLIC SECTION.
7
+ INTERFACES zif_abgagt_viewer.
8
+
9
+ ENDCLASS.
10
+
11
+ CLASS zcl_abgagt_viewer_intf IMPLEMENTATION.
12
+
13
+ METHOD zif_abgagt_viewer~get_info.
14
+ DATA: lv_obj_name TYPE tadir-obj_name,
15
+ lv_devclass TYPE tadir-devclass,
16
+ lv_prog TYPE program,
17
+ lt_source TYPE TABLE OF string,
18
+ lv_line TYPE string.
19
+
20
+ SELECT SINGLE obj_name devclass FROM tadir
21
+ INTO (lv_obj_name, lv_devclass)
22
+ WHERE obj_name = iv_name
23
+ AND object = 'INTF'.
24
+ IF sy-subrc = 0.
25
+ rs_info-name = iv_name.
26
+ rs_info-type = 'INTF'.
27
+ rs_info-type_text = 'Interface'.
28
+ rs_info-description = |Interface { iv_name } in { lv_devclass }|.
29
+ ELSE.
30
+ rs_info-name = iv_name.
31
+ rs_info-type = 'INTF'.
32
+ rs_info-type_text = 'Interface'.
33
+ rs_info-not_found = abap_true.
34
+ ENDIF.
35
+
36
+ " Get interface section program name using CL_OO_CLASSNAME_SERVICE
37
+ DATA lv_clsname TYPE seoclsname.
38
+ lv_clsname = iv_name.
39
+ CALL METHOD cl_oo_classname_service=>get_intfsec_name
40
+ EXPORTING
41
+ clsname = lv_clsname
42
+ RECEIVING
43
+ result = lv_prog.
44
+
45
+ " Read source from program
46
+ READ REPORT lv_prog INTO lt_source.
47
+ IF sy-subrc = 0.
48
+ LOOP AT lt_source INTO lv_line.
49
+ IF rs_info-source IS INITIAL.
50
+ rs_info-source = lv_line.
51
+ ELSE.
52
+ rs_info-source = rs_info-source && |\n| && lv_line.
53
+ ENDIF.
54
+ ENDLOOP.
55
+ ENDIF.
56
+ ENDMETHOD.
57
+
58
+ ENDCLASS.
@@ -0,0 +1,15 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
3
+ <asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
4
+ <asx:values>
5
+ <VSEOCLASS>
6
+ <CLSNAME>ZCL_ABGAGT_VIEWER_INTF</CLSNAME>
7
+ <LANGU>E</LANGU>
8
+ <DESCRIPT>Viewer for ABAP Interfaces</DESCRIPT>
9
+ <EXPOSURE>2</EXPOSURE>
10
+ <STATE>1</STATE>
11
+ <UNICODE>X</UNICODE>
12
+ </VSEOCLASS>
13
+ </asx:values>
14
+ </asx:abap>
15
+ </abapGit>
@@ -0,0 +1,59 @@
1
+ *"*"use source
2
+ *"*"Local Interface:
3
+ *"**********************************************************************
4
+ CLASS zcl_abgagt_viewer_stru DEFINITION PUBLIC FINAL CREATE PUBLIC.
5
+
6
+ PUBLIC SECTION.
7
+ INTERFACES zif_abgagt_viewer.
8
+
9
+ ENDCLASS.
10
+
11
+ CLASS zcl_abgagt_viewer_stru IMPLEMENTATION.
12
+
13
+ METHOD zif_abgagt_viewer~get_info.
14
+ DATA: lv_obj_name TYPE tadir-obj_name,
15
+ lv_devclass TYPE tadir-devclass.
16
+
17
+ SELECT SINGLE obj_name devclass FROM tadir
18
+ INTO (lv_obj_name, lv_devclass)
19
+ WHERE obj_name = iv_name
20
+ AND object = 'TABL'.
21
+ IF sy-subrc = 0.
22
+ rs_info-name = iv_name.
23
+ rs_info-type = 'STRU'.
24
+ rs_info-type_text = 'Structure'.
25
+ rs_info-description = |Structure { iv_name } in { lv_devclass }|.
26
+ ELSE.
27
+ rs_info-name = iv_name.
28
+ rs_info-type = 'STRU'.
29
+ rs_info-type_text = 'Structure'.
30
+ rs_info-not_found = abap_true.
31
+ ENDIF.
32
+
33
+ " Build components table with data element and description
34
+ SELECT fieldname AS field keyflag AS key datatype AS type rollname AS dataelement
35
+ FROM dd03l
36
+ INTO CORRESPONDING FIELDS OF TABLE rs_info-components
37
+ WHERE tabname = iv_name
38
+ AND as4local = 'A'
39
+ ORDER BY position.
40
+
41
+ " Add length and description
42
+ LOOP AT rs_info-components ASSIGNING FIELD-SYMBOL(<ls_comp>).
43
+ DATA ls_dd03l TYPE dd03l.
44
+ SELECT SINGLE * FROM dd03l INTO ls_dd03l
45
+ WHERE tabname = iv_name
46
+ AND fieldname = <ls_comp>-field
47
+ AND as4local = 'A'.
48
+ <ls_comp>-length = ls_dd03l-leng.
49
+
50
+ " Get description from DD04T
51
+ SELECT SINGLE ddtext FROM dd04t
52
+ INTO <ls_comp>-description
53
+ WHERE rollname = <ls_comp>-dataelement
54
+ AND ddlanguage = 'E'
55
+ AND as4local = 'A'.
56
+ ENDLOOP.
57
+ ENDMETHOD.
58
+
59
+ ENDCLASS.
@@ -0,0 +1,15 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
3
+ <asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
4
+ <asx:values>
5
+ <VSEOCLASS>
6
+ <CLSNAME>ZCL_ABGAGT_VIEWER_STRU</CLSNAME>
7
+ <LANGU>E</LANGU>
8
+ <DESCRIPT>Viewer for ABAP Structures</DESCRIPT>
9
+ <EXPOSURE>2</EXPOSURE>
10
+ <STATE>1</STATE>
11
+ <UNICODE>X</UNICODE>
12
+ </VSEOCLASS>
13
+ </asx:values>
14
+ </asx:abap>
15
+ </abapGit>
@@ -0,0 +1,59 @@
1
+ *"*"use source
2
+ *"*"Local Interface:
3
+ *"**********************************************************************
4
+ CLASS zcl_abgagt_viewer_tabl DEFINITION PUBLIC FINAL CREATE PUBLIC.
5
+
6
+ PUBLIC SECTION.
7
+ INTERFACES zif_abgagt_viewer.
8
+
9
+ ENDCLASS.
10
+
11
+ CLASS zcl_abgagt_viewer_tabl IMPLEMENTATION.
12
+
13
+ METHOD zif_abgagt_viewer~get_info.
14
+ DATA: lv_obj_name TYPE tadir-obj_name,
15
+ lv_devclass TYPE tadir-devclass.
16
+
17
+ SELECT SINGLE obj_name devclass FROM tadir
18
+ INTO (lv_obj_name, lv_devclass)
19
+ WHERE obj_name = iv_name
20
+ AND object = 'TABL'.
21
+ IF sy-subrc = 0.
22
+ rs_info-name = iv_name.
23
+ rs_info-type = 'TABL'.
24
+ rs_info-type_text = 'Table'.
25
+ rs_info-description = |Table { iv_name } in { lv_devclass }|.
26
+ ELSE.
27
+ rs_info-name = iv_name.
28
+ rs_info-type = 'TABL'.
29
+ rs_info-type_text = 'Table'.
30
+ rs_info-not_found = abap_true.
31
+ ENDIF.
32
+
33
+ " Build components table with data element and description
34
+ SELECT fieldname AS field keyflag AS key datatype AS type rollname AS dataelement
35
+ FROM dd03l
36
+ INTO CORRESPONDING FIELDS OF TABLE rs_info-components
37
+ WHERE tabname = iv_name
38
+ AND as4local = 'A'
39
+ ORDER BY position.
40
+
41
+ " Add length and description
42
+ LOOP AT rs_info-components ASSIGNING FIELD-SYMBOL(<ls_comp>).
43
+ DATA ls_dd03l TYPE dd03l.
44
+ SELECT SINGLE * FROM dd03l INTO ls_dd03l
45
+ WHERE tabname = iv_name
46
+ AND fieldname = <ls_comp>-field
47
+ AND as4local = 'A'.
48
+ <ls_comp>-length = ls_dd03l-leng.
49
+
50
+ " Get description from DD04T
51
+ SELECT SINGLE ddtext FROM dd04t
52
+ INTO <ls_comp>-description
53
+ WHERE rollname = <ls_comp>-dataelement
54
+ AND ddlanguage = 'E'
55
+ AND as4local = 'A'.
56
+ ENDLOOP.
57
+ ENDMETHOD.
58
+
59
+ ENDCLASS.
@@ -0,0 +1,15 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
3
+ <asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
4
+ <asx:values>
5
+ <VSEOCLASS>
6
+ <CLSNAME>ZCL_ABGAGT_VIEWER_TABL</CLSNAME>
7
+ <LANGU>E</LANGU>
8
+ <DESCRIPT>Viewer for ABAP Tables</DESCRIPT>
9
+ <EXPOSURE>2</EXPOSURE>
10
+ <STATE>1</STATE>
11
+ <UNICODE>X</UNICODE>
12
+ </VSEOCLASS>
13
+ </asx:values>
14
+ </asx:abap>
15
+ </abapGit>
@@ -7,7 +7,9 @@ INTERFACE zif_abgagt_command PUBLIC.
7
7
  gc_inspect TYPE string VALUE 'INSPECT',
8
8
  gc_unit TYPE string VALUE 'UNIT',
9
9
  gc_create TYPE string VALUE 'CREATE',
10
- gc_import TYPE string VALUE 'IMPORT'.
10
+ gc_import TYPE string VALUE 'IMPORT',
11
+ gc_tree TYPE string VALUE 'TREE',
12
+ gc_view TYPE string VALUE 'VIEW'.
11
13
 
12
14
  " Get command name
13
15
  METHODS get_name
@@ -0,0 +1,11 @@
1
+ *"* Use this source text module for the interface definition
2
+ INTERFACE zif_abgagt_viewer PUBLIC.
3
+
4
+ " Get detailed information about an ABAP object
5
+ " @parameter iv_name | Object name (e.g., ZCL_MY_CLASS)
6
+ " @parameter rs_info | Object information structure
7
+ METHODS get_info
8
+ IMPORTING iv_name TYPE string
9
+ RETURNING VALUE(rs_info) TYPE zcl_abgagt_command_view=>ty_view_object.
10
+
11
+ ENDINTERFACE.
@@ -0,0 +1,15 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <abapGit version="v1.0.0" serializer="LCL_OBJECT_INTF" serializer_version="v1.0.0">
3
+ <asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
4
+ <asx:values>
5
+ <VSEOINTERF>
6
+ <CLSNAME>ZIF_ABGAGT_VIEWER</CLSNAME>
7
+ <LANGU>E</LANGU>
8
+ <DESCRIPT>Viewer Interface for ABAP Object Types</DESCRIPT>
9
+ <EXPOSURE>2</EXPOSURE>
10
+ <STATE>1</STATE>
11
+ <UNICODE>X</UNICODE>
12
+ </VSEOINTERF>
13
+ </asx:values>
14
+ </asx:abap>
15
+ </abapGit>