TABLES sflight.
DATA wa TYPE sflight.
MOVE 'LH' TO wa-carrid.
MOVE '0064' TO wa-connid.
UPDATE sflight FROM wa.
UPDATE sflight
SET price = '100'
WHERE carrid = 'AZ'
AND connid = '0011'.
IF sy-subrc EQ 0.
WRITE 'Update를 성공하였습니다'.
ENDIF.
오류가 뜨는건 아닌데 업데이트가 성공했으면 '
'Update를 성공하였습니다'. 이 문장이 떠야 하는거 아닌가요?
아무런 반응이 없네요...^^;;; 왜 그럴까요???? Update를 실패해서 그런가요??(실패라면 왜 실패했는지도 좀...^^;;;)
(혹시 테이블에 데이터가 없어서 그런건가요??)
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
공지 | e-abap에서 출간된 책 소개 [8] | 양키 | 2013.01.31 | 11774 |
85 | 134p 3-6-2 [1] | baishui | 2013.06.14 | 728 |
84 | 150p 4-2-1 [3] | baishui | 2013.06.14 | 768 |
83 | 151p 4-2-2 [1] | baishui | 2013.06.17 | 890 |
82 | 158ㅔ 4-2-5 [2] | baishui | 2013.06.17 | 865 |
81 | 164page 예제 4-2-8 [1] | baishui | 2013.06.17 | 859 |
80 | 171 page 예제 4-2-9 [3] | baishui | 2013.06.17 | 794 |
79 | 점점 어려워 지네요.....ㅜ.ㅜ [2] | baishui | 2013.06.18 | 1157 |
78 | p176 4-2-12 [3] | baishui | 2013.06.18 | 818 |
77 | p194 4-3-1 [2] | baishui | 2013.06.18 | 877 |
» | p196 4-3-2 질문입니다 [1] | baishui | 2013.06.19 | 819 |
75 | p198 4-3-3 질문이요 [2] | baishui | 2013.06.19 | 860 |
74 | 202 page 4-4-1 예 [1] | baishui | 2013.06.21 | 1103 |
73 | 216P 5-2-2 | baishui | 2013.06.21 | 827 |
72 | p218 5-2-3 [1] | baishui | 2013.06.21 | 823 |
71 | 223page 5-3-1 [1] | baishui | 2013.07.02 | 758 |
70 | 229pgae 5-3-4 | baishui | 2013.07.02 | 763 |
69 | 232page 예제 5-3-6 / 5-3-7 [1] | baishui | 2013.07.03 | 1673 |
68 | 234page 예제 5-4-1 | baishui | 2013.07.03 | 783 |
67 | 238p 5-6-1 [1] | baishui | 2013.07.03 | 927 |
66 | 240page | baishui | 2013.07.03 | 2366 |
일단 안뜨는건 데이터가 없어서 그럽니다. TD를 CARRId = 'AA, CONNID = '0017'로 두고 해보세요.
첫번째 UPDATE FROM 은 단일 레코드만 업데이트 하는 구문입니다.
따라서, CARRID와, CONNID만으로는 하나의 엔트리만을 추출할수가없겠죠? AA/0017인게 많으니깐요.
그래서 키값은 FLDATE 필드까지 지정해주시고..
값을 봐꿀필드.. 에도 값을 넣어주시면 그 필드가 값이 봐뀌게 될겁니다.
예를들면..
MOVE 'AA' TO wa-carrid.
MOVE '0017' TO wa-connid.
MOVE '20120215' to wa-FLDATE.
MOVE 1000 to wa-PRICE.
UPDATE sflight FROM wa.
이렇게..?
그리구 두번째 방법은 조건에 맞는 여러 엔트리의 값을 봐꾸는거구요 결과가 안뜨는건 AZ/0011인 값이 없어서 그렇습니다.
UPDATE sflight
SET price = '100'
WHERE carrid = 'AA'
AND connid = '0017'. 로 해보시면 price 가 100으로 바뀐걸 확인 하실 수 있으실겁니다.
그리구 위 코드대로하면.. 첫번째 방법이 성공해도 두번째방법이 실패하면 결과가 뜨지 않아요..
첫번째 방법 후에
IF sy-subrc EQ 0.
WRITE '1번방법으로 Update를 성공하였습니다'.
ENDIF.
2번째 방법 후에
IF sy-subrc EQ 0.
WRITE '2번방법으로 Update를 성공하였습니다'.
ENDIF.
요렇게 넣어주시면 결과 확인하기도 쉬우실꺼같아요 '_'..