reduce the redundancy in this SQL sample
603043Oct 12 2007 — edited Oct 13 2007I am trying to find out how I can reduce the redundancy of the code in this sample SQL Select stmt. We use the Actuate report writer. It will onlu pass the Select command so I do not have access to any PLSQL command other than Select. Thanks
SELECT
/* Mtons of coils processed each day on shift C */
(sum( case when 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_WIP.WEIGHT_IN /
1000 else 0 end )) As mtons_run_shiftC,
(sum( case when '01' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.WEIGHT_IN /
1000 else 0 end )) As mtons01_shiftC,
(sum( case when '02' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.WEIGHT_IN /
1000 else 0 end )) As mtons02_shiftC,
(sum( case when '03' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.WEIGHT_IN /
1000 else 0 end )) As mtons03_shiftC,
(sum( case when '04' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.WEIGHT_IN /
1000 else 0 end )) As mtons04_shiftC,
(sum( case when '05' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.WEIGHT_IN /
1000 else 0 end )) As mtons05_shiftC,
(sum( case when '06' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.WEIGHT_IN /
1000 else 0 end )) As mtons06_shiftC,
(sum( case when '07' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.WEIGHT_IN /
1000 else 0 end )) As mtons07_shiftC,
(sum( case when '08' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.WEIGHT_IN /
1000 else 0 end )) As mtons08_shiftC,
(sum( case when '09' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.WEIGHT_IN /
1000 else 0 end )) As mtons09_shiftC,
(sum( case when '10' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.WEIGHT_IN /
1000 else 0 end )) As mtons10_shiftC,
(sum( case when '11' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.WEIGHT_IN /
1000 else 0 end )) As mtons11_shiftC,
(sum( case when '12' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.WEIGHT_IN /
1000 else 0 end )) As mtons12_shiftC,
(sum( case when '13' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.WEIGHT_IN /
1000 else 0 end )) As mtons13_shiftC,
(sum( case when '14' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.WEIGHT_IN /
1000 else 0 end )) As mtons14_shiftC,
(sum( case when '15' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.WEIGHT_IN /
1000 else 0 end )) As mtons15_shiftC,
(sum( case when '16' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.WEIGHT_IN /
1000 else 0 end )) As mtons16_shiftC,
(sum( case when '17' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.WEIGHT_IN /
1000 else 0 end )) As mtons17_shiftC,
(sum( case when '18' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.WEIGHT_IN /
1000 else 0 end )) As mtons18_shiftC,
(sum( case when '19' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.WEIGHT_IN /
1000 else 0 end )) As mtons19_shiftC,
(sum( case when '20' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.WEIGHT_IN /
1000 else 0 end )) As mtons20_shiftC,
(sum( case when '21' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.WEIGHT_IN /
1000 else 0 end )) As mtons21_shiftC,
(sum( case when '22' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.WEIGHT_IN /
1000 else 0 end )) As mtons22_shiftC,
(sum( case when '23' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.WEIGHT_IN /
1000 else 0 end )) As mtons23_shiftC,
(sum( case when '24' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.WEIGHT_IN /
1000 else 0 end )) As mtons24_shiftC,
(sum( case when '25' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.WEIGHT_IN /
1000 else 0 end )) As mtons25_shiftC,
(sum( case when '26' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.WEIGHT_IN /
1000 else 0 end )) As mtons26_shiftC,
(sum( case when '27' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.WEIGHT_IN /
1000 else 0 end )) As mtons27_shiftC,
(sum( case when '28' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.WEIGHT_IN /
1000 else 0 end )) As mtons28_shiftC,
(sum( case when '29' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and '29' <= to_char((last_day(DA.ST_PRODTX_WIP.END_DATE)), 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.WEIGHT_IN /
1000 else 0 end )) As mtons29_shiftC,
(sum( case when '30' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and '30' <= to_char((last_day(DA.ST_PRODTX_WIP.END_DATE)), 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.WEIGHT_IN /
1000 else 0 end )) As mtons30_shiftC,
(sum( case when '31' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and '31' <= to_char((last_day(DA.ST_PRODTX_WIP.END_DATE)), 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.WEIGHT_IN /
1000 else 0 end )) As mtons31_shiftC,
/* number of coils processed shift C */
(sum( case when 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_WIP.PIECES_IN Else 0
end )) As coils_run_shiftC,
(sum( case when '01' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.PIECES_IN else
0 end )) As coils01_shiftC,
(sum( case when '02' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.PIECES_IN else
0 end )) As coils02_shiftC,
(sum( case when '03' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.PIECES_IN else
0 end )) As coils03_shiftC,
(sum( case when '04' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.PIECES_IN else
0 end )) As coils04_shiftC,
(sum( case when '05' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.PIECES_IN else
0 end )) As coils05_shiftC,
(sum( case when '06' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.PIECES_IN else
0 end )) As coils06_shiftC,
(sum( case when '07' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.PIECES_IN else
0 end )) As coils07_shiftC,
(sum( case when '08' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.PIECES_IN else
0 end )) As coils08_shiftC,
(sum( case when '09' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.PIECES_IN else
0 end )) As coils09_shiftC,
(sum( case when '10' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.PIECES_IN else
0 end )) As coils10_shiftC,
(sum( case when '11' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.PIECES_IN else
0 end )) As coils11_shiftC,
(sum( case when '12' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.PIECES_IN else
0 end )) As coils12_shiftC,
(sum( case when '13' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.PIECES_IN else
0 end )) As coils13_shiftC,
(sum( case when '14' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.PIECES_IN else
0 end )) As coils14_shiftC,
(sum( case when '15' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.PIECES_IN else
0 end )) As coils15_shiftC,
(sum( case when '16' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.PIECES_IN else
0 end )) As coils16_shiftC,
(sum( case when '17' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.PIECES_IN else
0 end )) As coils17_shiftC,
(sum( case when '18' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.PIECES_IN else
0 end )) As coils18_shiftC,
(sum( case when '19' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.PIECES_IN else
0 end )) As coils19_shiftC,
(sum( case when '20' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.PIECES_IN else
0 end )) As coils20_shiftC,
(sum( case when '21' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.PIECES_IN else
0 end )) As coils21_shiftC,
(sum( case when '22' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.PIECES_IN else
0 end )) As coils22_shiftC,
(sum( case when '23' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.PIECES_IN else
0 end )) As coils23_shiftC,
(sum( case when '24' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.PIECES_IN else
0 end )) As coils24_shiftC,
(sum( case when '25' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.PIECES_IN else
0 end )) As coils25_shiftC,
(sum( case when '26' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.PIECES_IN else
0 end )) As coils26_shiftC,
(sum( case when '27' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.PIECES_IN else
0 end )) As coils27_shiftC,
(sum( case when '28' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.PIECES_IN else
0 end )) As coils28_shiftC,
(sum( case when '29' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and '29' <= to_char((last_day(DA.ST_PRODTX_WIP.END_DATE)), 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.PIECES_IN else
0 end )) As coils29_shiftC,
(sum( case when '30' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and '30' <= to_char((last_day(DA.ST_PRODTX_WIP.END_DATE)), 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.PIECES_IN else
0 end )) As coils30_shiftC,
(sum( case when '31' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and '31' <= to_char((last_day(DA.ST_PRODTX_WIP.END_DATE)), 'dd') and 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'COIL' then DA.ST_PRODTX_SHIFT.PIECES_IN else
0 end )) As coils31_shiftC,
/* Mtons of scrap produced Shift C */
(sum( case when 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'SHEET' AND (DA.ST_PRODTX_WIP.TYPE_NAME
= 'SCRAP' OR DA.ST_PRODTX_WIP.TYPE_NAME = 'TOLL PROC - SCRAP') then DA.ST_PRODTX_WIP.LOC_WEIGHT_IN / 1000 else 0 end )) As mtons_scrap_shiftC,
(sum( case when '01' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') AND 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'SHEET' AND (DA.ST_PRODTX_WIP.TYPE_NAME
= 'SCRAP' OR DA.ST_PRODTX_WIP.TYPE_NAME = 'TOLL PROC - SCRAP') then DA.ST_PRODTX_WIP.LOC_WEIGHT_IN / 1000 else 0 end )) As mtons_scrap01_shiftC,
(sum( case when '02' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') AND 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'SHEET' AND (DA.ST_PRODTX_WIP.TYPE_NAME
= 'SCRAP' OR DA.ST_PRODTX_WIP.TYPE_NAME = 'TOLL PROC - SCRAP') then DA.ST_PRODTX_WIP.LOC_WEIGHT_IN / 1000 else 0 end )) As mtons_scrap02_shiftC,
(sum( case when '03' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') AND 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'SHEET' AND (DA.ST_PRODTX_WIP.TYPE_NAME
= 'SCRAP' OR DA.ST_PRODTX_WIP.TYPE_NAME = 'TOLL PROC - SCRAP') then DA.ST_PRODTX_WIP.LOC_WEIGHT_IN / 1000 else 0 end )) As mtons_scrap03_shiftC,
(sum( case when '04' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') AND 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'SHEET' AND (DA.ST_PRODTX_WIP.TYPE_NAME
= 'SCRAP' OR DA.ST_PRODTX_WIP.TYPE_NAME = 'TOLL PROC - SCRAP') then DA.ST_PRODTX_WIP.LOC_WEIGHT_IN / 1000 else 0 end )) As mtons_scrap04_shiftC,
(sum( case when '05' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') AND 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'SHEET' AND (DA.ST_PRODTX_WIP.TYPE_NAME
= 'SCRAP' OR DA.ST_PRODTX_WIP.TYPE_NAME = 'TOLL PROC - SCRAP') then DA.ST_PRODTX_WIP.LOC_WEIGHT_IN / 1000 else 0 end )) As mtons_scrap05_shiftC,
(sum( case when '06' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') AND 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'SHEET' AND (DA.ST_PRODTX_WIP.TYPE_NAME
= 'SCRAP' OR DA.ST_PRODTX_WIP.TYPE_NAME = 'TOLL PROC - SCRAP') then DA.ST_PRODTX_WIP.LOC_WEIGHT_IN / 1000 else 0 end )) As mtons_scrap06_shiftC,
(sum( case when '07' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') AND 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'SHEET' AND (DA.ST_PRODTX_WIP.TYPE_NAME
= 'SCRAP' OR DA.ST_PRODTX_WIP.TYPE_NAME = 'TOLL PROC - SCRAP') then DA.ST_PRODTX_WIP.LOC_WEIGHT_IN / 1000 else 0 end )) As mtons_scrap07_shiftC,
(sum( case when '08' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') AND 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'SHEET' AND (DA.ST_PRODTX_WIP.TYPE_NAME
= 'SCRAP' OR DA.ST_PRODTX_WIP.TYPE_NAME = 'TOLL PROC - SCRAP') then DA.ST_PRODTX_WIP.LOC_WEIGHT_IN / 1000 else 0 end )) As mtons_scrap08_shiftC,
(sum( case when '09' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') AND 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'SHEET' AND (DA.ST_PRODTX_WIP.TYPE_NAME
= 'SCRAP' OR DA.ST_PRODTX_WIP.TYPE_NAME = 'TOLL PROC - SCRAP') then DA.ST_PRODTX_WIP.LOC_WEIGHT_IN / 1000 else 0 end )) As mtons_scrap09_shiftC,
(sum( case when '10' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') AND 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'SHEET' AND (DA.ST_PRODTX_WIP.TYPE_NAME
= 'SCRAP' OR DA.ST_PRODTX_WIP.TYPE_NAME = 'TOLL PROC - SCRAP') then DA.ST_PRODTX_WIP.LOC_WEIGHT_IN / 1000 else 0 end )) As mtons_scrap10_shiftC,
(sum( case when '11' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') AND 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'SHEET' AND (DA.ST_PRODTX_WIP.TYPE_NAME
= 'SCRAP' OR DA.ST_PRODTX_WIP.TYPE_NAME = 'TOLL PROC - SCRAP') then DA.ST_PRODTX_WIP.LOC_WEIGHT_IN / 1000 else 0 end )) As mtons_scrap11_shiftC,
(sum( case when '12' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') AND 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'SHEET' AND (DA.ST_PRODTX_WIP.TYPE_NAME
= 'SCRAP' OR DA.ST_PRODTX_WIP.TYPE_NAME = 'TOLL PROC - SCRAP') then DA.ST_PRODTX_WIP.LOC_WEIGHT_IN / 1000 else 0 end )) As mtons_scrap12_shiftC,
(sum( case when '13' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') AND 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'SHEET' AND (DA.ST_PRODTX_WIP.TYPE_NAME
= 'SCRAP' OR DA.ST_PRODTX_WIP.TYPE_NAME = 'TOLL PROC - SCRAP') then DA.ST_PRODTX_WIP.LOC_WEIGHT_IN / 1000 else 0 end )) As mtons_scrap13_shiftC,
(sum( case when '14' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') AND 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'SHEET' AND (DA.ST_PRODTX_WIP.TYPE_NAME
= 'SCRAP' OR DA.ST_PRODTX_WIP.TYPE_NAME = 'TOLL PROC - SCRAP') then DA.ST_PRODTX_WIP.LOC_WEIGHT_IN / 1000 else 0 end )) As mtons_scrap14_shiftC,
(sum( case when '15' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') AND 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'SHEET' AND (DA.ST_PRODTX_WIP.TYPE_NAME
= 'SCRAP' OR DA.ST_PRODTX_WIP.TYPE_NAME = 'TOLL PROC - SCRAP') then DA.ST_PRODTX_WIP.LOC_WEIGHT_IN / 1000 else 0 end )) As mtons_scrap15_shiftC,
(sum( case when '16' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') AND 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'SHEET' AND (DA.ST_PRODTX_WIP.TYPE_NAME
= 'SCRAP' OR DA.ST_PRODTX_WIP.TYPE_NAME = 'TOLL PROC - SCRAP') then DA.ST_PRODTX_WIP.LOC_WEIGHT_IN / 1000 else 0 end )) As mtons_scrap16_shiftC,
(sum( case when '17' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') AND 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'SHEET' AND (DA.ST_PRODTX_WIP.TYPE_NAME
= 'SCRAP' OR DA.ST_PRODTX_WIP.TYPE_NAME = 'TOLL PROC - SCRAP') then DA.ST_PRODTX_WIP.LOC_WEIGHT_IN / 1000 else 0 end )) As mtons_scrap17_shiftC,
(sum( case when '18' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') AND 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'SHEET' AND (DA.ST_PRODTX_WIP.TYPE_NAME
= 'SCRAP' OR DA.ST_PRODTX_WIP.TYPE_NAME = 'TOLL PROC - SCRAP') then DA.ST_PRODTX_WIP.LOC_WEIGHT_IN / 1000 else 0 end )) As mtons_scrap18_shiftC,
(sum( case when '19' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') AND 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'SHEET' AND (DA.ST_PRODTX_WIP.TYPE_NAME
= 'SCRAP' OR DA.ST_PRODTX_WIP.TYPE_NAME = 'TOLL PROC - SCRAP') then DA.ST_PRODTX_WIP.LOC_WEIGHT_IN / 1000 else 0 end )) As mtons_scrap19_shiftC,
(sum( case when '20' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') AND 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'SHEET' AND (DA.ST_PRODTX_WIP.TYPE_NAME
= 'SCRAP' OR DA.ST_PRODTX_WIP.TYPE_NAME = 'TOLL PROC - SCRAP') then DA.ST_PRODTX_WIP.LOC_WEIGHT_IN / 1000 else 0 end )) As mtons_scrap20_shiftC,
(sum( case when '21' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') AND 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'SHEET' AND (DA.ST_PRODTX_WIP.TYPE_NAME
= 'SCRAP' OR DA.ST_PRODTX_WIP.TYPE_NAME = 'TOLL PROC - SCRAP') then DA.ST_PRODTX_WIP.LOC_WEIGHT_IN / 1000 else 0 end )) As mtons_scrap21_shiftC,
(sum( case when '22' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') AND 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'SHEET' AND (DA.ST_PRODTX_WIP.TYPE_NAME
= 'SCRAP' OR DA.ST_PRODTX_WIP.TYPE_NAME = 'TOLL PROC - SCRAP') then DA.ST_PRODTX_WIP.LOC_WEIGHT_IN / 1000 else 0 end )) As mtons_scrap22_shiftC,
(sum( case when '23' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') AND 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'SHEET' AND (DA.ST_PRODTX_WIP.TYPE_NAME
= 'SCRAP' OR DA.ST_PRODTX_WIP.TYPE_NAME = 'TOLL PROC - SCRAP') then DA.ST_PRODTX_WIP.LOC_WEIGHT_IN / 1000 else 0 end )) As mtons_scrap23_shiftC,
(sum( case when '24' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') AND 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'SHEET' AND (DA.ST_PRODTX_WIP.TYPE_NAME
= 'SCRAP' OR DA.ST_PRODTX_WIP.TYPE_NAME = 'TOLL PROC - SCRAP') then DA.ST_PRODTX_WIP.LOC_WEIGHT_IN / 1000 else 0 end )) As mtons_scrap24_shiftC,
(sum( case when '25' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') AND 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'SHEET' AND (DA.ST_PRODTX_WIP.TYPE_NAME
= 'SCRAP' OR DA.ST_PRODTX_WIP.TYPE_NAME = 'TOLL PROC - SCRAP') then DA.ST_PRODTX_WIP.LOC_WEIGHT_IN / 1000 else 0 end )) As mtons_scrap25_shiftC,
(sum( case when '26' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') AND 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'SHEET' AND (DA.ST_PRODTX_WIP.TYPE_NAME
= 'SCRAP' OR DA.ST_PRODTX_WIP.TYPE_NAME = 'TOLL PROC - SCRAP') then DA.ST_PRODTX_WIP.LOC_WEIGHT_IN / 1000 else 0 end )) As mtons_scrap26_shiftC,
(sum( case when '27' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') AND 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'SHEET' AND (DA.ST_PRODTX_WIP.TYPE_NAME
= 'SCRAP' OR DA.ST_PRODTX_WIP.TYPE_NAME = 'TOLL PROC - SCRAP') then DA.ST_PRODTX_WIP.LOC_WEIGHT_IN / 1000 else 0 end )) As mtons_scrap27_shiftC,
(sum( case when '28' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') AND 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'SHEET' AND (DA.ST_PRODTX_WIP.TYPE_NAME
= 'SCRAP' OR DA.ST_PRODTX_WIP.TYPE_NAME = 'TOLL PROC - SCRAP') then DA.ST_PRODTX_WIP.LOC_WEIGHT_IN / 1000 else 0 end )) As mtons_scrap28_shiftC,
(sum( case when '29' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and '29' <= to_char((last_day(DA.ST_PRODTX_WIP.END_DATE)), 'dd') AND 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'SHEET' AND (DA.ST_PRODTX_WIP.TYPE_NAME
= 'SCRAP' OR DA.ST_PRODTX_WIP.TYPE_NAME = 'TOLL PROC - SCRAP') then DA.ST_PRODTX_WIP.LOC_WEIGHT_IN / 1000 else 0 end )) As mtons_scrap29_shiftC,
(sum( case when '30' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and '30' <= to_char((last_day(DA.ST_PRODTX_WIP.END_DATE)), 'dd') AND 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'SHEET' AND (DA.ST_PRODTX_WIP.TYPE_NAME
= 'SCRAP' OR DA.ST_PRODTX_WIP.TYPE_NAME = 'TOLL PROC - SCRAP') then DA.ST_PRODTX_WIP.LOC_WEIGHT_IN / 1000 else 0 end )) As mtons_scrap30_shiftC,
(sum( case when '31' = to_char(DA.ST_PRODTX_WIP.END_DATE, 'dd') and '31' <= to_char((last_day(DA.ST_PRODTX_WIP.END_DATE)), 'dd') AND 'C' = DA.ST_PROD_ORDERS.SHIFT_NAME AND DA.ST_PRODTX_WIP.SHAPE = 'SHEET' AND (DA.ST_PRODTX_WIP.TYPE_NAME
= 'SCRAP' OR DA.ST_PRODTX_WIP.TYPE_NAME = 'TOLL PROC - SCRAP') then DA.ST_PRODTX_WIP.LOC_WEIGHT_IN / 1000 else 0 end )) As mtons_scrap31_shiftC
FROM DA.ST_PRODTX_SHIFT, DA.ST_PROD_ORDERS, DA.ST_PRODTX_WIP, DA.ST_PROD_TX
WHERE
DA.ST_PRODTX_WIP.TX_ID = DA.ST_PRODTX_SHIFT.TX_ID AND
DA.ST_PRODTX_WIP.SHIFT_ID = DA.ST_PRODTX_SHIFT.SHIFT_ID AND
DA.ST_PRODTX_SHIFT.TX_ID = DA.ST_PROD_TX.TX_ID AND
DA.ST_PROD_TX.PRODORD_ID = DA.ST_PROD_ORDERS.PRODORD_ID AND
to_char(DA.ST_PRODTX_WIP.END_DATE, 'yyyymm') = to_char(current_date, 'yyyymm') AND DA.ST_PROD_TX.WC_CODE = 'MXTCTL'
Group by ( to_char(DA.ST_PRODTX_WIP.END_DATE, 'yyyymm'))