2017-02-02 4 views
0

Ниже приведен SQL-запрос, который я написал для создания отчета, и он размещен на сервере, поэтому каждый день этот запрос выполняется. Но каждый месяц, когда дата 1-го автоматизированного отчета, пустая, когда мы получили автоматическую электронную почту из системы.Отчет о регистрации базы данных ORACLE

Пожалуйста, помогите мне разобраться с этой проблемой.

set serveroutput on 
clear screen 
set feedback off 
set verify off 
spool d:\STO_AC_HCIN.txt 
--spool /u14/manjula/STO_AC_HCIN.txt 
set pagesize 1500 
set linesize 150 
column ff NOPRINT NEW_VALUE CURR_date 
column gg NOPRINT NEW_VALUE CURR_time 
column InvDate    heading 'Inv_Date'   FORMAT date 
column Qty     heading 'Qty'     FORMAT 999999999 
select to_char(sysdate, 'DD-MON-YYYY') ff, 
to_char(sysdate, 'HH24:MI') gg 
from dual; 
TTITLE LEFT COL 25 'BILL CHECK STO AC HCIN '  skip 1 - 
     LEFT COL 25 'LOGIWIZ LIMITED-DLx/M WMS' skip 2 - 
    'Report Date : ' CURR_DATE skip 1 - 
    'Time : ' CURR_TIME skip 3 - 

select to_char(trunc(p.ext_date),'DD/MM/YYYY') InvDate, 
      count(distinct (substr(p.loc,1,12))) +7 Qty -- Exclude sublocations 
    from prodloc_snap p, 
     sku s 
    where p.prod_no=s.prod_no 
    and s.comp_code='HC' 
    and s.prod_fam='HCIN' 
    and substr(p.loc,1,3) in ('R04','R06') -- Include only the AC racks 
    and s.sku not like '%TEST%' 
    and to_char(trunc(p.ext_date),'MONYY') in 
      (select to_char(sysdate-1,'MONYY') from dual) 
    --and to_char(trunc(p.ext_date),'MONYY')in (select to_char(sysdate,'MONYY') from dual) 
    group by to_char(trunc(p.ext_date),'DD/MM/YYYY') 

repfooter skip 3 - 
left col 25 '********* End Of Report ***********' 

/

set feedback on 
spool off 
ttitle off 
repfooter off 

ответ

0

«каждый месяц, когда дата первые автоматизированы данные отчета пусты»

Не зная ваших бизнес-правила и данные, трудно для нас, чтобы решить эту проблему для вас. Но эта линия выглядит подозрительно:

and to_char(trunc(p.ext_date),'MONYY') in (select to_char(sysdate-1,'MONYY') from dual) 

На первом из месяца подзапрос вернет предыдущего месяца. Возможно, это так. Это зависит от цели ext_date. С другой стороны, у вашего опубликованного кода есть альтернативный фильтр (без -1), который прокомментирован. В первый месяц месяца, который вернет текущий месяц. Почему это прокомментировано? Похоже, что кто-то не совсем понял, что это за фильтр.

Так что это сводится к пониманию ваших данных и ваших деловых правил. Это не то, что мы можем решить для вас. Если вы не понимаете домен, вам нужно найти кого-нибудь в вашей организации, который это делает.

Смежные вопросы