Hello Aishwarya,
Can you please let me know what exactly are you trying to do. As I coded the same at for me it's working fine as whatever you are passing in SPOOL for I_testrun , same will be used by Meta_dpo_transfer. Also as you said it calls internally B46B_DPO_TRANSFER, then yes you are correct as when you directly call B46B_DPO_TRANSFER then there is a problem with control_record as it doesn't get fills and always you will find an error. Now can you pass blank instead of abap_true and check again.
Thanks
Gaurav Gautam