ABAP 코딩 (8) MOVE, READ TABLE

빵섭·2024년 8월 25일
0

💻 SYNC-ABAP 코딩

목록 보기
8/9
post-thumbnail

🌞 MOVE

MOVE [보낼변수 or 값] TO [받을변수] : 값을 할당할 때 사용

MOVE-CORRESPONDING [A structure] TO [B structure]

→ A 스트럭처의 값을 B 스트럭처의 필드의 맞게 값을 할당해줌.


🌞 READ TABLE

💡 [ READ TABLE ]

테이블의 특정 행을 읽어오는 것
READ TABLE [테이블] INTO [스트럭처]


💡 [ READ TABLE, MOVE 실습 ]

[ 문제 ]

DATA : BEGIN OF gs_matinfo,
`       matnr TYPE zc516t0035-matnr,
         werks TYPE zc516t0035-werks,
         mtart TYPE zc516t0035-mtart,
         pstat TYPE zc516t0035-pstat,
         ekgrp TYPE zc516t0036-ekgrp,
         dispo TYPE zc516t0036-dispo,
         beskz TYPE zc516t0036-beskz,
       END OF gs_matinfo,

       gt_matinfo LIKE TABLE OF gs_matinfo.

CLEAR   : gs_matinfo.
REFRESH : gt_matinfo.

SELECT matnr werks mtart matkl vpsta pstat  " 테이블1번 select
  INTO CORRESPONDING FIELDS OF TABLE gt_matinfo
  FROM zc516t0035.

*cl_demo_output=>display( gt_matinfo ). " ITAB 확인

SELECT matnr werks ekgrp dispo beskz " DATA 추가
  APPENDING CORRESPONDING FIELDS OF TABLE gt_matinfo
  FROM zc516t0036.

IF gt_matinfo is INITIAL. " 한번만 확인한다.
  WRITE 'NO data.'.
  STOP.
ENDIF.

*cl_demo_output=>display( gt_matinfo ). " ITAB 확인

LOOP AT gt_matinfo INTO gs_matinfo.

  gs_matinfo-ekgrp = 'Z05'.
  gs_matinfo-pstat = 'DAB'.

  MODIFY  gt_matinfo FROM gs_matinfo INDEX sy-tabix
  TRANSPORTING ekgrp pstat.

ENDLOOP.

cl_demo_output=>display( gt_matinfo ). " ITAB 확인

sy-subrc 체크를 할 때, select 한 메인 데이터만 체크.
빈 필드를 채우기 위해 select 한 테이블은 보조 테이블이므로 체크할 필요가 없다.

profile
ABAP / SAP

0개의 댓글