P:commandbutton não executa action e actionListener

Boa noite a todos!
Estou com um problema ao usar o p:commandButton dentro de um p:datatable
o botão de alterar e excluir não executa o actionListener, tampouco o action
não sei mais o que fazer
alguém já passou por isso e tem como me ajudar?

segue abaixo html

<ui:composition xmlns="http://www.w3.org/1999/xhtml"  
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui"
xmlns:c="http://java.sun.com/jsp/jstl/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:df="http://www.dataci.es.gov.br/ui">
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />			

<h:form id="formNoti" style="font-size:11px">
	<table style="z-index: 500" id="tabela">
		<tr><td height="20px"></td></tr> 
			<tr>
				<td align="right" colspan="2">
					<h:inputHidden id="idPont" value="#{TrNotificacaoSB.entidade.notiNumPontos}" />
					<df:inputTextID value="#{TrNotificacaoSB.entidade.notiCodigo}" id="codigo" text="Código"/>
					<!-- outros campos do formulario -->
					</td>
				</tr>										
				
				<tr>
				<td align="right" colspan="2">
					<hr />
						<table border="0" cellpadding="0" cellspacing="0" width="100%">
							<tr>
								<td width="125px" align="right" style="height:25px">
									Endereco <p:spacer width="5"/>
								</td>
								<td> 
									<p:commandButton value="Adicionar" disabled="#{TrNotificacaoSB.entidade.notiCodigo == null}" actionListener="#{TrEnderecoSB.prepararAdicionar}" style="font-size: 10px" oncomplete="manEnd.show();" ajax="true" update="@([id$=manEnd])"/>
									
									<p:dataTable id="tabelaEnex" var="list" value="#{TrEnderecoSB.listEntityTabular}" style="font-size: 10px" rowKey="#{list.enexCodigo}" selectionMode="single">			
										<p:column headerText="Logradouro" style="width: 30%">#{list.enexTipoLogr} #{list.enexTituAbr} #{list.enexLogrnom}</p:column>
										<p:column headerText="Bairro" style="width: 20%">#{list.enexBairnom}</p:column>
										<p:column headerText="Cidade" style="width: 20%">#{list.enexCidade}</p:column>
										<p:column headerText="Estado" style="width: 15%">#{list.enexUf} - #{list.enexEstado}</p:column>			
										<p:column headerText="Ações" style="width: 15%"> <center>																					
											<p:commandButton value="Alterar"  action="#{TrEnderecoSB.prepararAlterar}" style="font-size:10px" oncomplete="manEnd.show();"  ajax="true" update="@([id$=manEnd])"/>												
											<p:commandButton value="Deletar" actionListener="#{TrEnderecoSB.deletar()}"	style="font-size:10px" update="tabelaEnex"/>
										</center>	
										</p:column>
									</p:dataTable>
								</td>
							</tr>
						</table>
					<hr />	
				</td>
				</tr> 										
				
				
					
												
			</table>				
			    																					
		</h:form>
					
		<p:dialog modal="true" dynamic="true" header="Endereco" widgetVar="manEnd" resizable="true" width="700" id="manEnd" prependId="false">
			<ui:include src="/cadastro/FrmTrEndereco.xhtml"></ui:include>																																								
		</p:dialog>			

</ui:composition>

Poste o código do ManagedBean, por favor.

package br.gov.es.dataci.transporte.managed;

import java.util.ArrayList;
import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.event.ActionEvent;
import javax.faces.model.DataModel;
import javax.faces.model.ListDataModel;
import javax.faces.bean.ViewScoped;

import br.gov.es.dataci.commons.validator.Validator;
import br.gov.es.dataci.commonsejb.entity.Entidade;
import br.gov.es.dataci.commonshibernate.commons.ServiceLocator;
import br.gov.es.dataci.commonshibernate.exception.ServiceException;
import br.gov.es.dataci.enderecamentounico.service.UetituService;
import br.gov.es.dataci.enderecamentounico.service.UetplgService;
import br.gov.es.dataci.transporte.abstrato.SessionBeanTabular;
import br.gov.es.dataci.transporte.commons.OpcaoMenuCadastro;
import br.gov.es.dataci.transporte.entidades.TrEnderecoExterno;
import br.gov.es.dataci.transporte.service.TrEnderecoExternoService;
import lombok.Getter;
import lombok.Setter;

