使用php

时间:2017-02-22 06:37:13

标签: php database laravel server sap

我的任务是创建一个与SAP Business One安装交互的PHP网站。我需要做以下事情:

•从SAP B1中提取库存和客户数据 •将客户和新订单数据推送到SAP B1

PHP网站将自定义编写。我见过一些与电子商务平台兼容的集成工具,比如Magento和WooCommerce,但对于这个项目,我将自己编写PHP。

我对SAP Business One没有任何经验。

我希望SAP Business One有一个API或其他工具,可以让我轻松地与它进行交互,并以安全的方式推送/拉取数据。提供SAP B1的公司说我可以使用" DI API服务器"。

我显然需要熟悉所有这些,但我希望有一些SAP B1和PHP知识的人可以给我一个快速概述或一些如何继续的建议。或者至少,确保所有这些都是可行的,编写我自己的PHP与SAP B1接口并不是一个可怕的想法,等等。

谢谢!

3 个答案:

答案 0 :(得分:0)

有几种方法可以从外部与SAP B1进行交互。我建议你从DI API开始。只需在SAP business one文件夹中搜索dll Interop.SAPbobsCOM.dll即可。将其添加到您的项目并开始使用它。使用SAP Business One中的SDK帮助程序获取有关如何使用它的信息。

答案 1 :(得分:0)

首先,我建议您使用DI Server代替DI API,因为它与.NET更兼容。它可以为您提供任务支持,但使用DI API在更长的运行时间中.NET会更好。 参见下文以连接SAP。始终使用经理帐户,因为SAP允许使用经理帐户进行有限的多次登录。

现在您必须为PHP激活COM->启用扩展名php_com_dotnet.dll。

在php.ini中,您应该找到类似的内容:

[PHP_COM_DOTNET]

extension = php_com_dotnet.dll

下面的代码将为您完成这项工作。

echo“ SBO PHP TEST
”;

$ vCmp = new COM(“ SAPbobsCOM.company”)或死亡(“无连接”);

$ vCmp-> server =“ DFSI_DEV_2”;

$ vCmp-> CompanyDB =“ SCMC_TEST”;

$ vCmp-> username =“ manager”;

$ vCmp-> password =“ 1234”;

// $ vCmp-> language =“ ln_English”;

// $ vCmp-> UseTrusted = True;

$ lRetCode = $ vCmp->连接;

echo $ vCmp-> CompanyName;

echo'
';

$ vItem = $ vCmp-> GetBusinessObject(oItems);

$ RetVal = $ vItem-> GetByKey(“ A1010”);

回显'$ vItem-> Itemname';

echo'

Ready';

?> 任务1 从SAP B1中提取库存和客户数据 普通的SQL可以完成这些工作。无需SAP登录。

任务2 将客户和新订单数据推送到SAP B1

棘手的部分到了。 您可以直接通过PHP在SAP b1中创建销售订单,但我建议您构建服务器端队列管理器和中间件

PHP代码将订单存储在DB [Middleware]

服务器端应用程序将在DB中查找新条目,并将使用DI API将条目发布到SAP中。成功输入后,更新中间件

我确实正在运行类似的系统,并且我们有大量的现场用户使用Web门户创建销售订单。

答案 2 :(得分:0)

SAP Business One有一个可用于此目的的DI API或DI服务器。

我建议您熟悉SAP Business One SDK帮助中心。 它非常有用,有很多例子,是一个很好的起点。

可能已安装或未安装,请咨询提供SAP Business One的公司。如果未安装,请询问他们SAP Business One下载文件,它应该位于\ Packages \目录中的某个位置。

这是可行的,而不是一个可怕的想法。

Screenshot of the SAP Business One SDK Help Center