PreviousNext
Help > API Functions > Data Queues > i5_dtaq_receive
i5_dtaq_receive

 

Reads data from the data queue.

 

  mixed i5_dtaq_receive (resource queue, [, string/int operator, string key ]
[, int timeout])

 

Parameters

 

 

queue

Resource received from dtaq_open

operator

"EQ"

"GT"

"LT"

"GE"

"LE"

key

Key value to look for

timeout

Timeout value in seconds

 

Return

 

False if error or timeout. The data read from the queue otherwise.

 

I5_ERR_PHP_TYPEPARAM

262

Type of element x in parameter -1 must be y. Type z was provided.

I5_ERR_PHP_NBPARAM_BAD

263

Wrong parameter count

I5_ERR_PHP_DTAQ_BADKEY

309

The key is not correct.

I5_ERR_PHP_NOT_DTAQ_KEY

313

No key defined.

 

 

Example

 

 

/* Connexion */

$Hdlcon = i5_connect($adresse,$user, $mdp, $jobName);

 

/* Ouverture de la DATA QUEUE */

$description = array("Name"=>"DATA", "Type"=>I5_TYPE_CHAR, "Length"=>"50");

$data = i5_dtaq_prepare("*LIBL/DTAQ_FIFO", $description);

if ($data == false){

 $erreur = i5_error();

 print_r ($erreur);

}

 

$msg='';

 

$lecture = false;

 

/* Ecriture de la data queue */

if (isset($_POST["write"])) {

 $donnees = $_POST["data"];

 $ret = i5_dtaq_send($data, "", $donnees);

if ($ret) {

 $msg="Write, done.";

 }

}

 

/* Lecture dans la data queue */

if (isset($_POST["read"])) {

 $rec = i5_dtaq_receive($data);

 if (is_bool($rec)) {

  $erreur = i5_error();

  if ($erreur[0]==14) {

   $msg="Data Queue is empty ";

  } else {

   print_r($erreur);

  }

} else {

  $lecture = true;

}

}