This function has been around since z/OS 2.3, so is not that new!
There are JCL symbols
&SYSJOBNM
You can use it in started tasks and Jobs
S OMPROUTE.OMP4 JCL symbol &SYSJOBNM gives OMROUTE
S OMPROUTE,JOBNAME=OMP4 JCL symbol &SYSJOBNM gives OMP4
You can use this like
//PARM1 DD DISP=SHR,DSN=USER.PARMLIB(X&SYSJOBNM)
//PARM2 DD DISP=SHR,DSN=USER.PARMLIB(Y&SYSJOBNM)
and so have data sets based on the invoked job name. This means you can simplify your started task procedures, and may not need the user to specify overrides on the start command.
Note: If you move to using JOBNAME= instead of specifying a .identifier, you may need to change other definitions. For example TCPIP defines port 520 with jobname OMPROUTE. If you switch to using OMPROUTE,JOBNAME=OMP1 this jobname will need to change to OMP1.
&SYSJOBID
gives a value like STC08460 for a started task.
&SYSUID
gives the userid like IBMUSER
&JOBNAME
gives the job assigned to the address space in which the JCL is converted, so JES2 for me.