You can use the standard feature of mass cancel in purchasing.
Purchasing-> Accounting-> Define mass cancel and then run it by using run mass cancel.
Same feature can be applied for PO also.
Hope this will help. First try it in test instance.
If there are specific PR, then also it can be cancelled by using Requisition summary window. Select the PR, then go to tools menu , then select control and select your option for cancellation.
if it is date based then you can use the above feature mentioned in my earlier post.
Is there any sort of encumbrance involved?
If not then cancelling like this should not be an issue.
You might also want to cleanup mtl supply table if there is any pending supply
See this note on My Oracle Support for that: Datafix to Remove Unwanted Supply From Supply Tables (Doc ID 1321193.1)