인터널 테이블에서 O, X 값을 체크 하려고 합니다.
인터널 테이블 ITAB 과 IT_KEY 가 있습니다.
인터널 테이블 ITAB-KEY 값에 모두 O 가 나오면 IT_KEY-KEY 에 O 값을 넣어주고
ITAB-KEY 값에 하나라도 X 가 나오면 IT_KEY-KEY 에 X 값을 넣어주려 합니다.
단 ITAB-KEY 값은 유동적입니다. 많아질수도 있고 적어질수도 있습니다.
근데 위 로직을 쉽게 짜야하는데 잘 생각이 나지 않습니다.
위 로직을 쉽게 짜는 방법이 있을까요?
댓글 3
-
아밥어렵네요
2009.02.12 00:35
-
매서커
2009.02.12 00:41
안녕하세요.
아래처럼하면 될것 같습니다.
SORT ITAB BY KEY.
READ TABLE ITAB WITH KEY KEY = 'X' BINARY SEARCH.
IF SY-SUBRC EQ 0.
IT_KEY-KEY = 'X'.
ELSE.
IT_KEY-KEY = 'O'.
ENDIF.
좋은 하루되세요.
-
초보생
2009.02.12 01:14
IT_KEY-KEY 값은 ITAB 의 모든 필드를 비교하여 ITAB-KEY 의 모든 값이 'O' 이면 IT_KEY-KEY 한 라인의 필드에 'O' 값을 주고
ITAB-KEY 의 모든 값중에 하나라도 'X' 가 있으면 IT_KEY-KEY 한 라인에 'X' 값을 주는 것입니다.
data : l_count type i.
clear l_count.
loop at ITAB where key = 'x'.
l_count = count + 1.
endloop.
if l_count > 0.
it_key-key = 'X'.
MODIFY IT_KEY TRANSPORTING KEY WHERE KEY = '0'.
else.
it_key-key = '0'.
MDOFY IT_KEY TRANSPORTING KEY WHERE KEY = 'X.
endif.
실제 돌려보지는 않았지만 이렇게 하면 될듯 해요