one of your insert values does not correspond to the column definition.
example of what this means:
you are trying to insert a character 'c' into a numeric field
I suggest outputting ALL of your variables as you get that error to see
what columns are getting what data.
a quick way to do this is to create a TEMP table like the one you are inserting into, but make EVERY column varchar2
then run your insert code to load that temp table. if it inserts correctly (which it should since every column is varchar now) then take a look at what values are in each column of the temp-table.
you can lead someone to something but they will never learn anything ...