artyom написал:
Было бы интересно посмотреть на это решение через PHP.
Вот пример небольшой, недавно сваял левой ногой ) (php файл)
Code:
<? include_once("sap.php");
error_reporting(0);
//Login to SAP R/3
$login = array ("ASHOST"=>"хост",
"SYSNR"=>"02",
"CLIENT"=>"мандант",
"USER"=>"имя пользователя для входа в сап",
"PASSWD"=>"пароль",
"CODEPAGE"=>"1504");
$rfc = saprfc_open ($login);
if (! $rfc ) { exit; }
$fce = saprfc_function_discover($rfc,"Y_94_CHECK_OBJ_REQ");
if (! $fce ) { exit; }
//Set import parameters. You can use function saprfc_optional() to mark parameter as optional.
saprfc_import ($fce,"MANDT_TO",$Mandt_To);
saprfc_import ($fce,"REQNUM",$ReqNum);
saprfc_import ($fce,"SYST_TO",$Syst_To);
//Fill internal tables
saprfc_table_init ($fce,"IT_MES");
//Do RFC call of function Y_94_CHECK_OBJ_REQ, for handling exceptions use saprfc_exception()
$rfc_rc = saprfc_call_and_receive ($fce);
if ($rfc_rc != SAPRFC_OK) { if ($rfc == SAPRFC_EXCEPTION ) echo ("Exception raised: ".saprfc_exception($fce)); else echo (saprfc_error($fce)); exit; }
//Retrieve export parameters
$ANTWORT = saprfc_export ($fce,"ANTWORT");
$rows = saprfc_table_rows ($fce,"IT_MES");
for ($i=0;$i<=$rows;$i++)
$IT_MES[] = saprfc_table_read ($fce,"IT_MES",$i);
for($i=1;$i<=$rows;$i++) {
//$IT_MES[$i]["MES_TEXT"] = convert_cyr_string($IT_MES[$i]["MES_TEXT"],"i","w");
echo "<SCRIPT language=JavaScript>alert("".$IT_MES[$i]["MES_TEXT"]."");</Script>";
}
saprfc_function_free($fce);
saprfc_close($rfc);
?>
В урле указываем три параметра: Mandt_To, ReqNum и Syst_To,
дальше коннектимся к сапу под пользователем типа CPIC (почему уже не помню

), запускается моя функция Y_94_CHECK_OBJ_REQ с теми тремя параметрами и возвращается таблица IT_MES, строки которой и выводятся алертами ... вот