Der IMS-Systemadministrator definiert die Transaktionen. Für jede definierte Transaktion wird ein Programmname angegeben. Beim Aufruf einer Transaktion über einen IMS-Knoten ermittelt die IMS-Steuerregion das Programm, das für die Transaktion konfiguriert ist und stellt die Daten zum Abrufen durch das Programm in eine Warteschlange.
Nachdem das Programm die Antwortdaten für den IMS-Knoten im Nachrichtenfluss vorbereitet hat, fügt es die Daten in eine andere Warteschlange ein. Diese Ausgabewarteschlange ist an den Socket gebunden, mit dem IBM® Integration Bus verbunden ist. Deshalb besitzt bei mehreren gleichzeitig ablaufenden Nachrichtenflüssen, die dieselbe Transaktion aufrufen, jeder Nachrichtenfluss eine separate Warteschlange zum Empfangen der Antworten.
Das IMS-Programm ruft Nachrichten mit einem GU-Aufruf (GetUnique) ab und erzeugt Nachrichten mit einem ISRT-Aufruf (Insert). Diese Aufrufe sind als DL/1-Aufrufe bekannt. DL/1 ist die Programmierschnittstelle für IMS. Andere häufig verwendete DL/1-Aufrufe sind PURG (Purge) und GN (GetNext).