الانتقال إلى المحتوى
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.

Post-forms-commit Trigger

Featured Replies

بتاريخ:

 

السلام عليكم ورحمة الله وبركاته

الاخوة اعضاء المنتدى المحترم

-بالنسبة للتريقرPOST-FORMS-COMMIT في الفورمز اواكل بتقول المقابل له في الADF التالي:

you can override the doCommit()method in a custom DBTransactionImpl object and write some code before calling

super.

-معنى كدا ان هاعمل كلاس خاص تــExtend الكلاس DBTransactionImpl واعمل ovveride للميثود doCommit() 

* السؤال بعد ما اعمل الكلاس الخاص والميثود ..ازاي اخلي الapplication يقرا الميثود doCommit() الموجودة في الcustom كلاس الي انا انشأته؟

هل من خلال الBase class الخاصة بالjdevloper ؟

 

ِشكرا...

 

 

بتاريخ:

اسهل وافضل طريقة لتفيذ التريجر ده هي

انك تعمل method علي button الحفظ

 

تكتب كل اللي مطلوب قبل تفيذ الحفظ لو الكود مشي تمام

خلاص هيحفظ لو ما مشيش هيقف الكود ومش هيحفظ

وبالتوفيق ...

بتاريخ:
 

 

السلام عليكم ورحمة الله وبركاته

الاخوة اعضاء المنتدى المحترم

-بالنسبة للتريقرPOST-FORMS-COMMIT في الفورمز اواكل بتقول المقابل له في الADF التالي:

you can override the doCommit()method in a custom DBTransactionImpl object and write some code before calling

super.

-معنى كدا ان هاعمل كلاس خاص تــExtend الكلاس DBTransactionImpl واعمل ovveride للميثود doCommit() 

* السؤال بعد ما اعمل الكلاس الخاص والميثود ..ازاي اخلي الapplication يقرا الميثود doCommit() الموجودة في الcustom كلاس الي انا انشأته؟

هل من خلال الBase class الخاصة بالjdevloper ؟

 

ِشكرا...

 

فى حالتين 

1- ان كان التريجر على block واحد فتقدر تستخدم beforeCommit فى ال entity المقابل للبلوك 

2-ان كان التريجر على اكتر من block  فصح جداا انك لازم تــ Extend الكلاس DBTransactionImpl2 واعمل ovveride للميثود doCommit()

 

والطريقة طويلة شوية 

1- create CustomDBTransactionImpl2

import oracle.jbo.server.DBTransactionImpl2;

public class CustomDBTransactionImpl2 extends DBTransactionImpl2
{
@Override
protected void doCommit()
{
super.doCommit();
}
}

2- Create CustomDBTransactionFactory

public class CustomDBTransactionFactory extends DatabaseTransactionFactory
{
@Override
public DBTransactionImpl2 create()
{
DBTransactionImpl2 dbTransactionImpl2 = new CustomDBTransactionImpl2();
return dbTransactionImpl2;
}
}

3-  in the source file bc4j.xcfg you will find the Xml node AppModuleConfig add the attribute as Example

<?xml version = '1.0' encoding = 'UTF-8'?>
<BC4JConfig version="11.1" xmlns="http://xmlns.oracle.com/bc4j/configuration">
<AppModuleConfigBag ApplicationName="callingproj.model.AppModule">
<AppModuleConfig DeployPlatform="LOCAL" JDBCName="test" name="AppModuleLocal" ApplicationName="callingproj.model.AppModule" jbo.project="callingproj.callingProj"
TransactionFactory="amr.extension.CustomDBTransactionFactory">
<Database jbo.locking.mode="optimistic"/>
<Security AppModuleJndiName="callingproj.model.AppModule"/>
<Custom ns0:ns0="http://xmlns.oracle.com/bc4j/configuration" xmlns:ns0="http://xmlns.oracle.com/bc4j/configuration"/>
</AppModuleConfig>
<AppModuleConfig DeployPlatform="LOCAL" JDBCName="test" name="AppModuleShared" ApplicationName="callingproj.model.AppModule" jbo.project="callingproj.callingProj">
<AM-Pooling jbo.ampool.isuseexclusive="false" jbo.ampool.resetnontransactionalstate="false" jbo.ampool.dynamicjdbccredentials="false" jbo.ampool.maxpoolsize="1"/>
<Database jbo.locking.mode="optimistic"/>
<Security AppModuleJndiName="callingproj.model.AppModule"/>
<Custom ns0:ns0="http://xmlns.oracle.com/bc4j/configuration" xmlns:ns0="http://xmlns.oracle.com/bc4j/configuration"/>
</AppModuleConfig>
</AppModuleConfigBag>
</BC4JConfig>

 

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

شكرا للاخ  AhmedSaid والاخ amer Ismail وجاري تجربة الحل

بتاريخ:
visiterman

لو نظرت لنظام واحد من عندكم في الصندوق لرأيت التنفيذ ولكنه الكسل  :D 

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

ياباشا مش كسل ولا حاجة ..الفكرة ان الناس تستفيد واكتشاف الجديد من خلال ردود الاعضاء المحترمين  واصحاب الخبرات في المنتدى

بتاريخ:

ستجد في أنظمة الصندوق الكثير من الخبرات

بتاريخ:

ياباشا مش كسل ولا حاجة ..الفكرة ان الناس تستفيد واكتشاف الجديد من خلال ردود الاعضاء المحترمين  واصحاب الخبرات في المنتدى

 

اشهد ان الأخ عرفات من الخبراات الجميلة والمتميزة جدا خلقاً وعملاً  فى الصندوق  :)

 

 

ستجد في أنظمة الصندوق الكثير من الخبرات

 

معاك حق يا باشمهندس الصندوق يحتوى على الكثير من الخبرات فى مجال الـــــ Forms والـــــ Adf  :)

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

شكرا اخي ابو يوسف على مرورك الكريم  وكلماتك الرائعة...الحقيقة انتم اصحاب الخبرات في ADF ونحن جميعا  فريق الصندوق وبلا شك استفدنا منكم  

واخص اخي عمرو بالشكر لان من لا يشكر الناس لا يشكر الله وجزاكم الله خيرا 

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

ستجد في أنظمة الصندوق الكثير من الخبرات

 

حقيقة اخ مصطفى لا احد ينكر انكم اصحاب خبرات ..ونتمنى دوام التوفيق لنا ولكم

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

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

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

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

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

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

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.