This is my first weekly challenge reply. Getting to the given output was fine but I believe the output is flawed. For example, the Line Number for Open Order 1|3,A,5 does have a corresponding shipment. However, Shipping does have an order 1|1|1,A,5. Based on the output file, this challenge assumes that Open Order Line number 3 can be filled by Shipment Line number 1. For this reason I solved the problem for Closed Orders, Open Orders Remaining, and Over Shipments. In this scenario the only order that can be closed is 8 and 1,3,4, and 7 resulted in an over shipment. To help the people in shipping I output which shipments need to be recalled. I hope you enjoy my interpretation. Tons of functionality could added such as updating Open orders and shipment input files and creating templates for the outputs... Cool program.
The hardest part of this one was figuring out what was wanted.