COBOL - Grund Verben


Advertisements

COBOL-Verben werden in der Prozedur Aufteilung für Datenverarbeitung verwendet. Eine Aussage immer mit einem COBOL Verb beginnen. Es gibt mehrere COBOL-Verben mit verschiedenen Arten von Maßnahmen.

Eingabe / Ausgabe- Verben

Eingabe / Ausgabe- Verben werden verwendet, um Daten aus dem Benutzer zu erhalten und zeigt dessen Ausgabe von COBOL-Programmen. Die beiden folgenden Verben werden für dieses Verfahren verwendet:

Akzeptieren Verb

Akzeptieren Verb wird verwendet, um Daten wie Datum, Uhrzeit und Tag ab dem Betriebssystem oder direkt von dem Benutzer zu erhalten. Wenn ein Programm Daten aus dem Anwender ist zu akzeptieren, muss er durch JCL weitergegeben. Während sich Daten aus dem Betriebssystem von Option enthalten ist, wie im Beispiel unten folgenden gezeigt:

ACCEPT WS-STUDENT-NAME.
ACCEPT WS-DATE FROM SYSTEM-DATE.

Anzeige Verb

Anzeige verb ist verwendet, um den Ausgang eines COBOL-Programm angezeigt werden.

DISPLAY WS-STUDENT-NAME.
DISPLAY "System date is : " WS-DATE.

COBOL-Programm

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.

DATA DIVISION.
   WORKING-STORAGE SECTION.
   01 WS-STUDENT-NAME PIC X(25).
   01 WS-DATE PIC X(10).

PROCEDURE DIVISION.
   ACCEPT WS-STUDENT_NAME.
   ACCEPT WS-DATE FROM DATE.
   DISPLAY "Name :  " WS-STUDENT_NAME.
   DISPLAY "Date : " WS-DATE.

STOP RUN.

