DI API(JCO)开发环境

2020-08-14 12:54发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我的公司正在迁移到SAP Business One,我需要开始理解如何使用DI API与SAP进行交互。

首先,我看到首选的语言是C#和VB,并且有一个Java连接器(我想使用):

-可以使用其他语言进行连接吗? 如果是的话,哪些以及如何?

-使用C#和Java之间是否有区别,一种方法是否有可能与另一种方法不可能?

开发人员想要进行开发时,正常的开发环境如何?

-他们必须在计算机上安装SAP客户端才能进行开发吗?

-如果没有,您如何设置开发环境以使用DI API?

-SAP客户端外部的.jar是否足以进行连接?

感谢您的阅读和答案

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我的公司正在迁移到SAP Business One,我需要开始理解如何使用DI API与SAP进行交互。

首先,我看到首选的语言是C#和VB,并且有一个Java连接器(我想使用):

-可以使用其他语言进行连接吗? 如果是的话,哪些以及如何?

-使用C#和Java之间是否有区别,一种方法是否有可能与另一种方法不可能?

开发人员想要进行开发时,正常的开发环境如何?

-他们必须在计算机上安装SAP客户端才能进行开发吗?

-如果没有,您如何设置开发环境以使用DI API?

-SAP客户端外部的.jar是否足以进行连接?

感谢您的阅读和答案

付费偷看设置
发送
4条回答
愤怒的猪头君
1楼-- · 2020-08-14 13:18

嗨,约翰,

因为没有人回答,所以我尝试。.

您可以使用各种语言来建立B1 DI API连接。 基本上,您需要能够调用COM对象。 也就是说,几乎所有的信息/帮助/文档都是.NET C#和一些 VB.NET 。 我几乎没有看过Java相关的内容。

要进行开发,您必须在开发计算机上安装B1 SDK。 您还需要访问B1安装-最佳实践:在本地安装B1,但远程服务器也可以工作。

根据您的描述,您尚不清楚要实现/执行的操作,但是我最大的猜测是您想创建某种与业务对象进行交互的界面。 如果是这样,我建议您看一下Service Layer,它是B1的REST API连接器,提供几乎所有的DI API功能。

最诚挚的问候,

Maik

葫芦娃快救爷爷
2楼-- · 2020-08-14 13:07

嗨,约翰·克拉夫蒂斯

在SAP Business One中建立公司连接的Java程序:

导入com.sap.smb.sbo.api.ICompany;
 导入com.sap.smb.sbo.api.SBOCOMConstants;
 导入com.sap.smb.sbo.api.SBOCOMUtil;
 导入com.sap.smb.sbo.api.SBOErrorMessage;


 公共类SBOClient {


     公共静态void main(String [] args){
         ICompany数据源= SBOCOMUtil.newCompany();
         datasource.setCompanyDB(" testDB");
         datasource.setDbUserName(" dbUserName");
         datasource.setDbPassword(" dbPassword");
         datasource.setServer(" Server");
         datasource.setUserName(" username");
         datasource.setPassword(" pwd");
 datasource.setLicenseServer(" LicenseServer:30000");
         datasource.setDbServerType(SBOCOMConstants.BoDataServerTypes_dst_MSSQL2017);
         datasource.setUseTrusted(Boolean.FALSE);
         datasource.setLanguage(SBOCOMConstants.BoSuppLangs_ln_German);
            
         int rc = datasource.connect();


         if(rc!= 0){
             SBOErrorMessage errMsg = datasource.getLastError();
             System.out.println(" ErrorCode:" + errMsg.getErrorCode());
             System.out.println(" ErrorMessage:" + errMsg.getErrorMessage());
         }


         if(datasource!= null && datasource.isConnected()){
             datasource.disconnect();
         }
         System.exit(0);
     }
 } 

还请参考以下链接: https://wiki.scn.sap.com/wiki/display/Snippets/JCO+for+dummies?original_fqdn=wiki.sdn.sap.com

希望有帮助!

亲切的问候,

安吉特·肖恩

< p> SAP Business One支持

大简至美
3楼-- · 2020-08-14 13:09

非常感谢Ankit!

有人有可能在我的第一条消息中回答我的问题吗?

谢谢

路亽曱_Ryan
4楼-- · 2020-08-14 13:18

嗨,约翰!

如果要迁移到最新版本,则可以使用服务层,而不是DI。 它更快,更可靠,可用于HANA一段时间,也可用于10 PL02版的SQL。 我的总体印象是DI逐渐被淘汰,SL就是未来。

使用服务层,您可以通过任何编程语言访问通用的ODATA/JSON Web服务。 无需安装客户端或执行任何操作。

您需要考虑的是本质上有两种开发方式:

-当您必须添加表单,按钮,功能以由B1客户端中的用户直接访问时。 这是使用SDK完成的,我对此并不了解,传统上是在C#或VB中通过DI完成的,但是有这些新的Fiori小部件或HTML5,可以称为服务层,我不知道 对此了解不多

-如果要从外部程序或源将数据写入B1,则SL确实很方便。 您还可以看一下集成框架。

因此,总结起来,如果您不必通过在客户端中添加按钮或类似的东西来直接修改客户端,而是从外部程序访问B1,则SL是比DI更好的选择。

一周热门 更多>