Unable to get the virtual interface from UVM Config DB

Can anyone help me what wrong I am doing here, as a result, there is a null access while using the config_db get.

The syntax used for setting the virtual interface:

svt_jesd204_if jesd204_rx_if4;
genvar n;
generate
for(n=0;n<`SVT_JESD204_MAX_LINK;n=n+1) begin
initial begin
uvm_config_db#(svt_jesd204_vif)::set(uvm_root::get(), “uvm_test_top.env.jesd204_env_inst”,$sformatf(“jesd204_rx_if[%0d]”,n), jesd204_rx_if[n]);
uvm_config_db#(svt_jesd204_vif)::set(uvm_root::get(), “uvm_test_top.env.jesd204_env_inst”,$sformatf(“jesd204_tx_if[%0d]”,n), jesd204_tx_if[n]);
end
end
endgenerate

// Syntax used for getting the virtual interface

for(int ii=0; ii<4; ii++) begin
if(!(uvm_config_db#(svt_jesd204_vif)::get(this,“uvm_test_top.env.jesd204_env_inst”,$sformatf(“jesd204_rx_if[%0d]”,ii),jesd204_rx_if[ii]))) begin
`uvm_error(get_full_name(), $psprintf(“jesd204_rx_if[%0d] is not found in the config DB, have you set it, plz cross check??”, ii))
end
end

In reply to Deepak Muduli:

Only a few things:
(1) the type in the config_db command requires the keyword virtual:

uvm_config_db#(virtual svt_jesd204_vif)

(2) for debugging simplify the set/get commands by using a wildcard for the hierarchy;
(3) check the macro `SVT_JESD204_MAX_LINK is 4
(4) in the set command replace uvm_root::get() with null.