从( )表中的哪个位置选择?

发布于 2025-01-10 18:42:03 字数 645 浏览 0 评论 0原文

我想要在 ABAP 语法中使用动态 where 条件进行选择。

SQL 语句如下所示:

SELECT * FROM MCH1 WHERE MATNR IN (...) AND CHARG IN (...)

我的方法是将 2 个结构 ZMATN_STRZCHARG_STR 添加到字典中,并将相关组件作为行 (MATNR, CHARG)。 然后创建 2 个表类型以及关联的线类型。

现在我陷入了ABAP,因为我不知道如何编写where子句。 这就是我到目前为止所拥有的:

SELECT *
 FROM
  mch1
  FOR ALL ENTRIES IN @matnrs
 WHERE
    matnr = @matnrs-matnr
INTO TABLE @DATA(lt_result).

它适用于 matnr 或 charge,但不适用于两者。

其他信息

此选择发生在存在 2 个导入参数(2 个表类型)的功能模块中 - 所以我不能只写 where in ('xxx', 'yyy')

I want a select with dynamic where conditions in ABAP Syntax.

An SQL Statement would look like this:

SELECT * FROM MCH1 WHERE MATNR IN (...) AND CHARG IN (...)

My approach was to add 2 structures ZMATN_STR and ZCHARG_STR to the dictionary with associated components as line (MATNR, CHARG).
Then create 2 table types with associated line types.

Now im stucked in ABAP because I don't know how to write the where clause.
That's what I have so far:

SELECT *
 FROM
  mch1
  FOR ALL ENTRIES IN @matnrs
 WHERE
    matnr = @matnrs-matnr
INTO TABLE @DATA(lt_result).

It works for either matnr or charg but not with both of them.

Additional Info

This select happens in a function module where 2 import parameter exists (the 2 table types) - so I cannot just write where in ('xxx', 'yyy')

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦晓ヶ微光ヅ倾城 2025-01-17 18:42:03
data lr_matnr type range of matnr.
data lr_charg type range of MCH1-charg.
"Fill lr_matnr and lr_charg...
SELECT * FROM MCH1 WHERE MATNR IN @lr_matnr AND CHARG IN @lr_charg
  INTO TABLE @data(lt_result). 
data lr_matnr type range of matnr.
data lr_charg type range of MCH1-charg.
"Fill lr_matnr and lr_charg...
SELECT * FROM MCH1 WHERE MATNR IN @lr_matnr AND CHARG IN @lr_charg
  INTO TABLE @data(lt_result). 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文