SAP REPLACE STRANGE CHARS

本文详细介绍了F4_WASH模块的输入处理过程,包括数据读取、字段描述及帮助显示等功能。通过实例展示了如何从数据库表中获取特定字段信息,并进行数据清理和格式转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

*&---------------------------------------------------------------------*
*&      Module  F4_WASH  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE F4_WASH INPUT.
data it_ZTWTYP like ZTWTYP occurs 0 with header line .
data: disp.
data wa_wash type string.
refresh it_ZTWTYP.
select * into table it_ZTWTYP
  from ZTWTYP.

loop at it_ZTWTYP.
  helptab = it_ZTWTYP-ZZWTYP.
  append helptab.
  helptab = it_ZTWTYP-DESCRIPTION.
  append helptab.
endloop.

refresh ihelp_fields.

ihelp_fields-tabname = 'ZTWTYP'.
ihelp_fields-fieldname = 'ZZWTYP'.
ihelp_fields-selectflag = ''.
append ihelp_fields.
ihelp_fields-tabname = 'ZTWTYP'.
ihelp_fields-fieldname = 'DESCRIPTION'.
ihelp_fields-selectflag = 'X'.
append ihelp_fields.

describe table helptab lines sy-tfill.
check sy-tfill > 0.
*   F4 - Hilfe Anzeigen
    call function 'HELP_VALUES_GET_WITH_TABLE'
         exporting
              display      = disp
              fieldname    = 'DESCRIPTION'
              tabname      = 'ZTWTYP'
         importing
              select_value = wa_wash
         tables
              fields       = ihelp_fields
              valuetab     = helptab.

 

 

wash =  CHEMICAL GARMEN               #####

I don't know why happen this result ?



DATA:     new        TYPE string       .



condense wa_wash.


CALL FUNCTION 'SCP_REPLACE_STRANGE_CHARS'
EXPORTING
  intext = wa_wash
IMPORTING
  outtext = new
EXCEPTIONS
  invalid_codepage = 1
  codepage_mismatch = 2
  internal_error = 3
  cannot_convert = 4
  fields_not_type_c = 5.

 

new = CHEMICAL GARMEN .....

wa_wash = new.
replace all occurrences of '.' in wa_wash with ' ' IN CHARACTER MODE .
condense wa_wash.

WA_ZSD_GARMENT_PRT2-ZWASH_MTD = wa_wash.

ENDMODULE.                 " F4_WASH  INPUT

`from_chars` 是 C++17 引入的一个函数模板,用于将字符串转换为数值类型。它提供了一种高效且安全的方法来解析字符串中的数值,避免了传统方法(如 `std::atoi` 或 `std::strtol`)可能带来的性能问题和安全隐患。 以下是 `from_chars` 的一些关键特点: 1. **高效性**:`from_chars` 直接操作字符数组,避免了不必要的内存分配和拷贝,因此在处理大量数据时表现优异。 2. **安全性**:它通过返回值指示转换是否成功,并且不会抛出异常,这使得它在需要高可靠性的系统中非常有用。 3. **灵活性**:支持多种数值类型,包括整数、浮点数等。 ### 使用示例 ```cpp #include <iostream> #include <charconv> // 包含 from_chars 的头文件 #include <string> int main() { const char* str = "12345"; int value; auto [ptr, ec] = std::from_chars(str, str + std::strlen(str), value); if (ec == std::errc()) { std::cout << "转换成功: " << value << std::endl; } else { std::cout << "转换失败" << std::endl; } return 0; } ``` 在这个示例中,`std::from_chars` 尝试将字符串 `"12345"` 转换为整数 `value`。如果转换成功,`ec` 会等于 `std::errc()`,否则会指示错误类型。 ### 常见问题 - **何时使用 `from_chars`?** - 当你需要高效地从字符串中解析数值,并且希望避免异常处理的开销时。 - 在性能关键的应用中,比如实时系统或大规模数据处理。 - **不支持哪些类型?** - `from_chars` 目前主要支持整数和浮点数类型,对于其他类型可能需要自定义实现。 - **与 `std::stoi`、`std::stof` 等的区别?** - `from_chars` 不抛出异常,而 `std::stoi`、`std::stof` 等可能会抛出异常。 - `from_chars` 通常比 `std::stoi`、`std::stof` 更快,因为它避免了一些额外的检查和内存分配。 通过了解和使用 `from_chars`,你可以编写出更高效、更安全的数值解析代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值