IBM-Host-Cobol, ein Alphafeld X(20) mit dem Inhalt

’ Test ’
soll linksbündig im Feld stehen.
Wie sieht die einfachste Möglichkeit aus?

Danke

Sebastian

Hallo Sebastian,
Schön das jemand mal eine Frage zu COBOL stellt (und dann erst noch auf IBM-HOST!!!).

Nehmen wir an Du hast zwei Felder:

05 FELD1 PIC X(20) VALUE " Test ".
05 FELD2 PIC X(20) VALUE SPACE.

Und dann ganz einfach mit UNSTRING

UNSTRING FELD1 
 DELIMITED BY ALL SPACE
 INTO FELD2
END-UNSTRING

Es könnte sein, dass Du zwei Empfangs-Felder brauchst, da Cobol evtl annimmt, dass das erste SPACE auch ein Wert sei.

Dann würde es halt so aussehen:

05 FELD1 PIC X(20) VALUE " Test ".
05 FELD2 PIC X(20) VALUE SPACE.
05 FELD3 PIC X(01) VALUE SPACE.

Und dann sieht UNSTRING so aus

UNSTRING FELD1 
 DELIMITED BY ALL SPACE
 INTO FELD3 FELD2
END-UNSTRING

Musst halt mal die zwei Möglichkeiten testen.

Gruss, Simon

Danke! Stimmt, verdammt wenig Cobol hier…
Wenn ich bei uns dir Programme ansehe, denke ch auch zu wissen warum.
Weil sich jeder etwas zusammenbastelt ohne zu Fragen…

Grüße

Sebastian

Ich glaube auch das es an den Einsatzgebieten von Cobol liegt.
Normalerweise hat die Firma schon ein Programm das ähnliches macht und dann wird halt einfach kopiert.
Ausserdem wird Cobol meistens auf IBM-Mainframe in Grossfirmen eingesetzt (in Europa zumindest, in den USA sieht es ein bisschen anders aus). Und da sind normalerweise genügende Cobol-Programmierer die man fragen kann.

Wenn ich so in den Newsgroups alt.cobol und alt.lang.cobol schaue, hat es in den wenigsten Fällen Fragen zur Sprache Cobol sondern zum Umfeld (Compiler, JCL, DB etc.)

Gruss, Simon

Hallo Simon,

Ich habe früher nur in Cobol programmiert aber die Sprache ist zumindest in Deutschland (fast) ausgestorben.

Ich glaube auch das es an den Einsatzgebieten von Cobol liegt.
Normalerweise hat die Firma schon ein Programm das ähnliches
macht und dann wird halt einfach kopiert.
Ausserdem wird Cobol meistens auf IBM-Mainframe in Grossfirmen
eingesetzt (in Europa zumindest, in den USA sieht es ein
bisschen anders aus). Und da sind normalerweise genügende
Cobol-Programmierer die man fragen kann.

Gibt es denn überhaupt noch Cobol Software (Compiler, Linker etc.? Und gibt es Plattformen die Cobol Programme Windows tauglich machen?

Wenn ich so in den Newsgroups alt.cobol und alt.lang.cobol
schaue, hat es in den wenigsten Fällen Fragen zur Sprache
Cobol sondern zum Umfeld (Compiler, JCL, DB etc.)

Ich wäre schon noch an Cobol interessiert aber wie gesagt, Cobol für PC’s, keine Maineframes.

Bin mal gespannt auf eine Antwort.

Gruss Michael

Ich habe früher nur in Cobol programmiert aber die Sprache ist
zumindest in Deutschland (fast) ausgestorben.

  • Glaube ich nicht!!! Was ist mit der Bahn AG, diversen Versicherungen (z.B. Signal Versicherung), Banken usw. Die haben alle IBM-Mainframe mit OS/390 bei sich rumstehen und programmieren nach wie vor Cobol oder PL/1.

Gibt es denn überhaupt noch Cobol Software (Compiler, Linker
etc.? Und gibt es Plattformen die Cobol Programme Windows
tauglich machen?
Ich wäre schon noch an Cobol interessiert aber wie gesagt,
Cobol für PC’s, keine Maineframes.

Gruss, Simon

Hallo Sebastian,
Schön das jemand mal eine Frage zu COBOL stellt (und dann erst
noch auf IBM-HOST!!!).

Nehmen wir an Du hast zwei Felder:

05 FELD1 PIC X(20) VALUE " Test ".
05 FELD2 PIC X(20) VALUE SPACE.

Eigentlich soll doch die PIC-clausel in Spalte 44 stehen!
Da kann man ja gleich C++ benutzen wenn man so wenig auf die guten Manieren achtet.
Tilo

Eigentlich soll doch die PIC-clausel in Spalte 44 stehen!
Da kann man ja gleich C++ benutzen wenn man so wenig auf die
guten Manieren achtet.

Hallo Tilo,
Nein wieso Spalte 44??? In Cobol gibt es für die Postition von PIC keine Bestimmungen!!! Wenn das aber in den Programmierrichtlinien Deiner Firma so steht; bitte schön.
Aber mit Manieren hat das gar nichts zu tun!!!

Gruss, Simon

Wenn das aber in den

Programmierrichtlinien Deiner Firma so steht; bitte schön.
Aber mit Manieren hat das gar nichts zu tun!!!

Gruss, Simon

Bei uns gibt es diese Bestimmung auch nicht, und für Cobol ist das nicht zwingend vorgeschrieben. Es gibt aber Standartisierungsrichtlinien und dort wird Spalte 44 empfohlen (nicht zwingend!), und die Mehrzahl der Firmen dürfte das deshalb auch vorgeschrieben haben.
Entschuldige aber, wenn ich etwas grob war, war nicht so gemeint.

Tilo

Bei uns gibt es diese Bestimmung auch nicht, und für Cobol ist
das nicht zwingend vorgeschrieben. Es gibt aber
Standartisierungsrichtlinien und dort wird Spalte 44 empfohlen
(nicht zwingend!), und die Mehrzahl der Firmen dürfte das
deshalb auch vorgeschrieben haben.
Entschuldige aber, wenn ich etwas grob war, war nicht so
gemeint.

Aha ok. Obwohl ich nun seit mehr als 6 Jahren hauptberuflich Cobol programmiere war mir diese Richtlinie nicht bekannt.
Allerdings muss ich dazu sagen, dass ich diese auch nicht sinnvoll finde. Das würde ja bedeuten, dass die Value-Klausel in vielen Fällen (wenn nicht gerade mit ZERO oder SPACE initialisiert wird) auf die zweite Zeile geschrieben werden müsste!

Naja. Ich glaube ich werde mich auch in Zukunft nicht an diese Richtlinie halten. Trotzdem danke für die Info.

Gruss, Simon