Hi I have bene trying to complete this task for about 2 days now and i need help. I want to show my function in tabular format. Any code samples would be very much appreciated. The problem is i want a pass in a parameter into an oracle function such as '+' or a '' depending on these values i can calculate fields. if '+' then (SUM(A.COST_MSO)) + (SUM(A.COST_MSO)) B.VARIANCE_PER/100; if '' then (SUM(A.COST_MSO)) + (SUM(A.COST_MSO)) B.VARIANCE_PER/100; I am using a cursor where i have a select state that joins to tables (table a and table b) for example (i have written this if there is a easier way to do this any help would be appreciated) CREATE OR REPLACE FUNCTION itp_v (p_spccode IN VARCHAR2,p_dealership IN VARCHAR2,p_manufacturer IN VARCHAR2,p_varaiance IN VARCHAR2) RETURN varaiant IS TYPE ref0 IS REF CURSOR; cur0 ref0; v_value number; out_rec varaiant_values := varaiant_values(NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); BEGIN OPEN cur0 FOR 'SELECT replace(replace(A.part_number,'',''),'/','') as PartNumber, A.DEALERSHIP, A.SOURCE, A.RETAIL_PRICE, ' 'A.QTY_ON_HAND, B.SOURCE, B.VARIANCE_SIGN, A.AVERAGE_COST, a.COST_MSO, A.MANUFACTURER, ' 'B.BASE_PRICE, B.VARIANCE_PER, A.PART_DESCRIPTION, 0 as VARIANCE_CALC ' 'FROM RWG_STOCK A, RWG_PARTS_SPC B ' 'WHERE A.SOURCE=B.SOURCE ' 'AND B.SPC_CODE = :1 ' 'AND A.DEALERSHIP=B.DEALERSHIP ' 'AND A.DEALERSHIP= :2 ' 'AND B.MANUFACTURER IN ( :3 ) ' 'AND B.MANUFACTURER=A.MANUFACTURER ' 'AND B.VARIANCE_SIGN = :4 ' 'AND ( ( ( A.QTY_ON_HAND NOT IN (( 0 )) ' 'OR A.QTY_BACK_ORDER NOT IN (( 0 )) ' 'OR A.QTY_ON_ORDER NOT IN (( 0 )) ) ) ) ' 'GROUP BY ' 'a.part_number, ' 'A.DEALERSHIP, ' 'A.RETAIL_PRICE, ' 'A.QTY_ON_HAND, ' 'A.SOURCE, ' 'B.SOURCE, ' 'B.VARIANCE_SIGN, ' 'A.AVERAGE_COST, ' 'A.COST_MSO, ' 'A.MANUFACTURER, ' 'B.BASE_PRICE, ' 'B.VARIANCE_PER, ' 'A.PART_DESCRIPTION ' USING p_spccode,p_dealership, p_manufacturer, p_varaiance; LOOP FETCH cur0 INTO out_rec.PARTNUMBER, out_rec.DEALERSHIP out_rec.SOURCE, out_rec.RETAIL_PRICE out_rec.QTY_ON_DEMAND, out_rec.SOURCE out_rec.VARIANCE_SIGN, out_rec.AVERAGE_COST out_rec.COST_MSO, out_rec.MANUFACTURER out_rec.BASE_PRICE, out_rec.VARIANCE_PER out_rec.PART_DESCRIPTION, out_rec.v_value; EXIT WHEN cur0%NOTFOUND if(p_varaiance == '+') THEN v_value := (SUM(out_rec.COST_MSO))  (SUM(out_rec.COST_MSO)) out_rec.VARIANCE_PER/100; CLOSE cur0; RETURN; END itp_v; Many Thanks
(comments are locked)

If you could provide some of the following information it would help us help you.
SELECT replace(replace(A.part_number,'  ',''),' /','') as PartNumber, A.DEALERSHIP, A.SOURCE, A.RETAIL_PRICE, A.QTY_ON_HAND, B.SOURCE, B.VARIANCE_SIGN, A.AVERAGE_COST, a.COST_MSO, A.MANUFACTURER, B.BASE_PRICE, B.VARIANCE_PER, A.PART_DESCRIPTION, 0 as VARIANCE_CALC FROM RWG_STOCK A, RWG_PARTS_SPC B WHERE A.SOURCE=B.SOURCE AND B.SPC_CODE = :spccode AND A.DEALERSHIP = B.DEALERSHIP AND A.DEALERSHIP = :dealership AND B.MANUFACTURER = :manufacturer AND B.MANUFACTURER=A.MANUFACTURER AND B.VARIANCE_SIGN = :varaiance AND ( A.QTY_ON_HAND 0 OR A.QTY_BACK_ORDER 0 OR A.QTY_ON_ORDER 0 );
(comments are locked)

When you post your question, there is a little button with 1's and 0's on it that is for "code." If you highlight a section of text and click it, it preserves your formatting. It would help greatly if you would edit your question and format your code to be more readable.