深圳全飞鸿

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 632|回复: 0
打印 上一主题 下一主题

C#处理SAP的RFC总结

[复制链接]

800

主题

1379

帖子

7704

积分

版主

Rank: 7Rank: 7Rank: 7

积分
7704
跳转到指定楼层
楼主
发表于 2021-6-6 18:33:10 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
C#处理SAP的RFC总结

using SAP.Middleware.Connector;



  1.        public class SapConnection : IDestinationConfiguration
  2.         {
  3.             public RfcConfigParameters GetParameters(string destinationName)
  4.             {
  5.                 RfcConfigParameters conf = new RfcConfigParameters();
  6.                 if (destinationName == "PRD")
  7.                 {
  8.                     conf.Add(RfcConfigParameters.AppServerHost, objMESClient.SAPIP);
  9.                     conf.Add(RfcConfigParameters.SystemNumber, objMESClient.SAPSYSNumber);
  10.                     conf.Add(RfcConfigParameters.User, "MES");
  11.                     conf.Add(RfcConfigParameters.Password, "1qa");
  12.                     conf.Add(RfcConfigParameters.Client, "800");
  13.                 }

  14.                 if (destinationName == "DEV")
  15.                 {
  16.                     conf.Add(RfcConfigParameters.AppServerHost, "192.168.99.1");
  17.                     conf.Add(RfcConfigParameters.SystemNumber, "00");
  18.                     conf.Add(RfcConfigParameters.User, "ABAP");
  19.                     conf.Add(RfcConfigParameters.Password, "123");
  20.                     conf.Add(RfcConfigParameters.Client, "600");
  21.                 }
  22.                 return conf;
  23.             }

  24.             public bool ChangeEventsSupported()
  25.             {
  26.                 return true;
  27.             }

  28.             public event RfcDestinationManager.ConfigurationChangeHandler ConfigurationChanged;
  29.         }

  30.         private string GetSAPInfor(string StrWO)
  31.         {
  32.             string StrResult = "";
  33.             SapConnection con = new SapConnection();

  34.             RfcDestinationManager.RegisterDestinationConfiguration(con);

  35.             RfcDestination dest = RfcDestinationManager.GetDestination("PRD");// 测试用DEV
  36.             RfcRepository rfcrep = dest.Repository;
  37.             IRfcFunction myfun = null;
  38.             myfun = rfcrep.CreateFunction("ZMES_WO");
  39.             //myfun.SetValue("WO", "11000058");//SAP里面的传入参数
  40.             myfun.SetValue("ZVBELN", StrWO);//SAP里面的传入参数
  41.             myfun.Invoke(dest);
  42.             IRfcTable IrfTable = myfun.GetTable("ZMES_BILL");
  43.             if (IrfTable.Count != 1)
  44.             {
  45.                 StrResult = "NO;";
  46.             }
  47.             else
  48.             {
  49.                 for (int i = 0; i < IrfTable.Count; i++)
  50.                 {
  51.                     IrfTable.CurrentIndex = i;
  52.                     StrResult = IrfTable.GetString("Z_PRNUM") + ";" + IrfTable.GetString("BSTKD") + ";" + IrfTable.GetString("WADAT_IST") + ";" + IrfTable.GetString("KUNNR") + ";" + IrfTable.GetString("AUBEL") + ";" + IrfTable.GetString("AUPOS") + ";" + IrfTable.GetString("BLNUMBER") + ";";
  53.                 }
  54.                 StrResult = "OK;" + StrResult;
  55.             }
  56.             RfcDestinationManager.UnregisterDestinationConfiguration(con);
  57.             return StrResult;
  58.         }
复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|nagomes  

GMT+8, 2025-5-5 00:42 , Processed in 0.031262 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表