Detection of overtakers

Basics

The sequence of transport requests in an import queue usually depends on when the transport requests where released for export. When a request is released and exported, it is placed at the end of the queue of the consolidation target, usually a quality assurance system, depending on the consolidation route. This means that transports with older developments can be found at the beginning of a queue and more recent developments are located at the end.

If a request Am is imported into a system at position P(Am) in the queue, which contains objects that are completely or partially contained in a request An at position P(An) in the queue that has not yet been imported, and P(An) < P(Am) is valid, request Am is an overtaker of An and An is a missing predecessor for Am. For example, An could be a request that is handled within a release and Am contains a correction that is coordinated within the framework of maintenance work outside a release.

When Am is imported before An, the newer object versions from Am will be overwritten, which is normally not desired or intended and can lead to inconsistencies.

Identification of overtaking requests

When importing transport requests into a target system using a Conigma import container, overtakers are automatically identified by default and automatically added to the transport scope. For identification, a potential overtaking candidate Au must meet the following criteria, where is the set of all transports included in the import scope of the import container:

  • Au is not included in M

  • Au is already imported in the target system as a preliminary import (set I flag or yellow triangle in the import queue)

  • Au overlaps with a request Ak from M and for the queue positions P(Ak) < P(Au) applies

  • Au overlaps with an already identified overtaker Aiu and for the queue positions P(Aui) < P(Au) applies

  • The overlapping objects of Au are not completely contained in a request Ar from M, where P(Au) < P(Ar)

To ensure that an overtaker can be re-imported if necessary, transport requests are usually imported as preliminary imports by Conigma.

I and F flags

As mentioned above, transport requests are always imported as preliminary imports. You can do this by using the option "Leave transport request in queue for further import" or by setting the unconditional mode "I" or I flag. If a transport request can be re-imported, that is, if the I flag is set, an F flag is set on the transport request in the subsequent queues. Setting the F flag is done by the SAP standard coding and not by Conigma. The F flag indicates that the request might not be at its final position in the queue, as it can be re-imported into the previous queue and then drops to the end of the queue.

Example:

An object O is changed several times in the development system and is contained in two unimported transport requests An and Am in the queue of the quality assurance system. Request An is at position P(An) and request Am is at position P(Am), where P(An) < P(Am). If request Am is now imported into the quality assurance system as a preliminary import, it is forwarded to the queue of the succeeding system and placed at the end of the queue at position Fi. Now, request An is imported via Conigma and Am is automatically recognized as an overtaker and re-imported again. Without the F flag in the queue of the subsequent system, the following would happen: Request An is forwarded to the queue of the subsequent system and placed at the end, assigning it the position Fj > Fi. This means that request Am is located above the request An in the queue of the subsequent system. If request Am is imported first and then An, Am is no longer recognized as overtaker of An => downgrade. If request An is imported first and then Am, An would be wrongly identified as overtaker of An => downgrade.

The F flag causes the following to happen: Request An is forwarded into the queue of the subsequent system and placed at the end, where it is assigned the position Fj > Fi. Since Am is included in the scope of the import as an overtaker and is being re-imported, Am is moved to the end of the queue of the subsequent system. Now Fk > Fj > Fi applies for the new position and a correct sequence is guaranteed.