Пример #1
0
 /**
  * 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
 }
Пример #2
0
 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);
 }