SELECT CTL.CUSTOMER_TRX_ID , CTL.CUSTOMER_TRX_LINE_ID , CTL.LINE_NUMBER , CTL.DESCRIPTION , CTL.INVENTORY_ITEM_ID , CTL.MEMO_LINE_ID FROM RA_CUSTOMER_TRX_LINES CTL WHERE CTL.LINE_TYPE = 'LINE' AND NOT EXISTS ( SELECT 'FREIGHT ALREADY DEFINED FOR THIS LINE' FROM RA_CUSTOMER_TRX_LINES CTL2 WHERE CTL2.LINK_TO_CUST_TRX_LINE_ID = CTL.CUSTOMER_TRX_LINE_ID AND CTL2.CUSTOMER_TRX_ID = CTL.CUSTOMER_TRX_ID AND CTL2.LINE_TYPE = 'FREIGHT' ) AND ( CTL.PREVIOUS_CUSTOMER_TRX_ID IS NULL OR EXISTS ( SELECT 'FREIGHT EXISTS FOR THE CREDITED TRANSACTION' FROM RA_CUSTOMER_TRX_LINES PREV_CTL WHERE PREV_CTL.CUSTOMER_TRX_ID = CTL.PREVIOUS_CUSTOMER_TRX_ID AND PREV_CTL.LINK_TO_CUST_TRX_LINE_ID = CTL.PREVIOUS_CUSTOMER_TRX_LINE_ID AND PREV_CTL.LINE_TYPE = 'FREIGHT' ) ) AND ( CTL.MEMO_LINE_ID IS NULL OR EXISTS ( SELECT 'FREIGHT ALLOWED FOR THIS MEMO LINE TYPE' FROM AR_MEMO_LINES ML WHERE ML.MEMO_LINE_ID = CTL.MEMO_LINE_ID AND ML.LINE_TYPE IN ('FREIGHT' , 'LINE') ) )