Description
Returns a BOOLEAN value that indicates whether the object ID is available.
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);
Built-in Type unrestricted function
Returns BOOLEAN
Enter Query Mode yes
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
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 Examples
/*** Built-in: CREATE_GROUP ** Example: Creates a record group and populates its values ** from a query. */
DECLARE
rg_name VARCHAR2(40) := 'Salary_Range';
rg_id RecordGroup;
gc_id GroupColumn;
errcode NUMBER;
BEGIN
/* ** Make sure the record group does not already exist.*/
rg_id := Find_Group(rg_name); /* ** If it does not exist, create it and add the two ** necessary columns to it. */
IF Id_Null(rg_id) THEN
rg_id := Create_Group(rg_name); /* Add two number columns to the record group */
gc_id := Add_Group_Column(rg_id, 'Base_Sal_Range', NUMBER_COLUMN);
gc_id := Add_Group_Column(rg_id, 'Emps_In_Range', NUMBER_COLUMN);
END IF; /* ** Populate group with a query */
errcode := Populate_Group_With_Query(rg_id,
'SELECT SAL-MOD(SAL,1000),COUNT(EMPNO) ' ||
'FROM EMP ' ||
'GROUP BY SAL-MOD(SAL,1000) ' ||
'ORDER BY 1');
END;