SELECT ROW_NUMBER() OVER(PARTITION BY BILL_HDR.AR_DOC ORDER BY BILL_HDR.AR_DOC) AS 'ARRowNum' ,BILL_HDR.AR_DOC ,BILL_HDR.PARTS_AMT ,CASE WHEN (D.SO_EXP_TYPE = 'SCRP') THEN '0' ELSE BILL_HDR.ADDL_CHG_AMT END AS 'ADDL_CHG_AMT' ,D.SO_EXP_TYPE ,ITEM.ITEM ,ITEM.HPL ,ITEM.PC ,ITEM.DESCRIPTION ,SO.TOT_ORD_QTY ,SO.UNIT_PRICE ,BILL_SO.ORDER_QTY ,BILL_SO.SO_SHIP_EXT_AMT AS 'EXT_AMT' ,BILL_SO.COST21 FROM BILL_HDR LEFT OUTER JOIN BILL_EXP D ON BILL_HDR.AR_CCN = D.AR_CCN AND BILL_HDR.AR_DOC_TYPE = D.AR_DOC_TYPE AND BILL_HDR.AR_DOC = D.AR_DOC LEFT OUTER JOIN BILL_SO ON BILL_HDR.AR_CCN = BILL_SO.AR_CCN AND BILL_HDR.AR_DOC_TYPE = BILL_SO.AR_DOC_TYPE AND BILL_HDR.AR_DOC = BILL_SO.AR_DOC LEFT OUTER JOIN ITEM ON BILL_SO.ITEM = ITEM.ITEM AND BILL_SO.REVISION = ITEM.REVISION LEFT OUTER JOIN AR_DOC ON BILL_HDR.AR_DOC = AR_DOC.AR_DOC AND BILL_HDR.AR_DOC_TYPE = AR_DOC.AR_DOC_TYPE LEFT OUTER JOIN SO ON AR_DOC.CUS_PO = SO.CUS_PO WHERE BILL_HDR.AR_DOC_DATE >= '20121201' AND BILL_HDR.AR_DOC_DATE <= '20121231' AND BILL_HDR.AR_DOC_TYPE = 'D'