2のRFCコール連関表ケースSAPインタフェースプログラム

      C#のインターフェイスは、RFCインターフェースチュートリアルシリーズ2は、この2.0インターフェイスの使用を呼び出します。ハハ、世界は常に武術を学び、技術のうちエクササイズは同じです。

       

文字列 str111 = "" ;      // マテリアル文書番号
        文字列 str222 = "" ;      // 年間 
        IDestinationConfiguration ID = 新新RfcConfig(); 
        RfcDestinationManager.RegisterDestinationConfiguration(ID); 
        RfcDestinationのPRD = RfcDestinationManager.GetDestination(" PRD_000 "); // 公式環境領域000 
        RfcDestinationManager.UnregisterDestinationConfiguration(ID); 
        RfcRepositoryレポ = prd.Repository; 
        IRfcFunction companyBapi = repo.CreateFunction("ZM_PURCHASE_GOOD01 ");    // 调用函数名

        試みる
        { 
            IRfcTable tableSAP = companyBapi.GetTable(" IT_POGOを");    // 表体
            のためのint型 i = 0 ; iは<gvlist1.Rows.Count; iは++)      //   1 sapdt.Rowsを.Count 
            {
                 // テキストボックスtxtnum =(テキストボックス)gvlist1.Rows [I] .FindControl( "txtnum"); 
                のHiddenField hfQYA24 =(のHiddenField)gvlist1.Rows [I] .FindControl(" hfQYA24 " ); 

                IRfcStructure ST =tableSAP.Metadata.LineType.CreateStructure(); 
                st.SetValue(" EBELN "、gvlist1.Rows [I] .Cells [ 9。 .Text.Trim()]);            // 購入のみ番号"3020092357" 
                st.SetValue(" EBELP "gvlist1.Rows [I] .Cells [ 10 ] .Text.Trimは());                // PO単一の項目番号" 10 " 
                st.SetValue(" Mengeは、gvlist1.Rows [I] .Cells [ 7。 ] .Text.Trim());         // 発注番号"1" 
                st.SetValue(" REF_DOC_YR "、lblQY23.Text.Trim())。                    // 樹液收货单号 
                st.SetValue(" REF_DOC "、lblQY22.Text.Trim());                       // 樹液收货年度 
                st.SetValue(" REF_DOC_IT " 、hfQYA24.Value)。
                tableSAP.Append(ST); 
            } 

            companyBapi.SetValue(" I_BWART "" 105 " )。
            companyBapi.SetValue(" I_BUDAT "、DateTime.Now.ToString(" YYYYMMDD "));
            companyBapi.SetValue(" ZFORM "" 800 " ); 
            companyBapi.SetValue(" ZOABH "、model.QY02)。    // 单号

            companyBapi.SetValue(" IT_POGO " 、tableSAP)。
            companyBapi.Invoke(PRD)。   // 执行函数

            str111 = companyBapi.GetString(" E_MBLNR " ); 
            str222 = companyBapi.GetString(" E_MJAHR " )。
            IRfcTable OPTIONS= companyBapi.GetTable(" RETURN ")。    // 返回表格值
            ブール IsFail = ; 
            StringBuilderのstrMsg = 新しいStringBuilderの();
            以下のためにint型 i = 0 ; I <OPTIONS.RowCount; iは++ 
            { 
                OPTIONS.CurrentIndex = I。
                もし(OPTIONS.GetString(" TYPE ").Equals(" E " ))
                { 
                    IsFail =trueに
                    strMsg.Append(OPTIONS.GetString(" MESSAGE " )); 
                    strMsg.Append(" <BR> " ); 
                } 
            } 

            IF (IsFail)
            { 
                SystemTools.displayTips(" 例外:!にSAP導入詳細" + strMsg。 ToStringメソッド()、0 、lblInfoMsg);
                 返す; 
            } 
        } 
        キャッチ(RfcAbapException EX)は   // この例外は、具体的には、ユーザ定義の例外情報を取得するように構成されました!
        {
            twMsgbox.AjaxAlert(companyBapi.Metadata.GetAbapException(ex.Key).Documentation); 
        } 
        キャッチ(RfcAbapRuntimeException EX)    // 実行RFC中に演算例外を取得するに捧げ、この例外!
        { 
            TwMsgbox.AjaxAlert(companyBapi.Metadata.GetAbapException(ex.Key).Documentation); 
        } 
        キャッチ(RfcBaseException EX)   // キャッチが複数存在する場合、これは総例外例外クラスでは、すべての例外を取得し、置くことができません最初に!
        { 
            TwMsgbox.AjaxAlert(次のように:!作業順序番号がデータベース接続エラーメッセージが存在するかSAPない + Ex.Messageが); 
        }

 

おすすめ

転載: www.cnblogs.com/shuilong/p/11307050.html