mirror of
https://github.com/abap2UI5/abap2UI5.git
synced 2025-04-29 16:36:11 +08:00
fixes (#1503)
This commit is contained in:
parent
6e9cf4181c
commit
6a9eeafa43
|
@ -426,40 +426,6 @@ CLASS z2ui5_cl_util DEFINITION
|
||||||
|
|
||||||
CLASS-METHODS check_raise_srtti_installed.
|
CLASS-METHODS check_raise_srtti_installed.
|
||||||
|
|
||||||
CLASS-METHODS db_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 db_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 db_load_by_id
|
|
||||||
IMPORTING
|
|
||||||
id TYPE clike OPTIONAL
|
|
||||||
EXPORTING
|
|
||||||
VALUE(result) TYPE any.
|
|
||||||
|
|
||||||
CLASS-METHODS db_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.
|
PROTECTED SECTION.
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
|
|
||||||
|
@ -470,109 +436,6 @@ ENDCLASS.
|
||||||
CLASS z2ui5_cl_util IMPLEMENTATION.
|
CLASS z2ui5_cl_util IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD db_delete_by_handle.
|
|
||||||
|
|
||||||
DELETE FROM z2ui5_t_02
|
|
||||||
WHERE
|
|
||||||
uname = @uname
|
|
||||||
AND handle = @handle
|
|
||||||
AND handle2 = @handle2
|
|
||||||
AND handle3 = @handle3.
|
|
||||||
|
|
||||||
IF check_commit = abap_true.
|
|
||||||
COMMIT WORK AND WAIT.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD db_load_by_handle.
|
|
||||||
|
|
||||||
DATA lt_db TYPE STANDARD TABLE OF z2ui5_t_02 WITH EMPTY KEY.
|
|
||||||
|
|
||||||
SELECT data
|
|
||||||
FROM z2ui5_t_02
|
|
||||||
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 ].
|
|
||||||
|
|
||||||
xml_parse(
|
|
||||||
EXPORTING
|
|
||||||
xml = ls_db-data
|
|
||||||
IMPORTING
|
|
||||||
any = result ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD db_load_by_id.
|
|
||||||
|
|
||||||
DATA lt_db TYPE STANDARD TABLE OF z2ui5_t_02 WITH EMPTY KEY.
|
|
||||||
|
|
||||||
SELECT data
|
|
||||||
FROM z2ui5_t_02
|
|
||||||
WHERE id = @id
|
|
||||||
INTO CORRESPONDING FIELDS OF TABLE @lt_db.
|
|
||||||
ASSERT sy-subrc = 0.
|
|
||||||
|
|
||||||
DATA(ls_db) = lt_db[ 1 ].
|
|
||||||
|
|
||||||
xml_parse(
|
|
||||||
EXPORTING
|
|
||||||
xml = ls_db-data
|
|
||||||
IMPORTING
|
|
||||||
any = result ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD db_save.
|
|
||||||
|
|
||||||
DATA lt_db TYPE STANDARD TABLE OF z2ui5_t_02 WITH EMPTY KEY.
|
|
||||||
SELECT id
|
|
||||||
FROM z2ui5_t_02
|
|
||||||
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_02(
|
|
||||||
uname = uname
|
|
||||||
handle = handle
|
|
||||||
handle2 = handle2
|
|
||||||
handle3 = handle3
|
|
||||||
data = xml_stringify( data ) ).
|
|
||||||
|
|
||||||
TRY.
|
|
||||||
ls_db-id = lt_db[ 1 ]-id.
|
|
||||||
CATCH cx_root.
|
|
||||||
ls_db-id = uuid_get_c32( ).
|
|
||||||
ENDTRY.
|
|
||||||
|
|
||||||
MODIFY z2ui5_t_02 FROM @ls_db.
|
|
||||||
ASSERT sy-subrc = 0.
|
|
||||||
|
|
||||||
IF check_commit = abap_true.
|
|
||||||
COMMIT WORK AND WAIT.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
result = ls_db-id.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD boolean_abap_2_json.
|
METHOD boolean_abap_2_json.
|
||||||
|
|
||||||
IF boolean_check_by_data( val ).
|
IF boolean_check_by_data( val ).
|
||||||
|
|
|
@ -1,108 +1,3 @@
|
||||||
CLASS ltcl_test DEFINITION FINAL FOR TESTING
|
|
||||||
DURATION SHORT
|
|
||||||
RISK LEVEL HARMLESS.
|
|
||||||
|
|
||||||
PRIVATE SECTION.
|
|
||||||
METHODS test_db_handle FOR TESTING RAISING cx_static_check.
|
|
||||||
METHODS test_db_handle_read_id FOR TESTING RAISING cx_static_check.
|
|
||||||
ENDCLASS.
|
|
||||||
|
|
||||||
|
|
||||||
CLASS ltcl_test IMPLEMENTATION.
|
|
||||||
|
|
||||||
METHOD test_db_handle.
|
|
||||||
|
|
||||||
IF sy-sysid = 'ABC'.
|
|
||||||
RETURN.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
TYPES:
|
|
||||||
BEGIN OF ty_row,
|
|
||||||
title TYPE string,
|
|
||||||
value TYPE string,
|
|
||||||
selected TYPE abap_bool,
|
|
||||||
END OF ty_row.
|
|
||||||
|
|
||||||
DATA(ls_row) = VALUE ty_row(
|
|
||||||
title = `test`
|
|
||||||
value = `val`
|
|
||||||
selected = abap_true ).
|
|
||||||
DATA(ls_row_result) = VALUE ty_row( ).
|
|
||||||
|
|
||||||
DATA(lv_id) = z2ui5_cl_util=>db_save(
|
|
||||||
uname = `name`
|
|
||||||
handle = `handle1`
|
|
||||||
handle2 = `handle2`
|
|
||||||
handle3 = `handle3`
|
|
||||||
data = ls_row ).
|
|
||||||
|
|
||||||
z2ui5_cl_util=>db_load_by_id(
|
|
||||||
EXPORTING
|
|
||||||
id = lv_id
|
|
||||||
IMPORTING
|
|
||||||
result = ls_row_result ).
|
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_equals(
|
|
||||||
act = ls_row_result
|
|
||||||
exp = ls_row ).
|
|
||||||
|
|
||||||
CLEAR ls_row_result.
|
|
||||||
z2ui5_cl_util=>db_load_by_handle(
|
|
||||||
EXPORTING
|
|
||||||
uname = `name`
|
|
||||||
handle = `handle1`
|
|
||||||
handle2 = `handle2`
|
|
||||||
handle3 = `handle3`
|
|
||||||
IMPORTING
|
|
||||||
result = ls_row_result ).
|
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_equals(
|
|
||||||
act = ls_row_result
|
|
||||||
exp = ls_row ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
METHOD test_db_handle_read_id.
|
|
||||||
|
|
||||||
IF sy-sysid = 'ABC'.
|
|
||||||
RETURN.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
TYPES:
|
|
||||||
BEGIN OF ty_row,
|
|
||||||
title TYPE string,
|
|
||||||
value TYPE string,
|
|
||||||
selected TYPE abap_bool,
|
|
||||||
END OF ty_row.
|
|
||||||
|
|
||||||
DATA(ls_row) = VALUE ty_row(
|
|
||||||
title = `test`
|
|
||||||
value = `val`
|
|
||||||
selected = abap_true ).
|
|
||||||
|
|
||||||
DATA(lv_id) = z2ui5_cl_util=>db_save(
|
|
||||||
uname = `name`
|
|
||||||
handle = `handle1`
|
|
||||||
handle2 = `handle2`
|
|
||||||
handle3 = `handle3`
|
|
||||||
data = ls_row ).
|
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_not_initial( lv_id ).
|
|
||||||
|
|
||||||
DATA(lv_id2) = z2ui5_cl_util=>db_save(
|
|
||||||
uname = `name`
|
|
||||||
handle = `handle1`
|
|
||||||
handle2 = `handle2`
|
|
||||||
handle3 = `handle3`
|
|
||||||
data = ls_row ).
|
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_equals(
|
|
||||||
act = lv_id
|
|
||||||
exp = lv_id2 ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
ENDCLASS.
|
|
||||||
|
|
||||||
CLASS ltcl_test_app DEFINITION FOR TESTING.
|
CLASS ltcl_test_app DEFINITION FOR TESTING.
|
||||||
|
|
||||||
|
|
|
@ -1,125 +0,0 @@
|
||||||
<?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_02</TABNAME>
|
|
||||||
<DDLANGUAGE>E</DDLANGUAGE>
|
|
||||||
<TABCLASS>TRANSP</TABCLASS>
|
|
||||||
<DDTEXT>abap toolkit - data storage</DDTEXT>
|
|
||||||
<MASTERLANG>E</MASTERLANG>
|
|
||||||
<CONTFLAG>A</CONTFLAG>
|
|
||||||
<EXCLASS>1</EXCLASS>
|
|
||||||
</DD02V>
|
|
||||||
<DD09L>
|
|
||||||
<TABNAME>Z2UI5_T_02</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>
|
|
|
@ -13,7 +13,10 @@ CLASS z2ui5_cl_http_handler DEFINITION
|
||||||
|
|
||||||
CLASS-METHODS factory
|
CLASS-METHODS factory
|
||||||
IMPORTING
|
IMPORTING
|
||||||
server TYPE REF TO object
|
server TYPE REF TO object OPTIONAL
|
||||||
|
req TYPE REF TO object OPTIONAL
|
||||||
|
res TYPE REF TO object OPTIONAL
|
||||||
|
PREFERRED PARAMETER server
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(result) TYPE REF TO z2ui5_cl_http_handler.
|
VALUE(result) TYPE REF TO z2ui5_cl_http_handler.
|
||||||
|
|
||||||
|
@ -62,7 +65,7 @@ CLASS z2ui5_cl_http_handler DEFINITION
|
||||||
METHODS get_index_html
|
METHODS get_index_html
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(result) TYPE string
|
VALUE(result) TYPE string
|
||||||
##CALLED.
|
##CALLED.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
|
|
||||||
|
@ -127,7 +130,14 @@ CLASS z2ui5_cl_http_handler IMPLEMENTATION.
|
||||||
METHOD factory.
|
METHOD factory.
|
||||||
|
|
||||||
result = NEW #( ).
|
result = NEW #( ).
|
||||||
result->mo_server = z2ui5_cl_abap_api_http=>factory( server ).
|
|
||||||
|
IF server IS BOUND.
|
||||||
|
result->mo_server = z2ui5_cl_abap_api_http=>factory( server ).
|
||||||
|
ELSEIF req IS BOUND AND res IS BOUND.
|
||||||
|
result = factory_cloud( req = req res = res ).
|
||||||
|
ELSE.
|
||||||
|
ASSERT 1 = `EMPTY_HTTP_HANDLER_CALL_ERROR`.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user