Hi ,
I believe the messages are appearing in the order check are being done , i.e first header related , then item , then schedule.
Since ,doing this check in header or item is not feasible , it is coming after the item. If changing the order is really required you can try to explore the possibility of changing the table content just before the alv display unless a way to do this in process_header / item is found.
Regards,
Tanmay.