Skip to content

Commit 4d0db94

Browse files
authored
update db (#9)
1 parent ebe38b1 commit 4d0db94

File tree

3 files changed

+272
-4
lines changed

3 files changed

+272
-4
lines changed

src/02/z2ui5_t_02.tabl.xml

Lines changed: 125 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,125 @@
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_02</TABNAME>
7+
<DDLANGUAGE>E</DDLANGUAGE>
8+
<TABCLASS>TRANSP</TABCLASS>
9+
<DDTEXT>abap toolkit - data storage</DDTEXT>
10+
<MASTERLANG>E</MASTERLANG>
11+
<CONTFLAG>A</CONTFLAG>
12+
<EXCLASS>1</EXCLASS>
13+
</DD02V>
14+
<DD09L>
15+
<TABNAME>Z2UI5_T_02</TABNAME>
16+
<AS4LOCAL>A</AS4LOCAL>
17+
<TABKAT>0</TABKAT>
18+
<TABART>APPL0</TABART>
19+
<BUFALLOW>N</BUFALLOW>
20+
</DD09L>
21+
<DD03P_TABLE>
22+
<DD03P>
23+
<FIELDNAME>MANDT</FIELDNAME>
24+
<KEYFLAG>X</KEYFLAG>
25+
<ADMINFIELD>0</ADMINFIELD>
26+
<INTTYPE>C</INTTYPE>
27+
<INTLEN>000006</INTLEN>
28+
<NOTNULL>X</NOTNULL>
29+
<DATATYPE>CHAR</DATATYPE>
30+
<LENG>000003</LENG>
31+
<MASK> CHAR</MASK>
32+
</DD03P>
33+
<DD03P>
34+
<FIELDNAME>ID</FIELDNAME>
35+
<KEYFLAG>X</KEYFLAG>
36+
<ADMINFIELD>0</ADMINFIELD>
37+
<INTTYPE>C</INTTYPE>
38+
<INTLEN>000064</INTLEN>
39+
<NOTNULL>X</NOTNULL>
40+
<DATATYPE>CHAR</DATATYPE>
41+
<LENG>000032</LENG>
42+
<MASK> CHAR</MASK>
43+
</DD03P>
44+
<DD03P>
45+
<FIELDNAME>UNAME</FIELDNAME>
46+
<ADMINFIELD>0</ADMINFIELD>
47+
<INTTYPE>C</INTTYPE>
48+
<INTLEN>000064</INTLEN>
49+
<DATATYPE>CHAR</DATATYPE>
50+
<LENG>000032</LENG>
51+
<MASK> CHAR</MASK>
52+
</DD03P>
53+
<DD03P>
54+
<FIELDNAME>HANDLE</FIELDNAME>
55+
<ADMINFIELD>0</ADMINFIELD>
56+
<INTTYPE>C</INTTYPE>
57+
<INTLEN>000064</INTLEN>
58+
<DATATYPE>CHAR</DATATYPE>
59+
<LENG>000032</LENG>
60+
<MASK> CHAR</MASK>
61+
</DD03P>
62+
<DD03P>
63+
<FIELDNAME>HANDLE2</FIELDNAME>
64+
<ADMINFIELD>0</ADMINFIELD>
65+
<INTTYPE>C</INTTYPE>
66+
<INTLEN>000064</INTLEN>
67+
<DATATYPE>CHAR</DATATYPE>
68+
<LENG>000032</LENG>
69+
<MASK> CHAR</MASK>
70+
</DD03P>
71+
<DD03P>
72+
<FIELDNAME>HANDLE3</FIELDNAME>
73+
<ADMINFIELD>0</ADMINFIELD>
74+
<INTTYPE>C</INTTYPE>
75+
<INTLEN>000064</INTLEN>
76+
<DATATYPE>CHAR</DATATYPE>
77+
<LENG>000032</LENG>
78+
<MASK> CHAR</MASK>
79+
</DD03P>
80+
<DD03P>
81+
<FIELDNAME>HANDLE4</FIELDNAME>
82+
<ADMINFIELD>0</ADMINFIELD>
83+
<INTTYPE>C</INTTYPE>
84+
<INTLEN>000064</INTLEN>
85+
<DATATYPE>CHAR</DATATYPE>
86+
<LENG>000032</LENG>
87+
<MASK> CHAR</MASK>
88+
</DD03P>
89+
<DD03P>
90+
<FIELDNAME>HANDLE5</FIELDNAME>
91+
<ADMINFIELD>0</ADMINFIELD>
92+
<INTTYPE>C</INTTYPE>
93+
<INTLEN>000064</INTLEN>
94+
<DATATYPE>CHAR</DATATYPE>
95+
<LENG>000032</LENG>
96+
<MASK> CHAR</MASK>
97+
</DD03P>
98+
<DD03P>
99+
<FIELDNAME>DATA</FIELDNAME>
100+
<ADMINFIELD>0</ADMINFIELD>
101+
<INTTYPE>g</INTTYPE>
102+
<INTLEN>000008</INTLEN>
103+
<DATATYPE>STRG</DATATYPE>
104+
<MASK> STRG</MASK>
105+
</DD03P>
106+
<DD03P>
107+
<FIELDNAME>DATA2</FIELDNAME>
108+
<ADMINFIELD>0</ADMINFIELD>
109+
<INTTYPE>g</INTTYPE>
110+
<INTLEN>000008</INTLEN>
111+
<DATATYPE>STRG</DATATYPE>
112+
<MASK> STRG</MASK>
113+
</DD03P>
114+
<DD03P>
115+
<FIELDNAME>DATA3</FIELDNAME>
116+
<ADMINFIELD>0</ADMINFIELD>
117+
<INTTYPE>g</INTTYPE>
118+
<INTLEN>000008</INTLEN>
119+
<DATATYPE>STRG</DATATYPE>
120+
<MASK> STRG</MASK>
121+
</DD03P>
122+
</DD03P_TABLE>
123+
</asx:values>
124+
</asx:abap>
125+
</abapGit>

src/02/z2ui5add_cl_var_db_api.clas.abap

Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,42 @@ CLASS z2ui5add_cl_var_db_api DEFINITION
3333
METHODS db_read.
3434
METHODS db_save.
3535

36+
37+
CLASS-METHODS hlp_db_delete_by_handle
38+
IMPORTING
39+
uname TYPE clike OPTIONAL
40+
handle TYPE clike OPTIONAL
41+
handle2 TYPE clike OPTIONAL
42+
handle3 TYPE clike OPTIONAL
43+
check_commit TYPE abap_bool DEFAULT abap_true.
44+
45+
CLASS-METHODS hlp_db_save
46+
IMPORTING
47+
uname TYPE clike OPTIONAL
48+
handle TYPE clike OPTIONAL
49+
handle2 TYPE clike OPTIONAL
50+
handle3 TYPE clike OPTIONAL
51+
data TYPE any
52+
check_commit TYPE abap_bool DEFAULT abap_true
53+
RETURNING
54+
VALUE(result) TYPE string.
55+
56+
CLASS-METHODS hlp_db_load_by_id
57+
IMPORTING
58+
id TYPE clike OPTIONAL
59+
EXPORTING
60+
VALUE(result) TYPE any.
61+
62+
CLASS-METHODS hlp_db_load_by_handle
63+
IMPORTING
64+
uname TYPE clike OPTIONAL
65+
handle TYPE clike OPTIONAL
66+
handle2 TYPE clike OPTIONAL
67+
handle3 TYPE clike OPTIONAL
68+
EXPORTING
69+
VALUE(result) TYPE any.
70+
71+
3672
PROTECTED SECTION.
3773

3874
DATA:
@@ -57,6 +93,113 @@ ENDCLASS.
5793

5894
CLASS z2ui5add_cl_var_db_api IMPLEMENTATION.
5995

96+
97+
98+
METHOD hlp_db_delete_by_handle.
99+
100+
DELETE FROM z2ui5_t_02
101+
WHERE
102+
uname = @uname
103+
AND handle = @handle
104+
AND handle2 = @handle2
105+
AND handle3 = @handle3.
106+
107+
IF check_commit = abap_true.
108+
COMMIT WORK AND WAIT.
109+
ENDIF.
110+
111+
ENDMETHOD.
112+
113+
114+
METHOD hlp_db_load_by_handle.
115+
116+
DATA lt_db TYPE STANDARD TABLE OF z2ui5_t_02 WITH EMPTY KEY.
117+
118+
SELECT data
119+
FROM z2ui5_t_02
120+
WHERE
121+
uname = @uname
122+
AND handle = @handle
123+
AND handle2 = @handle2
124+
AND handle3 = @handle3
125+
INTO CORRESPONDING FIELDS OF TABLE @lt_db.
126+
IF sy-subrc <> 0.
127+
RAISE EXCEPTION TYPE z2ui5_cx_util_error
128+
EXPORTING
129+
val = `No entry for handle exists`.
130+
ENDIF.
131+
132+
DATA(ls_db) = lt_db[ 1 ].
133+
134+
z2ui5_cl_util=>xml_parse(
135+
EXPORTING
136+
xml = ls_db-data
137+
IMPORTING
138+
any = result ).
139+
140+
ENDMETHOD.
141+
142+
143+
METHOD hlp_db_load_by_id.
144+
145+
DATA lt_db TYPE STANDARD TABLE OF z2ui5_t_02 WITH EMPTY KEY.
146+
147+
SELECT data
148+
FROM z2ui5_t_02
149+
WHERE id = @id
150+
INTO CORRESPONDING FIELDS OF TABLE @lt_db.
151+
ASSERT sy-subrc = 0.
152+
153+
DATA(ls_db) = lt_db[ 1 ].
154+
155+
z2ui5_cl_util=>xml_parse(
156+
EXPORTING
157+
xml = ls_db-data
158+
IMPORTING
159+
any = result ).
160+
161+
ENDMETHOD.
162+
163+
164+
METHOD hlp_db_save.
165+
166+
DATA lt_db TYPE STANDARD TABLE OF z2ui5_t_02 WITH EMPTY KEY.
167+
SELECT id
168+
FROM z2ui5_t_02
169+
WHERE
170+
uname = @uname
171+
AND handle = @handle
172+
AND handle2 = @handle2
173+
AND handle3 = @handle3
174+
INTO CORRESPONDING FIELDS OF TABLE @lt_db ##SUBRC_OK.
175+
176+
DATA(ls_db) = VALUE z2ui5_t_02(
177+
uname = uname
178+
handle = handle
179+
handle2 = handle2
180+
handle3 = handle3
181+
data = z2ui5_cl_util=>xml_stringify( data ) ).
182+
183+
TRY.
184+
ls_db-id = lt_db[ 1 ]-id.
185+
CATCH cx_root.
186+
ls_db-id = z2ui5_cl_util=>uuid_get_c32( ).
187+
ENDTRY.
188+
189+
MODIFY z2ui5_t_02 FROM @ls_db.
190+
ASSERT sy-subrc = 0.
191+
192+
IF check_commit = abap_true.
193+
COMMIT WORK AND WAIT.
194+
ENDIF.
195+
196+
result = ls_db-id.
197+
198+
ENDMETHOD.
199+
200+
201+
202+
60203
METHOD obj_to_filter.
61204

62205
ENDMETHOD.

src/02/z2ui5add_cl_var_pop_ranges.clas.abap

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ CLASS z2ui5add_cl_var_pop_ranges IMPLEMENTATION.
8181
CLEAR mt_variant.
8282

8383
DATA lt_variant_user TYPE ty_t_variant_out.
84-
z2ui5_cl_util=>db_load_by_handle(
84+
z2ui5add_cl_var_db_api=>hlp_db_load_by_handle(
8585
EXPORTING
8686
uname = ms_variant-uname
8787
handle = ms_variant-handle1
@@ -92,7 +92,7 @@ CLASS z2ui5add_cl_var_pop_ranges IMPLEMENTATION.
9292
INSERT LINES OF lt_variant_user INTO TABLE mt_variant.
9393

9494
DATA lt_variant TYPE ty_t_variant_out.
95-
z2ui5_cl_util=>db_load_by_handle(
95+
z2ui5add_cl_var_db_api=>hlp_db_load_by_handle(
9696
EXPORTING
9797
handle = ms_variant-handle1
9898
handle2 = ms_variant-handle2
@@ -112,7 +112,7 @@ CLASS z2ui5add_cl_var_pop_ranges IMPLEMENTATION.
112112

113113
DATA(lt_variant_user) = mt_variant.
114114
DELETE lt_variant_user WHERE s_variant-uname IS INITIAL.
115-
z2ui5_cl_util=>db_save(
115+
z2ui5add_cl_var_db_api=>hlp_db_save(
116116
uname = ms_variant-uname
117117
handle = ms_variant-handle1
118118
handle2 = ms_variant-handle2
@@ -122,7 +122,7 @@ CLASS z2ui5add_cl_var_pop_ranges IMPLEMENTATION.
122122

123123
DATA(lt_variant) = mt_variant.
124124
DELETE lt_variant WHERE s_variant-uname IS NOT INITIAL.
125-
z2ui5_cl_util=>db_save(
125+
z2ui5add_cl_var_db_api=>hlp_db_save(
126126
handle = ms_variant-handle1
127127
handle2 = ms_variant-handle2
128128
handle3 = ms_variant-handle3

0 commit comments

Comments
 (0)