abapgit-agent 1.5.0 → 1.6.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.
- package/README.md +1 -0
- package/abap/guidelines/00_index.md +35 -0
- package/abap/guidelines/01_sql.md +72 -0
- package/abap/guidelines/02_exceptions.md +108 -0
- package/abap/guidelines/03_testing.md +252 -0
- package/abap/guidelines/04_cds.md +120 -0
- package/abap/guidelines/05_classes.md +50 -0
- package/abap/guidelines/06_objects.md +103 -0
- package/abap/guidelines/07_json.md +22 -0
- package/abap/guidelines/08_abapgit.md +193 -0
- package/bin/abapgit-agent +467 -30
- package/bin/abgagt +24 -0
- package/package.json +8 -2
- package/src/abap-client.js +65 -2
- package/src/agent.js +57 -3
- package/src/ref-search.js +989 -0
- package/.abapGitAgent.example +0 -11
- package/.github/workflows/release.yml +0 -60
- package/API.md +0 -710
- package/CLAUDE.md +0 -1058
- package/CLAUDE_MEM.md +0 -88
- package/ERROR_HANDLING.md +0 -30
- package/INSTALL.md +0 -155
- package/RELEASE_NOTES.md +0 -143
- package/abap/CLAUDE.md +0 -1010
- package/abap/copilot-instructions.md +0 -79
- package/abap/package.devc.xml +0 -10
- package/abap/zcl_abgagt_agent.clas.abap +0 -420
- package/abap/zcl_abgagt_agent.clas.xml +0 -15
- package/abap/zcl_abgagt_cmd_factory.clas.abap +0 -48
- package/abap/zcl_abgagt_cmd_factory.clas.xml +0 -15
- package/abap/zcl_abgagt_command_create.clas.abap +0 -95
- package/abap/zcl_abgagt_command_create.clas.xml +0 -15
- package/abap/zcl_abgagt_command_import.clas.abap +0 -138
- package/abap/zcl_abgagt_command_import.clas.xml +0 -15
- package/abap/zcl_abgagt_command_inspect.clas.abap +0 -456
- package/abap/zcl_abgagt_command_inspect.clas.testclasses.abap +0 -121
- package/abap/zcl_abgagt_command_inspect.clas.xml +0 -16
- package/abap/zcl_abgagt_command_preview.clas.abap +0 -386
- package/abap/zcl_abgagt_command_preview.clas.xml +0 -15
- package/abap/zcl_abgagt_command_pull.clas.abap +0 -80
- package/abap/zcl_abgagt_command_pull.clas.testclasses.abap +0 -87
- package/abap/zcl_abgagt_command_pull.clas.xml +0 -16
- package/abap/zcl_abgagt_command_tree.clas.abap +0 -237
- package/abap/zcl_abgagt_command_tree.clas.xml +0 -15
- package/abap/zcl_abgagt_command_unit.clas.abap +0 -297
- package/abap/zcl_abgagt_command_unit.clas.xml +0 -15
- package/abap/zcl_abgagt_command_view.clas.abap +0 -240
- package/abap/zcl_abgagt_command_view.clas.xml +0 -15
- package/abap/zcl_abgagt_resource_create.clas.abap +0 -71
- package/abap/zcl_abgagt_resource_create.clas.xml +0 -15
- package/abap/zcl_abgagt_resource_health.clas.abap +0 -25
- package/abap/zcl_abgagt_resource_health.clas.xml +0 -15
- package/abap/zcl_abgagt_resource_import.clas.abap +0 -66
- package/abap/zcl_abgagt_resource_import.clas.xml +0 -15
- package/abap/zcl_abgagt_resource_inspect.clas.abap +0 -63
- package/abap/zcl_abgagt_resource_inspect.clas.xml +0 -15
- package/abap/zcl_abgagt_resource_preview.clas.abap +0 -67
- package/abap/zcl_abgagt_resource_preview.clas.xml +0 -15
- package/abap/zcl_abgagt_resource_pull.clas.abap +0 -71
- package/abap/zcl_abgagt_resource_pull.clas.xml +0 -15
- package/abap/zcl_abgagt_resource_tree.clas.abap +0 -70
- package/abap/zcl_abgagt_resource_tree.clas.xml +0 -15
- package/abap/zcl_abgagt_resource_unit.clas.abap +0 -64
- package/abap/zcl_abgagt_resource_unit.clas.xml +0 -15
- package/abap/zcl_abgagt_resource_view.clas.abap +0 -68
- package/abap/zcl_abgagt_resource_view.clas.xml +0 -15
- package/abap/zcl_abgagt_rest_handler.clas.abap +0 -32
- package/abap/zcl_abgagt_rest_handler.clas.xml +0 -15
- package/abap/zcl_abgagt_util.clas.abap +0 -93
- package/abap/zcl_abgagt_util.clas.testclasses.abap +0 -84
- package/abap/zcl_abgagt_util.clas.xml +0 -16
- package/abap/zcl_abgagt_viewer_clas.clas.abap +0 -58
- package/abap/zcl_abgagt_viewer_clas.clas.xml +0 -15
- package/abap/zcl_abgagt_viewer_ddls.clas.abap +0 -83
- package/abap/zcl_abgagt_viewer_ddls.clas.xml +0 -15
- package/abap/zcl_abgagt_viewer_dtel.clas.abap +0 -98
- package/abap/zcl_abgagt_viewer_dtel.clas.xml +0 -15
- package/abap/zcl_abgagt_viewer_factory.clas.abap +0 -41
- package/abap/zcl_abgagt_viewer_factory.clas.xml +0 -15
- package/abap/zcl_abgagt_viewer_intf.clas.abap +0 -58
- package/abap/zcl_abgagt_viewer_intf.clas.xml +0 -15
- package/abap/zcl_abgagt_viewer_stru.clas.abap +0 -59
- package/abap/zcl_abgagt_viewer_stru.clas.xml +0 -15
- package/abap/zcl_abgagt_viewer_tabl.clas.abap +0 -59
- package/abap/zcl_abgagt_viewer_tabl.clas.xml +0 -15
- package/abap/zcl_abgagt_viewer_ttyp.clas.abap +0 -93
- package/abap/zcl_abgagt_viewer_ttyp.clas.xml +0 -15
- package/abap/zif_abgagt_agent.intf.abap +0 -53
- package/abap/zif_abgagt_agent.intf.xml +0 -15
- package/abap/zif_abgagt_cmd_factory.intf.abap +0 -7
- package/abap/zif_abgagt_cmd_factory.intf.xml +0 -15
- package/abap/zif_abgagt_command.intf.abap +0 -26
- package/abap/zif_abgagt_command.intf.xml +0 -15
- package/abap/zif_abgagt_util.intf.abap +0 -28
- package/abap/zif_abgagt_util.intf.xml +0 -15
- package/abap/zif_abgagt_viewer.intf.abap +0 -12
- package/abap/zif_abgagt_viewer.intf.xml +0 -15
- package/docs/commands.md +0 -142
- package/docs/create-command.md +0 -129
- package/docs/health-command.md +0 -89
- package/docs/import-command.md +0 -195
- package/docs/init-command.md +0 -189
- package/docs/inspect-command.md +0 -169
- package/docs/list-command.md +0 -289
- package/docs/preview-command.md +0 -528
- package/docs/pull-command.md +0 -202
- package/docs/status-command.md +0 -68
- package/docs/tree-command.md +0 -303
- package/docs/unit-command.md +0 -167
- package/docs/view-command.md +0 -501
- package/img/claude.png +0 -0
- package/scripts/claude-integration.js +0 -351
- package/scripts/release.js +0 -298
- package/scripts/release.sh +0 -60
- package/scripts/test-integration.js +0 -139
- package/scripts/unrelease.js +0 -277
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
*"*"use source
|
|
2
|
-
*"*"Local Interface:
|
|
3
|
-
*"**********************************************************************
|
|
4
|
-
CLASS zcl_abgagt_viewer_ddls DEFINITION PUBLIC FINAL CREATE PUBLIC.
|
|
5
|
-
|
|
6
|
-
PUBLIC SECTION.
|
|
7
|
-
INTERFACES zif_abgagt_viewer.
|
|
8
|
-
|
|
9
|
-
ENDCLASS.
|
|
10
|
-
|
|
11
|
-
CLASS zcl_abgagt_viewer_ddls IMPLEMENTATION.
|
|
12
|
-
|
|
13
|
-
METHOD zif_abgagt_viewer~get_info.
|
|
14
|
-
DATA: lv_ddls_name TYPE ddlname,
|
|
15
|
-
lo_handler TYPE REF TO if_dd_ddl_handler,
|
|
16
|
-
ls_ddlsrcv TYPE ddddlsrcv,
|
|
17
|
-
lv_devclass TYPE tadir-devclass,
|
|
18
|
-
lv_found TYPE abap_bool.
|
|
19
|
-
|
|
20
|
-
rs_info-name = iv_name.
|
|
21
|
-
rs_info-type = 'DDLS'.
|
|
22
|
-
rs_info-type_text = 'CDS View'.
|
|
23
|
-
|
|
24
|
-
" Get package from TADIR
|
|
25
|
-
SELECT SINGLE devclass FROM tadir
|
|
26
|
-
INTO lv_devclass
|
|
27
|
-
WHERE obj_name = iv_name
|
|
28
|
-
AND object = 'DDLS'.
|
|
29
|
-
IF sy-subrc = 0.
|
|
30
|
-
rs_info-description = |CDS View { iv_name } in { lv_devclass }|.
|
|
31
|
-
ELSE.
|
|
32
|
-
rs_info-not_found = abap_true.
|
|
33
|
-
RETURN.
|
|
34
|
-
ENDIF.
|
|
35
|
-
|
|
36
|
-
" Use DDL handler to read CDS view source
|
|
37
|
-
lo_handler = cl_dd_ddl_handler_factory=>create( ).
|
|
38
|
-
lv_ddls_name = iv_name.
|
|
39
|
-
|
|
40
|
-
" First try to read inactive version (get_state = 'M')
|
|
41
|
-
TRY.
|
|
42
|
-
lo_handler->read(
|
|
43
|
-
EXPORTING
|
|
44
|
-
name = lv_ddls_name
|
|
45
|
-
get_state = 'M'
|
|
46
|
-
IMPORTING
|
|
47
|
-
ddddlsrcv_wa = ls_ddlsrcv ).
|
|
48
|
-
|
|
49
|
-
IF ls_ddlsrcv-source IS NOT INITIAL.
|
|
50
|
-
lv_found = abap_true.
|
|
51
|
-
ENDIF.
|
|
52
|
-
|
|
53
|
-
CATCH cx_dd_ddl_check.
|
|
54
|
-
" Ignore - will try active version
|
|
55
|
-
ENDTRY.
|
|
56
|
-
|
|
57
|
-
" If no inactive version, try active version
|
|
58
|
-
IF lv_found = abap_false.
|
|
59
|
-
TRY.
|
|
60
|
-
lo_handler->read(
|
|
61
|
-
EXPORTING
|
|
62
|
-
name = lv_ddls_name
|
|
63
|
-
get_state = 'A'
|
|
64
|
-
IMPORTING
|
|
65
|
-
ddddlsrcv_wa = ls_ddlsrcv ).
|
|
66
|
-
|
|
67
|
-
IF ls_ddlsrcv-source IS NOT INITIAL.
|
|
68
|
-
lv_found = abap_true.
|
|
69
|
-
ENDIF.
|
|
70
|
-
CATCH cx_dd_ddl_check.
|
|
71
|
-
" Not found
|
|
72
|
-
ENDTRY.
|
|
73
|
-
ENDIF.
|
|
74
|
-
|
|
75
|
-
" Set source code if found
|
|
76
|
-
IF lv_found = abap_true.
|
|
77
|
-
rs_info-source = ls_ddlsrcv-source.
|
|
78
|
-
ELSE.
|
|
79
|
-
rs_info-not_found = abap_true.
|
|
80
|
-
ENDIF.
|
|
81
|
-
ENDMETHOD.
|
|
82
|
-
|
|
83
|
-
ENDCLASS.
|
|
@@ -1,15 +0,0 @@
|
|
|
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_DDLS</CLSNAME>
|
|
7
|
-
<LANGU>E</LANGU>
|
|
8
|
-
<DESCRIPT>Viewer for CDS Views</DESCRIPT>
|
|
9
|
-
<EXPOSURE>2</EXPOSURE>
|
|
10
|
-
<STATE>1</STATE>
|
|
11
|
-
<UNICODE>X</UNICODE>
|
|
12
|
-
</VSEOCLASS>
|
|
13
|
-
</asx:values>
|
|
14
|
-
</asx:abap>
|
|
15
|
-
</abapGit>
|
|
@@ -1,98 +0,0 @@
|
|
|
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.
|
|
@@ -1,15 +0,0 @@
|
|
|
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>
|
|
@@ -1,41 +0,0 @@
|
|
|
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.
|
|
@@ -1,15 +0,0 @@
|
|
|
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>
|
|
@@ -1,58 +0,0 @@
|
|
|
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.
|
|
@@ -1,15 +0,0 @@
|
|
|
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>
|
|
@@ -1,59 +0,0 @@
|
|
|
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.
|
|
@@ -1,15 +0,0 @@
|
|
|
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>
|
|
@@ -1,59 +0,0 @@
|
|
|
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.
|
|
@@ -1,15 +0,0 @@
|
|
|
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>
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
*"*"use source
|
|
2
|
-
*"*"Local Interface:
|
|
3
|
-
*"**********************************************************************
|
|
4
|
-
CLASS zcl_abgagt_viewer_ttyp DEFINITION PUBLIC FINAL CREATE PUBLIC.
|
|
5
|
-
|
|
6
|
-
PUBLIC SECTION.
|
|
7
|
-
INTERFACES zif_abgagt_viewer.
|
|
8
|
-
|
|
9
|
-
ENDCLASS.
|
|
10
|
-
|
|
11
|
-
CLASS zcl_abgagt_viewer_ttyp 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_linetype TYPE string,
|
|
17
|
-
lv_tabprottype TYPE string,
|
|
18
|
-
lv_keydef TYPE string,
|
|
19
|
-
lv_access_mode TYPE string,
|
|
20
|
-
lv_key_definition TYPE string.
|
|
21
|
-
|
|
22
|
-
rs_info-name = iv_name.
|
|
23
|
-
rs_info-type = 'TTYP'.
|
|
24
|
-
rs_info-type_text = 'Table Type'.
|
|
25
|
-
|
|
26
|
-
" Get package from TADIR
|
|
27
|
-
SELECT SINGLE obj_name devclass FROM tadir
|
|
28
|
-
INTO (lv_obj_name, lv_devclass)
|
|
29
|
-
WHERE obj_name = iv_name
|
|
30
|
-
AND object = 'TTYP'.
|
|
31
|
-
IF sy-subrc = 0.
|
|
32
|
-
rs_info-description = |Table Type { iv_name } in { lv_devclass }|.
|
|
33
|
-
ELSE.
|
|
34
|
-
rs_info-not_found = abap_true.
|
|
35
|
-
ENDIF.
|
|
36
|
-
|
|
37
|
-
" Get TTYP details from DD40L
|
|
38
|
-
SELECT SINGLE rowtype accessmode keydef FROM dd40l
|
|
39
|
-
INTO (lv_linetype, lv_tabprottype, lv_keydef)
|
|
40
|
-
WHERE typename = iv_name
|
|
41
|
-
AND as4local = 'A'.
|
|
42
|
-
|
|
43
|
-
" Build components table with TTYP details
|
|
44
|
-
IF lv_linetype IS NOT INITIAL.
|
|
45
|
-
APPEND VALUE #(
|
|
46
|
-
field = 'LINE_TYPE'
|
|
47
|
-
key = abap_false
|
|
48
|
-
type = 'CHAR'
|
|
49
|
-
length = 30
|
|
50
|
-
dataelement = ''
|
|
51
|
-
description = |Line Type: { lv_linetype }|
|
|
52
|
-
) TO rs_info-components.
|
|
53
|
-
ENDIF.
|
|
54
|
-
|
|
55
|
-
" Convert access mode to text
|
|
56
|
-
CASE lv_tabprottype.
|
|
57
|
-
WHEN 'T'. lv_access_mode = 'STANDARD'.
|
|
58
|
-
WHEN 'S'. lv_access_mode = 'SORTED'.
|
|
59
|
-
WHEN 'H'. lv_access_mode = 'HASHED'.
|
|
60
|
-
WHEN OTHERS. lv_access_mode = lv_tabprottype.
|
|
61
|
-
ENDCASE.
|
|
62
|
-
|
|
63
|
-
IF lv_access_mode IS NOT INITIAL.
|
|
64
|
-
APPEND VALUE #(
|
|
65
|
-
field = 'ACCESS_MODE'
|
|
66
|
-
key = abap_false
|
|
67
|
-
type = 'CHAR'
|
|
68
|
-
length = 10
|
|
69
|
-
dataelement = ''
|
|
70
|
-
description = |Access Mode: { lv_access_mode }|
|
|
71
|
-
) TO rs_info-components.
|
|
72
|
-
ENDIF.
|
|
73
|
-
|
|
74
|
-
" Convert key definition to text
|
|
75
|
-
CASE lv_keydef.
|
|
76
|
-
WHEN 'D'. lv_key_definition = 'WITH KEY'.
|
|
77
|
-
WHEN 'N'. lv_key_definition = 'NO KEY'.
|
|
78
|
-
WHEN OTHERS. lv_key_definition = lv_keydef.
|
|
79
|
-
ENDCASE.
|
|
80
|
-
|
|
81
|
-
IF lv_key_definition IS NOT INITIAL.
|
|
82
|
-
APPEND VALUE #(
|
|
83
|
-
field = 'KEY_DEFINITION'
|
|
84
|
-
key = abap_false
|
|
85
|
-
type = 'CHAR'
|
|
86
|
-
length = 10
|
|
87
|
-
dataelement = ''
|
|
88
|
-
description = |Key Definition: { lv_key_definition }|
|
|
89
|
-
) TO rs_info-components.
|
|
90
|
-
ENDIF.
|
|
91
|
-
ENDMETHOD.
|
|
92
|
-
|
|
93
|
-
ENDCLASS.
|
|
@@ -1,15 +0,0 @@
|
|
|
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_TTYP</CLSNAME>
|
|
7
|
-
<LANGU>E</LANGU>
|
|
8
|
-
<DESCRIPT>Viewer for ABAP Table Types</DESCRIPT>
|
|
9
|
-
<EXPOSURE>2</EXPOSURE>
|
|
10
|
-
<STATE>1</STATE>
|
|
11
|
-
<UNICODE>X</UNICODE>
|
|
12
|
-
</VSEOCLASS>
|
|
13
|
-
</asx:values>
|
|
14
|
-
</asx:abap>
|
|
15
|
-
</abapGit>
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
" Interface for abapGit Agent - handles pull operations only.
|
|
2
|
-
" Note: inspect and run_tests are implemented in separate command classes
|
|
3
|
-
" (zcl_abgagt_command_inspect, zcl_abgagt_command_unit) using ABAP standard classes.
|
|
4
|
-
|
|
5
|
-
INTERFACE zif_abgagt_agent PUBLIC.
|
|
6
|
-
|
|
7
|
-
TYPES: BEGIN OF ty_object,
|
|
8
|
-
type TYPE string,
|
|
9
|
-
id TYPE string,
|
|
10
|
-
number TYPE string,
|
|
11
|
-
text TYPE string,
|
|
12
|
-
obj_type TYPE string,
|
|
13
|
-
obj_name TYPE string,
|
|
14
|
-
exception TYPE string,
|
|
15
|
-
END OF ty_object.
|
|
16
|
-
|
|
17
|
-
TYPES: ty_object_list TYPE STANDARD TABLE OF ty_object WITH NON-UNIQUE DEFAULT KEY.
|
|
18
|
-
|
|
19
|
-
TYPES: BEGIN OF ty_result,
|
|
20
|
-
success TYPE abap_bool,
|
|
21
|
-
job_id TYPE string,
|
|
22
|
-
message TYPE string,
|
|
23
|
-
error_detail TYPE string,
|
|
24
|
-
transport_request TYPE string,
|
|
25
|
-
activated_count TYPE i,
|
|
26
|
-
failed_count TYPE i,
|
|
27
|
-
log_messages TYPE ty_object_list,
|
|
28
|
-
activated_objects TYPE ty_object_list,
|
|
29
|
-
failed_objects TYPE ty_object_list,
|
|
30
|
-
started_at TYPE timestampl,
|
|
31
|
-
finished_at TYPE timestampl,
|
|
32
|
-
END OF ty_result.
|
|
33
|
-
|
|
34
|
-
METHODS pull
|
|
35
|
-
IMPORTING
|
|
36
|
-
iv_url TYPE string
|
|
37
|
-
iv_branch TYPE string DEFAULT 'main'
|
|
38
|
-
iv_username TYPE string OPTIONAL
|
|
39
|
-
iv_password TYPE string OPTIONAL
|
|
40
|
-
iv_transport_request TYPE string OPTIONAL
|
|
41
|
-
it_files TYPE string_table OPTIONAL
|
|
42
|
-
RETURNING
|
|
43
|
-
VALUE(rs_result) TYPE ty_result
|
|
44
|
-
RAISING
|
|
45
|
-
zcx_abapgit_exception.
|
|
46
|
-
|
|
47
|
-
METHODS get_repo_status
|
|
48
|
-
IMPORTING
|
|
49
|
-
iv_url TYPE string
|
|
50
|
-
RETURNING
|
|
51
|
-
VALUE(rv_status) TYPE string.
|
|
52
|
-
|
|
53
|
-
ENDINTERFACE.
|
|
@@ -1,15 +0,0 @@
|
|
|
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_AGENT</CLSNAME>
|
|
7
|
-
<LANGU>E</LANGU>
|
|
8
|
-
<DESCRIPT>Interface for ABAP Git Agent</DESCRIPT>
|
|
9
|
-
<EXPOSURE>2</EXPOSURE>
|
|
10
|
-
<STATE>1</STATE>
|
|
11
|
-
<UNICODE>X</UNICODE>
|
|
12
|
-
</VSEOINTERF>
|
|
13
|
-
</asx:values>
|
|
14
|
-
</asx:abap>
|
|
15
|
-
</abapGit>
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
"* Use this source text module for the interface definition
|
|
2
|
-
"! <p class="shorttext synchronized">Command Factory Interface for ABAP Git Agent</p>
|
|
3
|
-
INTERFACE zif_abgagt_cmd_factory PUBLIC.
|
|
4
|
-
METHODS get_command
|
|
5
|
-
IMPORTING iv_command TYPE string
|
|
6
|
-
RETURNING VALUE(ro_command) TYPE REF TO zif_abgagt_command.
|
|
7
|
-
ENDINTERFACE.
|