As previous replies have said you need to find out why it same on - there are loads of potential reasons, O2 sensors, cat sensors, HVA issues, etc. etc.
If you can find a local BMW specialist (there are some listed on here) use them, or invest in your own code reader (that is what I plan to do now, seeing as there are 5 in the family)!