الأربعاء، ١٨ مارس ٢٠٠٩

ID_NULL

Description

Returns a BOOLEAN value that indicates whether the object ID is available.

دالة الـ ID_NULL تقوم بأرجاع قيمة من نوع Boolean أى يا True يا False كدليل على وجود أو عدم وجود الـ ID الخاص بالكائن.


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=


Syntax

FUNCTION ID_NULL
(Alert ALERT);

FUNCTION ID_NULL
(Block BLOCK);

FUNCTION ID_NULL
(Canvas CANVAS);

FUNCTION ID_NULL
(Editor EDITOR);

FUNCTION ID_NULL
(FormModule FORMMODULE);

FUNCTION ID_NULL
(GroupColumn GROUPCOLUMN);

FUNCTION ID_NULL
(Item ITEM);

FUNCTION ID_NULL
(LOV LOV);

FUNCTION ID_NULL
(MenuItem MENUITEM);

FUNCTION ID_NULL
(ParamList PARAMLIST);

FUNCTION ID_NULL
(RecordGroup RECORDGROUP);

FUNCTION ID_NULL
(Relation RELATION);

FUNCTION ID_NULL
(Report_Object REPORT_OBJECT);

FUNCTION ID_NULL
(TabPage TABPAGE);

FUNCTION ID_NULL
(Timer TIMER);

FUNCTION ID_NULL
(Viewport VIEWPORT);

FUNCTION ID_NULL
(VisualAttribute VISUALATTRIBUTE);

FUNCTION ID_NULL
(Window WINDOW);

بالنسبة للصيغة فبتكون بكتابة ID_NULL ثم فتح قوس ثم كتابة أسم الكائن ثم كتابة الـ Data type الخاصه به ثم غلق القوس .


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=


Built-in Type unrestricted function

Returns BOOLEAN

Enter Query Mode yes

هى دالة غير مقيدة و نوع الـ Data type العائدة هى Boolean و يمكن تنفيذها أثناء الـ Enter Query Mode


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=


Parameters

object_id You can call this function to test results of the following object ID types:

  • Alert
  • Block
  • Canvas
  • Editor
  • FormModule
  • GroupColumn
  • Item
  • LOV
  • MenuItem
  • ParamList
  • RecordGroup
  • Relation
  • REPORT_OBJECT
  • TabPage
  • Timer
  • Viewport
  • VisualAttribute
  • Window
كما أوضحنا فى الصيغة فأن العامل ( او ما يطلق عليه Parameter ) هو المتغير الذى سيوضع ما بين القوسيين الذى يجب ان يكون الـ Data type الخاصه به هى واحده من القائمة السابقة .


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

Usage Notes

