Abap 根据特定条件,哪个功能模块用于从表中检索数据?

Abap 根据特定条件,哪个功能模块用于从表中检索数据?,abap,Abap,在ABAP中,哪个功能模块用于根据特定条件从表中检索数据?好的,如果您正在编写ABAP,您只需直接在代码中编写OpenSQL语句。OpenSQL是ABAP语言的一流部分 但是,如果您询问如何使用函数模块读取表格 您可以使用RFC_READ_table功能模块进行任意表格读取。幸运的是,它启用了RFC。它允许您直接传入where子句 唯一需要注意的是,数据以仅512个字符宽的表结构返回。如果从比这更宽的表中读取,数据将被截断。此外,它是一个平面字段,因此需要手动解析每个表列/字段 因此,它不是特别

在ABAP中,哪个功能模块用于根据特定条件从表中检索数据?

好的,如果您正在编写ABAP,您只需直接在代码中编写OpenSQL语句。OpenSQL是ABAP语言的一流部分

但是,如果您询问如何使用函数模块读取表格

您可以使用RFC_READ_table功能模块进行任意表格读取。幸运的是,它启用了RFC。它允许您直接传入where子句

唯一需要注意的是,数据以仅512个字符宽的表结构返回。如果从比这更宽的表中读取,数据将被截断。此外,它是一个平面字段,因此需要手动解析每个表列/字段

因此,它不是特别方便用户,但是如果您没有其他选择,它会很有用


它在4.6C(甚至更早)的所有版本中都可用。

您可以使用以下FMs:

RS_VARIANT_CONTENTS - Values of a variant returned in a table 

RS_VARIANT_EXISTS - Checks whether a variant exists for a report 

RS_VARIANT_TEXT - Returns short description of variant 

RS_VARIANT_VALUES_TECH_DATA - Reads variant parameters of a report 
你也可以试试这个

SD_COND_T685_SELECT - to fetch the access sequence for the given condition type.

SD_T682I_SINGLE_READ - to fetch the condition tables. 

通常,您使用ABAP的OpenSQL语句编写它。这与普通的SQL语句非常相似。编写它们比使用功能模块要容易得多,除非您想在远程系统上调用功能模块(远程功能调用,可以从SAP或非SAP系统调用)

这就是它的样子:

TYPES:
  BEGIN OF ty_material,
    matnr TYPE mara-matnr,
    attyp TYPE mara-attyp,
  END OF ty_material.

DATA:
  gt_material TYPE STANDARD TABLE OF ty_material,
  gs_material LIKE LINE OF gt_material.

*--This is an OPENSQL statement--*
SELECT matnr
       attyp
  INTO TABLE gt_material
  FROM mara
 WHERE attyp BETWEEN ('01' AND '03').

LOOP AT gt_material
  INTO gs_material.

  WRITE: / gs_material-matnr, gs_material-attyp.
  CLEAR gs_material.
ENDLOOP.

使问题含糊不清。几乎每个函数模块都是基于条件参数访问表的。如果有人想知道:否-函数模块在不访问数据库的情况下仍然是函数模块。问题描述的是一个
查询
,而不是
功能模块
。非常感谢!!这确实帮助了我:)我想你误解了这个问题,这个问题不是关于下载条件的。