I need to concatonate an varchar2(8) date field, format of YYYYMMDD to a varchar2(7) time field, format of HHMMSSS and make a normal Oracle DATE field out of it.

I have tried the following procedure:

create or replace procedure my_dates
as
v_date_char varchar2(16);
v_new_date DATE;
cursor c_time is
select test_date, test_time from dsw_date;
begin
for t_rec in c_time LOOP
EXIT WHEN c_time%NOTFOUND;
v_date_char := t_rec.test_date || ' ' || t_rec.test_time;
v_new_date := to_date(v_date_char, 'YYYYMMDD HHMMSSS');
dbms_output.put_line(v_date_char || ' ' || v_new_date);
end loop;
end;

But get this error on execution:
ERROR at line 1:
ORA-01810: format code appears twice
ORA-06512: at "MY_DATES", line 11
ORA-06512: at line 1

Can someone help me with TO_DATE to accomplish this? Thanks in advance.