mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-02 04:36:49 +08:00
DOCV: Handle namespaces (#5756)
This commit is contained in:
parent
ee3f5f4cb1
commit
16d69e8ab9
|
@ -1,22 +1,37 @@
|
||||||
CLASS zcl_abapgit_object_docv DEFINITION PUBLIC INHERITING FROM zcl_abapgit_objects_super FINAL.
|
CLASS zcl_abapgit_object_docv DEFINITION
|
||||||
|
PUBLIC
|
||||||
|
INHERITING FROM zcl_abapgit_objects_super
|
||||||
|
FINAL
|
||||||
|
CREATE PUBLIC.
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
|
||||||
INTERFACES zif_abapgit_object.
|
INTERFACES zif_abapgit_object.
|
||||||
|
|
||||||
|
METHODS constructor
|
||||||
|
IMPORTING
|
||||||
|
!is_item TYPE zif_abapgit_definitions=>ty_item
|
||||||
|
!iv_language TYPE spras.
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
PRIVATE SECTION.
|
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,
|
TYPES:
|
||||||
doctitle TYPE dsyst-doktitle,
|
BEGIN OF ty_data,
|
||||||
head TYPE thead,
|
doctitle TYPE dsyst-doktitle,
|
||||||
lines TYPE tline_tab,
|
head TYPE thead,
|
||||||
END OF ty_data.
|
lines TYPE tline_tab,
|
||||||
|
END OF ty_data.
|
||||||
|
|
||||||
METHODS: read
|
CONSTANTS c_typ TYPE dokhl-typ VALUE 'E' ##NO_TEXT.
|
||||||
RETURNING VALUE(rs_data) TYPE ty_data.
|
CONSTANTS c_version TYPE dokhl-dokversion VALUE '0001' ##NO_TEXT.
|
||||||
|
CONSTANTS c_name TYPE string VALUE 'DOC' ##NO_TEXT.
|
||||||
|
|
||||||
|
DATA mv_id TYPE dokhl-id.
|
||||||
|
DATA mv_doc_object TYPE dokhl-object.
|
||||||
|
|
||||||
|
METHODS read
|
||||||
|
RETURNING
|
||||||
|
VALUE(rs_data) TYPE ty_data.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
@ -24,20 +39,34 @@ ENDCLASS.
|
||||||
CLASS zcl_abapgit_object_docv IMPLEMENTATION.
|
CLASS zcl_abapgit_object_docv IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD constructor.
|
||||||
|
|
||||||
|
DATA: lv_prefix TYPE namespace,
|
||||||
|
lv_bare_name TYPE progname.
|
||||||
|
|
||||||
|
super->constructor( is_item = is_item
|
||||||
|
iv_language = iv_language ).
|
||||||
|
|
||||||
|
CALL FUNCTION 'RS_NAME_SPLIT_NAMESPACE'
|
||||||
|
EXPORTING
|
||||||
|
name_with_namespace = ms_item-obj_name
|
||||||
|
IMPORTING
|
||||||
|
namespace = lv_prefix
|
||||||
|
name_without_namespace = lv_bare_name.
|
||||||
|
|
||||||
|
mv_id = lv_bare_name(2).
|
||||||
|
mv_doc_object = |{ lv_prefix }{ lv_bare_name+2(*) }|.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD read.
|
METHOD read.
|
||||||
|
|
||||||
DATA: lv_object TYPE dokhl-object,
|
|
||||||
lv_id TYPE dokhl-id.
|
|
||||||
|
|
||||||
|
|
||||||
lv_id = ms_item-obj_name(2).
|
|
||||||
lv_object = ms_item-obj_name+2.
|
|
||||||
|
|
||||||
CALL FUNCTION 'DOCU_READ'
|
CALL FUNCTION 'DOCU_READ'
|
||||||
EXPORTING
|
EXPORTING
|
||||||
id = lv_id
|
id = mv_id
|
||||||
langu = mv_language
|
langu = mv_language
|
||||||
object = lv_object
|
object = mv_doc_object
|
||||||
typ = c_typ
|
typ = c_typ
|
||||||
version = c_version
|
version = c_version
|
||||||
IMPORTING
|
IMPORTING
|
||||||
|
@ -59,18 +88,11 @@ CLASS zcl_abapgit_object_docv IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD zif_abapgit_object~delete.
|
METHOD zif_abapgit_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'
|
CALL FUNCTION 'DOCU_DEL'
|
||||||
EXPORTING
|
EXPORTING
|
||||||
id = lv_id
|
id = mv_id
|
||||||
langu = mv_language
|
langu = mv_language
|
||||||
object = lv_object
|
object = mv_doc_object
|
||||||
typ = c_typ
|
typ = c_typ
|
||||||
EXCEPTIONS
|
EXCEPTIONS
|
||||||
ret_code = 1
|
ret_code = 1
|
||||||
|
@ -104,16 +126,9 @@ CLASS zcl_abapgit_object_docv IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD zif_abapgit_object~exists.
|
METHOD zif_abapgit_object~exists.
|
||||||
|
|
||||||
DATA: lv_id TYPE dokhl-id,
|
SELECT SINGLE id FROM dokil INTO mv_id
|
||||||
lv_object TYPE dokhl-object.
|
WHERE id = mv_id
|
||||||
|
AND object = mv_doc_object. "#EC CI_GENBUFF
|
||||||
|
|
||||||
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 ).
|
rv_bool = boolc( sy-subrc = 0 ).
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user