1. UPDATE

UPDATE INTO <target> <lines>.

- 테이블의 하나 또는 여러 line을 변경한다. 

- target은 테이블 이름으로, 동적 선언이 가능하다.

 

UPDATE <dbtab> [CLIENT SPECIFIED] <lines>.

- client지정이 가능하며, 테이블 명을 동적/정적으로 선언 가능하다.

 

 

1. 구조체 하나로 업데이트할 때 (UPDATE ... FROM)

DATA: gs_scarr TYPE scarr,
      gv_carrid TYPE scarr-carrid.

gv_carrid = 'AA'.

gs_scarr-carrid = gv_carrid.
gs_scarr-carrname = 'Updated Airline'.
gs_scarr-url = 'https://updated-airline.com'.

UPDATE scarr FROM gs_scarr.

CLEAR gs_scarr.
SELECT SINGLE * INTO gs_scarr FROM scarr WHERE carrid = gv_carrid.

WRITE: / 'Carrid:', gs_scarr-carrid,
       / 'Carrname:', gs_scarr-carrname,
       / 'URL:', gs_scarr-url.

 

 

2. 필드를 지정해서 업데이트할 때

UPDATE scarr
  SET carrname = 'Korea Airlines', url = 'https://www.koreanairlines.com'
  WHERE carrid = 'KO'.

 

UPDATE scarr SET carrname = 'Korea Airlines', url = 'https://www.airlinekorean.com'
WHERE carrid = 'KO'.

* DB에서 다시 읽어오기
SELECT SINGLE * INTO gs_scarr FROM scarr WHERE carrid = 'KO'.

WRITE: / 'carrid: ', gs_scarr-carrid,
         / 'CARNAME: ', gs_scarr-carrname,
         / 'URL: ', gs_scarr-url.

URL이 바뀐 것을 확인할 수 있다.

db에서 읽어오려면, SELECT 로 DB를 읽어올 수 있다.

- 이렇게 하면 UPDATE가 성공적으로 되는 것을 확인할 수 있다!

 

 

3. 내부 테이블로 여러 행 업데이트 (UPDATE FROM TABLE)

DATA: gt_scarr TYPE STANDARD TABLE OF scarr,
      gs_scarr TYPE scarr.

" 첫 번째 업데이트 데이터
gs_scarr-carrid   = 'AA'.
gs_scarr-carrname = 'Updated American'.
gs_scarr-url      = 'https://www.updatedaa.com'.
APPEND gs_scarr TO gt_scarr.

" 두 번째 업데이트 데이터
gs_scarr-carrid   = 'AF'.
gs_scarr-carrname = 'Updated France'.
gs_scarr-url      = 'https://www.updatedaf.com'.
APPEND gs_scarr TO gt_scarr.

" 내부 테이블로 업데이트
UPDATE scarr FROM TABLE gt_scarr.

" 확인용 SELECT 출력
CLEAR gs_scarr.
SELECT SINGLE * INTO gs_scarr FROM scarr WHERE carrid = 'AA'.
WRITE: / 'AA ->', gs_scarr-carrname, gs_scarr-url.

SELECT SINGLE * INTO gs_scarr FROM scarr WHERE carrid = 'AF'.
WRITE: / 'AF ->', gs_scarr-carrname, gs_scarr-url.

'SAP' 카테고리의 다른 글

easy abap 14. modify  (0) 2025.05.09
easy abap 13. Delete  (0) 2025.05.09
easy abap 11. INSERT  (0) 2025.05.09
easy abap 10. select - join & 그 외 문법  (0) 2025.05.09
easy abap 09. SELECT  (0) 2025.05.08

+ Recent posts