sexta-feira, 29 de novembro de 2013

Programa para Emissão de Listagem de Ordens de Compra ( Datasul )


DEFINE VARIABLE c-sit AS CHAR EXTENT 6 INITIAL ["nao confirmanda","confirmada","cotada","eliminada","em cotacao","terminada"]NO-UNDO.
DEFINE VARIABLE c-nome-arq      AS CHAR FORMAT "X(60)" INITIAL "c:\temp\movto-compras.csv"  LABEL "Arquivo" NO-UNDO.
DEFINE VARIABLE d-data-ini      AS DATE FORMAT "99/99/9999"  LABEL "Data Inicial" NO-UNDO.  
DEFINE VARIABLE d-data-fim      AS DATE FORMAT "99/99/9999"  LABEL "Data Final" NO-UNDO.  

MESSAGE "                                   PRESSIONE <F2> PARA EXECUTAR...".

UPDATE  c-nome-arq SKIP
        d-data-ini SKIP    
        d-data-fim SKIP (1)
    
        WITH SIDE-LABELS 01 COL.
        
DEFINE STREAM s-saida.

OUTPUT STREAM s-saida TO VALUE (c-nome-arq) NO-CONVERT.

EXPORT  STREAM s-saida DELIMITER ";"
    "Estab"
    "Dt Emissao"
    "Pedido"
    "Num Ordem"
    "Contrato"
    "Emitente"
    "Cod Item"
    "Descricao"
    "Un"
    "Qtde Solicitada"
    "Qtde Recebida"
    "Saldo Qtde a Receber"
    "Preco unit"
    "Saldo Valor a Receber".

FIND FIRST param-global NO-LOCK NO-ERROR.

for each mg.ordem-compra no-lock
         WHERE  mg.ordem-compra.situacao = 2,
    each mg.item no-lock
         where mg.item.it-codigo = mg.ordem-compra.it-codigo /* AND
               mg.ITEM.ge-codigo = 13 */:
         IF  mg.ordem-compra.nr-contrato <> 0 THEN NEXT.

    
    EXPORT  STREAM s-saida DELIMITER ";"
            mg.ordem-compra.cod-estabel   
            mg.ordem-compra.data-emissao
            mg.ordem-compra.num-pedido
            mg.ordem-compra.numero-ordem
            mg.ordem-compra.nr-contrato
            mg.ordem-compra.cod-emitente
            mg.ordem-compra.it-codigo
            mg.item.desc-item 
            mg.ITEM.un
            mg.ordem-compra.qt-solic
            mg.ordem-compra.qt-acum-rec
           (mg.ordem-compra.qt-solic -  mg.ordem-compra.qt-acum-rec)
            mg.ordem-compra.preco-unit
           (mg.ordem-compra.qt-solic -  mg.ordem-compra.qt-acum-rec)*  ordem-compra.preco-unit.
           
            
END.

OUTPUT STREAM s-saida CLOSE.

MESSAGE "PROCESSAMENTO CONCLUIDO!"
    VIEW-AS ALERT-BOX INFO BUTTONS OK.

Nenhum comentário:

Postar um comentário