Pessoal, Estou com dificuldade no programa abaixo, os itens estão em dois depósitos, quando efetua o put no csv, o item imprime duas vezes devido aos depositos diferentes. Como ficaria o código abaixo, acumulando as quantidades em estoque dos depositos e mostrando apenas o total ? output to 'C:\temp\Necessidade de Materiais.csv'. put 'ITEM;DESCRICAO;FAMILIA;MEDIA;FORNECEDOR;PRECO;ESTOQUE;DIAS ESTOQ;NECESSIDADE;PRECO TOTAL' skip. d-dias as decimal. d-comprar as decimal. for each item where item.cod-estabel = '200' and item.fm-codigo = '010' or item.fm-codigo = '070' or item.fm-codigo = '1000' or item.fm-codigo = '1010' no-lock: for each saldo-estoq where saldo-estoq.it-codigo = item.it-codigo and saldo-estoq.cod-localiz = '' no-lock: d-dias = 0. d-comprar = 0. d-dias = saldo-estoq.qtidade-atu / ( item.quant-segur / 30 ). d-comprar = ( 2 * item.quant-segur ) - saldo-estoq.qtidade-atu. put unformat item.it-codigo ';' item.desc-item ';' item.fm-codigo ';' item.quant-segur ';' ';' ';' saldo-estoq.qtidade-atu ';' d-comprar ';' ';' skip. end. end.
Bom dia. Tente alterar sua busca conforme abaixo. Observe que você tem and e or ao mesmo tempo, com isso a seleção não é respeitada para o codigo do estabelecimento. for each item where item.cod-estabel = '200' and (item.fm-codigo = '010' or item.fm-codigo = '070' or item.fm-codigo = '1000' or item.fm-codigo = '1010') no-lock: Espero ter ajudado
def temp-table tt-estoque no-undo field tt-item as char field tt-desc-item as char field tt-fm-codigo as char field tt-qt-seg as deci field tt-qt-estoque as deci field tt-qt-compra as deci. for each item where item.cod-estabel = '200' and item.fm-codigo = '010' or item.fm-codigo = '070' or item.fm-codigo = '1000' or item.fm-codigo = '1010' no-lock: for each saldo-estoq where saldo-estoq.it-codigo = item.it-codigo and saldo-estoq.cod-localiz = '' no-lock: find first tt-estoque where tt-estoque.tt-item = saldo-estoq.it-codigo no-error. if not avail tt-estoque then do: create tt-estoque. assign tt-estoque.tt-item = item.it-codigo tt-estoque.tt-desc-item = item.desc-item tt-estoque.tt-fm-codigo = item.fm-codigo tt-estoque.tt-qt-seg = item.quant-segur tt-estoque.tt-qt-estoque = saldo-estoq.qtidade-atu. end. else do: assign tt-estoque.tt-qt-estoque = tt-estoque.tt-qt-estoque + saldo-estoq.qtidade-atu. end. end. end. for each tt-estoque: d-dias = 0. d-comprar = 0. d-dias = tt-estoque.tt-qt-estoque / (tt-estoque.tt-qt-seg / 30 ). d-comprar = ( 2 * tt-estoque.tt-qt-seg ) - tt-estoque.tt-qt-estoque. put unformat tt-estoque.tt-item ';' tt-estoque.tt-desc-item ';' tt-estoque.tt-fm-codigo ';' tt-estoque.tt-qt-seg ';' ';' ';' tt-estoque.tt-qt-estoque';' d-comprar ';' ';' skip. end. espero ter ajudado.