بتاريخ: 26 أبريل 200619 سنة comment_67560 السلام عليكم ورحمه الله ، ارجو ان تتحملو البوست التالي عندي فورم مشتروات -يتكون من بلوكين (1 ماستر والثاني ديتيل) - لوكلاء محددين يخصم مشتروات هؤلاء الوكلاء من ارصدتهم عن طريق Procedure مستخدم في POST-FORMS-COMMIT trigger علي مستوي الفورموتتم عمليه الحفظ لكن هناك مشكلتين :الأولي : لحذف سجل من الماستر يجب حذف السجلات من الديتيل اولا ، وهنا تكمن المشكلة حيث انه عند حذف كل السجلات الديتيل تمهيدا لحذف الماستر ، تظهر رساله خطاء ORA-01407 : cannot update mandatory (NOT NULL) column to NULLوانا لا اريد وضع قيم فارغة في الديتيل ، فقط اريد حذف السجلات ككلالثانيه : عند تعبئه الفورم والحفظ فإنه يقوم بخصم القيمه من رصيد الوكيل ، لكن عند الضغط علي حفظ مره اخري دون تغيير القيم فإنه يقوم بالخصم مجددا وهذا غير جيد ، اريد ان يتم الحفظ فقط اذا تم تغيير القيم ، اي اذا عملت بحث لقيم قديمه ولم اغير هذه القيم وقمت بالحفظ ، فانه لا يتم الخصم من رصيد الوكيلالفورم مرفق مع الجدول في الرابط التالي http://www.megaupload.com/?d=RE8KL1M2 تقديم بلاغ
بتاريخ: 26 أبريل 200619 سنة comment_67561 اختى بالنسبة للمشكلة التالية فهى سهلة للغاية قومى بعمل Disable للبتون الى بيعمل الحفظ بعد كل كلك و تنشيط لية ببتون Newاختى .. بالنسبة للمشكلة الأول لا استطيع تحديدها .. من افضلك قومى بأرفاق ملف تكست يحتوى على الكودز لأن للأسف معنديش اوراكل على المكنة دى .. و الى مزيد من التفوقOracle ITself تقديم بلاغ
بتاريخ: 26 أبريل 200619 سنة كاتب الموضوع comment_67566 التريقر الزي يقوم بعمليه الخصم : POST-FORMS-COMMIT Trigger DECLARE RcrdFetch NUMBER; BEGIN RcrdFetch := 0; SELECT COUNT(*) INTO RcrdFetch FROM AGMSTR WHERE AGMSTR.AGID = :BLKDPMSTR.C_ID; if RcrdFetch <> 0 then Agacount_decr (:BLKDPDTLS.T_PRICE,:BLKDPMSTR.C_ID); END IF; END; والـ procedure المستدعي بواسطه التريقر اعلاه Agacount_decr يحتوي علي الكود التالي PROCEDURE Agacount_decr (decr_credit IN NUMBER, AG_ID IN NUMBER) IS credit NUMBER; BEGIN SELECT AGCREDIT INTO credit FROM AGMSTR WHERE AGID = AG_ID; UPDATE AGMSTR SET AGCREDIT = credit - decr_credit WHERE AGID = AG_ID; --Raise Form_Trigger_Failure; END; تقديم بلاغ
بتاريخ: 27 أبريل 200619 سنة كاتب الموضوع comment_67585 وللتذكير فهذا هو اللنك اللي رفعت فيه الفورم والجداول ، لاني عندي مشكله في ارفاق الملفات http://www.megaupload.com/?d=RE8KL1M2 تقديم بلاغ
بتاريخ: 27 أبريل 200619 سنة comment_67588 اختي الكريمةفي النقطة الاولى عند عمل relation بين الماستر والديتيل اختاري ان يكون عملية الحذف cascaded وهذه تساعدك بحذف جميع البيانات الفرعية الخاصة بالبيان الرئيسي المراد حذفهوممكن عمل كودد لذلك ايضا بحيث تتمك العملية باخذ رقم الماستر واللي هو موجود في الديتيل فيقوم بحذف الديتيل ثم التخزين ثم يقوم بحذف السجل الرئيسيبالنسبة للنقطة الثانية فحلها يكون بفحص حالة الفورم قبل التعديل هل هي اضافة ام حذف ام ماذا باستخدام هذا الكود IF :System.Form_Status = 'CHANGED' THEN Commit_Form; END IF; ; تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.