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

كيف يمكن عمل auto commit على block؟؟؟


ahmedhamed

Recommended Posts

ممكن تعمل تريجر على مستوى بلوك معين أو على مستوى الفورم
( لان الفورم من الممكن ان يكون بها أكثر من بلوك )
ده انت حدده حسب أحتياجاك
المهم أعمل
trigger ----------> post-insert

DO_KEY('COMMIT_FORM');

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

السلام عليكم
اخي تريجر post insert يفاير بعد الضغط علي زر الحفظ و هذا ما لايريده الاخ الكريم
الصحيح ان يتم عمل الكود علي تريجر when-new-record-instance
ان يتم التشييك علي حالة البلوك اذا كانت متغيرة ام لا و اذا كانت متغيرة يتم الحفظ و سوف احاول ان احضر لك مثال اذا اسعفني الوقت
و ابعثه لك

تم تعديل بواسطة hanon_OCP
رابط هذا التعليق
شارك

اخي هذه فورم بها ما تريد و لكنها علي ال9 اي
اذا كان عندك 6 اي فده الكود

if :system.block_status ='CHANGED' THEN 
COMMIT_FORM;
CLEAR_MESSAGE;
END IF;


جربها ولو في مشكلة قولي

DEPT_SAVE.FMb

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

اشكرك جدا
ده اخر تريجر كان ممكن يخطر على بالى
لكن اى تريجر Post او Pre أو On لا يمكن عمل به Commit
كل اللى فكرت فيه وحاولت اشتغل عليه هو تريجر Key
لكنه منفعش
الفكرة اللى بعتتها هايلة
وجزاك الله خيرا

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

السلام عليكم
الحمد لله اني استطعت الافادة
هناك عدد من الترجرز لا يمكن استخدام بعض البلت انز فيها
و ساضع موضوع باذن الله عن هذه الترجرز و البدائل المتاحة لها و الحلول للتغلب علي هذه المشكلة

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

  • بعد 1 سنة...

مع تقديرى للاخ hanon_OCP للحل الذى قدمة الا انى ارى ان لة عيوب كثيرة منها على سبيل المثال لا الحصر
1-اولا انت تجبر بل تفرض على المستخدم ان يفظ كل سجل بعد انشاؤة و هذا غير سليم لانك اولا تشغل السيرفر و ثانيا ان المستخد م دائما يحب العمل on the fly
اى ان كل شئ يكون تحت التجريب حتى يضغط هو بنفسة هلى حفظ
2- فى حالة اذا كان البلوك tabular فانه ستنتج اخطاء كثيرة عند كتابة هذا الكود على وذلك ببساطة لان الاجراء commit_form هو ristriced procedure

ولذلك ارى ان الحل الافضل هو عمل حفظ على ال session الخاصة بى فقط كاتالى

on the blook level write this on the trigger post_record
if :system.block_status ='changed' then
:parameter.save_flag := 'Y'
ELSE
:PARAMETER.SAVE_FLAG := 'N'
END IF;

THEN WRITE THIS CODE ON WHEN_NEW_RECORD_INSTANCE
IF :PARAMETER.SAVE_FLAG = 'Y' THEN
POST;
END IF;

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

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

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

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

×   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.

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

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

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