Forum
See question

Como alterar mapas que contenham tabelas temporárias?   

31 views
0
0

O mapa de sistema contém tabelas temporárias. Necessito de adaptar esse mapa, no entanto não consigo substituir a ligação a essa tabela. Como proceder?

Faça login para poder traduzir
Crystal Reports
Marked as spam
Criado há 4 anos e 1 dia martacampos-2
martacampos-2 Loyal Contributor
2 answers
0
Private answer

Bom dia.

Apesar de executar todos os passos mencionados, por exemplo, no mapa de extrato de artigo (custos), após adicionar a tabela INV_Movimentos com o link respetivo, obtenho sempre o erro em anexo.

E o Set Location mostra que está tudo na mesma instancia SQL.

Mais alguém teve este tipo de problemas?

Faça login para poder traduzir
Marked as spam
Criado há 3 anos e 7 meses ricardoclaro
r
ricardoclaro Iniciante
    Comments
    O refresh do mapa para a tabela temporária deve ser efetuado para uma tabela temporária exatamente com o mesmo nome que consta no report, previamente criada na tempdb. Neste caso a tabela tem de ter o nome e estrutura igual e com o nome: "##TempExtratoArtigo00".
    3 anos e 7 meses
    armandogonalves
      Obrigado Armando, mas isso já foi efetuado com o comando select * into [##TempExtratoArtigo00] from [dbo].[##TempExtratoArtigoUris2048P6568H469df665f5274bbfb9905af5e4f76a47olbzxGsQHWcA], conforme indicado no vosso exemplo no ponto 3. Testei os passos mais do que uma vez, não me tivesse falhado nada… 1. Suspensão da remoção de tabelas temporárias depois da impressão (Neste caso nem é preciso porque a tabela fica lá independentemente desta opção). No entanto, foi efetuado na mesma. 2. Pré-visualizar o mapa no Primavera para a criação da tabela temporária na tempdb. 3. Execução do comando select * into [##TempExtratoArtigo00] from [dbo].[##TempExtratoArtigoUris2048P6568H469df665f5274bbfb9905af5e4f76a47olbzxGsQHWcA] na base de dados tempdb 4. Fazer o set location para a base de dados tempdb e tabela ##TempExtratoArtigo00, que é a que está mencionada no report. Após isto, se imprimir, não há problema. O problema é quando se adiciona uma tabela, por exemplo a INV_Movimentos, que vem de outra datasource, pois a base de dados já não é a tempdb, e ligando as duas tabelas, passa a dar o erro enviado. Tenho o mesmo comportamento por exemplo no mapa de consulta de inventário, ligando à tabela Artigo. Quando se ligam duas datasources diferentes, passa a dar erro. Já li que não se deve fazer isso no Crystal (duas datasources diferentes), mas não vejo outra forma, pois uma é para a tempdb, outra para a bd Primavera.
      3 anos e 7 meses
      ricardoclaro
        0
        Private answer

        A tabela temporária tem que ficar disponível de forma permanente para que a consiga recolher no editor do Crystal.

        Para isso é necessário suspender a remoção das tabelas temporárias na opção Backstage | Utilizador | Impressão | Outras | Suspender remoção de tabelas temporárias depois da impressão. No fim de todos os passos deve voltar a inativar esta opção.

        (Picture1.png)

         

        Pré-visualizar o mapa a alterar para que a tabela temporária seja gerada.

        No Editor de SQL criar uma nova temporária (na base de dados tempdb) com o nome do alias usado no mapa.

        Por exemplo:

        select * into ##DescVias from [dbo].[##DescViasUXXXXXXXXXXP4020Hf1a720c5bbda4b18991579dd951b7aa6M42nqkHJqGnz1]

        Esta ação faz com que a tabela temporária fique criada na instância onde vai ser usada.

         

        Abrir o Crystal Reports e ir à opção “Definir Local da Fonte de dados” ou “Set Datasource Location”

        (Picture2.png)

         

        Criar a ligação à BD tempdb

        - Aquando do refresh ao mapa, quando solicitada o set datasourcelocation para a tabela temporária, deve apontar o set datasourcelocation para a base de dados tempdb e para a referida tabela;

        (Picture3.png)

         

        - Validar as propriedades na conexão à tabela temporária se está como no mapa por defeito. desta forma garantem o funcionamento do mapa.

        (Picture4.png)

         

        Agora que a tabela foi substituída já pode fazer as alterações necessárias e imprimir.

        Faça login para poder traduzir
        Marked as spam
        Criado há 3 anos e 11 meses maria
        maria Most Valuable Professional