아래 구문중 인터널 테이블 값인 아래 컬럼들을 동적으로 변경하여 계산할수 있나요..
아래컬럼은 it_temp-dat01~31 까지 있는데.. 각조건별로 동적으로 컬럼합을 구해야 합니다..
3개의 조건건값들이 필요에 따라 변경 할수 있는지.....
it_temp-datXX, it_temp-datXX, it_temp-datXX
혹 방법이 있을까 하여 질문드립니다.
ADD it_temp-dat01 THEN it_temp-dat02 UNTIL it_temp-dat03
GIVING it_list-dat01 ACCORDING TO lr_total.
부탁드립니다.
댓글 6
-
woong
2010.04.16 01:00
-
SAP너이늠
2010.04.16 02:42
woong 님 감사합니다. 필드심볼 좋은 기능이네요.. 완전 초보라..
우~웅님 말씀대로 아래처럼 바꿔 봤는데..오류나네욤..ㅜ.ㅜ 이렇게 쓰는거 아닌가욤..
한번만 더알려주심 감사하겠습니다...흑흑..
DO 5 TIMES.
cc = sy-index.
CONCATENATE 'it_temp-dat' lv_sunday+6(2) INTO l_dat_sta.
CONCATENATE 'it_temp-dat' lv_nextday+6(2) INTO l_dat_mid.
CONCATENATE 'it_temp-dat' lv_satday+6(2) INTO l_dat_end.
CONCATENATE 'it_list-dat' cc INTO l_dat_week.
ASSIGN (l_dat_sta) TO <fs1>.
ASSIGN (l_dat_mid) TO <fs2>.
ASSIGN (l_dat_end) TO <fs3>.
ASSIGN (l_dat_week) TO <fs4>.
ADD <fs1> THEN <fs2> UNTIL <fs3>
GIVING <fs4> ACCORDING TO lr_total.
IF cc EQ '01'.
it_list-dat01 = <fs4>.
ELSEIF cc EQ '02'.
it_list-dat02 = <fs4>.
ELSEIF cc EQ '03'.
it_list-dat03 = <fs4>.
ELSEIF cc EQ '04'.
it_list-dat04 = <fs4>.
ELSEIF cc EQ '05'.
it_list-dat05 = <fs4>.
ENDIF.
CLEAR : l_dat_sta, <fs1>, l_dat_mid, <fs2>, l_dat_end, <fs3>, l_dat_week, <fs4>.
ENDDO. -
진현태
2010.04.16 19:50
if cc eq '01'
이 if문은 없어도 될거 같은데요.?
-
페리
2010.04.16 21:47
위에 로직대로라면..
CLEAR: LR_TOTAL, LR_TOTAL[].
LR_TOTAL = 'IEQ'.
LR_TOTAL-LOW = LV_SUNDAY+6(2). APPEND LR_TOTAL.
LR_TOTAL-LOW = LV_NEXTDAY+6(2). APPEND LR_TOTAL.
LR_TOTAL-LOW = LV_SATDAY+6(2). APPEND LR_TOTAL.
ADD IT_TEMP-DAT01 THEN IT_TEMP-DAT02 UNTIL IT_TEMP-DAT31
GIVING IT_LIST-DAT01 ACCORDING TO LR_TOTAL.
MOVE IT_LIST-DAT01 TO: IT_LIST-DAT02,
IT_LIST-DAT03,
IT_LIST-DAT04,
IT_LIST-DAT05.
이렇게 해도 같을거 같네요
-
버미!
2010.04.16 23:59
ADD <fs1> THEN <fs2> UNTIL <fs3>
GIVING <fs4> ACCORDING TO lr_total.
요게 무슨 구문이지? @.@ 첨보는뎅..
-
덩콘
2010.04.17 02:13
/버미님
add 구문은 fs1 fs2의 순서를 가지는 필드들을 fs3 까지 합산해서 fs4에 넣어줍니다.
테이블필드가 A1 A2 A3 A4 A5 A6 이렇게 있고 거기에 값이 1 2 3 4 5 6 이렇게 돼있다면
ADD
THEN UNTIL GIVING 변수. ---> 변수값은 1+2+3+4+5 해서 15
ADD
THEN UNTIL GIVING 변수. ---> 변수값은 1+2+3 해서 6
이렇게 됩니다
헬프보시는게 이해가 빠르실듯 ㅎㅎ
특정 케이스에선 굳이 필드심벌을 쓰지 않더라도 간단히 해결할 수 있죠
field-symbols 을 쓰시면 금방 될거 같네요...