2 added 19 characters in body
source | link

You are right here ,Assignment rules have the capability only to assign to specific user or queue and there is nothing as you rightly pointed out .

I would like to help you on your first and second question

1)I think in before insert trigger we can access the owner

2)For second trouble i am guessing that we can try following code in before trigger

for (Case objCase : Trigger.new) {
    Database.DMLOptions dmo = new Database.DMLOptions();
    dmo.assignmentRuleHeader.useDefaultRule = false;
    objCase.OwnerID = objCase.lookupfield__c;
    objCase.setOptions(dmo);
    }
}

You are right here ,Assignment rules have the capability only to assign to specific user or queue and there is nothing as you rightly pointed out .

I would like to help you on your first and second question

1)I think in before insert trigger we can access the owner

2)For second trouble i am guessing that we can try following code

for (Case objCase : Trigger.new) {
    Database.DMLOptions dmo = new Database.DMLOptions();
    dmo.assignmentRuleHeader.useDefaultRule = false;
    objCase.OwnerID = objCase.lookupfield__c;
    objCase.setOptions(dmo);
    }
}

You are right here ,Assignment rules have the capability only to assign to specific user or queue and there is nothing as you rightly pointed out .

I would like to help you on your first and second question

1)I think in before insert trigger we can access the owner

2)For second trouble i am guessing that we can try following code in before trigger

for (Case objCase : Trigger.new) {
    Database.DMLOptions dmo = new Database.DMLOptions();
    dmo.assignmentRuleHeader.useDefaultRule = false;
    objCase.OwnerID = objCase.lookupfield__c;
    objCase.setOptions(dmo);
    }
}
1
source | link

You are right here ,Assignment rules have the capability only to assign to specific user or queue and there is nothing as you rightly pointed out .

I would like to help you on your first and second question

1)I think in before insert trigger we can access the owner

2)For second trouble i am guessing that we can try following code

for (Case objCase : Trigger.new) {
    Database.DMLOptions dmo = new Database.DMLOptions();
    dmo.assignmentRuleHeader.useDefaultRule = false;
    objCase.OwnerID = objCase.lookupfield__c;
    objCase.setOptions(dmo);
    }
}