[RESOLVIDO] Implantação de Emitente

Discussão em 'EMS , HCM e Totvs 11' iniciado por rosapamp, Junho 17, 2015.

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

    rosapamp Sem Pontuação

    Boa Noite!

    Poderiam me informar qual API ou BO posso utilizar para incluir emitente no ems2? Tem integração com ems5 também.

    Tenho que desenvolver um programa que faz integração com sistema legado aonde devo incluir emitente no datasul.
  2. pizzaia

    pizzaia Membro Participativo

    bom dia

    vou falar da minha experiência, talvez tenha outro caminho melhor, mas as BO´s é uma para cada tabela e eles também não validam muita coisa, por isso você tem que colocar a informação correta.

    boad098 emitente
    bodi102 local de entrega

    alteração do emitente
    assign r-chave = ROWID(emitente).

    empty temp-table tt-bo-erro.
    RUN validateupdate IN hDBOad098 (INPUT TABLE tt-emitente,
    INPUT r-chave,
    OUTPUT TABLE tt-bo-erro).

    /* não localizei o exemplo, mas para incluir seria o validateInsert */


    atualizar local de entrega
    assign r-chave-di102 = ROWID(loc-entr).

    RUN validateUpdate IN hDBOdi102 (INPUT TABLE tt-loc-entr
    , INPUT r-chave-di102
    , OUTPUT TABLE tt-bo-erro).


    atualizar ems5
    IF can-find(funcao where funcao.cd-funcao = "adm-cdc-ems-5.00"
    and funcao.ativo = YES
    and funcao.log-1 = YES ) then do:
    /*
    int iEmitIni,
    int iEmitFim,
    int iIdentific,
    boolean lAtualiza, ---> vai atualizar ?
    int iOperac, ---> tipo de operação 1=inclusão/alteracao 2=exclusao
    int iSequencia, ---> se diferente 0 então ioperacao = 1
    String cFilename, ---> nome arquivo
    String cCaminho, ---> arquivo não sabe,
    String cNome) ---> nao utilizado
    */
    run cdp/cd1608.p (input tt-emitente.cod-emitente,
    input tt-emitente.cod-emitente,
    input tt-emitente.identific,
    input YES,
    input 1,
    input 0,
    input "utb765zb.tmp",
    input "Arquivo":U,
    input "").

    end.

    enfim, precisa alterar a tabela emitente, local de entrega e mandar atualizar o ems5, possívelmente pode ter ficado alguma coisa para trás, se alguém souber pode complementar.

    espero que te ajude.
  3. bootstrapmaster

    bootstrapmaster Moderator Moderador Equipe de Suporte

    Pra esses casos, eu prefiro tomar outro caminho, dá uma olhada no programa CD1302, importação de clientes/Fornecedores, vc cria um arquivo .txt seguindo o layout dele e importa, eu fiz isso com cadastro de itens, eu recebo de um sistema de projetos de engenharia a relação dos itens que precisa criar em planilhas, eu fiz um programa que le as planilhas, gera os .txt e eu chamo o rp.p passando os parametros, funciona muito bem.

    No caso do cd1302 seria a mesma coisa, vc recebe a planilha ou arquivo do seu sistema legado, gera o .txt no formato que o cd1302 quer, descobre qual é a descrição do tt-param do cd1302 e chama direto o cd1302rp.p passando o que precisa, depois que retornar, basta vc fazer um find na tabela emitente pra saber se gerou ou não, esses importadores normalmente fazem tudo que precisa no sistema, sem esquecer tabelas.
    rlfritz curtiu isso.
  4. rosapamp

    rosapamp Sem Pontuação

    Bom Dia!

    Valeu pessoal vou testar os dois modos.
  5. pizzaia

    pizzaia Membro Participativo

    dá uma olhada no layout, pois nem todos os campos da tabela estão no layout do cd1302 (EMS2) e nem no layout de importação do cliente ASCII (ems5).

    até
Status do Tópico:
Não esta aberto para novas mensagens.

Compartilhe esta Página