[RESOLVIDO] CPAPI001

Discussão em 'EMS , HCM e Totvs 11' iniciado por Rogerio, Dezembro 6, 2010.

Status do Tópico:
Não esta aberto para novas mensagens.
  1. Rogerio

    Rogerio Moderator Moderador Equipe de Suporte

    Eu já havia feito como você disse Eduardo mas está me retornando o seguinte ERRO:

    O Parametro identificador de temp-table tt-rep-prod não confere com a temp-table destino tt-rep-prod. (5363)


    Por isso eu gostaria das includes e do .r, para garantir que irá funcionar!!!

    Ou se alguem puder me enviar apenas as includes já ajudaria....
  2. eduardo.leite

    eduardo.leite Equipe de Suporte Moderador Equipe de Suporte

    Caro colega,

    Na sua rotina, vc está definindo as tt através da include CPAPI001.I ou manualmente?

    Pode enviar-me a include CPAPI001.I que está usando ou a rotina onde vocês está definindo as tt, bem como sua rotina CPAPI001.R para comparar qual o campo que está faltando na definição da tt.
  3. eduardo.leite

    eduardo.leite Equipe de Suporte Moderador Equipe de Suporte

    Rogério,

    Verifiquei as rotinas que você enviou-me e:

    01) A rotina padrão CPAPI001.R na definição da temp-table "tt-rep-prod" tem 2 campos definidos "dep-refugo" e "loc-refugo" que só são compilados de estiver definido como yes o pre-processor "bf_man_sfc_lc".

    02) Na include CPAPI001.I você irá visualizar que estas variáveis existem, porém elas estão dentro de um "&IF DEFINED" onde na compilação somente será considerado se o "bf_man_sfc_lc" estiver defini no arquivo "{cdp\cdcfgman.i}", neste caso você pode fazer 2 coisas para validar a informação aqui passada:

    a) No inicio da sua rotina coloque a include de definição do pre-processor:

    {cdp\cdcfgman.i}

    b) Na sua include CPAPI001.I (que não está criptografada) onde está:

    Código:
        /*** Deposito para material reciclavel 2.02 ***/
        &IF DEFINED (bf_man_sfc_lc) &THEN  
        field dep-refugo         like rep-prod.cod-depos
        field loc-refugo         like rep-prod.cod-localiz
        &ENDIF
    
    coloque assim:

    Código:
        /*** Deposito para material reciclavel 2.02 ***/
        field dep-refugo         like rep-prod.cod-depos
        field loc-refugo         like rep-prod.cod-localiz
    
    Desse jeito ele cria a definição do campo independente do pre-processor.

    A maneira mais correta é usar o item "a" por causa de migrações de versões, mas antes certifique-se que o seu arquivo CDP\CDCFGMAN.I é o padrão e não está em diretório específico, já vi clientes que tinha este arquivo no especificos e em migrações não funcionou, pois internamente nele é definido a versão do EMS (2.02, 2.04. 2.06, etc).

    Faça os testes acima e qualquer dúvida entre em contato.
  4. Rogerio

    Rogerio Moderator Moderador Equipe de Suporte

    Perfeito Eduardo muito obrigado.

    Qual das duas opções você acha melhor eu usar, já que pra mim as duas deram certo??? Apesar que a base de dados que estou fazendo esses testes não é a base do meu cliente oficial.
  5. eduardo.leite

    eduardo.leite Equipe de Suporte Moderador Equipe de Suporte

    Caro,

    Sugiro você usar o primeiro método, usando a include "cdp/cdcfgman.i" para evitar futuros problemas com atualizações, pois assim você pode simplesmente baixar a include cpapi001.i quando for modificado.

    Precisando estamos por aqui...
  6. rohis

    rohis Membro Ativo

    Oi! Também precisei de solução para o mesmo tipo de problema e resolvi com a postagem do Eduardo.
    Optei por definir na minha rotina o pre-processor {cdp\cdcfgman.i}.

    O erro deixou de ocorrer.

    Abs!
Status do Tópico:
Não esta aberto para novas mensagens.

Compartilhe esta Página