[RESOLVIDO] Criação de registro na Tabela Item do EMS206

Discussão em 'EMS , HCM e Totvs 11' iniciado por wsartorelli, Fevereiro 13, 2014.

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

    wsartorelli Membro Participativo

    Pessoal, estou criando registro na tabela item via programa customizado, ate ai tudo bem, o item é criado. Mas ao se pesquisar esse item no EN0507, aparece a mensagem de "Deseja atualizar os dados?", e não busca o item novo. Se eu entrar no CD0204 e regravar esse novo item, eu consigo usa-lo no EN0507. O que pode estar faltando? Já tentei de varias formas atualizar esse item, ja rodei o CD0204k e a api CDAPI344 e não funciona. Continua dando problema no EN0507. Aguardo ajuda.
    Obrigado.
  2. marco.luques

    marco.luques Membro Ativo

    Voce esta criando tambem o registro para o novo item na tabela item-uni-estab?
  3. marco.luques

    marco.luques Membro Ativo

    Quando voce acessa a tela cd0204 grava, aparece uma segunda janela para exportar os dados. essa tela atualiza a tabela item-uni-estab, que é usada na maior parte do sistema.

    voce deve criar o item nela tambem.
  4. wsartorelli

    wsartorelli Membro Participativo

    Segue o fonte onde eu faço a gravaçao do Item e de outras tabelas:

    FIND ITEM WHERE ITEM.it-codigo = b-es-item-de-para.it-codigo NO-LOCK NO-ERROR.
    IF NOT AVAIL ITEM THEN
    DO:
    CREATE ITEM.
    ASSIGN ITEM.it-codigo = b-es-item-de-para.it-codigo
    ITEM.desc-item = b-es-item-de-para.desc-item
    ITEM.ge-codigo = b-es-item-de-para.ge-codigo
    ITEM.fm-codigo = b-es-item-de-para.fm-codigo
    ITEM.un = b-es-item-de-para.un
    ITEM.cod-estabel = b-es-item-de-para.cod-estabel
    item.classif-abc = 3
    item.cod-obsoleto = 1.

    FIND FIRST familia WHERE familia.fm-codigo = item.fm-codigo NO-LOCK NO-ERROR.

    ASSIGN item.tipo-contr = 2
    item.tipo-con-est = familia.tipo-con-est
    item.politica = familia.politica
    item.ind-item-fat = NO.

    /***/

    FIND FIRST fam-uni-estab WHERE fam-uni-estab.fm-codigo = ITEM.fm-codigo
    AND fam-uni-estab.cod-estabel = ITEM.cod-estabel no-lock no-error.

    FIND estabelec WHERE estabelec.cod-estabel = fam-uni-estab.cod-estabel no-lock no-error.

    FIND FIRST LIN-PROD WHERE LIN-PROD.COD-ESTABEL = ESTABELEC.COD-ESTABEL NO-LOCK NO-ERROR.

    IF NOT CAN-FIND (item-uni-estab WHERE item-uni-estab.it-codigo = item.it-codigo
    AND item-uni-estab.cod-estabel = ITEM.cod-estabel) THEN
    DO:
    CREATE item-uni-estab.
    BUFFER-COPY ITEM EXCEPT char-1 char-2 to item-uni-estab
    ASSIGN item-uni-estab.cod-estabel = estabelec.cod-estabel
    item-uni-estab.deposito-pad = fam-uni-estab.deposito-pad
    item-uni-estab.cd-planejado = IF AVAIL lin-prod THEN lin-prod.cd-planejado
    ELSE ITEM.cd-planejado
    item-uni-estab.cod-localiz = fam-uni-estab.cod-localiz
    item-uni-estab.tp-ressup = if int(substr(item.char-1,10,1)) <> 0
    then int(substr(item.char-1,10,1))
    else 1
    item-uni-estab.qt-min-res-fabr = dec(substr(item.char-1,20,12))
    item-uni-estab.var-tempo-res-fabr = int(substr(item.char-1,15,4))
    item-uni-estab.var-qtd-res-fabr = dec(substr(item.char-1,35,12))
    item-uni-estab.nr-linha = fam-uni-estab.nr-linha
    item-uni-estab.int-1 = if item-uni-estab.cod-estabel = item.cod-estabel
    then 0
    else 1.

    IF AVAIL LIN-PROD THEN
    ASSIGN item-uni-estab.cd-planejado = lin-prod.cd-planejado.

    find item-man WHERE item-man.it-codigo = item.it-codigo no-lock no-error.
    if avail item-man then
    assign item-uni-estab.ind-lista-mrp = item-man.ind-lista-mrp.

    IF AVAIL item-uni-estab THEN
    DO:
    FIND item-mat WHERE item-mat.it-codigo = item-uni-estab.it-codigo no-lock no-error.

    IF AVAIL item-mat THEN
    DO:
    ASSIGN item-uni-estab.variacao-perm = item-mat.variacao-perm
    item-uni-estab.prioridade-aprov = if item-mat.prioridade-aprov < 1 then 1 else item-mat.prioridade-aprov
    item-uni-estab.deposito-cq = item-mat.deposito-cq
    item-uni-estab.cod-estab-gestor = item-mat.cod-estab-gestor
    item-uni-estab.altera-conta = item-mat.altera-conta
    item-uni-estab.cd-freq = item-mat.cd-freq
    item-uni-estab.cod-fat-ponder = item-mat.cod-fat-ponder
    item-uni-estab.cod-grp-compra = item-mat.cod-grp-compra
    item-uni-estab.crit-cc = item-mat.crit-cc
    item-uni-estab.crit-ce = item-mat.crit-ce
    item-uni-estab.data-ult-ressup = item-mat.data-ult-ressup
    item-uni-estab.ind-cons-prv = item-mat.ind-cons-prv
    item-uni-estab.lote-per-max = item-mat.lote-per-max
    item-uni-estab.ponto-encomenda = item-mat.ponto-encomenda
    item-uni-estab.tp-ressup = item-mat.tp-ressup
    item-uni-estab.var-qtd-re = item-mat.var-qtd-re
    item-uni-estab.var-val-re-maior = item-mat.var-val-re-maior
    item-uni-estab.var-val-re-menor = item-mat.var-val-re-menor
    item-uni-estab.dep-rej-cq = item-mat.dep-rej-cq
    item-uni-estab.lim-var-qtd = item-mat.lim-var-qtd
    item-uni-estab.lim-var-valor = item-mat.lim-var-valor.

    DO i-vetor-item-mat = 1 to 12:
    ASSIGN item-uni-estab.fator-ponder[i-vetor-item-mat] = item-mat.fator-ponder[i-vetor-item-mat].
    END.
    END.

    IF AVAIL fam-uni-estab then
    ASSIGN item-uni-estab.metodo-custeio = fam-uni-estab.metodo-custeio.
    END.
    END.
    END.
  5. wsartorelli

    wsartorelli Membro Participativo

    Pessoal consegui fazer a criaçao do item. Usei a API CDAPI344, foi tranquilo.
    Se precisarem, me avisar, que mando o exemplo.
    Obrigado.
    reissobr curtiu isso.
  6. AndersonP

    AndersonP Sem Pontuação

    Gostaria de receber se possível andersonbporto@yahoo.com.br
    Última edição: Setembro 1, 2014
Status do Tópico:
Não esta aberto para novas mensagens.

Compartilhe esta Página