CICS - Schnittstellenblock

Jedes Anwendungsprogramm würde eine Schnittstelle benötigen, um mit dem CICS zu interagieren. EIB (Execute Interface Block) fungiert als Schnittstelle, über die Anwendungsprogramme mit dem CICS kommunizieren können. Die EIB enthält die Informationen, die während der Ausführung eines Programms erforderlich sind.

Eingeschränkte COBOL-Verben

Beim Codieren eines CICS-Programms können wir keine Befehle verwenden, die das Steuerelement direkt an das MVS zurückgeben. Wenn wir diese COBOL-Verben codieren, wird kein Kompilierungsfehler ausgegeben, aber wir erhalten möglicherweise unvorhersehbare Ergebnisse. Es folgen die COBOL-Verben, die in einem CICS-Programm nicht verwendet werden sollten -

  • Datei-E / A-Anweisungen wie Öffnen, Lesen, Schreiben, Umschreiben, Schließen, Löschen und Starten. Alle Datei-E / A in CICS werden vom Dateisteuerungsmodul verwaltet und haben ihre eigenen Anweisungen wie READ, WRITE, REWRITE und DELETE, die wir in den kommenden Modulen diskutieren werden.

  • Die Abteilung für Dateibereich und Umgebung ist nicht erforderlich.

  • COBOL-Anweisungen, die Betriebssystemfunktionen wie Akzeptieren, Datum / Uhrzeit aufrufen, können nicht verwendet werden.

  • Verwenden Sie nicht DISPLAY, MERGE, STOP RUN und GO BACK.

Schnittstellenblock ausführen

Execute Interface Block (EIB) ist ein Steuerblock, der vom CICS für jedes Programm automatisch geladen wird.

  • Die EIB ist für eine Aufgabe eindeutig und für die Dauer der Aufgabe vorhanden. Es enthält eine Reihe von systembezogenen Informationen, die der Aufgabe entsprechen.

  • Es enthält Informationen zu Transaktionskennung, Uhrzeit, Datum usw., die vom CICS während der Ausführung eines Anwendungsprogramms verwendet werden.

  • Jedes Programm, das als Teil der Aufgabe ausgeführt wird, hat Zugriff auf dieselbe EIB.

  • Die Daten in der EIB zur Laufzeit können angezeigt werden, indem das Programm im CEDF-Modus ausgeführt wird.

EIB-Felder

Die folgende Tabelle enthält eine Liste der Felder, die in der EIB vorhanden sind -

EIB-Feld PIC-Klausel Beschreibung
EIBAID X (1) Hilfetaste gedrückt
EIBCALEN S9 (4) COMP Es enthält die Länge von DFHCOMMAREA
EIBDATE S9 (7) COMP-3 Es enthält das aktuelle Systemdatum
EIBRCODE X (6) Es enthält den Rückkehrcode der letzten Transaktion
EIBTASKN S9 (7) COMP-3 Es enthält die Aufgabennummer
EIBTIME S9 (7) COMP-3 Es enthält die aktuelle Systemzeit
EIBTRMID X (4) Terminal-ID
EIBTRNID X (4) Transaktionskennung

Klassifizierung von CICS-Programmen

CICS-Programme werden in die folgenden drei Kategorien eingeteilt, die wir nacheinander diskutieren werden:

  • Nicht-Konversationsprogramme
  • Gesprächsprogramme
  • Pseudokonversationsprogramme - Wir werden im nächsten Modul diskutieren

Nicht-Konversationsprogramme

Während der Ausführung von Nicht-Konversationsprogrammen ist kein menschliches Eingreifen erforderlich. Alle notwendigen Eingaben werden beim Programmstart bereitgestellt.

  • Sie ähneln Batch-Programmen, die im Batch-Modus ausgeführt werden. In CICS werden sie daher selten entwickelt.

  • Wir können sagen, dass sie nur zum Anzeigen einer Folge von Bildschirmen in regelmäßigen Zeitabständen verwendet werden.

Beispiel

Das folgende Beispiel zeigt ein nicht gesprächiges Programm, das einfach "HALLO WORLD" auf dem CICS-Terminal als Ausgabe anzeigt -

IDENTIFICATION DIVISION.                                
PROGRAM-ID. HELLO.                                      
DATA DIVISION.                                          
WORKING-STORAGE SECTION.                                
01 WS-MESSAGE          PIC X(30).                       
PROCEDURE DIVISION.                                     
********************************************************
* SENDING DATA TO SCREEN                               * 
********************************************************
   MOVE 'HELLO WORLD' TO WS-MESSAGE                
   EXEC CICS SEND TEXT                             
      FROM (WS-MESSAGE)                          
   END-EXEC                                        
********************************************************
* TASK TERMINATES WITHOUT ANY INTERACTION FROM THE USER* 
********************************************************
   EXEC CICS RETURN                                
END-EXEC.

Gesprächsprogramm

Das Senden einer Nachricht an das Terminal und das Empfangen einer Antwort vom Benutzer wird als a bezeichnet Conversational. Eine Online-Bewerbung erreicht eine Konversation zwischen dem Benutzer und dem Anwendungsprogramm durch ein Paar von SEND- und RECEIVE-Befehlen. Die wichtigsten Punkte eines Konversationsprogramms sind:

  • Das System sendet eine Nachricht an den Bildschirm und wartet auf die Antwort des Benutzers.

  • Die Zeit, die der Benutzer benötigt, um zu antworten, ist bekannt als Think Time. Diese Zeit ist beträchtlich hoch, was ein Hauptnachteil von Konvertierungsprogrammen ist.

  • Der Benutzer gibt die erforderlichen Eingaben ein und drückt eine AID-Taste.

  • Die Anwendung verarbeitet die Benutzereingaben und sendet die Ausgaben.

  • Das Programm wird zu Beginn in den Hauptspeicher geladen und bleibt bis zum Ende der Aufgabe erhalten.

Beispiel

Das folgende Beispiel zeigt ein Konvertierungsprogramm, das Eingaben vom Benutzer entgegennimmt und dann einfach dieselbe Eingabe auf dem CICS-Terminal wie die Ausgabe anzeigt.

IDENTIFICATION DIVISION.                               
PROGRAM-ID. HELLO.                                     
DATA DIVISION.                                         
WORKING-STORAGE SECTION.                               
01 WS-MESSAGE          PIC X(30) VALUE SPACES.         
PROCEDURE DIVISION.                                    
   MOVE 'ENTER MESSAGE' TO WS-MESSAGE           
********************************************************
* SENDING DATA FROM PROGRAM TO SCREEN                  * 
********************************************************
   EXEC CICS SEND TEXT                            
      FROM (WS-MESSAGE)                         
   END-EXEC                                       
********************************************************
* GETTING INPUT FROM USER                              * 
********************************************************
   EXEC CICS RECEIVE                              
      INTO(WS-MESSAGE)                          
   END-EXEC                                       
   EXEC CICS SEND TEXT                            
      FROM (WS-MESSAGE)                         
   END-EXEC                                       
********************************************************
* COMMAND TO TERMINATE THE TRANSACTION                 * 
********************************************************
   EXEC CICS RETURN                               
END-EXEC.