Let's take a look at the allocate command. This is used to dynamically allocate VSAM, non-VSAM and hierarchical file system HFS datasets. So here we have an ALLOCATE command, with a whole bunch of operands telling it how to allocate, and we'll follow that up with the LISTDS command for the dataset that we just created. We can see that the record format and the logical record length match along with some other information. It's important to note that the LISTDS command will return different information for VSAM and non-VSAM datasets. You can also use the DELETE command to delete that dataset like this. Then, if you enter the DSLIST TEST.DATA, it will come back and say it's not in catalog. That's a nice way of saying, "I have no knowledge of that particular dataset, so I can't give you any information about it", because the catalog is it's just like a catalog. It makes a list of frequently accessed datasets, so if it's not in the catalog, we can't find it by name alone. If you're curious about the catalog, you can use the LISTCAT command to list all of the entries in the catalog. When you type LISTCAT with no operands, you get a listing of all the catalog entries associated with your specific user id. As you can imagine, there are many other operands you can use with the LISTCAT. You can find them either by using the HELP commands or by looking them up in the manual. Then there's LISTALC. This shows you the currently allocated datasets. When you run it with no operands, it shows you all of the currently allocated dataset names. If you throw in status after LISTALC, it'll show you the status of each dataset, which includes the termination disposition of the datasets. It looks like we're trying to keep a lot of them here. If you type LISTALC HISTORY, you get the creation date, expiration date, and the dataset protection for all of those datasets, that's a handy one. It's important to realize the difference between free and delete, and you'll see how that works here along with catalog. So we'll start out with another allocate command, which we've shortened to ALLOC here. Then we LISTDS the dataset to see its information. Next, we follow that with a FREE command. What this does is it deallocates the datasets or HFSs that are no longer needed. It basically says, "I don't need this anymore, it can be freed". It also means that it can be used for output processing or routed to another user. We can then go and delete it with the DELETE command. Again, the LISTDS shows it as not in the catalog. There are some restrictions and suggestions about what types of datasets can, can't, should, and shouldn't be deleted or freed, and I bet you know where to find that information. Okay. Let's talk about the PROFILE command. This command establishes, changes, or lists your user profile. Basically, how you want to use your terminal. In this example, the message ID is on. There's some other information in there like the prefixing, prompting, and primary and secondary languages. You can use the PROFILE command to not only display your profile settings, but also to change them. These changes will remain valid for the duration of your session. Lastly, the SUBMIT command. This is how we send one or more jobs to the system for processing. Each job submitted must reside either in a sequential dataset, a direct access dataset, or any member of a partitioned dataset, and unless you use the asterisk function of a SUBMIT command. That asterisk function tells the command that you will enter the data in some other way. In the lab that follows this, we'll get to issue some TSO commands on a live system, which is almost certainly going to be more exciting than watching me talk about them.