08 2011 档案
摘要:接上篇博文。 上篇博文讲到C#调用BAPIBAPI_USER_CREATE来生成SAP账户,但是新建的账户一点权限也没有,现在我们就再次利用BAPI给账户授予权限。 首先,我们在BAPI画面里查找出相关的BAPI出来,利用角色去给用户添加权限: 双击此BAPI,进入到BAPI预览画面: Table属性页: 第一个ACTIVITYGROUPS是指我们要传进去的表格内容,不再是一个栏位和结构内容了。第二个的RETURN则是返回调用结果。 双击BAPIAGR的结构,进入结构详情画面: 以上AGR_NAME是角色名,应该是必须要的。 那么,接下去就是在C#中编写相应...
阅读全文
摘要:上面博文可知BAPI_USER_CREATE的一些结构和参数。所以在C#中要调用它就很清楚了要输入哪些参数了。 1、首先引用dll,然后在程序开头:using SAP.Middleware.Connector; 2、接下去就是设置登陆参数了,以前相关博文都有说明: public class MyBackendConfig : IDestinationConfiguration { public RfcConfigParameters GetParameters(String destinationName) { if ("PRD_000"....
阅读全文
摘要:既然BAPI是一些特殊的RFC,封装了业务逻辑,使得将业务都变成一个一个对象,使用者只需要传入传出参数就可以了。 NCO3连接BAPI之前先来看看BAPI的一些参数规则。我们以 BAPI_USER_CREATE 为例子。此BAPI调用了可以生成一个用户,它当然不是仅仅对USR02进行写入那么简单。生成之后该账户什么权限也没有。 输入T-CODE:BAPI,然后在第二个页签下找到该BAPI: 上图中的红色框框里就是我们要调用的BAPI的名称。双击它,进入到该BAPI的一些说明里: 看到了,在属性页里它勾选了Remote... 说明它是可以远程操控的! 上图里,注意到红色框框...
阅读全文
摘要:周六加班,翻看以前写OA程序的时候无意中发现了当初的一个案子,就是让用户现在OA上申请一个SAP用户,然后提交给相关人员审核,通过之后直接在SAP中生成这个用户,不必在登陆到SAP中请系统管理员来做了。至于这一步,当然是使用BAPI来实现了,不可能对用户表进行新增数据,这样少了很多的关联表和一些逻辑判断,会是一场灾难。 前几篇讲的都是C#去调用RFC的东西,既然BAPI也是属于RFC,如果标准的勾选了那个remote的话,那按道理来说是应该可以实现调用的了。但难点是BAPI里面很多的参数都是引用结构的,而不是单纯的string和int的类型,这点有点困难。在C#中翻看了NCO3是否有相关...
阅读全文
摘要:有的时候我们需要在RFC中抛出一些自定义的异常,比如输入一个不存在的品号,我们需要抛出一个异常,告知用户品号不存在。有一个笨笨的做法就是通过返回值来判断,但是这样不灵活,同时也会因为品号不存在而继续之行RFC。如果我们能自己抛出异常,程序自动停止执行RFC,那将是两全其美! 现在设定一个功能:输入两个数,第一个数除以第二个数。2个异常:被除数不能为0和除数不能为100。 首先,在SE37中建立一个RFC,就用上篇博文的RFC吧。 在IMPORT页设置如下: Export页面设置如下: Changing和Table页面放空 Exceptions页面设置如下: 然后就是源码咯:...
阅读全文
摘要:本文就说明在C#中如何编写代码来调用SAP中的RFC函数获取数据。(Winform32) 首先需要引用两个NCO3.0的DLL,下载地址在文后。 然后在程序代码页面引用: using SAP.Middleware.Connector; 然后所有的代码如下:namespace SAP_RFC{ public partial class Form1 : Form { string MATNR = string.Empty; public Form1() { InitializeComponent(); } public void nco() ...
阅读全文
摘要:何谓RFC,就是一个Function,可以被非SAP系统调用,比如VB,C#,Java等。如果我们在RFC中INCLUDE了相关的业务逻辑,那么我们就可以完全操控SAP中的业务数据了。就像在TTE里,有一只程序,前端是在OA开发,设计了相关的客户提领库存,然后还要到SAP系统中去执行程序扣减相应的库存,这样是挺费劲的,如果能够在OA中放一个按钮,点击这个按钮就自动执行了这个程序,方便省事。而这一切,可以利用C#调用RFC来实现。 要实现整个过程,则必须要现在SAP中建立好相应的RFC函数,然后用VS建立好相应的程序,写代码调用就可以了。两者关联就是使用NCO3.0这个东西了。 OK,本节主要.
阅读全文
摘要:本来今天是要写一篇关于NCO3.0的东西,就是关乎.NET调用SAP的RFC的,支持VS2010和.NET 4.0等。现在网上到处都是充斥着NCO1.X和NCO2.0,需要用VS2003来使用,都是一些没什么大用的东西,连.NET 2.0的不能支持,只能算是废材一个。而且相关的资料非常的少,转来转去全部都是那么一个例子,丝毫没有直观的DEMO,更搞笑的是SAP里面的RFC是怎么建立的都没有说明,只有该死的C#代码。同时还有微软发布的Data Provider for mySAP Business Suite这个,开始用的时候觉得还挺有趣,后来试了一下很失望,抓出来的字段居然是断码,不知道是..
阅读全文

浙公网安备 33010602011771号