gpt4 book ai didi

abap - 在内部表 ABAP 中查找不可打印字符

转载 作者:行者123 更新时间:2023-12-04 04:56:38 28 4
gpt4 key购买 nike

我有一个内部表,它被写入文件,然后作为数据源拉入 BW。有时,不可打印的字符会使其进入文件输出并将导入过程中断到 BW。下面是我的代码示例。由于 itab 不是类型 c 或字符串,我无法在其上使用查找/替换正则表达式。以前有没有其他人解决过这类问题?

    FORM eliminate_non_print_char TABLES p_shiptab STRUCTURE shiptab.     

LOOP AT p_shiptab INTO wa_shiptab.

FIND REGEX '[^[:print:]]+(?!$)'
IN wa_shiptab
IGNORING CASE.
"RESULTS result.
IF sy-subrc = 0.

REPLACE REGEX '[^[:print:]]+(?!$)'
IN wa_shiptab WITH ''
IGNORING CASE.

ENDIF.
ENDLOOP.

DATA: BEGIN OF shiptab OCCURS 2000.
INCLUDE STRUCTURE ship1.
INCLUDE STRUCTURE ship2.
DATA: landtx LIKE vbrk-landtx,
bl_konwa LIKE vbak-waerk.
INCLUDE STRUCTURE ship3.
INCLUDE STRUCTURE ship4.
DATA: frght_amnt_usd LIKE konv-kwert,
revenue_amnt_usd LIKE vbap-netwr,
unit_price_usd LIKE vbap-netpr,
pgi_posting_date LIKE mkpf-budat,
ord_line_item_qty LIKE lips-lfimg,
asm_no LIKE kna1-kunnr,
asm_username LIKE adrc-sort1,
va_augru_t LIKE tvaut-bezei,
ship_to_name LIKE adrc-name1,
bill_to_name LIKE adrc-name1,
forward_to_name LIKE adrc-name1,
fmv_amnt LIKE konv-kbetr,
va_butxt LIKE t001-butxt,
sold_to_search_term LIKE adrc-sort1,
bill_to_search_term LIKE adrc-sort1,
va_prctr LIKE vbap-prctr,
va_bezei LIKE tvrot-bezei.
INCLUDE STRUCTURE zorder_attr.
DATA: extended_bits_count(20),
va_bstkd_hdr LIKE char32.
DATA: gsm_bp_katr6 LIKE kna1-katr6,
gsm_bp_vtext6 LIKE tvk6t-vtext,
asm_ze_katr7 LIKE kna1-katr7,
asm_ze_vtext7 LIKE tvk7t-vtext,
gsm_ze_katr6 LIKE kna1-katr6,
gsm_ze_vtext6 LIKE tvk7t-vtext.
DATA: END OF shiptab

.

我得到的错误是:“WA_SHIPTAB”必须是字符类型的数据对象(数据类型 C、N、D、T 或 STRING)。我在 itab shiptab 中有非字符类型。我知道我可以单独对每个字段进行此查找,但 itab 有 235 个字段,这似乎效率不高。

最佳答案

该程序有另一个主 itab 副本,它是基于字符的字段,我循环遍历并放置了以下代码:

REPLACE ALL OCCURRENCES OF REGEX '[^[:print:]]+$'
IN transtab WITH ''
IGNORING CASE.

答案链接:

SCN Link

Help.SAP Link

关于abap - 在内部表 ABAP 中查找不可打印字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16675141/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com