FDL S+

Append jobs to a set.

Arguments
setname script
Description
Append all jobs created in the body of the procedure to the specified set.
Note:
  • If the specified set does not exist, the set is created.
  • Job I/O nodes are not placed in the set.
  • Must use fully qualified set name when appending to a nested set.
Synopsis
S+ set_namebody
Example
S "MySet" {
    J vw cp aa bb
}
S+ "MySet" {
    J vw cp bb cc
}
## MySet now has two jobs attached to it. "J vw cp aa bb" and
## "J vw cp bb cc"

### This does not change MySet (contrast with procedure
### 'S' above which makes the set empty)
S+ "MySet" {};

### Appending jobs to a set that does not exist causes the set to 
###    exist, with the added jobs attached to it.
S+ "MyNewSet" {
    J vw cp cc dd
}

S "a-lev1" {
   S "a-lev2" {
      S "a-lev3" {
         J vw cp aa bb
      }
   }
}
### Intention is now to append a job within the nested "a-lev3"
### Correctly using fully qualified set name
S+ "a-lev1:a-lev2:a-lev3" {
    J vw cp bb cc
}

### Intention is now to append another job within "a-lev3"
### Incorrectly using simple set name
S+ "a-lev3" {
    J vw cp cc dd
}
### Result is the creation of a new un-nested outer-level set
### ("a-lev3") with one job attached.

### Use the fully qualified name even if the append request is inside
### the nested scope.
S "b-lev1" {
   S "b-lev2" {
      S "b-lev3" {
         J vw cp aa bb
      }
      S+ "b-lev1:b-lev2:b-lev3" {  ### Correctly naming specified set 
         J vw cp bb cc
      }
   }
}
### Result is two jobs attached to the nested set having the name
### "b-lev1:b-lev2:b-lev3"