In the years I have been programming workflows I have always been told that there is no version management on BOR programs. And from experience I would tell everybody who asked about it the same story. Big was my surprise the other day to find a way to get at the versions of a BOR program and actually be able to compare them.
The trick lies in the fact that the BOR program is a normal ABAP program which only gets processed in a special manner when you try to change or display it in SE38. You can find the actual ABAP program name in the basic data of the object. Use the hat in SWO1 to get to it. Here you will see the ABAP program name right under the object name, my guess is they are always the same. You will also see the program name in the header when you click on Program for any of the methods of the BO. This is handy if you need to check on an inherited method.
When you try to display or change this program in SE38 you will not go to the normal ABAP editor, you will be transferred to the Business Object Builder and here there is no way to get to the versions of the program. But, if you choose Utilities –> Versions –> Version management on the main screen of SE38 you will be presented with all the versions of the BOR program. Here you will have all the normal features of the version management you have for normal ABAP programs. It is a pitty that the parameters and exceptions of the methods are not given in comments of the methods because there is no way to find out if or when these were changed.
So, it’s not perfect but way more than nothing. Now, if there only was a way to edit the BOR program with the new editor or at least have Pretty Print.