Skip to content

Commit d66ffe9

Browse files
authored
update package structure (#3)
* update * update
1 parent 3f014a9 commit d66ffe9

18 files changed

+693
-8
lines changed
Lines changed: 160 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,160 @@
1+
CLASS z2ui5_cl_sample_variant_01 DEFINITION PUBLIC.
2+
3+
PUBLIC SECTION.
4+
5+
INTERFACES z2ui5_if_app.
6+
7+
TYPES:
8+
BEGIN OF ty_s_tab,
9+
selkz TYPE abap_bool,
10+
product TYPE string,
11+
create_date TYPE string,
12+
create_by TYPE string,
13+
storage_location TYPE string,
14+
quantity TYPE i,
15+
END OF ty_s_tab.
16+
TYPES ty_t_table TYPE STANDARD TABLE OF ty_s_tab WITH EMPTY KEY.
17+
18+
DATA mt_table TYPE ty_t_table.
19+
DATA mt_filter TYPE z2ui5_cl_util=>ty_t_filter_multi.
20+
21+
PROTECTED SECTION.
22+
DATA client TYPE REF TO z2ui5_if_client.
23+
DATA mv_check_initialized TYPE abap_bool.
24+
METHODS on_event.
25+
METHODS view_display.
26+
METHODS set_data.
27+
28+
PRIVATE SECTION.
29+
DATA: mo_multiselect TYPE REF TO z2ui5add_cl_var_selscreen.
30+
ENDCLASS.
31+
32+
33+
34+
CLASS z2ui5_cl_sample_variant_01 IMPLEMENTATION.
35+
36+
37+
METHOD on_event.
38+
39+
CASE client->get( )-event.
40+
41+
WHEN 'LIST_OPEN'.
42+
mo_multiselect = z2ui5add_cl_var_selscreen=>factory( mt_filter ).
43+
mo_multiselect->on_event( client ).
44+
RETURN.
45+
46+
WHEN `BUTTON_START`.
47+
set_data( ).
48+
client->view_model_update( ).
49+
50+
WHEN `PREVIEW_FILTER`.
51+
client->nav_app_call( z2ui5_cl_pop_get_range_m=>factory( mt_filter ) ).
52+
53+
WHEN 'BACK'.
54+
client->nav_app_leave( client->get_app( client->get( )-s_draft-id_prev_app_stack ) ).
55+
ENDCASE.
56+
57+
ENDMETHOD.
58+
59+
60+
METHOD set_data.
61+
62+
mt_table = VALUE #(
63+
( product = 'table' create_date = `01.01.2023` create_by = `Peter` storage_location = `AREA_001` quantity = 400 )
64+
( product = 'chair' create_date = `01.01.2023` create_by = `Peter` storage_location = `AREA_001` quantity = 400 )
65+
( product = 'sofa' create_date = `01.01.2023` create_by = `Peter` storage_location = `AREA_001` quantity = 400 )
66+
( product = 'computer' create_date = `01.01.2023` create_by = `Peter` storage_location = `AREA_001` quantity = 400 )
67+
( product = 'oven' create_date = `01.01.2023` create_by = `Peter` storage_location = `AREA_001` quantity = 400 )
68+
( product = 'table2' create_date = `01.01.2023` create_by = `Peter` storage_location = `AREA_001` quantity = 400 )
69+
).
70+
71+
z2ui5_cl_util=>filter_itab(
72+
EXPORTING
73+
filter = mt_filter
74+
CHANGING
75+
val = mt_table
76+
).
77+
78+
ENDMETHOD.
79+
80+
81+
METHOD view_display.
82+
83+
DATA(view) = z2ui5_cl_xml_view=>factory( ).
84+
85+
view = view->shell( )->page( id = `page_main`
86+
title = 'abap2UI5 - Select-Options'
87+
navbuttonpress = client->_event( 'BACK' )
88+
shownavbutton = xsdbool( client->get( )-s_draft-id_prev_app_stack IS NOT INITIAL )
89+
).
90+
91+
DATA(vbox) = view->vbox( ).
92+
93+
DATA(lo_multiselect) = z2ui5add_cl_var_selscreen=>factory( mt_filter ).
94+
95+
lo_multiselect->set_output2(
96+
t_filter = mt_filter
97+
client2 = client
98+
view = vbox
99+
).
100+
101+
DATA(tab) = vbox->table(
102+
items = client->_bind( val = mt_table )
103+
)->header_toolbar(
104+
)->overflow_toolbar(
105+
)->toolbar_spacer(
106+
* )->button( text = `Filter` press = client->_event( `PREVIEW_FILTER` ) icon = `sap-icon://filter`
107+
)->button( text = `Go` press = client->_event( `BUTTON_START` ) type = `Emphasized`
108+
)->get_parent( )->get_parent( ).
109+
110+
DATA(lo_columns) = tab->columns( ).
111+
lo_columns->column( )->text( text = `Product` ).
112+
lo_columns->column( )->text( text = `Date` ).
113+
lo_columns->column( )->text( text = `Name` ).
114+
lo_columns->column( )->text( text = `Location` ).
115+
lo_columns->column( )->text( text = `Quantity` ).
116+
117+
DATA(lo_cells) = tab->items( )->column_list_item( ).
118+
lo_cells->text( `{PRODUCT}` ).
119+
lo_cells->text( `{CREATE_DATE}` ).
120+
lo_cells->text( `{CREATE_BY}` ).
121+
lo_cells->text( `{STORAGE_LOCATION}` ).
122+
lo_cells->text( `{QUANTITY}` ).
123+
124+
client->view_display( view->stringify( ) ).
125+
126+
ENDMETHOD.
127+
128+
129+
METHOD z2ui5_if_app~main.
130+
131+
me->client = client.
132+
133+
IF mv_check_initialized = abap_false.
134+
mv_check_initialized = abap_true.
135+
mt_filter = z2ui5_cl_util=>filter_get_multi_by_data( mt_table ).
136+
DELETE mt_filter WHERE name = `SELKZ`.
137+
view_display( ).
138+
RETURN.
139+
ENDIF.
140+
141+
IF client->get( )-check_on_navigated = abap_true.
142+
TRY.
143+
DATA(lo_popup) = CAST z2ui5_cl_pop_get_range( client->get_app( client->get( )-s_draft-id_prev_app ) ).
144+
IF lo_popup->result( )-check_confirmed = abap_true.
145+
ASSIGN mt_filter[ name = mo_multiselect->mv_popup_name ] TO FIELD-SYMBOL(<tab>).
146+
<tab>-t_range = lo_popup->result( )-t_range.
147+
<tab>-t_token = z2ui5_cl_util=>filter_get_token_t_by_range_t( <tab>-t_range ).
148+
client->view_model_update( ).
149+
ENDIF.
150+
CATCH cx_root.
151+
ENDTRY.
152+
RETURN.
153+
ENDIF.
154+
155+
IF client->get( )-event IS NOT INITIAL.
156+
on_event( ).
157+
ENDIF.
158+
159+
ENDMETHOD.
160+
ENDCLASS.
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
3+
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
4+
<asx:values>
5+
<VSEOCLASS>
6+
<CLSNAME>Z2UI5_CL_SAMPLE_VARIANT_01</CLSNAME>
7+
<LANGU>E</LANGU>
8+
<DESCRIPT>popup - popop_get_range_multi without popup</DESCRIPT>
9+
<STATE>1</STATE>
10+
<CLSCCINCL>X</CLSCCINCL>
11+
<FIXPT>X</FIXPT>
12+
<UNICODE>X</UNICODE>
13+
</VSEOCLASS>
14+
</asx:values>
15+
</asx:abap>
16+
</abapGit>

