Most mainframe people uses IEFBR14 when they want to delete a dataset. It is a quite elegant solution because you use a program that does nothing and gets a lot done anyway. The downside of the IEFBR14 delete solution is that if the dataset is migrated by HSM then the dataset gets recalled first and deleted afterwards.
The quite redundant recall from HSM can be avoided by using the IDCAMS DELETE command. IDCAMS checks if the dataset is migrated and issues a HDELETE if it is, otherwise it makes an ordinary delete. If the dataset does not exist IDCAMS DELETE terminates with a return code of 8. Fortunately you can ignore this return code by using an IDCAMS SET MAXCC = 0. Here is a piece of JCL to show you how the IDCAMS solution works:
I give this delete method my warm recommendation, because it can save you a lot of elapsed time as you avoid many unnecessary HSM recalls. You can also use IDCAMS to delete members in a dataset, but before you use IDCAMS for this purpose use should read the weekly tip from week 44/2003. Member deletion from a migrated dataset is not possible so in this case a HSM recall cannot be avoided.