Está função é muito importante para realização de calculos entre datas, ela retorna a diferença entre dias e horas de uma data inicial e uma data final, onde pode-se descobri a diferença entre dias, horas, minutos e segundos.
Entrada:
Data Inicial
Hora Inicial
Data Final
Hora Final
Saída:
Diferença entre dias = data_final – data_inicial
Diferença entre horas = hora_final – hora_inicial.
Para saber a quantidade de hora total entre a data inicial use a seguite formula:
( Diferença entre dias * 24 ) + Diferença entre horas
Para saber a quantidade de minutos total entre a data inicial use a seguite formula:
( ( Diferença entre dias * 24 ) + Diferença entre horas ) * 60
Para saber a quantidade desegundos total entre a data inicial use a seguite formula:
( ( ( Diferença entre dias * 24 ) + Diferença entre horas ) * 60 ) * 60
Exemplo:
DATA: DATA1 TYPE SY-DATUM,DATA2 TYPE SY-DATUM,
HORA1 TYPE SY-UZEIT,
HORA2 TYPE SY-UZEIT,
DIFD TYPE P,
DIFH TYPE P.
DATA1 = SY-DATUM.
DATA2 = SY-DATUM + 2.
HORA1 = SY-UZEIT.
HORA2 = SY-UZEIT – 1800.
DATA: CALCULOAUX TYPE P,
CALCULOTOT TYPE P.
CALL FUNCTION ‘/SDF/CMO_DATETIME_DIFFERENCE’
EXPORTING
DATE1 = DATA1
TIME1 = HORA1
DATE2 = DATA2
TIME2 = HORA2
IMPORTING
DATEDIFF = DIFD
TIMEDIFF = DIFH
EXCEPTIONS
INVALID_DATETIME = 1
OTHERS = 2.
CALCULOAUX = DIFD * 24.
CALCULOTOT = CALCULOAUX + DIFH.
WRITE: / ‘DATA INICIAL: ‘, DATA1, ‘ DATA FINAL: ‘, DATA2,
/ ‘HORA INICIAL: ‘, HORA1, ‘ HORA FINAL: ‘, HORA2,
/ ‘TOTAL: ‘, CALCULOTOT.
Filed under: Artigos ABAP/4 - Basicos, Função, Utilitarios | Tagged: /SDF/CMO_DATETIME_DIFFERENCE, calculo data, data, DATETIME_DIFFERENCE, hora | Leave a comment »