1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. Anuncie Aqui
    Anuncie aqui você Também: fdantas@4each.com.br

[RESOLVIDO] Duvida

Discussão em 'EMS , HCM e Totvs 11' iniciado por kakaos, Outubro 17, 2011.

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

    kakaos Membro Participativo

    Boa tarde Pessoal,
    estou precisando fazer uma automatizacao e nao sei como fazer, seguinte preciso que sempre que for criado um item cd0204 uma informacao desta tela seja preenchida na tela cd0903, alguem pode me ajudar com isto?
    obrigado.
  2. Rogerio

    Rogerio Moderator Moderador Equipe de Suporte

    O que voce precisa que seja feito? Acredito que você precise customizar um programa na Trigger da tabela ou uma UPC no CD0204...
  3. kakaos

    kakaos Membro Participativo

    ola Rogerio... muito obrigado pela ajuda..
    entao.. preciso que sempre que seja criado um item, o campo cod-ean da tela cd0903 seja preenchido pela informacao gravada no campo inform-compl da tela cd0204...
    ate tentei fazer uma triger na tabela mais nao deu nada, dai nao sei se fiz algo errado.. veja:

    DEF PARAM BUFFER b-cod-ean FOR ITEM-mat.
    DEF PARAM BUFFER b-old-b-cod-ean FOR ITEM-mat.

    IF NEW(b-cod-ean) THEN DO:
    FIND FIRST item-mat
    WHERE item-mat.it-codigo = b-cod-ean.it-codigo NO-LOCK NO-ERROR.

    IF AVAIL ITEM THEN
    ASSIGN b-cod-ean.cod-ean = item.inform-compl.
    END.

    RETURN "OK":U.
  4. Rogerio

    Rogerio Moderator Moderador Equipe de Suporte

    Tenta colocar esse programa na trigger da tabela item.

    Código:
    DEF PARAM BUFFER b-cod-ean FOR ITEM.
    DEF PARAM BUFFER b-old-b-cod-ean FOR ITEM.
    
    IF NEW(b-cod-ean) THEN DO:
    FIND FIRST item
    WHERE item.it-codigo = b-cod-ean.it-codigo NO-LOCK NO-ERROR.
    
    IF AVAIL ITEM THEN
    ASSIGN b-cod-ean.cod-ean = item.inform-compl.
    END.
    
    RETURN "OK":U.
  5. LFBuozi

    LFBuozi Membro Participativo

    Eu tive que fazer exatamente este processo, mas eu tenho outras validações na UPC que me obrigaram a fazer este processo na UPC e não me deixaram fazer na trigger.
    Na trigger fica melhor, mas, se precisar, aí está na UPC.

    UPC CD0204
    Código:
    if p-ind-event = "after-end-update" AND
       p-ind-object = "VIEWER" then 
    DO:
        FIND ITEM WHERE ROWID(ITEM) = p-row-table NO-LOCK NO-ERROR.
        IF AVAIL ITEM THEN 
        DO:
            /*--- 01 - Copia codigo complementar da tabela item para codigo ean da tabela item-mat ---*/
            FIND FIRST item-mat WHERE item-mat.it-codigo = ITEM.it-codigo 
                                  AND item-mat.cod-ean <> item.codigo-refer NO-ERROR.
            IF AVAIL item-mat THEN DO:
                ASSIGN item-mat.cod-ean = ITEM.codigo-refer.
            END.
            /*--- /01 ---*/
        END.
    END.
    
    UPC CD0903
    Código:
    if p-ind-event = "after-end-update" AND
       p-ind-object = "VIEWER" then DO:
        FIND item WHERE ROWID(item) = p-row-table NO-LOCK NO-ERROR.
        IF AVAIL item THEN DO:
            /*--- Copia codigo ean da tabela item-mat para codigo complementar da tabela item ---*/
            FIND FIRST item-mat WHERE item.it-codigo = item-mat.it-codigo
                              AND ITEM.codigo-refer <> item-mat.cod-ean NO-ERROR.
            IF AVAIL item-mat THEN DO:
                ASSIGN item.codigo-refer = item-mat.cod-ean.
            END.
            /*--- /01 ---*/
        END.
    END.
    
  6. kakaos

    kakaos Membro Participativo

    Rogerio,
    nao deveria colocar a tabela item-mat que refere a tela cd0903 onde existe o campo cod-ean? coloqeui do jeito que voce descreveu e qndo compilei deu o erro:
    ** Unknown Field or Variable name - cod-ean. (201)
    ....
    obrigado novamente pela atencao.
Status do Tópico:
Não esta aberto para novas mensagens.

Compartilhe esta Página