loops - 编译器错误在循环 SQL 中选择单个计数
问题描述
我做了一个表格,其中添加了材料编号,材料文本等(selected_materials)。现在我想用这个表创建一个循环,以便在EKPO
表中计算材料编号被提及的频率,以便以后使用它。
对于下面的代码,编译器说这WHERE <selected_material>-matnr
是无效的,即使WRITE: ... <selected_material>-matnr = ...
是有效的。
LOOP AT selected_materials ASSIGNING <selected_material>.
DATA: lv_count TYPE i.
SELECT SINGLE COUNT(*)
From Ekpo
INTO lv_count
WHERE <selected_material>-matnr = Ekpo-matnr.
WRITE: <selected_material>-maktx, <selected_material>-matnr, <selected_material>-meins, <selected_material>-msehl, <selected_material>-ekpo_count.
NEW-LINE.
ENDLOOP.
解决方案
你的WHERE
情况不正确,应该是这样的:
SELECT COUNT( * )
FROM ekpo
INTO lv_count
WHERE matnr EQ <selected_material>-matnr.
请注意SINGLE
也被删除,因为(我猜)问题是,EKPO
材料编号有多少条目(SELECT COUNT( * )
...)而不是,如果至少有一个(SELECT SINGLE COUNT( * )
...)
还有一件事:在 中WRITE
,您显示字段:-ekpo_count,但在SELECT COUNT( * )
lv_count 中使用。
推荐阅读
- curl - 升级到 ubuntu 18.04.1 后 curl 和 wget 无法使用 https 站点
- javascript - 火狐网络扩展。访问内容脚本中的弹出内容
- android - macos - ionic cordova build android: UnhandledPromiseRejectionWarning: Error: spawn EACCES
- python - python csv字典格式调整
- excel - 数学 - 在一个区间内分布一个数字列表
- anypoint-studio - 如何在 Mule4 中强制使用 UTF-8 编码
- d3.js - D3 用于 svg 形状的程序化 defs 图案填充
- html - css - 自定义输入字段上的下拉按钮
- java - 在已部署的战争中使用 log4j
- batch-file - 批处理文件代理设置禁用不起作用 Win 10