JCL oben COBOL-Programm zu ausführen:

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C
//STEP1 EXEC PGM=HELLO
//INPUT DD DSN=PROGRAM.DIRECTORY,DISP=SHR
//SYSIN DD *
Howcodex
/*

Wenn Sie kompilieren und führen Sie das obige Programm, es produziert das folgende Ergebnis:

Name : Howcodex
Date : 2014-08-30

Initialisieren Verb

Initialisieren Verb ist verwendet, um ein GruppenArtikel oder ein elementares Element zu initialisieren. Datennamen mit RENAME-Klausel kann nicht initialisiert werden. Numerische Datenelemente werden durch Raum ersetzt. Alphanumerische oder alphabetische DatenArtikel werden durch Leerzeichen ersetzt. Wenn wir das Ersetzen tigen, so kann Datenelemente an die angegebene ersetzt Wert initialisiert, wie im folgenden Beispiel gezeigt werden:

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.

DATA DIVISION.
   WORKING-STORAGE SECTION.
   01 WS-NAME PIC A(30) VALUE 'ABCDEF'.
   01 WS-ID PIC 9(5).
   01 WS-ADDRESS. 
   05 WS-HOUSE-NUMBER PIC 9(3).
   05 WS-COUNTRY PIC X(15).
   05 WS-PINCODE PIC 9(6) VALUE 123456.

PROCEDURE DIVISION.
   A000-FIRST-PARA.
   INITIALIZE WS-NAME, WS-ADDRESS.
   INITIALIZE WS-ID REPLACING NUMERIC DATA BY 12345.
   DISPLAY "My name is   : "WS-NAME.
   DISPLAY "My ID is     : "WS-ID.
   DISPLAY "Address      : "WS-ADDRESS.
   DISPLAY "House Number : "WS-HOUSE-NUMBER.
   DISPLAY "Country      : "WS-COUNTRY.
   DISPLAY "Pincode      : "WS-PINCODE.

STOP RUN.

JCL oben COBOL-Programm zu ausführen:

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C
//STEP1 EXEC PGM=HELLO

Wenn Sie kompilieren und führen Sie das obige Programm, es produziert das folgende Ergebnis:

My name is   :                               
My ID is     : 12345
Address      : 000               000000
House Number : 000
Country      :                
Pincode      : 000000

Bewegen Verb

Verschieben Verb wird verwendet, um Daten von Quelldaten in die Zieldaten zu kopieren. Es kann auf beiden Grund- und GruppendatenArtikel verwendet werden. Für Gruppendaten Artikel, bewegen entsprechenden / CORR ist verwendet. In Versuch es Wahl, MOVE CORR nicht funktioniert; aber auf einem Mainframe-Server, es wird funktionieren.

Zum Bewegen von Daten von einem String, MOVE (x: l) verwendet wird, wobei x der Startposition und l die Länge. Die Daten werden abgeschnitten, wenn Zieldatenelement PIC Klausel weniger als Quelldatenelement PIC-Klausel ist. Falls der Zieldatenelement PIC Klausel ist mehr als die Quelldatenelement PIC Klausel dann NULLEN oder Räumen in den Extra-Bytes hinzugefügt werden. Das folgende Beispiel macht deutlich:

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.

DATA DIVISION.
   WORKING-STORAGE SECTION.
   01 WS-NUM1 PIC 9(9).
   01 WS-NUM2 PIC 9(9).
   01 WS-NUM3 PIC 9(5).
   01 WS-NUM4 PIC 9(6).
   01 WS-ADDRESS. 
   05 WS-HOUSE-NUMBER PIC 9(3).
   05 WS-COUNTRY PIC X(5).
   05 WS-PINCODE PIC 9(6).
   01 WS-ADDRESS1. 
   05 WS-HOUSE-NUMBER1 PIC 9(3).
   05 WS-COUNTRY1 PIC X(5).
   05 WS-PINCODE1 PIC 9(6).

PROCEDURE DIVISION.
   A000-FIRST-PARA.
   MOVE 123456789 TO WS-NUM1.
   MOVE WS-NUM1 TO WS-NUM2 WS-NUM3.
   MOVE WS-NUM1(3:6) TO WS-NUM4.
   MOVE 123 TO WS-HOUSE-NUMBER.
   MOVE 'INDIA' TO WS-COUNTRY.
   MOVE 112233 TO WS-PINCODE.
   MOVE WS-ADDRESS TO WS-ADDRESS1.

   DISPLAY "WS-NUM1     : " WS-NUM1
   DISPLAY "WS-NUM2     : " WS-NUM2
   DISPLAY "WS-NUM3     : " WS-NUM3
   DISPLAY "WS-NUM4     : " WS-NUM4
   DISPLAY "WS-ADDRESS  : " WS-ADDRESS
   DISPLAY "WS-ADDRESS1 : " WS-ADDRESS1

STOP RUN.

JCL oben COBOL-Programm zu ausführen:

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C
//STEP1 EXEC PGM=HELLO

Wenn Sie kompilieren und führen Sie das obige Programm, es produziert das folgende Ergebnis:

WS-NUM1     : 123456789
WS-NUM2     : 123456789
WS-NUM3     : 56789
WS-NUM4     : 345678
WS-ADDRESS  : 123INDIA112233
WS-ADDRESS1 : 123INDIA112233

Rechtliche bewegt sich

Die folgende Tabelle gibt Informationen über die legalen Züge:

Alphabetische Alphanumerische Aumerisch
Alphabetische Mögliche Mögliche Nicht Possible
Alphabetische Mögliche Mögliche Mögliche
Numerisch Nicht Mögliche Mögliche Mögliche

Hinzufügen Verb

Verb hinzufügen wird verwendet, um zwei oder mehr Zahlen zu addieren und speicher das Ergebnis in die Zieloperanden.

Syntax

geben unten ist die Syntax, um zwei oder mehr Zahlen hinzufügen:

ADD A B TO C D

ADD A B C TO D GIVING E

ADD CORR WS-GROUP1 TO WS-GROUP2

In Syntax-1, A, B, C zugegeben, und das Ergebnis wird gespeichert sich in C (C = A + B + C). A, B, D werden addiert und das Ergebnis wird in D (D = A + B + D).

In Syntax-2, A, B, C, D werden addiert und das Ergebnis wird gespeichert in E (E = A + B + C + D).

In der Syntax-3, Untergruppen Artikel mit in WS-GROUP1 und WS GROUP2 sind die hinzugefügt und Ergebnis wird in WS-GROUP2 gespeichert.

Beispiel

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.

DATA DIVISION.
   WORKING-STORAGE SECTION.
   01 WS-NUM1 PIC 9(9) VALUE 10.
   01 WS-NUM2 PIC 9(9) VALUE 10.
   01 WS-NUM3 PIC 9(9) VALUE 10.
   01 WS-NUM4 PIC 9(9) VALUE 10.
   01 WS-NUMA PIC 9(9) VALUE 10.
   01 WS-NUMB PIC 9(9) VALUE 10.
   01 WS-NUMC PIC 9(9) VALUE 10.
   01 WS-NUMD PIC 9(9) VALUE 10.
   01 WS-NUME PIC 9(9) VALUE 10.

PROCEDURE DIVISION.
   ADD WS-NUM1 WS-NUM2 TO WS-NUM3 WS-NUM4.
   ADD WS-NUMA WS-NUMB WS-NUMC TO WS-NUMD GIVING WS-NUME.
   DISPLAY "WS-NUM1     : " WS-NUM1
   DISPLAY "WS-NUM2     : " WS-NUM2
   DISPLAY "WS-NUM3     : " WS-NUM3
   DISPLAY "WS-NUM4     : " WS-NUM4
   DISPLAY "WS-NUMA     : " WS-NUMA
   DISPLAY "WS-NUMB     : " WS-NUMB
   DISPLAY "WS-NUMC     : " WS-NUMC
   DISPLAY "WS-NUMD     : " WS-NUMD
   DISPLAY "WS-NUME     : " WS-NUME

STOP RUN.

JCL oben COBOL-Programm zu ausführen:

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C
//STEP1 EXEC PGM=HELLO

Wenn Sie kompilieren und führen Sie das obige Programm, es produziert das folgende Ergebnis:

WS-NUM1     : 000000010
WS-NUM2     : 000000010
WS-NUM3     : 000000030
WS-NUM4     : 000000030
WS-NUMA     : 000000010
WS-NUMB     : 000000010
WS-NUMC     : 000000010
WS-NUMD     : 000000010
WS-NUME     : 000000040

Subtrahieren Verb

Subtrahieren Verb ist für Rechen-Operationen verwendet wird.

Syntax

unten angegeben ist die Syntax für Subtraktions operationen:

SUBTRACT A B FROM C D

SUBTRACT A B C FROM D GIVING E

SUBTRACT CORR WS-GROUP1 TO WS-GROUP2

In Syntax-1, A und B addiert und subtrahiert von C. Das Ergebnis ist unter C (C = C- (A + B)). A und B addiert und subtrahiert von D. Das Ergebnis ist in D gespeicherten (D = D (A + B)).

In Syntax-2, A, B, C zugegeben, und von D. Ergebnis subtrahiert wird in E gespeichert (E = D (A + B + C))

In der Syntax-3, Untergruppe ein Element innerhalb von WS-GROUP1 und WS-GROUP2 werden subtrahiert und das Ergebnis wird in WS-GROUP2 gespeichert.

Beispiel

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.

DATA DIVISION.
   WORKING-STORAGE SECTION.
   01 WS-NUM1 PIC 9(9) VALUE 10.
   01 WS-NUM2 PIC 9(9) VALUE 10.
   01 WS-NUM3 PIC 9(9) VALUE 100.
   01 WS-NUM4 PIC 9(9) VALUE 100.
   01 WS-NUMA PIC 9(9) VALUE 10.
   01 WS-NUMB PIC 9(9) VALUE 10.
   01 WS-NUMC PIC 9(9) VALUE 10.
   01 WS-NUMD PIC 9(9) VALUE 100.
   01 WS-NUME PIC 9(9) VALUE 10.

PROCEDURE DIVISION.
   SUBTRACT WS-NUM1 WS-NUM2 FROM WS-NUM3 WS-NUM4.
   SUBTRACT WS-NUMA WS-NUMB WS-NUMC FROM WS-NUMD GIVING WS-NUME.

   DISPLAY "WS-NUM1     : " WS-NUM1
   DISPLAY "WS-NUM2     : " WS-NUM2
   DISPLAY "WS-NUM3     : " WS-NUM3
   DISPLAY "WS-NUM4     : " WS-NUM4
   DISPLAY "WS-NUMA     : " WS-NUMA
   DISPLAY "WS-NUMB     : " WS-NUMB
   DISPLAY "WS-NUMC     : " WS-NUMC
   DISPLAY "WS-NUMD     : " WS-NUMD
   DISPLAY "WS-NUME     : " WS-NUME

STOP RUN.

JCL oben COBOL-Programm zu ausführen:

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C
//STEP1 EXEC PGM=HELLO

Wenn Sie kompilieren und führen Sie das obige Programm, es produziert das folgende Ergebnis:

WS-NUM1     : 000000010
WS-NUM2     : 000000010
WS-NUM3     : 000000080
WS-NUM4     : 000000080
WS-NUMA     : 000000010
WS-NUMB     : 000000010
WS-NUMC     : 000000010
WS-NUMD     : 000000100
WS-NUME     : 000000070

Multiplizieren Verb

multiplizieren Verb verwendet wird für Multiplikationsoperationen.

Syntax

Da unten ist die Syntax, um zwei oder mehr Zahlen zu multiplizieren:

MULTIPLY A BY B C

MULTIPLY A BY B GIVING E

In der Syntax-1, A und B sind multipliziert und das Ergebnis wird in B gespeichert (B = A * B). A und C sind multipliziert und das Ergebnis wird sich in C (C = A * C)..

In der Syntax-2, A und B multipliziert und das Ergebnis wird in E gespeichert (E = A * B).

Beispiel

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.

DATA DIVISION.
   WORKING-STORAGE SECTION.
   01 WS-NUM1 PIC 9(9) VALUE 10.
   01 WS-NUM2 PIC 9(9) VALUE 10.
   01 WS-NUM3 PIC 9(9) VALUE 10.
   01 WS-NUMA PIC 9(9) VALUE 10.
   01 WS-NUMB PIC 9(9) VALUE 10.
   01 WS-NUMC PIC 9(9) VALUE 10.

PROCEDURE DIVISION.
   MULTIPLY WS-NUM1 BY WS-NUM2 WS-NUM3.
   MULTIPLY WS-NUMA BY WS-NUMB GIVING WS-NUMC.
   
   DISPLAY "WS-NUM1     : " WS-NUM1
   DISPLAY "WS-NUM2     : " WS-NUM2
   DISPLAY "WS-NUM3     : " WS-NUM3
   DISPLAY "WS-NUMA     : " WS-NUMA
   DISPLAY "WS-NUMB     : " WS-NUMB
   DISPLAY "WS-NUMC     : " WS-NUMC
   
STOP RUN.

JCL oben COBOL-Programm zu ausführen:

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C
//STEP1 EXEC PGM=HELLO

Wenn Sie kompilieren und führen Sie das obige Programm, es produziert das folgende Ergebnis:

WS-NUM1     : 000000010
WS-NUM2     : 000000100
WS-NUM3     : 000000100
WS-NUMA     : 000000010
WS-NUMB     : 000000010
WS-NUMC     : 000000100

Dividieren Verb

dividieren Verb verwendet wird für Divisionsoperationen.

Syntax

Da unten ist die Syntax für die Aufteilung Operations:

DIVIDE A INTO B

DIVIDE A BY B GIVING C REMAINDER R

In der Syntax-1, wird B durch A dividiert und das Ergebnis wird in B (B = B / A) gespeichert.

In Syntax-2 wird A durch B dividiert und das Ergebnis wird gespeichert in C (C = A / B) und den Rest wird gespeichert in R.

Beispiel

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.

DATA DIVISION.
   WORKING-STORAGE SECTION.
   01 WS-NUM1 PIC 9(9) VALUE 5.
   01 WS-NUM2 PIC 9(9) VALUE 250.
   01 WS-NUMA PIC 9(9) VALUE 100.
   01 WS-NUMB PIC 9(9) VALUE 15.
   01 WS-NUMC PIC 9(9).
   01 WS-REM PIC 9(9). 

PROCEDURE DIVISION.
   DIVIDE WS-NUM1 INTO WS-NUM2.
   DIVIDE WS-NUMA BY WS-NUMB GIVING WS-NUMC REMAINDER WS-REM.
   DISPLAY "WS-NUM1     : " WS-NUM1
   DISPLAY "WS-NUM2     : " WS-NUM2
   DISPLAY "WS-NUMA     : " WS-NUMA
   DISPLAY "WS-NUMB     : " WS-NUMB
   DISPLAY "WS-NUMC     : " WS-NUMC
   DISPLAY "WS-REM      : " WS-REM
   
STOP RUN.

JCL oben COBOL-Programm zu ausführen:

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C
//STEP1 EXEC PGM=HELLO

Wenn Sie kompilieren und führen Sie das obige Programm, es produziert das folgende Ergebnis:

WS-NUM1     : 000000005
WS-NUM2     : 000000050
WS-NUMA     : 000000100
WS-NUMB     : 000000015
WS-NUMC     : 000000006
WS-REM      : 000000010

Compute Erklärung

Compute-Anweisung wird verwendet, um arithmetische Ausdrücke in COBOL zu schreiben. Dies ist ein Ersatz für addieren, subtrahieren, multiplizieren und dividieren.

Beispiel

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.

DATA DIVISION.
   WORKING-STORAGE SECTION.
   01 WS-NUM1 PIC 9(9) VALUE 10 .
   01 WS-NUM2 PIC 9(9) VALUE 10.
   01 WS-NUM3 PIC 9(9) VALUE 10.
   01 WS-NUMA PIC 9(9) VALUE 50.
   01 WS-NUMB PIC 9(9) VALUE 10.
   01 WS-NUMC PIC 9(9).

PROCEDURE DIVISION.
   COMPUTE WS-NUMC= (WS-NUM1 * WS-NUM2) - (WS-NUMA / WS-NUMB) + WS-NUM3.
   DISPLAY "WS-NUM1     : " WS-NUM1
   DISPLAY "WS-NUM2     : " WS-NUM2
   DISPLAY "WS-NUM3     : " WS-NUM3
   DISPLAY "WS-NUMA     : " WS-NUMA
   DISPLAY "WS-NUMB     : " WS-NUMB
   DISPLAY "WS-NUMC     : " WS-NUMC

STOP RUN.

JCL oben COBOL-Programm zu ausführen.

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C
//STEP1 EXEC PGM=HELLO

Wenn Sie kompilieren und führen Sie das obige Programm, es produziert das folgende Ergebnis:

WS-NUM1     : 000000010
WS-NUM2     : 000000010
WS-NUM3     : 000000010
WS-NUMA     : 000000050
WS-NUMB     : 000000010
WS-NUMC     : 000000105
Advertisements