I've just posted a message assuming that you were after Sort learning materials, but I misunderstood.
JCL is only a "language" in the sense that it has a syntax which has to be followed. You cannot write programs in JCL.
Job steps are executed serially. The only thing you can do is avoid execting steps based on the RC of a step in that job which has completed (normally or abnormally). So you don't need to trace anything, you just look at the JES messages output and you will be able to see which steps have executed, and why some step has not (if that is the case).
I have no idea these days what a good JCL book for learning from, as it is many years since I had one. Something like MVS JCL for Application Programmers was the title. After reading it once, the JCL manual was more useful. Plus I already knew DOS JCL (different JCL for another mainframe operating system form IBM), so made it easier.
I'd start by concentrating on the JOB, EXEC and DD statements. Work out the most basic things of each (look at any JCL you have) and then get a solid understanding of what all of that means by going through the manual, and asking colleagues if anything is unclear to you.
When you are happy with the basics, find out about the more exotic stuff for these statements. Then go to other JCL statements. Ask to look at some production JCL to see the sort of things your site actually uses. Whoever shows you the JCL might appreciate your interest, and give you a little chat along the way as well.
But really, the first thing to do is to obliterate the idea that JCL is a programming language. It is a way of automating the functions that computer operators would have had to do by hand, and a little more as the OSs have delveloped.