There is probably a fatal flaw in the scheme. The VOL=3390=CVFTCD in the LISTVTOC statement does not imply IEHLIST will use dynamic allocation to allocate the volume. Rather, IEHLIST looks through the existing allocated DD statements to find a volume definition DD statement for the volume. See the DFSMS Utilities manual for more information. I see nothing in the little bit that was posted to indicate that any attempt was made to allocate the volume, so it is likely IEHLIST will fail. It does appear there was a CALL *(IEHLIST) statement that was removed, perhaps in the hope the SELECT PGM(IEHLIST) will do the trick.
Some years ago I wrote up an ALLOCVOL TSO command to allocate a volume. It's far too large to insert here, and I never thought of publishing it, as I believe running IEHLIST or the other "system" utilities in TSO is essentially useless. I did think LISTPDS might be useful, which was the impetus to write ALLOCVOL, but later I decided a more direct approach might be better.
listpds rbatch.load
XXXXXX.RBATCH.LOAD ON XXXX31
-MEMBER- --TTRC-- ALIAS OF -SIZE- -----ATTRIBUTES----- AM RM AC SSI
RBATCH 0000042C 0002C8 RN RU RF 24 24 00
2 ALLOCATED DIRECTORY BLOCKS, 1 USED DIRECTORY BLOCKS
READY
As you can see I stole the formatting from ISPF. This is more useful than this.
listpds rbatch.load du
XXXXXX.RBATCH.LOAD ON XXXX31
-MEMBER- --TTRC-- --USER DATA (TTRC AND USER DATA ARE HEX)
RBATCH 0000042C 0000090000 000000C2E3 0002C802C8 0000008800 01010000
2 ALLOCATED DIRECTORY BLOCKS, 1 USED DIRECTORY BLOCKS
READY