Die nachfolgenden beiden Bilder zeigen mögliche Formen der Zusammenarbeit zwischen einer CPI-C-Anwendung und einer UTM-Anwendung bei einem Einschritt-Vorgang.
Ein Send- und ein Receive-Aufruf
Bild 11: Einschritt-Vorgang mit einem Send-/Receive-Aufruf
Das Programm wartet hier beim Receive-Aufruf, bis die Antwort von openUTM eintrifft. Mit CM_COMPLETE_DATA_RECEIVED
wird angezeigt, dass die Antwort komplett empfangen wurde. Dass es die letzte und einzige Nachricht war, ist am Returncode CM_DEALLOCATE_NORMAL
zu erkennen. Statt Send_Data() und Receive() können Sie auch Send_Mapped_Data() und Receive_Mapped_Data() verwenden.
Sollen größere Datenmengen übertragen werden, können auch bei Kommunikation mit einem Einschritt-Vorgang mehrere Send- und Receive-Aufrufe verwendet werden, siehe folgendes Bild.
Mehrere Send- und Receive-Aufrufe
Bild 12: Einschritt-Vorgang mit mehreren Send-/Receive-Aufrufen
Für jeden Send-Aufruf des UPIC-Clients wird im UTM-Service ein eigener MGET-Aufruf benötigt.
Für jeden MPUT-Aufruf des UTM-Service wird im UPIC-Client ein eigener Receive-Aufruf durchgeführt.
Nach dem ersten Receive-Aufruf wird durch CM_NO_STATUS_RECEIVED
zusammen mit CM_OK
angezeigt, dass noch weitere Nachrichten vorhanden sind. Deshalb ist ein zweiter Receive-Aufruf notwendig, mit dem die zweite und letzte Nachricht empfangen wird. Die letzte Nachricht wird durch den Returncode CM_DEALLOCATED_NORMAL
angezeigt.