DO hogi_no TIMES. => 1)
IF itab_pp-fcharg NE '0000000000'.
v_cnt = v_cnt + 1.
IF v_cnt = 1.
charg_sum = shogi.
i_spec-userc1 = charg_sum.
ELSE.
charg_sum = charg_sum + 1 .
i_spec-userc1 = charg_sum .
ENDIF.
ELSE.
ENDIF.
CONDENSE i_spec-userc1.
APPEND i_spec.
ENDDO.
loop at itab00. =>2)
clear i_sn.
i_sn-userc1 = itab00-hogi.
append i_sn.
clear i_spec.
move-corresponding itab00 to i_spec.
condense i_spec-value1.
condense i_spec-value2.
condense i_spec-value3.
append i_spec.
endloop.
1)을 돌리면
hogi
100
101
102
103
과 같이 순서대로 해당값을 증가시켜 레코드를 출력합니다.
2)에서는 테이블에서 hogi에 있는 데이터만 출력합니다.
101과 102가 각각 데이터가 있다면 아래와 같은 출력을 해야 하는데
hogi value1 value2 value3
100
101 10 20 30
102 11 21 31
103
위와 같이 하면 현재는
100
101
102
103
101 10 20 30
102 11 21 31
와 같이 나옵니다.
1)의 hogi와 2)의 hogi를 매칭시키는 방법을 생각 했을때
1)을 먼저 읽어서 hogi를 출력한뒤 2)를 읽어 같은 값이면 modify를 해주면
될거 같아 위와 같이 했는데 2)에서는 modify를 할 수 없어
고수님들의 의견을 듣고자 문의드립니다.
댓글 5
-
초보아밥퍼
2008.03.27 19:39
-
풍뎅이
2008.03.27 20:56
초보아밥퍼님 답변 감사합니다.
modify i_spec index sy-index.를 하면
sy-index가 1이어서 항상 1번째 줄에 값을 modify 시킵니다.
해당 키값이 있는 라인을 설정하려면 modify i_spec index sy-index.에서
sy-index의 설정을 어떻게 해야 하는지.. -
풍뎅이
2008.03.27 21:47
답변 모두 감사드립니다. -
초보아밥퍼
2008.03.27 21:52
어허허 sy-tabix를 안쓰고 sy-index를 썼군요... 미쓰테이쿠..
-
아밥초짜
2008.06.05 22:12
감사합니다
정확한 의도를 잘 몰라서요...
1)을 돌리면 저렇게 나오신다고 했는데 아래부분2)을 보면 같은 인터널 테이블로
또 append를 하셨으면 데이터가 8개가 나올듯한데...
잘몰라서 그냥 올려봅니당. ^^:
loop at itab00.
clear i_sn.
i_sn-userc1 = itab00-hogi.
append i_sn.
clear i_spec.
read table i_spec with key hogi = itab00-hogi.
if sy-subrc = 0.
move-corresponding itab00 to i_spec.
condense i_spec-value1.
condense i_spec-value2.
condense i_spec-value3.
modify i_spec index sy-index.
else.
move-corresponding itab00 to i_spec.
condense i_spec-value1.
condense i_spec-value2.
condense i_spec-value3.
append i_spec.
endif.
endloop.