/// <summary>
        /// 根據條件,產生訂單擷轉記錄
        /// </summary>
        /// <param name="ParameterList">
        /// @訂單擷轉日、@門市進貨日、@群分類、@執行者、
        /// @擷轉確認選擇清單(DataSet or List記錄:ID,PID)。
        /// </param>
        /// <returns>
        /// @處理結果(Boolean:1是0否)v_error_msg varchar2,錯誤訊息
        /// @擷轉序號 varchar2,
        /// @處理筆數 number
        ///</returns>
        public ArrayList ProcessCreateCRMOrderTransfer(ArrayList ParameterList, DataTable dt_Parameter, DbTransaction RootDBT, out string s_ErrorMsg)
        {
            bool IsRootTranscation = false;
            //string s_ErrorMsg = string.Empty;
            ArrayList arl_Return = new ArrayList();

            try
            {
                DBO.VDS_CRM_ORDER_MAINDBO VCOM = new VDS_CRM_ORDER_MAINDBO(ref USEDB);

                //判斷是否有傳入Root Transcation 
                IsRootTranscation = (RootDBT == null) ? true : false;

                #region 啟動交易或指定RootTranscation

                if (IsRootTranscation)
                {
                    //獨立呼叫啟動Transcation
                    Conn = USEDB.CreateConnection();
                    Conn.Open();
                    DBT = Conn.BeginTransaction();
                }
                else
                {
                    DBT = RootDBT;
                }

                #endregion

                #region 處理 CRM07 BUTTON[執行擷轉]鈕

                #region 檢查並更新訂單擷轉處理狀態

                s_ErrorMsg = VCOM.CHECK_PROCESS_FLAG(ParameterList, RootDBT);

                if (s_ErrorMsg != string.Empty)
                { throw new Exception(s_ErrorMsg); }

                #endregion

                #region 建立訂單擷轉暫存檔資料

                foreach (DataRow dRow in dt_Parameter.Rows)
                {
                    s_ErrorMsg = VCOM.MAINTAIN_TEMP_TABLE(dRow, DBT);

                    if (s_ErrorMsg != string.Empty)
                    { throw new Exception(s_ErrorMsg); }
                }

                #endregion

                #region 根據條件,產生訂單擷轉記錄

                arl_Return = VCOM.PROCESS_CRM_ORDER_TRANSFER(ParameterList, DBT);

                #endregion

                #endregion

                #region 交易成功

                if (IsRootTranscation)
                {
                    //獨立呼叫Transcation成立
                    DBT.Commit();
                }

                #endregion
            }
            catch (Exception ex)
            {
                #region 交易失敗

                if (IsRootTranscation)
                {
                    //獨立呼叫Transcation失敗
                    DBT.Rollback();
                }

                #endregion

                throw GetNewException(ex);
            }
            finally
            {
                #region 判斷是否關閉交易連線

                if (IsRootTranscation)
                {
                    //獨立呼叫Transcation,關閉連線
                    if (Conn.State == ConnectionState.Connecting)
                    {
                        Conn.Close();
                    }
                }

                #endregion
            }

            return arl_Return;
        }