云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

消息队列_三亚网站建设_优惠

小七 141 0

亲爱的同事,

在这篇文章中,我想参加SAP Business One的货币汇率更新挑战。论坛上已经有两种不同的方法描述了如何使用DI API和B1IF实现这一目标。

DI API:https://blogs.sap.com/2015/05/29/updateding-exchange-rates-automatically-in-sap-business-one/

如果:https://blogs.sap.com/2015/06/23/how-to-import-exchange-rates-using-b1if/

在这篇文章中,我们将做同样的事情,但使用HANA XS作为开发管理工具和B1服务层作为数据接口。此方法适用于SAP Business One版本的HANA,因为SQL Server版本既不支持XS,也不支持ServiceLayer。完成所有步骤后,您可以使用标准HANA工具计划货币汇率更新,以定期更新汇率。此应用程序使用ECB(欧洲中央银行)web服务更新贵公司所有货币的汇率。根据公司汇率方向(直接/间接汇率)和使用欧元交叉汇率(如果当地货币不是欧元)更新汇率。公司详细信息在作业设置中传递。

如果您不想手动执行所有开发步骤,您只需从此处下载一个交付单元并将其导入到您的环境中。

要进行测试,您需要一个SAP Business One版本的HANA实例,该实例已启动并运行HANA XS。为了确保HANA XS工作正常,您可以访问以下地址:https://:43或:80

例如:https://192.168.0.1:4300(例如编号00)。如果您看到下面的图片,您可以继续,否则您需要首先使其工作

首先,我们需要创建一个新的包来执行我们的业务逻辑。让我们打开HANA Studio并选择"SAP HANA Development"透视图:

转到"Repositories"选项卡并创建一个新的工作空间(如果您想使用默认的或已经有了一个工作空间,请跳过此步骤)

我已经为我们的合作伙伴命名空间(DatatechOne)创建了一个"DONE"工作空间。

我们现在可以创建一个包了。右击您的工作区,在右键菜单中选择New->Repository Package…:

为您的包指定名称"LoadCurrencyRates",然后按"Finish"。如果您决定更改包的名称,那么您也需要更改XSJS文件中的引用,因为它在加载目标文件时具有名称依赖关系。

现在我们需要在存储库中创建一个XS项目。右击我们的LoadCurrencyRates包,选择New->XS Project:

指定相同的项目名称"LoadCurrencyRates",然后按Next。在第二步中,选择您的存储库工作区(在我的例子中,它已经完成),然后再次按"下一步"。确保您在这一步勾选了"Access objects":

然后按"Finish"将所有默认的XS项目文件添加到您的包中。现在您的包必须是这样的:

在这个包中,我们需要创建以下文件:

请注意,最好不要重命名任何文件,因为代码中有引用。

让我们从xsjslib文件开始。右键点击你的包,企业应用系统,选择:New->Other->XS JavaScript Library File->Next->File name:Performer

将下面的代码粘贴到这个文件并保存:

业务逻辑已经创建,现在我们需要创建2个XSJS文件。一个是手动测试我们的功能,另一个是使用XS作业调度器进行调度。

与XSJSLIB文件相同(文件类型不同),右键单击您的包并选择:新建->其他->XS JavaScript文件->下一步->文件名:RunTest

插入以下代码:

再次输入RunJob文件,右击你的包,淘客放单,选择:New->Other->XS JavaScript File->Next->File name:RunJob

粘贴以下内容:

创建XSJS文件,现在我们可以创建目标文件了。

ECB服务的目标:右击您的包并选择:新建->其他->XS HTTP目标配置->下一步->文件名:EcbService

将以下内容放在您的目标文件中(如果您使用代理,请更改代理部分):

ServiceLayer的目标:右击您的打包并选择:New->Other->XS HTTP Destination Configuration->Next->File name:ServiceLayer

这里我们有两个选项:可以使用HTTP调用某个负载平衡端口(如50001)或HTTPS。这将是内部通信量,因此您可以决定使用安全连接是否重要。如果您决定使用不受信任的连接,您可以跳过信任存储配置(对于ServiceLayer,您仍然需要为ECB设置它,因为不再有不受信任的连接可用)。

将以下内容放在HTTP的目标文件中(如果您使用代理,请更改代理部分):

或将以下内容放在您的目标文件中HTTPS的目标文件(如果您使用代理,请更改代理部分):

不要忘记将更改为您的IP或域名。目标文件现在完成了,我们需要创建xsjob文件来配置我们的计划。

右击您的包并选择:New->Other->XS Job Scheduler file->Next->file name:Scheduler。

在这个文件中输入以下代码并保存:

就是它。包准备好了,我们可以激活它。右键单击您的软件包并在上下文菜单中选择激活。

如果您没有看到错误,我们可以继续并设置我们的软件包。