안녕하세요..
순간..기억이 안나네요..
internal table에 한 줄을 읽어 필드 값을 변수에 저장하려고 합니다.
예를 들어 다음과 같이 있네요
DATA : BEGIN OF lt_kawrt OCCURS 0,
kposn LIKE konv-kposn,
kschl LIKE konv-kschl,
kawrt LIKE konv-kawrt,
END OF lt_kawrt.
data : l_kschl like konv-kschl.
Select 문을 이용하여 lt_kawrt 테이블에 데이타를 저장했다고 가정합니다.
lt_kawrt 에는 10건의 데이타들이 있다고 가정하면
그 다음 키값을 사용하지 않고 lt_kawrt에서 데이타 한건을 가져오려고 합니다.
Clear : lt_kawrt.
Read table lt_kawrt index 1.
if sy-subrc eq 0.
l_kschl = lt_kawrt-kschl.
endif.
위와 같이 실행하면 당연히 l_kschl에는 lt_kawrt 의 첫번재 레코드의 kschl 값이 저장되어야
하지 않나요?
휴~~~
댓글 8
-
김지성
2007.05.11 23:56
-
鵬
2007.05.12 00:45
clear 이후에 read 했기 때문에 헤더에 값이 잘 올라갔을 것 같은데요...
clear : it_kawrt 가 문제였다면 어떤문제 였는지요???
-
e-abap
2007.05.12 01:05
그렇네요..
-
김지성
2007.05.12 01:25
Clear : lt_kawrt. 구문을 삭제하니 l_kschl 변수에 값이 저장되네요..쩝...
鵬님 리플처럼 아마도 Clear이후에 Read를 했기 때문이 아닌가 싶네요..
즐거운 하루 보내세요
-
e-abap
2007.05.12 01:32
clear 하고 나면 read 해도 헤더에 안올라간다는 말인가요? 이상한데.. 테스트해봐야 겟네요. -
e-abap
2007.05.12 01:34
문제 없는데요...
DATA : BEGIN OF lt_kawrt OCCURS 0,
kposn LIKE konv-kposn,
kschl LIKE konv-kschl,
kawrt LIKE konv-kawrt,
END OF lt_kawrt.
data : l_kschl like konv-kschl.
lt_kawrt-kposn = 'A'.
lt_kawrt-kschl = 'A'.
APPEND LT_KAWRT.
lt_kawrt-kposn = 'B'.
lt_kawrt-kschl = 'B'.
APPEND LT_KAWRT.
Clear : lt_kawrt.
Read table lt_kawrt index 1.
if sy-subrc eq 0.
l_kschl = lt_kawrt-kschl.
endif.
-
鵬의 날개
2007.05.12 01:40
음...아무래도 read 이후에 clear 를 하신게 아닐까 합니다만... -
during
2007.05.16 06:54
좋은 답변입니다.
ㅠ.ㅠ Clear : lt_kawrt.때문이네요..쩝..