<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Customer_Information_Control_System</id>
	<title>Customer Information Control System - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Customer_Information_Control_System"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Customer_Information_Control_System&amp;action=history"/>
	<updated>2026-05-19T09:17:24Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Customer_Information_Control_System&amp;diff=148906&amp;oldid=prev</id>
		<title>imported&gt;Invisigoth67: typo, form</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Customer_Information_Control_System&amp;diff=148906&amp;oldid=prev"/>
		<updated>2026-02-21T14:05:00Z</updated>

		<summary type="html">&lt;p&gt;typo, form&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Infobox Software&lt;br /&gt;
|Screenshot           = &lt;br /&gt;
|Beschreibung         = &lt;br /&gt;
|Hersteller           = IBM&lt;br /&gt;
|Erscheinungsjahr     = 8. Juli 1969&lt;br /&gt;
|AktuelleVersion      = CICS Transaction Server V5.6&lt;br /&gt;
|AktuelleVersionFreigabeDatum = 12. Juni 2020&lt;br /&gt;
|AktuelleVorabVersion = &lt;br /&gt;
|AktuelleVorabVersionFreigabeDatum = &lt;br /&gt;
|Betriebssystem       = [[z/OS]], [[z/VSE]]&lt;br /&gt;
|Programmiersprache   = [[COBOL]], [[PL/I]], [[Assemblersprache|Assembler]], [[Java (Programmiersprache)|Java]]&lt;br /&gt;
|Kategorie            = [[Transaktionsmonitor]], [[Middleware]]&lt;br /&gt;
|Lizenz               = [[proprietär]]&lt;br /&gt;
|Website              = [https://www.ibm.com/products/cics-transaction-server IBM CICS]&lt;br /&gt;
}}&lt;br /&gt;
Das &amp;#039;&amp;#039;&amp;#039;Customer Information Control System&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;CICS&amp;#039;&amp;#039;&amp;#039;) ist eine Art von [[IBM]] entwickelte Software ([[Middleware]]), die verwendet wird, um Programme ([[Anwendungssoftware|Applikationen]]) zu erstellen, bei denen Aufgaben in kurzer Zeit abgewickelt werden müssen. Man nennt solche Programme auch Online Transaction Processing ([[OLTP]]). CICS verwendet spezielle Befehle, um diese Aufgaben auszuführen. Diese Befehle werden oft zusammen mit der Programmiersprache [[COBOL]] verwendet, wobei die Anweisungen in den COBOL-Code eingefügt werden.&lt;br /&gt;
&lt;br /&gt;
== Aussprache ==&lt;br /&gt;
Je nach Land wird die Abkürzung CICS unterschiedlich ausgesprochen:&lt;br /&gt;
* In Deutschland meistens wie &amp;#039;&amp;#039;zicks&amp;#039;&amp;#039;: &amp;#039;&amp;#039;Ohne CICS läuft nix&amp;lt;!--sic!--&amp;gt;!&amp;#039;&amp;#039;.&lt;br /&gt;
* In den USA sind &amp;#039;&amp;#039;kicks&amp;#039;&amp;#039; und &amp;#039;&amp;#039;see eye see ess&amp;#039;&amp;#039; gebräuchlich.&lt;br /&gt;
* In Großbritannien eher wie &amp;#039;&amp;#039;kicks&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Überblick ==&lt;br /&gt;
Als [[Transaktionsmonitor]] kann CICS [[Transaktion (Informatik)|Transaktionen]] verarbeiten, mit vielen Benutzern und mit einer Vielzahl von [[Anwendungssoftware|Anwendungen]]. CICS kümmert sich darum, diese Programme zu organisieren, ihre Ausführung zu koordinieren und Informationen zwischen den Programmen und den Geräten, die verwendet werden, auszutauschen. Es hilft auch dabei, wie Programme auf Informationen zugreifen können. Wenn das Anwendungsprogramm auf ein Terminal oder ein Festplattengerät zugreifen möchte, agiert CICS wie eine Art Übersetzer, der sicherstellt, dass die Programme richtig mit den Geräten kommunizieren. CICS kommuniziert dazu mit einer Zugriffsmethode des Betriebssystems, welche anschließend mit dem Gerät kommuniziert.&lt;br /&gt;
&lt;br /&gt;
Wenn zum Beispiel ein Programm Informationen von einem Geldautomaten anzeigen möchte, kommuniziert es nicht direkt mit dem Automaten, sondern gibt CICS Anweisungen, was es tun soll. Dann kümmert sich CICS darum, wie das Programm mit dem Automaten Informationen austauschen kann. Dadurch wird sichergestellt, dass alles reibungslos funktioniert.&lt;br /&gt;
&lt;br /&gt;
CICS kann dafür sorgen, dass mehrere Aufgaben gleichzeitig auf einem Computer erledigt werden können, ohne sich dabei gegenseitig zu behindern. Zum Beispiel könnten mehrere CICS-Systeme auf einem Computer laufen, und jedes von ihnen hat seine eigene &amp;quot;Zone&amp;quot; ([[Adressraum]]), in der es arbeitet, ohne andere zu stören. &lt;br /&gt;
&lt;br /&gt;
Bei der CICS-Applikationsentwicklung unterscheidet man:&lt;br /&gt;
* die [[Geschäftslogik|Business Logic]]: Datenmanipulation und Berechnungen, welche die Transaktion erfordert (Unter Verendung von [[COBOL]], [[PL/I]], [[Assemblersprache|Assembler]], Java)&lt;br /&gt;
* die Data Services: abrufen und aktualisieren von Daten (mit Hilfe von [[Db2]], DL/I, [[Virtual Storage Access Method|VSAM]], Oracle-Software)&lt;br /&gt;
&lt;br /&gt;
Es wird eine [[Makro]]sprache verwendet, wobei diese Sprache unabhängig von der Programmiersprache ist. Innerhalb beispielsweise eines COBOL-Programmes befinden sich die CICS-Anweisungen. &lt;br /&gt;
&lt;br /&gt;
Der generelle Aufbau der CICS-Kommandos:&lt;br /&gt;
  EXEC CICS&lt;br /&gt;
       FUNCTION&lt;br /&gt;
        OPTION  (Argument)&lt;br /&gt;
  END-EXEC&lt;br /&gt;
