Passar valor do meu input para Backend

Olá pessoal, estou tentando passar o valor do meu <p:inputText > observação para meu bean, mas o valor não vai para o meu bean e consequentemente nao vai para meu DAO.
Até achei tópicos parecidos aqui no fórum mas ambos não foram respondidos, se puderem me ajudar já tentei mudar escopo e outras coisas mas nada funcionou.
Meu datatable

Estou utilizando primefaces, jsf e jdbc.

Segue minha view:

<?xml version="1.0" encoding="ISO-8859-1" ?>
< !DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd” >
< html xmlns=“http://www.w3.org/1999/xhtml
xmlns:h=“http://java.sun.com/jsf/html
xmlns:f=“http://java.sun.com/jsf/core
xmlns:ui=“http://java.sun.com/jsf/facelets
xmlns:p=“http://primefaces.org/ui” >
<h:head>

Agenda - Operacional

< style type=“text/css”>
.color {
background-color: FFF;
color:#000000 ;
}
.color2 {
background-color: Green;
color:#000000 ;
}

< /style>
</h:head>

<h:body>
<h:form id=“form”>
< p:dataTable id=“tb” var=“oper” value="#{AgendaOperacional.listaOperacional}" rowStyleClass="#{panel.tentativa1 == ‘TRUE’ ? ‘FALSE’ : (panel.tentativa2==‘TRUE’ ? ‘color2’:‘color’)}" rows=“24” style=“font-size:12px;max-width:800px” align=“left”>
<p:column style=“width:25px” >
<f:facet name=“header”>
<h:outputText value=“Hr. Agenda”/>
</f:facet>
<h:outputText value="#{oper.hora_agenda}"/>
</p:column>
<p:column style=“width:350px”>
<f:facet name=“header”>
<h:outputText value=“Informações Paciente”/>
</f:facet>
<h:outputText value="#{oper.nome_paciente}"/>
</p:column>
<p:column style=“width:25px”>
<f:facet name=“header”>
<h:outputText value=“Convenio”/>
</f:facet>
<h:outputText value="#{oper.convenio}"/>
</p:column>
<p:column style=“width:25px” >
<f:facet name=“header”>
<h:outputText value=“Observação:”/>
</f:facet>
<p:inputText id=“obs1” rows=“1” cols=“40” style=“font-size: 10px;” value="#{AgendaOperacional.ag.ds_observacao}" queryDelay=“750” minQueryLength=“2”/> **
**
Campo observação
**
** <p:inputText id=“obs2” rows=“1” cols=“40” style=“font-size: 10px;” value="#{AgendaOperacional.ag.ds_observacao2}" queryDelay=“750” minQueryLength=“2” />

</p:column>
<p:column style=“width:100px” styleClass="">
<f:facet name=“header”>
<h:outputText value=“Status Confirmações”/>
</f:facet>
<p:selectBooleanCheckbox value="#{AgendaOperacional.tentativa1}" id=“chk1” itemLabel=“Tentativa 1”/>



<p:selectBooleanCheckbox for=“check” value="#{AgendaOperacional.tentativa2}" id=“chk2” itemLabel=“Tentativa 2”/>
</p:column>
<p:column style=“width:100px” styleClass="" id=“btnGera” for=“obs1”>
<f:facet name=“header”>
<h:outputText value=“Gerar”/>
</f:facet>
<p:commandButton value=“Confirmar” action="#{AgendaOperacional.insereStatus}">
** <f:setPropertyActionListener value=“Insere Confirmação” target="#
{AgendaOperacional.ag1.ds_observacao}" />**
** </p:commandButton>**
Botão com metodo inserir
</p:column>
</p:dataTable>
</h:form>

</h:body>

Meu Bean

package agenda.com.br;

import java.util.Date;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;

@ManagedBean (name=“AgendaOperacional”)
@ViewScoped
public class AgendaOperacionalBean {

 private boolean status;
 private String nome_paciente;
 private String convenio;
 private String unidade;
 private Integer cd_horario_agenda;
 private String cd_agenda;
 private String usuario_operacional;
 private String cd_status;
 private Date dt_confirmacao;
 private Date horario_confirmacao;
 private String ds_observacao;
 private String ds_observacao2;
 private String hora_agenda;
 private boolean tentativa1;
 private boolean tentativa2;
 private AgendaOperacionalBean ag;
 private List<AgendaOperacionalBean> listaOperacional;

 
 @PostConstruct
 public void init() {
	 this.ag = new AgendaOperacionalBean();
 }

 
 
