I have a number of different JCL jobs that all need to refer to a specific DDNAME. Rather than editing every single JCL job to include this DDNAME I would like to set it up so that it is available for all of them.
I know I can use the MVS command ALLOCATE DDNAME(my-ddname) DSN(my-dataset-name) SHR but from where do I issue this command to have it picked up by all my JCL jobs when I submit them?
You can't do it. There is no 'global' data set allocation feature available (unless for very specific purposes e.g. programs that can reside in the linklist).
The TSO ALLOCATE command you mention can be executed in TSO or a REXX (or clist) but the dataset will only be available to the address space (job, TSO user etc.) in which the command was issued.
What you could do however is to possibly combine those jobs into fewer jobs or have that DD name and other common JCL statement in a JCL procedure, reducing the number of places in which the DD name is coded.
Adding a specific DD name to multiple jobs is quite trivial with an edit macro run either in batch or in ISPF against those JCL members.