Skip to content

Commit 0e308b4

Browse files
authored
Add files via upload
1 parent fe42e4e commit 0e308b4

File tree

4 files changed

+97
-61
lines changed

4 files changed

+97
-61
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22

33
Exceptions that implement the message interface and that take a message in the constructor
44

5-
The interface does not consider types so a message from an exception like this can only be sent with "MESSAGE ... TYPE ..."
5+
The interface has a type so a message from an exception like this should be sent with "MESSAGE ..." (without the TYPE addition)

src/zcx_dynamic_check.clas.abap

Lines changed: 32 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ class zcx_dynamic_check definition
66

77
public section.
88

9-
interfaces: if_t100_message.
9+
interfaces: if_t100_dyn_msg.
1010

1111
"! <p class="shorttext synchronized" lang="EN">Creates an exception. Can use a t100 msg</p>
1212
"!
@@ -18,14 +18,6 @@ class zcx_dynamic_check definition
1818
i_previous like previous optional
1919
preferred parameter i_t100_message.
2020

21-
data var1 type sy-msgv1 read-only.
22-
23-
data var2 type sy-msgv2 read-only.
24-
25-
data var3 type sy-msgv4 read-only.
26-
27-
data var4 type sy-msgv4 read-only.
28-
2921
endclass.
3022
class zcx_dynamic_check implementation.
3123

@@ -37,22 +29,42 @@ class zcx_dynamic_check implementation.
3729

3830
if i_t100_message is supplied.
3931

40-
cl_message_helper=>set_msg_vars_for_if_t100_msg( i_t100_message ).
32+
case type of i_t100_message.
33+
34+
when type if_t100_dyn_msg into data(dyn).
35+
36+
me->if_t100_dyn_msg~msgty = dyn->msgty.
37+
38+
me->if_t100_dyn_msg~msgv1 = dyn->msgv1.
39+
40+
me->if_t100_dyn_msg~msgv2 = dyn->msgv2.
41+
42+
me->if_t100_dyn_msg~msgv3 = dyn->msgv3.
43+
44+
me->if_t100_dyn_msg~msgv4 = dyn->msgv4.
45+
46+
when others.
47+
48+
cl_message_helper=>set_msg_vars_for_if_t100_msg( i_t100_message ).
49+
50+
me->if_t100_dyn_msg~msgv1 = sy-msgv1.
51+
52+
me->if_t100_dyn_msg~msgv2 = sy-msgv2.
4153

42-
me->var1 = sy-msgv1.
54+
me->if_t100_dyn_msg~msgv3 = sy-msgv3.
4355

44-
me->var2 = sy-msgv2.
56+
me->if_t100_dyn_msg~msgv4 = sy-msgv4.
4557

46-
me->var3 = sy-msgv3.
58+
me->if_t100_dyn_msg~msgty = 'E'.
4759

48-
me->var4 = sy-msgv4.
60+
endcase.
4961

50-
me->if_t100_message~t100key = value #( msgid = sy-msgid
51-
msgno = sy-msgno
52-
attr1 = 'VAR1'
53-
attr2 = 'VAR2'
54-
attr3 = 'VAR3'
55-
attr4 = 'VAR4' ).
62+
me->if_t100_message~t100key = value #( msgid = i_t100_message->t100key-msgid
63+
msgno = i_t100_message->t100key-msgno
64+
attr1 = 'IF_T100_DYN_MSG~MSGV1'
65+
attr2 = 'IF_T100_DYN_MSG~MSGV2'
66+
attr3 = 'IF_T100_DYN_MSG~MSGV3'
67+
attr4 = 'IF_T100_DYN_MSG~MSGV4' ).
5668

5769
else.
5870

src/zcx_no_check.clas.abap

Lines changed: 32 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ class zcx_no_check definition
66

77
public section.
88

9-
interfaces: if_t100_message.
9+
interfaces: if_t100_dyn_msg.
1010

1111
"! <p class="shorttext synchronized" lang="EN">Creates an exception. Can use a t100 msg</p>
1212
"!
@@ -18,14 +18,6 @@ class zcx_no_check definition
1818
i_previous like previous optional
1919
preferred parameter i_t100_message.
2020

21-
data var1 type sy-msgv1 read-only.
22-
23-
data var2 type sy-msgv2 read-only.
24-
25-
data var3 type sy-msgv4 read-only.
26-
27-
data var4 type sy-msgv4 read-only.
28-
2921
endclass.
3022
class zcx_no_check implementation.
3123

@@ -37,22 +29,42 @@ class zcx_no_check implementation.
3729

3830
if i_t100_message is supplied.
3931

