Function DE Version 4.60

@GetQueue

List Misc Text TimeDate

Syntax

@GetQueue(QUEUEHANDLE);
@GetQueue(QUEUEHANDLE;FNOPTIONS;FNTIMEOUT);

Beschreibung

Holt die nächste Message der Message-Queue mit dem Queue-Handle VSPECQUEUEHANDLE QUEUEHANDLE.
Im Erfolgsfall wird die Message (TEXT) zurückgegeben, andernfalls @ERROR (nur ein Parameter Version, andernfalls "" (NULLSTRING)).

FN FNOPTIONS:
0   = Es wird nicht auf eine Message gewartet, wenn keine Message vorliegt wird "" (NULLSTRING) zurückgegeben.
1   = Es wird auf die nächste Message gewartet unter Berücksichtigung von FN FNTIMEOUT.

FN FNTIMEOUT:

0   = Warte bis eine Message vorliegt.
>0   = Wartezeit in Millisekunden, wenn dann noch keine Message vorliegt wird "" (NULLSTRING) zurückgegeben.

Wird @GetQueue ohne FN FNOPTIONS und FN FNTIMEOUT aufgerufen, wird nicht auf eine Message gewartet (FN FNOPTIONS=0).

Beispiel: @GetQueue(QUEUEHANDLE);

TEXTQUEUENAME:="QUEUE_NAME_1";
Ret:=@CreateQueue(TEXTQUEUENAME);
QUEUEHANDLE:=@OpenQueue(TEXTQUEUENAME);

TEXTMESSAGE:="Test Message";
FNPRIORITY:=1;
@PutQueue(QUEUEHANDLE;FNPRIORITY;TEXTMESSAGE);

Message:=@GetQueue(QUEUEHANDLE);

@LogReport(Message);

QUEUEHANDLE:=@CloseQueue(QUEUEHANDLE);

Es wird eine Message-Queue mit dem Namen "QUEUE_NAME_1" erzeugt und geöffnet.
Die Message "Test Message" wird in die Message-Queue gestellt.
Danach wird die Message wieder aus der Message-Queue geholt und im APILog ausgegeben.
Anschließend wird die Message-Queue wieder geschlossen.

Beispiel: @GetQueue(QUEUEHANDLE;FNOPTIONS;FNTIMEOUT);

TEXTQUEUENAME:="QUEUE_NAME_1";
Ret:=@CreateQueue(TEXTQUEUENAME);
QUEUEHANDLE:=@OpenQueue(TEXTQUEUENAME);

TEXTMESSAGE:="Test Message";
FNPRIORITY:=1;
@PutQueue(QUEUEHANDLE;FNPRIORITY;TEXTMESSAGE);

FNOPTIONS:=1;
FNTIMEOUT:=0;
Message:=@GetQueue(QUEUEHANDLE;FNOPTIONS;FNTIMEOUT);

@LogReport(Message);

QUEUEHANDLE:=@CloseQueue(QUEUEHANDLE);

Es wird eine Message-Queue mit dem Namen "QUEUE_NAME_1" erzeugt und geöffnet.
Die Message "Test Message" wird in die Message-Queue gestellt.
Danach wird die Message wieder aus der Message-Queue geholt (es wird so lange gewartet bis eine Message vorliegt) und im APILog ausgegeben.
Anschließend wird die Message-Queue wieder geschlossen.

Beispiel: @GetQueue(QUEUEHANDLE;FNOPTIONS;FNTIMEOUT);

TEXTQUEUENAME:="QUEUE_NAME_1";
Ret:=@CreateQueue(TEXTQUEUENAME);
QUEUEHANDLE:=@OpenQueue(TEXTQUEUENAME);

TEXTMESSAGE:="Test Message";
FNPRIORITY:=1;
@PutQueue(QUEUEHANDLE;FNPRIORITY;TEXTMESSAGE);

FNOPTIONS:=0;
FNTIMEOUT:=1000;
Message:=@GetQueue(QUEUEHANDLE;FNOPTIONS;FNTIMEOUT);

@LogReport(Message);

QUEUEHANDLE:=@CloseQueue(QUEUEHANDLE);

Es wird eine Message-Queue mit dem Namen "QUEUE_NAME_1" erzeugt und geöffnet.
Die Message "Test Message" wird in die Message-Queue gestellt.
Danach wird die Message wieder aus der Message-Queue geholt (es wird eine Sekunde gewartet bis eine Message vorliegt (wenn zum Zeitpunkt des Aufrufs noch keine Message vorliegt)) und im APILog ausgegeben.
Anschließend wird die Message-Queue wieder geschlossen.