Line numbers in the migrated merged Macros
When several Macros insert lines in the same function or subfunction of the calling instance, they are merged. Their lines are combined. The lines are correctly managed by the merge because the condition lines are separated from the code lines. To avoid orphan code lines, the PROCEDURE DIVISION lines are sometimes automatically repositioned in the generated code and their tags are sometimes automatically calculated again in the Generated code structure view.
All the code lines must be attached to condition lines, if any. A condition can be indicated on more than one line. For example, the first condition line can be IF, the second line can be AND, and the third line can be OR. In the COBOL code editor and the Generated code structure view of the calling instance, the condition lines are always displayed in the ascending order of their line numbers, even if these lines belong to different Macros. The code lines that depend on these condition lines must also be displayed in the order, after the last condition line that they depend on. The line number of the last condition line constitutes the first 3 digits of the line numbers for the code lines that depend on the condition. In some cases, the code lines that come from different Macros are combined without being automatically repositioned in the generated code and without the automatic recalculation of their tags in the Generated code structure view. However, in other cases, some code lines are automatically repositioned and their tags must be calculated again to avoid orphan code lines.
Merge where code lines are not repositioned and their line numbers are not calculated again
If the merge does not create any orphan lines, which are not attached to the subfunction condition, then the code lines are combined when the calling instance is generated without any repositioning or new calculation. They are sorted according to the ascending order of their line numbers.

Merge where code lines are repositioned and their line numbers are calculated again
If the merge creates orphan code lines, which are not attached to the subfunction condition, then these lines are repositioned in the generated code of the calling instance and the corresponding tags are calculated again.
In the generated code, they are inserted between the last condition line and the first code line that depends on it. In the Generated code structure view, the first 3 characters of the line numbers of the repositioned code lines are modified to correspond to the line number of the last condition. The last 3 characters remain unchanged.
