CICS - KARTE

BMS empfängt die vom Benutzer eingegebenen Daten und formatiert sie dann in einen symbolischen Kartenbereich. Das Anwendungsprogramm hat nur Zugriff auf die Daten in der symbolischen Karte. Das Anwendungsprogramm verarbeitet die Daten und die Ausgabe wird an die symbolische Karte gesendet. BMS führt die Ausgabe der symbolischen Daten mit der physischen Karte zusammen.

Physikalische Karte

Die physische Karte ist ein Lademodul in der Ladebibliothek, das Informationen darüber enthält, wie die Karte angezeigt werden soll.

  • Es enthält die Details zu den Attributen aller Felder in der Karte und deren Positionen.

  • Es enthält das Anzeigeformat der Karte für ein bestimmtes Terminal.

  • Es wird mit BMS-Makros codiert. Es wird separat zusammengestellt und in die CICS-Bibliothek eingebunden.

Symbolische Karte

Eine symbolische Karte ist ein Kopierbuch in der Bibliothek. Das Kopierbuch wird vom CICS-Anwendungsprogramm zum Senden und Empfangen von Daten vom Terminal verwendet.

  • Es enthält alle variablen Daten, die in den Abschnitt WORKINGSTORAGE des Programms kopiert werden.

  • Es hat alle benannten Felder. Der Anwendungsprogrammierer verwendet diese Felder zum Lesen und Schreiben von Daten in die Karte.

Skipper und Stopper Field

Wenn wir für ein ungeschütztes benanntes Feld in einer Karte eine Länge von 10 angegeben haben, bedeutet dies, dass das Namensfeld Werte annehmen kann, deren Länge 10 nicht überschreiten darf. Wenn Sie diese Karte jedoch mit CICS anzeigen und Werte für dieses Feld eingeben Auf dem Bildschirm können wir mehr als 10 Zeichen eingeben, dh bis zum Ende des Bildschirms, und wir können sogar in die nächste Zeile eingeben. Um dies zu verhindern, verwenden wir das Skipper- oder Stopperfeld. Ein Skipper-Feld ist im Allgemeinen ein unbenanntes Feld der Länge 1, das nach einem benannten Feld angegeben wird.

Skipper Field

Wenn wir ein Skipper-Feld nach dem benannten ungeschützten Feld platzieren, positioniert sich der Cursor bei Eingabe des Werts nach Erreichen der angegebenen Länge automatisch zum nächsten ungeschützten Feld. Das folgende Beispiel zeigt, wie Sie ein Skipper-Feld hinzufügen -

NUMBER  DFHMDF POS = (01,01), X
   LENGTH = 5, X
   ATTRB = (UNPROT,IC)
      DFHMDF POS = (01,07), X
      LENGTH = 1, X
      ATTRB = (ASKIP)

Stopperfeld

Wenn wir ein Stopperfeld nach dem benannten ungeschützten Feld platzieren, stoppt der Cursor bei Eingabe des Werts nach Erreichen der angegebenen Länge seine Positionierung. Das folgende Beispiel zeigt, wie Sie ein Stopperfeld hinzufügen -

NUMBER  DFHMDF POS = (01,01), X
   LENGTH = 5, X
	ATTRB = (UNPROT,IC)
	   DFHMDF POS = (01,07), X
      LENGTH = 1, X
      ATTRB = (PROT)

Attribut Byte

Das Attributbyte eines Feldes speichert Informationen über die physikalischen Eigenschaften des Feldes. Das folgende Diagramm und die Tabelle erläutern die Bedeutung jedes Bits.

Bitposition Beschreibung Biteinstellungen
0 & 1   Bestimmt durch den Inhalt von Bit 2 bis 7
2 & 3 Schutz & Schicht 00 - Ungeschütztes Alphanumerisch
01 - Ungeschütztes Numerisches
10 - Geschützter Stopp
11 - Geschütztes Überspringen
4 & 5 Intensität 00 - Normal
01 - Normal
10 - Hell
11 - Keine Anzeige (Dunkel)
6   Muss immer Null sein
7 Geändertes Daten-Tag 0 - Feld wurde nicht geändert
1 - Feld wurde geändert

Geändertes Daten-Tag

Modified Data Tag (MDT) ist das letzte Bit im Attributbyte.

  • MDT ist ein Flag, das ein einzelnes Bit enthält. Es gibt an, ob der Wert an das System übertragen werden soll oder nicht.

  • Der Standardwert ist 1, wenn der Feldwert geändert wird.

  • Wenn MDT 0 ist, können keine Daten übertragen werden. und wenn MDT 1 ist, können Daten übertragen werden.

