Hi Padma,
The standard code finds and populates the first Duty Type with VALTY = '003'. That doesn't have to be Duty Type 'W001' - you could easily configure another to receive the Statistical Value that you transfer.
BUT...
My previous answer was wrong, and I'm sorry about that. After checking the code, I now realise that you CAN transfer individual conditions using the _CVL item-level table, so your technique should work. Be sure that your mapping from Condition Type to GTS Duty Type is in either table /SAPSLL/TLCAVS or /SAPSLL/TLCAGS (Logical System or Group of Logical Systems).
Looking at your code, I think you should take a little more care with the ISO value of the currency. And if you have problems, it might be best not to transfer the Exchange Rate at first, in case that is giving problems.
Hope that helps.
Regards,
Dave