protected void Button_GUARDAR_SUB_PROGRAMA_Click(object sender, EventArgs e)
    {
        Decimal ID_PROGRAMA_GENERAL = Convert.ToDecimal(HiddenField_ID_PROGRAMA_GENERAL.Value);
        Decimal ID_SUB_PROGRAMA = Convert.ToDecimal(DropDownList_IdSubPrograma.SelectedValue);

        Programa.Areas AREA_SUBPROGRAMA = (Programa.Areas)Enum.Parse(typeof(Programa.Areas), HiddenField_ID_AREA.Value);
        Int32 ANNO = Convert.ToInt32(HiddenField_ANNO.Value);

        SubPrograma _subprograma = new SubPrograma(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
        DataTable TablaSubPrograma = _subprograma.ObtenerSubProgramasPorId(ID_SUB_PROGRAMA, AREA_SUBPROGRAMA);
        DataRow filaSubPrograma = TablaSubPrograma.Rows[0];

        String NOMBRE_SUBPROGRAMA = filaSubPrograma["NOMBRE"].ToString().Trim();

        Decimal ID_ACTIVIDAD = 0;

        Decimal ID_DETALLE_GENERAL_PADRE = 0;
        if (HiddenField_TIPO_NODO_SELECCIONADO.Value == TiposNodo.PROGRAMA.ToString())
        {
            ID_DETALLE_GENERAL_PADRE = 0;
        }
        else
        {
            ID_DETALLE_GENERAL_PADRE = Convert.ToDecimal(HiddenField_ID_NODO_SELECCIONADO.Value);
        }

        Programa _programa = new Programa(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        Boolean verificado = _programa.AdicionarDetalleGeneral(ID_PROGRAMA_GENERAL, TiposNodo.SUBPROGRAMA.ToString(), ID_DETALLE_GENERAL_PADRE, ID_SUB_PROGRAMA, ID_ACTIVIDAD);

        ocultar_mensaje(Panel_FONDO_NUEVO_SUBPROGAMA, Panel_CONTENIDO_NUEVO_SUBPROGRAMA);

        if (verificado == true)
        {
            DataTable tablaEsquemaPrograma = ObtenerEstructuraTablaPrograma();

            Cargar(tablaEsquemaPrograma);
            Cargar_GridView_EsquemaPrograma_DesdeTabla(tablaEsquemaPrograma);

            Informar(Panel_FONDO_MENSAJE_ARBOL, Image_MENSAJE_ARBOL_POPUP, Panel_MENSAJES_ARBOL, Label_MENSAJE_ARBOL, "El Programa para el año " + ANNO + " fue correctamente actualizado.", Proceso.Correcto);
        }
        else
        {
            Informar(Panel_FONDO_MENSAJE_ARBOL, Image_MENSAJE_ARBOL_POPUP, Panel_MENSAJES_ARBOL, Label_MENSAJE_ARBOL, "El Programa para el año " + ANNO + " no puedo ser actualizado: " + _programa.MensajeError, Proceso.Error);
        }
    }