In reply to Sharana Basava:
You should not be using the `uvm_do_* macros. If you are reading known values, you should be using direct assignments as well, unless there are additional fields that need to be randomized.
req = xx_transaction_type::type_id::create("req");
start_item(req);
req.addr = address_from_file;
req.data = data_from_file;
finish_item(req);