" uvm_do_on_with " constraint issue

In reply to dave_59:
Hi Dave,

Can you help me, that what is wrong here

Basically this is my pkt and I want to assign 0 value to a particular field according to ln_align_lost.

  task ln_align_lost_fmt(bit [1:0] slice_idx, comlink_id);
    bit [31:0] ln_align_lost;
    `uvm_do_on_with(req,`hd7_cl_sequencer(slice_idx,comlink_id),
                        { dll_frame_typ   == NORMAL;
                          if(cla.is_present("-rx_ln_align_lost"))begin // this is command line switch, if I give it then only I want to assign value
                            ln_align_lost = $urandom_range(1,8);
                            if(ln_align_lost == 1)begin
                              fc1 = 0;
                            end else if(ln_align_lost == 2)begin
                              fc0 = 0;  
                            end else if(ln_align_lost == 3)begin
                              ack_id = 0; 
                            end else if(ln_align_lost == 4)begin
                              ack_valid = 0;
                            end else if(ln_align_lost == 5)begin
                              pkt_id = 0; 
                            end else if(ln_align_lost == 6)begin
                              irp_pkt_typ = 0;
                            end else if(ln_align_lost == 7)begin
                              eop = 0;  
                            end else if(ln_align_lost == 8)begin
                              sop = 0; 
                            end
                          end
                        }
                   ) // Getting error here
  endtask

I am getting this error “illegal expression primary [4.2(IEEE)].)”