Difference between revisions of "Cobol home"

Ms (talk)
(code style array)
Zeile 33: Zeile 33:
   
 
*[http://www.discinterchange.com/TechTalk_signed_fields_.html]
 
*[http://www.discinterchange.com/TechTalk_signed_fields_.html]
  +
  +
==Coding Style==
  +
Array sollten immer in einem gemeinsamen Strukturelement abgelegt werden
  +
und nicht mit anderen Feldern gemischt werden.
  +
Nur so lässt sich das ganze Array mit einem Initialize leeren, ohne jedes
  +
einzelne Feldelement leeren zu müssen.
  +
Dann braucht man auch beim Ändern der Arraygröße nicht an diese Initializes
  +
zu denken.
  +
  +
<pre>
  +
10 ARRAY.
  +
15 ARRAY-ELEMENT PIC X(03) OCCURS 4.
  +
</pre>
  +
  +
und nicht
  +
  +
<pre>
  +
10 STRUCT.
  +
15 FIELD PIC X(10)
  +
15 ARRAY-ELEMENT PIC X(03) OCCURS 4.
  +
</pre>
   
 
==Links==
 
==Links==

Version vom 09:24, 28 November 2007

Data Types

COMP-3

Gepackte Zahlendarstellung, jede Stelle wird in einem Halbbyte abgelegt. Die letzte Stelle enthält das Vorzeichen:

  • "C": positive
  • "D": negative
  • "F": unsigned

Platzbedarf für n Stellen:

  • (n/2 + 1) falls n gerade

Beispiele (für "123456"):

  • x'0123456F'

9(n)

Bei vorzeichenlosen Zahlen, die nicht gepackt abgelegt sind, werden die einzelnen Stellen als normale EBCDIC Zeichen abgelegt.

Beispiele

  • 12345 -> F1F2F3F4F5

S9(n)

Bei vorzeichenbehafteten Zahlen, die nicht gepackt abgelegt sind, werden die einzelnen Stellen als normale EBCDIC Zeichen abgelegt (F0 bis F9), nur für die letzte (niederwertigste) Stelle erfolgt eine Oder-Verknüpfung mit dem Vorzeichen.

Beispiele

  • +12345 -> F1F2F3F4C5
  • -12345 -> F1F2F3F4D5

Coding Style

Array sollten immer in einem gemeinsamen Strukturelement abgelegt werden und nicht mit anderen Feldern gemischt werden. Nur so lässt sich das ganze Array mit einem Initialize leeren, ohne jedes einzelne Feldelement leeren zu müssen. Dann braucht man auch beim Ändern der Arraygröße nicht an diese Initializes zu denken.

10 ARRAY.
   15 ARRAY-ELEMENT PIC X(03) OCCURS 4.

und nicht

10 STRUCT.
   15 FIELD PIC X(10)
   15 ARRAY-ELEMENT PIC X(03) OCCURS 4.

Links