بتاريخ: 15 سبتمبر 201213 سنة comment_227390 function CF_AVG_COSTFormula return Number is TOTAL_PRCH NUMBER(15,2); TOTAL_RVRS NUMBER(15,2); RVRS_QTY NUMBER(15,2); PRCH_QTY NUMBER(15,2); BEGIN BEGIN SELECT SUM((QUANTITY * UNIT_PRICE)- (UNIT_DISCOUNT_PRICE) + (UNIT_EXTRA_DISCOUNT_PRICE) + (UNIT_DEBIT_PRICE) - (UNIT_CREDIT_PRICE) ) INTO TOTAL_PRCH FROM STK_PRCH_DTL WHERE ITEM_TYPE = :ITEM_TYPE AND ITEM_CODE = :ITEM_CODE; EXCEPTION WHEN NO_DATA_FOUND THEN TOTAL_PRCH :=0; END; BEGIN SELECT SUM((QUANTITY * UNIT_PRICE)- (UNIT_DISCOUNT_PRICE) + (UNIT_DEBIT_PRICE) - (UNIT_CREDIT_PRICE) ) INTO TOTAL_RVRS FROM STK_PRCH_RVRS_DTL WHERE ITEM_TYPE = :ITEM_TYPE AND ITEM_CODE = :ITEM_CODE; EXCEPTION WHEN NO_DATA_FOUND THEN TOTAL_RVRS :=0; END; BEGIN SELECT SUM(PCS_PER_PACKET * QUANTITY) INTO PRCH_QTY FROM STK_PRCH_DTL WHERE ITEM_TYPE = :ITEM_TYPE AND ITEM_CODE = :ITEM_CODE; EXCEPTION WHEN NO_DATA_FOUND THEN PRCH_QTY :=0; END; BEGIN SELECT SUM(PCS_PER_PACKET * QUANTITY) INTO RVRS_QTY FROM STK_PRCH_RVRS_DTL WHERE ITEM_TYPE = :ITEM_TYPE AND ITEM_CODE = :ITEM_CODE; EXCEPTION WHEN NO_DATA_FOUND THEN RVRS_QTY:=0; END; RETURN (((NVL(TOTAL_PRCH,0) - NVL(TOTAL_RVRS,0)) / (NVL(PRCH_QTY ,0)- NVL(RVRS_QTY,0))) * NVL(:CF_TOTAL_SALS_QTY,0)); END; في البدايه طبعا هذا تقرير ارباح اصنافويكون بالطريقه هذي (اجمالي قيمة الشراء - اجمالي قيمة المرتجع )/ (اجمالي كمية الشرا - اجمالي كمية مرتجع الشراء) * في الكميه المباعههذي معادلة استخراج اجمالي التكلفهانا عرفت سبب المشكله بس ماعرفت كيف احلهاالمشكله سببها اذا مافي كمية مشتراهراح يكون 0 وفي القسمه ماراح يقسم على 0فتظهر رسالةDIVISOR EQUAL TO ZEROعند ال RUN تقديم بلاغ
بتاريخ: 15 سبتمبر 201213 سنة comment_227392 السلام عليكماستخدم Exception : Exception When Zero_Divide Then -- Write your code. تقديم بلاغ
بتاريخ: 16 سبتمبر 201213 سنة كاتب الموضوع comment_227405 ?استخدمها بعد RETURN وايش الكود اللي اكتبه ياليت توضح ليومشكور ع الرد تقديم بلاغ
بتاريخ: 16 سبتمبر 201213 سنة كاتب الموضوع comment_227406 RETURN (NVL((TOTAL_PRCH - TOTAL_RVRS),0) / NVL((PRCH_QTY - RVRS_QTY),1) * NVL(:CF_TOTAL_SALS_QTY,0)) ;حليت المشكله بالشكل التاليجعلته اذا مافي قيمه يقسم على 1 هل هي طريقه صحيححهوالشيء الاخرعند ظهور التقرير لابد من عمل فاتورة مشتريات ومرتجع مشتريات ومبيعات ومرتجع مبيعاتلاظهار النتائج في حال تم عمليه او عمليتين لايخرج قيم يتركها صفر تقديم بلاغ
بتاريخ: 16 سبتمبر 201213 سنة comment_227407 السلام عليكماما انك بتستخدم الـ Exception بعد Return كالتالي: Exception When Zero_Divide Then Return (0); أو قم بتغيير الكود الأخير كالتالي: Return (((Nvl(Total_Prch,0) - Nvl(Total_Rvrs,0)) / Nvl(Nvl(Prch_Qty ,0) - Nvl(Rvrs_Qty,0)), 1) * Nvl(:Cf_Total_Sals_Qty, 1)); بالتوفيق. تقديم بلاغ
بتاريخ: 16 سبتمبر 201213 سنة كاتب الموضوع comment_227411 <p><abbr class="published" title="2012-09-16T09:04:18+00:00">PM</abbr></p><div class="post entry-content ">RETURN (NVL((TOTAL_PRCH - TOTAL_RVRS),0) / <span style="color: #0000ff"><strong class="bbc">NVL((PRCH_QTY - RVRS_QTY),1)</strong></span> * NVL(:CF_TOTAL_SALS_QTY,0)) ;<br /><br />حليت المشكله بالشكل التالي<br />جعلته اذا مافي قيمه يقسم على 1 هل هي طريقه صحيححه<br /><br />والشيء الاخر<br />عند ظهور التقرير لابد من عمل فاتورة مشتريات ومرتجع مشتريات ومبيعات ومرتجع مبيعات</div><div class="post entry-content "><span style="font-size:18px;"><strong>بعد التدقيق الحل خطأ يعطي نتائج غير صحيحه</strong></span></div> تقديم بلاغ
بتاريخ: 16 سبتمبر 201213 سنة كاتب الموضوع comment_227412 السلام عليكم اما انك بتستخدم الـ Exception بعد Return كالتالي: Exception When Zero_Divide Then Return (0); أو قم بتغيير الكود الأخير كالتالي: Return (((Nvl(Total_Prch,0) - Nvl(Total_Rvrs,0)) / Nvl(Nvl(Prch_Qty ,0) - Nvl(Rvrs_Qty,0)), 1) * Nvl(:Cf_Total_Sals_Qty, 1)); بالتوفيق. السلام عليكم استاذي الفاضلعند تجربة الكود التاليطلع رسالة ERRORWRONG NUMBER OR TYPE OF ARGUMENT IN CALL TO NVL تقديم بلاغ
بتاريخ: 16 سبتمبر 201213 سنة comment_227415 السلام عليكمجرب الكود التالي: Return (Nvl(Total_Prch,0) - Nvl(Total_Rvrs,0)) / (Nvl(Nvl(Prch_Qty ,0) - Nvl(Rvrs_Qty, 0), 1) * Nvl(:Cf_Total_Sals_Qty, 1)); تقديم بلاغ
بتاريخ: 17 سبتمبر 201213 سنة كاتب الموضوع comment_227433 السلام عليكمجرب الكود التالي:Return (Nvl(Total_Prch,0) - Nvl(Total_Rvrs,0)) / (Nvl(Nvl(Prch_Qty ,0) - Nvl(Rvrs_Qty, 0), 1) * Nvl(:Cf_Total_Sals_Qty, 1)); شكرا استاذي العزيز احمد حسن على الردودحليت المشكله بالشكل التاليNET_PRCH_QTY := (NVL(PRCH_QTY,0) - NVL(RVRS_QTY,0)); IF NET_PRCH_QTY > 0 THEN RETURN ( ((NVL(TOTAL_PRCH,0) - NVL(TOTAL_RVRS,0)) / NVL(NET_PRCH_QTY,0))* NVL(:CF_TOTAL_SALS_QTY,0) ); ELSE RETURN(0);ومره اخرى مشكور ع الردودبس ممكن فضلا لا امرا احد يساعدني في نظام البريد بين المستخدمين بحثت عنه كثير في المنتدى ومالقيت في المشاركات اي مرفقات يمكن انحذفت المرفقاتفيه مواضيع بس بدون المرفقات للبرنامجالرجاء للضروره تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.