点击此处---> 群内免费提供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
您好 Anuja Dhondge ,
我尝试了很长时间,发现空间不稳 为null,虽然不能完全确定,
,但是当我使用ASCII字符并将其转换为普通字符时,它对我有用。
检查代码。
32是'SPACE'的ASCII代码。 不知道这是否是正确的方法。 但这确实有效。
谢谢
Mahesh
Anuja Dhondge ,
您是否正确声明了"空间价值"? 您确定空间正在传递吗?
一周热门 更多>