混合的.net/sap系统是否有意义?

ily*_* n. 5 .net c# sap abap

这可能是一个模糊的问题,但现实生活就像这样.

我们公司正在推出SAP系统.我知道他们现在做Web服务,所以我们可以同时推出.NET的东西,我们知道我们可以用C#做​​什么.

SAP-.NET集成过程中有哪些陷阱?我理解SAP的逻辑与"标准"编程完全不同,但我希望将"业务"部分与"演示"部分分开,用ASP.NET编写.

Bru*_*lli 13

我是SAP ABAP和Microsoft.NET开发人员.我在一家使用SAP和其他平台(如Microsoft.NET,Java和RoR)创建软件的公司工作.

由于您的公司正在推出SAP,您应该获得ECC 6.0后端,它可以使用RFC或Web服务.

SAP有一个称为Business API(即BAPI)的标准API.您可以在BAPI交易中试用它们.

一个很好的例子是:BAPI_USER_GET_DETAIL.

此BAPI负责返回有关任何SAP用户的信息.BAPI只需要一个名为USERNAME的输入参数,并返回包含用户信息的不同数据结构,例如电子邮件,名字和姓氏,用户配置文件等.

在ABAP内部,调用此BAPI的模板应该是这样的:

CALL FUNCTION 'BAPI_USER_GET_DETAIL'
EXPORTING
USERNAME = sy-UNAME
* IMPORTING
* LOGONDATA =
* DEFAULTS =
ADDRESS = L_IT_RETURN1
* COMPANY =
* SNC =
* REF_USER =
* ALIAS =
* UCLASS =
* LASTMODIFIED =
* ISLOCKED =
TABLES
* PARAMETER =
* PROFILES =
* ACTIVITYGROUPS =
RETURN = L_IT_RETURN
ADDTEL = i_Tel
* ADDFAX =
* ADDTTX =
* ADDTLX =
* ADDSMTP =
* ADDRML =
* ADDX400 =
* ADDRFC =
* ADDPRT =
* ADDSSF =
* ADDURI =
* ADDPAG =
* ADDCOMREM =
* PARAMETER1 =
* GROUPS =
* UCLASSSYS =
* EXTIDHEAD =
* EXTIDPART =
* SYSTEMS =.
Run Code Online (Sandbox Code Playgroud)

现在,每个BAPI也启用了RFC(远程函数调用).这意味着,如果在应用程序中实现SAP RFC API,则可以调用SAP中设置为启用RFC的任何BAPI或其他功能.

在旧版本中,您可以使用标准SAP RFC API,或使用SAP向导连接器,如SAP .NET Connector或SAP Java Connector.

在较新的版本中,SAP已将Web服务器附加到其ABAP应用服务器,以便为ABAP运行ITS,BSP和WebDynpro等服务.通过使用此Web服务器,您可以将任何RFC发布为WebService.

但是,从我的日常经验来看,SAP R/3的表现并不是那么好.对函数进行简单的RFC调用,对两个数字求和并返回结果可能需要1到5秒,具体取决于服务器的可用性.

这种情况的发生主要是因为当您使用SAP .NET Connector或WebServices时,会出现多种抽象级别.

因此,如果您希望您的系统可用于日常交易(例如每天从您的电子商务应用程序创建5.000个客户,或在线销售约40.000个),我强烈建议您使用Java Connector,或者通过以下方式实现RFC API:你自己.

否则,如果您的应用程序将由更少的人在内部使用,我建议您使用SAP .NET Connector或WebServices,因为它们完全是面向GTD的.

希望这可以帮助!

(请在下面的链接中添加http://前缀,因为我没有足够的声望来发布链接:()

RFC API:help.sap.com/printdocu/core/Print46c/EN/data/pdf/BCFESDE4/BCFESDE4.pdf

SAP .NET Connector:help.sap.com/saphelp_nw04/Helpdata/EN/e9/23c80d66d08c4c8c044a3ea11ca90f/content.htm

SAP Java连接器:help.sap.com/saphelp_nw04/helpdata/en/6f/1bd5c6a85b11d6b28500508b5d5211/content.htm

使用ABAP创建Web服务:wiki.sdn.sap.com/wiki/display/stage/Service+Enabling+in+ABAP


Ste*_*nst 7

如果您的应用程序不需要SAP Portal集成,并且您的客户不要求具有类似SAP的外观,那么您可以自由使用您喜欢的任何表示层.

当您选择进行SAP集成时,我不同意您必须使用sap工具的立场.像NWDI或旧NWDS这样的产品是一个令人头疼的问题(我不会在这里详细说明,这是一个很长的故事),如果你不是100%专注的sap集成商,培训人们学习Webdynpro在我看来不值钱.