40-
cl_message_helper=>set_msg_vars_for_if_t100_msg( i_t100_message ).
32+
case type of i_t100_message.
33+
34+
when type if_t100_dyn_msg into data(dyn).
35+
36+
me->if_t100_dyn_msg~msgty = dyn->msgty.
37+
38+
me->if_t100_dyn_msg~msgv1 = dyn->msgv1.
39+
40+
me->if_t100_dyn_msg~msgv2 = dyn->msgv2.
41+
42+
me->if_t100_dyn_msg~msgv3 = dyn->msgv3.
43+
44+
me->if_t100_dyn_msg~msgv4 = dyn->msgv4.
45+
46+
when others.
47+
48+
cl_message_helper=>set_msg_vars_for_if_t100_msg( i_t100_message ).
49+
50+
me->if_t100_dyn_msg~msgv1 = sy-msgv1.
51+
52+
me->if_t100_dyn_msg~msgv2 = sy-msgv2.
4153

42-
me->var1 = sy-msgv1.
54+
me->if_t100_dyn_msg~msgv3 = sy-msgv3.
4355

44-
me->var2 = sy-msgv2.
56+
me->if_t100_dyn_msg~msgv4 = sy-msgv4.
4557

46-
me->var3 = sy-msgv3.
58+
me->if_t100_dyn_msg~msgty = 'E'.
4759

48-
me->var4 = sy-msgv4.
60+
endcase.
4961

50-
me->if_t100_message~t100key = value #( msgid = sy-msgid
51-
msgno = sy-msgno
52-
attr1 = 'VAR1'
53-
attr2 = 'VAR2'
54-
attr3 = 'VAR3'
55-
attr4 = 'VAR4' ).
62+
me->if_t100_message~t100key = value #( msgid = i_t100_message->t100key-msgid
63+
msgno = i_t100_message->t100key-msgno
64+
attr1 = 'IF_T100_DYN_MSG~MSGV1'
65+
attr2 = 'IF_T100_DYN_MSG~MSGV2'
66+
attr3 = 'IF_T100_DYN_MSG~MSGV3'
67+
attr4 = 'IF_T100_DYN_MSG~MSGV4' ).
5668

5769
else.
5870

src/zcx_static_check.clas.abap

Lines changed: 32 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ class zcx_static_check definition
66

77
public section.
88

9-
interfaces: if_t100_message.
9+
interfaces: if_t100_dyn_msg.
1010

1111
"! <p class="shorttext synchronized" lang="EN">Creates an exception. Can use a t100 msg</p>
1212
"!
@@ -18,14 +18,6 @@ class zcx_static_check definition
1818
i_previous like previous optional
1919
preferred parameter i_t100_message.
2020

21-
data var1 type sy-msgv1 read-only.
22-
23-
data var2 type sy-msgv2 read-only.
24-
25-
data var3 type sy-msgv4 read-only.
26-
27-
data var4 type sy-msgv4 read-only.
28-
2921
endclass.
3022
class zcx_static_check implementation.
3123

@@ -37,22 +29,42 @@ class zcx_static_check implementation.
3729

3830
if i_t100_message is supplied.
3931

40-
cl_message_helper=>set_msg_vars_for_if_t100_msg( i_t100_message ).
32+
case type of i_t100_message.
33+
34+
when type if_t100_dyn_msg into data(dyn).
35+
36+
me->if_t100_dyn_msg~msgty = dyn->msgty.
37+
38+
me->if_t100_dyn_msg~msgv1 = dyn->msgv1.
39+
40+
me->if_t100_dyn_msg~msgv2 = dyn->msgv2.
41+
42+
me->if_t100_dyn_msg~msgv3 = dyn->msgv3.
43+
44+
me->if_t100_dyn_msg~msgv4 = dyn->msgv4.
45+
46+
when others.
47+
48+
cl_message_helper=>set_msg_vars_for_if_t100_msg( i_t100_message ).
49+
50+
me->if_t100_dyn_msg~msgv1 = sy-msgv1.
51+
52+
me->if_t100_dyn_msg~msgv2 = sy-msgv2.
4153

42-
me->var1 = sy-msgv1.
54+
me->if_t100_dyn_msg~msgv3 = sy-msgv3.
4355

44-
me->var2 = sy-msgv2.
56+
me->if_t100_dyn_msg~msgv4 = sy-msgv4.
4557

46-
me->var3 = sy-msgv3.
58+
me->if_t100_dyn_msg~msgty = 'E'.
4759

48-
me->var4 = sy-msgv4.
60+
endcase.
4961

50-
me->if_t100_message~t100key = value #( msgid = sy-msgid
51-
msgno = sy-msgno
52-
attr1 = 'VAR1'
53-
attr2 = 'VAR2'
54-
attr3 = 'VAR3'
55-
attr4 = 'VAR4' ).
62+
me->if_t100_message~t100key = value #( msgid = i_t100_message->t100key-msgid
63+
msgno = i_t100_message->t100key-msgno
64+
attr1 = 'IF_T100_DYN_MSG~MSGV1'
65+
attr2 = 'IF_T100_DYN_MSG~MSGV2'
66+
attr3 = 'IF_T100_DYN_MSG~MSGV3'
67+
attr4 = 'IF_T100_DYN_MSG~MSGV4' ).
5668

5769
else.
5870

0 commit comments

Comments
 (0)