Folie 9 von 20
Notizen:
In diesem Beispiel steckt das Problem im Include PLIINCL. Die Definition zeigt, dass in Abhängigkeit von einer Preprocessor-Variablen entweder die eine oder die andere Include-Strecke angezogen wird. Es ist tatsächlich denkbar, dass die Include-Strecken PLIINCL1 und PLIINCL2 für verschiedene Sachgebiete eine unterschiedliche Ausprägung haben, der darumliegende Programmcode jedoch identisch ist. Je nach Sachgebiet würden die Aufrufer dann die Preprocessor-Variable unterschiedlich setzen.
Der SCLM-Parser nimmt einfach bei Includes PLIINCL1 und PLIINCL2 in den Account-Satz zu PLIINCL auf. Das führt allerdings zu zwei unerwünschten Effekten:
- Änderungen an PLIINCL1 führen auch zu einem "reason for rebuild“ bei BPLI2.
- Der Promote von BPLI1 nimmt u.U. auch das Include PLIINCL2 (aus dem fremden Sachgebiet) mit.