zoukankan      html  css  js  c++  java
  • .NET连接SAP系统专题:C#如何导入内文至SAP(十一)

        内文这个东西就像长篇大论的描述,跟在WORD里面一样可以输入无数个字。如果在sap中输入事务码进去可以维护多少个字都可以,但是如果是用.NET调用BAPI传进去内文的话,会将内文超过132个字符的内容全部截掉。要怎么样才能全部导入所有内文呢?

        以下以导入请购单的程序来描述:   

    //表头内文 转换多笔实现超长文本插入

    ......
    PRHEADERTEXT.Insert();                             // 这个是BAPI里面导入内文的参数
    if (txtQG07.Text.Trim().Length > 120)          // txtQG07.Text的内容就是所有内文,这里用120个字符判断
    {
    int len = txtQG07.Text.Trim().Length / 120;  // 这里len取整数
    len = len + 1;                                             // 可能有结余,故加一
    for (int q = 0; q < len; q++)
    {
    if (q + 1 == len)                                        // 如果到了最后一行,则去最后一行之后的所有内文
    PRHEADERTEXT.CurrentRow.SetValue("TEXT_LINE", txtQG07.Text.Trim().Substring(q * 120));
    else
    PRHEADERTEXT.CurrentRow.SetValue("TEXT_LINE", txtQG07.Text.Trim().Substring(q * 120, 120));
    PRHEADERTEXT.Append();                         // 将截取的每一段内容都附加到内文后面。如果不加这一句,则文本会倒置
    }
    }
    else
    {
    PRHEADERTEXT.CurrentRow.SetValue("TEXT_LINE", txtQG07.Text.Trim());
    }

    ......

    如此则可以将内文全部导入。但如果是项目中的内文呢?因为会涉及到传入项目序号,所以需要稍作处理:

    //项目内文
    PRITEMTEXT.Insert();
    if (ds.Tables[0].Rows[i]["QGA11"].ToString().Trim().Length > 120)
    {
    int len = ds.Tables[0].Rows[i]["QGA11"].ToString().Trim().Length / 120;
    len = len + 1;
    for (int q = 0; q < len; q++)
    {
    PRITEMTEXT.CurrentRow.SetValue("PREQ_ITEM", j.ToString());    // 将额外需要的参数都添加到这里,每循环一次都要SetValue一次
    if (q + 1 == len)
    PRITEMTEXT.CurrentRow.SetValue("TEXT_LINE", ds.Tables[0].Rows[i]["QGA11"].ToString().Trim().Substring(q * 120));
    else
    PRITEMTEXT.CurrentRow.SetValue("TEXT_LINE", ds.Tables[0].Rows[i]["QGA11"].ToString().Trim().Substring(q * 120, 120));
    PRITEMTEXT.Append();
    }
    }
    else
    {
    PRITEMTEXT.CurrentRow.SetValue("PREQ_ITEM", j.ToString());
    PRITEMTEXT.CurrentRow.SetValue("TEXT_LINE", ds.Tables[0].Rows[i]["QGA11"].ToString());
    }


  • 相关阅读:
    mybatis关键查询
    智能标签
    mybatis注解基础使用
    myBatis基础知识点
    Mybatis框架模糊查询
    python(7):sympy模块
    anaconda中的包如何传到pycharm中使用?
    python(6):Scipy之pandas
    python(5):scipy之numpy介绍
    python(4): regular expression正则表达式/re库/爬虫基础
  • 原文地址:https://www.cnblogs.com/saper/p/2246098.html
Copyright © 2011-2022 走看看