mirror of
https://github.com/abap2UI5/abap2UI5.git
synced 2025-04-29 16:36:11 +08:00
Popups draft handling utility (#802)
* lint check * lint check * Update abaplint.jsonc * Update abaplint.jsonc * Update abaplint.jsonc * Update abaplint.jsonc * popups - draft handling - utility * lint fix * downport test * update * fix popup select * utility extensions * lint fix test * update lint * update * update * update * update * update * Delete src/03/01/z2ui5_cl_popup_to_select.clas.abap * Delete src/03/01/z2ui5_cl_popup_to_select.clas.xml * added class again * popups * popup get range multi + clear function * fix date in table * fix popup model update * update * update * popups * Update abaplint.jsonc * update lint fixes * extended error message by serialization error * update downport fix * update
This commit is contained in:
parent
88b425bf8c
commit
a6be1a95d2
|
@ -152,7 +152,7 @@
|
||||||
"msag_consistency": true,
|
"msag_consistency": true,
|
||||||
"names_no_dash": true,
|
"names_no_dash": true,
|
||||||
"nesting": {
|
"nesting": {
|
||||||
"depth": 5
|
"depth": 7
|
||||||
},
|
},
|
||||||
"newline_between_methods": false,
|
"newline_between_methods": false,
|
||||||
"no_aliases": true,
|
"no_aliases": true,
|
||||||
|
|
|
@ -17,6 +17,38 @@ CLASS z2ui5_cl_util_func DEFINITION
|
||||||
TYPES ty_t_range TYPE RANGE OF string.
|
TYPES ty_t_range TYPE RANGE OF string.
|
||||||
TYPES ty_s_range TYPE LINE OF ty_t_range.
|
TYPES ty_s_range TYPE LINE OF ty_t_range.
|
||||||
|
|
||||||
|
TYPES:
|
||||||
|
BEGIN OF ty_s_sql_multi,
|
||||||
|
name TYPE string,
|
||||||
|
t_range TYPE ty_t_range,
|
||||||
|
t_token TYPE ty_t_token,
|
||||||
|
END OF ty_s_sql_multi.
|
||||||
|
TYPES ty_t_sql_multi TYPE STANDARD TABLE OF ty_s_sql_multi WITH EMPTY KEY.
|
||||||
|
|
||||||
|
TYPES:
|
||||||
|
BEGIN OF ty_s_sql_result,
|
||||||
|
table TYPE string,
|
||||||
|
END OF ty_s_sql_result.
|
||||||
|
|
||||||
|
CLASS-METHODS get_source_code_method
|
||||||
|
IMPORTING
|
||||||
|
iv_classname TYPE clike
|
||||||
|
iv_methodname TYPE clike
|
||||||
|
RETURNING
|
||||||
|
VALUE(result) TYPE string_table.
|
||||||
|
|
||||||
|
CLASS-METHODS get_sql_multi_by_data
|
||||||
|
IMPORTING
|
||||||
|
val TYPE data
|
||||||
|
RETURNING
|
||||||
|
VALUE(result) TYPE ty_t_sql_multi.
|
||||||
|
|
||||||
|
CLASS-METHODS get_sql_by_string
|
||||||
|
IMPORTING
|
||||||
|
val TYPE clike
|
||||||
|
RETURNING
|
||||||
|
VALUE(result) TYPE ty_s_sql_result.
|
||||||
|
|
||||||
CLASS-METHODS js_load_ext_lib
|
CLASS-METHODS js_load_ext_lib
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(result) TYPE string.
|
VALUE(result) TYPE string.
|
||||||
|
@ -64,7 +96,7 @@ CLASS z2ui5_cl_util_func DEFINITION
|
||||||
CLASS-METHODS x_check_raise
|
CLASS-METHODS x_check_raise
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!v TYPE clike DEFAULT `CX_SY_SUBRC`
|
!v TYPE clike DEFAULT `CX_SY_SUBRC`
|
||||||
!when TYPE abap_bool.
|
!when TYPE xfeld.
|
||||||
|
|
||||||
CLASS-METHODS x_raise
|
CLASS-METHODS x_raise
|
||||||
IMPORTING
|
IMPORTING
|
||||||
|
@ -260,6 +292,48 @@ CLASS z2ui5_cl_util_func DEFINITION
|
||||||
CHANGING
|
CHANGING
|
||||||
tab TYPE STANDARD TABLE.
|
tab TYPE STANDARD TABLE.
|
||||||
|
|
||||||
|
CLASS-METHODS decode_x_base64
|
||||||
|
IMPORTING
|
||||||
|
val TYPE string
|
||||||
|
RETURNING
|
||||||
|
VALUE(result) TYPE xstring.
|
||||||
|
|
||||||
|
CLASS-METHODS encode_x_base64
|
||||||
|
IMPORTING
|
||||||
|
val TYPE xstring
|
||||||
|
RETURNING
|
||||||
|
VALUE(result) TYPE string.
|
||||||
|
|
||||||
|
CLASS-METHODS get_string_by_xstring
|
||||||
|
IMPORTING
|
||||||
|
val TYPE xstring
|
||||||
|
RETURNING
|
||||||
|
VALUE(result) TYPE string.
|
||||||
|
|
||||||
|
CLASS-METHODS get_xstring_by_string
|
||||||
|
IMPORTING
|
||||||
|
val TYPE string
|
||||||
|
RETURNING
|
||||||
|
VALUE(result) TYPE xstring.
|
||||||
|
|
||||||
|
CLASS-METHODS time_get_time_by_stampl
|
||||||
|
IMPORTING
|
||||||
|
val TYPE timestampl
|
||||||
|
RETURNING
|
||||||
|
VALUE(result) TYPE t.
|
||||||
|
|
||||||
|
CLASS-METHODS time_get_date_by_stampl
|
||||||
|
IMPORTING
|
||||||
|
val TYPE timestampl
|
||||||
|
RETURNING
|
||||||
|
VALUE(result) TYPE d.
|
||||||
|
|
||||||
|
CLASS-METHODS copy_ref_data_to_ref_data
|
||||||
|
IMPORTING
|
||||||
|
from TYPE REF TO data
|
||||||
|
RETURNING
|
||||||
|
VALUE(result) TYPE REF TO data.
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
@ -268,6 +342,133 @@ ENDCLASS.
|
||||||
|
|
||||||
CLASS z2ui5_cl_util_func IMPLEMENTATION.
|
CLASS z2ui5_cl_util_func IMPLEMENTATION.
|
||||||
|
|
||||||
|
METHOD decode_x_base64.
|
||||||
|
|
||||||
|
TRY.
|
||||||
|
|
||||||
|
CALL METHOD ('CL_WEB_HTTP_UTILITY')=>('DECODE_X_BASE64')
|
||||||
|
EXPORTING
|
||||||
|
encoded = val
|
||||||
|
RECEIVING
|
||||||
|
decoded = result.
|
||||||
|
|
||||||
|
CATCH cx_sy_dyn_call_illegal_class.
|
||||||
|
|
||||||
|
DATA(classname) = 'CL_HTTP_UTILITY'.
|
||||||
|
CALL METHOD (classname)=>('DECODE_X_BASE64')
|
||||||
|
EXPORTING
|
||||||
|
encoded = val
|
||||||
|
RECEIVING
|
||||||
|
decoded = result.
|
||||||
|
|
||||||
|
ENDTRY.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
METHOD get_xstring_by_string.
|
||||||
|
|
||||||
|
DATA conv TYPE REF TO object.
|
||||||
|
|
||||||
|
TRY.
|
||||||
|
CALL METHOD ('CL_ABAP_CONV_CODEPAGE')=>create_out
|
||||||
|
RECEIVING
|
||||||
|
instance = conv.
|
||||||
|
|
||||||
|
CALL METHOD conv->('IF_ABAP_CONV_OUT~CONVERT')
|
||||||
|
EXPORTING
|
||||||
|
source = val
|
||||||
|
RECEIVING
|
||||||
|
result = result.
|
||||||
|
CATCH cx_sy_dyn_call_illegal_class.
|
||||||
|
|
||||||
|
DATA(conv_out_class) = 'CL_ABAP_CONV_OUT_CE'.
|
||||||
|
CALL METHOD (conv_out_class)=>create
|
||||||
|
EXPORTING
|
||||||
|
encoding = 'UTF-8'
|
||||||
|
RECEIVING
|
||||||
|
conv = conv.
|
||||||
|
|
||||||
|
CALL METHOD conv->('CONVERT')
|
||||||
|
EXPORTING
|
||||||
|
data = val
|
||||||
|
IMPORTING
|
||||||
|
buffer = result.
|
||||||
|
ENDTRY.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
* result = cl_abap_conv_codepage=>create_out( )->convert( val ).
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD get_string_by_xstring.
|
||||||
|
|
||||||
|
DATA conv TYPE REF TO object.
|
||||||
|
|
||||||
|
TRY.
|
||||||
|
CALL METHOD ('CL_ABAP_CONV_CODEPAGE')=>create_in
|
||||||
|
RECEIVING
|
||||||
|
instance = conv.
|
||||||
|
|
||||||
|
CALL METHOD conv->('IF_ABAP_CONV_IN~CONVERT')
|
||||||
|
EXPORTING
|
||||||
|
source = val
|
||||||
|
RECEIVING
|
||||||
|
result = result.
|
||||||
|
CATCH cx_sy_dyn_call_illegal_class.
|
||||||
|
|
||||||
|
DATA(conv_in_class) = 'CL_ABAP_CONV_IN_CE'.
|
||||||
|
CALL METHOD (conv_in_class)=>create
|
||||||
|
EXPORTING
|
||||||
|
encoding = 'UTF-8'
|
||||||
|
RECEIVING
|
||||||
|
conv = conv.
|
||||||
|
|
||||||
|
CALL METHOD conv->('CONVERT')
|
||||||
|
EXPORTING
|
||||||
|
input = val
|
||||||
|
IMPORTING
|
||||||
|
data = result.
|
||||||
|
ENDTRY.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD encode_x_base64.
|
||||||
|
|
||||||
|
TRY.
|
||||||
|
|
||||||
|
CALL METHOD ('CL_WEB_HTTP_UTILITY')=>('ENCODE_X_BASE64')
|
||||||
|
EXPORTING
|
||||||
|
unencoded = val
|
||||||
|
RECEIVING
|
||||||
|
encoded = result.
|
||||||
|
|
||||||
|
CATCH cx_sy_dyn_call_illegal_class.
|
||||||
|
|
||||||
|
DATA(classname) = 'CL_HTTP_UTILITY'.
|
||||||
|
CALL METHOD (classname)=>('ENCODE_X_BASE64')
|
||||||
|
EXPORTING
|
||||||
|
unencoded = val
|
||||||
|
RECEIVING
|
||||||
|
encoded = result.
|
||||||
|
|
||||||
|
ENDTRY.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD get_sql_by_string.
|
||||||
|
|
||||||
|
DATA(lv_sql) = conv string( val ).
|
||||||
|
REPLACE ALL OCCURRENCES OF ` ` IN lv_sql WITH ``.
|
||||||
|
lv_sql = to_upper( lv_sql ).
|
||||||
|
SPLIT lv_sql AT 'SELECTFROM' INTO DATA(lv_dummy) DATA(lv_tab).
|
||||||
|
SPLIT lv_tab AT `FIELDS` INTO lv_tab lv_dummy.
|
||||||
|
|
||||||
|
result-table = lv_tab.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD app_get_url.
|
METHOD app_get_url.
|
||||||
|
|
||||||
|
@ -324,7 +525,8 @@ CLASS z2ui5_cl_util_func IMPLEMENTATION.
|
||||||
WHEN 'ABAP_BOOL'
|
WHEN 'ABAP_BOOL'
|
||||||
OR 'XSDBOOLEAN'
|
OR 'XSDBOOLEAN'
|
||||||
OR 'FLAG'
|
OR 'FLAG'
|
||||||
* OR 'XFELD'
|
OR 'XFLAG'
|
||||||
|
OR 'XFELD'
|
||||||
OR 'ABAP_BOOLEAN'
|
OR 'ABAP_BOOLEAN'
|
||||||
OR 'WDY_BOOLEAN'
|
OR 'WDY_BOOLEAN'
|
||||||
OR 'OS_BOOLEAN'.
|
OR 'OS_BOOLEAN'.
|
||||||
|
@ -442,6 +644,80 @@ CLASS z2ui5_cl_util_func IMPLEMENTATION.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD get_source_code_method.
|
||||||
|
DATA object TYPE REF TO object.
|
||||||
|
FIELD-SYMBOLS <any> TYPE any.
|
||||||
|
DATA lt_source TYPE string_table.
|
||||||
|
|
||||||
|
TRY.
|
||||||
|
DATA lv_class TYPE c LENGTH 30.
|
||||||
|
DATA lv_method TYPE c LENGTH 61.
|
||||||
|
lv_class = iv_classname.
|
||||||
|
lv_method = iv_methodname.
|
||||||
|
|
||||||
|
CALL METHOD ('XCO_CP_ABAP')=>('CLASS')
|
||||||
|
EXPORTING
|
||||||
|
iv_name = lv_class
|
||||||
|
RECEIVING
|
||||||
|
ro_class = object.
|
||||||
|
|
||||||
|
ASSIGN ('OBJECT->IF_XCO_AO_CLASS~IMPLEMENTATION') TO <any>.
|
||||||
|
object = <any>.
|
||||||
|
|
||||||
|
CALL METHOD object->('IF_XCO_CLAS_IMPLEMENTATION~METHOD')
|
||||||
|
EXPORTING
|
||||||
|
iv_name = lv_method
|
||||||
|
RECEIVING
|
||||||
|
ro_method = object.
|
||||||
|
|
||||||
|
CALL METHOD object->('IF_XCO_CLAS_I_METHOD~CONTENT')
|
||||||
|
RECEIVING
|
||||||
|
ro_content = object.
|
||||||
|
|
||||||
|
CALL METHOD object->('IF_XCO_CLAS_I_METHOD_CONTENT~GET_SOURCE')
|
||||||
|
RECEIVING
|
||||||
|
rt_source = result.
|
||||||
|
|
||||||
|
CATCH cx_sy_dyn_call_error.
|
||||||
|
|
||||||
|
DATA(lv_name) = 'CL_OO_FACTORY'.
|
||||||
|
CALL METHOD (lv_name)=>('CREATE_INSTANCE')
|
||||||
|
RECEIVING
|
||||||
|
result = object.
|
||||||
|
|
||||||
|
CALL METHOD object->('IF_OO_CLIF_SOURCE_FACTORY~CREATE_CLIF_SOURCE')
|
||||||
|
EXPORTING
|
||||||
|
clif_name = iv_classname
|
||||||
|
RECEIVING
|
||||||
|
result = object.
|
||||||
|
|
||||||
|
CALL METHOD object->('IF_OO_CLIF_SOURCE~GET_SOURCE')
|
||||||
|
IMPORTING
|
||||||
|
source = lt_source.
|
||||||
|
|
||||||
|
DATA(lv_check_method) = abap_false.
|
||||||
|
LOOP AT lt_source INTO DATA(lv_source).
|
||||||
|
DATA(lv_source_upper) = to_upper( lv_source ).
|
||||||
|
|
||||||
|
IF lv_source_upper CS `ENDMETHOD`.
|
||||||
|
lv_check_method = abap_false.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
IF lv_source_upper CS to_upper( |{ iv_methodname }| ).
|
||||||
|
lv_check_method = abap_true.
|
||||||
|
CONTINUE.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
IF lv_check_method = abap_true.
|
||||||
|
INSERT lv_source INTO TABLE result.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
ENDLOOP.
|
||||||
|
|
||||||
|
ENDTRY.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD get_range_by_token.
|
METHOD get_range_by_token.
|
||||||
|
|
||||||
DATA(lv_length) = strlen( value ) - 1.
|
DATA(lv_length) = strlen( value ) - 1.
|
||||||
|
@ -696,12 +972,22 @@ CLASS z2ui5_cl_util_func IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD rtti_get_t_comp_by_data.
|
METHOD rtti_get_t_comp_by_data.
|
||||||
|
|
||||||
DATA(lo_type) = cl_abap_structdescr=>describe_by_data( val ).
|
TRY.
|
||||||
|
DATA(lo_type) = cl_abap_typedescr=>describe_by_data( val ).
|
||||||
|
DATA(lo_struct) = CAST cl_abap_structdescr( lo_type ).
|
||||||
|
CATCH cx_root.
|
||||||
TRY.
|
TRY.
|
||||||
DATA(lo_tab) = CAST cl_abap_tabledescr( lo_type ).
|
DATA(lo_tab) = CAST cl_abap_tabledescr( lo_type ).
|
||||||
DATA(lo_struct) = CAST cl_abap_structdescr( lo_tab->get_table_line_type( ) ).
|
lo_struct = CAST cl_abap_structdescr( lo_tab->get_table_line_type( ) ).
|
||||||
CATCH cx_root.
|
CATCH cx_root.
|
||||||
lo_struct = CAST cl_abap_structdescr( lo_type ).
|
TRY.
|
||||||
|
DATA(lo_ref) = cl_abap_typedescr=>describe_by_data_ref( val ).
|
||||||
|
lo_struct = CAST cl_abap_structdescr( lo_ref ).
|
||||||
|
CATCH cx_root.
|
||||||
|
lo_tab = CAST cl_abap_tabledescr( lo_ref ).
|
||||||
|
lo_struct = CAST cl_abap_structdescr( lo_tab->get_table_line_type( ) ).
|
||||||
|
ENDTRY.
|
||||||
|
ENDTRY.
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
|
|
||||||
result = lo_struct->get_components( ).
|
result = lo_struct->get_components( ).
|
||||||
|
@ -726,7 +1012,7 @@ CLASS z2ui5_cl_util_func IMPLEMENTATION.
|
||||||
CATCH cx_root.
|
CATCH cx_root.
|
||||||
DATA(lv_link) = `https://github.com/sandraros/S-RTTI`.
|
DATA(lv_link) = `https://github.com/sandraros/S-RTTI`.
|
||||||
DATA(lv_text) = `<p>Please install the open-source project S-RTTI by sandraros and try again: <a href="` &&
|
DATA(lv_text) = `<p>Please install the open-source project S-RTTI by sandraros and try again: <a href="` &&
|
||||||
lv_link && `" style="color:blue; font-weight:600;">(link)</a></p>`.
|
lv_link && `" style="color:blue; font-weight:600;" target="_blank">(link)</a></p>`.
|
||||||
|
|
||||||
RAISE EXCEPTION TYPE z2ui5_cx_util_error
|
RAISE EXCEPTION TYPE z2ui5_cx_util_error
|
||||||
EXPORTING
|
EXPORTING
|
||||||
|
@ -966,6 +1252,25 @@ CLASS z2ui5_cl_util_func IMPLEMENTATION.
|
||||||
pretty_name = pretty_name
|
pretty_name = pretty_name
|
||||||
IMPORTING
|
IMPORTING
|
||||||
r_result = <comp> ).
|
r_result = <comp> ).
|
||||||
|
WHEN cl_abap_typedescr=>kind_elem.
|
||||||
|
CASE ls_comp-type->absolute_name.
|
||||||
|
WHEN `\TYPE=D`.
|
||||||
|
DATA match TYPE i.
|
||||||
|
" support for ISO8601 => https://en.wikipedia.org/wiki/ISO_8601
|
||||||
|
REPLACE FIRST OCCURRENCE OF REGEX `^(\d{4})-(\d{2})-(\d{2})` IN <ls_data_ui5> WITH `$1$2$3`
|
||||||
|
REPLACEMENT LENGTH match. "#EC NOTEXT
|
||||||
|
<comp> = <ls_data_ui5>.
|
||||||
|
|
||||||
|
WHEN `\TYPE=T`.
|
||||||
|
|
||||||
|
" support for ISO8601 => https://en.wikipedia.org/wiki/ISO_8601
|
||||||
|
REPLACE FIRST OCCURRENCE OF REGEX `^(\d{2}):(\d{2}):(\d{2})` IN <ls_data_ui5> WITH `$1$2$3`
|
||||||
|
REPLACEMENT LENGTH match. "#EC NOTEXT
|
||||||
|
<comp> = <ls_data_ui5>.
|
||||||
|
|
||||||
|
WHEN OTHERS.
|
||||||
|
<comp> = <ls_data_ui5>.
|
||||||
|
ENDCASE.
|
||||||
WHEN OTHERS.
|
WHEN OTHERS.
|
||||||
<comp> = <ls_data_ui5>.
|
<comp> = <ls_data_ui5>.
|
||||||
ENDCASE.
|
ENDCASE.
|
||||||
|
@ -1076,4 +1381,39 @@ CLASS z2ui5_cl_util_func IMPLEMENTATION.
|
||||||
RAISE EXCEPTION TYPE z2ui5_cx_util_error EXPORTING val = v.
|
RAISE EXCEPTION TYPE z2ui5_cx_util_error EXPORTING val = v.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD time_get_date_by_stampl.
|
||||||
|
|
||||||
|
CONVERT TIME STAMP val TIME ZONE sy-zonlo INTO DATE result TIME DATA(lv_dummy).
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD time_get_time_by_stampl.
|
||||||
|
|
||||||
|
CONVERT TIME STAMP val TIME ZONE sy-zonlo INTO DATE DATA(lv_dummy) TIME result.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD copy_ref_data_to_ref_data.
|
||||||
|
|
||||||
|
FIELD-SYMBOLS <from> TYPE data.
|
||||||
|
FIELD-SYMBOLS <result> TYPE data.
|
||||||
|
|
||||||
|
ASSIGN from->* TO <from>.
|
||||||
|
CREATE DATA result LIKE <from>.
|
||||||
|
ASSIGN result->* TO <result>.
|
||||||
|
|
||||||
|
<result> = <from>.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD get_sql_multi_by_data.
|
||||||
|
|
||||||
|
LOOP AT rtti_get_t_comp_by_data( val ) REFERENCE INTO DATA(lr_comp).
|
||||||
|
INSERT VALUE #( name = lr_comp->name ) INTO TABLE result.
|
||||||
|
ENDLOOP.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -29,20 +29,20 @@ CLASS z2ui5_cl_fw_client DEFINITION
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(r_result) TYPE string.
|
VALUE(r_result) TYPE string.
|
||||||
|
|
||||||
private section.
|
PRIVATE SECTION.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS Z2UI5_CL_FW_CLIENT IMPLEMENTATION.
|
CLASS z2ui5_cl_fw_client 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.
|
||||||
data lr_ref type ref to data.
|
DATA lr_ref TYPE REF TO data.
|
||||||
|
|
||||||
ASSIGN i_tab[ i_tab_index ] TO <row>.
|
ASSIGN i_tab[ i_tab_index ] TO <row>.
|
||||||
DATA(lt_attri) = z2ui5_cl_util_func=>rtti_get_t_comp_by_data( <row> ).
|
DATA(lt_attri) = z2ui5_cl_util_func=>rtti_get_t_comp_by_data( <row> ).
|
||||||
|
@ -130,11 +130,19 @@ CLASS Z2UI5_CL_FW_CLIENT IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD z2ui5_if_client~nav_app_call.
|
METHOD z2ui5_if_client~nav_app_call.
|
||||||
mo_handler->ms_next-o_app_call = app.
|
mo_handler->ms_next-o_app_call = app.
|
||||||
|
IF app->id_draft IS INITIAL.
|
||||||
|
app->id_app = z2ui5_cl_util_func=>func_get_uuid_32( ).
|
||||||
|
ENDIF.
|
||||||
|
result = app->id_app.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD z2ui5_if_client~nav_app_leave.
|
METHOD z2ui5_if_client~nav_app_leave.
|
||||||
mo_handler->ms_next-o_app_leave = app.
|
mo_handler->ms_next-o_app_leave = app.
|
||||||
|
IF app->id_draft IS INITIAL.
|
||||||
|
app->id_app = z2ui5_cl_util_func=>func_get_uuid_32( ).
|
||||||
|
ENDIF.
|
||||||
|
result = app->id_app.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
@ -211,7 +219,7 @@ CLASS Z2UI5_CL_FW_CLIENT IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD z2ui5_if_client~popup_destroy.
|
METHOD z2ui5_if_client~popup_destroy.
|
||||||
|
|
||||||
mo_handler->ms_next-s_set-s_popup-check_destroy = abap_true.
|
mo_handler->ms_next-s_set-s_popup = value #( check_destroy = abap_true ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
@ -299,6 +307,14 @@ CLASS Z2UI5_CL_FW_CLIENT IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD z2ui5_if_client~clear.
|
||||||
|
|
||||||
|
CASE val.
|
||||||
|
WHEN z2ui5_if_client~cs_clear-view.
|
||||||
|
CLEAR mo_handler->ms_next-s_set-s_view.
|
||||||
|
ENDCASE.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD z2ui5_if_client~_bind_edit.
|
METHOD z2ui5_if_client~_bind_edit.
|
||||||
|
|
||||||
|
|
|
@ -142,11 +142,11 @@ CLASS z2ui5_cl_fw_controller IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD app_next_factory.
|
METHOD app_next_factory.
|
||||||
|
|
||||||
app->id = COND #( WHEN app->id IS INITIAL THEN z2ui5_cl_util_func=>func_get_uuid_32( ) ELSE app->id ).
|
app->id_draft = COND #( WHEN app->id_draft IS INITIAL THEN z2ui5_cl_util_func=>func_get_uuid_32( ) ELSE app->id_draft ).
|
||||||
|
|
||||||
r_result = NEW #( ).
|
r_result = NEW #( ).
|
||||||
r_result->ms_db-app = app.
|
r_result->ms_db-app = app.
|
||||||
r_result->ms_db-id = app->id.
|
r_result->ms_db-id = app->id_draft.
|
||||||
r_result->ms_db-id_prev = ms_db-id.
|
r_result->ms_db-id_prev = ms_db-id.
|
||||||
r_result->ms_db-id_prev_app = ms_db-id.
|
r_result->ms_db-id_prev_app = ms_db-id.
|
||||||
r_result->ms_actual-check_launchpad_active = ms_actual-check_launchpad_active.
|
r_result->ms_actual-check_launchpad_active = ms_actual-check_launchpad_active.
|
||||||
|
@ -154,7 +154,7 @@ CLASS z2ui5_cl_fw_controller IMPLEMENTATION.
|
||||||
r_result->ms_next-s_set = ms_next-s_set.
|
r_result->ms_next-s_set = ms_next-s_set.
|
||||||
|
|
||||||
TRY.
|
TRY.
|
||||||
DATA(ls_db_next) = z2ui5_cl_fw_db=>load_app( id = app->id ).
|
DATA(ls_db_next) = z2ui5_cl_fw_db=>load_app( id = app->id_draft ).
|
||||||
r_result->ms_db-t_attri = ls_db_next-t_attri.
|
r_result->ms_db-t_attri = ls_db_next-t_attri.
|
||||||
CATCH cx_root.
|
CATCH cx_root.
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
|
@ -370,7 +370,7 @@ CLASS z2ui5_cl_fw_controller IMPLEMENTATION.
|
||||||
|
|
||||||
lv_classname = z2ui5_cl_util_func=>c_trim_upper( lv_classname ).
|
lv_classname = z2ui5_cl_util_func=>c_trim_upper( lv_classname ).
|
||||||
CREATE OBJECT result->ms_db-app TYPE (lv_classname).
|
CREATE OBJECT result->ms_db-app TYPE (lv_classname).
|
||||||
result->ms_db-app->id = result->ms_db-id.
|
result->ms_db-app->id_draft = result->ms_db-id.
|
||||||
|
|
||||||
CATCH cx_root.
|
CATCH cx_root.
|
||||||
result = app_system_factory( error_text = `App with name ` && lv_classname && ` not found...` ).
|
result = app_system_factory( error_text = `App with name ` && lv_classname && ` not found...` ).
|
||||||
|
@ -395,7 +395,7 @@ CLASS z2ui5_cl_fw_controller IMPLEMENTATION.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
result->ms_db-app = z2ui5_cl_fw_app_startup=>factory( ).
|
result->ms_db-app = z2ui5_cl_fw_app_startup=>factory( ).
|
||||||
result->ms_db-app->id = result->ms_db-id.
|
result->ms_db-app->id_draft = result->ms_db-id.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@ CLASS z2ui5_cl_fw_db DEFINITION
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
|
||||||
|
|
||||||
types ty_S_db2 type z2ui5_t_fw_01.
|
TYPES ty_s_db2 TYPE z2ui5_t_fw_01.
|
||||||
|
|
||||||
TYPES:
|
TYPES:
|
||||||
BEGIN OF ty_s_db,
|
BEGIN OF ty_s_db,
|
||||||
|
@ -35,7 +35,7 @@ CLASS z2ui5_cl_fw_db DEFINITION
|
||||||
!id TYPE clike
|
!id TYPE clike
|
||||||
!check_load_app TYPE abap_bool DEFAULT abap_true
|
!check_load_app TYPE abap_bool DEFAULT abap_true
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(result) TYPE ty_S_db2.
|
VALUE(result) TYPE ty_s_db2.
|
||||||
|
|
||||||
CLASS-METHODS cleanup.
|
CLASS-METHODS cleanup.
|
||||||
|
|
||||||
|
@ -51,7 +51,7 @@ ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS Z2UI5_CL_FW_DB IMPLEMENTATION.
|
CLASS z2ui5_cl_fw_db IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD cleanup.
|
METHOD cleanup.
|
||||||
|
@ -72,7 +72,7 @@ CLASS Z2UI5_CL_FW_DB IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD create.
|
METHOD create.
|
||||||
|
|
||||||
db-app->id = id.
|
db-app->id_draft = id.
|
||||||
DATA(lv_xml) = trans_any_2_xml( db ).
|
DATA(lv_xml) = trans_any_2_xml( db ).
|
||||||
|
|
||||||
DATA(ls_draft) = VALUE ty_s_db2( id = id
|
DATA(ls_draft) = VALUE ty_s_db2( id = id
|
||||||
|
@ -112,6 +112,11 @@ CLASS Z2UI5_CL_FW_DB IMPLEMENTATION.
|
||||||
FIELD-SYMBOLS <ref> TYPE any.
|
FIELD-SYMBOLS <ref> TYPE any.
|
||||||
DATA(lv_assign) = 'LO_APP->' && lr_attri->name.
|
DATA(lv_assign) = 'LO_APP->' && lr_attri->name.
|
||||||
ASSIGN (lv_assign) TO <ref>.
|
ASSIGN (lv_assign) TO <ref>.
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
RAISE EXCEPTION TYPE z2ui5_cx_util_error
|
||||||
|
EXPORTING
|
||||||
|
val = `LOAD_DRAFT_FROM_DATABASE_FAILED / ATTRI_NOT_FOUND ` && lr_attri->name.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
z2ui5_cl_util_func=>rtti_xml_set_to_data(
|
z2ui5_cl_util_func=>rtti_xml_set_to_data(
|
||||||
EXPORTING
|
EXPORTING
|
||||||
|
@ -191,11 +196,15 @@ CLASS Z2UI5_CL_FW_DB IMPLEMENTATION.
|
||||||
|
|
||||||
result = z2ui5_cl_util_func=>trans_xml_any_2( ls_db ).
|
result = z2ui5_cl_util_func=>trans_xml_any_2( ls_db ).
|
||||||
|
|
||||||
|
CATCH z2ui5_cx_util_error INTO DATA(x_util).
|
||||||
|
RAISE EXCEPTION x_util.
|
||||||
|
|
||||||
CATCH cx_root INTO DATA(x2).
|
CATCH cx_root INTO DATA(x2).
|
||||||
|
|
||||||
RAISE EXCEPTION TYPE z2ui5_cx_util_error
|
RAISE EXCEPTION TYPE z2ui5_cx_util_error
|
||||||
EXPORTING
|
EXPORTING
|
||||||
val = x->get_text( ) && `<p>` && x->previous->get_text( ) && `<p>` && x2->get_text( ).
|
* val = x->get_text( ) && `<p>` && x->previous->get_text( ) && `<p>` && x2->get_text( ) && `<p> Please check if all generic data references are public attribtues of your class`.
|
||||||
|
val = `<p>` && x->previous->get_text( ) && `<p>` && x2->get_text( ) && `<p> Please check if all generic data references are public attributes of your class`.
|
||||||
|
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
|
|
|
@ -257,11 +257,11 @@ CLASS Z2UI5_CL_FW_HTTP_HANDLER IMPLEMENTATION.
|
||||||
` sap.z2ui5.oBody = {};` && |\n| &&
|
` sap.z2ui5.oBody = {};` && |\n| &&
|
||||||
` let isUpdated = false;` && |\n| &&
|
` let isUpdated = false;` && |\n| &&
|
||||||
` if (sap.z2ui5.oViewPopup) {` && |\n| &&
|
` if (sap.z2ui5.oViewPopup) {` && |\n| &&
|
||||||
` if (!sap.z2ui5.oViewPopup.isOpen || sap.z2ui5.oViewPopup.isOpen() == true) {` && |\n| &&
|
` if (sap.z2ui5.oViewPopup.isOpen ) { if( sap.z2ui5.oViewPopup.isOpen() == true ) {` && |\n| &&
|
||||||
` sap.z2ui5.oBody.EDIT = sap.z2ui5.oViewPopup.getModel().getData().EDIT;` && |\n| &&
|
` sap.z2ui5.oBody.EDIT = sap.z2ui5.oViewPopup.getModel().getData().EDIT;` && |\n| &&
|
||||||
` isUpdated = true;` && |\n| &&
|
` isUpdated = true;` && |\n| &&
|
||||||
` sap.z2ui5.oBody.VIEWNAME = 'MAIN';` && |\n| &&
|
` sap.z2ui5.oBody.VIEWNAME = 'MAIN';` && |\n| &&
|
||||||
` }` && |\n| &&
|
` } }` && |\n| &&
|
||||||
` }` && |\n| &&
|
` }` && |\n| &&
|
||||||
` if (isUpdated == false) {` && |\n| &&
|
` if (isUpdated == false) {` && |\n| &&
|
||||||
` if (sap.z2ui5.oViewPopover) {` && |\n| &&
|
` if (sap.z2ui5.oViewPopover) {` && |\n| &&
|
||||||
|
|
|
@ -14,6 +14,11 @@ INTERFACE z2ui5_if_client
|
||||||
cross_app_nav_to_prev_app TYPE string VALUE `CROSS_APP_NAV_TO_PREV_APP`,
|
cross_app_nav_to_prev_app TYPE string VALUE `CROSS_APP_NAV_TO_PREV_APP`,
|
||||||
END OF cs_event.
|
END OF cs_event.
|
||||||
|
|
||||||
|
CONSTANTS:
|
||||||
|
BEGIN OF cs_clear,
|
||||||
|
view TYPE string VALUE `VIEW`,
|
||||||
|
END OF cs_clear.
|
||||||
|
|
||||||
CONSTANTS:
|
CONSTANTS:
|
||||||
BEGIN OF cs_view,
|
BEGIN OF cs_view,
|
||||||
main TYPE string VALUE `MAIN`,
|
main TYPE string VALUE `MAIN`,
|
||||||
|
@ -133,11 +138,15 @@ INTERFACE z2ui5_if_client
|
||||||
|
|
||||||
METHODS nav_app_leave
|
METHODS nav_app_leave
|
||||||
IMPORTING
|
IMPORTING
|
||||||
app TYPE REF TO z2ui5_if_app.
|
app TYPE REF TO z2ui5_if_app
|
||||||
|
RETURNING
|
||||||
|
VALUE(result) TYPE string.
|
||||||
|
|
||||||
METHODS nav_app_call
|
METHODS nav_app_call
|
||||||
IMPORTING
|
IMPORTING
|
||||||
app TYPE REF TO z2ui5_if_app.
|
app TYPE REF TO z2ui5_if_app
|
||||||
|
RETURNING
|
||||||
|
VALUE(result) TYPE string.
|
||||||
|
|
||||||
METHODS message_box_display
|
METHODS message_box_display
|
||||||
IMPORTING
|
IMPORTING
|
||||||
|
@ -200,4 +209,8 @@ INTERFACE z2ui5_if_client
|
||||||
IMPORTING
|
IMPORTING
|
||||||
val TYPE data.
|
val TYPE data.
|
||||||
|
|
||||||
|
METHODS clear
|
||||||
|
IMPORTING
|
||||||
|
val TYPE data.
|
||||||
|
|
||||||
ENDINTERFACE.
|
ENDINTERFACE.
|
||||||
|
|
|
@ -28,6 +28,7 @@ CLASS z2ui5_cl_fw_app_startup DEFINITION
|
||||||
METHODS z2ui5_on_init.
|
METHODS z2ui5_on_init.
|
||||||
METHODS z2ui5_on_event.
|
METHODS z2ui5_on_event.
|
||||||
METHODS view_display_start.
|
METHODS view_display_start.
|
||||||
|
METHODS on_event_check.
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
DATA mt_classes TYPE string_table.
|
DATA mt_classes TYPE string_table.
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
|
@ -142,14 +143,20 @@ CLASS z2ui5_cl_fw_app_startup IMPLEMENTATION.
|
||||||
IF mv_check_initialized = abap_false.
|
IF mv_check_initialized = abap_false.
|
||||||
mv_check_initialized = abap_true.
|
mv_check_initialized = abap_true.
|
||||||
z2ui5_on_init( ).
|
z2ui5_on_init( ).
|
||||||
|
view_display_start( ).
|
||||||
|
return.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
IF client->get( )-check_on_navigated = abap_true.
|
IF client->get( )-check_on_navigated = abap_true.
|
||||||
TRY.
|
TRY.
|
||||||
DATA(lo_f4) = CAST z2ui5_cl_popup_to_select( client->get_app( client->get( )-s_draft-id_prev_app ) ).
|
DATA(lo_f4) = CAST z2ui5_cl_popup_to_select( client->get_app( client->get( )-s_draft-id_prev_app ) ).
|
||||||
DATA(ls_result) = lo_f4->result( ).
|
DATA(ls_result) = lo_f4->result( ).
|
||||||
IF ls_result-check_cancel = abap_false.
|
IF ls_result-check_confirmed = abap_true.
|
||||||
ms_home-classname = mt_classes[ ls_result-index ].
|
FIELD-SYMBOLS <class> TYPE string.
|
||||||
|
ASSIGN ls_result-row->* TO <class>.
|
||||||
|
ms_home-classname = <class>.
|
||||||
|
view_display_start( ).
|
||||||
|
return.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
CATCH cx_root.
|
CATCH cx_root.
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
|
@ -170,26 +177,10 @@ CLASS z2ui5_cl_fw_app_startup IMPLEMENTATION.
|
||||||
ms_home-btn_event_id = `BUTTON_CHECK`.
|
ms_home-btn_event_id = `BUTTON_CHECK`.
|
||||||
ms_home-btn_icon = `sap-icon://validate`.
|
ms_home-btn_icon = `sap-icon://validate`.
|
||||||
ms_home-class_editable = abap_true.
|
ms_home-class_editable = abap_true.
|
||||||
|
client->view_model_update( ).
|
||||||
|
|
||||||
WHEN `BUTTON_CHECK`.
|
WHEN `BUTTON_CHECK`.
|
||||||
TRY.
|
on_event_check( ).
|
||||||
DATA li_app_test TYPE REF TO z2ui5_if_app.
|
|
||||||
ms_home-classname = z2ui5_cl_util_func=>c_trim_upper( ms_home-classname ).
|
|
||||||
CREATE OBJECT li_app_test TYPE (ms_home-classname).
|
|
||||||
|
|
||||||
client->message_toast_display( `App is ready to start!` ).
|
|
||||||
ms_home-btn_text = `edit`.
|
|
||||||
ms_home-btn_event_id = `BUTTON_CHANGE`.
|
|
||||||
ms_home-btn_icon = `sap-icon://edit`.
|
|
||||||
ms_home-class_value_state = `Success`.
|
|
||||||
ms_home-class_editable = abap_false.
|
|
||||||
|
|
||||||
CATCH cx_root INTO DATA(lx) ##CATCH_ALL.
|
|
||||||
ms_home-class_value_state_text = lx->get_text( ).
|
|
||||||
ms_home-class_value_state = `Warning`.
|
|
||||||
client->message_box_display( text = ms_home-class_value_state_text
|
|
||||||
type = `error` ).
|
|
||||||
ENDTRY.
|
|
||||||
|
|
||||||
WHEN 'VALUE_HELP'.
|
WHEN 'VALUE_HELP'.
|
||||||
mt_classes = z2ui5_cl_util_func=>rtti_get_classes_impl_intf( `Z2UI5_IF_APP` ).
|
mt_classes = z2ui5_cl_util_func=>rtti_get_classes_impl_intf( `Z2UI5_IF_APP` ).
|
||||||
|
@ -221,4 +212,28 @@ CLASS z2ui5_cl_fw_app_startup IMPLEMENTATION.
|
||||||
mv_check_demo = abap_true.
|
mv_check_demo = abap_true.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD on_event_check.
|
||||||
|
|
||||||
|
TRY.
|
||||||
|
DATA li_app_test TYPE REF TO z2ui5_if_app.
|
||||||
|
ms_home-classname = z2ui5_cl_util_func=>c_trim_upper( ms_home-classname ).
|
||||||
|
CREATE OBJECT li_app_test TYPE (ms_home-classname).
|
||||||
|
|
||||||
|
client->message_toast_display( `App is ready to start!` ).
|
||||||
|
ms_home-btn_text = `edit`.
|
||||||
|
ms_home-btn_event_id = `BUTTON_CHANGE`.
|
||||||
|
ms_home-btn_icon = `sap-icon://edit`.
|
||||||
|
ms_home-class_value_state = `Success`.
|
||||||
|
ms_home-class_editable = abap_false.
|
||||||
|
|
||||||
|
CATCH cx_root INTO DATA(lx) ##CATCH_ALL.
|
||||||
|
ms_home-class_value_state_text = lx->get_text( ).
|
||||||
|
ms_home-class_value_state = `Warning`.
|
||||||
|
client->message_box_display( text = ms_home-class_value_state_text
|
||||||
|
type = `error` ).
|
||||||
|
ENDTRY.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -9,7 +9,7 @@ CLASS z2ui5_cl_popup_error DEFINITION
|
||||||
|
|
||||||
CLASS-METHODS factory
|
CLASS-METHODS factory
|
||||||
IMPORTING
|
IMPORTING
|
||||||
error TYPE ref to cx_root
|
error TYPE REF TO cx_root
|
||||||
i_title TYPE string DEFAULT `Error View`
|
i_title TYPE string DEFAULT `Error View`
|
||||||
i_icon TYPE string DEFAULT 'sap-icon://question-mark'
|
i_icon TYPE string DEFAULT 'sap-icon://question-mark'
|
||||||
i_button_text TYPE string DEFAULT `OK`
|
i_button_text TYPE string DEFAULT `OK`
|
||||||
|
@ -36,7 +36,10 @@ CLASS z2ui5_cl_popup_error IMPLEMENTATION.
|
||||||
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 = error->get_text( ).
|
if error->previous is bound.
|
||||||
|
r_result->question_text = error->previous->get_text( ).
|
||||||
|
endif.
|
||||||
|
r_result->question_text = r_result->question_text && ` ` && error->get_text( ).
|
||||||
r_result->button_text_confirm = i_button_text.
|
r_result->button_text_confirm = i_button_text.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
@ -50,8 +53,9 @@ CLASS z2ui5_cl_popup_error IMPLEMENTATION.
|
||||||
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(
|
)->html( question_text
|
||||||
|
)->get_parent( )->get_parent( )->get_parent(
|
||||||
)->footer( )->overflow_toolbar(
|
)->footer( )->overflow_toolbar(
|
||||||
)->toolbar_spacer(
|
)->toolbar_spacer(
|
||||||
)->button(
|
)->button(
|
||||||
|
@ -59,6 +63,7 @@ CLASS z2ui5_cl_popup_error IMPLEMENTATION.
|
||||||
press = client->_event( 'BUTTON_CONFIRM' )
|
press = client->_event( 'BUTTON_CONFIRM' )
|
||||||
type = 'Emphasized' ).
|
type = 'Emphasized' ).
|
||||||
|
|
||||||
|
client->clear( client->cs_clear-view ).
|
||||||
client->popup_display( popup->stringify( ) ).
|
client->popup_display( popup->stringify( ) ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
|
@ -9,22 +9,23 @@ CLASS z2ui5_cl_popup_file_upload DEFINITION
|
||||||
|
|
||||||
CLASS-METHODS factory
|
CLASS-METHODS factory
|
||||||
IMPORTING
|
IMPORTING
|
||||||
i_text TYPE string default `Choose the file to upload:`
|
i_text TYPE string DEFAULT `Choose the file to upload:`
|
||||||
i_title TYPE string DEFAULT `File Upload`
|
i_title TYPE string DEFAULT `File Upload`
|
||||||
i_button_text_confirm TYPE string DEFAULT `OK`
|
i_button_text_confirm TYPE string DEFAULT `OK`
|
||||||
i_button_text_cancel TYPE string DEFAULT `Cancel`
|
i_button_text_cancel TYPE string DEFAULT `Cancel`
|
||||||
i_path type string optional
|
i_path TYPE string OPTIONAL
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(r_result) TYPE REF TO z2ui5_cl_popup_file_upload.
|
VALUE(r_result) TYPE REF TO z2ui5_cl_popup_file_upload.
|
||||||
|
|
||||||
TYPES:
|
TYPES:
|
||||||
BEGIN OF ty_s_result,
|
BEGIN OF ty_s_result,
|
||||||
text TYPE string,
|
value TYPE string,
|
||||||
check_cancel 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_path type string.
|
DATA mv_path TYPE string.
|
||||||
data mv_value type string.
|
DATA mv_value TYPE string.
|
||||||
|
DATA check_confirm_enabled TYPE abap_bool.
|
||||||
|
|
||||||
METHODS result
|
METHODS result
|
||||||
RETURNING
|
RETURNING
|
||||||
|
@ -38,14 +39,13 @@ CLASS z2ui5_cl_popup_file_upload DEFINITION
|
||||||
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.
|
|
||||||
METHODS view_display.
|
METHODS view_display.
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS Z2UI5_CL_POPUP_FILE_UPLOAD IMPLEMENTATION.
|
CLASS z2ui5_cl_popup_file_upload IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD factory.
|
METHOD factory.
|
||||||
|
@ -91,6 +91,7 @@ CLASS Z2UI5_CL_POPUP_FILE_UPLOAD IMPLEMENTATION.
|
||||||
)->button(
|
)->button(
|
||||||
text = button_text_confirm
|
text = button_text_confirm
|
||||||
press = client->_event( 'BUTTON_CONFIRM' )
|
press = client->_event( 'BUTTON_CONFIRM' )
|
||||||
|
enabled = client->_bind( check_confirm_enabled )
|
||||||
type = 'Emphasized' ).
|
type = 'Emphasized' ).
|
||||||
|
|
||||||
client->popup_display( popup->stringify( ) ).
|
client->popup_display( popup->stringify( ) ).
|
||||||
|
@ -109,26 +110,27 @@ CLASS Z2UI5_CL_POPUP_FILE_UPLOAD IMPLEMENTATION.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
CASE client->get( )-event.
|
CASE client->get( )-event.
|
||||||
when `UPLOAD`.
|
|
||||||
|
WHEN `UPLOAD`.
|
||||||
|
|
||||||
SPLIT mv_value AT `;` INTO DATA(lv_dummy) DATA(lv_data).
|
SPLIT mv_value AT `;` INTO DATA(lv_dummy) DATA(lv_data).
|
||||||
SPLIT lv_data AT `,` INTO lv_dummy lv_data.
|
SPLIT lv_data AT `,` INTO lv_dummy lv_data.
|
||||||
|
|
||||||
DATA(lv_data2) = lcl_utility=>decode_x_base64( lv_data ).
|
DATA(lv_data2) = lcl_utility=>decode_x_base64( lv_data ).
|
||||||
ms_result-text = lcl_utility=>get_string_by_xstring( lv_data2 ).
|
ms_result-value = lcl_utility=>get_string_by_xstring( lv_data2 ).
|
||||||
|
|
||||||
client->message_box_display( `file uploaded` ).
|
check_confirm_enabled = abap_true.
|
||||||
|
* client->message_box_display( `file uploaded` ).
|
||||||
|
|
||||||
CLEAR mv_value.
|
CLEAR mv_value.
|
||||||
CLEAR mv_path.
|
CLEAR mv_path.
|
||||||
|
client->popup_model_update( ).
|
||||||
|
|
||||||
WHEN `BUTTON_CONFIRM`.
|
WHEN `BUTTON_CONFIRM`.
|
||||||
check_result_confirmed = abap_true.
|
ms_result-check_confirmed = abap_true.
|
||||||
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 ) ).
|
||||||
WHEN `BUTTON_CANCEL`.
|
WHEN `BUTTON_CANCEL`.
|
||||||
check_result_confirmed = abap_false.
|
|
||||||
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.
|
||||||
|
|
|
@ -25,7 +25,7 @@ CLASS z2ui5_cl_popup_get_range DEFINITION
|
||||||
TYPES:
|
TYPES:
|
||||||
BEGIN OF ty_s_result,
|
BEGIN OF ty_s_result,
|
||||||
t_range TYPE z2ui5_cl_util_func=>ty_t_range,
|
t_range TYPE z2ui5_cl_util_func=>ty_t_range,
|
||||||
check_cancel 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.
|
||||||
|
|
||||||
|
@ -37,7 +37,6 @@ CLASS z2ui5_cl_popup_get_range DEFINITION
|
||||||
|
|
||||||
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 check_result_confirmed TYPE abap_bool.
|
|
||||||
METHODS view_display.
|
METHODS view_display.
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
@ -50,6 +49,7 @@ CLASS z2ui5_cl_popup_get_range IMPLEMENTATION.
|
||||||
|
|
||||||
r_result = NEW #( ).
|
r_result = NEW #( ).
|
||||||
r_result->ms_result-t_range = t_range.
|
r_result->ms_result-t_range = t_range.
|
||||||
|
INSERT VALUE #( ) INTO TABLE r_result->ms_result-t_range.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
@ -89,8 +89,8 @@ CLASS z2ui5_cl_popup_get_range IMPLEMENTATION.
|
||||||
key = '{N}'
|
key = '{N}'
|
||||||
text = '{N}'
|
text = '{N}'
|
||||||
)->get_parent(
|
)->get_parent(
|
||||||
)->input( value = `{LOW}`
|
)->input( value = `{LOW}` submit = client->_event( 'BUTTON_CONFIRM' )
|
||||||
)->input( value = `{HIGH}` visible = `{= ${OPTION} === 'BT' }`
|
)->input( value = `{HIGH}` visible = `{= ${OPTION} === 'BT' }` submit = client->_event( 'BUTTON_CONFIRM' )
|
||||||
)->button( icon = 'sap-icon://decline' type = `Transparent` press = client->_event( val = `POPUP_DELETE` t_arg = VALUE #( ( `${KEY}` ) ) )
|
)->button( icon = 'sap-icon://decline' type = `Transparent` press = client->_event( val = `POPUP_DELETE` t_arg = VALUE #( ( `${KEY}` ) ) )
|
||||||
).
|
).
|
||||||
|
|
||||||
|
@ -138,6 +138,9 @@ CLASS z2ui5_cl_popup_get_range IMPLEMENTATION.
|
||||||
|
|
||||||
CLEAR ms_result-t_range.
|
CLEAR ms_result-t_range.
|
||||||
LOOP AT mt_filter REFERENCE INTO DATA(lr_filter).
|
LOOP AT mt_filter REFERENCE INTO DATA(lr_filter).
|
||||||
|
IF lr_filter->low IS INITIAL AND lr_filter->high IS INITIAL.
|
||||||
|
CONTINUE.
|
||||||
|
ENDIF.
|
||||||
INSERT VALUE #(
|
INSERT VALUE #(
|
||||||
sign = `I`
|
sign = `I`
|
||||||
option = lr_filter->option
|
option = lr_filter->option
|
||||||
|
@ -146,13 +149,11 @@ CLASS z2ui5_cl_popup_get_range IMPLEMENTATION.
|
||||||
) INTO TABLE ms_result-t_range.
|
) INTO TABLE ms_result-t_range.
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
|
||||||
check_result_confirmed = abap_true.
|
ms_result-check_confirmed = abap_true.
|
||||||
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 ) ).
|
||||||
|
|
||||||
WHEN `BUTTON_CANCEL`.
|
WHEN `BUTTON_CANCEL`.
|
||||||
|
|
||||||
check_result_confirmed = abap_false.
|
|
||||||
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 ) ).
|
||||||
|
|
||||||
|
|
149
src/03/01/z2ui5_cl_popup_get_range_multi.clas.abap
Normal file
149
src/03/01/z2ui5_cl_popup_get_range_multi.clas.abap
Normal file
|
@ -0,0 +1,149 @@
|
||||||
|
CLASS z2ui5_cl_popup_get_range_multi DEFINITION
|
||||||
|
PUBLIC FINAL
|
||||||
|
CREATE PUBLIC.
|
||||||
|
|
||||||
|
PUBLIC SECTION.
|
||||||
|
INTERFACES z2ui5_if_app.
|
||||||
|
|
||||||
|
CLASS-METHODS factory
|
||||||
|
IMPORTING
|
||||||
|
val TYPE z2ui5_cl_util_func=>ty_t_sql_multi
|
||||||
|
RETURNING
|
||||||
|
VALUE(r_result) TYPE REF TO z2ui5_cl_popup_get_range_multi.
|
||||||
|
|
||||||
|
TYPES:
|
||||||
|
BEGIN OF ty_s_result,
|
||||||
|
t_sql TYPE z2ui5_cl_util_func=>ty_t_sql_multi,
|
||||||
|
check_confirmed TYPE abap_bool,
|
||||||
|
END OF ty_s_result.
|
||||||
|
|
||||||
|
DATA ms_result TYPE ty_s_result.
|
||||||
|
|
||||||
|
METHODS result
|
||||||
|
RETURNING VALUE(result) TYPE ty_s_result.
|
||||||
|
|
||||||
|
PROTECTED SECTION.
|
||||||
|
DATA client TYPE REF TO z2ui5_if_client.
|
||||||
|
DATA check_initialized TYPE abap_bool.
|
||||||
|
DATA mv_popup_name TYPE LINE OF string_table.
|
||||||
|
METHODS popup_display.
|
||||||
|
|
||||||
|
PRIVATE SECTION.
|
||||||
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
CLASS z2ui5_cl_popup_get_range_multi IMPLEMENTATION.
|
||||||
|
|
||||||
|
METHOD factory.
|
||||||
|
|
||||||
|
r_result = NEW #( ).
|
||||||
|
r_result->ms_result-t_sql = val.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD result.
|
||||||
|
result = ms_result.
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD popup_display.
|
||||||
|
|
||||||
|
DATA(lo_popup) = z2ui5_cl_xml_view=>factory_popup( client ).
|
||||||
|
lo_popup = lo_popup->dialog( afterclose = client->_event( 'BUTTON_CANCEL' )
|
||||||
|
contentheight = `50%`
|
||||||
|
contentwidth = `50%`
|
||||||
|
title = 'Define Filter Conditons' ).
|
||||||
|
|
||||||
|
DATA(vbox) = lo_popup->vbox( height = `100%`
|
||||||
|
justifycontent = 'SpaceBetween' ).
|
||||||
|
|
||||||
|
DATA(item) = vbox->list( nodata = `no conditions defined`
|
||||||
|
items = client->_bind( ms_result-t_sql )
|
||||||
|
selectionchange = client->_event( 'SELCHANGE' )
|
||||||
|
)->custom_list_item( ).
|
||||||
|
|
||||||
|
DATA(grid) = item->grid( ).
|
||||||
|
grid->label( `{NAME}` ).
|
||||||
|
|
||||||
|
grid->multi_input( tokens = `{T_TOKEN}`
|
||||||
|
enabled = abap_false
|
||||||
|
valuehelprequest = client->_event( val = `LIST_OPEN` t_arg = VALUE #( ( `${NAME}` ) ) )
|
||||||
|
)->tokens(
|
||||||
|
)->token( key = `{KEY}`
|
||||||
|
text = `{TEXT}`
|
||||||
|
visible = `{VISIBLE}`
|
||||||
|
selected = `{SELKZ}`
|
||||||
|
editable = `{EDITABLE}` ).
|
||||||
|
|
||||||
|
grid->button( text = `Select` press = client->_event( val = `LIST_OPEN` t_arg = VALUE #( ( `${NAME}` ) ) ) ).
|
||||||
|
grid->button( icon = 'sap-icon://delete' type = `Transparent` text = `Clear` press = client->_event( val = `LIST_DELETE` t_arg = VALUE #( ( `${NAME}` ) ) ) ).
|
||||||
|
|
||||||
|
lo_popup->footer( )->overflow_toolbar(
|
||||||
|
)->button( text = `Clear All`
|
||||||
|
icon = 'sap-icon://delete'
|
||||||
|
type = `Transparent`
|
||||||
|
press = client->_event( val = `POPUP_DELETE_ALL` )
|
||||||
|
)->toolbar_spacer(
|
||||||
|
)->button( text = 'Cancel'
|
||||||
|
press = client->_event( 'BUTTON_CANCEL' )
|
||||||
|
)->button( text = 'OK'
|
||||||
|
press = client->_event( 'BUTTON_CONFIRM' )
|
||||||
|
type = 'Emphasized' ).
|
||||||
|
|
||||||
|
client->popup_display( lo_popup->stringify( ) ).
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD z2ui5_if_app~main.
|
||||||
|
me->client = client.
|
||||||
|
|
||||||
|
IF check_initialized = abap_false.
|
||||||
|
check_initialized = abap_true.
|
||||||
|
popup_display( ).
|
||||||
|
RETURN.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
IF client->get( )-check_on_navigated = abap_true.
|
||||||
|
|
||||||
|
DATA(lo_popup) = CAST z2ui5_cl_popup_get_range( client->get_app( client->get( )-s_draft-id_prev_app ) ).
|
||||||
|
IF lo_popup->result( )-check_confirmed = abap_true.
|
||||||
|
ASSIGN ms_result-t_sql[ name = mv_popup_name ] TO FIELD-SYMBOL(<tab>).
|
||||||
|
<tab>-t_range = lo_popup->result( )-t_range.
|
||||||
|
<tab>-t_token = z2ui5_cl_util_func=>get_token_t_by_range_t( <tab>-t_range ).
|
||||||
|
ENDIF.
|
||||||
|
popup_display( ).
|
||||||
|
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
CASE client->get( )-event.
|
||||||
|
|
||||||
|
WHEN 'LIST_DELETE'.
|
||||||
|
DATA(lt_event) = client->get( )-t_event_arg.
|
||||||
|
ASSIGN ms_result-t_sql[ name = lt_event[ 1 ] ] TO <tab>.
|
||||||
|
CLEAR <tab>-t_token.
|
||||||
|
CLEAR <tab>-t_range.
|
||||||
|
client->popup_model_update( ).
|
||||||
|
|
||||||
|
WHEN 'LIST_OPEN'.
|
||||||
|
lt_event = client->get( )-t_event_arg.
|
||||||
|
mv_popup_name = lt_event[ 1 ].
|
||||||
|
DATA(ls_sql) = ms_result-t_sql[ name = mv_popup_name ].
|
||||||
|
client->nav_app_call( z2ui5_cl_popup_get_range=>factory( ls_sql-t_range ) ).
|
||||||
|
|
||||||
|
WHEN `BUTTON_CONFIRM`.
|
||||||
|
ms_result-check_confirmed = abap_true.
|
||||||
|
client->popup_destroy( ).
|
||||||
|
client->nav_app_leave( client->get_app( client->get( )-s_draft-id_prev_app_stack ) ).
|
||||||
|
|
||||||
|
WHEN `BUTTON_CANCEL`.
|
||||||
|
client->popup_destroy( ).
|
||||||
|
client->nav_app_leave( client->get_app( client->get( )-s_draft-id_prev_app_stack ) ).
|
||||||
|
|
||||||
|
WHEN `POPUP_DELETE_ALL`.
|
||||||
|
LOOP AT ms_result-t_sql REFERENCE INTO DATA(lr_sql).
|
||||||
|
CLEAR lr_sql->t_range.
|
||||||
|
CLEAR lr_sql->t_token.
|
||||||
|
ENDLOOP.
|
||||||
|
client->popup_model_update( ).
|
||||||
|
|
||||||
|
ENDCASE.
|
||||||
|
ENDMETHOD.
|
||||||
|
ENDCLASS.
|
16
src/03/01/z2ui5_cl_popup_get_range_multi.clas.xml
Normal file
16
src/03/01/z2ui5_cl_popup_get_range_multi.clas.xml
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||||
|
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||||
|
<asx:values>
|
||||||
|
<VSEOCLASS>
|
||||||
|
<CLSNAME>Z2UI5_CL_POPUP_GET_RANGE_MULTI</CLSNAME>
|
||||||
|
<LANGU>E</LANGU>
|
||||||
|
<DESCRIPT>ui - popup get range multi</DESCRIPT>
|
||||||
|
<STATE>1</STATE>
|
||||||
|
<CLSCCINCL>X</CLSCCINCL>
|
||||||
|
<FIXPT>X</FIXPT>
|
||||||
|
<UNICODE>X</UNICODE>
|
||||||
|
</VSEOCLASS>
|
||||||
|
</asx:values>
|
||||||
|
</asx:abap>
|
||||||
|
</abapGit>
|
|
@ -21,7 +21,7 @@ CLASS z2ui5_cl_popup_input_value DEFINITION
|
||||||
TYPES:
|
TYPES:
|
||||||
BEGIN OF ty_s_result,
|
BEGIN OF ty_s_result,
|
||||||
value TYPE string,
|
value TYPE string,
|
||||||
check_cancel 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.
|
||||||
|
|
||||||
|
|
158
src/03/01/z2ui5_cl_popup_layout.clas.abap
Normal file
158
src/03/01/z2ui5_cl_popup_layout.clas.abap
Normal file
|
@ -0,0 +1,158 @@
|
||||||
|
CLASS z2ui5_cl_popup_layout DEFINITION
|
||||||
|
PUBLIC
|
||||||
|
FINAL
|
||||||
|
CREATE PROTECTED.
|
||||||
|
|
||||||
|
PUBLIC SECTION.
|
||||||
|
INTERFACES z2ui5_if_app.
|
||||||
|
|
||||||
|
TYPES:
|
||||||
|
BEGIN OF ty_s_layout,
|
||||||
|
name TYPE string,
|
||||||
|
visible TYPE abap_bool,
|
||||||
|
length TYPE string,
|
||||||
|
mergeduplicates TYPE abap_bool,
|
||||||
|
END OF ty_s_layout.
|
||||||
|
TYPES ty_t_layout TYPE STANDARD TABLE OF ty_s_layout WITH EMPTY KEY.
|
||||||
|
|
||||||
|
CLASS-METHODS factory
|
||||||
|
IMPORTING
|
||||||
|
t_layout TYPE ty_t_layout OPTIONAL
|
||||||
|
i_tab TYPE STANDARD TABLE OPTIONAL
|
||||||
|
RETURNING
|
||||||
|
VALUE(r_result) TYPE REF TO z2ui5_cl_popup_layout.
|
||||||
|
|
||||||
|
TYPES:
|
||||||
|
BEGIN OF ty_s_result,
|
||||||
|
t_layout TYPE ty_t_layout,
|
||||||
|
check_confirmed TYPE abap_bool,
|
||||||
|
END OF ty_s_result.
|
||||||
|
DATA ms_result TYPE ty_s_result.
|
||||||
|
|
||||||
|
METHODS result
|
||||||
|
RETURNING
|
||||||
|
VALUE(result) TYPE ty_s_result.
|
||||||
|
|
||||||
|
PROTECTED SECTION.
|
||||||
|
DATA check_initialized TYPE abap_bool.
|
||||||
|
DATA client TYPE REF TO z2ui5_if_client.
|
||||||
|
METHODS on_event.
|
||||||
|
METHODS display.
|
||||||
|
METHODS on_event_confirm.
|
||||||
|
|
||||||
|
PRIVATE SECTION.
|
||||||
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
CLASS Z2UI5_CL_POPUP_LAYOUT IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD display.
|
||||||
|
|
||||||
|
DATA(popup) = z2ui5_cl_xml_view=>factory_popup( client )->dialog(
|
||||||
|
afterclose = client->_event( 'BUTTON_CONFIRM' )
|
||||||
|
stretch = abap_true
|
||||||
|
title = 'Layout View'
|
||||||
|
)->content( ).
|
||||||
|
|
||||||
|
DATA(tab) = popup->table(
|
||||||
|
items = client->_bind_edit( ms_result-t_layout ) ).
|
||||||
|
|
||||||
|
DATA(lt_comp) = z2ui5_cl_util_func=>rtti_get_t_comp_by_data( ms_result-t_layout ).
|
||||||
|
|
||||||
|
DATA(list) = tab->column_list_item( valign = `Top` ).
|
||||||
|
DATA(cells) = list->cells( ).
|
||||||
|
|
||||||
|
DATA(columns) = tab->columns( ).
|
||||||
|
LOOP AT lt_comp INTO DATA(ls_comp2).
|
||||||
|
DATA(col) = columns->column( width = '8rem' )->header( ns = `` ).
|
||||||
|
col->text( text = ls_comp2-name ).
|
||||||
|
ENDLOOP.
|
||||||
|
|
||||||
|
LOOP AT lt_comp INTO DATA(ls_comp).
|
||||||
|
IF ls_comp-name = 'NAME'.
|
||||||
|
cells->text( `{` && ls_comp-name && `}` ).
|
||||||
|
ELSE.
|
||||||
|
cells->checkbox( `{` && ls_comp-name && `}` ).
|
||||||
|
ENDIF.
|
||||||
|
ENDLOOP.
|
||||||
|
|
||||||
|
popup->get_parent(
|
||||||
|
)->footer( )->overflow_toolbar(
|
||||||
|
)->toolbar_spacer(
|
||||||
|
)->button(
|
||||||
|
text = 'OK'
|
||||||
|
press = client->_event( 'BUTTON_CONFIRM' )
|
||||||
|
type = 'Emphasized' ).
|
||||||
|
|
||||||
|
client->popup_display( popup->stringify( ) ).
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD factory.
|
||||||
|
|
||||||
|
r_result = NEW #( ).
|
||||||
|
|
||||||
|
IF t_layout IS INITIAL.
|
||||||
|
|
||||||
|
DATA(lt_comp) = z2ui5_cl_util_func=>rtti_get_t_comp_by_data( i_tab ).
|
||||||
|
LOOP AT lt_comp REFERENCE INTO DATA(lr_comp).
|
||||||
|
INSERT VALUE #( name = lr_comp->name visible = abap_true mergeduplicates = abap_false ) INTO TABLE r_result->ms_result-t_layout.
|
||||||
|
ENDLOOP.
|
||||||
|
|
||||||
|
ELSE.
|
||||||
|
r_result->ms_result-t_layout = t_layout.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD on_event.
|
||||||
|
|
||||||
|
CASE client->get( )-event.
|
||||||
|
|
||||||
|
WHEN 'BUTTON_CONFIRM'.
|
||||||
|
|
||||||
|
ms_result-check_confirmed = abap_true.
|
||||||
|
on_event_confirm( ).
|
||||||
|
|
||||||
|
WHEN 'CANCEL'.
|
||||||
|
client->popup_destroy( ).
|
||||||
|
client->nav_app_leave( client->get_app( client->get( )-s_draft-id_prev_app_stack ) ).
|
||||||
|
|
||||||
|
ENDCASE.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD on_event_confirm.
|
||||||
|
|
||||||
|
client->popup_destroy( ).
|
||||||
|
client->nav_app_leave( client->get_app( client->get( )-s_draft-id_prev_app_stack ) ).
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD result.
|
||||||
|
|
||||||
|
result = ms_result.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD z2ui5_if_app~main.
|
||||||
|
|
||||||
|
me->client = client.
|
||||||
|
|
||||||
|
IF check_initialized = abap_false.
|
||||||
|
check_initialized = abap_true.
|
||||||
|
display( ).
|
||||||
|
RETURN.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
on_event( ).
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
ENDCLASS.
|
16
src/03/01/z2ui5_cl_popup_layout.clas.xml
Normal file
16
src/03/01/z2ui5_cl_popup_layout.clas.xml
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||||
|
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||||
|
<asx:values>
|
||||||
|
<VSEOCLASS>
|
||||||
|
<CLSNAME>Z2UI5_CL_POPUP_LAYOUT</CLSNAME>
|
||||||
|
<LANGU>E</LANGU>
|
||||||
|
<DESCRIPT>ui - popup layout</DESCRIPT>
|
||||||
|
<STATE>1</STATE>
|
||||||
|
<CLSCCINCL>X</CLSCCINCL>
|
||||||
|
<FIXPT>X</FIXPT>
|
||||||
|
<UNICODE>X</UNICODE>
|
||||||
|
</VSEOCLASS>
|
||||||
|
</asx:values>
|
||||||
|
</asx:abap>
|
||||||
|
</abapGit>
|
|
@ -19,7 +19,7 @@ CLASS z2ui5_cl_popup_pdf DEFINITION
|
||||||
TYPES:
|
TYPES:
|
||||||
BEGIN OF ty_s_result,
|
BEGIN OF ty_s_result,
|
||||||
text TYPE string,
|
text TYPE string,
|
||||||
check_cancel 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.
|
||||||
|
|
||||||
|
|
151
src/03/01/z2ui5_cl_popup_table.clas.abap
Normal file
151
src/03/01/z2ui5_cl_popup_table.clas.abap
Normal file
|
@ -0,0 +1,151 @@
|
||||||
|
CLASS z2ui5_cl_popup_table DEFINITION
|
||||||
|
PUBLIC
|
||||||
|
FINAL
|
||||||
|
CREATE PROTECTED.
|
||||||
|
|
||||||
|
PUBLIC SECTION.
|
||||||
|
INTERFACES z2ui5_if_app.
|
||||||
|
|
||||||
|
CLASS-METHODS factory
|
||||||
|
IMPORTING
|
||||||
|
i_tab TYPE STANDARD TABLE
|
||||||
|
RETURNING
|
||||||
|
VALUE(r_result) TYPE REF TO z2ui5_cl_popup_table.
|
||||||
|
|
||||||
|
TYPES:
|
||||||
|
BEGIN OF ty_s_result,
|
||||||
|
row TYPE REF TO data,
|
||||||
|
check_confirmed TYPE abap_bool,
|
||||||
|
END OF ty_s_result.
|
||||||
|
DATA ms_result TYPE ty_s_result.
|
||||||
|
|
||||||
|
METHODS result
|
||||||
|
RETURNING
|
||||||
|
VALUE(result) TYPE ty_s_result.
|
||||||
|
|
||||||
|
DATA mr_tab TYPE REF TO data.
|
||||||
|
|
||||||
|
PROTECTED SECTION.
|
||||||
|
DATA check_initialized TYPE abap_bool.
|
||||||
|
DATA client TYPE REF TO z2ui5_if_client.
|
||||||
|
METHODS on_event.
|
||||||
|
METHODS display.
|
||||||
|
METHODS on_event_confirm.
|
||||||
|
|
||||||
|
PRIVATE SECTION.
|
||||||
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
CLASS z2ui5_cl_popup_table IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD display.
|
||||||
|
|
||||||
|
FIELD-SYMBOLS <tab_out> TYPE STANDARD TABLE.
|
||||||
|
ASSIGN mr_tab->* TO <tab_out>.
|
||||||
|
|
||||||
|
DATA(popup) = z2ui5_cl_xml_view=>factory_popup( client )->dialog(
|
||||||
|
afterclose = client->_event( 'BUTTON_CONFIRM' )
|
||||||
|
stretch = abap_true
|
||||||
|
title = 'Table View'
|
||||||
|
* icon = 'sap-icon://edit'
|
||||||
|
)->content( ).
|
||||||
|
|
||||||
|
DATA(tab) = popup->table(
|
||||||
|
items = client->_bind( <tab_out> ) ).
|
||||||
|
* )->header_toolbar(
|
||||||
|
* )->overflow_toolbar(
|
||||||
|
* )->toolbar_spacer(
|
||||||
|
* )->button( text = `Filter` press = client->_event( `PREVIEW_FILTER` ) icon = `sap-icon://filter`
|
||||||
|
* )->button( text = `Display Popup` press = client->_event( `BUTTON_START` ) type = `Emphasized`
|
||||||
|
* )->get_parent( )->get_parent( ).
|
||||||
|
|
||||||
|
DATA(lt_comp) = z2ui5_cl_util_func=>rtti_get_t_comp_by_data( <tab_out> ).
|
||||||
|
|
||||||
|
DATA(list) = tab->column_list_item( valign = `Top` ).
|
||||||
|
DATA(cells) = list->cells( ).
|
||||||
|
|
||||||
|
LOOP AT lt_comp INTO DATA(ls_comp).
|
||||||
|
cells->text( text = `{` && ls_comp-name && `}` ).
|
||||||
|
ENDLOOP.
|
||||||
|
|
||||||
|
DATA(columns) = tab->columns( ).
|
||||||
|
LOOP AT lt_comp INTO ls_comp.
|
||||||
|
columns->column( width = '8rem' )->header( ns = `` )->text( text = ls_comp-name ).
|
||||||
|
ENDLOOP.
|
||||||
|
|
||||||
|
popup->get_parent(
|
||||||
|
)->footer( )->overflow_toolbar(
|
||||||
|
)->toolbar_spacer(
|
||||||
|
* )->button(
|
||||||
|
* text = 'Cancel'
|
||||||
|
* press = client->_event( 'BUTTON_TEXTAREA_CANCEL' )
|
||||||
|
)->button(
|
||||||
|
text = 'OK'
|
||||||
|
press = client->_event( 'BUTTON_CONFIRM' )
|
||||||
|
type = 'Emphasized' ).
|
||||||
|
|
||||||
|
client->popup_display( popup->stringify( ) ).
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD factory.
|
||||||
|
|
||||||
|
r_result = NEW #( ).
|
||||||
|
CREATE DATA r_result->mr_tab LIKE i_tab.
|
||||||
|
CREATE DATA r_result->ms_result-row LIKE LINE OF i_tab.
|
||||||
|
FIELD-SYMBOLS <tab> TYPE any.
|
||||||
|
ASSIGN r_result->mr_tab->* TO <tab>.
|
||||||
|
<tab> = i_tab.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD on_event.
|
||||||
|
|
||||||
|
CASE client->get( )-event.
|
||||||
|
|
||||||
|
WHEN 'BUTTON_CONFIRM'.
|
||||||
|
ms_result-check_confirmed = abap_true.
|
||||||
|
on_event_confirm( ).
|
||||||
|
|
||||||
|
WHEN 'CANCEL'.
|
||||||
|
client->popup_destroy( ).
|
||||||
|
client->nav_app_leave( client->get_app( client->get( )-s_draft-id_prev_app_stack ) ).
|
||||||
|
|
||||||
|
|
||||||
|
ENDCASE.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD on_event_confirm.
|
||||||
|
|
||||||
|
client->popup_destroy( ).
|
||||||
|
client->nav_app_leave( client->get_app( client->get( )-s_draft-id_prev_app_stack ) ).
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD result.
|
||||||
|
|
||||||
|
result = ms_result.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD z2ui5_if_app~main.
|
||||||
|
|
||||||
|
me->client = client.
|
||||||
|
|
||||||
|
IF check_initialized = abap_false.
|
||||||
|
check_initialized = abap_true.
|
||||||
|
display( ).
|
||||||
|
RETURN.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
on_event( ).
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
ENDCLASS.
|
16
src/03/01/z2ui5_cl_popup_table.clas.xml
Normal file
16
src/03/01/z2ui5_cl_popup_table.clas.xml
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||||
|
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||||
|
<asx:values>
|
||||||
|
<VSEOCLASS>
|
||||||
|
<CLSNAME>Z2UI5_CL_POPUP_TABLE</CLSNAME>
|
||||||
|
<LANGU>E</LANGU>
|
||||||
|
<DESCRIPT>ui - popup table</DESCRIPT>
|
||||||
|
<STATE>1</STATE>
|
||||||
|
<CLSCCINCL>X</CLSCCINCL>
|
||||||
|
<FIXPT>X</FIXPT>
|
||||||
|
<UNICODE>X</UNICODE>
|
||||||
|
</VSEOCLASS>
|
||||||
|
</asx:values>
|
||||||
|
</asx:abap>
|
||||||
|
</abapGit>
|
|
@ -20,7 +20,7 @@ CLASS z2ui5_cl_popup_textedit DEFINITION
|
||||||
TYPES:
|
TYPES:
|
||||||
BEGIN OF ty_s_result,
|
BEGIN OF ty_s_result,
|
||||||
text TYPE string,
|
text TYPE string,
|
||||||
check_cancel 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.
|
||||||
|
|
||||||
|
@ -87,11 +87,11 @@ CLASS z2ui5_cl_popup_textedit IMPLEMENTATION.
|
||||||
|
|
||||||
CASE client->get( )-event.
|
CASE client->get( )-event.
|
||||||
WHEN `BUTTON_TEXTAREA_CONFIRM`.
|
WHEN `BUTTON_TEXTAREA_CONFIRM`.
|
||||||
|
ms_result-check_confirmed = abap_true.
|
||||||
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 ) ).
|
||||||
|
|
||||||
WHEN `BUTTON_TEXTAREA_CANCEL`.
|
WHEN `BUTTON_TEXTAREA_CANCEL`.
|
||||||
ms_result-check_cancel = abap_true.
|
|
||||||
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 ) ).
|
||||||
|
|
||||||
|
|
|
@ -50,6 +50,7 @@ CLASS Z2UI5_CL_POPUP_TO_CONFIRM IMPLEMENTATION.
|
||||||
METHOD factory.
|
METHOD factory.
|
||||||
|
|
||||||
r_result = new #( ).
|
r_result = new #( ).
|
||||||
|
* r_result->z2ui5_if_app~id = z2ui5_cl_util_func=>func_get_uuid_22( ).
|
||||||
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.
|
||||||
|
|
|
@ -8,14 +8,14 @@ CLASS z2ui5_cl_popup_to_select DEFINITION
|
||||||
|
|
||||||
CLASS-METHODS factory
|
CLASS-METHODS factory
|
||||||
IMPORTING
|
IMPORTING
|
||||||
i_tab TYPE data
|
i_tab TYPE STANDARD TABLE
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(r_result) TYPE REF TO z2ui5_cl_popup_to_select.
|
VALUE(r_result) TYPE REF TO z2ui5_cl_popup_to_select.
|
||||||
|
|
||||||
TYPES:
|
TYPES:
|
||||||
BEGIN OF ty_s_result,
|
BEGIN OF ty_s_result,
|
||||||
index TYPE i,
|
row TYPE REF TO data,
|
||||||
check_cancel 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.
|
||||||
|
|
||||||
|
@ -29,6 +29,7 @@ CLASS z2ui5_cl_popup_to_select DEFINITION
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
DATA check_initialized TYPE abap_bool.
|
DATA check_initialized 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.
|
||||||
METHODS on_event.
|
METHODS on_event.
|
||||||
METHODS display.
|
METHODS display.
|
||||||
|
@ -37,7 +38,6 @@ CLASS z2ui5_cl_popup_to_select DEFINITION
|
||||||
METHODS on_event_search.
|
METHODS on_event_search.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
DATA lv_check_table_line TYPE abap_bool.
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
@ -48,6 +48,7 @@ CLASS z2ui5_cl_popup_to_select IMPLEMENTATION.
|
||||||
|
|
||||||
r_result = NEW #( ).
|
r_result = NEW #( ).
|
||||||
CREATE DATA r_result->mr_tab LIKE i_tab.
|
CREATE DATA r_result->mr_tab LIKE i_tab.
|
||||||
|
CREATE DATA r_result->ms_result-row LIKE LINE OF i_tab.
|
||||||
FIELD-SYMBOLS <tab> TYPE any.
|
FIELD-SYMBOLS <tab> TYPE any.
|
||||||
ASSIGN r_result->mr_tab->* TO <tab>.
|
ASSIGN r_result->mr_tab->* TO <tab>.
|
||||||
<tab> = i_tab.
|
<tab> = i_tab.
|
||||||
|
@ -108,10 +109,10 @@ CLASS z2ui5_cl_popup_to_select IMPLEMENTATION.
|
||||||
CASE client->get( )-event.
|
CASE client->get( )-event.
|
||||||
|
|
||||||
WHEN 'CONFIRM'.
|
WHEN 'CONFIRM'.
|
||||||
|
ms_result-check_confirmed = abap_true.
|
||||||
on_event_confirm( ).
|
on_event_confirm( ).
|
||||||
|
|
||||||
WHEN 'CANCEL'.
|
WHEN 'CANCEL'.
|
||||||
ms_result-check_cancel = abap_true.
|
|
||||||
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 ) ).
|
||||||
|
|
||||||
|
@ -142,7 +143,7 @@ CLASS z2ui5_cl_popup_to_select IMPLEMENTATION.
|
||||||
DATA(lo_struct) = CAST cl_abap_structdescr( lo_table->get_table_line_type( ) ).
|
DATA(lo_struct) = CAST cl_abap_structdescr( lo_table->get_table_line_type( ) ).
|
||||||
DATA(lt_comp) = lo_struct->get_components( ).
|
DATA(lt_comp) = lo_struct->get_components( ).
|
||||||
CATCH cx_root.
|
CATCH cx_root.
|
||||||
lv_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.
|
||||||
|
@ -164,7 +165,7 @@ CLASS z2ui5_cl_popup_to_select IMPLEMENTATION.
|
||||||
DATA lr_row TYPE REF TO data.
|
DATA lr_row TYPE REF TO data.
|
||||||
CREATE DATA lr_row LIKE LINE OF <tab_out>.
|
CREATE DATA lr_row LIKE LINE OF <tab_out>.
|
||||||
ASSIGN lr_row->* TO <row2>.
|
ASSIGN lr_row->* TO <row2>.
|
||||||
IF lv_check_table_line = abap_true.
|
IF check_table_line = abap_true.
|
||||||
ASSIGN lr_row->('TAB_LINE') TO <field>.
|
ASSIGN lr_row->('TAB_LINE') TO <field>.
|
||||||
<field> = <row>.
|
<field> = <row>.
|
||||||
ELSE.
|
ELSE.
|
||||||
|
@ -182,17 +183,30 @@ CLASS z2ui5_cl_popup_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> TYPE any.
|
FIELD-SYMBOLS <row_selected> TYPE any.
|
||||||
FIELD-SYMBOLS <field> TYPE any.
|
FIELD-SYMBOLS <selkz> TYPE any.
|
||||||
ASSIGN mr_tab_popup->* TO <tab>.
|
ASSIGN mr_tab_popup->* TO <tab>.
|
||||||
LOOP AT <tab> ASSIGNING <row>.
|
|
||||||
DATA(lv_tabix) = sy-tabix.
|
LOOP AT <tab> ASSIGNING <row_selected>.
|
||||||
ASSIGN ('<row>-ZZSELKZ') TO <field>.
|
|
||||||
IF <field> = abap_true.
|
ASSIGN ('<ROW_SELECTED>-ZZSELKZ') TO <selkz>.
|
||||||
ms_result-index = lv_tabix.
|
IF <selkz> = abap_false.
|
||||||
EXIT.
|
CONTINUE.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
|
FIELD-SYMBOLS <row_result> TYPE any.
|
||||||
|
ASSIGN ms_result-row->* TO <row_result>.
|
||||||
|
|
||||||
|
IF check_table_line = abap_true.
|
||||||
|
FIELD-SYMBOLS <table_line_selected> TYPE any.
|
||||||
|
ASSIGN ('<ROW_SELECTED>-TAB_LINE') TO <table_line_selected>.
|
||||||
|
<row_result> = <table_line_selected>.
|
||||||
|
ELSE.
|
||||||
|
<row_result> = CORRESPONDING #( <row_selected> ).
|
||||||
|
ENDIF.
|
||||||
|
EXIT.
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
|
||||||
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 ) ).
|
||||||
|
|
||||||
|
|
|
@ -264,6 +264,7 @@ public section.
|
||||||
importing
|
importing
|
||||||
!UNIT type CLIKE optional
|
!UNIT type CLIKE optional
|
||||||
!FOOTERCOLOR type CLIKE optional
|
!FOOTERCOLOR type CLIKE optional
|
||||||
|
!blocked type CLIKE optional
|
||||||
!FRAMETYPE type CLIKE optional
|
!FRAMETYPE type CLIKE optional
|
||||||
!PRIORITY type CLIKE optional
|
!PRIORITY type CLIKE optional
|
||||||
!PRIORITYTEXT type CLIKE optional
|
!PRIORITYTEXT type CLIKE optional
|
||||||
|
@ -6757,6 +6758,7 @@ ENDMETHOD.
|
||||||
t_prop = VALUE #(
|
t_prop = VALUE #(
|
||||||
( n = `unit` v = unit )
|
( n = `unit` v = unit )
|
||||||
( n = `footerColor` v = footerColor )
|
( n = `footerColor` v = footerColor )
|
||||||
|
( n = `blocked` v = z2ui5_cl_util_func=>boolean_abap_2_json( blocked ) )
|
||||||
( n = `frameType` v = frameType )
|
( n = `frameType` v = frameType )
|
||||||
( n = `priority` v = priority )
|
( n = `priority` v = priority )
|
||||||
( n = `priorityText` v = priorityText )
|
( n = `priorityText` v = priorityText )
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
INTERFACE z2ui5_if_app PUBLIC.
|
INTERFACE z2ui5_if_app PUBLIC.
|
||||||
INTERFACES if_serializable_object.
|
INTERFACES if_serializable_object.
|
||||||
|
|
||||||
DATA id TYPE string.
|
DATA id_draft TYPE string.
|
||||||
|
DATA id_app TYPE string.
|
||||||
|
|
||||||
METHODS main
|
METHODS main
|
||||||
IMPORTING
|
IMPORTING
|
||||||
|
|
Loading…
Reference in New Issue
Block a user