如何使用3个内部表的数据?

2020-08-18 07:49发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我在3个内部表中获得了所需的数据...

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

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


我在3个内部表中获得了所需的数据。 如何获得将打印的报告:

1。 物料编号

2。 材料说明

3。 植物

4。 工厂描述作为给定材料编号的输出。

当没有字段与MARC和MAKT内部表匹配时,我对从it_too1w中检索数据感到困惑。

这是代码:

*&--------------------------------------------- ------------------------ *
*&报告Z_ABAP_ASSIGNMENT2_ADDITION_1
*&
*&-------- -------------------------------------------------- ----------- *
*&
*&
*&----------------------- ---------------------------------------------- *

报告Z_ABAP_ASSIGNMENT2_ADDITION_1。

类型:ty_marc的开始,
matnr类型MATNR,
werks类型WERKS_D,
ty_marc的结尾。

类型:ty_makt的开始 ,
matnr型MATNR,
spras型SPRAS,
maktx型MAKTX,
maktg型MAKTG,
ty_makt的结尾。

TYPES:ty_t001w的开头,
> werks TYPE WERKS_D,
name1 TYPE NAME1,
ty_t001w的结尾。

DATA:it_marc TYPE ty_marc OCCURS 0,
wa_marc TYPE ty_marc,
it_makt TYPE ty_makt OCCURS 0 br> wa_makt类型ty_makt,
it_t001w类型ty_t001w OCCURS 0,
wa_t001w类型ty_t001w。


选择选项s_matnr用于wa_makt-matnr无扩展名<间隔>。 > SELECT matnr
spras
maktx
makt g
从makt
插入表it_makt
s_matnr中的matnr。

如果sy-subrc是INITIAL。
SELECT matnr
派克
FROM marc
将表it_marc
放入表it_markt
中的所有项,在其中将EQ的it_makt-matnr均衡。
ENDIF。

如果sy-subrc是INITIAL。
选择操作符
name1
>从T001W
到表it_t001w
对于it_marc中的所有条目
在哪里EQ it_marc-werks。
ENDIF。

WRITE:/'材料号',
20 '材料描述',
45'植物',
55'植物描述'左对齐。
跳过。

*我无法理解如何使用3 IT进行输出。

将it_makt放入wa_makt。
*使用表键将it_t001w放入wa_t001w。
写入wa_makt-matnr。
写入20 wa_makt-maktx。
写入45 wa_t001w-wer 。
写55 wa_t001w-name1左对齐。

ENDLOOP。

7条回答
天桥码农
2020-08-18 08:30

Hi
首先,应将SPRAS条件添加到MAKT SELECT中。

然后,当涉及到读取内部表时。

在it_makt INTO wa_makt中循环。  
在it_marc上循环到wa_marc,其中matnr = wa_makt-matnr。 "之所以如此,是因为每一种材料可以有很多记录 将表it_t001w读入wa_t001w并输入密钥周= wa_marc-werks。 "读表,因为每个植物只有一个记录 如果sy-subrc = 0。 写:/... 万一。 结局。
ENDLOOP。

您应该创建IT_MARC和IT_T001W内部表,并按MATNR和WERKS上的键进行排序,以获得更好的性能。



Mateusz

一周热门 更多>