protected void REACTlaunchUpload(object sender, EventArgs e)
        {
            // For safety, do yet another verification that this user owns the
            // workspace.
            session.ObtainWorkspaceContext();

            if (!((session.idWorkspace >= 0) && session.isWorkspaceOwner))
            {
                throw new Exception("There is no active workspace, owned by you, for this subprocess.");
            }



            if (this.FileUpload2.HasFile)
            {
                string pathTempFolder = System.IO.Path.GetTempPath();
                string pathTempFile   = System.IO.Path.GetTempFileName();



                /*
                 * if (this.COMBOXchooseBrole.SelectedIndex < 0)
                 * {
                 * throw new Exception("Select a role from the dropdown list!");
                 * }
                 */



                /*
                 * TURNS OUT THAT idBusRole was never being used after being set.
                 *
                 * int idBusRole = -1;
                 * if (this.COMBOXchooseBrole.SelectedItem != null)
                 * {
                 * idBusRole = int.Parse(this.COMBOXchooseBrole.SelectedItem.Value);
                 * }
                 */


                FileUpload2.SaveAs(pathTempFile);
                DataTable dt = HELPERS.LoadCsv(pathTempFolder,
                                               System.IO.Path.GetFileName(pathTempFile));
                if (dt != null)
                {
                    if (dt.Columns.Count > 1)
                    {
                        System.Data.Odbc.OdbcConnection conn =

                            new System.Data.Odbc.OdbcConnection(
                                ConfigurationManager.AppSettings["DBconnstr"]);

                        conn.Open();

                        Queue RETmsgs = new Queue();


                        HELPERS.ImportBusRoleAssignmentsFromDataTable
                            (dt, session.idUser, session.idWorkspace,
                            this.COMBOXchooseUnregEntAction.SelectedValue,
                            this.COMBOXchooseBrole.SelectedValue, RETmsgs,
                            session.idSubprocess);


                        if (RETmsgs.Count > 0)
                        {
                            string strMsgs = "";
                            foreach (object objMsg in RETmsgs.ToArray())
                            {
                                strMsgs += "\n" + objMsg.ToString();
                            }
                            TXTimportEngineMessages.Text  = strMsgs;
                            DIVimportFeeback.Visible      = true;
                            PANELcond_AbortUpload.Visible = false;
                            PANELcond_AllowUpload.Visible = false;
                        }
                        else
                        {
                            Response.Redirect("ListBRoles.aspx");
                        }
                    }
                }
            }
        }