@ManagedBean(name=“TrEnderecoSB”)
@ViewScoped
public class TrEnderecoSB extends SessionBeanTabular {

@Getter @Setter
@ManagedProperty(value = "#{TrNotificacaoSB}")
private TrNotificacaoSB trNotificacaoSB;
private Long notiCodigo= 0L, notiCodigoAux=0L;

public TrEnderecoSB() {
	super(TrEnderecoExterno.class);
}

@Override
public Class getServiceClass() {
    return TrEnderecoExternoService.class;
}

@Override
public String getSecurityFunction() {
    return "TR017";
}

@Override
public String getNomeFormulario() {
    return "ENDERECO";
}

/*#{detalhe.managedBean.getListEntityTabular}*/

public DataModel listTplgcod() throws ServiceException{
	UetplgService tplgServ = (UetplgService) ServiceLocator.getInstance().getService(UetplgService.class);
	return new ListDataModel(((UetplgService) tplgServ).listAll());
}

public DataModel listTituabr() throws ServiceException{
	UetituService tituServ = (UetituService) ServiceLocator.getInstance().getService(UetituService.class);
	return new ListDataModel(((UetituService) tituServ).listAll());
}

@Override
public TrEnderecoExterno getEntidade() {
	//System.out.println("enderecoexternosb entidade " + trDelegatarioSB + " | " + trNotificacaoSB);
	if (entidade == null) {
		entidade = (TrEnderecoExterno) Entidade.newInstance(TrEnderecoExterno.class);				
		entidade.setNotiCodigo(trNotificacaoSB.getEntidade());
	}
	
	return entidade;
}

@Override
public void prepararAdicionar(ActionEvent actionEvent) {
	System.out.println("preparar adicionar");
	super.prepararAdicionar(actionEvent);
}

@Override
public void prepararAlterar(ActionEvent actionEvent) {
	System.out.println("preparar alterar");
	super.prepararAlterar(actionEvent);
}

@Override
public String confirmar() throws ServiceException {
	System.out.println("confirmar " + notiCodigo + " " + notiCodigoAux);
	notiCodigoAux = 0L;
	return super.confirmar();
}

@Override
public String deletar() throws ServiceException {
	System.out.println("deletar");
	return super.deletar();
}

public String alterar(TrEnderecoExterno enex){		
	
	System.out.println("entidade " + entidade);
	setActiveIndex(OpcaoMenuCadastro.ALTERAR.getIndex());
	setActiveItem(OpcaoMenuCadastro.ALTERAR.getDescricao());
	
	entidade = enex;
	return "";
}
    

@Override
public DataModel getListEntityTabular() {
	try {					
		
		if(!trNotificacaoSB.isEntityNull() && trNotificacaoSB.getEntidade() != null && !Validator.isEmptyNullOrZero(trNotificacaoSB.getEntidade().getNotiCodigo())){
			notiCodigo = trNotificacaoSB.getEntidade().getNotiCodigo();
		}
		
		if ((!Validator.isEmptyNullOrZero(notiCodigo) && !notiCodigo.equals(notiCodigoAux))
				) {
			
			List<TrEnderecoExterno> list = consultaPadrao(null, null, notiCodigo.toString());
			listEntityTabular = new ListDataModel(list);
			//System.out.println("entrei no if " + list.size());
			/*if (list.size() == 1) {
            	entidade = (TrEnderecoExterno) list.get(0);
            }*/
		} else{
			listEntityTabular = new ListDataModel(new ArrayList());
		}
								
	} catch (Exception e) {
		e.printStackTrace();
	}
	
	notiCodigoAux = notiCodigo; //= trDelegatarioSB.getEntidade().getDeleCodigo();		
	
	return listEntityTabular;
}

}