PreviousNext
Help > API Functions > Program and Procedure calls > Complete example with XML commands
Complete example with XML commands

 

The PHP program does:

         connection with i5_connect

         ADDLIBLE of EASYCOMXMP with i5_command

         the definition of the ADDMULDEC procedure with i5_XmlDefine

         ADDMULDEC call with i5_XmlExecRequest. Result within XML format.

         ADDMULDEC call with i5_XmlCallProgram. Result into Array.

For more visibility, error checkinf is not done.

 

<?php

 

 

$user = "user";

$pass = "pwd";

$connect = "power8";

$property = array (I5_OPTIONS_JOBNAME => "PHPXML" );

 

$TraceLvl = 4;

$TraceFile = "CR/TRACEPHP2";

 

$Hdlcon = i5_connect($connect, $user, $pass, $property);

 

 

$retStartTrace = i5_start_testfile($TraceFile, $TraceLvl);

echo 'Trace activated<br/>';

 

i5_command("ADDLIBLE LIB(EASYCOMXMP)");

echo 'i5_command ADDLIBLE done<br/>';

 

// Define procedures

$SRPG = "

         AddMulDec PR  extpgm(ADDMULDEC);

 

           PARM1   5p2;

           PARM2    5p2;

           PARM3    10p4;";

 

i5_XmlDefine ("s-rpg", $SRPG);

echo 'i5_XmlDefine done<br/>';

 

// Effective Call

$val1I = "2";

$val2IO = "3";

 

$XmlIn = '<?xml version="1.0" encoding="utf-8"'.'?'.'>'.

 

         '<Easycom>'.

         '  <Program Name="ADDMULDEC">'.

         '    <parameterList>'.

              '      <PARM1>'.$val1I.'</PARM1>'.

             '      <PARM2>'.$val2IO.'</PARM2>'.

         '    </parameterList>'.

         '  </Program>'.

         '</Easycom>';

 

$XmlOut = i5_XmlExecRequest($XmlIn,$Hdlcon);

echo 'i5_XmlExecRequest done<br/>';

 

echo $XmlOut;

echo '<br/>';

 

 

// Call it!

$ArrayIn = array("PARM1"=>"2", "PARM2"=>"3");

 

$ArrayOut = i5_XmlCallProgram("ADDMULDEC", $ArrayIn);

echo 'i5_XmlCallProgram done<br/>';

 

echo 'Param2 = '. $ArrayOut['PARM2'].'<br/>';

 

echo 'Param3 = '. $ArrayOut['PARM3'].'<br/>';

 

?>