mirror of
https://github.com/abap2UI5/abap2UI5.git
synced 2025-04-29 21:42:45 +08:00
reafctoring utility classes (#1751)
* reafctoring utility classes * update
This commit is contained in:
parent
3cbd06e952
commit
d38e03e8c2
156
src/00/03/z2ui5_cl_util_db.clas.abap
Normal file
156
src/00/03/z2ui5_cl_util_db.clas.abap
Normal file
|
@ -0,0 +1,156 @@
|
||||||
|
CLASS z2ui5_cl_util_db DEFINITION
|
||||||
|
PUBLIC
|
||||||
|
FINAL
|
||||||
|
CREATE PUBLIC .
|
||||||
|
|
||||||
|
PUBLIC SECTION.
|
||||||
|
|
||||||
|
CLASS-METHODS delete_by_handle
|
||||||
|
IMPORTING
|
||||||
|
uname TYPE clike OPTIONAL
|
||||||
|
handle TYPE clike OPTIONAL
|
||||||
|
handle2 TYPE clike OPTIONAL
|
||||||
|
handle3 TYPE clike OPTIONAL
|
||||||
|
check_commit TYPE abap_bool DEFAULT abap_true.
|
||||||
|
|
||||||
|
CLASS-METHODS save
|
||||||
|
IMPORTING
|
||||||
|
uname TYPE clike OPTIONAL
|
||||||
|
handle TYPE clike OPTIONAL
|
||||||
|
handle2 TYPE clike OPTIONAL
|
||||||
|
handle3 TYPE clike OPTIONAL
|
||||||
|
data TYPE any
|
||||||
|
check_commit TYPE abap_bool DEFAULT abap_true
|
||||||
|
RETURNING
|
||||||
|
VALUE(result) TYPE string.
|
||||||
|
|
||||||
|
CLASS-METHODS load_by_id
|
||||||
|
IMPORTING
|
||||||
|
id TYPE clike OPTIONAL
|
||||||
|
EXPORTING
|
||||||
|
VALUE(result) TYPE any.
|
||||||
|
|
||||||
|
CLASS-METHODS load_by_handle
|
||||||
|
IMPORTING
|
||||||
|
uname TYPE clike OPTIONAL
|
||||||
|
handle TYPE clike OPTIONAL
|
||||||
|
handle2 TYPE clike OPTIONAL
|
||||||
|
handle3 TYPE clike OPTIONAL
|
||||||
|
EXPORTING
|
||||||
|
VALUE(result) TYPE any.
|
||||||
|
|
||||||
|
PROTECTED SECTION.
|
||||||
|
PRIVATE SECTION.
|
||||||
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
CLASS z2ui5_cl_util_db IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
METHOD delete_by_handle.
|
||||||
|
|
||||||
|
DELETE FROM z2ui5_t_91
|
||||||
|
WHERE
|
||||||
|
uname = @uname
|
||||||
|
AND handle = @handle
|
||||||
|
AND handle2 = @handle2
|
||||||
|
AND handle3 = @handle3.
|
||||||
|
|
||||||
|
IF check_commit = abap_true.
|
||||||
|
COMMIT WORK AND WAIT.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD load_by_handle.
|
||||||
|
|
||||||
|
DATA lt_db TYPE STANDARD TABLE OF z2ui5_t_91 WITH EMPTY KEY.
|
||||||
|
|
||||||
|
SELECT data
|
||||||
|
FROM z2ui5_t_91
|
||||||
|
WHERE
|
||||||
|
uname = @uname
|
||||||
|
AND handle = @handle
|
||||||
|
AND handle2 = @handle2
|
||||||
|
AND handle3 = @handle3
|
||||||
|
INTO CORRESPONDING FIELDS OF TABLE @lt_db.
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
RAISE EXCEPTION TYPE z2ui5_cx_util_error
|
||||||
|
EXPORTING
|
||||||
|
val = `No entry for handle exists`.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
DATA(ls_db) = lt_db[ 1 ].
|
||||||
|
|
||||||
|
z2ui5_cl_util=>xml_parse(
|
||||||
|
EXPORTING
|
||||||
|
xml = ls_db-data
|
||||||
|
IMPORTING
|
||||||
|
any = result ).
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD load_by_id.
|
||||||
|
|
||||||
|
DATA lt_db TYPE STANDARD TABLE OF z2ui5_t_91 WITH EMPTY KEY.
|
||||||
|
|
||||||
|
SELECT data
|
||||||
|
FROM z2ui5_t_91
|
||||||
|
WHERE id = @id
|
||||||
|
INTO CORRESPONDING FIELDS OF TABLE @lt_db.
|
||||||
|
ASSERT sy-subrc = 0.
|
||||||
|
|
||||||
|
DATA(ls_db) = lt_db[ 1 ].
|
||||||
|
|
||||||
|
z2ui5_cl_util=>xml_parse(
|
||||||
|
EXPORTING
|
||||||
|
xml = ls_db-data
|
||||||
|
IMPORTING
|
||||||
|
any = result ).
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD save.
|
||||||
|
|
||||||
|
DATA lt_db TYPE STANDARD TABLE OF z2ui5_t_91 WITH EMPTY KEY.
|
||||||
|
SELECT id
|
||||||
|
FROM z2ui5_t_91
|
||||||
|
WHERE
|
||||||
|
uname = @uname
|
||||||
|
AND handle = @handle
|
||||||
|
AND handle2 = @handle2
|
||||||
|
AND handle3 = @handle3
|
||||||
|
INTO CORRESPONDING FIELDS OF TABLE @lt_db ##SUBRC_OK.
|
||||||
|
|
||||||
|
DATA(ls_db) = VALUE z2ui5_t_91(
|
||||||
|
uname = uname
|
||||||
|
handle = handle
|
||||||
|
handle2 = handle2
|
||||||
|
handle3 = handle3
|
||||||
|
data = z2ui5_cl_util=>xml_stringify( data ) ).
|
||||||
|
|
||||||
|
TRY.
|
||||||
|
ls_db-id = lt_db[ 1 ]-id.
|
||||||
|
CATCH cx_root.
|
||||||
|
ls_db-id = z2ui5_cl_util=>uuid_get_c32( ).
|
||||||
|
ENDTRY.
|
||||||
|
|
||||||
|
MODIFY z2ui5_t_91 FROM @ls_db.
|
||||||
|
ASSERT sy-subrc = 0.
|
||||||
|
|
||||||
|
IF check_commit = abap_true.
|
||||||
|
COMMIT WORK AND WAIT.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
result = ls_db-id.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ENDCLASS.
|
16
src/00/03/z2ui5_cl_util_db.clas.xml
Normal file
16
src/00/03/z2ui5_cl_util_db.clas.xml
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||||
|
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||||
|
<asx:values>
|
||||||
|
<VSEOCLASS>
|
||||||
|
<CLSNAME>Z2UI5_CL_UTIL_DB</CLSNAME>
|
||||||
|
<LANGU>E</LANGU>
|
||||||
|
<DESCRIPT>util - db</DESCRIPT>
|
||||||
|
<STATE>1</STATE>
|
||||||
|
<CLSCCINCL>X</CLSCCINCL>
|
||||||
|
<FIXPT>X</FIXPT>
|
||||||
|
<UNICODE>X</UNICODE>
|
||||||
|
</VSEOCLASS>
|
||||||
|
</asx:values>
|
||||||
|
</asx:abap>
|
||||||
|
</abapGit>
|
125
src/00/03/z2ui5_t_91.tabl.xml
Normal file
125
src/00/03/z2ui5_t_91.tabl.xml
Normal file
|
@ -0,0 +1,125 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<abapGit version="v1.0.0" serializer="LCL_OBJECT_TABL" serializer_version="v1.0.0">
|
||||||
|
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||||
|
<asx:values>
|
||||||
|
<DD02V>
|
||||||
|
<TABNAME>Z2UI5_T_91</TABNAME>
|
||||||
|
<DDLANGUAGE>E</DDLANGUAGE>
|
||||||
|
<TABCLASS>TRANSP</TABCLASS>
|
||||||
|
<DDTEXT>util - db</DDTEXT>
|
||||||
|
<MASTERLANG>E</MASTERLANG>
|
||||||
|
<CONTFLAG>A</CONTFLAG>
|
||||||
|
<EXCLASS>1</EXCLASS>
|
||||||
|
</DD02V>
|
||||||
|
<DD09L>
|
||||||
|
<TABNAME>Z2UI5_T_91</TABNAME>
|
||||||
|
<AS4LOCAL>A</AS4LOCAL>
|
||||||
|
<TABKAT>0</TABKAT>
|
||||||
|
<TABART>APPL0</TABART>
|
||||||
|
<BUFALLOW>N</BUFALLOW>
|
||||||
|
</DD09L>
|
||||||
|
<DD03P_TABLE>
|
||||||
|
<DD03P>
|
||||||
|
<FIELDNAME>MANDT</FIELDNAME>
|
||||||
|
<KEYFLAG>X</KEYFLAG>
|
||||||
|
<ADMINFIELD>0</ADMINFIELD>
|
||||||
|
<INTTYPE>C</INTTYPE>
|
||||||
|
<INTLEN>000006</INTLEN>
|
||||||
|
<NOTNULL>X</NOTNULL>
|
||||||
|
<DATATYPE>CHAR</DATATYPE>
|
||||||
|
<LENG>000003</LENG>
|
||||||
|
<MASK> CHAR</MASK>
|
||||||
|
</DD03P>
|
||||||
|
<DD03P>
|
||||||
|
<FIELDNAME>ID</FIELDNAME>
|
||||||
|
<KEYFLAG>X</KEYFLAG>
|
||||||
|
<ADMINFIELD>0</ADMINFIELD>
|
||||||
|
<INTTYPE>C</INTTYPE>
|
||||||
|
<INTLEN>000064</INTLEN>
|
||||||
|
<NOTNULL>X</NOTNULL>
|
||||||
|
<DATATYPE>CHAR</DATATYPE>
|
||||||
|
<LENG>000032</LENG>
|
||||||
|
<MASK> CHAR</MASK>
|
||||||
|
</DD03P>
|
||||||
|
<DD03P>
|
||||||
|
<FIELDNAME>UNAME</FIELDNAME>
|
||||||
|
<ADMINFIELD>0</ADMINFIELD>
|
||||||
|
<INTTYPE>C</INTTYPE>
|
||||||
|
<INTLEN>000064</INTLEN>
|
||||||
|
<DATATYPE>CHAR</DATATYPE>
|
||||||
|
<LENG>000032</LENG>
|
||||||
|
<MASK> CHAR</MASK>
|
||||||
|
</DD03P>
|
||||||
|
<DD03P>
|
||||||
|
<FIELDNAME>HANDLE</FIELDNAME>
|
||||||
|
<ADMINFIELD>0</ADMINFIELD>
|
||||||
|
<INTTYPE>C</INTTYPE>
|
||||||
|
<INTLEN>000064</INTLEN>
|
||||||
|
<DATATYPE>CHAR</DATATYPE>
|
||||||
|
<LENG>000032</LENG>
|
||||||
|
<MASK> CHAR</MASK>
|
||||||
|
</DD03P>
|
||||||
|
<DD03P>
|
||||||
|
<FIELDNAME>HANDLE2</FIELDNAME>
|
||||||
|
<ADMINFIELD>0</ADMINFIELD>
|
||||||
|
<INTTYPE>C</INTTYPE>
|
||||||
|
<INTLEN>000064</INTLEN>
|
||||||
|
<DATATYPE>CHAR</DATATYPE>
|
||||||
|
<LENG>000032</LENG>
|
||||||
|
<MASK> CHAR</MASK>
|
||||||
|
</DD03P>
|
||||||
|
<DD03P>
|
||||||
|
<FIELDNAME>HANDLE3</FIELDNAME>
|
||||||
|
<ADMINFIELD>0</ADMINFIELD>
|
||||||
|
<INTTYPE>C</INTTYPE>
|
||||||
|
<INTLEN>000064</INTLEN>
|
||||||
|
<DATATYPE>CHAR</DATATYPE>
|
||||||
|
<LENG>000032</LENG>
|
||||||
|
<MASK> CHAR</MASK>
|
||||||
|
</DD03P>
|
||||||
|
<DD03P>
|
||||||
|
<FIELDNAME>HANDLE4</FIELDNAME>
|
||||||
|
<ADMINFIELD>0</ADMINFIELD>
|
||||||
|
<INTTYPE>C</INTTYPE>
|
||||||
|
<INTLEN>000064</INTLEN>
|
||||||
|
<DATATYPE>CHAR</DATATYPE>
|
||||||
|
<LENG>000032</LENG>
|
||||||
|
<MASK> CHAR</MASK>
|
||||||
|
</DD03P>
|
||||||
|
<DD03P>
|
||||||
|
<FIELDNAME>HANDLE5</FIELDNAME>
|
||||||
|
<ADMINFIELD>0</ADMINFIELD>
|
||||||
|
<INTTYPE>C</INTTYPE>
|
||||||
|
<INTLEN>000064</INTLEN>
|
||||||
|
<DATATYPE>CHAR</DATATYPE>
|
||||||
|
<LENG>000032</LENG>
|
||||||
|
<MASK> CHAR</MASK>
|
||||||
|
</DD03P>
|
||||||
|
<DD03P>
|
||||||
|
<FIELDNAME>DATA</FIELDNAME>
|
||||||
|
<ADMINFIELD>0</ADMINFIELD>
|
||||||
|
<INTTYPE>g</INTTYPE>
|
||||||
|
<INTLEN>000008</INTLEN>
|
||||||
|
<DATATYPE>STRG</DATATYPE>
|
||||||
|
<MASK> STRG</MASK>
|
||||||
|
</DD03P>
|
||||||
|
<DD03P>
|
||||||
|
<FIELDNAME>DATA2</FIELDNAME>
|
||||||
|
<ADMINFIELD>0</ADMINFIELD>
|
||||||
|
<INTTYPE>g</INTTYPE>
|
||||||
|
<INTLEN>000008</INTLEN>
|
||||||
|
<DATATYPE>STRG</DATATYPE>
|
||||||
|
<MASK> STRG</MASK>
|
||||||
|
</DD03P>
|
||||||
|
<DD03P>
|
||||||
|
<FIELDNAME>DATA3</FIELDNAME>
|
||||||
|
<ADMINFIELD>0</ADMINFIELD>
|
||||||
|
<INTTYPE>g</INTTYPE>
|
||||||
|
<INTLEN>000008</INTLEN>
|
||||||
|
<DATATYPE>STRG</DATATYPE>
|
||||||
|
<MASK> STRG</MASK>
|
||||||
|
</DD03P>
|
||||||
|
</DD03P_TABLE>
|
||||||
|
</asx:values>
|
||||||
|
</asx:abap>
|
||||||
|
</abapGit>
|
|
@ -4,6 +4,8 @@ CLASS z2ui5_cl_core_srv_draft DEFINITION
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
|
||||||
|
TYPES ty_s_db TYPE z2ui5_t_01.
|
||||||
|
|
||||||
METHODS count_entries
|
METHODS count_entries
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(result) TYPE i.
|
VALUE(result) TYPE i.
|
||||||
|
@ -17,7 +19,7 @@ CLASS z2ui5_cl_core_srv_draft DEFINITION
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!id TYPE clike
|
!id TYPE clike
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(result) TYPE z2ui5_if_core_types=>ty_s_db.
|
VALUE(result) TYPE ty_s_db.
|
||||||
|
|
||||||
METHODS read_info
|
METHODS read_info
|
||||||
IMPORTING
|
IMPORTING
|
||||||
|
@ -34,7 +36,7 @@ CLASS z2ui5_cl_core_srv_draft DEFINITION
|
||||||
!id TYPE clike
|
!id TYPE clike
|
||||||
check_load_app TYPE abap_bool DEFAULT abap_true
|
check_load_app TYPE abap_bool DEFAULT abap_true
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(result) TYPE z2ui5_if_core_types=>ty_s_db.
|
VALUE(result) TYPE ty_s_db.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
@ -55,7 +57,7 @@ CLASS z2ui5_cl_core_srv_draft IMPLEMENTATION.
|
||||||
|
|
||||||
ASSERT draft-id IS NOT INITIAL.
|
ASSERT draft-id IS NOT INITIAL.
|
||||||
|
|
||||||
DATA(ls_db) = VALUE z2ui5_if_core_types=>ty_s_db( id = draft-id
|
DATA(ls_db) = VALUE ty_s_db( id = draft-id
|
||||||
id_prev = draft-id_prev
|
id_prev = draft-id_prev
|
||||||
id_prev_app = draft-id_prev_app
|
id_prev_app = draft-id_prev_app
|
||||||
id_prev_app_stack = draft-id_prev_app_stack
|
id_prev_app_stack = draft-id_prev_app_stack
|
||||||
|
@ -66,7 +68,8 @@ CLASS z2ui5_cl_core_srv_draft IMPLEMENTATION.
|
||||||
MODIFY z2ui5_t_01 FROM @ls_db.
|
MODIFY z2ui5_t_01 FROM @ls_db.
|
||||||
IF sy-subrc <> 0.
|
IF sy-subrc <> 0.
|
||||||
RAISE EXCEPTION TYPE z2ui5_cx_util_error
|
RAISE EXCEPTION TYPE z2ui5_cx_util_error
|
||||||
EXPORTING val = `CREATE_OF_DRAFT_ENTRY_ON_DATABASE_FAILED`.
|
EXPORTING
|
||||||
|
val = `CREATE_OF_DRAFT_ENTRY_ON_DATABASE_FAILED`.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
COMMIT WORK AND WAIT.
|
COMMIT WORK AND WAIT.
|
||||||
|
|
||||||
|
@ -91,7 +94,8 @@ CLASS z2ui5_cl_core_srv_draft IMPLEMENTATION.
|
||||||
|
|
||||||
IF sy-subrc <> 0.
|
IF sy-subrc <> 0.
|
||||||
RAISE EXCEPTION TYPE z2ui5_cx_util_error
|
RAISE EXCEPTION TYPE z2ui5_cx_util_error
|
||||||
EXPORTING val = `NO_DRAFT_ENTRY_OF_PREVIOUS_REQUEST_FOUND`.
|
EXPORTING
|
||||||
|
val = `NO_DRAFT_ENTRY_OF_PREVIOUS_REQUEST_FOUND`.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
|
@ -210,6 +210,4 @@ INTERFACE z2ui5_if_core_types
|
||||||
r_data TYPE REF TO data,
|
r_data TYPE REF TO data,
|
||||||
END OF ty_s_actual.
|
END OF ty_s_actual.
|
||||||
|
|
||||||
TYPES ty_s_db TYPE z2ui5_t_01.
|
|
||||||
|
|
||||||
ENDINTERFACE.
|
ENDINTERFACE.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user