الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

انا احترت المشكلة من اية ؟؟ التفاصيل بالداخل

Featured Replies

بتاريخ:

function PRICEFormula return Number is
a number;
begin if :Pr = 11 then
   SELECT MAX(PRICE1) INTO A FROM WAST WHERE ITEM_NO =:ITEM_NO and trno='02' ;
   return (a);
 elsif
  :Pr = 22 then
   SELECT min(PRICE1) INTO A FROM WAST WHERE ITEM_NO =:ITEM_NO and trno='02' ;
   return (a);
 elsif
  :Pr = 33 then
   select price1 INTO A FROM WAST WHERE ITEM_NO =:ITEM_NO and trno='02' and dat = (select max(dat) from wast where ITEM_NO =:ITEM_NO and trno='02');
   return (a);

 elsif
  :Pr = 1 then
   select price1 INTO A FROM WAST WHERE ITEM_NO =:ITEM_NO and trno='02' and dat = (select max(dat) from wast where ITEM_NO =:ITEM_NO and trno='02');
   return (a);  

 end if;



دلوقتى يجماعة انا عملت الكود دة على عمود فوريمل
لما بجى استدعى التقرير بالشكل دة
http://127.0.0.1:8889/reports/rwservlet?us...04%20&pr=11
ولنفتلرض هبعتلة بارميتر فية قيمة 11 عشان ينفذ اول شرط بيشتغل وكلة تمام
نفس الكود ولاكن مع تغير اخر رقم وجعلة
http://127.0.0.1:8889/reports/rwservlet?us...004%20&pr=1
اعتقد ان هنا يجب ان ينفذ الشرط الرابع حتى لو اجريت هذا التغير من ال عنوان المتصفح
فتظهر لى تلك الرسالة
REP-1401: 'priceformula': Fatal PL/SQL error occurred.
ORA-06503: PL/SQL: Function returned without value
طبع لما عملت سيرش الك انتة ناسى عبارة return
وزى منتة شايفن الكود سليم

طب مثلا حبيت اخلى الشرط التانى لما يكون بياساوى 1 والخير بيساوى 22 طبعاً نفس رسالة الروةور للواحد بس فيترة دة من اية ؟ عشان انا جالى شللل :D

طبعا الوش ال ظهر دة مكان البرايمتر pr

تم تعديل بواسطة hossam160

بتاريخ:

function PRICEFormula return Number 
is
 a number;
begin 
 if r = 11 then
SELECT MAX(PRICE1) INTO A FROM WAST WHERE ITEM_NO =:ITEM_NO and trno='02';
return (a);
 elsif r = 22 then
SELECT min(PRICE1) INTO A FROM WAST WHERE ITEM_NO =:ITEM_NO and trno='02';
return (a);
 elsif r = 33 then
select price1 INTO A FROM WAST WHERE ITEM_NO =:ITEM_NO and trno='02' and dat = (select max(dat) from wast where ITEM_NO =:ITEM_NO and trno='02');
return (a);
 elsif r = 1 then
select price1 INTO A FROM WAST WHERE ITEM_NO =:ITEM_NO and trno='02' and dat = (select max(dat) from wast where ITEM_NO =:ITEM_NO and trno='02');
return (a); 
 end if;
 
 Return A;
END;




لازم ترتجع قيمة Return ... لازم تترجم البرنامج Compyle ... ماذا تقصد بالـ r ، هل هو متغير ، ولماذا غير معرف ضمن قسم التصريحات :

function PRICEFormula return Number 
is
 a number;
 r number;
begin 
 if r = 11 then
SELECT MAX(PRICE1) INTO A FROM WAST WHERE ITEM_NO =:ITEM_NO and trno='02';
return (a);
 elsif r = 22 then
SELECT min(PRICE1) INTO A FROM WAST WHERE ITEM_NO =:ITEM_NO and trno='02';
return (a);
 elsif r = 33 then
select price1 INTO A FROM WAST WHERE ITEM_NO =:ITEM_NO and trno='02' and dat = (select max(dat) from wast where ITEM_NO =:ITEM_NO and trno='02');
return (a);
 elsif r = 1 then
select price1 INTO A FROM WAST WHERE ITEM_NO =:ITEM_NO and trno='02' and dat = (select max(dat) from wast where ITEM_NO =:ITEM_NO and trno='02');
return (a); 
 end if;
 
 Return A;
END;





جرب وأخبرني بالنتيجة






بالتوفيق

بتاريخ:
  • كاتب الموضوع

والله ياخ MMA جزاك الله خيراً .. على محاولة افادتك الأخرين الدائمة
ورغم انك جديد فى الريبورت ال انك خدت شوط فية واصبحت متميز فية
وحتى مشكلك لما بتحلها بتحاول تفيد الأخرين بكيف تم حلها

بالنسبة ال للمتغير r هو مشكدة هو عبارة عن براميتر شكلة p||r||: من غير ال || فا فى هنا اسمايل تقريبا وخدة النقطتين وحرف البى فبتدى شكل اسمايل :D :lol:

المشكلة الحمد الله اتحلت لما ريترت الداتا بيز ورفريشت الصفح
وجزاكم الله خيراً مرة اخرى

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.