본문 바로가기

SAP ABAP/ABAP Dictionary

ABAP - ITAB에서 레코드 삭제

 

위 코드는 gs_sbook에 담긴 데이터 중 Custtype이 P인 레코드를 찾아 삭제하는 코드다.

LOOP AT gt_sbook INTO gs_sbook WHERE invoice = 'X'
			    	  OR smoker  = 'X'.
                                  
"Custtype P인 레코드 삭제"
  CASE 'P'.
  	WHEN gs_sbook-custtype.
  	   DELETE gt_book INDEX sy-tabix.
       CONTINUE.
  ENDCASE.
  
  gs_sbook-billing = 'X'.
  
  MODIFY gt_sbook FROM gs_sbook INDEX sy-tabix.
  Transporting billing.
  
ENDLOOP.

 

gt_sbook의 데이터를 invoice 혹은 smoker의 조건 값을 찾아 gs_sbook으로 하나 씩 읽는다.

 

CASE문에  DELETE를 추가해서 일치하는 값을 찾아 삭제한다.

 

더 적은 로직 수행을 위해 미리 삭제하고 조회한다.

 

Continue를 넣어서 해당 조건에 대한 작업을 Skip한다.

DELETE gt_sbook WHERE invoice = 'X'
		   OR smoker  = 'X'.

만약 DELETE에 조건을 추가하고 싶다면 WHERE 조건문을 추가할 수 있다.

'SAP ABAP > ABAP Dictionary' 카테고리의 다른 글

ABAP - ITAB에 INCLUDE  (0) 2024.06.14
ABAP - CORRESPONDING  (0) 2024.06.13
ABAP - Append & Collect  (2) 2024.06.10
ABAP - Internal Table, Work Area  (0) 2024.04.16
ABAP - 데이터가 쌓이는 모습  (0) 2024.04.15