eqapi300 + alocação de itens/lotes manual

Discussão em 'Progress 4GL' iniciado por lucasiam, Maio 8, 2012.

  1. lucasiam

    lucasiam Membro Participativo

    Estou gerando embarques no EMS 2.06 utilizando a eqapi300.

    Consegui gerar o embarque com sucesso, porém a API aloca ao embarque os lotes de itens de acordo com o padrão EMS (se não estou enganado, o sistema usa uma espécie de FIFO, alocando os lotes na ordem dos mais antigos para os mais novos).
    O meu problema é que eu preciso de alguma maneira passar para a API os lotes que eu quero que sejam alocados.

    Vi que na documentação existe uma temp-table chamada tt-aloc-man, porém não existe nenhuma orientação a respeito dos métodos que eu possa usar.

    Alguém já usou essa tabela com essa api?

    Obrigado!!!
  2. lucasiam

    lucasiam Membro Participativo

    Consegui resolver o problema da seguinte forma:
    - Após a criação do embarque, é necessário desalocar o que foi feito automaticamente. Usei o seguinte trecho de código pra fazer isso.

    Código:
        FOR EACH it-dep-fat
           WHERE it-dep-fat.nr-embarque = var-nr-embarque:
    
            EMPTY TEMP-TABLE tt-aloc-man.  
    
            CREATE tt-aloc-man.  
            ASSIGN tt-aloc-man.nr-embarque  = var-nr-embarque
                   tt-aloc-man.nr-resumo    = it-dep-fat.nr-resumo  
                   tt-aloc-man.nome-abrev   = it-dep-fat.nome-abrev
                   tt-aloc-man.nr-pedcli    = it-dep-fat.nr-pedcli
                   tt-aloc-man.nr-sequencia = it-dep-fat.nr-sequencia
                   tt-aloc-man.it-codigo    = it-dep-fat.it-codigo
                   tt-aloc-man.cod-estabel  = it-dep-fat.cod-estabel
                   tt-aloc-man.cod-depos    = it-dep-fat.cod-depos
                   tt-aloc-man.cod-localiz  = it-dep-fat.cod-localiz
                   tt-aloc-man.lote         = it-dep-fat.nr-serlote
                   tt-aloc-man.cod-refer    = it-dep-fat.cod-refer
                   tt-aloc-man.nr-entrega   = it-dep-fat.nr-entrega
                   tt-aloc-man.qt-a-alocar  = it-dep-fat.qt-alocada * -1 /* Necessário pra desalocar a quantidade */
                   tt-aloc-man.i-sequen     = 1.
        
            RUN pi-recebe-tt-aloc-man in h-ftapi300 (input table tt-aloc-man).
            RUN pi-trata-tt-aloc-man  in h-ftapi300 (input yes).
    
        END.
    
    Depois disso, basta realizar o mesmo procedimento, alocando os lotes e quantidades exatas conforme sua necessidade.

Compartilhe esta Página