您的位置:首页 > 其它

ABAP:截取字符串(Start Routine)

2012-07-16 11:24 176 查看
需求:

有主数据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。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: