Another important point, you need to perform Initial check before calling this function module.
If source_fields-crm_due_dt is not initial.
rest of the code
..........................
--------------------
endif .
If you pass '00000000000000' to this FM, it would take current time in UTC and add 8 hours to it.
That would be wrong calculation for you .
Regards
Anindya