C#调用SAP函数之RFC_READ_TABLE

来源:互联网 发布:ipv6没有网络访问权限 编辑:程序博客网 时间:2024/06/03 20:57

原文链接:http://blog.sina.com.cn/s/blog_52209ba70100l506.html

public void test(){    SAPLogonControlClass connctl = new SAPLogonControlClass();       //下面的参数值根据实际情况赋值                   connctl.Client = "集团号";        connctl.Language = "ZH";        connctl.ApplicationServer = "服务器IP";        connctl.SystemNumber = 00;        connctl.User = "SAP登录名";        connctl.Password = "SAP密码";        Connection conn = (Connection)connctl.NewConnection();        //登陆        if (conn.Logon(null, true))        {            SAPFunctionsClass functions = new SAPFunctionsClass();            functions.Connection = conn;            //这里就传入函数名称RFC_READ_TABLE            Function fucntion = (Function)functions.Add("RFC_READ_TABLE");            //这里是传入值参数  QUERY_TABLE 就是要查询的表名 DELIMITER就是字段间的间隔符号,因为函数的返回参数不是表格形式            Parameter parameter1 = (Parameter)fucntion.get_Exports("QUERY_TABLE");            parameter1.Value = "BSEG";            Parameter parameter2 = (Parameter)fucntion.get_Exports("DELIMITER");            parameter2.Value = "@";            //这里是传入表的参数,这里有两个表OPTIONS和FIELDS;OPTION表是存放查询条件的,为空的话是不限制条件,FIELDS是存放你想要查询的字段,按理说可以为空,但是试过不行,只能设置要取的字段            Tables Tables1 = (Tables)fucntion.Tables;            Table table0 = (Table)Tables1.get_Item("OPTIONS");            table0.AppendGridData(1, 1, 1, "");//设置条件,例如(MANDT=‘100’)            Table talble1 = (Table)Tables1.get_Item("FIELDS");            talble1.AppendGridData(1, 1, 1, "MANDT");//                 talble1.AppendGridData(2, 1, 1, "BUKRS");//            talble1.AppendGridData(3, 1, 1, "BELNR");//                        talble1.AppendGridData(4, 1, 1, "GJAHR");//            talble1.AppendGridData(5, 1, 1, "BUZEI");//            talble1.AppendGridData(1, 2, 1, "SHKZG");//            talble1.AppendGridData(2, 2, 1, "MENGE");//            talble1.AppendGridData(3, 2, 1, "MEINS");//            talble1.AppendGridData(4, 2, 1, "EBELN");//            talble1.AppendGridData(5, 2, 1, "EBELP");//            //调用函数,并读取数据            if (fucntion.Call())            {                Tables1 = (Tables)fucntion.Tables;                //获取函数返回内容                Table talbe2(Table)Tables1.get_Item("DATA");                MessageBox.Show(talbe2.get_cell(1,1).ToString());                或者                MessageBox.Show(talbe2.get_cell(1,"MANDT").ToString());              }        //退出登陆        conn.Logoff();    }
阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 梁山步军五虎将 五虎将后传3.04 杨门虎将结局 五虎将是哪五个 三国五虎将是哪五个 影驰gtx950虎将 五虎将后传3.0代码 魏延为什么不是五虎将 再向虎山行 威虎山 虎山风景区 虎山长城 虎山行gai 威虎山在哪 方虎山 大虎山 虎山 智取威虎山演员表 智取威虎山经典唱段 智取威虎山唱段 大虎山到沈阳火车 大虎山到沈阳火车时刻表 虎山长城旅游 智取威虎山黑话 再向虎山行83版全集40 再向虎山行83版全集 一往无前虎山行 智取威虎山观后感 伏虎山区惨祸照片 大虎山到锦州火车时刻表 智取威虎山经典台词 再向虎山行国语83版 虎山行免费阅读 沈阳到大虎山 再向虎山行主题曲 智取威虎山免费观看 温岭虎山论坛 黄师虎 虎年 虎年是哪年 虎年奇案