ABAP:截取字符串(Start Routine)
2010-10-25 17:29
549 查看
需求:
有主数据ZPLANT,取自工厂描述的一部分,用'-'隔开,比如"工厂A-北京",ZPLANT只需要"工厂A"。
怎么解决呢:
写在Start Routine里,
DATA:
Z_RES_WA TYPE MATCH_RESULT,
Z_RES_TAB TYPE MATCH_RESULT_TAB,
Z_DATA TYPE _ty_s_SC_1,
Z_OFFSET TYPE I.
LOOP AT SOURCE_PACKAGE INTO Z_DATA.
IF Z_DATA-WERKS(1) <> 'A'.
FIND ALL OCCURRENCES OF REGEX '-' IN Z_DATA-TXTMD RESULTS
Z_RES_TAB.
LOOP AT Z_RES_TAB INTO Z_RES_WA.
Z_DATA-TXTMD = Z_DATA-TXTMD(Z_RES_WA-OFFSET).
ENDLOOP.
MODIFY SOURCE_PACKAGE FROM Z_DATA.
ELSE.
DELETE SOURCE_PACKAGE WHERE WERKS = Z_DATA-WERKS.
ENDIF.
ENDLOOP.
这里了利用了:
FIND ALL OCCURRENCES OF REGEX '-' IN Z_DATA-TXTMD RESULTS
Z_RES_TAB.
这里的RESULTS放在类型为MATCH_RESULT_TAB的表里。
表的行项目为MATCH_RESULT。
有如下参数:
这里说说OFFSET,就是偏移量,想截取,只需要STRING(OFFSET)就哦了~
然后截取完了赋值,赋值完了修改内表,over。
PS:俺不是专业的ABAP,随便写写…
有主数据ZPLANT,取自工厂描述的一部分,用'-'隔开,比如"工厂A-北京",ZPLANT只需要"工厂A"。
怎么解决呢:
写在Start Routine里,
DATA:
Z_RES_WA TYPE MATCH_RESULT,
Z_RES_TAB TYPE MATCH_RESULT_TAB,
Z_DATA TYPE _ty_s_SC_1,
Z_OFFSET TYPE I.
LOOP AT SOURCE_PACKAGE INTO Z_DATA.
IF Z_DATA-WERKS(1) <> 'A'.
FIND ALL OCCURRENCES OF REGEX '-' IN Z_DATA-TXTMD RESULTS
Z_RES_TAB.
LOOP AT Z_RES_TAB INTO Z_RES_WA.
Z_DATA-TXTMD = Z_DATA-TXTMD(Z_RES_WA-OFFSET).
ENDLOOP.
MODIFY SOURCE_PACKAGE FROM Z_DATA.
ELSE.
DELETE SOURCE_PACKAGE WHERE WERKS = Z_DATA-WERKS.
ENDIF.
ENDLOOP.
这里了利用了:
FIND ALL OCCURRENCES OF REGEX '-' IN Z_DATA-TXTMD RESULTS
Z_RES_TAB.
这里的RESULTS放在类型为MATCH_RESULT_TAB的表里。
表的行项目为MATCH_RESULT。
有如下参数:
这里说说OFFSET,就是偏移量,想截取,只需要STRING(OFFSET)就哦了~
然后截取完了赋值,赋值完了修改内表,over。
PS:俺不是专业的ABAP,随便写写…
相关文章推荐
- ABAP:截取字符串(Start Routine)
- ABAP基础篇--字符串截取
- SAP:ABAP基础篇--字符串截取
- c#的中英文混合字符串截取指定长度,startidx从0开始
- ABAP自定义截取字符串长度函数
- JavaScript基础 substr(startIndex, length) 在原始字符串中,截取并返回一个子字符串
- JavaScript基础 substr(startIndex, length) 在原始字符串中,截取并返回一个子字符串
- ABAP字符串操作 截取字符长度 取位数
- ABAP 字符串截取
- ABAP字符串操作 截取字符长度 取位数
- split根据逗号截取字符串空格不匹配的问题
- python 用下标截取字符串
- sqlserver时间字符串的截取
- go语言按显示长度截取字符串的方法
- MySQL根据截取字符串排序
- java代码----substring()方法是按索引截取字符串。。。下标0开始
- 【PHP】解决 php 截取字符串中文乱码问题
- Python字符串截取
- abap中查找某字符串的两种方法
- C语言字符串截取函数strtok和strtok_r