You have the programming/coding function which is handy but the coding is sometimes painfully slow and on older stuff like an E39 something like a Carly would do the same job.
Regarding diagnostics you have test plans attached to each fault which would give a good description and step by step plan of how to fix the faults. Then you've the likes of adaptions and test functions for the likes of vanos units etc......
Sent from my iPhone using Tapatalk