mirror of
https://github.com/abapGit/abapGit.git
synced 2025-04-30 20:03:20 +08:00
DOCV DOCT support added, close #152
This commit is contained in:
parent
bc0bfc651e
commit
5a01c650ea
|
@ -3,7 +3,7 @@ REPORT zabapgit LINE-SIZE 100.
|
|||
* See http://www.abapgit.org
|
||||
|
||||
CONSTANTS: gc_xml_version TYPE string VALUE 'v1.0.0', "#EC NOTEXT
|
||||
gc_abap_version TYPE string VALUE 'v1.13.2'. "#EC NOTEXT
|
||||
gc_abap_version TYPE string VALUE 'v1.14.0'. "#EC NOTEXT
|
||||
|
||||
********************************************************************************
|
||||
* The MIT License (MIT)
|
||||
|
@ -104,6 +104,8 @@ INCLUDE zabapgit_object_shlp.
|
|||
INCLUDE zabapgit_object_tran.
|
||||
INCLUDE zabapgit_object_tobj.
|
||||
INCLUDE zabapgit_object_msag.
|
||||
INCLUDE zabapgit_object_doct.
|
||||
INCLUDE zabapgit_object_docv.
|
||||
INCLUDE zabapgit_repo_impl.
|
||||
INCLUDE zabapgit_background.
|
||||
INCLUDE zabapgit_zip.
|
||||
|
|
|
@ -154,7 +154,7 @@ FORM output.
|
|||
DATA: lt_ucomm TYPE TABLE OF sy-ucomm.
|
||||
PERFORM set_pf_status IN PROGRAM rsdbrunt IF FOUND.
|
||||
|
||||
APPEND: 'CRET' TO lt_ucomm. "Button Execute
|
||||
APPEND 'CRET' TO lt_ucomm. "Button Execute
|
||||
|
||||
CALL FUNCTION 'RS_SET_SELSCREEN_STATUS'
|
||||
EXPORTING
|
||||
|
|
|
@ -428,9 +428,10 @@ CLASS lcl_html_toolbar DEFINITION FINAL.
|
|||
opt TYPE char1,
|
||||
typ TYPE char1,
|
||||
END OF ty_item.
|
||||
TYPES: tt_items TYPE STANDARD TABLE OF ty_item.
|
||||
|
||||
DATA mt_items TYPE tt_items.
|
||||
TYPES tt_items TYPE STANDARD TABLE OF ty_item.
|
||||
|
||||
DATA mt_items TYPE tt_items.
|
||||
|
||||
ENDCLASS. "lcl_html_toolbar DEFINITION
|
||||
|
||||
|
|
134
src/zabapgit_object_doct.prog.abap
Normal file
134
src/zabapgit_object_doct.prog.abap
Normal file
|
@ -0,0 +1,134 @@
|
|||
*&---------------------------------------------------------------------*
|
||||
*& Include ZABAPGIT_OBJECT_DOCT
|
||||
*&---------------------------------------------------------------------*
|
||||
|
||||
CLASS lcl_object_doct DEFINITION INHERITING FROM lcl_objects_super FINAL.
|
||||
|
||||
PUBLIC SECTION.
|
||||
INTERFACES lif_object.
|
||||
ALIASES mo_files FOR lif_object~mo_files.
|
||||
|
||||
PRIVATE SECTION.
|
||||
CONSTANTS: c_id TYPE dokhl-id VALUE 'TX',
|
||||
c_typ TYPE dokhl-typ VALUE 'E',
|
||||
c_version TYPE dokhl-dokversion VALUE '0001',
|
||||
c_name TYPE string VALUE 'DOC'.
|
||||
|
||||
TYPES: BEGIN OF ty_data,
|
||||
doctitle TYPE dsyst-doktitle,
|
||||
head TYPE thead,
|
||||
lines TYPE tlinet,
|
||||
END OF ty_data.
|
||||
|
||||
ENDCLASS. "lcl_object_msag DEFINITION
|
||||
|
||||
*----------------------------------------------------------------------*
|
||||
* CLASS lcl_object_view IMPLEMENTATION
|
||||
*----------------------------------------------------------------------*
|
||||
*
|
||||
*----------------------------------------------------------------------*
|
||||
CLASS lcl_object_doct IMPLEMENTATION.
|
||||
|
||||
METHOD lif_object~get_metadata.
|
||||
rs_metadata = get_metadata( ).
|
||||
ENDMETHOD. "lif_object~get_metadata
|
||||
|
||||
METHOD lif_object~exists.
|
||||
|
||||
DATA: lv_id TYPE dokil-id,
|
||||
lv_object TYPE dokhl-object.
|
||||
|
||||
|
||||
lv_object = ms_item-obj_name.
|
||||
|
||||
SELECT SINGLE id FROM dokil INTO lv_id
|
||||
WHERE id = c_id
|
||||
AND object = lv_object. "#EC CI_GENBUFF
|
||||
|
||||
rv_bool = boolc( sy-subrc = 0 ).
|
||||
|
||||
ENDMETHOD. "lif_object~exists
|
||||
|
||||
METHOD lif_object~jump.
|
||||
|
||||
_raise 'todo, jump DOCT'.
|
||||
|
||||
ENDMETHOD. "jump
|
||||
|
||||
METHOD lif_object~delete.
|
||||
|
||||
DATA: lv_object TYPE dokhl-object.
|
||||
|
||||
|
||||
lv_object = ms_item-obj_name.
|
||||
|
||||
CALL FUNCTION 'DOCU_DEL'
|
||||
EXPORTING
|
||||
id = c_id
|
||||
langu = mv_language
|
||||
object = lv_object
|
||||
typ = c_typ
|
||||
EXCEPTIONS
|
||||
ret_code = 1
|
||||
OTHERS = 2.
|
||||
IF sy-subrc <> 0.
|
||||
_raise 'error from DOCU_DEL'.
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD. "delete
|
||||
|
||||
METHOD lif_object~deserialize.
|
||||
|
||||
DATA: ls_data TYPE ty_data.
|
||||
|
||||
|
||||
io_xml->read( EXPORTING iv_name = c_name
|
||||
CHANGING cg_data = ls_data ).
|
||||
|
||||
CALL FUNCTION 'DOCU_UPDATE'
|
||||
EXPORTING
|
||||
head = ls_data-head
|
||||
state = 'A'
|
||||
typ = c_typ
|
||||
version = c_version
|
||||
TABLES
|
||||
line = ls_data-lines.
|
||||
|
||||
ENDMETHOD. "deserialize
|
||||
|
||||
METHOD lif_object~serialize.
|
||||
|
||||
DATA: lv_object TYPE dokhl-object,
|
||||
ls_data TYPE ty_data.
|
||||
|
||||
|
||||
lv_object = ms_item-obj_name.
|
||||
|
||||
CALL FUNCTION 'DOCU_READ'
|
||||
EXPORTING
|
||||
id = c_id
|
||||
langu = mv_language
|
||||
object = lv_object
|
||||
typ = c_typ
|
||||
version = c_version
|
||||
IMPORTING
|
||||
doktitle = ls_data-doctitle
|
||||
head = ls_data-head
|
||||
TABLES
|
||||
line = ls_data-lines.
|
||||
|
||||
CLEAR: ls_data-head-tdfuser,
|
||||
ls_data-head-tdfreles,
|
||||
ls_data-head-tdfdate,
|
||||
ls_data-head-tdftime,
|
||||
ls_data-head-tdluser,
|
||||
ls_data-head-tdlreles,
|
||||
ls_data-head-tdldate,
|
||||
ls_data-head-tdltime.
|
||||
|
||||
io_xml->add( iv_name = c_name
|
||||
ig_data = ls_data ).
|
||||
|
||||
ENDMETHOD. "serialize
|
||||
|
||||
ENDCLASS. "lcl_object_msag IMPLEMENTATION
|
48
src/zabapgit_object_doct.prog.xml
Normal file
48
src/zabapgit_object_doct.prog.xml
Normal file
|
@ -0,0 +1,48 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_PROG" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<PROGDIR>
|
||||
<NAME>ZABAPGIT_OBJECT_DOCT</NAME>
|
||||
<STATE>A</STATE>
|
||||
<SQLX/>
|
||||
<EDTX/>
|
||||
<VARCL>X</VARCL>
|
||||
<DBAPL/>
|
||||
<DBNA/>
|
||||
<CLAS/>
|
||||
<TYPE/>
|
||||
<OCCURS/>
|
||||
<SUBC>I</SUBC>
|
||||
<APPL/>
|
||||
<SECU/>
|
||||
<CNAM/>
|
||||
<CDAT>0000-00-00</CDAT>
|
||||
<UNAM/>
|
||||
<UDAT>0000-00-00</UDAT>
|
||||
<VERN/>
|
||||
<LEVL/>
|
||||
<RSTAT/>
|
||||
<RMAND/>
|
||||
<RLOAD>E</RLOAD>
|
||||
<FIXPT/>
|
||||
<SSET/>
|
||||
<SDATE>0000-00-00</SDATE>
|
||||
<STIME/>
|
||||
<IDATE>0000-00-00</IDATE>
|
||||
<ITIME/>
|
||||
<LDBNAME/>
|
||||
<UCCHECK>X</UCCHECK>
|
||||
</PROGDIR>
|
||||
<TPOOL>
|
||||
<item>
|
||||
<ID>R</ID>
|
||||
<KEY/>
|
||||
<ENTRY>Include ZABAPGIT_OBJECT_DOCT</ENTRY>
|
||||
<LENGTH>28</LENGTH>
|
||||
<SPLIT/>
|
||||
</item>
|
||||
</TPOOL>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
138
src/zabapgit_object_docv.prog.abap
Normal file
138
src/zabapgit_object_docv.prog.abap
Normal file
|
@ -0,0 +1,138 @@
|
|||
*&---------------------------------------------------------------------*
|
||||
*& Include ZABAPGIT_OBJECT_DOCT
|
||||
*&---------------------------------------------------------------------*
|
||||
|
||||
CLASS lcl_object_docv DEFINITION INHERITING FROM lcl_objects_super FINAL.
|
||||
|
||||
PUBLIC SECTION.
|
||||
INTERFACES lif_object.
|
||||
ALIASES mo_files FOR lif_object~mo_files.
|
||||
|
||||
PRIVATE SECTION.
|
||||
CONSTANTS: c_typ TYPE dokhl-typ VALUE 'E',
|
||||
c_version TYPE dokhl-dokversion VALUE '0001',
|
||||
c_name TYPE string VALUE 'DOC'.
|
||||
|
||||
TYPES: BEGIN OF ty_data,
|
||||
doctitle TYPE dsyst-doktitle,
|
||||
head TYPE thead,
|
||||
lines TYPE tlinet,
|
||||
END OF ty_data.
|
||||
|
||||
ENDCLASS. "lcl_object_msag DEFINITION
|
||||
|
||||
*----------------------------------------------------------------------*
|
||||
* CLASS lcl_object_view IMPLEMENTATION
|
||||
*----------------------------------------------------------------------*
|
||||
*
|
||||
*----------------------------------------------------------------------*
|
||||
CLASS lcl_object_docv IMPLEMENTATION.
|
||||
|
||||
METHOD lif_object~get_metadata.
|
||||
rs_metadata = get_metadata( ).
|
||||
ENDMETHOD. "lif_object~get_metadata
|
||||
|
||||
METHOD lif_object~exists.
|
||||
|
||||
DATA: lv_id TYPE dokhl-id,
|
||||
lv_object TYPE dokhl-object.
|
||||
|
||||
|
||||
lv_id = ms_item-obj_name(2).
|
||||
lv_object = ms_item-obj_name+2.
|
||||
|
||||
SELECT SINGLE id FROM dokil INTO lv_id
|
||||
WHERE id = lv_id
|
||||
AND object = lv_object. "#EC CI_GENBUFF
|
||||
|
||||
rv_bool = boolc( sy-subrc = 0 ).
|
||||
|
||||
ENDMETHOD. "lif_object~exists
|
||||
|
||||
METHOD lif_object~jump.
|
||||
|
||||
_raise 'todo, jump DOCT'.
|
||||
|
||||
ENDMETHOD. "jump
|
||||
|
||||
METHOD lif_object~delete.
|
||||
|
||||
DATA: lv_id TYPE dokhl-id,
|
||||
lv_object TYPE dokhl-object.
|
||||
|
||||
|
||||
lv_id = ms_item-obj_name(2).
|
||||
lv_object = ms_item-obj_name+2.
|
||||
|
||||
CALL FUNCTION 'DOCU_DEL'
|
||||
EXPORTING
|
||||
id = lv_id
|
||||
langu = mv_language
|
||||
object = lv_object
|
||||
typ = c_typ
|
||||
EXCEPTIONS
|
||||
ret_code = 1
|
||||
OTHERS = 2.
|
||||
IF sy-subrc <> 0.
|
||||
_raise 'error from DOCU_DEL'.
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD. "delete
|
||||
|
||||
METHOD lif_object~deserialize.
|
||||
|
||||
DATA: ls_data TYPE ty_data.
|
||||
|
||||
|
||||
io_xml->read( EXPORTING iv_name = c_name
|
||||
CHANGING cg_data = ls_data ).
|
||||
|
||||
CALL FUNCTION 'DOCU_UPDATE'
|
||||
EXPORTING
|
||||
head = ls_data-head
|
||||
state = 'A'
|
||||
typ = c_typ
|
||||
version = c_version
|
||||
TABLES
|
||||
line = ls_data-lines.
|
||||
|
||||
ENDMETHOD. "deserialize
|
||||
|
||||
METHOD lif_object~serialize.
|
||||
|
||||
DATA: lv_object TYPE dokhl-object,
|
||||
ls_data TYPE ty_data,
|
||||
lv_id TYPE dokhl-id.
|
||||
|
||||
|
||||
lv_id = ms_item-obj_name(2).
|
||||
lv_object = ms_item-obj_name+2.
|
||||
|
||||
CALL FUNCTION 'DOCU_READ'
|
||||
EXPORTING
|
||||
id = lv_id
|
||||
langu = mv_language
|
||||
object = lv_object
|
||||
typ = c_typ
|
||||
version = c_version
|
||||
IMPORTING
|
||||
doktitle = ls_data-doctitle
|
||||
head = ls_data-head
|
||||
TABLES
|
||||
line = ls_data-lines.
|
||||
|
||||
CLEAR: ls_data-head-tdfuser,
|
||||
ls_data-head-tdfreles,
|
||||
ls_data-head-tdfdate,
|
||||
ls_data-head-tdftime,
|
||||
ls_data-head-tdluser,
|
||||
ls_data-head-tdlreles,
|
||||
ls_data-head-tdldate,
|
||||
ls_data-head-tdltime.
|
||||
|
||||
io_xml->add( iv_name = c_name
|
||||
ig_data = ls_data ).
|
||||
|
||||
ENDMETHOD. "serialize
|
||||
|
||||
ENDCLASS. "lcl_object_msag IMPLEMENTATION
|
48
src/zabapgit_object_docv.prog.xml
Normal file
48
src/zabapgit_object_docv.prog.xml
Normal file
|
@ -0,0 +1,48 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_PROG" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<PROGDIR>
|
||||
<NAME>ZABAPGIT_OBJECT_DOCV</NAME>
|
||||
<STATE>A</STATE>
|
||||
<SQLX/>
|
||||
<EDTX/>
|
||||
<VARCL>X</VARCL>
|
||||
<DBAPL/>
|
||||
<DBNA/>
|
||||
<CLAS/>
|
||||
<TYPE/>
|
||||
<OCCURS/>
|
||||
<SUBC>I</SUBC>
|
||||
<APPL/>
|
||||
<SECU/>
|
||||
<CNAM/>
|
||||
<CDAT>0000-00-00</CDAT>
|
||||
<UNAM/>
|
||||
<UDAT>0000-00-00</UDAT>
|
||||
<VERN/>
|
||||
<LEVL>750</LEVL>
|
||||
<RSTAT/>
|
||||
<RMAND/>
|
||||
<RLOAD>E</RLOAD>
|
||||
<FIXPT/>
|
||||
<SSET/>
|
||||
<SDATE>0000-00-00</SDATE>
|
||||
<STIME/>
|
||||
<IDATE>0000-00-00</IDATE>
|
||||
<ITIME/>
|
||||
<LDBNAME/>
|
||||
<UCCHECK>X</UCCHECK>
|
||||
</PROGDIR>
|
||||
<TPOOL>
|
||||
<item>
|
||||
<ID>R</ID>
|
||||
<KEY/>
|
||||
<ENTRY>Include ZABAPGIT_OBJECT_DOCT</ENTRY>
|
||||
<LENGTH>28</LENGTH>
|
||||
<SPLIT/>
|
||||
</item>
|
||||
</TPOOL>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -404,8 +404,8 @@ CLASS lcl_gui_page_branch_overview IMPLEMENTATION.
|
|||
ro_html->add( '<form id="commit_form" method="post" action="sapevent:merge">' ).
|
||||
ro_html->add( 'Merge' ) ##NO_TEXT.
|
||||
ro_html->add( form_select( 'source' ) ).
|
||||
ro_html->add( 'into' ).
|
||||
ro_html->add( form_select( 'target' ) ).
|
||||
ro_html->add( 'into' ) ##NO_TEXT.
|
||||
ro_html->add( form_select( 'target' ) ) ##NO_TEXT.
|
||||
ro_html->add( '<input type="submit" value="Submit">' ).
|
||||
ro_html->add( '</form>' ).
|
||||
|
||||
|
@ -432,7 +432,8 @@ CLASS lcl_gui_page_branch_overview IMPLEMENTATION.
|
|||
_add '<canvas id="gitGraph"></canvas>'.
|
||||
|
||||
ro_html->add( '<script type="text/javascript" src="https://cdnjs.' &&
|
||||
'cloudflare.com/ajax/libs/gitgraph.js/1.2.3/gitgraph.min.js"></script>' ).
|
||||
'cloudflare.com/ajax/libs/gitgraph.js/1.2.3/gitgraph.min.js">' &&
|
||||
'</script>' ) ##NO_TEXT.
|
||||
|
||||
_add '<script type="text/javascript">'.
|
||||
_add 'var myTemplateConfig = {'.
|
||||
|
@ -529,7 +530,6 @@ CLASS lcl_gui_page_branch_overview IMPLEMENTATION.
|
|||
METHOD decode_merge.
|
||||
|
||||
DATA: lv_string TYPE string,
|
||||
ls_content TYPE lcl_persistence_db=>ty_content,
|
||||
lt_fields TYPE tihttpnvp.
|
||||
|
||||
FIELD-SYMBOLS: <ls_field> LIKE LINE OF lt_fields.
|
||||
|
|
Loading…
Reference in New Issue
Block a user