src/02/package.devc.xml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<abapGit version="v1.0.0" serializer="LCL_OBJECT_DEVC" serializer_version="v1.0.0">
3+
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
4+
<asx:values>
5+
<DEVC>
6+
<CTEXT>variant managment</CTEXT>
7+
</DEVC>
8+
</asx:values>
9+
</asx:abap>
10+
</abapGit>

src/02/z2ui5_t_var_01.tabl.xml

Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<abapGit version="v1.0.0" serializer="LCL_OBJECT_TABL" serializer_version="v1.0.0">
3+
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
4+
<asx:values>
5+
<DD02V>
6+
<TABNAME>Z2UI5_T_VAR_01</TABNAME>
7+
<DDLANGUAGE>E</DDLANGUAGE>
8+
<TABCLASS>TRANSP</TABCLASS>
9+
<CLIDEP>X</CLIDEP>
10+
<DDTEXT>variants</DDTEXT>
11+
<MASTERLANG>E</MASTERLANG>
12+
<CONTFLAG>A</CONTFLAG>
13+
<EXCLASS>1</EXCLASS>
14+
</DD02V>
15+
<DD09L>
16+
<TABNAME>Z2UI5_T_VAR_01</TABNAME>
17+
<AS4LOCAL>A</AS4LOCAL>
18+
<TABKAT>0</TABKAT>
19+
<TABART>APPL0</TABART>
20+
<BUFALLOW>N</BUFALLOW>
21+
</DD09L>
22+
<DD03P_TABLE>
23+
<DD03P>
24+
<FIELDNAME>MANDT</FIELDNAME>
25+
<KEYFLAG>X</KEYFLAG>
26+
<ROLLNAME>MANDT</ROLLNAME>
27+
<ADMINFIELD>0</ADMINFIELD>
28+
<NOTNULL>X</NOTNULL>
29+
<COMPTYPE>E</COMPTYPE>
30+
</DD03P>
31+
<DD03P>
32+
<FIELDNAME>GUID</FIELDNAME>
33+
<KEYFLAG>X</KEYFLAG>
34+
<ADMINFIELD>0</ADMINFIELD>
35+
<INTTYPE>C</INTTYPE>
36+
<INTLEN>000064</INTLEN>
37+
<NOTNULL>X</NOTNULL>
38+
<DATATYPE>CHAR</DATATYPE>
39+
<LENG>000032</LENG>
40+
<MASK> CHAR</MASK>
41+
</DD03P>
42+
<DD03P>
43+
<FIELDNAME>LAYOUT</FIELDNAME>
44+
<ADMINFIELD>0</ADMINFIELD>
45+
<INTTYPE>C</INTTYPE>
46+
<INTLEN>000020</INTLEN>
47+
<DATATYPE>CHAR</DATATYPE>
48+
<LENG>000010</LENG>
49+
<MASK> CHAR</MASK>
50+
</DD03P>
51+
<DD03P>
52+
<FIELDNAME>CONTROL</FIELDNAME>
53+
<ADMINFIELD>0</ADMINFIELD>
54+
<INTTYPE>C</INTTYPE>
55+
<INTLEN>000020</INTLEN>
56+
<DATATYPE>CHAR</DATATYPE>
57+
<LENG>000010</LENG>
58+
<MASK> CHAR</MASK>
59+
</DD03P>
60+
<DD03P>
61+
<FIELDNAME>HANDLE01</FIELDNAME>
62+
<ADMINFIELD>0</ADMINFIELD>
63+
<INTTYPE>C</INTTYPE>
64+
<INTLEN>000080</INTLEN>
65+
<DATATYPE>CHAR</DATATYPE>
66+
<LENG>000040</LENG>
67+
<MASK> CHAR</MASK>
68+
</DD03P>
69+
<DD03P>
70+
<FIELDNAME>HANDLE02</FIELDNAME>
71+
<ADMINFIELD>0</ADMINFIELD>
72+
<INTTYPE>C</INTTYPE>
73+
<INTLEN>000080</INTLEN>
74+
<DATATYPE>CHAR</DATATYPE>
75+
<LENG>000040</LENG>
76+
<MASK> CHAR</MASK>
77+
</DD03P>
78+
<DD03P>
79+
<FIELDNAME>HANDLE03</FIELDNAME>
80+
<ADMINFIELD>0</ADMINFIELD>
81+
<INTTYPE>C</INTTYPE>
82+
<INTLEN>000080</INTLEN>
83+
<DATATYPE>CHAR</DATATYPE>
84+
<LENG>000040</LENG>
85+
<MASK> CHAR</MASK>
86+
</DD03P>
87+
<DD03P>
88+
<FIELDNAME>HANDLE04</FIELDNAME>
89+
<ADMINFIELD>0</ADMINFIELD>
90+
<INTTYPE>C</INTTYPE>
91+
<INTLEN>000080</INTLEN>
92+
<DATATYPE>CHAR</DATATYPE>
93+
<LENG>000040</LENG>
94+
<MASK> CHAR</MASK>
95+
</DD03P>
96+
<DD03P>
97+
<FIELDNAME>DESCR</FIELDNAME>
98+
<ADMINFIELD>0</ADMINFIELD>
99+
<INTTYPE>C</INTTYPE>
100+
<INTLEN>000100</INTLEN>
101+
<DATATYPE>CHAR</DATATYPE>
102+
<LENG>000050</LENG>
103+
<MASK> CHAR</MASK>
104+
</DD03P>
105+
<DD03P>
106+
<FIELDNAME>DEF</FIELDNAME>
107+
<ADMINFIELD>0</ADMINFIELD>
108+
<INTTYPE>C</INTTYPE>
109+
<INTLEN>000002</INTLEN>
110+
<DATATYPE>CHAR</DATATYPE>
111+
<LENG>000001</LENG>
112+
<MASK> CHAR</MASK>
113+
</DD03P>
114+
<DD03P>
115+
<FIELDNAME>UNAME</FIELDNAME>
116+
<ADMINFIELD>0</ADMINFIELD>
117+
<INTTYPE>C</INTTYPE>
118+
<INTLEN>000024</INTLEN>
119+
<DATATYPE>CHAR</DATATYPE>
120+
<LENG>000012</LENG>
121+
<MASK> CHAR</MASK>
122+
</DD03P>
123+
</DD03P_TABLE>
124+
</asx:values>
125+
</asx:abap>
126+
</abapGit>

0 commit comments

Comments
 (0)