matinal:SAP ABAP 7.40及以上新语法CORRESPONDING用法

一、工作区Work Area

​DATA: gt_out    TYPE STANDARD TABLE OF zssd005_out_1,
      gs_out    TYPE zssd005_out_1.
 
**********************************************
*OLD SYNTAX:先定义工作区ls_export
DATA: ls_export TYPE zssd005_out_2.
 
  LOOP AT gt_out INTO gs_out.
    MOVE-CORRESPONDING gs_out TO ls_export.
  ENDLOOP.
 
**********************************************
*NEW SYNTAX:不需要预先定义工作区ls_export
  LOOP AT gt_out INTO gs_out.
    DATA(ls_export) = CORRESPONDING zssd005_out_2( gs_out ).
  ENDLOOP.​

工作区(mapping&except)

REPORT ztest.
 
DATA:BEGIN OF ls_data1,
       fd1 TYPE char10,
       fd2 TYPE char10,
       fd3 TYPE char10,
     END OF ls_data1.
 
DATA:BEGIN OF ls_data2,
       fd1 TYPE char10,
       fd2 TYPE char10,
       fd4 TYPE char10,
     END OF ls_data2.
 
ls_data1 = VALUE #( fd1 = |First|
                    fd2 = |Second|
                    fd3 = |Third| ).
 
ls_data2 = CORRESPONDING #( ls_data1 ).
WRITE: / |****************************************|.
WRITE: / |*CORRESPONDING NO MAPPING AND NO EXCEPT*|.
WRITE: / |FD1:|,ls_data2-fd1,|FD2:|,ls_data2-fd2,|FD4:|,ls_data2-fd4.
SKIP.
ls_data2 = CORRESPONDING #( ls_data1 MAPPING fd4 = fd3 ).
WRITE: / |****************************************|.
WRITE: / |*CORRESPONDING MAPPING AND NO EXCEPT*|.
WRITE: / |FD1:|,ls_data2-fd1,|FD2:|,ls_data2-fd2,|FD4:|,ls_data2-fd4.
SKIP.
ls_data2 = CORRESPONDING #( ls_data1 EXCEPT fd2 ).
WRITE: / |****************************************|.
WRITE: / |*CORRESPONDING NO MAPPING AND EXCEPT*|.
WRITE: / |FD1:|,ls_data2-fd1,|FD2:|,ls_data2-fd2,|FD4:|,ls_data2-fd4.
SKIP.
ls_data2 = CORRESPONDING #( ls_data1 MAPPING fd4 = fd3 EXCEPT fd2 ).
WRITE: / |****************************************|.
WRITE: / |*CORRESPONDING MAPPING AND EXCEPT*|.
WRITE: / |FD1:|,ls_data2-fd1,|FD2:|,ls_data2-fd2,|FD4:|,ls_data2-fd4.

二、内表 Internal table

REPORT ZTEST.
 
DATA: LT_T001 TYPE STANDARD TABLE OF ACDOCA.
 
SELECT
  BUKRS,
  BELNR,
  GJAHR,
  BUZEI
  FROM BSEG
  UP TO 3 ROWS
  INTO TABLE @DATA(LT_BSEG).
 
"CORRESPONDING
LT_T001 = CORRESPONDING #( LT_BSEG MAPPING RBUKRS = BUKRS
                                           DOCLN  = BUZEI ).
"Display data
CL_SALV_TABLE=>FACTORY(
      IMPORTING
        R_SALV_TABLE = DATA(LCL_ALV)
      CHANGING
        T_TABLE      = LT_T001 ).
 
LCL_ALV->DISPLAY( ).

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值