[RESOLVIDO] Estoque Inicial e Final

Discussão em 'EMS , HCM e Totvs 11' iniciado por gideaonery, Agosto 4, 2013.

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

    gideaonery Sem Pontuação

    Pessoal,

    Preciso extrair os dados de Estoque para um TXT. Pelo CE0814 é listado o Estoque Inicial e Final de uma data informada. Preciso então listar no TXT esses dados, porém o estoque inicial e final não são gravados em nenhuma tabela.
    Estou tentando o seguinte:

    OUTPUT TO C:\TEMP\ESTOQUE.txt.

    DEF VAR d-qtd-ent AS DEC NO-UNDO.
    DEF VAR d-qtd-sai AS DEC NO-UNDO.
    DEF VAR d-qtd-atu AS DEC NO-UNDO.
    DEF VAR d-qtd-ini AS DEC NO-UNDO.
    DEF VAR d-qtd-fin AS DEC NO-UNDO.
    DEF VAR da-dt-ini AS DATE NO-UNDO.
    DEF VAR da-dt-fin AS DATE NO-UNDO.
    DEF VAR da-data AS DATE NO-UNDO.

    ASSIGN da-dt-ini = 07/01/13 NO-ERROR.
    ASSIGN da-dt-fin = 07/20/13 NO-ERROR.

    /* estoque atual ----------------------------------------------------------------- */
    FOR EACH saldo-estoq NO-LOCK
    WHERE saldo-estoq.it-codigo = "10"
    AND saldo-estoq.cod-estabel = "01":

    ASSIGN d-qtd-atu = d-qtd-atu + saldo-estoq.qtidade-atu NO-ERROR.
    END.
    /* ------------------------------------------------------------------------------- */

    ASSIGN d-qtd-fin = d-qtd-atu NO-ERROR.

    /* movimentacao de estoque -------------------------------------------------------- */
    FOR EACH movto-estoq NO-LOCK
    WHERE movto-estoq.dt-trans >= da-dt-ini
    AND movto-estoq.dt-trans <= da-dt-fin
    AND movto-estoq.it-codigo = "10"
    AND movto-estoq.cod-estabel = "01"
    BREAK BY movto-estoq.dt-trans DESC:

    IF movto-estoq.dt-trans < da-data THEN DO:

    ASSIGN d-qtd-fin = d-qtd-ini
    d-qtd-atu = d-qtd-fin
    d-qtd-ent = 0
    d-qtd-sai = 0.
    END.

    IF movto-estoq.tipo-trans = 1 THEN
    ASSIGN d-qtd-ent = d-qtd-ent + movto-estoq.quantidade NO-ERROR.
    ELSE
    ASSIGN d-qtd-sai = d-qtd-sai + movto-estoq.quantidade NO-ERROR.

    ASSIGN da-data = movto-estoq.dt-trans NO-ERROR.

    ASSIGN d-qtd-ini = ABS(d-qtd-ent - d-qtd-sai) + d-qtd-atu NO-ERROR.
    ASSIGN d-qtd-fin = d-qtd-atu NO-ERROR.

    /* --------------------------------------------------------------------------------- */

    EXPORT DELIMITER " ; "
    da-data
    d-qtd-ent
    d-qtd-sai
    d-qtd-ini
    d-qtd-fin

    SKIP.
    END.
    OUTPUT CLOSE.

    Alguém teria alguma sugestão para essa extração de dados?
Status do Tópico:
Não esta aberto para novas mensagens.

Compartilhe esta Página