Codierung in pTAL
Beachten Sie bei der Codierung von IBM® MQ -Programmen in pTALdie Informationen im folgenden Abschnitt.
HP Integrity NonStop Server
IBM MQ -Strukturen definieren und initialisieren
^DEFenden. Beispielsweise werden die folgenden pTAL -Deklarationen codiert, um eine MQMD-Struktur ( IBM MQ Message Descriptor) und eine MQPMO-Struktur ( IBM MQ Put Message Options) zu erstellen.STRUCT MYMD(MQMD^DEF); ! Declare an MQMD structure
STRUCT MYPMO(MQPMO^DEF); ! Declare an MQPMO structure
^DEFAULT enden, um IBM MQ -Strukturen mit Standardwerten zu initialisieren. Mit den folgenden pTAL-Anweisungen sollen den deklarierten Strukturen MQMD und MQPMO Standardwerte zugewiesen werden:MQMD^DEFAULT(MYMD); ! Assign default values to an MQMD structure
MQPMO^DEFAULT(MYPMO); ! Assign default values to an MQPMO structure
Sie können andere IBM MQ -Strukturen mit ähnlichem Code deklarieren und initialisieren.
pTAL und die CRE
pTAL-Programme können die gemeinsame Laufzeitumgebung (Common Runtime Environment, CRE) nicht initialisieren und müssen daher mit einer C- oder COBOL-Hauptroutine verwendet werden.
Die pTAL -Beispiele, die mit IBM MQ bereitgestellt werden, verwenden eine C-sprachige Hauptroutine namens AMQSPTM0.C
Parameter mit dem Datentyp MQCHAR
Zu den Prozeduren MQGET, MQPUT und MQPUT1 gibt es jeweils einen Parameter Buffer mit dem Datentyp MQCHAR .EXT. Mit diesem Parameter werden die Nachrichtendaten einer Anwendung gesendet und empfangen.
Parameter dieser Art werden in den pTAL-Beispielen als Bereiche von Zeichenfolgen angezeigt. Parameter können auf diese Weise deklariert werden, es ist in der Regel jedoch praktischer, sie als Struktur zu deklarieren, die den Aufbau der Daten in der Nachricht beschreibt. Der Prozedurparameter wird als MQCHAR .EXT deklariert, die Adresse von Daten kann jedoch als Parameter im Prozeduraufruf angegeben werden.
Zeichenfolgen bearbeiten
Wenn der Warteschlangenmanager Zeichendaten an die Anwendung zurückgibt, füllt er die Zeichendaten immer bis zur definierten Feldlänge mit Leerzeichen auf. Der Warteschlangenmanager gibt keine auf NULL endenden Zeichenfolgen zurück, Sie können diese jedoch in Ihrer Eingabe verwenden.