mirror of
https://github.com/abap2UI5/abap2UI5.git
synced 2025-04-29 18:46:22 +08:00
parent
a0df28a4ab
commit
771f7f9d0b
36
.github/workflows/clean_up.yaml
vendored
36
.github/workflows/clean_up.yaml
vendored
|
@ -1,36 +0,0 @@
|
||||||
name: Clean-up ABAP Files
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches: ["main"]
|
|
||||||
# pull_request:
|
|
||||||
# branches: ["main"]
|
|
||||||
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
Code-Cleanup:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- run: git config --global core.autocrlf true
|
|
||||||
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
|
|
||||||
- name: Download ABAP Cleaner (latest version)
|
|
||||||
run: |
|
|
||||||
mkdir .cleanup
|
|
||||||
cd .cleanup
|
|
||||||
wget -q -c https://github.com/SAP/abap-cleaner/releases/latest/download/com.sap.adt.abapcleaner.app-linux.gtk.x86_64.tar.gz -O - | tar -xz
|
|
||||||
cd ..
|
|
||||||
|
|
||||||
- name: Clean-up files in /src
|
|
||||||
run: ./.cleanup/abapcleaner/abap-cleaner --sourcedir src --recursive --overwrite --profile cleaner-profile.cfj --release 750 --stats --usedrules
|
|
||||||
|
|
||||||
- name: Commit changes
|
|
||||||
uses: EndBug/add-and-commit@v9
|
|
||||||
with:
|
|
||||||
default_author: github_actions
|
|
||||||
message: "style: code cleanup with ABAP cleaner"
|
|
||||||
add: "src"
|
|
|
@ -33,7 +33,7 @@
|
||||||
"RemoveIncludeWarnings": "1",
|
"RemoveIncludeWarnings": "1",
|
||||||
"RemoveEmptyLineAboveEndClass": "0",
|
"RemoveEmptyLineAboveEndClass": "0",
|
||||||
"AddEmptyLineAboveSections": "1",
|
"AddEmptyLineAboveSections": "1",
|
||||||
"RemoveEmptyLineBelowSections": "1",
|
"RemoveEmptyLineBelowSections": "0",
|
||||||
"MaxEmptyLines": "1",
|
"MaxEmptyLines": "1",
|
||||||
"AddLineBetweenDefTypes": "2"
|
"AddLineBetweenDefTypes": "2"
|
||||||
}
|
}
|
|
@ -1,14 +1,14 @@
|
||||||
CLASS z2ui5_cl_abap_api DEFINITION
|
CLASS z2ui5_cl_abap_api DEFINITION
|
||||||
PUBLIC
|
PUBLIC
|
||||||
CREATE PUBLIC .
|
CREATE PUBLIC.
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
|
||||||
* abap-api - Serving a Release & Version Independent ABAP Layer
|
" abap-api - Serving a Release & Version Independent ABAP Layer
|
||||||
* version: '0.0.1'.
|
" version: '0.0.1'.
|
||||||
* origin: https://github.com/oblomov-dev/abap-api
|
" origin: https://github.com/oblomov-dev/abap-api
|
||||||
* author: https://github.com/oblomov-dev
|
" author: https://github.com/oblomov-dev
|
||||||
* license: MIT.
|
" license: MIT.
|
||||||
|
|
||||||
TYPES:
|
TYPES:
|
||||||
BEGIN OF ty_s_fix_val,
|
BEGIN OF ty_s_fix_val,
|
||||||
|
@ -78,7 +78,7 @@ CLASS z2ui5_cl_abap_api DEFINITION
|
||||||
short TYPE string,
|
short TYPE string,
|
||||||
medium TYPE string,
|
medium TYPE string,
|
||||||
long TYPE string,
|
long TYPE string,
|
||||||
END OF ty_s_data_element_text .
|
END OF ty_s_data_element_text.
|
||||||
|
|
||||||
TYPES:
|
TYPES:
|
||||||
BEGIN OF ty_s_class_descr,
|
BEGIN OF ty_s_class_descr,
|
||||||
|
@ -180,9 +180,7 @@ CLASS z2ui5_cl_abap_api DEFINITION
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS z2ui5_cl_abap_api IMPLEMENTATION.
|
CLASS z2ui5_cl_abap_api IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD context_check_abap_cloud.
|
METHOD context_check_abap_cloud.
|
||||||
|
|
||||||
TRY.
|
TRY.
|
||||||
|
@ -211,14 +209,11 @@ CLASS z2ui5_cl_abap_api IMPLEMENTATION.
|
||||||
lv_langu = langu.
|
lv_langu = langu.
|
||||||
|
|
||||||
CALL METHOD elemdescr->('GET_DDIC_FIXED_VALUES')
|
CALL METHOD elemdescr->('GET_DDIC_FIXED_VALUES')
|
||||||
EXPORTING
|
EXPORTING p_langu = lv_langu
|
||||||
p_langu = lv_langu
|
RECEIVING p_fixed_values = lt_values
|
||||||
RECEIVING
|
EXCEPTIONS not_found = 1
|
||||||
p_fixed_values = lt_values
|
no_ddic_type = 2
|
||||||
EXCEPTIONS
|
OTHERS = 3.
|
||||||
not_found = 1
|
|
||||||
no_ddic_type = 2
|
|
||||||
OTHERS = 3.
|
|
||||||
|
|
||||||
LOOP AT lt_values REFERENCE INTO DATA(lr_fix).
|
LOOP AT lt_values REFERENCE INTO DATA(lr_fix).
|
||||||
|
|
||||||
|
@ -237,50 +232,40 @@ CLASS z2ui5_cl_abap_api IMPLEMENTATION.
|
||||||
|
|
||||||
DATA(lv_web_http_name) = 'CL_WEB_HTTP_UTILITY'.
|
DATA(lv_web_http_name) = 'CL_WEB_HTTP_UTILITY'.
|
||||||
CALL METHOD (lv_web_http_name)=>('DECODE_X_BASE64')
|
CALL METHOD (lv_web_http_name)=>('DECODE_X_BASE64')
|
||||||
EXPORTING
|
EXPORTING encoded = val
|
||||||
encoded = val
|
RECEIVING decoded = result.
|
||||||
RECEIVING
|
|
||||||
decoded = result.
|
|
||||||
|
|
||||||
CATCH cx_root.
|
CATCH cx_root.
|
||||||
|
|
||||||
DATA(classname) = 'CL_HTTP_UTILITY'.
|
DATA(classname) = 'CL_HTTP_UTILITY'.
|
||||||
CALL METHOD (classname)=>('DECODE_X_BASE64')
|
CALL METHOD (classname)=>('DECODE_X_BASE64')
|
||||||
EXPORTING
|
EXPORTING encoded = val
|
||||||
encoded = val
|
RECEIVING decoded = result.
|
||||||
RECEIVING
|
|
||||||
decoded = result.
|
|
||||||
|
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD conv_encode_x_base64.
|
METHOD conv_encode_x_base64.
|
||||||
|
|
||||||
TRY.
|
TRY.
|
||||||
|
|
||||||
DATA(lv_web_http_name) = 'CL_WEB_HTTP_UTILITY'.
|
DATA(lv_web_http_name) = 'CL_WEB_HTTP_UTILITY'.
|
||||||
CALL METHOD (lv_web_http_name)=>('ENCODE_X_BASE64')
|
CALL METHOD (lv_web_http_name)=>('ENCODE_X_BASE64')
|
||||||
EXPORTING
|
EXPORTING unencoded = val
|
||||||
unencoded = val
|
RECEIVING encoded = result.
|
||||||
RECEIVING
|
|
||||||
encoded = result.
|
|
||||||
|
|
||||||
CATCH cx_root.
|
CATCH cx_root.
|
||||||
|
|
||||||
DATA(classname) = 'CL_HTTP_UTILITY'.
|
DATA(classname) = 'CL_HTTP_UTILITY'.
|
||||||
CALL METHOD (classname)=>('ENCODE_X_BASE64')
|
CALL METHOD (classname)=>('ENCODE_X_BASE64')
|
||||||
EXPORTING
|
EXPORTING unencoded = val
|
||||||
unencoded = val
|
RECEIVING encoded = result.
|
||||||
RECEIVING
|
|
||||||
encoded = result.
|
|
||||||
|
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD conv_get_string_by_xstring.
|
METHOD conv_get_string_by_xstring.
|
||||||
|
|
||||||
DATA conv TYPE REF TO object.
|
DATA conv TYPE REF TO object.
|
||||||
|
@ -288,34 +273,26 @@ CLASS z2ui5_cl_abap_api IMPLEMENTATION.
|
||||||
TRY.
|
TRY.
|
||||||
DATA(conv_codepage) = 'CL_ABAP_CONV_CODEPAGE'.
|
DATA(conv_codepage) = 'CL_ABAP_CONV_CODEPAGE'.
|
||||||
CALL METHOD (conv_codepage)=>create_in
|
CALL METHOD (conv_codepage)=>create_in
|
||||||
RECEIVING
|
RECEIVING instance = conv.
|
||||||
instance = conv.
|
|
||||||
|
|
||||||
CALL METHOD conv->('IF_ABAP_CONV_IN~CONVERT')
|
CALL METHOD conv->('IF_ABAP_CONV_IN~CONVERT')
|
||||||
EXPORTING
|
EXPORTING source = val
|
||||||
source = val
|
RECEIVING result = result.
|
||||||
RECEIVING
|
|
||||||
result = result.
|
|
||||||
|
|
||||||
CATCH cx_root.
|
CATCH cx_root.
|
||||||
|
|
||||||
DATA(conv_in_class) = 'CL_ABAP_CONV_IN_CE'.
|
DATA(conv_in_class) = 'CL_ABAP_CONV_IN_CE'.
|
||||||
CALL METHOD (conv_in_class)=>create
|
CALL METHOD (conv_in_class)=>create
|
||||||
EXPORTING
|
EXPORTING encoding = 'UTF-8'
|
||||||
encoding = 'UTF-8'
|
RECEIVING conv = conv.
|
||||||
RECEIVING
|
|
||||||
conv = conv.
|
|
||||||
|
|
||||||
CALL METHOD conv->('CONVERT')
|
CALL METHOD conv->('CONVERT')
|
||||||
EXPORTING
|
EXPORTING input = val
|
||||||
input = val
|
IMPORTING data = result.
|
||||||
IMPORTING
|
|
||||||
data = result.
|
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD conv_get_xstring_by_string.
|
METHOD conv_get_xstring_by_string.
|
||||||
|
|
||||||
DATA conv TYPE REF TO object.
|
DATA conv TYPE REF TO object.
|
||||||
|
@ -323,34 +300,26 @@ CLASS z2ui5_cl_abap_api IMPLEMENTATION.
|
||||||
TRY.
|
TRY.
|
||||||
DATA(conv_codepage) = 'CL_ABAP_CONV_CODEPAGE'.
|
DATA(conv_codepage) = 'CL_ABAP_CONV_CODEPAGE'.
|
||||||
CALL METHOD (conv_codepage)=>create_out
|
CALL METHOD (conv_codepage)=>create_out
|
||||||
RECEIVING
|
RECEIVING instance = conv.
|
||||||
instance = conv.
|
|
||||||
|
|
||||||
CALL METHOD conv->('IF_ABAP_CONV_OUT~CONVERT')
|
CALL METHOD conv->('IF_ABAP_CONV_OUT~CONVERT')
|
||||||
EXPORTING
|
EXPORTING source = val
|
||||||
source = val
|
RECEIVING result = result.
|
||||||
RECEIVING
|
|
||||||
result = result.
|
|
||||||
|
|
||||||
CATCH cx_root.
|
CATCH cx_root.
|
||||||
|
|
||||||
DATA(conv_out_class) = 'CL_ABAP_CONV_OUT_CE'.
|
DATA(conv_out_class) = 'CL_ABAP_CONV_OUT_CE'.
|
||||||
CALL METHOD (conv_out_class)=>create
|
CALL METHOD (conv_out_class)=>create
|
||||||
EXPORTING
|
EXPORTING encoding = 'UTF-8'
|
||||||
encoding = 'UTF-8'
|
RECEIVING conv = conv.
|
||||||
RECEIVING
|
|
||||||
conv = conv.
|
|
||||||
|
|
||||||
CALL METHOD conv->('CONVERT')
|
CALL METHOD conv->('CONVERT')
|
||||||
EXPORTING
|
EXPORTING data = val
|
||||||
data = val
|
IMPORTING buffer = result.
|
||||||
IMPORTING
|
|
||||||
buffer = result.
|
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD source_get_method.
|
METHOD source_get_method.
|
||||||
|
|
||||||
DATA object TYPE REF TO object.
|
DATA object TYPE REF TO object.
|
||||||
|
@ -365,45 +334,35 @@ CLASS z2ui5_cl_abap_api IMPLEMENTATION.
|
||||||
|
|
||||||
DATA(xco_cp_abap) = 'XCO_CP_ABAP'.
|
DATA(xco_cp_abap) = 'XCO_CP_ABAP'.
|
||||||
CALL METHOD (xco_cp_abap)=>('CLASS')
|
CALL METHOD (xco_cp_abap)=>('CLASS')
|
||||||
EXPORTING
|
EXPORTING iv_name = lv_class
|
||||||
iv_name = lv_class
|
RECEIVING ro_class = object.
|
||||||
RECEIVING
|
|
||||||
ro_class = object.
|
|
||||||
|
|
||||||
ASSIGN ('OBJECT->IF_XCO_AO_CLASS~IMPLEMENTATION') TO <any>.
|
ASSIGN ('OBJECT->IF_XCO_AO_CLASS~IMPLEMENTATION') TO <any>.
|
||||||
ASSERT sy-subrc = 0.
|
ASSERT sy-subrc = 0.
|
||||||
object = <any>.
|
object = <any>.
|
||||||
|
|
||||||
CALL METHOD object->('IF_XCO_CLAS_IMPLEMENTATION~METHOD')
|
CALL METHOD object->('IF_XCO_CLAS_IMPLEMENTATION~METHOD')
|
||||||
EXPORTING
|
EXPORTING iv_name = lv_method
|
||||||
iv_name = lv_method
|
RECEIVING ro_method = object.
|
||||||
RECEIVING
|
|
||||||
ro_method = object.
|
|
||||||
|
|
||||||
CALL METHOD object->('IF_XCO_CLAS_I_METHOD~CONTENT')
|
CALL METHOD object->('IF_XCO_CLAS_I_METHOD~CONTENT')
|
||||||
RECEIVING
|
RECEIVING ro_content = object.
|
||||||
ro_content = object.
|
|
||||||
|
|
||||||
CALL METHOD object->('IF_XCO_CLAS_I_METHOD_CONTENT~GET_SOURCE')
|
CALL METHOD object->('IF_XCO_CLAS_I_METHOD_CONTENT~GET_SOURCE')
|
||||||
RECEIVING
|
RECEIVING rt_source = result.
|
||||||
rt_source = result.
|
|
||||||
|
|
||||||
CATCH cx_root.
|
CATCH cx_root.
|
||||||
|
|
||||||
DATA(lv_name) = 'CL_OO_FACTORY'.
|
DATA(lv_name) = 'CL_OO_FACTORY'.
|
||||||
CALL METHOD (lv_name)=>('CREATE_INSTANCE')
|
CALL METHOD (lv_name)=>('CREATE_INSTANCE')
|
||||||
RECEIVING
|
RECEIVING result = object.
|
||||||
result = object.
|
|
||||||
|
|
||||||
CALL METHOD object->('IF_OO_CLIF_SOURCE_FACTORY~CREATE_CLIF_SOURCE')
|
CALL METHOD object->('IF_OO_CLIF_SOURCE_FACTORY~CREATE_CLIF_SOURCE')
|
||||||
EXPORTING
|
EXPORTING clif_name = lv_class
|
||||||
clif_name = lv_class
|
RECEIVING result = object.
|
||||||
RECEIVING
|
|
||||||
result = object.
|
|
||||||
|
|
||||||
CALL METHOD object->('IF_OO_CLIF_SOURCE~GET_SOURCE')
|
CALL METHOD object->('IF_OO_CLIF_SOURCE~GET_SOURCE')
|
||||||
IMPORTING
|
IMPORTING source = lt_source.
|
||||||
source = lt_source.
|
|
||||||
|
|
||||||
DATA(lv_check_method) = abap_false.
|
DATA(lv_check_method) = abap_false.
|
||||||
LOOP AT lt_source INTO DATA(lv_source).
|
LOOP AT lt_source INTO DATA(lv_source).
|
||||||
|
@ -413,7 +372,7 @@ CLASS z2ui5_cl_abap_api IMPLEMENTATION.
|
||||||
lv_check_method = abap_false.
|
lv_check_method = abap_false.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
IF lv_source_upper CS `METHOD ` && lv_method.
|
IF lv_source_upper CS |METHOD { lv_method }|.
|
||||||
lv_check_method = abap_true.
|
lv_check_method = abap_true.
|
||||||
CONTINUE.
|
CONTINUE.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
@ -430,23 +389,22 @@ CLASS z2ui5_cl_abap_api IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD rtti_get_classes_impl_intf.
|
METHOD rtti_get_classes_impl_intf.
|
||||||
|
|
||||||
DATA obj TYPE REF TO object.
|
DATA obj TYPE REF TO object.
|
||||||
FIELD-SYMBOLS <any> TYPE any.
|
FIELD-SYMBOLS <any> TYPE any.
|
||||||
DATA lt_implementation_names TYPE string_table.
|
DATA lt_implementation_names TYPE string_table.
|
||||||
TYPES BEGIN OF ty_s_impl.
|
TYPES BEGIN OF ty_s_impl.
|
||||||
TYPES clsname TYPE c LENGTH 30.
|
TYPES clsname TYPE c LENGTH 30.
|
||||||
TYPES refclsname TYPE c LENGTH 30.
|
TYPES refclsname TYPE c LENGTH 30.
|
||||||
TYPES END OF ty_s_impl.
|
TYPES END OF ty_s_impl.
|
||||||
DATA lt_impl TYPE STANDARD TABLE OF ty_s_impl WITH DEFAULT KEY.
|
DATA lt_impl TYPE STANDARD TABLE OF ty_s_impl WITH DEFAULT KEY.
|
||||||
TYPES BEGIN OF ty_s_key.
|
TYPES BEGIN OF ty_s_key.
|
||||||
TYPES intkey TYPE c LENGTH 30.
|
TYPES intkey TYPE c LENGTH 30.
|
||||||
TYPES END OF ty_s_key.
|
TYPES END OF ty_s_key.
|
||||||
DATA ls_key TYPE ty_s_key.
|
DATA ls_key TYPE ty_s_key.
|
||||||
DATA BEGIN OF ls_clskey.
|
DATA BEGIN OF ls_clskey.
|
||||||
DATA clsname TYPE c LENGTH 30.
|
DATA clsname TYPE c LENGTH 30.
|
||||||
DATA END OF ls_clskey.
|
DATA END OF ls_clskey.
|
||||||
DATA class TYPE REF TO data.
|
DATA class TYPE REF TO data.
|
||||||
|
|
||||||
|
@ -456,10 +414,8 @@ CLASS z2ui5_cl_abap_api IMPLEMENTATION.
|
||||||
|
|
||||||
DATA(xco_cp_abap) = 'XCO_CP_ABAP'.
|
DATA(xco_cp_abap) = 'XCO_CP_ABAP'.
|
||||||
CALL METHOD (xco_cp_abap)=>interface
|
CALL METHOD (xco_cp_abap)=>interface
|
||||||
EXPORTING
|
EXPORTING iv_name = ls_clskey-clsname
|
||||||
iv_name = ls_clskey-clsname
|
RECEIVING ro_interface = obj.
|
||||||
RECEIVING
|
|
||||||
ro_interface = obj.
|
|
||||||
|
|
||||||
ASSIGN obj->('IF_XCO_AO_INTERFACE~IMPLEMENTATIONS') TO <any>.
|
ASSIGN obj->('IF_XCO_AO_INTERFACE~IMPLEMENTATIONS') TO <any>.
|
||||||
IF sy-subrc <> 0.
|
IF sy-subrc <> 0.
|
||||||
|
@ -474,13 +430,11 @@ CLASS z2ui5_cl_abap_api IMPLEMENTATION.
|
||||||
obj = <any>.
|
obj = <any>.
|
||||||
|
|
||||||
CALL METHOD obj->('IF_XCO_INTF_IMPLEMENTATIONS~GET_NAMES')
|
CALL METHOD obj->('IF_XCO_INTF_IMPLEMENTATIONS~GET_NAMES')
|
||||||
RECEIVING
|
RECEIVING rt_names = lt_implementation_names.
|
||||||
rt_names = lt_implementation_names.
|
|
||||||
|
|
||||||
result = VALUE #(
|
result = VALUE #( FOR implementation_name IN lt_implementation_names
|
||||||
FOR implementation_name IN lt_implementation_names
|
( classname = implementation_name
|
||||||
( classname = implementation_name
|
description = rtti_get_class_descr_on_cloud( implementation_name ) ) ).
|
||||||
description = rtti_get_class_descr_on_cloud( implementation_name ) ) ).
|
|
||||||
|
|
||||||
CATCH cx_root.
|
CATCH cx_root.
|
||||||
|
|
||||||
|
@ -488,13 +442,10 @@ CLASS z2ui5_cl_abap_api IMPLEMENTATION.
|
||||||
|
|
||||||
DATA(lv_fm) = `SEO_INTERFACE_IMPLEM_GET_ALL`.
|
DATA(lv_fm) = `SEO_INTERFACE_IMPLEM_GET_ALL`.
|
||||||
CALL FUNCTION lv_fm
|
CALL FUNCTION lv_fm
|
||||||
EXPORTING
|
EXPORTING intkey = ls_key
|
||||||
intkey = ls_key
|
IMPORTING impkeys = lt_impl
|
||||||
IMPORTING
|
EXCEPTIONS not_existing = 1
|
||||||
impkeys = lt_impl
|
OTHERS = 2.
|
||||||
EXCEPTIONS
|
|
||||||
not_existing = 1
|
|
||||||
OTHERS = 2.
|
|
||||||
IF sy-subrc <> 0.
|
IF sy-subrc <> 0.
|
||||||
RETURN.
|
RETURN.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
@ -511,10 +462,8 @@ CLASS z2ui5_cl_abap_api IMPLEMENTATION.
|
||||||
|
|
||||||
lv_fm = `SEO_CLASS_READ`.
|
lv_fm = `SEO_CLASS_READ`.
|
||||||
CALL FUNCTION lv_fm
|
CALL FUNCTION lv_fm
|
||||||
EXPORTING
|
EXPORTING clskey = ls_clskey
|
||||||
clskey = ls_clskey
|
IMPORTING class = <class>.
|
||||||
IMPORTING
|
|
||||||
class = <class>.
|
|
||||||
|
|
||||||
ASSIGN
|
ASSIGN
|
||||||
COMPONENT 'DESCRIPT'
|
COMPONENT 'DESCRIPT'
|
||||||
|
@ -532,20 +481,18 @@ CLASS z2ui5_cl_abap_api IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD rtti_get_data_element_texts.
|
METHOD rtti_get_data_element_texts.
|
||||||
|
|
||||||
DATA:
|
DATA ddic_ref TYPE REF TO data.
|
||||||
ddic_ref TYPE REF TO data,
|
DATA data_element TYPE REF TO object.
|
||||||
data_element TYPE REF TO object,
|
DATA content TYPE REF TO object.
|
||||||
content TYPE REF TO object,
|
DATA: BEGIN OF ddic,
|
||||||
BEGIN OF ddic,
|
reptext TYPE string,
|
||||||
reptext TYPE string,
|
scrtext_s TYPE string,
|
||||||
scrtext_s TYPE string,
|
scrtext_m TYPE string,
|
||||||
scrtext_m TYPE string,
|
scrtext_l TYPE string,
|
||||||
scrtext_l TYPE string,
|
END OF ddic.
|
||||||
END OF ddic,
|
DATA exists TYPE abap_bool.
|
||||||
exists TYPE abap_bool.
|
|
||||||
|
|
||||||
DATA(data_element_name) = i_data_element_name.
|
DATA(data_element_name) = i_data_element_name.
|
||||||
|
|
||||||
|
@ -558,13 +505,9 @@ CLASS z2ui5_cl_abap_api IMPLEMENTATION.
|
||||||
ASSIGN ddic_ref->* TO FIELD-SYMBOL(<ddic>).
|
ASSIGN ddic_ref->* TO FIELD-SYMBOL(<ddic>).
|
||||||
ASSERT sy-subrc = 0.
|
ASSERT sy-subrc = 0.
|
||||||
|
|
||||||
cl_abap_elemdescr=>describe_by_name(
|
cl_abap_elemdescr=>describe_by_name( EXPORTING p_name = data_element_name
|
||||||
EXPORTING
|
RECEIVING p_descr_ref = DATA(lo_typedescr)
|
||||||
p_name = data_element_name
|
EXCEPTIONS OTHERS = 1 ).
|
||||||
RECEIVING
|
|
||||||
p_descr_ref = DATA(lo_typedescr)
|
|
||||||
EXCEPTIONS
|
|
||||||
OTHERS = 1 ).
|
|
||||||
IF sy-subrc <> 0.
|
IF sy-subrc <> 0.
|
||||||
RETURN.
|
RETURN.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
@ -572,12 +515,10 @@ CLASS z2ui5_cl_abap_api IMPLEMENTATION.
|
||||||
DATA(data_descr) = CAST cl_abap_datadescr( lo_typedescr ).
|
DATA(data_descr) = CAST cl_abap_datadescr( lo_typedescr ).
|
||||||
|
|
||||||
CALL METHOD data_descr->('GET_DDIC_FIELD')
|
CALL METHOD data_descr->('GET_DDIC_FIELD')
|
||||||
RECEIVING
|
RECEIVING p_flddescr = <ddic>
|
||||||
p_flddescr = <ddic>
|
EXCEPTIONS not_found = 1
|
||||||
EXCEPTIONS
|
no_ddic_type = 2
|
||||||
not_found = 1
|
OTHERS = 3.
|
||||||
no_ddic_type = 2
|
|
||||||
OTHERS = 3.
|
|
||||||
IF sy-subrc <> 0.
|
IF sy-subrc <> 0.
|
||||||
RETURN.
|
RETURN.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
@ -592,38 +533,30 @@ CLASS z2ui5_cl_abap_api IMPLEMENTATION.
|
||||||
TRY.
|
TRY.
|
||||||
DATA(xco_cp_abap_dictionary) = 'XCO_CP_ABAP_DICTIONARY'.
|
DATA(xco_cp_abap_dictionary) = 'XCO_CP_ABAP_DICTIONARY'.
|
||||||
CALL METHOD (xco_cp_abap_dictionary)=>('DATA_ELEMENT')
|
CALL METHOD (xco_cp_abap_dictionary)=>('DATA_ELEMENT')
|
||||||
EXPORTING
|
EXPORTING iv_name = data_element_name
|
||||||
iv_name = data_element_name
|
RECEIVING ro_data_element = data_element.
|
||||||
RECEIVING
|
|
||||||
ro_data_element = data_element.
|
|
||||||
|
|
||||||
CALL METHOD data_element->('IF_XCO_AD_DATA_ELEMENT~EXISTS')
|
CALL METHOD data_element->('IF_XCO_AD_DATA_ELEMENT~EXISTS')
|
||||||
RECEIVING
|
RECEIVING rv_exists = exists.
|
||||||
rv_exists = exists.
|
|
||||||
|
|
||||||
IF exists = abap_false.
|
IF exists = abap_false.
|
||||||
RETURN.
|
RETURN.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
CALL METHOD data_element->('IF_XCO_AD_DATA_ELEMENT~CONTENT')
|
CALL METHOD data_element->('IF_XCO_AD_DATA_ELEMENT~CONTENT')
|
||||||
RECEIVING
|
RECEIVING ro_content = content.
|
||||||
ro_content = content.
|
|
||||||
|
|
||||||
CALL METHOD content->('IF_XCO_DTEL_CONTENT~GET_HEADING_FIELD_LABEL')
|
CALL METHOD content->('IF_XCO_DTEL_CONTENT~GET_HEADING_FIELD_LABEL')
|
||||||
RECEIVING
|
RECEIVING rs_heading_field_label = result-header.
|
||||||
rs_heading_field_label = result-header.
|
|
||||||
|
|
||||||
CALL METHOD content->('IF_XCO_DTEL_CONTENT~GET_SHORT_FIELD_LABEL')
|
CALL METHOD content->('IF_XCO_DTEL_CONTENT~GET_SHORT_FIELD_LABEL')
|
||||||
RECEIVING
|
RECEIVING rs_short_field_label = result-short.
|
||||||
rs_short_field_label = result-short.
|
|
||||||
|
|
||||||
CALL METHOD content->('IF_XCO_DTEL_CONTENT~GET_MEDIUM_FIELD_LABEL')
|
CALL METHOD content->('IF_XCO_DTEL_CONTENT~GET_MEDIUM_FIELD_LABEL')
|
||||||
RECEIVING
|
RECEIVING rs_medium_field_label = result-medium.
|
||||||
rs_medium_field_label = result-medium.
|
|
||||||
|
|
||||||
CALL METHOD content->('IF_XCO_DTEL_CONTENT~GET_LONG_FIELD_LABEL')
|
CALL METHOD content->('IF_XCO_DTEL_CONTENT~GET_LONG_FIELD_LABEL')
|
||||||
RECEIVING
|
RECEIVING rs_long_field_label = result-long.
|
||||||
rs_long_field_label = result-long.
|
|
||||||
|
|
||||||
CATCH cx_root.
|
CATCH cx_root.
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
|
@ -631,7 +564,6 @@ CLASS z2ui5_cl_abap_api IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD uuid_get_c22.
|
METHOD uuid_get_c22.
|
||||||
|
|
||||||
DATA lv_uuid TYPE c LENGTH 22.
|
DATA lv_uuid TYPE c LENGTH 22.
|
||||||
|
@ -641,15 +573,13 @@ CLASS z2ui5_cl_abap_api IMPLEMENTATION.
|
||||||
TRY.
|
TRY.
|
||||||
DATA(lv_classname) = `CL_SYSTEM_UUID`.
|
DATA(lv_classname) = `CL_SYSTEM_UUID`.
|
||||||
CALL METHOD (lv_classname)=>if_system_uuid_static~create_uuid_c22
|
CALL METHOD (lv_classname)=>if_system_uuid_static~create_uuid_c22
|
||||||
RECEIVING
|
RECEIVING uuid = lv_uuid.
|
||||||
uuid = lv_uuid.
|
|
||||||
|
|
||||||
CATCH cx_sy_dyn_call_illegal_class.
|
CATCH cx_sy_dyn_call_illegal_class.
|
||||||
|
|
||||||
DATA(lv_fm) = `GUID_CREATE`.
|
DATA(lv_fm) = `GUID_CREATE`.
|
||||||
CALL FUNCTION lv_fm
|
CALL FUNCTION lv_fm
|
||||||
IMPORTING
|
IMPORTING ev_guid_22 = lv_uuid.
|
||||||
ev_guid_22 = lv_uuid.
|
|
||||||
|
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
|
|
||||||
|
@ -678,7 +608,6 @@ CLASS z2ui5_cl_abap_api IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD uuid_get_c32.
|
METHOD uuid_get_c32.
|
||||||
DATA lv_uuid TYPE c LENGTH 32.
|
DATA lv_uuid TYPE c LENGTH 32.
|
||||||
|
|
||||||
|
@ -687,15 +616,13 @@ CLASS z2ui5_cl_abap_api IMPLEMENTATION.
|
||||||
TRY.
|
TRY.
|
||||||
DATA(lv_classname) = `CL_SYSTEM_UUID`.
|
DATA(lv_classname) = `CL_SYSTEM_UUID`.
|
||||||
CALL METHOD (lv_classname)=>if_system_uuid_static~create_uuid_c32
|
CALL METHOD (lv_classname)=>if_system_uuid_static~create_uuid_c32
|
||||||
RECEIVING
|
RECEIVING uuid = lv_uuid.
|
||||||
uuid = lv_uuid.
|
|
||||||
|
|
||||||
CATCH cx_root.
|
CATCH cx_root.
|
||||||
|
|
||||||
DATA(lv_fm) = `GUID_CREATE`.
|
DATA(lv_fm) = `GUID_CREATE`.
|
||||||
CALL FUNCTION lv_fm
|
CALL FUNCTION lv_fm
|
||||||
IMPORTING
|
IMPORTING ev_guid_32 = lv_uuid.
|
||||||
ev_guid_32 = lv_uuid.
|
|
||||||
|
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
|
|
||||||
|
@ -706,33 +633,27 @@ CLASS z2ui5_cl_abap_api IMPLEMENTATION.
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD rtti_get_class_descr_on_cloud.
|
METHOD rtti_get_class_descr_on_cloud.
|
||||||
|
|
||||||
DATA obj TYPE REF TO object.
|
DATA obj TYPE REF TO object.
|
||||||
DATA content TYPE REF TO object.
|
DATA content TYPE REF TO object.
|
||||||
DATA lv_classname TYPE c LENGTH 30.
|
DATA lv_classname TYPE c LENGTH 30.
|
||||||
|
|
||||||
lv_classname = i_classname.
|
lv_classname = i_classname.
|
||||||
|
|
||||||
DATA(xco_cp_abap) = 'XCO_CP_ABAP'.
|
DATA(xco_cp_abap) = 'XCO_CP_ABAP'.
|
||||||
CALL METHOD (xco_cp_abap)=>('CLASS')
|
CALL METHOD (xco_cp_abap)=>('CLASS')
|
||||||
EXPORTING
|
EXPORTING iv_name = lv_classname
|
||||||
iv_name = lv_classname
|
RECEIVING ro_class = obj.
|
||||||
RECEIVING
|
|
||||||
ro_class = obj.
|
|
||||||
|
|
||||||
CALL METHOD obj->('IF_XCO_AO_CLASS~CONTENT')
|
CALL METHOD obj->('IF_XCO_AO_CLASS~CONTENT')
|
||||||
RECEIVING
|
RECEIVING ro_content = content.
|
||||||
ro_content = content.
|
|
||||||
|
|
||||||
CALL METHOD content->('IF_XCO_CLAS_CONTENT~GET_SHORT_DESCRIPTION')
|
CALL METHOD content->('IF_XCO_CLAS_CONTENT~GET_SHORT_DESCRIPTION')
|
||||||
RECEIVING
|
RECEIVING rv_short_description = result.
|
||||||
rv_short_description = result.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD rtti_get_t_attri_on_prem.
|
METHOD rtti_get_t_attri_on_prem.
|
||||||
|
|
||||||
DATA structdescr TYPE REF TO cl_abap_structdescr.
|
DATA structdescr TYPE REF TO cl_abap_structdescr.
|
||||||
|
@ -762,8 +683,7 @@ CLASS z2ui5_cl_abap_api IMPLEMENTATION.
|
||||||
IF tabname IS INITIAL.
|
IF tabname IS INITIAL.
|
||||||
|
|
||||||
RAISE EXCEPTION TYPE z2ui5_cx_abap_api
|
RAISE EXCEPTION TYPE z2ui5_cx_abap_api
|
||||||
EXPORTING
|
EXPORTING val = `RTTI_BY_NAME_TAB_INITIAL`.
|
||||||
val = `RTTI_BY_NAME_TAB_INITIAL`.
|
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
structdescr ?= cl_abap_structdescr=>describe_by_name( tabname ).
|
structdescr ?= cl_abap_structdescr=>describe_by_name( tabname ).
|
||||||
|
@ -927,7 +847,6 @@ CLASS z2ui5_cl_abap_api IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD rtti_get_t_dfies_by_table_name.
|
METHOD rtti_get_t_dfies_by_table_name.
|
||||||
|
|
||||||
IF context_check_abap_cloud( ).
|
IF context_check_abap_cloud( ).
|
||||||
|
@ -937,6 +856,5 @@ CLASS z2ui5_cl_abap_api IMPLEMENTATION.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
|
@ -1,26 +1,23 @@
|
||||||
CLASS ltcl_test DEFINITION FINAL FOR TESTING
|
CLASS ltcl_test DEFINITION FINAL
|
||||||
DURATION SHORT
|
FOR TESTING RISK LEVEL HARMLESS DURATION SHORT.
|
||||||
RISK LEVEL HARMLESS.
|
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
METHODS test_func_get_uuid_32 FOR TESTING RAISING cx_static_check.
|
METHODS test_func_get_uuid_32 FOR TESTING RAISING cx_static_check.
|
||||||
METHODS test_func_get_uuid_22 FOR TESTING RAISING cx_static_check.
|
METHODS test_func_get_uuid_22 FOR TESTING RAISING cx_static_check.
|
||||||
METHODS test_encoding FOR TESTING RAISING cx_static_check.
|
METHODS test_encoding FOR TESTING RAISING cx_static_check.
|
||||||
METHODS test_element_text FOR TESTING RAISING cx_static_check.
|
METHODS test_element_text FOR TESTING RAISING cx_static_check.
|
||||||
METHODS test_classes_impl_intf FOR TESTING RAISING cx_static_check.
|
METHODS test_classes_impl_intf FOR TESTING RAISING cx_static_check.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
CLASS ltcl_test IMPLEMENTATION.
|
CLASS ltcl_test IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD test_func_get_uuid_32.
|
METHOD test_func_get_uuid_32.
|
||||||
|
|
||||||
DATA(lv_uuid) = z2ui5_cl_abap_api=>uuid_get_c32( ).
|
DATA(lv_uuid) = z2ui5_cl_abap_api=>uuid_get_c32( ).
|
||||||
cl_abap_unit_assert=>assert_not_initial( lv_uuid ).
|
cl_abap_unit_assert=>assert_not_initial( lv_uuid ).
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_equals( exp = strlen( lv_uuid )
|
||||||
act = 32
|
act = 32 ).
|
||||||
exp = strlen( lv_uuid ) ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
@ -28,9 +25,8 @@ CLASS ltcl_test IMPLEMENTATION.
|
||||||
|
|
||||||
DATA(lv_uuid) = z2ui5_cl_abap_api=>uuid_get_c22( ).
|
DATA(lv_uuid) = z2ui5_cl_abap_api=>uuid_get_c22( ).
|
||||||
cl_abap_unit_assert=>assert_not_initial( lv_uuid ).
|
cl_abap_unit_assert=>assert_not_initial( lv_uuid ).
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_equals( exp = strlen( lv_uuid )
|
||||||
act = 22
|
act = 22 ).
|
||||||
exp = strlen( lv_uuid ) ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
@ -42,9 +38,8 @@ CLASS ltcl_test IMPLEMENTATION.
|
||||||
DATA(lv_xstring2) = z2ui5_cl_abap_api=>conv_decode_x_base64( lv_string2 ).
|
DATA(lv_xstring2) = z2ui5_cl_abap_api=>conv_decode_x_base64( lv_string2 ).
|
||||||
DATA(lv_string3) = z2ui5_cl_abap_api=>conv_get_string_by_xstring( lv_xstring2 ).
|
DATA(lv_string3) = z2ui5_cl_abap_api=>conv_get_string_by_xstring( lv_xstring2 ).
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_equals( exp = lv_string
|
||||||
act = lv_string3
|
act = lv_string3 ).
|
||||||
exp = lv_string ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
@ -69,5 +64,4 @@ CLASS ltcl_test IMPLEMENTATION.
|
||||||
cl_abap_unit_assert=>assert_not_initial( mt_classes ).
|
cl_abap_unit_assert=>assert_not_initial( mt_classes ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -35,7 +35,7 @@ CLASS z2ui5_cl_abap_api_http DEFINITION PUBLIC.
|
||||||
|
|
||||||
METHODS set_status
|
METHODS set_status
|
||||||
IMPORTING
|
IMPORTING
|
||||||
code TYPE i
|
!code TYPE i
|
||||||
reason TYPE clike.
|
reason TYPE clike.
|
||||||
|
|
||||||
METHODS set_session_stateful
|
METHODS set_session_stateful
|
||||||
|
@ -54,19 +54,20 @@ CLASS z2ui5_cl_abap_api_http DEFINITION PUBLIC.
|
||||||
|
|
||||||
METHODS set_header_field
|
METHODS set_header_field
|
||||||
IMPORTING
|
IMPORTING
|
||||||
n TYPE clike
|
!n TYPE clike
|
||||||
v TYPE clike.
|
v TYPE clike.
|
||||||
|
|
||||||
DATA mo_server_onprem TYPE REF TO object.
|
DATA mo_server_onprem TYPE REF TO object.
|
||||||
DATA mo_request_cloud TYPE REF TO object.
|
DATA mo_request_cloud TYPE REF TO object.
|
||||||
DATA mo_response_cloud TYPE REF TO object.
|
DATA mo_response_cloud TYPE REF TO object.
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
CLASS z2ui5_cl_abap_api_http IMPLEMENTATION.
|
|
||||||
|
|
||||||
|
CLASS z2ui5_cl_abap_api_http IMPLEMENTATION.
|
||||||
METHOD delete_response_cookie.
|
METHOD delete_response_cookie.
|
||||||
|
|
||||||
DATA(lv_val) = CONV string( val ).
|
DATA(lv_val) = CONV string( val ).
|
||||||
|
@ -80,8 +81,7 @@ CLASS z2ui5_cl_abap_api_http IMPLEMENTATION.
|
||||||
object = <any>.
|
object = <any>.
|
||||||
|
|
||||||
CALL METHOD object->('DELETE_COOKIE')
|
CALL METHOD object->('DELETE_COOKIE')
|
||||||
EXPORTING
|
EXPORTING name = lv_val.
|
||||||
name = lv_val.
|
|
||||||
|
|
||||||
ELSE.
|
ELSE.
|
||||||
|
|
||||||
|
@ -97,6 +97,7 @@ CLASS z2ui5_cl_abap_api_http IMPLEMENTATION.
|
||||||
|
|
||||||
DATA object TYPE REF TO object.
|
DATA object TYPE REF TO object.
|
||||||
FIELD-SYMBOLS <any> TYPE any.
|
FIELD-SYMBOLS <any> TYPE any.
|
||||||
|
|
||||||
DATA(lv_val) = CONV string( val ).
|
DATA(lv_val) = CONV string( val ).
|
||||||
|
|
||||||
IF mo_server_onprem IS BOUND.
|
IF mo_server_onprem IS BOUND.
|
||||||
|
@ -105,10 +106,8 @@ CLASS z2ui5_cl_abap_api_http IMPLEMENTATION.
|
||||||
object = <any>.
|
object = <any>.
|
||||||
|
|
||||||
CALL METHOD object->('GET_COOKIE')
|
CALL METHOD object->('GET_COOKIE')
|
||||||
EXPORTING
|
EXPORTING name = lv_val
|
||||||
name = lv_val
|
IMPORTING value = result.
|
||||||
IMPORTING
|
|
||||||
value = result.
|
|
||||||
|
|
||||||
ELSE.
|
ELSE.
|
||||||
|
|
||||||
|
@ -126,6 +125,7 @@ CLASS z2ui5_cl_abap_api_http IMPLEMENTATION.
|
||||||
|
|
||||||
DATA object TYPE REF TO object.
|
DATA object TYPE REF TO object.
|
||||||
FIELD-SYMBOLS <any> TYPE any.
|
FIELD-SYMBOLS <any> TYPE any.
|
||||||
|
|
||||||
DATA(lv_val) = CONV string( val ).
|
DATA(lv_val) = CONV string( val ).
|
||||||
|
|
||||||
IF mo_server_onprem IS BOUND.
|
IF mo_server_onprem IS BOUND.
|
||||||
|
@ -134,18 +134,14 @@ CLASS z2ui5_cl_abap_api_http IMPLEMENTATION.
|
||||||
object = <any>.
|
object = <any>.
|
||||||
|
|
||||||
CALL METHOD object->('GET_HEADER_FIELD')
|
CALL METHOD object->('GET_HEADER_FIELD')
|
||||||
EXPORTING
|
EXPORTING name = lv_val
|
||||||
name = lv_val
|
RECEIVING value = result.
|
||||||
RECEIVING
|
|
||||||
value = result.
|
|
||||||
|
|
||||||
ELSE.
|
ELSE.
|
||||||
|
|
||||||
CALL METHOD mo_request_cloud->('IF_WEB_HTTP_REQUEST~GET_HEADER_FIELD')
|
CALL METHOD mo_request_cloud->('IF_WEB_HTTP_REQUEST~GET_HEADER_FIELD')
|
||||||
EXPORTING
|
EXPORTING i_name = lv_val
|
||||||
i_name = lv_val
|
RECEIVING r_value = result.
|
||||||
RECEIVING
|
|
||||||
r_value = result.
|
|
||||||
|
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
|
@ -164,16 +160,14 @@ CLASS z2ui5_cl_abap_api_http IMPLEMENTATION.
|
||||||
object = <any>.
|
object = <any>.
|
||||||
|
|
||||||
CALL METHOD object->('SET_HEADER_FIELD')
|
CALL METHOD object->('SET_HEADER_FIELD')
|
||||||
EXPORTING
|
EXPORTING name = lv_n
|
||||||
name = lv_n
|
value = lv_v.
|
||||||
value = lv_v.
|
|
||||||
|
|
||||||
ELSE.
|
ELSE.
|
||||||
|
|
||||||
CALL METHOD mo_response_cloud->('IF_WEB_HTTP_RESPONSE~SET_HEADER_FIELD')
|
CALL METHOD mo_response_cloud->('IF_WEB_HTTP_RESPONSE~SET_HEADER_FIELD')
|
||||||
EXPORTING
|
EXPORTING i_name = lv_n
|
||||||
i_name = lv_n
|
i_value = lv_v.
|
||||||
i_value = lv_v.
|
|
||||||
|
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
|
@ -205,14 +199,12 @@ CLASS z2ui5_cl_abap_api_http IMPLEMENTATION.
|
||||||
object = <any>.
|
object = <any>.
|
||||||
|
|
||||||
CALL METHOD object->('GET_CDATA')
|
CALL METHOD object->('GET_CDATA')
|
||||||
RECEIVING
|
RECEIVING data = result.
|
||||||
data = result.
|
|
||||||
|
|
||||||
ELSE.
|
ELSE.
|
||||||
|
|
||||||
CALL METHOD mo_request_cloud->('IF_WEB_HTTP_REQUEST~GET_TEXT')
|
CALL METHOD mo_request_cloud->('IF_WEB_HTTP_REQUEST~GET_TEXT')
|
||||||
RECEIVING
|
RECEIVING r_value = result.
|
||||||
r_value = result.
|
|
||||||
|
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
|
@ -229,14 +221,12 @@ CLASS z2ui5_cl_abap_api_http IMPLEMENTATION.
|
||||||
object = <any>.
|
object = <any>.
|
||||||
|
|
||||||
CALL METHOD object->('IF_HTTP_REQUEST~GET_METHOD')
|
CALL METHOD object->('IF_HTTP_REQUEST~GET_METHOD')
|
||||||
RECEIVING
|
RECEIVING method = result.
|
||||||
method = result.
|
|
||||||
|
|
||||||
ELSE.
|
ELSE.
|
||||||
|
|
||||||
CALL METHOD mo_request_cloud->('IF_WEB_HTTP_REQUEST~GET_METHOD')
|
CALL METHOD mo_request_cloud->('IF_WEB_HTTP_REQUEST~GET_METHOD')
|
||||||
RECEIVING
|
RECEIVING r_value = result.
|
||||||
r_value = result.
|
|
||||||
|
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
|
@ -253,14 +243,12 @@ CLASS z2ui5_cl_abap_api_http IMPLEMENTATION.
|
||||||
object = <any>.
|
object = <any>.
|
||||||
|
|
||||||
CALL METHOD object->('SET_CDATA')
|
CALL METHOD object->('SET_CDATA')
|
||||||
EXPORTING
|
EXPORTING data = val.
|
||||||
data = val.
|
|
||||||
|
|
||||||
ELSE.
|
ELSE.
|
||||||
|
|
||||||
CALL METHOD mo_response_cloud->('IF_WEB_HTTP_RESPONSE~SET_TEXT')
|
CALL METHOD mo_response_cloud->('IF_WEB_HTTP_RESPONSE~SET_TEXT')
|
||||||
EXPORTING
|
EXPORTING i_text = val.
|
||||||
i_text = val.
|
|
||||||
|
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
|
@ -270,6 +258,7 @@ CLASS z2ui5_cl_abap_api_http IMPLEMENTATION.
|
||||||
|
|
||||||
DATA object TYPE REF TO object.
|
DATA object TYPE REF TO object.
|
||||||
FIELD-SYMBOLS <any> TYPE any.
|
FIELD-SYMBOLS <any> TYPE any.
|
||||||
|
|
||||||
DATA(lv_reason) = CONV string( reason ).
|
DATA(lv_reason) = CONV string( reason ).
|
||||||
|
|
||||||
IF mo_server_onprem IS BOUND.
|
IF mo_server_onprem IS BOUND.
|
||||||
|
@ -278,16 +267,14 @@ CLASS z2ui5_cl_abap_api_http IMPLEMENTATION.
|
||||||
object = <any>.
|
object = <any>.
|
||||||
|
|
||||||
CALL METHOD object->('IF_HTTP_RESPONSE~SET_STATUS')
|
CALL METHOD object->('IF_HTTP_RESPONSE~SET_STATUS')
|
||||||
EXPORTING
|
EXPORTING code = code
|
||||||
code = code
|
reason = lv_reason.
|
||||||
reason = lv_reason.
|
|
||||||
|
|
||||||
ELSE.
|
ELSE.
|
||||||
|
|
||||||
CALL METHOD mo_response_cloud->('IF_WEB_HTTP_RESPONSE~SET_STATUS')
|
CALL METHOD mo_response_cloud->('IF_WEB_HTTP_RESPONSE~SET_STATUS')
|
||||||
EXPORTING
|
EXPORTING i_code = code
|
||||||
i_code = code
|
i_reason = lv_reason.
|
||||||
i_reason = lv_reason.
|
|
||||||
|
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
|
@ -298,8 +285,7 @@ CLASS z2ui5_cl_abap_api_http IMPLEMENTATION.
|
||||||
IF mo_server_onprem IS BOUND.
|
IF mo_server_onprem IS BOUND.
|
||||||
|
|
||||||
CALL METHOD mo_server_onprem->('SET_SESSION_STATEFUL')
|
CALL METHOD mo_server_onprem->('SET_SESSION_STATEFUL')
|
||||||
EXPORTING
|
EXPORTING stateful = val.
|
||||||
stateful = val.
|
|
||||||
|
|
||||||
ELSE.
|
ELSE.
|
||||||
|
|
||||||
|
@ -308,5 +294,4 @@ CLASS z2ui5_cl_abap_api_http IMPLEMENTATION.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -1,8 +1,7 @@
|
||||||
CLASS z2ui5_cx_abap_api DEFINITION
|
CLASS z2ui5_cx_abap_api DEFINITION
|
||||||
PUBLIC
|
PUBLIC
|
||||||
INHERITING FROM cx_no_check
|
INHERITING FROM cx_no_check FINAL
|
||||||
FINAL
|
CREATE PUBLIC.
|
||||||
CREATE PUBLIC .
|
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
|
||||||
|
@ -11,26 +10,23 @@ CLASS z2ui5_cx_abap_api DEFINITION
|
||||||
x_root TYPE REF TO cx_root,
|
x_root TYPE REF TO cx_root,
|
||||||
* uuid TYPE string,
|
* uuid TYPE string,
|
||||||
text TYPE string,
|
text TYPE string,
|
||||||
END OF ms_error .
|
END OF ms_error.
|
||||||
|
|
||||||
METHODS constructor
|
METHODS constructor
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!val TYPE any OPTIONAL
|
val TYPE any OPTIONAL
|
||||||
!previous TYPE REF TO cx_root OPTIONAL
|
!previous TYPE REF TO cx_root OPTIONAL
|
||||||
PREFERRED PARAMETER val.
|
PREFERRED PARAMETER val.
|
||||||
|
|
||||||
METHODS if_message~get_text
|
METHODS if_message~get_text REDEFINITION.
|
||||||
REDEFINITION.
|
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS z2ui5_cx_abap_api IMPLEMENTATION.
|
CLASS z2ui5_cx_abap_api IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD constructor ##ADT_SUPPRESS_GENERATION.
|
METHOD constructor ##ADT_SUPPRESS_GENERATION.
|
||||||
|
|
||||||
super->constructor( previous = previous ).
|
super->constructor( previous = previous ).
|
||||||
|
@ -45,7 +41,6 @@ CLASS z2ui5_cx_abap_api IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD if_message~get_text.
|
METHOD if_message~get_text.
|
||||||
|
|
||||||
IF ms_error-x_root IS NOT INITIAL.
|
IF ms_error-x_root IS NOT INITIAL.
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
CLASS ltcl_unit_test DEFINITION FINAL FOR TESTING
|
CLASS ltcl_unit_test DEFINITION FINAL
|
||||||
DURATION SHORT
|
FOR TESTING RISK LEVEL DANGEROUS DURATION SHORT.
|
||||||
RISK LEVEL DANGEROUS.
|
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
METHODS test_raise FOR TESTING RAISING cx_static_check.
|
METHODS test_raise FOR TESTING RAISING cx_static_check.
|
||||||
|
@ -8,21 +7,17 @@ ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
CLASS ltcl_unit_test IMPLEMENTATION.
|
CLASS ltcl_unit_test IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD test_raise.
|
METHOD test_raise.
|
||||||
|
|
||||||
TRY.
|
TRY.
|
||||||
|
|
||||||
RAISE EXCEPTION TYPE z2ui5_cx_abap_api
|
RAISE EXCEPTION TYPE z2ui5_cx_abap_api
|
||||||
EXPORTING
|
EXPORTING val = `this is an error text`.
|
||||||
val = `this is an error text`.
|
|
||||||
|
|
||||||
CATCH z2ui5_cx_abap_api INTO DATA(lx).
|
CATCH z2ui5_cx_abap_api INTO DATA(lx).
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_equals( exp = `this is an error text`
|
||||||
act = lx->get_text( )
|
act = lx->get_text( ) ).
|
||||||
exp = `this is an error text` ).
|
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -40,13 +40,10 @@ CLASS lcl_range_to_sql DEFINITION
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(out) TYPE string.
|
VALUE(out) TYPE string.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
CLASS lcl_range_to_sql IMPLEMENTATION.
|
CLASS lcl_range_to_sql IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD constructor.
|
METHOD constructor.
|
||||||
|
|
||||||
mr_range = ir_range.
|
mr_range = ir_range.
|
||||||
|
@ -118,5 +115,4 @@ CLASS lcl_range_to_sql IMPLEMENTATION.
|
||||||
with = `''`
|
with = `''`
|
||||||
occ = 0 ) }'|.
|
occ = 0 ) }'|.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -21,6 +21,7 @@ CLASS ltcl_test_app DEFINITION FOR TESTING.
|
||||||
CLASS-DATA sv_var TYPE string.
|
CLASS-DATA sv_var TYPE string.
|
||||||
CLASS-DATA ss_tab TYPE ty_row.
|
CLASS-DATA ss_tab TYPE ty_row.
|
||||||
CLASS-DATA st_tab TYPE STANDARD TABLE OF ty_row WITH EMPTY KEY.
|
CLASS-DATA st_tab TYPE STANDARD TABLE OF ty_row WITH EMPTY KEY.
|
||||||
|
|
||||||
CLASS-METHODS class_constructor.
|
CLASS-METHODS class_constructor.
|
||||||
|
|
||||||
DATA mv_val TYPE string ##NEEDED.
|
DATA mv_val TYPE string ##NEEDED.
|
||||||
|
@ -28,11 +29,12 @@ CLASS ltcl_test_app DEFINITION FOR TESTING.
|
||||||
DATA mt_tab TYPE STANDARD TABLE OF ty_row WITH EMPTY KEY ##NEEDED.
|
DATA mt_tab TYPE STANDARD TABLE OF ty_row WITH EMPTY KEY ##NEEDED.
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
CLASS ltcl_test_app IMPLEMENTATION.
|
|
||||||
|
|
||||||
|
CLASS ltcl_test_app IMPLEMENTATION.
|
||||||
METHOD class_constructor.
|
METHOD class_constructor.
|
||||||
|
|
||||||
sv_var = 1.
|
sv_var = 1.
|
||||||
|
@ -42,9 +44,9 @@ CLASS ltcl_test_app IMPLEMENTATION.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
CLASS ltcl_unit_test_abap_api DEFINITION FINAL FOR TESTING
|
|
||||||
DURATION SHORT
|
CLASS ltcl_unit_test_abap_api DEFINITION FINAL
|
||||||
RISK LEVEL HARMLESS.
|
FOR TESTING RISK LEVEL HARMLESS DURATION SHORT.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
|
|
||||||
|
@ -54,41 +56,40 @@ CLASS ltcl_unit_test_abap_api DEFINITION FINAL FOR TESTING
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(result) TYPE abap_bool.
|
VALUE(result) TYPE abap_bool.
|
||||||
|
|
||||||
METHODS test_assign FOR TESTING RAISING cx_static_check.
|
METHODS test_assign FOR TESTING RAISING cx_static_check.
|
||||||
METHODS test_eledescr_rel_name FOR TESTING RAISING cx_static_check.
|
METHODS test_eledescr_rel_name FOR TESTING RAISING cx_static_check.
|
||||||
METHODS test_classdescr FOR TESTING RAISING cx_static_check.
|
METHODS test_classdescr FOR TESTING RAISING cx_static_check.
|
||||||
METHODS test_substring_after FOR TESTING RAISING cx_static_check.
|
METHODS test_substring_after FOR TESTING RAISING cx_static_check.
|
||||||
METHODS test_substring_before FOR TESTING RAISING cx_static_check.
|
METHODS test_substring_before FOR TESTING RAISING cx_static_check.
|
||||||
METHODS test_string_shift FOR TESTING RAISING cx_static_check.
|
METHODS test_string_shift FOR TESTING RAISING cx_static_check.
|
||||||
METHODS test_string_replace FOR TESTING RAISING cx_static_check.
|
METHODS test_string_replace FOR TESTING RAISING cx_static_check.
|
||||||
METHODS test_raise_error FOR TESTING RAISING cx_static_check.
|
METHODS test_raise_error FOR TESTING RAISING cx_static_check.
|
||||||
METHODS test_xsdbool FOR TESTING RAISING cx_static_check.
|
METHODS test_xsdbool FOR TESTING RAISING cx_static_check.
|
||||||
METHODS test_xsdbool_nested FOR TESTING RAISING cx_static_check.
|
METHODS test_xsdbool_nested FOR TESTING RAISING cx_static_check.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
CLASS ltcl_unit_test DEFINITION FINAL FOR TESTING
|
|
||||||
DURATION MEDIUM
|
CLASS ltcl_unit_test DEFINITION FINAL
|
||||||
RISK LEVEL HARMLESS.
|
FOR TESTING RISK LEVEL HARMLESS DURATION MEDIUM.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
|
|
||||||
METHODS test_create FOR TESTING RAISING cx_static_check.
|
METHODS test_create FOR TESTING RAISING cx_static_check.
|
||||||
|
|
||||||
METHODS test_boolean_abap_2_json FOR TESTING RAISING cx_static_check.
|
METHODS test_boolean_abap_2_json FOR TESTING RAISING cx_static_check.
|
||||||
METHODS test_boolean_check FOR TESTING RAISING cx_static_check.
|
METHODS test_boolean_check FOR TESTING RAISING cx_static_check.
|
||||||
|
|
||||||
METHODS test_c_trim FOR TESTING RAISING cx_static_check.
|
METHODS test_c_trim FOR TESTING RAISING cx_static_check.
|
||||||
METHODS test_c_trim_lower FOR TESTING RAISING cx_static_check.
|
METHODS test_c_trim_lower FOR TESTING RAISING cx_static_check.
|
||||||
METHODS test_c_trim_upper FOR TESTING RAISING cx_static_check.
|
METHODS test_c_trim_upper FOR TESTING RAISING cx_static_check.
|
||||||
METHODS test_c_trim_horizontal_tab FOR TESTING RAISING cx_static_check.
|
METHODS test_c_trim_horizontal_tab FOR TESTING RAISING cx_static_check.
|
||||||
|
|
||||||
METHODS test_time_get_timestampl FOR TESTING RAISING cx_static_check.
|
METHODS test_time_get_timestampl FOR TESTING RAISING cx_static_check.
|
||||||
METHODS test_time_substract_seconds FOR TESTING RAISING cx_static_check.
|
METHODS test_time_substract_seconds FOR TESTING RAISING cx_static_check.
|
||||||
METHODS test_func_get_user_tech FOR TESTING RAISING cx_static_check.
|
METHODS test_func_get_user_tech FOR TESTING RAISING cx_static_check.
|
||||||
|
|
||||||
|
METHODS test_rtti_get_t_attri_by_incl FOR TESTING RAISING cx_static_check.
|
||||||
METHODS test_rtti_get_t_attri_by_incl FOR TESTING RAISING cx_static_check.
|
|
||||||
METHODS test_rtti_get_classname_by_ref FOR TESTING RAISING cx_static_check.
|
METHODS test_rtti_get_classname_by_ref FOR TESTING RAISING cx_static_check.
|
||||||
METHODS test_rtti_get_type_name FOR TESTING RAISING cx_static_check.
|
METHODS test_rtti_get_type_name FOR TESTING RAISING cx_static_check.
|
||||||
METHODS test_rtti_get_type_kind FOR TESTING RAISING cx_static_check.
|
METHODS test_rtti_get_type_kind FOR TESTING RAISING cx_static_check.
|
||||||
|
@ -96,32 +97,31 @@ CLASS ltcl_unit_test DEFINITION FINAL FOR TESTING
|
||||||
METHODS test_rtti_get_t_attri_by_obj FOR TESTING RAISING cx_static_check.
|
METHODS test_rtti_get_t_attri_by_obj FOR TESTING RAISING cx_static_check.
|
||||||
METHODS test_rtti_get_t_comp_by_struc FOR TESTING RAISING cx_static_check.
|
METHODS test_rtti_get_t_comp_by_struc FOR TESTING RAISING cx_static_check.
|
||||||
|
|
||||||
METHODS test_trans_json_any_2__w_struc FOR TESTING RAISING cx_static_check.
|
METHODS test_trans_json_any_2__w_struc FOR TESTING RAISING cx_static_check.
|
||||||
METHODS test_trans_xml_any_2__w_obj FOR TESTING RAISING cx_static_check.
|
METHODS test_trans_xml_any_2__w_obj FOR TESTING RAISING cx_static_check.
|
||||||
METHODS test_trans_xml_any_2__w_data FOR TESTING RAISING cx_static_check.
|
METHODS test_trans_xml_any_2__w_data FOR TESTING RAISING cx_static_check.
|
||||||
METHODS test_trans_xml_2_any__w_obj FOR TESTING RAISING cx_static_check.
|
METHODS test_trans_xml_2_any__w_obj FOR TESTING RAISING cx_static_check.
|
||||||
METHODS test_trans_xml_2_any__w_data FOR TESTING RAISING cx_static_check.
|
METHODS test_trans_xml_2_any__w_data FOR TESTING RAISING cx_static_check.
|
||||||
|
|
||||||
METHODS test_url_param_create_url FOR TESTING RAISING cx_static_check.
|
METHODS test_url_param_create_url FOR TESTING RAISING cx_static_check.
|
||||||
METHODS test_url_param_get FOR TESTING RAISING cx_static_check.
|
METHODS test_url_param_get FOR TESTING RAISING cx_static_check.
|
||||||
METHODS test_url_param_get_tab FOR TESTING RAISING cx_static_check.
|
METHODS test_url_param_get_tab FOR TESTING RAISING cx_static_check.
|
||||||
METHODS test_url_param_set FOR TESTING RAISING cx_static_check.
|
METHODS test_url_param_set FOR TESTING RAISING cx_static_check.
|
||||||
|
|
||||||
METHODS test_x_check_raise FOR TESTING RAISING cx_static_check.
|
METHODS test_x_check_raise FOR TESTING RAISING cx_static_check.
|
||||||
METHODS test_x_check_raise_not FOR TESTING RAISING cx_static_check.
|
METHODS test_x_check_raise_not FOR TESTING RAISING cx_static_check.
|
||||||
METHODS test_x_raise FOR TESTING RAISING cx_static_check.
|
METHODS test_x_raise FOR TESTING RAISING cx_static_check.
|
||||||
METHODS test_check_unassign_inital FOR TESTING RAISING cx_static_check.
|
METHODS test_check_unassign_inital FOR TESTING RAISING cx_static_check.
|
||||||
METHODS conv_copy_ref_data FOR TESTING RAISING cx_static_check.
|
METHODS conv_copy_ref_data FOR TESTING RAISING cx_static_check.
|
||||||
METHODS rtti_check_ref_data FOR TESTING RAISING cx_static_check.
|
METHODS rtti_check_ref_data FOR TESTING RAISING cx_static_check.
|
||||||
METHODS test_check_bound_a_not_inital FOR TESTING RAISING cx_static_check.
|
METHODS test_check_bound_a_not_inital FOR TESTING RAISING cx_static_check.
|
||||||
METHODS test_sql_get_by_string FOR TESTING RAISING cx_static_check.
|
METHODS test_sql_get_by_string FOR TESTING RAISING cx_static_check.
|
||||||
METHODS test_get_token_t_by_r_t FOR TESTING RAISING cx_static_check.
|
METHODS test_get_token_t_by_r_t FOR TESTING RAISING cx_static_check.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
CLASS ltcl_unit_test_abap_api IMPLEMENTATION.
|
CLASS ltcl_unit_test_abap_api IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD test_assign.
|
METHOD test_assign.
|
||||||
|
|
||||||
DATA(lo_app) = NEW ltcl_test_app( ).
|
DATA(lo_app) = NEW ltcl_test_app( ).
|
||||||
|
@ -129,23 +129,22 @@ CLASS ltcl_unit_test_abap_api IMPLEMENTATION.
|
||||||
|
|
||||||
lo_app->mv_val = `ABC`.
|
lo_app->mv_val = `ABC`.
|
||||||
|
|
||||||
DATA(lv_assign) = `LO_APP->` && 'MV_VAL'.
|
DATA(lv_assign) = |LO_APP->MV_VAL|.
|
||||||
ASSIGN (lv_assign) TO <any>.
|
ASSIGN (lv_assign) TO <any>.
|
||||||
ASSERT sy-subrc = 0.
|
ASSERT sy-subrc = 0.
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_equals( exp = `ABC`
|
||||||
act = <any>
|
act = <any> ).
|
||||||
exp = `ABC` ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD test_classdescr.
|
METHOD test_classdescr.
|
||||||
|
|
||||||
DATA(lo_app) = NEW ltcl_test_app( ).
|
DATA(lo_app) = NEW ltcl_test_app( ).
|
||||||
|
|
||||||
DATA(lt_attri) = CAST cl_abap_classdescr( cl_abap_objectdescr=>describe_by_object_ref( lo_app ) )->attributes.
|
DATA(lt_attri) = CAST cl_abap_classdescr( cl_abap_objectdescr=>describe_by_object_ref( lo_app ) )->attributes.
|
||||||
|
|
||||||
|
" TODO: variable is assigned but never used (ABAP cleaner)
|
||||||
DATA(lv_test) = lt_attri[ name = `MS_TAB` ].
|
DATA(lv_test) = lt_attri[ name = `MS_TAB` ].
|
||||||
lv_test = lt_attri[ name = `MT_TAB` ].
|
lv_test = lt_attri[ name = `MT_TAB` ].
|
||||||
lv_test = lt_attri[ name = `MV_VAL` ].
|
lv_test = lt_attri[ name = `MV_VAL` ].
|
||||||
|
@ -160,33 +159,32 @@ CLASS ltcl_unit_test_abap_api IMPLEMENTATION.
|
||||||
|
|
||||||
DATA(lo_ele) = CAST cl_abap_elemdescr( cl_abap_elemdescr=>describe_by_data( abap_true ) ).
|
DATA(lo_ele) = CAST cl_abap_elemdescr( cl_abap_elemdescr=>describe_by_data( abap_true ) ).
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_equals( exp = `ABAP_BOOL`
|
||||||
act = lo_ele->get_relative_name( )
|
act = lo_ele->get_relative_name( ) ).
|
||||||
exp = `ABAP_BOOL` ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD test_substring_after.
|
METHOD test_substring_after.
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_equals( exp = ` string`
|
||||||
act = substring_after( val = 'this is a string' sub = 'a' )
|
act = substring_after( val = 'this is a string'
|
||||||
exp = ` string` ).
|
sub = 'a' ) ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD test_substring_before.
|
METHOD test_substring_before.
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_equals( exp = `this is `
|
||||||
act = substring_before( val = 'this is a string' sub = 'a' )
|
act = substring_before( val = 'this is a string'
|
||||||
exp = `this is ` ).
|
sub = 'a' ) ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD test_string_shift.
|
METHOD test_string_shift.
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_equals( exp = `string`
|
||||||
act = shift_left( shift_right( val = ` string ` sub = ` ` ) )
|
act = shift_left( shift_right( val = ` string `
|
||||||
exp = `string` ).
|
sub = ` ` ) ) ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
@ -197,9 +195,11 @@ CLASS ltcl_unit_test_abap_api IMPLEMENTATION.
|
||||||
with = 'ABC'
|
with = 'ABC'
|
||||||
occ = 0 ) ##NEEDED.
|
occ = 0 ) ##NEEDED.
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_equals( exp = `one ABC three`
|
||||||
act = replace( val = `one two three` sub = `two` with = 'ABC' occ = 0 )
|
act = replace( val = `one two three`
|
||||||
exp = `one ABC three` ).
|
sub = `two`
|
||||||
|
with = 'ABC'
|
||||||
|
occ = 0 ) ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
@ -221,9 +221,7 @@ CLASS ltcl_unit_test_abap_api IMPLEMENTATION.
|
||||||
|
|
||||||
DATA(lv_xsdbool) = xsdbool( 1 = 1 ).
|
DATA(lv_xsdbool) = xsdbool( 1 = 1 ).
|
||||||
IF lv_xsdbool = abap_false.
|
IF lv_xsdbool = abap_false.
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_false( lv_xsdbool ).
|
||||||
act = lv_xsdbool
|
|
||||||
exp = abap_false ).
|
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
IF xsdbool( 1 = 1 ) = abap_false.
|
IF xsdbool( 1 = 1 ) = abap_false.
|
||||||
|
@ -236,9 +234,7 @@ CLASS ltcl_unit_test_abap_api IMPLEMENTATION.
|
||||||
|
|
||||||
DATA(lv_xsdbool) = check_input( xsdbool( 1 = 1 ) ).
|
DATA(lv_xsdbool) = check_input( xsdbool( 1 = 1 ) ).
|
||||||
IF lv_xsdbool = abap_false.
|
IF lv_xsdbool = abap_false.
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_false( lv_xsdbool ).
|
||||||
act = lv_xsdbool
|
|
||||||
exp = abap_false ).
|
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
IF check_input( abap_false ).
|
IF check_input( abap_false ).
|
||||||
|
@ -256,30 +252,21 @@ CLASS ltcl_unit_test_abap_api IMPLEMENTATION.
|
||||||
result = val.
|
result = val.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
CLASS ltcl_unit_test IMPLEMENTATION.
|
|
||||||
|
|
||||||
|
CLASS ltcl_unit_test IMPLEMENTATION.
|
||||||
METHOD test_boolean_check.
|
METHOD test_boolean_check.
|
||||||
|
|
||||||
DATA(lv_bool) = xsdbool( 1 = 1 ).
|
DATA(lv_bool) = xsdbool( 1 = 1 ).
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_true( z2ui5_cl_util=>boolean_check_by_data( lv_bool ) ).
|
||||||
act = z2ui5_cl_util=>boolean_check_by_data( lv_bool )
|
|
||||||
exp = abap_true ).
|
|
||||||
|
|
||||||
lv_bool = xsdbool( 1 = 2 ).
|
lv_bool = xsdbool( 1 = 2 ).
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_true( z2ui5_cl_util=>boolean_check_by_data( lv_bool ) ).
|
||||||
act = z2ui5_cl_util=>boolean_check_by_data( lv_bool )
|
|
||||||
exp = abap_true ).
|
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_true( z2ui5_cl_util=>boolean_check_by_data( abap_true ) ).
|
||||||
act = z2ui5_cl_util=>boolean_check_by_data( abap_true )
|
|
||||||
exp = abap_true ).
|
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_true( z2ui5_cl_util=>boolean_check_by_data( abap_false ) ).
|
||||||
act = z2ui5_cl_util=>boolean_check_by_data( abap_false )
|
|
||||||
exp = abap_true ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
@ -341,13 +328,9 @@ CLASS ltcl_unit_test IMPLEMENTATION.
|
||||||
DATA lr_data TYPE REF TO data.
|
DATA lr_data TYPE REF TO data.
|
||||||
GET REFERENCE OF lv_test INTO lr_data.
|
GET REFERENCE OF lv_test INTO lr_data.
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_true( z2ui5_cl_util=>rtti_check_ref_data( lr_data ) ).
|
||||||
act = z2ui5_cl_util=>rtti_check_ref_data( lr_data )
|
|
||||||
exp = abap_true ).
|
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_false( z2ui5_cl_util=>rtti_check_ref_data( lv_test ) ).
|
||||||
act = z2ui5_cl_util=>rtti_check_ref_data( lv_test )
|
|
||||||
exp = abap_false ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
@ -362,17 +345,15 @@ CLASS ltcl_unit_test IMPLEMENTATION.
|
||||||
FIELD-SYMBOLS <result> TYPE data.
|
FIELD-SYMBOLS <result> TYPE data.
|
||||||
ASSIGN lr_test2->* TO <result>.
|
ASSIGN lr_test2->* TO <result>.
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_equals( exp = lv_test
|
||||||
act = <result>
|
act = <result> ).
|
||||||
exp = lv_test ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD test_boolean_abap_2_json.
|
METHOD test_boolean_abap_2_json.
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_equals( exp = `{ABCD}`
|
||||||
act = z2ui5_cl_util=>boolean_abap_2_json( `{ABCD}` )
|
act = z2ui5_cl_util=>boolean_abap_2_json( `{ABCD}` ) ).
|
||||||
exp = `{ABCD}` ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
@ -380,9 +361,8 @@ CLASS ltcl_unit_test IMPLEMENTATION.
|
||||||
|
|
||||||
DATA(lv_time) = z2ui5_cl_util=>time_get_timestampl( ).
|
DATA(lv_time) = z2ui5_cl_util=>time_get_timestampl( ).
|
||||||
|
|
||||||
DATA(lv_time2) = z2ui5_cl_util=>time_substract_seconds(
|
DATA(lv_time2) = z2ui5_cl_util=>time_substract_seconds( time = lv_time
|
||||||
time = lv_time
|
seconds = 60 * 60 * 4 ).
|
||||||
seconds = 60 * 60 * 4 ).
|
|
||||||
|
|
||||||
IF lv_time IS INITIAL OR lv_time2 IS INITIAL.
|
IF lv_time IS INITIAL OR lv_time2 IS INITIAL.
|
||||||
cl_abap_unit_assert=>fail( ).
|
cl_abap_unit_assert=>fail( ).
|
||||||
|
@ -411,33 +391,29 @@ CLASS ltcl_unit_test IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD test_c_trim.
|
METHOD test_c_trim.
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_equals( exp = `JsadfHHs`
|
||||||
act = z2ui5_cl_util=>c_trim( ` JsadfHHs ` )
|
act = z2ui5_cl_util=>c_trim( ` JsadfHHs ` ) ).
|
||||||
exp = `JsadfHHs` ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD test_c_trim_lower.
|
METHOD test_c_trim_lower.
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_equals( exp = `jsadfhhs`
|
||||||
act = z2ui5_cl_util=>c_trim_lower( ` JsadfHHs ` )
|
act = z2ui5_cl_util=>c_trim_lower( ` JsadfHHs ` ) ).
|
||||||
exp = `jsadfhhs` ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD test_c_trim_upper.
|
METHOD test_c_trim_upper.
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_equals( exp = `JSADFHHS`
|
||||||
act = z2ui5_cl_util=>c_trim_upper( ` JsadfHHs ` )
|
act = z2ui5_cl_util=>c_trim_upper( ` JsadfHHs ` ) ).
|
||||||
exp = `JSADFHHS` ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD test_func_get_user_tech.
|
METHOD test_func_get_user_tech.
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_equals( exp = z2ui5_cl_util=>context_get_user_tech( )
|
||||||
act = sy-uname
|
act = sy-uname ).
|
||||||
exp = z2ui5_cl_util=>context_get_user_tech( ) ).
|
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_not_initial( z2ui5_cl_util=>context_get_user_tech( ) ).
|
cl_abap_unit_assert=>assert_not_initial( z2ui5_cl_util=>context_get_user_tech( ) ).
|
||||||
|
|
||||||
|
@ -453,7 +429,6 @@ CLASS ltcl_unit_test IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD test_x_check_raise.
|
METHOD test_x_check_raise.
|
||||||
|
|
||||||
TRY.
|
TRY.
|
||||||
|
@ -470,7 +445,6 @@ CLASS ltcl_unit_test IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD test_trans_json_any_2__w_struc.
|
METHOD test_trans_json_any_2__w_struc.
|
||||||
|
|
||||||
TYPES:
|
TYPES:
|
||||||
|
@ -479,62 +453,58 @@ CLASS ltcl_unit_test IMPLEMENTATION.
|
||||||
value TYPE string,
|
value TYPE string,
|
||||||
selected TYPE abap_bool,
|
selected TYPE abap_bool,
|
||||||
END OF ty_row.
|
END OF ty_row.
|
||||||
|
|
||||||
DATA(ls_row) = VALUE ty_row( title = `test` ).
|
DATA(ls_row) = VALUE ty_row( title = `test` ).
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_equals( exp = `{"selected":false,"title":"test","value":""}`
|
||||||
act = z2ui5_cl_util=>json_stringify( ls_row )
|
act = z2ui5_cl_util=>json_stringify( ls_row ) ).
|
||||||
exp = `{"selected":false,"title":"test","value":""}` ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD test_url_param_create_url.
|
METHOD test_url_param_create_url.
|
||||||
|
|
||||||
DATA(lt_param) = z2ui5_cl_util=>url_param_get_tab( `https://url.com/rvice_for_ui?sap-client=100&app_start=z2ui5_cl_app_hello_world` ).
|
DATA(lt_param) = z2ui5_cl_util=>url_param_get_tab(
|
||||||
|
`https://url.com/rvice_for_ui?sap-client=100&app_start=z2ui5_cl_app_hello_world` ).
|
||||||
DATA(lv_url) = z2ui5_cl_util=>url_param_create_url( lt_param ).
|
DATA(lv_url) = z2ui5_cl_util=>url_param_create_url( lt_param ).
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_equals( exp = `sap-client=100&app_start=z2ui5_cl_app_hello_world`
|
||||||
act = lv_url
|
act = lv_url ).
|
||||||
exp = `sap-client=100&app_start=z2ui5_cl_app_hello_world` ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD test_url_param_get.
|
METHOD test_url_param_get.
|
||||||
|
|
||||||
DATA(lv_param) = z2ui5_cl_util=>url_param_get(
|
DATA(lv_param) = z2ui5_cl_util=>url_param_get(
|
||||||
val = `app_start`
|
val = `app_start`
|
||||||
url = `https://url.com/rvice_for_ui?sap-client=100&app_start=z2ui5_cl_app_hello_world` ).
|
url = `https://url.com/rvice_for_ui?sap-client=100&app_start=z2ui5_cl_app_hello_world` ).
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_equals( exp = `z2ui5_cl_app_hello_world`
|
||||||
act = lv_param
|
act = lv_param ).
|
||||||
exp = `z2ui5_cl_app_hello_world` ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD test_url_param_get_tab.
|
METHOD test_url_param_get_tab.
|
||||||
|
|
||||||
DATA(lt_param) = z2ui5_cl_util=>url_param_get_tab( `https://url.com/rvice_for_ui?sap-client=100&app_start=z2ui5_cl_app_hello_world` ).
|
DATA(lt_param) = z2ui5_cl_util=>url_param_get_tab(
|
||||||
|
`https://url.com/rvice_for_ui?sap-client=100&app_start=z2ui5_cl_app_hello_world` ).
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_equals( exp = `100`
|
||||||
act = lt_param[ n = `sap-client` ]-v
|
act = lt_param[ n = `sap-client` ]-v ).
|
||||||
exp = `100` ).
|
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_equals( exp = `z2ui5_cl_app_hello_world`
|
||||||
act = lt_param[ n = `app_start` ]-v
|
act = lt_param[ n = `app_start` ]-v ).
|
||||||
exp = `z2ui5_cl_app_hello_world` ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD test_url_param_set.
|
METHOD test_url_param_set.
|
||||||
|
|
||||||
DATA(lv_param) = z2ui5_cl_util=>url_param_set(
|
DATA(lv_param) = z2ui5_cl_util=>url_param_set(
|
||||||
name = `app_start`
|
name = `app_start`
|
||||||
value = `z2ui5_cl_app_hello_world2`
|
value = `z2ui5_cl_app_hello_world2`
|
||||||
url = `https://url.com/rvice_for_ui?sap-client=100&app_start=z2ui5_cl_app_hello_world` ).
|
url = `https://url.com/rvice_for_ui?sap-client=100&app_start=z2ui5_cl_app_hello_world` ).
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_equals( exp = `sap-client=100&app_start=z2ui5_cl_app_hello_world2`
|
||||||
act = lv_param
|
act = lv_param ).
|
||||||
exp = `sap-client=100&app_start=z2ui5_cl_app_hello_world2` ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
@ -551,9 +521,8 @@ CLASS ltcl_unit_test IMPLEMENTATION.
|
||||||
|
|
||||||
DATA(lv_xsdbool) = VALUE xsdboolean( ).
|
DATA(lv_xsdbool) = VALUE xsdboolean( ).
|
||||||
DATA(lv_name) = z2ui5_cl_util=>rtti_get_type_name( lv_xsdbool ).
|
DATA(lv_name) = z2ui5_cl_util=>rtti_get_type_name( lv_xsdbool ).
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_equals( exp = `XSDBOOLEAN`
|
||||||
act = lv_name
|
act = lv_name ).
|
||||||
exp = `XSDBOOLEAN` ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
@ -563,16 +532,13 @@ CLASS ltcl_unit_test IMPLEMENTATION.
|
||||||
|
|
||||||
DATA(lv_type_kind) = z2ui5_cl_util=>rtti_get_type_kind( lv_string ).
|
DATA(lv_type_kind) = z2ui5_cl_util=>rtti_get_type_kind( lv_string ).
|
||||||
DATA lr_string TYPE REF TO string.
|
DATA lr_string TYPE REF TO string.
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_equals( exp = cl_abap_typedescr=>typekind_string
|
||||||
act = lv_type_kind
|
act = lv_type_kind ).
|
||||||
exp = cl_abap_typedescr=>typekind_string ).
|
|
||||||
|
|
||||||
|
|
||||||
CREATE DATA lr_string.
|
CREATE DATA lr_string.
|
||||||
lv_type_kind = z2ui5_cl_util=>rtti_get_type_kind( lr_string ).
|
lv_type_kind = z2ui5_cl_util=>rtti_get_type_kind( lr_string ).
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_equals( exp = cl_abap_typedescr=>typekind_dref
|
||||||
act = lv_type_kind
|
act = lv_type_kind ).
|
||||||
exp = cl_abap_typedescr=>typekind_dref ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
@ -580,15 +546,10 @@ CLASS ltcl_unit_test IMPLEMENTATION.
|
||||||
|
|
||||||
DATA(lv_string) = VALUE string( ).
|
DATA(lv_string) = VALUE string( ).
|
||||||
DATA lr_string TYPE REF TO string.
|
DATA lr_string TYPE REF TO string.
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_false( z2ui5_cl_util=>rtti_check_type_kind_dref( lv_string ) ).
|
||||||
act = z2ui5_cl_util=>rtti_check_type_kind_dref( lv_string )
|
|
||||||
exp = abap_false ).
|
|
||||||
|
|
||||||
|
|
||||||
CREATE DATA lr_string.
|
CREATE DATA lr_string.
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_true( z2ui5_cl_util=>rtti_check_type_kind_dref( lr_string ) ).
|
||||||
act = z2ui5_cl_util=>rtti_check_type_kind_dref( lr_string )
|
|
||||||
exp = abap_true ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
@ -605,15 +566,21 @@ CLASS ltcl_unit_test IMPLEMENTATION.
|
||||||
cl_abap_unit_assert=>fail( ).
|
cl_abap_unit_assert=>fail( ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
IF NOT line_exists( lt_attri[ name = `SS_TAB` type_kind = `v` ] ).
|
IF NOT line_exists( lt_attri[ name = `SS_TAB`
|
||||||
|
type_kind = `v` ] ).
|
||||||
cl_abap_unit_assert=>fail( ).
|
cl_abap_unit_assert=>fail( ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
IF NOT line_exists( lt_attri[ name = `SV_VAR` type_kind = `g` is_class = abap_true ] ).
|
IF NOT line_exists( lt_attri[ name = `SV_VAR`
|
||||||
|
type_kind = `g`
|
||||||
|
is_class = abap_true ] ).
|
||||||
cl_abap_unit_assert=>fail( ).
|
cl_abap_unit_assert=>fail( ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
IF NOT line_exists( lt_attri[ name = `SV_STATUS` type_kind = `g` is_class = abap_true is_constant = `X` ] ).
|
IF NOT line_exists( lt_attri[ name = `SV_STATUS`
|
||||||
|
type_kind = `g`
|
||||||
|
is_class = abap_true
|
||||||
|
is_constant = `X` ] ).
|
||||||
cl_abap_unit_assert=>fail( ).
|
cl_abap_unit_assert=>fail( ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
|
@ -680,11 +647,8 @@ CLASS ltcl_unit_test IMPLEMENTATION.
|
||||||
DATA(lv_xml) = z2ui5_cl_util=>xml_stringify( lo_obj ).
|
DATA(lv_xml) = z2ui5_cl_util=>xml_stringify( lo_obj ).
|
||||||
|
|
||||||
CLEAR lo_obj.
|
CLEAR lo_obj.
|
||||||
z2ui5_cl_util=>xml_parse(
|
z2ui5_cl_util=>xml_parse( EXPORTING xml = lv_xml
|
||||||
EXPORTING
|
IMPORTING any = lo_obj ).
|
||||||
xml = lv_xml
|
|
||||||
IMPORTING
|
|
||||||
any = lo_obj ).
|
|
||||||
|
|
||||||
IF lo_obj IS NOT BOUND.
|
IF lo_obj IS NOT BOUND.
|
||||||
cl_abap_unit_assert=>fail( ).
|
cl_abap_unit_assert=>fail( ).
|
||||||
|
@ -735,19 +699,14 @@ CLASS ltcl_unit_test IMPLEMENTATION.
|
||||||
|
|
||||||
DATA(lv_xml) = z2ui5_cl_util=>xml_stringify( ls_row ).
|
DATA(lv_xml) = z2ui5_cl_util=>xml_stringify( ls_row ).
|
||||||
|
|
||||||
z2ui5_cl_util=>xml_parse(
|
z2ui5_cl_util=>xml_parse( EXPORTING xml = lv_xml
|
||||||
EXPORTING
|
IMPORTING any = ls_row2 ).
|
||||||
xml = lv_xml
|
|
||||||
IMPORTING
|
|
||||||
any = ls_row2 ).
|
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_equals( exp = ls_row2
|
||||||
act = ls_row
|
act = ls_row ).
|
||||||
exp = ls_row2 ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD test_c_trim_horizontal_tab.
|
METHOD test_c_trim_horizontal_tab.
|
||||||
|
|
||||||
IF z2ui5_cl_util=>c_trim( |{ cl_abap_char_utilities=>horizontal_tab }|
|
IF z2ui5_cl_util=>c_trim( |{ cl_abap_char_utilities=>horizontal_tab }|
|
||||||
|
@ -761,19 +720,17 @@ CLASS ltcl_unit_test IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD test_get_token_t_by_r_t.
|
METHOD test_get_token_t_by_r_t.
|
||||||
|
|
||||||
DATA(lt_range) = VALUE z2ui5_cl_util=>ty_t_range(
|
DATA(lt_range) = VALUE z2ui5_cl_util=>ty_t_range( ( sign = 'I' option = 'EQ' low = `table` high = `` )
|
||||||
( sign = 'I' option = 'EQ' low = `table` high = `` )
|
|
||||||
).
|
).
|
||||||
|
|
||||||
DATA(lt_result) = z2ui5_cl_util=>filter_get_token_t_by_range_t( lt_range ).
|
DATA(lt_result) = z2ui5_cl_util=>filter_get_token_t_by_range_t( lt_range ).
|
||||||
|
|
||||||
DATA(lt_exp) = VALUE z2ui5_cl_util=>ty_t_token(
|
DATA(lt_exp) = VALUE z2ui5_cl_util=>ty_t_token(
|
||||||
( key = `=table` text = `=table` visible = 'X' selkz = '' editable = 'X' )
|
( key = `=table` text = `=table` visible = 'X' selkz = '' editable = 'X' )
|
||||||
).
|
).
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_equals( exp = lt_exp
|
||||||
act = lt_result
|
act = lt_result
|
||||||
exp = lt_exp
|
|
||||||
).
|
).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
@ -798,11 +755,10 @@ CLASS ltcl_unit_test IMPLEMENTATION.
|
||||||
value2 TYPE string,
|
value2 TYPE string,
|
||||||
END OF ty_struc.
|
END OF ty_struc.
|
||||||
|
|
||||||
DATA
|
DATA BEGIN OF ms_struc2.
|
||||||
BEGIN OF ms_struc2.
|
INCLUDE TYPE ty_struc.
|
||||||
INCLUDE TYPE ty_struc.
|
INCLUDE TYPE ty_struc_incl.
|
||||||
INCLUDE TYPE ty_struc_incl.
|
DATA END OF ms_struc2.
|
||||||
DATA END OF ms_struc2.
|
|
||||||
|
|
||||||
DATA(lo_datadescr) = cl_abap_typedescr=>describe_by_data( ms_struc2 ).
|
DATA(lo_datadescr) = cl_abap_typedescr=>describe_by_data( ms_struc2 ).
|
||||||
DATA(lt_attri) = z2ui5_cl_util=>rtti_get_t_attri_by_include( CAST #( lo_datadescr ) ).
|
DATA(lt_attri) = z2ui5_cl_util=>rtti_get_t_attri_by_include( CAST #( lo_datadescr ) ).
|
||||||
|
@ -812,5 +768,4 @@ CLASS ltcl_unit_test IMPLEMENTATION.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -1,8 +1,7 @@
|
||||||
CLASS z2ui5_cx_util_error DEFINITION
|
CLASS z2ui5_cx_util_error DEFINITION
|
||||||
PUBLIC
|
PUBLIC
|
||||||
INHERITING FROM cx_no_check
|
INHERITING FROM cx_no_check FINAL
|
||||||
FINAL
|
CREATE PUBLIC.
|
||||||
CREATE PUBLIC .
|
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
|
||||||
|
@ -11,26 +10,23 @@ CLASS z2ui5_cx_util_error DEFINITION
|
||||||
x_root TYPE REF TO cx_root,
|
x_root TYPE REF TO cx_root,
|
||||||
uuid TYPE string,
|
uuid TYPE string,
|
||||||
text TYPE string,
|
text TYPE string,
|
||||||
END OF ms_error .
|
END OF ms_error.
|
||||||
|
|
||||||
METHODS constructor
|
METHODS constructor
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!val TYPE any OPTIONAL
|
val TYPE any OPTIONAL
|
||||||
!previous TYPE REF TO cx_root OPTIONAL
|
!previous TYPE REF TO cx_root OPTIONAL
|
||||||
PREFERRED PARAMETER val.
|
PREFERRED PARAMETER val.
|
||||||
|
|
||||||
METHODS if_message~get_text
|
METHODS if_message~get_text REDEFINITION.
|
||||||
REDEFINITION.
|
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS z2ui5_cx_util_error IMPLEMENTATION.
|
CLASS z2ui5_cx_util_error IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD constructor ##ADT_SUPPRESS_GENERATION.
|
METHOD constructor ##ADT_SUPPRESS_GENERATION.
|
||||||
|
|
||||||
super->constructor( previous = previous ).
|
super->constructor( previous = previous ).
|
||||||
|
@ -45,7 +41,6 @@ CLASS z2ui5_cx_util_error IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD if_message~get_text.
|
METHOD if_message~get_text.
|
||||||
|
|
||||||
IF ms_error-x_root IS NOT INITIAL.
|
IF ms_error-x_root IS NOT INITIAL.
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
CLASS ltcl_unit_test DEFINITION FINAL FOR TESTING
|
CLASS ltcl_unit_test DEFINITION FINAL
|
||||||
DURATION SHORT
|
FOR TESTING RISK LEVEL DANGEROUS DURATION SHORT.
|
||||||
RISK LEVEL DANGEROUS.
|
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
METHODS test_raise FOR TESTING RAISING cx_static_check.
|
METHODS test_raise FOR TESTING RAISING cx_static_check.
|
||||||
|
@ -8,21 +7,17 @@ ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
CLASS ltcl_unit_test IMPLEMENTATION.
|
CLASS ltcl_unit_test IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD test_raise.
|
METHOD test_raise.
|
||||||
|
|
||||||
TRY.
|
TRY.
|
||||||
|
|
||||||
RAISE EXCEPTION TYPE z2ui5_cx_util_error
|
RAISE EXCEPTION TYPE z2ui5_cx_util_error
|
||||||
EXPORTING
|
EXPORTING val = `this is an error text`.
|
||||||
val = `this is an error text`.
|
|
||||||
|
|
||||||
CATCH z2ui5_cx_util_error INTO DATA(lx).
|
CATCH z2ui5_cx_util_error INTO DATA(lx).
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_equals( exp = `this is an error text`
|
||||||
act = lx->get_text( )
|
act = lx->get_text( ) ).
|
||||||
exp = `this is an error text` ).
|
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
CLASS z2ui5_cl_core_srv_draft DEFINITION
|
CLASS z2ui5_cl_core_srv_draft DEFINITION
|
||||||
PUBLIC
|
PUBLIC FINAL
|
||||||
FINAL
|
CREATE PUBLIC.
|
||||||
CREATE PUBLIC .
|
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
|
||||||
|
@ -11,8 +10,8 @@ CLASS z2ui5_cl_core_srv_draft DEFINITION
|
||||||
|
|
||||||
METHODS create
|
METHODS create
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!draft TYPE z2ui5_if_types=>ty_s_draft
|
draft TYPE z2ui5_if_types=>ty_s_draft
|
||||||
!model_xml TYPE clike.
|
model_xml TYPE clike.
|
||||||
|
|
||||||
METHODS read_draft
|
METHODS read_draft
|
||||||
IMPORTING
|
IMPORTING
|
||||||
|
@ -32,61 +31,52 @@ CLASS z2ui5_cl_core_srv_draft DEFINITION
|
||||||
|
|
||||||
METHODS read
|
METHODS read
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!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 z2ui5_if_core_types=>ty_s_db.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS z2ui5_cl_core_srv_draft IMPLEMENTATION.
|
CLASS z2ui5_cl_core_srv_draft IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD cleanup.
|
METHOD cleanup.
|
||||||
|
|
||||||
DATA(lv_four_hours_ago) = z2ui5_cl_util=>time_substract_seconds(
|
DATA(lv_four_hours_ago) = z2ui5_cl_util=>time_substract_seconds( time = z2ui5_cl_util=>time_get_timestampl( )
|
||||||
time = z2ui5_cl_util=>time_get_timestampl( )
|
seconds = 60 * 60 * 4 ).
|
||||||
seconds = 60 * 60 * 4 ).
|
|
||||||
|
|
||||||
DELETE FROM z2ui5_t_01 WHERE timestampl < @lv_four_hours_ago.
|
DELETE FROM z2ui5_t_01 WHERE timestampl < @lv_four_hours_ago.
|
||||||
COMMIT WORK.
|
COMMIT WORK.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD create.
|
METHOD create.
|
||||||
|
|
||||||
ASSERT draft-id IS NOT INITIAL.
|
ASSERT draft-id IS NOT INITIAL.
|
||||||
|
|
||||||
DATA(ls_db) = VALUE z2ui5_if_core_types=>ty_s_db(
|
DATA(ls_db) = VALUE z2ui5_if_core_types=>ty_s_db( id = draft-id
|
||||||
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
|
uname = z2ui5_cl_util=>context_get_user_tech( )
|
||||||
uname = z2ui5_cl_util=>context_get_user_tech( )
|
timestampl = z2ui5_cl_util=>time_get_timestampl( )
|
||||||
timestampl = z2ui5_cl_util=>time_get_timestampl( )
|
data = model_xml ).
|
||||||
data = model_xml ).
|
|
||||||
|
|
||||||
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
|
EXPORTING val = `CREATE_OF_DRAFT_ENTRY_ON_DATABASE_FAILED`.
|
||||||
val = `CREATE_OF_DRAFT_ENTRY_ON_DATABASE_FAILED`.
|
|
||||||
ENDIF.
|
ENDIF.
|
||||||
COMMIT WORK AND WAIT.
|
COMMIT WORK AND WAIT.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD read.
|
METHOD read.
|
||||||
|
|
||||||
IF check_load_app = abap_true.
|
IF check_load_app = abap_true.
|
||||||
|
|
||||||
SELECT SINGLE *
|
SELECT SINGLE * FROM z2ui5_t_01
|
||||||
FROM z2ui5_t_01
|
|
||||||
WHERE id = @id
|
WHERE id = @id
|
||||||
INTO @result ##SUBRC_OK.
|
INTO @result ##SUBRC_OK.
|
||||||
|
|
||||||
|
@ -101,38 +91,31 @@ 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
|
EXPORTING val = `NO_DRAFT_ENTRY_OF_PREVIOUS_REQUEST_FOUND`.
|
||||||
val = `NO_DRAFT_ENTRY_OF_PREVIOUS_REQUEST_FOUND`.
|
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD read_draft.
|
METHOD read_draft.
|
||||||
|
|
||||||
result = read( id ).
|
result = read( id ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD read_info.
|
METHOD read_info.
|
||||||
|
|
||||||
DATA(ls_db) = read(
|
DATA(ls_db) = read( id = id
|
||||||
id = id
|
check_load_app = abap_false ).
|
||||||
check_load_app = abap_false ).
|
|
||||||
|
|
||||||
result = CORRESPONDING #( ls_db ).
|
result = CORRESPONDING #( ls_db ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD count_entries.
|
METHOD count_entries.
|
||||||
|
|
||||||
SELECT
|
SELECT COUNT( * )
|
||||||
COUNT( * )
|
|
||||||
FROM z2ui5_t_01
|
FROM z2ui5_t_01
|
||||||
INTO @result.
|
INTO @result.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
CLASS ltcl_test DEFINITION FINAL FOR TESTING
|
CLASS ltcl_test DEFINITION FINAL
|
||||||
DURATION LONG
|
FOR TESTING RISK LEVEL HARMLESS DURATION LONG.
|
||||||
RISK LEVEL HARMLESS.
|
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
|
||||||
|
@ -8,12 +7,12 @@ CLASS ltcl_test DEFINITION FINAL FOR TESTING
|
||||||
METHODS test_create FOR TESTING.
|
METHODS test_create FOR TESTING.
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
CLASS ltcl_test IMPLEMENTATION.
|
CLASS ltcl_test IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD constructor.
|
METHOD constructor.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
@ -22,17 +21,14 @@ CLASS ltcl_test IMPLEMENTATION.
|
||||||
|
|
||||||
DATA(lo_draft) = NEW z2ui5_cl_core_srv_draft( ).
|
DATA(lo_draft) = NEW z2ui5_cl_core_srv_draft( ).
|
||||||
|
|
||||||
lo_draft->create(
|
lo_draft->create( draft = VALUE #( id = `TEST_ID` )
|
||||||
draft = VALUE #( id = `TEST_ID` )
|
model_xml = `my xml`
|
||||||
model_xml = `my xml`
|
|
||||||
).
|
).
|
||||||
|
|
||||||
DATA(ls_db) = lo_draft->read_draft( `TEST_ID` ).
|
DATA(ls_db) = lo_draft->read_draft( `TEST_ID` ).
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_equals( exp = `my xml`
|
||||||
act = ls_db-data
|
act = ls_db-data ).
|
||||||
exp = `my xml` ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
CLASS z2ui5_cl_core_action DEFINITION
|
CLASS z2ui5_cl_core_action DEFINITION
|
||||||
PUBLIC
|
PUBLIC FINAL
|
||||||
FINAL
|
|
||||||
CREATE PUBLIC.
|
CREATE PUBLIC.
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
@ -8,8 +7,8 @@ CLASS z2ui5_cl_core_action DEFINITION
|
||||||
DATA mo_http_post TYPE REF TO z2ui5_cl_core_handler.
|
DATA mo_http_post TYPE REF TO z2ui5_cl_core_handler.
|
||||||
DATA mo_app TYPE REF TO z2ui5_cl_core_app.
|
DATA mo_app TYPE REF TO z2ui5_cl_core_app.
|
||||||
|
|
||||||
DATA ms_actual TYPE z2ui5_if_core_types=>ty_s_actual.
|
DATA ms_actual TYPE z2ui5_if_core_types=>ty_s_actual.
|
||||||
DATA ms_next TYPE z2ui5_if_core_types=>ty_s_next.
|
DATA ms_next TYPE z2ui5_if_core_types=>ty_s_next.
|
||||||
|
|
||||||
METHODS factory_system_startup
|
METHODS factory_system_startup
|
||||||
RETURNING
|
RETURNING
|
||||||
|
@ -47,10 +46,7 @@ CLASS z2ui5_cl_core_action DEFINITION
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS z2ui5_cl_core_action IMPLEMENTATION.
|
CLASS z2ui5_cl_core_action IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD constructor.
|
METHOD constructor.
|
||||||
|
|
||||||
mo_http_post = val.
|
mo_http_post = val.
|
||||||
|
@ -58,7 +54,6 @@ CLASS z2ui5_cl_core_action IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD factory_by_frontend.
|
METHOD factory_by_frontend.
|
||||||
|
|
||||||
result = NEW #( mo_http_post ).
|
result = NEW #( mo_http_post ).
|
||||||
|
@ -69,14 +64,12 @@ CLASS z2ui5_cl_core_action IMPLEMENTATION.
|
||||||
result->mo_app = z2ui5_cl_core_app=>db_load( mo_http_post->ms_request-s_front-id ).
|
result->mo_app = z2ui5_cl_core_app=>db_load( mo_http_post->ms_request-s_front-id ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
|
|
||||||
result->mo_app->ms_draft-id = z2ui5_cl_util=>uuid_get_c32( ).
|
result->mo_app->ms_draft-id = z2ui5_cl_util=>uuid_get_c32( ).
|
||||||
result->mo_app->ms_draft-id_prev = mo_http_post->ms_request-s_front-id.
|
result->mo_app->ms_draft-id_prev = mo_http_post->ms_request-s_front-id.
|
||||||
result->ms_actual-view = mo_http_post->ms_request-s_front-view.
|
result->ms_actual-view = mo_http_post->ms_request-s_front-view.
|
||||||
|
|
||||||
result->mo_app->model_json_parse(
|
result->mo_app->model_json_parse( iv_view = mo_http_post->ms_request-s_front-view
|
||||||
iv_view = mo_http_post->ms_request-s_front-view
|
io_model = mo_http_post->ms_request-o_model ).
|
||||||
io_model = mo_http_post->ms_request-o_model ).
|
|
||||||
|
|
||||||
result->ms_actual-event = mo_http_post->ms_request-s_front-event.
|
result->ms_actual-event = mo_http_post->ms_request-s_front-event.
|
||||||
result->ms_actual-t_event_arg = mo_http_post->ms_request-s_front-t_event_arg.
|
result->ms_actual-t_event_arg = mo_http_post->ms_request-s_front-t_event_arg.
|
||||||
|
@ -84,7 +77,6 @@ CLASS z2ui5_cl_core_action IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD factory_first_start.
|
METHOD factory_first_start.
|
||||||
|
|
||||||
TRY.
|
TRY.
|
||||||
|
@ -100,14 +92,12 @@ CLASS z2ui5_cl_core_action IMPLEMENTATION.
|
||||||
|
|
||||||
CATCH cx_root INTO DATA(x).
|
CATCH cx_root INTO DATA(x).
|
||||||
RAISE EXCEPTION TYPE z2ui5_cx_util_error
|
RAISE EXCEPTION TYPE z2ui5_cx_util_error
|
||||||
EXPORTING
|
EXPORTING val = |App with name { mo_http_post->ms_request-s_control-app_start } not found...|
|
||||||
val = `App with name ` && mo_http_post->ms_request-s_control-app_start && ` not found...`
|
previous = x.
|
||||||
previous = x.
|
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD factory_stack_call.
|
METHOD factory_stack_call.
|
||||||
|
|
||||||
result = prepare_app_stack( ms_next-o_app_call ).
|
result = prepare_app_stack( ms_next-o_app_call ).
|
||||||
|
@ -115,12 +105,11 @@ CLASS z2ui5_cl_core_action IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD factory_stack_leave.
|
METHOD factory_stack_leave.
|
||||||
|
|
||||||
result = prepare_app_stack( ms_next-o_app_leave ).
|
result = prepare_app_stack( ms_next-o_app_leave ).
|
||||||
|
|
||||||
"check for new app?
|
" check for new app?
|
||||||
TRY.
|
TRY.
|
||||||
DATA(lo_draft) = NEW z2ui5_cl_core_srv_draft( ).
|
DATA(lo_draft) = NEW z2ui5_cl_core_srv_draft( ).
|
||||||
DATA(ls_draft) = lo_draft->read_info( ms_next-o_app_leave->id_draft ).
|
DATA(ls_draft) = lo_draft->read_info( ms_next-o_app_leave->id_draft ).
|
||||||
|
@ -129,7 +118,7 @@ CLASS z2ui5_cl_core_action IMPLEMENTATION.
|
||||||
RETURN.
|
RETURN.
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
|
|
||||||
"check for already existing app?
|
" check for already existing app?
|
||||||
IF mo_app->ms_draft-id_prev_app_stack IS NOT INITIAL.
|
IF mo_app->ms_draft-id_prev_app_stack IS NOT INITIAL.
|
||||||
ls_draft = lo_draft->read_info( mo_app->ms_draft-id_prev_app_stack ).
|
ls_draft = lo_draft->read_info( mo_app->ms_draft-id_prev_app_stack ).
|
||||||
result->mo_app->ms_draft-id_prev_app_stack = ls_draft-id_prev_app_stack.
|
result->mo_app->ms_draft-id_prev_app_stack = ls_draft-id_prev_app_stack.
|
||||||
|
@ -155,8 +144,8 @@ CLASS z2ui5_cl_core_action IMPLEMENTATION.
|
||||||
mo_app->db_save( ).
|
mo_app->db_save( ).
|
||||||
|
|
||||||
val->id_draft = COND string( WHEN val->id_draft IS INITIAL
|
val->id_draft = COND string( WHEN val->id_draft IS INITIAL
|
||||||
THEN z2ui5_cl_util=>uuid_get_c32( )
|
THEN z2ui5_cl_util=>uuid_get_c32( )
|
||||||
ELSE ms_next-o_app_leave->id_draft ).
|
ELSE ms_next-o_app_leave->id_draft ).
|
||||||
|
|
||||||
result = NEW #( mo_http_post ).
|
result = NEW #( mo_http_post ).
|
||||||
TRY.
|
TRY.
|
||||||
|
@ -177,9 +166,9 @@ CLASS z2ui5_cl_core_action IMPLEMENTATION.
|
||||||
result->ms_next-s_set-s_popup-check_update_model = abap_false.
|
result->ms_next-s_set-s_popup-check_update_model = abap_false.
|
||||||
result->ms_next-s_set-s_popover-check_update_model = abap_false.
|
result->ms_next-s_set-s_popover-check_update_model = abap_false.
|
||||||
|
|
||||||
|
|
||||||
IF ms_next-s_set-s_follow_up_action IS NOT INITIAL.
|
IF ms_next-s_set-s_follow_up_action IS NOT INITIAL.
|
||||||
* .eB(['POPUP_CONFIRM'])
|
" .eB(['POPUP_CONFIRM'])
|
||||||
|
" TODO: variable is assigned but never used (ABAP cleaner)
|
||||||
SPLIT ms_next-s_set-s_follow_up_action-custom_js AT `.eB(['` INTO DATA(lv_dummy)
|
SPLIT ms_next-s_set-s_follow_up_action-custom_js AT `.eB(['` INTO DATA(lv_dummy)
|
||||||
result->ms_actual-event.
|
result->ms_actual-event.
|
||||||
SPLIT result->ms_actual-event AT `']` INTO result->ms_actual-event lv_dummy.
|
SPLIT result->ms_actual-event AT `']` INTO result->ms_actual-event lv_dummy.
|
||||||
|
@ -190,5 +179,4 @@ CLASS z2ui5_cl_core_action IMPLEMENTATION.
|
||||||
CLEAR result->ms_next-s_set-s_msg_toast.
|
CLEAR result->ms_next-s_set-s_msg_toast.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -1,21 +1,17 @@
|
||||||
CLASS ltcl_test DEFINITION FINAL FOR TESTING
|
CLASS ltcl_test DEFINITION FINAL
|
||||||
DURATION SHORT
|
FOR TESTING RISK LEVEL HARMLESS DURATION SHORT.
|
||||||
RISK LEVEL HARMLESS.
|
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
METHODS
|
METHODS first_test FOR TESTING RAISING cx_static_check.
|
||||||
first_test FOR TESTING RAISING cx_static_check.
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
CLASS z2ui5_cl_core_action DEFINITION LOCAL FRIENDS ltcl_test.
|
CLASS z2ui5_cl_core_action DEFINITION LOCAL FRIENDS ltcl_test.
|
||||||
|
|
||||||
CLASS ltcl_test IMPLEMENTATION.
|
CLASS ltcl_test IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD first_test.
|
METHOD first_test.
|
||||||
|
|
||||||
DATA(lo_http) = NEW z2ui5_cl_core_handler( `` ).
|
DATA(lo_http) = NEW z2ui5_cl_core_handler( `` ).
|
||||||
DATA(lo_action) = NEW z2ui5_cl_core_action( lo_http ) ##NEEDED.
|
DATA(lo_action) = NEW z2ui5_cl_core_action( lo_http ) ##NEEDED.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -1,24 +1,23 @@
|
||||||
CLASS z2ui5_cl_core_app DEFINITION
|
CLASS z2ui5_cl_core_app DEFINITION
|
||||||
PUBLIC
|
PUBLIC FINAL
|
||||||
FINAL
|
CREATE PUBLIC.
|
||||||
CREATE PUBLIC .
|
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
|
||||||
INTERFACES if_serializable_object.
|
INTERFACES if_serializable_object.
|
||||||
|
|
||||||
DATA mt_attri TYPE REF TO z2ui5_if_core_types=>ty_t_attri.
|
DATA mt_attri TYPE REF TO z2ui5_if_core_types=>ty_t_attri.
|
||||||
DATA mo_app TYPE REF TO object.
|
DATA mo_app TYPE REF TO object.
|
||||||
DATA ms_draft TYPE z2ui5_if_types=>ty_s_get-s_draft.
|
DATA ms_draft TYPE z2ui5_if_types=>ty_s_get-s_draft.
|
||||||
|
|
||||||
METHODS model_json_stringify
|
METHODS model_json_stringify
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(result) TYPE string .
|
VALUE(result) TYPE string.
|
||||||
|
|
||||||
METHODS model_json_parse
|
METHODS model_json_parse
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!iv_view TYPE clike
|
iv_view TYPE clike
|
||||||
!io_model TYPE REF TO z2ui5_if_ajson.
|
io_model TYPE REF TO z2ui5_if_ajson.
|
||||||
|
|
||||||
METHODS all_xml_stringify
|
METHODS all_xml_stringify
|
||||||
RETURNING
|
RETURNING
|
||||||
|
@ -46,32 +45,25 @@ CLASS z2ui5_cl_core_app DEFINITION
|
||||||
METHODS db_save.
|
METHODS db_save.
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS z2ui5_cl_core_app IMPLEMENTATION.
|
CLASS z2ui5_cl_core_app IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD all_xml_parse.
|
METHOD all_xml_parse.
|
||||||
|
|
||||||
z2ui5_cl_util=>xml_parse(
|
z2ui5_cl_util=>xml_parse( EXPORTING xml = xml
|
||||||
EXPORTING
|
IMPORTING any = result ).
|
||||||
xml = xml
|
|
||||||
IMPORTING
|
|
||||||
any = result ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD all_xml_stringify.
|
METHOD all_xml_stringify.
|
||||||
|
|
||||||
TRY.
|
TRY.
|
||||||
|
|
||||||
DATA(lo_model) = NEW z2ui5_cl_core_srv_attri(
|
DATA(lo_model) = NEW z2ui5_cl_core_srv_attri( attri = mt_attri
|
||||||
attri = mt_attri
|
app = mo_app ).
|
||||||
app = mo_app ).
|
|
||||||
lo_model->attri_before_save( ).
|
lo_model->attri_before_save( ).
|
||||||
result = z2ui5_cl_util=>xml_stringify( me ).
|
result = z2ui5_cl_util=>xml_stringify( me ).
|
||||||
|
|
||||||
|
@ -82,15 +74,13 @@ CLASS z2ui5_cl_core_app IMPLEMENTATION.
|
||||||
|
|
||||||
CLEAR mt_attri->*.
|
CLEAR mt_attri->*.
|
||||||
|
|
||||||
DATA(lo_dissolver) = NEW z2ui5_cl_core_srv_diss(
|
DATA(lo_dissolver) = NEW z2ui5_cl_core_srv_diss( attri = mt_attri
|
||||||
attri = mt_attri
|
app = mo_app ).
|
||||||
app = mo_app ).
|
|
||||||
|
|
||||||
lo_dissolver->main( ).
|
lo_dissolver->main( ).
|
||||||
lo_dissolver->main( ).
|
lo_dissolver->main( ).
|
||||||
lo_model = NEW z2ui5_cl_core_srv_attri(
|
lo_model = NEW z2ui5_cl_core_srv_attri( attri = mt_attri
|
||||||
attri = mt_attri
|
app = mo_app ).
|
||||||
app = mo_app ).
|
|
||||||
lo_model->attri_before_save( ).
|
lo_model->attri_before_save( ).
|
||||||
|
|
||||||
result = z2ui5_cl_util=>xml_stringify( me ).
|
result = z2ui5_cl_util=>xml_stringify( me ).
|
||||||
|
@ -99,36 +89,32 @@ CLASS z2ui5_cl_core_app IMPLEMENTATION.
|
||||||
|
|
||||||
RAISE EXCEPTION TYPE z2ui5_cx_util_error
|
RAISE EXCEPTION TYPE z2ui5_cx_util_error
|
||||||
EXPORTING
|
EXPORTING
|
||||||
val = `<p>` && cx->get_text( ) && `<p>` && x2->get_text( ) && ` or <p> Please check if all generic data references are public attributes of your class`.
|
val = |<p>{ cx->get_text( ) }<p>{ x2->get_text( ) } or <p> Please check if all generic data references are public attributes of your class|.
|
||||||
|
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD constructor.
|
METHOD constructor.
|
||||||
|
|
||||||
CREATE DATA mt_attri.
|
CREATE DATA mt_attri.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD db_load.
|
METHOD db_load.
|
||||||
|
|
||||||
DATA(lo_db) = NEW z2ui5_cl_core_srv_draft( ).
|
DATA(lo_db) = NEW z2ui5_cl_core_srv_draft( ).
|
||||||
DATA(ls_db) = lo_db->read_draft( id ).
|
DATA(ls_db) = lo_db->read_draft( id ).
|
||||||
result = all_xml_parse( ls_db-data ).
|
result = all_xml_parse( ls_db-data ).
|
||||||
|
|
||||||
DATA(lo_model) = NEW z2ui5_cl_core_srv_attri(
|
DATA(lo_model) = NEW z2ui5_cl_core_srv_attri( attri = result->mt_attri
|
||||||
attri = result->mt_attri
|
app = result->mo_app ).
|
||||||
app = result->mo_app ).
|
|
||||||
|
|
||||||
lo_model->attri_after_load( ).
|
lo_model->attri_after_load( ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD db_load_by_app.
|
METHOD db_load_by_app.
|
||||||
|
|
||||||
DATA(lo_db) = NEW z2ui5_cl_core_srv_draft( ).
|
DATA(lo_db) = NEW z2ui5_cl_core_srv_draft( ).
|
||||||
|
@ -137,15 +123,13 @@ CLASS z2ui5_cl_core_app IMPLEMENTATION.
|
||||||
|
|
||||||
result->mo_app = app.
|
result->mo_app = app.
|
||||||
|
|
||||||
DATA(lo_model) = NEW z2ui5_cl_core_srv_attri(
|
DATA(lo_model) = NEW z2ui5_cl_core_srv_attri( attri = result->mt_attri
|
||||||
attri = result->mt_attri
|
app = result->mo_app ).
|
||||||
app = result->mo_app ).
|
|
||||||
|
|
||||||
lo_model->attri_refs_update( ).
|
lo_model->attri_refs_update( ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD db_save.
|
METHOD db_save.
|
||||||
|
|
||||||
IF mo_app IS BOUND.
|
IF mo_app IS BOUND.
|
||||||
|
@ -154,24 +138,20 @@ CLASS z2ui5_cl_core_app IMPLEMENTATION.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
DATA(lo_db) = NEW z2ui5_cl_core_srv_draft( ).
|
DATA(lo_db) = NEW z2ui5_cl_core_srv_draft( ).
|
||||||
lo_db->create(
|
lo_db->create( draft = ms_draft
|
||||||
draft = ms_draft
|
model_xml = all_xml_stringify( ) ).
|
||||||
model_xml = all_xml_stringify( ) ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD model_json_parse.
|
METHOD model_json_parse.
|
||||||
|
|
||||||
DATA(lo_json_mapper) = NEW z2ui5_cl_core_srv_json( ).
|
DATA(lo_json_mapper) = NEW z2ui5_cl_core_srv_json( ).
|
||||||
lo_json_mapper->model_front_to_back(
|
lo_json_mapper->model_front_to_back( view = iv_view
|
||||||
view = iv_view
|
t_attri = mt_attri
|
||||||
t_attri = mt_attri
|
model = io_model ).
|
||||||
model = io_model ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD model_json_stringify.
|
METHOD model_json_stringify.
|
||||||
|
|
||||||
DATA(lo_json_mapper) = NEW z2ui5_cl_core_srv_json( ).
|
DATA(lo_json_mapper) = NEW z2ui5_cl_core_srv_json( ).
|
||||||
|
|
|
@ -1,43 +1,41 @@
|
||||||
CLASS ltcl_test DEFINITION FINAL FOR TESTING
|
CLASS ltcl_test DEFINITION FINAL
|
||||||
DURATION SHORT
|
FOR TESTING RISK LEVEL HARMLESS DURATION SHORT.
|
||||||
RISK LEVEL HARMLESS.
|
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
METHODS
|
METHODS first_test FOR TESTING RAISING cx_static_check.
|
||||||
first_test FOR TESTING RAISING cx_static_check.
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
CLASS z2ui5_cl_core_app DEFINITION LOCAL FRIENDS ltcl_test.
|
CLASS z2ui5_cl_core_app DEFINITION LOCAL FRIENDS ltcl_test.
|
||||||
|
|
||||||
CLASS ltcl_test IMPLEMENTATION.
|
CLASS ltcl_test IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD first_test.
|
METHOD first_test.
|
||||||
|
|
||||||
DATA(lo_action) = NEW z2ui5_cl_core_app( ) ##NEEDED.
|
DATA(lo_action) = NEW z2ui5_cl_core_app( ) ##NEEDED.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
CLASS ltcl_test_db DEFINITION FINAL FOR TESTING
|
|
||||||
DURATION LONG
|
CLASS ltcl_test_db DEFINITION FINAL
|
||||||
RISK LEVEL HARMLESS.
|
FOR TESTING RISK LEVEL HARMLESS DURATION LONG.
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
|
||||||
DATA mv_value TYPE string.
|
DATA mv_value TYPE string.
|
||||||
|
|
||||||
INTERFACES z2ui5_if_app.
|
INTERFACES z2ui5_if_app.
|
||||||
|
|
||||||
METHODS constructor.
|
METHODS constructor.
|
||||||
|
|
||||||
METHODS test_db_save FOR TESTING.
|
METHODS test_db_save FOR TESTING.
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
CLASS ltcl_test_db IMPLEMENTATION.
|
CLASS ltcl_test_db IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD constructor.
|
METHOD constructor.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
@ -60,14 +58,12 @@ CLASS ltcl_test_db IMPLEMENTATION.
|
||||||
DATA(lo_app_db) = z2ui5_cl_core_app=>db_load( `TEST_ID` ).
|
DATA(lo_app_db) = z2ui5_cl_core_app=>db_load( `TEST_ID` ).
|
||||||
DATA(lo_app_user_db) = CAST ltcl_test_db( lo_app_db->mo_app ).
|
DATA(lo_app_user_db) = CAST ltcl_test_db( lo_app_db->mo_app ).
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_equals( exp = lo_app_user->mv_value
|
||||||
act = lo_app_user_db->mv_value
|
act = lo_app_user_db->mv_value ).
|
||||||
exp = lo_app_user->mv_value ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD z2ui5_if_app~main.
|
METHOD z2ui5_if_app~main.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
CLASS z2ui5_cl_core_client DEFINITION
|
CLASS z2ui5_cl_core_client DEFINITION
|
||||||
PUBLIC
|
PUBLIC
|
||||||
CREATE PUBLIC .
|
CREATE PUBLIC.
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
|
||||||
INTERFACES z2ui5_if_client .
|
INTERFACES z2ui5_if_client.
|
||||||
|
|
||||||
DATA mo_action TYPE REF TO z2ui5_cl_core_action.
|
DATA mo_action TYPE REF TO z2ui5_cl_core_action.
|
||||||
|
|
||||||
|
@ -13,38 +13,33 @@ CLASS z2ui5_cl_core_client DEFINITION
|
||||||
!action TYPE REF TO z2ui5_cl_core_action.
|
!action TYPE REF TO z2ui5_cl_core_action.
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS z2ui5_cl_core_client IMPLEMENTATION.
|
CLASS z2ui5_cl_core_client IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD constructor.
|
METHOD constructor.
|
||||||
|
|
||||||
mo_action = action.
|
mo_action = action.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD z2ui5_if_client~follow_up_action.
|
METHOD z2ui5_if_client~follow_up_action.
|
||||||
|
|
||||||
mo_action->ms_next-s_set-s_follow_up_action-custom_js = val.
|
mo_action->ms_next-s_set-s_follow_up_action-custom_js = val.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD z2ui5_if_client~get.
|
METHOD z2ui5_if_client~get.
|
||||||
|
|
||||||
result = VALUE #(
|
result = VALUE #( event = mo_action->ms_actual-event
|
||||||
event = mo_action->ms_actual-event
|
check_launchpad_active = mo_action->mo_http_post->ms_request-s_control-check_launchpad
|
||||||
check_launchpad_active = mo_action->mo_http_post->ms_request-s_control-check_launchpad
|
t_event_arg = mo_action->ms_actual-t_event_arg
|
||||||
t_event_arg = mo_action->ms_actual-t_event_arg
|
s_draft = CORRESPONDING #( mo_action->mo_app->ms_draft )
|
||||||
s_draft = CORRESPONDING #( mo_action->mo_app->ms_draft )
|
check_on_navigated = mo_action->ms_actual-check_on_navigated
|
||||||
check_on_navigated = mo_action->ms_actual-check_on_navigated
|
s_config = CORRESPONDING #( mo_action->mo_http_post->ms_request-s_front )
|
||||||
s_config = CORRESPONDING #( mo_action->mo_http_post->ms_request-s_front )
|
r_event_data = mo_action->ms_actual-r_data
|
||||||
r_event_data = mo_action->ms_actual-r_data
|
|
||||||
).
|
).
|
||||||
|
|
||||||
TRY.
|
TRY.
|
||||||
|
@ -53,12 +48,13 @@ CLASS z2ui5_cl_core_client IMPLEMENTATION.
|
||||||
RETURN.
|
RETURN.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
LOOP AT lo_params->mt_json_tree
|
LOOP AT lo_params->mt_json_tree
|
||||||
REFERENCE INTO DATA(lr_comp)
|
REFERENCE INTO DATA(lr_comp)
|
||||||
WHERE name = `1`.
|
WHERE name = `1`.
|
||||||
|
|
||||||
INSERT VALUE #(
|
INSERT VALUE #( n = shift_left( val = shift_right( val = lr_comp->path
|
||||||
n = shift_left( val = shift_right( val = lr_comp->path sub = `/` ) sub = `/` )
|
sub = `/` )
|
||||||
v = lr_comp->value ) INTO TABLE result-t_comp_params.
|
sub = `/` )
|
||||||
|
v = lr_comp->value ) INTO TABLE result-t_comp_params.
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
CATCH cx_root.
|
CATCH cx_root.
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
|
@ -85,7 +81,6 @@ CLASS z2ui5_cl_core_client IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD z2ui5_if_client~message_box_display.
|
METHOD z2ui5_if_client~message_box_display.
|
||||||
|
|
||||||
IF z2ui5_cl_util=>rtti_check_clike( text ) = abap_false.
|
IF z2ui5_cl_util=>rtti_check_clike( text ) = abap_false.
|
||||||
|
@ -95,22 +90,25 @@ CLASS z2ui5_cl_core_client IMPLEMENTATION.
|
||||||
|
|
||||||
DATA(lv_type) = z2ui5_cl_util=>ui5_get_msg_type( lt_msg[ 1 ]-type ).
|
DATA(lv_type) = z2ui5_cl_util=>ui5_get_msg_type( lt_msg[ 1 ]-type ).
|
||||||
lv_type = to_lower( lv_type ).
|
lv_type = to_lower( lv_type ).
|
||||||
DATA(lv_title) = SWITCH #( lt_msg[ 1 ]-type WHEN 'E' THEN `Error`
|
DATA(lv_title) = SWITCH #( lt_msg[ 1 ]-type
|
||||||
WHEN 'S' THEN `Success` WHEN `W` THEN `Warning`
|
WHEN 'E' THEN `Error`
|
||||||
ELSE `Information` ).
|
WHEN 'S' THEN `Success`
|
||||||
|
WHEN `W` THEN `Warning`
|
||||||
|
ELSE `Information` ).
|
||||||
|
|
||||||
ELSEIF lines( lt_msg ) > 1.
|
ELSEIF lines( lt_msg ) > 1.
|
||||||
lv_text = | { lines( lt_msg ) } Messages found: |.
|
lv_text = | { lines( lt_msg ) } Messages found: |.
|
||||||
DATA(lv_details) = `<ul>`.
|
DATA(lv_details) = `<ul>`.
|
||||||
LOOP AT lt_msg REFERENCE INTO DATA(lr_msg).
|
LOOP AT lt_msg REFERENCE INTO DATA(lr_msg).
|
||||||
lv_details = lv_details && |<li>| && lr_msg->text && |</li>|.
|
lv_details = |{ lv_details }<li>{ lr_msg->text }</li>|.
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
lv_details = lv_details && |</ul>|.
|
lv_details = |{ lv_details }</ul>|.
|
||||||
IF title IS INITIAL.
|
IF title IS INITIAL.
|
||||||
lv_title = SWITCH #( lt_msg[ 1 ]-type WHEN 'E' THEN `Error`
|
lv_title = SWITCH #( lt_msg[ 1 ]-type
|
||||||
WHEN 'S' THEN `Success` WHEN `W` THEN `Warning`
|
WHEN 'E' THEN `Error`
|
||||||
ELSE `Information` ).
|
WHEN 'S' THEN `Success`
|
||||||
|
WHEN `W` THEN `Warning`
|
||||||
|
ELSE `Information` ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
lv_type = z2ui5_cl_util=>ui5_get_msg_type( lt_msg[ 1 ]-type ).
|
lv_type = z2ui5_cl_util=>ui5_get_msg_type( lt_msg[ 1 ]-type ).
|
||||||
ELSE.
|
ELSE.
|
||||||
|
@ -134,28 +132,25 @@ CLASS z2ui5_cl_core_client IMPLEMENTATION.
|
||||||
lv_type = 'show'.
|
lv_type = 'show'.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
mo_action->ms_next-s_set-s_msg_box = VALUE #(
|
mo_action->ms_next-s_set-s_msg_box = VALUE #( text = lv_text
|
||||||
text = lv_text
|
type = lv_type
|
||||||
type = lv_type
|
title = lv_title
|
||||||
title = lv_title
|
styleclass = styleclass
|
||||||
styleclass = styleclass
|
onclose = onclose
|
||||||
onclose = onclose
|
actions = actions
|
||||||
actions = actions
|
emphasizedaction = emphasizedaction
|
||||||
emphasizedaction = emphasizedaction
|
initialfocus = initialfocus
|
||||||
initialfocus = initialfocus
|
textdirection = textdirection
|
||||||
textdirection = textdirection
|
icon = icon
|
||||||
icon = icon
|
details = lv_details
|
||||||
details = lv_details
|
closeonnavigation = closeonnavigation
|
||||||
closeonnavigation = closeonnavigation
|
|
||||||
).
|
).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD z2ui5_if_client~message_toast_display.
|
METHOD z2ui5_if_client~message_toast_display.
|
||||||
|
|
||||||
mo_action->ms_next-s_set-s_msg_toast = VALUE #(
|
mo_action->ms_next-s_set-s_msg_toast = VALUE #( text = text
|
||||||
text = text
|
|
||||||
duration = duration
|
duration = duration
|
||||||
width = width
|
width = width
|
||||||
my = my
|
my = my
|
||||||
|
@ -173,7 +168,6 @@ CLASS z2ui5_cl_core_client IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD z2ui5_if_client~nav_app_call.
|
METHOD z2ui5_if_client~nav_app_call.
|
||||||
|
|
||||||
IF app IS NOT BOUND.
|
IF app IS NOT BOUND.
|
||||||
|
@ -188,7 +182,6 @@ CLASS z2ui5_cl_core_client IMPLEMENTATION.
|
||||||
result = app->id_app.
|
result = app->id_app.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD z2ui5_if_client~nav_app_leave.
|
METHOD z2ui5_if_client~nav_app_leave.
|
||||||
|
|
||||||
IF app IS NOT SUPPLIED.
|
IF app IS NOT SUPPLIED.
|
||||||
|
@ -208,175 +201,149 @@ CLASS z2ui5_cl_core_client IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD z2ui5_if_client~nest2_view_destroy.
|
METHOD z2ui5_if_client~nest2_view_destroy.
|
||||||
|
|
||||||
mo_action->ms_next-s_set-s_view_nest2-check_update_model = abap_true.
|
mo_action->ms_next-s_set-s_view_nest2-check_update_model = abap_true.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD z2ui5_if_client~nest2_view_display.
|
METHOD z2ui5_if_client~nest2_view_display.
|
||||||
|
|
||||||
mo_action->ms_next-s_set-s_view_nest2-xml = val.
|
mo_action->ms_next-s_set-s_view_nest2-xml = val.
|
||||||
mo_action->ms_next-s_set-s_view_nest2-id = id.
|
mo_action->ms_next-s_set-s_view_nest2-id = id.
|
||||||
mo_action->ms_next-s_set-s_view_nest2-method_destroy = method_destroy.
|
mo_action->ms_next-s_set-s_view_nest2-method_destroy = method_destroy.
|
||||||
mo_action->ms_next-s_set-s_view_nest2-method_insert = method_insert.
|
mo_action->ms_next-s_set-s_view_nest2-method_insert = method_insert.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD z2ui5_if_client~nest2_view_model_update.
|
METHOD z2ui5_if_client~nest2_view_model_update.
|
||||||
|
|
||||||
mo_action->ms_next-s_set-s_view_nest2-check_update_model = abap_true.
|
mo_action->ms_next-s_set-s_view_nest2-check_update_model = abap_true.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD z2ui5_if_client~nest_view_destroy.
|
METHOD z2ui5_if_client~nest_view_destroy.
|
||||||
|
|
||||||
mo_action->ms_next-s_set-s_view_nest-check_update_model = abap_true.
|
mo_action->ms_next-s_set-s_view_nest-check_update_model = abap_true.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD z2ui5_if_client~nest_view_display.
|
METHOD z2ui5_if_client~nest_view_display.
|
||||||
|
|
||||||
mo_action->ms_next-s_set-s_view_nest-xml = val.
|
mo_action->ms_next-s_set-s_view_nest-xml = val.
|
||||||
mo_action->ms_next-s_set-s_view_nest-id = id.
|
mo_action->ms_next-s_set-s_view_nest-id = id.
|
||||||
mo_action->ms_next-s_set-s_view_nest-method_destroy = method_destroy.
|
mo_action->ms_next-s_set-s_view_nest-method_destroy = method_destroy.
|
||||||
mo_action->ms_next-s_set-s_view_nest-method_insert = method_insert.
|
mo_action->ms_next-s_set-s_view_nest-method_insert = method_insert.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD z2ui5_if_client~nest_view_model_update.
|
METHOD z2ui5_if_client~nest_view_model_update.
|
||||||
|
|
||||||
mo_action->ms_next-s_set-s_view_nest-check_update_model = abap_true.
|
mo_action->ms_next-s_set-s_view_nest-check_update_model = abap_true.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD z2ui5_if_client~popover_destroy.
|
METHOD z2ui5_if_client~popover_destroy.
|
||||||
|
|
||||||
mo_action->ms_next-s_set-s_popover-check_destroy = abap_true.
|
mo_action->ms_next-s_set-s_popover-check_destroy = abap_true.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD z2ui5_if_client~popover_display.
|
METHOD z2ui5_if_client~popover_display.
|
||||||
|
|
||||||
mo_action->ms_next-s_set-s_popover-check_destroy = abap_false.
|
mo_action->ms_next-s_set-s_popover-check_destroy = abap_false.
|
||||||
mo_action->ms_next-s_set-s_popover-xml = xml.
|
mo_action->ms_next-s_set-s_popover-xml = xml.
|
||||||
mo_action->ms_next-s_set-s_popover-open_by_id = by_id.
|
mo_action->ms_next-s_set-s_popover-open_by_id = by_id.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD z2ui5_if_client~popover_model_update.
|
METHOD z2ui5_if_client~popover_model_update.
|
||||||
|
|
||||||
mo_action->ms_next-s_set-s_popover-check_update_model = abap_true.
|
mo_action->ms_next-s_set-s_popover-check_update_model = abap_true.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD z2ui5_if_client~popup_destroy.
|
METHOD z2ui5_if_client~popup_destroy.
|
||||||
|
|
||||||
mo_action->ms_next-s_set-s_popup = VALUE #( check_destroy = abap_true ).
|
mo_action->ms_next-s_set-s_popup = VALUE #( check_destroy = abap_true ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD z2ui5_if_client~popup_display.
|
METHOD z2ui5_if_client~popup_display.
|
||||||
|
|
||||||
mo_action->ms_next-s_set-s_popup-check_destroy = abap_false.
|
mo_action->ms_next-s_set-s_popup-check_destroy = abap_false.
|
||||||
mo_action->ms_next-s_set-s_popup-xml = val.
|
mo_action->ms_next-s_set-s_popup-xml = val.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD z2ui5_if_client~popup_model_update.
|
METHOD z2ui5_if_client~popup_model_update.
|
||||||
|
|
||||||
mo_action->ms_next-s_set-s_popup-check_update_model = abap_true.
|
mo_action->ms_next-s_set-s_popup-check_update_model = abap_true.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD z2ui5_if_client~view_destroy.
|
METHOD z2ui5_if_client~view_destroy.
|
||||||
|
|
||||||
mo_action->ms_next-s_set-s_view-check_destroy = abap_true.
|
mo_action->ms_next-s_set-s_view-check_destroy = abap_true.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD z2ui5_if_client~view_display.
|
METHOD z2ui5_if_client~view_display.
|
||||||
|
|
||||||
mo_action->ms_next-s_set-s_view-xml = val.
|
mo_action->ms_next-s_set-s_view-xml = val.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD z2ui5_if_client~view_model_update.
|
METHOD z2ui5_if_client~view_model_update.
|
||||||
|
|
||||||
mo_action->ms_next-s_set-s_view-check_update_model = abap_true.
|
mo_action->ms_next-s_set-s_view-check_update_model = abap_true.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD z2ui5_if_client~_bind.
|
METHOD z2ui5_if_client~_bind.
|
||||||
|
|
||||||
DATA(lo_bind) = NEW z2ui5_cl_core_srv_bind( mo_action->mo_app ).
|
DATA(lo_bind) = NEW z2ui5_cl_core_srv_bind( mo_action->mo_app ).
|
||||||
result = lo_bind->main(
|
result = lo_bind->main( val = z2ui5_cl_util=>conv_get_as_data_ref( val )
|
||||||
val = z2ui5_cl_util=>conv_get_as_data_ref( val )
|
type = z2ui5_if_core_types=>cs_bind_type-one_way
|
||||||
type = z2ui5_if_core_types=>cs_bind_type-one_way
|
config = VALUE #( path_only = path
|
||||||
config = VALUE #(
|
custom_filter = custom_filter
|
||||||
path_only = path
|
custom_mapper = custom_mapper
|
||||||
custom_filter = custom_filter
|
tab = z2ui5_cl_util=>conv_get_as_data_ref( tab )
|
||||||
custom_mapper = custom_mapper
|
tab_index = tab_index ) ).
|
||||||
tab = z2ui5_cl_util=>conv_get_as_data_ref( tab )
|
|
||||||
tab_index = tab_index ) ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD z2ui5_if_client~_bind_edit.
|
METHOD z2ui5_if_client~_bind_edit.
|
||||||
|
|
||||||
DATA(lo_bind) = NEW z2ui5_cl_core_srv_bind( mo_action->mo_app ).
|
DATA(lo_bind) = NEW z2ui5_cl_core_srv_bind( mo_action->mo_app ).
|
||||||
result = lo_bind->main(
|
result = lo_bind->main( val = z2ui5_cl_util=>conv_get_as_data_ref( val )
|
||||||
val = z2ui5_cl_util=>conv_get_as_data_ref( val )
|
type = z2ui5_if_core_types=>cs_bind_type-two_way
|
||||||
type = z2ui5_if_core_types=>cs_bind_type-two_way
|
config = VALUE #( path_only = path
|
||||||
config = VALUE #(
|
custom_filter = custom_filter
|
||||||
path_only = path
|
custom_filter_back = custom_filter_back
|
||||||
custom_filter = custom_filter
|
custom_mapper = custom_mapper
|
||||||
custom_filter_back = custom_filter_back
|
custom_mapper_back = custom_mapper_back
|
||||||
custom_mapper = custom_mapper
|
tab = z2ui5_cl_util=>conv_get_as_data_ref( tab )
|
||||||
custom_mapper_back = custom_mapper_back
|
tab_index = tab_index ) ).
|
||||||
tab = z2ui5_cl_util=>conv_get_as_data_ref( tab )
|
|
||||||
tab_index = tab_index ) ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD z2ui5_if_client~_bind_local.
|
METHOD z2ui5_if_client~_bind_local.
|
||||||
|
|
||||||
DATA(lo_bind) = NEW z2ui5_cl_core_srv_bind( mo_action->mo_app ).
|
DATA(lo_bind) = NEW z2ui5_cl_core_srv_bind( mo_action->mo_app ).
|
||||||
result = lo_bind->main_local(
|
result = lo_bind->main_local( val = val
|
||||||
val = val
|
config = VALUE #( path_only = path
|
||||||
config = VALUE #(
|
custom_mapper = custom_mapper
|
||||||
path_only = path
|
custom_filter = custom_filter ) ).
|
||||||
custom_mapper = custom_mapper
|
|
||||||
custom_filter = custom_filter ) ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD z2ui5_if_client~_event.
|
METHOD z2ui5_if_client~_event.
|
||||||
|
|
||||||
DATA(lo_ui5) = NEW z2ui5_cl_core_srv_event( ).
|
DATA(lo_ui5) = NEW z2ui5_cl_core_srv_event( ).
|
||||||
result = lo_ui5->get_event(
|
result = lo_ui5->get_event( val = val
|
||||||
val = val
|
t_arg = t_arg
|
||||||
t_arg = t_arg
|
s_cnt = s_ctrl ).
|
||||||
s_cnt = s_ctrl ).
|
|
||||||
|
|
||||||
IF r_data IS NOT INITIAL.
|
IF r_data IS NOT INITIAL.
|
||||||
CREATE DATA mo_action->ms_next-r_data LIKE r_data.
|
CREATE DATA mo_action->ms_next-r_data LIKE r_data.
|
||||||
|
@ -385,24 +352,20 @@ CLASS z2ui5_cl_core_client IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD z2ui5_if_client~_event_client.
|
METHOD z2ui5_if_client~_event_client.
|
||||||
|
|
||||||
DATA(lo_ui5) = NEW z2ui5_cl_core_srv_event( ).
|
DATA(lo_ui5) = NEW z2ui5_cl_core_srv_event( ).
|
||||||
result = lo_ui5->get_event_client(
|
result = lo_ui5->get_event_client( val = val
|
||||||
val = val
|
t_arg = t_arg ).
|
||||||
t_arg = t_arg ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD z2ui5_if_client~set_session_stateful.
|
METHOD z2ui5_if_client~set_session_stateful.
|
||||||
|
|
||||||
DATA(lv_check_sticky) = CAST z2ui5_if_app( mo_action->mo_app->mo_app )->check_sticky.
|
DATA(lv_check_sticky) = CAST z2ui5_if_app( mo_action->mo_app->mo_app )->check_sticky.
|
||||||
IF lv_check_sticky = abap_true AND stateful = abap_true.
|
IF lv_check_sticky = abap_true AND stateful = abap_true.
|
||||||
RAISE EXCEPTION TYPE z2ui5_cx_util_error
|
RAISE EXCEPTION TYPE z2ui5_cx_util_error
|
||||||
EXPORTING
|
EXPORTING val = `STATEFUL_ALREADY_ACTIVATED_ERROR`.
|
||||||
val = `STATEFUL_ALREADY_ACTIVATED_ERROR`.
|
|
||||||
ENDIF.
|
ENDIF.
|
||||||
IF stateful = abap_true.
|
IF stateful = abap_true.
|
||||||
mo_action->ms_next-s_set-s_stateful-active = 1.
|
mo_action->ms_next-s_set-s_stateful-active = 1.
|
||||||
|
@ -441,5 +404,4 @@ CLASS z2ui5_cl_core_client IMPLEMENTATION.
|
||||||
result = z2ui5_if_client~get_app( ls_get-s_draft-id_prev_app ).
|
result = z2ui5_if_client~get_app( ls_get-s_draft-id_prev_app ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
CLASS ltcl_test_client DEFINITION FINAL FOR TESTING
|
CLASS ltcl_test_client DEFINITION FINAL
|
||||||
DURATION LONG
|
FOR TESTING RISK LEVEL HARMLESS DURATION LONG.
|
||||||
RISK LEVEL HARMLESS.
|
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
METHODS first_test FOR TESTING RAISING cx_static_check.
|
METHODS first_test FOR TESTING RAISING cx_static_check.
|
||||||
|
@ -9,7 +8,6 @@ ENDCLASS.
|
||||||
CLASS z2ui5_cl_core_client DEFINITION LOCAL FRIENDS ltcl_test_client.
|
CLASS z2ui5_cl_core_client DEFINITION LOCAL FRIENDS ltcl_test_client.
|
||||||
|
|
||||||
CLASS ltcl_test_client IMPLEMENTATION.
|
CLASS ltcl_test_client IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD first_test.
|
METHOD first_test.
|
||||||
|
|
||||||
DATA(lo_http) = NEW z2ui5_cl_core_handler( `` ).
|
DATA(lo_http) = NEW z2ui5_cl_core_handler( `` ).
|
||||||
|
@ -17,5 +15,4 @@ CLASS ltcl_test_client IMPLEMENTATION.
|
||||||
DATA(lo_client) = NEW z2ui5_cl_core_client( lo_action ) ##NEEDED.
|
DATA(lo_client) = NEW z2ui5_cl_core_client( lo_action ) ##NEEDED.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
CLASS z2ui5_cl_core_handler DEFINITION
|
CLASS z2ui5_cl_core_handler DEFINITION
|
||||||
PUBLIC
|
PUBLIC FINAL
|
||||||
FINAL
|
CREATE PUBLIC.
|
||||||
CREATE PUBLIC .
|
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
|
||||||
|
@ -33,10 +32,7 @@ CLASS z2ui5_cl_core_handler DEFINITION
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS z2ui5_cl_core_handler IMPLEMENTATION.
|
CLASS z2ui5_cl_core_handler IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD constructor.
|
METHOD constructor.
|
||||||
|
|
||||||
mv_request_json = val.
|
mv_request_json = val.
|
||||||
|
@ -44,7 +40,6 @@ CLASS z2ui5_cl_core_handler IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD main.
|
METHOD main.
|
||||||
|
|
||||||
main_begin( ).
|
main_begin( ).
|
||||||
|
@ -54,14 +49,12 @@ CLASS z2ui5_cl_core_handler IMPLEMENTATION.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
ENDDO.
|
ENDDO.
|
||||||
|
|
||||||
result = VALUE #(
|
result = VALUE #( body = mv_response
|
||||||
body = mv_response
|
s_stateful = ms_response-s_front-params-s_stateful
|
||||||
s_stateful = ms_response-s_front-params-s_stateful
|
|
||||||
).
|
).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD main_begin.
|
METHOD main_begin.
|
||||||
TRY.
|
TRY.
|
||||||
|
|
||||||
|
@ -84,29 +77,26 @@ CLASS z2ui5_cl_core_handler IMPLEMENTATION.
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD main_end.
|
METHOD main_end.
|
||||||
|
|
||||||
ms_response = VALUE #(
|
ms_response = VALUE #( s_front-params = mo_action->ms_next-s_set
|
||||||
s_front-params = mo_action->ms_next-s_set
|
s_front-id = mo_action->mo_app->ms_draft-id
|
||||||
s_front-id = mo_action->mo_app->ms_draft-id
|
s_front-app = z2ui5_cl_util=>rtti_get_classname_by_ref( mo_action->mo_app->mo_app )
|
||||||
s_front-app = z2ui5_cl_util=>rtti_get_classname_by_ref( mo_action->mo_app->mo_app )
|
|
||||||
).
|
).
|
||||||
|
|
||||||
IF ms_response-s_front-params-s_view-check_update_model = abap_true
|
IF ms_response-s_front-params-s_view-check_update_model = abap_true
|
||||||
OR ms_response-s_front-params-s_view_nest-check_update_model = abap_true
|
OR ms_response-s_front-params-s_view_nest-check_update_model = abap_true
|
||||||
OR ms_response-s_front-params-s_view_nest2-check_update_model = abap_true
|
OR ms_response-s_front-params-s_view_nest2-check_update_model = abap_true
|
||||||
OR ms_response-s_front-params-s_popup-check_update_model = abap_true
|
OR ms_response-s_front-params-s_popup-check_update_model = abap_true
|
||||||
OR ms_response-s_front-params-s_popover-check_update_model = abap_true
|
OR ms_response-s_front-params-s_popover-check_update_model = abap_true
|
||||||
OR ms_response-s_front-params-s_view-xml IS NOT INITIAL
|
OR ms_response-s_front-params-s_view-xml IS NOT INITIAL
|
||||||
OR ms_response-s_front-params-s_view_nest-xml IS NOT INITIAL
|
OR ms_response-s_front-params-s_view_nest-xml IS NOT INITIAL
|
||||||
OR ms_response-s_front-params-s_view_nest2-xml IS NOT INITIAL
|
OR ms_response-s_front-params-s_view_nest2-xml IS NOT INITIAL
|
||||||
OR ms_response-s_front-params-s_popup-xml IS NOT INITIAL
|
OR ms_response-s_front-params-s_popup-xml IS NOT INITIAL
|
||||||
OR ms_response-s_front-params-s_popover-xml IS NOT INITIAL.
|
OR ms_response-s_front-params-s_popover-xml IS NOT INITIAL.
|
||||||
|
|
||||||
DATA(lo_model) = NEW z2ui5_cl_core_srv_attri(
|
DATA(lo_model) = NEW z2ui5_cl_core_srv_attri( attri = mo_action->mo_app->mt_attri
|
||||||
attri = mo_action->mo_app->mt_attri
|
app = mo_action->mo_app->mo_app ).
|
||||||
app = mo_action->mo_app->mo_app ).
|
|
||||||
lo_model->attri_refs_update( ).
|
lo_model->attri_refs_update( ).
|
||||||
ms_response-model = mo_action->mo_app->model_json_stringify( ).
|
ms_response-model = mo_action->mo_app->model_json_stringify( ).
|
||||||
|
|
||||||
|
@ -125,7 +115,6 @@ CLASS z2ui5_cl_core_handler IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD main_process.
|
METHOD main_process.
|
||||||
TRY.
|
TRY.
|
||||||
|
|
||||||
|
|
|
@ -1,17 +1,14 @@
|
||||||
|
|
||||||
CLASS ltcl_test_handler_post DEFINITION FINAL FOR TESTING
|
CLASS ltcl_test_handler_post DEFINITION FINAL
|
||||||
DURATION SHORT
|
FOR TESTING RISK LEVEL HARMLESS DURATION SHORT.
|
||||||
RISK LEVEL HARMLESS.
|
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
METHODS
|
METHODS load_startup_app FOR TESTING RAISING cx_static_check.
|
||||||
load_startup_app FOR TESTING RAISING cx_static_check.
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
CLASS z2ui5_cl_core_handler DEFINITION LOCAL FRIENDS ltcl_test_handler_post.
|
CLASS z2ui5_cl_core_handler DEFINITION LOCAL FRIENDS ltcl_test_handler_post.
|
||||||
|
|
||||||
CLASS ltcl_test_handler_post IMPLEMENTATION.
|
CLASS ltcl_test_handler_post IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD load_startup_app.
|
METHOD load_startup_app.
|
||||||
|
|
||||||
IF sy-sysid = 'ABC'.
|
IF sy-sysid = 'ABC'.
|
||||||
|
@ -24,16 +21,13 @@ CLASS ltcl_test_handler_post IMPLEMENTATION.
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_bound( lo_post->mo_action ).
|
cl_abap_unit_assert=>assert_bound( lo_post->mo_action ).
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_equals( exp = `ORIGIN`
|
||||||
act = lo_post->ms_request-s_front-origin
|
act = lo_post->ms_request-s_front-origin ).
|
||||||
exp = `ORIGIN` ).
|
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_equals( exp = `PATHNAME`
|
||||||
act = lo_post->ms_request-s_front-pathname
|
act = lo_post->ms_request-s_front-pathname ).
|
||||||
exp = `PATHNAME` ).
|
|
||||||
|
|
||||||
DATA(lo_startup) = CAST z2ui5_cl_app_startup( lo_post->mo_action->mo_app->mo_app ) ##NEEDED.
|
DATA(lo_startup) = CAST z2ui5_cl_app_startup( lo_post->mo_action->mo_app->mo_app ) ##NEEDED.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -41,12 +41,11 @@ ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
CLASS z2ui5_cl_core_srv_attri IMPLEMENTATION.
|
CLASS z2ui5_cl_core_srv_attri IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD attri_after_load.
|
METHOD attri_after_load.
|
||||||
|
|
||||||
LOOP AT mt_attri->* REFERENCE INTO DATA(lr_attri).
|
LOOP AT mt_attri->* REFERENCE INTO DATA(lr_attri).
|
||||||
TRY.
|
TRY.
|
||||||
lr_attri->r_ref = attri_get_val_ref( lr_attri->name ).
|
lr_attri->r_ref = attri_get_val_ref( lr_attri->name ).
|
||||||
lr_attri->o_typedescr = cl_abap_datadescr=>describe_by_data_ref( lr_attri->r_ref ).
|
lr_attri->o_typedescr = cl_abap_datadescr=>describe_by_data_ref( lr_attri->r_ref ).
|
||||||
|
|
||||||
IF lr_attri->srtti_data IS NOT INITIAL.
|
IF lr_attri->srtti_data IS NOT INITIAL.
|
||||||
|
@ -104,9 +103,8 @@ CLASS z2ui5_cl_core_srv_attri IMPLEMENTATION.
|
||||||
RETURN.
|
RETURN.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
DATA(lo_dissolve) = NEW z2ui5_cl_core_srv_diss(
|
DATA(lo_dissolve) = NEW z2ui5_cl_core_srv_diss( attri = mt_attri
|
||||||
attri = mt_attri
|
app = mo_app ).
|
||||||
app = mo_app ).
|
|
||||||
|
|
||||||
DO 5 TIMES.
|
DO 5 TIMES.
|
||||||
|
|
||||||
|
@ -137,9 +135,9 @@ CLASS z2ui5_cl_core_srv_attri IMPLEMENTATION.
|
||||||
LOOP AT mt_attri->* ASSIGNING FIELD-SYMBOL(<ls_attri>).
|
LOOP AT mt_attri->* ASSIGNING FIELD-SYMBOL(<ls_attri>).
|
||||||
DATA(lv_name) = <ls_attri>-name.
|
DATA(lv_name) = <ls_attri>-name.
|
||||||
IF line_exists( lt_attri[ name = lv_name ] ).
|
IF line_exists( lt_attri[ name = lv_name ] ).
|
||||||
<ls_attri>-bind_type = lt_attri[ name = lv_name ]-bind_type.
|
<ls_attri>-bind_type = lt_attri[ name = lv_name ]-bind_type.
|
||||||
<ls_attri>-name_client = lt_attri[ name = lv_name ]-name_client.
|
<ls_attri>-name_client = lt_attri[ name = lv_name ]-name_client.
|
||||||
<ls_attri>-view = lt_attri[ name = lv_name ]-view.
|
<ls_attri>-view = lt_attri[ name = lv_name ]-view.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
RETURN.
|
RETURN.
|
||||||
|
@ -152,7 +150,6 @@ CLASS z2ui5_cl_core_srv_attri IMPLEMENTATION.
|
||||||
EXIT.
|
EXIT.
|
||||||
ENDDO.
|
ENDDO.
|
||||||
|
|
||||||
|
|
||||||
"""""
|
"""""
|
||||||
|
|
||||||
RAISE EXCEPTION TYPE z2ui5_cx_util_error
|
RAISE EXCEPTION TYPE z2ui5_cx_util_error
|
||||||
|
@ -167,8 +164,7 @@ CLASS z2ui5_cl_core_srv_attri IMPLEMENTATION.
|
||||||
|
|
||||||
IF sy-subrc <> 0.
|
IF sy-subrc <> 0.
|
||||||
RAISE EXCEPTION TYPE z2ui5_cx_util_error
|
RAISE EXCEPTION TYPE z2ui5_cx_util_error
|
||||||
EXPORTING
|
EXPORTING val = `DEREF_FAILED_TARGET_INITIAL`.
|
||||||
val = `DEREF_FAILED_TARGET_INITIAL`.
|
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
GET REFERENCE OF <attri> INTO result.
|
GET REFERENCE OF <attri> INTO result.
|
||||||
|
@ -182,7 +178,7 @@ CLASS z2ui5_cl_core_srv_attri IMPLEMENTATION.
|
||||||
|
|
||||||
LOOP AT mt_attri->* REFERENCE INTO DATA(lr_attri).
|
LOOP AT mt_attri->* REFERENCE INTO DATA(lr_attri).
|
||||||
TRY.
|
TRY.
|
||||||
lr_attri->r_ref = attri_get_val_ref( lr_attri->name ).
|
lr_attri->r_ref = attri_get_val_ref( lr_attri->name ).
|
||||||
lr_attri->o_typedescr = cl_abap_datadescr=>describe_by_data_ref( lr_attri->r_ref ).
|
lr_attri->o_typedescr = cl_abap_datadescr=>describe_by_data_ref( lr_attri->r_ref ).
|
||||||
|
|
||||||
* TRY.
|
* TRY.
|
||||||
|
@ -211,9 +207,9 @@ CLASS z2ui5_cl_core_srv_attri IMPLEMENTATION.
|
||||||
LOOP AT mt_attri->* REFERENCE INTO DATA(lr_attri)
|
LOOP AT mt_attri->* REFERENCE INTO DATA(lr_attri)
|
||||||
WHERE o_typedescr IS BOUND.
|
WHERE o_typedescr IS BOUND.
|
||||||
|
|
||||||
IF lr_attri->o_typedescr->kind <> cl_abap_typedescr=>kind_elem
|
IF lr_attri->o_typedescr->kind <> cl_abap_typedescr=>kind_elem
|
||||||
AND lr_attri->o_typedescr->kind <> cl_abap_typedescr=>kind_struct
|
AND lr_attri->o_typedescr->kind <> cl_abap_typedescr=>kind_struct
|
||||||
AND lr_attri->o_typedescr->kind <> cl_abap_typedescr=>kind_table.
|
AND lr_attri->o_typedescr->kind <> cl_abap_typedescr=>kind_table.
|
||||||
CONTINUE.
|
CONTINUE.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
|
@ -224,7 +220,5 @@ CLASS z2ui5_cl_core_srv_attri IMPLEMENTATION.
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
|
@ -1,58 +1,53 @@
|
||||||
|
|
||||||
CLASS ltcl_test_app2 DEFINITION FINAL FOR TESTING
|
CLASS ltcl_test_app2 DEFINITION FINAL
|
||||||
DURATION MEDIUM
|
FOR TESTING RISK LEVEL HARMLESS DURATION MEDIUM.
|
||||||
RISK LEVEL HARMLESS.
|
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
|
||||||
DATA mv_value TYPE string ##NEEDED.
|
DATA mv_value TYPE string ##NEEDED.
|
||||||
DATA mr_value TYPE REF TO data.
|
DATA mr_value TYPE REF TO data.
|
||||||
DATA mr_value2 TYPE REF TO data.
|
DATA mr_value2 TYPE REF TO data.
|
||||||
DATA mo_app TYPE REF TO ltcl_test_app2.
|
DATA mo_app TYPE REF TO ltcl_test_app2.
|
||||||
|
|
||||||
|
DATA xx TYPE string ##NEEDED.
|
||||||
|
|
||||||
DATA xx TYPE string ##NEEDED.
|
|
||||||
METHODS constructor.
|
METHODS constructor.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
CLASS ltcl_test_app2 IMPLEMENTATION.
|
|
||||||
|
|
||||||
|
CLASS ltcl_test_app2 IMPLEMENTATION.
|
||||||
METHOD constructor.
|
METHOD constructor.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
CLASS ltcl_test_search_attri DEFINITION FINAL
|
||||||
CLASS ltcl_test_search_attri DEFINITION FINAL FOR TESTING
|
FOR TESTING RISK LEVEL HARMLESS DURATION SHORT.
|
||||||
DURATION SHORT
|
|
||||||
RISK LEVEL HARMLESS.
|
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
METHODS first_test FOR TESTING RAISING cx_static_check.
|
METHODS first_test FOR TESTING RAISING cx_static_check.
|
||||||
METHODS second_test FOR TESTING RAISING cx_static_check.
|
METHODS second_test FOR TESTING RAISING cx_static_check.
|
||||||
METHODS third_test FOR TESTING RAISING cx_static_check.
|
METHODS third_test FOR TESTING RAISING cx_static_check.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
CLASS z2ui5_cl_core_srv_attri DEFINITION LOCAL FRIENDS ltcl_test_search_attri.
|
CLASS z2ui5_cl_core_srv_attri DEFINITION LOCAL FRIENDS ltcl_test_search_attri.
|
||||||
|
|
||||||
CLASS ltcl_test_search_attri IMPLEMENTATION.
|
CLASS ltcl_test_search_attri IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD first_test.
|
METHOD first_test.
|
||||||
|
|
||||||
DATA(lo_app_client) = NEW ltcl_test_app2( ).
|
DATA(lo_app_client) = NEW ltcl_test_app2( ).
|
||||||
DATA lr_value TYPE REF TO data.
|
DATA lr_value TYPE REF TO data.
|
||||||
GET REFERENCE OF lo_app_client->mv_value INTO lr_value.
|
GET REFERENCE OF lo_app_client->mv_value INTO lr_value.
|
||||||
|
|
||||||
DATA(lt_attri) = VALUE z2ui5_if_core_types=>ty_t_attri( (
|
DATA(lt_attri) = VALUE z2ui5_if_core_types=>ty_t_attri( ( r_ref = lr_value
|
||||||
r_ref = lr_value
|
o_typedescr = cl_abap_datadescr=>describe_by_data_ref(
|
||||||
o_typedescr = cl_abap_datadescr=>describe_by_data_ref( lr_value )
|
lr_value )
|
||||||
) ).
|
) ).
|
||||||
|
|
||||||
DATA(lo_model) = NEW z2ui5_cl_core_srv_attri(
|
DATA(lo_model) = NEW z2ui5_cl_core_srv_attri( attri = REF #( lt_attri )
|
||||||
attri = REF #( lt_attri )
|
app = lo_app_client ).
|
||||||
app = lo_app_client ).
|
|
||||||
|
|
||||||
DATA(lr_attri) = lo_model->attri_search_a_dissolve( REF #( lo_app_client->mv_value ) ).
|
DATA(lr_attri) = lo_model->attri_search_a_dissolve( REF #( lo_app_client->mv_value ) ).
|
||||||
|
|
||||||
|
@ -68,14 +63,13 @@ CLASS ltcl_test_search_attri IMPLEMENTATION.
|
||||||
DATA lr_value TYPE REF TO data.
|
DATA lr_value TYPE REF TO data.
|
||||||
GET REFERENCE OF lo_app_client->mv_value INTO lr_value.
|
GET REFERENCE OF lo_app_client->mv_value INTO lr_value.
|
||||||
|
|
||||||
DATA(lt_attri) = VALUE z2ui5_if_core_types=>ty_t_attri( (
|
DATA(lt_attri) = VALUE z2ui5_if_core_types=>ty_t_attri( ( r_ref = REF #( lo_app_client->mv_value )
|
||||||
r_ref = REF #( lo_app_client->mv_value )
|
o_typedescr = cl_abap_datadescr=>describe_by_data_ref(
|
||||||
o_typedescr = cl_abap_datadescr=>describe_by_data_ref( lr_value )
|
lr_value )
|
||||||
) ).
|
) ).
|
||||||
|
|
||||||
DATA(lo_model) = NEW z2ui5_cl_core_srv_attri(
|
DATA(lo_model) = NEW z2ui5_cl_core_srv_attri( attri = REF #( lt_attri )
|
||||||
attri = REF #( lt_attri )
|
app = lo_app_client ).
|
||||||
app = lo_app_client ).
|
|
||||||
|
|
||||||
DATA(lr_attri) = lo_model->attri_search_a_dissolve( REF #( lo_app_client->mv_value ) ).
|
DATA(lr_attri) = lo_model->attri_search_a_dissolve( REF #( lo_app_client->mv_value ) ).
|
||||||
|
|
||||||
|
@ -93,11 +87,10 @@ CLASS ltcl_test_search_attri IMPLEMENTATION.
|
||||||
|
|
||||||
lo_app_client->mo_app = NEW #( ).
|
lo_app_client->mo_app = NEW #( ).
|
||||||
|
|
||||||
DATA(lt_attri) = VALUE z2ui5_if_core_types=>ty_t_attri(
|
DATA(lt_attri) = VALUE z2ui5_if_core_types=>ty_t_attri( ( name = `1` r_ref = REF #( lo_app_client->mr_value ) )
|
||||||
( name = `1` r_ref = REF #( lo_app_client->mr_value ) )
|
( name = `4` r_ref = REF #( lo_app_client->mr_value2 ) )
|
||||||
( name = `4` r_ref = REF #( lo_app_client->mr_value2 ) )
|
( name = `2` r_ref = REF #( lo_app_client->mo_app ) )
|
||||||
( name = `2` r_ref = REF #( lo_app_client->mo_app ) )
|
( name = `3` r_ref = REF #( lo_app_client->mv_value ) ) ).
|
||||||
( name = `3` r_ref = REF #( lo_app_client->mv_value ) ) ).
|
|
||||||
|
|
||||||
DATA(lr_attri) = REF #( lt_attri[ r_ref = lr_value ] ).
|
DATA(lr_attri) = REF #( lt_attri[ r_ref = lr_value ] ).
|
||||||
IF lr_attri->r_ref <> lr_value.
|
IF lr_attri->r_ref <> lr_value.
|
||||||
|
@ -105,13 +98,11 @@ CLASS ltcl_test_search_attri IMPLEMENTATION.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
CLASS ltcl_test_app_sub DEFINITION FINAL FOR TESTING
|
CLASS ltcl_test_app_sub DEFINITION FINAL
|
||||||
DURATION MEDIUM
|
FOR TESTING RISK LEVEL HARMLESS DURATION MEDIUM.
|
||||||
RISK LEVEL HARMLESS.
|
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
|
||||||
|
@ -122,61 +113,59 @@ CLASS ltcl_test_app_sub DEFINITION FINAL FOR TESTING
|
||||||
METHODS constructor.
|
METHODS constructor.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
CLASS ltcl_test_app_sub IMPLEMENTATION.
|
|
||||||
|
|
||||||
|
CLASS ltcl_test_app_sub IMPLEMENTATION.
|
||||||
METHOD constructor.
|
METHOD constructor.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
CLASS ltcl_test_app3 DEFINITION FINAL FOR TESTING
|
|
||||||
DURATION MEDIUM
|
CLASS ltcl_test_app3 DEFINITION FINAL
|
||||||
RISK LEVEL HARMLESS.
|
FOR TESTING RISK LEVEL HARMLESS DURATION MEDIUM.
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
|
||||||
DATA mv_value TYPE string ##NEEDED.
|
DATA mv_value TYPE string ##NEEDED.
|
||||||
DATA mr_value TYPE REF TO string.
|
DATA mr_value TYPE REF TO string.
|
||||||
* DATA mr_value2 TYPE REF TO data.
|
* DATA mr_value2 TYPE REF TO data.
|
||||||
DATA mo_app TYPE REF TO ltcl_test_app_sub.
|
DATA mo_app TYPE REF TO ltcl_test_app_sub.
|
||||||
|
|
||||||
METHODS constructor.
|
METHODS constructor.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
CLASS ltcl_test_app3 IMPLEMENTATION.
|
|
||||||
|
|
||||||
|
CLASS ltcl_test_app3 IMPLEMENTATION.
|
||||||
METHOD constructor.
|
METHOD constructor.
|
||||||
mo_app = NEW #( ).
|
mo_app = NEW #( ).
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
CLASS ltcl_test_get_attri DEFINITION FINAL FOR TESTING
|
|
||||||
DURATION SHORT
|
CLASS ltcl_test_get_attri DEFINITION FINAL
|
||||||
RISK LEVEL HARMLESS.
|
FOR TESTING RISK LEVEL HARMLESS DURATION SHORT.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
METHODS first_test FOR TESTING RAISING cx_static_check.
|
METHODS first_test FOR TESTING RAISING cx_static_check.
|
||||||
METHODS second_test FOR TESTING RAISING cx_static_check.
|
METHODS second_test FOR TESTING RAISING cx_static_check.
|
||||||
METHODS third_test FOR TESTING RAISING cx_static_check.
|
METHODS third_test FOR TESTING RAISING cx_static_check.
|
||||||
METHODS test4 FOR TESTING RAISING cx_static_check.
|
METHODS test4 FOR TESTING RAISING cx_static_check.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
CLASS ltcl_test_get_attri IMPLEMENTATION.
|
|
||||||
|
|
||||||
|
CLASS ltcl_test_get_attri IMPLEMENTATION.
|
||||||
METHOD first_test.
|
METHOD first_test.
|
||||||
|
|
||||||
DATA(lo_app_client) = NEW ltcl_test_app3( ).
|
DATA(lo_app_client) = NEW ltcl_test_app3( ).
|
||||||
|
" TODO: variable is assigned but never used (ABAP cleaner)
|
||||||
DATA lr_value TYPE REF TO data.
|
DATA lr_value TYPE REF TO data.
|
||||||
GET REFERENCE OF lo_app_client->mv_value INTO lr_value.
|
GET REFERENCE OF lo_app_client->mv_value INTO lr_value.
|
||||||
|
|
||||||
DATA(lt_attri) = VALUE z2ui5_if_core_types=>ty_t_attri( ).
|
DATA(lt_attri) = VALUE z2ui5_if_core_types=>ty_t_attri( ).
|
||||||
|
|
||||||
DATA(lo_model) = NEW z2ui5_cl_core_srv_attri(
|
DATA(lo_model) = NEW z2ui5_cl_core_srv_attri( attri = REF #( lt_attri )
|
||||||
attri = REF #( lt_attri )
|
app = lo_app_client ).
|
||||||
app = lo_app_client ).
|
|
||||||
|
|
||||||
DATA(lr_attri) = lo_model->attri_get_val_ref( `MV_VALUE` ).
|
DATA(lr_attri) = lo_model->attri_get_val_ref( `MV_VALUE` ).
|
||||||
|
|
||||||
|
@ -192,9 +181,8 @@ CLASS ltcl_test_get_attri IMPLEMENTATION.
|
||||||
CREATE DATA lo_app_client->mr_value.
|
CREATE DATA lo_app_client->mr_value.
|
||||||
|
|
||||||
DATA(lt_attri) = VALUE z2ui5_if_core_types=>ty_t_attri( ).
|
DATA(lt_attri) = VALUE z2ui5_if_core_types=>ty_t_attri( ).
|
||||||
DATA(lo_model) = NEW z2ui5_cl_core_srv_attri(
|
DATA(lo_model) = NEW z2ui5_cl_core_srv_attri( attri = REF #( lt_attri )
|
||||||
attri = REF #( lt_attri )
|
app = lo_app_client ).
|
||||||
app = lo_app_client ).
|
|
||||||
|
|
||||||
DATA(lr_attri) = lo_model->attri_get_val_ref( `MR_VALUE->*` ).
|
DATA(lr_attri) = lo_model->attri_get_val_ref( `MR_VALUE->*` ).
|
||||||
|
|
||||||
|
@ -209,9 +197,8 @@ CLASS ltcl_test_get_attri IMPLEMENTATION.
|
||||||
DATA(lo_app_client) = NEW ltcl_test_app3( ).
|
DATA(lo_app_client) = NEW ltcl_test_app3( ).
|
||||||
|
|
||||||
DATA(lt_attri) = VALUE z2ui5_if_core_types=>ty_t_attri( ).
|
DATA(lt_attri) = VALUE z2ui5_if_core_types=>ty_t_attri( ).
|
||||||
DATA(lo_model) = NEW z2ui5_cl_core_srv_attri(
|
DATA(lo_model) = NEW z2ui5_cl_core_srv_attri( attri = REF #( lt_attri )
|
||||||
attri = REF #( lt_attri )
|
app = lo_app_client ).
|
||||||
app = lo_app_client ).
|
|
||||||
|
|
||||||
DATA(lr_attri) = lo_model->attri_get_val_ref( `MO_APP->MV_VALUE` ).
|
DATA(lr_attri) = lo_model->attri_get_val_ref( `MO_APP->MV_VALUE` ).
|
||||||
|
|
||||||
|
@ -227,9 +214,8 @@ CLASS ltcl_test_get_attri IMPLEMENTATION.
|
||||||
CREATE DATA lo_app_client->mo_app->mr_value.
|
CREATE DATA lo_app_client->mo_app->mr_value.
|
||||||
|
|
||||||
DATA(lt_attri) = VALUE z2ui5_if_core_types=>ty_t_attri( ).
|
DATA(lt_attri) = VALUE z2ui5_if_core_types=>ty_t_attri( ).
|
||||||
DATA(lo_model) = NEW z2ui5_cl_core_srv_attri(
|
DATA(lo_model) = NEW z2ui5_cl_core_srv_attri( attri = REF #( lt_attri )
|
||||||
attri = REF #( lt_attri )
|
app = lo_app_client ).
|
||||||
app = lo_app_client ).
|
|
||||||
|
|
||||||
DATA(lr_attri) = lo_model->attri_get_val_ref( `MO_APP->MR_VALUE->*` ).
|
DATA(lr_attri) = lo_model->attri_get_val_ref( `MO_APP->MR_VALUE->*` ).
|
||||||
|
|
||||||
|
@ -238,6 +224,4 @@ CLASS ltcl_test_get_attri IMPLEMENTATION.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -1,50 +1,49 @@
|
||||||
CLASS z2ui5_cl_core_srv_bind DEFINITION
|
CLASS z2ui5_cl_core_srv_bind DEFINITION
|
||||||
PUBLIC
|
PUBLIC FINAL
|
||||||
FINAL
|
CREATE PUBLIC.
|
||||||
CREATE PUBLIC .
|
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
|
||||||
DATA mo_app TYPE REF TO z2ui5_cl_core_app .
|
DATA mo_app TYPE REF TO z2ui5_cl_core_app.
|
||||||
DATA mr_attri TYPE REF TO z2ui5_if_core_types=>ty_s_attri .
|
DATA mr_attri TYPE REF TO z2ui5_if_core_types=>ty_s_attri.
|
||||||
DATA ms_config TYPE z2ui5_if_core_types=>ty_s_bind_config .
|
DATA ms_config TYPE z2ui5_if_core_types=>ty_s_bind_config.
|
||||||
DATA mv_type TYPE string .
|
DATA mv_type TYPE string.
|
||||||
|
|
||||||
METHODS constructor
|
METHODS constructor
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!app TYPE REF TO z2ui5_cl_core_app .
|
app TYPE REF TO z2ui5_cl_core_app.
|
||||||
|
|
||||||
METHODS main_local
|
METHODS main_local
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!val TYPE data
|
val TYPE data
|
||||||
!config TYPE z2ui5_if_core_types=>ty_s_bind_config OPTIONAL
|
config TYPE z2ui5_if_core_types=>ty_s_bind_config OPTIONAL
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(result) TYPE string .
|
VALUE(result) TYPE string.
|
||||||
|
|
||||||
METHODS main
|
METHODS main
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!val TYPE REF TO data
|
val TYPE REF TO data
|
||||||
!type TYPE string
|
!type TYPE string
|
||||||
!config TYPE z2ui5_if_core_types=>ty_s_bind_config OPTIONAL
|
config TYPE z2ui5_if_core_types=>ty_s_bind_config OPTIONAL
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(result) TYPE string .
|
VALUE(result) TYPE string.
|
||||||
|
|
||||||
METHODS main_cell
|
METHODS main_cell
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!val TYPE data
|
val TYPE data
|
||||||
!type TYPE string
|
!type TYPE string
|
||||||
!config TYPE z2ui5_if_core_types=>ty_s_bind_config OPTIONAL
|
config TYPE z2ui5_if_core_types=>ty_s_bind_config OPTIONAL
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(result) TYPE string .
|
VALUE(result) TYPE string.
|
||||||
|
|
||||||
METHODS clear
|
METHODS clear
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!val TYPE string.
|
val TYPE string.
|
||||||
|
|
||||||
METHODS bind_tab_cell
|
METHODS bind_tab_cell
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!iv_name TYPE string
|
iv_name TYPE string
|
||||||
!i_val TYPE data
|
i_val TYPE data
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(result) TYPE string.
|
VALUE(result) TYPE string.
|
||||||
|
|
||||||
|
@ -62,17 +61,15 @@ CLASS z2ui5_cl_core_srv_bind DEFINITION
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS z2ui5_cl_core_srv_bind IMPLEMENTATION.
|
CLASS z2ui5_cl_core_srv_bind IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD bind_tab_cell.
|
METHOD bind_tab_cell.
|
||||||
|
|
||||||
FIELD-SYMBOLS <ele> TYPE any.
|
FIELD-SYMBOLS <ele> TYPE any.
|
||||||
FIELD-SYMBOLS <row> TYPE any.
|
FIELD-SYMBOLS <row> TYPE any.
|
||||||
DATA lr_ref_in TYPE REF TO data.
|
DATA lr_ref_in TYPE REF TO data.
|
||||||
|
|
||||||
FIELD-SYMBOLS <tab> TYPE STANDARD TABLE.
|
FIELD-SYMBOLS <tab> TYPE STANDARD TABLE.
|
||||||
|
|
||||||
ASSIGN ms_config-tab->* TO <tab>.
|
ASSIGN ms_config-tab->* TO <tab>.
|
||||||
ASSIGN <tab>[ ms_config-tab_index ] TO <row>.
|
ASSIGN <tab>[ ms_config-tab_index ] TO <row>.
|
||||||
|
|
||||||
|
@ -84,7 +81,7 @@ CLASS z2ui5_cl_core_srv_bind IMPLEMENTATION.
|
||||||
lr_ref_in = REF #( <ele> ).
|
lr_ref_in = REF #( <ele> ).
|
||||||
|
|
||||||
IF i_val = lr_ref_in.
|
IF i_val = lr_ref_in.
|
||||||
result = iv_name && '/' && shift_right( CONV string( ms_config-tab_index - 1 ) ) && '/' && <comp>-name.
|
result = |{ iv_name }/{ shift_right( CONV string( ms_config-tab_index - 1 ) ) }/{ <comp>-name }|.
|
||||||
RETURN.
|
RETURN.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
|
@ -96,13 +93,11 @@ CLASS z2ui5_cl_core_srv_bind IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD check_raise_existing.
|
METHOD check_raise_existing.
|
||||||
|
|
||||||
IF mr_attri->bind_type <> mv_type.
|
IF mr_attri->bind_type <> mv_type.
|
||||||
RAISE EXCEPTION TYPE z2ui5_cx_util_error
|
RAISE EXCEPTION TYPE z2ui5_cx_util_error
|
||||||
EXPORTING
|
EXPORTING val = |<p>Binding Error - Two different binding types for same attribute used ({ mr_attri->name }).|.
|
||||||
val = `<p>Binding Error - Two different binding types for same attribute used (` && mr_attri->name && `).`.
|
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
IF mr_attri->custom_mapper IS BOUND.
|
IF mr_attri->custom_mapper IS BOUND.
|
||||||
|
@ -111,26 +106,22 @@ CLASS z2ui5_cl_core_srv_bind IMPLEMENTATION.
|
||||||
DATA(lv_name2) = z2ui5_cl_util=>rtti_get_classname_by_ref( ms_config-custom_mapper ).
|
DATA(lv_name2) = z2ui5_cl_util=>rtti_get_classname_by_ref( ms_config-custom_mapper ).
|
||||||
IF lv_name1 <> lv_name2.
|
IF lv_name1 <> lv_name2.
|
||||||
RAISE EXCEPTION TYPE z2ui5_cx_util_error
|
RAISE EXCEPTION TYPE z2ui5_cx_util_error
|
||||||
EXPORTING
|
EXPORTING val = |<p>Binding Error - Two different mapper for same attribute used ({ mr_attri->name }).|.
|
||||||
val = `<p>Binding Error - Two different mapper for same attribute used (` && mr_attri->name && `).`.
|
|
||||||
ENDIF.
|
ENDIF.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
IF mr_attri->custom_mapper_back IS BOUND AND mr_attri->custom_mapper_back <> ms_config-custom_mapper_back.
|
IF mr_attri->custom_mapper_back IS BOUND AND mr_attri->custom_mapper_back <> ms_config-custom_mapper_back.
|
||||||
RAISE EXCEPTION TYPE z2ui5_cx_util_error
|
RAISE EXCEPTION TYPE z2ui5_cx_util_error
|
||||||
EXPORTING
|
EXPORTING val = |<p>Binding Error - Two different mapper back for same attribute used ({ mr_attri->name }).|.
|
||||||
val = `<p>Binding Error - Two different mapper back for same attribute used (` && mr_attri->name && `).`.
|
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
IF mr_attri->custom_filter IS BOUND AND mr_attri->custom_filter <> ms_config-custom_filter.
|
IF mr_attri->custom_filter IS BOUND AND mr_attri->custom_filter <> ms_config-custom_filter.
|
||||||
RAISE EXCEPTION TYPE z2ui5_cx_util_error
|
RAISE EXCEPTION TYPE z2ui5_cx_util_error
|
||||||
EXPORTING
|
EXPORTING val = |<p>Binding Error - Two different filter for same attribute used ({ mr_attri->name }).|.
|
||||||
val = `<p>Binding Error - Two different filter for same attribute used (` && mr_attri->name && `).`.
|
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD check_raise_new.
|
METHOD check_raise_new.
|
||||||
|
|
||||||
IF mr_attri->custom_filter_back IS BOUND.
|
IF mr_attri->custom_filter_back IS BOUND.
|
||||||
|
@ -138,8 +129,7 @@ CLASS z2ui5_cl_core_srv_bind IMPLEMENTATION.
|
||||||
DATA(lo_dummy) = CAST if_serializable_object( mr_attri->custom_filter_back ) ##NEEDED.
|
DATA(lo_dummy) = CAST if_serializable_object( mr_attri->custom_filter_back ) ##NEEDED.
|
||||||
CATCH cx_root.
|
CATCH cx_root.
|
||||||
RAISE EXCEPTION TYPE z2ui5_cx_util_error
|
RAISE EXCEPTION TYPE z2ui5_cx_util_error
|
||||||
EXPORTING
|
EXPORTING val = `<p>custom_filter_back used but it is not serializable, please use if_serializable_object`.
|
||||||
val = `<p>custom_filter_back used but it is not serializable, please use if_serializable_object`.
|
|
||||||
|
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
@ -157,18 +147,18 @@ CLASS z2ui5_cl_core_srv_bind IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD clear.
|
METHOD clear.
|
||||||
|
|
||||||
TRY.
|
TRY.
|
||||||
DATA(lv_path) = shift_right( val = val sub = `->*` ).
|
DATA(lv_path) = shift_right( val = val
|
||||||
|
sub = `->*` ).
|
||||||
mo_app->mt_attri->*[ name = lv_path ]-check_dissolved = abap_false.
|
mo_app->mt_attri->*[ name = lv_path ]-check_dissolved = abap_false.
|
||||||
mo_app->mt_attri->*[ name = val ]-check_dissolved = abap_false.
|
mo_app->mt_attri->*[ name = val ]-check_dissolved = abap_false.
|
||||||
mo_app->mt_attri->*[ name = lv_path ]-name_client = ``.
|
mo_app->mt_attri->*[ name = lv_path ]-name_client = ``.
|
||||||
mo_app->mt_attri->*[ name = lv_path ]-bind_type = ``.
|
mo_app->mt_attri->*[ name = lv_path ]-bind_type = ``.
|
||||||
|
|
||||||
LOOP AT mo_app->mt_attri->* REFERENCE INTO DATA(lr_bind2)
|
LOOP AT mo_app->mt_attri->* REFERENCE INTO DATA(lr_bind2)
|
||||||
WHERE name = lv_path.
|
WHERE name = lv_path.
|
||||||
CLEAR lr_bind2->r_ref.
|
CLEAR lr_bind2->r_ref.
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
|
||||||
|
@ -177,33 +167,35 @@ CLASS z2ui5_cl_core_srv_bind IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD constructor.
|
METHOD constructor.
|
||||||
|
|
||||||
mo_app = app.
|
mo_app = app.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD get_client_name.
|
METHOD get_client_name.
|
||||||
|
|
||||||
result = replace( val = mr_attri->name sub = `-` with = `/` occ = 0 ).
|
result = replace( val = mr_attri->name
|
||||||
result = replace( val = result sub = `>` with = `` occ = 0 ).
|
sub = `-`
|
||||||
|
with = `/`
|
||||||
|
occ = 0 ).
|
||||||
|
result = replace( val = result
|
||||||
|
sub = `>`
|
||||||
|
with = ``
|
||||||
|
occ = 0 ).
|
||||||
result = COND #( WHEN mv_type = z2ui5_if_core_types=>cs_bind_type-two_way
|
result = COND #( WHEN mv_type = z2ui5_if_core_types=>cs_bind_type-two_way
|
||||||
THEN `/` && z2ui5_if_core_types=>cs_ui5-two_way_model )
|
THEN |/{ z2ui5_if_core_types=>cs_ui5-two_way_model }| )
|
||||||
&& `/` && result.
|
&& |/{ result }|.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD main.
|
METHOD main.
|
||||||
|
|
||||||
IF z2ui5_cl_util=>check_bound_a_not_inital( config-tab ).
|
IF z2ui5_cl_util=>check_bound_a_not_inital( config-tab ).
|
||||||
|
|
||||||
result = main_cell(
|
result = main_cell( val = val
|
||||||
val = val
|
type = type
|
||||||
type = type
|
config = config ).
|
||||||
config = config ).
|
|
||||||
|
|
||||||
RETURN.
|
RETURN.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
@ -211,9 +203,8 @@ CLASS z2ui5_cl_core_srv_bind IMPLEMENTATION.
|
||||||
ms_config = config.
|
ms_config = config.
|
||||||
mv_type = type.
|
mv_type = type.
|
||||||
|
|
||||||
DATA(lo_model) = NEW z2ui5_cl_core_srv_attri(
|
DATA(lo_model) = NEW z2ui5_cl_core_srv_attri( attri = mo_app->mt_attri
|
||||||
attri = mo_app->mt_attri
|
app = mo_app->mo_app ).
|
||||||
app = mo_app->mo_app ).
|
|
||||||
|
|
||||||
lo_model->attri_refs_update( ).
|
lo_model->attri_refs_update( ).
|
||||||
|
|
||||||
|
@ -227,44 +218,43 @@ CLASS z2ui5_cl_core_srv_bind IMPLEMENTATION.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
result = mr_attri->name_client.
|
result = mr_attri->name_client.
|
||||||
|
|
||||||
IF `/` && z2ui5_if_core_types=>cs_ui5-two_way_model = result.
|
IF |/{ z2ui5_if_core_types=>cs_ui5-two_way_model }| = result.
|
||||||
RAISE EXCEPTION TYPE z2ui5_cx_util_error
|
RAISE EXCEPTION TYPE z2ui5_cx_util_error
|
||||||
EXPORTING
|
EXPORTING val = `<p>Name of variable not allowed - x is reserved word - use anoter name for your attribute`.
|
||||||
val = `<p>Name of variable not allowed - x is reserved word - use anoter name for your attribute`.
|
|
||||||
|
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
IF ms_config-path_only = abap_false.
|
IF ms_config-path_only = abap_false.
|
||||||
result = `{` && result && `}`.
|
result = |\{{ result }\}|.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD main_cell.
|
METHOD main_cell.
|
||||||
|
|
||||||
ms_config = config.
|
ms_config = config.
|
||||||
mv_type = type.
|
mv_type = type.
|
||||||
|
|
||||||
DATA(lo_bind) = NEW z2ui5_cl_core_srv_bind( mo_app ).
|
DATA(lo_bind) = NEW z2ui5_cl_core_srv_bind( mo_app ).
|
||||||
result = lo_bind->main( val = config-tab type = type config = VALUE #( path_only = abap_true ) ).
|
result = lo_bind->main( val = config-tab
|
||||||
|
type = type
|
||||||
|
config = VALUE #( path_only = abap_true ) ).
|
||||||
|
|
||||||
result = bind_tab_cell(
|
result = bind_tab_cell( iv_name = result
|
||||||
iv_name = result
|
i_val = val ).
|
||||||
i_val = val ).
|
|
||||||
|
|
||||||
IF ms_config-path_only = abap_false.
|
IF ms_config-path_only = abap_false.
|
||||||
result = `{` && result && `}`.
|
result = |\{{ result }\}|.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD main_local.
|
METHOD main_local.
|
||||||
TRY.
|
TRY.
|
||||||
|
|
||||||
DATA(lo_json) = CAST z2ui5_if_ajson( z2ui5_cl_ajson=>new( ) ).
|
DATA(lo_json) = CAST z2ui5_if_ajson( z2ui5_cl_ajson=>new( ) ).
|
||||||
lo_json->set( iv_path = `/` iv_val = val ).
|
lo_json->set( iv_path = `/`
|
||||||
|
iv_val = val ).
|
||||||
|
|
||||||
IF config-custom_mapper IS BOUND.
|
IF config-custom_mapper IS BOUND.
|
||||||
lo_json = lo_json->map( config-custom_mapper ).
|
lo_json = lo_json->map( config-custom_mapper ).
|
||||||
|
@ -283,12 +273,12 @@ CLASS z2ui5_cl_core_srv_bind IMPLEMENTATION.
|
||||||
name = lv_id
|
name = lv_id
|
||||||
json_bind_local = lo_json
|
json_bind_local = lo_json
|
||||||
bind_type = z2ui5_if_core_types=>cs_bind_type-one_time )
|
bind_type = z2ui5_if_core_types=>cs_bind_type-one_time )
|
||||||
INTO TABLE mo_app->mt_attri->*.
|
INTO TABLE mo_app->mt_attri->*.
|
||||||
|
|
||||||
result = |/{ lv_id }|.
|
result = |/{ lv_id }|.
|
||||||
|
|
||||||
IF config-path_only = abap_false.
|
IF config-path_only = abap_false.
|
||||||
result = `{` && result && `}`.
|
result = |\{{ result }\}|.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
CATCH cx_root INTO DATA(x).
|
CATCH cx_root INTO DATA(x).
|
||||||
|
@ -296,18 +286,18 @@ CLASS z2ui5_cl_core_srv_bind IMPLEMENTATION.
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD update_model_attri.
|
METHOD update_model_attri.
|
||||||
|
|
||||||
mr_attri->bind_type = mv_type.
|
mr_attri->bind_type = mv_type.
|
||||||
mr_attri->view = ms_config-view.
|
mr_attri->view = ms_config-view.
|
||||||
mr_attri->custom_filter = ms_config-custom_filter.
|
mr_attri->custom_filter = ms_config-custom_filter.
|
||||||
mr_attri->custom_filter_back = ms_config-custom_filter_back.
|
mr_attri->custom_filter_back = ms_config-custom_filter_back.
|
||||||
mr_attri->custom_mapper = ms_config-custom_mapper.
|
mr_attri->custom_mapper = ms_config-custom_mapper.
|
||||||
mr_attri->custom_mapper_back = ms_config-custom_mapper_back.
|
mr_attri->custom_mapper_back = ms_config-custom_mapper_back.
|
||||||
mr_attri->view = COND #( WHEN ms_config-view IS INITIAL THEN z2ui5_if_client=>cs_view-main ELSE ms_config-view ).
|
mr_attri->view = COND #( WHEN ms_config-view IS INITIAL
|
||||||
mr_attri->name_client = get_client_name( ).
|
THEN z2ui5_if_client=>cs_view-main
|
||||||
|
ELSE ms_config-view ).
|
||||||
|
mr_attri->name_client = get_client_name( ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -2,9 +2,8 @@
|
||||||
CLASS ltcl_test_bind DEFINITION DEFERRED.
|
CLASS ltcl_test_bind DEFINITION DEFERRED.
|
||||||
CLASS z2ui5_cl_core_srv_bind DEFINITION LOCAL FRIENDS ltcl_test_bind.
|
CLASS z2ui5_cl_core_srv_bind DEFINITION LOCAL FRIENDS ltcl_test_bind.
|
||||||
|
|
||||||
CLASS ltcl_test_app DEFINITION FINAL FOR TESTING
|
CLASS ltcl_test_app DEFINITION FINAL
|
||||||
DURATION MEDIUM
|
FOR TESTING RISK LEVEL HARMLESS DURATION MEDIUM.
|
||||||
RISK LEVEL HARMLESS.
|
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
|
||||||
|
@ -26,38 +25,40 @@ CLASS ltcl_test_app DEFINITION FINAL FOR TESTING
|
||||||
DATA mv_value TYPE string ##NEEDED.
|
DATA mv_value TYPE string ##NEEDED.
|
||||||
DATA mr_value TYPE REF TO data ##NEEDED.
|
DATA mr_value TYPE REF TO data ##NEEDED.
|
||||||
DATA mr_struc TYPE REF TO s_01 ##NEEDED.
|
DATA mr_struc TYPE REF TO s_01 ##NEEDED.
|
||||||
DATA mo_app TYPE REF TO ltcl_test_bind ##NEEDED.
|
DATA mo_app TYPE REF TO ltcl_test_bind ##NEEDED.
|
||||||
|
|
||||||
|
DATA xx TYPE string ##NEEDED.
|
||||||
|
|
||||||
DATA xx TYPE string ##NEEDED.
|
|
||||||
METHODS constructor.
|
METHODS constructor.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
CLASS ltcl_test_app IMPLEMENTATION.
|
|
||||||
|
|
||||||
|
CLASS ltcl_test_app IMPLEMENTATION.
|
||||||
METHOD constructor.
|
METHOD constructor.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
CLASS ltcl_test_bind DEFINITION FINAL FOR TESTING
|
|
||||||
DURATION MEDIUM
|
CLASS ltcl_test_bind DEFINITION FINAL
|
||||||
RISK LEVEL HARMLESS.
|
FOR TESTING RISK LEVEL HARMLESS DURATION MEDIUM.
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
METHODS test_one_way FOR TESTING RAISING cx_static_check.
|
METHODS test_one_way FOR TESTING RAISING cx_static_check.
|
||||||
METHODS test_one_way_w_x_error FOR TESTING RAISING cx_static_check.
|
METHODS test_one_way_w_x_error FOR TESTING RAISING cx_static_check.
|
||||||
METHODS test_error_diff FOR TESTING RAISING cx_static_check.
|
METHODS test_error_diff FOR TESTING RAISING cx_static_check.
|
||||||
METHODS test_two_way FOR TESTING RAISING cx_static_check.
|
METHODS test_two_way FOR TESTING RAISING cx_static_check.
|
||||||
METHODS test_local FOR TESTING RAISING cx_static_check.
|
METHODS test_local FOR TESTING RAISING cx_static_check.
|
||||||
METHODS test_local_one FOR TESTING RAISING cx_static_check.
|
METHODS test_local_one FOR TESTING RAISING cx_static_check.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
CLASS ltcl_test_bind IMPLEMENTATION.
|
|
||||||
|
|
||||||
|
CLASS ltcl_test_bind IMPLEMENTATION.
|
||||||
METHOD test_one_way_w_x_error.
|
METHOD test_one_way_w_x_error.
|
||||||
|
|
||||||
DATA(lo_app_client) = NEW ltcl_test_app( ).
|
DATA(lo_app_client) = NEW ltcl_test_app( ).
|
||||||
|
@ -67,9 +68,8 @@ CLASS ltcl_test_bind IMPLEMENTATION.
|
||||||
DATA(lo_bind) = NEW z2ui5_cl_core_srv_bind( lo_app ).
|
DATA(lo_bind) = NEW z2ui5_cl_core_srv_bind( lo_app ).
|
||||||
|
|
||||||
TRY.
|
TRY.
|
||||||
lo_bind->main(
|
lo_bind->main( val = REF #( lo_app_client->xx )
|
||||||
val = REF #( lo_app_client->xx )
|
type = z2ui5_if_core_types=>cs_bind_type-one_way ).
|
||||||
type = z2ui5_if_core_types=>cs_bind_type-one_way ).
|
|
||||||
|
|
||||||
cl_abap_unit_assert=>abort( ).
|
cl_abap_unit_assert=>abort( ).
|
||||||
|
|
||||||
|
@ -86,13 +86,11 @@ CLASS ltcl_test_bind IMPLEMENTATION.
|
||||||
|
|
||||||
DATA(lo_bind) = NEW z2ui5_cl_core_srv_bind( lo_app ).
|
DATA(lo_bind) = NEW z2ui5_cl_core_srv_bind( lo_app ).
|
||||||
|
|
||||||
DATA(lv_bind) = lo_bind->main(
|
DATA(lv_bind) = lo_bind->main( val = REF #( lo_app_client->mv_value )
|
||||||
val = REF #( lo_app_client->mv_value )
|
type = z2ui5_if_core_types=>cs_bind_type-one_way ).
|
||||||
type = z2ui5_if_core_types=>cs_bind_type-one_way ).
|
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_equals( exp = `{/MV_VALUE}`
|
||||||
act = lv_bind
|
act = lv_bind ).
|
||||||
exp = `{/MV_VALUE}` ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
@ -104,14 +102,12 @@ CLASS ltcl_test_bind IMPLEMENTATION.
|
||||||
|
|
||||||
DATA(lo_bind) = NEW z2ui5_cl_core_srv_bind( lo_app ).
|
DATA(lo_bind) = NEW z2ui5_cl_core_srv_bind( lo_app ).
|
||||||
|
|
||||||
lo_bind->main(
|
lo_bind->main( val = REF #( lo_app_client->mv_value )
|
||||||
val = REF #( lo_app_client->mv_value )
|
type = z2ui5_if_core_types=>cs_bind_type-one_way ).
|
||||||
type = z2ui5_if_core_types=>cs_bind_type-one_way ).
|
|
||||||
|
|
||||||
TRY.
|
TRY.
|
||||||
lo_bind->main(
|
lo_bind->main( val = REF #( lo_app_client->mv_value )
|
||||||
val = REF #( lo_app_client->mv_value )
|
type = z2ui5_if_core_types=>cs_bind_type-two_way ).
|
||||||
type = z2ui5_if_core_types=>cs_bind_type-two_way ).
|
|
||||||
|
|
||||||
cl_abap_unit_assert=>abort( ).
|
cl_abap_unit_assert=>abort( ).
|
||||||
|
|
||||||
|
@ -120,7 +116,6 @@ CLASS ltcl_test_bind IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD test_two_way.
|
METHOD test_two_way.
|
||||||
|
|
||||||
* IF sy-sysid = 'ABC'.
|
* IF sy-sysid = 'ABC'.
|
||||||
|
@ -133,17 +128,14 @@ CLASS ltcl_test_bind IMPLEMENTATION.
|
||||||
|
|
||||||
DATA(lo_bind) = NEW z2ui5_cl_core_srv_bind( lo_app ).
|
DATA(lo_bind) = NEW z2ui5_cl_core_srv_bind( lo_app ).
|
||||||
|
|
||||||
DATA(lv_bind) = lo_bind->main(
|
DATA(lv_bind) = lo_bind->main( val = REF #( lo_app_client->mv_value )
|
||||||
val = REF #( lo_app_client->mv_value )
|
type = z2ui5_if_core_types=>cs_bind_type-two_way ).
|
||||||
type = z2ui5_if_core_types=>cs_bind_type-two_way ).
|
|
||||||
|
|
||||||
DATA(lv_bind2) = lo_bind->main(
|
DATA(lv_bind2) = lo_bind->main( val = REF #( lo_app_client->mv_value )
|
||||||
val = REF #( lo_app_client->mv_value )
|
type = z2ui5_if_core_types=>cs_bind_type-two_way ).
|
||||||
type = z2ui5_if_core_types=>cs_bind_type-two_way ).
|
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_equals( exp = lv_bind2
|
||||||
act = lv_bind
|
act = lv_bind ).
|
||||||
exp = lv_bind2 ).
|
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_not_initial( lv_bind ).
|
cl_abap_unit_assert=>assert_not_initial( lv_bind ).
|
||||||
|
|
||||||
|
@ -175,20 +167,17 @@ CLASS ltcl_test_bind IMPLEMENTATION.
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_not_initial( lv_bind ).
|
cl_abap_unit_assert=>assert_not_initial( lv_bind ).
|
||||||
|
|
||||||
DATA(lv_bind2) = lo_bind->main(
|
DATA(lv_bind2) = lo_bind->main( val = REF #( lo_app_client->mv_value )
|
||||||
val = REF #( lo_app_client->mv_value )
|
type = z2ui5_if_core_types=>cs_bind_type-two_way ).
|
||||||
type = z2ui5_if_core_types=>cs_bind_type-two_way ).
|
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_not_initial( lv_bind2 ).
|
cl_abap_unit_assert=>assert_not_initial( lv_bind2 ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
CLASS ltcl_test_main_structure DEFINITION FINAL FOR TESTING
|
CLASS ltcl_test_main_structure DEFINITION FINAL
|
||||||
DURATION MEDIUM
|
FOR TESTING RISK LEVEL HARMLESS DURATION MEDIUM.
|
||||||
RISK LEVEL HARMLESS.
|
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
|
||||||
|
@ -210,16 +199,15 @@ CLASS ltcl_test_main_structure DEFINITION FINAL FOR TESTING
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
|
|
||||||
METHODS test_one_way_lev1 FOR TESTING RAISING cx_static_check.
|
METHODS test_one_way_lev1 FOR TESTING RAISING cx_static_check.
|
||||||
METHODS test_one_way_lev2 FOR TESTING RAISING cx_static_check.
|
METHODS test_one_way_lev2 FOR TESTING RAISING cx_static_check.
|
||||||
METHODS test_one_way_lev3 FOR TESTING RAISING cx_static_check.
|
METHODS test_one_way_lev3 FOR TESTING RAISING cx_static_check.
|
||||||
METHODS test_one_way_lev4_long_name FOR TESTING RAISING cx_static_check.
|
METHODS test_one_way_lev4_long_name FOR TESTING RAISING cx_static_check.
|
||||||
|
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
CLASS ltcl_test_main_structure IMPLEMENTATION.
|
|
||||||
|
|
||||||
|
CLASS ltcl_test_main_structure IMPLEMENTATION.
|
||||||
METHOD test_one_way_lev1.
|
METHOD test_one_way_lev1.
|
||||||
|
|
||||||
DATA(lo_test_app) = NEW ltcl_test_main_structure( ).
|
DATA(lo_test_app) = NEW ltcl_test_main_structure( ).
|
||||||
|
@ -227,22 +215,18 @@ CLASS ltcl_test_main_structure IMPLEMENTATION.
|
||||||
lo_app->mo_app = lo_test_app.
|
lo_app->mo_app = lo_test_app.
|
||||||
|
|
||||||
DATA(lo_bind) = NEW z2ui5_cl_core_srv_bind( lo_app ).
|
DATA(lo_bind) = NEW z2ui5_cl_core_srv_bind( lo_app ).
|
||||||
DATA(lv_result) = lo_bind->main(
|
DATA(lv_result) = lo_bind->main( val = REF #( lo_test_app->ms_struc-input )
|
||||||
val = REF #( lo_test_app->ms_struc-input )
|
type = z2ui5_if_core_types=>cs_bind_type-one_way ).
|
||||||
type = z2ui5_if_core_types=>cs_bind_type-one_way ).
|
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_equals( exp = `{/MS_STRUC/INPUT}`
|
||||||
act = lv_result
|
act = lv_result ).
|
||||||
exp = `{/MS_STRUC/INPUT}` ).
|
|
||||||
|
|
||||||
lv_result = lo_bind->main(
|
lv_result = lo_bind->main( val = REF #( lo_test_app->ms_struc-input )
|
||||||
val = REF #( lo_test_app->ms_struc-input )
|
config = VALUE #( path_only = abap_true )
|
||||||
config = VALUE #( path_only = abap_true )
|
type = z2ui5_if_core_types=>cs_bind_type-one_way ).
|
||||||
type = z2ui5_if_core_types=>cs_bind_type-one_way ).
|
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_equals( exp = `/MS_STRUC/INPUT`
|
||||||
act = lv_result
|
act = lv_result ).
|
||||||
exp = `/MS_STRUC/INPUT` ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
@ -253,13 +237,11 @@ CLASS ltcl_test_main_structure IMPLEMENTATION.
|
||||||
lo_app->mo_app = lo_test_app.
|
lo_app->mo_app = lo_test_app.
|
||||||
|
|
||||||
DATA(lo_bind) = NEW z2ui5_cl_core_srv_bind( lo_app ).
|
DATA(lo_bind) = NEW z2ui5_cl_core_srv_bind( lo_app ).
|
||||||
DATA(lv_result) = lo_bind->main(
|
DATA(lv_result) = lo_bind->main( val = REF #( lo_test_app->ms_struc-s_02-input )
|
||||||
val = REF #( lo_test_app->ms_struc-s_02-input )
|
type = z2ui5_if_core_types=>cs_bind_type-one_way ).
|
||||||
type = z2ui5_if_core_types=>cs_bind_type-one_way ).
|
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_equals( exp = `{/MS_STRUC/S_02/INPUT}`
|
||||||
act = lv_result
|
act = lv_result ).
|
||||||
exp = `{/MS_STRUC/S_02/INPUT}` ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
@ -270,13 +252,11 @@ CLASS ltcl_test_main_structure IMPLEMENTATION.
|
||||||
lo_app->mo_app = lo_test_app.
|
lo_app->mo_app = lo_test_app.
|
||||||
|
|
||||||
DATA(lo_bind) = NEW z2ui5_cl_core_srv_bind( lo_app ).
|
DATA(lo_bind) = NEW z2ui5_cl_core_srv_bind( lo_app ).
|
||||||
DATA(lv_result) = lo_bind->main(
|
DATA(lv_result) = lo_bind->main( val = REF #( lo_test_app->ms_struc-s_02-s_03-input )
|
||||||
val = REF #( lo_test_app->ms_struc-s_02-s_03-input )
|
type = z2ui5_if_core_types=>cs_bind_type-one_way ).
|
||||||
type = z2ui5_if_core_types=>cs_bind_type-one_way ).
|
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_equals( exp = `{/MS_STRUC/S_02/S_03/INPUT}`
|
||||||
act = lv_result
|
act = lv_result ).
|
||||||
exp = `{/MS_STRUC/S_02/S_03/INPUT}` ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
@ -287,26 +267,22 @@ CLASS ltcl_test_main_structure IMPLEMENTATION.
|
||||||
lo_app->mo_app = lo_test_app.
|
lo_app->mo_app = lo_test_app.
|
||||||
|
|
||||||
DATA(lo_bind) = NEW z2ui5_cl_core_srv_bind( lo_app ).
|
DATA(lo_bind) = NEW z2ui5_cl_core_srv_bind( lo_app ).
|
||||||
DATA(lv_result) = lo_bind->main(
|
DATA(lv_result) = lo_bind->main( val = REF #( lo_test_app->ms_struc-s_02-s_03-s_04-input )
|
||||||
val = REF #( lo_test_app->ms_struc-s_02-s_03-s_04-input )
|
type = z2ui5_if_core_types=>cs_bind_type-one_way ).
|
||||||
type = z2ui5_if_core_types=>cs_bind_type-one_way ).
|
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_equals( exp = `{/MS_STRUC/S_02/S_03/S_04/INPUT}`
|
||||||
act = lv_result
|
act = lv_result ).
|
||||||
exp = `{/MS_STRUC/S_02/S_03/S_04/INPUT}` ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
CLASS ltcl_test_main_object DEFINITION FINAL FOR TESTING
|
CLASS ltcl_test_main_object DEFINITION FINAL
|
||||||
DURATION MEDIUM
|
FOR TESTING RISK LEVEL HARMLESS DURATION MEDIUM.
|
||||||
RISK LEVEL HARMLESS.
|
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
|
||||||
DATA mo_obj TYPE REF TO ltcl_test_main_object.
|
DATA mo_obj TYPE REF TO ltcl_test_main_object.
|
||||||
DATA mv_value TYPE string.
|
DATA mv_value TYPE string.
|
||||||
|
|
||||||
TYPES:
|
TYPES:
|
||||||
|
@ -330,11 +306,10 @@ CLASS ltcl_test_main_object DEFINITION FINAL FOR TESTING
|
||||||
METHODS test_one_way_value FOR TESTING RAISING cx_static_check.
|
METHODS test_one_way_value FOR TESTING RAISING cx_static_check.
|
||||||
METHODS test_one_way_struc FOR TESTING RAISING cx_static_check.
|
METHODS test_one_way_struc FOR TESTING RAISING cx_static_check.
|
||||||
|
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
CLASS ltcl_test_main_object IMPLEMENTATION.
|
|
||||||
|
|
||||||
|
CLASS ltcl_test_main_object IMPLEMENTATION.
|
||||||
METHOD test_one_way_value.
|
METHOD test_one_way_value.
|
||||||
|
|
||||||
DATA(lo_test_app) = NEW ltcl_test_main_object( ).
|
DATA(lo_test_app) = NEW ltcl_test_main_object( ).
|
||||||
|
@ -344,13 +319,11 @@ CLASS ltcl_test_main_object IMPLEMENTATION.
|
||||||
lo_app->mo_app = lo_test_app.
|
lo_app->mo_app = lo_test_app.
|
||||||
|
|
||||||
DATA(lo_bind) = NEW z2ui5_cl_core_srv_bind( lo_app ).
|
DATA(lo_bind) = NEW z2ui5_cl_core_srv_bind( lo_app ).
|
||||||
DATA(lv_result) = lo_bind->main(
|
DATA(lv_result) = lo_bind->main( val = REF #( lo_test_app->mo_obj->mv_value )
|
||||||
val = REF #( lo_test_app->mo_obj->mv_value )
|
type = z2ui5_if_core_types=>cs_bind_type-one_way ).
|
||||||
type = z2ui5_if_core_types=>cs_bind_type-one_way ).
|
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_equals( exp = `{/MO_OBJ/MV_VALUE}`
|
||||||
act = lv_result
|
act = lv_result ).
|
||||||
exp = `{/MO_OBJ/MV_VALUE}` ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
@ -362,14 +335,11 @@ CLASS ltcl_test_main_object IMPLEMENTATION.
|
||||||
lo_app->mo_app = lo_test_app.
|
lo_app->mo_app = lo_test_app.
|
||||||
|
|
||||||
DATA(lo_bind) = NEW z2ui5_cl_core_srv_bind( lo_app ).
|
DATA(lo_bind) = NEW z2ui5_cl_core_srv_bind( lo_app ).
|
||||||
DATA(lv_result) = lo_bind->main(
|
DATA(lv_result) = lo_bind->main( val = REF #( lo_test_app->mo_obj->ms_struc-input )
|
||||||
val = REF #( lo_test_app->mo_obj->ms_struc-input )
|
type = z2ui5_if_core_types=>cs_bind_type-one_way ).
|
||||||
type = z2ui5_if_core_types=>cs_bind_type-one_way ).
|
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_equals( exp = `{/MO_OBJ/MS_STRUC/INPUT}`
|
||||||
act = lv_result
|
act = lv_result ).
|
||||||
exp = `{/MO_OBJ/MS_STRUC/INPUT}` ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -1,16 +1,16 @@
|
||||||
CLASS z2ui5_cl_core_srv_diss DEFINITION
|
CLASS z2ui5_cl_core_srv_diss DEFINITION
|
||||||
PUBLIC
|
PUBLIC FINAL
|
||||||
FINAL
|
CREATE PUBLIC.
|
||||||
CREATE PUBLIC .
|
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
|
||||||
METHODS constructor
|
METHODS constructor
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!attri TYPE REF TO z2ui5_if_core_types=>ty_t_attri
|
attri TYPE REF TO z2ui5_if_core_types=>ty_t_attri
|
||||||
!app TYPE REF TO object.
|
app TYPE REF TO object.
|
||||||
|
|
||||||
|
METHODS main.
|
||||||
|
|
||||||
METHODS main .
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
|
|
||||||
DATA mt_attri TYPE REF TO z2ui5_if_core_types=>ty_t_attri.
|
DATA mt_attri TYPE REF TO z2ui5_if_core_types=>ty_t_attri.
|
||||||
|
@ -32,12 +32,14 @@ CLASS z2ui5_cl_core_srv_diss DEFINITION
|
||||||
VALUE(result) TYPE z2ui5_if_core_types=>ty_t_attri.
|
VALUE(result) TYPE z2ui5_if_core_types=>ty_t_attri.
|
||||||
|
|
||||||
METHODS diss_oref
|
METHODS diss_oref
|
||||||
IMPORTING ir_attri TYPE REF TO z2ui5_if_core_types=>ty_s_attri
|
IMPORTING
|
||||||
RETURNING VALUE(result) TYPE z2ui5_if_core_types=>ty_t_attri.
|
ir_attri TYPE REF TO z2ui5_if_core_types=>ty_s_attri
|
||||||
|
RETURNING
|
||||||
|
VALUE(result) TYPE z2ui5_if_core_types=>ty_t_attri.
|
||||||
|
|
||||||
METHODS create_new_entry
|
METHODS create_new_entry
|
||||||
IMPORTING
|
IMPORTING
|
||||||
name TYPE string
|
!name TYPE string
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(result) TYPE z2ui5_if_core_types=>ty_s_attri.
|
VALUE(result) TYPE z2ui5_if_core_types=>ty_s_attri.
|
||||||
|
|
||||||
|
@ -45,10 +47,7 @@ CLASS z2ui5_cl_core_srv_diss DEFINITION
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS z2ui5_cl_core_srv_diss IMPLEMENTATION.
|
CLASS z2ui5_cl_core_srv_diss IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD constructor.
|
METHOD constructor.
|
||||||
|
|
||||||
mt_attri = attri.
|
mt_attri = attri.
|
||||||
|
@ -56,20 +55,17 @@ CLASS z2ui5_cl_core_srv_diss IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD create_new_entry.
|
METHOD create_new_entry.
|
||||||
|
|
||||||
result = VALUE z2ui5_if_core_types=>ty_s_attri( ).
|
result = VALUE z2ui5_if_core_types=>ty_s_attri( ).
|
||||||
result-name = name.
|
result-name = name.
|
||||||
DATA(lo_model) = NEW z2ui5_cl_core_srv_attri(
|
DATA(lo_model) = NEW z2ui5_cl_core_srv_attri( attri = mt_attri
|
||||||
attri = mt_attri
|
app = mo_app ).
|
||||||
app = mo_app ).
|
|
||||||
result-r_ref = lo_model->attri_get_val_ref( name ).
|
result-r_ref = lo_model->attri_get_val_ref( name ).
|
||||||
result-o_typedescr = cl_abap_datadescr=>describe_by_data_ref( result-r_ref ).
|
result-o_typedescr = cl_abap_datadescr=>describe_by_data_ref( result-r_ref ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD diss_dref.
|
METHOD diss_dref.
|
||||||
|
|
||||||
IF z2ui5_cl_util=>check_unassign_inital( ir_attri->r_ref ).
|
IF z2ui5_cl_util=>check_unassign_inital( ir_attri->r_ref ).
|
||||||
|
@ -92,10 +88,9 @@ CLASS z2ui5_cl_core_srv_diss IMPLEMENTATION.
|
||||||
|
|
||||||
WHEN OTHERS.
|
WHEN OTHERS.
|
||||||
|
|
||||||
ls_attri2-name = ir_attri->name && `->*`.
|
ls_attri2-name = |{ ir_attri->name }->*|.
|
||||||
DATA(lo_model) = NEW z2ui5_cl_core_srv_attri(
|
DATA(lo_model) = NEW z2ui5_cl_core_srv_attri( attri = mt_attri
|
||||||
attri = mt_attri
|
app = mo_app ).
|
||||||
app = mo_app ).
|
|
||||||
ls_attri2-r_ref = lo_model->attri_get_val_ref( ls_attri2-name ).
|
ls_attri2-r_ref = lo_model->attri_get_val_ref( ls_attri2-name ).
|
||||||
INSERT ls_attri2 INTO TABLE result.
|
INSERT ls_attri2 INTO TABLE result.
|
||||||
|
|
||||||
|
@ -103,7 +98,6 @@ CLASS z2ui5_cl_core_srv_diss IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD diss_oref.
|
METHOD diss_oref.
|
||||||
|
|
||||||
IF z2ui5_cl_util=>check_unassign_inital( ir_attri->r_ref ).
|
IF z2ui5_cl_util=>check_unassign_inital( ir_attri->r_ref ).
|
||||||
|
@ -114,11 +108,11 @@ CLASS z2ui5_cl_core_srv_diss IMPLEMENTATION.
|
||||||
DATA(lt_attri) = z2ui5_cl_util=>rtti_get_t_attri_by_oref( lr_ref ).
|
DATA(lt_attri) = z2ui5_cl_util=>rtti_get_t_attri_by_oref( lr_ref ).
|
||||||
|
|
||||||
LOOP AT lt_attri REFERENCE INTO DATA(lr_attri)
|
LOOP AT lt_attri REFERENCE INTO DATA(lr_attri)
|
||||||
WHERE visibility = cl_abap_objectdescr=>public
|
WHERE visibility = cl_abap_objectdescr=>public
|
||||||
AND is_interface = abap_false
|
AND is_interface = abap_false
|
||||||
AND is_constant = abap_false.
|
AND is_constant = abap_false.
|
||||||
TRY.
|
TRY.
|
||||||
DATA(lv_name) = COND #( WHEN ir_attri->name IS NOT INITIAL THEN ir_attri->name && `->` ) && lr_attri->name.
|
DATA(lv_name) = COND #( WHEN ir_attri->name IS NOT INITIAL THEN |{ ir_attri->name }->| ) && lr_attri->name.
|
||||||
DATA(ls_new) = create_new_entry( lv_name ).
|
DATA(ls_new) = create_new_entry( lv_name ).
|
||||||
INSERT ls_new INTO TABLE result.
|
INSERT ls_new INTO TABLE result.
|
||||||
|
|
||||||
|
@ -128,14 +122,13 @@ CLASS z2ui5_cl_core_srv_diss IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD diss_struc.
|
METHOD diss_struc.
|
||||||
|
|
||||||
IF ir_attri->o_typedescr->kind = cl_abap_typedescr=>kind_ref.
|
IF ir_attri->o_typedescr->kind = cl_abap_typedescr=>kind_ref.
|
||||||
DATA(lv_name) = ir_attri->name && `->`.
|
DATA(lv_name) = |{ ir_attri->name }->|.
|
||||||
DATA(lr_ref) = z2ui5_cl_util=>unassign_data( ir_attri->r_ref ).
|
DATA(lr_ref) = z2ui5_cl_util=>unassign_data( ir_attri->r_ref ).
|
||||||
ELSE.
|
ELSE.
|
||||||
lv_name = ir_attri->name && `-`.
|
lv_name = |{ ir_attri->name }-|.
|
||||||
lr_ref = ir_attri->r_ref.
|
lr_ref = ir_attri->r_ref.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
|
@ -148,7 +141,6 @@ CLASS z2ui5_cl_core_srv_diss IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD main.
|
METHOD main.
|
||||||
|
|
||||||
TRY.
|
TRY.
|
||||||
|
@ -170,12 +162,11 @@ CLASS z2ui5_cl_core_srv_diss IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD main_init.
|
METHOD main_init.
|
||||||
|
|
||||||
IF mt_attri->* IS NOT INITIAL.
|
IF mt_attri->* IS NOT INITIAL.
|
||||||
LOOP AT mt_attri->* TRANSPORTING NO FIELDS
|
LOOP AT mt_attri->* TRANSPORTING NO FIELDS
|
||||||
WHERE bind_type <> z2ui5_if_core_types=>cs_bind_type-one_time.
|
WHERE bind_type <> z2ui5_if_core_types=>cs_bind_type-one_time.
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
IF sy-subrc = 0.
|
IF sy-subrc = 0.
|
||||||
RETURN.
|
RETURN.
|
||||||
|
@ -188,21 +179,20 @@ CLASS z2ui5_cl_core_srv_diss IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD main_run.
|
METHOD main_run.
|
||||||
|
|
||||||
DATA(lt_attri_new) = VALUE z2ui5_if_core_types=>ty_t_attri( ).
|
DATA(lt_attri_new) = VALUE z2ui5_if_core_types=>ty_t_attri( ).
|
||||||
|
|
||||||
LOOP AT mt_attri->* REFERENCE INTO DATA(lr_attri)
|
LOOP AT mt_attri->* REFERENCE INTO DATA(lr_attri)
|
||||||
WHERE check_dissolved = abap_false
|
WHERE check_dissolved = abap_false
|
||||||
AND bind_type <> z2ui5_if_core_types=>cs_bind_type-one_time.
|
AND bind_type <> z2ui5_if_core_types=>cs_bind_type-one_time.
|
||||||
|
|
||||||
lr_attri->check_dissolved = abap_true.
|
lr_attri->check_dissolved = abap_true.
|
||||||
|
|
||||||
IF lr_attri->o_typedescr IS NOT BOUND.
|
IF lr_attri->o_typedescr IS NOT BOUND.
|
||||||
DATA(ls_entry) = create_new_entry( lr_attri->name ).
|
DATA(ls_entry) = create_new_entry( lr_attri->name ).
|
||||||
lr_attri->o_typedescr = ls_entry-o_typedescr.
|
lr_attri->o_typedescr = ls_entry-o_typedescr.
|
||||||
lr_attri->r_ref = ls_entry-r_ref.
|
lr_attri->r_ref = ls_entry-r_ref.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
CASE lr_attri->o_typedescr->kind.
|
CASE lr_attri->o_typedescr->kind.
|
||||||
|
|
|
@ -1,9 +1,8 @@
|
||||||
CLASS ltcl_test_dissolve DEFINITION DEFERRED.
|
CLASS ltcl_test_dissolve DEFINITION DEFERRED.
|
||||||
CLASS z2ui5_cl_core_srv_diss DEFINITION LOCAL FRIENDS ltcl_test_dissolve.
|
CLASS z2ui5_cl_core_srv_diss DEFINITION LOCAL FRIENDS ltcl_test_dissolve.
|
||||||
|
|
||||||
CLASS ltcl_test_dissolve DEFINITION FINAL FOR TESTING
|
CLASS ltcl_test_dissolve DEFINITION FINAL
|
||||||
DURATION SHORT
|
FOR TESTING RISK LEVEL HARMLESS DURATION SHORT.
|
||||||
RISK LEVEL HARMLESS.
|
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
|
||||||
|
@ -27,38 +26,36 @@ CLASS ltcl_test_dissolve DEFINITION FINAL FOR TESTING
|
||||||
s_01 TYPE s_01,
|
s_01 TYPE s_01,
|
||||||
END OF ty_s_struc.
|
END OF ty_s_struc.
|
||||||
|
|
||||||
DATA ms_struc TYPE s_01 ##NEEDED.
|
DATA ms_struc TYPE s_01 ##NEEDED.
|
||||||
DATA mv_value TYPE string ##NEEDED.
|
DATA mv_value TYPE string ##NEEDED.
|
||||||
DATA mr_value TYPE REF TO data.
|
DATA mr_value TYPE REF TO data.
|
||||||
DATA mr_struc TYPE REF TO s_01.
|
DATA mr_struc TYPE REF TO s_01.
|
||||||
DATA mo_app TYPE REF TO ltcl_test_dissolve.
|
DATA mo_app TYPE REF TO ltcl_test_dissolve.
|
||||||
|
|
||||||
DATA ms_struc2 TYPE ty_s_struc.
|
DATA ms_struc2 TYPE ty_s_struc.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
METHODS test_init FOR TESTING RAISING cx_static_check.
|
METHODS test_init FOR TESTING RAISING cx_static_check.
|
||||||
METHODS test_struc FOR TESTING RAISING cx_static_check.
|
METHODS test_struc FOR TESTING RAISING cx_static_check.
|
||||||
METHODS test_dref FOR TESTING RAISING cx_static_check.
|
METHODS test_dref FOR TESTING RAISING cx_static_check.
|
||||||
METHODS test_struc_dref FOR TESTING RAISING cx_static_check.
|
METHODS test_struc_dref FOR TESTING RAISING cx_static_check.
|
||||||
METHODS test_oref FOR TESTING RAISING cx_static_check.
|
METHODS test_oref FOR TESTING RAISING cx_static_check.
|
||||||
METHODS test_ref FOR TESTING RAISING cx_static_check.
|
METHODS test_ref FOR TESTING RAISING cx_static_check.
|
||||||
METHODS test_oref_dref_struc FOR TESTING RAISING cx_static_check.
|
METHODS test_oref_dref_struc FOR TESTING RAISING cx_static_check.
|
||||||
METHODS test_oref_dref FOR TESTING RAISING cx_static_check.
|
METHODS test_oref_dref FOR TESTING RAISING cx_static_check.
|
||||||
METHODS test_dref_struc FOR TESTING RAISING cx_static_check.
|
METHODS test_dref_struc FOR TESTING RAISING cx_static_check.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
CLASS ltcl_test_dissolve IMPLEMENTATION.
|
CLASS ltcl_test_dissolve IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD test_ref.
|
METHOD test_ref.
|
||||||
|
|
||||||
DATA(lo_app) = NEW ltcl_test_dissolve( ).
|
DATA(lo_app) = NEW ltcl_test_dissolve( ).
|
||||||
|
|
||||||
DATA lt_attri TYPE z2ui5_if_core_types=>ty_t_attri.
|
DATA lt_attri TYPE z2ui5_if_core_types=>ty_t_attri.
|
||||||
DATA(lo_model) = NEW z2ui5_cl_core_srv_diss(
|
DATA(lo_model) = NEW z2ui5_cl_core_srv_diss( attri = REF #( lt_attri )
|
||||||
attri = REF #( lt_attri )
|
app = lo_app ).
|
||||||
app = lo_app ).
|
|
||||||
|
|
||||||
lo_model->main( ).
|
lo_model->main( ).
|
||||||
|
|
||||||
|
@ -73,12 +70,11 @@ CLASS ltcl_test_dissolve IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD test_init.
|
METHOD test_init.
|
||||||
|
|
||||||
DATA(lo_app) = NEW ltcl_test_dissolve( ).
|
DATA(lo_app) = NEW ltcl_test_dissolve( ).
|
||||||
|
|
||||||
DATA lt_attri TYPE z2ui5_if_core_types=>ty_t_attri.
|
DATA lt_attri TYPE z2ui5_if_core_types=>ty_t_attri.
|
||||||
DATA(lo_model) = NEW z2ui5_cl_core_srv_diss(
|
DATA(lo_model) = NEW z2ui5_cl_core_srv_diss( attri = REF #( lt_attri )
|
||||||
attri = REF #( lt_attri )
|
app = lo_app ).
|
||||||
app = lo_app ).
|
|
||||||
|
|
||||||
lo_model->main( ).
|
lo_model->main( ).
|
||||||
lo_model->main( ).
|
lo_model->main( ).
|
||||||
|
@ -93,14 +89,13 @@ CLASS ltcl_test_dissolve IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD test_dref.
|
METHOD test_dref.
|
||||||
|
|
||||||
DATA(lo_app) = NEW ltcl_test_dissolve( ).
|
DATA(lo_app) = NEW ltcl_test_dissolve( ).
|
||||||
CREATE DATA lo_app->mr_struc.
|
CREATE DATA lo_app->mr_struc.
|
||||||
CREATE DATA lo_app->mr_value TYPE string.
|
CREATE DATA lo_app->mr_value TYPE string.
|
||||||
|
|
||||||
DATA lt_attri TYPE z2ui5_if_core_types=>ty_t_attri.
|
DATA lt_attri TYPE z2ui5_if_core_types=>ty_t_attri.
|
||||||
DATA(lo_model) = NEW z2ui5_cl_core_srv_diss(
|
DATA(lo_model) = NEW z2ui5_cl_core_srv_diss( attri = REF #( lt_attri )
|
||||||
attri = REF #( lt_attri )
|
app = lo_app ).
|
||||||
app = lo_app ).
|
|
||||||
|
|
||||||
lo_model->main( ).
|
lo_model->main( ).
|
||||||
lo_model->main( ).
|
lo_model->main( ).
|
||||||
|
@ -111,7 +106,7 @@ CLASS ltcl_test_dissolve IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD test_oref.
|
METHOD test_oref.
|
||||||
|
|
||||||
DATA(lo_app) = NEW ltcl_test_dissolve( ).
|
DATA(lo_app) = NEW ltcl_test_dissolve( ).
|
||||||
lo_app->mo_app = NEW #( ).
|
lo_app->mo_app = NEW #( ).
|
||||||
DATA(lo_app2) = NEW ltcl_test_dissolve( ).
|
DATA(lo_app2) = NEW ltcl_test_dissolve( ).
|
||||||
lo_app2->mo_app = lo_app.
|
lo_app2->mo_app = lo_app.
|
||||||
|
@ -120,9 +115,8 @@ CLASS ltcl_test_dissolve IMPLEMENTATION.
|
||||||
CREATE DATA lo_app->mo_app->mr_value TYPE string.
|
CREATE DATA lo_app->mo_app->mr_value TYPE string.
|
||||||
|
|
||||||
DATA lt_attri TYPE z2ui5_if_core_types=>ty_t_attri.
|
DATA lt_attri TYPE z2ui5_if_core_types=>ty_t_attri.
|
||||||
DATA(lo_model) = NEW z2ui5_cl_core_srv_diss(
|
DATA(lo_model) = NEW z2ui5_cl_core_srv_diss( attri = REF #( lt_attri )
|
||||||
attri = REF #( lt_attri )
|
app = lo_app2 ).
|
||||||
app = lo_app2 ).
|
|
||||||
|
|
||||||
lo_model->main( ).
|
lo_model->main( ).
|
||||||
lo_model->main( ).
|
lo_model->main( ).
|
||||||
|
@ -137,11 +131,10 @@ CLASS ltcl_test_dissolve IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD test_struc.
|
METHOD test_struc.
|
||||||
|
|
||||||
DATA(lo_app) = NEW ltcl_test_dissolve( ).
|
DATA(lo_app) = NEW ltcl_test_dissolve( ).
|
||||||
DATA lt_attri TYPE z2ui5_if_core_types=>ty_t_attri.
|
DATA lt_attri TYPE z2ui5_if_core_types=>ty_t_attri.
|
||||||
DATA(lo_model) = NEW z2ui5_cl_core_srv_diss(
|
DATA(lo_model) = NEW z2ui5_cl_core_srv_diss( attri = REF #( lt_attri )
|
||||||
attri = REF #( lt_attri )
|
app = lo_app ).
|
||||||
app = lo_app ).
|
|
||||||
|
|
||||||
lo_model->main( ).
|
lo_model->main( ).
|
||||||
lo_model->main( ).
|
lo_model->main( ).
|
||||||
|
@ -157,7 +150,7 @@ CLASS ltcl_test_dissolve IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD test_dref_struc.
|
METHOD test_dref_struc.
|
||||||
|
|
||||||
DATA(lo_app) = NEW ltcl_test_dissolve( ).
|
DATA(lo_app) = NEW ltcl_test_dissolve( ).
|
||||||
lo_app->mo_app = NEW #( ).
|
lo_app->mo_app = NEW #( ).
|
||||||
DATA(lo_app2) = NEW ltcl_test_dissolve( ).
|
DATA(lo_app2) = NEW ltcl_test_dissolve( ).
|
||||||
lo_app2->mo_app = lo_app.
|
lo_app2->mo_app = lo_app.
|
||||||
|
@ -165,9 +158,8 @@ CLASS ltcl_test_dissolve IMPLEMENTATION.
|
||||||
CREATE DATA lo_app->mr_struc.
|
CREATE DATA lo_app->mr_struc.
|
||||||
|
|
||||||
DATA lt_attri TYPE z2ui5_if_core_types=>ty_t_attri.
|
DATA lt_attri TYPE z2ui5_if_core_types=>ty_t_attri.
|
||||||
DATA(lo_model) = NEW z2ui5_cl_core_srv_diss(
|
DATA(lo_model) = NEW z2ui5_cl_core_srv_diss( attri = REF #( lt_attri )
|
||||||
attri = REF #( lt_attri )
|
app = lo_app ).
|
||||||
app = lo_app ).
|
|
||||||
|
|
||||||
lo_model->main( ).
|
lo_model->main( ).
|
||||||
lo_model->main( ).
|
lo_model->main( ).
|
||||||
|
@ -181,7 +173,7 @@ CLASS ltcl_test_dissolve IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD test_oref_dref.
|
METHOD test_oref_dref.
|
||||||
|
|
||||||
DATA(lo_app) = NEW ltcl_test_dissolve( ).
|
DATA(lo_app) = NEW ltcl_test_dissolve( ).
|
||||||
lo_app->mo_app = NEW #( ).
|
lo_app->mo_app = NEW #( ).
|
||||||
DATA(lo_app2) = NEW ltcl_test_dissolve( ).
|
DATA(lo_app2) = NEW ltcl_test_dissolve( ).
|
||||||
lo_app->mo_app = lo_app2.
|
lo_app->mo_app = lo_app2.
|
||||||
|
@ -189,9 +181,8 @@ CLASS ltcl_test_dissolve IMPLEMENTATION.
|
||||||
CREATE DATA lo_app2->mr_value TYPE string.
|
CREATE DATA lo_app2->mr_value TYPE string.
|
||||||
|
|
||||||
DATA lt_attri TYPE z2ui5_if_core_types=>ty_t_attri.
|
DATA lt_attri TYPE z2ui5_if_core_types=>ty_t_attri.
|
||||||
DATA(lo_model) = NEW z2ui5_cl_core_srv_diss(
|
DATA(lo_model) = NEW z2ui5_cl_core_srv_diss( attri = REF #( lt_attri )
|
||||||
attri = REF #( lt_attri )
|
app = lo_app ).
|
||||||
app = lo_app ).
|
|
||||||
|
|
||||||
lo_model->main( ).
|
lo_model->main( ).
|
||||||
lo_model->main( ).
|
lo_model->main( ).
|
||||||
|
@ -203,7 +194,7 @@ CLASS ltcl_test_dissolve IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD test_oref_dref_struc.
|
METHOD test_oref_dref_struc.
|
||||||
|
|
||||||
DATA(lo_app) = NEW ltcl_test_dissolve( ).
|
DATA(lo_app) = NEW ltcl_test_dissolve( ).
|
||||||
lo_app->mo_app = NEW #( ).
|
lo_app->mo_app = NEW #( ).
|
||||||
DATA(lo_app2) = NEW ltcl_test_dissolve( ).
|
DATA(lo_app2) = NEW ltcl_test_dissolve( ).
|
||||||
lo_app->mo_app = lo_app2.
|
lo_app->mo_app = lo_app2.
|
||||||
|
@ -211,9 +202,8 @@ CLASS ltcl_test_dissolve IMPLEMENTATION.
|
||||||
CREATE DATA lo_app->mo_app->mr_struc.
|
CREATE DATA lo_app->mo_app->mr_struc.
|
||||||
|
|
||||||
DATA lt_attri TYPE z2ui5_if_core_types=>ty_t_attri.
|
DATA lt_attri TYPE z2ui5_if_core_types=>ty_t_attri.
|
||||||
DATA(lo_model) = NEW z2ui5_cl_core_srv_diss(
|
DATA(lo_model) = NEW z2ui5_cl_core_srv_diss( attri = REF #( lt_attri )
|
||||||
attri = REF #( lt_attri )
|
app = lo_app ).
|
||||||
app = lo_app ).
|
|
||||||
|
|
||||||
lo_model->main( ).
|
lo_model->main( ).
|
||||||
lo_model->main( ).
|
lo_model->main( ).
|
||||||
|
@ -226,17 +216,15 @@ CLASS ltcl_test_dissolve IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD test_struc_dref.
|
METHOD test_struc_dref.
|
||||||
|
|
||||||
DATA(lo_app) = NEW ltcl_test_dissolve( ).
|
DATA(lo_app) = NEW ltcl_test_dissolve( ).
|
||||||
lo_app->mo_app = NEW #( ).
|
lo_app->mo_app = NEW #( ).
|
||||||
CREATE DATA lo_app->mo_app->ms_struc2-r_ref TYPE string.
|
CREATE DATA lo_app->mo_app->ms_struc2-r_ref TYPE string.
|
||||||
|
|
||||||
DATA lt_attri TYPE z2ui5_if_core_types=>ty_t_attri.
|
DATA lt_attri TYPE z2ui5_if_core_types=>ty_t_attri.
|
||||||
DATA(lo_model) = NEW z2ui5_cl_core_srv_diss(
|
DATA(lo_model) = NEW z2ui5_cl_core_srv_diss( attri = REF #( lt_attri )
|
||||||
attri = REF #( lt_attri )
|
app = lo_app ).
|
||||||
app = lo_app ).
|
|
||||||
|
|
||||||
lo_model->main( ).
|
lo_model->main( ).
|
||||||
lo_model->main( ).
|
lo_model->main( ).
|
||||||
|
@ -247,5 +235,4 @@ CLASS ltcl_test_dissolve IMPLEMENTATION.
|
||||||
cl_abap_unit_assert=>assert_not_initial( VALUE #( lt_attri[ name = `MO_APP->MS_STRUC2-R_REF->*` ] OPTIONAL ) ).
|
cl_abap_unit_assert=>assert_not_initial( VALUE #( lt_attri[ name = `MO_APP->MS_STRUC2-R_REF->*` ] OPTIONAL ) ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -1,23 +1,22 @@
|
||||||
CLASS z2ui5_cl_core_srv_event DEFINITION
|
CLASS z2ui5_cl_core_srv_event DEFINITION
|
||||||
PUBLIC
|
PUBLIC FINAL
|
||||||
FINAL
|
CREATE PUBLIC.
|
||||||
CREATE PUBLIC .
|
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
|
||||||
METHODS get_event
|
METHODS get_event
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!val TYPE clike OPTIONAL
|
val TYPE clike OPTIONAL
|
||||||
!t_arg TYPE string_table OPTIONAL
|
t_arg TYPE string_table OPTIONAL
|
||||||
!s_cnt TYPE z2ui5_if_types=>ty_s_event_control OPTIONAL
|
s_cnt TYPE z2ui5_if_types=>ty_s_event_control OPTIONAL
|
||||||
PREFERRED PARAMETER val
|
PREFERRED PARAMETER val
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(result) TYPE string.
|
VALUE(result) TYPE string.
|
||||||
|
|
||||||
METHODS get_event_client
|
METHODS get_event_client
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!val TYPE clike
|
val TYPE clike
|
||||||
!t_arg TYPE string_table OPTIONAL
|
t_arg TYPE string_table OPTIONAL
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(result) TYPE string.
|
VALUE(result) TYPE string.
|
||||||
|
|
||||||
|
@ -34,20 +33,18 @@ ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
CLASS z2ui5_cl_core_srv_event IMPLEMENTATION.
|
CLASS z2ui5_cl_core_srv_event IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD get_event.
|
METHOD get_event.
|
||||||
|
|
||||||
result = |{ z2ui5_if_core_types=>cs_ui5-event_backend_function }(['{ val }'|.
|
result = |{ z2ui5_if_core_types=>cs_ui5-event_backend_function }(['{ val }'|.
|
||||||
|
|
||||||
IF s_cnt-check_allow_multi_req = abap_true.
|
IF s_cnt-check_allow_multi_req = abap_true.
|
||||||
result = result && `,false,true`.
|
result = |{ result },false,true|.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
result = result && `]` && get_t_arg( t_arg ).
|
result = |{ result }]{ get_t_arg( t_arg ) }|.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD get_event_client.
|
METHOD get_event_client.
|
||||||
|
|
||||||
result = |{ z2ui5_if_core_types=>cs_ui5-event_frontend_function }('{ val }'|.
|
result = |{ z2ui5_if_core_types=>cs_ui5-event_frontend_function }('{ val }'|.
|
||||||
|
@ -55,7 +52,6 @@ CLASS z2ui5_cl_core_srv_event IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD get_t_arg.
|
METHOD get_t_arg.
|
||||||
|
|
||||||
IF val IS NOT INITIAL.
|
IF val IS NOT INITIAL.
|
||||||
|
@ -66,14 +62,14 @@ CLASS z2ui5_cl_core_srv_event IMPLEMENTATION.
|
||||||
CONTINUE.
|
CONTINUE.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
IF lv_new(1) <> `$` AND lv_new(1) <> `{`.
|
IF lv_new(1) <> `$` AND lv_new(1) <> `{`.
|
||||||
lv_new = `'` && lv_new && `'`.
|
lv_new = |'{ lv_new }'|.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
result = result && `, ` && lv_new.
|
result = |{ result }, { lv_new }|.
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
result = result && `)`.
|
result = |{ result })|.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -1,25 +1,24 @@
|
||||||
CLASS ltcl_test DEFINITION FINAL FOR TESTING
|
CLASS ltcl_test DEFINITION FINAL
|
||||||
DURATION LONG
|
FOR TESTING RISK LEVEL HARMLESS DURATION LONG.
|
||||||
RISK LEVEL HARMLESS.
|
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
METHODS event FOR TESTING.
|
METHODS event FOR TESTING.
|
||||||
METHODS event_backend FOR TESTING.
|
METHODS event_backend FOR TESTING.
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
CLASS ltcl_test IMPLEMENTATION.
|
CLASS ltcl_test IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD event.
|
METHOD event.
|
||||||
|
|
||||||
DATA(lo_event) = NEW z2ui5_cl_core_srv_event( ).
|
DATA(lo_event) = NEW z2ui5_cl_core_srv_event( ).
|
||||||
DATA(lv_event) = lo_event->get_event( `POST` ).
|
DATA(lv_event) = lo_event->get_event( `POST` ).
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_equals( exp = `.eB(['POST'])`
|
||||||
act = lv_event
|
act = lv_event ).
|
||||||
exp = `.eB(['POST'])` ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
@ -28,9 +27,8 @@ CLASS ltcl_test IMPLEMENTATION.
|
||||||
DATA(lo_event) = NEW z2ui5_cl_core_srv_event( ).
|
DATA(lo_event) = NEW z2ui5_cl_core_srv_event( ).
|
||||||
DATA(lv_event) = lo_event->get_event_client( z2ui5_if_client=>cs_event-popover_close ).
|
DATA(lv_event) = lo_event->get_event_client( z2ui5_if_client=>cs_event-popover_close ).
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_equals( exp = `.eF('POPOVER_CLOSE')`
|
||||||
act = lv_event
|
act = lv_event ).
|
||||||
exp = `.eF('POPOVER_CLOSE')` ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -1,45 +1,42 @@
|
||||||
CLASS z2ui5_cl_core_srv_json DEFINITION
|
CLASS z2ui5_cl_core_srv_json DEFINITION
|
||||||
PUBLIC
|
PUBLIC FINAL
|
||||||
FINAL
|
CREATE PUBLIC.
|
||||||
CREATE PUBLIC .
|
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
|
||||||
INTERFACES z2ui5_if_ajson_filter .
|
INTERFACES z2ui5_if_ajson_filter.
|
||||||
|
|
||||||
METHODS request_json_to_abap
|
METHODS request_json_to_abap
|
||||||
IMPORTING
|
IMPORTING
|
||||||
val TYPE string
|
val TYPE string
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(result) TYPE z2ui5_if_core_types=>ty_s_request .
|
VALUE(result) TYPE z2ui5_if_core_types=>ty_s_request.
|
||||||
|
|
||||||
METHODS response_abap_to_json
|
METHODS response_abap_to_json
|
||||||
IMPORTING
|
IMPORTING
|
||||||
val TYPE z2ui5_if_core_types=>ty_s_response
|
val TYPE z2ui5_if_core_types=>ty_s_response
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(result) TYPE string .
|
VALUE(result) TYPE string.
|
||||||
|
|
||||||
METHODS model_front_to_back
|
METHODS model_front_to_back
|
||||||
IMPORTING
|
IMPORTING
|
||||||
view TYPE string
|
view TYPE string
|
||||||
t_attri TYPE REF TO z2ui5_if_core_types=>ty_t_attri
|
t_attri TYPE REF TO z2ui5_if_core_types=>ty_t_attri
|
||||||
model TYPE REF TO z2ui5_if_ajson .
|
model TYPE REF TO z2ui5_if_ajson.
|
||||||
|
|
||||||
METHODS model_back_to_front
|
METHODS model_back_to_front
|
||||||
IMPORTING
|
IMPORTING
|
||||||
t_attri TYPE REF TO z2ui5_if_core_types=>ty_t_attri
|
t_attri TYPE REF TO z2ui5_if_core_types=>ty_t_attri
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(result) TYPE string .
|
VALUE(result) TYPE string.
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS z2ui5_cl_core_srv_json IMPLEMENTATION.
|
CLASS z2ui5_cl_core_srv_json IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD model_front_to_back.
|
METHOD model_front_to_back.
|
||||||
|
|
||||||
IF line_exists( t_attri->*[ view = view ] ).
|
IF line_exists( t_attri->*[ view = view ] ).
|
||||||
|
@ -49,8 +46,8 @@ CLASS z2ui5_cl_core_srv_json IMPLEMENTATION.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
LOOP AT t_attri->* REFERENCE INTO DATA(lr_attri)
|
LOOP AT t_attri->* REFERENCE INTO DATA(lr_attri)
|
||||||
WHERE bind_type = z2ui5_if_core_types=>cs_bind_type-two_way
|
WHERE bind_type = z2ui5_if_core_types=>cs_bind_type-two_way
|
||||||
AND view = lv_view.
|
AND view = lv_view.
|
||||||
TRY.
|
TRY.
|
||||||
|
|
||||||
DATA(lo_val_front) = model->slice( lr_attri->name_client ).
|
DATA(lo_val_front) = model->slice( lr_attri->name_client ).
|
||||||
|
@ -71,19 +68,15 @@ CLASS z2ui5_cl_core_srv_json IMPLEMENTATION.
|
||||||
CONTINUE.
|
CONTINUE.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
lo_val_front->to_abap(
|
lo_val_front->to_abap( IMPORTING ev_container = <val> ).
|
||||||
IMPORTING
|
|
||||||
ev_container = <val> ).
|
|
||||||
|
|
||||||
CATCH cx_root INTO DATA(x).
|
CATCH cx_root INTO DATA(x).
|
||||||
z2ui5_cl_util=>x_raise( |JSON_PARSING_ERROR: { x->get_text( ) } | ).
|
z2ui5_cl_util=>x_raise( |JSON_PARSING_ERROR: { x->get_text( ) } | ).
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD model_back_to_front.
|
METHOD model_back_to_front.
|
||||||
TRY.
|
TRY.
|
||||||
|
|
||||||
|
@ -91,9 +84,11 @@ CLASS z2ui5_cl_core_srv_json IMPLEMENTATION.
|
||||||
LOOP AT t_attri->* REFERENCE INTO DATA(lr_attri) WHERE bind_type <> ``.
|
LOOP AT t_attri->* REFERENCE INTO DATA(lr_attri) WHERE bind_type <> ``.
|
||||||
|
|
||||||
IF lr_attri->custom_mapper IS BOUND.
|
IF lr_attri->custom_mapper IS BOUND.
|
||||||
DATA(ajson) = CAST z2ui5_if_ajson( z2ui5_cl_ajson=>create_empty( ii_custom_mapping = lr_attri->custom_mapper ) ).
|
DATA(ajson) = CAST z2ui5_if_ajson( z2ui5_cl_ajson=>create_empty(
|
||||||
|
ii_custom_mapping = lr_attri->custom_mapper ) ).
|
||||||
ELSE.
|
ELSE.
|
||||||
ajson = CAST z2ui5_if_ajson( z2ui5_cl_ajson=>create_empty( ii_custom_mapping = z2ui5_cl_ajson_mapping=>create_upper_case( ) ) ).
|
ajson = CAST z2ui5_if_ajson( z2ui5_cl_ajson=>create_empty(
|
||||||
|
ii_custom_mapping = z2ui5_cl_ajson_mapping=>create_upper_case( ) ) ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
CASE lr_attri->bind_type.
|
CASE lr_attri->bind_type.
|
||||||
|
@ -105,10 +100,14 @@ CLASS z2ui5_cl_core_srv_json IMPLEMENTATION.
|
||||||
CONTINUE.
|
CONTINUE.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
* ASSERT sy-subrc = 0.
|
* ASSERT sy-subrc = 0.
|
||||||
ajson->set( iv_ignore_empty = abap_false iv_path = `/` iv_val = <attribute> ).
|
ajson->set( iv_ignore_empty = abap_false
|
||||||
|
iv_path = `/`
|
||||||
|
iv_val = <attribute> ).
|
||||||
|
|
||||||
WHEN z2ui5_if_core_types=>cs_bind_type-one_time.
|
WHEN z2ui5_if_core_types=>cs_bind_type-one_time.
|
||||||
ajson->set( iv_ignore_empty = abap_false iv_path = `/` iv_val = lr_attri->json_bind_local ).
|
ajson->set( iv_ignore_empty = abap_false
|
||||||
|
iv_path = `/`
|
||||||
|
iv_val = lr_attri->json_bind_local ).
|
||||||
|
|
||||||
WHEN OTHERS.
|
WHEN OTHERS.
|
||||||
ASSERT `` = `ERROR_UNKNOWN_BIND_MODE`.
|
ASSERT `` = `ERROR_UNKNOWN_BIND_MODE`.
|
||||||
|
@ -118,7 +117,8 @@ CLASS z2ui5_cl_core_srv_json IMPLEMENTATION.
|
||||||
ajson = ajson->filter( lr_attri->custom_filter ).
|
ajson = ajson->filter( lr_attri->custom_filter ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
ajson_result->set( iv_path = lr_attri->name_client iv_val = ajson ).
|
ajson_result->set( iv_path = lr_attri->name_client
|
||||||
|
iv_val = ajson ).
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
|
||||||
result = ajson_result->stringify( ).
|
result = ajson_result->stringify( ).
|
||||||
|
@ -129,31 +129,28 @@ CLASS z2ui5_cl_core_srv_json IMPLEMENTATION.
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD request_json_to_abap.
|
METHOD request_json_to_abap.
|
||||||
TRY.
|
TRY.
|
||||||
|
|
||||||
DATA(lo_ajson) = CAST z2ui5_if_ajson( z2ui5_cl_ajson=>parse( val ) ).
|
DATA(lo_ajson) = CAST z2ui5_if_ajson( z2ui5_cl_ajson=>parse( val ) ).
|
||||||
|
|
||||||
DATA(lv_model_edit_name) = `/` && z2ui5_if_core_types=>cs_ui5-two_way_model.
|
DATA(lv_model_edit_name) = |/{ z2ui5_if_core_types=>cs_ui5-two_way_model }|.
|
||||||
|
|
||||||
result-o_model = z2ui5_cl_ajson=>create_empty( ).
|
result-o_model = z2ui5_cl_ajson=>create_empty( ).
|
||||||
DATA(lo_model) = lo_ajson->slice( lv_model_edit_name ).
|
DATA(lo_model) = lo_ajson->slice( lv_model_edit_name ).
|
||||||
result-o_model->set( iv_path = lv_model_edit_name iv_val = lo_model ).
|
result-o_model->set( iv_path = lv_model_edit_name
|
||||||
|
iv_val = lo_model ).
|
||||||
lo_ajson->delete( lv_model_edit_name ).
|
lo_ajson->delete( lv_model_edit_name ).
|
||||||
|
|
||||||
lo_ajson = lo_ajson->slice( `/S_FRONT` ).
|
lo_ajson = lo_ajson->slice( `/S_FRONT` ).
|
||||||
lo_ajson->to_abap(
|
lo_ajson->to_abap( EXPORTING iv_corresponding = abap_true
|
||||||
EXPORTING
|
IMPORTING ev_container = result-s_front ).
|
||||||
iv_corresponding = abap_true
|
|
||||||
IMPORTING
|
|
||||||
ev_container = result-s_front ).
|
|
||||||
|
|
||||||
result-s_front-o_comp_data = lo_ajson->slice( `/CONFIG/ComponentData` ).
|
result-s_front-o_comp_data = lo_ajson->slice( `/CONFIG/ComponentData` ).
|
||||||
|
|
||||||
result-s_control-check_launchpad = xsdbool( result-s_front-search CS `scenario=LAUNCHPAD`
|
result-s_control-check_launchpad = xsdbool( result-s_front-search CS `scenario=LAUNCHPAD`
|
||||||
OR result-s_front-pathname CS `/ui2/flp`
|
OR result-s_front-pathname CS `/ui2/flp`
|
||||||
OR result-s_front-pathname CS `test/flpSandbox`
|
OR result-s_front-pathname CS `test/flpSandbox`
|
||||||
).
|
).
|
||||||
IF result-s_front-id IS NOT INITIAL.
|
IF result-s_front-id IS NOT INITIAL.
|
||||||
RETURN.
|
RETURN.
|
||||||
|
@ -175,37 +172,36 @@ CLASS z2ui5_cl_core_srv_json IMPLEMENTATION.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
result-s_control-app_start = z2ui5_cl_util=>c_trim_upper(
|
result-s_control-app_start = z2ui5_cl_util=>c_trim_upper(
|
||||||
z2ui5_cl_util=>url_param_get( val = `app_start` url = result-s_front-search ) ).
|
z2ui5_cl_util=>url_param_get( val = `app_start`
|
||||||
|
url = result-s_front-search ) ).
|
||||||
|
|
||||||
CATCH cx_root INTO DATA(x).
|
CATCH cx_root INTO DATA(x).
|
||||||
RAISE EXCEPTION TYPE z2ui5_cx_util_error
|
RAISE EXCEPTION TYPE z2ui5_cx_util_error
|
||||||
EXPORTING
|
EXPORTING val = x.
|
||||||
val = x.
|
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD response_abap_to_json.
|
METHOD response_abap_to_json.
|
||||||
TRY.
|
TRY.
|
||||||
|
|
||||||
DATA(ajson_result) = CAST z2ui5_if_ajson( z2ui5_cl_ajson=>create_empty(
|
DATA(ajson_result) = CAST z2ui5_if_ajson( z2ui5_cl_ajson=>create_empty(
|
||||||
ii_custom_mapping = z2ui5_cl_ajson_mapping=>create_upper_case( ) ) ).
|
ii_custom_mapping = z2ui5_cl_ajson_mapping=>create_upper_case( ) ) ).
|
||||||
|
|
||||||
ajson_result->set( iv_path = `/` iv_val = val-s_front ).
|
ajson_result->set( iv_path = `/`
|
||||||
|
iv_val = val-s_front ).
|
||||||
ajson_result = ajson_result->filter( NEW z2ui5_cl_core_srv_json( ) ).
|
ajson_result = ajson_result->filter( NEW z2ui5_cl_core_srv_json( ) ).
|
||||||
DATA(lv_frontend) = ajson_result->stringify( ).
|
DATA(lv_frontend) = ajson_result->stringify( ).
|
||||||
|
|
||||||
result = `{` &&
|
result = |\{| &&
|
||||||
|"S_FRONT":{ lv_frontend },| &&
|
|"S_FRONT":{ lv_frontend },| &&
|
||||||
|"MODEL":{ val-model }| &&
|
|"MODEL":{ val-model }| &&
|
||||||
`}`.
|
|\}|.
|
||||||
|
|
||||||
CATCH cx_root INTO DATA(x).
|
CATCH cx_root INTO DATA(x).
|
||||||
ASSERT x IS NOT BOUND.
|
ASSERT x IS NOT BOUND.
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD z2ui5_if_ajson_filter~keep_node.
|
METHOD z2ui5_if_ajson_filter~keep_node.
|
||||||
|
|
||||||
rv_keep = abap_true.
|
rv_keep = abap_true.
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
CLASS ltcl_test DEFINITION FINAL FOR TESTING
|
CLASS ltcl_test DEFINITION FINAL
|
||||||
DURATION SHORT
|
FOR TESTING RISK LEVEL HARMLESS DURATION SHORT.
|
||||||
RISK LEVEL HARMLESS.
|
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
METHODS request_json_to_abap FOR TESTING RAISING cx_static_check.
|
METHODS request_json_to_abap FOR TESTING RAISING cx_static_check.
|
||||||
|
@ -9,39 +8,32 @@ ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
CLASS ltcl_test IMPLEMENTATION.
|
CLASS ltcl_test IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD request_json_to_abap.
|
METHOD request_json_to_abap.
|
||||||
|
|
||||||
DATA(lv_payload) = `{"XX":{"NAME":"test"},"S_FRONT":{"ID":"ID_NR","EDIT":{"NAME":"test"},"ORIGIN":"ORIGIN","PATHNAME":"PATHNAME","SEARCH":"SEARCH"` &&
|
DATA(lv_payload) = |\{"XX":\{"NAME":"test"\},"S_FRONT":\{"ID":"ID_NR","EDIT":\{"NAME":"test"\},"ORIGIN":"ORIGIN","PATHNAME":"PATHNAME","SEARCH":"SEARCH"| &&
|
||||||
`,"VIEW":"MAIN","EVENT":"BUTTON_POST","T_EVENT_ARG":[]}}`.
|
|,"VIEW":"MAIN","EVENT":"BUTTON_POST","T_EVENT_ARG":[]\}\}|.
|
||||||
|
|
||||||
DATA(lo_mapper) = NEW z2ui5_cl_core_srv_json( ).
|
DATA(lo_mapper) = NEW z2ui5_cl_core_srv_json( ).
|
||||||
DATA(ls_result) = lo_mapper->request_json_to_abap( lv_payload ).
|
DATA(ls_result) = lo_mapper->request_json_to_abap( lv_payload ).
|
||||||
|
|
||||||
DATA(ls_exp) = VALUE z2ui5_if_core_types=>ty_s_request(
|
DATA(ls_exp) = VALUE z2ui5_if_core_types=>ty_s_request( s_front = VALUE #( id = `ID_NR`
|
||||||
s_front = VALUE #(
|
view = `MAIN`
|
||||||
id = `ID_NR`
|
origin = `ORIGIN`
|
||||||
view = `MAIN`
|
pathname = `PATHNAME`
|
||||||
origin = `ORIGIN`
|
search = `SEARCH`
|
||||||
pathname = `PATHNAME`
|
event = `BUTTON_POST` ) ).
|
||||||
search = `SEARCH`
|
|
||||||
event = `BUTTON_POST` ) ).
|
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_equals( exp = ls_exp-s_front
|
||||||
act = ls_result-s_front
|
act = ls_result-s_front ).
|
||||||
exp = ls_exp-s_front ).
|
|
||||||
|
|
||||||
DATA(lt_tree) = VALUE z2ui5_if_ajson_types=>ty_nodes_ts( ).
|
DATA(lt_tree) = VALUE z2ui5_if_ajson_types=>ty_nodes_ts( ).
|
||||||
lt_tree = ls_result-o_model->mt_json_tree.
|
lt_tree = ls_result-o_model->mt_json_tree.
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_equals( exp = `test`
|
||||||
act = lt_tree[ name = `NAME` ]-value
|
act = lt_tree[ name = `NAME` ]-value ).
|
||||||
exp = `test` ).
|
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_equals( exp = 3
|
||||||
act = lines( lt_tree )
|
act = lines( lt_tree ) ).
|
||||||
exp = 3 ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
CLASS z2ui5_cl_core_srv_util DEFINITION
|
CLASS z2ui5_cl_core_srv_util DEFINITION
|
||||||
PUBLIC
|
PUBLIC
|
||||||
INHERITING FROM z2ui5_cl_util
|
INHERITING FROM z2ui5_cl_util
|
||||||
CREATE PUBLIC .
|
CREATE PUBLIC.
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
|
||||||
|
@ -19,37 +19,33 @@ CLASS z2ui5_cl_core_srv_util DEFINITION
|
||||||
VALUE(result) TYPE string.
|
VALUE(result) TYPE string.
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS z2ui5_cl_core_srv_util IMPLEMENTATION.
|
CLASS z2ui5_cl_core_srv_util IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD app_get_url.
|
METHOD app_get_url.
|
||||||
|
|
||||||
IF classname IS INITIAL.
|
IF classname IS INITIAL.
|
||||||
classname = rtti_get_classname_by_ref( client->get_app( ) ).
|
classname = rtti_get_classname_by_ref( client->get_app( ) ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
DATA(lv_url) = client->get( )-s_config-origin && client->get( )-s_config-pathname && `?`.
|
DATA(lv_url) = |{ client->get( )-s_config-origin }{ client->get( )-s_config-pathname }?|.
|
||||||
DATA(lt_param) = url_param_get_tab( client->get( )-s_config-search ).
|
DATA(lt_param) = url_param_get_tab( client->get( )-s_config-search ).
|
||||||
DELETE lt_param WHERE n = `app_start`.
|
DELETE lt_param WHERE n = `app_start`.
|
||||||
INSERT VALUE #( n = `app_start` v = to_lower( classname ) ) INTO TABLE lt_param.
|
INSERT VALUE #( n = `app_start`
|
||||||
|
v = to_lower( classname ) ) INTO TABLE lt_param.
|
||||||
|
|
||||||
result = lv_url && url_param_create_url( lt_param ) && client->get( )-s_config-hash.
|
result = lv_url && url_param_create_url( lt_param ) && client->get( )-s_config-hash.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD app_get_url_source_code.
|
METHOD app_get_url_source_code.
|
||||||
|
|
||||||
DATA(ls_config) = client->get( )-s_config.
|
DATA(ls_config) = client->get( )-s_config.
|
||||||
result = ls_config-origin && `/sap/bc/adt/oo/classes/`
|
result = |{ ls_config-origin }/sap/bc/adt/oo/classes/|
|
||||||
&& rtti_get_classname_by_ref( client->get_app( ) ) && `/source/main`.
|
&& |{ rtti_get_classname_by_ref( client->get_app( ) ) }/source/main|.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,7 +1,6 @@
|
||||||
CLASS z2ui5_cl_app_app_xml DEFINITION
|
CLASS z2ui5_cl_app_app_xml DEFINITION
|
||||||
PUBLIC
|
PUBLIC FINAL
|
||||||
FINAL
|
CREATE PUBLIC.
|
||||||
CREATE PUBLIC .
|
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
|
||||||
|
@ -10,24 +9,23 @@ CLASS z2ui5_cl_app_app_xml DEFINITION
|
||||||
VALUE(result) TYPE string.
|
VALUE(result) TYPE string.
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
CLASS z2ui5_cl_app_app_xml IMPLEMENTATION.
|
CLASS z2ui5_cl_app_app_xml IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD get.
|
METHOD get.
|
||||||
|
|
||||||
result = `<mvc:View controllerName="z2ui5.controller.App"` &&
|
result = |<mvc:View controllerName="z2ui5.controller.App"| &&
|
||||||
` xmlns:html="http://www.w3.org/1999/xhtml"` &&
|
| xmlns:html="http://www.w3.org/1999/xhtml"| &&
|
||||||
` xmlns:mvc="sap.ui.core.mvc" displayBlock="true"` &&
|
| xmlns:mvc="sap.ui.core.mvc" displayBlock="true"| &&
|
||||||
` xmlns="sap.m">` &&
|
| xmlns="sap.m">| &&
|
||||||
` <App id="app">` &&
|
| <App id="app">| &&
|
||||||
` </App>` &&
|
| </App>| &&
|
||||||
`</mvc:View>` &&
|
|</mvc:View>| &&
|
||||||
`` &&
|
|| &&
|
||||||
``.
|
||.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
CLASS z2ui5_cl_app_component_js DEFINITION
|
CLASS z2ui5_cl_app_component_js DEFINITION
|
||||||
PUBLIC
|
PUBLIC FINAL
|
||||||
FINAL
|
CREATE PUBLIC.
|
||||||
CREATE PUBLIC .
|
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
|
||||||
|
@ -10,77 +9,76 @@ CLASS z2ui5_cl_app_component_js DEFINITION
|
||||||
VALUE(result) TYPE string.
|
VALUE(result) TYPE string.
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
CLASS z2ui5_cl_app_component_js IMPLEMENTATION.
|
CLASS z2ui5_cl_app_component_js IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD get.
|
METHOD get.
|
||||||
|
|
||||||
result = `sap.ui.define(["sap/ui/core/UIComponent", "z2ui5/model/models",` && |\n| &&
|
result = |sap.ui.define(["sap/ui/core/UIComponent", "z2ui5/model/models",| && |\n| &&
|
||||||
` "z2ui5/cc/DebugTool","z2ui5/cc/Server", "sap/base/Log","sap/ui/VersionInfo"` && |\n| &&
|
| "z2ui5/cc/DebugTool","z2ui5/cc/Server", "sap/base/Log","sap/ui/VersionInfo"| && |\n| &&
|
||||||
`` && |\n| &&
|
|| && |\n| &&
|
||||||
` ], function (UIComponent, models, DebugTool, Server, Log, VersionInfo) {` && |\n| &&
|
| ], function (UIComponent, models, DebugTool, Server, Log, VersionInfo) \{| && |\n| &&
|
||||||
` return UIComponent.extend("z2ui5.Component", {` && |\n| &&
|
| return UIComponent.extend("z2ui5.Component", \{| && |\n| &&
|
||||||
` metadata: {` && |\n| &&
|
| metadata: \{| && |\n| &&
|
||||||
` manifest: "json"` && |\n| &&
|
| manifest: "json"| && |\n| &&
|
||||||
` },` && |\n| &&
|
| \},| && |\n| &&
|
||||||
` init: async function () {` && |\n| &&
|
| init: async function () \{| && |\n| &&
|
||||||
`` && |\n| &&
|
|| && |\n| &&
|
||||||
` UIComponent.prototype.init.apply(this, arguments);` && |\n| &&
|
| UIComponent.prototype.init.apply(this, arguments);| && |\n| &&
|
||||||
`` && |\n| &&
|
|| && |\n| &&
|
||||||
` this.getRouter().initialize();` && |\n| &&
|
| this.getRouter().initialize();| && |\n| &&
|
||||||
` z2ui5.oRouter = this.getRouter();` && |\n| &&
|
| z2ui5.oRouter = this.getRouter();| && |\n| &&
|
||||||
` this.setModel(models.createDeviceModel(), "device");` && |\n| &&
|
| this.setModel(models.createDeviceModel(), "device");| && |\n| &&
|
||||||
` this._oLogger = Log.getLogger("abap2UI5");` && |\n| &&
|
| this._oLogger = Log.getLogger("abap2UI5");| && |\n| &&
|
||||||
`` && |\n| &&
|
|| && |\n| &&
|
||||||
` z2ui5.oConfig = {};` && |\n| &&
|
| z2ui5.oConfig = \{\};| && |\n| &&
|
||||||
` z2ui5.oConfig.ComponentData = this.getComponentData();` && |\n| &&
|
| z2ui5.oConfig.ComponentData = this.getComponentData();| && |\n| &&
|
||||||
`` && |\n| &&
|
|| && |\n| &&
|
||||||
` try {` && |\n| &&
|
| try \{| && |\n| &&
|
||||||
` z2ui5.oLaunchpadService = await this.getService("ShellUIService");` && |\n| &&
|
| z2ui5.oLaunchpadService = await this.getService("ShellUIService");| && |\n| &&
|
||||||
` } catch (e) {}` && |\n| &&
|
| \} catch (e) \{\}| && |\n| &&
|
||||||
`` && |\n| &&
|
|| && |\n| &&
|
||||||
` let oVersionInfo = await VersionInfo.load();` && |\n| &&
|
| let oVersionInfo = await VersionInfo.load();| && |\n| &&
|
||||||
` z2ui5.oConfig.UI5VersionInfo = {` && |\n| &&
|
| z2ui5.oConfig.UI5VersionInfo = \{| && |\n| &&
|
||||||
` version : oVersionInfo.version,` && |\n| &&
|
| version : oVersionInfo.version,| && |\n| &&
|
||||||
` buildTimestamp : oVersionInfo.buildTimestamp,` && |\n| &&
|
| buildTimestamp : oVersionInfo.buildTimestamp,| && |\n| &&
|
||||||
` gav : oVersionInfo.gav,` && |\n| &&
|
| gav : oVersionInfo.gav,| && |\n| &&
|
||||||
` }` && |\n| &&
|
| \}| && |\n| &&
|
||||||
`` && |\n| &&
|
|| && |\n| &&
|
||||||
` if (/iPad|iPhone/.test(navigator.platform)) {` && |\n| &&
|
| if (/iPad\|iPhone/.test(navigator.platform)) \{| && |\n| &&
|
||||||
` window.addEventListener("__pagehide", this.__pagehide.bind(this));` && |\n| &&
|
| window.addEventListener("__pagehide", this.__pagehide.bind(this));| && |\n| &&
|
||||||
` } else {` && |\n| &&
|
| \} else \{| && |\n| &&
|
||||||
` window.addEventListener("__beforeunload", this.__beforeunload.bind(this));` && |\n| &&
|
| window.addEventListener("__beforeunload", this.__beforeunload.bind(this));| && |\n| &&
|
||||||
` }` && |\n| &&
|
| \}| && |\n| &&
|
||||||
`` && |\n| &&
|
|| && |\n| &&
|
||||||
` document.addEventListener("keydown", function (zEvent) {` && |\n| &&
|
| document.addEventListener("keydown", function (zEvent) \{| && |\n| &&
|
||||||
` if (zEvent?.key === "F12") {` && |\n| &&
|
| if (zEvent?.key === "F12") \{| && |\n| &&
|
||||||
` new z2ui5.cc.DebugTool().show();` && |\n| &&
|
| new z2ui5.cc.DebugTool().show();| && |\n| &&
|
||||||
` }` && |\n| &&
|
| \}| && |\n| &&
|
||||||
` });` && |\n| &&
|
| \});| && |\n| &&
|
||||||
` },` && |\n| &&
|
| \},| && |\n| &&
|
||||||
`` && |\n| &&
|
|| && |\n| &&
|
||||||
` __beforeunload: function () {` && |\n| &&
|
| __beforeunload: function () \{| && |\n| &&
|
||||||
` window.removeEventListener("__beforeunload", this.__beforeunload.bind(this));` && |\n| &&
|
| window.removeEventListener("__beforeunload", this.__beforeunload.bind(this));| && |\n| &&
|
||||||
` this.destroy();` && |\n| &&
|
| this.destroy();| && |\n| &&
|
||||||
` },` && |\n| &&
|
| \},| && |\n| &&
|
||||||
` __pagehide: function () {` && |\n| &&
|
| __pagehide: function () \{| && |\n| &&
|
||||||
` window.removeEventListener("__pagehide", this.__pagehide.bind(this));` && |\n| &&
|
| window.removeEventListener("__pagehide", this.__pagehide.bind(this));| && |\n| &&
|
||||||
` this.destroy();` && |\n| &&
|
| this.destroy();| && |\n| &&
|
||||||
` },` && |\n| &&
|
| \},| && |\n| &&
|
||||||
`` && |\n| &&
|
|| && |\n| &&
|
||||||
` exit: function () {` && |\n| &&
|
| exit: function () \{| && |\n| &&
|
||||||
` Server.endSession();` && |\n| &&
|
| Server.endSession();| && |\n| &&
|
||||||
` if (UIComponent.prototype.exit)` && |\n| &&
|
| if (UIComponent.prototype.exit)| && |\n| &&
|
||||||
` UIComponent.prototype.exit.apply(this, arguments);` && |\n| &&
|
| UIComponent.prototype.exit.apply(this, arguments);| && |\n| &&
|
||||||
` },` && |\n| &&
|
| \},| && |\n| &&
|
||||||
` });` && |\n| &&
|
| \});| && |\n| &&
|
||||||
`});` && |\n| &&
|
|\});| && |\n| &&
|
||||||
`` && |\n| &&
|
|| && |\n| &&
|
||||||
``.
|
||.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
CLASS z2ui5_cl_app_debugtool_js DEFINITION
|
CLASS z2ui5_cl_app_debugtool_js DEFINITION
|
||||||
PUBLIC
|
PUBLIC FINAL
|
||||||
FINAL
|
CREATE PUBLIC.
|
||||||
CREATE PUBLIC .
|
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
|
||||||
|
@ -10,159 +9,158 @@ CLASS z2ui5_cl_app_debugtool_js DEFINITION
|
||||||
VALUE(result) TYPE string.
|
VALUE(result) TYPE string.
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
CLASS z2ui5_cl_app_debugtool_js IMPLEMENTATION.
|
CLASS z2ui5_cl_app_debugtool_js IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD get.
|
METHOD get.
|
||||||
|
|
||||||
result = `sap.ui.define(["sap/ui/core/Control", "sap/ui/core/Fragment", "sap/ui/model/json/JSONModel"], (Control, Fragment, JSONModel) => {` && |\n| &&
|
result = |sap.ui.define(["sap/ui/core/Control", "sap/ui/core/Fragment", "sap/ui/model/json/JSONModel"], (Control, Fragment, JSONModel) => \{| && |\n| &&
|
||||||
` "use strict";` && |\n| &&
|
| "use strict";| && |\n| &&
|
||||||
`` && |\n| &&
|
|| && |\n| &&
|
||||||
` return Control.extend("z2ui5.cc.DebugTool", {` && |\n| &&
|
| return Control.extend("z2ui5.cc.DebugTool", \{| && |\n| &&
|
||||||
`` && |\n| &&
|
|| && |\n| &&
|
||||||
` //printer XML` && |\n| &&
|
| //printer XML| && |\n| &&
|
||||||
` prettifyXml: function (sourceXml) {` && |\n| &&
|
| prettifyXml: function (sourceXml) \{| && |\n| &&
|
||||||
` const xmlDoc = new DOMParser().parseFromString(sourceXml, 'application/xml');` && |\n| &&
|
| const xmlDoc = new DOMParser().parseFromString(sourceXml, 'application/xml');| && |\n| &&
|
||||||
` var sParse = ``<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform">` && |\n| &&
|
| var sParse = `<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform">| && |\n| &&
|
||||||
` <xsl:strip-space elements="*" />` && |\n| &&
|
| <xsl:strip-space elements="*" />| && |\n| &&
|
||||||
` <xsl:template match="para[content-style][not(text())]">` && |\n| &&
|
| <xsl:template match="para[content-style][not(text())]">| && |\n| &&
|
||||||
` <xsl:value-of select="normalize-space(.)" />` && |\n| &&
|
| <xsl:value-of select="normalize-space(.)" />| && |\n| &&
|
||||||
` </xsl:template>` && |\n| &&
|
| </xsl:template>| && |\n| &&
|
||||||
` <xsl:template match="node()|@*">` && |\n| &&
|
| <xsl:template match="node()\|@*">| && |\n| &&
|
||||||
` <xsl:copy>` && |\n| &&
|
| <xsl:copy>| && |\n| &&
|
||||||
` <xsl:apply-templates select="node()|@*" />` && |\n| &&
|
| <xsl:apply-templates select="node()\|@*" />| && |\n| &&
|
||||||
` </xsl:copy>` && |\n| &&
|
| </xsl:copy>| && |\n| &&
|
||||||
` </xsl:template>` && |\n| &&
|
| </xsl:template>| && |\n| &&
|
||||||
` <xsl:output indent="yes" />` && |\n| &&
|
| <xsl:output indent="yes" />| && |\n| &&
|
||||||
` </xsl:stylesheet>``;` && |\n| &&
|
| </xsl:stylesheet>`;| && |\n| &&
|
||||||
` sParse = sParse.replace(/>/g, unescape("%3E")).replace(/</g, unescape("%3C"));` && |\n| &&
|
| sParse = sParse.replace(/>/g, unescape("%3E")).replace(/</g, unescape("%3C"));| && |\n| &&
|
||||||
` const xsltDoc = new DOMParser().parseFromString(sParse, 'application/xml');` && |\n| &&
|
| const xsltDoc = new DOMParser().parseFromString(sParse, 'application/xml');| && |\n| &&
|
||||||
`` && |\n| &&
|
|| && |\n| &&
|
||||||
` const xsltProcessor = new XSLTProcessor();` && |\n| &&
|
| const xsltProcessor = new XSLTProcessor();| && |\n| &&
|
||||||
` xsltProcessor.importStylesheet(xsltDoc);` && |\n| &&
|
| xsltProcessor.importStylesheet(xsltDoc);| && |\n| &&
|
||||||
` const resultDoc = xsltProcessor.transformToDocument(xmlDoc);` && |\n| &&
|
| const resultDoc = xsltProcessor.transformToDocument(xmlDoc);| && |\n| &&
|
||||||
` const resultXml = new XMLSerializer().serializeToString(resultDoc);` && |\n| &&
|
| const resultXml = new XMLSerializer().serializeToString(resultDoc);| && |\n| &&
|
||||||
` return resultXml.replace(/>/g, ">").replace(/</g, "<");` && |\n| &&
|
| return resultXml.replace(/>/g, ">").replace(/</g, "<");| && |\n| &&
|
||||||
` }, onItemSelect: function (oEvent) {` && |\n| &&
|
| \}, onItemSelect: function (oEvent) \{| && |\n| &&
|
||||||
` const selItem = oEvent.getSource().getSelectedKey();` && |\n| &&
|
| const selItem = oEvent.getSource().getSelectedKey();| && |\n| &&
|
||||||
` const oView = z2ui5?.oView;` && |\n| &&
|
| const oView = z2ui5?.oView;| && |\n| &&
|
||||||
` const oResponse = z2ui5?.oResponse;` && |\n| &&
|
| const oResponse = z2ui5?.oResponse;| && |\n| &&
|
||||||
` const displayEditor = this.displayEditor.bind(this);` && |\n| &&
|
| const displayEditor = this.displayEditor.bind(this);| && |\n| &&
|
||||||
`` && |\n| &&
|
|| && |\n| &&
|
||||||
` switch (selItem) {` && |\n| &&
|
| switch (selItem) \{| && |\n| &&
|
||||||
` case 'CONFIG':` && |\n| &&
|
| case 'CONFIG':| && |\n| &&
|
||||||
` displayEditor(oEvent, JSON.stringify(z2ui5.oConfig, null, 3), 'json');` && |\n| &&
|
| displayEditor(oEvent, JSON.stringify(z2ui5.oConfig, null, 3), 'json');| && |\n| &&
|
||||||
` break;` && |\n| &&
|
| break;| && |\n| &&
|
||||||
` case 'MODEL':` && |\n| &&
|
| case 'MODEL':| && |\n| &&
|
||||||
` displayEditor(oEvent, JSON.stringify(oView?.getModel()?.getData(), null, 3), 'json');` && |\n| &&
|
| displayEditor(oEvent, JSON.stringify(oView?.getModel()?.getData(), null, 3), 'json');| && |\n| &&
|
||||||
` break;` && |\n| &&
|
| break;| && |\n| &&
|
||||||
` case 'VIEW':` && |\n| &&
|
| case 'VIEW':| && |\n| &&
|
||||||
` const viewContent = oView?.mProperties?.viewContent || z2ui5.responseData.S_FRONT.PARAMS.S_VIEW.XML;` && |\n| &&
|
| const viewContent = oView?.mProperties?.viewContent \|\| z2ui5.responseData.S_FRONT.PARAMS.S_VIEW.XML;| && |\n| &&
|
||||||
` displayEditor(oEvent, this.prettifyXml(viewContent), 'xml', this.prettifyXml(oView?._xContent.outerHTML));` && |\n| &&
|
| displayEditor(oEvent, this.prettifyXml(viewContent), 'xml', this.prettifyXml(oView?._xContent.outerHTML));| && |\n| &&
|
||||||
` break;` && |\n| &&
|
| break;| && |\n| &&
|
||||||
` case 'PLAIN':` && |\n| &&
|
| case 'PLAIN':| && |\n| &&
|
||||||
` displayEditor(oEvent, JSON.stringify(z2ui5.responseData, null, 3), 'json');` && |\n| &&
|
| displayEditor(oEvent, JSON.stringify(z2ui5.responseData, null, 3), 'json');| && |\n| &&
|
||||||
` break;` && |\n| &&
|
| break;| && |\n| &&
|
||||||
` case 'REQUEST':` && |\n| &&
|
| case 'REQUEST':| && |\n| &&
|
||||||
` displayEditor(oEvent, JSON.stringify(z2ui5.oBody, null, 3), 'json');` && |\n| &&
|
| displayEditor(oEvent, JSON.stringify(z2ui5.oBody, null, 3), 'json');| && |\n| &&
|
||||||
` break;` && |\n| &&
|
| break;| && |\n| &&
|
||||||
` case 'POPUP':` && |\n| &&
|
| case 'POPUP':| && |\n| &&
|
||||||
` displayEditor(oEvent, this.prettifyXml(oResponse?.PARAMS?.S_POPUP?.XML), 'xml');` && |\n| &&
|
| displayEditor(oEvent, this.prettifyXml(oResponse?.PARAMS?.S_POPUP?.XML), 'xml');| && |\n| &&
|
||||||
` break;` && |\n| &&
|
| break;| && |\n| &&
|
||||||
` case 'POPUP_MODEL':` && |\n| &&
|
| case 'POPUP_MODEL':| && |\n| &&
|
||||||
` displayEditor(oEvent, JSON.stringify(z2ui5.oViewPopup.getModel().getData(), null, 3), 'json');` && |\n| &&
|
| displayEditor(oEvent, JSON.stringify(z2ui5.oViewPopup.getModel().getData(), null, 3), 'json');| && |\n| &&
|
||||||
` break;` && |\n| &&
|
| break;| && |\n| &&
|
||||||
` case 'POPOVER':` && |\n| &&
|
| case 'POPOVER':| && |\n| &&
|
||||||
` displayEditor(oEvent, oResponse?.PARAMS?.S_POPOVER?.XML, 'xml');` && |\n| &&
|
| displayEditor(oEvent, oResponse?.PARAMS?.S_POPOVER?.XML, 'xml');| && |\n| &&
|
||||||
` break;` && |\n| &&
|
| break;| && |\n| &&
|
||||||
` case 'POPOVER_MODEL':` && |\n| &&
|
| case 'POPOVER_MODEL':| && |\n| &&
|
||||||
` displayEditor(oEvent, JSON.stringify(z2ui5?.oViewPopover?.getModel()?.getData(), null, 3), 'json');` && |\n| &&
|
| displayEditor(oEvent, JSON.stringify(z2ui5?.oViewPopover?.getModel()?.getData(), null, 3), 'json');| && |\n| &&
|
||||||
` break;` && |\n| &&
|
| break;| && |\n| &&
|
||||||
` case 'NEST1':` && |\n| &&
|
| case 'NEST1':| && |\n| &&
|
||||||
` displayEditor(oEvent, this.prettifyXml(z2ui5?.oViewNest?.mProperties?.viewContent), 'xml', this.prettifyXml(z2ui5?.oViewNest?._xContent.outerHTML));` && |\n| &&
|
| displayEditor(oEvent, this.prettifyXml(z2ui5?.oViewNest?.mProperties?.viewContent), 'xml', this.prettifyXml(z2ui5?.oViewNest?._xContent.outerHTML));| && |\n| &&
|
||||||
` break;` && |\n| &&
|
| break;| && |\n| &&
|
||||||
` case 'NEST1_MODEL':` && |\n| &&
|
| case 'NEST1_MODEL':| && |\n| &&
|
||||||
` displayEditor(oEvent, JSON.stringify(z2ui5?.oViewNest?.getModel()?.getData(), null, 3), 'json');` && |\n| &&
|
| displayEditor(oEvent, JSON.stringify(z2ui5?.oViewNest?.getModel()?.getData(), null, 3), 'json');| && |\n| &&
|
||||||
` break;` && |\n| &&
|
| break;| && |\n| &&
|
||||||
` case 'NEST2':` && |\n| &&
|
| case 'NEST2':| && |\n| &&
|
||||||
` displayEditor(oEvent, this.prettifyXml(z2ui5?.oViewNest2?.mProperties?.viewContent), 'xml', this.prettifyXml(z2ui5?.oViewNest2?._xContent.outerHTML));` && |\n| &&
|
| displayEditor(oEvent, this.prettifyXml(z2ui5?.oViewNest2?.mProperties?.viewContent), 'xml', this.prettifyXml(z2ui5?.oViewNest2?._xContent.outerHTML));| && |\n| &&
|
||||||
` break;` && |\n| &&
|
| break;| && |\n| &&
|
||||||
` case 'NEST2_MODEL':` && |\n| &&
|
| case 'NEST2_MODEL':| && |\n| &&
|
||||||
` displayEditor(oEvent, JSON.stringify(z2ui5?.oViewNest2?.getModel()?.getData(), null, 3), 'json');` && |\n| &&
|
| displayEditor(oEvent, JSON.stringify(z2ui5?.oViewNest2?.getModel()?.getData(), null, 3), 'json');| && |\n| &&
|
||||||
` break;` && |\n| &&
|
| break;| && |\n| &&
|
||||||
` case 'SOURCE':` && |\n| &&
|
| case 'SOURCE':| && |\n| &&
|
||||||
` const parent = oEvent.getSource().getParent();` && |\n| &&
|
| const parent = oEvent.getSource().getParent();| && |\n| &&
|
||||||
` const contentControl = parent.getContent()[2].getItems()[0];` && |\n| &&
|
| const contentControl = parent.getContent()[2].getItems()[0];| && |\n| &&
|
||||||
` const url = ``${window.location.origin}/sap/bc/adt/oo/classes/${z2ui5.responseData.S_FRONT.APP}/source/main``;` && |\n| &&
|
| const url = `$\{window.location.origin\}/sap/bc/adt/oo/classes/$\{z2ui5.responseData.S_FRONT.APP\}/source/main`;| && |\n| &&
|
||||||
` const content = atob('PGlmcmFtZSBpZD0idGVzdCIgc3JjPSInICsgdXJsICsgJyIgaGVpZ2h0PSI4MDBweCIgd2lkdGg9IjEyMDBweCIgLz4=').replace("' + url + '", url);` && |\n| &&
|
| const content = atob('PGlmcmFtZSBpZD0idGVzdCIgc3JjPSInICsgdXJsICsgJyIgaGVpZ2h0PSI4MDBweCIgd2lkdGg9IjEyMDBweCIgLz4=').replace("' + url + '", url);| && |\n| &&
|
||||||
` contentControl.setProperty("content", content);` && |\n| &&
|
| contentControl.setProperty("content", content);| && |\n| &&
|
||||||
` const modelData = oEvent.getSource().getModel().oData;` && |\n| &&
|
| const modelData = oEvent.getSource().getModel().oData;| && |\n| &&
|
||||||
` modelData.editor_visible = false;` && |\n| &&
|
| modelData.editor_visible = false;| && |\n| &&
|
||||||
` modelData.source_visible = true;` && |\n| &&
|
| modelData.source_visible = true;| && |\n| &&
|
||||||
` oEvent.getSource().getModel().refresh();` && |\n| &&
|
| oEvent.getSource().getModel().refresh();| && |\n| &&
|
||||||
` break;` && |\n| &&
|
| break;| && |\n| &&
|
||||||
` }` && |\n| &&
|
| \}| && |\n| &&
|
||||||
` },` && |\n| &&
|
| \},| && |\n| &&
|
||||||
`` && |\n| &&
|
|| && |\n| &&
|
||||||
` displayEditor: function (oEvent, content, type, xcontent = "") {` && |\n| &&
|
| displayEditor: function (oEvent, content, type, xcontent = "") \{| && |\n| &&
|
||||||
` const modelData = oEvent.getSource().getModel().oData;` && |\n| &&
|
| const modelData = oEvent.getSource().getModel().oData;| && |\n| &&
|
||||||
` modelData.editor_visible = true;` && |\n| &&
|
| modelData.editor_visible = true;| && |\n| &&
|
||||||
` modelData.source_visible = false;` && |\n| &&
|
| modelData.source_visible = false;| && |\n| &&
|
||||||
` modelData.isTemplating = content.includes("xmlns:template");` && |\n| &&
|
| modelData.isTemplating = content.includes("xmlns:template");| && |\n| &&
|
||||||
` modelData.value = content;` && |\n| &&
|
| modelData.value = content;| && |\n| &&
|
||||||
` modelData.previousValue = content;` && |\n| &&
|
| modelData.previousValue = content;| && |\n| &&
|
||||||
` modelData.xContent = xcontent;` && |\n| &&
|
| modelData.xContent = xcontent;| && |\n| &&
|
||||||
` modelData.type = type;` && |\n| &&
|
| modelData.type = type;| && |\n| &&
|
||||||
` oEvent.getSource().getModel().refresh();` && |\n| &&
|
| oEvent.getSource().getModel().refresh();| && |\n| &&
|
||||||
` },` && |\n| &&
|
| \},| && |\n| &&
|
||||||
`` && |\n| &&
|
|| && |\n| &&
|
||||||
` onTemplatingPress: function (oEvent) {` && |\n| &&
|
| onTemplatingPress: function (oEvent) \{| && |\n| &&
|
||||||
` const modelData = oEvent.getSource().getModel().oData;` && |\n| &&
|
| const modelData = oEvent.getSource().getModel().oData;| && |\n| &&
|
||||||
` modelData.value = oEvent.getSource().getPressed() ? modelData.xContent : modelData.previousValue;` && |\n| &&
|
| modelData.value = oEvent.getSource().getPressed() ? modelData.xContent : modelData.previousValue;| && |\n| &&
|
||||||
` oEvent.getSource().getModel().refresh();` && |\n| &&
|
| oEvent.getSource().getModel().refresh();| && |\n| &&
|
||||||
` },` && |\n| &&
|
| \},| && |\n| &&
|
||||||
`` && |\n| &&
|
|| && |\n| &&
|
||||||
` onClose: function () {` && |\n| &&
|
| onClose: function () \{| && |\n| &&
|
||||||
` this.oDialog.close();` && |\n| &&
|
| this.oDialog.close();| && |\n| &&
|
||||||
` },` && |\n| &&
|
| \},| && |\n| &&
|
||||||
`` && |\n| &&
|
|| && |\n| &&
|
||||||
` async show() {` && |\n| &&
|
| async show() \{| && |\n| &&
|
||||||
` if (!this.oDialog) {` && |\n| &&
|
| if (!this.oDialog) \{| && |\n| &&
|
||||||
` this.oDialog = await Fragment.load({` && |\n| &&
|
| this.oDialog = await Fragment.load(\{| && |\n| &&
|
||||||
` name: "z2ui5.cc.DebugTool",` && |\n| &&
|
| name: "z2ui5.cc.DebugTool",| && |\n| &&
|
||||||
` controller: this,` && |\n| &&
|
| controller: this,| && |\n| &&
|
||||||
` });` && |\n| &&
|
| \});| && |\n| &&
|
||||||
` }` && |\n| &&
|
| \}| && |\n| &&
|
||||||
`` && |\n| &&
|
|| && |\n| &&
|
||||||
` const value = JSON.stringify(z2ui5.responseData, null, 3);` && |\n| &&
|
| const value = JSON.stringify(z2ui5.responseData, null, 3);| && |\n| &&
|
||||||
` const oData = {` && |\n| &&
|
| const oData = \{| && |\n| &&
|
||||||
` type: 'json',` && |\n| &&
|
| type: 'json',| && |\n| &&
|
||||||
` source_visible: false,` && |\n| &&
|
| source_visible: false,| && |\n| &&
|
||||||
` editor_visible: true,` && |\n| &&
|
| editor_visible: true,| && |\n| &&
|
||||||
` value: value,` && |\n| &&
|
| value: value,| && |\n| &&
|
||||||
` xContent: '',` && |\n| &&
|
| xContent: '',| && |\n| &&
|
||||||
` previousValue: value,` && |\n| &&
|
| previousValue: value,| && |\n| &&
|
||||||
` isTemplating: false,` && |\n| &&
|
| isTemplating: false,| && |\n| &&
|
||||||
` templatingSource: false,` && |\n| &&
|
| templatingSource: false,| && |\n| &&
|
||||||
` activeNest1: z2ui5?.oViewNest?.mProperties?.viewContent !== undefined,` && |\n| &&
|
| activeNest1: z2ui5?.oViewNest?.mProperties?.viewContent !== undefined,| && |\n| &&
|
||||||
` activeNest2: z2ui5?.oViewNest2?.mProperties?.viewContent !== undefined,` && |\n| &&
|
| activeNest2: z2ui5?.oViewNest2?.mProperties?.viewContent !== undefined,| && |\n| &&
|
||||||
` activePopup: z2ui5?.oResponse?.PARAMS?.S_POPUP?.XML !== undefined,` && |\n| &&
|
| activePopup: z2ui5?.oResponse?.PARAMS?.S_POPUP?.XML !== undefined,| && |\n| &&
|
||||||
` activePopover: z2ui5?.oResponse?.PARAMS?.S_POPOVER?.XML !== undefined,` && |\n| &&
|
| activePopover: z2ui5?.oResponse?.PARAMS?.S_POPOVER?.XML !== undefined,| && |\n| &&
|
||||||
` };` && |\n| &&
|
| \};| && |\n| &&
|
||||||
` const oModel = new JSONModel(oData);` && |\n| &&
|
| const oModel = new JSONModel(oData);| && |\n| &&
|
||||||
`` && |\n| &&
|
|| && |\n| &&
|
||||||
` this.oDialog.addStyleClass('dbg-ltr');` && |\n| &&
|
| this.oDialog.addStyleClass('dbg-ltr');| && |\n| &&
|
||||||
` this.oDialog.setModel(oModel);` && |\n| &&
|
| this.oDialog.setModel(oModel);| && |\n| &&
|
||||||
` this.oDialog.open();` && |\n| &&
|
| this.oDialog.open();| && |\n| &&
|
||||||
` }` && |\n| &&
|
| \}| && |\n| &&
|
||||||
` });` && |\n| &&
|
| \});| && |\n| &&
|
||||||
`});` && |\n| &&
|
|\});| && |\n| &&
|
||||||
`` && |\n| &&
|
|| && |\n| &&
|
||||||
``.
|
||.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
CLASS z2ui5_cl_app_debugtool_xml DEFINITION
|
CLASS z2ui5_cl_app_debugtool_xml DEFINITION
|
||||||
PUBLIC
|
PUBLIC FINAL
|
||||||
FINAL
|
CREATE PUBLIC.
|
||||||
CREATE PUBLIC .
|
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
|
||||||
|
@ -10,121 +9,120 @@ CLASS z2ui5_cl_app_debugtool_xml DEFINITION
|
||||||
VALUE(result) TYPE string.
|
VALUE(result) TYPE string.
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
CLASS z2ui5_cl_app_debugtool_xml IMPLEMENTATION.
|
CLASS z2ui5_cl_app_debugtool_xml IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD get.
|
METHOD get.
|
||||||
|
|
||||||
result = `<core:FragmentDefinition` &&
|
result = |<core:FragmentDefinition| &&
|
||||||
` xmlns="sap.m"` &&
|
| xmlns="sap.m"| &&
|
||||||
` xmlns:mvc="sap.ui.core.mvc"` &&
|
| xmlns:mvc="sap.ui.core.mvc"| &&
|
||||||
` xmlns:core="sap.ui.core"` &&
|
| xmlns:core="sap.ui.core"| &&
|
||||||
` xmlns:html="http://www.w3.org/1999/xhtml"` &&
|
| xmlns:html="http://www.w3.org/1999/xhtml"| &&
|
||||||
` xmlns:ce="sap.ui.codeeditor"` &&
|
| xmlns:ce="sap.ui.codeeditor"| &&
|
||||||
`>` &&
|
|>| &&
|
||||||
` <Dialog` &&
|
| <Dialog| &&
|
||||||
` title="abap2UI5 - DebugTool"` &&
|
| title="abap2UI5 - DebugTool"| &&
|
||||||
` stretch="true"` &&
|
| stretch="true"| &&
|
||||||
` >` &&
|
| >| &&
|
||||||
` <IconTabHeader` &&
|
| <IconTabHeader| &&
|
||||||
` selectedKey="PLAIN"` &&
|
| selectedKey="PLAIN"| &&
|
||||||
` select="onItemSelect"` &&
|
| select="onItemSelect"| &&
|
||||||
` >` &&
|
| >| &&
|
||||||
` <items>` &&
|
| <items>| &&
|
||||||
` <IconTabFilter` &&
|
| <IconTabFilter| &&
|
||||||
` text="Config"` &&
|
| text="Config"| &&
|
||||||
` key="CONFIG"` &&
|
| key="CONFIG"| &&
|
||||||
` enabled="true"` &&
|
| enabled="true"| &&
|
||||||
` />` &&
|
| />| &&
|
||||||
` <IconTabFilter` &&
|
| <IconTabFilter| &&
|
||||||
` text="Previous Request"` &&
|
| text="Previous Request"| &&
|
||||||
` key="REQUEST"` &&
|
| key="REQUEST"| &&
|
||||||
` enabled="true"` &&
|
| enabled="true"| &&
|
||||||
` />` &&
|
| />| &&
|
||||||
` <IconTabFilter` &&
|
| <IconTabFilter| &&
|
||||||
` text="Response"` &&
|
| text="Response"| &&
|
||||||
` key="PLAIN"` &&
|
| key="PLAIN"| &&
|
||||||
` />` &&
|
| />| &&
|
||||||
` <IconTabFilter` &&
|
| <IconTabFilter| &&
|
||||||
` text="Source Code"` &&
|
| text="Source Code"| &&
|
||||||
` key="SOURCE"` &&
|
| key="SOURCE"| &&
|
||||||
` />` &&
|
| />| &&
|
||||||
` <IconTabFilter` &&
|
| <IconTabFilter| &&
|
||||||
` text="View"` &&
|
| text="View"| &&
|
||||||
` key="VIEW"` &&
|
| key="VIEW"| &&
|
||||||
` />` &&
|
| />| &&
|
||||||
` <IconTabFilter` &&
|
| <IconTabFilter| &&
|
||||||
` text="View Model"` &&
|
| text="View Model"| &&
|
||||||
` key="MODEL"` &&
|
| key="MODEL"| &&
|
||||||
` />` &&
|
| />| &&
|
||||||
` <IconTabFilter` &&
|
| <IconTabFilter| &&
|
||||||
` text="Popup"` &&
|
| text="Popup"| &&
|
||||||
` key="POPUP"` &&
|
| key="POPUP"| &&
|
||||||
` enabled="{/activePopup}"` &&
|
| enabled="\{/activePopup\}"| &&
|
||||||
` />` &&
|
| />| &&
|
||||||
` <IconTabFilter` &&
|
| <IconTabFilter| &&
|
||||||
` text="Popup Model"` &&
|
| text="Popup Model"| &&
|
||||||
` key="POPUP_MODEL"` &&
|
| key="POPUP_MODEL"| &&
|
||||||
` enabled="{/activePopup}"` &&
|
| enabled="\{/activePopup\}"| &&
|
||||||
` />` &&
|
| />| &&
|
||||||
` <IconTabFilter` &&
|
| <IconTabFilter| &&
|
||||||
` text="Popover"` &&
|
| text="Popover"| &&
|
||||||
` key="POPOVER"` &&
|
| key="POPOVER"| &&
|
||||||
` enabled="{/activePopover}"` &&
|
| enabled="\{/activePopover\}"| &&
|
||||||
` />` &&
|
| />| &&
|
||||||
` <IconTabFilter` &&
|
| <IconTabFilter| &&
|
||||||
` text="Popover Model"` &&
|
| text="Popover Model"| &&
|
||||||
` key="POPOVER_MODEL"` &&
|
| key="POPOVER_MODEL"| &&
|
||||||
` enabled="{/activePopover}"` &&
|
| enabled="\{/activePopover\}"| &&
|
||||||
` />` &&
|
| />| &&
|
||||||
` <IconTabFilter` &&
|
| <IconTabFilter| &&
|
||||||
` text="Nest1"` &&
|
| text="Nest1"| &&
|
||||||
` key="NEST1"` &&
|
| key="NEST1"| &&
|
||||||
` enabled="{/activeNest1}"` &&
|
| enabled="\{/activeNest1\}"| &&
|
||||||
` />` &&
|
| />| &&
|
||||||
` <IconTabFilter` &&
|
| <IconTabFilter| &&
|
||||||
` text="Nest1 Model"` &&
|
| text="Nest1 Model"| &&
|
||||||
` key="NEST1_MODEL"` &&
|
| key="NEST1_MODEL"| &&
|
||||||
` enabled="{/activeNest1}"` &&
|
| enabled="\{/activeNest1\}"| &&
|
||||||
` />` &&
|
| />| &&
|
||||||
` <IconTabFilter` &&
|
| <IconTabFilter| &&
|
||||||
` text="Nest2"` &&
|
| text="Nest2"| &&
|
||||||
` key="NEST2"` &&
|
| key="NEST2"| &&
|
||||||
` enabled="{/activeNest2}"` &&
|
| enabled="\{/activeNest2\}"| &&
|
||||||
` />` &&
|
| />| &&
|
||||||
` <IconTabFilter` &&
|
| <IconTabFilter| &&
|
||||||
` text="Nest2 Model"` &&
|
| text="Nest2 Model"| &&
|
||||||
` key="NEST2_MODEL"` &&
|
| key="NEST2_MODEL"| &&
|
||||||
` enabled="{/activeNest2}"` &&
|
| enabled="\{/activeNest2\}"| &&
|
||||||
` />` &&
|
| />| &&
|
||||||
` </items>` &&
|
| </items>| &&
|
||||||
` </IconTabHeader>` &&
|
| </IconTabHeader>| &&
|
||||||
` <VBox>` &&
|
| <VBox>| &&
|
||||||
` <ToggleButton text="Source XML after Templating" visible="{/isTemplating}" pressed="{/templatingSource}" press="onTemplatingPress" />` &&
|
| <ToggleButton text="Source XML after Templating" visible="\{/isTemplating\}" pressed="\{/templatingSource\}" press="onTemplatingPress" />| &&
|
||||||
` <ce:CodeEditor` &&
|
| <ce:CodeEditor| &&
|
||||||
` type="{/type}"` &&
|
| type="\{/type\}"| &&
|
||||||
` value="{/value}"` &&
|
| value="\{/value\}"| &&
|
||||||
` height="2000px"` &&
|
| height="2000px"| &&
|
||||||
` width="10000px"` &&
|
| width="10000px"| &&
|
||||||
` visible="{/editor_visible}"` &&
|
| visible="\{/editor_visible\}"| &&
|
||||||
` /></VBox>` &&
|
| /></VBox>| &&
|
||||||
` <VBox visible="{/source_visible}">` &&
|
| <VBox visible="\{/source_visible\}">| &&
|
||||||
` <core:HTML/>` &&
|
| <core:HTML/>| &&
|
||||||
` </VBox>` &&
|
| </VBox>| &&
|
||||||
` <endButton>` &&
|
| <endButton>| &&
|
||||||
` <Button` &&
|
| <Button| &&
|
||||||
` text="Close"` &&
|
| text="Close"| &&
|
||||||
` press="onClose"` &&
|
| press="onClose"| &&
|
||||||
` />` &&
|
| />| &&
|
||||||
` </endButton>` &&
|
| </endButton>| &&
|
||||||
` </Dialog>` &&
|
| </Dialog>| &&
|
||||||
`</core:FragmentDefinition>` &&
|
|</core:FragmentDefinition>| &&
|
||||||
`` &&
|
|| &&
|
||||||
``.
|
||.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
CLASS z2ui5_cl_app_index_html DEFINITION
|
CLASS z2ui5_cl_app_index_html DEFINITION
|
||||||
PUBLIC
|
PUBLIC FINAL
|
||||||
FINAL
|
CREATE PUBLIC.
|
||||||
CREATE PUBLIC .
|
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
|
||||||
|
@ -10,51 +9,50 @@ CLASS z2ui5_cl_app_index_html DEFINITION
|
||||||
VALUE(result) TYPE string.
|
VALUE(result) TYPE string.
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
CLASS z2ui5_cl_app_index_html IMPLEMENTATION.
|
CLASS z2ui5_cl_app_index_html IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD get.
|
METHOD get.
|
||||||
|
|
||||||
result = `<!DOCTYPE html>` &&
|
result = |<!DOCTYPE html>| &&
|
||||||
`<html lang="en">` &&
|
|<html lang="en">| &&
|
||||||
`<head>` &&
|
|<head>| &&
|
||||||
` <meta charset="UTF-8">` &&
|
| <meta charset="UTF-8">| &&
|
||||||
` <meta name="viewport" content="width=device-width, initial-scale=1.0">` &&
|
| <meta name="viewport" content="width=device-width, initial-scale=1.0">| &&
|
||||||
` <meta http-equiv="X-UA-Compatible" content="IE=edge">` &&
|
| <meta http-equiv="X-UA-Compatible" content="IE=edge">| &&
|
||||||
` <title></title>` &&
|
| <title></title>| &&
|
||||||
` <style>` &&
|
| <style>| &&
|
||||||
` html, body, body > div, #container, #container-uiarea {` &&
|
| html, body, body > div, #container, #container-uiarea \{| &&
|
||||||
` height: 100%;` &&
|
| height: 100%;| &&
|
||||||
` }` &&
|
| \}| &&
|
||||||
` </style>` &&
|
| </style>| &&
|
||||||
` <script` &&
|
| <script| &&
|
||||||
` id="sap-ui-bootstrap"` &&
|
| id="sap-ui-bootstrap"| &&
|
||||||
` src="https://openui5.hana.ondemand.com/resources/sap-ui-core.js"` &&
|
| src="https://openui5.hana.ondemand.com/resources/sap-ui-core.js"| &&
|
||||||
` data-sap-ui-theme="sap_horizon"` &&
|
| data-sap-ui-theme="sap_horizon"| &&
|
||||||
` data-sap-ui-resourceroots='{` &&
|
| data-sap-ui-resourceroots='\{| &&
|
||||||
` "z2ui5": "./"` &&
|
| "z2ui5": "./"| &&
|
||||||
` }'` &&
|
| \}'| &&
|
||||||
` data-sap-ui-oninit="module:sap/ui/core/ComponentSupport"` &&
|
| data-sap-ui-oninit="module:sap/ui/core/ComponentSupport"| &&
|
||||||
` data-sap-ui-compatVersion="edge"` &&
|
| data-sap-ui-compatVersion="edge"| &&
|
||||||
` data-sap-ui-async="true"` &&
|
| data-sap-ui-async="true"| &&
|
||||||
` data-sap-ui-frameOptions="trusted"` &&
|
| data-sap-ui-frameOptions="trusted"| &&
|
||||||
` ></script>` &&
|
| ></script>| &&
|
||||||
`</head>` &&
|
|</head>| &&
|
||||||
`<body class="sapUiBody sapUiSizeCompact" id="content">` &&
|
|<body class="sapUiBody sapUiSizeCompact" id="content">| &&
|
||||||
` <div` &&
|
| <div| &&
|
||||||
` data-sap-ui-component` &&
|
| data-sap-ui-component| &&
|
||||||
` data-name="z2ui5"` &&
|
| data-name="z2ui5"| &&
|
||||||
` data-id="container"` &&
|
| data-id="container"| &&
|
||||||
` data-settings='{"id" : "z2ui5"}'` &&
|
| data-settings='\{"id" : "z2ui5"\}'| &&
|
||||||
` data-handle-validation="true"` &&
|
| data-handle-validation="true"| &&
|
||||||
` ></div>` &&
|
| ></div>| &&
|
||||||
`</body>` &&
|
|</body>| &&
|
||||||
`</html>` &&
|
|</html>| &&
|
||||||
``.
|
||.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
CLASS z2ui5_cl_app_manifest_json DEFINITION
|
CLASS z2ui5_cl_app_manifest_json DEFINITION
|
||||||
PUBLIC
|
PUBLIC FINAL
|
||||||
FINAL
|
CREATE PUBLIC.
|
||||||
CREATE PUBLIC .
|
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
|
||||||
|
@ -10,160 +9,159 @@ CLASS z2ui5_cl_app_manifest_json DEFINITION
|
||||||
VALUE(result) TYPE string.
|
VALUE(result) TYPE string.
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
CLASS z2ui5_cl_app_manifest_json IMPLEMENTATION.
|
CLASS z2ui5_cl_app_manifest_json IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD get.
|
METHOD get.
|
||||||
|
|
||||||
result = `{` &&
|
result = |\{| &&
|
||||||
` "_version": "1.65.0",` &&
|
| "_version": "1.65.0",| &&
|
||||||
` "sap.app": {` &&
|
| "sap.app": \{| &&
|
||||||
` "id": "z2ui5",` &&
|
| "id": "z2ui5",| &&
|
||||||
` "type": "application",` &&
|
| "type": "application",| &&
|
||||||
` "applicationVersion": {` &&
|
| "applicationVersion": \{| &&
|
||||||
` "version": "0.0.1"` &&
|
| "version": "0.0.1"| &&
|
||||||
` },` &&
|
| \},| &&
|
||||||
` "title": "{{appTitle}}",` &&
|
| "title": "\{\{appTitle\}\}",| &&
|
||||||
` "description": "{{appDescription}}",` &&
|
| "description": "\{\{appDescription\}\}",| &&
|
||||||
` "resources": "resources.json",` &&
|
| "resources": "resources.json",| &&
|
||||||
` "sourceTemplate": {` &&
|
| "sourceTemplate": \{| &&
|
||||||
` "id": "@sap/generator-fiori:basic",` &&
|
| "id": "@sap/generator-fiori:basic",| &&
|
||||||
` "version": "1.15.0",` &&
|
| "version": "1.15.0",| &&
|
||||||
` "toolsId": "3a966e20-9635-4c28-8861-d1b66f79f1de"` &&
|
| "toolsId": "3a966e20-9635-4c28-8861-d1b66f79f1de"| &&
|
||||||
` },` &&
|
| \},| &&
|
||||||
` "dataSources": {` &&
|
| "dataSources": \{| &&
|
||||||
` "mainService": {` &&
|
| "mainService": \{| &&
|
||||||
` "uri": "/sap/bc/z2ui5",` &&
|
| "uri": "/sap/bc/z2ui5",| &&
|
||||||
` "type": "OData",` &&
|
| "type": "OData",| &&
|
||||||
` "settings": {` &&
|
| "settings": \{| &&
|
||||||
` "annotations": [],` &&
|
| "annotations": [],| &&
|
||||||
` "localUri": "localService/metadata.xml",` &&
|
| "localUri": "localService/metadata.xml",| &&
|
||||||
` "odataVersion": "2.0"` &&
|
| "odataVersion": "2.0"| &&
|
||||||
` }` &&
|
| \}| &&
|
||||||
` }` &&
|
| \}| &&
|
||||||
` },` &&
|
| \},| &&
|
||||||
` "crossNavigation": {` &&
|
| "crossNavigation": \{| &&
|
||||||
` "inbounds": {` &&
|
| "inbounds": \{| &&
|
||||||
` "z2ui5-display": {` &&
|
| "z2ui5-display": \{| &&
|
||||||
` "semanticObject": "z2ui5",` &&
|
| "semanticObject": "z2ui5",| &&
|
||||||
` "action": "display",` &&
|
| "action": "display",| &&
|
||||||
` "title": "{{flpTitle}}",` &&
|
| "title": "\{\{flpTitle\}\}",| &&
|
||||||
` "signature": {` &&
|
| "signature": \{| &&
|
||||||
` "parameters": {},` &&
|
| "parameters": \{\},| &&
|
||||||
` "additionalParameters": "allowed"` &&
|
| "additionalParameters": "allowed"| &&
|
||||||
` }` &&
|
| \}| &&
|
||||||
` }` &&
|
| \}| &&
|
||||||
` }` &&
|
| \}| &&
|
||||||
` }` &&
|
| \}| &&
|
||||||
` },` &&
|
| \},| &&
|
||||||
` "sap.ui": {` &&
|
| "sap.ui": \{| &&
|
||||||
` "technology": "UI5",` &&
|
| "technology": "UI5",| &&
|
||||||
` "icons": {` &&
|
| "icons": \{| &&
|
||||||
` "icon": "",` &&
|
| "icon": "",| &&
|
||||||
` "favIcon": "",` &&
|
| "favIcon": "",| &&
|
||||||
` "phone": "",` &&
|
| "phone": "",| &&
|
||||||
` "phone@2": "",` &&
|
| "phone@2": "",| &&
|
||||||
` "tablet": "",` &&
|
| "tablet": "",| &&
|
||||||
` "tablet@2": ""` &&
|
| "tablet@2": ""| &&
|
||||||
` },` &&
|
| \},| &&
|
||||||
` "deviceTypes": {` &&
|
| "deviceTypes": \{| &&
|
||||||
` "desktop": true,` &&
|
| "desktop": true,| &&
|
||||||
` "tablet": true,` &&
|
| "tablet": true,| &&
|
||||||
` "phone": true` &&
|
| "phone": true| &&
|
||||||
` }` &&
|
| \}| &&
|
||||||
` },` &&
|
| \},| &&
|
||||||
` "sap.ui5": {` &&
|
| "sap.ui5": \{| &&
|
||||||
` "flexEnabled": true,` &&
|
| "flexEnabled": true,| &&
|
||||||
` "dependencies": {` &&
|
| "dependencies": \{| &&
|
||||||
` "minUI5Version": "1.128.1",` &&
|
| "minUI5Version": "1.128.1",| &&
|
||||||
` "libs": {` &&
|
| "libs": \{| &&
|
||||||
` "sap.m": {},` &&
|
| "sap.m": \{\},| &&
|
||||||
` "sap.ui.core": {}` &&
|
| "sap.ui.core": \{\}| &&
|
||||||
` }` &&
|
| \}| &&
|
||||||
` },` &&
|
| \},| &&
|
||||||
` "contentDensities": {` &&
|
| "contentDensities": \{| &&
|
||||||
` "compact": true,` &&
|
| "compact": true,| &&
|
||||||
` "cozy": true` &&
|
| "cozy": true| &&
|
||||||
` },` &&
|
| \},| &&
|
||||||
` "services": {` &&
|
| "services": \{| &&
|
||||||
` "ShellUIService": {` &&
|
| "ShellUIService": \{| &&
|
||||||
` "factoryName": "sap.ushell.ui5service.ShellUIService"` &&
|
| "factoryName": "sap.ushell.ui5service.ShellUIService"| &&
|
||||||
` }` &&
|
| \}| &&
|
||||||
` },` &&
|
| \},| &&
|
||||||
` "models": {` &&
|
| "models": \{| &&
|
||||||
` "": {` &&
|
| "": \{| &&
|
||||||
` "dataSource": "mainService",` &&
|
| "dataSource": "mainService",| &&
|
||||||
` "preload": true,` &&
|
| "preload": true,| &&
|
||||||
` "settings": {}` &&
|
| "settings": \{\}| &&
|
||||||
` }` &&
|
| \}| &&
|
||||||
` },` &&
|
| \},| &&
|
||||||
` "resources": {` &&
|
| "resources": \{| &&
|
||||||
` "css": [` &&
|
| "css": [| &&
|
||||||
` {` &&
|
| \{| &&
|
||||||
` "uri": "css/style.css"` &&
|
| "uri": "css/style.css"| &&
|
||||||
` }` &&
|
| \}| &&
|
||||||
` ]` &&
|
| ]| &&
|
||||||
` },` &&
|
| \},| &&
|
||||||
` "routing": {` &&
|
| "routing": \{| &&
|
||||||
` "config": {` &&
|
| "config": \{| &&
|
||||||
` "routerClass": "sap.m.routing.Router",` &&
|
| "routerClass": "sap.m.routing.Router",| &&
|
||||||
` "viewType": "XML",` &&
|
| "viewType": "XML",| &&
|
||||||
` "async": true,` &&
|
| "async": true,| &&
|
||||||
` "viewPath": "z2ui5.view",` &&
|
| "viewPath": "z2ui5.view",| &&
|
||||||
` "controlAggregation": "pages",` &&
|
| "controlAggregation": "pages",| &&
|
||||||
` "controlId": "app",` &&
|
| "controlId": "app",| &&
|
||||||
` "clearControlAggregation": false` &&
|
| "clearControlAggregation": false| &&
|
||||||
` },` &&
|
| \},| &&
|
||||||
` "routes": [` &&
|
| "routes": [| &&
|
||||||
` {` &&
|
| \{| &&
|
||||||
` "name": "RouteView1",` &&
|
| "name": "RouteView1",| &&
|
||||||
` "pattern": ":?query:",` &&
|
| "pattern": ":?query:",| &&
|
||||||
` "target": [` &&
|
| "target": [| &&
|
||||||
` "TargetView1"` &&
|
| "TargetView1"| &&
|
||||||
` ]` &&
|
| ]| &&
|
||||||
` },` &&
|
| \},| &&
|
||||||
` {` &&
|
| \{| &&
|
||||||
` "name": "RouteView2",` &&
|
| "name": "RouteView2",| &&
|
||||||
` "pattern": ":?query:",` &&
|
| "pattern": ":?query:",| &&
|
||||||
` "target": [` &&
|
| "target": [| &&
|
||||||
` "TargetView2"` &&
|
| "TargetView2"| &&
|
||||||
` ]` &&
|
| ]| &&
|
||||||
` }` &&
|
| \}| &&
|
||||||
` ],` &&
|
| ],| &&
|
||||||
` "targets": {` &&
|
| "targets": \{| &&
|
||||||
` "TargetView1": {` &&
|
| "TargetView1": \{| &&
|
||||||
` "viewType": "XML",` &&
|
| "viewType": "XML",| &&
|
||||||
` "transition": "flip",` &&
|
| "transition": "flip",| &&
|
||||||
` "clearControlAggregation": false,` &&
|
| "clearControlAggregation": false,| &&
|
||||||
` "viewId": "View1",` &&
|
| "viewId": "View1",| &&
|
||||||
` "viewName": "View1"` &&
|
| "viewName": "View1"| &&
|
||||||
` },` &&
|
| \},| &&
|
||||||
` "TargetView2": {` &&
|
| "TargetView2": \{| &&
|
||||||
` "viewType": "XML",` &&
|
| "viewType": "XML",| &&
|
||||||
` "transition": "flip",` &&
|
| "transition": "flip",| &&
|
||||||
` "clearControlAggregation": false,` &&
|
| "clearControlAggregation": false,| &&
|
||||||
` "viewId": "View2",` &&
|
| "viewId": "View2",| &&
|
||||||
` "viewName": "View2"` &&
|
| "viewName": "View2"| &&
|
||||||
` }` &&
|
| \}| &&
|
||||||
` }` &&
|
| \}| &&
|
||||||
` },` &&
|
| \},| &&
|
||||||
` "rootView": {` &&
|
| "rootView": \{| &&
|
||||||
` "viewName": "z2ui5.view.App",` &&
|
| "viewName": "z2ui5.view.App",| &&
|
||||||
` "type": "XML",` &&
|
| "type": "XML",| &&
|
||||||
` "async": true,` &&
|
| "async": true,| &&
|
||||||
` "id": "App"` &&
|
| "id": "App"| &&
|
||||||
` }` &&
|
| \}| &&
|
||||||
` },` &&
|
| \},| &&
|
||||||
` "sap.cloud": {` &&
|
| "sap.cloud": \{| &&
|
||||||
` "public": true,` &&
|
| "public": true,| &&
|
||||||
` "service": "z2ui5"` &&
|
| "service": "z2ui5"| &&
|
||||||
` }` &&
|
| \}| &&
|
||||||
`}` &&
|
|\}| &&
|
||||||
``.
|
||.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
CLASS z2ui5_cl_app_models_js DEFINITION
|
CLASS z2ui5_cl_app_models_js DEFINITION
|
||||||
PUBLIC
|
PUBLIC FINAL
|
||||||
FINAL
|
CREATE PUBLIC.
|
||||||
CREATE PUBLIC .
|
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
|
||||||
|
@ -10,35 +9,34 @@ CLASS z2ui5_cl_app_models_js DEFINITION
|
||||||
VALUE(result) TYPE string.
|
VALUE(result) TYPE string.
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
CLASS z2ui5_cl_app_models_js IMPLEMENTATION.
|
CLASS z2ui5_cl_app_models_js IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD get.
|
METHOD get.
|
||||||
|
|
||||||
result = `sap.ui.define([` && |\n| &&
|
result = |sap.ui.define([| && |\n| &&
|
||||||
` "sap/ui/model/json/JSONModel",` && |\n| &&
|
| "sap/ui/model/json/JSONModel",| && |\n| &&
|
||||||
` "sap/ui/Device"` && |\n| &&
|
| "sap/ui/Device"| && |\n| &&
|
||||||
`],` && |\n| &&
|
|],| && |\n| &&
|
||||||
`function (JSONModel, Device) {` && |\n| &&
|
|function (JSONModel, Device) \{| && |\n| &&
|
||||||
` "use strict";` && |\n| &&
|
| "use strict";| && |\n| &&
|
||||||
`` && |\n| &&
|
|| && |\n| &&
|
||||||
` return {` && |\n| &&
|
| return \{| && |\n| &&
|
||||||
` /**` && |\n| &&
|
| /**| && |\n| &&
|
||||||
` * Provides runtime info for the device the UI5 app is running on as JSONModel` && |\n| &&
|
| * Provides runtime info for the device the UI5 app is running on as JSONModel| && |\n| &&
|
||||||
` */` && |\n| &&
|
| */| && |\n| &&
|
||||||
` createDeviceModel: function () {` && |\n| &&
|
| createDeviceModel: function () \{| && |\n| &&
|
||||||
` var oModel = new JSONModel(Device);` && |\n| &&
|
| var oModel = new JSONModel(Device);| && |\n| &&
|
||||||
` oModel.setDefaultBindingMode("OneWay");` && |\n| &&
|
| oModel.setDefaultBindingMode("OneWay");| && |\n| &&
|
||||||
` return oModel;` && |\n| &&
|
| return oModel;| && |\n| &&
|
||||||
` }` && |\n| &&
|
| \}| && |\n| &&
|
||||||
` };` && |\n| &&
|
| \};| && |\n| &&
|
||||||
`` && |\n| &&
|
|| && |\n| &&
|
||||||
`});` && |\n| &&
|
|\});| && |\n| &&
|
||||||
``.
|
||.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
CLASS z2ui5_cl_app_server_js DEFINITION
|
CLASS z2ui5_cl_app_server_js DEFINITION
|
||||||
PUBLIC
|
PUBLIC FINAL
|
||||||
FINAL
|
CREATE PUBLIC.
|
||||||
CREATE PUBLIC .
|
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
|
||||||
|
@ -10,163 +9,162 @@ CLASS z2ui5_cl_app_server_js DEFINITION
|
||||||
VALUE(result) TYPE string.
|
VALUE(result) TYPE string.
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
CLASS z2ui5_cl_app_server_js IMPLEMENTATION.
|
CLASS z2ui5_cl_app_server_js IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD get.
|
METHOD get.
|
||||||
|
|
||||||
result = `sap.ui.define(["sap/ui/core/BusyIndicator", "sap/m/MessageBox"` && |\n| &&
|
result = |sap.ui.define(["sap/ui/core/BusyIndicator", "sap/m/MessageBox"| && |\n| &&
|
||||||
`],` && |\n| &&
|
|],| && |\n| &&
|
||||||
` function (BusyIndicator, MessageBox) {` && |\n| &&
|
| function (BusyIndicator, MessageBox) \{| && |\n| &&
|
||||||
` "use strict";` && |\n| &&
|
| "use strict";| && |\n| &&
|
||||||
`` && |\n| &&
|
|| && |\n| &&
|
||||||
` return {` && |\n| &&
|
| return \{| && |\n| &&
|
||||||
`` && |\n| &&
|
|| && |\n| &&
|
||||||
` endSession: function () {` && |\n| &&
|
| endSession: function () \{| && |\n| &&
|
||||||
`` && |\n| &&
|
|| && |\n| &&
|
||||||
` if (z2ui5.contextId) {` && |\n| &&
|
| if (z2ui5.contextId) \{| && |\n| &&
|
||||||
` fetch(z2ui5.oConfig.pathname, {` && |\n| &&
|
| fetch(z2ui5.oConfig.pathname, \{| && |\n| &&
|
||||||
` method: 'HEAD',` && |\n| &&
|
| method: 'HEAD',| && |\n| &&
|
||||||
` keepalive: true,` && |\n| &&
|
| keepalive: true,| && |\n| &&
|
||||||
` headers: {` && |\n| &&
|
| headers: \{| && |\n| &&
|
||||||
` 'sap-terminate': 'session',` && |\n| &&
|
| 'sap-terminate': 'session',| && |\n| &&
|
||||||
` 'sap-contextid': z2ui5.contextId,` && |\n| &&
|
| 'sap-contextid': z2ui5.contextId,| && |\n| &&
|
||||||
` 'sap-contextid-accept': 'header'` && |\n| &&
|
| 'sap-contextid-accept': 'header'| && |\n| &&
|
||||||
` }` && |\n| &&
|
| \}| && |\n| &&
|
||||||
` });` && |\n| &&
|
| \});| && |\n| &&
|
||||||
` delete z2ui5.contextId;` && |\n| &&
|
| delete z2ui5.contextId;| && |\n| &&
|
||||||
` }` && |\n| &&
|
| \}| && |\n| &&
|
||||||
`` && |\n| &&
|
|| && |\n| &&
|
||||||
` },` && |\n| &&
|
| \},| && |\n| &&
|
||||||
` Roundtrip() {` && |\n| &&
|
| Roundtrip() \{| && |\n| &&
|
||||||
` z2ui5.checkTimerActive = false;` && |\n| &&
|
| z2ui5.checkTimerActive = false;| && |\n| &&
|
||||||
` z2ui5.checkNestAfter = false;` && |\n| &&
|
| z2ui5.checkNestAfter = false;| && |\n| &&
|
||||||
` z2ui5.checkNestAfter2 = false;` && |\n| &&
|
| z2ui5.checkNestAfter2 = false;| && |\n| &&
|
||||||
` let event = (args) => {` && |\n| &&
|
| let event = (args) => \{| && |\n| &&
|
||||||
` if (args != undefined) {` && |\n| &&
|
| if (args != undefined) \{| && |\n| &&
|
||||||
` return args[0][0];` && |\n| &&
|
| return args[0][0];| && |\n| &&
|
||||||
` }` && |\n| &&
|
| \}| && |\n| &&
|
||||||
` };` && |\n| &&
|
| \};| && |\n| &&
|
||||||
`` && |\n| &&
|
|| && |\n| &&
|
||||||
` z2ui5.oBody ??= {};` && |\n| &&
|
| z2ui5.oBody ??= \{\};| && |\n| &&
|
||||||
` z2ui5.oBody.S_FRONT = {` && |\n| &&
|
| z2ui5.oBody.S_FRONT = \{| && |\n| &&
|
||||||
` ID: z2ui5?.oBody?.ID,` && |\n| &&
|
| ID: z2ui5?.oBody?.ID,| && |\n| &&
|
||||||
` CONFIG: z2ui5.oConfig,` && |\n| &&
|
| CONFIG: z2ui5.oConfig,| && |\n| &&
|
||||||
` XX: z2ui5?.oBody?.XX,` && |\n| &&
|
| XX: z2ui5?.oBody?.XX,| && |\n| &&
|
||||||
` ORIGIN: window.location.origin,` && |\n| &&
|
| ORIGIN: window.location.origin,| && |\n| &&
|
||||||
` PATHNAME: window.location.pathname,` && |\n| &&
|
| PATHNAME: window.location.pathname,| && |\n| &&
|
||||||
` SEARCH: (z2ui5.search) ? z2ui5.search : window.location.search,` && |\n| &&
|
| SEARCH: (z2ui5.search) ? z2ui5.search : window.location.search,| && |\n| &&
|
||||||
` VIEW: z2ui5.oBody?.VIEWNAME,` && |\n| &&
|
| VIEW: z2ui5.oBody?.VIEWNAME,| && |\n| &&
|
||||||
` EVENT: event(z2ui5.oBody?.ARGUMENTS),` && |\n| &&
|
| EVENT: event(z2ui5.oBody?.ARGUMENTS),| && |\n| &&
|
||||||
` HASH: window.location.hash,` && |\n| &&
|
| HASH: window.location.hash,| && |\n| &&
|
||||||
` };` && |\n| &&
|
| \};| && |\n| &&
|
||||||
` if (z2ui5.oBody?.ARGUMENTS != undefined) {` && |\n| &&
|
| if (z2ui5.oBody?.ARGUMENTS != undefined) \{| && |\n| &&
|
||||||
` if (z2ui5.oBody?.ARGUMENTS.length > 0) {` && |\n| &&
|
| if (z2ui5.oBody?.ARGUMENTS.length > 0) \{| && |\n| &&
|
||||||
` z2ui5.oBody?.ARGUMENTS.shift();` && |\n| &&
|
| z2ui5.oBody?.ARGUMENTS.shift();| && |\n| &&
|
||||||
` }` && |\n| &&
|
| \}| && |\n| &&
|
||||||
` }` && |\n| &&
|
| \}| && |\n| &&
|
||||||
` z2ui5.oBody.S_FRONT.T_EVENT_ARG = z2ui5.oBody?.ARGUMENTS;` && |\n| &&
|
| z2ui5.oBody.S_FRONT.T_EVENT_ARG = z2ui5.oBody?.ARGUMENTS;| && |\n| &&
|
||||||
` delete z2ui5.oBody.ID;` && |\n| &&
|
| delete z2ui5.oBody.ID;| && |\n| &&
|
||||||
` delete z2ui5.oBody?.VIEWNAME;` && |\n| &&
|
| delete z2ui5.oBody?.VIEWNAME;| && |\n| &&
|
||||||
` delete z2ui5.oBody?.S_FRONT.XX;` && |\n| &&
|
| delete z2ui5.oBody?.S_FRONT.XX;| && |\n| &&
|
||||||
` delete z2ui5.oBody?.ARGUMENTS;` && |\n| &&
|
| delete z2ui5.oBody?.ARGUMENTS;| && |\n| &&
|
||||||
` if (!z2ui5.oBody.S_FRONT.T_EVENT_ARG) {` && |\n| &&
|
| if (!z2ui5.oBody.S_FRONT.T_EVENT_ARG) \{| && |\n| &&
|
||||||
` delete z2ui5.oBody.S_FRONT.T_EVENT_ARG;` && |\n| &&
|
| delete z2ui5.oBody.S_FRONT.T_EVENT_ARG;| && |\n| &&
|
||||||
` }` && |\n| &&
|
| \}| && |\n| &&
|
||||||
` if (z2ui5.oBody.S_FRONT.T_EVENT_ARG) {` && |\n| &&
|
| if (z2ui5.oBody.S_FRONT.T_EVENT_ARG) \{| && |\n| &&
|
||||||
` if (z2ui5.oBody.S_FRONT.T_EVENT_ARG.length == 0) {` && |\n| &&
|
| if (z2ui5.oBody.S_FRONT.T_EVENT_ARG.length == 0) \{| && |\n| &&
|
||||||
` delete z2ui5.oBody.S_FRONT.T_EVENT_ARG;` && |\n| &&
|
| delete z2ui5.oBody.S_FRONT.T_EVENT_ARG;| && |\n| &&
|
||||||
` }` && |\n| &&
|
| \}| && |\n| &&
|
||||||
` }` && |\n| &&
|
| \}| && |\n| &&
|
||||||
` if (z2ui5.oBody.S_FRONT.T_STARTUP_PARAMETERS == undefined) {` && |\n| &&
|
| if (z2ui5.oBody.S_FRONT.T_STARTUP_PARAMETERS == undefined) \{| && |\n| &&
|
||||||
` delete z2ui5.oBody.S_FRONT.T_STARTUP_PARAMETERS;` && |\n| &&
|
| delete z2ui5.oBody.S_FRONT.T_STARTUP_PARAMETERS;| && |\n| &&
|
||||||
` }` && |\n| &&
|
| \}| && |\n| &&
|
||||||
` if (z2ui5.oBody.S_FRONT.SEARCH == '') {` && |\n| &&
|
| if (z2ui5.oBody.S_FRONT.SEARCH == '') \{| && |\n| &&
|
||||||
` delete z2ui5.oBody.S_FRONT.SEARCH;` && |\n| &&
|
| delete z2ui5.oBody.S_FRONT.SEARCH;| && |\n| &&
|
||||||
` }` && |\n| &&
|
| \}| && |\n| &&
|
||||||
` if (!z2ui5.oBody.XX) {` && |\n| &&
|
| if (!z2ui5.oBody.XX) \{| && |\n| &&
|
||||||
` delete z2ui5.oBody.XX;` && |\n| &&
|
| delete z2ui5.oBody.XX;| && |\n| &&
|
||||||
` }` && |\n| &&
|
| \}| && |\n| &&
|
||||||
` this.readHttp();` && |\n| &&
|
| this.readHttp();| && |\n| &&
|
||||||
` },` && |\n| &&
|
| \},| && |\n| &&
|
||||||
`` && |\n| &&
|
|| && |\n| &&
|
||||||
` async readHttp() {` && |\n| &&
|
| async readHttp() \{| && |\n| &&
|
||||||
` const response = await fetch(z2ui5.oConfig.pathname, {` && |\n| &&
|
| const response = await fetch(z2ui5.oConfig.pathname, \{| && |\n| &&
|
||||||
` method: 'POST',` && |\n| &&
|
| method: 'POST',| && |\n| &&
|
||||||
` headers: {` && |\n| &&
|
| headers: \{| && |\n| &&
|
||||||
` 'Content-Type': 'application/json',` && |\n| &&
|
| 'Content-Type': 'application/json',| && |\n| &&
|
||||||
` 'sap-contextid-accept': 'header',` && |\n| &&
|
| 'sap-contextid-accept': 'header',| && |\n| &&
|
||||||
` 'sap-contextid': z2ui5.contextId` && |\n| &&
|
| 'sap-contextid': z2ui5.contextId| && |\n| &&
|
||||||
` },` && |\n| &&
|
| \},| && |\n| &&
|
||||||
` body: JSON.stringify(z2ui5.oBody)` && |\n| &&
|
| body: JSON.stringify(z2ui5.oBody)| && |\n| &&
|
||||||
` });` && |\n| &&
|
| \});| && |\n| &&
|
||||||
` z2ui5.contextId = response.headers.get("sap-contextid");` && |\n| &&
|
| z2ui5.contextId = response.headers.get("sap-contextid");| && |\n| &&
|
||||||
` if (!response.ok) {` && |\n| &&
|
| if (!response.ok) \{| && |\n| &&
|
||||||
` const responseText = await response.text();` && |\n| &&
|
| const responseText = await response.text();| && |\n| &&
|
||||||
` this.responseError(responseText);` && |\n| &&
|
| this.responseError(responseText);| && |\n| &&
|
||||||
` } else {` && |\n| &&
|
| \} else \{| && |\n| &&
|
||||||
` const responseData = await response.json();` && |\n| &&
|
| const responseData = await response.json();| && |\n| &&
|
||||||
` z2ui5.responseData = responseData;` && |\n| &&
|
| z2ui5.responseData = responseData;| && |\n| &&
|
||||||
` this.responseSuccess({` && |\n| &&
|
| this.responseSuccess(\{| && |\n| &&
|
||||||
` ID: responseData.S_FRONT.ID,` && |\n| &&
|
| ID: responseData.S_FRONT.ID,| && |\n| &&
|
||||||
` PARAMS: responseData.S_FRONT.PARAMS,` && |\n| &&
|
| PARAMS: responseData.S_FRONT.PARAMS,| && |\n| &&
|
||||||
` OVIEWMODEL: responseData.MODEL,` && |\n| &&
|
| OVIEWMODEL: responseData.MODEL,| && |\n| &&
|
||||||
` });` && |\n| &&
|
| \});| && |\n| &&
|
||||||
` }` && |\n| &&
|
| \}| && |\n| &&
|
||||||
` },` && |\n| &&
|
| \},| && |\n| &&
|
||||||
` async responseSuccess(response) {` && |\n| &&
|
| async responseSuccess(response) \{| && |\n| &&
|
||||||
` try {` && |\n| &&
|
| try \{| && |\n| &&
|
||||||
` z2ui5.oResponse = response;` && |\n| &&
|
| z2ui5.oResponse = response;| && |\n| &&
|
||||||
` if (z2ui5.oResponse.PARAMS?.S_VIEW?.CHECK_DESTROY) {` && |\n| &&
|
| if (z2ui5.oResponse.PARAMS?.S_VIEW?.CHECK_DESTROY) \{| && |\n| &&
|
||||||
` z2ui5.oController.ViewDestroy();` && |\n| &&
|
| z2ui5.oController.ViewDestroy();| && |\n| &&
|
||||||
` }` && |\n| &&
|
| \}| && |\n| &&
|
||||||
` ; if (z2ui5.oResponse.PARAMS?.S_FOLLOW_UP_ACTION?.CUSTOM_JS) {` && |\n| &&
|
| ; if (z2ui5.oResponse.PARAMS?.S_FOLLOW_UP_ACTION?.CUSTOM_JS) \{| && |\n| &&
|
||||||
` setTimeout(() => {` && |\n| &&
|
| setTimeout(() => \{| && |\n| &&
|
||||||
` let mParams = z2ui5.oResponse?.PARAMS.S_FOLLOW_UP_ACTION.CUSTOM_JS.split("'");` && |\n| &&
|
| let mParams = z2ui5.oResponse?.PARAMS.S_FOLLOW_UP_ACTION.CUSTOM_JS.split("'");| && |\n| &&
|
||||||
` let mParamsEF = mParams.filter((val, index) => index % 2)` && |\n| &&
|
| let mParamsEF = mParams.filter((val, index) => index % 2)| && |\n| &&
|
||||||
` if (mParamsEF.length) {` && |\n| &&
|
| if (mParamsEF.length) \{| && |\n| &&
|
||||||
` z2ui5.oController.eF.apply(undefined, mParamsEF);` && |\n| &&
|
| z2ui5.oController.eF.apply(undefined, mParamsEF);| && |\n| &&
|
||||||
` } else {` && |\n| &&
|
| \} else \{| && |\n| &&
|
||||||
` Function("return " + mParams[0])();` && |\n| &&
|
| Function("return " + mParams[0])();| && |\n| &&
|
||||||
` }` && |\n| &&
|
| \}| && |\n| &&
|
||||||
` }, 100);` && |\n| &&
|
| \}, 100);| && |\n| &&
|
||||||
` };` && |\n| &&
|
| \};| && |\n| &&
|
||||||
` z2ui5.oController.showMessage('S_MSG_TOAST', z2ui5.oResponse.PARAMS);` && |\n| &&
|
| z2ui5.oController.showMessage('S_MSG_TOAST', z2ui5.oResponse.PARAMS);| && |\n| &&
|
||||||
` z2ui5.oController.showMessage('S_MSG_BOX', z2ui5.oResponse.PARAMS);` && |\n| &&
|
| z2ui5.oController.showMessage('S_MSG_BOX', z2ui5.oResponse.PARAMS);| && |\n| &&
|
||||||
` if (z2ui5.oResponse.PARAMS?.S_VIEW?.XML) {` && |\n| &&
|
| if (z2ui5.oResponse.PARAMS?.S_VIEW?.XML) \{| && |\n| &&
|
||||||
` if (z2ui5.oResponse.PARAMS?.S_VIEW?.XML !== '') {` && |\n| &&
|
| if (z2ui5.oResponse.PARAMS?.S_VIEW?.XML !== '') \{| && |\n| &&
|
||||||
` z2ui5.oController.ViewDestroy();` && |\n| &&
|
| z2ui5.oController.ViewDestroy();| && |\n| &&
|
||||||
` await z2ui5.oController.displayView(z2ui5.oResponse.PARAMS.S_VIEW.XML, z2ui5.oResponse.OVIEWMODEL);` && |\n| &&
|
| await z2ui5.oController.displayView(z2ui5.oResponse.PARAMS.S_VIEW.XML, z2ui5.oResponse.OVIEWMODEL);| && |\n| &&
|
||||||
` return;` && |\n| &&
|
| return;| && |\n| &&
|
||||||
` }` && |\n| &&
|
| \}| && |\n| &&
|
||||||
` }` && |\n| &&
|
| \}| && |\n| &&
|
||||||
` z2ui5.oController.updateModelIfRequired('S_VIEW', z2ui5.oView);` && |\n| &&
|
| z2ui5.oController.updateModelIfRequired('S_VIEW', z2ui5.oView);| && |\n| &&
|
||||||
` z2ui5.oController.updateModelIfRequired('S_VIEW_NEST', z2ui5.oViewNest);` && |\n| &&
|
| z2ui5.oController.updateModelIfRequired('S_VIEW_NEST', z2ui5.oViewNest);| && |\n| &&
|
||||||
` z2ui5.oController.updateModelIfRequired('S_VIEW_NEST2', z2ui5.oViewNest2);` && |\n| &&
|
| z2ui5.oController.updateModelIfRequired('S_VIEW_NEST2', z2ui5.oViewNest2);| && |\n| &&
|
||||||
` z2ui5.oController.updateModelIfRequired('S_POPUP', z2ui5.oViewPopup);` && |\n| &&
|
| z2ui5.oController.updateModelIfRequired('S_POPUP', z2ui5.oViewPopup);| && |\n| &&
|
||||||
` z2ui5.oController.updateModelIfRequired('S_POPOVER', z2ui5.oViewPopover);` && |\n| &&
|
| z2ui5.oController.updateModelIfRequired('S_POPOVER', z2ui5.oViewPopover);| && |\n| &&
|
||||||
` z2ui5.oController.onAfterRendering();` && |\n| &&
|
| z2ui5.oController.onAfterRendering();| && |\n| &&
|
||||||
` } catch (e) {` && |\n| &&
|
| \} catch (e) \{| && |\n| &&
|
||||||
` BusyIndicator.hide();` && |\n| &&
|
| BusyIndicator.hide();| && |\n| &&
|
||||||
` if (e.message.includes("openui5")) {` && |\n| &&
|
| if (e.message.includes("openui5")) \{| && |\n| &&
|
||||||
` if (e.message.includes("script load error")) {` && |\n| &&
|
| if (e.message.includes("script load error")) \{| && |\n| &&
|
||||||
` z2ui5.oController.checkSDKcompatibility(e)` && |\n| &&
|
| z2ui5.oController.checkSDKcompatibility(e)| && |\n| &&
|
||||||
` }` && |\n| &&
|
| \}| && |\n| &&
|
||||||
` } else {` && |\n| &&
|
| \} else \{| && |\n| &&
|
||||||
` MessageBox.error(e.toLocaleString());` && |\n| &&
|
| MessageBox.error(e.toLocaleString());| && |\n| &&
|
||||||
` }` && |\n| &&
|
| \}| && |\n| &&
|
||||||
` }` && |\n| &&
|
| \}| && |\n| &&
|
||||||
` },` && |\n| &&
|
| \},| && |\n| &&
|
||||||
` responseError(response) {` && |\n| &&
|
| responseError(response) \{| && |\n| &&
|
||||||
` document.write(response);` && |\n| &&
|
| document.write(response);| && |\n| &&
|
||||||
` },` && |\n| &&
|
| \},| && |\n| &&
|
||||||
` };` && |\n| &&
|
| \};| && |\n| &&
|
||||||
` });` && |\n| &&
|
| \});| && |\n| &&
|
||||||
``.
|
||.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
CLASS z2ui5_cl_app_style_css DEFINITION
|
CLASS z2ui5_cl_app_style_css DEFINITION
|
||||||
PUBLIC
|
PUBLIC FINAL
|
||||||
FINAL
|
CREATE PUBLIC.
|
||||||
CREATE PUBLIC .
|
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
|
||||||
|
@ -10,17 +9,16 @@ CLASS z2ui5_cl_app_style_css DEFINITION
|
||||||
VALUE(result) TYPE string.
|
VALUE(result) TYPE string.
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
CLASS z2ui5_cl_app_style_css IMPLEMENTATION.
|
CLASS z2ui5_cl_app_style_css IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD get.
|
METHOD get.
|
||||||
|
|
||||||
result = `/* Enter your custom styles here */` &&
|
result = |/* Enter your custom styles here */| &&
|
||||||
``.
|
||.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,7 +1,6 @@
|
||||||
CLASS z2ui5_cl_app_view1_xml DEFINITION
|
CLASS z2ui5_cl_app_view1_xml DEFINITION
|
||||||
PUBLIC
|
PUBLIC FINAL
|
||||||
FINAL
|
CREATE PUBLIC.
|
||||||
CREATE PUBLIC .
|
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
|
||||||
|
@ -10,21 +9,20 @@ CLASS z2ui5_cl_app_view1_xml DEFINITION
|
||||||
VALUE(result) TYPE string.
|
VALUE(result) TYPE string.
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
CLASS z2ui5_cl_app_view1_xml IMPLEMENTATION.
|
CLASS z2ui5_cl_app_view1_xml IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD get.
|
METHOD get.
|
||||||
|
|
||||||
result = `<mvc:View controllerName="z2ui5.controller.View1"` &&
|
result = |<mvc:View controllerName="z2ui5.controller.View1"| &&
|
||||||
` xmlns:mvc="sap.ui.core.mvc" displayBlock="true"` &&
|
| xmlns:mvc="sap.ui.core.mvc" displayBlock="true"| &&
|
||||||
` xmlns="sap.m">` &&
|
| xmlns="sap.m">| &&
|
||||||
`</mvc:View>` &&
|
|</mvc:View>| &&
|
||||||
`` &&
|
|| &&
|
||||||
``.
|
||.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
CLASS z2ui5_cl_pop_error DEFINITION
|
CLASS z2ui5_cl_pop_error DEFINITION
|
||||||
PUBLIC
|
PUBLIC FINAL
|
||||||
FINAL
|
CREATE PUBLIC.
|
||||||
CREATE PUBLIC .
|
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
|
||||||
|
@ -14,18 +13,17 @@ CLASS z2ui5_cl_pop_error DEFINITION
|
||||||
VALUE(r_result) TYPE REF TO z2ui5_cl_pop_error.
|
VALUE(r_result) TYPE REF TO z2ui5_cl_pop_error.
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
DATA client TYPE REF TO z2ui5_if_client.
|
DATA client TYPE REF TO z2ui5_if_client.
|
||||||
DATA error TYPE REF TO cx_root.
|
DATA error TYPE REF TO cx_root.
|
||||||
DATA check_initialized TYPE abap_bool.
|
DATA check_initialized TYPE abap_bool.
|
||||||
|
|
||||||
METHODS view_display.
|
METHODS view_display.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS z2ui5_cl_pop_error IMPLEMENTATION.
|
CLASS z2ui5_cl_pop_error IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD factory.
|
METHOD factory.
|
||||||
|
|
||||||
r_result = NEW #( ).
|
r_result = NEW #( ).
|
||||||
|
@ -33,27 +31,23 @@ CLASS z2ui5_cl_pop_error IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD view_display.
|
METHOD view_display.
|
||||||
|
|
||||||
DATA(popup) = z2ui5_cl_xml_view=>factory_popup( )->dialog(
|
DATA(popup) = z2ui5_cl_xml_view=>factory_popup( )->dialog( title = `Error View`
|
||||||
title = `Error View`
|
afterclose = client->_event( 'BUTTON_CONFIRM' )
|
||||||
afterclose = client->_event( 'BUTTON_CONFIRM' )
|
|
||||||
)->content(
|
)->content(
|
||||||
)->vbox( 'sapUiMediumMargin'
|
)->vbox( 'sapUiMediumMargin'
|
||||||
)->text( error->get_text( )
|
)->text( error->get_text( )
|
||||||
)->get_parent( )->get_parent(
|
)->get_parent( )->get_parent(
|
||||||
)->buttons(
|
)->buttons(
|
||||||
)->button(
|
)->button( text = `OK`
|
||||||
text = `OK`
|
press = client->_event( 'BUTTON_CONFIRM' )
|
||||||
press = client->_event( 'BUTTON_CONFIRM' )
|
type = 'Emphasized' ).
|
||||||
type = 'Emphasized' ).
|
|
||||||
|
|
||||||
client->popup_display( popup->stringify( ) ).
|
client->popup_display( popup->stringify( ) ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD z2ui5_if_app~main.
|
METHOD z2ui5_if_app~main.
|
||||||
|
|
||||||
me->client = client.
|
me->client = client.
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
CLASS z2ui5_cl_pop_file_dl DEFINITION
|
CLASS z2ui5_cl_pop_file_dl DEFINITION
|
||||||
PUBLIC
|
PUBLIC FINAL
|
||||||
FINAL
|
CREATE PUBLIC.
|
||||||
CREATE PUBLIC .
|
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
|
||||||
|
@ -18,10 +17,10 @@ CLASS z2ui5_cl_pop_file_dl DEFINITION
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(r_result) TYPE REF TO z2ui5_cl_pop_file_dl.
|
VALUE(r_result) TYPE REF TO z2ui5_cl_pop_file_dl.
|
||||||
|
|
||||||
DATA mv_name TYPE string.
|
DATA mv_name TYPE string.
|
||||||
DATA mv_type TYPE string.
|
DATA mv_type TYPE string.
|
||||||
DATA mv_size TYPE string.
|
DATA mv_size TYPE string.
|
||||||
DATA mv_value TYPE string.
|
DATA mv_value TYPE string.
|
||||||
DATA mv_check_download TYPE abap_bool.
|
DATA mv_check_download TYPE abap_bool.
|
||||||
|
|
||||||
METHODS result
|
METHODS result
|
||||||
|
@ -29,51 +28,47 @@ CLASS z2ui5_cl_pop_file_dl DEFINITION
|
||||||
VALUE(result) TYPE abap_bool.
|
VALUE(result) TYPE abap_bool.
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
DATA check_confirmed TYPE abap_bool.
|
DATA check_confirmed TYPE abap_bool.
|
||||||
DATA client TYPE REF TO z2ui5_if_client.
|
DATA client TYPE REF TO z2ui5_if_client.
|
||||||
DATA title TYPE string.
|
DATA title TYPE string.
|
||||||
DATA icon TYPE string.
|
DATA icon TYPE string.
|
||||||
DATA question_text TYPE string.
|
DATA question_text TYPE string.
|
||||||
DATA button_text_confirm TYPE string.
|
DATA button_text_confirm TYPE string.
|
||||||
DATA button_text_cancel TYPE string.
|
DATA button_text_cancel TYPE string.
|
||||||
DATA check_initialized TYPE abap_bool.
|
DATA check_initialized TYPE abap_bool.
|
||||||
|
|
||||||
METHODS view_display.
|
METHODS view_display.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
CLASS z2ui5_cl_pop_file_dl IMPLEMENTATION.
|
||||||
CLASS Z2UI5_CL_POP_FILE_DL IMPLEMENTATION.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD factory.
|
METHOD factory.
|
||||||
|
|
||||||
r_result = NEW #( ).
|
r_result = NEW #( ).
|
||||||
r_result->title = i_title.
|
r_result->title = i_title.
|
||||||
|
|
||||||
r_result->question_text = i_text.
|
r_result->question_text = i_text.
|
||||||
r_result->button_text_confirm = i_button_text_confirm.
|
r_result->button_text_confirm = i_button_text_confirm.
|
||||||
r_result->button_text_cancel = i_button_text_cancel.
|
r_result->button_text_cancel = i_button_text_cancel.
|
||||||
r_result->mv_type = i_type.
|
r_result->mv_type = i_type.
|
||||||
r_result->mv_value = i_file.
|
r_result->mv_value = i_file.
|
||||||
r_result->mv_size = strlen( i_file ) / 1000.
|
r_result->mv_size = strlen( i_file ) / 1000.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD result.
|
METHOD result.
|
||||||
|
|
||||||
result = check_confirmed.
|
result = check_confirmed.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD view_display.
|
METHOD view_display.
|
||||||
|
|
||||||
DATA(popup) = z2ui5_cl_xml_view=>factory_popup( )->dialog(
|
DATA(popup) = z2ui5_cl_xml_view=>factory_popup( )->dialog( title = title
|
||||||
title = title
|
icon = icon
|
||||||
icon = icon
|
afterclose = client->_event( 'BUTTON_CANCEL' )
|
||||||
afterclose = client->_event( 'BUTTON_CANCEL' )
|
|
||||||
)->content( ).
|
)->content( ).
|
||||||
|
|
||||||
IF mv_check_download = abap_true.
|
IF mv_check_download = abap_true.
|
||||||
|
@ -81,7 +76,8 @@ CLASS Z2UI5_CL_POP_FILE_DL IMPLEMENTATION.
|
||||||
DATA(lv_base64) = z2ui5_cl_util=>conv_encode_x_base64( lv_csv_x ).
|
DATA(lv_base64) = z2ui5_cl_util=>conv_encode_x_base64( lv_csv_x ).
|
||||||
popup->_generic( ns = `html`
|
popup->_generic( ns = `html`
|
||||||
name = `iframe`
|
name = `iframe`
|
||||||
t_prop = VALUE #( ( n = `src` v = mv_type && lv_base64 ) ( n = `hidden` v = `hidden` ) ) ).
|
t_prop = VALUE #( ( n = `src` v = mv_type && lv_base64 )
|
||||||
|
( n = `hidden` v = `hidden` ) ) ).
|
||||||
|
|
||||||
popup->_z2ui5( )->timer( client->_event( `CALLBACK_DOWNLOAD` ) ).
|
popup->_z2ui5( )->timer( client->_event( `CALLBACK_DOWNLOAD` ) ).
|
||||||
|
|
||||||
|
@ -99,19 +95,16 @@ CLASS Z2UI5_CL_POP_FILE_DL IMPLEMENTATION.
|
||||||
enabled = abap_false
|
enabled = abap_false
|
||||||
)->get_parent( )->get_parent(
|
)->get_parent( )->get_parent(
|
||||||
)->buttons(
|
)->buttons(
|
||||||
)->button(
|
)->button( text = button_text_cancel
|
||||||
text = button_text_cancel
|
press = client->_event( 'BUTTON_CANCEL' )
|
||||||
press = client->_event( 'BUTTON_CANCEL' )
|
)->button( text = `Download`
|
||||||
)->button(
|
press = client->_event( 'BUTTON_CONFIRM' )
|
||||||
text = `Download`
|
type = 'Emphasized' ).
|
||||||
press = client->_event( 'BUTTON_CONFIRM' )
|
|
||||||
type = 'Emphasized' ).
|
|
||||||
|
|
||||||
client->popup_display( popup->stringify( ) ).
|
client->popup_display( popup->stringify( ) ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD z2ui5_if_app~main.
|
METHOD z2ui5_if_app~main.
|
||||||
|
|
||||||
me->client = client.
|
me->client = client.
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
CLASS z2ui5_cl_pop_file_ul DEFINITION
|
CLASS z2ui5_cl_pop_file_ul DEFINITION
|
||||||
PUBLIC
|
PUBLIC FINAL
|
||||||
FINAL
|
CREATE PUBLIC.
|
||||||
CREATE PUBLIC .
|
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
|
||||||
|
@ -22,9 +21,10 @@ CLASS z2ui5_cl_pop_file_ul DEFINITION
|
||||||
value TYPE string,
|
value TYPE string,
|
||||||
check_confirmed TYPE abap_bool,
|
check_confirmed TYPE abap_bool,
|
||||||
END OF ty_s_result.
|
END OF ty_s_result.
|
||||||
DATA ms_result TYPE ty_s_result.
|
|
||||||
DATA mv_path TYPE string.
|
DATA ms_result TYPE ty_s_result.
|
||||||
DATA mv_value TYPE string.
|
DATA mv_path TYPE string.
|
||||||
|
DATA mv_value TYPE string.
|
||||||
DATA check_confirm_enabled TYPE abap_bool.
|
DATA check_confirm_enabled TYPE abap_bool.
|
||||||
|
|
||||||
METHODS result
|
METHODS result
|
||||||
|
@ -32,72 +32,64 @@ CLASS z2ui5_cl_pop_file_ul DEFINITION
|
||||||
VALUE(result) TYPE ty_s_result.
|
VALUE(result) TYPE ty_s_result.
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
DATA client TYPE REF TO z2ui5_if_client.
|
DATA client TYPE REF TO z2ui5_if_client.
|
||||||
DATA title TYPE string.
|
DATA title TYPE string.
|
||||||
DATA icon TYPE string.
|
DATA icon TYPE string.
|
||||||
DATA question_text TYPE string.
|
DATA question_text TYPE string.
|
||||||
DATA button_text_confirm TYPE string.
|
DATA button_text_confirm TYPE string.
|
||||||
DATA button_text_cancel TYPE string.
|
DATA button_text_cancel TYPE string.
|
||||||
DATA check_initialized TYPE abap_bool.
|
DATA check_initialized TYPE abap_bool.
|
||||||
|
|
||||||
METHODS view_display.
|
METHODS view_display.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS z2ui5_cl_pop_file_ul IMPLEMENTATION.
|
CLASS z2ui5_cl_pop_file_ul IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD factory.
|
METHOD factory.
|
||||||
|
|
||||||
r_result = NEW #( ).
|
r_result = NEW #( ).
|
||||||
r_result->title = i_title.
|
r_result->title = i_title.
|
||||||
|
|
||||||
r_result->question_text = i_text.
|
r_result->question_text = i_text.
|
||||||
r_result->button_text_confirm = i_button_text_confirm.
|
r_result->button_text_confirm = i_button_text_confirm.
|
||||||
r_result->button_text_cancel = i_button_text_cancel.
|
r_result->button_text_cancel = i_button_text_cancel.
|
||||||
r_result->mv_path = i_path.
|
r_result->mv_path = i_path.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD result.
|
METHOD result.
|
||||||
|
|
||||||
result = ms_result.
|
result = ms_result.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD view_display.
|
METHOD view_display.
|
||||||
|
|
||||||
DATA(popup) = z2ui5_cl_xml_view=>factory_popup( )->dialog(
|
DATA(popup) = z2ui5_cl_xml_view=>factory_popup( )->dialog( title = title
|
||||||
title = title
|
icon = icon
|
||||||
icon = icon
|
afterclose = client->_event( 'BUTTON_CANCEL' )
|
||||||
afterclose = client->_event( 'BUTTON_CANCEL' )
|
|
||||||
)->content(
|
)->content(
|
||||||
)->vbox( 'sapUiMediumMargin'
|
)->vbox( 'sapUiMediumMargin'
|
||||||
)->label( question_text
|
)->label( question_text
|
||||||
)->_z2ui5( )->file_uploader(
|
)->_z2ui5( )->file_uploader( value = client->_bind_edit( mv_value )
|
||||||
value = client->_bind_edit( mv_value )
|
path = client->_bind_edit( mv_path )
|
||||||
path = client->_bind_edit( mv_path )
|
placeholder = 'filepath here...'
|
||||||
placeholder = 'filepath here...'
|
upload = client->_event( 'UPLOAD' )
|
||||||
upload = client->_event( 'UPLOAD' )
|
|
||||||
)->get_parent( )->get_parent(
|
)->get_parent( )->get_parent(
|
||||||
)->buttons(
|
)->buttons(
|
||||||
)->button(
|
)->button( text = button_text_cancel
|
||||||
text = button_text_cancel
|
press = client->_event( 'BUTTON_CANCEL' )
|
||||||
press = client->_event( 'BUTTON_CANCEL' )
|
)->button( text = button_text_confirm
|
||||||
)->button(
|
press = client->_event( 'BUTTON_CONFIRM' )
|
||||||
text = button_text_confirm
|
enabled = client->_bind( check_confirm_enabled )
|
||||||
press = client->_event( 'BUTTON_CONFIRM' )
|
type = 'Emphasized' ).
|
||||||
enabled = client->_bind( check_confirm_enabled )
|
|
||||||
type = 'Emphasized' ).
|
|
||||||
|
|
||||||
client->popup_display( popup->stringify( ) ).
|
client->popup_display( popup->stringify( ) ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD z2ui5_if_app~main.
|
METHOD z2ui5_if_app~main.
|
||||||
|
|
||||||
me->client = client.
|
me->client = client.
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
CLASS z2ui5_cl_pop_get_range DEFINITION
|
CLASS z2ui5_cl_pop_get_range DEFINITION
|
||||||
PUBLIC
|
PUBLIC FINAL
|
||||||
FINAL
|
CREATE PUBLIC.
|
||||||
CREATE PUBLIC .
|
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
INTERFACES z2ui5_if_app.
|
INTERFACES z2ui5_if_app.
|
||||||
|
@ -13,6 +12,7 @@ CLASS z2ui5_cl_pop_get_range DEFINITION
|
||||||
high TYPE string,
|
high TYPE string,
|
||||||
key TYPE string,
|
key TYPE string,
|
||||||
END OF ty_s_filter_pop.
|
END OF ty_s_filter_pop.
|
||||||
|
|
||||||
DATA mt_filter TYPE STANDARD TABLE OF ty_s_filter_pop WITH EMPTY KEY.
|
DATA mt_filter TYPE STANDARD TABLE OF ty_s_filter_pop WITH EMPTY KEY.
|
||||||
|
|
||||||
CLASS-METHODS factory
|
CLASS-METHODS factory
|
||||||
|
@ -26,6 +26,7 @@ CLASS z2ui5_cl_pop_get_range DEFINITION
|
||||||
t_range TYPE z2ui5_cl_util=>ty_t_range,
|
t_range TYPE z2ui5_cl_util=>ty_t_range,
|
||||||
check_confirmed TYPE abap_bool,
|
check_confirmed TYPE abap_bool,
|
||||||
END OF ty_s_result.
|
END OF ty_s_result.
|
||||||
|
|
||||||
DATA ms_result TYPE ty_s_result.
|
DATA ms_result TYPE ty_s_result.
|
||||||
|
|
||||||
METHODS result
|
METHODS result
|
||||||
|
@ -33,70 +34,60 @@ CLASS z2ui5_cl_pop_get_range DEFINITION
|
||||||
VALUE(result) TYPE ty_s_result.
|
VALUE(result) TYPE ty_s_result.
|
||||||
|
|
||||||
DATA mt_mapping TYPE z2ui5_if_types=>ty_t_name_value.
|
DATA mt_mapping TYPE z2ui5_if_types=>ty_t_name_value.
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
|
|
||||||
DATA client TYPE REF TO z2ui5_if_client.
|
DATA client TYPE REF TO z2ui5_if_client.
|
||||||
DATA check_initialized TYPE abap_bool.
|
DATA check_initialized TYPE abap_bool.
|
||||||
|
|
||||||
METHODS view_display.
|
METHODS view_display.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
CLASS z2ui5_cl_pop_get_range IMPLEMENTATION.
|
||||||
CLASS Z2UI5_CL_POP_GET_RANGE IMPLEMENTATION.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD factory.
|
METHOD factory.
|
||||||
|
|
||||||
r_result = NEW #( ).
|
r_result = NEW #( ).
|
||||||
|
|
||||||
z2ui5_cl_util=>itab_corresponding(
|
z2ui5_cl_util=>itab_corresponding( EXPORTING val = t_range
|
||||||
EXPORTING
|
CHANGING tab = r_result->ms_result-t_range
|
||||||
val = t_range
|
|
||||||
CHANGING
|
|
||||||
tab = r_result->ms_result-t_range
|
|
||||||
).
|
).
|
||||||
|
|
||||||
INSERT VALUE #( ) INTO TABLE r_result->ms_result-t_range.
|
INSERT VALUE #( ) INTO TABLE r_result->ms_result-t_range.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD result.
|
METHOD result.
|
||||||
|
|
||||||
result = ms_result.
|
result = ms_result.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD view_display.
|
METHOD view_display.
|
||||||
|
|
||||||
|
|
||||||
DATA(lo_popup) = z2ui5_cl_xml_view=>factory_popup( ).
|
DATA(lo_popup) = z2ui5_cl_xml_view=>factory_popup( ).
|
||||||
|
|
||||||
lo_popup = lo_popup->dialog(
|
lo_popup = lo_popup->dialog( afterclose = client->_event( 'BUTTON_CANCEL' )
|
||||||
afterclose = client->_event( 'BUTTON_CANCEL' )
|
contentheight = `50%`
|
||||||
contentheight = `50%`
|
contentwidth = `50%`
|
||||||
contentwidth = `50%`
|
title = 'Define Filter Conditons' ).
|
||||||
title = 'Define Filter Conditons' ).
|
|
||||||
|
|
||||||
DATA(vbox) = lo_popup->vbox( height = `100%`
|
DATA(vbox) = lo_popup->vbox( height = `100%`
|
||||||
justifycontent = 'SpaceBetween' ).
|
justifycontent = 'SpaceBetween' ).
|
||||||
|
|
||||||
DATA(item) = vbox->list(
|
DATA(item) = vbox->list( nodata = `no conditions defined`
|
||||||
nodata = `no conditions defined`
|
items = client->_bind_edit( mt_filter )
|
||||||
items = client->_bind_edit( mt_filter )
|
selectionchange = client->_event( 'SELCHANGE' )
|
||||||
selectionchange = client->_event( 'SELCHANGE' )
|
|
||||||
)->custom_list_item( ).
|
)->custom_list_item( ).
|
||||||
|
|
||||||
DATA(grid) = item->grid( ).
|
DATA(grid) = item->grid( ).
|
||||||
|
|
||||||
grid->combobox(
|
grid->combobox( selectedkey = `{OPTION}`
|
||||||
selectedkey = `{OPTION}`
|
items = client->_bind( mt_mapping )
|
||||||
items = client->_bind( mt_mapping )
|
)->item( key = '{N}'
|
||||||
)->item(
|
text = '{N}'
|
||||||
key = '{N}'
|
|
||||||
text = '{N}'
|
|
||||||
)->get_parent(
|
)->get_parent(
|
||||||
)->input( value = `{LOW}`
|
)->input( value = `{LOW}`
|
||||||
submit = client->_event( 'BUTTON_CONFIRM' )
|
submit = client->_event( 'BUTTON_CONFIRM' )
|
||||||
|
@ -105,7 +96,8 @@ CLASS Z2UI5_CL_POP_GET_RANGE IMPLEMENTATION.
|
||||||
submit = client->_event( 'BUTTON_CONFIRM' )
|
submit = client->_event( 'BUTTON_CONFIRM' )
|
||||||
)->button( icon = 'sap-icon://decline'
|
)->button( icon = 'sap-icon://decline'
|
||||||
type = `Transparent`
|
type = `Transparent`
|
||||||
press = client->_event( val = `POPUP_DELETE` t_arg = VALUE #( ( `${KEY}` ) ) ) ).
|
press = client->_event( val = `POPUP_DELETE`
|
||||||
|
t_arg = VALUE #( ( `${KEY}` ) ) ) ).
|
||||||
|
|
||||||
lo_popup->buttons(
|
lo_popup->buttons(
|
||||||
)->button( text = `Delete All`
|
)->button( text = `Delete All`
|
||||||
|
@ -115,19 +107,16 @@ CLASS Z2UI5_CL_POP_GET_RANGE IMPLEMENTATION.
|
||||||
)->button( text = `Add Item`
|
)->button( text = `Add Item`
|
||||||
icon = `sap-icon://add`
|
icon = `sap-icon://add`
|
||||||
press = client->_event( val = `POPUP_ADD` )
|
press = client->_event( val = `POPUP_ADD` )
|
||||||
)->button(
|
)->button( text = 'Cancel'
|
||||||
text = 'Cancel'
|
press = client->_event( 'BUTTON_CANCEL' )
|
||||||
press = client->_event( 'BUTTON_CANCEL' )
|
)->button( text = 'OK'
|
||||||
)->button(
|
press = client->_event( 'BUTTON_CONFIRM' )
|
||||||
text = 'OK'
|
type = 'Emphasized' ).
|
||||||
press = client->_event( 'BUTTON_CONFIRM' )
|
|
||||||
type = 'Emphasized' ).
|
|
||||||
|
|
||||||
client->popup_display( lo_popup->stringify( ) ).
|
client->popup_display( lo_popup->stringify( ) ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD z2ui5_if_app~main.
|
METHOD z2ui5_if_app~main.
|
||||||
|
|
||||||
me->client = client.
|
me->client = client.
|
||||||
|
@ -139,11 +128,10 @@ CLASS Z2UI5_CL_POP_GET_RANGE IMPLEMENTATION.
|
||||||
|
|
||||||
CLEAR mt_filter.
|
CLEAR mt_filter.
|
||||||
LOOP AT ms_result-t_range REFERENCE INTO DATA(lr_product).
|
LOOP AT ms_result-t_range REFERENCE INTO DATA(lr_product).
|
||||||
INSERT VALUE #(
|
INSERT VALUE #( low = lr_product->low
|
||||||
low = lr_product->low
|
high = lr_product->high
|
||||||
high = lr_product->high
|
option = lr_product->option
|
||||||
option = lr_product->option
|
key = z2ui5_cl_util=>uuid_get_c32( )
|
||||||
key = z2ui5_cl_util=>uuid_get_c32( )
|
|
||||||
) INTO TABLE mt_filter.
|
) INTO TABLE mt_filter.
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
|
||||||
|
@ -160,11 +148,10 @@ CLASS Z2UI5_CL_POP_GET_RANGE IMPLEMENTATION.
|
||||||
IF lr_filter->low IS INITIAL AND lr_filter->high IS INITIAL.
|
IF lr_filter->low IS INITIAL AND lr_filter->high IS INITIAL.
|
||||||
CONTINUE.
|
CONTINUE.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
INSERT VALUE #(
|
INSERT VALUE #( sign = `I`
|
||||||
sign = `I`
|
option = lr_filter->option
|
||||||
option = lr_filter->option
|
low = lr_filter->low
|
||||||
low = lr_filter->low
|
high = lr_filter->high
|
||||||
high = lr_filter->high
|
|
||||||
) INTO TABLE ms_result-t_range.
|
) INTO TABLE ms_result-t_range.
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
|
||||||
|
|
|
@ -24,9 +24,10 @@ CLASS z2ui5_cl_pop_get_range_m DEFINITION
|
||||||
VALUE(result) TYPE ty_s_result.
|
VALUE(result) TYPE ty_s_result.
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
DATA client TYPE REF TO z2ui5_if_client.
|
DATA client TYPE REF TO z2ui5_if_client.
|
||||||
DATA check_initialized TYPE abap_bool.
|
DATA check_initialized TYPE abap_bool.
|
||||||
DATA mv_popup_name TYPE LINE OF string_table.
|
DATA mv_popup_name TYPE LINE OF string_table.
|
||||||
|
|
||||||
METHODS popup_display.
|
METHODS popup_display.
|
||||||
|
|
||||||
METHODS init.
|
METHODS init.
|
||||||
|
@ -35,9 +36,7 @@ CLASS z2ui5_cl_pop_get_range_m DEFINITION
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
CLASS z2ui5_cl_pop_get_range_m IMPLEMENTATION.
|
||||||
CLASS Z2UI5_CL_POP_GET_RANGE_M IMPLEMENTATION.
|
|
||||||
|
|
||||||
METHOD factory.
|
METHOD factory.
|
||||||
|
|
||||||
r_result = NEW #( ).
|
r_result = NEW #( ).
|
||||||
|
@ -45,14 +44,12 @@ CLASS Z2UI5_CL_POP_GET_RANGE_M IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD init.
|
METHOD init.
|
||||||
|
|
||||||
popup_display( ).
|
popup_display( ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD popup_display.
|
METHOD popup_display.
|
||||||
|
|
||||||
DATA(lo_popup) = z2ui5_cl_xml_view=>factory_popup( ).
|
DATA(lo_popup) = z2ui5_cl_xml_view=>factory_popup( ).
|
||||||
|
@ -72,9 +69,10 @@ CLASS Z2UI5_CL_POP_GET_RANGE_M IMPLEMENTATION.
|
||||||
DATA(grid) = item->grid( class = `sapUiSmallMarginTop sapUiSmallMarginBottom sapUiSmallMarginBegin` ).
|
DATA(grid) = item->grid( class = `sapUiSmallMarginTop sapUiSmallMarginBottom sapUiSmallMarginBegin` ).
|
||||||
grid->text( `{NAME}` ).
|
grid->text( `{NAME}` ).
|
||||||
|
|
||||||
grid->multi_input( tokens = `{T_TOKEN}`
|
grid->multi_input( tokens = `{T_TOKEN}`
|
||||||
enabled = abap_false
|
enabled = abap_false
|
||||||
valuehelprequest = client->_event( val = `LIST_OPEN` t_arg = VALUE #( ( `${NAME}` ) ) )
|
valuehelprequest = client->_event( val = `LIST_OPEN`
|
||||||
|
t_arg = VALUE #( ( `${NAME}` ) ) )
|
||||||
)->tokens(
|
)->tokens(
|
||||||
)->token( key = `{KEY}`
|
)->token( key = `{KEY}`
|
||||||
text = `{TEXT}`
|
text = `{TEXT}`
|
||||||
|
@ -83,11 +81,13 @@ CLASS Z2UI5_CL_POP_GET_RANGE_M IMPLEMENTATION.
|
||||||
editable = `{EDITABLE}` ).
|
editable = `{EDITABLE}` ).
|
||||||
|
|
||||||
grid->button( text = `Select`
|
grid->button( text = `Select`
|
||||||
press = client->_event( val = `LIST_OPEN` t_arg = VALUE #( ( `${NAME}` ) ) ) ).
|
press = client->_event( val = `LIST_OPEN`
|
||||||
|
t_arg = VALUE #( ( `${NAME}` ) ) ) ).
|
||||||
grid->button( icon = 'sap-icon://delete'
|
grid->button( icon = 'sap-icon://delete'
|
||||||
type = `Transparent`
|
type = `Transparent`
|
||||||
text = `Clear`
|
text = `Clear`
|
||||||
press = client->_event( val = `LIST_DELETE` t_arg = VALUE #( ( `${NAME}` ) ) ) ).
|
press = client->_event( val = `LIST_DELETE`
|
||||||
|
t_arg = VALUE #( ( `${NAME}` ) ) ) ).
|
||||||
|
|
||||||
lo_popup->buttons(
|
lo_popup->buttons(
|
||||||
)->button( text = `Clear All`
|
)->button( text = `Clear All`
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
CLASS z2ui5_cl_pop_html DEFINITION
|
CLASS z2ui5_cl_pop_html DEFINITION
|
||||||
PUBLIC
|
PUBLIC FINAL
|
||||||
FINAL
|
CREATE PUBLIC.
|
||||||
CREATE PUBLIC .
|
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
|
||||||
|
@ -17,53 +16,48 @@ CLASS z2ui5_cl_pop_html DEFINITION
|
||||||
VALUE(r_result) TYPE REF TO z2ui5_cl_pop_html.
|
VALUE(r_result) TYPE REF TO z2ui5_cl_pop_html.
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
DATA client TYPE REF TO z2ui5_if_client.
|
DATA client TYPE REF TO z2ui5_if_client.
|
||||||
DATA title TYPE string.
|
DATA title TYPE string.
|
||||||
DATA icon TYPE string.
|
DATA icon TYPE string.
|
||||||
DATA html TYPE string.
|
DATA html TYPE string.
|
||||||
DATA button_text_confirm TYPE string.
|
DATA button_text_confirm TYPE string.
|
||||||
DATA check_initialized TYPE abap_bool.
|
DATA check_initialized TYPE abap_bool.
|
||||||
|
|
||||||
METHODS view_display.
|
METHODS view_display.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
CLASS z2ui5_cl_pop_html IMPLEMENTATION.
|
||||||
CLASS Z2UI5_CL_POP_HTML IMPLEMENTATION.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD factory.
|
METHOD factory.
|
||||||
|
|
||||||
r_result = NEW #( ).
|
r_result = NEW #( ).
|
||||||
r_result->title = i_title.
|
r_result->title = i_title.
|
||||||
r_result->icon = i_icon.
|
r_result->icon = i_icon.
|
||||||
r_result->html = i_html.
|
r_result->html = i_html.
|
||||||
r_result->button_text_confirm = i_button_text.
|
r_result->button_text_confirm = i_button_text.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD view_display.
|
METHOD view_display.
|
||||||
|
|
||||||
DATA(popup) = z2ui5_cl_xml_view=>factory_popup( )->dialog(
|
DATA(popup) = z2ui5_cl_xml_view=>factory_popup( )->dialog( title = title
|
||||||
title = title
|
icon = icon
|
||||||
icon = icon
|
afterclose = client->_event( 'BUTTON_CONFIRM' )
|
||||||
afterclose = client->_event( 'BUTTON_CONFIRM' )
|
|
||||||
)->content(
|
)->content(
|
||||||
)->vbox( 'sapUiMediumMargin'
|
)->vbox( 'sapUiMediumMargin'
|
||||||
)->html( html
|
)->html( html
|
||||||
)->get_parent( )->get_parent( )->get_parent(
|
)->get_parent( )->get_parent( )->get_parent(
|
||||||
)->buttons(
|
)->buttons(
|
||||||
)->button(
|
)->button( text = button_text_confirm
|
||||||
text = button_text_confirm
|
press = client->_event( 'BUTTON_CONFIRM' )
|
||||||
press = client->_event( 'BUTTON_CONFIRM' )
|
type = 'Emphasized' ).
|
||||||
type = 'Emphasized' ).
|
|
||||||
|
|
||||||
client->popup_display( popup->stringify( ) ).
|
client->popup_display( popup->stringify( ) ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD z2ui5_if_app~main.
|
METHOD z2ui5_if_app~main.
|
||||||
|
|
||||||
me->client = client.
|
me->client = client.
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
CLASS z2ui5_cl_pop_input_val DEFINITION
|
CLASS z2ui5_cl_pop_input_val DEFINITION
|
||||||
PUBLIC
|
PUBLIC FINAL
|
||||||
FINAL
|
CREATE PUBLIC.
|
||||||
CREATE PUBLIC .
|
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
|
||||||
|
@ -9,9 +8,9 @@ CLASS z2ui5_cl_pop_input_val DEFINITION
|
||||||
|
|
||||||
CLASS-METHODS factory
|
CLASS-METHODS factory
|
||||||
IMPORTING
|
IMPORTING
|
||||||
text TYPE string DEFAULT `Enter New Value`
|
!text TYPE string DEFAULT `Enter New Value`
|
||||||
val TYPE string OPTIONAL
|
val TYPE string OPTIONAL
|
||||||
title TYPE string DEFAULT `Popup Input Value`
|
!title TYPE string DEFAULT `Popup Input Value`
|
||||||
button_text_confirm TYPE string DEFAULT `OK`
|
button_text_confirm TYPE string DEFAULT `OK`
|
||||||
button_text_cancel TYPE string DEFAULT `Cancel`
|
button_text_cancel TYPE string DEFAULT `Cancel`
|
||||||
PREFERRED PARAMETER val
|
PREFERRED PARAMETER val
|
||||||
|
@ -23,6 +22,7 @@ CLASS z2ui5_cl_pop_input_val DEFINITION
|
||||||
value TYPE string,
|
value TYPE string,
|
||||||
check_confirmed TYPE abap_bool,
|
check_confirmed TYPE abap_bool,
|
||||||
END OF ty_s_result.
|
END OF ty_s_result.
|
||||||
|
|
||||||
DATA ms_result TYPE ty_s_result.
|
DATA ms_result TYPE ty_s_result.
|
||||||
|
|
||||||
METHODS result
|
METHODS result
|
||||||
|
@ -30,70 +30,62 @@ CLASS z2ui5_cl_pop_input_val DEFINITION
|
||||||
VALUE(result) TYPE ty_s_result.
|
VALUE(result) TYPE ty_s_result.
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
DATA client TYPE REF TO z2ui5_if_client.
|
DATA client TYPE REF TO z2ui5_if_client.
|
||||||
DATA title TYPE string.
|
DATA title TYPE string.
|
||||||
DATA icon TYPE string.
|
DATA icon TYPE string.
|
||||||
DATA question_text TYPE string.
|
DATA question_text TYPE string.
|
||||||
DATA button_text_confirm TYPE string.
|
DATA button_text_confirm TYPE string.
|
||||||
DATA button_text_cancel TYPE string.
|
DATA button_text_cancel TYPE string.
|
||||||
DATA check_initialized TYPE abap_bool.
|
DATA check_initialized TYPE abap_bool.
|
||||||
DATA check_result_confirmed TYPE abap_bool.
|
DATA check_result_confirmed TYPE abap_bool.
|
||||||
|
|
||||||
METHODS view_display.
|
METHODS view_display.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
CLASS z2ui5_cl_pop_input_val IMPLEMENTATION.
|
||||||
CLASS Z2UI5_CL_POP_INPUT_VAL IMPLEMENTATION.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD factory.
|
METHOD factory.
|
||||||
|
|
||||||
r_result = NEW #( ).
|
r_result = NEW #( ).
|
||||||
r_result->title = title.
|
r_result->title = title.
|
||||||
|
|
||||||
r_result->question_text = text.
|
r_result->question_text = text.
|
||||||
r_result->button_text_confirm = button_text_confirm.
|
r_result->button_text_confirm = button_text_confirm.
|
||||||
r_result->button_text_cancel = button_text_cancel.
|
r_result->button_text_cancel = button_text_cancel.
|
||||||
r_result->ms_result-value = val.
|
r_result->ms_result-value = val.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD result.
|
METHOD result.
|
||||||
|
|
||||||
result = ms_result.
|
result = ms_result.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD view_display.
|
METHOD view_display.
|
||||||
|
|
||||||
DATA(popup) = z2ui5_cl_xml_view=>factory_popup( )->dialog(
|
DATA(popup) = z2ui5_cl_xml_view=>factory_popup( )->dialog( title = title
|
||||||
title = title
|
icon = icon
|
||||||
icon = icon
|
afterclose = client->_event( 'BUTTON_CANCEL' )
|
||||||
afterclose = client->_event( 'BUTTON_CANCEL' )
|
|
||||||
)->content(
|
)->content(
|
||||||
)->vbox( 'sapUiMediumMargin'
|
)->vbox( 'sapUiMediumMargin'
|
||||||
)->label( question_text
|
)->label( question_text
|
||||||
)->input(
|
)->input( value = client->_bind_edit( ms_result-value )
|
||||||
value = client->_bind_edit( ms_result-value )
|
submit = client->_event( 'BUTTON_CONFIRM' )
|
||||||
submit = client->_event( 'BUTTON_CONFIRM' )
|
|
||||||
)->get_parent( )->get_parent(
|
)->get_parent( )->get_parent(
|
||||||
)->buttons(
|
)->buttons(
|
||||||
)->button(
|
)->button( text = button_text_cancel
|
||||||
text = button_text_cancel
|
press = client->_event( 'BUTTON_CANCEL' )
|
||||||
press = client->_event( 'BUTTON_CANCEL' )
|
)->button( text = button_text_confirm
|
||||||
)->button(
|
press = client->_event( 'BUTTON_CONFIRM' )
|
||||||
text = button_text_confirm
|
type = 'Emphasized' ).
|
||||||
press = client->_event( 'BUTTON_CONFIRM' )
|
|
||||||
type = 'Emphasized' ).
|
|
||||||
|
|
||||||
client->popup_display( popup->stringify( ) ).
|
client->popup_display( popup->stringify( ) ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD z2ui5_if_app~main.
|
METHOD z2ui5_if_app~main.
|
||||||
|
|
||||||
me->client = client.
|
me->client = client.
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
CLASS z2ui5_cl_pop_itab_json_dl DEFINITION
|
CLASS z2ui5_cl_pop_itab_json_dl DEFINITION
|
||||||
PUBLIC
|
PUBLIC FINAL
|
||||||
FINAL
|
CREATE PUBLIC.
|
||||||
CREATE PUBLIC .
|
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
|
||||||
|
@ -24,13 +23,13 @@ CLASS z2ui5_cl_pop_itab_json_dl DEFINITION
|
||||||
DATA mr_itab TYPE REF TO data.
|
DATA mr_itab TYPE REF TO data.
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
DATA client TYPE REF TO z2ui5_if_client.
|
DATA client TYPE REF TO z2ui5_if_client.
|
||||||
|
|
||||||
DATA title TYPE string.
|
DATA title TYPE string.
|
||||||
DATA icon TYPE string.
|
DATA icon TYPE string.
|
||||||
|
|
||||||
DATA button_text_confirm TYPE string.
|
DATA button_text_confirm TYPE string.
|
||||||
DATA button_text_cancel TYPE string.
|
DATA button_text_cancel TYPE string.
|
||||||
|
|
||||||
DATA check_result_confirmed TYPE abap_bool.
|
DATA check_result_confirmed TYPE abap_bool.
|
||||||
|
|
||||||
|
@ -38,31 +37,26 @@ CLASS z2ui5_cl_pop_itab_json_dl DEFINITION
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
CLASS z2ui5_cl_pop_itab_json_dl IMPLEMENTATION.
|
||||||
CLASS Z2UI5_CL_POP_ITAB_JSON_DL IMPLEMENTATION.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD factory.
|
METHOD factory.
|
||||||
|
|
||||||
r_result = NEW #( ).
|
r_result = NEW #( ).
|
||||||
r_result->mr_itab = z2ui5_cl_util=>conv_copy_ref_data( itab ).
|
r_result->mr_itab = z2ui5_cl_util=>conv_copy_ref_data( itab ).
|
||||||
|
|
||||||
r_result->title = i_title.
|
r_result->title = i_title.
|
||||||
r_result->icon = i_icon.
|
r_result->icon = i_icon.
|
||||||
|
|
||||||
r_result->button_text_confirm = i_button_text_confirm.
|
r_result->button_text_confirm = i_button_text_confirm.
|
||||||
r_result->button_text_cancel = i_button_text_cancel.
|
r_result->button_text_cancel = i_button_text_cancel.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD result.
|
METHOD result.
|
||||||
|
|
||||||
result = check_result_confirmed.
|
result = check_result_confirmed.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD z2ui5_if_app~main.
|
METHOD z2ui5_if_app~main.
|
||||||
DATA app TYPE REF TO object.
|
DATA app TYPE REF TO object.
|
||||||
|
|
||||||
|
@ -73,8 +67,8 @@ CLASS Z2UI5_CL_POP_ITAB_JSON_DL IMPLEMENTATION.
|
||||||
IF z2ui5_cl_util=>rtti_check_class_exists( `z2ui5_dbt_cl_app_03` ) = abap_false.
|
IF z2ui5_cl_util=>rtti_check_class_exists( `z2ui5_dbt_cl_app_03` ) = abap_false.
|
||||||
|
|
||||||
DATA(lv_link) = `https://github.com/oblomov-dev/a2UI5-db_table_loader`.
|
DATA(lv_link) = `https://github.com/oblomov-dev/a2UI5-db_table_loader`.
|
||||||
DATA(lv_text) = `<p>Please install the open-source project a2UI5-db_table_loader and try again: <a href="` &&
|
DATA(lv_text) = |<p>Please install the open-source project a2UI5-db_table_loader and try again: <a href="| &&
|
||||||
lv_link && `" style="color:blue; font-weight:600;" target="_blank">(link)</a></p>`.
|
|{ lv_link }" style="color:blue; font-weight:600;" target="_blank">(link)</a></p>|.
|
||||||
|
|
||||||
DATA(lx) = NEW z2ui5_cx_util_error( val = lv_text ).
|
DATA(lx) = NEW z2ui5_cx_util_error( val = lv_text ).
|
||||||
client->nav_app_leave( z2ui5_cl_pop_error=>factory( lx ) ).
|
client->nav_app_leave( z2ui5_cl_pop_error=>factory( lx ) ).
|
||||||
|
@ -83,10 +77,8 @@ CLASS Z2UI5_CL_POP_ITAB_JSON_DL IMPLEMENTATION.
|
||||||
|
|
||||||
DATA(lv_classname) = `Z2UI5_DBT_CL_APP_03`.
|
DATA(lv_classname) = `Z2UI5_DBT_CL_APP_03`.
|
||||||
CALL METHOD (lv_classname)=>('FACTORY_POPUP_BY_ITAB')
|
CALL METHOD (lv_classname)=>('FACTORY_POPUP_BY_ITAB')
|
||||||
EXPORTING
|
EXPORTING itab = mr_itab
|
||||||
itab = mr_itab
|
RECEIVING result = app.
|
||||||
RECEIVING
|
|
||||||
result = app.
|
|
||||||
|
|
||||||
client->nav_app_leave( CAST #( app ) ).
|
client->nav_app_leave( CAST #( app ) ).
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
CLASS z2ui5_cl_pop_js_loader DEFINITION
|
CLASS z2ui5_cl_pop_js_loader DEFINITION
|
||||||
PUBLIC
|
PUBLIC FINAL
|
||||||
FINAL
|
CREATE PUBLIC.
|
||||||
CREATE PUBLIC .
|
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
|
||||||
|
@ -23,15 +22,14 @@ CLASS z2ui5_cl_pop_js_loader DEFINITION
|
||||||
VALUE(result3) TYPE string.
|
VALUE(result3) TYPE string.
|
||||||
|
|
||||||
DATA mv_is_open_ui5 TYPE abap_bool.
|
DATA mv_is_open_ui5 TYPE abap_bool.
|
||||||
DATA ui5_gav TYPE string.
|
DATA ui5_gav TYPE string.
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
DATA check_initialized TYPE abap_bool.
|
DATA check_initialized TYPE abap_bool.
|
||||||
DATA client TYPE REF TO z2ui5_if_client.
|
DATA client TYPE REF TO z2ui5_if_client.
|
||||||
DATA js TYPE string.
|
DATA js TYPE string.
|
||||||
DATA user_command TYPE string.
|
DATA user_command TYPE string.
|
||||||
DATA check_open_ui5 TYPE abap_bool.
|
DATA check_open_ui5 TYPE abap_bool.
|
||||||
|
|
||||||
|
|
||||||
METHODS view_display.
|
METHODS view_display.
|
||||||
|
|
||||||
|
@ -39,54 +37,46 @@ CLASS z2ui5_cl_pop_js_loader DEFINITION
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS z2ui5_cl_pop_js_loader IMPLEMENTATION.
|
CLASS z2ui5_cl_pop_js_loader IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD factory.
|
METHOD factory.
|
||||||
|
|
||||||
r_result = NEW #( ).
|
r_result = NEW #( ).
|
||||||
r_result->js = i_js.
|
r_result->js = i_js.
|
||||||
r_result->user_command = i_result.
|
r_result->user_command = i_result.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD factory_check_open_ui5.
|
METHOD factory_check_open_ui5.
|
||||||
r_result = NEW #( ).
|
r_result = NEW #( ).
|
||||||
r_result->check_open_ui5 = abap_true.
|
r_result->check_open_ui5 = abap_true.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD result.
|
METHOD result.
|
||||||
|
|
||||||
result3 = user_command.
|
result3 = user_command.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD view_display.
|
METHOD view_display.
|
||||||
|
|
||||||
|
|
||||||
DATA(popup) = z2ui5_cl_xml_view=>factory_popup( )->dialog( `Setup UI...`
|
DATA(popup) = z2ui5_cl_xml_view=>factory_popup( )->dialog( `Setup UI...`
|
||||||
)->content( ).
|
)->content( ).
|
||||||
|
|
||||||
IF js IS NOT INITIAL.
|
IF js IS NOT INITIAL.
|
||||||
popup->_z2ui5( )->timer( client->_event( 'TIMER_FINISHED' )
|
popup->_z2ui5( )->timer( client->_event( 'TIMER_FINISHED' )
|
||||||
)->_generic( ns = `html` name = `script` )->_cc_plain_xml( js ).
|
)->_generic( ns = `html`
|
||||||
|
name = `script` )->_cc_plain_xml( js ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
IF check_open_ui5 = abap_true.
|
IF check_open_ui5 = abap_true.
|
||||||
popup->_z2ui5( )->info_frontend(
|
popup->_z2ui5( )->info_frontend( finished = client->_event( `INFO_FINISHED` )
|
||||||
finished = client->_event( `INFO_FINISHED` )
|
ui5_gav = client->_bind_edit( ui5_gav ) ).
|
||||||
ui5_gav = client->_bind_edit( ui5_gav ) ).
|
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
client->popup_display( popup->stringify( ) ).
|
client->popup_display( popup->stringify( ) ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD z2ui5_if_app~main.
|
METHOD z2ui5_if_app~main.
|
||||||
|
|
||||||
me->client = client.
|
me->client = client.
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
CLASS z2ui5_cl_pop_messages DEFINITION
|
CLASS z2ui5_cl_pop_messages DEFINITION
|
||||||
PUBLIC
|
PUBLIC FINAL
|
||||||
FINAL
|
CREATE PUBLIC.
|
||||||
CREATE PUBLIC .
|
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
|
||||||
|
@ -22,6 +21,7 @@ CLASS z2ui5_cl_pop_messages DEFINITION
|
||||||
group TYPE string,
|
group TYPE string,
|
||||||
END OF ty_s_msg.
|
END OF ty_s_msg.
|
||||||
TYPES ty_t_msg TYPE STANDARD TABLE OF ty_s_msg.
|
TYPES ty_t_msg TYPE STANDARD TABLE OF ty_s_msg.
|
||||||
|
|
||||||
DATA mt_msg TYPE ty_t_msg.
|
DATA mt_msg TYPE ty_t_msg.
|
||||||
|
|
||||||
CLASS-METHODS factory
|
CLASS-METHODS factory
|
||||||
|
@ -32,19 +32,17 @@ CLASS z2ui5_cl_pop_messages DEFINITION
|
||||||
VALUE(r_result) TYPE REF TO z2ui5_cl_pop_messages.
|
VALUE(r_result) TYPE REF TO z2ui5_cl_pop_messages.
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
DATA client TYPE REF TO z2ui5_if_client.
|
DATA client TYPE REF TO z2ui5_if_client.
|
||||||
DATA title TYPE string.
|
DATA title TYPE string.
|
||||||
DATA check_initialized TYPE abap_bool.
|
DATA check_initialized TYPE abap_bool.
|
||||||
|
|
||||||
METHODS view_display.
|
METHODS view_display.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS z2ui5_cl_pop_messages IMPLEMENTATION.
|
CLASS z2ui5_cl_pop_messages IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD factory.
|
METHOD factory.
|
||||||
|
|
||||||
r_result = NEW #( ).
|
r_result = NEW #( ).
|
||||||
|
@ -53,11 +51,11 @@ CLASS z2ui5_cl_pop_messages IMPLEMENTATION.
|
||||||
LOOP AT lt_msg REFERENCE INTO DATA(lr_row).
|
LOOP AT lt_msg REFERENCE INTO DATA(lr_row).
|
||||||
|
|
||||||
DATA(ls_row) = VALUE ty_s_msg( ).
|
DATA(ls_row) = VALUE ty_s_msg( ).
|
||||||
ls_row-type = z2ui5_cl_util=>ui5_get_msg_type( lr_row->type ).
|
ls_row-type = z2ui5_cl_util=>ui5_get_msg_type( lr_row->type ).
|
||||||
ls_row-title = lr_row->text.
|
ls_row-title = lr_row->text.
|
||||||
* lr_row->title = `title`.
|
* lr_row->title = `title`.
|
||||||
* lr_row->message = `message`.
|
* lr_row->message = `message`.
|
||||||
ls_row-subtitle = lr_row->id && ` ` && lr_row->no.
|
ls_row-subtitle = |{ lr_row->id } { lr_row->no }|.
|
||||||
* lr_row->group = `001`.
|
* lr_row->group = `001`.
|
||||||
|
|
||||||
INSERT ls_row INTO TABLE r_result->mt_msg.
|
INSERT ls_row INTO TABLE r_result->mt_msg.
|
||||||
|
@ -67,42 +65,34 @@ CLASS z2ui5_cl_pop_messages IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD view_display.
|
METHOD view_display.
|
||||||
|
|
||||||
DATA(popup) = z2ui5_cl_xml_view=>factory_popup( ).
|
DATA(popup) = z2ui5_cl_xml_view=>factory_popup( ).
|
||||||
popup = popup->dialog(
|
popup = popup->dialog( title = `Messages`
|
||||||
title = `Messages`
|
contentheight = '50%'
|
||||||
contentheight = '50%'
|
contentwidth = '50%'
|
||||||
contentwidth = '50%'
|
verticalScrolling = abap_false
|
||||||
verticalScrolling = abap_false
|
afterclose = client->_event( 'BUTTON_CONTINUE' )
|
||||||
afterclose = client->_event( 'BUTTON_CONTINUE' )
|
|
||||||
).
|
).
|
||||||
|
|
||||||
popup->message_view(
|
popup->message_view( items = client->_bind( mt_msg )
|
||||||
items = client->_bind( mt_msg )
|
* groupitems = abap_true
|
||||||
* groupitems = abap_true
|
)->message_item( type = `{TYPE}`
|
||||||
)->message_item(
|
title = `{TITLE}`
|
||||||
type = `{TYPE}`
|
subtitle = `{SUBTITLE}`
|
||||||
title = `{TITLE}`
|
* description = `{MESSAGE}`
|
||||||
subtitle = `{SUBTITLE}`
|
* groupname = `{GROUP}`
|
||||||
* description = `{MESSAGE}`
|
|
||||||
* groupname = `{GROUP}`
|
|
||||||
).
|
).
|
||||||
|
|
||||||
popup->buttons(
|
popup->buttons(
|
||||||
)->button(
|
)->button( text = 'continue'
|
||||||
text = 'continue'
|
press = client->_event( 'BUTTON_CONTINUE' )
|
||||||
press = client->_event( 'BUTTON_CONTINUE' )
|
type = 'Emphasized' ).
|
||||||
type = 'Emphasized' ).
|
|
||||||
|
|
||||||
|
|
||||||
client->popup_display( popup->stringify( ) ).
|
client->popup_display( popup->stringify( ) ).
|
||||||
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD z2ui5_if_app~main.
|
METHOD z2ui5_if_app~main.
|
||||||
|
|
||||||
me->client = client.
|
me->client = client.
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
CLASS z2ui5_cl_pop_pdf DEFINITION
|
CLASS z2ui5_cl_pop_pdf DEFINITION
|
||||||
PUBLIC
|
PUBLIC FINAL
|
||||||
FINAL
|
CREATE PUBLIC.
|
||||||
CREATE PUBLIC .
|
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
|
||||||
|
@ -21,83 +20,75 @@ CLASS z2ui5_cl_pop_pdf DEFINITION
|
||||||
text TYPE string,
|
text TYPE string,
|
||||||
check_confirmed TYPE abap_bool,
|
check_confirmed TYPE abap_bool,
|
||||||
END OF ty_s_result.
|
END OF ty_s_result.
|
||||||
|
|
||||||
DATA ms_result TYPE ty_s_result.
|
DATA ms_result TYPE ty_s_result.
|
||||||
|
|
||||||
DATA mv_pdf TYPE string.
|
DATA mv_pdf TYPE string.
|
||||||
|
|
||||||
METHODS result
|
METHODS result
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(result) TYPE ty_s_result.
|
VALUE(result) TYPE ty_s_result.
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
DATA client TYPE REF TO z2ui5_if_client.
|
DATA client TYPE REF TO z2ui5_if_client.
|
||||||
DATA title TYPE string.
|
DATA title TYPE string.
|
||||||
DATA icon TYPE string.
|
DATA icon TYPE string.
|
||||||
DATA question_text TYPE string.
|
DATA question_text TYPE string.
|
||||||
DATA button_text_confirm TYPE string.
|
DATA button_text_confirm TYPE string.
|
||||||
DATA button_text_cancel TYPE string.
|
DATA button_text_cancel TYPE string.
|
||||||
DATA check_initialized TYPE abap_bool.
|
DATA check_initialized TYPE abap_bool.
|
||||||
DATA check_result_confirmed TYPE abap_bool.
|
DATA check_result_confirmed TYPE abap_bool.
|
||||||
|
|
||||||
METHODS view_display.
|
METHODS view_display.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS z2ui5_cl_pop_pdf IMPLEMENTATION.
|
CLASS z2ui5_cl_pop_pdf IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD factory.
|
METHOD factory.
|
||||||
|
|
||||||
r_result = NEW #( ).
|
r_result = NEW #( ).
|
||||||
r_result->title = i_title.
|
r_result->title = i_title.
|
||||||
r_result->button_text_confirm = i_button_text_confirm.
|
r_result->button_text_confirm = i_button_text_confirm.
|
||||||
r_result->button_text_cancel = i_button_text_cancel.
|
r_result->button_text_cancel = i_button_text_cancel.
|
||||||
r_result->mv_pdf = i_pdf.
|
r_result->mv_pdf = i_pdf.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD result.
|
METHOD result.
|
||||||
|
|
||||||
result = ms_result.
|
result = ms_result.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD view_display.
|
METHOD view_display.
|
||||||
|
|
||||||
DATA(popup) = z2ui5_cl_xml_view=>factory_popup( )->dialog(
|
DATA(popup) = z2ui5_cl_xml_view=>factory_popup( )->dialog( title = title
|
||||||
title = title
|
icon = icon
|
||||||
icon = icon
|
stretch = abap_true
|
||||||
stretch = abap_true
|
afterclose = client->_event( 'BUTTON_CANCEL' )
|
||||||
afterclose = client->_event( 'BUTTON_CANCEL' )
|
|
||||||
)->content(
|
)->content(
|
||||||
)->vbox( 'sapUiMediumMargin'
|
)->vbox( 'sapUiMediumMargin'
|
||||||
)->label( question_text
|
)->label( question_text
|
||||||
)->_generic(
|
)->_generic( ns = `html`
|
||||||
ns = `html`
|
name = `iframe`
|
||||||
name = `iframe`
|
t_prop = VALUE #( ( n = `src` v = mv_pdf )
|
||||||
t_prop = VALUE #(
|
( n = `height` v = `800px` )
|
||||||
( n = `src` v = mv_pdf )
|
( n = `width` v = `99%` )
|
||||||
( n = `height` v = `800px` )
|
)
|
||||||
( n = `width` v = `99%` )
|
|
||||||
)
|
|
||||||
)->get_parent( )->get_parent( )->get_parent(
|
)->get_parent( )->get_parent( )->get_parent(
|
||||||
)->buttons(
|
)->buttons(
|
||||||
)->button(
|
)->button( text = button_text_cancel
|
||||||
text = button_text_cancel
|
press = client->_event( 'BUTTON_CANCEL' )
|
||||||
press = client->_event( 'BUTTON_CANCEL' )
|
)->button( text = button_text_confirm
|
||||||
)->button(
|
press = client->_event( 'BUTTON_CONFIRM' )
|
||||||
text = button_text_confirm
|
type = 'Emphasized' ).
|
||||||
press = client->_event( 'BUTTON_CONFIRM' )
|
|
||||||
type = 'Emphasized' ).
|
|
||||||
|
|
||||||
client->popup_display( popup->stringify( ) ).
|
client->popup_display( popup->stringify( ) ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD z2ui5_if_app~main.
|
METHOD z2ui5_if_app~main.
|
||||||
|
|
||||||
me->client = client.
|
me->client = client.
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
CLASS z2ui5_cl_pop_table DEFINITION
|
CLASS z2ui5_cl_pop_table DEFINITION
|
||||||
PUBLIC
|
PUBLIC FINAL
|
||||||
FINAL
|
|
||||||
CREATE PROTECTED.
|
CREATE PROTECTED.
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
@ -18,6 +17,7 @@ CLASS z2ui5_cl_pop_table DEFINITION
|
||||||
row TYPE REF TO data,
|
row TYPE REF TO data,
|
||||||
check_confirmed TYPE abap_bool,
|
check_confirmed TYPE abap_bool,
|
||||||
END OF ty_s_result.
|
END OF ty_s_result.
|
||||||
|
|
||||||
DATA ms_result TYPE ty_s_result.
|
DATA ms_result TYPE ty_s_result.
|
||||||
|
|
||||||
METHODS result
|
METHODS result
|
||||||
|
@ -28,8 +28,9 @@ CLASS z2ui5_cl_pop_table DEFINITION
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
DATA check_initialized TYPE abap_bool.
|
DATA check_initialized TYPE abap_bool.
|
||||||
DATA title TYPE string VALUE 'Table View'.
|
DATA title TYPE string VALUE 'Table View'.
|
||||||
DATA client TYPE REF TO z2ui5_if_client.
|
DATA client TYPE REF TO z2ui5_if_client.
|
||||||
|
|
||||||
METHODS on_event.
|
METHODS on_event.
|
||||||
METHODS display.
|
METHODS display.
|
||||||
METHODS on_event_confirm.
|
METHODS on_event_confirm.
|
||||||
|
@ -38,24 +39,20 @@ CLASS z2ui5_cl_pop_table DEFINITION
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS z2ui5_cl_pop_table IMPLEMENTATION.
|
CLASS z2ui5_cl_pop_table IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD display.
|
METHOD display.
|
||||||
|
|
||||||
FIELD-SYMBOLS <tab_out> TYPE STANDARD TABLE.
|
FIELD-SYMBOLS <tab_out> TYPE STANDARD TABLE.
|
||||||
|
|
||||||
ASSIGN mr_tab->* TO <tab_out>.
|
ASSIGN mr_tab->* TO <tab_out>.
|
||||||
|
|
||||||
DATA(popup) = z2ui5_cl_xml_view=>factory_popup( )->dialog(
|
DATA(popup) = z2ui5_cl_xml_view=>factory_popup( )->dialog( afterclose = client->_event( 'BUTTON_CONFIRM' )
|
||||||
afterclose = client->_event( 'BUTTON_CONFIRM' )
|
stretch = abap_true
|
||||||
stretch = abap_true
|
title = title
|
||||||
title = title
|
* icon = 'sap-icon://edit'
|
||||||
* icon = 'sap-icon://edit'
|
|
||||||
)->content( ).
|
)->content( ).
|
||||||
|
|
||||||
DATA(tab) = popup->table(
|
DATA(tab) = popup->table( client->_bind( <tab_out> ) ).
|
||||||
client->_bind( <tab_out> ) ).
|
|
||||||
|
|
||||||
DATA(lt_comp) = z2ui5_cl_util=>rtti_get_t_attri_by_any( <tab_out> ).
|
DATA(lt_comp) = z2ui5_cl_util=>rtti_get_t_attri_by_any( <tab_out> ).
|
||||||
|
|
||||||
|
@ -63,7 +60,7 @@ CLASS z2ui5_cl_pop_table IMPLEMENTATION.
|
||||||
DATA(cells) = list->cells( ).
|
DATA(cells) = list->cells( ).
|
||||||
|
|
||||||
LOOP AT lt_comp INTO DATA(ls_comp).
|
LOOP AT lt_comp INTO DATA(ls_comp).
|
||||||
cells->text( `{` && ls_comp-name && `}` ).
|
cells->text( |\{{ ls_comp-name }\}| ).
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
|
||||||
DATA(columns) = tab->columns( ).
|
DATA(columns) = tab->columns( ).
|
||||||
|
@ -73,16 +70,14 @@ CLASS z2ui5_cl_pop_table IMPLEMENTATION.
|
||||||
|
|
||||||
popup->get_parent(
|
popup->get_parent(
|
||||||
)->buttons(
|
)->buttons(
|
||||||
)->button(
|
)->button( text = 'OK'
|
||||||
text = 'OK'
|
press = client->_event( 'BUTTON_CONFIRM' )
|
||||||
press = client->_event( 'BUTTON_CONFIRM' )
|
type = 'Emphasized' ).
|
||||||
type = 'Emphasized' ).
|
|
||||||
|
|
||||||
client->popup_display( popup->stringify( ) ).
|
client->popup_display( popup->stringify( ) ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD factory.
|
METHOD factory.
|
||||||
FIELD-SYMBOLS <tab> TYPE any.
|
FIELD-SYMBOLS <tab> TYPE any.
|
||||||
|
|
||||||
|
@ -98,7 +93,6 @@ CLASS z2ui5_cl_pop_table IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD on_event.
|
METHOD on_event.
|
||||||
|
|
||||||
CASE client->get( )-event.
|
CASE client->get( )-event.
|
||||||
|
@ -111,12 +105,10 @@ CLASS z2ui5_cl_pop_table IMPLEMENTATION.
|
||||||
client->popup_destroy( ).
|
client->popup_destroy( ).
|
||||||
client->nav_app_leave( client->get_app( client->get( )-s_draft-id_prev_app_stack ) ).
|
client->nav_app_leave( client->get_app( client->get( )-s_draft-id_prev_app_stack ) ).
|
||||||
|
|
||||||
|
|
||||||
ENDCASE.
|
ENDCASE.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD on_event_confirm.
|
METHOD on_event_confirm.
|
||||||
|
|
||||||
client->popup_destroy( ).
|
client->popup_destroy( ).
|
||||||
|
@ -124,7 +116,6 @@ CLASS z2ui5_cl_pop_table IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD result.
|
METHOD result.
|
||||||
|
|
||||||
result = ms_result.
|
result = ms_result.
|
||||||
|
@ -133,7 +124,7 @@ CLASS z2ui5_cl_pop_table IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD z2ui5_if_app~main.
|
METHOD z2ui5_if_app~main.
|
||||||
|
|
||||||
me->client = client.
|
me->client = client.
|
||||||
|
|
||||||
IF check_initialized = abap_false.
|
IF check_initialized = abap_false.
|
||||||
check_initialized = abap_true.
|
check_initialized = abap_true.
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
CLASS z2ui5_cl_pop_textedit DEFINITION
|
CLASS z2ui5_cl_pop_textedit DEFINITION
|
||||||
PUBLIC
|
PUBLIC FINAL
|
||||||
FINAL
|
CREATE PUBLIC.
|
||||||
CREATE PUBLIC .
|
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
INTERFACES z2ui5_if_app.
|
INTERFACES z2ui5_if_app.
|
||||||
|
@ -9,23 +8,25 @@ CLASS z2ui5_cl_pop_textedit DEFINITION
|
||||||
CLASS-METHODS factory
|
CLASS-METHODS factory
|
||||||
IMPORTING
|
IMPORTING
|
||||||
i_stretch_active TYPE abap_bool DEFAULT abap_true
|
i_stretch_active TYPE abap_bool DEFAULT abap_true
|
||||||
i_textarea TYPE string OPTIONAL
|
i_textarea TYPE string OPTIONAL
|
||||||
i_title TYPE string DEFAULT `Editor`
|
i_title TYPE string DEFAULT `Editor`
|
||||||
i_check_editable TYPE abap_bool DEFAULT abap_false
|
i_check_editable TYPE abap_bool DEFAULT abap_false
|
||||||
PREFERRED PARAMETER i_textarea
|
PREFERRED PARAMETER i_textarea
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(r_result) TYPE REF TO z2ui5_cl_pop_textedit.
|
VALUE(r_result) TYPE REF TO z2ui5_cl_pop_textedit.
|
||||||
|
|
||||||
DATA client TYPE REF TO z2ui5_if_client.
|
DATA client TYPE REF TO z2ui5_if_client.
|
||||||
DATA mv_stretch_active TYPE abap_bool.
|
DATA mv_stretch_active TYPE abap_bool.
|
||||||
DATA mv_title TYPE string.
|
DATA mv_title TYPE string.
|
||||||
DATA mv_check_editable TYPE abap_bool.
|
DATA mv_check_editable TYPE abap_bool.
|
||||||
DATA check_initialized TYPE abap_bool.
|
DATA check_initialized TYPE abap_bool.
|
||||||
|
|
||||||
TYPES:
|
TYPES:
|
||||||
BEGIN OF ty_s_result,
|
BEGIN OF ty_s_result,
|
||||||
text TYPE string,
|
text TYPE string,
|
||||||
check_confirmed TYPE abap_bool,
|
check_confirmed TYPE abap_bool,
|
||||||
END OF ty_s_result.
|
END OF ty_s_result.
|
||||||
|
|
||||||
DATA ms_result TYPE ty_s_result.
|
DATA ms_result TYPE ty_s_result.
|
||||||
|
|
||||||
METHODS display.
|
METHODS display.
|
||||||
|
@ -35,49 +36,44 @@ CLASS z2ui5_cl_pop_textedit DEFINITION
|
||||||
VALUE(result) TYPE ty_s_result.
|
VALUE(result) TYPE ty_s_result.
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS z2ui5_cl_pop_textedit IMPLEMENTATION.
|
CLASS z2ui5_cl_pop_textedit IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD factory.
|
METHOD factory.
|
||||||
|
|
||||||
r_result = NEW #( ).
|
r_result = NEW #( ).
|
||||||
r_result->mv_stretch_active = i_stretch_active.
|
r_result->mv_stretch_active = i_stretch_active.
|
||||||
r_result->ms_result-text = i_textarea.
|
r_result->ms_result-text = i_textarea.
|
||||||
r_result->mv_title = i_title.
|
r_result->mv_title = i_title.
|
||||||
r_result->mv_check_editable = i_check_editable.
|
r_result->mv_check_editable = i_check_editable.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD display.
|
METHOD display.
|
||||||
|
|
||||||
DATA(popup) = z2ui5_cl_xml_view=>factory_popup( )->dialog(
|
DATA(popup) = z2ui5_cl_xml_view=>factory_popup( )->dialog( afterclose = client->_event( 'BUTTON_TEXTAREA_CANCEL' )
|
||||||
afterclose = client->_event( 'BUTTON_TEXTAREA_CANCEL' )
|
stretch = mv_stretch_active
|
||||||
stretch = mv_stretch_active
|
title = mv_title
|
||||||
title = mv_title
|
icon = 'sap-icon://edit'
|
||||||
icon = 'sap-icon://edit'
|
|
||||||
)->content(
|
)->content(
|
||||||
)->text_area( growing = abap_true
|
)->text_area( growing = abap_true
|
||||||
editable = mv_check_editable
|
editable = mv_check_editable
|
||||||
value = client->_bind_edit( ms_result-text )
|
value = client->_bind_edit( ms_result-text )
|
||||||
)->get_parent(
|
)->get_parent(
|
||||||
)->buttons(
|
)->buttons(
|
||||||
)->button(
|
)->button( text = 'Cancel'
|
||||||
text = 'Cancel'
|
press = client->_event( 'BUTTON_TEXTAREA_CANCEL' )
|
||||||
press = client->_event( 'BUTTON_TEXTAREA_CANCEL' )
|
)->button( text = 'Confirm'
|
||||||
)->button(
|
press = client->_event( 'BUTTON_TEXTAREA_CONFIRM' )
|
||||||
text = 'Confirm'
|
type = 'Emphasized' ).
|
||||||
press = client->_event( 'BUTTON_TEXTAREA_CONFIRM' )
|
|
||||||
type = 'Emphasized' ).
|
|
||||||
|
|
||||||
client->popup_display( popup->stringify( ) ).
|
client->popup_display( popup->stringify( ) ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD z2ui5_if_app~main.
|
METHOD z2ui5_if_app~main.
|
||||||
|
|
||||||
me->client = client.
|
me->client = client.
|
||||||
|
@ -105,5 +101,4 @@ CLASS z2ui5_cl_pop_textedit IMPLEMENTATION.
|
||||||
METHOD result.
|
METHOD result.
|
||||||
result = ms_result.
|
result = ms_result.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
CLASS z2ui5_cl_pop_to_confirm DEFINITION
|
CLASS z2ui5_cl_pop_to_confirm DEFINITION
|
||||||
PUBLIC
|
PUBLIC FINAL
|
||||||
FINAL
|
CREATE PUBLIC.
|
||||||
CREATE PUBLIC .
|
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
|
||||||
|
@ -30,73 +29,65 @@ CLASS z2ui5_cl_pop_to_confirm DEFINITION
|
||||||
VALUE(result) TYPE abap_bool.
|
VALUE(result) TYPE abap_bool.
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
DATA client TYPE REF TO z2ui5_if_client.
|
DATA client TYPE REF TO z2ui5_if_client.
|
||||||
|
|
||||||
DATA title TYPE string.
|
DATA title TYPE string.
|
||||||
DATA icon TYPE string.
|
DATA icon TYPE string.
|
||||||
DATA question_text TYPE string.
|
DATA question_text TYPE string.
|
||||||
DATA button_text_confirm TYPE string.
|
DATA button_text_confirm TYPE string.
|
||||||
DATA button_text_cancel TYPE string.
|
DATA button_text_cancel TYPE string.
|
||||||
DATA check_initialized TYPE abap_bool.
|
DATA check_initialized TYPE abap_bool.
|
||||||
DATA check_result_confirmed TYPE abap_bool.
|
DATA check_result_confirmed TYPE abap_bool.
|
||||||
DATA event_confirm TYPE string.
|
DATA event_confirm TYPE string.
|
||||||
DATA event_canceled TYPE string.
|
DATA event_canceled TYPE string.
|
||||||
|
|
||||||
METHODS view_display.
|
METHODS view_display.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS z2ui5_cl_pop_to_confirm IMPLEMENTATION.
|
CLASS z2ui5_cl_pop_to_confirm IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD result.
|
METHOD result.
|
||||||
|
|
||||||
result = check_result_confirmed.
|
result = check_result_confirmed.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD factory.
|
METHOD factory.
|
||||||
|
|
||||||
r_result = NEW #( ).
|
r_result = NEW #( ).
|
||||||
|
|
||||||
r_result->title = i_title.
|
r_result->title = i_title.
|
||||||
r_result->icon = i_icon.
|
r_result->icon = i_icon.
|
||||||
r_result->question_text = i_question_text.
|
r_result->question_text = i_question_text.
|
||||||
r_result->button_text_confirm = i_button_text_confirm.
|
r_result->button_text_confirm = i_button_text_confirm.
|
||||||
r_result->button_text_cancel = i_button_text_cancel.
|
r_result->button_text_cancel = i_button_text_cancel.
|
||||||
r_result->event_confirm = i_event_confirm.
|
r_result->event_confirm = i_event_confirm.
|
||||||
r_result->event_canceled = i_event_cancel.
|
r_result->event_canceled = i_event_cancel.
|
||||||
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD view_display.
|
METHOD view_display.
|
||||||
|
|
||||||
DATA(popup) = z2ui5_cl_xml_view=>factory_popup( )->dialog(
|
DATA(popup) = z2ui5_cl_xml_view=>factory_popup( )->dialog( title = title
|
||||||
title = title
|
icon = icon
|
||||||
icon = icon
|
afterclose = client->_event( 'BUTTON_CANCEL' )
|
||||||
afterclose = client->_event( 'BUTTON_CANCEL' )
|
|
||||||
)->content(
|
)->content(
|
||||||
)->vbox( 'sapUiMediumMargin'
|
)->vbox( 'sapUiMediumMargin'
|
||||||
)->text( question_text
|
)->text( question_text
|
||||||
)->get_parent( )->get_parent(
|
)->get_parent( )->get_parent(
|
||||||
)->buttons(
|
)->buttons(
|
||||||
)->button(
|
)->button( text = button_text_cancel
|
||||||
text = button_text_cancel
|
press = client->_event( 'BUTTON_CANCEL' )
|
||||||
press = client->_event( 'BUTTON_CANCEL' )
|
)->button( text = button_text_confirm
|
||||||
)->button(
|
press = client->_event( 'BUTTON_CONFIRM' )
|
||||||
text = button_text_confirm
|
type = 'Emphasized' ).
|
||||||
press = client->_event( 'BUTTON_CONFIRM' )
|
|
||||||
type = 'Emphasized' ).
|
|
||||||
|
|
||||||
client->popup_display( popup->stringify( ) ).
|
client->popup_display( popup->stringify( ) ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD z2ui5_if_app~main.
|
METHOD z2ui5_if_app~main.
|
||||||
|
|
||||||
me->client = client.
|
me->client = client.
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
CLASS z2ui5_cl_pop_to_inform DEFINITION
|
CLASS z2ui5_cl_pop_to_inform DEFINITION
|
||||||
PUBLIC
|
PUBLIC FINAL
|
||||||
FINAL
|
CREATE PUBLIC.
|
||||||
CREATE PUBLIC .
|
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
|
||||||
|
@ -17,52 +16,48 @@ CLASS z2ui5_cl_pop_to_inform DEFINITION
|
||||||
VALUE(r_result) TYPE REF TO z2ui5_cl_pop_to_inform.
|
VALUE(r_result) TYPE REF TO z2ui5_cl_pop_to_inform.
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
DATA client TYPE REF TO z2ui5_if_client.
|
DATA client TYPE REF TO z2ui5_if_client.
|
||||||
DATA title TYPE string.
|
DATA title TYPE string.
|
||||||
DATA icon TYPE string.
|
DATA icon TYPE string.
|
||||||
DATA question_text TYPE string.
|
DATA question_text TYPE string.
|
||||||
DATA button_text_confirm TYPE string.
|
DATA button_text_confirm TYPE string.
|
||||||
DATA check_initialized TYPE abap_bool.
|
DATA check_initialized TYPE abap_bool.
|
||||||
|
|
||||||
METHODS view_display.
|
METHODS view_display.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS z2ui5_cl_pop_to_inform IMPLEMENTATION.
|
CLASS z2ui5_cl_pop_to_inform IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD factory.
|
METHOD factory.
|
||||||
|
|
||||||
r_result = NEW #( ).
|
r_result = NEW #( ).
|
||||||
r_result->title = i_title.
|
r_result->title = i_title.
|
||||||
r_result->icon = i_icon.
|
r_result->icon = i_icon.
|
||||||
r_result->question_text = i_text.
|
r_result->question_text = i_text.
|
||||||
r_result->button_text_confirm = i_button_text.
|
r_result->button_text_confirm = i_button_text.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD view_display.
|
METHOD view_display.
|
||||||
|
|
||||||
DATA(popup) = z2ui5_cl_xml_view=>factory_popup( )->dialog(
|
DATA(popup) = z2ui5_cl_xml_view=>factory_popup( )->dialog( title = title
|
||||||
title = title
|
icon = icon
|
||||||
icon = icon
|
afterclose = client->_event( 'BUTTON_CONFIRM' )
|
||||||
afterclose = client->_event( 'BUTTON_CONFIRM' )
|
|
||||||
)->content(
|
)->content(
|
||||||
)->vbox( 'sapUiMediumMargin'
|
)->vbox( 'sapUiMediumMargin'
|
||||||
)->text( question_text
|
)->text( question_text
|
||||||
)->get_parent( )->get_parent(
|
)->get_parent( )->get_parent(
|
||||||
)->buttons(
|
)->buttons(
|
||||||
)->button(
|
)->button( text = button_text_confirm
|
||||||
text = button_text_confirm
|
press = client->_event( 'BUTTON_CONFIRM' )
|
||||||
press = client->_event( 'BUTTON_CONFIRM' )
|
type = 'Emphasized' ).
|
||||||
type = 'Emphasized' ).
|
|
||||||
|
|
||||||
client->popup_display( popup->stringify( ) ).
|
client->popup_display( popup->stringify( ) ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD z2ui5_if_app~main.
|
METHOD z2ui5_if_app~main.
|
||||||
|
|
||||||
me->client = client.
|
me->client = client.
|
||||||
|
|
|
@ -1,69 +1,67 @@
|
||||||
CLASS z2ui5_cl_pop_to_select DEFINITION
|
CLASS z2ui5_cl_pop_to_select DEFINITION
|
||||||
PUBLIC
|
PUBLIC FINAL
|
||||||
FINAL
|
CREATE PROTECTED.
|
||||||
CREATE PROTECTED .
|
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
INTERFACES z2ui5_if_app .
|
INTERFACES z2ui5_if_app.
|
||||||
|
|
||||||
TYPES:
|
TYPES:
|
||||||
BEGIN OF ty_s_result,
|
BEGIN OF ty_s_result,
|
||||||
row TYPE REF TO data,
|
row TYPE REF TO data,
|
||||||
table TYPE REF TO data,
|
table TYPE REF TO data,
|
||||||
check_confirmed TYPE abap_bool,
|
check_confirmed TYPE abap_bool,
|
||||||
END OF ty_s_result .
|
END OF ty_s_result.
|
||||||
|
|
||||||
DATA ms_result TYPE ty_s_result .
|
DATA ms_result TYPE ty_s_result.
|
||||||
DATA mr_tab TYPE REF TO data .
|
DATA mr_tab TYPE REF TO data.
|
||||||
DATA mr_tab_popup TYPE REF TO data ##NEEDED.
|
DATA mr_tab_popup TYPE REF TO data ##NEEDED.
|
||||||
DATA mr_tab_popup_backup TYPE REF TO data ##NEEDED.
|
DATA mr_tab_popup_backup TYPE REF TO data ##NEEDED.
|
||||||
|
|
||||||
CLASS-METHODS factory
|
CLASS-METHODS factory
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!i_tab TYPE STANDARD TABLE
|
i_tab TYPE STANDARD TABLE
|
||||||
!i_title TYPE clike OPTIONAL
|
i_title TYPE clike OPTIONAL
|
||||||
!i_sort_field TYPE clike OPTIONAL
|
i_sort_field TYPE clike OPTIONAL
|
||||||
!i_descending TYPE abap_bool OPTIONAL
|
i_descending TYPE abap_bool OPTIONAL
|
||||||
!i_contentwidth TYPE clike OPTIONAL
|
i_contentwidth TYPE clike OPTIONAL
|
||||||
!i_contentheight TYPE clike OPTIONAL
|
i_contentheight TYPE clike OPTIONAL
|
||||||
!i_growingthreshold TYPE clike OPTIONAL
|
i_growingthreshold TYPE clike OPTIONAL
|
||||||
!i_multiselect TYPE abap_bool OPTIONAL
|
i_multiselect TYPE abap_bool OPTIONAL
|
||||||
i_event_canceled TYPE string OPTIONAL
|
i_event_canceled TYPE string OPTIONAL
|
||||||
i_event_confirmed TYPE string OPTIONAL
|
i_event_confirmed TYPE string OPTIONAL
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(r_result) TYPE REF TO z2ui5_cl_pop_to_select .
|
VALUE(r_result) TYPE REF TO z2ui5_cl_pop_to_select.
|
||||||
|
|
||||||
METHODS result
|
METHODS result
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(result) TYPE ty_s_result.
|
VALUE(result) TYPE ty_s_result.
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
|
|
||||||
DATA check_initialized TYPE abap_bool .
|
DATA check_initialized TYPE abap_bool.
|
||||||
DATA check_table_line TYPE abap_bool .
|
DATA check_table_line TYPE abap_bool.
|
||||||
DATA client TYPE REF TO z2ui5_if_client .
|
DATA client TYPE REF TO z2ui5_if_client.
|
||||||
DATA title TYPE string .
|
DATA title TYPE string.
|
||||||
DATA sort_field TYPE string .
|
DATA sort_field TYPE string.
|
||||||
DATA content_width TYPE string .
|
DATA content_width TYPE string.
|
||||||
DATA content_height TYPE string .
|
DATA content_height TYPE string.
|
||||||
DATA growing_threshold TYPE string .
|
DATA growing_threshold TYPE string.
|
||||||
DATA descending TYPE abap_bool .
|
DATA descending TYPE abap_bool.
|
||||||
DATA multiselect TYPE abap_bool.
|
DATA multiselect TYPE abap_bool.
|
||||||
DATA event_confirmed TYPE string.
|
DATA event_confirmed TYPE string.
|
||||||
DATA event_canceled TYPE string.
|
DATA event_canceled TYPE string.
|
||||||
|
|
||||||
|
METHODS on_event.
|
||||||
|
METHODS display.
|
||||||
|
METHODS set_output_table.
|
||||||
|
METHODS on_event_confirm.
|
||||||
|
METHODS on_event_search.
|
||||||
|
|
||||||
METHODS on_event .
|
|
||||||
METHODS display .
|
|
||||||
METHODS set_output_table .
|
|
||||||
METHODS on_event_confirm .
|
|
||||||
METHODS on_event_search .
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS z2ui5_cl_pop_to_select IMPLEMENTATION.
|
CLASS z2ui5_cl_pop_to_select IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD factory.
|
METHOD factory.
|
||||||
|
|
||||||
r_result = NEW #( ).
|
r_result = NEW #( ).
|
||||||
|
@ -74,43 +72,47 @@ CLASS z2ui5_cl_pop_to_select IMPLEMENTATION.
|
||||||
ELSE `Single select` ).
|
ELSE `Single select` ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
r_result->sort_field = i_sort_field.
|
r_result->sort_field = i_sort_field.
|
||||||
r_result->descending = i_descending.
|
r_result->descending = i_descending.
|
||||||
r_result->content_height = i_contentheight.
|
r_result->content_height = i_contentheight.
|
||||||
r_result->content_width = i_contentwidth.
|
r_result->content_width = i_contentwidth.
|
||||||
r_result->growing_threshold = i_growingthreshold.
|
r_result->growing_threshold = i_growingthreshold.
|
||||||
r_result->multiselect = i_multiselect.
|
r_result->multiselect = i_multiselect.
|
||||||
r_result->event_confirmed = i_event_confirmed.
|
r_result->event_confirmed = i_event_confirmed.
|
||||||
r_result->event_canceled = i_event_canceled.
|
r_result->event_canceled = i_event_canceled.
|
||||||
|
|
||||||
r_result->mr_tab = z2ui5_cl_util=>conv_copy_ref_data( i_tab ).
|
r_result->mr_tab = z2ui5_cl_util=>conv_copy_ref_data( i_tab ).
|
||||||
CREATE DATA r_result->ms_result-row LIKE LINE OF i_tab.
|
CREATE DATA r_result->ms_result-row LIKE LINE OF i_tab.
|
||||||
CREATE DATA r_result->ms_result-table LIKE i_tab.
|
CREATE DATA r_result->ms_result-table LIKE i_tab.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD display.
|
METHOD display.
|
||||||
|
|
||||||
FIELD-SYMBOLS <tab_out> TYPE STANDARD TABLE.
|
FIELD-SYMBOLS <tab_out> TYPE STANDARD TABLE.
|
||||||
|
|
||||||
ASSIGN mr_tab_popup->* TO <tab_out>.
|
ASSIGN mr_tab_popup->* TO <tab_out>.
|
||||||
|
|
||||||
DATA(popup) = z2ui5_cl_xml_view=>factory_popup( ).
|
DATA(popup) = z2ui5_cl_xml_view=>factory_popup( ).
|
||||||
DATA(tab) = popup->table_select_dialog(
|
DATA(tab) = popup->table_select_dialog(
|
||||||
items = `{path:'`
|
items = |\{path:'|
|
||||||
&& client->_bind_edit( val = <tab_out> path = abap_true )
|
&& client->_bind_edit( val = <tab_out>
|
||||||
&& `', sorter : { path : '` && to_upper( sort_field ) && `', descending : `
|
path = abap_true )
|
||||||
&& z2ui5_cl_util=>boolean_abap_2_json( me->descending )
|
&& |', sorter : \{ path : '{ to_upper( sort_field ) }', descending : |
|
||||||
&& ` } }`
|
&& z2ui5_cl_util=>boolean_abap_2_json( me->descending )
|
||||||
cancel = client->_event( 'CANCEL' )
|
&& | \} \}|
|
||||||
search = client->_event( val = 'SEARCH' t_arg = VALUE #( ( `${$parameters>/value}` ) ( `${$parameters>/clearButtonPressed}` ) ) )
|
cancel = client->_event( 'CANCEL' )
|
||||||
confirm = client->_event( val = 'CONFIRM' t_arg = VALUE #( ( `${$parameters>/selectedContexts[0]/sPath}` ) ) )
|
search = client->_event(
|
||||||
growing = abap_true
|
val = 'SEARCH'
|
||||||
contentwidth = content_width
|
t_arg = VALUE #( ( `${$parameters>/value}` ) ( `${$parameters>/clearButtonPressed}` ) ) )
|
||||||
contentheight = content_height
|
confirm = client->_event( val = 'CONFIRM'
|
||||||
growingthreshold = growing_threshold
|
t_arg = VALUE #( ( `${$parameters>/selectedContexts[0]/sPath}` ) ) )
|
||||||
title = title
|
growing = abap_true
|
||||||
multiselect = multiselect ).
|
contentwidth = content_width
|
||||||
|
contentheight = content_height
|
||||||
|
growingthreshold = growing_threshold
|
||||||
|
title = title
|
||||||
|
multiselect = multiselect ).
|
||||||
|
|
||||||
DATA(lt_comp) = z2ui5_cl_util=>rtti_get_t_attri_by_any( <tab_out> ).
|
DATA(lt_comp) = z2ui5_cl_util=>rtti_get_t_attri_by_any( <tab_out> ).
|
||||||
DELETE lt_comp WHERE name = 'ZZSELKZ'.
|
DELETE lt_comp WHERE name = 'ZZSELKZ'.
|
||||||
|
@ -120,13 +122,15 @@ CLASS z2ui5_cl_pop_to_select IMPLEMENTATION.
|
||||||
DATA(cells) = list->cells( ).
|
DATA(cells) = list->cells( ).
|
||||||
|
|
||||||
LOOP AT lt_comp INTO DATA(ls_comp).
|
LOOP AT lt_comp INTO DATA(ls_comp).
|
||||||
cells->text( `{` && ls_comp-name && `}` ).
|
cells->text( |\{{ ls_comp-name }\}| ).
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
|
||||||
DATA(columns) = tab->columns( ).
|
DATA(columns) = tab->columns( ).
|
||||||
LOOP AT lt_comp INTO ls_comp.
|
LOOP AT lt_comp INTO ls_comp.
|
||||||
DATA(text) = COND #(
|
DATA(text) = COND #(
|
||||||
LET data_element_name = substring_after( val = CAST cl_abap_elemdescr( ls_comp-type )->absolute_name sub = '\TYPE=' )
|
LET data_element_name = substring_after(
|
||||||
|
val = CAST cl_abap_elemdescr( ls_comp-type )->absolute_name
|
||||||
|
sub = '\TYPE=' )
|
||||||
medium_label = z2ui5_cl_util=>rtti_get_data_element_texts( data_element_name )-medium IN
|
medium_label = z2ui5_cl_util=>rtti_get_data_element_texts( data_element_name )-medium IN
|
||||||
WHEN medium_label IS NOT INITIAL
|
WHEN medium_label IS NOT INITIAL
|
||||||
THEN medium_label
|
THEN medium_label
|
||||||
|
@ -138,7 +142,6 @@ CLASS z2ui5_cl_pop_to_select IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD z2ui5_if_app~main.
|
METHOD z2ui5_if_app~main.
|
||||||
|
|
||||||
me->client = client.
|
me->client = client.
|
||||||
|
@ -154,7 +157,6 @@ CLASS z2ui5_cl_pop_to_select IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD on_event.
|
METHOD on_event.
|
||||||
|
|
||||||
CASE client->get( )-event.
|
CASE client->get( )-event.
|
||||||
|
@ -163,7 +165,6 @@ CLASS z2ui5_cl_pop_to_select IMPLEMENTATION.
|
||||||
ms_result-check_confirmed = abap_true.
|
ms_result-check_confirmed = abap_true.
|
||||||
on_event_confirm( ).
|
on_event_confirm( ).
|
||||||
|
|
||||||
|
|
||||||
WHEN 'CANCEL'.
|
WHEN 'CANCEL'.
|
||||||
client->popup_destroy( ).
|
client->popup_destroy( ).
|
||||||
client->nav_app_leave( client->get_app( client->get( )-s_draft-id_prev_app_stack ) ).
|
client->nav_app_leave( client->get_app( client->get( )-s_draft-id_prev_app_stack ) ).
|
||||||
|
@ -176,23 +177,22 @@ CLASS z2ui5_cl_pop_to_select IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD result.
|
METHOD result.
|
||||||
|
|
||||||
result = ms_result.
|
result = ms_result.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD set_output_table.
|
METHOD set_output_table.
|
||||||
|
|
||||||
FIELD-SYMBOLS <row> TYPE any.
|
FIELD-SYMBOLS <row> TYPE any.
|
||||||
FIELD-SYMBOLS <row2> TYPE any.
|
FIELD-SYMBOLS <row2> TYPE any.
|
||||||
FIELD-SYMBOLS <tab> TYPE STANDARD TABLE.
|
FIELD-SYMBOLS <tab> TYPE STANDARD TABLE.
|
||||||
FIELD-SYMBOLS <tab_out> TYPE STANDARD TABLE.
|
FIELD-SYMBOLS <tab_out> TYPE STANDARD TABLE.
|
||||||
FIELD-SYMBOLS <tab_out2> TYPE STANDARD TABLE.
|
FIELD-SYMBOLS <tab_out2> TYPE STANDARD TABLE.
|
||||||
FIELD-SYMBOLS <field> TYPE any.
|
FIELD-SYMBOLS <field> TYPE any.
|
||||||
DATA lr_row TYPE REF TO data.
|
DATA lr_row TYPE REF TO data.
|
||||||
|
|
||||||
ASSIGN mr_tab->* TO <tab>.
|
ASSIGN mr_tab->* TO <tab>.
|
||||||
|
|
||||||
DATA(lo_type) = cl_abap_structdescr=>describe_by_data( <tab> ).
|
DATA(lo_type) = cl_abap_structdescr=>describe_by_data( <tab> ).
|
||||||
|
@ -203,12 +203,14 @@ CLASS z2ui5_cl_pop_to_select IMPLEMENTATION.
|
||||||
CATCH cx_root.
|
CATCH cx_root.
|
||||||
check_table_line = abap_true.
|
check_table_line = abap_true.
|
||||||
DATA(lo_elem) = CAST cl_abap_elemdescr( lo_table->get_table_line_type( ) ).
|
DATA(lo_elem) = CAST cl_abap_elemdescr( lo_table->get_table_line_type( ) ).
|
||||||
INSERT VALUE #( name = 'TAB_LINE' type = CAST #( lo_elem ) ) INTO TABLE lt_comp.
|
INSERT VALUE #( name = 'TAB_LINE'
|
||||||
|
type = CAST #( lo_elem ) ) INTO TABLE lt_comp.
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
|
|
||||||
IF NOT line_exists( lt_comp[ name = `ZZSELKZ` ] ).
|
IF NOT line_exists( lt_comp[ name = `ZZSELKZ` ] ).
|
||||||
DATA(lo_type_bool) = cl_abap_structdescr=>describe_by_name( 'ABAP_BOOL' ).
|
DATA(lo_type_bool) = cl_abap_structdescr=>describe_by_name( 'ABAP_BOOL' ).
|
||||||
INSERT VALUE #( name = `ZZSELKZ` type = CAST #( lo_type_bool ) ) INTO TABLE lt_comp.
|
INSERT VALUE #( name = `ZZSELKZ`
|
||||||
|
type = CAST #( lo_type_bool ) ) INTO TABLE lt_comp.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
DATA(lo_line_type) = cl_abap_structdescr=>create( lt_comp ).
|
DATA(lo_line_type) = cl_abap_structdescr=>create( lt_comp ).
|
||||||
|
@ -240,12 +242,13 @@ CLASS z2ui5_cl_pop_to_select IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD on_event_confirm.
|
METHOD on_event_confirm.
|
||||||
|
|
||||||
FIELD-SYMBOLS <tab> TYPE STANDARD TABLE.
|
FIELD-SYMBOLS <tab> TYPE STANDARD TABLE.
|
||||||
FIELD-SYMBOLS <row_selected> TYPE any.
|
FIELD-SYMBOLS <row_selected> TYPE any.
|
||||||
FIELD-SYMBOLS <selkz> TYPE any.
|
FIELD-SYMBOLS <selkz> TYPE any.
|
||||||
FIELD-SYMBOLS <row_result> TYPE any.
|
FIELD-SYMBOLS <row_result> TYPE any.
|
||||||
FIELD-SYMBOLS <table_result> TYPE ANY TABLE.
|
FIELD-SYMBOLS <table_result> TYPE ANY TABLE.
|
||||||
FIELD-SYMBOLS <table_line_selected> TYPE any.
|
FIELD-SYMBOLS <table_line_selected> TYPE any.
|
||||||
|
|
||||||
ASSIGN mr_tab_popup->* TO <tab>.
|
ASSIGN mr_tab_popup->* TO <tab>.
|
||||||
ASSIGN ms_result-table->* TO <table_result>.
|
ASSIGN ms_result-table->* TO <table_result>.
|
||||||
|
|
||||||
|
@ -277,17 +280,17 @@ CLASS z2ui5_cl_pop_to_select IMPLEMENTATION.
|
||||||
|
|
||||||
client->popup_destroy( ).
|
client->popup_destroy( ).
|
||||||
client->nav_app_leave( client->get_app( client->get( )-s_draft-id_prev_app_stack ) ).
|
client->nav_app_leave( client->get_app( client->get( )-s_draft-id_prev_app_stack ) ).
|
||||||
client->follow_up_action( client->_event( val = event_confirmed r_data = <table_result> ) ).
|
client->follow_up_action( client->_event( val = event_confirmed
|
||||||
|
r_data = <table_result> ) ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD on_event_search.
|
METHOD on_event_search.
|
||||||
|
|
||||||
FIELD-SYMBOLS <tab_out> TYPE STANDARD TABLE.
|
FIELD-SYMBOLS <tab_out> TYPE STANDARD TABLE.
|
||||||
FIELD-SYMBOLS <tab_out_backup> TYPE STANDARD TABLE.
|
FIELD-SYMBOLS <tab_out_backup> TYPE STANDARD TABLE.
|
||||||
FIELD-SYMBOLS <row2> TYPE any.
|
FIELD-SYMBOLS <row2> TYPE any.
|
||||||
FIELD-SYMBOLS <field2> TYPE any.
|
FIELD-SYMBOLS <field2> TYPE any.
|
||||||
|
|
||||||
DATA(lt_arg) = client->get( )-t_event_arg.
|
DATA(lt_arg) = client->get( )-t_event_arg.
|
||||||
READ TABLE lt_arg INTO DATA(ls_arg) INDEX 1.
|
READ TABLE lt_arg INTO DATA(ls_arg) INDEX 1.
|
||||||
|
@ -302,7 +305,7 @@ CLASS z2ui5_cl_pop_to_select IMPLEMENTATION.
|
||||||
LOOP AT <tab_out> ASSIGNING <row2>.
|
LOOP AT <tab_out> ASSIGNING <row2>.
|
||||||
DATA(lv_check_continue) = abap_false.
|
DATA(lv_check_continue) = abap_false.
|
||||||
LOOP AT lt_comp INTO DATA(ls_comp).
|
LOOP AT lt_comp INTO DATA(ls_comp).
|
||||||
DATA(lv_assign) = '<ROW2>-' && ls_comp-name.
|
DATA(lv_assign) = |<ROW2>-{ ls_comp-name }|.
|
||||||
ASSIGN (lv_assign) TO <field2>.
|
ASSIGN (lv_assign) TO <field2>.
|
||||||
ASSERT sy-subrc = 0.
|
ASSERT sy-subrc = 0.
|
||||||
IF to_upper( <field2> ) CS to_upper( ls_arg ).
|
IF to_upper( <field2> ) CS to_upper( ls_arg ).
|
||||||
|
@ -318,5 +321,4 @@ CLASS z2ui5_cl_pop_to_select IMPLEMENTATION.
|
||||||
client->popup_model_update( ).
|
client->popup_model_update( ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
CLASS ltcl_app_startup_test DEFINITION FINAL FOR TESTING
|
CLASS ltcl_app_startup_test DEFINITION FINAL
|
||||||
DURATION SHORT
|
FOR TESTING RISK LEVEL DANGEROUS DURATION SHORT.
|
||||||
RISK LEVEL DANGEROUS.
|
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
METHODS first_test FOR TESTING RAISING cx_static_check.
|
METHODS first_test FOR TESTING RAISING cx_static_check.
|
||||||
|
@ -9,11 +8,9 @@ ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
CLASS ltcl_app_startup_test IMPLEMENTATION.
|
CLASS ltcl_app_startup_test IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD first_test.
|
METHOD first_test.
|
||||||
|
|
||||||
DATA(lo_app) = z2ui5_cl_app_startup=>factory( ) ##NEEDED.
|
DATA(lo_app) = z2ui5_cl_app_startup=>factory( ) ##NEEDED.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -1,14 +1,13 @@
|
||||||
CLASS ltcl_unit_test DEFINITION FINAL FOR TESTING
|
CLASS ltcl_unit_test DEFINITION FINAL
|
||||||
DURATION MEDIUM
|
FOR TESTING RISK LEVEL DANGEROUS DURATION MEDIUM.
|
||||||
RISK LEVEL DANGEROUS.
|
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
METHODS test_create FOR TESTING RAISING cx_static_check.
|
METHODS test_create FOR TESTING RAISING cx_static_check.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
CLASS ltcl_unit_test IMPLEMENTATION.
|
|
||||||
|
|
||||||
|
CLASS ltcl_unit_test IMPLEMENTATION.
|
||||||
METHOD test_create.
|
METHOD test_create.
|
||||||
|
|
||||||
DATA(lo_view) = z2ui5_cl_xml_view=>factory( ).
|
DATA(lo_view) = z2ui5_cl_xml_view=>factory( ).
|
||||||
|
@ -19,5 +18,4 @@ CLASS ltcl_unit_test IMPLEMENTATION.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -6,13 +6,13 @@ INTERFACE z2ui5_if_app PUBLIC.
|
||||||
CONSTANTS author TYPE string VALUE 'https://github.com/oblomov-dev'.
|
CONSTANTS author TYPE string VALUE 'https://github.com/oblomov-dev'.
|
||||||
CONSTANTS license TYPE string VALUE 'MIT'.
|
CONSTANTS license TYPE string VALUE 'MIT'.
|
||||||
|
|
||||||
DATA id_draft TYPE string.
|
DATA id_draft TYPE string.
|
||||||
DATA id_app TYPE string.
|
DATA id_app TYPE string.
|
||||||
DATA check_initialized TYPE abap_bool.
|
DATA check_initialized TYPE abap_bool.
|
||||||
DATA check_sticky TYPE abap_bool.
|
DATA check_sticky TYPE abap_bool.
|
||||||
|
|
||||||
METHODS main
|
METHODS main
|
||||||
IMPORTING
|
IMPORTING
|
||||||
client TYPE REF TO z2ui5_if_client.
|
!client TYPE REF TO z2ui5_if_client.
|
||||||
|
|
||||||
ENDINTERFACE.
|
ENDINTERFACE.
|
||||||
|
|
|
@ -41,7 +41,7 @@ INTERFACE z2ui5_if_client
|
||||||
METHODS nest_view_display
|
METHODS nest_view_display
|
||||||
IMPORTING
|
IMPORTING
|
||||||
val TYPE clike
|
val TYPE clike
|
||||||
id TYPE clike
|
!id TYPE clike
|
||||||
method_insert TYPE clike
|
method_insert TYPE clike
|
||||||
method_destroy TYPE clike OPTIONAL.
|
method_destroy TYPE clike OPTIONAL.
|
||||||
|
|
||||||
|
@ -51,7 +51,7 @@ INTERFACE z2ui5_if_client
|
||||||
METHODS nest2_view_display
|
METHODS nest2_view_display
|
||||||
IMPORTING
|
IMPORTING
|
||||||
val TYPE clike
|
val TYPE clike
|
||||||
id TYPE clike
|
!id TYPE clike
|
||||||
method_insert TYPE clike
|
method_insert TYPE clike
|
||||||
method_destroy TYPE clike OPTIONAL.
|
method_destroy TYPE clike OPTIONAL.
|
||||||
|
|
||||||
|
@ -70,7 +70,7 @@ INTERFACE z2ui5_if_client
|
||||||
|
|
||||||
METHODS popover_display
|
METHODS popover_display
|
||||||
IMPORTING
|
IMPORTING
|
||||||
xml TYPE clike
|
!xml TYPE clike
|
||||||
by_id TYPE clike.
|
by_id TYPE clike.
|
||||||
|
|
||||||
METHODS popover_destroy.
|
METHODS popover_destroy.
|
||||||
|
@ -87,7 +87,7 @@ INTERFACE z2ui5_if_client
|
||||||
|
|
||||||
METHODS get_app
|
METHODS get_app
|
||||||
IMPORTING
|
IMPORTING
|
||||||
id TYPE clike OPTIONAL
|
!id TYPE clike OPTIONAL
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(result) TYPE REF TO z2ui5_if_app.
|
VALUE(result) TYPE REF TO z2ui5_if_app.
|
||||||
|
|
||||||
|
@ -105,42 +105,42 @@ INTERFACE z2ui5_if_client
|
||||||
|
|
||||||
METHODS message_box_display
|
METHODS message_box_display
|
||||||
IMPORTING
|
IMPORTING
|
||||||
text TYPE any
|
!text TYPE any
|
||||||
type TYPE clike DEFAULT `information`
|
!type TYPE clike DEFAULT `information`
|
||||||
title TYPE clike OPTIONAL
|
!title TYPE clike OPTIONAL
|
||||||
styleclass TYPE clike OPTIONAL
|
styleclass TYPE clike OPTIONAL
|
||||||
onclose TYPE clike OPTIONAL
|
onclose TYPE clike OPTIONAL
|
||||||
actions TYPE string_table OPTIONAL
|
actions TYPE string_table OPTIONAL
|
||||||
emphasizedaction TYPE clike OPTIONAL
|
emphasizedaction TYPE clike OPTIONAL
|
||||||
initialfocus TYPE clike OPTIONAL
|
initialfocus TYPE clike OPTIONAL
|
||||||
textdirection TYPE clike OPTIONAL
|
textdirection TYPE clike OPTIONAL
|
||||||
icon TYPE clike OPTIONAL
|
!icon TYPE clike OPTIONAL
|
||||||
details TYPE clike OPTIONAL
|
details TYPE clike OPTIONAL
|
||||||
closeonnavigation TYPE abap_bool DEFAULT abap_true.
|
closeonnavigation TYPE abap_bool DEFAULT abap_true.
|
||||||
|
|
||||||
METHODS message_toast_display
|
METHODS message_toast_display
|
||||||
IMPORTING
|
IMPORTING
|
||||||
text TYPE clike
|
!text TYPE clike
|
||||||
duration TYPE clike OPTIONAL
|
!duration TYPE clike OPTIONAL
|
||||||
width TYPE clike OPTIONAL
|
!width TYPE clike OPTIONAL
|
||||||
my TYPE clike OPTIONAL
|
my TYPE clike OPTIONAL
|
||||||
at TYPE clike OPTIONAL
|
!at TYPE clike OPTIONAL
|
||||||
of TYPE clike OPTIONAL
|
!of TYPE clike OPTIONAL
|
||||||
offset TYPE clike OPTIONAL
|
!offset TYPE clike OPTIONAL
|
||||||
collision TYPE clike OPTIONAL
|
collision TYPE clike OPTIONAL
|
||||||
onclose TYPE clike DEFAULT ``
|
onclose TYPE clike DEFAULT ``
|
||||||
autoclose TYPE abap_bool DEFAULT abap_true
|
autoclose TYPE abap_bool DEFAULT abap_true
|
||||||
animationtimingfunction TYPE clike OPTIONAL
|
animationtimingfunction TYPE clike OPTIONAL
|
||||||
animationduration TYPE clike OPTIONAL
|
animationduration TYPE clike OPTIONAL
|
||||||
closeonbrowsernavigation TYPE abap_bool DEFAULT abap_true
|
closeonbrowsernavigation TYPE abap_bool DEFAULT abap_true
|
||||||
class TYPE clike OPTIONAL.
|
!class TYPE clike OPTIONAL.
|
||||||
|
|
||||||
METHODS _event
|
METHODS _event
|
||||||
IMPORTING
|
IMPORTING
|
||||||
val TYPE clike OPTIONAL
|
val TYPE clike OPTIONAL
|
||||||
t_arg TYPE string_table OPTIONAL
|
t_arg TYPE string_table OPTIONAL
|
||||||
s_ctrl TYPE z2ui5_if_types=>ty_s_event_control OPTIONAL
|
s_ctrl TYPE z2ui5_if_types=>ty_s_event_control OPTIONAL
|
||||||
r_data type data optional
|
r_data TYPE data OPTIONAL
|
||||||
PREFERRED PARAMETER val
|
PREFERRED PARAMETER val
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(result) TYPE string.
|
VALUE(result) TYPE string.
|
||||||
|
@ -155,34 +155,34 @@ INTERFACE z2ui5_if_client
|
||||||
METHODS _bind
|
METHODS _bind
|
||||||
IMPORTING
|
IMPORTING
|
||||||
val TYPE data
|
val TYPE data
|
||||||
path TYPE abap_bool DEFAULT abap_false
|
!path TYPE abap_bool DEFAULT abap_false
|
||||||
custom_mapper TYPE REF TO z2ui5_if_ajson_mapping OPTIONAL
|
custom_mapper TYPE REF TO z2ui5_if_ajson_mapping OPTIONAL
|
||||||
custom_filter TYPE REF TO z2ui5_if_ajson_filter OPTIONAL
|
custom_filter TYPE REF TO z2ui5_if_ajson_filter OPTIONAL
|
||||||
tab TYPE data OPTIONAL
|
!tab TYPE data OPTIONAL
|
||||||
tab_index TYPE i OPTIONAL
|
tab_index TYPE i OPTIONAL
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(result) TYPE string.
|
VALUE(result) TYPE string.
|
||||||
|
|
||||||
METHODS _bind_edit
|
METHODS _bind_edit
|
||||||
IMPORTING
|
IMPORTING
|
||||||
val TYPE data
|
val TYPE data
|
||||||
path TYPE abap_bool DEFAULT abap_false
|
!path TYPE abap_bool DEFAULT abap_false
|
||||||
view TYPE string DEFAULT z2ui5_if_client=>cs_view-main
|
view TYPE string DEFAULT z2ui5_if_client=>cs_view-main
|
||||||
custom_mapper TYPE REF TO z2ui5_if_ajson_mapping OPTIONAL
|
custom_mapper TYPE REF TO z2ui5_if_ajson_mapping OPTIONAL
|
||||||
custom_mapper_back TYPE REF TO z2ui5_if_ajson_mapping OPTIONAL
|
custom_mapper_back TYPE REF TO z2ui5_if_ajson_mapping OPTIONAL
|
||||||
custom_filter TYPE REF TO z2ui5_if_ajson_filter OPTIONAL
|
custom_filter TYPE REF TO z2ui5_if_ajson_filter OPTIONAL
|
||||||
custom_filter_back TYPE REF TO z2ui5_if_ajson_filter OPTIONAL
|
custom_filter_back TYPE REF TO z2ui5_if_ajson_filter OPTIONAL
|
||||||
tab TYPE data OPTIONAL
|
!tab TYPE data OPTIONAL
|
||||||
tab_index TYPE i OPTIONAL
|
tab_index TYPE i OPTIONAL
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(result) TYPE string.
|
VALUE(result) TYPE string.
|
||||||
|
|
||||||
METHODS _bind_local
|
METHODS _bind_local
|
||||||
IMPORTING
|
IMPORTING
|
||||||
val TYPE data
|
val TYPE data
|
||||||
path TYPE abap_bool DEFAULT abap_false
|
!path TYPE abap_bool DEFAULT abap_false
|
||||||
custom_mapper TYPE REF TO z2ui5_if_ajson_mapping OPTIONAL
|
custom_mapper TYPE REF TO z2ui5_if_ajson_mapping OPTIONAL
|
||||||
custom_filter TYPE REF TO z2ui5_if_ajson_filter OPTIONAL
|
custom_filter TYPE REF TO z2ui5_if_ajson_filter OPTIONAL
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(result) TYPE string.
|
VALUE(result) TYPE string.
|
||||||
|
|
||||||
|
@ -192,18 +192,18 @@ INTERFACE z2ui5_if_client
|
||||||
|
|
||||||
METHODS check_on_init
|
METHODS check_on_init
|
||||||
RETURNING
|
RETURNING
|
||||||
value(result) TYPE abap_bool.
|
VALUE(result) TYPE abap_bool.
|
||||||
|
|
||||||
METHODS check_app_prev_stack
|
METHODS check_app_prev_stack
|
||||||
RETURNING
|
RETURNING
|
||||||
value(result) TYPE abap_bool.
|
VALUE(result) TYPE abap_bool.
|
||||||
|
|
||||||
METHODS check_on_navigated
|
METHODS check_on_navigated
|
||||||
RETURNING
|
RETURNING
|
||||||
value(result) TYPE abap_bool.
|
VALUE(result) TYPE abap_bool.
|
||||||
|
|
||||||
METHODS get_app_prev
|
METHODS get_app_prev
|
||||||
RETURNING
|
RETURNING
|
||||||
value(result) TYPE REF TO z2ui5_if_app.
|
VALUE(result) TYPE REF TO z2ui5_if_app.
|
||||||
|
|
||||||
ENDINTERFACE.
|
ENDINTERFACE.
|
||||||
|
|
|
@ -46,7 +46,7 @@ INTERFACE z2ui5_if_types
|
||||||
s_draft TYPE ty_s_draft,
|
s_draft TYPE ty_s_draft,
|
||||||
s_config TYPE ty_s_config,
|
s_config TYPE ty_s_config,
|
||||||
t_comp_params TYPE ty_t_name_value,
|
t_comp_params TYPE ty_t_name_value,
|
||||||
r_event_data type ref to data,
|
r_event_data TYPE REF TO data,
|
||||||
END OF ty_s_get.
|
END OF ty_s_get.
|
||||||
|
|
||||||
TYPES:
|
TYPES:
|
||||||
|
|
Loading…
Reference in New Issue
Block a user