abap 用for all entries in将物理表和内表关联时,如何输出内表的全部字段而不使用*号
时间: 2024-02-19 11:03:00 浏览: 76
在使用 `FOR ALL ENTRIES` 语句时,可以指定内表的字段列表来输出内表的全部字段。例如,假设有一个内表 `itab` 和一个物理表 `dbtab`,它们的某些字段是相同的,可以使用如下的代码来输出内表的全部字段:
```
SELECT <fields>
FROM dbtab
WHERE field IN itab-field.
LOOP AT itab INTO wa.
WRITE: / wa-field1, wa-field2, wa-field3. " 输出内表的全部字段
ENDLOOP.
```
其中 `<fields>` 是需要输出的物理表的字段列表,例如 `dbtab-field1, dbtab-field2, dbtab-field3`。注意,这些字段必须与内表的字段一一对应,否则会导致错误。
相关问题
abap 物理表for all entries in和内表关联,如何输出内表的字段
在 ABAP 中,可以通过使用 SELECT 语句和 FOR ALL ENTRIES IN 子句来将内表与物理表关联,并输出内表的字段。
下面是一个示例代码:
```
DATA: lt_itab TYPE STANDARD TABLE OF <内表类型> WITH HEADER LINE,
lt_phystab TYPE STANDARD TABLE OF <物理表类型> WITH HEADER LINE.
* 假设内表 lt_itab 中有一个字段叫做 "FIELD1",需要输出它
SELECT *
INTO CORRESPONDING FIELDS OF TABLE lt_phystab
FROM <物理表>
FOR ALL ENTRIES IN lt_itab
WHERE <物理表>.<字段> = lt_itab-FIELD1.
LOOP AT lt_itab INTO <内表行>.
READ TABLE lt_phystab
WITH KEY <物理表>.<字段> = <内表行>-FIELD1.
IF sy-subrc EQ 0.
WRITE: / <物理表>.<需要输出的字段>.
ENDIF.
ENDLOOP.
```
在这个示例代码中,我们首先定义了一个内表 lt_itab 和一个物理表 lt_phystab。然后我们使用 SELECT 语句和 FOR ALL ENTRIES IN 子句将这两个表关联起来,并从物理表中选择所有符合条件的行。
在循环内部,我们使用 READ TABLE 语句根据内表 lt_itab 中的字段值找到相应的物理表行,并输出需要的字段值。
这是一个基本的示例代码,具体实现方式可能会因为实际需求的不同而有所不同。
abap 物理表for all entries in和内表关联,如何select出内表的全部字段
在 ABAP 中,可以通过使用 SELECT 语句和 FOR ALL ENTRIES IN 子句来将内表与物理表关联,并且可以 SELECT 出内表的全部字段。
以下是一个示例代码:
```
DATA: lt_itab TYPE STANDARD TABLE OF <内表类型> WITH HEADER LINE,
lt_phystab TYPE STANDARD TABLE OF <物理表类型> WITH HEADER LINE.
* 假设内表 lt_itab 中有多个字段,需要输出全部字段
SELECT *
INTO CORRESPONDING FIELDS OF TABLE lt_phystab
FROM <物理表>
FOR ALL ENTRIES IN lt_itab
WHERE <物理表>.<字段> = lt_itab-<内表字段>.
* 输出内表全部字段
LOOP AT lt_itab INTO <内表行>.
READ TABLE lt_phystab
WITH KEY <物理表>.<字段> = <内表行>-<内表字段>.
IF sy-subrc EQ 0.
WRITE:/ <内表行>-<内表字段1>, <内表行>-<内表字段2>, ... <内表行>-<内表字段n>.
ENDIF.
ENDLOOP.
```
在这个示例代码中,我们首先定义了一个内表 lt_itab 和一个物理表 lt_phystab。然后我们使用 SELECT 语句和 FOR ALL ENTRIES IN 子句将这两个表关联起来,并从物理表中选择所有符合条件的行。
在循环内部,我们使用 READ TABLE 语句根据内表 lt_itab 中的字段值找到相应的物理表行,并输出内表的全部字段值。
需要注意的是,为了输出内表的全部字段,我们需要在 WRITE 语句中列出所有的字段名。
阅读全文