 public void insereStatus() {
  
	 
 new DaoAgendaOperacional().InsereStatus(this.ag);
**// Passando parametro para a classe DAO**

 }
 
public boolean Status() {
	return status;
}

public void setStatus(boolean status) {
	this.status = status;
}

public String getNome_paciente() {
	return nome_paciente;
}

public void setNome_paciente(String nome_paciente) {
	this.nome_paciente = nome_paciente;
}

public String getConvenio() {
	return convenio;
}

public void setConvenio(String convenio) {
	this.convenio = convenio;
}

public String getUnidade() {
	return unidade;
}

public void setUnidade(String unidade) {
	this.unidade = unidade;
}

public List<AgendaOperacionalBean> getListaOperacional() {
	this.listaOperacional= new DaoAgendaOperacional().GetAgendaOperacional();
	return listaOperacional;
}

public void setListaOperacional(List<AgendaOperacionalBean> listaOperacional) {
	this.listaOperacional = listaOperacional;
}

public String getHora_agenda() {
	return hora_agenda;
}

public void setHora_agenda(String hora_agenda) {
	this.hora_agenda = hora_agenda;
}

public boolean isTentativa1() {
	return tentativa1;
}

public void setTentativa1(boolean tentativa1) {
	this.tentativa1 = tentativa1;
}

public boolean isTentativa2() {
	return tentativa2;
}

public void setTentativa2(boolean tentativa2) {
	this.tentativa2 = tentativa2;
}

public String getCd_agenda() {
	return cd_agenda;
}

public void setCd_agenda(String cd_agenda) {
	this.cd_agenda = cd_agenda;
}

public String getUsuario_operacional() {
	return usuario_operacional;
}

public void setUsuario_operacional(String usuario_operacional) {
	this.usuario_operacional = usuario_operacional;
}

public String getCd_status() {
	return cd_status;
}

public void setCd_status(String cd_status) {
	this.cd_status = cd_status;
}

public Date getDt_confirmacao() {
	return dt_confirmacao;
}

public void setDt_confirmacao(Date dt_confirmacao) {

	
	this.dt_confirmacao = dt_confirmacao;
}

public Date getHorario_confirmacao() {
	return horario_confirmacao;
}

public void setHorario_confirmacao(Date horario_confirmacao) {
	this.horario_confirmacao = horario_confirmacao;
}

public String getDs_observacao() {
	return ds_observacao;
}

public void setDs_observacao(String ds_observacao) {
	this.ds_observacao = ds_observacao;
}

public String getDs_observacao2() {
	return ds_observacao2;
}

public void setDs_observacao2(String ds_observacao2) {
	this.ds_observacao2 = ds_observacao2;
}

public AgendaOperacionalBean getAg() {
	return ag;
}

public void setAg(AgendaOperacionalBean ag) {
	this.ag = ag;
}

public Integer getCd_horario_agenda() {
	return cd_horario_agenda;
}

public void setCd_horario_agenda(Integer cd_horario_agenda) {
	this.cd_horario_agenda = cd_horario_agenda;
}

}

Meu dao

public boolean InsereStatus(AgendaOperacionalBean agenda){
boolean result = false;
Connection con = new DaoAgenda().conectaOracle();

	try {
		
		PreparedStatement pst = con.prepareStatement("insert into sistemahna.confirma_agenda(cd_horario_agenda, cd_agenda,usuario_operacional,cd_status,dt_confirmacao,horario_confirmacao,ds_observacao)  values(?,?,?,null,sysdate,sysdate,?)");
		pst.setInt(1, 14);
		pst.setString(2, "teste");
		pst.setString(3, "teste");
		pst.setString(4, agenda.getDs_observacao()); // agenda não retorna o input aqui <<<<<<<<**_**
        pst.execute();
        pst.close();
        con.close();
		result = true;
		
	}
	catch(SQLException e) {
		System.out.println("Ocorreu um erro sql: " + e.getMessage());	
		
	
		
		return result;
	}
	
	try{
		
		con.close();
	}
	catch(Exception e){
		System.out.println("Conexao nao foi encerrada corretamente "+ e.getMessage());
		
		return result;
	}
	
	return result;
}

Alguma mensagem de erro? Chegou a depurar para confirmar se o backend é chamado?