.NET串連SAP系統專題:C#如何匯入內文至SAP(十一)

來源:互聯網
上載者:User

    內文這個東西就像長篇大論的描述,跟在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());
}

 


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.