P:commandButton Não executa na primeira vez

Pessoal, tenho uma tela com um botão que executa um metodo.
Acontece que na primeira vez que clico não executa o action ele atualiza a tela perde as informações ja informadas ai na segunda vez que clico chama o action certinho.
Ja coloquei o ajax=false e também tentei com o immediate=true mas continha não executando na primeira vez que clico.
Estou usando a ultima versao do PrimeFaces
Não sei mais o que tentar, por isso estou pedindo ajuda aqui… porque o problema persiste.
Obrigado.

<p:commandButton id="chave2"
value=“Filtrar"
action=”#{receitaBackTrans.processaReceita()}"
styleClass="inputsForms"
ajax=“false”>
</p:commandButton>

posta ai pra gente seu código e o xhtml

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<ui:composition xmlns="http://www.w3.org/1999/xhtml"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:f="http://java.sun.com/jsf/core"

                xmlns:p="http://primefaces.org/ui"
                template="templateLayout.xhtml">
    <ui:define name="content">
    <h:head>  
	<title></title>
    </h:head>  
    
    <h:body>    

        <f:view>
            <link href="#{facesContext.externalContext.requestContextPath}/styles.css" rel="stylesheet" type="text/css"/>
            <script language="JavaScript" src="javaScript.js" charset="utf-8"></script>             
            <meta name="robots" content="noindex,follow"/> 
            
            <p:ajaxStatus onstart="statusDialog.show();" onsuccess="statusDialog.hide();"/> 
            <p:dialog modal="true" widgetVar="statusDialog" header="Carregando.."    
                      draggable="false" closable="false">  
                <div align="center">
                     <p:graphicImage value="Imagens/Aguarde.gif" />  
                </div>     
            </p:dialog>            
           

            <br/><br/>
            <h:form id="formReceitaTrans" >  
                
                <br/> <br/>
                <div align="left">
                      
                   
                    
                    <h:panelGrid id="panelGridReceita1" columns="1" width="auto">
                        <p:panel id="panelGridReceita2" header="" footer="" styleClass="inputsForms">                            
                            <f:facet name="header">
                                <h:panelGroup>
                                    <h:outputText value="Receita - Filtro"></h:outputText>
                                </h:panelGroup>
                            </f:facet>

                            <h:form id="xxx">                         


                                <h:outputText id="xxx2" value="Data Inicial" styleClass="labelsForms"/> <br/>
                                <p:calendar id="dataInicial"                                         
                                            value="#{receitaBackTrans.dataInicial}"
                                            immediate="true"                                                
                                            required="true"
                                            requiredMessage="Informe a Data Inicial"
                                            pattern="dd/MM/yyyy"
                                            locale="pt_BR"                                                                                
                                            />                             
                               
                                                             

                                <br/>
                                <h:outputText id="xxx5" value="Data Final" styleClass="labelsForms"/> <br/>
                                <p:calendar id="dataFinal"                                           
                                            value="#{receitaBackTrans.dataFinal}"
                                            immediate="true"                                                   
                                            required="true"
                                            requiredMessage="Informe a Data Final"
                                            pattern="dd/MM/yyyy"
                                            locale="pt_BR"
                                            />


                                <br/>

                                <!--ORGAO-->
                                <h:outputText id="orgao2" value="Órgão" styleClass="labelsForms"/> <br/>
                                <h:selectOneMenu id="orgao1"
                                                 value="#{receitaBackTrans.codOrgao}"
                                                 rendered="true"
                                                 required="true"
                                                 requiredMessage="Informe o Órgão">
                                    <f:selectItems value="#{orgaoBackTrans.nomesOrgaos}"/>                                 
                                </h:selectOneMenu> <br/>
                                <h:message id="orgxxx"  for="orgao1" styleClass="erroValidacao"/> <br/>



                                                    
                                
                                
                                <p:commandButton id="chave2"
                                                 value="Filtrar"
                                                 action="#{receitaBackTrans.processaReceita()}"
                                                 styleClass="inputsForms"                                              
                                                 ajax="false"  
                                                 
                                                 >
                                </p:commandButton>

                            </h:form>


                        </p:panel>

                    </h:panelGrid>

                </div>
                <br/>


                
                
                <p:panel id="panelGridReceita" header="" footer="">    

                    <f:facet name="header">
                        <h:panelGroup>
                            <h:outputText value="Receita"></h:outputText>
                        </h:panelGroup>
                    </f:facet>

                    <p:dataTable var="receita" 
                                 value="#{receitaBackTrans.receitaList}"
                                 emptyMessage="Registros não carregados.">  
                        
                        <p:column headerText="Ficha">                              
                               <h:outputText value="#{receita.ficha}"/>                              
                        </p:column>  
                        
                        <p:column headerText="Órgão">                             
                            <h:outputText value="#{receita.orgao}" />
                        </p:column> 
                        
                        <p:column headerText="Categoria">                             
                            <h:outputText value="#{receita.categoria}" />
                        </p:column>           

                        <p:column headerText="Valor">  
                            <div align="right">
                               <h:outputText value="#{receita.valorLancado}" />
                            </div>    
                        </p:column>  
        
                    </p:dataTable>                     




                </p:panel>   



            </h:form>  




        </f:view>
        
    </h:body>  

    </ui:define>
</ui:composition>


--------------------------------------------------------

   public void processaReceita() throws Exception {
        int codEnt = 1;

        //pego o parametro do nome do arquivo
        DateFormat df = new SimpleDateFormat("yyyy/MM/dd");
        String dataIn = df.format(getDataInicial().getTime());
        String dataFn = df.format(getDataFinal().getTime());

        String sql =
                "SELECT "
                 ..........



        if ((codOrgao != null) && (!codOrgao.equals("")) && (!codOrgao.equals("0"))) {
            sql = sql
                    + " AND PCREC_RECORGAO = " + codOrgao
                    + " AND LREC_DATA BETWEEN '" + dataIn + "' AND '" + dataFn + "'";
        } else {
            sql = sql
                    + " AND P.PCREC_IDENT IS NULL ";
        }


        if ((codCategoria != null) && (!codCategoria.equals("")) && (!codCategoria.equals("0"))) {
            sql = sql
                    + " AND P.PCREC_RECCATECONOMICA = " + codCategoria;
        }


        Connection conexao = ConnectionFactory.getConnection();
        PreparedStatement stmt = conexao.prepareStatement(sql);


        try {
            this.receitaList = gerarLista(stmt);
        } catch (Exception e) {
            throw new Exception("Erro ao executar query. " + e.getMessage());
        } finally {
            ConnectionFactory.closeConnection(conexao, stmt);
        }
    }