Specifies one or more classes into which newly created generations
are to be inserted. The class expression can be a class name, a
wildcard expression, or a list of these separated by commas. If a
list is not used, the parentheses can be omitted.
The new generation of each element replaced is inserted into the
specified classes. If no new generation is created, no insertion
takes place.
This qualifier effectively combines the REPLACE and INSERT
GENERATION commands. It ensures that the new generation is inserted
into the specified class of classes, avoiding the potential problem
of other users updating the library between a REPLACE command and a
subsequent INSERT GENERATION command. It also deals effectively with
variants.
For each of the specified classes, provided there is INSERT access
to the class and it is not set to READ_ONLY, new generations are
always inserted, irrespective of whether or not the class already
contains a generation of the element. Any old generation is removed
from the class before the new generation is inserted. This is like
using the /ALWAYS qualifier in an INSERT GENERATION command.
If other insertion modes, for example /SUPERSEDE, are required,
create a temporary class and use that in the REPLACE command. Then
use the temporary class as the value of the /GENERATION qualifier in
an INSERT GENERATION command with the required mode.
The insert operation takes place in the library where the new
generation was created, so class occlusion does not apply to
classes specified in this qualifier (class occlusion applies to a
class specified in the /GENERATION qualifier).
Any actions specified in access control entries associated with the
INSERT GENERATION command, or with the classes into which
generations are inserted, will be executed after any actions
associated with the REPLACE command or with elements being replaced.
Use of this qualifier requires execute access to the INSERT
GENERATION command.