I am getting 'ORA-06502: PL/SQL: numeric or value error' in the following statement:

ls_message_body2 := ls_message_body2 ||
lr_log_dtl.object_id || CHR(9) ||
lr_log_dtl.field1 || CHR(9) ||
lr_log_dtl.field2 || CHR(9) ||
lr_log_dtl.field3 || CHR(9) ||
lr_log_dtl.field4 || CHR(9) ||
lr_log_dtl.field5 || CHR(13)

Datatype of ls_message_body2 is LONG. All the others are VARCHAR2.

And this error is specifically caused by 'lr_log_dtl.object_id || CHR(9) ||'! If I comment out this part of the statement, the job runs fine.

Any ideas what might be causing the problem?

Oracle version:
And this code is in a stored procedure.