Einzelnen Beitrag anzeigen
Alt 07.04.2005, 11:14   #7
Satan_666
Inventar
 
Registriert seit: 03.09.2000
Beiträge: 4.010


Standard

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

Zitat:
77 idx pic 9(5).
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.
____________________________________
Für ein friedliches Zusammenleben im Forum werde ich ab sofort keine Trolle mehr füttern, und zwar unabhängig von der Sinnhaftigkeit ihrer Wortmeldungen.
Satan_666 ist offline   Mit Zitat antworten