public function callProgram($newInputParams = array())
    {
        $pgmInfo = $this->getObjInfo();
        $pgmName = $pgmInfo['obj'];
        $lib =     $pgmInfo['lib'];
        $func =    $pgmInfo['func'];
        $options = array();

        // if a service program subprocedure (function) is defined
        if ($func) {
            $options['func'] = $func;
        }

        $pgmCallOutput = $this->getConnection()->PgmCall($pgmName,
            $lib,
            $newInputParams,
            // null for returnvalue var because old toolkit doesn't handle return values (as far as we can tell)
            null,
            $options);

        // TODO handle errors
        $conn = $this->getConnection();
        if ($pgmCallOutput) {
            $outputParams = $conn->getOutputParam($pgmCallOutput);
            $this->setPgmOutput($outputParams);
            return true;
        } else {
            return false;
        }
    }
public function callProgram($newInputParams = array())
    {
        $pgmInfo = $this->getObjInfo();
        $pgmName = $pgmInfo['obj'];
        $lib =     $pgmInfo['lib'];
        $func =    $pgmInfo['func'];
        $options = array();

        // if a service program subprocedure (function) is defined
        if ($func) {
            $options['func'] = $func;
        }

        $pgmCallOutput = $this->getConnection()->PgmCall($pgmName,
            $lib,
            $newInputParams,
            // null for returnvalue var because old toolkit doesn't handle return values (as far as we can tell)
            null,
            $options);

        // TODO handle errors
        $conn = $this->getConnection();
        if ($pgmCallOutput) {
            $outputParams = $conn->getOutputParam($pgmCallOutput);
            $this->setPgmOutput($outputParams);
            return true;
        } else {
            return false;
        }
    }
public function callProgram ( $ newInputParams = array ( ) ) { $ pgmInfo = $ this -> getObjInfo ( ) ; $ pgmName = $ pgmInfo [ 'obj' ] ; $ lib = $ pgmInfo [ 'lib' ] ; $ func = $ pgmInfo [ 'func' ] ; $ options = array ( ) ; // if a service program subprocedure (function) is defined if ( $ func ) { $ options [ 'func' ] = $ func ; } $ pgmCallOutput = $ this -> getConnection ( ) -> PgmCall ( $ pgmName , $ lib , $ newInputParams , // null for returnvalue var because old toolkit doesn't handle return values (as far as we can tell) null , $ options ) ; // TODO handle errors $ conn = $ this -> getConnection ( ) ; if ( $ pgmCallOutput ) { $ outputParams = $ conn -> getOutputParam ( $ pgmCallOutput ) ; $ this -> setPgmOutput ( $ outputParams ) ; return true ; } else { return false ; } }
Given input values and an output array in a particular format,
and having captured the data description and program info
in the constructor, and having converted the data desc and interpolated the values,
Now we call the program and return an array of output variables.

@param array $newInputParams   New-style toolkit array of params including values
(use generateNewToolkitParams($inputValues) to create it)
@return boolean             true if OK, false if it didn't succeed.
Given input values and an output array in a particular format and having captured the data description and program info in the constructor and having converted the data desc and interpolated the values Now we call the program and return an array of output variables .