出现错误,因为" BD"无法转换为数字

2020-08-18 21:18发布

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

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


我正在使用条件进行迭代,但遇到错误。

您能帮我吗?

这是相同的语法。

DATA(lt_final_data)= VALUE tt_product_price(FOR IN it_pr_aps_data
(zgta_country_id = COND#(let t = VALUE#(it_pr_aps_data [ -zgta_country_id] -zgta_country_id t)is
然后t
当t不是INITIAL

值#(it_gex047it [ziso_country_code = -zgta_country_id] -zgta_country_id_1
默认''))

我在这里做错了什么?

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

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


我正在使用条件进行迭代,但遇到错误。

您能帮我吗?

这是相同的语法。

DATA(lt_final_data)= VALUE tt_product_price(FOR IN it_pr_aps_data
(zgta_country_id = COND#(let t = VALUE#(it_pr_aps_data [ -zgta_country_id] -zgta_country_id t)is
然后t
当t不是INITIAL

值#(it_gex047it [ziso_country_code = -zgta_country_id] -zgta_country_id_1
默认''))

我在这里做错了什么?

付费偷看设置
发送
6条回答
huskylover
1楼 · 2020-08-18 21:42.采纳回答

问题出在这一行的大写字母中:

让t =值#(it_pr_aps_data [ -ZGTA_COUNTRY_ID] -zgta_country_id)

使用:

让t =值#(it_pr_aps_data [YOURCOMPONENT =  -ZGTA_COUNTRY_ID] -zgta_country_id)in 

在表表达式中,如果您未指定" yourcomponent = ",则该参数应为数字行索引。 如果变量不是数字,则尝试将其转换为数字(如果不是,则会发生运行时错误CONVT_NO_NUMBER)。

lukcy2020
2楼-- · 2020-08-18 21:46

我首先看到的是:您是否将NOT放入 错误的WHEN子句? 如果是初始的,则以结果为准。

樱桃小丸子0093
3楼-- · 2020-08-18 21:50

基于耶勒纳斯的想法:

变量t的类型是在第一次赋值时得出的。 在让您使用#中自动得出类型。 尝试改用特定类型。

灬番茄
4楼-- · 2020-08-18 21:40

检查您的变量定义。 根据该消息,您正在尝试将字符类型值('BD')分配给数字变量。

老实说,这就是我觉得带有VALUE和COND的新语法不是 真正有益。 这也可能是由于缺乏格式和神秘名称引起的,但老实说,我很难读取此代码并无法理解其功能。

当学会了学习
5楼-- · 2020-08-18 21:55

我是第二位耶莱娜,很难 阅读您的代码。 请使用CODE按钮设置代码格式,然后尝试使用缩进!

Michael Biber给出了正确的答案。

NB:仅是您的代码:而不是

当t不是INITIAL时
 然后

使用

 else 
jovirus
6楼-- · 2020-08-18 21:53

Hi

是否需要再次读取IT_PR_APS_DATA记录 ? 就是一条IT_PR_APS_DATA记录。

关于
Mateusz

一周热门 更多>