Cobol-Tabellen (auf MVS)

Kann mir bitte jemand die Frage beantworten?
Wir haben ein Programm gefunden, in dem die Occurs Anweisung
variabel gehalten wird (von 1 bis 1.300.000).
Wie sieht es in einem solchen Fall mit der Speicherbelegung aus?
Wird für 1.300.000 Sätze Speicher allokiert?
Gibt es sonstige Besonderheiten?

Vielen Dank!

Grüße

Keine Antwort, aber ein Tipp
Hallo,

da es sich um ein Großrechnerproblem handelt und Cobol ja so gut wie nie auf PCs läuft, würde ich dir vorschlagen, mal im Brett „Betriebssysteme allgemein“ oder unter „Sonstiges“ anzufragen.

Herzliche Grüße

Thomas Miller

Wird die Tabellendefinition ohne „… depending on feld-1“ codiert, wird bei Programmstart der benötigte Speicher allokiert. Bei Verwendung von „… depending on feld-1“ erst bei Anlage der Tabelle mit der maximalen Größe von Feld-1.

Gruß
Thomas

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi Thomas,
Was hat den Cobol mit Betriebssytemen zu tun, oder Großrechner mit sonstiges?
Ich freue mich dass hier endlich mal einer was schreibt, der kein Puppenstubenprogrammierer ist und Du willst ihn gleich wieder verbannen.
Freundliche Grüße
Tilo

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Tilo,

Was hat den Cobol mit Betriebssytemen zu tun, oder Großrechner
mit sonstiges?

kennst du jemanden, der Cobol auf PCs einsetzt? Das dürfte sehr selten passieren. Auf Großrechnern schon. Außerdem hatte ich vermutet, dass hier in der Regel Leute sich tummeln, die vom PC ausgehen und www über den PC benutzen, also wenig Affinität zu Cobol und MVS haben.

Ich freue mich dass hier endlich mal einer was schreibt, der
kein Puppenstubenprogrammierer ist und Du willst ihn gleich
wieder verbannen.

Nein, verbannen wollte ich ihn wirklich nicht, dass wäre ein Missverständnis. Die Frage blieb mir zu lange unbeantwortet, und ich wollte eine weitere Alternative eröffnen.

Übrigens: Der Ausdruck „Puppenstubenprogrammierer“ gefällt mir. Als ich Cobol unter BS2000 gelernt habe, hieß das „Mickey-Maus-Programmierung“. Da gefällt mir dein Ausdruck schon besser.

Herzliche Grüße :smile:

Thomas Miller

Hallo Thomas,

mein Geschreibe brauchst Du nicht zu ernst zu nehmen, aber gerade so ein allgemeines Programmierungsbrett halte ich für Hosti’s für geeignet, denn für die PC-Sprachen gibt es meist spezielle (eins für C++, eins für JAVA u.s.w.).
Ausserdem freue ich mich immer über Großrechnerfragen, da ich selbst an so einem Ding zu tun habe.

Gruß Tilo

Hallo Kay Uwe.

Ich weiss nicht, ob Deine Frage bereits zu Deiner Zufriedenheit beantwortet wurde.

Mein Wissensstand zu DEPENDING ON ist der, dass immer der gesamte Speicherberich (für alle Elemente) allokiert wird. Die Vorteil bei der Verwendung der DEPENDING ON-Clausel liegt nur darin, dass beim „SEARCH ALL“ (binäres Suchverfahren) nur auf den von DEPENDING ON beschriebenen Bereich zugegriffen wird.

Beispiel:

Tabelle T1 (OCC. 10000) enthält nur 10 Elemente (1…10). Bei der Suche über „SEARCH ALL“ wird nun auf die Mitte der Tabelle (5000-tes) Element zugegriffen und geprüft, ob der Gefundene Schlüssel grösser oder kleiner als der Suchschlüssel ist. Jen nach Wert findet der nächste Zugriff in der Mitte des intervalls von 1-5000 oder 5000-10000 statt. Um in den Berecih von 1 - 10 zu kommen, sind einige vergebliche Zugriffe erforderlich.

Wird mit „DEPENDING ON“ gearbeitet und ist dieser Wert richtig gepflegt, wird bem ersten Zugriff das Elemnt 5 geprüft und beim 2. Zugriff das Elemnt 7 oder 3, etc. Hier kannst Du sehen, dass Du nach höchsten 4 Zugriffen deinen Schlüssel in der Tabelle gefunden haben wirst. Ohne Dependung ON würdest an die 10 Zugriffe benötigen, um an den gefüllten Bereich Deiner Tabelle zu kommen.

Ciao Kai.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]