&lt;br /&gt;
  FUNCTION: die CICS-Operation&lt;br /&gt;
  OPTION: die Optionen der Operation&lt;br /&gt;
  Argument: der Datenwert&lt;br /&gt;
&lt;br /&gt;
MAPS ist eines der Kommunikations-Interfaces zwischen CICS und dem Benutzer.&lt;br /&gt;
&lt;br /&gt;
Der [[Endbenutzer]] gibt beispielsweise Daten ein, welche dem Programm verfügbar gemacht werden, indem es eine &amp;#039;&amp;#039;map&amp;#039;&amp;#039; von CICS erhält.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cobolfree&amp;quot;&amp;gt;&lt;br /&gt;
 EXEC CICS&lt;br /&gt;
     RECEIVE MAPSET(&amp;#039;LOSMATT&amp;#039;) MAP(&amp;#039;LOSATT&amp;#039;) INTO(OUR-MAP)&lt;br /&gt;
 END-EXEC.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CICS ist unter den /390-Großrechner-Betriebssystemen [[z/OS]] ([[Multiple Virtual Storage|MVS]]) und [[z/VSE|VSE]] sowie, in modifizierter Form als Encina-Erweiterung, unter [[AIX]], [[HP-UX]], [[Solaris (Betriebssystem)|Solaris]] sowie [[Microsoft Windows Server|Windows Server]]&amp;lt;ref&amp;gt;{{Webarchiv | url=https://www-01.ibm.com/software/htp/cics/txseries/ | wayback=20130305124601 | text=&amp;#039;&amp;#039;TXSeries for Multiplatforms V7.1&amp;#039;&amp;#039;}}. IBM. Abgerufen am 4. September 2012.&amp;lt;/ref&amp;gt; verfügbar.&lt;br /&gt;
Im Gegensatz zu [[Time-Sharing Option]], bei dem jeder Benutzer seinen eigenen Adressraum bekommt, laufen alle CICS-Benutzer im gleichen Adressraum des CICS-Systems.&lt;br /&gt;
&lt;br /&gt;
== Anwendungsentwicklung unter CICS ==&lt;br /&gt;
Es werden die traditionell auf [[Großrechner]]n verbreiteten Programmiersprachen [[COBOL]], [[C (Programmiersprache)|C]], [[C++]], [[PL/I]] und [[Assembler (Informatik)|Assembler]] unterstützt, seit einigen Jahren auch [[Java (Programmiersprache)|Java]].&lt;br /&gt;
&lt;br /&gt;
Die Anwendungs-Schnittstelle oder [[Application Programming Interface|API]] für nicht- [[objektorientierte Programmierung|objektorientierte Programmiersprachen]] besteht aus &amp;lt;code&amp;gt;EXEC CICS .....&amp;lt;/code&amp;gt;-Kommandos, die von einem [[Präprozessor]] in die Gastsprache übersetzt werden. Java-Programmierern stehen entsprechende CICS-Klassen zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
Im Gegensatz zu [[Information Management System]]en ist die Kodierung der EXEC CICS Blöcke in allen Standard-HOST-Sprachen (siehe oben) identisch. Ein EXEC CICS ASSIGN..... sieht in [[COBOL]], [[C (Programmiersprache)|C]], [[C++]], [[PL/I]] und [[Assembler (Informatik)|Assembler]] identisch aus.&lt;br /&gt;
&lt;br /&gt;
CICS-Programme interagieren mit einem Anwender oder einer anderen Anwendung. Dafür stehen dem Programmierer eine Vielzahl von Mechanismen und Funktionen zur Verfügung. Für klassische, bildschirmorientierte Anwendungen sind z.&amp;amp;nbsp;B. folgende Funktionen wichtig&lt;br /&gt;
* SEND MAP / RECEIVE MAP zum Anzeigen von Informationen und Abholen von Usereingaben&lt;br /&gt;
* RETURN TRANSID zum Beenden der &amp;#039;&amp;#039;CICS Task&amp;#039;&amp;#039; (CISC Aufgabe) unter Vorgabe der Folgetransaktion nach erfolgter Benutzereingabe&lt;br /&gt;
* READ TS QUEUE / WRITE TS QUEUE zum Zwischenspeichern von Programmdaten, während die &amp;#039;&amp;#039;CICS Task&amp;#039;&amp;#039; beendet ist und auf Eingaben wartet oder zur Kommunikation mit anderen Anwendungen.&lt;br /&gt;
&lt;br /&gt;
== Transaktionen im CICS ==&lt;br /&gt;
Eine CICS-Transaktion besteht aus einer oder mehreren &amp;#039;&amp;#039;[[Unit of Work|Units of Work]]&amp;#039;&amp;#039; (UOW). Man kann sich das vorstellen wie verschiedene Schritte, um etwas zu erledigen. Jeder dieser Schritte wird als &amp;quot;Unit of Work&amp;quot; (Arbeitseinheit) bezeichnet. Diese &amp;quot;Unit of Work&amp;quot; ist etwas, das in der Fachsprache oft mit dem Wort [[Transaktion (Informatik)|Transaktion]] beschrieben wird und mit dem Begriff [[ACID (Informatik)|ACID]] (&amp;#039;&amp;#039;Atomicity&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Consistency&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Isolation&amp;#039;&amp;#039; und &amp;#039;&amp;#039;Durability&amp;#039;&amp;#039;) verbunden wird. Ein Beispiel dafür ist, wie ein Buchhalter verschiedene Schritte durchführt, um Finanzdaten zu überprüfen. Diese Schritte müssen bestimmte Eigenschaften haben, um sicherzustellen, dass die Daten korrekt und sicher verarbeitet werden. Die veraltete Bezeichnung &amp;#039;&amp;#039;Logical Unit of Work&amp;#039;&amp;#039; (LUW) wird auch heute noch synonym für UOW verwendet.&lt;br /&gt;
&lt;br /&gt;
Jede CICS-Transaktion läuft unter einem vordefinierten vierstelligen Transaktions-Code. Dieser Transaktions-Code legt unter anderem den Namen des Programms fest, welches mit dem Start der Transaktion die Ausführungskontrolle erhält.&lt;br /&gt;
&lt;br /&gt;
Mit dem Start der Transaktion beginnt eine UOW, mit dem Kommando &amp;lt;code&amp;gt;EXEC CICS SYNCPOINT&amp;lt;/code&amp;gt; wird die laufende UOW beendet (&amp;#039;&amp;#039;committed&amp;#039;&amp;#039;) und eine neue UOW begonnen. Die Transaktion endet mit &amp;lt;code&amp;gt;EXEC CICS RETURN&amp;lt;/code&amp;gt; und beendet auch die aktuelle UOW mit &amp;lt;code&amp;gt;SYNCPOINT&amp;lt;/code&amp;gt;.&lt;br /&gt;
Eine CICS-Transaktion entsteht traditionell&lt;br /&gt;
* durch Eingabe eines Transaktionscodes an einem [[Terminal (Computer)|Terminal]] (bzw. in der [[Terminalemulation]] eines [[Personal Computer|PC]]s)&lt;br /&gt;
* aus einer CICS-Anwendung heraus mit &amp;lt;code&amp;gt;START TRANSID()&amp;lt;/code&amp;gt; oder &amp;lt;code&amp;gt; RETURN TRANSID()&amp;lt;/code&amp;gt; (insbesondere bei quasi-dialogorientierten Transaktionen)&lt;br /&gt;
* CICS-intern: z.&amp;amp;nbsp;B. Trigger auf TD-Queue.&lt;br /&gt;
* aus einem anderen CICS mit &amp;#039;&amp;#039;Transaction Routing&amp;#039;&amp;#039; oder &amp;#039;&amp;#039;Distributed Program Link&amp;#039;&amp;#039; (DPL).&lt;br /&gt;
&lt;br /&gt;
CICS-Transaktionen können von Programmen auch von „außen“ gestartet werden:&lt;br /&gt;
* &amp;lt;code&amp;gt;EXCI&amp;lt;/code&amp;gt;-Call aus [[z/OS]] ([[Multiple Virtual Storage|MVS]], Multiple Virtual Storage), z.&amp;amp;nbsp;B. [[Time-Sharing Option|TSO]] (Time-Sharing Option) oder [[Stapelverarbeitung]].&lt;br /&gt;
* Im MVS von der Operator-Konsole bzw. von Software-Konsolen (z.&amp;amp;nbsp;B. TSO, Netview).&lt;br /&gt;
* &amp;lt;code&amp;gt;eci&amp;lt;/code&amp;gt;-Call von nicht-MVS-Plattformen ([[Unix]], Windows, [[OS/2]])&lt;br /&gt;
* Verwendung von Standardprotokollen:&lt;br /&gt;
** [[TCP/IP]]-[[Socket (Software)|Sockets]] und [[APPC]] (Advanced Program to Program Communications)&lt;br /&gt;
** [[IIOP]] (Internet Inter ORB Protocol) für [[CORBA]]-Anwendungen und [[Enterprise JavaBeans]]&lt;br /&gt;
** mittels [[HTTP]]/[[Hypertext Transfer Protocol Secure|HTTPS]] kann man CICS auch als [[Webserver]] benutzen&lt;br /&gt;
&lt;br /&gt;
== Geschichte und Zukunft von CICS ==&lt;br /&gt;
{{Belege fehlen|1=}}&lt;br /&gt;
Laut [[Bob Yelavich]] ist [[Ben Riggins]] der Vater von CICS.&lt;br /&gt;
&lt;br /&gt;
Zahlreiche Mythen ranken sich um das [[Präfix]] der CICS-Meldungen &amp;lt;span style=&amp;quot;font-family:monospace;&amp;quot;&amp;gt;DFH&amp;lt;/span&amp;gt;. Bob Yelavich weist darauf hin, dass diese Buchstabenkombination von IBM schlicht zugewiesen wurde und es sich um keine Abkürzung handelt (vgl. [[Information Management System|IMS]] und das Präfix &amp;lt;span style=&amp;quot;font-family:monospace;&amp;quot;&amp;gt;DFS&amp;lt;/span&amp;gt;), manche Quellen hingegen behaupten, das erste CICS wäre ein Produkt eines lokalen Stromanbieters mit der Firmenabkürzung D.F.H. gewesen und sei später von IBM gekauft worden.&lt;br /&gt;
&lt;br /&gt;
Die wahre Geschichte von CICS lässt sich heute nicht mehr klären, klar ist nur, dass CICS in den frühen 1970er Jahren aufgetaucht ist und ursprünglich nicht von IBM war.&lt;br /&gt;
&lt;br /&gt;
In der [[DDR]] existierte Ende der 1980er Jahre ein Datenkommunikationssystem mit dem Namen &amp;#039;&amp;#039;DAKS&amp;#039;&amp;#039;, welches unter OS/ES-SVS, dem DDR-Clone des [[IBM]]-Betriebssystems OS/VS2, lief. Das Präfix der DAKS-Meldungen war &amp;lt;span style=&amp;quot;font-family:monospace;&amp;quot;&amp;gt;DKS&amp;lt;/span&amp;gt;, die Semantik der Meldungen war identisch (z.&amp;amp;nbsp;B. &amp;lt;span style=&amp;quot;font-family:monospace;&amp;quot;&amp;gt;&amp;#039;&amp;#039;Control is being given to DAKS&amp;#039;&amp;#039;&amp;lt;/span&amp;gt;). Die Staatsbank der DDR setzte es zur Realisierung seines Terminal-Systems ein. Auch darüber hinaus fand es Verbreitung in zahlreichen Betrieben der DDR, welche den EC 1055 M einsetzten. Allerdings verlor DAKS nach der Wende an Bedeutung, da nach der [[Währungs-, Wirtschafts- und Sozialunion]] die meisten Rechenzentren in der DDR ihre Soft- und Hardware auf westlichen Standard brachten.&lt;br /&gt;
&lt;br /&gt;
CICS wird weltweit in zahlreichen großen Unternehmen eingesetzt. Da CICS laufend weiterentwickelt wird und die aktuellen Versionen sowohl gängige [[Programmiersprache]]n wie C/C++ und Java unterstützen als auch entsprechende [[Schnittstelle]]n zum [[Internet]] (CICS Web Support) und zu [[Webservice]]s haben, kann man davon ausgehen, dass der Markt für CICS zumindest in den nächsten Jahren relativ stabil bleiben wird. Im Neukunden-Markt-Segment muss sich CICS künftig gegenüber einer immer größer werdenden Konkurrenz mit auf kostengünstigen Servern bzw. [[Host (Informationstechnik)|Hosts]] mit hoher [[Verfügbarkeit]] basierenden Systemen behaupten.&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
* &amp;#039;&amp;#039;CICS Application Programming Guide&amp;#039;&amp;#039;&lt;br /&gt;
* Norbert Denne: &amp;#039;&amp;#039;CICS. Theorie und Praxis.&amp;#039;&amp;#039; 3. Auflage. DGD, 2002, ISBN 3929187078&lt;br /&gt;
* Thomas Kregeloh, Stefan Schönleber: &amp;#039;&amp;#039;CICS Eine praxisorientierte Einführung&amp;#039;&amp;#039; ISBN 3-528-05272-4&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [https://www.ibm.com/it-infrastructure/z/cics IBM CICS] (englisch)&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Middleware]]&lt;br /&gt;
[[Kategorie:IBM]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Invisigoth67</name></author>
	</entry>
</feed>