EXIT_SAPMF02D_001 check address data


DATA: l_regex TYPE REF TO cl_abap_regex,
l_matcher TYPE REF TO cl_abap_matcher,
l_structdescr TYPE REF TO cl_abap_structdescr,
l_elemdescr TYPE REF TO cl_abap_elemdescr,
l_itab_components TYPE abap_component_tab,
l_tmp_components TYPE abap_component_tab,
l_wa_component TYPE abap_componentdescr,
l_tmp_component TYPE abap_componentdescr,
l_scrtext LIKE dd03vt-scrtext_l.
FIELD-SYMBOLS: <wa>,
<fld>,
<data> TYPE addr1_data,
<fs> TYPE szadr_addr1_complete.

ASSIGN ('(SAPMF02D)ADDR_COMPLETE') TO <fs>.
IF sy-subrc EQ 0.
*Regular expression:only those characters in the key board can be entered except !,
* or error will be popuped.
CREATE OBJECT l_regex
EXPORTING
pattern = '^[a-zA-Z0-9~`@#\\\$%\^&\*\(\)-_\+=\|/<>'':;\{\}\[\]\?,\. "]*$'.
LOOP AT <fs>-addr1_tab ASSIGNING <wa>.
ASSIGN COMPONENT 'DATA' OF STRUCTURE <wa> TO <data>.
l_structdescr ?= cl_abap_typedescr=>describe_by_data( <data> ).
l_itab_components = l_structdescr->get_components( ).
LOOP AT l_itab_components INTO l_wa_component.
IF l_wa_component-as_include IS INITIAL.
l_elemdescr ?= l_wa_component-type.
IF l_elemdescr->type_kind EQ cl_abap_elemdescr=>typekind_char.
ASSIGN COMPONENT l_wa_component-name OF STRUCTURE <data> TO <fld>.
CREATE OBJECT l_matcher
EXPORTING
regex = l_regex
text = <fld>.
IF l_matcher->match( ) NE abap_true.
SELECT SINGLE scrtext_l INTO l_scrtext FROM dd03vt WHERE tabname EQ 'ADDR1_DATA'
AND ddlanguage EQ sy-langu
AND fieldname EQ l_wa_component-name.
MESSAGE e023(z1) WITH l_scrtext.
ENDIF.
ENDIF.
ELSE. "Inlcude structure
l_structdescr ?= l_wa_component-type.
l_tmp_components = l_structdescr->get_components( ).
LOOP AT l_tmp_components INTO l_tmp_component.
l_elemdescr ?= l_tmp_component-type.
IF l_elemdescr->type_kind EQ cl_abap_elemdescr=>typekind_char.
ASSIGN COMPONENT l_tmp_component-name OF STRUCTURE <data> TO <fld>.
CREATE OBJECT l_matcher
EXPORTING
regex = l_regex
text = <fld>.
IF l_matcher->match( ) NE abap_true.
SELECT SINGLE scrtext_l INTO l_scrtext FROM dd03vt WHERE tabname EQ 'ADDR1_DATA'
AND ddlanguage EQ sy-langu
AND fieldname EQ l_tmp_component-name.
MESSAGE e023(z1) WITH l_scrtext.
ENDIF.
ENDIF.
ENDLOOP.
ENDIF.
ENDLOOP.
ENDLOOP.
ENDIF.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
2023-06-08T02:25:37.583259Z 1 [Note] WSREP: GCache history reset: 00000000-0000-0000-0000-000000000000:0 -> c443b2d8-05a0-11ee-86b8-2e0fddf21737:0 2023-06-08T02:25:39.261528Z WSREP_SST: [INFO] Streaming with xbstream 2023-06-08T02:25:39.273174Z WSREP_SST: [INFO] WARNING: Stale temporary SST directory: /data/mysql//.sst from previous state transfer. Removing 2023-06-08T02:25:39.279749Z WSREP_SST: [INFO] Proceeding with SST......... 2023-06-08T02:25:39.519583Z 0 [Note] WSREP: (c05c7a4e, 'tcp://0.0.0.0:4567') turning message relay requesting off 2023-06-08T02:25:39.553817Z WSREP_SST: [INFO] ............Waiting for SST streaming to complete! 2023-06-08T02:25:49.257301Z WSREP_SST: [ERROR] ******************* FATAL ERROR ********************** 2023-06-08T02:25:49.260159Z WSREP_SST: [ERROR] xtrabackup_checkpoints missing. xtrabackup/SST failed on DONOR. Check DONOR log 2023-06-08T02:25:49.262811Z WSREP_SST: [ERROR] ****************************************************** 2023-06-08T02:25:49.266472Z WSREP_SST: [ERROR] Cleanup after exit with status:2 2023-06-08T02:25:49.289335Z 0 [Warning] WSREP: 1.0 (host78): State transfer to 0.0 (host79) failed: -22 (Invalid argument) 2023-06-08T02:25:49.289400Z 0 [ERROR] WSREP: gcs/src/gcs_group.cpp:gcs_group_handle_join_msg():811: Will never receive state. Need to abort. 2023-06-08T02:25:49.289465Z 0 [Note] WSREP: gcomm: terminating thread 2023-06-08T02:25:49.289494Z 0 [Note] WSREP: gcomm: joining thread 2023-06-08T02:25:49.289662Z 0 [Note] WSREP: gcomm: closing backend 2023-06-08T02:25:49.593055Z 0 [ERROR] WSREP: Process completed with error: wsrep_sst_xtrabackup-v2 --role 'joiner' --address '10.106.113.79' --datadir '/data/mysql/' --defaults-file '/etc/my.cnf' --defaults-group-suffix '' --parent '9996' --mysqld-version '5.7.41-44-57' '' : 2 (No such file or directory) 2023-06-08T02:25:49.593124Z 0 [ERROR] WSREP: Failed to read uuid:seqno from joiner script. 2023-06-08T02:25:49.593137Z 0 [ERROR] WSREP: SST script aborted with error 2 (No such file or directory) 2023-06-08T02:25:49.593186Z 0 [ERROR] WSREP: SST failed: 2 (No such file or directory) 2023-06-08T02:25:49.593234Z 0 [ERROR] Aborting 2023-06-08T02:25:49.593269Z 0 [Note] WSREP: Signalling cancellation of the SST request. 2023-06-08T02:25:49.593306Z 0 [Note] WSREP: SST request was cancelled 2023-06-08T02:25:49.593337Z 0 [Note] Giving 2 client threads a chance to die gracefully 2023-06-08T02:25:49.593357Z 1 [Note] WSREP: Closing send monitor... 2023-06-08T02:25:49.593370Z 1 [Note] WSREP: Closed send monitor. 2023-06-08T02:25:50.292465Z 0 [Note] WSREP: Current view of cluster as seen by this node
06-09
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值