Du hast von Cobol wohl wenig Ahnung, was? Im Klartext: Du schreibst im Programm folgende Zeile
Zitat:
|
move 12345 to tabelle (idx).
|
Das Feld 'idx' hast Du mit
definiert. Was bedeutet das?
Zum Zeitpunkt des Compilierens des Programmes legt der Compiler ein Feld an:
Zitat:
|
77 zwischenfeld-vom-compiler pic s9(5) comp-3.
|
Jedesmal, wenn Dein Programm
zur Laufzeit (!!!) zum obigen Befehl kommt, wird implizit ein
Zitat:
|
move idx to zwischenfeld-vom-compiler.
|
durchgeführt. Dabei kann es sogar passieren, dass er diesen 'move' jedesmal durchführt, wenn beispielsweise mehrere gleichlautende Befehle a-la
Zitat:
move a to tabelle-a (idx).
move b to tabelle-b (idx).
move c to tabelle-c (idx).
:
:
|
schreibst. Da habe ich schon die verrücktesten Dinge gesehen in meiner mehr als 20-jährigen Cobol-Laufbahn...
Dieser Aufwand ist generell leicht zu vermeiden, wenn Du dieses 'comp-3' einfach bei der Datendefinition dazuschreibst. Dein Aufwand steht hier in keinem Verhältnis zum Vorteil einer rascheren Durchführung des Programmes.
Auch wenn die Tabelle nicht groß ist und auch nicht oft angesprochen wird, sollte man sich solche Sachen angewöhnen, weil es dadurch 'in Fleisch und Blut' übergeht.