zoukankan      html  css  js  c++  java
  • C# .net 调用ERP接口

    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 "";
    }

    接口文档

    }

  • 相关阅读:
    IDEA 的默认tomcat日志位置以及默认编译后的classes位置
    在linux环境下tomcat 指定 jdk或jre版本
    在Linux环境如何在不解压情况下搜索多个zip包中匹配的字符串内容
    说一下最近找的工作所遇到的一个巨坑,跟各位同行分享一下。(与技术无关)
    Jmeter 深入性能测试进阶-01
    英语
    python 01
    fiddler,ADB, Monkey
    http 协议,SSL证书,http头信息,tcp/http区别,支付功能测试
    扎马步-计算机网络和系统基础知识
  • 原文地址:https://www.cnblogs.com/codejimmygao/p/14604775.html
Copyright © 2011-2022 走看看