ENHANCEMENT-POINT

Short Reference

Syntax

ENHANCEMENT-POINT enh_id SPOTS spot1 spot2 ...
                  [STATIC]
                  [INCLUDE BOUND].

Extras:

1. ... STATIC

2. ... INCLUDE BOUND

Effect

: This statement defines an explicit enhancement option at the current position in the program at which a source code enhancement can be made. In program generation, the source code plug-ins of the assigned enhancement implementation that are available in the current system and have a switch in the status stand-by or on, are inserted at this position.

If the addition STATIC is not specified, the source code enhancement is dynamic. This means that in program execution, only those source code plug-ins are executed whose switch has the status on. If a source code plug-in does not have a switch assigned to it, it is handled in the same way as a plug-in with a switch in the status on.

With enh_id, an ID must be specified directly for the enhancement option, which is unique in the current compilation unit without the addition INCLUDE BOUND, and with this addition, is unique in current Include program. At least one enhancement spot must be assigned to the enhancement option using the specification simple enhancement spots spot1, spot2, and so on.

Within enhancements, one or more source code plug-ins can be created for one enhancement option. A source code plug-in is created by the assignment of an enhancement implementation in the Enhancement Builder. This automatically generates an empty source code plug-in with a unique ID, which is displayed underneath ENHANCEMENT-POINT in the Editor, where the actual enhancement can be implemented between ENHANCEMENT and ENDENHANCEMENT.

A source code plug-in is assigned to only one enhancement option. Multiple source code plug-ins of one enhancement implementation and the source code plug-ins of multiple enhancement implementations can be assigned to one enhancement point.

Notes

Addition 1

... STATIC

Effect

: The addition STATIC is used to define a static source code enhancement. In a static source code enhancement, all incorporated source code plug-ins are taken into account when the program is executed, including those whose switch is in the status stand-by.

Note

: The STATIC addition is intended for the enhancement of data declarations, while the statement ENHANCEMENT-POINT without the STATIC addition is designed for the enhancement of executable coding. When the statement is executed using Enhancements → Create enhancement, the addition is set according to this selection.

Addition 2

... INCLUDE BOUND

Effect

: This addition can be entered in Include programs. It links the source code enhancement to the current Include program. Each program that incorporates an Include program only includes the source code enhancements that are defined with this addition. Source code enhancements created using the INCLUDE BOUND addition have their own namespace in each Include program. This ensures that if several Include programs are integrated into one compilation unit, no namespace conflicts arise, either between Include programs, or with the source code enhancements of the compilation unit.

Without the addition INCLUDE BOUND, a source code enhancement is assigned to only one compilation unit. If the statement ENHANCEMENT-POINT is executed in an Include program without this addition, a compilation unit must be assigned to it in the Enhancement Builder.

Note

: In an Include program, Include-bound and non-Include-bound source code enhancements can not be defined at the same time. This also applies if an Include program incorporates other Include programs.