Set Creation in FDL
Grouping jobs into named Sets enables you to use those Sets to specify retracing targets, create high-level flows, and generate reports. Use the CLI to create the Sets and order them in a hierarchical manner that makes sense to you. Each Set is created by using the S or S+ command.
Important: You can name Sets anything, but you
cannot use the same name more than once. If you use the same name for the Set,
the previous Set will be overwritten. To add to an existing Set, use the S+
procedure to append to a Set. See the instructions below.
- One Set
- To create a small, simple Set, do the following:
- One Nested Set
- To create a Set nested within a Set, do the following:
- Using the Colon Syntax
- You can use a colon ":" to create a visual representation of nested Sets in the Sets tab. This can be useful for organizing Sets without the need to create an acutal Set for every level of the desired heirarchy.
- Create Sets Each Having Jobs using the Colon Syntax
- In the example above, only one Set had a job. However, you can create multiple Sets where each will have jobs associated with them, and use the colon to appear as nested. In this example, two Sets are created, and both will contain jobs.
Append Sets
You can append to an existing set by using S+
. This enables you to
add to an existing Set without overwriting the original Set.
An example of using S+ and colons to create hierarchical sets is shown below:
- Create the first Set
-
S "foo1" { J vw cp aa bb }
- Append a second Set to the first using S+
-
S+ "foo1" { J vw cp bb cc }
- Append Jobs to a Non-existing Set
- If you try to append jobs to a Set that does not exist yet, the Set is created by default, with the added jobs attached to it.
Common Mistakes
Do not use the same Set name more than once. The procedure S is
used to define exactly the content of the set. Extra elements are eliminated from
the set. In the following example, the execution of the FDL fragment terminates with
one set called "MySet" which contains the job
vw cp xx yy
and this
job is always going to be "INVALID". S "MySet" {
J vw cp aa bb
}
# At this point the set MySet contains "vw cp aa bb"
S "MySet" {
J vw cp xx yy
}
# At this point the set MySet contains "vw cp xx yy".
# The job vw cp aa bb is forgotten