将oCompany对象保存为可重用变量,Sap b1 Di Api



嗨,我想看看是否有人知道我如何保存oCompany变量在cookie或会话中重用

例如:

按连接按钮连接,但按断开按钮不起作用,它不会断开连接,因为oCompany变量不再存在。

谢谢

<html>
<head>
<title>App SAP</title>
</head>
<body>
<h1>APP SAP DI API</h1>
<form method="post" action ="indexLogin.php">
Compañia: 
<select name="DBCompany">
<option value="0">Seleccione:</option>
<?php
$oCompany = new COM("SAPbobsCOM.Company")or die ("No connection");
$oCompany->DBServerType = 7;
$oCompany->Server = "Server";

$oRecordSet = ("SAPbobsCOM.Recordset");
$oRecordSet = $oCompany->GetCompanyList;

if ($oCompany->GetLastErrorCode !==0 ) {
$lErrCode=0;
$sErrMsg="";
$oCompany->GetLastError($lErrCode, $sErrMsg);
echo '<option>'.$lErrCode." - ".$sErrMsg.'</option>';
}
Else{
while(!$oRecordSet->EOF){
echo '<option>'.$oRecordSet->Fields->Item(0)->Value.'</option>';
$oRecordSet->MoveNext;
}
}
?></select><br><br>
Usuario: <input type="text"name="User"><br><br>
Clave: <input type="password"name="Pass"><br><br>
<input type="submit" name="submit" value="Conectar a Sap">
</form>
<br>
<?php 

if (isset($_POST['submit'])) 
{
set_time_limit(60);
$oCompany->CompanyDB = $_REQUEST['DBCompany'];
$oCompany->UserName = $_REQUEST['User'];
$oCompany->Password = $_REQUEST['Pass'];
$oCompany->language = 25;
$oCompany->UseTrusted = False;

$lRetCode = $oCompany->Connect();
if ($lRetCode != 0){
$lErrCode=0;
$sErrMsg="";
$oCompany->GetLastError($lErrCode, $sErrMsg);
echo "ERROR: (".$lErrCode.") ".$sErrMsg;
}else{
echo "Conectado a: ".$oCompany->CompanyName." Version: ".$oCompany->Version;

}
}
echo '<br><br>';

if (!$oCompany->Connected)
{
Echo "No hay conexión"; 
}
else 
{
//$oCompany->Disconnect();  
Echo "Conectado";   
}
?>
<form method="post" action ="indexLogin.php">
<input type="submit" name="Desconectar" value="Desconectar">
</form>
<?php 
if (isset($_POST['Desconectar']))
{
if (!$oCompany->Connected)
{
Echo "¡No hay conexión"; 
}
else 
{
$oCompany->Disconnect();  
Echo "Desconectado";   
}
}
?>
</body>
</html
php

对于SAP业务的网站连接,您应该使用server或Service Layer。

在这两个api中,您使用用户/密码登录来获取令牌。此令牌是您必须存储在会话中的内容。那么任何调用都可以通过使用令牌来完成。

  • 一些服务器文档:https://archive.sap.com/documents/docs/DOC-7699
  • 一些服务层文档:https://sap-samples.github.io/smb-summit-hackathon/b1sl.html

PS:我个人建议你在可用的情况下使用服务层

最新更新