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

pTAL -Strukturdefinitionen für IBM MQ -Strukturen werden mit Namen bereitgestellt, die mit ^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
IBM MQ stellt pTAL DEFINE mit Namen bereit, die mit ^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.