1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

  2. Anuncie Aqui ! Entre em contato fdantas@4each.com.br

Variavel Código da Empresa

Discussão em 'Progress 4GL' iniciado por marcosoliv, Abril 26, 2018.

  1. marcosoliv

    marcosoliv Membro Participativo

    Pessoal, boa tarde,

    Alguém saberia informar se é possível redefinir a variável contendo o código da empresa associado no momento ao usuário logado para executar um processo (especifico) entre empresas e após concluído retornar o código da empresa original ?
  2. Sergio Gonçalves

    Sergio Gonçalves Sem Pontuação

    bom dia.

    Se você fizer isso provavelmente vai dar problema com muitas validações. Pois os bancos são conectados por empresa e envolvem muitas variaveis globais que já carregadas na conexão dos bancos.
    Sugiro desconectar os bancos da empresa X conectar os bancos da empresa Y e depois voltar.
    Recentemente em um trabalho de integração de dados via Appserver eu precisei conectar os bancos de acordo com o usuário que eu recebia, que poderia ser de empresa X ou Y. O agravante era que no appserver ja vinha conectado os bancos com a empresa de um usuario padrão, então eu precisava desconectar tudo e conectar os bancos da empresa do usuário.

    t+
  3. bootstrapmaster

    bootstrapmaster Moderator Moderador Equipe de Suporte

    Primeiro vc loga no sistema com o seu usuario usando o programa
    run btb/btapi910za.p(usuario,senha, output table tt-erros).

    e depois roda essa rotina ....

    o btbapi910za já faz as conexões de bancos e tal, vc só tem que estar com o emsfnd conectado.

    Código:
        find first fnd_usuar_univ exclusive-lock
             where fnd_usuar_univ.cod_usuario = v_cod_usuar_corren
                   no-error.
        if not avail fnd_usuar_univ then do:
            create fnd_usuar_univ.
            assign fnd_usuar_univ.cod_usuario = v_cod_usuar_corren.
        end.
    
        assign fnd_usuar_univ.cod_empresa = string(empresa)
               fnd_usuar_univ.cod_livre_1 = i-ep-codigo-usuario
               fnd_usuar_univ.log_livre_1 = yes
               fnd_usuar_univ.log_livre_2 = no.
    
        release fnd_usuar_univ.
        empty temp-table ttErrosConexao.
    
        run piEmpresa  in hSPContexto.
        run getTTErros in HSPContexto (output table ttErrosConexao).
        if can-find(first ttErrosConexao) then do:
            message substitute('Erro conexÆo empresa &1', empresa)
                view-as alert-box info buttons ok.
            return 'NOK'.
        end.
        return 'OK'.
    
  4. marcosoliv

    marcosoliv Membro Participativo

    Muito Obrigado pela dica.

Compartilhe esta Página