PERGUNTAS E RESPOSTAS
 
Bem Vindo, Visitante  Todos os Fórums
  ADVPL
Enviar para a impressoraImprimir  Enviar e-mail para um amigoEnviar Para um Amigo
Precisa estar Logado

Subject Assunto:
RELATORIO TRPORT
Versão:
12.1.7
Plataforma:
Microsoft
Complemento:
DB:
SQL Server
Complemento:
RELMW.prw (anexo)
LinkedIn
Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário WILLIAN_CA WILLIAN_CA em 14/06/2018, 14:30 h
Local: SP  Registro: 30/04/2018  Postagens: 17
Estou tentando gerar um relatório pra acompanhar os contratos que estão no protheus e em um segundo sistema tenho acesso a segunda base fiz um linked server, fiz as devidas conexoes via advpl porem o prtheus acusa que o alias que criei pro banco externo é invalido mesmo quando uso cAlias alguem pode me ajudar

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário WILLIAN_CA WILLIAN_CA em 14/06/2018, 14:43 h
Local: SP  Registro: 30/04/2018  Postagens: 17
Segue o fonte com o codigo que eu fiz

Mensagem do Enviar e-mail Abrir o Perfil do usuário WALTERFCAR WALTERFCAR em 15/06/2018, 09:44 h
Local: CE  Registro: 14/10/2015  Postagens: 44
roda,desde que nas consultas vc coloque o caminho completo do server
ex: se criou um linked seerver chamado LS uma query n SB1 ficaria assim:

select * from [LS].dbo.SB1010


importante, testa no managment studio, usando o mesmo login q vc usa no protheus.

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário WILLIAN_CA WILLIAN_CA em 15/06/2018, 13:33 h
Local: SP  Registro: 30/04/2018  Postagens: 17
MAS APARENTEMENTE NÃO ESTOU COM PROBLEMAS NA QUERY MAS QUANDO CHAMA O ALIAS

DEFINE CELL NAME "MW_FILIAL" OF oSection1 TITLE "MW_FILIAL"               BLOCK{||MW->FILIAL}
          

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário VRTN VRTN em 15/06/2018, 14:53 h
Local: MG  Registro: 09/11/2009  Postagens: 175
Se o nome da célula é o mesmo do campo da query, até onde eu sei, o comando BLOCK é desnecessário.
Verifique no debug se você consegue acessar os valores do alias MW.



Everton Alves

Mensagem do Enviar e-mail Abrir o Perfil do usuário WALTERFCAR WALTERFCAR em 15/06/2018, 16:52 h
Local: CE  Registro: 14/10/2015  Postagens: 44
seria bom ver que erro dá, de toda maneira nao conheço esse campo

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário WILLIAN_CA WILLIAN_CA em 18/06/2018, 09:13 h
Local: SP  Registro: 30/04/2018  Postagens: 17
Esse campo é do banco externo o erro que me aparece é que o alias que estou usando não existe

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário JALBERTO JALBERTO em 18/06/2018, 11:46 h
Local: RS  Registro: 20/08/2009  Postagens: 156
Tem algumas coisas que estão erradas na tua conexão mas antes disso tens que ver se no DbAccess tu "enxerga" esse outro Banco pois se lá não estiver configurado então tu não poderá conectar via ADVPL, seguem as alterações no código que sugiro que faça.

// Cria uma conexão com um outro banco, outro DBAcces
// http://tdn.totvs.com/display/tec/TCLink
nHndOra := TcLink( cDbOra, cSrvOra, 7890 )

If nHndOra > 0
   
   // Seta a conexão com o novo banco
   // http://tdn.totvs.com/display/tec/TCSetConn
   TCSetConn( nHndOra )
   
   // Funções de impressão do relatório
   ...
   ...

   oSection1:print()
   oReport:Skipline()

Else
   Alert( "Não foi possível conectar no Banco Externo, verifique as permissões !"
EndIf

//Fecha a conexão com o MUNDI WARE
TcUnlink( nHndOra )

//Volta para conexão ERP
tcSetConn( nHndERP )


Jorge Alberto

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário EMERSON.EN EMERSON.EN em 18/06/2018, 11:56 h
Local: SP  Registro: 20/08/2010  Postagens: 424
veja esta linha:

          DEFINE CELL NAME "MW_FILIAL"               OF oSection1 TITLE "MW_FILIAL"               BLOCK{||(cAlias)->MW_FILIAL}

Note que vocÊ está usando (cAlias)->MW_FILIAL, porém o resultset em cAlias não contém o campo MW_FILIAL. Acredito que ali deveria ser (MW)->MW_FILIAL

Há possivelmente outras inconsistências quando se trata do resultset de cAlias: a existência dos campos NUM_TITULO ou CONTRATO dependem de uma condição, e a mesma condição não está sendo avaliada na impressão do relatório.

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário WILLIAN_CA WILLIAN_CA em 18/06/2018, 14:36 h
Local: SP  Registro: 30/04/2018  Postagens: 17
Estou com esse problema já testei meu linked server e está funcionando quando faço uma query pelo banco do protheus
esse é o erro que o protheus retorna

THREAD ERROR ([9656], User, DESKTOP)   18/06/2018 14:25:48
: Error : 7202 (37000) (RC=-1) - [Microsoft][SQL Server Native Client 11.0][SQL Server]Could not find server ‘192.168.0.185‘ in sys.servers. Verify that the correct server name was specified. If necessary, execute the stored procedure sp_addlinkedserver to add the server to sys.servers. ( From tMSSQLConnection::GetQueryFile )

Para postar no Fórum você precisa efetuar o seu login ou se registrar

 Mudar para Fórum

 

 

 
 
   
Pagina Principal Shopping PROTHEUS Tire suas duvidas Vagas Microsiga em todo Brasil Aprofunde seus conhecimentos Noticias Online Fale Conosco Pagina Principal