Here's what I would do. (For simplicity, I'm going to call your table "Transport".)
1. Create a new report using the Standard Report Creation Wizard. Add the Transport table.
2. Add the Transport table again. Crystal will tell you the table has already been added and ask if you want to "add another alias" to the table. Click on Yes.
3. You'll see two tables in the Selected Tables section of the screen, one with the name of your table and one with the name of your table plus "_1".
4. Click on "Next".
5. If you have SmartLinking turned on, delete any links that Crystal has created between the two tables. Then link from ID in Transport to ParentID in Transport_1.
6. Finish creating the report as you normally would. I would probably group it on {Transport.Name} and then sort on {Transport_1.Name}.
7. In the Select Expert, add {Transport.Parent_ID} = 1 to get only the top-level items in your heirarchy at the top level.
If there are more levels in your heirarchy, you'll add more copies of the table and link from the previous one - Transport_1.ID to Transport_2.Parent_ID, etc.
This method works if there's a very limited number of levels - I would say 4 or 5 at the most. If there are some items that have fewer levels and some with more, you'll need to make all of the joins left-outer joins.
-Dell