Use ID_NULL when you want to check for the existence of an object created dynamically at runtime. For example, if a specific record group already exists, you will receive an error message if you try to create that record group. To perform this check, follow this general process:

  • Use the appropriate FIND_ built-in to obtain the object ID.
  • Use ID_NULL to check whether an object with that ID already exists.
  • If the object does not exist, proceed to create it.
  • If you are going to test for an object’s existence at various times (that is, more than once during a run), then you need to reissue the appropriate FIND_ every time -- once preceding each use of ID_NULL.

    ملاحظات الأستخدام

    أستخدم الـ ID_NULL لما تبقى عاوز تتاكد من وجود كائن معين أثناء تشغيل الفورمه ، فمثلاً أذا حاولنا أنشاء record group - دون التأكد من وجوده من خلال الـ ID_NULL - و هو بالفعل تم أنشاءه مسبقاً ، فسوف يظهر رسالة خطاء.

    و لكى تقوم بأستخدام الـ ID_NULL فأعمل التالى :-

    أستخدم الـ FIND_ built-in الملائم للحصول على الـ ID للكائن المراد.

    و هذه هى جميع الـ FIND_ built-ins :-


    FIND_ALERT,FIND_BLOCK,FIND_CANVAS,FIND_COLUMN,FIND_EDITOR,FIND_FORM,FIND_GROUP,FIND_ITEM,FIND_LOV,FIND_MENU_ITEM,FIND_RELATION,FIND_REPORT_OBJECT,FIND_TAB_PAGE,FIND_TIMER,FIND_VIEW,FIND_WINDOW

    ثم أستخدم الـ ID_NULL للتأكد من وجود هذا الكائن أو من عدم وجوده ، و من ثم فأذا لم يتواجد الكائن فقم بأنشاءه .
    Share/Save/Bookmark

    الثلاثاء، ١٧ مارس ٢٠٠٩

    FIND_ALERT

    Description

    Searches the list of valid alerts in Oracle Forms. When the given alert is located, the subprogram returns an alert ID. You must return the ID to an appropriately typed variable. Define the variable with a type of Alert.

    بالنسبة للـ FIND_ALERT Built-in فهو يبحث عن قائمة الـ Alerts سارية المفعول و عندما يتم تحديد الـ Alert يقوم بأرجاع الـ ID الخاص بهذا الـ Alert ، و لكن يجب ان ترجع هذا الـ ID الى المتغير ذات الـ Data type الخاص بالـ Alert .

    =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

    Syntax

    FUNCTION FIND_ALERT
    (alert_name VARCHAR2);

    Built-in Type : unrestricted function

    Returns : Alert

    Enter Query Mode : yes


    و بالنسبة للصيغة فهى دالة و تقوم بأرجاع الـ Alert و الـ Data type لقيمتها العائدة هى VARCHAR2 ، كما أنها دالة غير مقيدة و يمكن أستخدامها فى الـ Query Mode


    =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=


    Parameters

    alert_name

    Specifies the VARCHAR2 alert name.
    و كما كان واضح فى الصيغة - السابق ذكرها - فأن الـمعامل الـ alert_name هو من أسمه يدل على أن ما سنقوم بأدخاله هو اسم الـ Alert و أيضاً يجب أن يكتب كأحرف لأنه VARCHAR2.

    =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=



    FIND_ALERT Example

     /*

    ** Built-in: FIND_ALERT
    ** Example: Show a user-warning alert. If the user presses
    ** the OK button, then make REALLY sure they want
    ** to continue with another alert.
    */

    DECLARE
    al_id ALERT;
    al_button NUMBER;
    BEGIN
    al_id := Find_alert('User_Warning');

    IF Id_null(al_id) THEN
    Message('User_Warning alert does not exist');

    RAISE form_trigger_failure;
    ELSE
    /*
    ** Show the warning alert
    */

    al_button := Show_alert(al_id);

    /*
    ** If user pressed OK (button 1) then bring up another
    ** alert to confirm -- button mappings are specified
    ** in the alert design
    */

    IF al_button = alert_button1 THEN
    al_id := Find_alert('Are_You_Sure');

    IF Id_null(al_id) THEN
    Message('The alert named: Are you sure? does not exist');

    RAISE form_trigger_failure;
    ELSE
    al_button := Show_alert(al_id);

    IF al_button = alert_button2 THEN
    erase_all_employee_records;
    END IF;
    END IF;
    END IF;
    END IF;
    END;



    و كما هو موضح بالمثال السابق فاننا نقوم بعمل عدد 2 Alert و نقوم بالحصول على الـ ID الخاص بهم من خلال الـ Find_Alert ..... و لقد قمت بأرفاق ملف fmb قد قمت بأنشاؤه على الـ Forms 10g .... حمله من هذا الرابط :-

    أضـــغــط هـــــــنا

    و أذا كان لديك أى أستفسار فأطرحه فى الـ Comment

    و بالتوفيق للجميع
    Share/Save/Bookmark

    الاثنين، ٩ مارس ٢٠٠٩

    Built-in Object IDs

    Some built-in subprograms accept object IDs as actual parameters. An object ID is an internal, opaque handle that is assigned to each object when created in Oracle Forms. Object IDs are internally managed and cannot be externally viewed by the user. The only method you can use to retrieve the ID is to define a local or global variable and assign the return value of the object to the variable.

    You make the assignment by way of the FIND_ built-in functions. Once you have used FIND_ within a PL/SQL block, you can use the variable as an object ID while still in that block. The valid PL/SQL type for each object is included in the syntax descriptions for each parameter. The description for the FIND_BLOCK built-in provides an example of how to obtain an object ID.



    ========================



    بعض الـ Built-ins يأخذون معرف هوية الكائن او ما يعرف بـ Object ID كـ Parameter لهم ، و بما أن الـ Object ID ينشاء داخلياً من خلال الـ Forms Builder عند أنشاء اى كائن فانه من المستحيل ان يتعامل المبرمج مع الـ Object ID مباشرتاً ، و لكن بالامكان التعامل معه فى حال تعريف متغير على مستوى النماذج او على مستوى نموذج واحد ( Global Variable , Local Variable ) و وضع قيمة العائدة من الكائن الى هذا المتغير ؛ و وضع هذه القيمة بيتم من خلال الـ Built-in الذى يدعى _Find

    فمثلاً فى هذا المثال سنأتى بقيمة معرفة الهوية الخاص بالـ Block ، لكى نتأكد من أنه متواجد بالفعل ام لا .


    FIND_BLOCK Example

    /*

    ** Built-in: FIND_BLOCK
    ** Example: Return true if a certain blockname exists
    */
    FUNCTION Does_Block_Exist( bk_name VARCHAR2 )
    RETURN BOOLEAN IS
    bk_id Block;
    BEGIN
    /*
    ** Try to locate the block by name
    */
    bk_id := Find_Block( bk_name );
    /*
    ** Return the boolean result of whether we found it.
    ** Finding the block means that its bk_id will NOT be NULL
    */
    RETURN (NOT Id_Null(bk_id));
    END;



    هنا أحنا عرفنا المتغير bk_id بأنه Block ثم أوجدنا معرفة هوية الخاص بالبلوك التى أنشأنها مسبقاً فى الـ Form Builder - و التى تم تعريفها هنا فى هذه الدالة كعامل الـ bk_name - من خلال الـ Find_Block كما هو موضح فى المثال السابق .

    و سوف يتم شرح الـ FIND_BLOCK Built-in بالتفصيل فالدروس الاحقة ...... المهم هنا احنا عرفنا اذاى نحضر الـ ID الخاص بأى كائن .


    Share/Save/Bookmark

    Built-in Named Parameters

    The named parameter should be followed with the equal/greater than signs (=>), which point to the actual parameter that follows the named parameter. For example, if you intend to change the milliseconds in the SET_TIMER Built-in you can directly use that parameter with the following syntax:

    SET_TIMER(timer_name => 'my_timer', milliseconds => 12000, iterate => NO_REPEAT);

    Also, you can continue to call the built-in with the following syntax:

    SET_TIMER('my_timer', 12000, NO_REPEAT);



    ==================


    الفكرة هنا انه بيقولك انه مش شرط تكتب الـ Parameters فى اماكنها المحدده طالما انك بتستخدم اداة الأشارة هذه <= للدلاله على Parameter فيما بين الأقواس .

    كما هو موضوح فى المثال السابق .


    Share/Save/Bookmark

    الجمعة، ٢٧ فبراير ٢٠٠٩

    طريقة وضع صورة على الفورم

    بنقوم بوضع الصورة على الفورم عندما نكون على الـ Layout Editor .... و نفعل كما هو موضح بالصور التالية :-







    Share/Save/Bookmark

    الاثنين، ٢٣ فبراير ٢٠٠٩

    Lesson 3 : Relationships in Detail
































    Share/Save/Bookmark

    السبت، ٢١ فبراير ٢٠٠٩

    Lesson 2 : Entities and Attributes in Detail












    Share/Save/Bookmark
    Newer Posts Older Posts Home Page