안녕하세요..
이상하게 안되는 문제가 생겨 문의 드리네요..
Select-Option을 선언했습니다.
s_vbeln for vbak-vbeln No intervals
gt_list란 Itab이 있습니다.
gt_list에는 데이타들이 많이 들어 있습니다.
여기서 문의드립니다.
gt_list에 있는 데이타중 조건으로 입력받은 s_vbeln에 있는 값들만 나두고 모두 삭제하고 싶습니다.
s_vbeln에는 다음과 같이 값이 있다고 하면
Sign Option Low
I EQ 3965
I EQ 3966
gt_list에 입력한 값(3965,3966)을 제외한 값들은 모두 삭제하고 싶습니다.
그래서 다음과 같이
if not s_vbeln[] is initial.
delete gt_list where vbeln not in s_vbeln.
endif.
하니 gt_list에 모든 데이타가 삭제되네요..헉..
이상하네요..
댓글 5
-
e-abap
2007.10.31 19:03
-
김지성
2007.10.31 19:15
not에서 에러 걸리네요
-
e-abap
2007.10.31 19:21
not 이 아니라 in 입니다. 죄송합니다.
delete gt_list where vbeln in s_vbeln.
-
김지성
2007.10.31 22:16
자릿수 문제네요..흐미..
vbeln이 10자리인데 값은 1234 또는 123456 이렇게 10자리가 안되게 들어가면 delete가 안되네요.
그래서 함수를 써서 앞에 0을 붙혀주니 delete 구문이 정상적으로 되네요.쩝..
-
김현준
2007.11.01 02:54
gt_list-vbeln 타입도 vbap-vbeln 이걸로 하시는데 그런건지요-_-?? 타입문제가 있을수도 있겠군요...;
별문제 없어 보이는데요..
다음과 같이도 한번 해보시죠~
Sign Option Low
E EQ 3965
E EQ 3966
delete gt_list where vbeln not s_vbeln.