diff --git a/.github/abaplint/abap_cloud.jsonc b/.github/abaplint/abap_cloud.jsonc
index 97ed46d..ec9b92a 100644
--- a/.github/abaplint/abap_cloud.jsonc
+++ b/.github/abaplint/abap_cloud.jsonc
@@ -3,11 +3,11 @@
"files": "/../../src/**/*.*"
},
"dependencies": [
- {
- "url": "https://github.com/abapedia/steampunk-2305-api-intersect-702",
- "folder": "/deps",
- "files": "/src/**/*.*"
- },
+ {
+ "url": "https://github.com/abapedia/steampunk-2305-api",
+ "folder": "/deps",
+ "files": "/src/**/*.*"
+ },
{
"url": "https://github.com/abap2UI5/abap2UI5",
"folder": "/abap2UI5",
diff --git a/src/01/z2ui5_cl_layo_sample_03.clas.xml b/src/01/z2ui5_cl_layo_sample_03.clas.xml
index 4e2d9b6..540bb62 100644
--- a/src/01/z2ui5_cl_layo_sample_03.clas.xml
+++ b/src/01/z2ui5_cl_layo_sample_03.clas.xml
@@ -9,7 +9,7 @@
1
X
X
- X
+ 5
diff --git a/src/01/z2ui5_cl_layo_sample_03a.clas.xml b/src/01/z2ui5_cl_layo_sample_03a.clas.xml
index 6183fa6..117f499 100644
--- a/src/01/z2ui5_cl_layo_sample_03a.clas.xml
+++ b/src/01/z2ui5_cl_layo_sample_03a.clas.xml
@@ -9,7 +9,7 @@
1
X
X
- X
+ 5
diff --git a/src/01/z2ui5_cl_layo_sample_04.clas.abap b/src/01/z2ui5_cl_layo_sample_04.clas.abap
index 83b3982..e982833 100644
--- a/src/01/z2ui5_cl_layo_sample_04.clas.abap
+++ b/src/01/z2ui5_cl_layo_sample_04.clas.abap
@@ -5,11 +5,11 @@ CLASS z2ui5_cl_layo_sample_04 DEFINITION
PUBLIC SECTION.
INTERFACES z2ui5_if_app.
- DATA ms_data TYPE Z2UI5_T_11.
+ DATA ms_data TYPE z2ui5_t_11.
DATA mo_layout TYPE REF TO z2ui5_cl_layo_manager.
PROTECTED SECTION.
- DATA client TYPE REF TO z2ui5_if_client.
+ DATA client TYPE REF TO z2ui5_if_client.
METHODS on_init.
METHODS on_event.
@@ -33,19 +33,20 @@ CLASS z2ui5_cl_layo_sample_04 IMPLEMENTATION.
client->nav_app_leave( ).
WHEN OTHERS.
+
z2ui5_cl_layo_pop=>on_event_layout( client = client
layout = mo_layout ).
ENDCASE.
-
ENDMETHOD.
METHOD on_init.
get_data( ).
+
init_layout( ).
- render_main( ).
+ render_main( ).
ENDMETHOD.
METHOD render_main.
@@ -60,8 +61,7 @@ CLASS z2ui5_cl_layo_sample_04 IMPLEMENTATION.
z2ui5_cl_layo_xml_builder=>xml_build_simple_form( i_data = REF #( ms_data )
i_xml = page
i_client = client
- i_layout = mo_layout
- ).
+ i_layout = mo_layout ).
client->view_display( view->stringify( ) ).
@@ -76,7 +76,7 @@ CLASS z2ui5_cl_layo_sample_04 IMPLEMENTATION.
on_event( ).
- IF client->check_on_navigated( ).
+ IF client->get( )-check_on_navigated = abap_true.
on_after_navigation( ).
ENDIF.
@@ -84,7 +84,7 @@ CLASS z2ui5_cl_layo_sample_04 IMPLEMENTATION.
METHOD get_data.
- SELECT SINGLE * FROM Z2UI5_T_11 INTO @ms_data.
+ SELECT SINGLE * FROM z2ui5_t_11 INTO @ms_data.
ENDMETHOD.
@@ -95,6 +95,7 @@ CLASS z2ui5_cl_layo_sample_04 IMPLEMENTATION.
ENDIF.
DATA(class) = z2ui5_cL_util=>rtti_get_classname_by_ref( me ).
+
mo_layout = z2ui5_cl_layo_manager=>factory( control = z2ui5_cl_layo_manager=>ui_simpleform
data = REF #( ms_data )
handle01 = class
diff --git a/src/02/package.devc.xml b/src/02/package.devc.xml
new file mode 100644
index 0000000..0bb968a
--- /dev/null
+++ b/src/02/package.devc.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ variant managment
+
+
+
+
diff --git a/src/03/z2ui5_cl_layo_manager.clas.abap b/src/03/z2ui5_cl_layo_manager.clas.abap
index 1f52be5..b6fec18 100644
--- a/src/03/z2ui5_cl_layo_manager.clas.abap
+++ b/src/03/z2ui5_cl_layo_manager.clas.abap
@@ -33,12 +33,12 @@ CLASS z2ui5_cl_layo_manager DEFINITION
TYPES ty_t_sub_columns TYPE STANDARD TABLE OF ty_s_sub_columns WITH EMPTY KEY.
TYPES BEGIN OF ty_s_positions.
- INCLUDE TYPE z2ui5_t_12.
- TYPES: tlabel TYPE string,
- t_sub_col TYPE ty_t_sub_columns,
- show_no_zeros TYPE abap_bool,
- grid_layout TYPE string,
- grid_layout_label TYPE string,
+ INCLUDE TYPE z2ui5_t_12.
+ TYPES: tlabel TYPE string,
+ t_sub_col TYPE ty_t_sub_columns,
+ show_no_zeros TYPE abap_bool,
+ grid_layout TYPE string,
+ grid_layout_label TYPE string,
END OF ty_s_positions.
TYPES ty_t_positions TYPE STANDARD TABLE OF ty_s_positions WITH EMPTY KEY.
@@ -52,7 +52,8 @@ CLASS z2ui5_cl_layo_manager DEFINITION
DATA ms_layout_tmp TYPE ty_s_layout.
DATA mt_comps TYPE ty_t_positions.
DATA mt_sub_cols TYPE ty_t_sub_columns.
- DATA mr_data TYPE REF TO data.
+ DATA mr_data TYPE REF TO data.
+ DATA mr_data_tmp TYPE REF TO data.
CLASS-METHODS factory
IMPORTING
@@ -124,7 +125,6 @@ CLASS z2ui5_cl_layo_manager DEFINITION
METHODS sort.
PRIVATE SECTION.
-
CLASS-METHODS create_layout_obj
IMPORTING
layout_guid TYPE clike OPTIONAL
@@ -168,6 +168,15 @@ CLASS z2ui5_cl_layo_manager DEFINITION
RETURNING
VALUE(result) TYPE ty_s_positions.
+ CLASS-METHODS create_ref_of_data
+ IMPORTING
+ i_data TYPE REF TO data
+ i_comp TYPE cl_abap_structdescr=>component_table
+ !layout TYPE REF TO z2ui5_cl_layo_manager
+ RAISING
+ cx_sy_struct_creation
+ cx_sy_table_creation.
+
ENDCLASS.
@@ -214,8 +223,6 @@ CLASS z2ui5_cl_layo_manager IMPLEMENTATION.
handle03 = handle03
handle04 = handle04 ).
- result->mr_data = data.
-
ENDMETHOD.
METHOD select_layouts.
@@ -294,7 +301,7 @@ CLASS z2ui5_cl_layo_manager IMPLEMENTATION.
METHOD set_text.
IF layout-alternative_text IS INITIAL.
- result = z2ui5_cl_util=>rtti_get_data_element_texts( layout-rollname )-short.
+ result = z2ui5_cl_util=>rtti_get_data_element_texts( layout-rollname )-short.
ELSE.
result = z2ui5_cl_util=>rtti_get_data_element_texts( layout-alternative_text )-short.
ENDIF.
@@ -433,6 +440,12 @@ CLASS z2ui5_cl_layo_manager IMPLEMENTATION.
DATA(t_comp) = z2ui5_cl_util=>rtti_get_t_attri_by_any( data ).
+ IF control <> others AND control <> ui_simpleform.
+ create_ref_of_data( i_data = data
+ i_comp = t_comp
+ layout = result ).
+ ENDIF.
+
LOOP AT t_comp INTO DATA(comp).
IF comp-type->type_kind = cl_abap_elemdescr=>typekind_oref.
DELETE t_comp.
@@ -531,6 +544,21 @@ CLASS z2ui5_cl_layo_manager IMPLEMENTATION.
ENDMETHOD.
+ METHOD create_ref_of_data.
+
+ layout->mr_data = i_data.
+
+ DATA(new_struct_desc) = cl_abap_structdescr=>create( i_comp ).
+
+ DATA(new_table_desc) = cl_abap_tabledescr=>create( p_line_type = new_struct_desc
+
+ p_table_kind = cl_abap_tabledescr=>tablekind_std ).
+ CREATE DATA layout->mr_data_tmp TYPE HANDLE new_table_desc.
+
+ layout->mr_data_tmp->* = layout->mr_data->*.
+
+ ENDMETHOD.
+
METHOD check_zeros_option.
IF i_typekind = cl_abap_elemdescr=>typekind_num
@@ -546,7 +574,8 @@ CLASS z2ui5_cl_layo_manager IMPLEMENTATION.
result-fname = comp->name.
result-rollname = comp->type->get_relative_name( ).
- IF result-rollname IS INITIAL.
+
+ IF result-rollname IS INITIAL.
result-rollname = result-fname.
ENDIF.
@@ -635,10 +664,14 @@ CLASS z2ui5_cl_layo_manager IMPLEMENTATION.
TRY.
+* IF mr_data->* <> mr_data_tmp->*.
+
ASSIGN mr_data->* TO
.
SORT
BY (sortorder).
+
+* ENDIF.
CATCH cx_sy_dyn_table_ill_comp_val. "##NO_HANDLER
CATCH cx_root.
ENDTRY.
diff --git a/src/03/z2ui5_cl_layo_pop.clas.abap b/src/03/z2ui5_cl_layo_pop.clas.abap
index ae7d4b6..359ef37 100644
--- a/src/03/z2ui5_cl_layo_pop.clas.abap
+++ b/src/03/z2ui5_cl_layo_pop.clas.abap
@@ -13,7 +13,7 @@ CLASS z2ui5_cl_layo_pop DEFINITION
TYPES ty_t_sorting TYPE STANDARD TABLE OF ty_s_sorting WITH EMPTY KEY.
TYPES BEGIN OF ty_s_layo.
- INCLUDE TYPE z2ui5_t_11.
+ INCLUDE TYPE z2ui5_t_11.
TYPES selkz TYPE abap_bool.
TYPES active TYPE c length 1.
TYPES END OF ty_s_layo.
@@ -1133,23 +1133,22 @@ CLASS z2ui5_cl_layo_pop IMPLEMENTATION.
METHOD check_grid_sum.
IF ( value ) > 12.
- DATA(ls_msg) = z2ui5_cl_util=>msg_get_by_msg(
+ DATA(msg) = z2ui5_cl_util=>msg_get_by_msg(
id = '/scmtms/common'
no = '154'
v1 = '12'
).
- " MESSAGE e154(/scmtms/common) WITH '12' INTO msg.
result = abap_true.
ENDIF.
- client->message_toast_display( ls_msg-text ).
+ client->message_toast_display( msg-text ).
ENDMETHOD.
METHOD render_add_gridlayout.
TYPES: BEGIN OF ty_s_col,
- col TYPE c LENGTH 2,
+ col TYPE c length 2,
END OF ty_s_col.
DATA t_col TYPE STANDARD TABLE OF ty_s_col.
diff --git a/src/03/z2ui5_cl_layo_xml_builder.clas.abap b/src/03/z2ui5_cl_layo_xml_builder.clas.abap
index 5728b74..9faab9e 100644
--- a/src/03/z2ui5_cl_layo_xml_builder.clas.abap
+++ b/src/03/z2ui5_cl_layo_xml_builder.clas.abap
@@ -26,6 +26,10 @@ CLASS z2ui5_cl_layo_xml_builder DEFINITION
i_title TYPE string OPTIONAL.
PROTECTED SECTION.
+
+
+
+
PRIVATE SECTION.
TYPES: BEGIN OF ty_s_grid_layout,
label TYPE string,
diff --git a/src/03/z2ui5_cl_layo_xml_builder.clas.xml b/src/03/z2ui5_cl_layo_xml_builder.clas.xml
index d05e6dd..6d89dfb 100644
--- a/src/03/z2ui5_cl_layo_xml_builder.clas.xml
+++ b/src/03/z2ui5_cl_layo_xml_builder.clas.xml
@@ -9,7 +9,7 @@
1
X
X
- X
+ 5