删除具有条件和相同ID的内部表

2020-09-05 07:32发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中) 专家您好, ...

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

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


专家您好,

我有一个我无法解决的问题,希望您能帮助我。

这是一个内部表:

ID名称Datefrom

1次测试02.10.2018

1 Test1 2018年10月1日

2 Test3 2018年9月29日

具有相同ID的行属于同一列。 我有一个报告,您可以在其中选择日期。 例如,如果您选择日期" 02.10.2018"。 结果应显示具有相同id的两行。 这是因为具有相同ID的行中至少有一个满足条件。

例如,如果我在参数字段中输入" 02.10.2018",我希望结果显示在下面的示例中:

ID名称Datefrom

1次测试02.10.2018

1 Test1 2018年10月1日

这是我到目前为止尝试过的,但没有得到任何结果。

FIELD-SYMBOLS 喜欢itab。 循环在itab分配
如果 date ENDIF删除表itab。
ENDLOOP。

非常感谢您的帮助。

3条回答
打个大熊猫
2020-09-05 08:14
 *&------------------------------------------  --------------------------- *
 *&报告ZWELT
 *&
 *&------------------------------------------------  --------------------- *
 *&
 *&
 *&------------------------------------------------  --------------------- *

 报告zwelt。


  参数:p_date TYPE sy-datum默认值'20181002'。

  类型开始于it_tabline。
    TYPES:ID TYPE I,
           名称(10)TYPE C,
           日期TYPE数据。
    在it_tabline结尾的类型。
  数据:it_tabline的it_tab类型表。
  数据:lr_tab类型为it_tabline。

  字段符号类似于it_tab的行。

  lr_tab-id = 1。
  lr_tab-name ='测试'。
  lr_tab-date ='20181002'。
  将lr_tab附加到it_tab。

  lr_tab-id = 1。
  lr_tab-name ='Test1'。
  lr_tab-date ='20181001'。
  将lr_tab附加到it_tab。

  lr_tab-id = 2。
  lr_tab-name ='Test3'。
  lr_tab-date ='20180929'。
  将lr_tab附加到it_tab。

  读取表it_​​tab并使用键date = p_date进入lr_tab。

  检查sy-subrc EQ 0。

  在it_tab ASSIGNING 上环回,其中id EQ lr_tab-id。
    写:/ -id,
             -名称,
             -日期。
  ENDLOOP。

,或者如果您要删除具有相同ID的行:请放置而不是循环。 endloop。:

删除it_tab的WHERE id EQ lr_tab-id。

此致

Michael

一周热门 更多>