An Identity for the BatchID doesn't work in my situation. The table is used for simulation purposes and a part of the records is deleted before each simulation run. An Identity would count in the next run from the highest number of the last run and so there would be gaps in the range.
Therefore we developped a procedure using the BatchID's in the gaps.
What I'm going to do is just to make a fake PK with an Identity and have the BatchID out of the PK. In that way I can set the BatchID in the Trigger.
Yes, I know I'm going around the problem, however this will work.
But still interested in the real solution.