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

    接口文档

    }

  • 相关阅读:
    第六十篇、音视频采集硬编码(H264+ACC)
    第十三篇、Swift_Nav自定义返回按钮后或者隐藏导航栏,Pop返回手势失效的解决方法 Pop全局返回添加的方法
    第五十九篇、OC录制小视频
    第五十八篇、iOS 微信聊天发送小视频的秘密
    第五十七篇、AVAssetReader和AVAssetWrite 对视频进行编码
    第五十六篇、OC打开本地和网络上的word、ppt、excel、text等文件
    Objective-C 编码建议
    在block中使用self
    纯代码TableView自适应高度(很老的使用方法)
    iOS应用架构谈 网络层设计方案
  • 原文地址:https://www.cnblogs.com/codejimmygao/p/14604775.html
Copyright © 2011-2022 走看看