Bom Dia Pessoal! Olha, estou com o seguinte problema, tenho uma tabela a pr-it-per, nessa tabela, aparecem varios registros do mesmo código e mesmo estabelecimento, porem eu preciso saber se é possivel eu criar uma rotina que me mostre o ultimo registro de cada código e se tiver 2 estabelecimentos para esse código me mostre também o ultimo registro de cada estabelecimento. É possivel isso? Alguem sabe me responder? Obrigado!!
Olá turks.. por um acaso vc nao pode citar a chave desta tabela? ou se vc puder simular um exemplo de dados... quem sabe posso te ajudar com a logica.. como sempre digo aqui na empresa, nada que um for each sem no-lock na tabela de mercadorias, com um delete depois nao resolva =P ... hehehehe
Marcos, primeiramente, obrigado pelo retorno. Na verdade o que estou tentando fazer é o seguinte: - For each na Tabela item. - Alguns Find, inclusive na tabela pr-it-per, pois preciso calcular o preço médio, porem na tabela pr-it-per tem vários registros do mesmo item, com valores diferentes. - Na verdade eu preciso que apareça o ultimo registro de cada estabel e de cada código, pois o ultimo registro contem o valor preço base. A Lógica que eu fiz é a seguinte: Código: FOR EACH item NO-LOCK WHERE item.it-codigo >= c-ini-codigo AND item.it-codigo <= c-fim-codigo: run pi-acompanhar in h-acomp ('Itens: ' + STRING(ITEM.it-codigo)). FIND FIRST item-uni-estab NO-LOCK WHERE item-uni-estab.it-codigo = ITEM.it-codigo NO-ERROR. FIND FIRST familia NO-LOCK WHERE familia.fm-codigo = item.fm-codigo NO-ERROR. FIND LAST pr-it-per NO-LOCK WHERE pr-it-per.it-codigo = ITEM.it-codigo NO-ERROR. FIND FIRST preco-item NO-LOCK WHERE preco-item.it-codigo = ITEM.it-codigo NO-ERROR. ASSIGN CF = IF item.compr-fabric = 1 THEN "Comprado" ELSE "Fabricado". IF AVAIL pr-it-per THEN ASSIGN preco-medio = pr-it-per.val-unit-ggf-m[1] + pr-it-per.val-unit-mat-m[1] + pr-it-per.val-unit-mob-m[1]. PUT STREAM str-rp ITEM.it-codigo ";" item.desc-item ";" ITEM.cod-estabel ";" item.fm-codigo ";" familia.descricao ";" ITEM.un ";" CF /* <--- Comprado ou Fabricado */ ";" item-uni-estab.preco-base ";" item-uni-estab.data-base ";" item.preco-repos ";" item.data-ult-rep ";" item.preco-ul-ent ";" item.data-ult-ent ";" IF AVAIL preco-item THEN preco-item.preco-venda ELSE 0 ";" preco-medio ";" item.preco-fiscal ";" item.class-fiscal ";" item.aliquota-ipi SKIP. END.