بتاريخ: 19 مايو 200818 سنة comment_129154 السلام عليكم ممكن اعرف طريقة ارسال البارميتر؟هذا هالفكشن الي عملته؟ CREATE OR REPLACE FUNCTION GET_OUTSTANDING( V_MONTH NUMBER, V_YEAR NUMBER , V_OUTSTANDING NUMBER , V_CONS_CODE NUMBER, V_AREA_CODE NUMBER) RETURN NUMBER IS i INTEGER :=1; V_AMOUNT1 NUMBER :=0; V_AMOUNT2 NUMBER :=0; BEGIN FOR i IN 1..V_OUTSTANDING LOOP SELECT R. BAMOUNT INTO V_AMOUNT1 FROM READING R WHERE R.CONS_CODE=V_CONS_CODE AND R.RMONTH=(12-(V_MONTH-i)) AND R.RYEAR= V_YEAR AND R.AREA_CODE =V_AREA_CODE; V_AMOUNT2 := V_AMOUNT2 + V_AMOUNT1; END LOOP; RETURN V_AMOUNT2; END GET_OUTSTANDING; وطريقة الارسال البارميتر صحيحة او خاطئة لانه ماطلع معاي اي نتيجة؟ SELECT ROWNUM SL, C.AREA_CODE, 'P' "Consumer Type", C.TYPE_CODE, C.READER_CODE, R.CONS_CODE, C.CONS_NAME, C.METERNO|| C.METERNO2 "Meter No.",R.RMONTH,R.RYEAR ,GET_OUTSTANDING(R.RMONTH,R.RYEAR ,R.CONS_CODE,R.BAMOUNT,R.AREA_CODE) "OUSTANDING MONTH" FROM CONSUMER C, READING R,AREA A WHERE C.CONS_CODE = R.CONS_CODE AND C.AREA_CODE = R.AREA_CODE AND C.AREA_CODE = A.AREA_CODE AND C.AREA_CODE = R.AREA_CODE AND (R.RMONTH <>NVL((SELECT P.BMONTH FROM POSTEDCOLLECTION P WHERE P.AREA_CODE=:AREA_CODE AND P.CONS_CODE=:CONS_CODE AND P.BMONTH=:RMONTH AND P.BYEAR=:RYEAR),0) AND R.RYEAR <>NVL((SELECT P.BYEAR FROM POSTEDCOLLECTION P WHERE P.AREA_CODE=:AREA_CODE AND P.CONS_CODE=:CONS_CODE AND P.BMONTH=:RMONTH AND P.BYEAR=:RYEAR),0)) AND R.RMONTH=DECODE(_RMONTH,'ALL',TO_NUMBER(substr(TO_CHAR(SYSDATE,'MM-DD-YY'),1,2)),_RMONTH) AND R.RYEAR =DECODE(_RYEAR,'ALL',TO_NUMBER(TO_CHAR(SYSDATE,'RRRR')),_RYEAR) AND C.AREA_CODE = DECODE (_AREA_CODE, 'ALL', C.AREA_CODE, _AREA_CODE) AND C.CONS_CODE = DECODE (:CONS_CODE, 'ALL', C.CONS_CODE, :CONS_CODE) AND A.REGION_CODE = DECODE (_REGION_CODE, 'ALL', A.REGION_CODE ,_REGION_CODE) تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.