COBOL , CICS und DB2
17. April 2000

DB2 wird in einem COBOL-Programm immer mit
einem EXEC SQL aufgerufen. Damit ist es aber nicht getan. Zusätzlich müssen noch die COMMONAREAS, die Datenstrukturen
(PUNCH-Dateien)und eventuelle CURSOR eingebunden werden.

Bei den CICS - Zugriffen braucht man auf jeden Fall folgende Statements :

EXEC CICS INCLUDE
COMMONAREA(SQLCA)
END-EXEC.

Falls BMS - Masken angesprochen werden, gehört auch noch das folgende Statement dazu. (BMS = Basic Mapping Support)

EXEC CICS INCLUDE
COMMONAREA(DFHBMCA)
END-EXEC.

Diese Statements müssen unbedingt in der
WORKING-STORAGE SECTION stehen.

Wenn diese Statements in der LINKAGE SECTION
stehen, brauchen Sie entsprechende Referenzfelder in der WORKING-STORAGE SECTION, da die LINKAGE SECTION nicht direkt adressierbar ist, sondern indirekt über ein SET ADDRESS OF TO ADDRESS OF in der
PROCEDURE DIVISION.

Die CURSOR müssen ebenfalls in der WORKING-STORAGE SECTION definiert werden und zwar
in der Regel ein Cursor pro Zugriffstyp auf
die DB2 - Datenbank.

Ein CURSOR wird wie folgt definiert :

EXEC CICS DECLARE CURSOR01 CURSOR FOR
SELECT | UPDATE | MODIFY | DELETE
FELDNAME_1,
FELDNAME_2,
FELDNAME_3
FROM
WHERE FELDNAME_1 = FELDNAME_2
ORDER BY FELDNAME_2 DESC,
FELDNAME_3 ASC
END-EXEC.

In dem SELECT Statement kann natürlich nur eins der angegebenen Worte SELECT, UPDATE, MODIFY oder DELETE stehen.

Im WHERE Statement steht dann die eigentliche Zugriffsbedingung.

ORDER BY ASC | DESC beschreibt
die Ordnungsreihenfolge. Im obigen Beispiel soll FELDNAME_2 absteigend (DESC) sortiert und FELDNAME_3 aufsteigend sortiert werden (ASC).

Diese CURSOR müssen dann in der PROCEDURE
DIVISION mit

EXEC CICS OPEN
CURSOR(CURSOR01)
END-EXEC.

geöffnet werden.

Danach erfolgt mit

EXEC CICS FETCH CURSOR01

END-EXEC.

der Zugriff auf die Datenbank. Es wird mit dem oben in EXEC CICS DECLARE definierten
Cursor auf die Datenbank zugegriffen und diese bis zum Ende gelesen.

Danach erfolgt mit

EXEC CICS CLOSE
CURSOR(CURSOR01)
END-EXEC

das Schließen der Datenbank.

Dies soll für heute reichen.

Mit freundlichen Grüßen


Herbert Grüner
Ergänzung:
Name:
Mail:
Ergänzung:


© by
comTOWN