SELECT CASE WHEN ls_tmax_ut > '000000000000000' and ls_tmax_ut < '99991231235959' THEN
CAST ( TO_VARCHAR( UTCTOLOCAL( TO_TIMESTAMP (
SUBSTRING( :ls_tmax_ut,1, 12 )
|| REPLACE(SUBSTRING( :ls_tmax_ut, 13, 2 ), '60', '59' )
), 'CET' ), 'YYYYMMDDHH24MISS' ) as DEC ( 15,0 ) )
ELSE CAST ( :ls_tmax_ut as DEC ( 15,0 ) ) END
INTO ls_tsmax_lt FROM DUMMY;
SELECT CASE WHEN ls_tmax_ut > '000000000000000'
and ls_tmax_ut < '99991231235959'
THEN CAST ( TO_VARCHAR( UTCTOLOCAL( TO_TIMESTAMP ( SUBSTRING( :ls_tmax_ut,
1,
12
) || REPLACE( SUBSTRING( :ls_tmax_ut,
13,
2
),
'60',
'59'
)
),
'CET'
),
'YYYYMMDDHH24MISS' ) as DEC ( 15,0 ) )
ELSE CAST ( :ls_tmax_ut as DEC ( 15,0 ) )
END
INTO ls_tsmax_lt FROM DUMMY;