Confirmation validation for Sales order to restrict picking packing invoice in MSD axapta

If you want to put restriction on the sales order that without confirmation no one is able to do the pick/pack or invoice.

I want to share some ideas to do it.

you can disable the picklist,Packingslip and Invoice. After PO creation confirmation option enable via code.
you need to do some modification in SalesTableType Class.Methods are: CanPickingListbeUpdates, can PackingSlipbeUpdates and canInvoicebeUpdates .

Instead doing any customization, you can enable the workflow, which will control stopping pick/pack/Invoice without approve the sales Order.