안녕하세요
class ALV에 시 분 초를 입력 받는 FROM , TO 필드가 있고
이 두 필드를 비교한 값으로 MIN필드를 display 필드로 출력하는 Report가 있습니다.
시 분 초를 입력하는 필드는 간단히 sy-uzeit data type으로 선언을 하였는데요.
From 필드와 To 필드에 각 각 해당 시 분 초를 입력하면
From - 16:16:00
To - 17:00:00
ALV Change Event로 계산하여 Min필드에 44를 넣고 싶습니다.
간단할거 같은데요. 머가 잘 안되냐면요.
From 필드에 16:16:00을 넣고 change event를 발생하면 field value에 당연히 16:16:00 값이 들어오고
이 값을 second나 기타 등등으로 변경 후 To필드값과 차이를 분석해야하는데요.
좀 창피하지만 이런게 잘 안되네요.
제가 찾고 싶은 펑션은 16:16:00으로 데이터가 들어오거나 161600으로 데이터가 들어올때
모두 초단위로 변경한다거나 기타 등등으로 변경하여
( To - From )를 하여 MIN 값을 얻고 싶습니다.
고수님들의 답변 부탁드립니다
꾸벅.
댓글 4
-
도도마녀
2009.10.13 03:44
-
테라스
2009.10.13 04:03
from 에서 to 를 빼고 60으로 나누면 몇분인지 나옵니다 -
지의
2009.10.13 09:05
3년차 라고 하시니 힌트만 드리겠습니다.
시간 필드의 1분을 type pack 에 넣으면 60 이라는 값이 됩니다.
반대로 해도 됩니다.
힌트만 드릴려고 했는데 쓰고 보니 이건 답이네요 ㅋㅋ
참고하세요. ^^
-
요요
2009.10.13 17:18
date(d) 와 time(t) 타입은 같은 유형으로 계산이 가능합니다.
위의 time = to_time - from_time 으로 계산하신후에
time(2) * 60 + time+2(2) 하시면 초단위를 무시한 시간에 분단위 시간을
구하실 수 있습니다.
초로 변경할실꺼면
( (TO시간+0(2) * 3600 )+ (TO시간+2(2) * 60) + TO시간+4(2) ) -
( (FROM시간+0(2) * 3600) + (FROM시간+2(2) * 60) + FROM시간+4(2) )
이런식으로 초로 환산하셔서 계산하시면 될듯 한데요