Karte senden

Der Befehl send map schreibt formatierte Ausgaben in das Terminal. Es wird verwendet, um die Karte vom Anwendungsprogramm an das Terminal zu senden. Das folgende Codesegment zeigt, wie Sie eine Karte an das Terminal senden -

EXEC CICS SEND 
   MAP('map-name')
   MAPSET('mapset-name')
   [FROM(data-area)]
   [LENGTH(data_value)]
   [DATAONLY]
   [MAPONLY]
   [CURSOR]
   [ERASE/ERASEAUP]
   [FREEKB] 
   [FRSET]
END-EXEC

In der folgenden Tabelle sind die in einem Befehl zum Senden einer Karte verwendeten Parameter zusammen mit ihrer Bedeutung aufgeführt.

Sr.Nr. Parameter & Beschreibung
1

Map-name

Es ist der Name der Karte, die wir senden möchten. Es zwingend erforderlich ist.

2

Mapset-name

Es ist der Name des Kartensatzes, der den Kartennamen enthält. Der Name des Kartensatzes wird benötigt, es sei denn, er entspricht dem Namen der Karte.

3

FROM

Wenn wir uns für die Verwendung eines anderen DSECT-Namens entschieden haben, müssen wir die Option FROM (dsect-name) zusammen mit dem Befehl SEND MAP verwenden.

4

MAPONLY

Dies bedeutet, dass keine Daten aus Ihrem Programm in die Karte eingefügt werden sollen und nur die Informationen in der Karte übertragen werden.

5

DATAONLY

Es ist das logische Gegenteil von MAPONLY. Wir verwenden es, um die variablen Daten in einer Anzeige zu ändern, die bereits erstellt wurde. Es werden nur die Daten Ihres Programms an den Bildschirm gesendet. Die Konstanten in der Karte werden nicht gesendet.

6

ERASE

Dadurch wird der gesamte Bildschirm gelöscht, bevor das, was wir senden, angezeigt wird.

7

ERASEUP

Es werden nur ungeschützte Felder gelöscht.

8

FRSET

Durch das Zurücksetzen des Flags wird das geänderte Daten-Tag im Attributbyte für alle Felder auf dem Bildschirm deaktiviert, bevor das, was Sie senden, dort abgelegt wird.

9

CURSOR

Es kann verwendet werden, um den Cursor auf dem Terminalbildschirm zu positionieren. Der Cursor kann gesetzt werden, indem -1 in den L-Teil des Feldes bewegt und dann die Karte gesendet wird.

10

ALARM

Dadurch ertönt der akustische Alarm.

11

FREEKB.

Die Tastatur wird entsperrt, wenn FREEKB entweder in der Karte oder im Befehl SEND angegeben wird.

12

PRINT

Damit kann die Ausgabe eines SEND-Befehls auf einem Drucker gedruckt werden.

13

FORMFEED

Dadurch stellt der Drucker das Papier oben auf der nächsten Seite wieder her, bevor die Ausgabe gedruckt wird.

Karte erhalten

Wenn wir Eingaben von einem Terminal empfangen möchten, verwenden wir den Befehl RECEIVE MAP. Die Parameter MAP und MAPSET haben genau die gleiche Bedeutung wie für den Befehl SEND MAP. Das folgende Codesegment zeigt, wie Sie eine Karte erhalten -

EXEC CICS RECEIVE 
   MAP('map-name')
   MAPSET('mapset-name')
   [INTO(data-area)]
   [FROM(data-area)]
   [LENGTH(data_value)]
END-EXEC

Mapset-Ausführung

Die folgenden Schritte sind erforderlich, um ein Mapset zu entwickeln und auszuführen:

  • Step 1 - Öffnen Sie eine TSO-Sitzung.

  • Step 2 - Erstellen Sie eine neue PDS.

  • Step 3 - Codieren Sie ein Mapset in einem neuen Mitglied entsprechend der Anforderung.

  • Step 4 - Stellen Sie das Mapset mit der vom CICS-Administrator bereitgestellten JCL zusammen.

  • Step 5 - Öffnen Sie eine CICS-Sitzung.

  • Step 6 - Installieren Sie das Programm mit dem Befehl -

    CEMT SET PROG (Mapset-Name) NEU

  • Step 7 - Geben Sie den folgenden Befehl ein, um die Karte an das Terminal zu senden. -

    CECI SEND MAP (Kartenname) MAPSET (Kartensatzname) ERASE FREEKB