الانتقال إلى المحتوى

كيف يمكن تغيير سورس الايتم فى الرن تايم؟


Oramaster

Recommended Posts

عندى ايتم فى الريبورت يأخذ قيم متغيرة فى الرن تايم حسب قيمة ايتم آخر
كيف يتم تغيير السورس الخاص به فى حالة لو أنشأت اكتر من سورس له كفورميولا كولومن مثلا
او كحل اخر كيف يتم عمل اساينمنت له من قيمة ايتم آخر على نفس الريبورت
item_name is not working:
؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
:unsure:

رابط هذا التعليق
شارك

حليت المشكلة بعمل فورمات تريجر وكتبت فى الفنكشن انه يريتيرن فاليو معينة من سلكت ستيتمنت حسب وير معينه وتم حل المشكلة
بس لازال التساؤل موجود كيف يمكن التعامل مع ايتمز الريبورت ؟؟؟؟؟؟
ياريت حد يناقشنى بعت اكتر من موضوع بالريبورت ولاأجد اى تفاعل !!!!!!!!!!!!!!!!!
:unsure:

رابط هذا التعليق
شارك

السلام عليكم
ازيكوا يا شباب
معلش مشاركاتي هتقل شوية اليومين دول عشان في ظروف معينة تمنعني من دخول النت
عموما oramaster
هو فعلا الريبورت مش واخد حقههنا
عموما
هو عندنا اربع انواع من الكولمن في الريبورت
انا هنا بتكلم عن الداتاموديل
في
1-داتابيز كولمن
2-سامري كولمن
3-فورميلا كولمن
4-بليسهولدر كولمن
النوع الاول هو اللي بنتختاره في الكويري
اما النوع التاني
فمثلا اذا كنا مختارين كولمن سال في جدول امب
و اذا اردنا ان نعمل مجموع للمرتبات
فهنا نقوم بعمل سامري كولمن
و نختار الفانكشن بتاعته sum
و السورس sal
والresetat ريبورت
معناها انه سيقوم بجمع المرتبات كلها علي مستوي الريبورت
و عدد تكرار ظهور السامري كولمن يتوقف علي مكانه في الداتامودل
بمعني انه اذا اردناه مرة واحدة فقط في نهايو الريبورت سنضعه برة الجروبز كلها
اما اذا كان عندنا جروب ابف ريبورت ادارة وموظفين
فسنضعه في الداتامودل في جروب الموظفين و علي الاياوت في جروب الادارة ليتكرر مع كل ادارة مع عمل reset at علي جروب الادارة
و اكثر الوظائف استعمالا هي
sum,count,avg,و النسبة المئوية
ويمكن استعمال وظيفة count في عمل مسلسل يبدا من 1 حتي نهاية الريكوردز
من هنا يتضح لنا ان السامري كولمن لا يكتب فيه كود انما فانكسنز جاهزة مختارها
و يجب اختيار المستوي الذي نريد ان نضعه فوق و مراعاة ان لا نضعه في جروب امب مثلا ونشاور علي حاجة في جروب ديبت لانه ما ينفع حاجة تشاور علي جروب اعلي منها
اما النوع التالت و هو الفورميلا كولمن فيمكن ان نعتبره مثل الفورميلا في الفورم وله العديد من الاستخدامات
مثل اذا كان عندنا كود قسم مثلا و نريد ان نظهر الدسكربشن بتاعه بدلا من الكود
فيجب هنا عمل فورميلا كولمن في نفس جروب الكود
و ترتن char
و في plsql code
نكتب

begin
select  name  
into  v_name  
from  table  
where  code=:code;
return v_name;
exception  when  others  then  return  '';
end 


هذا سيرجع اسم القسم مثلا بناء علي الكود الموجود في الريبورت
ونلاحظ هنا انه لا يوجد بلوك في الريبورت
يعني اسم الايتم نكتبه هكذا فقط :ITEM
و توجد العديد والعديد من الاستخدامات في الفورميلا كولمن
منها مثلا الفرق بين حقلين كاالاستحقاقات و الاستقطاعات
وايضا يمكن للفورميلا ان ترجع ديت او نمبر او كار او بولين
والنوع الاخير وهو البليس هولدر وهو كولمن لا نكتب تحته كود وقيمته تاتي من ايتم اخر في الريبورت
لا نعرفه الا في الرن تايم
بمعني
اذا كنا نريد ان يظهر لنا اسم صاحب اعلي راتب في الريبورت
فيجب علينا عمل ايتم سامري للرواتب علي مستوي الريبورت به وظيفه MAX
و عما ايتم فورميلا و ايتم بليس هولدر
و في ايتم الفورميلا نتشك اذا كان الريكوورد الحالي يساوي القيمة الموجودة في السامري ايت ذو اعلي راتب
فاذا كان يساويه نعرض اسمه مع ما نريد من جمل اخري

و نعرض الاسم في البليس هولدر عن طريق اسين عادي
مثال

IF :SAL=CS_SUM_SAL THEN  
:CP_NAME := :ENAME|| ' '||'IS  THE  HIGHEST  SALARY  IN EMPLOYEES';
END  IF ;
RETURN  TRUE;


طبعا انا كاتب كل ده من الذاكرة يا جماعة هاتشك اذا كان في حاجة مش مظبوطة ولو في اصححها
متهيأ كدة احسن ORAMASTER
:unsure:
عشان مو تزعلي بس
ربنا يوفقك و يوفق الجميع

رابط هذا التعليق
شارك

اضافة:
المهم انه مش ينفع ااساين فاليو لفيلد على الريبورت زى ماكنا بنعمل على الفورم ولا زم يكون له سورس اما داتا بيز كولومن او فورميولا كولومن

رابط هذا التعليق
شارك

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

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

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

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

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

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