2012-05-10 2 views
0

나는 변수에서 'timestampl'유형을 사용하는 ABAP 프로그램을 가지고 있으므로 특정 이벤트의 시간을 알 수 있습니다. 그들은 밀리 세컨드가 필요하기 때문에 그것을 사용합니다.2 타임 스탬프 간의 차이점

이제는이 변수들 중 두 가지 차이점을 얻으려는 임무를 띠고 있으며, 함수 모듈이나 다른 솔루션을 찾지 못했습니다.

도움을 주시면 감사하겠습니다.

+0

은 그것을 뺍니까? 이슈가 뭐야 ? :-) – zod

+0

음, 직접 빼기가 갈 길이라는 것이 확실하지 않습니다. 그 달에 따라 다른 날을 고려하고 있습니까? – Laloski

답변

1

Google 검색에서 다음 권장 사항이 표시됩니다. http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/840ad679-0601-0010-cd8e-9989fd650822#q-8 : CL_ABAP_TSTMP 클래스를 사용합니다. 이 스레드에서 클래스를 사용하는 방법의 예인 http://scn.sap.com/thread/85476을 볼 수도 있습니다.

cl_abap_tstmp=>systemtstmp_syst2utc(
    exporting 
     syst_date = <wa_joblist>-strtdate 
     syst_time = <wa_joblist>-strttime 
    importing 
     utc_tstmp = start_stamp). 

    cl_abap_tstmp=>systemtstmp_syst2utc(
    exporting 
     syst_date = sy-datum 
     syst_time = sy-uzeit 
    importing 
     utc_tstmp = now_stamp). 

    seconds = cl_abap_tstmp=>subtract(
     tstmp1 = now_stamp 
     tstmp2 = start_stamp). 
+1

이것은 실제로 밀리 초 단위의 델타를 요구하는 질문에 대답하지 않습니다. – tomdemuyt

0

사용하여 FM * 'CCU_TIMESTAMP_DIFFERENCE'*

타임 스탬프가 큰 FM 신고를 확인한 후.

IF TIMESTAMP_2 > TIMESTAMP_1. 

CALL FUNCTION 'CCU_TIMESTAMP_DIFFERENCE' 
    EXPORTING 
     TIMESTAMP1 = TIMESTAMP_2 
     TIMESTAMP2 = TIMESTAMP_1 
    IMPORTING 
     DIFFERENCE = TIMESTAMP_DIFFERENCE. 
EndIf. 
1

CCU_TIMSTAMP_DIFFERENCE은 짧은 타임 스탬프를 허용하지만 FM 유용되지 않도록 그들이 밀리 초에서 작동 것이 도움이 될 것입니다 바랍니다.

올바르게 초, 밀리 초 2 타임 스탬프 사이의 차이를 반환 정적 메소드

DATA: lv_tstmp1 TYPE timestampl, 
     lv_tstmp2 TYPE timestampl, 
     lv_diff TYPE tzntstmpl. 

CALL METHOD cl_abap_tstmp=>subtract 
    EXPORTING 
     tstmp1 = lv_tstmp1 
     tstmp2 = lv_tstmp2 
    RECEIVING 
     r_secs = lv_diff. 

을보십시오.