ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

C# .net 调用ERP接口

2021-04-01 09:33:34  阅读:351  来源: 互联网

标签:SetValue ERP string C# Rows ToString rfcTable net dt


public string GetVoucherNo(DataTable dt, string Plant, string Username)
{

try
{
string nowDate = DateTime.Now.ToString("yyyyMMdd");

RfcDestination dest = rfc_public.GetRfcDestination("SMP");
IRfcFunction func = dest.Repository.CreateFunction("ZGOODS_MOVE");


func.SetValue("I_OPTYPE", "A1");//操作类别

IRfcStructure rfcstr = func.GetStructure("I_GOODSMVT_HEADER");//所属结构 传入
rfcstr.SetValue("HEADER_TXT", "凭证抬头文本");//凭证抬头文本

rfcstr = func.GetStructure("ZLF_LOG");//所属结构 传入
rfcstr.SetValue("OP_USER", Username);//用户名
rfcstr.SetValue("MACHINE_NAME", Username);//电脑名
IRfcTable rfcTable = func.GetTable("T_GM_ITEM");//所属表 传入

for (int i = 0; i < dt.Rows.Count; i++)
{
string Material_Code = dt.Rows[i]["物料编码"].ToString();
string Count = dt.Rows[i]["数量"].ToString();
string CompanyNo = dt.Rows[i]["公司代号"].ToString();
DataSet dsCompanyNo = _bll.GetCompanyNo(CompanyNo);
string UNITCODE = dsCompanyNo.Tables[0].Rows[0]["UNITCODE"].ToString();

rfcTable.Insert();
rfcTable.CurrentRow.SetValue("MATERIAL", dt.Rows[i]["物料编码"].ToString());//物料号 物料编码
rfcTable.CurrentRow.SetValue("PLANT", UNITCODE);//工厂
rfcTable.CurrentRow.SetValue("STGE_LOC", "");//库存地点
rfcTable.CurrentRow.SetValue("BATCH", dt.Rows[i]["炉批号"].ToString());//批次
rfcTable.CurrentRow.SetValue("STCK_TYPE", "X");//库存类别
rfcTable.CurrentRow.SetValue("ENTRY_UOM", dt.Rows[i]["单位"].ToString());//单位
rfcTable.CurrentRow.SetValue("ENTRY_QNT", dt.Rows[i]["数量"].ToString());//数量
rfcTable.CurrentRow.SetValue("PO_NUMBER", dt.Rows[i]["订单号"].ToString());//采购订单
rfcTable.CurrentRow.SetValue("PO_ITEM", dt.Rows[i]["行号"].ToString());//采购订单行号
rfcTable.CurrentRow.SetValue("ITEM_TEXT", "");//项目文本

}

 

func.Invoke(dest);
rfcstr = func.GetStructure("O_GOODSMVT_HEADRET");//所属结构 传出
string VoucherNo = rfcstr.GetValue("MAT_DOC").ToString();//物料凭证编号
if (VoucherNo != "")
return VoucherNo;

rfcTable = func.GetTable("RETURN");//所属表 传出

if (rfcTable.RowCount > 0)
{
rfcTable.CurrentIndex = 0;
string type = rfcTable.GetString("TYPE");//返回消息类型
string message = rfcTable.GetString("MESSAGE");//消息文本
}
return "";
}
catch (Exception ex)
{
return "";
}

接口文档

}

 

标签:SetValue,ERP,string,C#,Rows,ToString,rfcTable,net,dt
来源: https://www.cnblogs.com/codejimmygao/p/14604775.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有