Suppose that you want to write a program that prompts a user for the name of a data set. Unfortunately the USE, EDIT, and CREATE commands expect the data set name as a hardcoded operand rather than an indirect one. However, you can construct and execute a function that prompts the user for the data set name for a USE statement. Here is the code:
/* prompt the user to give dsname for use statement */ start flexible; file log; put 'What data set shall I use?'; infile cards; input dsname $; call execute('use', dsname, ';'); finish; run flexible;
If you enter USER.A, the program generates and executes the following line:
use user.a;