Während die Bereitstellung numerische Effizienz und Präzision bei der Berechnung und Speicherung bietet COBOL einen Weg, um effizient damit Sie Ihre Zahlen schnell berechnen, indem unter Ausnutzung seiner internen Architektur. Einer der häufigsten ist die gepackte Dezimalzahlen oder COMP -3 numerisches Feld , mit dem Sie zwei Ziffern in jedem Byte Speicherplatz zu speichern. Mit dieser Notation bestimmen Sie, wie viele Stellen die gespeicherte Nummer wird durch Zugabe von einem der notierten Feld und das Ergebnis durch zwei sein. Zum Beispiel kann ein Feld von PIC S9 (5) COMP -3 verfügt über eine Speicherkapazität von 3 Byte . Sie müssen dieses Feld zu initialisieren , bevor eine Manipulation oder Berechnung darauf durchgeführt wird, um einen Bearbeitungsfehler vermeiden. Anleitung
1
Identifizieren Sie die Bereich (e) , die Sie in Ihre COBOL-Code zu initialisieren. Zum Beispiel können Sie ein Feld wie " 05 - Betrag erhalten PIC S9 ( 5v99 ) Layout -3 . " Dies ist eine signierte packed decimal Feld und müssen Sie sich zunächst initialisiert werden , bevor es in eine weitere Verarbeitung einbezogen werden können .
2
der Working- Storage- Abschnitt Ihres Programms gehen und bestimmen die Dateistruktur Ihrer Variablen . Wenn die Layout -3 Felder untergeordnet einer höheren Struktur sind , geben Sie einfach die " Initialize "-Befehl in der PROCEDURE DIVISION . Als ein Beispiel , ein Feld wie " 01 Konto - Typen " von einer untergeordneten Bereich Gefolgt "05 Acctype -Fiscal Pic S9 (7) V99 " konnte nicht initialisiert werden und haben Nullen in seinem Feld eingegeben , indem Sie den Befehl COBOL " initialisieren Konto - Typen . " Jede andere nachfolgende Feld innerhalb dieses "01" -Ebene wird auch initialisiert werden. Der nächste Schritt zeigt eine weitere Möglichkeit, dies zu erreichen.
3
Gehen Sie zu Ihrem Working- Storage- Bereich und verfügen über einen "Value -Klausel" zu jedem Layout -3 variabel. Als ein weiteres Beispiel , ein Feld, das als liest " 05 Acctype - Abgrenzung Pic S9 (5) V99 Wert Null " hätte das gleiche Ergebnis. Die Felder werden automatisch vor dem ersten Verfahren Abteilung Anweisung initialisiert werden. Wenn Sie die Initialize -Befehl verwenden, stellen Sie sicher, dass es vor allen anderen Programm -Befehle die Referenz - Layout 3 Felder ausgeführt wird.
4
Führen Sie Ihre kompilierte Version und überprüfen Sie die Anzeigen für alle Kompilierungsfehler . Beide Methoden garantieren Ihrer packed decimal Werte entsprechend initialisiert.