在CDS视图或AMDP中以SPACE分割

2020-08-26 12:18发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 要求:通过检查BSE...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

要求:通过检查BSEC-NAME1的自定义表中维护的关键字(Dr,Doctor,HCP,Pharmacy)来填充指示器(是/否)。 这些关键字可以出现在BSEC-NAME1中的任何位置。 如果存在,则在指示符字段中填充值为YES,否则为NO。

我使用表函数方法编写了AMDP类,因为我试图使用以下语法来获取BSEC-NAME1的子字符串。一旦获得子字符串,然后将它们与自定义表关键字进行比较。/p>

声明str_sp STRING:='';

et_bsec =选择mandt作为mandt,

bukrs AS bukrs,

belnr AS belnr,

gjahr AS gjahr,

buzei AS buzei,

name1 AS名称1,

substr(name1,1,instr(name1,str_sp))作为keywrd1

来自bsec

其中,spras ='E'和mandt = session_context('CLIENT');

substr(name1,1,instr(name1,str_sp))用作keywrd1->如果name1 = Mike Smith医生,则此语句应在Keywrd1字段中返回" Doctor"。 但是它仅返回'D'。 但是,如果Name1包含" _",并且如果我在str_sp中传递" _",那么它将在Keywrd1中给我正确的值。

这里好像没有空间。

请求您帮助我。

此致

Anuja Dhondge

2条回答
clever101
2020-08-26 12:36

您好 Anuja Dhondge

我尝试了很长时间,发现空间不稳 为null,虽然不能完全确定,

,但是当我使用ASCII字符并将其转换为普通字符时,它对我有用。

检查代码。

运营商 =从:carriers_temp中选择carrid,carrname,carspace,SUBSTR_AFTER(carrname,CHAR(32))作为carplit; 

32是'SPACE'的ASCII代码。 不知道这是否是正确的方法。 但这确实有效。

谢谢

Mahesh

一周热门 更多>