2020-09-12 04:24发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我有一个包含17条记录的内部表
我需要根据两个字段列的值删除两行
例如:
条件为,如果移动类型警告为102,并且其文档编号为belnr为初始,则它将检查101移动类型,并且其文档编号也为初始。
它应该从内部表格中删除这两个订单项。如何实现?
嗨,
我修改了-检查一下:
将it_tab放入数据(ls_tab1)中,其中bwart = 102并且belnr =''。
Lv_tabix1 = sy-tabix。
使用键101和belnr = space将it_tab读入数据(ls_tab2)。
如果sy-subrc是初始的。
lv_tabix2 = sy-tabix。
删除it_tab索引索引lv_tabix1。 "删除102
删除it_tab索引索引lv_tabix2。 "删除101
endif。
Endloop。
谢谢
Mohan
*语法可能错误,请重写自己... 在ITAB分配所在的BWART ='102'时环 贝尔尼是首创。 读取表ITAB密钥BWART ='101'时不传输任何字段 BELNR =''。 如果SY-SUBRC EQ 0。 标志='X'。 万一。 结局。 IF FLAG EQ ABAP_TRUE。 删除ITAB WHERE BWART ='102'和'101'。 万一。
排序:<内部表> BY <主键>。 使用键BWART ='102'的READ TABLE <内部表>进入 BELNR =空间 二进制搜索。 如果sy-subrc EQ 0。 使用键BWART ='101'的READ TABLE <内部表>进入 BELNR =空间 二进制搜索。 如果sy-subrc EQ 0。 从<内部表>中删除。 从<内部表>中删除。 万一。 万一。
我认为有很多解决方案,只需添加我的一个即可:)
在itab INTO wa上按(vbeln = wa-vbeln)ASSIGNING < fs_grp_key>。 如果 -vbeln是INITIAL。 循环到组 INTO wa2。 如果wa2-bwart ='102'并且line_exist( [bwart ='101'])。 其他。 it_final = VALUE#(基础(it_final)(wa2))。 万一。 结局。 其他。 it_final = VALUE#(BASE(it_final)FOR GROUP (m)中的m)。 万一。 ENDLOOP。
排序!
谢谢大家。
嗨,莫汉,
那不是我的要求。
我需要检查第一个移动类型102及其文档编号,如果它是初始的,那么我应该检查101及其文档编号。
如果两个文档号都是首字母,我将删除两行
最多设置5个标签!
嗨,
我修改了-检查一下:
将it_tab放入数据(ls_tab1)中,其中bwart = 102并且belnr =''。
Lv_tabix1 = sy-tabix。
使用键101和belnr = space将it_tab读入数据(ls_tab2)。
如果sy-subrc是初始的。
lv_tabix2 = sy-tabix。
删除it_tab索引索引lv_tabix1。 "删除102
删除it_tab索引索引lv_tabix2。 "删除101
endif。
Endloop。
谢谢
Mohan
我认为有很多解决方案,只需添加我的一个即可:)
排序!
谢谢大家。
嗨,莫汉,
那不是我的要求。
我需要检查第一个移动类型102及其文档编号,如果它是初始的,那么我应该检查101及其文档编号。
如果两个文档号都是首字母,我将删除两行
一周热门 更多>