/** * Copy class variables to the interface function module * */ function ExportVars() { if ($this->def == false) { return; } for ($i = 0; $i < count($this->def); $i++) { $interface =& $this->def[$i]; $name = strtoupper($interface[name]); $type = $interface[type]; $members =& $interface[def]; if ($type != "TABLE" && $members[0][name] != "") { $type .= "_STRUCT"; } switch ($type) { case 'IMPORT': if ($this->server == false) { if (isset($this->{$name})) { $rc = @saprfc_import($this->fce, $name, $this->{$name}); } else { $rc = @saprfc_import($this->fce, $name, ""); } assert($rc); } break; case 'IMPORT_STRUCT': if ($this->server == false) { $vars = array(); for ($j = 0; $j < count($members); $j++) { $mname = $members[$j][name]; $mstruct =& $this->{$name}; if (isset($this->{$name}) && isset($mstruct[$mname])) { $vars[$mname] = $mstruct[$mname]; } else { $vars[$mname] = ""; } } $rc = @saprfc_import($this->fce, $name, $vars); assert($rc); unset($vars); } break; case 'EXPORT': if ($this->server == true) { if (isset($this->{$name})) { $rc = @saprfc_server_export($this->fce, $name, $this->{$name}); } else { $rc = @saprfc_server_export($this->fce, $name, ""); } assert($rc); } break; case 'EXPORT_STRUCT': if ($this->server == true) { $vars = array(); for ($j = 0; $j < count($members); $j++) { $mname = $members[$j][name]; $mstruct =& $this->{$name}; if (isset($this->{$name}) && isset($mstruct[$mname])) { $vars[$mname] = $mstruct[$mname]; } else { $vars[$mname] = ""; } } $rc = @saprfc_server_export($this->fce, $name, $vars); assert($rc); unset($vars); } break; case 'TABLE': if (!isset($this->{$name}) || !is_object($this->{$name})) { @saprfc_table_init($this->fce, $name); } break; } //switch } //for }
function RFC_READ_REPORT ($fce) { $REPORT = saprfc_server_import ($fce,"PROGRAM"); saprfc_table_init ($fce,"QTAB"); $fd = fopen ($REPORT,"r"); if (!$fd) return ("NOTFOUND"); // raise exception "NOTFOUND" while (!feof($fd)) { $LINE = fgets ($fd,73); saprfc_table_append ($fce,"QTAB",array("LINE"=>$LINE)); } fclose ($fd); saprfc_server_export ($fce,"SYSTEM","PHP"); return (true); }