ABAP新语法——MOVE-CORRESPONDING新语法


1.工作区

 1 *&---------------------------------------------------------------------*
 2 *CORRESPONGDING关键字
 3 *关键字MAPPING指定不同字段赋值
 4 *关键字EXCEPT排除某个字段不赋值
 5 *&---------------------------------------------------------------------*
 61.工作区相同字段赋值
 7 DATA:BEGIN OF ls_data1,
 8              fd1 TYPE char10,
 9              fd2 TYPE char10,
10              fd3 TYPE char10,
11          END OF ls_data1,
12     
13          BEGIN OF ls_data2,
14              fd1 TYPE char10,
15              fd2 TYPE char10,
16              fd4 TYPE char10,
17          END OF ls_data2.
18 
19 ls_data1 = VALUE #( fd1 = |First| 
20                     fd2 = |Second|
21                     fd3 = |Third| ).
22 
23 "相同字段赋值
24 ls_data2 = CORRESPONDING #( ls_data1 ).
25 WRITE:/ |FD1:|,ls_data2-fd1, |FD2:|,ls_data2-fd2,
26              |FD4:|,ls_data2-fd4.
27 
28 "相同字段赋值基础上,指定把ls_data1-fd3赋值给ls_data2-fd4
29 ls_data2 = CORRESPONDING #( ls_data1 MAPPING fd4 = fd3 ).
30 WRITE:/ |FD1:|,ls_data2-fd1, |FD2:|,ls_data2-fd2,
31              |FD4:|,ls_data2-fd4.
32 
33 "相同字段赋值的基础上,排除fd2不赋值(注:EXCEPT时是将EXCEPT的字段置为空而不是不赋值)
34 ls_data2 = CORRESPONDING #( ls_data1 EXCEPT fd2 ).
35 WRITE:/ |FD1:|,ls_data2-fd1, |FD2:|,ls_data2-fd2,
36              |FD4:|,ls_data2-fd4.
37 
38 "相同字段赋值基础上,指定把ls_data1-fd3赋值给ls_data2-fd4,排除fd2不赋值
39 ls_data2 = CORRESPONDING #( ls_data1 MAPPING fd4 = fd3 EXCEPT fd2).
40 WRITE:/ |FD1:|,ls_data2-fd1, |FD2:|,ls_data2-fd2,
41              |FD4:|,ls_data2-fd4.                                                    

2.内表

 1 DATA:lt_001 TYPE TABLE OF ACDOCA.
 2 
 3 SELECT 
 4     bukrs,
 5     belnr,
 6     gjahr,
 7     buzei,
 8     FROM bseg
 9     UP TO 3 ROWS
10     INTO TABLE @DATA(lt_besg).
11 
12 lt_001 = CORRESPONDING #( lt_besg MAPPING rbukrs = bukrs 
13                                           docln  = buzei ).

3.RANGE表

1 RANGES:lr_rank FOR mara-matnr.
2 lr_rank[] = CORREPONGDING #(gt_data MAPPING low = matnr
3                                     EXCEPT * ).
4 lr_rank-sign = 'I'.
5 lr_rank-option = 'EQ'.
6 MODIFY lr_rank TRANSPORTING sign option WHERE low IS NOT INITIAL.
7 
8 SORT lr_rank BY low.
9 DELETE ADJACENT DUPLICATES FROM lr_rank COMPARING low.                                                    

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM