Set_XXX_Property Build-Ins

Build-In List

·  SET_APPLICATION_PROPERTY
·  SET_BLOCK_PROPERTY
·  SET_CANVAS_PROPERTY
·  SET_FORM_PROPERTY
·  SET_ITEM_PROPERTY
·  SET_ITEM_INSTANCE_PROPERTY
·  SET_LOV_PROPERTY
·  SET_MENU_ITEM_PROPERTY
·  SET_PARAMETER_ATTR
·  SET_RADIO_BUTTON_PROPERTY
·  SET_RECORD_PROPERTY
·  SET_RELATION_PROPERTY
·  SET_REPORT_OBJECT_PROPERTY
·  SET_TAB_PAGE_PROPERTY
·  SET_VIEW_PROPERTY
·  SET_WINDOW_PROPERTY


Example

set_item_property

begin
  if :.=\'Y\' then
    set_item_property(\'.\',VISIBLE/UPDATEABLE,PROPERTY_TRUE);
  else
    set_item_property(\'.\',VISIBLE/UPDATEABLE,PROPERTY_FALSE);
  end if;
end;

or

app_item_property.set_property (\'.\', enabled/enterable, property_on);


set_block_property

set_block_property (\'\', query_allowed/update_allowed/delete_allowed, property_true);


SET_LOV_PROPERTY

SET_LOV_PROPERTY(\'inv_serial_lov\', GROUP_NAME, \'inv_serial18\');


Set_Record_Property

/*
** Built-in: SET_RECORD_PROPERTY
** Example: Mark the third record in the EMP block as if it
** were a queried record.
*/
BEGIN
Set_Record_Property( 3, ’EMP’, STATUS, QUERY_STATUS);
END;


-----------------------------------------------------------------------------------------------------------------------

Difference Between Set_Item_Instance_Property and Set_Item_Property
SET_ITEM_PROPERTY:Block中的所有Records
SET_ITEM_INSTANCE_PROPERTY:对当前Record起作用

If you want to turn fields \'on\' and \'off\' depending on information in a row then use \'set_item_instance_property(enterable)\' in the Post_Query trigger on the block

IF :BLK_DISPLAY.METER_TYPE_ID = \'H\' THEN
  SET_ITEM_INSTANCE_PROPERTY(\'BLK_DISPLAY.MILES\',CURRENT_RECORD,VISUAL_ATTRIBUTE,\'VA_DISPLAY_ONLY\');
  SET_ITEM_INSTANCE_PROPERTY(\'BLK_DISPLAY.MILES\',CURRENT_RECORD,NAVIGABLE,PROPERTY_FALSE);
  SET_ITEM_INSTANCE_PROPERTY(\'BLK_DISPLAY.MILES\',CURRENT_RECORD,UPDATE_ALLOWED,PROPERTY_FALSE);
  SET_ITEM_INSTANCE_PROPERTY(\'BLK_DISPLAY.HOURS\',CURRENT_RECORD,VISUAL_ATTRIBUTE,\'VA_UPDATE\');
  SET_ITEM_INSTANCE_PROPERTY(\'BLK_DISPLAY.HOURS\',CURRENT_RECORD,NAVIGABLE,PROPERTY_TRUE);
  SET_ITEM_INSTANCE_PROPERTY(\'BLK_DISPLAY.HOURS\',CURRENT_RECORD,UPDATE_ALLOWED,PROPERTY_TRUE);
ELSIF :BLK_DISPLAY.METER_TYPE_ID = \'M\' THEN
  SET_ITEM_INSTANCE_PROPERTY(\'BLK_DISPLAY.MILES\',CURRENT_RECORD,VISUAL_ATTRIBUTE,\'VA_UPDATE\');
  SET_ITEM_INSTANCE_PROPERTY(\'BLK_DISPLAY.MILES\',CURRENT_RECORD,NAVIGABLE,PROPERTY_TRUE);
  SET_ITEM_INSTANCE_PROPERTY(\'BLK_DISPLAY.MILES\',CURRENT_RECORD,UPDATE_ALLOWED,PROPERTY_TRUE);
  SET_ITEM_INSTANCE_PROPERTY(\'BLK_DISPLAY.HOURS\',CURRENT_RECORD,VISUAL_ATTRIBUTE,\'VA_DISPLAY_ONLY\');
  SET_ITEM_INSTANCE_PROPERTY(\'BLK_DISPLAY.HOURS\',CURRENT_RECORD,NAVIGABLE,PROPERTY_FALSE);
  SET_ITEM_INSTANCE_PROPERTY(\'BLK_DISPLAY.HOURS\',CURRENT_RECORD,UPDATE_ALLOWED,PROPERTY_FALSE);
END IF;


Reference:

Oracle Forms Developer Form Builder Reference, Volume 1 - Release 6i : http://docs.oracle.com/pdf/A73074_01.pdf

请使用浏览器的分享功能分享到微信等