quarta-feira, 27 de novembro de 2013

SQL Consulta Pedido de Compras ( Datasul )


Select ap.cod_usuar as "Aprov"
      , oc.cod_estabel as "Est"
      , oc.data_pedido as "DTPedido"
      , Substr(ap.chave_doc,1,5) as "Pedido"
      , oc.cod_emitente as "Fornec"
      , em.nome_emit as "Nome da Empresa"
      , oc.it_codigo as "Item"
      , it.desc_item as "Descricao do Item"
      , it.un as "Un"
      , oc.qt_solic as "Qtde"
      , To_Char((oc.preco_fornec),'999G999G999G990D00') as "Vlr Fornec"
      , To_Char((oc.valor_descto),'999G999G999G990D00') as "Vlr Desc"
      , To_Char((ap.valor_doc),'999G999G999G990D00') as "Total Pedido"
      , it.data_ult_ent as "Ult.Entrada"
      , it.data_ult_sai as "Ult.Saida"
      , it.preco_ul_ent as "Vlr Ult.Entrada"
      , Sum( s.qtidade_atu - s.qt_alocada - s.qt_aloc_prod - s.qt_aloc_ped ) as "Saldo Estoque"
  From (Select Distinct Substr(ap.chave_doc,1,5) as chave_doc, ap.cod_usuar, ap.dt_aprova, ap.it_codigo
                      , ap.ep_codigo, ap.cod_tip_doc, ap.dt_rejeita, ap.valor_doc, ap.cod_estabel
             From MAL200PORO9P100AED.aed_doc_pend_aprov2 ap
              where 0 = 0
                And ap.dt_aprova is null
                And ap.dt_rejeita is null
                And ap.cod_tip_doc = '6' ) ap
      ,(Select Distinct oc.num_pedido, oc.it_codigo, oc.preco_fornec, oc.valor_descto, oc.cod_emitente
                      , oc.data_pedido, oc.ep_codigo, oc.cod_estabel, oc.qt_solic
             From EMS204PORO8P932MIND.Ordem_Compra oc
              Where 0 = 0
                And oc.cod_estabel <> '901'
                And oc.cod_estabel <> '601' ) oc
      , EMS204PORO8P932ADM.Emitente em
      ,(Select Distinct it.it_codigo, it.desc_item, it.un, it.data_ult_ent, it.data_ult_sai, it.preco_ul_ent, it.cod_estabel
               From EMS204PORO8P932IND.Item it
                Where 0 = 0
                  And it.cod_estabel <> '901'
                  And it.cod_estabel <> '601'
                  And it.cod_obsoleto = '1') it
      ,(Select Distinct s.cod_estabel, s.it_codigo, s.qtidade_atu, s.qt_alocada, s.qt_aloc_prod, s.qt_aloc_ped
             From EMS204PORO8P932MIND.saldo_estoq s
               Where 0 = 0
                 And s.cod_estabel <> '901'
                 And s.cod_estabel <> '601') s
  Where 0=0
    And Substr(ap.chave_doc,1,5) = oc.num_pedido
    And ap.it_codigo = oc.it_codigo
    And ap.ep_codigo = oc.ep_codigo
    And ap.cod_estabel = oc.cod_estabel
   
    And oc.cod_emitente = em.cod_emitente
    And oc.it_codigo = it.it_codigo

    And s.cod_estabel = oc.cod_estabel
    And s.it_codigo = oc.it_codigo
   
    And oc.cod_estabel = &< Name = "Empresa"
                           Hint = "Estabelecimento Atual (Developed by IT-Unialco)"
                           Type = "String"
                        Default = "101"
                        Ifempty = "Empresa"
                           List = "101,102,301,401,501,701">
 
    And oc.data_pedido >= &< Name = "Data Inicial"
                           Hint = "Mes Anterior (Developed by IT-Unialco)"
                           Type = "string"
                        Default = "select trunc(trunc(sysdate,'MM')-1,'MM') Last_Month from dual"
                        Ifempty = "select trunc(trunc(sysdate,'MM')-1,'MM') Last_Month from dual"
                           List = "select trunc(trunc(sysdate,'MM')-1,'MM') Last_Month from dual">
                             
    And oc.data_pedido <= &< Name = "Data Final"
                           Hint = "Mes Atual (Developed by IT-Unialco)"
                           Type = "String"
                        Default = "Select To_Date(Sysdate,'DD/MM/YYYY') From Dual"
                        Ifempty = "DataInicial"
                           List = "Select To_Date(Sysdate,'DD/MM/YYYY') From Dual">
                         
    And Substr(ap.chave_doc,1,5) = Decode('&Pedido',NULL,oc.num_pedido,'&Pedido')
    And ap.it_codigo = Decode('&Item',NULL,ap.it_codigo,'&Item')
    And ap.cod_usuar = Decode('&Aprovador',NULL,ap.cod_usuar,'&Aprovador')

Group By ap.cod_usuar
      , oc.cod_estabel
      , oc.data_pedido
      , Substr(ap.chave_doc,1,5)
      , oc.cod_emitente
      , em.nome_emit
      , oc.it_codigo
      , it.desc_item
      , it.un
      , oc.qt_solic
      , oc.preco_fornec
      , oc.valor_descto
      , ap.valor_doc
      , it.data_ult_ent
      , it.data_ult_sai
      , it.preco_ul_ent
Order By 2,3

Nenhum comentário:

Postar um comentário