Andy,
It is unclear exactly what you mean when you say 'no planning' and 'no allocation'. This means different things to different companies.
The first thing I would do before writing any custom code would be to investigate transaction /SAPAPO/MC62.> Delete obsolete combinations. It is easy to do, it is supported by SAP, and if it is inadequate to meet your business requirements, you can still write your code.
Best Regards,
DB49