首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • VS2005中asp.net用C#怎么调用SAP的rfc函数,请高手指教!
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • nuo
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 结帖率:
    发表于:2008-02-19 14:36:12 楼主
    用SAPGUI里的COM连接成功了,但是调用时设定连接会出现Bad variant type的错误,不知是何原因,请高手指教啊!
          SAPLogonCtrl.SAPLogonControlClass logon = new SAPLogonCtrl.SAPLogonControlClass();
            logon.ApplicationServer = "10.1.147.2";
            logon.Client = "200";
            logon.Language = "ZH";
            logon.User = "test";
            logon.Password = "test";
            logon.SystemNumber = 00;
            SAPLogonCtrl.Connection conn = (SAPLogonCtrl.Connection)logon.NewConnection();
           
            if (conn.Logon(0, true))
            {
                SAPFunctionsOCX.SAPFunctionsClass func = new SAPFunctionsOCX.SAPFunctionsClass();
                func.Connection = conn; //在这里会出现Bad variant type的错误            SAPFunctionsOCX.IFunction ifunc = (SAPFunctionsOCX.IFunction)func.Add("Z_OA_002");
                ifunc.Call();
            }
    100  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • nuo
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-02-20 15:41:261楼 得分:0
    没有高手搞过这个么?帮帮偶啊!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • mmiao
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-02-21 00:35:392楼 得分:0
    我所知道的,有两种方法实现SAP与VS2005互操作问题
    但却不是楼主提到的这种方法

    1、用SAP Connector for .Net 版本是2.0,但目前还只支持VS2003,所以你可以把它在2003下做成DLL文件再在VS2005中调用,我做过测试,可行~~

    2、不知你用的是什么版本的SAP,我在ECC5,ECC6下都可以发布Web Service,然后在VS2005中消费它,很好用~~
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • xukids
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-02-21 16:40:303楼 得分:0
    发表于:2008-02-21 00:35:392楼 得分:0
    我所知道的,有两种方法实现SAP与VS2005互操作问题
    但却不是楼主提到的这种方法

    1、用SAP  Connector  for  .Net  版本是2.0,但目前还只支持VS2003,所以你可以把它在2003下做成DLL文件再在VS2005中调用,我做过测试,可行~~ 


    這個可行,但是比較麻煩!~VS2005好像不能直接調用
    而且用戶名和密碼必須改成大寫的才行
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • nuo
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-02-22 09:57:574楼 得分:0
    2003做成dll再给2005用倒是用过,就是不太好用,WebService的方式可以调用BAPI么?传table类型的参数怎么传呢?
    有没有例子,给一个,谢啦!!!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • knowledge_Is_Life
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-04-29 23:18:445楼 得分:0
    什么呀
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • meiZiNick
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-04-30 23:42:536楼 得分:0
    我也想知道,正在找這方面的資料~~~~~
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • jirigala
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-25 15:17:387楼 得分:0
    我也是遇到了这个问题,死活不行啊,都这个年代了,还哪里去找vs2003啊,电脑空间都不够了。
    后来用 SQL2005 NET Data Provider for mySAP Business Suite 解决问题了。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • jirigala
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-26 12:46:598楼 得分:0
    我写了一篇文章,你看看,应该是可以解决你的问题了。
    请看链接
    http://www.cnblogs.com/jirigala/archive/2008/11/26/1341345.html
    SAP RFC Connector Bad variant type
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • roadblossom
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-28 13:50:579楼 得分:0
    up
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • flysky913
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-12-28 22:56:1410楼 得分:0
    楼主,SAPFunctionsOCX如何引用?是否需要装sap.net.setup_2.0.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • flysky913
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-12-28 23:26:5611楼 得分:0
    SAPFunctionsOCX已经添加!我使用VS2005+ECC6.0客户端调用下面的程序没有出现楼主说的问题!           
        SAPFunctionsOCX.SAPFunctionsClass func = new SAPFunctionsOCX.SAPFunctionsClass();
        func.Connection = conn;
        SAPFunctionsOCX.IFunction ifunc = (SAPFunctionsOCX.IFunction)func.Add("ENQUEUE_READ");
        ifunc.Call();
    修改 删除 举报 引用 回复